<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="/feed-style.xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Localazy</title>
        <link>https://localazy.com</link>
        <description>Localazy helps single app developers and small digital teams with mobile app localization. Translation as a service under your fingers. Seamless integration.</description>
        <lastBuildDate>Wed, 24 Jun 2026 14:19:26 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Localazy</title>
            <url>https://localazy.com/logo.png</url>
            <link>https://localazy.com</link>
        </image>
        <copyright>All rights reserved</copyright>
        <atom:link href="https://localazy.com/feed.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[No room for shortcuts: How to nail Korean UX localization for your app]]></title>
            <link>https://localazy.com/blog/korean-ux-localization-for-your-app-guide</link>
            <guid isPermaLink="false">korean-ux-localization-for-your-app-guide</guid>
            <pubDate>Fri, 19 Jun 2026 09:25:19 GMT</pubDate>
            <description><![CDATA[Of all the localization projects I have worked on, UX localization in Korean is the one that humbles linguists the most. The language is too contextual, the users too sharp, and the margin for a lazy translation too small. So how do you actually get it right?]]></description>
            <content:encoded><![CDATA[<p>If you're reading this, chances are you're either considering or scheduled for expansion in the Korean market this year. Whether you feel confident or unsure about ticking all the checkboxes, don’t worry: this article will serve as a guide to help you prepare, no matter what stage you are at in your Korean localization journey.</p><p>Following my <a href="https://localazy.com/blog/your-korean-users-can-tell-youre-not-korean-and-it-costs-you-10x-revenue">previous article on general Korean localization rules</a>, this piece focuses specifically on the complexity of UX and software localization. I'm gonna introduce you to <strong>four points you'd want to check in your UX localization journey </strong>with some concrete examples, coming from your local guide (me, haha).</p><p>But before diving into the details, let's first understand the core cultural context that drives this digital behavior: 빨리 빨리 (<strong><a href="https://sites.gatech.edu/koreanmedia/digital-library-of-korean-culture-media/hurry-hurry/">Pali-pali</a></strong>).</p><h2 id="koreas-hustle-and-bustle-culture-aka-pali-pali">⚡ Korea’s "hustle and bustle" culture, aka 빨리 빨리 (Pali-pali) <a class="markdownit-header-anchor" href="#koreas-hustle-and-bustle-culture-aka-pali-pali">🔗</a></h2><p>Approximately half of Korea's population resides in <em>Su-do-gwon</em> (the Seoul, Incheon, and Gyeonggi area), as shown in the chart below:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/image.png" class="kg-image" alt="Pie chart with distribution of Korean population as of December, 2025." loading="lazy" width="1200" height="742" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/image.png 1000w, https://ghost.localazy.com/content/images/2026/04/image.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>Korean population as of December, 2025.</figcaption></figure><p>And this unique density creates a <em>“hustle and bustle”</em> culture, also known as <em>Pali-pali </em>("<strong>quickly, hurry, hurry</strong>"). </p><p>Now, you might ask yourself what drives this unique concentration of population. The answer is quite simple: <strong>the capital area offers the bulk of high-paying jobs</strong>. In fact, housing prices in non-capital regions <a href="https://www.chosun.com/english/national-en/2025/06/22/YBUOH3MWOJBHJN74BVGV44QS2A/">dropped for 55 consecutive weeks in 2025</a>, while the complete opposite happened for Seoul and its surroundings. Since everyone is gathered around the same area, there are always lots of people wherever you go. During rush hour in particular, you need to fight your way through the crowd, unless you are working fully remote and don't need to commute. There's even a word for it:  지옥철 (<em>ji-ok-chul</em>, or hellish subway).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/06/rcv.YNA.20230704.PYH2023070402270001300_P1.webp" class="kg-image" alt="Picture of hellish subway in Korea. Source: Kyunghyang Shinmun." loading="lazy" width="700" height="469" srcset="https://ghost.localazy.com/content/images/size/w600/2026/06/rcv.YNA.20230704.PYH2023070402270001300_P1.webp 600w, https://ghost.localazy.com/content/images/2026/06/rcv.YNA.20230704.PYH2023070402270001300_P1.webp 700w"><figcaption>Picture of hellish subway in Korea. Source: <a href="https://www.khan.co.kr/article/202310060818001">Kyunghyang Shinmun</a>.</figcaption></figure><p>The fast-paced nature of Korean culture means one thing for your product: <strong>clear CTAs, concise copy, and a seamless user flow are non-negotiable</strong> for Korean users. It's also worth noting that Korean applications often integrate multiple features, as<strong> users prefer a one-stop solution</strong>. While maintaining your core business focus is vital, expanding beyond a single function will set you apart from those that don’t.</p><p>With this context in mind, let’s dive in.</p><h2 id="point-1-get-your-style-guide-ready">📖 Point 1: Get your style guide ready <a class="markdownit-header-anchor" href="#point-1-get-your-style-guide-ready">🔗</a></h2><p>For those familiar with the localization process, you may already know that style guides and glossaries are very important. These are even more essential for Korean localization because it creates a foundation for consistent tone.</p><p>But what specific points should you consider for Korean style guides and glossaries?</p><p>When building your glossary, there are three decisions you need to make for every term:</p><ul><li>1️⃣ <strong>Does it get translated into Korean?</strong></li><li>2️⃣ <strong>Does it get transliterated?</strong> (e.g: ice cream → 아이스크림, agile → 애자일) </li><li>3️⃣ <strong>Does it stay in English?</strong> (e.g: CTAs)</li></ul><p>Then comes the harder question: <strong>what do you do with your brand-related terms?</strong> Translate, transliterate, or keep them in English? There is no right or wrong answer there. Any of the three can work. You just need to stick with the approach you pick. </p><p>But at least for the first three, there is a simple way to confirm whether you are right or wrong: <strong>by using Google or Naver</strong>.</p><h3 id="a-note-about-naver">A note about Naver <a class="markdownit-header-anchor" href="#a-note-about-naver">🔗</a></h3><p>If you are not familiar with <a href="https://www.naver.com">Naver</a>, think of it as <a href="https://www.interad.com/en/insights/why-do-koreans-use-naver-instead-of-google">Korea's internet in one place</a>: search, blogs, shopping, and fintech (Naver Pay) all in one platform. If you are serious about winning users in the Korean market, you need to understand how it works.</p><p>An example: let’s say you want to know how "agile methodology" is written in Korean. Simply type the term into a search engine like Google or Naver. For Google, add <em>"in Korean."</em> at the end. For Naver, you can simply type the English word. Your results will then look similar to the example shown below, and this will help you make a decision.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/null--2--1.png" class="kg-image" alt="Google search results for &quot;agile methodology in Korean&quot;." loading="lazy" width="1600" height="923" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/null--2--1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/null--2--1.png 1000w, https://ghost.localazy.com/content/images/2026/04/null--2--1.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Google search results.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/null--3--1.png" class="kg-image" alt="Naver search results for &quot;agile methodology&quot;." loading="lazy" width="1600" height="927" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/null--3--1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/null--3--1.png 1000w, https://ghost.localazy.com/content/images/2026/04/null--3--1.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Naver search results.</figcaption></figure><p>As you work on a glossary, you also cannot forget to <strong>work on a good style guide</strong>, since Korean is a language deeply rooted in context. </p><p>But what are the essential elements of an effective Korean language style guide?</p><ul><li>🎯 Purpose of the app and intended user persona</li><li>🔵 How to handle bullet points</li><li>📅 Date, time, and numbers</li><li>🔄 Transcreation rules</li><li>📐 Measurement units</li><li>🙇 Level of honorifics</li><li>✍️ Punctuation rules</li><li>🎨 Tone and manner</li><li>✨ Brand voice</li><li>🗣️ Dialect</li><li>👆 CTAs</li></ul><p>For example, the Korean rewards application <a href="https://rocktoyou.com">Rock to You</a> intentionally uses the <strong><a href="https://en.wikipedia.org/wiki/Chungcheong_dialect">Chungcheong dialect</a></strong>, notable for the characteristic "-어유" ending (e.g., "적립속도 올려유" - "increase your reward building speed"). I previously discussed this stylistic choice with the CEO, who explained his aim was to give the application a warm, neighborly feel.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/Rock-to-you-app-screen.png" class="kg-image" alt="&quot;Rock to you&quot; app screen in Korean." loading="lazy" width="1722" height="1160" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/Rock-to-you-app-screen.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/Rock-to-you-app-screen.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/Rock-to-you-app-screen.png 1600w, https://ghost.localazy.com/content/images/2026/04/Rock-to-you-app-screen.png 1722w" sizes="(min-width: 720px) 720px"></figure><p>In business, as with anything, there is no "perfect first draft." Your glossary and style guide will need revisiting as your goals and circumstances change. <strong>But an imperfect one that exists will always do more for your team than a perfect one that never gets written</strong>.</p><h2 id="point-2-is-your-copy-clear-enough">✂️ Point 2: Is your copy clear enough? <a class="markdownit-header-anchor" href="#point-2-is-your-copy-clear-enough">🔗</a></h2><p>Concise and clear text is a must for good user experience. One of the mistakes that I see too often in Korean UX localization is <strong>direct translation</strong>. </p><p>Let’s say that you have to translate a CTA for your SaaS dashboard meant to encourage a user to upgrade:</p><blockquote><strong>The source</strong>: <em>"Upgrade now to keep your files."</em><br><strong>The literal translation of the source</strong>: <em>"파일을 유지하려면 지금 업그레이드하십시오."</em></blockquote><p>The suffix “하십시오.” indicates “order”, which is what most UX writers intend for CTAs. While users will likely understand the intended action, this phrasing feels stiff and unnatural to native Korean users.</p><p>After word choice, another mistake I still spot occasionally in Korean UX localization is <strong>overlooking readability</strong>. Returning to the same CTA example, this is a pattern I see from time to time:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/null--4-.png" class="kg-image" alt="Example of copy for CTA in English vs. Korean for the sentence &quot;Upgrade now to keep your files.&quot;" loading="lazy" width="1280" height="720" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/null--4-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/null--4-.png 1000w, https://ghost.localazy.com/content/images/2026/04/null--4-.png 1280w" sizes="(min-width: 720px) 720px"></figure><p>In the Korean version, the text fills the entire button with little to no padding. While English CTAs often allow comfortable spacing between text and other elements, the longer Korean copy leaves no visual breathing room, making the UI cluttered and less appealing.</p><p>In reality, adjusting visual assets specifically for the Korean locale is not always feasible. It will be ideal if different locales can have different spacing, but mostly that is not the case.</p><p><strong>So, how should this CTA be localized?</strong></p><p>In most cases, CTA copy should be as short and action-focused as possible. A more effective translation for this one would be <strong>“지금 업그레이드” </strong>or <strong>“지금 업그레이드하기”</strong>, both meaning <strong>“Upgrade now.”</strong></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/null--5-.png" class="kg-image" alt="Example of do's and dont's for CTA in Korean for the sentence &quot;Upgrade now to keep your files.&quot;" loading="lazy" width="1280" height="720" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/null--5-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/null--5-.png 1000w, https://ghost.localazy.com/content/images/2026/04/null--5-.png 1280w" sizes="(min-width: 720px) 720px"></figure><p>While skipping <em>“keep your files”</em> may raise concerns about altering the original meaning, Korean users will naturally assume file retention during an upgrade. <strong>For localizing CTAs in Korean, conveying the intended action clearly is more important </strong>than preserving every detail of the source text.</p><blockquote><em>📘 <strong>Related read</strong>: <a href="https://localazy.com/blog/12-principles-of-ux-writing-with-examples">12 principles of UX writing (with examples)</a></em></blockquote><h2 id="point-3-leave-a-good-first-impression">👋 Point 3: Leave a good first impression <a class="markdownit-header-anchor" href="#point-3-leave-a-good-first-impression">🔗</a></h2><p>What good is good microcopy if the user experience itself is subpar? Clear copy only gets you so far. The overall user experience has to hold up too. And user experience starts when a customer opens your service and signs up. That's where first impressions are made. </p><p>Conventional email and password registration is a given, but incorporating sign-up options through global platforms like Google, Apple, and Facebook is always beneficial. Notably, <strong>these platforms are commonly used for both sign-up and login</strong> purposes in Korea as well.</p><p>Beyond the established global services, which local platforms should be your priority? </p><ul><li><strong><a href="https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=en">Kakaotalk</a></strong>,<strong> </strong>an “all-in-one” messenger app.</li><li><strong><a href="https://www.navercorp.com/en/company/about">Naver</a></strong>,<strong> </strong>an “all-in-one” website with different features, including search, blogs, payments, etc.</li><li><strong><a href="https://toss.im/en">Toss</a></strong>, a fintech app whose service ranges from payment, banking and verification, all the way to investing.</li></ul><p>Let’s take a look at the sign-up/login page of Rock to You. This reward application, known for its friendly, neighbourly feel, offers users several sign-up options, including KakaoTalk, Google, and Apple.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/Rock-To-You-log-in-page.png" class="kg-image" alt="Rock To You log-in page." loading="lazy" width="1200" height="1200" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/Rock-To-You-log-in-page.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/Rock-To-You-log-in-page.png 1000w, https://ghost.localazy.com/content/images/2026/04/Rock-To-You-log-in-page.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>Rock To You login page.</figcaption></figure><p>Now, let's explore other categories. <a href="https://outstanding.kr">Outstanding</a>, a Korean online news outlet that focuses on startup and tech industry trends, also offers several log-in options: the traditional email and password method, as well as integration with Google, Facebook, and Kakao platforms.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/Outstanding-log-in-page.png" class="kg-image" alt="Outstanding login page." loading="lazy" width="1200" height="1200" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/Outstanding-log-in-page.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/Outstanding-log-in-page.png 1000w, https://ghost.localazy.com/content/images/2026/04/Outstanding-log-in-page.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>Outstanding login page.</figcaption></figure><p>One last example before we move on. This time, let’s explore e-commerce. <a href="https://m.a-bly.com">A-bly</a> is a Korean fashion platform that is widely used by young women. While it initially focused on selling fashion items and perfumes, it has gradually broadened its product range to include categories that appeal to women, such as food and various lifestyle items. Similar to the previous examples, it has integrated multiple sign-in options like Kakao, Apple, Naver, and Facebook, as shown below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/A-bly-log-in-page-1.png" class="kg-image" alt="A-bly login page." loading="lazy" width="600" height="600" srcset="https://ghost.localazy.com/content/images/2026/04/A-bly-log-in-page-1.png 600w"><figcaption>A-bly login page.</figcaption></figure><p>Integrating every platform simultaneously might not be feasible. As the examples show, different companies use different ones and that’s completely fine. The key point here is <strong>to offer multiple login options.</strong></p><h2 id="point-4-favor-local-payment-systems">💳 Point 4: Favor local payment systems <a class="markdownit-header-anchor" href="#point-4-favor-local-payment-systems">🔗</a></h2><p>Your primary goals are revenue and profit. But users must be able to easily spend money on your product or service for you to succeed. Especially for B2C platforms, a robust local payment system is non-negotiable if you really want users to complete their journeys.</p><p>Many international companies might ask:<strong> “Wouldn’t PayPal work? What about N26, Revolut, or Stripe?”</strong></p><p>The answer is, unfortunately, no. While PayPal might occasionally be used for international transactions, it is generally not an option if you are selling products to Korean users. There are many reasons behind it, such as complex regulatory requirements about financial services, but the main reason is that certain international platforms might not be available in Korea or favored by its users.</p><p>These are the most widely used domestic payment methods you should consider:</p><ul><li><strong><a href="https://www.navercorp.com/en/service/fintech">Naver Pay</a></strong></li><li><strong><a href="https://www.kakaocorp.com/page/service/service/KakaoPay?lang=en">Kakao Pay</a></strong></li><li><strong><a href="https://toss.im/en">Toss</a></strong></li><li>Mobile carrier billing through platforms like <strong><a href="https://kcp.co.kr/eng/service">NHN KCP</a></strong></li></ul><p>If your brand is B2B, payment and tax obligations work a bit differently. If you have a legally registered office in Korea, you should be able to issue a legally required electronic tax invoice called 세금계산서 (se-geum-gye-san-seo) for VAT deductions. If you do not have a local office, your client will have to issue the necessary documentation for tax purposes. However, due to the complexity of corporate tax law, I recommend checking with your Korean legal or accounting counterpart for definitive guidance.</p><p>Above all, if you are trying to sell some sort of service online, there is a registration that you have to do called “<strong>통신판매업신고</strong>”, which can be translated as “Mail-Order Business Registration Certificate” or “<strong>Online Sales Certificate</strong>”. You can look up the process online; it’s quite simple.</p><h2 id="3-brand-examples-in-practice">🔍 3 brand examples in practice <a class="markdownit-header-anchor" href="#3-brand-examples-in-practice">🔗</a></h2><p>Let's see how these four principles play out in practice across different industries.</p><h3 id="fintech-concise-ctas-win">Fintech: Concise CTAs win <a class="markdownit-header-anchor" href="#fintech-concise-ctas-win">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/Toss--Left----Kakao-Pay--Right-.png" class="kg-image" alt="Toss (Left) &amp; Kakao Pay screenshots (Right)." loading="lazy" width="1722" height="1160" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/Toss--Left----Kakao-Pay--Right-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/Toss--Left----Kakao-Pay--Right-.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/Toss--Left----Kakao-Pay--Right-.png 1600w, https://ghost.localazy.com/content/images/2026/04/Toss--Left----Kakao-Pay--Right-.png 1722w" sizes="(min-width: 720px) 720px"><figcaption>Toss (left) &amp; Kakao Pay (right).</figcaption></figure><p>Let’s have a look at the UX of two of the fintech platforms we've mentioned above: <strong>Toss</strong> and <strong>KakaoPay</strong>. If you check their CTA buttons, you'll notice <strong>the text is very concise</strong>. A common variation involves adding <strong>-하기</strong> (e.g., 방문하기 - "to visit") to the verb, while other CTAs simply use the base verb (e.g., 송금 - "to send"). Feel free to use either style, as long as you ensure the resulting text fits the design constraints.</p><h3 id="travel-functionality-and-convenience">Travel: Functionality & convenience <a class="markdownit-header-anchor" href="#travel-functionality-and-convenience">🔗</a></h3><p><strong>Airbnb</strong> is an app that is well-known, especially for those who are not fond of hotels! In my experience, it is also <strong>one of the best-localized apps for the Korean market</strong>, both in copy and in functional design. Take a look at the pink button on the activity page and the rooms page:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/Airbnb-s-Homes-page--and-Experiences-page.png" class="kg-image" alt="Screenshots of Airbnb’s Homes and Experiences pages." loading="lazy" width="1722" height="1160" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/Airbnb-s-Homes-page--and-Experiences-page.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/Airbnb-s-Homes-page--and-Experiences-page.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/Airbnb-s-Homes-page--and-Experiences-page.png 1600w, https://ghost.localazy.com/content/images/2026/04/Airbnb-s-Homes-page--and-Experiences-page.png 1722w" sizes="(min-width: 720px) 720px"><figcaption>Airbnb’s Homes and Experiences pages.</figcaption></figure><p>The CTAs are, again, super concise: <strong>예약 가능 여부 보기 (‘Check availability’ in English) and 날짜 표시 (‘Show dates’ in English).</strong> As previously noted, the most effective practice for these CTAs is to conclude with a verb or the Korean grammatical forms <strong>-하기 / -기</strong>, a pattern which Airbnb's CTA strings effectively follow.</p><p>The Korean travel app <strong><a href="https://nol.yanolja.com">NOL</a> </strong>(Yanolja's travel booking platform) is another super app that offers extensive services like flights, hotels, and tours for both domestic and international travelers. The app's payment screen is <strong>highly convenient, offering more options</strong> than competitors like Airbnb, and including local platforms as Naver, Kakao, and Toss.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/NOL-main-screen-and-payment-screen-.png" class="kg-image" alt="Screenshot of NOL's main screen and payment page." loading="lazy" width="1722" height="1160" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/NOL-main-screen-and-payment-screen-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/NOL-main-screen-and-payment-screen-.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/NOL-main-screen-and-payment-screen-.png 1600w, https://ghost.localazy.com/content/images/2026/04/NOL-main-screen-and-payment-screen-.png 1722w" sizes="(min-width: 720px) 720px"><figcaption>NOL's main screen and payment page.</figcaption></figure><p>All these case studies prove that <strong>offering familiar services in one centralized platform incentivizes Korean users to stay</strong>. Given that most Koreans find speed and convenience important, this is your product's competitive advantage over other international platforms that fail to do so.</p><h2 id="a-tool-that-rises-to-the-occasion">✔️ A tool that rises to the occasion <a class="markdownit-header-anchor" href="#a-tool-that-rises-to-the-occasion">🔗</a></h2><p>If you have made it this far, you already know <strong>Korea is not a market you can wing</strong>. It requires real commitment to localization, <strong>and tools that work for you</strong>. Concise copy respects how Korean users actually read and interact with their apps, a smooth sign-up flow with familiar local options signals that you understand the market, and local payment methods tell users you are here for real, not just testing the waters. You'll also need a glossary and style guide to help your team sound natural and stay on-brand. </p><p>Localazy offers you all the features to comply with the high standards of Korean users: from a <a href="https://localazy.com/features/style-guide"><strong>Style Guide</strong></a> that you can apply across all your projects (whether you use <a href="https://localazy.com/docs/general/localazy-ai">AI</a>, <a href="https://localazy.com/term/professional-translation-services">human translation</a> or a mix of both) to a <strong><a href="https://localazy.com/features/glossary">Glossary</a></strong> to keep your copy tight, an easy-to-use UI to onboard your team, and <a href="https://localazy.com/features/automations"><strong>Automations</strong></a> to update and sync your Korean workflow cleanly. <a href="https://localazy.com/register">Try it out for free</a> today or <a href="https://localazy.com/localazy-meeting">drop the team a line</a> if you need assistance to set up your project.</p>]]></content:encoded>
            <author>Joanne Kim</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/06/localazy-locales-korean_2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[4 Arabic localization assumptions that fail in the real world, told by a Marine Corps linguist]]></title>
            <link>https://localazy.com/blog/4-arabic-localization-assumptions-that-fail-told-by-a-marine-corps-linguist</link>
            <guid isPermaLink="false">4-arabic-localization-assumptions-that-fail-told-by-a-marine-corps-linguist</guid>
            <pubDate>Tue, 09 Jun 2026 15:41:35 GMT</pubDate>
            <description><![CDATA[A Marine Corps linguist spent 64 weeks learning Arabic, decoding and transcribing messages from various dialects. Two decades later, she's still watching companies treating Arabic as a single language and making expensive mistakes because of it.]]></description>
            <content:encoded><![CDATA[<p>I stood in a Kuwaiti field in 2003, trying to explain to a Bedouin shepherd why he needed to move his sheep. I spoke Modern Standard Arabic that I had spent 64 weeks learning in the US Marine Corps. The shepherd stared at me, shook his head, and walked away with his flock. Technically, the mission was accomplished… But I suspected he hadn't understood a word I said, because <strong>he probably didn't speak standard Arabic at all</strong>.</p><p>That moment taught me something that would shape my entire career: knowing Arabic isn't the same as knowing which Arabic dialect to use. Twenty years later, as a program manager for clinical outcomes localization at Lionbridge, I spend my days preventing companies from making million-dollar versions of my shepherd mistake.</p><h2 id="my-path-from-military-intelligence-to-clinical-trials">🪖 My path from military intelligence to clinical trials <a class="markdownit-header-anchor" href="#my-path-from-military-intelligence-to-clinical-trials">🔗</a></h2><p>The US Marine Corps sent me to the <a href="https://en.wikipedia.org/wiki/Defense_Language_Institute">Defense Language Institute</a> after I graduated high school in 2000. The training was intensive: 64 weeks total, with the first month focused entirely on sounds and the writing system. When I got deployed, my work centered on intelligence collection, transcription, and translation in Arabic. I spent five years reviewing information and catching things that other linguists usually missed because they didn't understand cultural context.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/1000006757.jpg" class="kg-image" alt="The author standing on the Camp Fallujah field with three colleagues during deployment in Iraq (bottom right)." loading="lazy" width="604" height="403" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/1000006757.jpg 600w, https://ghost.localazy.com/content/images/2026/04/1000006757.jpg 604w"><figcaption>During deployment in Iraq (bottom right).&nbsp;</figcaption></figure><p>After the military, I studied linguistics as a science, focusing on sociolinguistics, where language and culture intersect. That foundation helped me understand not just how to translate Arabic, but why different approaches work for different contexts.</p><p>Today, I manage the localization of clinical outcomes assessments. In plain language, this means I work on questionnaires used to collect data in clinical studies. All of it requires precision because mistranslations of this type of sensitive information can invalidate years of research and throw millions of dollars in drug development down the drain.</p><h2 id="four-industries-four-mistakes">⚠️ Four industries, four mistakes <a class="markdownit-header-anchor" href="#four-industries-four-mistakes">🔗</a></h2><h3 id="design-and-signage-a-broken-rtl-layout">Design & signage: A broken RTL layout <a class="markdownit-header-anchor" href="#design-and-signage-a-broken-rtl-layout">🔗</a></h3><p>My first encounter with corporate Arabic failures came in a welcome box. I'd just started at <a href="https://www.helloglobo.com">GLOBO</a>, an over-the-phone interpreting company. They sent me marketing materials in multiple languages. I looked at the Arabic translation of “welcome” and immediately saw there was a problem, but they'd already paid for professional translation and distributed these materials to partners, clients, and hospitals across their network. Their answer to my feedback was depressingly simple. The translation had been correct originally, but then <strong>they put it in InDesign <a href="https://localazy.com/blog/why-implementing-rtl-matters-do-i-need-rtl/" rel="noopener noreferrer nofollow">without configuring the right-to-left settings properly</a>, and chaos ensued</strong>. The Arabic script was reversed, text direction was wrong... One misplaced dot had changed entire words.</p><p>Years later, working on hospital signage for the same company, I warned them multiple times that some materials would be problematic when they went through design. I needed to check the final output before they printed anything. The design team declined my review, printed thousands of signs, and distributed them to hospitals. Months passed before a patient finally noticed. The Arabic was backwards and meaningless. There were similar errors in other languages, too. <strong>Our name was all over those signs</strong>, so you can imagine the impact on our reputation.</p><p><a href="https://www.linkedin.com/in/ahmedmegahed1/"><strong>Ahmed Megahed</strong></a>, a localization program director who spent years in sales and account management, confirms this pattern repeats across the industry: </p><blockquote>“<em>When I used to work in sales and tried to explain why Arabic needs special technical handling, clients would think I was trying to oversell.</em>”</blockquote><p>The technical reality is just straightforward: <strong>Arabic isn't compatible with standard Western design workflows without explicit configuration</strong>. The Arabic script, where letters connect and change shape based on position, simply breaks when formatting isn't set correctly. Visual verification by native speakers is a non-negotiable because (as you can see), a single mistranslated hospital sign error tells every patient that you didn't care enough to check.</p><h3 id="intelligence-when-my-expertise-wasnt-enough">Intelligence: When my expertise wasn't enough <a class="markdownit-header-anchor" href="#intelligence-when-my-expertise-wasnt-enough">🔗</a></h3><p>Most Western brands start from complete ignorance about Arabic dialects. My first job after leaving the Marines illustrated this perfectly. I worked for a company contracted with the Bureau of Prisons, transcribing phone conversations between inmates and their families. They assigned recordings based on my military intelligence experience. I listened for about an hour, then went back to management explaining that I couldn't understand a single word. <strong>My specialty was Iraqi Arabic and this was a <a href="https://en.wikipedia.org/wiki/Yemeni_Arabic">Yemeni dialect</a></strong>.</p><p>One of the managers questioned whether I actually spoke Arabic. Another manager, a native Spanish speaker, finally made them understand. She explained it like someone from Argentina trying to understand someone from Colombia. No amount of intensive Arabic training prepares you <a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand">for every dialect</a>. To me, Egyptian, Iraqi, and Lebanese are really separate languages.</p><p>As an Egyptian Arabic speaker, Ahmed reinforces this reality from the vendor side:</p><blockquote>“<em>I cannot understand Moroccan people when they speak to each other. It's not one size fits all.</em>”</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/06/AdobeStock_171546241.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2026/06/AdobeStock_171546241.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/06/AdobeStock_171546241.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/06/AdobeStock_171546241.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/06/AdobeStock_171546241.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="health-dialects-can-work-against-you">Health: Dialects can work against you <a class="markdownit-header-anchor" href="#health-dialects-can-work-against-you">🔗</a></h3><p>But there's the other side of the coin. Once clients understand dialects exist, they often swing too far in the opposite direction. <strong>They demand specific dialects when Modern Standard would actually work better</strong>.</p><p>My Tunisia project exemplifies this. The client specifically requested <a href="https://hub.localazy.com/en/languages/aeb-tunisian-arabic">Tunisian Arabic</a> and French for a clinician-reported outcome assessment. This was a highly technical medical document that doctors would complete. The clinician would be highly educated and understand the standard terminology, which is the most commonly used in these instances. <strong>Nothing in the content would require specific adjustments</strong> for Tunisian culture.</p><p>Modern Standard Arabic would let the client deploy the same assessment across every Arabic-speaking country. Insisting on Tunisian Arabic limits them to Tunisia and requires creating new translations for every new market they enter.</p><blockquote>For health, law and technical industries, Modern Standard Arabic is usually a better choice than a dialect when it comes to reports and documentation</blockquote><p>I spend an enormous amount of time convincing some clients that dialects matter. When I then tell other clients that Modern Standard is the right choice, it feels like I'm contradicting myself. But the <strong>context determines everything</strong>:</p><ul><li>Marketing to recruit for clinical studies needs dialect-specific content because you're trying to reach hearts</li><li>Reports where patients describe their daily experiences need cultural and linguistic specificity</li><li>For clinician-reported outcomes, legal documents, or technical specifications, it's safe to say that Modern Standard is enough, because it reaches everyone without limiting your geographic scope</li></ul><p>In summary: the dialect decision requires context and expertise, not assumptions about what "premium" localization looks like. Ahmed points to <a href="https://localazy.com/blog/top-lessons-ive-learned-from-my-arabic-localization-work-with-netflix-global-brands">Netflix and Amazon as success stories</a>, noting that Netflix's localization manager came from Iraq and understood the nuances: “She really understood how to act and when to localize to which locale.”</p><h3 id="marketing-content-safe-only-in-theory">Marketing content: Safe only in theory <a class="markdownit-header-anchor" href="#marketing-content-safe-only-in-theory">🔗</a></h3><p>"Marketing content is low-risk". This was the assumption behind a massive localization project for a large pharmaceutical company. The materials were documents explaining what the clinical trial involved and the source English was packed with idioms. One phrase in particular stood out: <strong>“Out of the blue”</strong>.</p><p>When reviewing the back-translations, I noticed something odd. Every single language returned the phrase translated word-for-word. That shouldn't happen: when content is well-localized, back-translations show how translators interpreted and adapted the meaning. I checked the Arabic directly. It literally said “out of the blue”. Four English words dropped into the Arabic text and were completely meaningless to Arabic speakers. We had <strong>already delivered this whole project with materials that would mean nothing</strong> <strong>to the patient population</strong> we wanted to address. </p><p>In the end, we needed two extra weeks to go back and redo everything. After investing millions of dollars and months of work, the company was risking getting participants for their clinical trials because the recruitment materials didn't make sense. We simply couldn't accept this alternative.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/06/AdobeStock_94355788.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2026/06/AdobeStock_94355788.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/06/AdobeStock_94355788.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/06/AdobeStock_94355788.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/06/AdobeStock_94355788.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>In my current work with clinical outcomes assessments, the stakes are even higher: invalid translations mean invalid data collection. This leads to regulatory agencies rejecting your submission and, ultimately, the drugs that could help patients never reach the market.</p><p>In this instance, the solution starts before translation begins with source content that is localization-ready. You need to remove idioms, eliminate culturally-specific references that won't transfer across languages, budget for back-translation validation on critical content... <strong>It's painful, but the cost is negligible compared to the cost of failure</strong>.</p><h2 id="context-matters-more-than-budget">☝️Context matters more than budget <a class="markdownit-header-anchor" href="#context-matters-more-than-budget">🔗</a></h2><p>I've spent 25 years building expertise. I understand dialectical variations, cultural context, and industry regulations, yet clients regularly doubt my recommendations.</p><p><strong>I believe this resistance is just psychological</strong>. I sometimes spend too much time convincing people that dialects are important, but then I have to rework my previous argument when Modern Standard is the right choice. Clients, however, just perceive this as an inconsistency. The resistance also comes from sponsors who make geographic decisions without understanding linguistic implications, as I mentioned earlier regarding the pharmaceutical company in Tunisia.</p><p>In all of these cases, what I actually want as a localization manager isn't more money or longer timelines. <strong>I want <a href="https://localazy.com/dictionary/context">complete project context</a>.</strong> <strong>What's your content? What's the goal?</strong> I want to know all of that so I can give you the best solution.</p><p>Ultimately, successful Arabic localization comes from companies that don't treat it as a commodity. They understand they have to be strategic to reach their final audience and provide complete project context. They also trust expert recommendations, even when those recommendations seem counterintuitive, because localization teams have seen projects fail and know what works. <strong>Give them the information they need and trust their judgment</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/06/AdobeStock_611314060.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2026/06/AdobeStock_611314060.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/06/AdobeStock_611314060.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/06/AdobeStock_611314060.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/06/AdobeStock_611314060.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="no-need-to-be-an-expert-just-listen-to-one">👂 No need to be an expert: just listen to one <a class="markdownit-header-anchor" href="#no-need-to-be-an-expert-just-listen-to-one">🔗</a></h2><p>That Bedouin shepherd walked away with his flock, and I (somehow?) completed my mission. What I learned was that <strong>language competency means nothing without cultural understanding and contextual judgment</strong>.</p><p>25 years later, the same lessons from companies making these "shepherd mistakes" come up over and over:</p><ol><li><strong>Technical preparation matters</strong>, because Arabic breaks standard Western design workflows. This is why I recommend budgeting for technical QA, not just linguistic review.</li><li><strong>Dialect decisions require context</strong>. Technical, medical, and legal content works with Modern Standard Arabic. Marketing, entertainment, and patient-facing content needs dialect-specific localization. Geographic specificity isn't always better.</li><li><strong>Source content quality determines translation quality</strong>. You can't localize idioms that don't transfer across cultures. Remove culturally-specific references before translation begins.</li><li><strong>Expert judgment beats assumptions</strong>. Your localization team has encountered patterns you haven't seen and will work infinitely better if you give them complete project context.</li></ol><p>The Arabic localization landscape confuses Western brands because it demands something counterintuitive: <strong>sometimes more specificity is wrong</strong>. Sometimes the premium option creates limitations. Sometimes standardization reaches more people than hyper-localization.</p><p>Companies that understand this get their hospital signs right and end up collecting valid data through their localized clinical trials. The good news is: you don't need to become an Arabic linguistics expert. You just need to work with people who are experts and actually listen to them.</p>]]></content:encoded>
            <author>Stephanie Casale</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/06/ArabicLocal---Marine-Corps-5.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The great LLM translation war, pt. 2: Context beats model choice in 2026]]></title>
            <link>https://localazy.com/blog/the-great-llm-translation-war-pt-2-2026</link>
            <guid isPermaLink="false">the-great-llm-translation-war-pt-2-2026</guid>
            <pubDate>Mon, 08 Jun 2026 17:08:07 GMT</pubDate>
            <description><![CDATA[Literal translation quality is no longer the benchmark: context is. We put ChatGPT, Claude, Gemini, DeepSeek, Qwen, and Kimi K2 to the test in two language pairs, and the results might surprise you.]]></description>
            <content:encoded><![CDATA[<p>History likes to repeat itself, and after the first battle usually comes the second. So here we are, running the sequel to the<a href="https://localazy.com/blog/the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models"> Great LLM Translation War</a> released in 2025.</p><p>Since then, the AI models have improved significantly, new players have emerged, some have lost their popularity, and some have gained a bit more. But the number of users and output quality are not the only metrics that shifted.</p><p>The way people interact with LLMs has fundamentally changed: from single prompts fired into a chat window to <strong>structured workflows built around context, consistency, and control</strong>.</p><p>In 2025, you picked a model and prompted it. In 2026, you create translation workflows built around context, consistency, and quality control. This includes AI in-context tools in Translation Management Systems that refine QA, style, and terminology consistency, and <a href="https://localazy.com/blog/build-vs-buy-in-localization-you-can-build-things-but-should-you">vibe-coded solutions</a> with an LLM layer designed to meet the burning business needs. </p><p>The popularity of context-infusing features such as AI Projects or custom assistants offered by some LLMs has grown, too, which is reflected in OpenAI's<a href="https://openai.com/index/the-state-of-enterprise-ai-2025-report/"> State of Enterprise AI</a> report, published in December 2025. It indicates that usage of structured workflows such as <strong>Projects</strong> and <strong>Custom GPTs</strong> increased 19× year-to-date, now accounting for 20% of all enterprise messages.</p><blockquote>In 2025, you picked a model and prompted it. In 2026, you create translation workflows built around context, consistency, and quality control</blockquote><p><a href="https://www.databricks.com/resources/ebook/state-of-ai-agents">Databricks’ 2026 State of AI Agents report</a> paints a similar picture: enterprises are moving from single chatbots to <strong>multi-agent workflows, which grew 327% in less than four months</strong>. This shows a rapid shift toward more complex agentic systems rather than single-turn chat use.</p><p>Add to it easy set-up for connection with external apps, quick access to tools covering your most common tasks (e.g., with Claude Agent Skills), and options to work with files on your desktop (e.g., with Claude Cowork), and you’ll gain endless possibilities of customization and context enhancement, leading to better quality. And this quality is sometimes as good as human translation.</p><p>But don’t take my word for it.</p><h2 id="well-configured-model-greater-best-model">👀 Well configured model > "best" model <a class="markdownit-header-anchor" href="#well-configured-model-greater-best-model">🔗</a></h2><p>The findings of the<a href="https://aclanthology.org/2025.wmt-1.22.pdf"> WMT25 General Machine Translation Shared Task</a> run across 30 language pairs on challenging texts from six different domains and three source languages indicate that <strong><a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/2-5-pro">Gemini 2.5 Pro</a></strong> deserves the highest place on the podium. It was the top performer for 14 language pairs, and the translation quality generated by this model was equal to or better than human translation in 10 of those pairs.</p><p>What’s more, human translations, often considered the “gold standard,” ended up in the top cluster for only six of the 15 language pairs. These results could reflect the stylistic or lexical preferences of annotators, but one thing is sure: <strong>when properly set up and equipped with the right context</strong>, AI models can now deliver surprisingly accurate output. </p><blockquote>The best-performing models now are the best configured, the most context-aware, and the most consistent ones</blockquote><p>Similar observations can be found in the <a href="https://www.prnewswire.com/news-releases/intento-releases-9th-annual-state-of-translation-automation-2025-industry-report-302598803.html">State of Translation Automation 2025 Industry Report</a> by Intento. Its data shows that tailored solutions consistently beat generic engines. What’s more, human reviewers frequently couldn't tell AI output apart from human translation and often preferred the text created by AI. Instead of naming a single best-performing model, <strong>the report indicates that the best scenario is to use a multi-agent workflow</strong>. With separate agents for translation, review, and post-editing, this solution produced the highest average performance, earning the top ratings in 9 of 11 language pairs. </p><p>The results vary per language pair (e.g., Claude Opus 4 and Sonnet 3.7 ranked the best for German, Japanese, Korean, and Italian, while Gemini 2.5 Pro and Flash were the best for Chinese, Ukrainian, and French), but the key message to take home is: <strong>the model choice matters less than how you configure it</strong>. This confirms the prevailing assumption that once fueled by the right context, your AI model can be unstoppable.</p><h2 id="the-battle-rules-explained">🤺 The battle rules explained <a class="markdownit-header-anchor" href="#the-battle-rules-explained">🔗</a></h2><p>Considering how fast things are changing, a follow-up to the Great LLM Translation War seems like a must. So, I’ve risen to the challenge and divided the world into two parts again: <strong>East and West, and assigned three models to each side</strong>.</p><p>The East Side is represented by <strong>Kimi K2</strong>, <strong>DeepSeek</strong>, and<strong> Qwen</strong>, whereas the West Side is all about <strong>ChatGPT</strong>, <strong>Claude</strong>, and <strong>Gemini</strong>.</p><h3 id="why-these-models">Why these models? <a class="markdownit-header-anchor" href="#why-these-models">🔗</a></h3><p>The battle participants were partially selected by popularity scores (the West Side models), partially by curiosity (Kimi K2, the newest of them all), and partially to allow for handy comparison with the first battle, where DeepSeek and Qwen <a href="https://localazy.com/blog/the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models">gained surprisingly good results</a>.</p><h3 id="what-are-we-testing">What are we testing? <a class="markdownit-header-anchor" href="#what-are-we-testing">🔗</a></h3><p>📄 The full text provided for each model<strong> is more complex</strong> than in battle no. 1; <strong>it’s also longer</strong>, comprising 450 words of marketing copy about a fictional AI-powered sleep-tracking ring. The source is English and <strong>requires strict adherence to reference materials</strong> to be rendered correctly. That’s why every model will receive not only the source, but also the relevant context.</p><p>💬 Where possible, all these assets will be fed into a project built inside the model – no integrations with TMS or other platforms, just a standard setup on the LLM website with reference files attached to the prompt. This makes the battle fair for everyone (not all tested LLMs can be integrated with localization platforms), and you, my dear reader, can easily replicate the results without worrying about any missing technology or connections.</p><p>For a better taste of the source, here’s a sample of our imaginary product:</p><!--kg-card-begin: html--><table style="border: medium; border-collapse: collapse;"><colgroup><col width="602"></colgroup><tbody><tr style="height: 231.60144pt;"><td style="border-width: 0.681818pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 0pt 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&nbsp;</span></p><p dir="ltr" style="line-height: 1.38; margin-left: 7.086614pt; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Meet Lumi Ring. Your nights, finally understood.</span></p><p dir="ltr" style="line-height: 1.38; margin-left: 7.086614pt; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">You spend a third of your life asleep. Lumi Ring spends it working.</span></p><p dir="ltr" style="line-height: 1.38; margin-left: 7.086614pt; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Worn on your finger, powered by sensors you won't feel, Lumi Ring tracks what your body is quietly doing while you rest — and turns it into something you can actually use the next morning.</span></p><p dir="ltr" style="line-height: 1.38; margin-left: 7.086614pt; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Precision that doesn't keep you up at night</span></p><p dir="ltr" style="line-height: 1.38; margin-left: 7.086614pt; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">At the core of every Lumi Ring is a clinical-grade </span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">photoplethysmography (PPG) sensor</span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> paired with a </span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">3-axis accelerometer</span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, continuously monitoring your </span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">heart rate variability (HRV)</span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">blood oxygen saturation (SpO₂)</span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and </span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">skin temperature deviation</span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. These aren't vanity metrics. They're the signals your body uses to tell you something — and most wearables have been getting the translation wrong.</span></p><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&nbsp;</span></p></td></tr></tbody></table><!--kg-card-end: html--><h3 id="what-about-assessment">What about assessment? <a class="markdownit-header-anchor" href="#what-about-assessment">🔗</a></h3><p>To allow for a direct comparison, the scoring criteria will remain the same. Output from every model will be assessed by professional translators based on:</p><p>1️⃣ <strong>Consistency with translation memories</strong><br>2️⃣ <strong>Coherence across paragraphs</strong><br>3️⃣ <strong>Consistency with the style guide</strong><em><strong> </strong></em>(e.g., gender neutral, engaging)<br>4️⃣ <strong>Contextual appropriateness</strong> (e.g., does it fit the marketing context? Is it right for the target users?)<br>5️⃣ <strong>Accuracy</strong> (how closely the translated text matches the meaning of the source text)<br>6️⃣ <strong>Fluency</strong> (whether the translated text reads naturally in the target language)</p><p>All these indicators will be assessed <strong>on a scale from 1 to 5 for two language pairs </strong>covered in the Battle no. 1: <strong>🇵🇱 English-Polish</strong>, a medium-source language, and <strong>🇭🇷 English-Croatian</strong>, <a href="https://localazy.com/dictionary/low-resource-languages">a low-resource language</a>. A note on the last indicator: it replaces the “Correct rendering of mobile app strings” from the previous test, since now the translated content will differ. </p><p>✍️ This time, the source text won’t contain mobile app strings, <strong>but</strong> <strong>something more challenging: marketing copy for a technical product</strong><em>.</em> Packed with brand voice, technical terms, and references to other campaigns. Something where literal translation is a big no-no, style guide matters, and consistency with previously released content is crucial.</p><p>📓 Each LLM will be asked to provide a context-specific translation, based on <strong>a detailed style guide </strong>(including, e.g., friendly, approachable style, gender-neutral language, correct terminology, non-translatable terms), <strong>glossary</strong> (10 terms in English with Polish and Croatian translations), and <strong>translation memory uploaded as an XLSX file</strong> (30 segments of varied match rate, from 100% to 50%). The instructions will also contain information about the type of results we’re looking for, such as natural, engaging translation consistent with the uploaded documents.<br><br>🧠 For each LLM, we’ll choose the currently newest version, preferably with the thinking capability, since analyzing so many references requires a deeper understanding.</p><p>💬 Finally, each model will be presented with the same <strong>prompt</strong>:</p><!--kg-card-begin: html--><table style="border: medium; border-collapse: collapse;">
  <colgroup>
    <col width="714">
  </colgroup>
  <tbody>
    <tr>
      <td style="border-width: 0.681818pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 0pt 5pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 8pt;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Act as a professional English-to-{TARGET_LANGUAGE} translator specializing in marketing copy for consumer technology and wellness products. I will provide you with a source text, a marketing description for </span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Lumi Ring</span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, an AI-powered sleep tracking ring.</span>
        </p>

        <p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 8pt;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">As reference materials, use these files uploaded as {Sources/Project Files/attached below – depending on the LLM’s UI}:</span>
        </p>

        <ul style="margin-top: 0pt; margin-bottom: 8pt; padding-left: 24px;">
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">
            <span style="font-weight: 700;">A glossary</span><span> (English–{TARGET_LANGUAGE}) with approved terminology</span>
          </li>
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">
            <span style="font-weight: 700;">A style guide</span><span> with brand voice, register, and grammatical rules for {TARGET_LANGUAGE}</span>
          </li>
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">
            <span style="font-weight: 700;">A translation memory</span><span> with previously approved English–{TARGET_LANGUAGE} segments and their match rates</span>
          </li>
        </ul>

        <p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 8pt;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Your task:</span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> Translate the full source text into {TARGET_LANGUAGE} according to the rules below.</span>
        </p>

        <p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 8pt;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Reference hierarchy (in order of priority):</span>
        </p>

        <ol style="margin-top: 0pt; margin-bottom: 8pt; padding-left: 24px;">
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">
            <span style="font-weight: 700;">Translation memory</span><span> — for any segment matching at 100%, reuse the target verbatim. For high fuzzy matches (85–95%), follow the existing translation pattern closely and adapt only what is necessary.</span>
          </li>
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">
            <span style="font-weight: 700;">Glossary</span><span> — every term listed in the glossary must be translated using the approved form on first use. Acronyms are retained in English with the target-language expansion in parentheses on first use, per the glossary.</span>
          </li>
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">
            <span style="font-weight: 700;">Style guide</span><span> — apply all brand voice, register, formatting, and grammatical rules. In case of conflict, the style guide overrides defaults but does not override TM or glossary.</span>
          </li>
        </ol>

        <p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 8pt;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Translation requirements:</span>
        </p>

        <ul style="margin-top: 0pt; margin-bottom: 8pt; padding-left: 24px;">
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">Preserve the brand voice: friendly, approachable, confident, warm — never clinical or overly formal.</li>
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">Use <span style="font-weight: 700;">gender-neutral language</span> throughout, following the strategies defined in the style guide. Avoid masculine-default forms when addressing the reader.</li>
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">Keep brand names <span style="font-weight: 700;">invariable</span>: Lumi Ring, Lumi Band Pro, SleepIQ™, Lumi Coach. Do not decline them through grammatical cases.</li>
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">Preserve <span style="font-weight: 700;">sentence rhythm</span>: do not merge short punchy sentences into longer ones for the sake of "more natural" target-language prose. Short sentences are intentional brand voice devices.</li>
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">Preserve <span style="font-weight: 700;">all formatting exactly</span>: bold on technical terms, the ™ symbol, the SpO₂ subscript, em dashes, paragraph breaks, bullet points.</li>
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">Translate idioms and brand taglines for <span style="font-weight: 700;">meaning, not word-for-word</span>.</li>
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">Avoid unnecessary anglicisms when a natural target-language equivalent is in the glossary. Do not leave English terms untranslated unless explicitly retained per the glossary.</li>
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">Apply all target-language–specific rules from the style guide, including diacritics, address forms, voice (active/passive) preferences, and case/agreement requirements.</li>
        </ul>

        <p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 8pt;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Output format:</span>
        </p>

        <ol style="margin-top: 0pt; margin-bottom: 8pt; padding-left: 24px;">
          <li style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); font-style: italic; line-height: 1.38;">The full translation only — no commentary, no explanations.</li>
        </ol>

        <p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Do not summarize the source. Do not add disclaimers about translation difficulty. Translate.</span>
        </p>
      </td>
    </tr>
  </tbody>
</table><!--kg-card-end: html--><blockquote><em><strong>Disclaimer</strong>: The translation quality assessments and comparisons presented in this article are based on a limited set of tests performed by language professionals and should not be considered exhaustive or definitive. Due to constraints such as access to full model capabilities, proprietary algorithms, and the broad range of potential test conditions, our benchmarking efforts may not fully capture the capabilities of each model. We encourage readers to consult additional research and papers that offer more extensive benchmarking analyses. Bear in mind also that models used in these tests are updated and change all the time. Our benchmarking criteria might be limited.</em></blockquote><h2 id="the-great-llm-battle-no-2">⚔️ The great LLM battle no. 2 <a class="markdownit-header-anchor" href="#the-great-llm-battle-no-2">🔗</a></h2><p>Below you can see the result of our great translation battle, categorized by models. First come the three Western LLMs, followed by the Eastern group.</p><h3 id="lessa-hrefhttpschatgptcomgreaterchatgptlessagreater-version-lessa-hrefhttpshelpopenaicomenarticles11909943-gpt-55-in-chatgptgreatergpt-55lessagreater-standard-thinking"><a href="https://chatgpt.com">ChatGPT</a>, version <a href="https://help.openai.com/en/articles/11909943-gpt-55-in-chatgpt">GPT-5.5</a>, standard thinking <a class="markdownit-header-anchor" href="#lessa-hrefhttpschatgptcomgreaterchatgptlessagreater-version-lessa-hrefhttpshelpopenaicomenarticles11909943-gpt-55-in-chatgptgreatergpt-55lessagreater-standard-thinking">🔗</a></h3><p>For this and the following model, translations were set up as <strong>Projects</strong>. In Polish, all glossary terms landed correctly, and the style guide was applied. On the TM side, the model tried to make an effort, but it was quite selective. For 95% matches, it often reached for its own phrasing instead, for example, it translated “while you rest” as <em>"gdy odpoczywasz"</em> rather than <em>"podczas odpoczynku"</em> available in the TM.</p><p>It made similar blunders for <em>"dane z czujników"</em> instead of <em>"dane czujnikowe"</em> (“sensor data”) or <em>"metryki próżności"</em> instead of <em>"wskaźniki próżności"</em> (“vanity metrics”) that were expected based on the TM. Most 85% matches were missed entirely. There were three 100% matches available; the model applied two of them and rewrote the third from scratch. And that was the opening sentence – so not something hidden in the middle that could be difficult to recognize.</p><p>It seems <strong>ChatGPT trusted itself more than the abundant TM</strong>. The translation was <strong>accurate, but not entirely fluent</strong>, with many awkward or slightly literal phrases.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/Chat-GPT-Pl-translation.png" class="kg-image" alt=" English to Polish translation on ChatGPT, version GPT-5.5." loading="lazy" width="934" height="950" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/Chat-GPT-Pl-translation.png 600w, https://ghost.localazy.com/content/images/2026/05/Chat-GPT-Pl-translation.png 934w" sizes="(min-width: 720px) 720px"></figure><p>In Croatian, this model provided the most balanced output overall. It ranked high in every single category, and<strong> the output required only minor post-editing</strong>, mainly for a few slightly literal formulations.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/HR-ChatGPT.png" class="kg-image" alt=" English to Croatian translation on ChatGPT, version GPT-5.5." loading="lazy" width="1187" height="742" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/HR-ChatGPT.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/05/HR-ChatGPT.png 1000w, https://ghost.localazy.com/content/images/2026/05/HR-ChatGPT.png 1187w" sizes="(min-width: 720px) 720px"></figure><h3 id="lessa-hrefhttpswwwanthropiccomnewsclaude-opus-4-7greaterclaude-opus-47lessagreater"><a href="https://www.anthropic.com/news/claude-opus-4-7">Claude Opus 4.7</a> <a class="markdownit-header-anchor" href="#lessa-hrefhttpswwwanthropiccomnewsclaude-opus-4-7greaterclaude-opus-47lessagreater">🔗</a></h3><p><a href="https://claude.ai/">Claude</a> turned out to be <strong>the most fluent of the six for the <a href="https://localazy.com/translate/en-pl_pl">Polish translation</a></strong>. The model applied all TM matches and missed only one 75% entry, rendering <em>"Wskaźnik stresu autonomicznego"</em> instead of the TM's <em>"Autonomiczny wskaźnik stresu"</em>. Short source sentences came out less clumsy than in any other model, with fewer word-for-word calques. One headline tripped it up: <em>"Zbudowany na trzech latach Ciebie”</em> for “Built on three years of you” was too literal.</p><p> Terminology and style guide were both applied correctly, hence the overall high rating.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/Claude-PL-translation.png" class="kg-image" alt="English to Polish translation in Claude Opus 4.7." loading="lazy" width="808" height="932" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/Claude-PL-translation.png 600w, https://ghost.localazy.com/content/images/2026/05/Claude-PL-translation.png 808w" sizes="(min-width: 720px) 720px"></figure><p>In Croatian, the model provided strong results but struggled with style-guide compliance. The key issue was the <strong>Croatian diacritics and incorrect SpO2 formatting</strong> instead of SpO₂. Overall, the output for this model can be deemed usable for both languages; however, only after careful review.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/HR-translation-in-Claude.png" class="kg-image" alt="English to Croatian translation in Claude Opus 4.7." loading="lazy" width="1833" height="821" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/HR-translation-in-Claude.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/05/HR-translation-in-Claude.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/05/HR-translation-in-Claude.png 1600w, https://ghost.localazy.com/content/images/2026/05/HR-translation-in-Claude.png 1833w" sizes="(min-width: 720px) 720px"></figure><h3 id="lessa-hrefhttpsbloggoogleproducts-and-platformsproductsgeminigemini-3gemini-3-deep-thinkgreatergemini-3-thinkinglessagreater"><a href="https://blog.google/products-and-platforms/products/gemini/gemini-3/#gemini-3-deep-think">Gemini 3 Thinking</a> <a class="markdownit-header-anchor" href="#lessa-hrefhttpsbloggoogleproducts-and-platformsproductsgeminigemini-3gemini-3-deep-thinkgreatergemini-3-thinkinglessagreater">🔗</a></h3><p>Since no project feature was available here, the files and instructions were uploaded together with the prompt. In Polish, <a href="https://gemini.google.com/">the model</a> showed a couple of accuracy issues. "Have been interpreting" came out as <em>"interpretowała"</em> – a verb rendered in past tense, where <em>"interpretuje"</em> (present tense) would have been more appropriate in this context. A grammar slip appeared in one string, and the TM also took some hits. <strong>The model failed to replicate a few phrases from the memory</strong>, missing similar entries to ChatGPT. Terminology and style guide were otherwise applied correctly.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/PL-Gemini.png" class="kg-image" alt="English to Polish translation in Gemini 3 Thinking." loading="lazy" width="911" height="793" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/PL-Gemini.png 600w, https://ghost.localazy.com/content/images/2026/05/PL-Gemini.png 911w" sizes="(min-width: 720px) 720px"></figure><p>In Croatian, <strong>the model ranked high for fluency but ignored the style guide on several occasions</strong>. For example, the phrase <em>“fotopletizmografija (PPG) senzor”</em> wasn’t rendered correctly. A more idiomatic option would be <em>“senzor za fotopletizmografiju (PPG)”</em> or <em>“senzor fotopletizmografije (PPG)”</em>.  The term “SpO₂” wasn’t formatted as per the style guide, some phrases included agreement problems (e.g., in <em>“Dostupno sada u bojama Midnight, Chalk i Sand.”</em>), and a few technical terms came out with awkward phrasing.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/Gemini-HR-translation.png" class="kg-image" alt="English to Croatian translation in Gemini 3 Thinking." loading="lazy" width="1023" height="763" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/Gemini-HR-translation.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/05/Gemini-HR-translation.png 1000w, https://ghost.localazy.com/content/images/2026/05/Gemini-HR-translation.png 1023w" sizes="(min-width: 720px) 720px"></figure><h3 id="lessa-hrefhttpsapi-docsdeepseekcomnewsnews250120greaterdeepseek-r1lessagreater-deepthinkexpert"><a href="https://api-docs.deepseek.com/news/news250120">DeepSeek R1</a> (DeepThink/Expert) <a class="markdownit-header-anchor" href="#lessa-hrefhttpsapi-docsdeepseekcomnewsnews250120greaterdeepseek-r1lessagreater-deepthinkexpert">🔗</a></h3><p>There is no project feature here either, so files and instructions were uploaded together with the prompt. For both translation tasks, <strong>the model took the longest time to think</strong>.<strong> </strong><a href="https://localazy.com/translate/en-hr_hr">Croatian translation</a> appeared after approximately 6 minutes, while for other models, the thinking time never exceeded 3 minutes. Before displaying the Polish translation, <a href="https://www.deepseek.com/en/">the model</a> thought for 211 seconds. This time was not spent recklessly, though. <strong>Deepseek turns out to be the most thorough on TM entries in both languages</strong>.</p><p>For example, in Polish, all matches were applied correctly, including the low ones and the tricky entry with <em>"autonomiczny wskaźnik stresu"</em> (“autonomic stress index“) that tripped up most other models. </p><p>In Croatian, the model applied the TM, style guide, and glossary with surgical precision, delivering the second-best translation.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/DeepSeek-PL-thinking.png" class="kg-image" alt loading="lazy" width="857" height="937" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/DeepSeek-PL-thinking.png 600w, https://ghost.localazy.com/content/images/2026/05/DeepSeek-PL-thinking.png 857w" sizes="(min-width: 720px) 720px"></figure><p>It was not all roses, though, and both languages included minor blunders. In Croatian, some phrases were <strong>slightly less natural from the marketing perspective</strong>. One good example of this issue can be found in <em>“na temelju vaše akumulacije duga spavanja u stvarnom vremenu”</em>. The phrase was translated accurately, but sounds nothing like the approachable technical language prescribed in the style guide. A lighter Croatian marketing version would be <em>“na temelju vašeg stvarnog nakupljanja duga spavanja”</em>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/DeepSeek-thought-for-320-s-HR.png" class="kg-image" alt="English to Croatian translation in DeepSeek R1." loading="lazy" width="1030" height="890" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/DeepSeek-thought-for-320-s-HR.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/05/DeepSeek-thought-for-320-s-HR.png 1000w, https://ghost.localazy.com/content/images/2026/05/DeepSeek-thought-for-320-s-HR.png 1030w" sizes="(min-width: 720px) 720px"></figure><p>In Polish, there were minor grammar mistakes, literal phrasing, and a few clumsy constructions. Gender neutrality was missed for <em>"pracowników" </em>(“workers”), but other requirements of the style guide and terminology were applied correctly.</p><p><strong>It seems that what DeepSeek gained in precision, it lost in fluency</strong>.</p><h3 id="lessa-hrefhttpsqwenaiblogidqwen36greaterqwen-36-pluslessagreater"><a href="https://qwen.ai/blog?id=qwen3.6">Qwen 3.6-Plus</a> <a class="markdownit-header-anchor" href="#lessa-hrefhttpsqwenaiblogidqwen36greaterqwen-36-pluslessagreater">🔗</a></h3><p><a href="https://chat.qwen.ai">This model</a> offers a Project feature, so reference files were uploaded as project files. It also took longer to analyze the file, compared to the Western group models. In Polish, the TM compliance was solid with only one low-match entry missed <em>("Autonomiczny wskaźnik stresu")</em>. The problem was fluency. Clumsy compounds like <em>"mikro-wybudzenia"</em>, awkward phrase order in <em>"faza lekkiego snu"</em> for <em>“light sleep transitions<strong>”</strong></em>, and constructions like <em>"kontekst do działania" (“Actionable context”)</em> and <em>"stres późnonocny"</em> <em>(“late-night stress “)</em> made the text feel unpolished. Passive voice appeared where it wasn't needed. <strong>The model translated accurately, but not as a professional native translator would</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/Qwen-PL.png" class="kg-image" alt="English to Polish translation in Qwen 3.6-Plus." loading="lazy" width="1153" height="888" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/Qwen-PL.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/05/Qwen-PL.png 1000w, https://ghost.localazy.com/content/images/2026/05/Qwen-PL.png 1153w" sizes="(min-width: 720px) 720px"></figure><p>Things didn’t look up for the Croatian translation either. Overall, <strong>Qwen provided the weakest output for this language pair</strong>. Grammar hiccups, case-related conflict, and missing context were the key issues behind the lowest ranking. One example of issues in this category is the phrase <em>“na temelju vašeg dug spavanja u stvarnom vremenu”</em>, which is not grammatically correct. After <em>“vašeg”</em>, the noun phrase must agree in case, so the correct form would be <em>“vašeg duga spavanja”</em> or, more naturally in this context, <em>“vašeg stvarnog nakupljanja duga spavanja”</em>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/Qwen-HR-trans.png" class="kg-image" alt="English to Croatian translation in Qwen 3.6-Plus." loading="lazy" width="1646" height="827" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/Qwen-HR-trans.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/05/Qwen-HR-trans.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/05/Qwen-HR-trans.png 1600w, https://ghost.localazy.com/content/images/2026/05/Qwen-HR-trans.png 1646w" sizes="(min-width: 720px) 720px"></figure><h3 id="lessa-hrefhttpswwwkimicomai-modelskimi-k2-6greaterkimi-k26-thinkinglessagreater"><a href="https://www.kimi.com/ai-models/kimi-k2-6">Kimi K2.6 Thinking</a> <a class="markdownit-header-anchor" href="#lessa-hrefhttpswwwkimicomai-modelskimi-k2-6greaterkimi-k26-thinkinglessagreater">🔗</a></h3><p>Like DeepSeek, <a href="https://www.kimi.com">this model</a> spent a lot of time on thinking (nearly 9 minutes), and all instructions plus files had to be fed as a simple prompt because of the <strong>missing Projects feature</strong>. In the case of the Polish translation, the thinking time was rewarded with <strong>probably the most creative translation in the set</strong>. It was less literal than ChatGPT or Gemini, with noticeably better flow. On TM, Kimi missed only one low-match entry <em>("wskaźniki stresu autonomicznego")</em>. Two issues pulled the score down. The first one was the gendered forms for <em>"podróżników"</em> and <em>"pracowników"</em>, although the style guide required neutral phrasing. Another one was a fluency glitch in the final two sentences, both of which contained the same word <em>("już")</em>, a repetition that a quick read-through would have caught. Or one that a professional translator wouldn’t have made at all.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/Kimi-PL.png" class="kg-image" alt="English to Polish translation in Kimi K2.6 Thinking." loading="lazy" width="908" height="935" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/Kimi-PL.png 600w, https://ghost.localazy.com/content/images/2026/05/Kimi-PL.png 908w" sizes="(min-width: 720px) 720px"></figure><p>For the Croatian translation, the model generated natural and marketing-friendly text, doing its best to apply all the provided resources. The TM and glossary compliance were strong, but <strong>it struggled with fluency</strong>. There were linguistic and structural issues, including case/agreement problems and changes to line breaks.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/Kimi-HR.png" class="kg-image" alt="English to Croatian translation in Kimi K2.6 Thinking." loading="lazy" width="827" height="895" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/Kimi-HR.png 600w, https://ghost.localazy.com/content/images/2026/05/Kimi-HR.png 827w" sizes="(min-width: 720px) 720px"></figure><h2 id="whats-the-llm-leaderboard">📋 What’s the LLM leaderboard? <a class="markdownit-header-anchor" href="#whats-the-llm-leaderboard">🔗</a></h2><p>This is how each LLM scored for each indicator and language combination:</p><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th style="text-align:center"><strong>LLMs</strong></th>
<th style="text-align:center"><strong>Consistency  with  translation  memories</strong></th>
<th style="text-align:center"><strong>Coherence across paragraphs</strong></th>
<th style="text-align:center"><strong>Consistency  with the  style guide</strong></th>
<th style="text-align:center"><strong>Contextual  appropriateness</strong></th>
<th style="text-align:center"><strong>Accuracy</strong></th>
<th style="text-align:center"><strong>Fluency</strong></th>
<th style="text-align:center"><strong>Total Score</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">Claude</td>
<td style="text-align:center">4</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">4</td>
<td style="text-align:center">28</td>
</tr>
<tr>
<td style="text-align:center">Kimi</td>
<td style="text-align:center">4</td>
<td style="text-align:center">5</td>
<td style="text-align:center">4</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">4</td>
<td style="text-align:center">27</td>
</tr>
<tr>
<td style="text-align:center">DeepSeek</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">4</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">3</td>
<td style="text-align:center">27</td>
</tr>
<tr>
<td style="text-align:center">Qwen</td>
<td style="text-align:center">4</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">3</td>
<td style="text-align:center">27</td>
</tr>
<tr>
<td style="text-align:center">Gemini</td>
<td style="text-align:center">4</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">4</td>
<td style="text-align:center">3</td>
<td style="text-align:center">26</td>
</tr>
<tr>
<td style="text-align:center">ChatGPT</td>
<td style="text-align:center">3</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">3</td>
<td style="text-align:center">26</td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>Table 1</strong>. LLM's scores for the Polish translation.</div></div><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th style="text-align:center"><strong>LLMs</strong></th>
<th style="text-align:center"><strong>Consistency  with  translation  memories</strong></th>
<th style="text-align:center"><strong>Coherence across paragraphs</strong></th>
<th style="text-align:center"><strong>Consistency  with the  style guide</strong></th>
<th style="text-align:center"><strong>Contextual  appropriateness</strong></th>
<th style="text-align:center"><strong>Accuracy</strong></th>
<th style="text-align:center"><strong>Fluency</strong></th>
<th style="text-align:center"><strong>Total Score</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">ChatGPT</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">26</td>
</tr>
<tr>
<td style="text-align:center">DeepSeek</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">24</td>
</tr>
<tr>
<td style="text-align:center">Claude</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">3</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">23</td>
</tr>
<tr>
<td style="text-align:center">Qwen</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">3</td>
<td style="text-align:center">3</td>
<td style="text-align:center">4</td>
<td style="text-align:center">3</td>
<td style="text-align:center">21</td>
</tr>
<tr>
<td style="text-align:center">Gemini</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">3</td>
<td style="text-align:center">3</td>
<td style="text-align:center">3</td>
<td style="text-align:center">3</td>
<td style="text-align:center">20</td>
</tr>
<tr>
<td style="text-align:center">Kimi</td>
<td style="text-align:center">3</td>
<td style="text-align:center">3</td>
<td style="text-align:center">3</td>
<td style="text-align:center">4</td>
<td style="text-align:center">3</td>
<td style="text-align:center">4</td>
<td style="text-align:center">20</td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>Table 2</strong>. LLM's scores for the Croatian translation.</div></div><p><strong>History repeats itself. battle no. 1 ended with no clear winner, and so does battle no. 2</strong>. All tested LLMs turned out to be extremely powerful and capable of rendering correct translations in Polish and Croatian, based on the provided context. No matter the setup (whether it was a project or a simple prompt with all files attached), the models accessed style guides, glossaries, and translation memories, spent some time analyzing the context, followed the prompt accurately, and created content that was not only linguistically correct, but also, in most cases, in line with the brand rules.</p><p><strong>ChatGPT was the least accurate</strong> when it comes to reusing entries from the Translation Memory, while <strong>DeepSeek was the most precise</strong> in this aspect, applying all matches, even those below 80%. Glossary and style guide enforcement (excluding the rule on gender neutrality) was handled correctly by most models in both languages.</p><blockquote>This time, all tested LLMs were extremely powerful and capable of rendering correct translations in both Polish and Croatian when given the context. Guides, glossaries and TMs were used, and the content created based on them was mostly in line with brand rules</blockquote><p>Of course, this doesn't mean that the translations were perfect. While there were no big issues in terms of accuracy, <strong>fluency varied, leaving room for improvement</strong>. Literal phrases and grammatically awkward constructions appeared in nearly every output to a different extent. Although the texts could have been infused with more creativity and personality, they were mostly on brand and aligned with the provided context.</p><h2 id="east-or-west-whats-the-best">🆚 East or West: what’s the best? <a class="markdownit-header-anchor" href="#east-or-west-whats-the-best">🔗</a></h2><p>When it comes to the Western vs. Eastern divide, our test shows that <strong>DeepSeek, Qwen, and Kimi generate results comparable with the frontier models</strong>, at least for the languages and content selected for our experiment.</p><p>There is no clear winner in this group. The interesting part, however, is that <strong>for Polish translation, the Eastern models slightly outperformed ChatGPT and Gemini</strong>, <strong>while Claude led</strong> the overall leaderboard. <strong>For Croatian, it was ChatGPT that took the spot no. 1</strong>, followed by DeepSeek and Claude.</p><p>Simply put, the East retains its strong position thanks to DeepSeek, and the West shines through strong results from <strong>ChatGPT (for Croatian)</strong> and from <strong>Claude (for Polish)</strong>. These results may, of course, vary depending on the language pairs, content type, and the quality of the provided context.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text">Compared to our first LLM Translation War released in 2025, in the case of the Polish translation, DeepSeek and Qwen have retained their strong position, while Claude gained in strength, coming from place no. 5 to no. 1. Claude won the ranking for Croatian in 2025; now this model dropped to spot no. 3, while ChatGPT moved from no. 4 to no. 1.</div></div><h2 id="and-the-winner-is">🏆 And the winner is… <a class="markdownit-header-anchor" href="#and-the-winner-is">🔗</a></h2><p>What does it all mean for your content? Which LLM should you choose for your translations?</p><p>There’s no universal solution, but one thing is sure: the future is integrated. No one will spend time and tokens to manually run multiple prompts for multiple language pairs in several LLMs, and with several reference documents attached to the prompt. <strong>For the best result, you need a system that lets you easily choose the model that delivers the best result for your language and content type</strong>, upload context that stays in the system and is reusable, when necessary, plus provide instruction that can be applied to other projects. That’s exactly what an orchestrated, agentic system offers.</p><p>One such solution is Localazy: you upload your glossary, add TM and a style guide, and <strong>run pre-translation using their proprietary model, <a href="https://localazy.com/features/localazy-ai">Localazy AI</a></strong>, which has been fine-tuned to provide the best for localization use cases. The same context materials can be used for translation into several languages, so there’s no need to create a separate project per language or copy-paste your prompt in the LLM’s interface several times. <strong>Everything is connected, easy to use, and transparent when it comes to token use</strong>. </p><p>If that sounds too good to be true, have a look at the test I’ve performed recently to find out if <a href="https://localazy.com/blog/localazy-ai-put-to-the-test-across-three-content-types">Localazy AI can handle the context correctly</a>.</p><h2 id="faqs">💬 FAQs <a class="markdownit-header-anchor" href="#faqs">🔗</a></h2><h3 id="have-chinese-llms-improved-since-2025">Have Chinese LLMs improved since 2025? <a class="markdownit-header-anchor" href="#have-chinese-llms-improved-since-2025">🔗</a></h3><p>According to<a href="https://www.scmp.com/tech/tech-trends/article/3335602/chinas-open-source-models-make-30-global-ai-usage-led-qwen-and-deepseek"> research from OpenRouter and Andreessen Horowitz</a>, Chinese open-source models went from roughly 1.2% of global AI usage in late 2024 to nearly 30% by the end of 2025. Their performance has improved significantly. For example, <a href="https://www.e2enetworks.com/blog/deepseek-v3-2-open-source-reasoning">DeepSeek’s V3.2-Speciale model won gold medals</a> in the International Mathematical Olympiad and the International Olympiad in Informatics. </p><p>According to<a href="https://benchlm.ai/blog/posts/best-chinese-llm"> BenchLM.ai</a>, the gap between the Chinese model and the global frontier is shrinking. Number one Chinese LLM is DeepSeek V4 Pro (Max), followed by DeepSeek V4 Pro (High) and Kimi K2.6. <a href="https://www.nist.gov/news-events/news/2026/05/caisi-evaluation-deepseek-v4-pro">CAISI Evaluation</a> assessed that DeepSeek V4’s capabilities lag behind the frontier models by about 8 months. This assessment also confirms that DeepSeek V4 is more cost-efficient than other models of similar capability.</p><h3 id="are-chinese-ai-models-as-good-as-western-models-for-translation">Are Chinese AI models as good as Western models for translation? <a class="markdownit-header-anchor" href="#are-chinese-ai-models-as-good-as-western-models-for-translation">🔗</a></h3><p>Our tests prove that the top Chinese models (especially DeepSeek) are comparable to the Western models when it comes to translation. With the relevant context and precise instructions, these models are able to generate decent results.</p><h3 id="which-llm-is-best-for-localizing-a-mobile-app">Which LLM is best for localizing a mobile app? <a class="markdownit-header-anchor" href="#which-llm-is-best-for-localizing-a-mobile-app">🔗</a></h3><p>There’s no one-size-fits-all solution. The results will vary depending on the language. According to the findings of the <a href="https://aclanthology.org/anthology-files/pdf/wmt.real/2025.wmt-1.1.pdf">WMT25 General Machine Translation Shared Task</a>, the best system overall was Gemini 2.5 Pro (it ended up in the top cluster in 14 language pairs). Our experiments from the <a href="https://localazy.com/blog/the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models">Translation War no. 1 </a> focused on mobile apps showed that DeepSeek is the top model for localizing mobile apps into Polish, and Claude for Croatian.</p><p><a href="https://www.prnewswire.com/news-releases/intento-releases-9th-annual-state-of-translation-automation-2025-industry-report-302598803.html">The Intento report</a> highlights that it’s the multi-agent workflow that delivers the best results. Bear in mind that top models constantly get new updates, and their results change. What’s the best varies depending on whether you prioritize translation accuracy, brand voice, terminology consistency, creativity, or privacy constraints. Whatever you choose, don’t forget about the human review,<a href="https://internationalachieversgroup.com/localisation/metrics-for-evaluating-machine-translation-using-llms/"> as studies show tone, nuance, and cultural fit still need careful oversight</a>.</p>]]></content:encoded>
            <author>Dorota Pawlak</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/06/localazy-AI-series-11.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: New features in CLI & API, revamped glossary, Strapi plugin updates, and more!]]></title>
            <link>https://localazy.com/blog/release-update-june-2026-new-features-localazy-cli-glossary-strapi-plugin</link>
            <guid isPermaLink="false">release-update-june-2026-new-features-localazy-cli-glossary-strapi-plugin</guid>
            <pubDate>Wed, 03 Jun 2026 06:36:22 GMT</pubDate>
            <description><![CDATA[We are adding more features to the CLI so that, soon, developers won’t need to leave the terminal at all. We are also improving the interface for the rest of your team and updating integrations while fixing bugs along the way. Learn what’s new in Localazy!]]></description>
            <content:encoded><![CDATA[<p>A lot has shipped since we last checked in!</p><p>So buckle up, because this might be the longest Release Update ever. 😅</p><h2 id="new-cli-features">⌨️ New CLI features <a class="markdownit-header-anchor" href="#new-cli-features">🔗</a></h2><p>The CLI has picked up some new capabilities that were previously only available in the UI. Now your CI/CD or coding agents can simply call Localazy commands to translate on the fly and developers don't have to leave their terminal.</p><p><strong>Update to version 2.0.11 to use the new commands</strong>.</p><h3 id="ai-translations">AI translations <a class="markdownit-header-anchor" href="#ai-translations">🔗</a></h3><p>The <code>localazy translate</code> command provides on-demand, real-time AI translation directly from the command line. Unlike the <a href="https://localazy.com/docs/cli/batch-operations">batch operations</a>, it does not modify any strings stored in your project. It just returns translations synchronously so you can use them in scripts, build pipelines, or one-off tasks.</p><p>Translate a literal string and print the result:</p><pre><code class="language-bash">localazy translate --from en --to cs --text "Hello, world!"
</code></pre><p>Translate a batch from a file and store the result as JSON:</p><pre><code class="language-bash">localazy translate --from en --to de --input src.json --compact &gt; de.json
</code></pre><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">💙</div><div class="kg-callout-text">Read all about the new <a href="https://localazy.com/docs/cli/ai-translations">AI translation options in Localazy CLI</a></div></div><h3 id="batch-operations">Batch operations <a class="markdownit-header-anchor" href="#batch-operations">🔗</a></h3><p>Batch translation operations are now accessible via the CLI as well, giving you the same control over multi-language jobs you'd have in the product. They are processed asynchronously on the server and the CLI starts the operation, polls for progress, and reports the final result once it finishes.</p><p>There are three subcommands:</p><ul><li><code>localazy batch translate</code> generates translations for selected target languages</li><li><code>localazy batch approve</code> approves waiting versions of translations for a target language</li><li><code>localazy batch tm</code> applies translation memory from connected projects</li></ul><p>All three new commands have various parameters and features that you can use to optimize your workflow.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👀</div><div class="kg-callout-text">Read all about new <a href="https://localazy.com/docs/cli/batch-operations">batch operations in Localazy CLI</a></div></div><h2 id="localazy-api-updates">📬 Localazy API updates <a class="markdownit-header-anchor" href="#localazy-api-updates">🔗</a></h2><p>Two notable additions to the <a href="https://localazy.com/features/translation-api">Localazy API</a>:</p><ul><li>You can now translate strings directly without the need to upload them into a Localazy project.</li><li>You can manage source key tags and priority programmatically.</li></ul><h3 id="ai-translation-endpoint">AI Translation endpoint <a class="markdownit-header-anchor" href="#ai-translation-endpoint">🔗</a></h3><p>You can now <strong>get Localazy AI translations directly via the API</strong>, without uploading anything into the project. Send any text and get on-brand translations that follow your glossary and style guide.</p><pre><code>[POST] /projects/{projectId}/ai
</code></pre><p>The endpoint above accepts requests with texts in any language and translates those texts into the target language via Localazy AI using the context of the project defined by <code>{projectId}</code>.</p><p>Read all the details in the <a href="https://localazy.com/docs/api/ai-translation-api#translate">docs</a>.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🔌</div><div class="kg-callout-text">Learn all about the <a href="https://localazy.com/blog/translation-api-translate-your-content-on-the-fly-with-localazy-ai">Localazy Translation API in the article</a>.</div></div><h3 id="source-key-tags-and-priority">Source key tags and priority <a class="markdownit-header-anchor" href="#source-key-tags-and-priority">🔗</a></h3><p>Tags and priority on source keys are now exposed through the API, so you can work with them programmatically as part of your workflow.</p><p>Read more about the <a href="https://localazy.com/docs/api/source-keys">source key endpoints in the docs</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/05/Sni-mek-obrazovky-2026-05-25-v-15.35.27.png" class="kg-image" alt loading="lazy"><figcaption>This is how priority setting can look in Automations. If you prefer the API approach, you can now do the same using your own code.</figcaption></figure><h2 id="new-api-tokens-and-cli-keys-management">🔑 New API tokens and CLI keys management <a class="markdownit-header-anchor" href="#new-api-tokens-and-cli-keys-management">🔗</a></h2><p>We've redesigned how API tokens and CLI keys work to give you finer-grained control.</p><p>CLI keys are still scoped per project and user. Each new key can now be configured to allow or restrict access to branches, format conversions, and other project-level command-line operations.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/05/Sni-mek-obrazovky-2026-05-25-v-22.22.10.png" class="kg-image" alt loading="lazy"><figcaption>Create new CLI keys with granular permissions.</figcaption></figure><p>API tokens follow a similar model. Tokens now come in three permission levels: Read Only, Read/Write, and Translate Only. Translate Only is particularly useful for giving an automated integration just enough access to use the AI translate endpoint without being able to touch anything else.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/05/image-5.png" class="kg-image" alt loading="lazy"><figcaption>Manage your Localazy API tokens comfortably.</figcaption></figure><p>This makes it easier to follow the principle of least privilege when connecting third-party tools, CI pipelines, or team members who only need partial access.</p><h2 id="localazy-ai-suggestions">🛸 Localazy AI suggestions <a class="markdownit-header-anchor" href="#localazy-ai-suggestions">🔗</a></h2><p><a href="https://localazy.com/features/localazy-ai">Localazy AI</a> now offers its own translation suggestions <strong>directly in the editor</strong>.</p><p>When you open a phrase for translation, you can load a Localazy AI suggestion alongside the other <a href="https://localazy.com/docs/general/machine-translations">machine translation provider options</a> with a click.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/Sni-mek-obrazovky-2026-05-22-v-7.49.09.png" class="kg-image" alt loading="lazy"></figure><p>The suggestions are <strong>context-aware</strong> and use your project's style guide, glossary, notes, comments, and translation memory to stay consistent with the rest of your content.</p><p>You can enable or disable the feature per project in your project settings under machine translation options, separately from the rest of the suggestions.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">🧠</div><div class="kg-callout-text">Learn more about <a href="https://localazy.com/blog/a-practical-guide-to-translating-with-localazy-ai">Localazy AI in our practical guide</a>.</div></div><h2 id="glossary-management-revamp">📖 Glossary management revamp <a class="markdownit-header-anchor" href="#glossary-management-revamp">🔗</a></h2><p>The glossary has been around for a while, and it was showing its age. We've added an option to <strong>import glossary in a CSV or Excel files</strong> and rebuilt the management interface from the ground up, because a glossary that's annoying to maintain doesn't get maintained. And inconsistent terminology is one of those translation problems that often goes unnoticed.</p><p>The glossary is available when <a href="https://localazy.com/docs/general/translating-strings">translating strings</a> or <a href="https://localazy.com/docs/general/reviewing-translations">reviewing translations</a> in the UI. Matched terms are highlighted and validated for every translation.</p><p>Glossary terms are used as context when generating translations with <a href="https://localazy.com/docs/general/localazy-ai">Localazy AI</a> and other <a href="https://localazy.com/docs/general/machine-translations">machine translation</a> providers that support it.</p><p>You can also share glossaries across projects with the <a href="https://localazy.com/docs/general/connected-projects">Connected Projects</a> feature.</p><h3 id="new-glossary-import-option">New glossary import option <a class="markdownit-header-anchor" href="#new-glossary-import-option">🔗</a></h3><p>You can now <strong>import glossary terms in bulk</strong>, so you're not stuck entering them one by one if you're migrating from another system or have an existing term list.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/image-4.png" class="kg-image" alt loading="lazy"></figure><p>Your file will be analyzed and if it’s prepared correctly, no manual column and value mapping will be necessary, but you can always tweak things before you import it into your project.</p><h3 id="new-table-design">New table design <a class="markdownit-header-anchor" href="#new-table-design">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/14eb060b-0b3d-4ba6-9fa9-91aa6b27aacb" class="kg-image" alt loading="lazy"></figure><p>The table view now allows you to see the term in all or just some languages, show or hide attributes, and of course, filter the displayed terms based on your rules.</p><h3 id="new-glossary-term-edit-screen">New glossary term edit screen <a class="markdownit-header-anchor" href="#new-glossary-term-edit-screen">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/image-3.png" class="kg-image" alt loading="lazy"></figure><p>The biggest difference is in how glossary languages and the terms themselves are managed. You don't have to add each translation for each term separately or click between tabs like crazy anymore: it's all neatly organized in one single screen where you can edit whatever you want.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">📚</div><div class="kg-callout-text">Learn all about the <a href="https://localazy.com/docs/general/glossary">new glossary in the docs</a>.</div></div><h2 id="improved-batch-translation">🧳 Improved batch translation <a class="markdownit-header-anchor" href="#improved-batch-translation">🔗</a></h2><p>A few targeted improvements to the batch translation flow.</p><p>When you're setting up a batch translation job, the configuration screen now clearly shows in what extent are glossaries and style guides supported by each provider.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/localazy-generate-translation.png" class="kg-image" alt loading="lazy"></figure><p>You can also <strong>select a different language as the source for translation</strong>. Previously, batch jobs always translated from your project's default source language. If your favorite provider performs better from English than from your source language, you can now set that up directly instead of working around it.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🤖</div><div class="kg-callout-text">Learn more about <a href="https://localazy.com/docs/general/machine-translations">machine translation options in the docs</a>.</div></div><h2 id="dark-mode">🌚 Dark mode <a class="markdownit-header-anchor" href="#dark-mode">🔗</a></h2><p>Dark mode is now <strong>fully rolled out</strong> across the product. It follows your system preference by default, so if your OS sets to dark automatically at dusk, Localazy will match it too. You can also set it manually in your profile menu. Perfect for those late-night sessions when the deadline is getting dangerously close!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/Sni-mek-obrazovky-2026-05-22-v-8.49.00.png" class="kg-image" alt loading="lazy"></figure><blockquote><strong>Author's note</strong>: As you can see, the Localazy website is not yet available in dark mode, so if you love to read our blog during the night, put on some sunglasses! 😎</blockquote><h2 id="language-mapping-in-integrations">🔀 Language mapping in integrations <a class="markdownit-header-anchor" href="#language-mapping-in-integrations">🔗</a></h2><p>All Localazy-side integrations now include<strong> a language mapping option</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/image-6.png" class="kg-image" alt loading="lazy"></figure><p>Above is an example of language mapping in a Webflow localization project in Localazy.</p><p>Different platforms we integrate with sometimes use inconsistent language codes. Script variants often get dropped, and what Localazy calls <code>zh_CN#Hans</code> might arrive as <code>zh-CN</code> on the other end. Previously there was no clean way to handle this and it was not possible to use some languages in some integrations. Now you are in full control.</p><h2 id="strapi-plugin-improvements">💜 Strapi plugin improvements <a class="markdownit-header-anchor" href="#strapi-plugin-improvements">🔗</a></h2><p>Four additions to the <a href="https://localazy.com/features/strapi-localization-plugin">Localazy Strapi plugin</a>:</p><ul><li>Incremental translation updates</li><li>Excluding upload of individual items</li><li>Activity logs &amp; troubleshooting bundle for easier debugging</li></ul><h3 id="download-only-translations-with-changes">Download only translations with changes <a class="markdownit-header-anchor" href="#download-only-translations-with-changes">🔗</a></h3><p>This was the biggest complaint of some Strapi users with thousands of translations synced between Localazy and their Strapi instance.</p><p>The plugin now tracks which translations have been successfully downloaded per language and per key. On subsequent downloads, only keys with newer translations than the last time are processed.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/image-7.png" class="kg-image" alt loading="lazy"></figure><blockquote><em>📩 Learn more about <a href="https://localazy.com/docs/strapi/strapi-download-translations">how Strapi plugin translation sync works in the docs</a>.</em></blockquote><h3 id="exclude-individual-entries">Exclude individual entries <a class="markdownit-header-anchor" href="#exclude-individual-entries">🔗</a></h3><p>You can now mark specific entries to be excluded from uploads to Localazy. If you have content that shouldn't go through the translation workflow at all (draft entries, internal notes, or anything not ready for translation) you can exclude it at the entry level rather than having to restructure your content model.</p><blockquote><em>🎬 Learn how to <a href="https://localazy.com/docs/strapi/strapi-exclude-entries-from-uploading">exclude entries from uploading to Localazy</a>.</em></blockquote><h3 id="activity-logs">Activity logs <a class="markdownit-header-anchor" href="#activity-logs">🔗</a></h3><p>The plugin now also has a dedicated Activity Logs section that shows a history of all upload, download, and webhook events. This gives you a clear record of what the plugin has done, makes it easier to track down automation issues, and helps when something behaves unexpectedly.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/image-9.png" class="kg-image" alt loading="lazy"></figure><h3 id="troubleshooting-bundle">Troubleshooting bundle <a class="markdownit-header-anchor" href="#troubleshooting-bundle">🔗</a></h3><p>When a session fails or behaves in an unexpected way, the plugin can now generate a troubleshooting bundle. It's a single zip file that captures everything needed to reproduce the issue. You can share it directly with Localazy support to help us help you.</p><h2 id="improvements-and-fixes">🗃️ Improvements & fixes <a class="markdownit-header-anchor" href="#improvements-and-fixes">🔗</a></h2><p>A few more things worth noting:</p><ul><li><strong>MT service stability:</strong> We improved how the machine translation service handles provider-side connection issues, retries, and unexpected responses. Jobs that would previously fail or get stuck are now handled more gracefully.</li><li><strong>Credit transaction sources:</strong> The credit transaction overview now identifies more sources, including API usage and AI suggestions.</li><li><strong>Credit reset display:</strong> The billing section now shows the amount of credits that will reset alongside the reset date, so you know exactly what's coming back at the start of the next cycle.</li><li><strong>File upload format mismatch detection: </strong>When uploading a file in a different format than your source, the upload UI now shows an inline warning rather than failing silently. You can also intentionally upload translations in a different format if your workflow requires it.</li><li><strong>Grouped select menus:</strong> Select menus across the product can now display options in grouped sections, making longer dropdowns easier to scan and navigate.</li><li><strong>Trial account credits:</strong> Trial accounts now get 2 credits upfront (with the option to purchase more during the trial), rather than being subject to a hard limit for machine translation.</li><li><strong>Language overview refresh:</strong> Opening the languages overview now triggers a refresh of project data, so key counts stay in sync with recent uploads and changes.</li><li><strong>Searchable country select:</strong> The country field in account settings now uses a searchable dropdown, replacing the native browser select.</li><li><strong>Password requirements:</strong> The change password page now shows updated password requirements inline.</li><li><strong>Unsaved changes prompts restored:</strong> Browser prompts warning about unsaved changes were missing on certain pages (settings, review screens). These now appear correctly again.</li><li><strong>Translation warning isolation fix:</strong> Ignoring a translation warning for one key could incorrectly suppress warnings on other keys until the page was refreshed. Fixed.</li><li><strong>Source key rendering fix:</strong> Placeholders and markup-like text inside key names were being highlighted incorrectly. They're now only highlighted when they match an active search.</li><li><strong>Keyboard shortcuts overlay fix:</strong> The overlay failed to open when the side menu was collapsed. Fixed.</li><li><strong>Screenshot upload warning fix:</strong> An incorrect warning was appearing after screenshots were uploaded. Fixed.</li><li><strong>Copy translations automation setup improvement:</strong> To reduce the risk of misconfigured automations, Copy Translations now requires you to pick a source language in the first step of the setup flow, before any other options are configured.</li><li><strong>Various performance and interface improvements across the platform.</strong></li></ul><h2 id="wrapping-up">🎁 Wrapping up <a class="markdownit-header-anchor" href="#wrapping-up">🔗</a></h2><p>That's a lot of ground covered. What update or improvement is your favorite?</p><p>As always, if you run into anything unexpected or have feedback, reach out via the in-app chat or drop me a message at <a>petr@localazy.com</a>.</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/06/Release-update-Localazy-may-2026.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[You can just build things. But should you? The build vs. buy debate in localization]]></title>
            <link>https://localazy.com/blog/build-vs-buy-in-localization-you-can-build-things-but-should-you</link>
            <guid isPermaLink="false">build-vs-buy-in-localization-you-can-build-things-but-should-you</guid>
            <pubDate>Mon, 25 May 2026 06:43:00 GMT</pubDate>
            <description><![CDATA[You can build anything with AI. Including your own translation pipeline. But should you? ]]></description>
            <content:encoded><![CDATA[<p>A group of software developers was asked to make their product available in more languages...</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><em>&nbsp;"Sure, that will be easy! We'll just grab a fitting i18n library for our stack and translate it with GPT!"&nbsp;</em></div></div><p>And at first, it worked really well. A few strings go in, translated text comes out, and the natural conclusion is: "We just need to build a simple dashboard to track this, and we're done. Claude can do this overnight!" No new subscription, no procurement, no platform to learn.</p><p>Anyone who's spent time with AI coding agents knows how fast you can ship now. It's genuinely possible to build seemingly complex internal tools in an afternoon.</p><p>So the question that follows is rational: <strong>Why pay for a localization platform when we can build something ourselves? Heck, why pay for any third-party software at all?</strong></p><h2 id="the-appeal-of-creating-your-own-stuff">👷‍♂️ The appeal of creating your own stuff <a class="markdownit-header-anchor" href="#the-appeal-of-creating-your-own-stuff">🔗</a></h2><p>I am not a developer. But I've always liked creating stuff. It all started with me learning Photoshop in the 6th grade of elementary school. Then I started building my first websites in <a href="https://en.wikipedia.org/wiki/Microsoft_FrontPage" rel="noopener nofollow">Microsoft FrontPage</a> (IYKYK). Then I learned HTML and CSS (by reading actual books!).</p><p>Afterward, I reached the golden age of Bootstrap, and then I finally decided to use WordPress for my clients (still not sure if that was a good idea, but most of the sites still work today). I was using all of these things other people have built to make my life easier, enabling me to create more cool stuff with less time spent on boilerplates.</p><p>And so I build things with Claude myself today as part of my work — pricing calculators, API connectors and automations, HTML prototypes to visualize ideas... Things that would require a dev ticket a few years ago, I can now ship myself. But I've always been deliberate about where I stop.</p><p>I'd never want to be the one building internal tools available to others in the company, because then I'd have to maintain them based on someone else's needs. <strong>I don't want to run another product for end users on top of my actual job</strong>.</p><p>Most teams starting a DIY localization setup don't have a clear idea of what they are getting themselves into when they build their own tools instead of looking for solutions built and <em>maintained</em> by others.</p><p>Yeah, I know, some <a href="https://retool.com/blog/ai-build-vs-buy-report-2026" rel="noopener nofollow">reports suggest</a> that 35% of US companies have replaced SaaS tools with custom solutions, and 78% expect to build more of their own tools in 2026.</p><p>And every time we look for a new tool, I hear colleagues claim: "We can build our own in an afternoon!" Yeah, <strong>I know we can, but should we? </strong>It was always possible to build our own tools. And the coding agents give us all the power to build more and faster.</p><p>So, where is the line between build vs. buy in the age of AI?</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/AdobeStock_1743993568.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1357" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/AdobeStock_1743993568.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/05/AdobeStock_1743993568.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/05/AdobeStock_1743993568.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/05/AdobeStock_1743993568.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="why-the-diy-route-feels-solved-today">🔩 Why the DIY route feels solved today <a class="markdownit-header-anchor" href="#why-the-diy-route-feels-solved-today">🔗</a></h2><p>The first version is always a breeze. You export some strings, run them through an AI, and the output looks good enough. The casino paid out.</p><p>That's not a metaphor I'm using loosely. Working with AI tools has a distinct emotional rhythm — the buildup while it processes, the anticipation before you see the result, the spike when it works. It's engaging precisely because you don't always know if the output will be exactly right, or subtly wrong in a way that won't surface until later. At the prototype stage, it works. You ship it.</p><p>What usually happens after the proof of concept is much simpler than a deliberate architecture decision. You need an interface that lets your team edit the strings if the AI does a bad job, so you build it. And now you have a translation tool for your apps. Now marketing wants to localize the website, so you add an integration. Boom, done.</p><p>The output gets reviewed by someone on the team and imported back into the product and website. It works, so the conclusion becomes, "we don't need a full localization system." Or, more confidently, "we can just build it ourselves as we go."</p><p>Our colleagues <a href="https://www.linkedin.com/feed/update/urn:li:activity:7383459855799578625/" rel="noopener nofollow">spoke with </a><a href="https://www.linkedin.com/feed/update/urn:li:activity:7383459855799578625/">many people at Digifest</a> who were doing exactly that. Excel plus DeepL was common. ChatGPT for translation was common. Custom wrappers, too. Most of them hadn't noticed yet that <strong>they were rebuilding localization infrastructure that other companies had spent years stabilizing..</strong>. just without the reliable parts.</p><h2 id="where-the-prototype-stops-working">⚠️ Where the prototype stops working <a class="markdownit-header-anchor" href="#where-the-prototype-stops-working">🔗</a></h2><p>The first cracks tend to be technical. First, placeholders get corrupted.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><em>"Okay, let's build placeholder validation for our internal tool..."&nbsp;</em></div></div><p>Then, plural rules that work fine for English break in Czech, then break differently in Polish, and <a href="https://localazy.com/blog/6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them" rel="noopener nofollow">Arabic</a> is another world entirely.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><em>"Oops, didn't think about this. One more round of prompting, and let's get this done..."</em></div></div><p>But the deeper issue isn't technical edge cases. <strong>It's quality, context, and consistency</strong>.</p><p>A word like "Save" seems harmless until it appears dozens of times across your product in different contexts. Without duplicate resolution and terminology control, you end up translating the same thing multiple times: inconsistently, expensively, and incorrectly.</p><p>A fluent translation that ignores context looks fine until it's in front of a user who actually speaks that language. AI output can look polished and still be wrong in domain-specific or contextual situations: fluency is not the same thing as accuracy, and <strong>in localization, one without the other causes real damage</strong>.</p><p>By the time the problem surfaces, it doesn't look like a translation problem. The CEO sees revenue dropping in a specific market. Marketing notices conversions are down, and bounce rates are rising. Support gets more tickets from those users. Nobody immediately connects it to a string that got mistranslated two months ago. Each layer of the company sees a different symptom, and the cause stays hidden until someone traces it back. By then, it's already spread.</p><blockquote>AI output can look polished and still be wrong in domain-specific or contextual situations. By the time quality and consistency problems surface, the damage is already done</blockquote><p>And when it comes to "AI can translate this, we just make an API call, and it's done!" How do you know what to put in the prompt? You are optimizing prompts, burning tokens, and building additional features. ChatGPT doesn't remember how you translated a term last week. So you start building a terminology base for your prompts. Then you need to verify the AI actually used those terms. Then you need someone to check that. "Oh yeah, just one more iteration, boss! We are close to solving it."</p><p>Context in localization isn't optional. It includes screenshots, glossary terms, style guides, character limits, tone rules, and previously approved translations.</p><p> "Yes, I am on it, I can do this!" Yes, you can. But once you need all of those consistently, you're not solving a translation problem anymore. <strong>You're building infrastructure</strong>.</p><p>And before you know it, <strong>one afternoon turns into months of development and then years of upkeep</strong>. You've built a context management workflow, a review workflow, and a validation workflow on top of your translation and i18n workflows. All from scratch. And the thing that seemed simple now has layers you didn't plan for. </p><p>So you just lost weeks reinventing the wheel. And it's <em>your</em> wheel: every time it breaks, you or your developers have to stop what they're doing and fix it.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/AdobeStock_584343076.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1313" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/AdobeStock_584343076.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/05/AdobeStock_584343076.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/05/AdobeStock_584343076.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/05/AdobeStock_584343076.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="what-it-actually-costs">🧐 What it actually costs <a class="markdownit-header-anchor" href="#what-it-actually-costs">🔗</a></h2><p>We all know context is the king of localization. But there is also another type of context. That one lives in your team's heads, and switching context frequently will kill your productivity. You are going to spend more and more time on building internal tools instead of focusing on what matters. That precious time should be spent solving problems and improving the experience for <strong>your</strong> customers.</p><p>In the end, the tooling might work well enough that nobody replaces it, but <strong>it creates constant friction</strong>. Every new market means rediscovering which edge cases your setup doesn't handle. Every new team member needs to learn how the system works, so now you are writing documentation as well. And the time is ticking. And the context keeps switching. 🤷</p><p>That's easy to overlook when you're weighing the options. But engineering time alone adds up fast. An engineer spending five hours a week on internal tooling at €75–100 per hour is already <strong>€1,000–2,000 a month</strong> before you count bugs and delays. And I am being optimistic here. </p><p>In the end, you might save some money on the license fees. But you give yourself and your developers extra work. And remember, <a href="https://davestewart.co.uk/blog/the-work-is-never-just-the-work/">the work is never just “the work”</a>. There are things you cannot even estimate for, and they grow into another project you have to manage. <a href="https://davestewart.co.uk/">Dave Stewart</a> put it in a pretty fitting infographic. And while it is mostly about agency type of work, it holds true for pretty much any kind of project: </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/image.png" class="kg-image" alt loading="lazy" width="1200" height="1776" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/05/image.png 1000w, https://ghost.localazy.com/content/images/2026/05/image.png 1200w" sizes="(min-width: 720px) 720px"></figure><p><strong>So the developer who tells you they can "prompt it in an afternoon" is wrong</strong>. It will eat their time and your budget. Of course, if you are paying hundreds of thousands of dollars a year for a tool that one developer could maintain with AI agents writing the code, go ahead and kill the subscription and devote your own resources to solving it. But I don't think this is true for 99% of the subscriptions you (or we) pay for.</p><p>So, are you actually going to save money?</p><h2 id="what-youre-actually-buying-when-buying-software">➡️ What you're actually buying when buying software <a class="markdownit-header-anchor" href="#what-youre-actually-buying-when-buying-software">🔗</a></h2><p>With some solutions (and I dare to say, with Localazy especially), you are not buying "Software as a Service" but "<strong>Software AND a Service</strong>." So when I argue against self-built solutions, I don't lead with features. Everyone can build features.</p><p>What I tell people is that<strong> buying software means gaining access to the accumulated knowledge of how this problem works</strong>. When you arrive at an edge case you didn't anticipate, we've probably already built something to handle it. You don't know what you don't know. </p><p>We've helped hundreds of teams work through these exact issues over the years we've been in this business. We also have a team of native speakers just a button away to review your strings, whether they were translated by AI or not.</p><p>So you are not buying a fancy UI; you are buying access to someone who already knows where localization tends to break and who devotes all their working hours to solving their customers' localization needs more efficiently than they can themselves. It's really not just about building a tool that moves strings around.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/05/AdobeStock_536850653.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1285" srcset="https://ghost.localazy.com/content/images/size/w600/2026/05/AdobeStock_536850653.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/05/AdobeStock_536850653.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/05/AdobeStock_536850653.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/05/AdobeStock_536850653.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>It's the expertise gap you can close only by hitting walls you didn't know existed. The plural rules, the placeholder edge cases, the terminology drift, the review workflow... You rediscover each one in production, usually under pressure. A proper TMS comes with that knowledge built in, at a fraction of the price.</p><p>Most companies that reach out to us aren't looking to replace a localization department. <strong>They don't have one</strong>. They're a product team that started shipping to new markets and realized pretty quickly there's more to it than running strings through an AI. They didn't want to become localization experts. They just wanted their product to work in other languages, and work well enough that users in those markets actually stick around.</p><blockquote>There's a type of expertise you only acquire by hitting walls you didn't know existed. A TMS comes with that knowledge built in. If you build your own solution, you have to account with that and the engineering time you'll invest in it</blockquote><p>But this whole discourse isn't localization-specific at all. Sanity <a href="https://www.sanity.io/blog/you-should-never-build-a-cms" rel="noopener nofollow">wrote about the same pattern in the CMS world</a> after a high-profile customer migrated off their platform to markdown files and custom tooling.</p><p>Their take: "You can delete the CMS, but you can't delete the need to manage assets, control who can publish what, track changes, and structure your content." Give it six months, and the bespoke tooling grows. Edge cases multiply. Someone needs a feature that wasn't in scope. Same story in a different category.</p><h2 id="ego-prompting-is-bad-for-you">💬 Ego-prompting is bad for you <a class="markdownit-header-anchor" href="#ego-prompting-is-bad-for-you">🔗</a></h2><p>There's another version of this conversation, which, to be fair, we've had more often than we'd like lately. It's with teams already using Localazy who are wondering whether to replace it with something they built themselves now that AI makes that feel more viable.</p><p>If that's you, you already know what localization involves. You've already configured your workflows, built up translation memory, and set up your integrations.</p><p>The question isn't whether AI makes translation easier. It does. We spend a lot of time on research to get it right as we continue improving Localazy AI (in fact, our dev <a href="https://www.linkedin.com/in/david-vaclavek/">David</a> <a href="https://davidvaclavek.substack.com">has been writing extensively</a> about it). When it comes to AI localization, you will have to write a prompt. But how are you supposed to know exactly what to write in the prompt? Spoiler: "Translate X to Y language" won't work. At Localazy, we are optimizing this all the time, and our AI isn’t just a single prompt: it’s<strong> a multi-step reasoning process of which the translation itself is only a small part</strong>.</p><p>So, it might be worth thinking about what you'd actually be replacing: everything you've already figured out the hard way, every new edge case your custom setup would introduce, and every improvement you won't get because you're no longer subscribed to a product whose entire purpose is to stay ahead of this problem for you.</p><p>Going the DIY route doesn't make the problem go away. It just puts you back in the position of having to solve it yourself. That's exactly the point: our team's energy belongs to the product we build for you. We are not vibe-coding a new CRM now just because we can. We are making Localazy better for our clients. So my advice is to kill your ego. You don't have to prove to anyone that you can solve it in a few prompts to save a few hundred dollars per month.</p><blockquote>Going DIY doesn't eliminate the localization problem. It just puts you in the position of solving the problem yourself. You have to choose if putting your energy there is worth it</blockquote><p>You can build it. <strong>Building it is the easy part</strong>. Being the person responsible for maintaining it at scale, while the product keeps changing and the edge cases keep accumulating, is a different commitment entirely.</p><p>The human species has evolved over thousands of years and has naturally discovered the miracle of the division of labor. Why go against the evolution now by doing everything yourself?</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Over the past few months, I have had conversations about build vs. buy more often than I would like. <a href="https://www.linkedin.com/in/martagcoloma/">Marta</a> from our marketing team kept asking me about this article every two weeks and even hired a writer to help me kick things off.</p><p>It turned from an interview into an essay. Then it was rewritten about four times, because each time I talked about it with someone else, I had a new perspective on the problem. </p><p>So please, let me know what you think about this in the comments. I am genuinely curious about others' opinions. Only time will tell if I was right.</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/05/localazy-Vibe-coding.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[React + i18next + Localazy | Part 2: Setting up translations 🌎]]></title>
            <link>https://localazy.com/blog/react-i18next-localazy-part-2-setting-up-translations</link>
            <guid isPermaLink="false">react-i18next-localazy-part-2-setting-up-translations</guid>
            <pubDate>Wed, 20 May 2026 11:34:38 GMT</pubDate>
            <description><![CDATA[With i18next configured, it's time to put Localazy to work. We'll upload translations, handle ICU plurals, and set up a sync workflow you can run whenever new strings land in the codebase.]]></description>
            <content:encoded><![CDATA[<p>In this second part of the series, we continue <strong>turning our React project into a fully localized, production-ready app</strong>. You'll learn how to upload and download translations, enable pseudo-locales for visual QA, and keep everything in sync as your project evolves.</p><p><a href="https://localazy.com/blog/react-i18next-localazy-tutorial-part-1-i18n-foundations">In Part 1</a>, we set up the foundation for the React multilingual app. Now we move from configuration to <strong>a real-world workflow</strong>: uploading translations to Localazy, pulling them back into the app, testing the localized UI, and using pseudo-locales for visual QA.</p><h2 id="1-step-1-upload-translations-to-localazy">1️⃣ Step 1: Upload translations to Localazy <a class="markdownit-header-anchor" href="#1-step-1-upload-translations-to-localazy">🔗</a></h2><p>To manage translations centrally, we’ll <a href="https://localazy.com/integrations/react">connect our React project to Localazy</a>. This lets us upload our English source file, translate it through the dashboard, and later pull updated language files back into the app.</p><h3 id="log-in-and-get-your-keys">Log in and get your keys <a class="markdownit-header-anchor" href="#log-in-and-get-your-keys">🔗</a></h3><p>Log into Localazy and create a new project:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/image--3-.png" class="kg-image" alt loading="lazy" width="1909" height="801" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/image--3-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/image--3-.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/image--3-.png 1600w, https://ghost.localazy.com/content/images/2026/04/image--3-.png 1909w" sizes="(min-width: 720px) 720px"></figure><p>Give it a name and service details, then click on <strong>Create new project</strong>:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/attachment482a3b72-d9db-4e3b-96b.png" class="kg-image" alt="attachment482a3b72-d9db-4e3b-96b.png" loading="lazy" width="1900" height="778" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/attachment482a3b72-d9db-4e3b-96b.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/attachment482a3b72-d9db-4e3b-96b.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/attachment482a3b72-d9db-4e3b-96b.png 1600w, https://ghost.localazy.com/content/images/2026/04/attachment482a3b72-d9db-4e3b-96b.png 1900w" sizes="(min-width: 720px) 720px"><figcaption>Naming your project and setting the project type.</figcaption></figure><p>After creation, Localazy asks how you want to integrate. Select <strong>React</strong> from the list of integrations:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/attachmentcb644780-caf3-4989-a08.png" class="kg-image" alt="attachmentcb644780-caf3-4989-a08.png" loading="lazy" width="1897" height="928" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/attachmentcb644780-caf3-4989-a08.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/attachmentcb644780-caf3-4989-a08.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/attachmentcb644780-caf3-4989-a08.png 1600w, https://ghost.localazy.com/content/images/2026/04/attachmentcb644780-caf3-4989-a08.png 1897w" sizes="(min-width: 720px) 720px"></figure><p>Localazy will generate setup instructions along with your project keys:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/attachmentaa2c5de7-0365-46d1-a3d.png" class="kg-image" alt="attachmentaa2c5de7-0365-46d1-a3d.png" loading="lazy" width="1912" height="940" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/attachmentaa2c5de7-0365-46d1-a3d.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/attachmentaa2c5de7-0365-46d1-a3d.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/attachmentaa2c5de7-0365-46d1-a3d.png 1600w, https://ghost.localazy.com/content/images/2026/04/attachmentaa2c5de7-0365-46d1-a3d.png 1912w" sizes="(min-width: 720px) 720px"></figure><p>Create a tiny keys file you <strong>do not commit</strong>:</p><p><code>localazy.keys.json</code> (root)</p><pre><code>{ 
	"writeKey": "YOUR_WRITE_KEY", 
	"readKey": "YOUR_READ_KEY"
}
</code></pre><p>Add to <code>.gitignore</code>:</p><pre><code>localazy.keys.json
</code></pre><p>You’ll use <strong>Write Key</strong> for uploads and <strong>Read Key</strong> for downloads.</p><h3 id="upload-the-english-source-file">Upload the English source file <a class="markdownit-header-anchor" href="#upload-the-english-source-file">🔗</a></h3><p>Run:</p><pre><code>npx localazy upload -k localazy.keys.json
</code></pre><p>Localazy will process <code><strong>en.json</strong></code> and push its contents to your project.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/attachment24e9a1af-060d-4ecb-9a4.png" class="kg-image" alt="attachment24e9a1af-060d-4ecb-9a4.png" loading="lazy" width="1905" height="796" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/attachment24e9a1af-060d-4ecb-9a4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/attachment24e9a1af-060d-4ecb-9a4.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/attachment24e9a1af-060d-4ecb-9a4.png 1600w, https://ghost.localazy.com/content/images/2026/04/attachment24e9a1af-060d-4ecb-9a4.png 1905w" sizes="(min-width: 720px) 720px"><figcaption>Your uploaded English source keys in the Localazy dashboard.</figcaption></figure><p>After the upload finishes, open your Localazy dashboard and you should see the keys from your React localization setup complete with the ICU plural message we included earlier.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/attachment1b94bfbc-49f2-486e-aee.png" class="kg-image" alt="attachment1b94bfbc-49f2-486e-aee.png" loading="lazy" width="1903" height="769" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/attachment1b94bfbc-49f2-486e-aee.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/attachment1b94bfbc-49f2-486e-aee.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/attachment1b94bfbc-49f2-486e-aee.png 1600w, https://ghost.localazy.com/content/images/2026/04/attachment1b94bfbc-49f2-486e-aee.png 1903w" sizes="(min-width: 720px) 720px"></figure><h3 id="add-your-target-languages">Add your target languages <a class="markdownit-header-anchor" href="#add-your-target-languages">🔗</a></h3><p>Once your English source has been uploaded, <strong>add a target language </strong>(for example, French).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/attachment4cb277fc-8c68-433c-810.png" class="kg-image" alt="attachment4cb277fc-8c68-433c-810.png" loading="lazy" width="1899" height="759" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/attachment4cb277fc-8c68-433c-810.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/attachment4cb277fc-8c68-433c-810.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/attachment4cb277fc-8c68-433c-810.png 1600w, https://ghost.localazy.com/content/images/2026/04/attachment4cb277fc-8c68-433c-810.png 1899w" sizes="(min-width: 720px) 720px"></figure><p>Chose a translation engine. Remember that you can fill translations manually or pre-fill them using MT or Localazy AI.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/attachment0bae55be-80e0-4aa1-93f.png" class="kg-image" alt="attachment0bae55be-80e0-4aa1-93f.png" loading="lazy" width="1894" height="796" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/attachment0bae55be-80e0-4aa1-93f.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/attachment0bae55be-80e0-4aa1-93f.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/attachment0bae55be-80e0-4aa1-93f.png 1600w, https://ghost.localazy.com/content/images/2026/04/attachment0bae55be-80e0-4aa1-93f.png 1894w" sizes="(min-width: 720px) 720px"></figure><p>Now, begin your translation:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/attachment892ffe68-784c-46e8-9b6.png" class="kg-image" alt="attachment892ffe68-784c-46e8-9b6.png" loading="lazy" width="1906" height="757" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/attachment892ffe68-784c-46e8-9b6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/attachment892ffe68-784c-46e8-9b6.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/attachment892ffe68-784c-46e8-9b6.png 1600w, https://ghost.localazy.com/content/images/2026/04/attachment892ffe68-784c-46e8-9b6.png 1906w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/attachmenta5ca4661-747c-4cfd-929.png" class="kg-image" alt="attachmenta5ca4661-747c-4cfd-929.png" loading="lazy" width="1885" height="487" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/attachmenta5ca4661-747c-4cfd-929.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/attachmenta5ca4661-747c-4cfd-929.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/attachmenta5ca4661-747c-4cfd-929.png 1600w, https://ghost.localazy.com/content/images/2026/04/attachmenta5ca4661-747c-4cfd-929.png 1885w" sizes="(min-width: 720px) 720px"></figure><p>Localazy handles ICU plural messages natively, so translators see structured plural forms, no raw syntax.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/attachment01ca2f67-a8f8-4354-833.png" class="kg-image" alt="attachment01ca2f67-a8f8-4354-833.png" loading="lazy" width="1906" height="768" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/attachment01ca2f67-a8f8-4354-833.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/attachment01ca2f67-a8f8-4354-833.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/attachment01ca2f67-a8f8-4354-833.png 1600w, https://ghost.localazy.com/content/images/2026/04/attachment01ca2f67-a8f8-4354-833.png 1906w" sizes="(min-width: 720px) 720px"><figcaption>ICU plural forms displayed in the translation editor.</figcaption></figure><p>Once translations are ready, <strong>we’ll pull them back into the <code>src/i18n</code> folder</strong> and React will treat them just like the English file.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/attachmentcfa8b68b-eb0b-40b8-ab0.png" class="kg-image" alt="attachmentcfa8b68b-eb0b-40b8-ab0.png" loading="lazy" width="1891" height="381" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/attachmentcfa8b68b-eb0b-40b8-ab0.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/attachmentcfa8b68b-eb0b-40b8-ab0.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/attachmentcfa8b68b-eb0b-40b8-ab0.png 1600w, https://ghost.localazy.com/content/images/2026/04/attachmentcfa8b68b-eb0b-40b8-ab0.png 1891w" sizes="(min-width: 720px) 720px"></figure><h2 id="2-step-2-download-translations-back-into-the-project">2️⃣ Step 2: Download translations back into the project <a class="markdownit-header-anchor" href="#2-step-2-download-translations-back-into-the-project">🔗</a></h2><p>With your English source strings uploaded, Localazy will generate translations for every enabled language. Instead of manually creating files like <code>fr.json</code>,<strong> we'll simply pull them down using the CLI</strong>.</p><p>Run the download command:</p><pre><code>npx localazy download -k localazy.keys.json
</code></pre><p>When it finishes, open your <code>src/i18n</code> folder. You should now see fresh language files, something like:</p><pre><code>src/i18n/en.json
src/i18n/fr.json // Localazy added this
src/i18n/index.js
</code></pre><p>React reads these just like the English file, so as soon as translations exist, <strong>the language switcher will show real changes in the UI</strong>.</p><p>Downloading <code>fr.json</code> isn't enough: React must know about it. Update your <a href="https://react.i18next.com/">i18n config</a> to import and register the language:</p><pre><code>// src/i18n/index.js
import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import en from "./en.json";
import fr from "./fr.json"; // new file from Localazy

i18n.use(initReactI18next)  
		.init({
		  resources: {
		    en: { translation: en },
		    fr: { translation: fr } // add the language here
		  },
		  lng: "en",
		  fallbackLng: "en",
		});
export default i18n;
</code></pre><p>If you add more languages later (e.g., Spanish, German, Arabic), import and register them the same way after running <code>localazy download</code>.</p><h2 id="3-step-3-test-the-localized-react-app">3️⃣ Step 3: Test the localized React app <a class="markdownit-header-anchor" href="#3-step-3-test-the-localized-react-app">🔗</a></h2><p>With English and French files in place, it’s time to verify everything behaves like a real multilingual interface rather than a static demo.</p><p>Start the dev server if it's not running:</p><pre><code>yarn dev
</code></pre><p>The app should load in English by default. Click on the language switcher:</p><pre><code>&lt;button
  onClick={() =&gt; {
    i18n.changeLanguage(i18n.language === "en" ? "fr" : "en");
  }}
&gt;
  {t("language")}
&lt;/button&gt;
</code></pre><p>When you switch to French, the heading, button label, and any other localized UI elements should update immediately <strong>with no page refresh</strong> as in the <code>fr.json</code>.</p><h3 id="test-icu-plurals-in-the-real-ui">Test ICU plurals in the real UI <a class="markdownit-header-anchor" href="#test-icu-plurals-in-the-real-ui">🔗</a></h3><p>Now that our React localization setup switches languages correctly, let’s verify that plural rules work as expected. We already defined the ICU plural message in both languages:</p><p><code><strong>en.json</strong></code></p><pre><code>"items": "{count, plural, one {# item} other {# items}}"
</code></pre><p><code><strong>fr.json</strong></code></p><pre><code>"items": "{count, plural, one {# élément} other {# éléments}}"
</code></pre><p>To test it, we need a dynamic number. For now, we’ll simulate that with a temporary component state.</p><p>Add this to <code>App.jsx</code>:</p><pre><code>import { useState } from "react";
</code></pre><p>Then inside the component:</p><pre><code>const [count, setCount] = useState(1);
</code></pre><p>Render the plural message:</p><pre><code>&lt;p className="mt-4 text-gray-700"&gt;
  {t("items", { count })}
&lt;/p&gt;
</code></pre><p>Add simple buttons to change the count:</p><pre><code> &lt;div className="flex gap-3 mt-3 justify-center"&gt;
     &lt;button onClick={() =&gt; setCount((c) =&gt; Math.max(0, c - 1))} className="text-blue-950"&gt;-&lt;/button&gt;
     &lt;button onClick={() =&gt; setCount((c) =&gt; c + 1)} className="text-blue-950"&gt;+&lt;/button&gt;
 &lt;/div&gt;
</code></pre><p>When you test it, you will see something like this:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/attachment57e1f6ab-f1cd-4de0-8cb.png" class="kg-image" alt="attachment57e1f6ab-f1cd-4de0-8cb.png" loading="lazy" width="493" height="166"></figure><p>This is because right now i18next is treating that whole ICU string as plain text. We never told i18next “this is ICU syntax, please parse it,” so it just prints the raw message. By default, <code>i18next</code> does not understand ICU format. It has its own pluralization system and to use ICU, you need an extra plugin. </p><p>There are two ways to handle this:</p><ol><li>The first method is to <strong>use i18next’s default plural handling instead of ICU </strong>(so no need of a plugin):</li></ol><p><strong><code>src/i18n/en.json</code></strong></p><pre><code>{
  "items_zero": "No items",
  "items_one": "1 item",
  "items_other": "{{count}} items"
}
</code></pre><p><strong><code>src/i18n/fr.json</code></strong></p><pre><code>{
  "items_zero": "Aucun élément",
  "items_one": "1 élément",
  "items_other": "{{count}} éléments"
}
</code></pre><p>Then in React, call:</p><pre><code>{t("items", { count })}
</code></pre><p>i18next will automatically map:</p><ul><li><code>count = 0</code> → <code>items_zero</code></li><li><code>count = 1</code> → <code>items_one</code></li><li><code>count &gt; 1</code> → <code>items_other</code></li></ul><p>2. The second method is to <strong>keep the ICU and teach i18next to understand it</strong>. This guide uses the second method. First you need to install <a href="https://github.com/i18next/i18next-icu">i18next-icu</a> and <a href="https://formatjs.github.io/docs/intl-messageformat/">intl-messageformat</a>:</p><pre><code>yarn add i18next-icu intl-messageformat
</code></pre><p>i18next-icu teaches i18next how to interpret ICU messages. It hooks into i18n processing and says:</p><blockquote><em>"Instead of treating this as plain text, handle it as an ICU-formatted translation."</em></blockquote><p><code><strong>intl-messageformat</strong></code> <strong>library</strong> is the actual ICU parser. It looks at the ICU expression and decides which branch to output. Localazy supports ICU messages when <code>"features": ["plural_icu"]</code> is enabled, which we did ealier. Installing these packages <strong>ensures the app behaves the same way Localazy interprets translations</strong>, so translators don’t see one format in Localazy and another in the UI.</p><p>Next, we'll update the i18n initialization so ICU handling is part of the pipeline.</p><p>Open <code>src/i18n/index.js</code> and make sure it looks like this:</p><pre><code>import ICU from "i18next-icu";

...

i18n
  .use(ICU) // enable ICU message formatting
  .use(initReactI18next)
  .init({
    // same config…
  });
</code></pre><p>The order matters: <strong><code>ICU()</code> has to run before <code>initReactI18next</code></strong>, so messages are parsed correctly before they reach React.</p><p>Now restart your application and test both the English and French ICU messages, along with the counter, to make sure everything behaves exactly as described.</p><h2 id="4-step-4-enable-pseudo-locale-for-visual-qa">4️⃣ Step 4: Enable pseudo-locale for visual QA <a class="markdownit-header-anchor" href="#4-step-4-enable-pseudo-locale-for-visual-qa">🔗</a></h2><p>A <a href="https://localazy.com/dictionary/pseudo-locale">pseudo-locale</a> works like a visual stress test for your UI. It takes your English strings and transforms them. </p><p>For example:</p><p><code>Welcome to the React localized app</code> becomes:</p><p><code>Ŵēłćōṁē ţō ţĥē Ŕēąçţ ļōćąłįżēđ ąpp</code></p><p>You can still kind of read the text if you squint, but everything looks a bit off. Some words get weirdly stretched out, random accents show up everywhere, and the whole shape of each sentence changes.</p><p>When you render your app with that locale, <strong>you can immediately spot buttons where text is cut off or suddenly cropped</strong>, labels that overflow their containers, texts or layout that only works well in English, and places where you accidentally concatenated strings instead of using proper keys.</p><p>It’s a very handy tool in a React localization workflow before real translators even touch the strings.</p><h3 id="create-a-pseudo-locale-in-localazy">Create a pseudo-locale in Localazy <a class="markdownit-header-anchor" href="#create-a-pseudo-locale-in-localazy">🔗</a></h3><p>Open your Localazy project &gt; Click on <strong>Add New Language</strong>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/image--7-.png" class="kg-image" alt="image (7).png" loading="lazy" width="1897" height="657" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/image--7-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/image--7-.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/image--7-.png 1600w, https://ghost.localazy.com/content/images/2026/04/image--7-.png 1897w" sizes="(min-width: 720px) 720px"><figcaption>Creating a custom locale in Localazy.</figcaption></figure><p>Instead of choosing a real language, scroll to <strong>Custom Locales</strong> and create one manually.</p><p>Once the language is created, we need to map it to the code used in our app. In Localazy, then <strong>add a language alias </strong>so <code>xxd</code> corresponds to our internal pseudo-locale code (<code>qps</code>):</p><pre><code>{
  "upload": {
    ...
  },
  "download": {
    "files": [
      {
        "output": "${path}/${lang}.json"
      }
    "langAliases": { "xxd": "qps" }
    ]
  }
}
</code></pre><p><code>xxd</code> is the custom locale code created in Localazy and <code>qps</code> is the pseudo-locale code used inside React. This tells Localazy: "Whenever you download <code>xxd</code>, output the file under the name <code>qps.json</code>."</p><p>Note that Localazy does <strong>not</strong> automatically generate pseudo-localized text. It does support pseudo-locales as a testing concept (a locale that applies visual changes like accenting characters and expanding text). We'll add the pseudo-localized strings manually. For example, we translate English by adding accented characters like this: <em>Ĕńĝłįšĥ</em>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/image--8-.png" class="kg-image" alt="image (8).png" loading="lazy" width="1909" height="616" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/image--8-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/image--8-.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/image--8-.png 1600w, https://ghost.localazy.com/content/images/2026/04/image--8-.png 1909w" sizes="(min-width: 720px) 720px"><figcaption>Adding accented characters to pseudo-localize a string.</figcaption></figure><p>We'll do this for the rest of the strings to translate.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/04/image--9-.png" class="kg-image" alt="image (9).png" loading="lazy" width="1905" height="679" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/image--9-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/image--9-.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/image--9-.png 1600w, https://ghost.localazy.com/content/images/2026/04/image--9-.png 1905w" sizes="(min-width: 720px) 720px"><figcaption>All strings pseudo-localized in the custom locale.</figcaption></figure><h3 id="download-pseudo-locale-into-your-project">Download pseudo-locale into your project <a class="markdownit-header-anchor" href="#download-pseudo-locale-into-your-project">🔗</a></h3><p>Run:</p><pre><code>npx localazy download -k localazy.keys.json
</code></pre><p>Now check your translation directory:</p><pre><code>src/i18n/
 ├─ en.json
 ├─ fr.json
 └─ qps.json    // pseudo-locale for visual testing
</code></pre><h3 id="register-the-pseudo-locale-in-your-react-i18n-config">Register the pseudo-locale in your React i18n config <a class="markdownit-header-anchor" href="#register-the-pseudo-locale-in-your-react-i18n-config">🔗</a></h3><p>Add it like any other language:</p><pre><code>import qps from "./qps.json";

i18n.init({
  resources: {
    en: { translation: en },
    fr: { translation: fr },
    qps: { translation: qps } // add this line
  },
  lng: "en",
  fallbackLng: "en"
});
</code></pre><p>Update the tour button tag to select tag:</p><pre><code>&lt;select
  value={i18n.language}
  onChange={(e) =&gt; i18n.changeLanguage(e.target.value)}
  className="mt-4 bg-amber-600 p-3 rounded-md text-white"
&gt;
  &lt;option value="en"&gt;{t("lang.en")}&lt;/option&gt;
  &lt;option value="fr"&gt;{t("lang.fr")}&lt;/option&gt;
  &lt;option value="qps"&gt;{t("lang.qps")}&lt;/option&gt;
&lt;/select&gt;
</code></pre><p>Then test.</p><blockquote><strong>Note</strong>: The pseudo-locale is meant only for development, not production. It helps you visually catch layout issues early by exaggerating text length, accents, and spacing, but it isn’t a real language and shouldn’t be shipped to end users or exposed in production builds</blockquote><h2 id="5-step-5-sync-translations-as-the-app-evolves">5️⃣ Step 5: Sync translations as the app evolves <a class="markdownit-header-anchor" href="#5-step-5-sync-translations-as-the-app-evolves">🔗</a></h2><p>Once localization is set up, <strong>you’ll repeat the same workflow whenever you add or change text in the app</strong>. Localazy keeps your translations aligned with your source language instead of making you track changes manually.</p><h3 id="update-your-source-language">Update your source language <a class="markdownit-header-anchor" href="#update-your-source-language">🔗</a></h3><p>Make changes in <code><strong>src/i18n/en.json</strong></code>. Example:</p><pre><code>"invoice_total": "Total amount"
</code></pre><h3 id="upload-changes-to-localazy">Upload changes to Localazy <a class="markdownit-header-anchor" href="#upload-changes-to-localazy">🔗</a></h3><pre><code>npx localazy upload -k localazy.keys.json
</code></pre><p>Localazy marks new or changed keys automatically so translators know what to update.</p><h3 id="translate-in-localazy">Translate in Localazy <a class="markdownit-header-anchor" href="#translate-in-localazy">🔗</a></h3><p>Open the dashboard and fill in translations for other languages (<code>fr</code>, <code>qps</code>). ICU messages stay structured, so plural rules are handled cleanly.</p><h3 id="download-updated-translations">Download updated translations <a class="markdownit-header-anchor" href="#download-updated-translations">🔗</a></h3><pre><code>npx localazy download -k localazy.keys.json
</code></pre><p>This refreshes the files:</p><pre><code>src/i18n/fr.json
src/i18n/qps.json
</code></pre><h3 id="lessstronggreatertest-changes-in-the-uilessstronggreater"><strong>Test changes in the UI</strong> <a class="markdownit-header-anchor" href="#lessstronggreatertest-changes-in-the-uilessstronggreater">🔗</a></h3><p>Restart if needed:</p><pre><code>yarn dev
</code></pre><p>Switch languages and verify that the translations render correctly.</p><h3 id="workflow-summary">Workflow summary <a class="markdownit-header-anchor" href="#workflow-summary">🔗</a></h3><pre><code>Update en.json → Upload → Translate → Download → Test
</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/localazy-workflow.gif" class="kg-image" alt="localazy workflow.gif" loading="lazy" width="610" height="334"></figure><h2 id="quick-recap">🔍 Quick recap <a class="markdownit-header-anchor" href="#quick-recap">🔗</a></h2><p>In this guide, we enabled ICU plural rules, uploaded and synced translations with Localazy, and introduced a pseudo-locale for visual QA. Finally, we prepared the setup for production, including fallback languages, safe handling of pseudo-locales, and caching considerations. You can work through the full code of this guide in <a href="https://github.com/Gunkev/react-localized-app" rel="noopener noreferrer nofollow">this Git repository.</a></p><h2 id="best-practices-to-consider-for-production">🏁 Best practices to consider for production <a class="markdownit-header-anchor" href="#best-practices-to-consider-for-production">🔗</a></h2><p>Now that your app supports multiple languages, make sure it behaves correctly when deployed. The goal here is to make your localization setup stable, predictable, and production-safe.</p><h3 id="1-keep-the-pseudo-locale-in-development-only">1. Keep the pseudo-locale in development only <a class="markdownit-header-anchor" href="#1-keep-the-pseudo-locale-in-development-only">🔗</a></h3><p>Pseudo-locales are helpful for visual QA, but they’re not real languages, so they shouldn’t be exposed to end users. You can simply <strong>hide the option in production</strong>:</p><pre><code>{process.env.NODE_ENV !== "production" &amp;&amp; (
  &lt;option value="qps"&gt;Pseudo&lt;/option&gt;
)}</code></pre><p>This keeps the testing locale available during development without affecting real users.</p><h3 id="2-use-a-fallback-language">2. Use a fallback language <a class="markdownit-header-anchor" href="#2-use-a-fallback-language">🔗</a></h3><p>Missing translations shouldn’t leave blank UI elements. A fallback ensures the app always displays meaningful text when a key isn’t available in another locale:</p><pre><code>fallbackLng: "en"
</code></pre><p>This is standard practice with <code>i18next</code> and prevents unexpected gaps during incremental localization.</p><h3 id="3-bundle-translations-locally-vs-dynamic-delivery">3. Bundle translations locally vs. dynamic delivery <a class="markdownit-header-anchor" href="#3-bundle-translations-locally-vs-dynamic-delivery">🔗</a></h3><p>For this guide, translations are bundled as static JSON:</p><pre><code>src/i18n/en.json
src/i18n/fr.json
</code></pre><p>This is ideal for static hosting, offline mode, and fast load times. Localazy also supports more dynamic delivery patterns (for example, <a href="https://localazy.com/blog/automated-localization-gitlab-cicd-localazy" rel="noopener noreferrer nofollow">integrating downloads into CI/CD</a> or backend workflows) if you need more frequent translation updates later.</p><h3 id="4-handle-caching-appropriately">4. Handle caching appropriately <a class="markdownit-header-anchor" href="#4-handle-caching-appropriately">🔗</a></h3><p>If you're hosting translation files on a CDN or static host, you may <strong>enable caching for faster loads</strong>. Just remember: long-lived caching improves performance, but you should clear caches when translations change. This avoids outdated text appearing in production.</p><h3 id="final-launch-checklist">Final launch checklist <a class="markdownit-header-anchor" href="#final-launch-checklist">🔗</a></h3><p>Before shipping:</p><ul><li>☑️ Make sure language switching updates the UI instantly, with no page reload</li><li>☑️ Confirm all visible UI strings have French translations</li><li>☑️ Hide the pseudo-locale option in production builds</li><li>☑️ Test that plurals and ICU rules behave correctly in both languages</li><li>☑️ Verify the fallback language catches any missing keys gracefully</li></ul><h2 id="go-build-something-multilingual">🚀 Go build something multilingual <a class="markdownit-header-anchor" href="#go-build-something-multilingual">🔗</a></h2><p>You now have i18next parsing translations at runtime, Localazy keeping your locales in sync, ICU plurals handling the edge cases, and a pseudo-locale catching layout issues before real translators ever see your strings. Moving forward, you can add a new locale, push a key update, automate the sync in CI... It all fits into the same cycle you've already built. </p><p>With that, you're ready to ship!</p>]]></content:encoded>
            <author>Kevine Nzapdi</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/05/technical-article-4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[What UX writers can learn from localizers in the era of AI copy]]></title>
            <link>https://localazy.com/blog/what-ux-writers-can-learn-from-localizers-in-the-era-of-ai-copy</link>
            <guid isPermaLink="false">what-ux-writers-can-learn-from-localizers-in-the-era-of-ai-copy</guid>
            <pubDate>Mon, 04 May 2026 07:12:00 GMT</pubDate>
            <description><![CDATA[Localization teams have been dealing with scaling content for decades, and their playbook is perfectly transferable to UX writing in the AI era. Learn what to steal, understand why content quality keeps breaking under AI, and get the five checks to run so you can ship a great experience.]]></description>
            <content:encoded><![CDATA[<p>It was 9am at my desk. I took a screen I was working on for a pension product, and asked AI to "improve the copy." It came back in seconds, so polished and clean. The obedient agent improved it so much that it removed a critical sentence <strong>—</strong> one that assured users that their pension fund can't be moved without their explicit approval. Because why would users care about something like that?</p><p>It's the same thing I keep seeing everywhere right now. </p><p>Everyone is <a href="https://uxcontent.com/ai-in-content-design-ux-writing/">sprinting toward "more and faster" with AI</a>. Content teams are shipping at a pace that would have been unthinkable two years ago. And the output looks... fine. It's polished, and grammatically correct, and uses all the right UX patterns.</p><p>Minor issue, though. <strong>It doesn’t <em>do what it’s supposed to</em></strong>. It doesn't move users forward, reduce confusion, or build the kind of trust that makes someone feel safe entering their credit card number. It just... exists. Filling space. Looking professional.</p><p>And I kept thinking: "I’ve been here before." I recognize that tree. I've been watching it for years, actually. <a href="https://webexpo.net/prague2026/sessions/dont-trust-the-bot-a-human-framework-for-wvaluating-ai-copy/">Just in a different industry</a>. It’s what happens <strong>when you scale content faster than you scale judgment</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/AdobeStock_851818409.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1124" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/AdobeStock_851818409.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/AdobeStock_851818409.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/AdobeStock_851818409.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/04/AdobeStock_851818409.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="spoiler-its-localization">🫢 Spoiler: It’s localization <a class="markdownit-header-anchor" href="#spoiler-its-localization">🔗</a></h2><p><strong>Localization teams have been dealing with this exact problem (scaling content without losing quality) for a very long time</strong>. They've been working with machine translation, managing thousands of strings across dozens of languages, and building systems to make sure nothing breaks when you're shipping at scale.</p><p>They've figured out, through years of painful trial and error, how to move fast without causing chaos. To use machines for production while keeping humans in the loop for judgment, and define "quality" in a way that's actually measurable.</p><p><strong>UX writing teams are going through the exact same growing pains right now</strong>. Not identical (the details are different), but the pattern is the same. We’re pressured to produce more, faster, with automation involved, while somehow maintaining quality.</p><blockquote>With AI, UX teams are experiencing the exact same growing pains that localization teams had to deal with for years. They're pressured to produce more content faster without losing quality</blockquote><p>So I started pulling the thread. What can UX writers actually learn from the localization playbook💭 </p><p>Turns out: quite a bit.</p><h2 id="whats-your-why">💭 What’s your Why? <a class="markdownit-header-anchor" href="#whats-your-why">🔗</a></h2><p>This is the question missing from most workflows. Whenever I work with teams that are frustrated with their AI output, the conversation usually goes something like this:</p><p>"The AI keeps generating generic copy."</p><p>"What did you ask for?"</p><p>"...We told it to write a confirmation screen."</p><p>Right. And that's the problem. <strong>"Write a confirmation screen" is a task, not a goal</strong>. The AI did exactly what you asked: it wrote a confirmation screen. It doesn't know <em>why</em> that screen exists or what it's meant to achieve.</p><p>Localization teams learned this lesson early, because when you're sending a string to be translated into 30 languages, "just make it sound good" doesn't cut it. <strong>You have to specify</strong>: What is this string doing? What action should the user take after reading it? What's the emotional register? What are the constraints? Because without that context, you get 30 technically correct translations that are functionally useless.  </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/AdobeStock_252640763.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/AdobeStock_252640763.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/AdobeStock_252640763.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/AdobeStock_252640763.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/04/AdobeStock_252640763.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>So before we talk about frameworks or QA checklists, here's the foundational question:</p><h3 id="what-is-your-content-meant-to-do">What is your content meant to do? <a class="markdownit-header-anchor" href="#what-is-your-content-meant-to-do">🔗</a></h3><p>✔️ Maybe the job is to <strong>get the user to the next step as fast as possible </strong>—minimal friction, maximum clarity. That's your checkout flow, your setup wizard, your "You're almost done" screen.</p><p>⚠️ Or <strong>reduce risk</strong> — payments, security, privacy, anything regulated. Here, accuracy and honesty outweigh friendliness every time.</p><p>🤝 But perhaps it’s to <strong>build trust</strong> — set expectations, explain why you're asking for something, reassure without overpromising.</p><p>👩🏻‍🏫 It could also be to <strong>teach</strong> — help a user understand a complex system they've never used before.</p><p>🛟 Possibly, it's to <strong>reduce support load</strong> — prevent the confusion that generates tickets.</p><p>🎁 Or (and this is valid too) the job is to <strong>create a pleasant experience</strong>. Delight. Warmth. Personality.</p><p><strong>Pick one</strong>. Then everything else gets easier.</p><blockquote>You do have to start with something. Otherwise, you end up with generic copy that does nothing. The AI is happy to write you a friendly, trustworthy, actionable, educational, delightful confirmation message </blockquote><h3 id="turning-the-goal-into-something-you-can-actually-check">Turning the goal into something you can actually check <a class="markdownit-header-anchor" href="#turning-the-goal-into-something-you-can-actually-check">🔗</a></h3><p>Once you know the job, something interesting happens: "quality" stops being a vibe and <strong>starts being something you can measure</strong>.</p><p>This sounds obvious, but think about how content review usually works in practice. Someone reads it. They go, "Hmm, I don't love the tone." Someone else says, "I think it's fine." A third person suggests making it "more human." Everyone has a slightly different definition of "good," and the conversation goes in circles until the most senior person in the room wins.</p><p>Localization teams can't afford this. When you're reviewing translations at scale, "I don't love the tone" doesn't help the translator in Japan or the reviewer in Brazil. <strong>You need specific, checkable criteria</strong>. So they define quality signals upfront:</p><ul><li>If the goal is <strong>fast action</strong>, the signals are: clarity, brevity, a strong next-step cue, no fluff. You can check each one. Did the user understand what to do? Was there anything unnecessary? Was the next step obvious?</li><li>If we’re trying to grow <strong>trust</strong>, the signals are: accuracy, honesty, no overpromising, a calm and respectful tone, and clear boundaries. Again, checkable. Did the copy promise something the product can't deliver? Did it sound like a robot trying to be reassuring?</li><li>If it’s <strong>delight</strong> we’re after, the signals are: personality, warmth, lightness (but still no ambiguity, because funny copy shouldn’t confuse people.)</li></ul><p>See the pattern? <strong>The goal defines what "good" means</strong>. Without a goal, you're just arguing about taste. And taste doesn't scale.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/AdobeStock_110907936.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/AdobeStock_110907936.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/AdobeStock_110907936.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/AdobeStock_110907936.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/04/AdobeStock_110907936.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="use-the-goal-to-guide-ai-dont-just-review-after-the-fact">Use the goal to guide AI — don't just review after the fact <a class="markdownit-header-anchor" href="#use-the-goal-to-guide-ai-dont-just-review-after-the-fact">🔗</a></h3><p>In localization, we learned from experience that <a href="https://localazy.com/dictionary/context">you need to provide context</a> and information <em><strong>before</strong></em> the work happens. Screenshots, so the translator can see where the text appears. Character limits, so they don't write something that breaks the layout. A glossary, so they use the right terms. Tone guidelines, so they match the brand. Notes about the user's emotional state at this point in the flow.</p><p>All of this doesn’t exist because loc teams are type A (even though, you know… We are ?). But because they’ve learned, over years of expensive mistakes, that you can't review quality into a process. You have to build it in from the start.</p><p>Same principle applies to AI. If you want AI to produce content that actually works, the goal has to be part of the input:</p><ul><li>What is this content supposed to achieve?</li><li>Where does the user see it? What's the screen, what's the state, what just happened?</li><li>What terminology is required? What's forbidden?</li><li>What claims are we allowed to make? What's off-limits?</li><li>What does success look like?</li></ul><p><strong>The more context you provide upfront, the less you have to fix after</strong>. Localization teams have known this for decades. UX writing teams are just discovering it now.</p><h2 id="why-now">🤔 Why now? <a class="markdownit-header-anchor" href="#why-now">🔗</a></h2><p>Let's zoom out a bit. Why are UX writing teams suddenly struggling with quality at scale?</p><p>Because the ground shifted. And it shifted in ways that localization teams will find very, very familiar.</p><p>(P.S. There are also solutions coming up, promise!)</p><h3 id="shift-1-scale-forces-you-to-build-content-ops">Shift 1: Scale forces you to build content ops <a class="markdownit-header-anchor" href="#shift-1-scale-forces-you-to-build-content-ops">🔗</a></h3><p>There was a time, not that long ago, when UX copy was a handful of carefully crafted strings, written by one person, who maybe got it reviewed and maybe didn't.</p><p>That time is over. In any product of meaningful complexity, <strong>content is now a system</strong>. You have hundreds or thousands of strings, multiple surfaces, multiple user states, and multiple teams writing copy at the same time, sometimes for the same flow. <strong>You need organization, versioning, ownership</strong>, and some way to find "that error message we wrote for the billing screen six months ago."</p><p>Localization teams have lived in this world forever. Every release is many strings, multiplied by many languages, multiplied by many contexts. They had to build content management systems because without structure, nothing wouldn't ship correctly. UX writing is hitting the same wall, and the teams that don't build ops will drown in inconsistency.</p><h3 id="shift-2-you-dont-fully-control-production-anymore">Shift 2: You don't fully control production anymore <a class="markdownit-header-anchor" href="#shift-2-you-dont-fully-control-production-anymore">🔗</a></h3><p>This is the big one. Localization has worked alongside machine translation for decades. Not happily, not always smoothly, but they've done it. They learned to accept partial automation and shift their effort toward guidance, review, and risk management. The machine does the heavy lifting. The human does the judgment.</p><p>UX writers are learning this lesson now, but for <em>creating content.</em> AI is now writing the original strings, and that means you are no longer the person who makes every sentence by hand.</p><p>It’s a fundamental shift in where your expertise matters. <strong>You're moving from craftsperson to editor, architect, quality controller</strong>... but your value is still in knowing which words are right.</p><h3 id="shift-3-content-has-to-fit-into-automated-workflows">Shift 3: Content has to fit into automated workflows <a class="markdownit-header-anchor" href="#shift-3-content-has-to-fit-into-automated-workflows">🔗</a></h3><p>Localization was historically the bottleneck. "We can't ship until the translations are done." So loc teams did something smart: <strong>they built themselves into the pipeline</strong>. Strings are treated as artifacts, managed the same way you manage code.</p><p>This happened, obviously, because manual handoffs don’t scale. "Hey, can you review this doc? It's in the shared folder somewhere" — that doesn’t work when things need to happen so quickly.</p><p>UX writing is being pulled into this same reality. <strong>Content can't be the last-minute manual step</strong> that happens after design is "done." It needs to be part of the system: versioned, tracked, automated where possible, reviewed where necessary.</p><blockquote>Automation, growing complexity, and a considerable shift in production agency are forcing UX writers to design QA-tracking systems that scale</blockquote><h3 id="shift-4-automation-makes-context-and-qa-non-negotiable">Shift 4: Automation makes context and QA non-negotiable <a class="markdownit-header-anchor" href="#shift-4-automation-makes-context-and-qa-non-negotiable">🔗</a></h3><p>When a human writes every sentence, you can rely (to some extent) on their judgment. They've seen the screen, know the product, and can make reasonable assumptions.</p><p>When a machine writes sentences, or when content moves through automated pipelines, none of those assumptions hold. The machine doesn't have judgment (not really).  So you need to make the context explicit, and <strong>put the guardrails in place <em>before</em> production</strong>. You also need <strong>QA gates that catch problems </strong>systematically.</p><p>Localization teams have long implemented these: from<a href="https://localazy.com/dictionary/pseudolocalization"> pseudo-localization</a> to QA steps, glossary enforcement, automated style checks, and more. All of it exists because "we'll review it later" doesn't work when you're shipping in 30 languages at once, and it doesn't work when AI is generating content for 30 screens at once, either.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/AdobeStock_611601616.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1344" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/AdobeStock_611601616.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/AdobeStock_611601616.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/AdobeStock_611601616.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/04/AdobeStock_611601616.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-practices-worth-stealing">✍️ The practices worth stealing <a class="markdownit-header-anchor" href="#the-practices-worth-stealing">🔗</a></h2><p>Okay. So the problems are similar. What about the solutions?</p><p>Here's what I'd take from the localization playbook and apply directly to UX content in the AI era.</p><h3 id="treat-copy-like-a-product-asset">Treat copy like a product asset <a class="markdownit-header-anchor" href="#treat-copy-like-a-product-asset">🔗</a></h3><p>Localization teams assume every string will have to be reused, referenced, versioned, and audited, because it will be. UX copy should get the same treatment. If you can't find the copy you wrote six months ago, if you don't know which version is live, <strong>if there's no source of truth, you have a problem </strong>that will only get worse with AI in the mix.</p><h3 id="separate-fluency-from-correctness">Separate fluency from correctness <a class="markdownit-header-anchor" href="#separate-fluency-from-correctness">🔗</a></h3><p>This is maybe the most important one. AI is <em>fluent</em>. That's what it's good at. It produces text that reads smoothly, sounds professional, and uses appropriate vocabulary, but fluency is not the same as correctness. <strong>A sentence can be perfectly fluent and completely wrong</strong>. It can sound confident while making a promise the product can't keep.</p><p>And the reverse is true too: something can be technically correct but still not fluent (awkward, stilted, or just not how people actually speak). That “correct-but-unnatural” copy can be just as damaging, because users have to work harder to parse it and that ends up eroding trust.</p><h3 id="make-quality-operational">Make quality operational <a class="markdownit-header-anchor" href="#make-quality-operational">🔗</a></h3><p>This means: define the checks. Assign owners. Build gates. "Quality" can't live in one person's head or depend on whoever happens to review the PR. <strong>It needs to be a process</strong> that works even when your best writer is on vacation.</p><p>This also means you'll have to...</p><h3 id="build-guardrails-that-scale">Build guardrails that scale <a class="markdownit-header-anchor" href="#build-guardrails-that-scale">🔗</a></h3><p><em>Just</em> like localization teams maintain extensive glossaries and style guides per language, per market, and per brand, <strong>UX teams should maintain them per product, per flow and screen and state</strong>.</p><h3 id="design-feedback-loops">Design feedback loops <a class="markdownit-header-anchor" href="#design-feedback-loops">🔗</a></h3><p>When a localization error makes it to production, a good loc team figures out <em>why</em> the system let it through and update the guidelines, the glossary, the review process, or the QA checks so it doesn't happen again. When AI-generated content fails in production, the same approach applies. You want to ask yourself: <strong>what's missing from the prompt, the guidelines, or the review process that allowed this🤓</strong></p><h2 id="five-checks-before-anything-ships">🤓 Five checks before anything ships <a class="markdownit-header-anchor" href="#five-checks-before-anything-ships">🔗</a></h2><h3 id="check-1-is-the-meaning-correct">Check 1: Is the meaning correct? <a class="markdownit-header-anchor" href="#check-1-is-the-meaning-correct">🔗</a></h3><p>What to look for:</p><ul><li><strong>Intent drift</strong> — did the AI "polish" away a crucial detail?</li><li><strong>False confidence</strong> - does the copy state something as fact that's actually uncertain?</li><li><strong>Hallucinated specifics</strong> - did the AI add numbers, timeframes, or promises that weren't in the brief?</li></ul><p>In a fintech flow I wrote recently, the users could request money from a group of people, but a tiny AI “fluency” tweak almost broke things. The intended instruction was for people to be able to choose the sum that’ll be requested of each group member (so 10 people means $500 total). But the rewrite “Charge $50 from everyone” was too vague, and sounded like the $50 was the total <strong>number</strong>. People would have, naturally, gotten confused.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.14.02.png" class="kg-image" alt loading="lazy" width="1476" height="954" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.14.02.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.14.02.png 1000w, https://ghost.localazy.com/content/images/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.14.02.png 1476w" sizes="(min-width: 720px) 720px"></figure><h3 id="check-2-does-it-drive-the-right-next-step">Check 2: Does it drive the right next step? <a class="markdownit-header-anchor" href="#check-2-does-it-drive-the-right-next-step">🔗</a></h3><p>What to look for:</p><ul><li>Is the next action <strong>obvious</strong>? Can the user tell what to do without thinking?</li><li>Is there <strong>ambiguity</strong>? Could "Submit" mean two different things in this context?</li><li>Is there a <strong>dead end</strong>?</li></ul><p>Look at the two versions of this travel app empty state. The version on the left is poetic, sure, but the user is left floating. The version on the right is clear, inviting, and the button says exactly what to do.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/2.png" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/2.png 1600w, https://ghost.localazy.com/content/images/2026/04/2.png 1920w" sizes="(min-width: 720px) 720px"></figure><h3 id="check-3-does-it-build-trust-or-at-least-not-damage-it">Check 3: Does it build trust (or at least not damage it)? <a class="markdownit-header-anchor" href="#check-3-does-it-build-trust-or-at-least-not-damage-it">🔗</a></h3><p>What to look for:</p><ul><li><strong>Overpromising</strong></li><li><strong>Robotic reassurance </strong>— "We apologize for the inconvenience" (nobody feels better reading this)</li><li><strong>Patronizing tone</strong> — "Don't worry!" (I wasn't worried until you told me not to worry)</li><li><strong>Missing accountability</strong> — something went wrong and the copy doesn't acknowledge it</li></ul><p>Look how the version on the left tries to soothe with generic reassurance, but it feels corporate and bland. While the one on the right candidly states what happened in plain language, sets expectations for what is next, and gives the user a clear, doable action.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/image-28.png" class="kg-image" alt loading="lazy" width="1706" height="836" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/image-28.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/image-28.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/image-28.png 1600w, https://ghost.localazy.com/content/images/2026/04/image-28.png 1706w" sizes="(min-width: 720px) 720px"></figure><h3 id="check-4-does-it-fit-the-context">Check 4: Does it fit the context? <a class="markdownit-header-anchor" href="#check-4-does-it-fit-the-context">🔗</a></h3><p>Users don't read copy in a vacuum. They read it mid-task, mid-frustration, mid-decision... The screen, the user's state, what just happened, what's about to happen: all of that shapes whether copy lands or falls flat.</p><p>What to look for:</p><ul><li><strong>Screen mismatch</strong> — the tone is wrong or the wording isn’t specific enough</li><li><strong>State blindness</strong> — the copy assumes things about the user that aren’t correct</li><li><strong>Cultural assumptions</strong> — the copy uses idioms, date formats, or references that don't travel</li></ul><p>Notice how the screen on the left could be plonked literally anywhere, but the one on the right is fully immersed in the flow (and it helps users place themselves within that context).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.15.25.png" class="kg-image" alt loading="lazy" width="2000" height="1123" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.15.25.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.15.25.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.15.25.png 1600w, https://ghost.localazy.com/content/images/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.15.25.png 2170w" sizes="(min-width: 720px) 720px"></figure><h3 id="check-5-does-the-user-understand-why-they-should-care">Check 5: Does the user understand why they should care? <a class="markdownit-header-anchor" href="#check-5-does-the-user-understand-why-they-should-care">🔗</a></h3><p>AI defaults to company-facing language because that's what most of its training data looks like. It usually feeds from marketing pages, press releases, and feature announcements, so<strong> it produces copy that talks about the product instead of talking to the user</strong>.</p><p>Look at these two screens for an EV charging app. On the left, it’s the company admiring itself in the mirror. Not a single word answers the user's actual question: "Where can I charge my car?" But on the right, every line is about what the user gets.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.14.33.png" class="kg-image" alt loading="lazy" width="1502" height="1204" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.14.33.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.14.33.png 1000w, https://ghost.localazy.com/content/images/2026/04/Captura-de-pantalla-2026-04-21-a-las-11.14.33.png 1502w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-to-actually-do-this-starting-tomorrow-morning">👩🏻‍💻 How to actually do this (starting tomorrow morning) <a class="markdownit-header-anchor" href="#how-to-actually-do-this-starting-tomorrow-morning">🔗</a></h2><p>I'm not going to pretend this is a weekend project. Building a real quality system takes time. But to start seeing results, you just need <strong>a few things in place</strong>, and you need to be<strong> willing to iterate</strong>.</p><p>Here's the minimum viable version:</p><h3 id="1-write-down-the-goal-for-each-screen">1. Write down the goal for each screen <a class="markdownit-header-anchor" href="#1-write-down-the-goal-for-each-screen">🔗</a></h3><p>Yes, just add a line in the spec doc: "The checkout confirmation screen's job is to reassure the user that payment went through and tell them what happens next." That's the brief.</p><h3 id="2-create-a-short-dodont-list">2. Create a short do/don't list <a class="markdownit-header-anchor" href="#2-create-a-short-dodont-list">🔗</a></h3><p><strong>What your content should always do</strong> (always name the next step, never promise specific timelines unless confirmed). <strong>What it should never do</strong> (no exclamation marks in error messages, no "we" in legal contexts, no superlatives without proof). Keep it short so you can manage it.</p><h3 id="3-set-up-a-glossary">3. Set up a glossary <a class="markdownit-header-anchor" href="#3-set-up-a-glossary">🔗</a></h3><p>In the same way that it's used in localization, <strong>it should contain your core terms</strong> that have to stay consistent across every screen, every language, and every AI-generated variation.</p><h3 id="4-add-one-qa-step">4. Add one QA step <a class="markdownit-header-anchor" href="#4-add-one-qa-step">🔗</a></h3><p>Before any AI-generated copy ships, <strong>one person runs the five checks</strong>.</p><h3 id="5-start-a-failure-log">5. Start a failure log <a class="markdownit-header-anchor" href="#5-start-a-failure-log">🔗</a></h3><p>When something makes it to production that shouldn't have, <strong>write down what broke</strong>. Was the goal unclear? Perhaps a glossary term was missing? Did the prompt lack context? Update the guidelines, the glossary, or the prompt accordingly.</p><p>That's the starter kit. And I promise you: it’s going to be the first step in an extremely valuable journey.</p>]]></content:encoded>
            <author>Michal Kessel Shitrit</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/04/Top-UX-AIcopy-VOL6.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[React + i18next + Localazy | Part 1: i18n Foundations 🏗️]]></title>
            <link>https://localazy.com/blog/react-i18next-localazy-tutorial-part-1-i18n-foundations</link>
            <guid isPermaLink="false">react-i18next-localazy-tutorial-part-1-i18n-foundations</guid>
            <pubDate>Wed, 20 May 2026 11:34:48 GMT</pubDate>
            <description><![CDATA[Learn how to set up React localization with  i18next and Localazy. In this tutorial, we'll configure i18next, create JSON translation files, and wire up a language switcher ready for translation later on.]]></description>
            <content:encoded><![CDATA[<p>React makes it simple to build fast, modern interfaces, but turning a UI into a real multilingual React app takes more than just hard-coded strings. In this guide, we’ll walk through <strong>a practical React localization setup using i18next and Localazy</strong> so your app can load translations from JSON files, switch languages at runtime, and keep all locales in sync.</p><h2 id="what-youll-build-in-this-tutorial">🧱 What you'll build in this tutorial <a class="markdownit-header-anchor" href="#what-youll-build-in-this-tutorial">🔗</a></h2><p>We’ll combine <a href="https://www.i18next.com/">i18next</a> (the translation engine) with <a href="https://www.npmjs.com/package/react-i18next">react-i18next</a> (the React bindings) to handle text in the UI. Then plug in Localazy to manage your translation files, upload new keys, and download translated JSON back into your project. This guide is split into two parts:</p><ul><li><strong>🏗️ Part 1: Foundations</strong>.<strong> </strong>Set up your React project, <a href="https://localazy.com/blog/setting-up-i18n-in-your-react-app-from-day-one">configure i18next</a>, handle missing translations, and wire up a language switcher.</li><li><strong>🌎 Part 2: Full translation workflow</strong>. Integrate Localazy, manage the translation workflow, add <a href="https://localazy.com/dictionary/pseudo-locale">pseudo-locales</a> for testing, and use ICU pluralization for dynamic content.</li></ul><p>You’ll build a small, focused example: a <a href="https://react.dev/learn/build-a-react-app-from-scratch">React app</a> with text rendered via react i18n using <code>i18next</code>, a simple language switcher (English and French). We will also have a basic ICU-style plural message (“1 item” vs “5 items”). And finally, a repeatable React localization workflow using Localazy’s upload/download commands. The goal is not a fancy UI, but <strong>a solid, realistic foundation you can reuse</strong> in your own projects.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/screen-recorder-sun-nov-23-2025-20-48-04.gif" class="kg-image" alt loading="lazy" width="1926" height="1042"></figure><h2 id="who-this-guide-is-for">🧑‍💻 Who this guide is for <a class="markdownit-header-anchor" href="#who-this-guide-is-for">🔗</a></h2><p>This guide is for developers who want to translate a React app <strong>without manually copying JSON files around</strong>, and for developers who want to use React internationalization patterns that scale. It is also handy fo anyone who wants to <a href="https://localazy.com/integrations/react">integrate Localazy with React</a> as part of their build and deployment process.</p><p>You don’t need prior i18n experience, but you should be comfortable with basic React (components, props, hooks), Node.js and yarn, npm or pnpm, and running commands in your terminal.</p><h2 id="requirements">📋 Requirements <a class="markdownit-header-anchor" href="#requirements">🔗</a></h2><p>Before you start, make sure you have:</p><ul><li><a href="https://nodejs.org/en">Node.js</a> and a package manager (<a href="https://www.npmjs.com/">npm</a>, <a href="https://pnpm.io/">pnpm</a>, or <a href="https://yarnpkg.com/">Yarn</a>) installed.</li><li>A recent React toolchain (we’ll use <a href="https://vite.dev/">Vite</a> in this guide).</li><li>A <a href="https://localazy.com/register">free Localazy account</a> with access to your project’s write/read keys.</li></ul><p>The steps below walk you through setting up a complete Localazy translation workflow in your React application. Follow along carefully to make sure each piece connects correctly before moving to the next.</p><h3 id="but-first-choose-a-build-tool">⚡ But first: choose a build tool <a class="markdownit-header-anchor" href="#but-first-choose-a-build-tool">🔗</a></h3><p>React can be initialized in different ways depending on your stack: Create React App (CRA), Next.js, Remix, Vite, and others. For this guide, we'll use Vite — it boots faster than CRA (which is now deprecated), has a simpler config, works well with modern ES modules, and keeps the setup minimal so we can focus on localization rather than boilerplate.</p><blockquote>👉 If you'd like to explore a different i18n library, we also have a guide using <a href="https://localazy.com/blog/how-to-localise-your-react-app-with-linguijs-and-localazy">LinguiJS and Localazy</a></blockquote><h2 id="1-step-1-create-the-project">1️⃣ Step 1: Create the project <a class="markdownit-header-anchor" href="#1-step-1-create-the-project">🔗</a></h2><p>Let’s scaffold a new React project using Vite. Run this command in your terminal:</p><pre><code>yarn create vite react-localized --template react
</code></pre><p>This generates a minimal React project in a folder named <code><strong>react-localized</strong></code> with React + JSX enabled. No extra dependencies, dev server ready.</p><p>After creation, move into the folder and install packages:</p><pre><code>cd react-localized
yarn install
</code></pre><p>Now you can start the dev server:</p><pre><code>yarn dev
</code></pre><p>You should see Vite’s default React starter running at <code>http://localhost:5173</code>.</p><h3 id="project-structure-overview">Project structure overview <a class="markdownit-header-anchor" href="#project-structure-overview">🔗</a></h3><p>This is the complete structure. We will build it progressively throughout the guide.</p><pre><code>react-localized/
├─ public/
├─ src/
│  ├─ assets/
│  │  └─ i18n/
│  │     ├─ en.json
│  │     ├─ fr.json
│  │     ├─ qps.json
│  │     └─ index.js
│  ├─ App.jsx
│  ├─ App.css
│  ├─ main.jsx
│  └─ index.css
├─ .gitignore
├─ eslint.config.js
├─ index.html
├─ localazy.json
├─ localazy.keys.json
├─ package.json
├─ tailwind.config.js
├─ vite.config.js
└─ yarn.lock</code></pre><p>The most important directory here is <code><strong>src/assets/i18n/</strong></code>. This is where all translation files live (<code>en.json</code>, <code>fr.json</code>, <code>qps.json</code>) along with the <code>index.js</code> file that initializes i18next. Everything related to localization stays in this folder so translations are easy to manage and version.</p><p>At the root, <code>localazy.json</code> defines how translations are uploaded and downloaded, while <code>localazy.keys.json</code> contains your API keys (excluded from version control). The <code>vite.config.js</code> and <code>tailwind.config.js</code> files ensure the build pipeline and styling work correctly. Finally, <code>main.jsx</code> initializes React and imports the i18n config so translations load automatically at startup.</p><p>Before adding translations, we’ll create a dedicated folder for localization files.</p><h3 id="create-the-lesscodegreateri18nlesscodegreater-folder">Create the <code>i18n</code> folder <a class="markdownit-header-anchor" href="#create-the-lesscodegreateri18nlesscodegreater-folder">🔗</a></h3><p>Inside the <code>src</code> directory, create a new folder named <code>i18n</code>:</p><pre><code>src/i18n/</code></pre><p>This folder will hold <code><strong>en.json</strong></code> (your source language, which you'll later upload to Localazy), any additional language files downloaded from Localazy, and the <code>index.js</code> file where we'll write the i18next config. Nothing goes inside it yet. This step just defines where all localization-related files will live.</p><h2 id="2-step-2-install-dependencies">2️⃣ Step 2: Install dependencies <a class="markdownit-header-anchor" href="#2-step-2-install-dependencies">🔗</a></h2><h3 id="install-i18next-and-react-i18next"> Install i18next and react-i18next <a class="markdownit-header-anchor" href="#install-i18next-and-react-i18next">🔗</a></h3><p>You need two translation libraries:<strong> i18next</strong>, the translation engine that handles all the i18n heavy lifting, and <strong>react-i18next</strong>, which hooks it into React via the <code>useTranslation()</code> hook. Install both with:</p><pre><code>yarn add i18next react-i18next</code></pre><h3 id="install-localazy-cli">Install Localazy CLI <a class="markdownit-header-anchor" href="#install-localazy-cli">🔗</a></h3><p>Localazy will manage the upload and download workflow for your JSON translation files. Install it as a development dependency so you can run it through <code>npx</code> during the build process:</p><pre><code>npx localazy upload
npx localazy download</code></pre><p>You will set up the configuration file later, after we create the base translation files.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text"><em>The code samples use Tailwind CSS utility classes, but you can style your components however you prefer. If you'd like to follow along with Tailwind, refer to the <a href="https://tailwindcss.com/docs/installation">official setup guide</a>.</em></div></div><h2 id="3-step-3-configure-localazy">3️⃣ Step 3: Configure Localazy <a class="markdownit-header-anchor" href="#3-step-3-configure-localazy">🔗</a></h2><p>Localazy needs a config file at the root of your project to understand the structure, what to upload, where to place translated files, and which features to enable.</p><h3 id="create-the-lesscodegreaterlocalazyjsonlesscodegreater-file">Create the <code>localazy.json</code> file <a class="markdownit-header-anchor" href="#create-the-lesscodegreaterlocalazyjsonlesscodegreater-file">🔗</a></h3><p>Localazy needs a config file sitting right in the root of the project — otherwise it has no idea what to upload, where to dump the translated files, or which options you actually want turned on (like ICU features).</p><p>Create a new file at the project root:</p><pre><code>localazy.json</code></pre><p>Start with a minimal structure:</p><pre><code class="language-JSON">{
  "upload": {
    "type": "json",
    "files": [{}]
  },
  "download": {
    "files": [{}]
  }
}</code></pre><p>You will configure upload and download paths in the next steps.</p><h3 id="add-upload-settings">Add upload settings <a class="markdownit-header-anchor" href="#add-upload-settings">🔗</a></h3><p>Since English is our base language and we're storing language files in <code>src/i18n</code>, we'll point Localazy to <code>en.json</code>. Update the upload section like this:</p><pre><code class="language-JSON">{
  "upload": {
    "type": "json",
    "files": [
      {
        "pattern": "src/i18n/en.json",
        "lang": "en",
        "path": "src/i18n"
      }
    ]
  },
  "download": {
    "files": [{}]
  }
}</code></pre><p>This means that, when you run <code>npx localazy upload</code>, Localazy will push <code>en.json</code> as the <strong>source translation file</strong>.</p><h3 id="add-download-settings">Add download settings <a class="markdownit-header-anchor" href="#add-download-settings">🔗</a></h3><p>Now we need to tell Localazy where to place downloaded translations. Since new locales should appear alongside <code>en.json</code>, we'll map each language to a file named after its code (<code><strong>fr.json</strong></code>, <code><strong>es.json</strong></code>).</p><p>Update the <code>download</code> section like this:</p><pre><code class="language-JSON">{
  "upload": {
    "type": "json",
    "files": [
      {
        "pattern": "src/i18n/en.json",
        "lang": "en",
        "path": "src/i18n"
      }
    ]
  },
  "download": {
    "files": [
      {
        "output": "${path}/${lang}.json"
      }
    ]
  }
}
</code></pre><h3 id="enable-icu-plural-parsing">Enable ICU plural parsing <a class="markdownit-header-anchor" href="#enable-icu-plural-parsing">🔗</a></h3><p>If your translation files include ICU-style plural messages like:</p><pre><code class="language-JSON">"{count, plural, one {# item} other {# items}}"</code></pre><p>Localazy needs to know this so it can parse the message correctly and present plural fields properly to translators. Add this to your <code>localazy.json</code>:</p><pre><code>{
  "upload": {
    "type": "json",
    "features": ["plural_icu"], // Add this
    "files": [
      {
        "pattern": "src/i18n/en.json",
        "lang": "en",
        "path": "src/i18n"
      }
    ]
  },
  "download": {
    "files": [
      {
        "output": "${path}/${lang}.json"
      }
    ]
  }
}</code></pre><p>Without this, Localazy treats the plural string as plain text and translators see a raw ICU string instead of structured plural forms, which leads to formatting errors down the line. We'll create our first ICU plural example in the next step when we add keys to en.json. </p><p>Now that the integration part is ready, we will create the actual translation file that the React app and <code>i18next</code> will use.</p><h2 id="4-step-4-add-base-translation-files">4️⃣ Step 4: Add base translation files <a class="markdownit-header-anchor" href="#4-step-4-add-base-translation-files">🔗</a></h2><p>As we mentioned earlier, English will be our base language and you will later pull additional languages from Localazy rather than creating them manually.</p><h3 id="create-the-english-source-file">Create the English source file <a class="markdownit-header-anchor" href="#create-the-english-source-file">🔗</a></h3><p>Create the first translation file:</p><pre><code>src/i18n/en.json</code></pre><p>Inside, add a few keys to test basic React i18n behavior:</p><pre><code class="language-JSON">{
  "welcome": "Welcome to the React localized app",
  "language": "Langue",
  "items": "{count, plural, one {# item} other {# items}}"
}</code></pre><p><strong>This gives us enough content to verify that translations load correctly in React</strong>, that ICU plural formatting works with i18next, and that Localazy parses plural messages correctly after upload.</p><p>We're not creating any translated files yet. Localazy will generate them automatically once we upload this English file, add translations in the dashboard, and pull them back into the project. When that happens, you'll see new files appear alongside <code>en.json</code>, such as <code>fr.json</code> for French or <code>qps.json</code> for pseudo-localization.</p><h2 id="5-step-5-initialize-i18next-in-react">5️⃣ Step 5: Initialize i18next in React <a class="markdownit-header-anchor" href="#5-step-5-initialize-i18next-in-react">🔗</a></h2><p>With the translation files in place, it's time to wire up i18next and connect it to React.</p><h3 id="create-the-i18n-configuration-file">Create the i18n configuration file <a class="markdownit-header-anchor" href="#create-the-i18n-configuration-file">🔗</a></h3><p>Before React can read translations from <code>en.json</code>, we need to configure <code>i18next</code> and connect it to React through <code>react-i18next</code>. Create a dedicated file inside the i18n folder:</p><pre><code>src/i18n/index.js</code></pre><p>Add the initial configuration:</p><pre><code class="language-JavaScript">import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import en from "./en.json";

i18n
  .use(initReactI18next)
  .init({
    resources: {
      en: { translation: en }
    },
    lng: "en",
    fallbackLng: "en",
    interpolation: {
      escapeValue: false
    }
  });

export default i18n;</code></pre><p>This file loads the English translations, registers the React bindings, and sets English as the default and fallback language. We’ll add more languages here once Localazy downloads additional JSON files.</p><h3 id="import-the-i18n-config-in-the-react-entry-file">Import the i18n config in the React entry file <a class="markdownit-header-anchor" href="#import-the-i18n-config-in-the-react-entry-file">🔗</a></h3><p>Now that the i18n configuration exists, we need to make sure it loads before any components render. Open:</p><pre><code>src/main.jsx</code></pre><p>Add this in the import section:</p><pre><code class="language-JavaScript">import "./i18n";</code></pre><p>You don’t need to call anything explicitly, since just importing the file initializes <code>i18next</code> and attaches the React bindings so that components can use translations.</p><p><strong>At this point, the app has a working translation system</strong>, even though we’re only loading English. Nothing will change visually yet because we haven't replaced any hard-coded text with translation calls, but the foundation is set.</p><h3 id="use-translations-inside-components">Use translations inside components <a class="markdownit-header-anchor" href="#use-translations-inside-components">🔗</a></h3><p>Now that the <code>i18n</code> setup is loaded globally, we can start replacing hardcoded strings in components with real localized text. The <code>react-i18next</code> library provides <strong>a <code>useTranslation()</code> hook </strong>that gives access to the <code>t()</code> function, which retrieves values from <code>en.json</code>.</p><p>Open <code>src/App.jsx</code> and update it like this:</p><pre><code class="language-JavaScript">import { useTranslation } from "react-i18next";

function App() {
  const { t } = useTranslation();

  return (
    &lt;div className="p-6"&gt;
      &lt;h1&gt;{t("welcome")}&lt;/h1&gt;
    &lt;/div&gt;
  );
}

export default App;</code></pre><p>The text is now coming from the translation file instead of being typed manually. As you continue adding UI, you’ll replace normal strings with calls like <code>t("language")</code> or <code>t("items", { count })</code> once pluralization comes into play.</p><p>This verifies that our React localization setup is actually working before we move on to language switching and syncing translations with Localazy.</p><h3 id="add-a-simple-language-switcher">Add a simple language switcher <a class="markdownit-header-anchor" href="#add-a-simple-language-switcher">🔗</a></h3><p>To make the app multilingual rather than locked to English, we need a way to switch languages at runtime.<strong> i18next exposes a <code>changeLanguage()</code> method</strong>, which we can call from any React component.</p><p>For now, we’ll create a very simple toggle just to verify that switching works once additional language files are available.</p><p>Add this to <strong><code>src/App.jsx</code></strong>, below the <code>useTranslation()</code> hook:</p><pre><code class="language-JavaScript">&lt;button
  onClick={() =&gt; i18n.changeLanguage("fr")}
  className="mt-4 bg-amber-600 p-3 rounded-md"
&gt;
  {t("languange")}
&lt;/button&gt;</code></pre><p>Make sure to import i18n at the top:</p><pre><code class="language-JavaScript">import i18n from "./i18n";</code></pre><p>Right now, switching to <code>"fr"</code> won’t change anything yet because the French file hasn’t been generated. Localazy will handle that later. But wiring the switcher now <strong>helps us immediately verify translations once they download</strong>.</p><p>As the UI grows, you'll replace this button with a <code>select</code>, but this minimal setup is enough to confirm the React localization workflow is working.</p><h2 id="whats-next">➡️ What's next? <a class="markdownit-header-anchor" href="#whats-next">🔗</a></h2><p>You've just laid the foundation of your React localization setup: i18next is wired up, English translations are loading, and a language switcher is ready to go. That's the hard part done.</p><p>In Part 2, we'll bring Localazy fully into the picture. You'll upload your English strings, manage translations in the Localazy dashboard, pull translated JSON files back into the project, add a pseudo-locale for visual QA, and handle ICU plurals for dynamic content. See you there! 👋</p>]]></content:encoded>
            <author>Kevine Nzapdi</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/04/technical-article-3.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Translation API: Translate your content on the fly with Localazy AI!]]></title>
            <link>https://localazy.com/blog/translation-api-translate-your-content-on-the-fly-with-localazy-ai</link>
            <guid isPermaLink="false">translation-api-translate-your-content-on-the-fly-with-localazy-ai</guid>
            <pubDate>Fri, 24 Apr 2026 13:30:09 GMT</pubDate>
            <description><![CDATA[Sometimes there's content that needs to get translated and published without going through the TMS workflow. Learn how to translate your content on the fly with Localazy AI while keeping it in-context and consistent with your glossary and style guide.]]></description>
            <content:encoded><![CDATA[<p>Most localization workflows today follow a linear pattern: content is created, exported to a translation management system (TMS), pre-translated by AI, reviewed by a human, then reimported and published for production use. </p><p>For your app UI, web copy, or help articles (content that changes over time, needs version tracking, and benefits from a translator or reviewer taking a careful look) that process exists for good reason. String management gives you control, history, and accountability.</p><p><strong>But not all content needs that</strong>. An e-commerce catalog with tens of thousands of products, user reviews coming in from around the world, push notifications that need to go out in every market at once... For this kind of content, <strong>the overhead of a managed workflow is unnecessary</strong>. One-and-done translations don't always need to come through a TMS. </p><p>The <strong><a href="https://localazy.com/features/translation-api">Localazy AI Translation API</a></strong> is built for exactly this situation. And within your implementation, you don't really have to lose human control either. Read on to learn what the new Translation API can do and how to use it. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/image-3.png" class="kg-image" alt loading="lazy" width="784" height="488" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/image-3.png 600w, https://ghost.localazy.com/content/images/2026/04/image-3.png 784w" sizes="(min-width: 720px) 720px"></figure><h2 id="what-is-it">🧐 What is it? <a class="markdownit-header-anchor" href="#what-is-it">🔗</a></h2><p>It's <strong>a single API endpoint</strong> that lets you translate your content programmatically within the context of your Localazy project using Localazy AI.</p><p>You send a POST request with your source content, specify the source and target language, and get back translations in the response — no file uploads, no project sync, no waiting.</p><!--kg-card-begin: markdown--><pre><code class="language-bash">curl --request POST \
  --url https://api.localazy.com/projects/{projectId}/ai \
  --header 'Authorization: Bearer {{token}}' \
  --header 'Content-Type: application/json' \
  --data '{
    &quot;from&quot;: &quot;en&quot;,
    &quot;to&quot;: &quot;cs&quot;,
    &quot;items&quot;: [
      {
        &quot;key&quot;: &quot;btn_submit&quot;,
        &quot;source&quot;: &quot;Submit&quot;,
        &quot;comment&quot;: &quot;Button label for form submission&quot;
      },
      {
        &quot;key&quot;: &quot;welcome_message&quot;,
        &quot;source&quot;: &quot;Welcome back, %s!&quot;,
        &quot;lengthLimit&quot;: 50
      }
    ]
  }'
</code></pre>
<!--kg-card-end: markdown--><p>In the background, the Localazy AI <strong>uses your project's glossary, style guide, and other context cues</strong> to keep the output consistent with the rest of your translations managed on the platform. </p><p>Some technical details: </p><ul><li>Localazy Translation API handles <strong>up to 32 items per request </strong>(including plural forms).</li><li><strong>It accepts per-string comments</strong> to help the AI engine understand what it's translating.</li><li>If Localazy AI is unavailable for any reason, <strong>you can also configure a fallback</strong> to translate content using Google Translate or DeepL at the request level.</li></ul><h2 id="what-does-it-change-for-you">🧩 What does it change for you? <a class="markdownit-header-anchor" href="#what-does-it-change-for-you">🔗</a></h2><p>The Translation API allows you to implement Localazy AI translations <strong>as part of your application logic</strong>, without requiring the content to go through the TMS first.</p><p>With a standard localization workflow, strings need to exist in a source file, be uploaded, translated, reviewed, and pulled back before they can go anywhere. For content that benefits from that cycle, it's the right approach. But for content that's generated continuously, published in bulk, or time-sensitive, building a round trip through a TMS into your pipeline creates friction that serves no one.</p><p>Generic machine translation APIs give you a translation. The Localazy AI Translation API gives you a translation that understands your project. It has access to your glossary, so the terminology stays consistent across all requests. It also applies your style guide, so the output matches the register and tone of the rest of your content and communications. For teams that have already done the work of setting up a Localazy project, <strong>that context comes along for free</strong>.</p><p>And the additional note or comment you can pass with each request shapes the output in ways that a traditional machine translation can't match. </p><h2 id="how-does-it-work">🕹️ How does it work? <a class="markdownit-header-anchor" href="#how-does-it-work">🔗</a></h2><p>The API uses <a href="https://localazy.com/docs/general/localazy-ai">Localazy AI</a> as the primary translation engine in the same way you use it to power automated translations across your projects. What makes it <strong>more than a generic AI translation call</strong> is the context it draws on. When you make a request, the engine has access to your project's <a href="https://localazy.com/features/glossary">glossary</a> and <a href="https://localazy.com/features/style-guide">style guide</a>. </p><p>Say you're translating a push notification about a flash sale. If your style guide specifies an informal register, that carries through. If "Premium" is a term for a product tier that shouldn't be localized, your glossary handles it. And the content gets translated consistently with your product, <strong>without anyone managing it as a string</strong>.</p><p>Each request requires a <code>key</code> (the identifier for the content item). It doesn't need to be semantic, but a descriptive key (like <code>flash_sale_push_nov</code>), which gives Localazy AI a signal about what it's working with. You can also pass a <code>comment</code> (a short plain-text note explaining the string's context or placement) which makes a meaningful difference for short or ambiguous content.</p><h2 id="use-cases">🧭 Use cases <a class="markdownit-header-anchor" href="#use-cases">🔗</a></h2><p>Let's explore three example use cases that benefit the most from using the Translation API.</p><h3 id="e-commerce-new-catalog-content">E-commerce: new catalog content 🛍️ <a class="markdownit-header-anchor" href="#e-commerce-new-catalog-content">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">⚠️</div><div class="kg-callout-text"><strong>Problem</strong>: Large amount of product descriptions that need quick translation</div></div><p>For large e-commerce operations, the challenge is usually the sheer amount of product descriptions that need to be dealt with. A new product line might arrive as a structured feed of hundreds of SKUs, each with a title, short description, long description, and a set of attribute labels. Getting all of that through a managed translation workflow before launch takes time that the business doesn't always have.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">💙</div><div class="kg-callout-text"><strong>Solution</strong>: Localazy Translation API call when importing new products</div></div><p>The API fits naturally into your e-commerce product publishing pipeline. When new product content comes in, <strong>your backend calls the API, translations come back, and the content goes live in all target languages</strong>. The winter jacket description will likely stay the same in March as it was in January. Once it's translated, it's done and doesn't have to take space in a TMS.</p><p>During the process, your glossary keeps category names, brand terms, and product-specific vocabulary consistent across the catalog. And for short strings (for instance, a spec label like "<em>Water-resistant up to 30m</em>"), the <code>comment</code> field is worth using. Something like "<em>Product specification, shown in a grid on the product detail page</em>" gives the model enough context to handle the ambiguous phrasing.</p><p>In addition, the <code>lengthLimit</code> parameter is useful for constrained placements, like product card subtitles, meta descriptions, or anything that gets truncated in the UI if it runs too long.</p><h3 id="user-generated-content-reviews-and-community-posts">User-generated content: reviews and community posts 💬 <a class="markdownit-header-anchor" href="#user-generated-content-reviews-and-community-posts">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">⚠️</div><div class="kg-callout-text"><strong>Problem</strong>: Reviews or content generated by users regularly coming in</div></div><p>Translating user-generated content close to real time is practical with the API in a way it isn't with a TMS workflow. A new review gets submitted on your site → your backend sends it to the API → you store the translation alongside the original → the reader sees it in their language.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">💙</div><div class="kg-callout-text"><strong>Solution</strong>: Natural translations using the comment field + context</div></div><p>User-generated content <strong>tends to be informal, which can trip up engines that default to a formal register</strong>. Using the <code>comment</code> field to note that a string is user-generated — along with relevant context like product category or discussion topic — helps keep the output from feeling stiff. Your style guide can also set register expectations that carry through automatically.</p><h3 id="multilingual-publishing-push-notifications">Multilingual publishing: push notifications 📲 <a class="markdownit-header-anchor" href="#multilingual-publishing-push-notifications">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">⚠️</div><div class="kg-callout-text"><strong>Problem</strong>: Notifications need to be delivered immediately in other languages</div></div><p>Push notifications are one of the cleaner cases for the Translation API because the constraints are so well-defined: short strings, all languages at once, and a hard deadline. Notifications can't wait for translation cycles to complete: they need to go out now. 😀</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">💙</div><div class="kg-callout-text"><strong>Solution</strong>: The Translation API call integrated in your notification control center.</div></div><p>Most teams handle this in one of two ways: either they maintain separate notification content for each language (high effort, easy to let drift out of sync), or they send everything in English and accept that a chunk of their audience gets a worse experience. The Translation API opens a third path that requires little additional infrastructure.</p><p>To show how this works in practice, here's a proof of concept I coded with Claude: a simple push notification center for a fictional mobile game, "Monkey Mayhem: Jungle Chaos," that I use as an example project in Localazy demo calls.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/localazy-ai-translation-api-1.gif" class="kg-image" alt loading="lazy" width="720" height="720"></figure><p>The interface of my push notification center lets you write your notification in the selected source language, translate it into 9 predefined languages with Localazy AI, make any last-minute corrections, and send it. </p><p>Under the hood, it calls the Localazy Translation API for all target locales, collects the responses, and prepares the localized versions for dispatch. </p><p>Each language goes to the API as a separate request. The responses come back with translations for each, keyed to the original string.</p><p><strong>The whole flow (write, translate, review, send) takes about as long as it takes you to write the notification in the first place.</strong> There's no handoff to a translator, no waiting, and no reimporting. 🎉</p><p>For short strings like notification copy, the <code>comment</code> field could also be added to refine the output quality further. Something like "<em>Push notification for reactivating mobile game players, shown on mobile lock screen</em>" can give the resulting translations some flair. </p><p>And as stated above, if Localazy AI is unavailable for any reason, you can set a fallback to <code>"deepl"</code> or <code>"google"</code> in the request, which creates a safety net for time-sensitive use cases like this. </p><h2 id="wrapping-up">✅ Wrapping up <a class="markdownit-header-anchor" href="#wrapping-up">🔗</a></h2><p>The Translation API doesn't replace a managed localization workflow, but it's a terribly useful tool to <strong>extend the possibilities</strong> when you're delivering a multilingual experience to your users.</p><p>For content that benefits from translator review, version history, and string-level control, Localazy's standard workflow remains the right approach. In contrast, the API handles what that workflow was never designed for: <strong>high volumes, short turnarounds, and content with short expiration dates</strong>.</p><p>If this fits your use case, it's easy to get started:</p><ol><li>Create a Localazy project (or use an existing one).</li><li>Generate a translation token scoped to this endpoint.</li><li>Make your first POST request to <code>/projects/{projectId}/ai</code>.</li></ol><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">📚</div><div class="kg-callout-text">Full request/response reference and code examples are available in the <a href="https://localazy.com/docs/api/ai-translation-api">Translation API docs</a>.</div></div><p>Remember that translation requests consume <a href="https://localazy.com/docs/general/localazy-credits">Localazy credits</a>, so make sure to check your account balance before going to production. We hope you find this feature useful and, for any questions or feedback, leave a comment on the <a href="https://discuss.localazy.com">discussion forum</a> or <a href="https://localazy.com/contact">contact us</a> directly. </p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/04/Localazy-AI-translation-api.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Can't afford multilingual support? The math behind using an AI chatbot vs. localizing your help center]]></title>
            <link>https://localazy.com/blog/ai-chatbot-vs-help-center-the-math-behind-localized-support</link>
            <guid isPermaLink="false">ai-chatbot-vs-help-center-the-math-behind-localized-support</guid>
            <pubDate>Tue, 21 Apr 2026 12:02:54 GMT</pubDate>
            <description><![CDATA[Want to support your global customers, but can't afford a multilingual support team? You have two options: use an AI chatbot or localize your help center. Let's find out which approach better fits your needs with realistic examples.]]></description>
            <content:encoded><![CDATA[<p>Meet Sakura. She’s an accountant based in Tokyo, and she’s trying to use your SaaS product to deliver a report due tomorrow morning. She hits a snag. "No problem", she thinks. <strong>She heads to your help center</strong>.</p><p>The articles are in English. Sakura isn't a techie, and while her conversational English is okay, technical jargon makes her head spin. She clicks the browser's "Translate to Japanese" feature. The resulting word salad confuses her even more. Frustrated, she calls support.</p><p>The agent on the other end is polite, knowledgeable, and speaks perfect English. <strong>Sakura does not</strong>. After five minutes of struggling to explain that the "merge" button doesn't match the instructions she read, she says, "Ah, okay, I understand. Thank you."</p><p>She hangs up. She didn't understand. Sakura<strong> churns silently and moves to a local competitor with worse features but documentation in Japanese</strong> she can actually read.</p><p>You know this is happening. According to Zendesk, <a href="https://www.zendesk.es/blog/customer-service-statistics/#">more than 50% of consumers will quietly switch to a competitor</a> after only one bad experience instead of providing feedback.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/AdobeStock_582729584.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/AdobeStock_582729584.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/AdobeStock_582729584.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/AdobeStock_582729584.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/04/AdobeStock_582729584.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>You feel the revenue slipping through the cracks. A multilingual support team would solve the problem, <strong>but you can’t hire an agent for each language</strong>. Localize your help center docs? Well, you dread the memory of the last time you tried traditional <a href="https://www.articulate.com/glossary/end-to-end-localization/">E2E localization</a>: the email threads, the spreadsheets, the copy-pasting. 🤦‍♂️</p><p>Naturally, you look for a solution that bypasses that chaos. <strong>You consider using ChatGPT for customer support</strong>. A chatbot can read your English resources, translate incoming tickets in the background, and automatically guide users in Spanish, German, or Japanese. All without adding a heavy operational burden.</p><p>Both options (the automated bot and the localized help center) have their pros and cons. To see which one actually fits your situation, let's take a closer look.</p><h2 id="the-ai-support-agent-no-toilet-pauses-but-no-mother-tongue">🤖 The AI support agent: No toilet pauses, but no mother tongue <a class="markdownit-header-anchor" href="#the-ai-support-agent-no-toilet-pauses-but-no-mother-tongue">🔗</a></h2><p>AI support agents detect language automatically and respond natively using AI translation and <a href="https://localazy.com/dictionary/natural-language-processing-nlp">natural language processing</a>. On the surface, they appear to solve the multilingual problem elegantly.</p><p>Let’s start with the AI support agent. It detects customer language in real time. It responds natively using AI translation and NLP. Adding an automated multilingual chat operator to your support flow feels like the logical next step.</p><h3 id="where-multilingual-chatbots-shine">Where multilingual chatbots shine <a class="markdownit-header-anchor" href="#where-multilingual-chatbots-shine">🔗</a></h3><ul><li><strong>It’s a polyglot</strong>: The bot speaks everything, from French to Tagalog, without you lifting a finger.</li><li><strong>It’s cheap</strong>: Token costs are tiny compared to hiring humans.</li><li><strong>No spreadsheet hell</strong>: You feed it your existing English docs and rely on AI translation for ticket conversations. No export/import nightmares.</li><li><strong>Brand voice tuning</strong>: You can prompt the bot to sound like a pirate or a professional, aligning with your brand's tone of voice.</li><li><strong>Knowledge sponge</strong>: You can train the bot on past tickets, Slack threads, and Confluence pages.</li><li><strong>Internal use</strong>: If you end up hiring agents, you can use the bot to support them to talk in countless languages without human translation delays.</li></ul><p>So, an AI chatbot platform that supports multiple languages sounds perfect. Is there a catch? Let’s see.</p><h3 id="the-hidden-cost-of-the-ai-support-bot">The hidden cost of the AI support bot <a class="markdownit-header-anchor" href="#the-hidden-cost-of-the-ai-support-bot">🔗</a></h3><ul><li><strong>👨‍💻 The developer time sink</strong></li></ul><p>You might think the cost is just the subscription. But <strong>developer time dwarfs the price of monthly subscriptions or API tokens</strong>. To set this up, your developers need to integrate the API, configure the webhooks, and ensure security compliance. Then comes maintenance. APIs change, tokens expire, and connections break. Every hour your lead dev spends fixing the chatbot is an hour they aren't shipping features for your core product.</p><p>It's true that some support platforms offer solutions out of the box so your devs don't get interrupted, but <strong>that also comes at a cost</strong>: they charge for it and tend to add a nice margin on top of the raw token usage. </p><ul><li><strong>👩🏻‍💼 Project management and quality assurance time</strong></li></ul><p>Neither DIY agents nor top multilingual chatbot platforms run themselves. Someone has to create relevant prompts, test responses, and monitor hallucinations. <strong>That someone is usually you</strong>. You end up continuously optimizing AI translation for customer support.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/AdobeStock_554097360.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1386" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/AdobeStock_554097360.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/AdobeStock_554097360.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/AdobeStock_554097360.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/04/AdobeStock_554097360.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><ul><li><strong>🎨 The UI inconsistency bug</strong></li></ul><p>This is the big one. The silent killer of customer satisfaction.</p><p>Let’s go back to Sakura. Or let’s say you have a French user. Your multi-language support bot reads your English documentation where the "Submit" button is mentioned. It translates this on the fly for the French user and tells them to click "Soumettre."</p><p>But your app interface? Maybe it was localized by a different team, or maybe it’s hard-coded. In your app, the button says "Valider." The user looks for "Soumettre." They don't find it. They see "Valider," but they aren't sure if that does the same thing. <strong>Confusing UI patterns generate tickets faster</strong> than the AI-powered bot can resolve them.</p><ul><li><strong>🛠️ The commitment</strong></li></ul><p>When you build your multilingual customer support strategy around a specific bot, you are building on leased land instead of acquiring equity. Your glossary, your fine-tuning, your specific "fixes" for its bad habits... <strong>they all live inside that specific tool</strong>.</p><p>Want to switch from <a href="https://localazy.com/features/intercom-localization-plugin">Intercom</a> to <a href="https://localazy.com/features/zendesk-localization">Zendesk</a>? Or from one AI provider to another? You have to start over. All that configuring, testing, and prompting happens again. You’re locked in by the sheer effort of leaving.</p><h2 id="localized-help-center-your-single-source-of-truth">🧭 Localized help center: Your single source of truth <a class="markdownit-header-anchor" href="#localized-help-center-your-single-source-of-truth">🔗</a></h2><p>Now, let’s look at the "old school" approach, where you eliminate SaaS support tickets by localizing your help center to other languages.</p><h3 id="how-multilingual-documentation-bridges-the-gap">How multilingual documentation bridges the gap <a class="markdownit-header-anchor" href="#how-multilingual-documentation-bridges-the-gap">🔗</a></h3><ul><li><strong><strong><strong>📖</strong></strong> <strong><strong>The glossary fix</strong></strong></strong></li></ul><p>Remember the "Soumettre" vs. "Valider" mess? A localized help center fixes this permanently. <strong>You define your terms once in a glossary or AI style guide</strong>. "Submit" always equals "Valider." The documentation matches the interface. The user reads "Click Valider," sees a button named "Valider," and clicks it. Problem solved. No ticket created.</p><ul><li><strong><strong><strong>✍️</strong></strong> <strong><strong>Consistent style</strong></strong></strong></li></ul><p>You want your brand to sound the same in Berlin as it does in Boston. With a localized help center, <a href="https://localazy.com/docs/general/style-guide">you can set up a style guide</a> to ensure your tone and customer experience are culturally adapted. You configure tone of voice, industry, and register per language, feed context details, and forget about it for years.</p><ul><li><strong><strong><strong>🧱</strong></strong> <strong><strong>The foundation effect</strong></strong></strong></li></ul><p>This is the part most people miss. Think of a localized help center as <strong>a data source rather than a destination for users</strong>. Once you have clean, verified content, you can feed <em>that</em> to any new tool that comes along next year. All properly localized AI agents for multilingual customer service need a single source of truth like that.</p><p>Think of it: ChatGPT’s very own help center is available in 19 languages.</p><figure class="kg-card kg-image-card"><img src="data:image/png;base64,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IAESIAESIAESIAESIAESIAESuDcIUJlxb/QDpSABEiABEiABEiABEiABEiABEiABEvCQAJUZHoJiMhIgARIgARIgARIgARIgARIgARIggXuDAJUZ90Y/UAoSIAESIAESIAESIAESIAESIAESIAEPCVCZ4SEoJiMBEiABEiABEiABEiABEiABEiABErg3CFCZcW/0A6UgARIgARIgARIgARIgARIgARIgARLwkACVGR6CYjISIAESIAESIAESIAESIAESIAESIIF7gwCVGfdGP1AKEiABEiABEiABEiABEiABEiABEiABDwlQmeEhKCYjARIgARIgARIgARIgARIgARIgARK4Nwg0QGXGLVw8EI/wMf3R29cXvvLpP3QSlmcV4vpt19Dz4vpr6XzD0nHFRZKL74RY7+vlqTK1ckeFIyH3uuS4iNRx1mvGPZf7camSUt++LkD6gkkY3F/P17s/guckILf4lpFC2+cukPvmfKa7VrlCkFpsumgc5i9Hf03OSUi/bFys3v5W7nIEDgpEwsnq5bfn8qxvrO2KQq49YzWPCpG5dDGSc131anlZeg+ahMjEbFx07AJofeDU976+vdH/qShkFqnEuYgqd9/FeFhw5y2qJghmIwESIAESIAESIAESIAESIIEGReAnDao1uC4Tz1GYuesbdH0qGmtj/OD7i0vI3ZOEpJgQZGZFI3NzOLo2NbX6u2ykb/8GUNdOpmJrYSjm+pru2w4DsfbYUgzQz6+dz8OelDVInjkKpRsPYUnKMYy2KUsuYuu0SUhGBN5PmYyORhlNW6CNOv5HKkLGxKOwrT8iFm/EiL4dcO1kLjI3xmPmyAyM37AXK4a2NHJVY38L2R+k4xvVptsFSN1WiNBIl43ysOxbuPn1TZR+qybuzTzM45ysGn3jXESVz0uRtz0T5ztHIMLfnFlkWSrjRPrdPE4K8ncj+fVIBH44Hht3roC/uQt8zH0pLM7mYuua5Vg87jyu73sfS44dwwJbFXlYNjgK2UFrcSzGGDFy06uFLQUPSIAESIAESIAESIAESIAESIAEqk+gQSkzLm5+RhQZQPBbuVhrUwZ0RWhPfwT3i8LwOfFYkTUaqRM1lYJG7crOFGTf7oiIt8KRN3s5tmYVYG5MbxdEm6FlmzZWZYTcbdMmGHP7tcH1geFI35uPFf7+pmn+TbTUFCYtJZ09j1bo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PgmQAAmQAAmQAAmQAAmQgImA8VVf7dXnxx9/1D5nzpzh93MTJx6SQF0RUHPjHj16oEmTJtrnvvvug/qozdjXlSy1UU9dzv3pZlIbPcgySYAESIAESIAESIAESIAESIAESIAEao0AlRm1hpYFkwAJkAAJkAAJkAAJkAAJkAAJkAAJ1AYBKjNqgyrLJAESIAESIAESIAESIAESIAESIAESqDUCVGbUGloWTAIkQAIkQAIkQAIkQAIkQAIkQAIkUBsEqMyoDaoskwRIgARIgARIgARIgARIgARIgARIoNYIUJlRa2hZMAmQAAmQAAmQAAmQAAmQAAmQAAmQQG0QoDKjNqiyTBIgARIgARIgARIgARIgARIgARIggVojQGVGraFlwSRAAiRAAiRAAiRAAiRAAiRAAiRAArVBgMqM2qDKMkmABEiABEiABEiABEiABEiABEiABGqNAJUZtYaWBZMACZAACZAACZAACZAACZAACZAACdQGASozaoMqyyQBEiABEiABEiABEiABEiABEiABEqg1Aj+ptZKdCv7kk0+crvCUBEiABEiABEiABEiABEigNglYLBateGP/448/Qn28vLxqs1qWTQIkUAGBU6dOoUmTJtpHJbvvvvu01Ma+gqy8ZSJQZ8qMhx9+2FQtD0mABEiABEiABEiABEiABGqbgKHEUHv1MZQZZ86cqe2qWT4JkIAbAn369LEpM5QCw1BiGHs32erF5bo0YqCbSb0YEhSSBEiABEiABEiABEiABEiABEiABEjAIEBlhkGCexIgARIgARIgARIgARIgARIgARIggXpBgMqMetFNFJIESIAESIAESIAESIAESIAESIAESMAgQGWGQYJ7EiABEiABEiABEiABEiABEiABEiCBekGAyox60U0UkgRIgARIgARIgARIgARIgARIgARIwCBAZYZBgnsSIAESIAESIAESIAESIAESIAESIIF6QYDKjHrRTRSSBEiABEiABEiABEiABEiABEiABEjAIEBlhkGCexIgARIgARIgARIgARIgARIgARIggXpBgMqMetFNFJIESIAESIAESIAESIAESIAESIAESMAgQGWGQYJ7EiABEiABEiABEiABEiABEiABEiCBekGAyox60U0UkgRIgARIgARIgARIgARIgARIgARIwCDwE+OAexIgARIgARIgARIgARIgARKo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" class="kg-image" alt loading="lazy"></figure><h3 id="things-to-consider-when-translating-your-self-service-help-resources">Things to consider when translating your self-service help resources <a class="markdownit-header-anchor" href="#things-to-consider-when-translating-your-self-service-help-resources">🔗</a></h3><p>Even top AI virtual assistants require setup and fine-tuning, but <strong>so does localized content</strong>. Let’s see how much effort it takes to configure your help center to support multiple languages.</p><ol><li><strong>Native-speaking translators</strong></li></ol><p>Keep reading if you already employ language experts. But even if you don’t, here’s a little hack: <a href="https://localazy.com/features/continuous-localization-team/ ">use Localazy</a>. ✨ In addition to a centralized localization management system, you get access to vetted professionals on demand. You pay for the work when you need it.</p><p><strong>2. Ongoing updates</strong></p><p>You might picture re-uploading entire Word documents every time you change a comma. Today’s tech is different. Here’s how Localazy simplifies things: you change one sentence in an English article – the system flags <em>only that sentence</em> for translation. Instead of re-doing the whole doc, you simply patch the update. That's what <a href="https://localazy.com/dictionary/continuous-localization">continuous localization</a> is about.</p><p><strong>3. System integration</strong></p><p>You’ll need to connect your help center (like Intercom or Zendesk) to a localization system. With Localazy, that’s a matter of 30 minutes. <strong>You set it up once</strong> to let content flow out, get translated, and flow back with a simple trigger.</p><p><strong>4. Translation management</strong></p><p>A solid workflow for localizing your help center in multiple languages is non-negotiable. But if you use Localazy, you forget about the chaotic email threads and <strong>get everything in one dashboard</strong>. No new tool to manage. You can also invite team members and contributors, set up your own style guide for automated first draft translation using MT or AI and <a href="https://localazy.com/features/automations">automate workflows</a> for recurring tasks.</p><p><strong>5. Time</strong></p><p>Want to localize your help center fast? <strong>Use AI for 95% of the heavy lifting and then have a human review the output for accuracy</strong>. Localazy comes with <a href="https://localazy.com/features/localazy-ai">AI-driven translation built-in,</a> paired with sleek context and collaboration tools. Anyway, plan ahead because the human in the loop has to eat and sleep.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/AdobeStock_320409255.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1042" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/AdobeStock_320409255.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/AdobeStock_320409255.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/AdobeStock_320409255.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/04/AdobeStock_320409255.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="what-are-the-costs-of-each-path">💰 What are the costs of each path <a class="markdownit-header-anchor" href="#what-are-the-costs-of-each-path">🔗</a></h2><p>Let’s try to figure out a price tag for each option. We love numbers, right?</p><h3 id="path-1-the-bot-only-strategy">Path 1: The bot-only strategy <a class="markdownit-header-anchor" href="#path-1-the-bot-only-strategy">🔗</a></h3><p>Let's take the <a href="https://localazy.com/dictionary/tco">Total Cost of Ownership (TCO)</a> for the first year into account:</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">🤖</div><div class="kg-callout-text"><strong>Total Bot Cost</strong> = (Bot subscription cost) x (Developer hours x Developer hourly rate) + (Prompting &amp; testing hours x Project Manager hourly rate) + (UI-related tickets x Cost per ticket)</div></div><p>‌The visible costs include subscription fees and token usage. The less visible cost (and this is the scary part) is the number of support tickets generated by UI inconsistencies and unclear documentation, which is <strong>an unknown variable that scales with your user base</strong>. The more users you have, the more "<em>Soumettre</em>” vs. “<em>Valider</em>" confusion you create, and the higher your costs climb. At scale, even a small increase in ticket volume offsets any token savings.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">💰</div><div class="kg-callout-text"><strong>The costs in practice</strong></div></div><p>Let’s see how this works in practice if you use an Intercom AI agent. You might start with the Essential subscription ($29/seat), but you’ll have to upgrade to Advanced ($85/seat) because the lower tier doesn’t include multi-language support. Just two seats will cost you $2,040 per year for the subscription alone.</p><p>Say you're aiming for three languages. Developers will need to spend around 35 hours ($60/hr) on setup and knowledge base integration. Next, your team will spend 20 hours ($45/hr) creating and testing multilingual prompts. Finally, occasional UI tickets (for issues like text overflow and locale bugs) take approximately four hours per ticket to resolve. Just four tickets like that per year add another $960. </p><p>You end up paying <strong>around $6,000</strong> for your first year.</p><p>That’s how much AI support agents cost in 2026.</p><h3 id="path-2-the-foundation-first-strategy">Path 2: The foundation-first strategy <a class="markdownit-header-anchor" href="#path-2-the-foundation-first-strategy">🔗</a></h3><p>Now let's focus on content localization with a platform like Localazy:</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🧪</div><div class="kg-callout-text"><strong>Total Localization Cost</strong> = (Localazy subscription) x (Developer setup time x Developer hourly rate) + (Total word count x Cost per word)</div></div><p>A structured localization setup involves:</p><ul><li><strong>Platform subscription costs</strong></li><li><strong>Initial integration time</strong> (typically a few hours of developer work)</li><li><strong>One-time translation investment</strong> for your existing help center</li><li><strong>Ongoing incremental updates </strong>(you only pay for changed content)</li></ul><p>Notice what’s missing? The ticket cost variable. By eliminating the confusion at the source, you remove the operational drag on your support team. Let’s just agree that <strong>the best way to automate customer support tickets is to eliminate them</strong>.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">💰</div><div class="kg-callout-text"><strong>The costs in practice</strong></div></div><p>As a small SaaS company using Localazy, you would pay around $2,868 for the first year. This includes eight developer hours ($60/hr) and human translation (16,000 words × $0.12/word). </p><p>The total cost drops to just <strong>$1,188</strong> if you use AI paired with machine translation (16,000 words × ~$0.015/word). Updates are just a few dollars on top.</p><blockquote>💡 Naturally, these calculations are estimates and depend on a few variables, but you get the idea. If you want a personalized breakdown, just <a href="https://localazy.com/contact">contact Localazy</a> for a quote</blockquote><p>Multilingual self-help resources boost your ticket deflection rate, saving you time and money. But one localization advantage plays a special role in the cost-benefit breakdown:</p><h2 id="your-multilingual-help-center-drives-sales">📈 Your multilingual help center drives sales <a class="markdownit-header-anchor" href="#your-multilingual-help-center-drives-sales">🔗</a></h2><p>Let's zoom out. "Support" is often treated as a cost center. But let's look at it <strong>through the lens of revenue</strong>, as it is more of a conversion lever.</p><h3 id="the-free-trial-conversion">The free-trial conversion <a class="markdownit-header-anchor" href="#the-free-trial-conversion">🔗</a></h3><p>High-intent users (the ones most likely to buy) read your support articles and FAQs. <strong>They want to see if your tool can actually solve their specific problem</strong>.</p><p>Let’s say a potential customer in France explores your self-service help resources and encounters the UI inconsistency bug we talked about earlier. Do you think they’ll file a support ticket? <a href="https://localazy.com/blog/mythbusters-users-will-tell-us-if-somethings-wrong-with-our-localized-ux">Not really</a>. They will probably assume your product is buggy or difficult and close the tab.</p><p>A localized help center is a conversion optimization tool as it reduces cognitive friction at the exact moment purchase intent peaks.</p><h3 id="the-silent-sales-team">The silent sales team <a class="markdownit-header-anchor" href="#the-silent-sales-team">🔗</a></h3><p>In B2B especially, the person testing your product isn't always the person signing the check.</p><p>If you are selling to a Japanese company, your English UI might be fine for the engineers. But Compliance officers, legal reviewers, or procurement leaders would prefer reading the security documentation and compliance overview in Japanese. If they can't, they might veto the purchase. Localized docs remove this friction. They silently sell your product as reliable and professional while you sleep.</p><p>In markets like France or Japan, this is the difference between being a vendor and a partner. Hardly just a "nice to have." The ROI of translating your help center is higher than meets the eye.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/04/AdobeStock_609640115-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2026/04/AdobeStock_609640115-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/04/AdobeStock_609640115-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/04/AdobeStock_609640115-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/04/AdobeStock_609640115-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="quick-wins-or-a-change-ready-system">🎯 Quick wins or a change-ready system? <a class="markdownit-header-anchor" href="#quick-wins-or-a-change-ready-system">🔗</a></h2><p>So, which path makes sense for you?</p><p>Use the AI chatbot for quick wins if you have free time and a developer who has no better things to do than configuring the bot. But be aware: <strong>you might be planting landmines that eventually explode</strong> in a silent chain reaction of confused users and support tickets.</p><p>A localized help center will require some work, too. <strong>However, it builds a foundation</strong>. It ensures that when you <em>do</em> deploy a bot, it stands on solid ground. <strong>Your support docs become a single Source of Truth</strong> that drives sales, prevents churn, and allows you to adapt as technology develops.</p><p>The ultimate tip: localize your help center first. <em>Then</em> plug in an AI support chatbot. Get ready to build a foundation and make every other tool you use more effective. <a href="https://localazy.com/register">Try Localazy</a> and see how easy it is to automate your help center localization.</p>]]></content:encoded>
            <author>Mick Chistopolov</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/04/Localised-support.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Cold dogs and careful words: My experience localizing an ADHD planning app into Chinese]]></title>
            <link>https://localazy.com/blog/translation-stories-chinese-localization-tiimo-app</link>
            <guid isPermaLink="false">translation-stories-chinese-localization-tiimo-app</guid>
            <pubDate>Tue, 14 Apr 2026 18:28:14 GMT</pubDate>
            <description><![CDATA[When you're localizing an app for neurodivergent users, every choice matters. The right wording makes their lives easier. I translated Tiimo, a Danish ADHD planning app, into Chinese using Localazy. I'll show you how the right platform made my work easier (with actual examples).]]></description>
            <content:encoded><![CDATA[<p>When you're localizing an app for neurodivergent users, every word choice matters. If you get it wrong, you're essentially making your users' lives harder.</p><p>I learned this firsthand working on<strong> <a href="https://www.tiimoapp.com/">Tiimo</a></strong>, a Danish planning app built specifically for people with ADHD. But my connection to this project started a decade earlier, through a friend in a new mom online group. </p><p>She's a lawyer in China and our sons are the same age. Six years ago, she started posting about ADHD publicly after her son was diagnosed. At the time, most people in China didn't understand it well. Information was limited and practical tools were hard to find. Through her daily posts, she shared research, answered questions from other parents, and connected people going through the same thing. The more she shared, the more I understood. And when I came across Tiimo three years ago, <strong>the concept immediately made sense</strong>. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Screenshot-2026-01-19-at-09.51.59.png" class="kg-image" alt loading="lazy" width="2000" height="1565" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Screenshot-2026-01-19-at-09.51.59.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Screenshot-2026-01-19-at-09.51.59.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/01/Screenshot-2026-01-19-at-09.51.59.png 1600w, https://ghost.localazy.com/content/images/2026/01/Screenshot-2026-01-19-at-09.51.59.png 2186w" sizes="(min-width: 720px) 720px"></figure><h2 id="bringing-tiimo-to-the-chinese-market">📱Bringing Tiimo to the Chinese market <a class="markdownit-header-anchor" href="#bringing-tiimo-to-the-chinese-market">🔗</a></h2><p>When the Tiimo team reached out to me for help with their Chinese localization, I knew I wanted to work on the project. An app like this had <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC11904913/">the potential of making  life genuinely easier</a> for the community my friend had been advocating for.</p><p><a href="https://www.linkedin.com/in/clemencerigal/"><strong>Clémence Rigal</strong>, Tiimo's Head of Growth</a>, put it clearly:</p><blockquote><em>"Because our product is built for a neurodivergent audience, we need language that is both affirming and universally understandable. We think about accessibility in the user experience of the app itself, and in the wording we use"</em></blockquote><p>That's a tall order for localization. English has a growing vocabulary around neurodiversity. <strong>Chinese doesn't (not yet)</strong>. So, more than converting English to Chinese, we were helping an entire community put their experience into words.</p><p>This kind of work required a good translator, but also the right tools. Tiimo's previous setup was fragmented across multiple platforms. Now, they needed something that could be integrated with their CMS while giving translators the necessary context to make good decisions.</p><p>That's where Localazy came in. From my perspective as the Chinese localizer, what mattered most was how the platform handled the collaboration:</p><ul><li>❓Could I get quick answers to questions? </li><li>❓Could I maintain consistency across thousands of strings? </li><li>❓Could I override the system when Chinese grammar demanded it?</li></ul><p>The answer to all three was <strong>yes</strong>. Let me show you how.</p><h2 id="first-impressions-the-localazy-ui">💻 First impressions: the Localazy UI <a class="markdownit-header-anchor" href="#first-impressions-the-localazy-ui">🔗</a></h2><p>Getting started was surprisingly simple. If you have a Google account, you don't even need to register separately. Just log in and you're in. For Tiimo, <strong>all 22 language pairs live in one place, which meant I could see the project scope immediately</strong>.</p><p>When I clicked into <a href="https://localazy.com/translate/en-zh_cn_hans">Chinese (Simplified)</a>, the interface was clean. Every string waiting to be translated appeared in a neat list. Source language on the left, target language on the right. Intuitive enough that I didn't need a tutorial. Underneath each string, I could see tabs for the main features:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect.png" class="kg-image" alt loading="lazy" width="1068" height="738" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect.png 1000w, https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect.png 1068w" sizes="(min-width: 720px) 720px"><figcaption>Localazy interface.</figcaption></figure><ul><li><strong>Suggestions</strong> (machine translation options)</li><li><strong>Similar</strong> (translation memory for consistency)</li><li><strong>Versions</strong> (edit history and rollback)</li><li><strong>Languages</strong> (how other translators handled this string)</li><li><strong>Screenshots</strong> (visual context from the app)</li><li><strong>Comments</strong> (direct communication with the dev team)</li></ul><p>Everything I needed to make informed translation decisions was right there on the <a href="https://localazy.com/docs/general/translating-strings">translation interface</a>. This was very helpful for me since I didn't need to switch between tools, use separate spreadsheets, or hunt for context in email threads.</p><h2 id="the-30-minutes-string">🔍 The "30 minutes" string <a class="markdownit-header-anchor" href="#the-30-minutes-string">🔗</a></h2><p>Let me walk you through one string that demonstrates Localazy's entire workflow, from initial doubt to final resolution.</p><h3 id="30-minutes-each-or-in-total">30 minutes each, or in total? <a class="markdownit-header-anchor" href="#30-minutes-each-or-in-total">🔗</a></h3><p>One afternoon, I was working through new strings for Tiimo Learn, the community-based online lessons feature. One string caught my attention:</p><blockquote><strong><em>"7 Lessons · 30 Mins"</em></strong></blockquote><p>At first glance, it seemed straightforward. I translated it quickly:</p><blockquote><strong>"7节课 · 每节课30分钟"</strong> (7 lessons · 30 minutes each lesson)</blockquote><p>But as I moved on to the next string, something nagged at me. Wait. Did that English actually mean "30 minutes each"? Or did it mean "30 minutes total"?</p><p>I went back to look at the source text again. The English was concise, maybe too concise. There was nothing that explicitly said "per lesson" or "in total".</p><p>In Chinese, I couldn't be ambiguous. <strong>The grammar forces you to be explicit</strong>. If I said "每节课30分钟" (30 minutes each lesson), users would expect 3.5 hours of content. If the actual total was 30 minutes, I'd just wasted hours of their time. For people using Tiimo to manage ADHD and plan their days carefully, that's was unhelpful. I needed to know for sure.</p><h3 id="asking-the-team-directly-on-comments">Asking the team directly on comments <a class="markdownit-header-anchor" href="#asking-the-team-directly-on-comments">🔗</a></h3><p>This is where Localazy's <a href="https://localazy.com/docs/general/reviewing-translations">Comments feature</a> saved me from the email ping-pong I've endured on other projects. Instead of opening my inbox, drafting a query, waiting for a response, and losing context in the meantime, I clicked directly on the string in Localazy and typed into the Comments box:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect-1.png" class="kg-image" alt loading="lazy" width="1345" height="685" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect-1.png 1000w, https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect-1.png 1345w" sizes="(min-width: 720px) 720px"></figure><p>I hit save and went back to work on other strings. No point sitting there waiting. Two hours later, I got a reply in the same thread: <em>"Hi Jenny, 30 minutes would be the total duration for all 7 lessons".</em></p><p>Ah. So my initial translation was wrong. Good thing I asked.</p><p><strong>Three messages, one clear answer, context preserved</strong>. No "sorry, which string were you asking about again?" and no back-and-forth screenshot exchanges. Instead, the entire exchange is still visible in that string's comment thread today. If another localizer working on Korean or Japanese has the same question, <strong>they can see the answer immediately</strong>.</p><p>This is better than <a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">the traditional spreadsheet approach</a>. Here, the conversation lives with the string itself. And it allows you to nail the translation from the start, saving you hours of fixes and user confusion later.</p><h3 id="the-final-revised-translation">The final revised translation <a class="markdownit-header-anchor" href="#the-final-revised-translation">🔗</a></h3><p>Now that I knew it was 30 minutes total, I needed to revise. I clicked back on the string and updated my translation:</p><blockquote><strong>"7节课 · 共30分钟"</strong></blockquote><p>The key changes:</p><ol><li>🟢 I kept the measure word 节 (jié) after the number 7 to indicate "lessons/sessions"</li><li>🟢 I replaced 每节课 (each lesson) with 共 (gòng — meaning "total" or "in total") before "30 minutes"</li></ol><p>This made it crystal clear for Chinese users: <strong>all seven lessons would take 30 minutes of their time</strong>.</p><h3 id="checking-for-terminology-consistency">Checking for terminology consistency  <a class="markdownit-header-anchor" href="#checking-for-terminology-consistency">🔗</a></h3><p>Before I hit save on the revision, I clicked on the "Similar" tab. This is Localazy's consistency checker, and it's become muscle memory for me.</p><p>If you've worked with CAT tools, this functions like a <a href="https://localazy.com/features/translation-memory/">Translation Memory (TM)</a>, but it's more contextual. Instead of just exact matches, it scans the entire project for strings with matching keywords or sentence structures, then shows me how I translated those elements before.</p><p>For this string, it pulled up other instances where I'd used "lessons" and "minutes" within the Tiimo app:</p><ul><li><em>"</em>5节课 · 共20分钟<em>"</em> (5 lessons · total 20 mins) ✓</li><li><em>"</em>3节课 · 共10分钟<em>"</em> (3 lessons · total 10 mins) ✓</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect--1-.png" class="kg-image" alt loading="lazy" width="1072" height="606" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect--1-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect--1-.png 1000w, https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect--1-.png 1072w" sizes="(min-width: 720px) 720px"></figure><p><br><strong>This tab has saved me from embarrassing inconsistencies more times than I can count</strong>. My revised format was now consistent with how I'd handled similar strings. </p><h3 id="an-exception-and-the-need-for-overrides">An exception and the need for overrides  <a class="markdownit-header-anchor" href="#an-exception-and-the-need-for-overrides">🔗</a></h3><p>I clicked on "Save Translation."</p><p>Immediately, a pink error message appeared at the bottom of my screen:</p><p><em><code>⚠️<strong> Unmatched numeric values: 30</strong></code></em></p><p>I smiled. This happens frequently with Chinese localization, and it's actually a feature, not a bug. What happened is that Localazy's validation system<strong> is designed to catch errors</strong>. If the English source has <em>"30 mins"</em> and my Chinese translation suddenly says <em>"40 minutes,"</em> that's probably a mistake worth flagging. The system counts numbers in both strings and checks if they match.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-chat__AI-generated-content-may-be-incorrect.png" class="kg-image" alt loading="lazy" width="745" height="673" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/A-screenshot-of-a-chat__AI-generated-content-may-be-incorrect.png 600w, https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-chat__AI-generated-content-may-be-incorrect.png 745w" sizes="(min-width: 720px) 720px"></figure><p>But Chinese grammar <a href="https://studycli.org/learn-chinese/chinese-grammar/#9_Measure_words">doesn't always play by those rules</a>. By adding the measure word 节 (jié) and the character 共 (gòng) around the number 7, I had technically introduced "extra" characters that the system interpreted as potential number mismatches. The validation algorithm was doing its job, being rigid enough to catch real errors.</p><p>The difference from traditional QA checks is that <strong>Localazy's validation happens in real-time, string by string</strong>, rather than as a batch process at the end. And the platform gets it right <strong>by giving you an override</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect--2-.png" class="kg-image" alt="A screenshot of a chat

AI-generated content may be incorrect." loading="lazy" width="757" height="658" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect--2-.png 600w, https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect--2-.png 757w" sizes="(min-width: 720px) 720px"></figure><p>If the flagged issue doesn't make sense, you can always click on the dropdown arrow next to the error message and select "<em>Ignore validation issue</em>". That's what I did here. The pink warning faded to gray, and the status changed to "<em>All issues are ignored".</em> The string was saved, with my override decision documented.</p><p>This is the sweet spot in localization technology: <strong>systems that catch mistakes but trust the human expert to make the final call</strong>. </p><h3 id="the-versions-tab-tracked-every-edit">The Versions tab tracked every edit <a class="markdownit-header-anchor" href="#the-versions-tab-tracked-every-edit">🔗</a></h3><p>The Versions tab now tells the complete story of this string. Click on it and you'll see:</p><ul><li><strong>🟢 Current version</strong>: <em>"</em>7节课 · 共30分钟" (7 lessons · total 30 minutes) — revised after clarification</li><li><strong>⚪️ Previous version</strong>: "7节课 · 每节课30分钟" (7 lessons · 30 minutes each lesson) — initial translation</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect-2.png" class="kg-image" alt="A screenshot of a computer

AI-generated content may be incorrect." loading="lazy" width="870" height="565" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect-2.png 600w, https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect-2.png 870w" sizes="(min-width: 720px) 720px"></figure><p>The tab shows exactly <strong>when I made each change</strong>, <strong>what I changed from</strong>, and <strong>what I changed to</strong>. For developers, version history provides transparency. They can see exactly what changed and when, which helps them understand if UI issues are related to recent translation updates. </p><p>For me, it's a reference point. I can check if I updated related strings consistently and learn from earlier choices. If I ever need to explain why I translated something a certain way, the evidence is right there. <strong>More importantly, it shows that asking questions isn't a sign of incompetence. It's part of good localization work</strong>. My initial translation was an educated guess. The comment thread got me the information I needed. The version history shows I corrected it. </p><p>Notice that I didn't just accept the machine translation suggestion and move on. For Tiimo, that would have been a mistake. Next, I have more relevant examples to show you why.</p><h2 id="mt-couldnt-match-tiimos-playful-tone">🤖 MT couldn't match Tiimo's playful tone <a class="markdownit-header-anchor" href="#mt-couldnt-match-tiimos-playful-tone">🔗</a></h2><p>Localazy includes <a href="https://localazy.com/docs/general/machine-translations">machine translation</a> and <a href="https://localazy.com/docs/general/localazy-ai">AI suggestions</a> into the workflow. For each string, I can see what various translation engines suggest: <strong>Google Translate, DeepL, Amazon Translate,</strong> and others (plus <strong>Localazy AI</strong>). If I'm happy with a suggestion, keyboard shortcuts let me accept it instantly.</p><p>This can speed things up for straightforward strings, like simple UI labels like <strong>"Cancel"</strong> or <strong>"Settings"</strong> that don't need much human intervention. But professional translators always take MT suggestions with a grain of salt. Sometimes you're doing <a href="https://localazy.com/dictionary/mtpe-machine-translation-post-editing">MTPE (Machine Translation Post-Editing)</a>, cleaning up what the engine gave you. Other times, you're translating from scratch because the suggestion is so far off that it's faster to start over.</p><p>Even advanced machine translation cannot understand cultural nuances, language sensitivity, or the warmth and humanity that good writing requires. MT engines typically revert to the most common, convenient option. For something like Tiimo, where tone and approachability matter deeply to the neurodivergent community, that approach fell short. Let's see some examples.</p><h3 id="case-1-the-chill-dog-disaster">Case 1: The "Chill Dog" disaster <a class="markdownit-header-anchor" href="#case-1-the-chill-dog-disaster">🔗</a></h3><p>One of Tiimo's daily routine options includes this string:</p><blockquote><em>"Downward-Facing Chill Dog: Stretch it out and pretend you're a dog sniffing out relaxation </em>🐶<em>"</em></blockquote><p>The English is clever. It's a playful twist on the yoga pose "Downward-Facing Dog", making it accessible and fun. Anyone who's done yoga gets the reference immediately.</p><p>I checked the MT suggestions out of curiosity:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect--1--1.png" class="kg-image" alt="A screenshot of a computer

AI-generated content may be incorrect." loading="lazy" width="1441" height="447" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect--1--1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect--1--1.png 1000w, https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-computer__AI-generated-content-may-be-incorrect--1--1.png 1441w" sizes="(min-width: 720px) 720px"></figure><ul><li><strong>Amazon Translate</strong>: "朝下的 Chill Dog" (Downward Chill Dog) — kept "Chill Dog" in English, which means nothing to Chinese readers.</li><li><strong>DeepL</strong>: "下犬式：伸展身体，假装你是一只嗅出放松的狗" (Downward Dog: Stretch your body, pretend you're a dog sniffing out relaxation) — awkward and unnatural</li><li><strong>Google Translate</strong>: "面朝下的冷狗" (Downward-facing cold dog) — almost funny enough to keep</li></ul><p>That last one deserves an explanation. <strong>"冷狗" ("cold dog" or "freezing dog") isn't a phrase that exists in Chinese</strong>. Worse, it carries negative connotations. In some contexts, it echoes "死狗" ("dead dog"), which is a derogatory insult. Not exactly the warm, playful tone Tiimo was going for. 😅</p><p>The MT engines all made the same mistake: they translated literally without understanding the cultural reference or the playful tone.</p><p>My final translation was quite different:</p><blockquote><strong>"下犬式放松版：尽情伸展，假装自己是在伸懒腰的狗狗 🐶"</strong> ("Downward Dog Relaxation Version: Stretch freely, pretend you're a dog having a nice leisurely stretch")</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-chat__AI-generated-content-may-be-incorrect-1.png" class="kg-image" alt="A screenshot of a chat

AI-generated content may be incorrect." loading="lazy" width="1408" height="573" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/A-screenshot-of-a-chat__AI-generated-content-may-be-incorrect-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/A-screenshot-of-a-chat__AI-generated-content-may-be-incorrect-1.png 1000w, https://ghost.localazy.com/content/images/2026/01/A-screenshot-of-a-chat__AI-generated-content-may-be-incorrect-1.png 1408w" sizes="(min-width: 720px) 720px"></figure><p>This maintains the playful tone, makes the yoga reference clear for those who know it, and stays approachable for those who don't. It adds "<strong>伸懒腰</strong>", a warm, relatable phrase Chinese speakers use for that satisfying morning stretch feeling ("having a leisurely stretch"), and includes "<strong>狗狗</strong>" (the affectionate diminutive for dog), keeping a cute and friendly voice. MT couldn't make these choices. It doesn't understand that "伸懒腰" carries warmth and familiarity, or that "狗狗" is affectionate where "狗" is neutral.</p><h3 id="case-2-the-save-button">Case 2: The "Save" button <a class="markdownit-header-anchor" href="#case-2-the-save-button">🔗</a></h3><p>In app interfaces, the word "Save" appears constantly. "Save your changes", "Save this routine", "Save your settings", "Save your progress."</p><p>In English, "save" handles all these contexts fine. <strong>In Chinese, context determines which word you use:</strong></p><ul><li><strong>💾</strong> <strong>保存</strong> (save/store data, files, changes — correct for apps)</li><li><strong>🛟 救</strong> (save a life, rescue someone from danger)</li><li><strong>💰 节省</strong> (save money or resources)</li></ul><p>Machine translation often defaults to <strong>救</strong> because it's the most common translation for "save" in general contexts. But imagine a button in Tiimo that says "<strong>救改变</strong>" ("rescue the changes"). Melodramatic and confusing. The correct translation is always <strong>保存</strong> for app contexts. But MT engines don't consistently recognize the difference. A human translator knows immediately which "save" is needed just from context.</p><h3 id="case-3-unload-my-brain">Case 3: "Unload My Brain" <a class="markdownit-header-anchor" href="#case-3-unload-my-brain">🔗</a></h3><p>Tiimo uses playful, encouraging language to make planning feel less overwhelming. One feature helps users get tasks out of their heads and into the app. The English string: 🧠 "<strong>Unload My Brain</strong>".</p><p>This is perfect for the context. It's casual, relatable, and captures that feeling of mental clutter you need to externalize. For people with ADHD, this framing is both accurate and empowering.</p><blockquote>🤖 The MT suggestion: "<strong>卸载我的大脑</strong>"<strong> </strong>(literally: "<strong>Uninstall my brain</strong>")</blockquote><p>In Chinese,<strong> 卸载</strong> is computer terminology. It means "uninstall software" or "remove a program from your system." When applied to 大脑 (brain), it sounds like a tech operation gone wrong. As if you're removing your brain like it's a malfunctioning app.</p><p>This is awkward and even slightly disturbing. It completely misses the mental health framing that makes the original English work. The correct approach requires, of course, understanding what "unload" means metaphorically. Better translations would be:</p><ul><li>"<strong>清空大脑</strong>" ("clear out my mind"), or </li><li>"<strong>整理思路</strong>" ("organize my thoughts").</li></ul><h2 id="three-mistakes-a-common-truth">👩‍💻 Three mistakes = a common truth <a class="markdownit-header-anchor" href="#three-mistakes-a-common-truth">🔗</a></h2><p>All three examples show the same problem: <strong>machine translation translates words but doesn't fully retain the source meaning</strong>. It doesn't understand tone, cultural context, or how metaphors work across languages.</p><p>For generic content, that's manageable. For culturally sensitive projects like Tiimo, where the target audience is neurodivergent users who deserve language that's accurate, expressive, approachable, and human, MT shortcuts don't work.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/47bnr904PXw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Localazy Release Update Highlights - October 2025"></iframe></figure><p>Localazy has since integrated AI translation that understands brand voice and follows glossary terms automatically — <a href="https://www.linkedin.com/posts/petr-hodny_localazy-just-rolled-out-some-updates-that-activity-7386700855179190272-rm_m?utm_source=social_share_send&amp;utm_medium=member_desktop_web&amp;rcm=ACoAAC0-MjoBWPRop-4_V03JFJEoX9gpn-RV9kI">Petr</a> explains more above. That's a significant step forward that greatly improves the final results (you can see an actual test run by Dorota Páwlak <a href="https://localazy.com/blog/localazy-ai-put-to-the-test-across-three-content-types">here</a>). But whether you're using traditional MT engines or the latest AI, you must keep in mind that these tools are a good starting point, but the final translations need the eyes of an expert.</p><blockquote><strong>📚 Related read</strong>:<strong> </strong><a href="https://localazy.com/blog/a-practical-guide-to-translating-with-localazy-ai">A practical guide to translating with Localazy AI</a></blockquote><h2 id="continuous-localization-the-next-step">🔄 Continuous localization: the next step <a class="markdownit-header-anchor" href="#continuous-localization-the-next-step">🔗</a></h2><p>Localization <a href="https://localazy.com/blog/mythbusters-our-product-has-been-localized-so-the-job-is-finished">doesn't end</a> when the app is fully translated and launched in the target market. Apps update, features get added, and new strings appear. <strong>The real test of a platform is how it handles the ongoing maintenance cycle</strong>.</p><p>When I asked Clémence what changed for Tiimo after moving to Localazy, she explained:</p><blockquote>"<em>Since moving this work into Localazy, it's easier to assign designated translators to specific locales and let them work in isolation with the right context. Each translator only sees strings for their market. The setup fits cleanly with our CMS, so updates move from translator to production with less coordination"</em></blockquote><p>From my side, this meant getting notifications whenever new strings were added. I could review updates on my own schedule, translate them, and know they'd integrate smoothly into the next build. </p><ul><li>❌ No coordination meetings. </li><li>❌ No file exports and imports. </li><li>✅ Only a clean, <a href="https://localazy.com/dictionary/continuous-localization">continuous workflow</a>.</li></ul><p>But here's what good localization partnerships really require: <strong>staying open to feedback</strong>, especially from users. And we'll get to how that played out for Tiimo below.</p><h3 id="the-incident-that-proved-platform-choice-matters">The incident that proved platform choice matters <a class="markdownit-header-anchor" href="#the-incident-that-proved-platform-choice-matters">🔗</a></h3><p>Before Tiimo moved to Localazy, they experienced a common but frustrating problem. A few months after the Chinese launch, a user reported garbled text in parts of the app. When the team brought me in to investigate, we discovered that during an app update cycle, <strong>some of my human translations had been accidentally overwritten and reverted to machine translations</strong>. The garbled text resulted from encoding problems in how those MT strings were processed.</p><blockquote>Quality at launch is pointless if your workflow can't maintain it. A good translation today becomes bad translation tomorrow without proper maintenance</blockquote><p>We fixed it quickly. I retranslated the affected strings. The developers pushed the update. Tiimo responded directly to the user who'd reported the issue. But it was a reminder: <strong>localization quality depends on the partnership between developer, platform, and localizer</strong>. Clear workflows matter. <a href="https://localazy.com/features/releases">Version control </a>matters. Systems that preserve human translation decisions during updates matter. This is one of the reasons why Tiimo moved to Localazy:</p><ul><li>⚙️ The tighter CMS integration meant fewer opportunities for translations to get accidentally overwritten</li><li>⏮️ The version history feature provides an audit trail</li><li>🔄 The workflow preserves translator decisions through update cycles</li></ul><h2 id="a-tip-for-translators-set-up-your-glossary-early">☝️ A tip for translators: set up your glossary early <a class="markdownit-header-anchor" href="#a-tip-for-translators-set-up-your-glossary-early">🔗</a></h2><p>If I could go back to the start of the Tiimo project, I'd do one thing differently: ask the team to <a href="https://localazy.com/docs/general/how-to-define-your-glossary">set up a glossary in Localazy</a> before I began translating.</p><p>The platform's glossary feature highlights defined terms during translation and validates your work against them. For a project like Tiimo, this would have me saved time on questions like: </p><ul><li>👥 What exactly is "body doubling" in Chinese? </li><li>📅 Should we use 周 or 星期 when referring to weekdays?</li><li>🧠 How should we consistently translate "executive function"?</li></ul><p>Having these decisions documented upfront means they surface automatically when those terms appear in new strings. For projects managing 22 languages with different translators, that consistency is essential.</p><p>Localazy has also added <a href="https://localazy.com/features/style-guide">style guides</a>, which let teams define tone, formality, and brand voice expectations. Combined with the glossary, these tools help maintain a unified experience across locales.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/01/image.png" class="kg-image" alt loading="lazy" width="1241" height="982" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/image.png 1000w, https://ghost.localazy.com/content/images/2026/01/image.png 1241w" sizes="(min-width: 720px) 720px"><figcaption>Localazy AI uses your style guide for more relevant and accurate translations</figcaption></figure><h2 id="good-localization-needs-all-three">✨ Good localization needs all three <a class="markdownit-header-anchor" href="#good-localization-needs-all-three">🔗</a></h2><p>From this experience, I could say that <strong>successful localization is a mix of empathy </strong>(Tiimo),<strong> cultural nuanc</strong>e (me), <strong>and robust tooling</strong> (Localazy).</p><p>Since Tiimo launched in Chinese, we've seen growing adoption in this market. That includes my friend, the lawyer I mentioned at the beginning of this article. She's using Tiimo now. So is her son. She's told me how much the planning features help them both manage their days with less overwhelm.</p><p>That feedback means everything. It means we've suceeded making tools accessible to people who need them. With a solid software localization platform, our job is much easier. And with the help of linguists, independent developers and small teams can launch multi-language apps without enterprise-level budgets, as long as they integrate continuous updates into their workflows. Because <strong>localization is a long-term relationship, not a one-time task</strong>. </p>]]></content:encoded>
            <author>Jian Jenny Lu</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/04/ADHD-Chinese.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy AI put to the test: Style guides, glossaries, and translation quality across 3 content types]]></title>
            <link>https://localazy.com/blog/localazy-ai-put-to-the-test-across-three-content-types</link>
            <guid isPermaLink="false">localazy-ai-put-to-the-test-across-three-content-types</guid>
            <pubDate>Mon, 01 Jun 2026 12:50:19 GMT</pubDate>
            <description><![CDATA[Custom AI translation models are everywhere... and every single one of them makes big promises. In this analysis, we put Localazy AI under the microscope to see if it actually delivers the accurate, context-aware results it promises for marketing, technical, and in-app content.]]></description>
            <content:encoded><![CDATA[<p>New features here, new AI tool there.</p><p>In the last three years, nearly every single day has been shaped by AI-powered launches. Sometimes these new creations solve real problems, other times, they’re only a shiny distraction. Sometimes they overpromise and underdeliver; other times they prove to be better than any marketing slogan.</p><p>Where does <a href="https://localazy.com/docs/general/localazy-ai/">Localazy AI</a> fit in this spectrum? Let’s have a look at the promise first:</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><em>"Localazy AI delivers high-quality translations that understand your project’s context, terminology, and style requirements."</em></div></div><p>That’s a big claim to live up to. And if you’re a translator or someone working daily with those inquisitive creatures, your first reaction might be: Sure, maybe it does, but for all projects? For all content types and language pairs? <strong>What if my style guide is super specific</strong>, packed with rules on gender neutrality, or instructions on how to deal with creative content? <strong>Is it equally useful for technical and marketing texts</strong>, or does it only excel in one domain?</p><p>Since I happen to belong to those curious creatures, I’ve decided to put that claim under the microscope.</p><h2 id="the-rules-of-the-game">🎲 The rules of the game <a class="markdownit-header-anchor" href="#the-rules-of-the-game">🔗</a></h2><p><strong>Three language pairs, two texts</strong>, one tool that unites them all: Localazy AI.</p><p>This test assesses how the new feature works with technical content and marketing copy. Both texts were translated with Localazy AI <strong>from English into Polish, German, and Spanish</strong>. Each source contained 400-500 words and was accompanied by <strong><a href="https://localazy.com/docs/general/how-to-define-your-glossary">a glossary</a> with 10 terms and <a href="https://localazy.com/docs/general/style-guide">a style guide with detailed information</a></strong>, such as tone of voice, examples of preferred translation, or untranslatable terms.</p><p>For each text, I created <strong>a separate project with three languages and one style guide</strong>. The style guide included instructions for all three locales, with exceptions, if relevant, on how to approach translation in another language. For example, for German, the marketing copy<strong> </strong>and the manual had to be formal, and for other languages, informal. These exceptions make for a great opportunity to test if the tool can deal with language override instructions.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.11.32.png" class="kg-image" alt loading="lazy" width="2000" height="903" srcset="https://ghost.localazy.com/content/images/size/w600/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.11.32.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.11.32.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.11.32.png 1600w, https://ghost.localazy.com/content/images/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.11.32.png 2188w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.12.12.png" class="kg-image" alt loading="lazy" width="2000" height="1136" srcset="https://ghost.localazy.com/content/images/size/w600/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.12.12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.12.12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.12.12.png 1600w, https://ghost.localazy.com/content/images/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.12.12.png 2110w" sizes="(min-width: 720px) 720px"></figure><p>The style guides also contained examples of preferred translations in all three languages.</p><p>To score the output created by Localazy AI, I evaluated terminology adherence, style guide faithfulness, and translation fluency. No complicated calculations here – just <strong>1 point for meeting the criteria fully</strong>, <strong>0 for not meeting it at all</strong>, and <strong>deducted fractions of points for small deviations.</strong></p><blockquote><strong>Note</strong>: Since the tool documentation states that Localazy AI works best when the source language is English, I decided not to push it to the edge of its capabilities and focus on this source language only</blockquote><p>Let’s see which content type and language pair was handled by Localazy AI with the greatest care.</p><h2 id="1-part-1-marketing-copy">1️⃣ Part 1: Marketing copy <a class="markdownit-header-anchor" href="#1-part-1-marketing-copy">🔗</a></h2><p>The first test candidate is a 415-word marketing copy from a fictional brand offering a Smart Tea subscription. 🍵 While I’m not entirely sure such services exist in real life, the text created for this experiment includes plenty of real-world challenges: a few creative phrases, a couple of brand names, and a decent dose of marketing language.</p><p>The style guide for this translation included <strong>instructions on tone</strong> (warm, calming, and aspirational), <strong>target audience definition</strong> (urban professionals interested in a mindful lifestyle), <strong>and other rules</strong> such as “avoid medical claims and literal translation” or “address the reader directly”. The only exception to the last rule was German, where the formal tone was required. Another key rule was gender neutrality.</p><h3 id="source-text">Source text <a class="markdownit-header-anchor" href="#source-text">🔗</a></h3><pre><code>At Solviva, we believe that everyday rituals deserve a little more attention.
In a world that often moves too fast, small moments of calm can make a big difference. A warm cup of tea in the morning. A quiet pause in the afternoon. A gentle evening infusion before sleep. These simple rituals help us reconnect with ourselves and restore balance in our daily lives.
That is why we created the Smart Tea Subscription.
Our subscription service delivers carefully curated herbal blends straight to your doorstep every month. Each monthly collection is designed by our team of tea experts, who draw inspiration from traditional wellness rituals around the world.
One month you might discover calming herbs inspired by Mediterranean evening traditions. Another month might bring energizing blends influenced by ancient Asian tea culture. Every collection is an invitation to explore new flavors, aromas, and moments of mindfulness.
But Solviva goes beyond simply delivering tea.
Through our mobile app, you can personalize your Smart Tea Subscription to match your lifestyle. The app allows you to share your preferences, daily routines, and lifestyle goals, such as better focus, more relaxation, or improved evening wind-down rituals.
Based on your input, the app recommends herbal blends that fit naturally into your day. Need a gentle evening infusion to help you slow down after a busy day? Looking for an energizing blend to start your morning with clarity? Solviva helps you build small wellness rituals that feel effortless.
Every tea we offer is crafted with care and respect for nature.
All Solviva teas are made from organic ingredients sourced from trusted growers around the world. We work closely with small farms that share our commitment to sustainability, biodiversity, and ethical sourcing.
This approach allows us to ensure that every herbal blend meets the highest standards of quality while supporting farming communities and protecting the environment.
But what truly makes Solviva special is the experience.
Opening your monthly collection should feel like receiving a thoughtful gift. Each delivery includes beautifully packaged herbal blends, tasting notes from our tea experts, and simple suggestions for creating your own wellness ritual at home.
Whether you enjoy your tea during a quiet morning moment or share it with friends in the evening, Solviva turns everyday tea drinking into something more meaningful.
Because wellness doesn’t have to be complicated.
Sometimes, it starts with something as simple as a cup of tea.
With Solviva’s Smart Tea Subscription, those moments of calm become part of your everyday life.</code></pre><h3 id="results">Results <a class="markdownit-header-anchor" href="#results">🔗</a></h3><p>Localazy AI consumed <strong><a href="https://localazy.com/docs/general/localazy-credits">2 credits</a> per language pair</strong>. It took about one minute to translate each language, which is not so bad, considering the context that AI has to digest before spitting out the content.</p><p>Were the results worth waiting for? Absolutely.</p><p>Here’s a quick overview of the results per language:</p><p><strong>🇵🇱 Polish</strong></p><p>There’s not much to complain about. <strong>Localazy AI applied the style guide correctly</strong>, including the sample translations. Nearly all terms were rendered as per the glossary. One term was skipped, and another one had a switched word order (“<em>wieczorny napar</em>” instead of “<em>napar wieczorny</em>” for “evening infusion”). The translation was accurate and fluent, although some phrases could have been translated in a more creative way, instead of copying the source sentence structure. The results deserve one point for the style guide adherence, 0.8 for the overall translation quality, and only 0.8 for terminology due to the two missed instances.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-text"><strong>Total score:</strong> 2.6/3 points</div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.12.52.png" class="kg-image" alt loading="lazy" width="2000" height="641" srcset="https://ghost.localazy.com/content/images/size/w600/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.12.52.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.12.52.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.12.52.png 1600w, https://ghost.localazy.com/content/images/2026/03/Captura-de-pantalla-2026-03-31-a-las-12.12.52.png 2204w" sizes="(min-width: 720px) 720px"><figcaption>Two segments translated by Localazy AI into Polish.</figcaption></figure><p><strong>🇩🇪 German</strong></p><p>Similar story as above. <strong>Terminology was skipped in one case only</strong>. “Smart Tea Subscription” appeared in the text three times; once the model translated it as per the glossary, twice it was left in English. The model might have been confused by the use of capital letters in the source and probably took the phrase for a brand name, applying the style guide rule requesting to leave the brand names untranslated.</p><p>Other style guide rules were followed, too, <strong>especially regarding the formal register</strong>. The general instruction was to use casual and informal language, except for German. Localazy AI did respect this language override.</p><p>The tool <strong>considered the sample translations provided with the style guide</strong>. Whenever the source included sentences similar to the submitted examples, the model reacted accordingly and rendered the text based on the wording from the examples.</p><p>All in all, the translation was fluent and natural, which can justify the score of one full point. Style guide adherence gets one point too, while terminology compliance has to settle for a modest 0.8.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-text"><strong>Total score:</strong> 2.8/3 points</div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="data:image/png;base64,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zwRIgARiJABtsZfHvilz5n9jdjXFxgBVq1wmzRrfZTYgiTFa3kYCWY4ATSmz3CPNkAJRMJYhmJkICZAACZAACZAACKSyYIxPiARIgARIgARIIHMToGAscz+/ZOWePsaSRZ7pkgAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJJJUABWNJxc/ESYAESIAESIAESIAESIAESIAESIAESIAEkkWAgrFkkWe6JEACJEACJEACJEACJEACJEACJEACJEACSSVAwVhS8TNxEiABEiABEiABEiABEiABEiABEiABEiCBZBGgYCxZ5JkuCZAACZAACZAACZAACZAACZAACZAACZBAUglQMJZU/EycBEiABEiABEiABEiABEiABEiABEiABEggWQQoGEsWeaZLAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiSQVAIUjCUVPxMnARIgARIgARIgARIgARIgARIgARIgARJIFgEKxpJFnumSAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAkklQAFY0nFz8RJgARIgARIgARIgARIgARIgARIgARIgASSRYCCsWSRZ7okQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAJJJUDBWFLxM3ESIAESIAESIAESIAESIAESIAESIAESIIFkEaBgLFnkmS4JkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEBSCVAwllT8TJwESIAESIAESIAESIAESIAESIAESIAESCBZBCgYSxZ5pksCJEACJEACJEACJEACJEACJEACJEACJJBUAhSMJRU/EycBEiABEiABEiABEiABEiABEiABEiABEkgWAQrGkkWe6ZIACZAACZAACZAACZAACZAACZAACZAACSSVAAVjScXPxEmABEiABEiABEiABEiABEiABEiABEiABJJFgIKxZJFnuiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAkklQMFYUvEzcRIgARIgARIgARIgARIgARIgARIgARIggWQRoGAsWeSZLgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQFIJUDCWVPxMnARIgARIgARIgARIgARIgARIgARIgARIIFkEKBhLFnmmSwIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkFQCOZKaOhMnARIgARIgARIgARIgARIgARIgARLI8gT++ecf2b17txw6dCguZc2WLZvky5dPChYsGJf4GMmxS4CCsWP32bPkJEACJEACJEACJEACJEACJEACJJBwAps3b5bs2bNL4cKFzWc8Ejx48KDs2bNHEHexYsXiESXjOEYJUDB2jD54FpsESIAESIAESIAESIAESIAESIAEEk0AmmIQiuXPn1927Nwli37+TXbt2h0y2asqV5L8x+cLec590Ma5c+dOQRrUHHMT4m+vBCgY80qK15EACZAACZAACZAACZAACZAACZAACfgiAPNJaIrt2btP+g59SbW89oa9v2iRQnLZxRXDng91Im/evLJt2zYKxkLB4TFPBOh83xMmXkQCJEACJEACJEACJEACJEACJEACJOCXAHyKQbtr1Zp1EYViiHfJshV+ozdxx8tvme/EeUOWIECNsSzxGFkIEiABEiABEiABEiABEiABEiABEkhdAgcPRne6/+vSFbJ85eqohciW7TgpV/qkuPkri5ogL8jSBCgYy9KPl4UjARIgARIgARIgARIgARIgARIggcxBYN/+/fL2B59JwQL5o2b4783/k54d20S9jheQQDQCFIxFI8TzJEACJEACJEACJEACJEACJEACJEACcSOQLVs2qV7lUilzcinJmTOnrNuwUeYu+F52qlP+cyqUl3p1roma1ow5C6JewwtIwAsBCsa8UOI1JEACJEACJEACJEACJEACJEACJEAC6SaQO3cuadmkkTGFtJGdf/aZckqZk+XFsW/JkqXLPQnGChUsYG/nJwmkiwAFY+nCx5tJgARIgARIgARIgARIgARIgARIgAS8Emhwyw1GKPbTkqXy6RezZPfuPXL2mafLop9/NVHARHLLtu1StHAh2bFzl/k7qVSJNNEfd1yaQzxAAjER4K6UMWHjTSRAAiRAAiRAAiRAAiRAAiRAAiRAAn4IwISy4rkVZNPmLTJ2wvuy8e/NUqLYCbJl63Ype/JJUv7UcpI7Vy755dffTbRLl6+UDz+bHjKJw4dDHuZBEvBNgBpjvpHxBhIgARIgARIgARIgARIgARIgARIgAb8EChcqKDlz5JD1GzfJoUNHdql8+IG7zDEb15AXxsq7n0w1f/ZY28597Ve5+srLPZlaBm7gFxKIQoCCsSiAeJoESIAESIAESIAESIAESIAESIAESCD9BLZt/0f+PXBASp9YUqA9BuHY1JlfSXb9flmlisZ8EqaUONev62NGewypwil/z8EjpVfHRwU+yhhIIJ4EaEoZT5qMiwRIgARIgARIgARIgARIgARIgARIICQBCMIWq2+xE4oWlvsb3iolSxSTL778SjZv2SpFVJvs9z9WyZ69+4zAbMTo8fLNwp9MPJ9Nny0Xnnd2kFCMPsZCIubBGAhQYywGaLyFBEiABEiABEiABEiABEiABEiABEjAP4GJH3wmxYoWlYrnVDB/Noat6nD/zXc/sT9lrwrIJn38uRynErBvf1gsHds8GDjHLyQQTwIUjMWTJuMiARIgARIgARIgARIgARIgARIgARIIS2Dfvv0y9KXXpNoVl0rZ0qXUXDK3rP9ro0ybPV9wzoZ9+/fL5ZUukPGTPpbbbqwtRYsUtqfMJ53vB+Hgj3QQoGAsHfB4KwmQAAmQAAmQAAmQAAmQAAmQAAmQgD8CMKn88quvI970z46dxpTyjNNPkTnzv5MLzj1LChXMH/EeniSBWAjQx1gs1HgPCZAACZAACZAACZAACZAACZAACZBAQgmcW+EMadWkkfoXO0uGvjjW+CKzCdLHmCXBz/QSoGAsvQR5PwmQAAmQAAmQAAmQAAmQAAmQAAmQQEQCefPkjng+1MlN/9tiDtetfbVccelF8tpb74e6jMdIIF0EaEqZLny8mQRIgARIgARIgARIgARIgARIgARIIBqBU8qeLCefWFLWbdgY7dLA+TXrNsi27TukcKECUrvGlVL1iksC5+hjLICCX9JJgIKxdALk7SRAAiRAAiRAAiRAAiRAAiRAAiRAApEJZMuWTdo0byxr1v0V8cIPP5uu12ww1+TJnVsOHDwQuD4WrbPAzfxCAmEIUDAWBgwPkwAJkAAJkAAJkAAJkAAJkAAJkAAJxI9A7ly5pPypZSNGeHHFc4xgLGfOnNLigYZSrGiRkNcfPHgw5HEeJAG/BCgY80uM15MACZAACZAACZAACZAACZAACZAACXgiAE0xCLGyZ8/u6foL1NE+tMZOVdPLX5etMH+hbvzux5/lsosrmriRBgMJxEqAgrFYyfE+EiABEiABEiABEiABEiABEiABEiCBiATy5csne/bskfz580e8zp4sWriQ1KtTS/bu3WcPhfysffWV5jjiRhoMJBArgeP2799/GDfv3r2blSlWiryPBEiABEiABEjAEwGONzxh4kUkQAIkQAIkkKUIbN682WiM5c2b17PmWDQA0EKDUAyfxYoVM5fD/JKBBPwSoMaYX2K8ngRIgARIgARIgARIgARIgARIgARIwDMBCK7++ecf2bZtmxw6dMjzfZEuhPkkNMWKFAntgyzSvTxHAk4CFIw5afA7CZAACZAACZAACZAACZAACZAACZBA3AkULFhQ8MdAAqlGgB7qUu2JMD8kQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIZQoCCsQzBzERIgARIgARIgARIgARIgARIgARIgARIgARSjcBxauNrnO+nWsaYHxIgARIgARIgARIgARIgARIgARIgARIgARJIJIHjDmtAAtu3b5dChQolMi3GTQIkQAIkQAIkcIwT4HjjGK8ALD4JkAAJkAAJkAAJpBgBmlKm2ANhdkiABEiABEiABEiABEiABEiABEiABEiABDKGAAVjGcOZqZAACZAACZAACZAACZAACZAACZAACZAACaQYgRwplh9mhwRIgARIgARIgARIgARIgARIgARIIIsR2Lp1q+zatUsOHjwYl5Jlz55djj/+eClSpEhc4mMkxy4BCsaO3WfPkpMACZAACZAACZAACZAACZAACZBAwgls3LhRcubMKSVLljSf8Ujw33//lR07dgjiRrwMJBArAZpSxkqO95EACZAACZAACZAACZAACZAACZAACUQkAE0xCMWKFi0aN6EYEnTGiTQYSCBWAhSMxUqO95EACZAACZAACZAACZAACZAACZAACUQkAPPJAgUKRLwmPScRN9JgIIFYCVAwFis53kcCJEACJEACJEACJEACJEACJEACJBCRAHyKQbsrPWHhj79Iy/bdZPw7H6WJBnHHy29Zmsh54JggQMHYMfGYWUgSIAESIAESIAESIAESIAESIAESyHwEvl/0s7z02ltyQAVss+Z9I+99MjXzFYI5TmkCFIyl9ONh5kiABEiABEiABEiABEiABEiABEjg2CWwX53sHz58OABgyvTZMm3WvMBvfiGB9BKgYCy9BHk/CZAACZAACZAACZAACZAACZAACZBAXAks/2OVwITyiksvkiZ31w+Ke8ac+UG/+YME0kMgR3pu5r0kQAIkQAIkQAIkQAIkQAIkQAIkQAIkEE8CK1auliEvjjW+w1o1vVsqX3KhZM+eTUaPe0dyqU+xZo0bxDM5xnWME6Bg7BivACw+CZAACZAACZAACZAACZAACZAACaQKgd9X/CnDR70u/6oJJcLIMePlofvvkksvqqiCskNyYsniUq7MyamSXeYjCxCgKWUWeIgsAgmQAAmQAAmQAAmQAAmQAAmQAAlkdgLQFBv60muyb/9+qVG1stxyQy05dOiQvDT2LVm8ZKnRHKNQLLM/5dTLPwVjqfdMmCMSIAESIAESIAESIAESIAESIAESOKYIQCj27AuvGk0xCMUa3naj7Nm795hiwMImhwBNKZPDnamSAAmQAAmQAAmQAAmQAAmQAAmQAAkogaXLVwbMJ61QbNJHU2TqzLmSLVs2gZ+x88+pQFYkkBACFIwlBCsjJQESIAESIAESIAESIAESIAESIAESiEYAQrFhaj554MABqV3jKql/8/Uy4b1PZOacBRSKRYPH83EhQFPKuGBkJCRAAiRAAiRAAiRAAiRAAiRAAiRAAn4IUCjmhxavTRQBaowliizjJQESIAESIAESIAESIAESIAESIAESCEkgklAse/bs0rJJI5pPhiTHg/EmQMFYvIkyPhIgARIgARIgARIgARIgARIgARIggbAEognFHnmwsZxToXzY+3mCBOJJgIKxeNJkXCRAAiRAAiRAAiRAAiRAAiRAAiRAAmEJLFm6XEaMfiPIp9i4tz+QOfO/E2iKUSgWFh1PJIgABWMJAstoSYAESIAESIAESIAESIAESIAESIAEgglYoVjd2jXklhuukQnvfmyEYnb3SWqKBfPir8QToPP9xDNmCiRAAiRAAiRAAiRAAiRAAiRAAiRAAkoAu08iQCgGTbGZc782mmJtmt8r5519pjl3LPy3YeMm+XjKDNm4afOxUNyULiM1xlL68TBzJEACJEACJEACJEACJEACJEACJJD1CDRv18UU6lg0n/zr703yzMgx8s+OnTJr3jfy5KPNpfgJRbPeQ84kJaJgLJM8KGaTBEiABEiABEiABEiABEiABEiABLISgRw5ckjrZvccU472IRQbPOKIUAzPEsKxAcNGHTPCscOHD8vkL740moIof82qlaXOtVfja9LCcZqpw0h9+/btUqhQoaRlhAmTAAmQAAmQAAlkfQIcb2T9Z8wSkgAJkAAJkICTwNq1a6VkyZKSM2dO5+G4ff/3339l48aNUrp06bjFmaiIIATrOWiEEYa50yhYIL880eZBKVHsBPepLPX77Q8my7RZ84LKZP3NBR3MwB/0MZaBsJkUCZAACZAA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" class="kg-image" alt loading="lazy"><figcaption>Two segments translated by Localazy AI into German.</figcaption></figure><p><strong>🇪🇸 Spanish</strong></p><p>The terminology blunders on repeat. “Smart Tea Subscription” was treated as untranslatable in two cases; in the third one, it was translated as per the glossary. <strong>The style guide passed the test again; however, fluency suffered a bit</strong>. There was one missing article, one missing punctuation mark, and two phrases rendered for Spanish-LATAM, instead of Spanish Spain.</p><p>This only proves the point highlighted by Localazy on every single step: you can’t leave AI to its own devices, ignoring human judgment. <strong>Human expertise is always a key ingredient</strong> in any AI-powered adventure to ensure the text is contextually and linguistically correct.</p><p>This translation deserves one point for style guide adherence, 0.8 for terminology, and 0.8 for fluency.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-text"><strong>Total score: </strong>2.6/3 points</div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="data:image/png;base64,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Eti1a5ec1BWSY9R6u1ChQhH5Q17IE3kzkYAbAhni4uLOogMxkQAJkAAJkAAJkEC0CMTHxxvhN1r5M18SIAESIAESIIGURQCWX1BU5VJXfSw+s2zVX2oJ5jvEwDX1rtDJmYtcVeDQoUOSJUsWWoK5opa+D6YLZPpuf9aeBEiABEiABEiABEiABEiABEiABCJOAG6PMLY5qrEuh4wYJUd14Rh/KX++GKlbq7q/3T6358iRQzDBRldIn3i40QcBukD6gMJNJEACJEACJEACJEACJEACJEACJEAC4RNAzC/E69q8dXtA5ReusPrvDa4vhLwjFVfM9cV5QqokQAuwVNlsLDQJkAAJkAAJkAAJkAAJkAAJkAAJpHwCp0+fCVrINWs36KrMW4IelzFjBilTsrhRrAU9mAeQgBcBKsC8gPAnCZAACZAACZAACZAACZAACZAACZBA8hE4fuKEjP92iuQJYYGWPbpK88Be3ZKvcLxSmiFABViaaUpWhARIgARIgARIgARIgARIgARIgARSLoGMGTNKw6vqSKkSRU0A++07d8u8hUvkkAbHr1KxvNzSsmnQws+cuzDoMTyABHwRoALMFxVuIwESIAESIAESIAESIAESIAESIAESiBiBbNmyyqPt7zEujDbTyypXkLKlSsh7Y8bJ6rXrQ1KAxeTJbU/nJwm4IkAFmCtcPJgESIAESIAESIAESIAESIAESIAESMAtgbta32CUXytWr5Ufp8+WI0eOSuUKl8iyVWtMVnBt3B8XL/nzxsjBQ4fNX/GihRNdJkOGRJu4gQRCIsBVIEPCxINIgARIgARIgARIgARIgARIgARIgATCIQDXx+pVK8refftlzBcTZfeefVK4YAHZHxsvpUsUl/Llyki2rFnlzzXrTPZr12+S76bM8Hmps2d9buZGEghKgBZgQRHxABIgARIgARIgARIgARIgARIgARIggXAJ5I3JI1kyZ5Ydu/fKmTPnVoV85KE2ZpvN8/V3x8jXP0wzf3bbk88NsV+l0dVXhuQi6TmBX0jAiwAVYF5A+JMESIAESIAESIAESIAESIAESIAESCByBOLiD8jJU6ekZLEiAmswKMGmzZovmfR73SuqG7dHuEBi30v9ehhrMFwdwfEHDntbBvV6QhBDjIkEkkKALpBJocdzSYAESIAESIAESIAESIAESIAESIAEAhKAwmulxv4qkD+vPNj2VilSuKBM/2W+7NsfK/nUOmzdxs1y9NhxoxgbOXqs/LZ0hclvyow5UrNa5QTKL8YAC4iaOwMQoAVYADjcRQIkQAIkQAIkQAIkQAIkQAIkQAIkkHQCX347RQrmzy/Vq1Q0fzbHWA18/7+vf7A/5ZgqwiZM+kkyqKbr9z9WSq9unTz7+IUEkkKACrCk0OO5JEACJEACJEACJEACJEACJEACJEACQQkcP35CRoz6RBrUryOlSxZVN8dssmPXbvl5zgLBPpuOnzghV15RQ8ZOmCS33dhc8ufLa3eZTwbBT4CDP1wQoALMBSweSgIkQAIkQAIkQAIkQAIkQAIkQAIkEB4BuEL+Mn9RwJMPHDxkXCAvvaSszF2wWGpUrSQxeXIFPIc7SSAUAowBFgolHkMCJEACJEACJEACJEACJEACJEACJJAsBKpWvFQea3+Pxv+qJCPeG2NihdkLMwaYJcFPtwSoAHNLjMeTAAmQAAmQAAmQAAmQAAmQAAmQAAmERCBH9mwhHec8aO+/+83PVs0bSf06l8sn4yY6d/M7CYRFgC6QYWHjSSRAAiRAAiRAAiRAAiRAAiRAAiRAAsEIlC1dQkoUKyLbd+4Odqhn/9btOyUu/qDkjcktzRtfLdfWr+3ZxxhgHhT84pIAFWAugfFwEiABEiABEiABEiABEiABEiABEiCB0AhkzJhRuj3cTrZu3xXwhO+mzNBjdppjsmfLJqdOn/IcH44VmedkfiGB8wSoAGNXIAESIAESIAESIAESIAESIAESIAESiBqBbFmzSvlypQPmX6t6FaMAy5Ili3R5qK0UzJ/P5/GnT5/2uZ0bSSAYASrAghHifhIgARIgARIgARIgARIgARIgARIgAVcEMmXKJFBW4TOUVEMD3sMKrJy6TK75e4P583Xe4uWrpG6t6q7y9pUPt6U/AlSApb82Z41JgARIgARIgARIgARIgARIgARIIKoEcubMKUePHpVcuXKFdJ38eWPklpbN5Nix4wGPb97oarMfeeMaTCQQKoEMcXFxZ2NiYkI9nseRAAmQAAmQAAmQgGsC8fHxQnnDNTaeQAIkQAIkQAKpmsCuXbsEMcBy5MgRsiVYsArDqgzKrzNnzkjRokWDHc79JOAhQAswDwp+IQESIAESIAESIAESIAESIAESIAESiBQBKKhiY2MFE2GRit0Fl0pYfuXL5ztGWKTKznzSHgEqwNJem7JGJEACJEACJEACJEACJEACJEACJJAiCEBRRWVVimiKdF+IjOmeAAGQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmkaQJUgKXp5mXlSIAESIAESIAESIAESIAESIAESIAESIAETBB8YiABEiABEiABEiABEiABEiABEiABEiABEiCBtErAxADjqkxptXlZLxIgARIgARJIGQS4CmTKaAeWggRIgARIgARIgATSKwG6QKbXlme9SYAESIAESIAESIAESIAESIAESIAESCCdEKACLJ00NKtJAiRAAiRAAiRAAiRAAiRAAiRAAiRAAumVgHGBTK+VZ71JgARIgARIgARIgARIgARIgARIgASiRyA2NlYOHz4sp0+fjshFMmXKJDlz5pR8+fJFJD9mkn4IUAGWftqaNSUBEiABEiABEiABEiABEiABEiCBZCOwe/duyZIlixQpUsR8RuLCJ0+elIMHDwryRr5MJBAqAbpAhkqKx5EACZAACZAACZAACZAACZAACZAACYREAJZfUH7lz58/YsovXNiZJ67BRAKhEqACLFRSPI4ESIAESIAESIAESIAESIAESIAESCAkAnB7zJ07d0jHhnMQ8sY1mEggVAJUgIVKiseRAAmQAAmQAAmQAAmQAAmQAAmQAAmERAAxv2CtlZS0dPmf8uhT/WXsV98nygZ5RyquWKLMuSFNEqACLE02KytFAiRAAiRAAiRAAiRAAiRAAiRAAqmXwJJlq2TUJ+PklCrSZv/6m3zzw7TUWxmWPEUQoAIsRTQDC0ECJEACJEACJEACJEACJEACJEACJGAJnNBg92fPnrU/ZeqMOfLz7F89v/mFBNwSoALMLTEeTwIkQAIkQAIkQAIkQAIkQAIkQAIkEBUC6zduFrg+1q9zubS/944E15g5d0GC3/xBAm4IZHZzMI8lARIgARIgARIgARIgARIgARIgARIggWgQ2LBpi7z+3hgT2+uxDvdKvdo1JVOmjDL6s68kq8b86tjurmhclnmmEwJUgKWThmY1SYAESIAESIAESIAESIAESIAESCClEli34R958/1P5aS6PiK9/eFY6fxgG6lzeXVViJ2RYkUKSZlSJVJq8VmuVECALpCpoJFYRBIgARIgARIgARIgARIgARIgARJIqwRg+TVi1Cdy/MQJaXxtPWl9QzM5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nseRAAmQAAmQAAmQgGsC8fHxQnnDNTaeQAIkQAIkQAKpmsCuXbsEMcBy5MgRsiVYsArDqgzKrzNnzkjRokWDHc79JOAhQAswDwp+IQESIAESIAESIAESIAESIAESIAESiBQBKKhiY2MFE2GRit0Fl0pYfuXL5ztGWKTKznzSHgEqwNJem7JGJEACJEACJEACJEACJEACJEACJJAiCEBRRWVVimiKdF+IjOmeAAGQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmkaQJUgKXp5mXlSIAESIAESIAESIAESIAESIAESIAESIAETBB8YiABEiABEiABEiABEiABEiABEiABEiABEiCBtErAxADjqkxptXlZLxIgARIgARJIGQS4CmTKaAeWggRIgARIgARIgATSKwG6QKbXlme9SYAESIAESIAESIAESIAESIAESIAESCCdEKACLJ00NKtJAiRAAiRAAiRAAiRAAiRAAiRAAiRAAumVgHGBTK+VZ71JgARIgARIgARIgARIgARIgARIgASiRyA2NlYOHz4sp0+fjshFMmXKJDlz5pR8+fJFJD9mkn4IUAGWftqaNSUBEiABEiABEiABEiABEiABEiCBZCOwe/duyZIlixQpUsR8RuLCJ0+elIMHDwryRr5MJBAqAbpAhkqKx5EACZAACZAACZAACZAACZAACZAACYREAJZfUH7lz58/YsovXNiZJ67BRAKhEqACLFRSPI4ESIAESIAESIAESIAESIAESIAESCAkAnB7zJ07d0jHhnMQ8sY1mEggVAJUgIVKiseRAAmQAAmQAAmQAAmQAAmQAAmQAAmERAAxv2CtlZS0dPmf8uhT/WXsV98nygZ5RyquWKLMuSFNEqACLE02KytFAiRAAiRAAiRAAiRAAiRAAiRAAqmXwJJlq2TUJ+PklCrSZv/6m3zzw7TUWxmWPEUQ+D9Xz8weflrHCQAAAABJRU5ErkJggg==" class="kg-image" alt loading="lazy"><figcaption>Two segments translated by Localazy AI into Spanish.</figcaption></figure><h2 id="2-part-2-technical-manual">2️⃣ Part 2: Technical manual <a class="markdownit-header-anchor" href="#2-part-2-technical-manual">🔗</a></h2><p>The second test round consisted of a 470-word drone manual. 🚁 An equally fictional brand, with equally representative text features such as instructions, industry terms, or units. <strong>The glossary included 10 terms in each language</strong>, and the style guide provided more context, such as the requirement to use a <strong>neutral and precise tone</strong>, apply imperative form for operational instructions, and keep product names untranslated.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAK5CAYAAABJ3okVAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFoKADAAQAAAABAAACuQAAAABjLiyWAABAAElEQVR4AezdCZwUxdnH8YdLDgFBQQVk0RUFRQRBQQUVFLyN6IsHGjFRY8xrjBpzGOOZGKOJGhPNm8SgMV6oGEWJeKGuEUQQEETkEDe6RIiCoNw3b/17t4be3pndmdmZZXbmV35wZnv6qPp2T3X10zXVDTZu3LjNspAWL15sXbp0ycKaWSUCCCBQWAKfLlpsv/vz32zt2nVBwTvs0d5OPO5o27Vtm+Dvf3+6yF5+/S1bU/F58d5FdvVl37KmTXeqc6hPP/3UOnbsWOfbZYMIIIAAAggggAACCCCAQE0CxKpqEuJzBLIj0DA7q2WtyQgseeEuu/Tq6+3eGcnMnWiezbZ21eZEH+7w6amWMdX5d3gByQACWRZQUPl3f3owFnw+e9jJdvNPf2BHHHaIdeu6T/BPwejbb/yxHdLzwCA3pZ+U2UNPPJPlnLF6BBBAAAEEEEAAAQQQQAABBBBAoGaBxjXPkktzbLYlM0rs6Qnv2LzP19umrS5vTZtZh64Dbfg5g6xnq1zKa93kZd7o2+3uqeuteNi1du0xLetmo2wFAQTqTGDCm2/b2nXrg+2dP/wbdsyAfnG3rd7O3/3WuXbfqEftg7kLbPrMD2zxCV9Yxz13jzs/ExFAAAEEEEAAAQQQQAABBOpGQJ0Ple7/3a1Z2eDayQ/aVU+VunU3tn6X3GyX9EiwmSUT7LrflNiy6McuttZu9x429H+G2uAu8WJLs+zeq8fY7OhyjZtZ6/ZFNnDISXZKn/bWJPp5wr9D62vT36694TQrjtNFduqo623UHLeSdoPslp8PsQ4V61PnxZsmrEi49vIP2trJP7nGhnUos9E33m9vrHJTe55n919U3nHLL7x2krN72tk13N8u+e1I6xfOx7opdvd142yem7ndkCvttlPa+8UqvcbyWWlqoj98vsxSK4dbX6L9p01Vsw8rbadhsY289SIb2DxR/tbbxD/fag/Pr/g8Yp9oqZqmh1lrmncHf77epo663W56pMRmLzXbpdP+1qf3/lbU3AWl50ywe2/+vY1eWB6k2cEZrdPN79RcR0wza7NLpu8lqDK43i791QRbUqclYmMIIBAWmPzue8Gf+xTtlTD47Odv2LChffOsb5helaZMn+U/4hUBBBBAAAEEEEAAAQQQQCAvBVbbpMkKPitttqlvTbe15X8k//8N623Zouk2+p7b7UePfWgr1eEzmbR5va1cssDGP/J7+/E9JVaazg/0v5pio17IZuSpyPYtqijMZ2VWFinXB3Mr7LaW2vs+6Orncb8u/jh439iKi+MHn/2sO/w1tg/vtJterMbTlbNk8urE2V03y6ZGHRLPnfQnmY5aJr3hVGdcO/lxd9fDBZh3H2jX/vhEKw7lfO3CcXbHn6bYGw8+Y91uOM/6JIzip7rV3J+/eNg1dv+w3M8nOUQAgdQFln25wpav+CpYcED/vkmtQONC77/v3jbvo1Kbu2ChnXHK0KSWYyYEEEAAAQQQQAABBBBAAIF6KLB8mk1ZFMr3R7Nsxrq+1fRwLZ93e49eN7TrF2U25Z9P2ejZq23ltMftRhtp95y/f2ilobc9zrL7L+kVTNi0aom99+o4e/ytMlv76QS7/Q+N7bYfDrR2odmTebus5Ckbe+iVrrdyMnOH53G9ln/nei2HJ8V5373YrXiOC8ouX2wfu0crFcXihi7AHItIb7bShW6eA7ZnYskni21TsL5i694tzoorJvW75NZIHrb38N7unHh5s+TKEV5DpfVu3WzLSifa6Icm2Ow1rqPuK8/Y+P6X28m7hpfY/r5sxjRbduyguPtp2VvTgh7f2+fOzLvybnKZWVdW1/LBnPI7Ej2Pqxx81kZbdD3Nhvd2Eel1H9r46qL4Wc0hK0cAAQQyK7BqzZrYCtvt1jb2vqY3HTvsEczyxbLlNc3K5wgggAACCCCAAAIIIIAAAvVYoLTknfJevW6kgJ56Tr16uL5V0/AU4QI3tha7F9vgi661648tv+5cO+0ZG/1peJ7475u06mD9zrzUbhuxf/nwG4tesocnpzE6wdalNn70xKpDg8TfbMpTW+9dZK2DpVzA+ZPQ4q739mwNzVGRln30sa30f7jXjxe5IRiUdu9o++ZyBLVhY2vXdZBd8a2+FeVcYjNmxunl3LRx+X76bLpNjNtJeoVNfb/8gyZu3kymzK4tkzlLsK5Nm3QgN6vyac8exWYzFliZ6x5vFhrPZZX7KcCTL9or85faWv0UoGlL697vGzZy2IHWLnLwrJxbYn8fNzE2vnST5m2tQ89Bdtk5fSvN68dO6Tnicuv+7t9tbOlq26QxUX5WMR7N1tU2e8Iz9nRJqS1Zp426L3OHYjv+zLPt5K5V82623ua94u40+fndGDodDjrJrrig8narFNpNiOXlglvtij7lc5SPPdPBznK9wZu//LiNnbXEVm5wn6nsR51tl51SbC3irSyYtv0uTfDnshK76eoS97by3ZhkrYJ16H+bV9jE0dG8nGmXnLS/tY7sh9gy4TdRU/flal3c18475zTrk+qttfB6eY9ADgs0bNAglrstW7bE3tf0plHDRsEsWzYnv0xN6+RzBBBAAAEEEEAAAQQQQACBXBNwPZddr2Wloj5n2ilf3Wez31ptZe/PsmXHx+/hWl0JioYMsu4lz9o8F4OZOHGBjeiSoBd0ZCUt+g2ygS8usDfcD3jnTZ5mK48YWBEIjcwY78/mzayFe+7RWgWvJx1qPxwQL24Wb8EUphXva10bTrEZrqfwok9cUPmA8uE01paWlQe9O3Wwos+WWNkiNwzH1oE2MIhTldmi/5Rvo/V++8fGn05hq3U/a9di62LTg7G6165zXb0tMp53K9czfm83gsR8F6ObXGbDzvRjk1Rk9dOJ9vpnel9sAw9dYW9MSuVGRsU6ErwkE/pLsGjdTj6oT/ndlHkvPGzj4w0q02dkMJh7pcHEP5tgN/3iYRs7Z4W12PtAN2b0gda9lQv2vvW4XXdH5bGNl7x5v914v+uqvrS57Xuw5nUHV+NVVjb12Srz+pJ/PPYBG7PQfdGbt7TWLf0XZKm9+od77F73xVvWuL31dNvsowP78wU29o932r0zqt4J+vjpO+3uV8vMNK616+rf2gWkl8x81m596MPUx+3xmbOl9sKdd9nDs1ZZm2KXh65uMPhNq23ehAftjhcr7uDE5g2/KbKhI86wkSP6WnAYttrfhgV/D3SHX3lKx2r2ky4vMyryojJuUV4ethsfnFVzGbcusbF3OjuZ7lwU7Mc+xa1s3cIp9udf/97Gxr1rEy4T7xGonwK7tC6/R6vcf770y6QL8d/PvwjmTaXXdNIrZ0YEEEAAAQQQQAABBBBAAIHcEJg7xSYGozZ2sP59WlrxEYeWD6vw2Tv2ahI9mKsUonkPO6Qi+LOptLS8Z3WVmeJNKLL+PSqCnUEQN948CaYVD7WRPctjavPGPWUTt/8QOMEC4clLbXFSMaFi61ZRriWLXPytIvnxn4v6DLWDgs6NpTZvfsWHX7ne0hW9o7sURQK1fgUZe022HDVscGGp+d3erk2rqjNvbWKH9CqHWDlzlpWPNbF9ttJ355T3AO/Wy/rHhinZ/nlt3tWbHtAt+pxtV3zyF7vXjSsz9t6b7QX384CBhw20AUcUW9HO8Yqx1MY+VGJLNjeznhf8yPUO9gFiPczwTjeedImNnjzQfniEm751lj39vBuvpun+NvKGkTZw5wpS9xOAsXf/3sZ/NtFemDvELjmgMvVaF6Id+Qs3f2ifLnv9KRvz6Xpr4cbEuc2NiRPraex6Et/6axfgfmqcze59lvVsuH1dwXpuDK1njXvK5o3uKZuzp7m7MwdW3HnZPn9y79wYPq0i42WXjrMf3TvFlkybbmUnnVgeYK6ysrauh7jGmm1s742e7npNd7RD3N+xEXDStLJ2kbxsdk8hvcM9hXTOs/b4nF6Jn9DqcrLkxcdt/JLNVUzXznjYrnvE9XB/brodf1nf7dZVysQEBOqnQJtdWln73Xa1pV8ut3fcwwiHHHNkjQVZ/tXX9uGC8sckHHRAcnera1wpMyCAAAIIIIAAAggggAACCNQocOnV11c7T6LP7//drdUul+jD2dPmlI9R3NkFDDX8Rpte1q9diY1fttqmv1vmejCnGjhtZjs3rdja8i/sv+5tsmto3rxJxYJLbdnn7m0skFQxOeFLM+tzzknWc8GzNnvDAnv6yQ+tz0UHJhnjWWHjf3O9jY+z7p6hkQI0ksK+RW54kYWuR+9/FrvAa1/XyXKBvb9QC7a1bt32t4OXtwzc5s1xAeoDXKndCAvloeoO1j3rl9bJliNOQYNJLgboHiL5wEPTywPILr45MBYHDS3j9unK/gOt33OlNnXVdHt9zmlW3KPi860L7PVp6k3f2Pod1deWTX42tGDt34bCoLVfWXbX0My6n3ml3fOzM2xgZ3dX5YtSe8P1hr71+pvt8hsftLFzhRRKbjiNV5e5v7udZBdXQm9m/U45PLgjNG/2nIoFetiFN1xrd/78vO3BZ33SsL31P0Dj32y2oOd6xdz+peewUNA4mLjUJk7RrZcObriNUPBZn7khOs47wuV7wxyb4u+mBMuYVVnPzj2sZyd9WPGlrZgvtZe2NnRkZLzs4m7WXRVJRSWS2vr83GlanRDJS+MiG+GG35DtezMX+JXHeV1gL2jsoobFNvz8yqYt+pxkg3SHav4cF6iPsyiTEMgDgaPcHWylMvdzoDcmTqm2RFu3brVHn3rO/HAdftlqF+JDBBBAAAEEEEAAAQQQQACB+iewbrq9OlPDvrogce/eFUNeuDhWb8WxzD1McIrNri+xkp372sWnFQf5Xjv7GXt8bvA2o/8r6lpUPv7xKtezWb3Gl5RZ6Qb32rTIursYXHGPfYPPV5aVBUHcskUVXatbFdm+Cu7nWFo24femGxrl/262q+52HV7Ve9yNxjD4krOtX6IezA33t/491ZHXxePcUMaxNHeWvRd49HC92WNTM/YmXtfhjK08GytqsntfG/lD92/zeiub/46VvPyOe9pnqY2//3Yr6el6HV9UHqRc4sZx0ZMqm6yYZQ//PRLxtdW2UZlbusKCcLHGE27TzJZMftFGvTXLPv58vW1K5ktaRW+xLdIv393B2T3OkyaLh19r9w/XhiOpynpa2i7bf3kfmTn5P5tUub3Q1tqpt7YOqHRTulbxtrdXRxeqX+C+82VuPyQYTydWIayyqU89bh9E1vNVUNemenctshL+RCCHBdTr+e2p79l/v1hqo/8xzhRkPvaow61BaHxoZX+tGzPrwcfG2Adzy08gR/brY7u32y2HS0bWEEAAAQQQQAABBBBAAIH8EkjUk9n3fE70eToKa90QCvOC2FX58Bt+HR369LJ2E0psmTpAznW/wM9CMNFvK5OvLQacYWdNucvGLHIjF7jRA4694bQkVt/WTv7JNTasQxKz7u0CyebMXATq40/M+i+fXz7+c1f38EYt7j9ftMCmrxtoTZZUjH+8976xIWmT2Eqas6RQjuq20LyXXfELt8+rxBkrL9RzoHtYobtBsXLmRJs43PWWbr7eJrp4qOKorfv1DzymVl6k1n/VkKVarz97K3AP6ivqMchG6p/rNn7vr11X/dlj7M+Tu5UPq1Gx5U2up/QMBYWrTX5YjvXWpJ0b2uOkXta5IgC8cuarVXtXV7su92HT5pboRkNNi+b+5xm02r190BN9STLB/g1Lbd7MpbnPQw4RyLBA48aN7fJLzrfb7v6zrVu/3p589gX719tT7aADulmzpjsFW1u2fIXN+mBuEIT2m9+pSRM3bZ71Oqi7n8QrAggggAACCCCAAAIIIIBAXgistkmTSytKssTG3HK9jalSrs029a3pdl6PVIYsXW9rfKfFXXe3PausM/GEdesUvlRysZ49yt+l9n/3S/4Rg2zinW443a+m2KgXDrWTU1tB9XM3L7Zi9yv6eW60hDI3DvT7S8p7OHd319ZBcuNf9+zshsN1n33sht/Y+T/lk4tcYDoXU7shV9ptp7hnzrm0dtKDdtXT7nhYN8dK3j/NelYaCSJO7rscbgPbTXFDjrihONyz6gb2mWNTP9J8bW3gEdkpb/0IQC+ZYNf9xt29ccNY3PLzIVWHkXFPcbz4lFkB9ry5DvyIA2O63YdfX/MTND991Z6a4x4O2GmQXf9Dt/5Qz+ElS0tcADq2uuTebFhn65Kbs/7NlUkr16NTo6RYyDshSNfT7J7L+yc5BlDCtfABAvVSYI/27exnV3/X/jjqMfcwwmW25POlwb9oYXbaqYkNO3moff7FMiuZNMXedIHqb5/3P3b4ob2js/I3AggggAACCCCAAAIIIIBAfRVYPs2NBpBE5ufPsinr+trgZHtJugDmey6sptSk2D1zrfxtEv8vsylzVpfP17nYDk4mzhNvrR2G2MWDZtmtr6+wZSVP2atxRheIt1hy09rbvnu7MOiyzbasrMTeC/w6uB7i/plxLe2gbm1dD+wVNm9SibUJHkCo8aHdcLo5nlocMcQGT3DPWXPDBMx+caIt6RMndlqpDO3dc/U62PgXl9i8ye+4oUjmlPem79TXBibTm7zSupL7I91DIrm1Z2quDkVW3NStzEXm5yV4GmaLJhWx9K3ld1w6dCi/C6BxntfWlI8vVwTju7Q7oFel4LMWS2oojtj6O1rn3d0fbjyZectjE2NvSp++3Y3NcrONSjWgHVtDDrxJ16p8WKJKBVj7sYbecJWae5powuN7j/bl+6TUjfOct1H9Siz8gUBcgT3dLwZuufYHdt5w95CA0B1YPajwwG5d7aQhx9ivb/hR8KDCffcpbyZs27bN/vb4P+ydaTPjrpOJCCCAAAIIIIAAAggggAAC9U+gtOSdigfkFduI2241De1R6d8NQyqCx6U2Sc/VSiq5X7w/9mLFsB4tbeDA5J+8V/bCsy74Wb6R7u45RrUZVbbolLNssMZc3uo6XgW9FpPKfFIz9dyvuHy+hQvcAw/d28j4zh2Ky8eJXumGtizTnBXjQ5cvlMP/b1hkpw+pKNuyEhs92XWyrSG1O+pQC34v/dk79n9vVfQGP6L8mXk1LJrWx/UjAO3GBz7lGAWUy2z0H16y0mgwc3OZjXmtfNzT7j0qus73Prx8wO35L9oDUyvuwniiNQts1K/uslHq9azUvHkw0PiymdOtbGv5JP1/06cv2QMlyX5RtYS7g9BfodQl9sozsyoHvj+bYH+f7PLRpq8dW5FFLZHzKdqbO02r2a+5nzGEbx6sKbWnX9dttcZ2SO9qKrWGvWyQfjqw1c3/mHuaZ2j/mK232Y/dZdc9tqCydc6jkkEE0hNo2LChDRrQ36698tJY4+I3N//UrrrsW3bGKUOtVcudgxWrx/PZw8p/rOSD0FOmz0pvoyyFAAIIIIAAAggggAACCCCQQwKut/HsijhXV/fAuHi9m3ftZX06lWe57N3pQee/xAXYbGu/WGBj770zFidr0fMbdnqXxEv4TzatWmIT/36X3TGhYsjU3QfZiCN8j2I/V4qvLpg64uzy57uluGTNs++tZ5FtT026das8vnO3/a27IqU+9tRZ40bXjxT0glbg3qV5r7xqpb4M5ZOq/t+NF90viE+utpW6edCw2PrVNHRH1bUkPaV+DMHhitPhpO/aFcvvsXunTbTbf/qOte5UbF13a2ybvnS9jT9bHfRUbtHjLLvMH+juqY6XXD7IFt1dYrNH326Xv1ZsPTu6L8GGFbbwoyUukNneTnYPHgzSAYNs6O6zbPwXE+3W62ZaUXFHs89d79zlLkAtIbfTlrmfvCvAXFNqd+zZdtb7f7Exc8bYj2+caN33bWtNVi+12aVL3WDebpuXuN6L9SLs775krrKa/dkU+8OdK6x7892t3+UnWp90rZZNsbtvnmNF+xW5cZ8r9oG7kdCixxluPKLqVXuOuNhOLvujjZ/zrP3oOmd6QHs3FIf7ycTHpVa2arN1GNKKoTmqJ+TTAhTQwwubuPGjH3cPLlQQ+sHHng4U+vftVYAaFBkBBBBAAAEEEEAAAQQQyBOBuVNsou9t7B442CJusdpav4M72NjPXM/WZdOs5NMhNiISUF424fd26YSqC7c+9Dy7ccSBCdbr5nfxrkuvHlNlwRZdhtgPvj+oUoC3ykzJTjjgNBvZc779eXZNPXlX2PjfXG/jE6y35wW32hV9Qh/u7gLMrdwY08HwGubiS5EOkQ272UGuI/HsheXLtNu7OLFDaLW1f5tiOeJtsKIX9BsaC9qNoT128tAahiRuZgOP6mWj3TAtGkuiSe+B7mGE8VacmWn1IhRaXtRm1vP8a+3Oq06zgZ1a2eYlC2zGzA9dgNQ9OHCPYht89pX220siX7xOQ+yWm0fasB7trcly9zBCN/+Mj1bYTnv3t8t+dqUNq7gbpMDysB9faSN7u8DmltVW5rraL1nXynq6dd4zovxgXPLZ4iTF29vQH1xlV5y0v7Xb7ALP2mbpCmvuxlEZWWmbSa5uh83mnsA54kT3xWxsaz9z1osqvp1pWbl1/fAaG9mnlX1V6jzmuhsAjVpa9yEj7RcXRfZZvPI27GDDfnptYNqhoRuLR6YzS21ZkyIbfNE1dssp4ftX8VbANAQKU+CYAf3sovOHW4MGDWJBaHpCF+axQKkRQAABBBBAAAEEEEBgxwn44TEykYPZ0+YEAcOgx2rvxL2N2/XrVTEMx2qb/m5Z9Ztu2sw6dO1vI65ycbfzD7TWyUYLGzezdp0PtJMvcDG5qwZZcca6uTazPuecZD2bVp/t1D8tss57+aWK7aAD/Hv/2sy6F/vOp42tOPbef57br5V6Qb8wzmbX1AvaDUV8SGDsRifoEwnGZ7ioDTZu3Lgtw+sMVrd48WLr0iVyeyUbG2KdCCCAAALVCrz73vs26pExQRBawej/vfh869Wje7XLpPvhp59+ah07ul+RkBBAAAEEEEAAAQQQQACBHBMgVpVjO4TsFIxAxu5NFIwYBUUAAQTqmcBhhxxsTZo0sb889IQVd+ls3fbdp56VgOwigAACCCCAAAIIIIAAAggggEB9FSAAXV/3HPlGAAEEUhDo7X5bdM3lF1mXvToGwegUFmVWBBBAAAEEEEAAAQQQQAABBBBAIG0BAtBp07EgAgggUL8Euu7DsEj1a4+RWwQQQAABBBBAAAEEEEAAAQTqv0Cyw4rX/5JSAgQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIE6FSAAXafcbAwBBBBAAAEEEEAAAQQQQAABBBBAAAEEECgcAQLQhbOvKSkCCCCAAAIIIIAAAggggAACCCCAAAIIIFCnAgSg65SbjSGAAAIIIIAAAggggAACCCCAAAIIIIAAAoUjQAC6cPY1JUUAAQQQQAABBBBAAAEEEEAAAQQQQAABBOpUgAB0nXKzMQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoHAECEAXzr6mpAgggAACCCCAAAIIIIAAAggggAACCCCAQJ0KEICuU242hgACCCCAAAIIIIAAAggggAACCCCAAAIIFI4AAejC2deUFAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQqFOBrAWgGzRoUKcFYWMIIIAAAjtegLp/x+8DcoAAAggggAACCCCAAALxBbheie/CVASyLZC1AHSjRo1s06ZN2c4/60cAAQQQyBEB1fmq+0kIIIAAAggggAACCCCAQC4KEKvKxb1CngpBIGsB6J122sk2bNhQCIaUEQEEEEDACajOV91PQgABBBBAAAEEEEAAAQRyUYBYVS7uFfJUCAJZC0A3b97cVq9eXQiGlBEBBBBAwAmozlfdT0IAAQQQQAABBBBAAAEEclGAWFUu7hXyVAgCWQtAN23aNPAjCF0IhxFlRACBQhfwdb2v+wvdg/IjgAACCCCAAAIIIIBA7gn46xV//ZJ7OSRHCOSnQNYC0OJq3bq1LV++3NatW5efepQKAQQQQCCo41XXq84nIYAAAggggAACCCCAAAK5LECsKpf3DnnLV4GsBqCbNGliu+66qy1dupThOPL1CKJcCCBQ0ALqOaA6XnW96nwSAggggAACCCCAAAIIIJDLAsSqcnnvkLd8FWiwcePGbdku3KZNm2zlypXBZlq2bGn6yQOBimyrs34EEEAgOwKq0/XAQf+zNfUgoE7PjjVrRQABBBBAAAEEEEAAgewIEKvKjitrRSCeQJ0EoP2GFbDQcBwu6G1btmyxbduyHvv2m+YVAQQQQCADAg0aNLBGjRqZnh6tB3j4MdQysGpWgQACCCCAAAIIIIAAAgjUuQCxqjonZ4MFKFCnAegC9KXICCCAAAIIIIAAAggggAACCCCAAAIIIIBAwQpkdQzoglWl4AgggAACCCCAAAIIIIAAAggggAACCCCAAAJGAJqDAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCArAgSgs8LKShFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQIQHMMIIAAAggggAACCCCAAAIIIIAAAggggAACCGRFgAB0VlhZKQIIIIAAAggggAACCCCAAAIIIIAAAggggAABaI4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgawIEIDOCisrRQABBBBAAAEEEEAAAQQQQAABBBBAAAEEECAAzTGAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkBUBAtBZYWWlCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgSgOQYQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEsiJAADorrKwUAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAgAA0xwACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAVgQIQGeFlZUigAACCCCAAAIIIIAAAggggAACCCCAAAIIEIDmGEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBDIigAB6KywslIEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABAtAcAwgggAACCCCAAAIIIIAAAggggAACCCCAAAJZESAAnRVWVooAAggggAACCCCAAAIIIIAAAggggAACCCDQuC4JNmzYYOvWrbONGzfali1bbNu2bXW5ebaFAAIIIIAAAggggAACCCCAAAIIIIAAAgggUIcCDVwwOOtR4E2bNtnKlSutYcOG1qxZs6B4BJ/rcC+zKQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoI4Edtlll9iWst4DWr2ely9fbh06dLAmTZrENswbBBBAAIH4Al9//bWFK+r4czEVAQQQQCAqQP0ZFeFvBBBAIDkB6s/knJgLAQQQQCB1gc2bN1tWA9Dq+azgc6dOnaxRo0ap55AlEEAAgQIT0K9D+IVIge10iosAAhkRoP7MCCMrQQCBAhSg/izAnU6REUCgVgL+mr1Bgwa1Wk8hLKzg8yeffGJZfQihht1Qz2eCz4VwSFFGBBCorYA/idV2PSyPAAIIFJoA9Weh7XHKiwACmRKg/syUJOtBAIFCEaDeTG1Pf/XVV1ZWVpa9ALSG3tCQGwy7kdqOYW4EEChMgfBJLPy+MDUoNQIIIJC8QLjODL9Pfg3MiQACCBSmQLjODL8vTA1KjQACCNQsEK4rw+9rXrIw51DvZwWflbLWA3rdunXWunXrwhSm1AgggECaAjqJcSJLE4/FEECgoAWoPwt691N4BBCohQD1Zy3wWBQBBApSgHozud2uETE0OoZS1gLQGzdutMaNszrEdHKlZS4EEEAgxwV8wNmfxPzfOZ5tsocAAgjscAFfX1J/7vBdQQYQQKCeCVB/1rMdRnYRQGCHC1Bvpr4LNEb21q1bgwWzFoDesmWLMRh36juHJRBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgXwRyFoA2t8ZyBcoyoEAAgjUhYDvxVcX22IbCCCAQD4JUH/m096kLAggUJcC1J91qc22EEAgHwSoN1Pfi1kLQKeeFZZAAAEEClcgfALTexICCCCAQHIC1J/JOTEXAgggEBWg/oyK8DcCCCBQvQD1ZvU+1X1KALo6HT5DAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQSFuAAHTadCyIAAII1F6A3s61N2QNCCBQmALUn4W53yk1AgjUXoD6s/aGrAEBBApLgHqz9vubAHTtDVkDAgggkDEBTmwZo2RFCCBQYALUnwW2wykuAghkTID6M2OUrAgBBApEgHoz9R1NADp1M5ZAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQSEKAAHQSSMyCAAIIIIAAAggggAACCCCAAAIIIIAAAgggkLoAAejUzVgCAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIAkBAtBJIDELAggggAACCCCAAAIIIIAAAggggAACCCCAQOoCBKBTN2MJBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgSQECEAngcQsCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAqkLEIBO3YwlEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBJIQIACdBBKzIIAAAggggAACCCCAAAIIIIAAAggggAACCKQuQAA6dTOWQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEhCgAB0EkjMggACCCCAAAIIIIAAAggggAACCCCAAAIIIJC6AAHo1M1YAgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCAJAQLQSSAxCwIIIIAAAggggAACCCCAAAIIIIAAAggggEDqAgSgUzdjCQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIEkBAhAJ4HELAgggAACCCCAAAIIIIAAAggggAACCCCAAAKpCxCATt2MJRBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSSEGicxDzMggACCCCAAAK1ENi4caNt2bLFmjdvntRaUp0/qZUyEwIIFLzAzJkz7dVXX7VDDjnEhgwZUvAe6QKsWLHCHn/8cWvRooWde+65Sdft6W6vuuXWrVtnTzzxhK1du9bOO+88a9u2bXWz8xkCCCQh8O9//9uee+4569ixo5199tlJLFG3s+Ti9/6pp56yxYsX2+mnn2777LNPRkFyqc7NaMGSWFmuH4tJFIFZEIgJ1JsAtG8w77zzzjZ8+HDbfffdY4UIv8lmxRfeDu8RQACB+iawdetWmz59us2YMcNWrVpl27ZtsyZNmthee+1lgwYNsnbt2tW3ItWL/Mp69OjRtmHDBjvzzDOtU6dO1eY71fmrXRkfIoBA2gJqU3766adJLa/6c0cHIpPKKDMhgAACdSQwYcIEe++996xhw4Z2/PHHW8+ePavd8uzZs+2VV14xtVe5SVYtFR8igAAC9VKg3gSgve6aNWvszTfftDPOOMMaN6532ffF4BUBBBCoUwHVnf/4xz/s888/t0aNGtmee+5pzZo1s6VLl5rurH/22WdBb7gePXrUab4KYWO68NL5ShdUMvcpUW+ORPP75bL9mou9arJdZtaPQDwB3SzS99En3bRbsmSJbdq0KahDmzZt6j8Kep2qbi2E5DuFZCNAlKhe3FGuuZafHeXAdhGojYDaP3PmzLEDDzwwaIPGW5d+JaZ5NG9tUzbrqNrmjeURQACBQhaolxHcsrKy4G7qYYcdVsj7jrIjgAACSQmoUf/yyy8HweeioiI77bTTgp8N+4Xfffdd+9e//mUTJ04Meue2adPGf8RrBgT0y52LLroo6TWlOn/SK2ZGBBBISWDAgAGV5vc3Z77++ms78sgjM/4T40ob4w8EEEAgjwTUAULDM3Tu3DluqfSZ5iEhgAACCOSvwPZuHfWkjOptot4o06ZNC3ru1ZNsk00EEEBghwmoUb9o0SJr3bq1nXDCCZWCz8qUbuYVFxfbypUrbd68eTssn2wYAQQQQAABBBBAIL8ENI6ynm3xwQcfJCyYPtM8mpeEAAIIIJCfAvWuB/Qee+wR/IR5wYIF9tZbbwWD3Cfzk0c9mOP1118Pfmq+fv36IIitXn4DBw60bt26xfau/6mdAjV9+vSxd955xzRNSQ/10Pz77bdfMI6qguCrV68O1qUxqY877rgqJ02dSN9+++3ghKueMwqed+jQIZhXZSEhgAAC2RaYP39+0KjX8BqJejd36dLFFi5caP/5z38qZUcB6UmTJtlXX30VG0JCDxbRw6vCw0looWXLlllJSYnpVyrqda26WT2uB8UZX7q2dWN0+QYNGgR1tHosdu/evVIZ9HNOjX3t62zNu+uuuwb5UuDdJ41VOGvWLBs6dGhQ72ssQtXbKse+++4bBO+jZZbXG2+8YV988UXgs9NOOwXzHnvssbFAv+816R8Qpe3p4VX6W0mv9913XzC/HiClbUQfKPXss89aaWmpnXjiiRYdJkXDUk2dOtX69etnxxxzTLDOqE8y5x6fT+1Hn0aNGhWMEx5+oEwqnhr78aijjgrG0ZXVbrvtFoyTq2EM9HCfvffeO+gNpfxHz6caUzd8/vTHk861PGTL7yFec0nAtyH1YLqDDjrIpkyZEtQhuvF38MEHB3VEdBx+P6/qrvDQchp/+r///a+dcsopNnfuXPv444+Delx1jNat73p4/uh3vro6MZ6Z/16HnxEQzZv/WbtfXt9v/dP5I/yQrui5QHlWvaw8R+tQvy5vl6he9N/56LrTeY5B1Er1o86N4fNHTfnx+dar9pN+QeTPA7qGUFnTPRf5B07pekH/ZKzhXzT8oKxTSd5L9a+GjlE92r59+yrXLOmc//y6NU66jh89ZLd///62fPny4Jj15w1fnl122aXKOOn+mIoeQzoOkrlu8xZqq2gfaL/5c7z2gc6P+js6Pnv03K2867pP59Hw98p/L3z7Qdtr2bKlHXrooda3b9/gus7ngdfEAmoL6vkWcte5XobhpGn6rFWrVkG7UR0noimZY8IfT37ZRHWUb9vqeNF3S/tf41NH62G/HrWj/fGlaWpDqj2WTLA8egzpeFQ5dbxFj6F0voc+j6rXnnzyyaAeijfe9pgxY+yTTz4J2u8aPimaXnjhBfvwww+Dtq7OVz6p7PpMbX/VQT5pn+n5Jmrv6/sVvr7QM0/++c9/1nje0rqi30WdI7StcDvabzPRa3Qdib7P4eV9/lUvqu0dzr/Kq2Mk6pjIwteF/von0XnJn1f8uTXaRlD+1EbQdA2d6Nu9Xbt2DWc99j56Lkv1vB9bEW8QqEOBRjfccMPN2dieTjLhL3Jtt6HGnS6+tU5dfCpQooaevsBqnPmksaO0bTX6fGNVX3Y15NUDUI0fP/bpl19+aQpkq5Ly61BwWkEHBVvU2Nf6FSjWyUPTVHGroaV5tH414vTl1zY0XRWEb1yr4lBlr21oPTpJqQe3yqKLCa3X59Hnn1cEEChsATWEVQ9pGIZMJV046SfjvXr1CuqdeOtVHaiGt8bn80nDcpS4gLIaZ3pQoRrcClLqwkB1oW7eqZGlpMaf6jvVq7ohp7pRjVLVd6qvFWj0Zapt3ag69+mnnw4ah75uVb2rbX/00UdBPesvCjZv3hwEOnURootKlUPLqLGoejhc/+sco8CoyqIxsRUs1TlH+dVY2Vr//vvvH7vg1Pnm+eefDwLI8lPAVPvO++hmpQIvyoN69shRFzhy0D856TymPOiiXecP5VvHQHh+fa516Jykc9EBBxzgd1Fw/tFFkT7X/lPgI11fBWG0LZ2bFEBQ0sW4yqGfzPqyKHCcrKf2v35Sq/VpeeVP+VfDXw157Qc12HVshc+nCljouNE/TdfnuvjU/NpHOserYU5CICyQjfozvH7/XdbFdbid6efxbUh9B9UmVB2o75RudKk+efHFF4MbYTp2VRepTao2q74DqmOi9YvalqrT9Kr6QvWG5lcdo3rQ30BLpU707WnVWX555TOZvKmeVbtVr/ouKqikAIqCBfqOKqke1fMGwucC1X0qY/S84d30KpPq6kV9Hl63tqe6ShfcqhMUOFFdUVO7Olw/qk2u/aDtKr+qk3SOk0tN+VGZdC2g9elcomPP19/6NZHKGm7n69hJtu7U9Yby4oNyKqOOI9XFOmaiyR+X/hyjeZVk/swzzwT7Sjb6p3pex5qCK+H8pXr+0zp0HvbXYnKUgdarOl/b8d8RXx4dN7p54tsNyqM/HnWu9TdXU7lu0zoUsHn11VeD86/OwyqX2jzaPzpv6Jwf3q5usijApM/8uVv7UQbR7+G4ceOC9fv2gwKnKo/m1ffdf4eUj/qeslF/ykn7WPWX9rveqy7UPgonHe/6Dutmv5LmC9dRyR4TamfUVEf5tq3qTX1nlR/tf31ndez6etgft6pzdS2vdStPWk7Hl+ZX3afjK1EKf+/1Pfb1vpZXm07fH32v9X1RSuV7GP3e69jUuUn5Ugq3FdUGU1BT30F1CtBrNKn+UJ5UThn4pGH65KLPNd0/+0D17vvvvx/sS50HlNQu9t+Pms5bmt9/F+WvY0J1lLajdriOCd2YUv2s5M+vOo7S/T4HK6r4n8qp2JC+8zoOVHcoKS+TJ08OzgXaZ6rHfFJ5dX2gmwc6FpS0z/w5r6bzki+DthFtI+g7ohsQ2rbOyYpX6ViWs9oBmhauJ1M57/v885p5AdWbSmozkKoX0LWdUr3rAa1M68uni2LdGVevKVX+mpYoqWGiSrB3795BzzY/n+6Svvbaa8GFvho9qoh80kGkHis+GKOLfjXOdXJURXDqqafGek7rBKDAiypLNfZ8XlSBqMJW/oYNGxa7o678lLigjk4EarxzwHp1XhFAINMCauzoIksNNvW4SDapsaqLN13IDh8+PLh40LK6ONcNPQUf1OjyF4zqOaxtKQiqsVF90kWh6loFwU866aRgcm3rRp3AdHGiBuM555wTq1sVrFSPCwVH1WBUo1WNRc2vRu1ZZ50Va8iqka15VR+rQe0buMqgrNSbT40/JW1LdbyCPmpY62JFDUGVWUm9YPy5QucD9VbWBYAa4jpXRZPONepdovOS1qELAd0c8EEDGUeTziMK3uqcojz484z/Ww133xhO11fnIl2waPsKqOi8p/0bDuhkwjNcNl3InHnmmcHY45ruG9Rq4KtRN2LEiFi5dBGo3j0+CJ1qT8DwdnmPQDYFVA+ozakOEz6w4G+qqP5QveXrHNW1Oq7VhlT7UgEKn/Qd1Pyqg32PQV2Ujx8/Prh49cG1VOpEv+7wq9quqj+TyZsusFWnq47Q/D7woPWp7lCPUwUQBg8eHPtMHmPHjg3qYp1X0qkXdcGudn903dquf46Btq160Nel+iyaFHyK1zZXPa+6W/lTUFF1bnX1tPKjFG9fa/+o/lfQQOtRSqfu1Hnm6KOPDobJClaS4v90naHzsnoCh5+bo1/t6Jys84/Pn191Muc/zatfpyhAruXD1zgqs8rvL8r9elN5TeW6TedDlUUpfMzpu6NrPB2r4aTzh37dqvOdruV8wFP7U+d5BYXUtlFQUMeJ/tb5Vt9ZnYOVFDT0N8F1jChwRKpeQMeDgoa+bRR+GKGOc31fVFeqPSbzaEr2mFD9VF0dpXpWx4SCxqpX1TZU0vfE73/Vbeos4FP0e6jvvL/uV15VDyZKCrCqvRltg+q7o2NIdbfqBgU0wynZ72F4Gb3f23X2UGxE7VWdW2ShpHzqfKGODr79GHwQ+p/qTrVHdXyrLlc9qlfVjUr6jihg69v9Ol+pPo6O6Z3seUvbUT0S/S6Gv7uq09XrOlGsJJXvc6iosbdqR6rOUrn8L+KVL+0fJZVdNxT13ddxoL9lpOsPpXTPS/HOGzo2FWfSNUK4blK7WJ1ddKyEU23P++F18R6BuhSod2NAexyd8NXoUaWgyqm6dMQRR9gll1wSNMDC86nSUSWiSkCVSjipcg43ynRS1NPQldTQCP8UQnfF/QlMlZaS8qXGvCpvNR7DP+fSSVcnBFWaajiREEAAgWwJqNGfzoWgGlvnn3++ffOb36x0caU6TXWhGohqePoUfu+n6VX1r4br0MWcUibqRtXZ8cqkOls3DhXcUONdjTZ/UaPAuA/4KB+66FQDUkFN37jWdCX1RvbBZ/2t+lrnBG1X+VfSOSN63tB01fUKOumng76Bqum1TQo+KTDlLwD8+nShrHL6HnuZ8PXrjr5myjO8XgXO/blV09Xw9hfzOkf7oLo+0w0UHZc61hS8JyGQqwIKSKjO8cFn5VPH+YUXXlgp+Kzpql80f7RO1WeqT9RbzQefNc0HWBUYUG83pWTrxGDmOP9LJ29xVhME7hT00PoUgPdJ5VCgWvVy9CLaz1PTqwJX6jUYXbeWU/BG07Vt1YmJkupHBWLitc1V5yuPql/8zcVE6wlPj7evVXdp3/s2frp1p+r8cOA4vN1k3ut8ePHFF1v05/YKUvlzZHQ9yZz/5KjgUzxHnevD9XZ0/cn8ncp1m25WKlgUPS7kr2Eyor1TFVzUeVSBTh98Vp7UPtCNYH2X/DGqYyFeW0PnKP00X9/x6PqTKV+hzqPvheo7BfYVIPVJ7zVNn2meeCmVYyLe8n6aejKr3tS1uL9212eKB6jtqB6vChiHU/R7qPrM3yhUnZMo6XuvG4aaP9oGVZ3uzxFqp2recErmexie37/XsanvgoLN4UC+6k99J3TcJ0r6dYU6HKhdrF+EKKl9rHpXNw/UPtN6fFLQ1v+KxE/Ta7LnLdnoPBb9Liqf6siivOjYUF2TKKXyfY63DrXTte+1Db8PtP8V8FaZ5ei3Lwe1PXU94DtmpHteinfeUL2jYzPqIXd//gyXobbn/fC6eI9AXQrUyx7QAlLFoEa5TlgK9Ornyqoo4iU1KlTB6edWuruku5zhlGrjQRVrojtxfr2quLUdVaIKkOuEFk7Kjw9mqBIiIYAAAtkQUN0TrX+S2Y7qOQX7/Ph5angpQJIoqbeIGrvqzaAGmRr3CopqHeGL30zUjbp4Vr2phukDDzwQbEsNNl1MhH9yqIaiDxirF0o0qKDggOphNbbDSfV2OKnx539y6KdrmspY4n7N8tJLLwW9FrRtlVkXUfqX6aQbn/p5s8558lZjWT0XdQ7zN0Uz4Zso37poz4RnovVHp0fNo5/zNwK5KhCv3lWdoaTel7poVr0TDm4pIBhNWk+0PtJ8+m7owtinZOtEP3/0NZ28Rdehv3WhrvOEyqbexOGkG3Yqr/KtNrCCl6kkv26VNdoG198Kuiggovl8D73o+n39qCBNvLa3ghGy1bkj2TzG29eqk8N5TLfuTOfcHS6zzr+67tEvOHW9lOhGcXiZ6PEW7/wnH13jKBCjbWQ6pXLdpnLpmNM+DZsnypMPJqnDkHqghpOCPyq/v3GgmxI6JhQYeuSRR4Ib6Trva7o/54aX5331AjqW1E7SdbGu233PWb1Xe0af+boouqZUjonosuG/1flLx0m4k4H/XD1gfS9YP02v8b6Hyfyi0H/vFWyOd1NGN+BVD6pdpXnDZU/mexjOY/i92sO6EacArzrsqT7W90Tf1UQBfi0vF7VhdVNH9YaC7GpjKi+qU/W9V7vb9w7W90SBWH33winZ85a+i36b4eX1XvtbQ2Kod7L2mQ/4R+dL5fscXVZ/axs6F+jcoPKpPCq/6ja1s9Xe1j8dFxqqQ3WEzkF+X2n7qn9SPS/FO29oXbLWr+OTSdpmMtdCyayLeRCoS4F6G4AWkoINulupAIAa9IkqVf9TazV+9aX2w16ocamf9GQzqaJSMCZeinexEW8+piGAAALpCujOvi6G1XCKBlqrW6cCs/4n02q0qheWGoRKaoypURpO6kmkHtOqj/WZGnBKWkY9OcI/09b02tSNWqceGKJgty5cVP/rn4Lm6n0VfUCiyhLNr/JQ26Qy6QJCP2dW8N33mlIDVjdI413I1Gab4d5DavjrIkANZl3ERQPetfGtKY/Z8qxpu3yOQH0WUIBBP9tWXayLXvXoU/2spJtj/uZOOmVMtU6MbiPTeVP95IN40W3V9m9vFl1PMgEhv0yijiRyTCaI6deT6mtd1526xtE5WWVSwNQHwXTe0M/+003+ZrTaFon2R7rr1nKpXLf5vETPgTVt3/9itbr5dJxoiCg5+iFL9F1VkEjnYx6IW51e/M8UHFWHAAU41YZRIE7tRX1/9VmilMoxkWgdfrr2nw8g+mnZfE1U38S7mZiJfCgwqd7MCtwqsKrgs+p43TwJ/5om3rYU6NVNOPV81k0BxTDUplXAXsFpDfGmQKnKpHXql4e1saxuX9SU13D+k/k+h+f371U3qg2tMslLZda5y4/xrACvPlNZdYNT+Y0XDE9UD6ZyXlKelB/Vq8mk2p73k9kG8yCQDYF6HYAWiH4upbt8qiDfeuutSr1J9LmCzhobTo0+NRTCPwlUAyzaI07LZDKpR4bGDctmgzaT+WVdCCCQfwK6MFOAtLoGmi4INF6iGpMaF0/BVDW21LNB4yGHe6up7owX0FVQRcsq6WeJ+lmhxtrTuJ3q9aagrE+1rRvV4B00aFDwTzcTFRTXRaJ6FqrxqDz7pJ4MGks4lcasX7amVzVEL7jggqAHhAJLOqdoDDeNL63eZol+mVPTeuN9rjLrwkIXwto3Kqe2Ee+irba+8bbvp2XT02+DVwTyTUD1oeoIXcRrTEtdyPqk4EptAtBaTzJ1YqJAQabzprr+8MMP98XL6Gv0V4x+5aneYNX1QbRtriCDpmcr1WXdqbL4h8WefvrpwbnDl0vnd928TTf5Y1fnde2PRMGXdNaf6nWbz0t1QyFE86H9fsoppyR1k1jr1w14/VNwSm0ptTVkqOdh6BpP+5WUnICsFLxXO8nftNcv7BQcTeSY6jFRU05000L7sq6SYhDx6hW139RZINNJgUm1FfX9l7F6LeuYDz9ML9E2FXBV0FTnKsVWtG8Ua9G5Q+1drUffAQWp5eh7sSdaX03Tq9sXvqd1TetI5fscb10ql77TKq//RYf8tF6VT5/phokC0bIND93i15eJ85LWpeMk/Osmv/5Er7U57ydaJ9MRyLbA9tZvtreUpfXrDpwerqEKQeM66e5VOOkEo+CEGkfRHtKq9MI/fwwvV9v3uvOoO5tqEOnuIwkBBBDYUQKq+1RXqnGV6CJdDUol/9MvXbyq0axAZjj4rHlUd4aT5lXAVQ8c9I16Bb0VhNA4iWrEadv6LBN146RJk4Le2erVoaT86adyCn7rAkb1roLtqvfVk0CNWDUcM5m0fvUQ141PJV2kqje0yqvAi4wUFM90Uk9znVs0FIcuLKI/qcyEb6I8Z9Mz0TaZjkC+CPgAs77DPmjmy1bbtmiydaLfXvQ1U3lT8EJJ9X28gEt0u6n8rd67cou3bm1LvSj1ue/lG2/dyp/qsURtcwVqFBBSj7/oeS/e+pKdtiPqTp1vVRadI3RuCqfaXv/IR2XSudUfO+H1R9/rPKx2QDIp1es2lU37XefkZI45tU00X3Vjhft8qpe4hunQDSIlBXv0Kys90FhtI5Xf/9rLL8NrzQLqja99pgd+6p/ap9XdrE/1mKguB+ooof0fffaHltGQFXfffXfQtqtuHcl+ptiEvn+J2qBqwypGoXk0byaTfoGn41U3mtT+1XdWx2xNSfWeOp6oXa8OJDo36aapkqZrPeqAon/6XldX39a0LS2b6Luo7Sumo0C39lmilMr3OdE6FFCWv5wUS9J1hK8z1SlHx6pumKiu07zhziyZOC/5fGldqpvjdfDx84Rfa3veD6+L9wjUpUC9D0ALSxWifiqhO4nRu0Zq8OjEpjtT4WCATmb62bQq/mwkVYi6o6b164nb2p5PCuqMGzcu+Kf3JAQQQCCbAmo8Kgitnssvv/xypfpI29WvRHQxpkaw702rIKcaXWoIqSHok8ZjUy/jcNK8utGmhm70M39BqLpY/zJRN6reVD6mTJkSBMl9XnxgXD/pVJ7UkNaFjuZXQ00XAeGkcE2v/AAAQABJREFUcQiffPLJSuULf17dezXsdQGjHiY+eO/n9/lQHpJJyp93qml+NVB1zlMPaPVQ0Xkm3BjOhK/Pg8oRPndl09Nvk1cE8lVAF9JKqrvCbT/Vv+pdVZuUbJ2YaBvp5i3ae08X6zqPKCinX9WEk84RDz30UNK/PIzWi+qRphtsWrcCI+GkbWm66j8fLAl/7t8rbzoX+rZ5eD+oPldPN9Xb6vEXTdH8RD+v7u8dUXf6c656MIaDpDoP6sZpuOzV5T3eZ3LUuSieo47v6A1flV+u0bzo2izaZkj1uk1BNZ0Do8eFzl/6tVD0ulC9QHW8K9CkvIaTbm787W9/M70qqS2h87uG+wr3cFRQTv/0ua4xSakJ6Duo76r2mf/e+oBfvDWlekyE1xGto9TG1f5XQFFtKJ/UztXwEtqn4WeJ+M/TeVU7UYFgfdfUBg23pfU91DQdpxpfWfNmMslTxrrZpu3u7erPZLehdrPypWNf33UfANbyWo+uJRQ817Ac+jzdJBvVDfou+ps8Wpe2re+ctqMx2FXXJEqpfJ8TrUP1h7aj7clLdYq38kF3dfjQseQfqO7XJY/anpf8unT+1LGpeil8XaF2uM5NinOFk44rzVvTtVB4Gd4jkAsCeXPW1JOOVTlEG/GqQHRXVT8BV7BBjVZVdrqrpgt+nWjUgFKloumZTBqHVJWZ8vXnP/85qKj9XXqdDPRgLhoumRRnXQggEE9AjfcTTjjB/vGPfwT10Z/+9KcgiKkLQjXA1RBWo2fo0KGxn0DqIl6NTvUqGjVqVHDXX72nNa/qTSU11JRUzw4cODDWC1rBAP2ETxdsaqRqfl3QKx9Kta0bfX2v3iqq89VAVINVAQTV5WrU+osZjbOqPKge/utf/xrUwyq38q6LYd/gCzKWwv/UQ0I/yS1x42uqh5S2px5hMlKgRe/jBTHCm1CPCzV8Zayf8mqdxx57bLAvwvOF38tQ+0YBaJUj3k8qa+urc6HyovOkenmr16B6dSvYnS3PcBl5j0A+Cugn5hrq4hMX3FKbUN8r1UM+sKWLy0S/UKnJI5U6Md66Us2b8q56X3Ww6lH1CvPnD9U/+kWM6kbdoFMQRGVT/aw2cPiGWby8JKoXff2odasDiXqn6jzj61zlR7+IrKktf/TRRwfnPZ0T7r///uD84fOn6wK1zXVe8ClRfvznyb7Wdd2pwJCCJTofP/fcc8Hxprz687be12YIjSOPPDL4aX/YUftC61dwNnx9E86LOuD4B8Dp3BcNqqR63abjQse/jrfwcaF1R4PPKrPOYwMGDAjm9y7h9op6dWqfKykQqWPcl1H5Dl/HKVAVPlaChfhfjQLax7LVPlLyvXUTLZjqMaH1JKqjtP81HKdu/D366KPBsah2lW8/6vuv/GQqqYOc2qkKsOqh2f7Y99vTL2L0oMBMJ5mpHNqO2vfaTrJJAV99D/R91hAU4TpVAVfVKQqK6kZCbZLa7qpHStx3V21N34727XPVG6rT/bVDvG2l8n2Ot7yfpnLpl4XaVthKjvplqBzj9fhWXaF2e23PS8qHyqJzsc6b/rpC29e2w51BfJ5re9736+EVgboWyIse0EJTQ0c/91YlG006mZx00klBQ1VjZioYoUpO43bpBKUvtQLFmU6qlPSgLAUp1GDR3SxdeCiv+pm2GukkBBBAoC4EVB+de+65QaBYwVH1OtFFle6gq5GqcYzDPcfU4NTPTNVbRBflml8Xigo0Dxo0KMhyeHghNdg0v+pWf+NNFxdqYGo8ZvXw8Km2daMviy5glDeVQz21Vf8rb6eeeqrfVFDf6iFCmq5y60JA86ssuggdNmxYpQvl2IJJvNFDCLUtXQD7ILeCMWrIasxpNSarS2pYqnGti19ZhnvjVLeceqeoIZzoJ5W19dW2FaTR+VE/OdTP0hXgV9L5K1uewQb4HwJ5KqDvk4YJUr2gG2Wqi/R9UvvUByB8QCZVglTqxHjrTjVvCkqoba2bizo36MakTzoX6IG0Csxpuupb9YjVuUHnoPDFvV8m/FpdvahzlNrVqmP9eUav+lvTw+ew8DrD772V2uaq15Q/lUHBDtXnel5MOFWXn/B8Nb3fEXXn4MGDg7pc50adXxTYkb/OyTqHqDNMvCBtTWXR57rpoP2p/ayOPHLUzRSda+ONC6tznYJxuh7Ssa9jQgFcXQvpZmo4pXrdFj4X68aprrd0XtU4zypnNGl+XQPqmJSJ8q7ldPzo2FXZlLTP1EbQA+8VmNJ6Na8C7Dp+9H3W8UFKXUBtS+0j/fO/vKtuLakeE9XVUWrf6NjQd17ffe1XHYMKJGb62twfQ/peaBvalt+eptWmDVqdlz7Td1NteXUmqa4XcXQ9ctE5QXmPBpn1nVGbV+1p9RqubVKdoPpI1wq+Ha36RO17XZf472J120n2+1zdOuSjMukGqfISTqoX9D1Xm1u9naMpE+clv04dfzoOtd9UR6qulLPaCdEYlz+XJXMt5NfPKwK5INDABV+3ZSMjumCNVlrZ2A7rRAABBOqzgC5klPSqf7og1o2yZBpd9bnc5B0BBBCorQD1Z20FWR6BzAooePTEE08EvSd1s7KmG7GZ3XrltSlY7Hs5K+BMsLiyD/VnZY98+2vq1KnBMKAKuOsmCgkBBGovEK/e1DTOLzXbakQKpYY1z8ocCCCAAAIIIIAAAggggAACCFgwpMBjjz0W9BwOe2hsXfUqVk/BaE/C8HyZfP/aa6/ZSy+9VOln6vp1lx83VT+hJziQSXHWlesC+nWDnsuiHr3J9DDP9fKQPwQQyB+BvBkDOn92CSVBAAEEEEAAAQQQQAABBHJTQMOraFiPv//978FQFvr5uh+PW0MNaLiuugj6KtCsYJvGatbDzKLjNOvXZBorlYRAIQgsXLgweJiihnXTUHMa4kJDZpAQQACBXBEgAJ0re4J8IIAAAggggAACCCCAAAI5LqCH7GoM5xL3ADGNU6pgl8ZJ1vCL+sm/xoqti6Rxar/xjW8EDxCbNGlS8IBeDWWmMVQVfNOzHhQcJyFQCAIaAkdjKeu7qONfY6+TEEAAgVwSYAzoXNob5AUBBApOIN5YUowBXXCHAQVGAIE0BKg/00BjEQQQQMAJUH9yGCCAAAKpCcSrNzWtLn7xk1pOc29uxoDOvX1CjhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgbwS4CGEebU7KQwCCCCAAAIIIIAAAggggAACCCCAAAIIIJA7AgSgc2dfkBMEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCCvBAhA59XupDAIIIAAAggggAACCCCAAAIIIIAAAggggEDuCBCAzp19QU4QQAABBBBAAAEEEEAAAQQQQAABBBBAAIG8EiAAnVe7k8IggAACCCCAAAIIIIAAAggggAACCCCAAAK5I0AAOnf2BTlBAAEEEEAAAQQQQAABBBBAAAEEEEAAAQTySoAAdF7tTgqDAAIIIIAAAggggAACCCCAAAIIIIAAAgjkjgAB6NzZF+QEAQQQQAABBBBAAAEEEEAAAQQQQAABBBDIKwEC0Hm1OykMAggggAACCCCAAAIIIIAAAggggAACCCCQOwIEoHNnX5ATBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAgrwQIQOfV7qQwCCCAAAIIIIAAAggggAACCCCAAAIIIIBA7ggQgM6dfUFOEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBvBIgAJ1Xu5PCIIAAAggggAACCCCAAAIIIIAAAggggAACuSNAADp39gU5QQABBBBAAAEEEEAAAQQQQAABBBBAAAEE8kqAAHRe7U4KgwACCCCAAAIIIIAAAggggAACCCCAAAII5I4AAejc2RfkBAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQyCsBAtB5tTspDAIIIIAAAggggAACCCCAAAIIIIAAAgggkDsCBKBzZ1+QEwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIK8ECEDn1e6kMAgggAACCCCAAAIIIIAAAggggAACCCCAQO4IEIDOnX1BThBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgbwSIACdV7uTwiCAAAIIIIAAAggggAACCCCAAAIIIIAAArkjQAA6d/YFOUEAAQQQQAABBBBAAAEEEEAAAQQQQAABBPJKoHE2S7N+/XrbunVr8G/btm3BpvxrNrfLuhFAAIH6IqA6sUGDBubrRr3fsGGDrVy5MihCeLqft76UjXwigAAC2RTwdWK4nqT+zKY460YAgXwRoP7Mlz1JORBAoK4EfHsz/Orf+zzoWl7/lKKvfp58fg2XuWHDhqZ/zZo1ixW5TnpAx9sJsRzwBgEEEChgAVXKSuF6MswRnu7nDX/OewQQQKBQBXydGK4nwxbh6X7e8Oe8RwABBApVwNeJ4XoybBGe7ucNf857BBBAoNAEVC8qhV/9ez/d/x19DRbM8/+Fy+zfR4uc1R7Q2qjfcPguq58WzQx/I4AAAoUooDrR15Eqf7ju1N/RzzSNhAACCCBQXl9G68hwOzP6GWYIIIAAAuUCtD85EhBAAIHUBXzb0r+G251am/9br/596lupn0v48vqy+799abIagNZGtEHtGN051SsJAQQQQKCqQLSODFfW0c+qLs0UBBBAoHAFonUk9WfhHguUHAEEUhOg/kzNi7kRQAAB385UfDMa49Rn/nNJhd8Xgly4/PHKntUAtN9g+MTmpxUCPmVEAAEEkhHQiStcWavO1L9oov6MivA3AggUugD1Z6EfAZQfAQTSFaD+TFeO5RBAoFAFfMDZ159y8NPC1+r+vX8tJC+VOfwvXPY6CUBrg8qA3zHhDPAeAQQQKHQBfwLzdaSvsL2Lrz/1SkIAAQQQ2C5A/bndgncIIIBAKgLUn6loMS8CCCCwPdjsr9t9Pept/PV69NV/Xgiv4bL7977cWQ9Aa4PaKdEd4zPAKwIIIIBA+cnM93r2PaB9ha3603+GFQIIIIBAZYFwHUn9WdmGvxBAAIHqBKg/q9PhMwQQQKCqgOpNJf8ancNfw/vX6OeF8LfKHq/8WQ9Ae9zwxhPtKD8vrwgggEChCPi60deL+jscQNF0TYvOVyg+lBMBBBBIJBCtF6k/E0kxHQEEEKgsQP1Z2YO/EEAAgWQFfP2p+f01vF82/JmfViiv0bJH/5ZDnQSgteHwjomXkULZKZQTAQQQiCcQrhd9AFrzhafH+zveupiGAAIIFJJAuJ6k/iykPU9ZEUCgtgLUn7UVZHkEEChEAR/fVLvTv1d9Gn5fiC6+zOFzi5+m1zoJQIc3yHsEEEAAgfgC/qSlV19p+2nxl2AqAggggIAEfF1J/cnxgAACCKQmQP2ZmhdzI4AAAvHqTa+izwo9JTLIagA6jJ4oA+F5eI8AAggUuoDqSv/PW1B/egleEUAAgcQCvu4M15nh94mX5BMEEECgsAWoPwt7/1N6BBBIXcC3McO9nv201NdWGEtkNQAdD9/vnMLgpZQIIIBAzQLRulJ/R6dpLdSfNVsyBwIIFJZAtK6k/iys/U9pEUAgfQHqz/TtWBIBBApbIFx/ht97lUK9bo9n4U30mtUAdHhD/n1NGfLz8YoAAgggUFmA+rOyB38hgAACyQpQfyYrxXwIIIBAZQHqz8oe/IUAAgjUJEC9GV+oYfzJTEUAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoHYCBKBr58fSCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgkECEAngGEyAggggAACCCCAAAIIIIAAAggggAACCCCAQO0ECEDXzo+lEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBIIEIBOAMNkBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgdoJEICunR9LI4AAAggggAACCCCAAAIIIIAAAggggAACCCQQIACdAIbJCCCAAAIIIIAAAggggAACCCCAAAIIIIAAArUTIABdOz+WRgABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEggQAA6AQyTEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBGon0Lh2i7M0AggggAACCCCAAAIIIIAAAggggAACCCCAQF0JbN682V4tmWSbN2+Ju8nGjRvZ8YMHWqNGjeJ+XtcTCUDXtTjbQwABBBBAAAEEEEAAAQQQQAABBBBAAAEE0hDYsmWL3TfqUftw/sJql56/8N92xXcuyIkgNAHoancVHyKAAAIIIIAAAggggAACCCCAAAIIIIAAAnUvMO6l123cy6+ntWEFqL/3o5uqLHvaCcfaaSceW2V6NicwBnQ2dVl3xgXmzFtgg089x66/9bcZXzcrRKBQBeZ9VGrbtm1Lu/hadv7C0rSXZ0EEEEAAAQQQQACBwhKg/VlY+5vSIoAAAgSgOQYQQACBAhaY8Obbdvf/PWgPPzk2LQUFn7XsXX980N6cNDWtdbAQAggggIAFNwLnLvgYCgQQQCDvBWh/5v0upoAIIIBAFQGG4HAka9eusyuvvck+/2KZPXDfb619u92qQDEBAQQQyDeBjz7+xJ4aOz4o1qQp061J48Z23vDTUirm4/8YZ1pW6bGnn7e9Ou5p++5TlNI6mBkBBBAodAHdzHto9DM2+d337OxhJ9uQY44sdBLKjwACeSpA+zNPdyzFQgCBrAloqIy6Hi4jG4UhAJ0NVdaJAAII1AOB/fbd20487mh76bV/BbktmTTFtrn/zh/+jaRyr4BzuNez1kXwOSk6ZkIAAQRiAsEvSZ54Ngg+a6JuDO5TtBf1aUyINwggkE8CtD/zaW9SFgQQqEsBjQWdibSjgtkEoDOx91gHAgggUE8Fzjz1eNu8ebPpp5BKCiirJ7R64FWXosFn9dbTukgIIIAAAskLKPg86pEx9u5778cW0kNhuJkX4+ANAgjkoQDtzzzcqRQJAQSyLpDugwijGSMAHRWJ8/fqNWvsr38fbS+/9qZ9uXyF7dSkiXXbb1/7/qXfsj69DootoQfVff9HN1jX4i72+9tvsRYtmsc+e+Ott+0nN95mJxx3jF33w+8HQ2/MnP1h7POTz7rQWu68s9135y+tR/f9g+kbNmy0p58fb4+PGWtfLF0W2+73LrnADu19sDVo0CC2vB6ON3X6TLvrVzfYayUT7Z8vv2Zfr1xlu7RuZd8850w7/+wzguBObAH3ZmHpJ/b7Pz1gM2Z9YBs3bbLddm0b5O87F44I8uLn9eU6/tij7dBDDrY/P/io/eezxdbYBYtU/h9+/1LruOcelfLavFkzO+6YAfa/37nQ2u+2q19V8Jpsufx2a/K89fofx9YfXXfDhg3tgP272uWXXljFLLZQ6I0uyCY4v/8b9bD9Z/ES8+U4ZsDhobnK3z7wyBOBxQ0/udLeeXeGvTnxHTvowG52z+03B8tt3brVXnnjX/bXh0YHXm6HWZfOe9lFF5xtxw8+2pQ3n7SuUQ8/YXfc8jM37xJ7rGKfa/unnjgkONZaNG/mZw9e//vFUvuL2xevvTnJ1q1fH+zrs4adahec+z8WnbfSgvyBQI4I+GCzD0L7Vz89mk31zgv3fFbwOdG80WX5GwEEEECgXCBR8HlHXRSwXxBAAIG6FPBtR9/u9K9+ejQvtD+jIvyNAAII1C+BetMDeumyL+2a62+1+QsWWg8XXDyiX19bvuIrmzZjll3x4xvsl9f/yI49ekBK+jvt1MS+c+F5wdjPDz0+xgWKV9plF33T2rZp48Yx7RCsa9XqNXbtzb8OgsqadvLxx9q6deuDvxXk/t7FF9iFI4ZXCkJrmSt/elMQ2OzTq6dt2LgxyOefXDBV6VvnnRW86n8TSt6yX9zxe9uyZYsd2qeX7dq2TVDGJ55+ziZPnWH3/Pom69hhj9j8evPc+FfshVdes74u+K1A6/sfzLV3pr3nfH5pnTt1tPdcILtf3952yME97F3noyD4l87qt7/4uTVtulOwrnTKVSkT1fyh4PPPfnG7vfX2VNunS1EQuPX76qqf3mw3/+yHNnTwUQnXoAuyvz32VBDUVXD9yP6HWquWO9vbU6fbixNKbJsLKMdL993/kH399Upr02YXa7PLLsEsm1zPzjt+93827sVXg+lDXfBeSS43/eout1/et59e/b+VbgqoN+itv/2DrV+/IQjs60aEbiqMGftP2+j25bVufuVL6YO58+2a635pX7ljp78z380F+efMXeCC2KNt5uw5dtetN1S6ARIsxP8QyEEBNfb1ffGB5UQXAWr8+89UDILPObgzyRICCOS8AMHnnN9FZBABBOpAgPZnHSCzCQQQyEsB/WIulZSp3tOpbDM6b70JQD/vAohz539k3/32+XbxBefGAr4lb012wc477NlxL9mA/ofFAqzRgsb7W0FEBWr1EMLnX3zFNrnex+phG34I4cNPPB0EH9X79bprvh8LVJb95zO76me32N8ff9oOc4Fj31ta21EAs2txd/vtL38e9IbVtGnup5XX/PwX9q+3p9hZw06xnVu0CHr23uN6PisQ/rvbbrWePbprVlOP3QcffdL12H3c7n/oMbv+xz+IBTz1+a4uwHrfnbda8d7lD/pSwPc6Z6B1b92y1R65/56gh6/m/coFZH/wkxtdUHS+lX5aFvRC1vR0yqXlkkkKyr47fZYNPPww+40z0M/5ld6fM9cF5m+2R596xg4/rE8QVI63voX//tSedA82a9WqpXO5Keaicv767vtc8D3+uDctXZB61L2/saK9OsVWO97Nq+BzbxeMv9MFgxXIVlKv9B/f8KtgXYcfdogNGVQ5IB5dl/b3ZVf9zAX6Z7je91/ZHru3C44b9VxXz3z1/vZBdQXxbrvrPhvvAv8lEycHNy1iGeINAjks4Md+DgehVU/6oTWiwedjBvSj53MO70+yhgACuSmgdt4Djz5dZdgNej7n5v4iVwggkF0B2p/Z9WXtCCCQnwKpthtzIQC9feyBHN8nGtJg/Ji/2wXn/E8s+Kws9zhg/2BoifUbNgS9iDNZjOVffRUM56Bg48UXnBMLpGobCnJe4gLha9euDQKc4e0quHzFd78VCz7rs+J9ilzQsr0tW7Y8CFxq2ttTpge9r8847cRYkFXTNSTEOWd+w7p36xr0+v100WeaHEt9eveMBZ81Ub2aD+y+X/D54KOPjAWfNaHNLq2tqHMnW7lqtf338y+CedItV7Bw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2N59B+25aPnL1LRyZUulZrM02YYa0GnCyE4QQAABBBBAAAEEEEAAAQQQQAABBBBAAIG0F7i7+61SsED+VO+4UEQB0X1cqkYG9KWS57gIIIAAAggggAACCCCAAAIIIIAAAggggEASAqVKFJMBzzwuazZslujok0n09l1duFBBqVurhuTLm8d3RQa+IgCdgdgcCgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQSKlAgfz5pGXTRindLCT6U4IjJKaBk0AAAQQQQAABBBBAAAEEEEAAAQQQQAABBNwnQADafXPKiBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgZAQIAAdEtPASSCAAAIIIIAAAggggAACCCCAAAIIIIAAAu4TIADtvjllRAgggAACCCCAAAIIIIAAAggggAACCCCAQEgIEIAOiWngJBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAfcJEIB235wyIgQQQAABBBBAAAEEEEAAAQQQQAABBBBAICQECECHxDRwEggggAACCCCAAAIIIIAAAggggAACCCCAgPsECEC7b04ZEQIIIIAAAggggAACCCCAAAIIIIAAAgggEBICBKBDYho4CQQQQAABBBBAAAEEEEAAAQQQQAABBBBAwH0CBKDdN6eMCAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQCAkBAtAhMQ2cBAIIIIAAAggggAACCCCAAAIIIIAAAggg4D4BAtDum1NGhAACCCCAAAIIIIAAAggggAACCCCAAAIIhIQAAeiQmAZOAgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQcJ8AAWj3zSkjQgABBBBAAAEEEEAAAQQQQAABBBBAAAEEQkKAAHRITAMngQACCCCAAAIIIIAAAggggAACCCCAAAIIuE+AALT75pQRIYAAAggggAACCCCAAAIIIIAAAggggAACISFAADokpoGTQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE3CdAANp9c8qIEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBkBAgAB0S08BJIIAAAggggAACCCCAAAIIIIAAAggggAAC7hMgAO2+OWVECCCAAAIIIIAAAggggAACCCCAAAIIIIBASAgQgA6JaeAkEEAAAQQQQAABBBBAAAEEEEAAAQQQQAAB9wmEp+eQjh8/np67Z98IIICAawV4/3Tt1DIw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" class="kg-image" alt loading="lazy"><figcaption>Part of the glossary for the technical translation.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="data:image/png;base64,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/WAjsYoUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABfxRgAFof9xqrDMFKEABClCAAhSgAAUoQAEKUIACFKAABShAAT8QYADaDzYSq0gBClCAAhSgAAUoQAEKUIACFKAABShAAQpQwB8FGID2x63GOlOAAhSgAAUoQAEKUIACFKAABShAAQpQgAIU8AMBBqD9YCOxihSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAF/FGAAWh/3GqsMwUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABPxBgANoPNhKrSAEKUIACFKAABShAAQpQgAIUoAAFKEABClDAHwUYgPbHrcY6U4ACFKAABShAAQpQgAIUoAAFKEABClCAAhTwAwEGoP1gI7GKFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAX8UYABaH/caqwzBShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAE/EGAA2g82EqtIAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUMAfBRiA9setxjpTgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFPADAQag/WAjsYoUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABfxRgAFof9xqrDMFKEABClCAAhSgAAUoQAEKUIACFKAABShAAT8QYADaDzYSq0gBClCAAhSgAAUoQAEKUIACFKAABShAAQpQwB8FGID2x63GOlOAAhSgAAUoQAEKUIACFKAABShAAQpQgAIU8AMBBqD9YCOxihSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAF/FGAAWh/3GqsMwUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABPxBgANoPNhKrSAEKUIACFKAABShAAQpQgAIUoAAFKEABClDAHwUYgPbHrcY6U4ACFKAABShAAQpQgAIUoAAFKEABClCAAhTwAwEGoP1gI7GKFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAX8UYABaH/caqwzBShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAE/EGAA2g82EqtIAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUMAfBRiA9setxjpTgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFPADAQag/WAjsYoUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABfxRgAFof9xqrDMF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IIAAAggggAACCCCAAAIIIIAAAggggEAgAQLQgYTYjgACCCCAAAIIIIAAAggggAACCCCAAAIIIBCUAAHooNgohAACCCCAAAIIIIAAAggggAACCCCAAAIIIBBIgAB0ICG2I4AAAggggAACCCCAAAIIIIAAAggggAACCAQlQAA6KDYKIYAAAggggAACCCCAAAIIIIAAAggggAACCAQSIAAdSIjtCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAkEJEIAOio1CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAoEECEAHEmI7AggggAACCCCAAAIIIIAAAggggAACCCCAQFACBKCDYqMQAggggAACCCCAAAIIIIAAAggggAACCCCAQCABAtCBhNiOAAIIIIAAAggggAACCCCAAAIIIIAAAgggEJQAAeig2CiEAAIIIIAAAggggAACCCCAAAIIIIAAAgggEEiAAHQgIbYjgAACCCCAAAIIIIAAAggggAACCCCAAAIIBCVAADooNgohgAACCCCAAAIIIIAAAggggAACCCCAAAIIBBIgAB1IiO0IIIAAAggggAACCCCAAAIIIIAAAggggAACQQkQgA6KjUIIIIAAAggggAACCCCAAAIIIIAAAggggAACgQQIQAcSYjsCCCCAAAIIIIAAAggggAACCCCAAAIIIIBAUAIEoINioxACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAIAEC0IGE2I4AAggggAACCCCAAAIIIIAAAggggAACCCAQlAAB6KDYKIQAAggggAACCCCAAAIIIIAAAggggAACCCAQSIAAdCAhtiOAAAIIIIAAAggggAACCCCAAAIIIIAAAggEJUAAOig2CiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggEEiAAHUiI7QgggAACCCCAAAIIIIAAAggggAACCCCAAAJBCRCADoqNQggggAACCCCAAAIIIIAAAggggAACCCCAAAKBBAhABxJiOwIIIIAAAggggAACCCCAAAIIIIAAAggggEBQAgSgg2KjEAIIIIAAAggggAACCCCAAAIIIIAAAggggEAgAQLQgYTYjgACCCCAAAIIIIAAAggggAACCCCAAAIIIBCUAAHooNgohAACCCCAAAIIIIAAAggggAACCCCAAAIIIBBIgAB0ICG2I4AAAggggAACCCCAAAIIIIAAAggggAACCAQlQAA6KDYKIYAAAggggAACCCCAAAIIIIAAAggggAACCAQSIAAdSIjtCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAkEJEIAOio1CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAoEECEAHEmI7AggggAACCCCAAAIIIIAAAggggAACCCCAQFACBKCDYqMQAggggAACCCCAAAIIIIAAAggggAACCCCAQCABAtCBhNiOAAIIIIAAAggggAACCCCAAAIIIIAAAgggEJQAAeig2CiEAAIIIIAAAggggAACCCCAAAIIIIAAAgggEEiAAHQgIbYjgAACCCCAAAIIIIAAAggggAACCCCAAAIIBCVAADooNgohgAACCCCAAAIIIIAAAggggAACCCCAAAIIBBIgAB1IiO0IIIAAAggggAACCCCAAAIIIIAAAggggAACQQkQgA6KjUIIIIAAAggggAACCCCAAAIIIIAAAggggAACgQQIQAcSYjsCCCCAAAIIIIAAAggggAACCCCAAAIIIIBAUAIEoINioxACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAIAEC0IGE2I4AAggggAACCCCAAAIIIIAAAggggAACCCAQlAAB6KDYKIQAAggggAACCCCAAAIIIIAAAggggAACCCAQSIAAdCAhtiOAAAIIIIAAAggggAACCCCAAAIIIIAAAggEJUAAOig2CiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggEEiAAHUiI7QgggAACCCCAAAIIIIAAAggggAACCCCAAAJBCRCADoqNQggggAACCCCAAAIIIIAAAggggAACCCCAAAKBBAhABxJiOwIIIIAAAggggAACCCCAAAIIIIAAAggggEBQAgSgg2KjEAIIIIAAAggggAACCCCAAAIIIIAAAggggEAgAQLQgYTYjgACCCCAAAIIIIAAAggggAACCCCAAAIIIBCUAAHooNgohAACCCCAAAIIIIAAAggggAACCCCAAAIIIBBIgAB0ICG2I4AAAggggAACCCCAAAIIIIAAAggggAACCAQlQAA6KDYKIYAAAggggAACCCCAAAIIIIAAAggggAACCAQSIAAdSIjtCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAkEJEIAOio1CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAoEECEAHEmI7AggggAACCCCAAAIIIIAAAggggAACCCCAQFACBKCDYqMQAggggAACCCCAAAIIIIAAAggggAACCCCAQCABAtCBhNiOAAIIIIAAAggggAACCCCAAAIIIIAAAgggEJQAAeig2CiEAAIIIIAAAggggAACCCCAAAIIIIAAAgggEEiAAHQgIbYjgAACCCCAAAIIIIAAAggggAACCCCAAAIIBCVAADooNgohgAACCCCAAAIIIIAAAggggAACCCCAAAIIBBIgAB1IiO0IIIAAAggggAACCCCAAAIIIIAAAggggAACQQkQgA6KjUIIIIAAAggggAACCCCAAAIIIIAAAggggAACgQQIQAcSYjsCCCCAAAIIIIAAAggggAACCCCAAAIIIIBAUAIEoINioxACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAIAEC0IGE2I4AAggggAACCCCAAAIIIIAAAggggAACCCAQlAAB6KDYKIQAAggggAACCCCAAAIIIIAAAggggAACCCAQSIAAdCAhtiOAAAIIIIAAAggggAACCCCAAAIIIIAAAggEJUAAOig2CiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggEEiAAHUiI7QgggAACCCCAAAIIIIAAAggggAACCCCAAAJBCRCADoqNQggggAACCCCAAAIIIIAAAggggAACCCCAAAKBBAhABxJiOwIIIIAAAggggAACCCCAAAIIIIAAAggggEBQAgSgg2KjEAIIIIAAAggggAACCCCAAAIIIIAAAggggEAgAQLQgYTYjgACCCCAAAIIIIAAAggggAACCCCAAAIIIBCUQOWgSlGoTAocPHhQ+/fv1+HDh3Xy5EmdPXv2oo6jQoUKqlq1qmrVqqX69esrOjr6ouqjMAIIIIAAAggggAACCCCAAAIIIIAAAghcXgIVLAh5cVHIy8vjsjyazMxMbdmyxRVwbtSokStgHBkZKSeAfDGL86uTnZ3tCminp6e76mvdurWioqIuplrKIoAAAggggAACCCCAAAIIIIAAAggggMBlIkAA+jI5kcUdhjPqOSUlRTExMWrcuHFxu5XI+j179igtLU2xsbGMhi4RUSpBAAEEEEAAAQQQQAABBBBAAAEEEECgbAsQgC7b5++cvXdGPiclJSkuLk516tQ5574ltfHQoUNKTk5Wu3btGAldUqjUgwAC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AAIIIIAAAggggAACCCCAAAIIlFMBAtDl9MRz2AgggAACCCCAAAIIIIAAAggggAACCCCAQKgFCECHWpj6EUAAAQQQQAABBBBAAAEEEEAAAQQQQACBcipAALqcnngOGwEEEEAAAQQQQAABBBBAAAEEEEAAAQQQCLUAAehQC1M/AggggAACCCCAAAIIIIAAAggggAACCCBQTgUIQJfTE89hI4AAAggggAACCCCAAAIIIIAAAggggAACoRYgAB1qYepHAAEEEEAAAQQQQAABBBBAAAEEEEAAAQTKqQAB6HJ64jlsBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAg1AIEoEMtTP0IIIAAAggggAACCCCAAAIIIIAAAggggEA5FSAAXU5PPIeNAAIIIIAAAggggAACCCCAAAIIIIAAAgiEWoAAdKiFqR8BBBBAAAEEEEAAAQQQQAABBBBAAAEEECinAgSgy+mJ57ARQAABBBBAAAEEEEAAAQQQQAABBBBAAIFQCxCADrUw9SOAAAIIIIAAAggggAACCCCAAAIIIIAAAuVUgAB0OT3xHDYCCCCAAAIIIIAAAggggAACCCCAAAIIIBBqAQLQoRamfgQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJwKEIAupyeew0YAAQQQQAABBBBAAAEEEEAAAQQQQAABBEItQAA61MLUjwACCCCAAAIIIIAAAggggAACCCCAAAIIlFMBAtDl9MRz2AgggAACCCCAAAIIIIAAAggggAACCCCAQKgFCECHWpj6EUAAAQQQQAABBBBAAAEEEEAAAQQQQACBcipAALqcnngOGwEEEEAAAQQQQAABBBBAAAEEEEAAAQQQCLUAAehQC1M/AggggAACCCCAAAIIIIAAAggggAACCCBQTgUIQJfTE89hI4AAAggggAACCCCAAAIIIIAAAggggAACoRYgAB1qYepHAAEEEEAAAQQQQAABBBBAAAEEEEAAAQTKqQAB6HJ64jlsBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAg1AIEoEMtTP0IIIAAAggggAACCCCAAAIIIIAAAggggEA5FSAAXU5PPIeNAAIIIIAAAggggAACCCCAAAIIIIAAAgiEWqByqBug/vAXOHjwoPbv36/Dhw/r5MmTOnv27EV1ukKFCqpatapq1aql+vXrKzo6+qLqozACCCCAAAII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QAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEwhYgAB02FQkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhEgAB2JFmkRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE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AegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLMAAehobh3qhgACCCCAAAIIIIAAAggggAACCCCAAAIIxLAAAegYbjyqjgACCCCAAAIIIIAAAggggAACCCCAAAIIRLPAPdFQuU8++SQaqkEdEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBmBG4//77o76ujICO+iaigggggAACCCCAAAIIIIAAAggggAACCCCAQGwKDPvcttisOrVGAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQiGYBRkBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIJoFCEBHc+tQNwQQQAABBBBAAAEEEEAAAQQQQAABBBBAIIYFCEDHcONRdQQQQAABBBBAAIH/vx07pgEAAEAY5t81NkZSB6R8I0CAAAECBAgQIECAQFlAgC6/YxsBAgQIECBAgAABAgQIECBAgAABAgSOBQTo4/NMJ0CAAAECBAgQIECAAAECBAgQIECAQFlAgC6/YxsBAgQIECBAgAABAgQIECBAgAABAgSOBQTo4/NMJ0CAAAECBAgQIECAAAECBAgQIECAQFlgA5qhNCgLe24AAAAASUVORK5CYII=" class="kg-image" alt loading="lazy"><figcaption>Glossary term translation view.</figcaption></figure><p>To give the model a taste of the desired translation, I included sample translations for each language. Again, in terms of formality, German called for a formal register, and Spanish and Polish were allowed to stay neutral. Gender neutrality was an important requirement as well.</p><h3 id="source-text">Source text <a class="markdownit-header-anchor" href="#source-text">🔗</a></h3><pre><code>The LiftMate X200 is an autonomous warehouse drone designed to transport lightweight inventory items within modern distribution facilities. The system combines computer vision, onboard sensors, and cloud-based coordination software to ensure efficient and safe movement of goods between storage areas, picking stations, and packaging zones.
The LiftMate X200 is optimized for indoor warehouse environments and supports automated logistics workflows. By integrating with warehouse management systems, the drone can receive and execute delivery tasks automatically, reducing the need for manual transportation of small packages.

System setup
Before operating the drone, ensure that the charging dock is properly installed and connected to a stable power source. The charging dock should be placed on a flat, unobstructed surface within the designated charging zone.
Next, install the navigation beacons in all operational zones of the warehouse. These beacons allow the drone to determine its position with centimeter-level accuracy and maintain a stable flight path. Navigation beacons should be mounted at a height of 2–3 meters and positioned according to the installation map provided with the system.
Once the hardware components are installed, connect the system to the AeroSync Control Panel. The control panel allows operators to configure the drone, assign delivery routes, and monitor system performance in real time.

Starting a delivery task
To begin operation, open the AeroSync Control Panel and create a new delivery task. The operator must specify the pickup location, the destination zone, and the expected payload weight.
The system automatically verifies whether the payload exceeds the maximum payload capacity of 3 kg. If the payload is within acceptable limits, the drone initiates the autonomous flight sequence and proceeds to the pickup location.
During the flight, the onboard optical sensors continuously scan the environment to detect obstacles such as shelving units, equipment, or personnel. If an obstacle is detected, the drone automatically adjusts its route to maintain a safe flight path.

Safety features
The LiftMate X200 includes several safety mechanisms designed to prevent accidents and operational disruptions. If the drone detects a sudden obstruction or loses connection with the network, it automatically switches to safe hover mode until communication with the control panel is restored.
In addition, the system continuously monitors battery health to ensure safe operation. When the battery level falls below the recommended threshold, the drone automatically returns to the charging dock.
Operators should ensure that warehouse personnel are aware of active drone zones and avoid placing temporary obstacles within designated flight corridors.

Maintenance
Routine maintenance should be performed every 200 flight hours to ensure optimal performance.
Maintenance procedures include:
Inspecting propellers for visible damage
Cleaning the optical sensors to remove dust or debris
Verifying the condition of the battery and checking battery health in the control panel
Ensuring the charging dock and navigation beacons remain securely installed
Failure to follow recommended maintenance procedures may reduce system efficiency and may void the product warranty.</code></pre><h3 id="results">Results <a class="markdownit-header-anchor" href="#results">🔗</a></h3><p>This time, Localazy AI consumed <strong>2.3 credits per language</strong>, and the results were ready after roughly 1 minute.</p><p>What was the output quality? Surprisingly, no surprises again.</p><p><strong>🇵🇱 Polish</strong></p><p>No big deviations were detected here. The only problematic term was “control panel”, which was translated as per the glossary only when written in lower case. When both words were capitalized, the model treated the phrase as an untranslatable item and left it in English. Amusingly, when another term from the glossary appeared once in lower case and once in upper case (“Delivery Task”), the correct glossary term was applied every single time.</p><p>The style guide gained the respect it deserved, and <strong>the translation was accurate and fluen</strong>t. These two areas earn one full point, while the glossary adherence receives 0.8 points.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-text"><strong>Total score: </strong>2.8/3 points</div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABK4AAAFXCAYAAACLPwYJAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAErqADAAQAAAABAAABVwAAAADcKGnxAABAAElEQVR4AexdBbxVRRMf6VBKuhGkWxAkpLsE6RCVDulu6RBQBJEukRQUFPhQBGkUFAFBkO4O6fSb/z72cu559753zo0X983we9x7z9mzZ/e/u7OzszOzL/3HREKCgCAgCAgCgoAgIAj4EIFbt25RwoQJfZijZCUICAKCgCAgCAgCERmBU6dOUYYMGWwX8ejxU/Tv7TtUMF8u2rl7L81euNyRR9JXE9PIAd0dvz19hyMD+RIpEYgRKUsthRYEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBIFIjcCxE6dp4pdz6enTp9ShRRMqWig/RY8ejWYuWEaxYsakls3qR+r6SeF9g4AornyDo+QiCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCFhH459hJmjR9Pj1+/Fg9MWXWQmrzfkMqXCAvK7KeUaoUyShDujQWc5NkgYxAtECunNRNEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEIhYCsLT6dNo8evjoEZUpWZRqVSlPz549o2lzF9P+g4eV5ZUorSJWm4VnaURxFZ7oy7sFAUFAEBAEBAFBQBAQBAQBQUAQEAQEgSiEAJRWE6bOUZZWUFo1qlOd7j94EIUQkKraRUBcBe0iJukFAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUHANgKHj55wuAdqpdXyVeto/catFC1aNBXnKk/ObLbzlQcCGwFRXAV2+0rtBAFBQBAQBAQBQUAQEAQEAUFAEBAEBIFwRwBKq8/YPfDJkydUsUwJqluzMi1a8T1t3LJTlFbh3joRuwDiKhix20dKJwgIAoKAICAICAKCgCAgCAgCgoAgIAhEagREaRWpmy/cCy8WV+HeBFIAQUAQEAQEAUFAEBAEBAFBQBAQBAQBQSAwEQhJaRU9enRq/2FjEvfAwGx7X9VKFFe+QlLyEQQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAQcCoSmtPmrVjHJmy+JIL18EAVcIiOLKFSpyTRAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBDxG4ODhozR55ldOMa0WLP2WtuzYTbC0EqWVx9BGuQdFcRXlmjySVPj+CaJHV4iePYwkBZZiRgkEosUmipWMKG6mKFFdqaQgIAgIAoKAICAICAKCgCDgKQJaaVWtYhmqVaUcLfpmtVJa6dMDxdLKU2Sj3nMSnD3qtXnEr/HtfUQPzorSKuK3VNQrIRSp6Jvoo0KCgCAgCAgCgoAgIAgIAoKAIOAWAZweCILSCpZWG7fuUpZWnVq/R7lzZHX7XCDeuHDpCq1e9zNdunI1EKvn9zqJxZXfIZYX2EIAllZPbtl6RBILAmGOAPoo+qpYXoU59PJCQUAQEAQEAUFAEBAEBIHIhUDrrgNUgaOqe+DFy1do/JRZ9O/tO/TL9l+pd+fWlOzVJJGrEcO5tGJxFc4NIK83IQD3QCFBIDIgIH01MrSSlFEQEAQEAUFAEBAEBAFBIAIgECNGjCgZ0wpKq08mBymt0AxQXo35bDpduXY9ArSK/4vw33//0Q/rN1KPQaPV35ofN3n00pc4o/88elIeEgT8gcCNLf7IVfIUBPyDQOKS/slXchUEAgCBW7duUcKECQOgJlIFQUAQEAQEAUFAELCCwNmzZylFihQUM2ZMK8ltp3n8+DFdunSJ0qZNa/vZ8HgASqqh4yYrZZX5/QleeZl6dWpFyZO+ar4VUL+XfruGfvplu1OddMwzp4uh/BCLq1AAktuCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAQMgLx48en27dvh5zIi7vIG++ILATlVJE38rksrra8un4zsMPk7Ny9N1j9t+7cHexaaBdEcRUaQnJfEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEQkQgceLEBKuo69evq88QE9u4acwT74jodOL0Wfrtj6DDnOrVqkJVy5dyWeTbd+7S73/+5fJeoFzECZK+IN/k4ouSRKA8Hj58RPfu3Y9AJQq9KChvq069qGbDD+nK1WvqAVfXQs8peIoBw8dRmeoN6K+/jwS/GaBXzpy/QRPmbKANOw5TeHvTPn7ylH7YdIA+m7eRrty4E26I37v/iFr1X0iF64yhARNXh1s5Au3Fz549Y/Ph2+HazzZu2U6Fy1SnWQsWO+B1dc1xM4p/AW/FPBERyVd8PyLWTcrkOQKRSa6JCDzRLtK+GndYwDx+fgKX3TIESnpXcw/kMMyT6BtCERuBQGkrGYve9TO4Cr700kvKpe/UqVPkiz+4ByJP5B3R6dSZczRx6hyauWCZQyn1TrUKfLJi+WBFh0XWG/lyB7seSBeKvVkwWHVKFC0U7FpoF7xWXGGhgwVPi449CYPcFflqQneVt6+v3bz1LzVv15XqNGtNJ06d9nX2kl8kQWDakq20aPVuGjN9PR0/E6QIDK+iHzl5mT6Z+RN99d2vNGvptvAqhrzXTwhMmDKDKtRqTCtWr/PTGyRbXyKAeQHzA+YJzBdCYYdAoMkbYYVcZJNroipP/HXPXqpcpyn1GjgiwirGw6rPmt+D+RHzJPqGUMRGIBDaSsaib/oYrKIQhypDhgw++UNekcHS6vTZ8zThizn04MFDtSk9ff4SNv74R4FarWJpqluzsgNgKK16dGxBiRMlcFwLxC+1WWn3TtXy9MrL8SlRwgT0bo1KrMQrZ7uqXiuu9Bv3/XWIlqxYFa5WA7osWrjFro1dwhGd8ePFo5fZdzZe3Hh2H7edPqIo9WClBWstWG2hTFGdsmVKTtGivURZMyanVMnChpnAignWTLBqgnWTpqSJXqYUSV+huLFjUpF8mfRl+QwQBMDEY8WKFfCTVmRrLle7/qhD7Fixn7dXQorlp8CjkQ2rsC5vRJI3IsocHlIbhLVcE1JZrNwLa57ojcxopT5W06DecePGoVeTJKbo0X0mnlt9fYROFz9+XIrG8nnSMDg6PjKM6YjcWGHZVv7CQcaiv5AN/HyhtBo/ZTbdf/DAUVlYik6Z+ZVDeVWxTAlqVKc6aaVVyuTJHGkD9Qss5apWKE3jh/WlsUN6UaWynh1uFcOXAC1c+i29+UZ+ypsrhy+zDdO8wKxmTR4Xpu+Ul0U8BJq9U4TwFxEISqvFn7aICEWRMvgBgTYfNCX8CUUOBFKnSkGrFs2KHIUN4FIGgrwRVs0T2eSaqMoTc2R7nX76blFYdYtI9Z7K5UoT/oQiPgKB0FYyFiN+P4uIJTxz7oJyD9RKq/jx49ErbAhz8fIVevL0KU1m5dVHrZpRzmxZqEzJolSkUH42kokTEasSYcvksy0dCPP37t2jKTPmuXUZjLAoSMEEAUFAEBAEBAFBIFIgIPJGpGgmKaQgIAgIAoKAIBAlEDh34RK7B86mu8+9ll5mpVXvTq2pW/sP2TXuFYXBU1ZewfLq6PFT6rcorex3DZ9ZXFUs+zYd/uc47frtd/pm1Rp6v3E9S6VBwNDlnP7rZd/S5StXletF0cIFqUu7FpQubWqVx6HD/9BHvQYp970p44dTmlQp1XUEsBw65lNav+EXavNhUxW0cdqchY739ho0Un1vy/daNGvouB7SF5gId+4zmC5dvqosr5IlfVUlR4By+DyPHzGQNmzaSt//bwPd+vc2JUzwCjVtUIea1K9NMWO8gNNcL0TTz5E1C3Vo3ZwK5c9L9+8/UO/Zu/+gozhV6zVXdZz8yTDKlT2run7n7l2aMW8R/Y/reO36DYVPttczU8fW71NBHwRyg4sg4pNduHRZvQ+fparVo1QpkjvVHzeBzadfzAy17kh79PhJ+mzqLA5Id4Ae8ckSyZMlpVbvNaJqlcs54YS0Rtq48wj1GruSXo4Xm8b2qk3b9hyj7zftp1u3H1DCV+JQ01pFqEnNwpxHdMdjDx89oeX/+4OW/LCHLl0JijmTgt37GlR7g+pWKsCuPTHo2Omr1G7wIrpx6x71bFmB6ld9ESTuzIWb1HrAQrrKgc+7flCWGtcoTLOWbacvF21hN8GENGtUE0qWJIjpIFD6srW/08JVv9Hla7eV+171snko1+upaMikH4Klt1I2XWddob2HzlKpJhMpf4609NmAenT3/kNq0XchXbhyi9o2Kkkt6hXTSenOvYc0Y8k2+t+Wg3Tt5l3l3pjjtZTUoVkpKpQ7vQpiiMRXrt925NGmYUnKkCYJffn1Fjp78QbFiBGNir+RmXq2qkDJEr/syDukL48fP6W5K3Zy3K1djrapU7GAKhvwNhIC3X82fyP9+udJuv/wMe8+xKbyxXJQ28YlKElC5+Nsj566QpM4CD0wQFq4RwKHTs3LUJYMzqa09x48pgXf7qKV6/eGWHeUxVU7pE2ZmFo1LE4Vi+dQuCEdXDQ7D1+m3l+pZE6qUzG/Ks+h4xdxm3K/npoGdKhCmdIG8QVcgwnw+o2bacbcRXT23HlcorRpUlOr9xtRxTJvc94h7w/ATeXL2V/R2KH9eAcmqG3t8hv1UtN/CJC6e+8+mjpzAfPmY2ocwgWlcrlS1JotvHw9YWJHaRrXY8Mv25SJNKw8ShUvqniz0Qwahzx07DGQGterpXi8xi0G88/iRQtTt46tyJheV8sKT9F5FyvyBuXJlZ1mMu8EDpM/Ga74rxV+ChdBPXfg3Wgb/FVi3IYP6KkOvwDPTJE8KX02+mOKFy+uLqLaVbODQaVyb1PFsqVo0pez6dCRoyqf3Dmy0YCenShThnSOfPHFStmdHgjgH57KG7qP/rJtp9pgixsnDuXPk5O6dmgVDG9fzeFm/oB+jrm7M8s4WV7L6Ggl8IGvlqykUUP60I5f99APBhkD8kXjuu9Q7NixHOnt8Ah3cg0y05jocQuZpt471alZw3dD5BFm2cFRMMMXI0/TOMxesJROnTlLPDA5wG5yalinBtWrXd1JLvAFT9Tv0/wFxTLzZf0eXWQ97o0yo87HSrl1PvpT445FilGuw32NH77Dyh+ypuZfxTlgLXhNSKTLFVL90I+69R9GBfLmookjBzv1H/2uLK9lcPAxnee02Qvp7PkLSt4ET27WsA71/Xg0j5VcjnIBu5nzF9OYj/vyvHeBFj6X4TGmqlcur2RU4xzj7Xyk+bKxbTAGIBu7I82zcd/K+3V7hSaXm3kDXMYhl7dr2UzJ93CJ0YQybuMj38HTEU7lzwOHqEr50hQnTmxeK62lru1b8lz4jk6uPnW/NNbVKQH/sIs/ntdjPST+9/26n+hjXldhjdG8UV3Ha2FJ0rpzb8UnjX3pCa/Deg8exfU6SFMnjKTXM2ciV22FjPQc9t0P63lxf8+xfkrB64NBI8c7yUBIb6W8SAfS7Ttl+jw1l6IvY93RhLHV/MXOeDhx+oySU4xjUY8ZO/O2q75iXuMG1cD5f1+0A3LUY9rBJ7hvQsbo2qGl+nR+q/zyFAEorT6ZPNNJadWLlVYpWU68cu06Z/uCJ/DCzLE28/R9kfE5jNE1P26ijVt3qeKXZYszuA7aJecVpt2nDenjxI5NH7X5gA4fOcbC1woqwi6DMLUMiRDMvc+QUUohlClDejXZXeMG3rrzN8UEPx87VOWBfKAcmjpzPs35ain16dqeF9sxaMv2XfQzL5Ly86QMQQuKr/Rp0zDT3EE/bdqiJgMogDJnyhBSMSzfQ3k79x6sFqIF8+XhxfAj2v37n6pcyEQr68Co+g4dzeX7lZl8UL2u37ip0nbpPYSG9O3GC9S3qFXzxkpBNvfrZawE+5cwSSVOlIjSpk6lygTBpvuA4YzpUcqVMxu99eYbpPP5qOdAGjagB5V9u7jl8rtKmOCVV6hHpzYKOyzOEiZIoOqRkLXDuKfpwcOHPDmNDLXuSA/sh475TD2KMsNU8g9WYI0Y/zkdOHTY0X46b1efD1gZ1XvcSrp996HjNpRXUxduVsoMKKVAuN9n3Lf0676T6neiBHE5qOkTunD5Fn0652eCIqRf20qUNmUiysbxqnay8mTLb/9QrfJ5lUILD/1z6hJdZ6UPFGOF87jvK1Bajfzyf/T9z/vVu/AflCtQZK388YUiTd+0WrY4sWNQyqQJWAF0X+UXK2Z0SpwwnlLqvMRxttzR+Uu3qMuI5XTi7FVHkmfP/qO/jl6gjkOWUJtGJeiDd98KxiCXrNnNp/M8oGfMRECPWAkF5dkDxm1c79oOXByZuvjy887DhD9NaJs53+xQpx4Cb61Y/G3fKeo7/lul3NJpgcvKH/fS7r9YmB/YgFKnSKhu/bT9bxr6+RoHBlBq3fz3Hu3Ye4IOHmPz2371KE+2IGU28ugx+hv6/a8zOlueoJ/X/eMl1LFpKYerp7kd9AOnL1yngRxXbBf3CWOZ9X0oTTdyHYGPpn2Hz1Hvsd/S1KEN6dVE8ZWwhGCxy1Z+z4qMZFS5QhmllIaSe/CI8XSeJ7MPmtQP1gY6v5A+rfIbd3ksWbmaPv9yDgvIcajM28U4Zkp02sdCMxYYh48ep/HDBzopXdzlY+U6xnX3fsO4vf5lV/HsaoEIJd6aHzfS9l17aPzIgcGEpFkLljAfj05vsCI/N/M3lA0C79ETJ2ny2GEEqxpNdnkK3rmJ5wEs9LEgjM7KQ6v8FHPGiIG91CISGyrlS5dU/DplCmfFqS6b/vQEg/9t2Exr1m+kDOnSUGVezAADxG/qycGZp7CyDcoxkNWy67IE+qcn8sYR7vPdeRF/medVyCevcqwc9NFdPFYR21HLG8DOV3M4NtfGTPyCVq/90cEfECgdckPbrn2VMgEKVk1Y2HXt+7GKe4HFzaNHj5V89AXLPoib0a97RycFj7c8wthnNSZ/HTrCColFtHf/XyHyiNgs85VlvnLrtvNJtzdv3qKdu/+gaCycI14oCIvbz6fPpcXLvwvCgfs6dp5/Yxwm8mbY8ZOnLckFVusLAdkKXy5d4i1Kx5sM7mRGX5Vbt6+vPq3WL3fO7JQ1SyZC3z999pxSKugy7ORNZvQ3bJZA+Y48IYtC8Q75uliRQiqILtpoc6dd9J+L0/yAz/Bxk1QAYihjwTsx9y379nvuu4+c2tQf81GBvLkppinOIMr06+69LNPdVAGAdX2tvD9WrJihyuXog3rdAlm9asWyjjkfGzLtWjRTCh+j8gry84hPJqlF7auJEymZuAJvaq3l+RHrnXdrVnUoFaE8Q9tAgfx2sZDDVdjB3yr/w3orcaKEai5C/ugLoP08L13nzXOMWyg19boK/OzYiVNKoaWNCjTmxk/g1mPAMLWZnYQxKPFWYbV5MGPu1w5Z1Jjeann1M7p90R+wYYZYcVh3gL/8wxvp4J12xoPO19Wn1Xnb2Ff0WtDVGtfVO3zRDq7mn7t376kx2qZzH5+sIV2VPapdg4I1JKXVmM+m85oraJ5E/+zW7gMeP+mjGky07Lu19NMv2x31/nbNT3yC7lPbAdp9prhCSV7n3cNGvIsOBdNUnvzGDe3vYMaOkhq+LOWFFSY57M4YBbIfN26hIaMm0LxFy9XuDhhnfVZM7WJh6Ee2bICAj93oL3lXCMypY6v31QSLHX4w0zMsjGKhg51UbcFgeK3HX8HEs7yWncYN668mFWS0+499LAwPpc2sRKv3TjUlqEEY/G3Pn1SCd6rGclptiYUFSWdWXH21dAVBKEU8MExSq9aup8dslQRmqy28kPcqFnZhbdbmgybKYkxPhFiQ9R06hlbyKSvFixQOEWPkExJhYYfJEQuj+Yu+oSSJE1K5UsWDLWit1h0WWxCyIQBgV0YL5XrSQvuhvdE2IdET7swp2Spo+vAaytIGypnuo1cQrHe27j5K71TIpxQsUELt3n+Kdwaj08AOValSyRwsgBHNWLqVZi7dTptYIVO3cgHKlSUV38upFFdH2frq8rU7lC5VIiWsQWkDJU7WTCkofeokbov11z8X6GdWroDKF8tOvVtXVMouKDMGTFhNF686nzBmtWxvFXiNVk9vRwjODsupnFxWWFrFixtLvevO3Qfq0/gf8JnOJx8CFyjchnSqTsULvsZKH14gzN9EK9gCDVZj2V9LQcUKZjY+youIZzSwY1WqWioXQUGIkxPXbDpAf7NV0dmLNylz+qDFstNDph+wiOvfvjKVLZpN5aHfuW7zQb6WlUoWyqKsoMbxaYhQauXNloZGdK+pFHSHj19ipeS3qi1htdW3bUW2HHukrKegCCyQMx0r0Oqoep06f406D1tO5y7dpKVr91DurEFK3bmsJIPSylj3u2wtNeKLdQQF2JI1e6gMlwNWVUv5OxSb6CPdPixPtbnvPGUhfNH3u2kaW9Wt2XiAsnPba2Woruqjx09Y8VeMFWBvKousOd/sVKc6nmErtSMnLhHa7ez5i8rCKDPzPigaIPCBzl24SB26D+CTAteyRc3bDmW0ztvKp9Ux5yovKPG/Xvad4idGK1Xwm+4sPGJHGTukUCx7Sxjb4yZ9qRZBsBKoUKakyhILIeyGDxv7mbK+NFsnJWeF0viRg9S8gQcgZI0cP5mw04gFVN9uHZTCzxOegkXTwF6dlZWU5pvYobbCT7FLizaLGTMGY/gt8/wM6ndIOHmKgbmcwKAfWzZs2rqT9h88xIv8ICzDYi4IqX4R8Z4deQN9cQFvqF3lhdfHvHEEGQKE6wuXrqTP2OLtuzXrHZttvprDf9m6g35Y/7PaXPuEFcWQUUBQ7PQeNIJmsILILCdhPh7cp6vD2gnK7469BtK6nzYpRVHJt95UeeA/b3gEeAGsoqG8MI5bPQ7XsMXXJi4/FuauCEFlu7C1iJH0s894cduKN+IKF8ynbkNRvmrNj2rh+OnoIQ4cwKfadeuv5KdGdWs5FsPGPI3frdbXKl+GvBiSzOirchvr4IvvVusHxQrkzLl/L1MYwxoGZFSO6DY6ysqHJd+sple4XY2yG5S4oyZMVv3YVdlf5j498/OxatMY96Ega9ulL/fx39lL4KZSvvtrPnq3ZhVW+lRxKhbWD9jQhiJNx4608/7Q5PL5i5e7XLeg3l1Y6Tzv6+Wq30OJp8lVv8WckZHXMYcOH1WbNTo9LH1goZeDY+BgIz40soK/Hf4HbwtspEDZg41yzId4fgcr0yAn32DF9J69+x1j9dSZc8obBJtjRutjc7nXMB/cu+8v1S5GXqhxO8OKeU12yotnUNY5bMmZgjeXjJte99izpQ9vuBt5p9XxoMvi6tPqvG1njWt+jy/awd38s/+vv6lrP+6rvMYuXDC/gx+byyC/Q0cASqtxn7+wtAoKtt7SYWklSqsXGO7kDQUzbWVrVLsnC4bsw2J+g4XfUDAVzJ9HuQx++8P/3D6B3RAsarCj3KJZA4dyBw8U552enNlfV9Y5mPhAYIid2KIL2sovZs1XC5tTzOBhYovd+rAg7B5+1OZ9h9IK73yNtaawtLh69boSBnANTA1B2MyUk3cyYFYNt0Urp1HBimzNsnnUrMG7ThYbuXJkpWS8W4xdHOx+hAVZrTuszGBSXLtGZYfSCuWDwN6AXQJwNCiUlaFRHFZ8dW9R3uEeliltUipVOMiC79K128p9DnlkY7e4YV1r0Kge7yhFBRapOA2wBCtOoFyBK93lq7fV6/LnTKtO54N11f7DZ9W1G2zRA0UKqPSbWUO0Nlq3+S+CexoUXp2alyZYd+F9+bKnpRrl8qo8jP/ZKZvxOSvfT7ECb/sfx1XSD+sWoxLs6oeyxIsTk9o0LMG4pFCWQmtZkQQhwEhQ+lUvk1vhhPQ12dUReMMy6fI1Z+Wb8Tnjd7gWQnkHrJFHi3q8c50qCS+kntKG7YdV0l1sKXXq3DWlXOrTpqJSWuEGygZ3TNDeQ2cIbQClUot6xWlEt5oOhSDuZ0j9KiurgqysLrIb6H3GH+m3sPISVKNsXkfd0d7tm5SipOzueIUVk8fPXKPrt+4qZSDSViudh13/8qkywyKsUfVCrNR7TQljUHYZT3JE+qL5M9H7dYqoPoH0Vd7ORUnYygp1hHspCGPd1RjEzuPQ/t3ZDaAV931r7pcqQ8N/Vsec4RHH18S8ozmb3U/mfDGeUqd8YbkEPlqoQF614AX/8AUdOPg37+ifoJLF3lSWSTpP9MfypUuo6wfYigOKMiPlzZ3DobTCdSj4P2zaQJ0aBWuPG7duqeSe8JS3eRMAbiIogyZ/8lNPMTCXExhAkARhQaDJn2XX74iMn1blDdStG7sDrl48m8pxn9SE/lGAF7g4RfgO70Rr8sUcjgU/XGJisQK0XYv3nBYHBfLkUofY/M3W1LBeMFLl8qUcSitch+Xhh2y1icXvNrbOMJI3PALjEePSPG7RB+vWqsoyVzzasuO3YPOH8f3G72qxufgbgsILMmDDOjUd4y9Lpoy0dO4XNHHUYCccsCjGAv0xbxJY4UdW6+srvuyrchtx8sV3O/WDuzqsd2DFA4UVCBsrJ06dUe7TWjkC6xTI5WbZDZubcLXCGHFF7dnCSOeB+ymSJVNKjbt377OiGC4yxMfXh818hAX5mE+/UBvaCDeiFcW+ej/w+YU3FVytW4BBS5btEesXFpZGctVvUbZK7CYOxTHaRtOfvKmEa7AGNLoG6/vmTyv44xmr/A8yAiyTsJkNSyoQvsPFsUaV8pT99czKiAD8CIS5GuudN58rqdVF03/ghVt3/KrcI828ELhVc6Ect1pevGr7rt2q79ZlyzWjpTZcVZtz2JoYbG2ueafV8WCqgtNPK/O23TWu0wv4h7ftENL8gzUzNi1PnT5HJ3kdLeQZAlppBSU0CEqr3p1fuAeK0soZ19DCpjindv8rhvtbnt3BYGvPQhq0ubPZFQQCTBrDwknneuHiZWaG15UCB3GptDmqvg9zfj3xaXcJmE5ql0FMUNhRgUBvXJzo5/3xifeYgY/DR6NDKIBCRhOYPtxlYALcpGUnJQS+xRZWaVKnVLtfOl1onxgEF+/fZxPEacrtEDGujKRxMV7z13erdYdVGejAwcPKT95YHrgQ4Dhj7LCERoi7FIcVIkaCYgIEl7anT5+p77AOwql7iPMEy6Gr1++4NDtGYrjjIUbRhquHlftZFbY4gtLqDFsZwTXvDY4J5Y5gCXTi7DV1G0o0cyyo6KzAMZOdspmfDe03LJBu/Xuf4seN7XCf089AoZYzS0o6dOyislS69+CRvqU+NY76InAG3g/uPVbY6ut2PuE293rGZAQLKcTiAl6wRMMOHRRinYctczre+wG7wIBusnvkjVv3lVtkyUKZafeB0zRi6lo6evKKysNVGS6wAusKtzMIllxGglJx7awOjkvAALG/QG/my+DEK6CMKpwnI23a9Y8qM8qJ+Fua4saJxbhE1z8pTuzorFwJ+n37uRVcet6ZRAwQWAk1b9tVCXal2fUiY/q0Xp+uanXMOQpo+ILFJ8zxEbcGlibHjp9UMa4MSXz29SBbhUKIhYWpmY/jN9yqUQ6kC83CC24UaZlPQmlz48YtVhQmUq5zKKwdnoKj5M3zgj/5qacYuCpnsqTBrT79WXafdYRwyMiqvIG+AGtIxEkbN2kau6jtDfEQGV/M4f/evq36MTa20qcLUr5riLAgzZI5k9rEgRJBu93o++bPTBnTK8XBObbwxIJEL2i94RG6z2KjaQRbOhoJ8syzZ0/p6rVryg0KOIdGGJ+wUEyTJhUN7NnZyfoC5U1Ar9DK79exFeo6FeMKsVc0uVOK6Pv602p9fcWXfVVuXX5ffdqpHxQDiK8K2ezIsRPK2h3uf4jRCuW+7ksH/z6i3DvzsPxqh+CCbiTklzBhAuMltSnh7/kIi8fJM+aq/opwHFgvaPLVfKjXLVh7uIrDiDhXqDsUPlAS6nHjqt+ibEUKFVB8CR4b9WvXUOshrBuS8sZ0aHOlrpsV/O3yP8zly7/9gX7lfoJywPIQ8nsFdptHOBFYMF24dIVj4Sajg3//w+62qShb1sy6SME+b9+5oza0g0KhpAx233zBbnn/4X4N93Hgb6Y3eA26Zd03jstWx4PjARdfrMzbuq/ASMHqGtf8Km/aQc8/yHPJitXKotiYP9yzEWfsqoq/ZLwj360gAB0FLK3MSisYlVy8fFW5Dmr3QPDELmz0EhXdA41YFnuzIK3j8BhGKsHxHO2SzxVXKAC0ubCEgq/89DlfUf8endyWC1ppMEFX5EqYqVapnHKhg1kpdob0joqr58PrGso0acxQR9B5uNGAsOvyTrWKlgMja3NOxLnALjF2NDBJgSEhHlVEJrhQhgUhzlPHYUuU2xmUOKWKvM44x6abHIQd8axgHaMJSoiK7EoI18BDRy8phcavHIMJafKwVU+G1Il10mCf/3H8JMRQApkVGsESP79gp2zu8nB3HYo7KIVgUGJWpuIZHUz+6vW7wSyJ3OXpzXUIGpjMQcAJeMH9T/++woHvXRGCvEOJhd16xMiatmirSgalX7bMQQLO73+dJmDpCQEj3W6Ic2SmZEmCrKHuclmv3rzjpLgyp3X1GwLxQA66iiNtEfwSwcCnc8wGCCvl2WUOAU4xkYU1aZcdKNQQWwHxB7FwAOl4Lr4uE2LZuSJXihhX6YzXXFlgeMtTwoKf+hIDIx5hUXbj+yLTd6vyhg5BgJhvNapUcByAgtACcxcuc6qyr+ZwZArLlkq1mzrlb/zhymLTeN/43R9W1oglgz9vCO6Mg0dPUEqDof26O1k9IF8I94hvA1ehfBwmoEGddg7ZDYsqLKJ8Sb7iy2FdbqsY2KkfFk1VOPYiLN237fpNKbGgHMHGJ+LDaoLVDKzscICHr8nf8xHyR0wzHAZUt1Y1ZelrrIOv348QJeZNGrwPGwxQoFgluORBCYag4VB2xWcFMcYirKKhFPIl2eF/mTKmo1Qpk9NRVghBUQ6rZ8R4hHIqVqxYtIIP1ELMq9hsqQ83vXxsPZ04YVCYBFdlhnwHRTX6XLy4oSvBkYed8iI92gMB70Mjq+MhtHys3re7xjXm64t2gLskQucI+Q4BKK3GTprhVmk1dtJ0hwU3+lv39i14M9t5k913pYk8OdWuVoH5YyzasHmH0mWUe/sttjotabsCflFcYRELSyicpLF52y5mzBvdFgzxHOA+52oSMD8E5ofgntoXGqe8FC6Qzy8Trfnddn+js+I0C/xh52XPn/tpweIVKjDycRZkzXEtzPnDgmHhspUqmOOoQb2pNAdz16TjUenfEe0TEzfiWGCnw980/9udSmmVJkUimjKkAeEThADlOJnujkFxheuw0IFL27nLN9X9A0fOq13Gcm9l4z7ovHOI9JpeYosquMWBoDRCX0Q/D4nsli2kvOzewymCoKRJ4qtYWWY3OLv5hZYeeGgrOOAEvGI8V2QhoPrng+or6zB3+eDUx8V8KiQUTXB1xMmJGl/E/vJUceXuffq6ttyKHy8WJU3kmUsfFIeVy5VWfxDyYMmA04PWceBVxK+YOmFEmPMoBFj++ZetSgA2B2HXMQA1Br76RNBPVwTLWruE+FLGBYC3PCWs+KkvMdCYhVXZ9fsi26cVeQMKCMSWxILz83HD1OJd1xMnReE0PzN5O4fr/OCuUoxjUbpbVKXkmDJWCePAbGFh9Vl36Qb37qLiTrq7H9p1KAWmzl5A59hyC6c7u7IUwUE6UFohvmX/Hh85bbbA2sTXiiuU2Rd8OTzKHRre+r6d+kERghMcobwqWqigUo6gnYzBtOFOBTc3s2W/fp83n/6ej3DSNzbAoQRq3/I9h+ygy+zr9+NUcPBl87oFFhZWXF51ufA84ilu3LxdKRWh/LnNeeCaOW/9jCefdvkfygHrJWwWHT56TLkD4kRJpZzKyO6gbEWKmFeJ2LoM6xEc7KDlNVflwz30V8gC99iLRFuiuUqLa3bLi2fQHkbPF1xzR1bGg7tn7V63s8Y15+2LdoBrJ+KcGg/bMr9HfltHQCuttDUVlNVwD9SWVqK0co8l+ABOEfTkJEFjrsFNEIx3vfiOHcvO7T5UOzizv2KLGBZqjIRGRhBIMEX4iVohBARc/t0PajEG/2fEuMJxvFg0RyTCEbejJ05xKNjApBFQ9ZPh/ZV/uKu4Fubyw8oKAgRwQkwrI8GC5Nl/L8zsjffC+zuC5mPiRmBOfxOUMVB4gHKwdU7q5C92fLC746pbwKWtYK50yspq8fd71KmDyV59mfJmD1kbHjd2TMqU9lX1rn/YjU27n6kL/N/T59ZY+rcnZdPPWvlEEHm4NyKG15+soDMSXN7gIgeCIi8eu7z5m4AHcAEBJ+CFIPOgY3yyo76nLjz/D+6EeuyePn+dXQbvKeVWkfwZHUKQUSGmn02VLAFblAUpmeCOaCTEnqrSYgoVeXcsbf7tKBnT7vjjhON9eAaWdrDmAqVKltC2tRWew6ILR0fv5zhPICx2cfQ4gh2X4DEPJZG31gwqY5v/3bh5kwXEB4pXmoVErWC0maXb5IjdByEbu/gQHo2E37+z0h73kS40usbBYBF4GAJxYj4oAuQLnuJvfupLDMwY+bvs5vdFxt+hyRsPHjxQrqfoSxlMAY+D5gpnGcIXczgsrLU7P+I7QkHk6g9uXKHRCbZIQtwbhBsAj/EFAQuc/Odq3FrNH/x5Ace1Ws/xSiuy21mzhs7xOHU+OGABmxI4SQwLWE2u+Lu+582nr/iyt+XGITX+WDDarR8O/SnKbmnHT5ymRbz5e5c3U6EcMSobcnIwcbSRnsu8wd/8rD/nI1ijfvL5NI6tlZQG8RgDLzCTr94PKyRYELtbtxz+5xjd4lP24PprnnfNZdK/8+bKQemYJ+HQJSjf8B3XfEl2+R/6BZRROEUQcfouslsgYuHhOtz3oSBEzCscIgK8jW6ZrsqNOJ9wJ0Q7YH4PjeyWF4cOYN0B/M2EdWPJyu+qNZm+Z2U86LSefnqyxjW/y5t20PMPQrMcP3nGnLX89gABs9IKcqoorTwA0stHXkgQXmbk6nH4ytdhdz4cl2rexQHjQBD2S+wLCvcaWCpowg7e+MnT1R++g5DHJD75J1q06Oq42To1qlARjhu1ik8CgpmtK3K3++0qrS+vPWQGCsF3MVtd6PIjfywYcZoZdkxhbmskpHtgwABpsLt6hf2PwXg1AaepHJweuPmDsGPx5Knz4tPOexC0EBMbTjz8g3dYjXSIA9G2/KgX4dMXFJdjM6VkJQYICohDx4KCrJ+9eIM+nbPREcDd+C5MBGWKYqEdnf78my2yWPGDuFeIfxUaVebg3AhEjjhO42dtoJscYwpKxO2/H6PVG5xdIz0pmz7R8BzH3MIJhcrlzpX2jQsKt8ZifKodaPby7bR1zzGllEHw+C8Wbqa/GQsEPK/ydk4n4VQ94IP/tvH7ENAcZcQ7F63ezQHLrytcEbgdVLJwZhXIHveHT1mnlGlYqOD409Ub9lP1VlNp3ko+ZpuvJec4ZYi9dff+Qz7h8CA95NMOke4bPh1xM58caaTECeKpUwtxbfXP+xx1R1t+sfAXuspuiWlSJlQxt5Ik5ACofJok6IdN+2nF+j9VmZH319/vVkHesXhDoHl9iqNKbPE/9CcImzjSGYoiTVgGY0GMXWzzWNdp/PkJ3gFl0fZdexzmzHgfxiROuvEl6SOm4U4AN0RNaNefeCcc13Oz8j1fbueTRGGZZox3Bx6ITQ7EXHgjf16H64EveIo3/NQYtFvXzfzpKQbmfFz99qbsrvIL1GshyRvRmd/D4gmndR09cdIBAeL8fD5tror14bjIX3wxh2PhWp5jwmBOxUm7eJcmjA3Eg+r78Rin8Yn7CP5slIfghjd74VLlfozde18RxmOG9OnU+MQ4RZk0Qb5o06WPWpjqa64+IXvN4s1DxLVq92Ezp0N2jOn1ARU/s2WJlonwPhzQs3nbTmNSn3z3lC+bZUZvyw0eDEUHlI7ASmOMz83MFyHfeUJ266fkHrbahzvgL4w3LK3MClMcUqBlNyiDNKEvLlv5vaqDvmb301/zEdYVw8ZNUi6qHVo1d7IgM5bR0/eb5XLgU6pEUSV/z+IYvrov412Yy2byybVwt4QrslVCPKtCBfJwkOyzSjaGUsjX7pp2+R/Kno8trJKw2yhOtE3E8QGzZQmSN3EPJ6Aj5hVkH1zH6ZUhEZTt2MgDL8T6BRZVmoAbTl41kt3yFuO1JNpmObswgl9qwnumz13I60YcFPPCJcnKeNB5ePppd43r7j2etoOn84+7ckT16+A1cA/UllaitAq/HuEXV0FdHTAH7MAhEKRZWYF7MOk9fvKUYlowO8WxvBDS97Em/zwHLIXZORZ+mOSxq4c83uP8IKDi+TYfNKGOPMF+OnW2MmvVzD4rM1IIDBO/mMXmt3s4eHIhqs6xsTZu2U69Bo2ktpwvTvbzF2HSgnCwlCd7LBxxehbiWAAHMHuc0IIAxCC4LiAGDY6n795/GMfdeJ2a1K/NR7BnVDG84LM/eNQEwpHdqB8CbIL52zG7tVJP7AqmZeFzD5sG40jfzBkzKJw0plbyQJrXudw9OrWhIVzmtl37qiD1adOkVsfq7ub647jahPwuXxD6QP0qb9AOPl3vOlvrNO81z5EtgmhjsoJi5S4rNIyEU+3SpUykgq1DaYG4VyG5Cepnc7+eipUguei7n/5UShsobjSZn/ekbDkyp1DlQDyoBp1nKSugWaOa6Fc4feJ9rRuUoINH+XSgs1ep64jlTvdRL7jbvfVcueV00wc/HrBiqe8n3wXLqSorynAaHwhWTJ3eK0sff/6DUva91/NF++A+FGv4A2XNmJxKF81K3//MVpXrfld/uI56xHye5gFbaEHwfumlWPT+u2/RgX/Os8LyTLC6I892jUup9yOP+lXfUOl+3XeSRk/7n/rDdU3V+VTFOpWCTnLT16x+FmXleeXypVVw9tpNWjrxMJwWhl3K3DmyWc3OZ+mwKM3PsWRg6o9ygQedPXdRWYDpWGSnDcdPe/Ni7Lj27NSWuvcbRgOGj1OKMYz5s2xtto/5cyIO5tqZT3gy70BDwGzWpoty90ZsKPB9YJYubWo+SbWOQ+HqC54CwRkxEe3wUwjjOHjjm+/WKOvZ7Bzfo+V7jVxC5SkGLjMzXfSk7KYsosRP8Fx38gYWNVX55KqprEBq17UfWzFn4/5FypUX1svgM3B5uc+WWXGfx8DyxRxep2YV+putABBrrlajFupwFvT1wyzLIKZN1UrlgrkQ/u/nzaqfQpEAlyS4dyGILtzsCrMVhK8Iczvi8+EgncEjx9N8Pho9G1t/QXmDd2KOwWEJ7gjKrQlTZqpDH5BuxvxFwZKC973LGGChC3kIC12MwVxs3QNcgDk3g89d1OzyZXcyoy/KXatqRaXAn8EbtLt2/8Hxv1KqgyYQlN9Tsls/vEcr1xFMG4oSKEyMlIWthBq8W0PFpoXsVojlcfA1HcgdY8RT8sd8BGveqbMWcAy50ypQOk6W227axE74ysv0Icv6dt8fklz+XsO6KiA5xjTcXzG36nEK/tGOT1m0Yl1sxLJy+TK0lkMLPHr8RJ3MC17mS7LL//Du5GxcgD6BjSTEsIIiRhMsnHAi6KkzZ1WcNCtWoOC/P2/epsZ/3ffaKFkJiiWsC2DpZyS75YWM8EGz+vT5l3OoccuPFJ+FtaNec2EtaQ5dEtp4MJbHk+9oQ6tr3JDy96YdPJl/QipLVL2nlFafB1daYd47zwfNfTJ5psS0stA5oMtZ8+Mm2rh1l0pdtmRRj9wG/WpxhZJBKwlFEYIVmwmTIoKYd2nfUimasPsGwSYu74yOGdqfPuAjoDH4tYsgFDwI+q6ZOiYHWHRh4sIEpt1UMKk3ZNN8mJuCUcJnPCwJ9Zo4aoiKb4WJbA3vJiDQIE7j+Lh/d3Usra4DPqFEg2nwqdNn1MQLSw1QGT6dbPzIQZQhXVrlbgQmXIhjei2Y/plSCGEH99IV31heYeJBAGeYKWO3DWbAnlIFDko978uJKpg8hCRM8AjkiMD6Mz8fGyxwq6fvwXMqftLA+pSL3dKgqMLfm3kz0uTBDdgqKUgw23f4vGOnE8/ACkdbBaVgiy1YXFkhCPI9W5Wnzu+XoeSvBinfEBC+SY3C1Lh68JMR7JYNCh/Ed0KeoJc57pLRrcJcxtQpEtLs0U2pMb8fLpAg1B9YTOZ4Xx+wckf3M/Oz3v7uxTh0aFqKlZBxVFb4bN/kberTuqLj5D3cKM3B8hd9+iFVL5Pb4YoHxVK+7Glp6tBG1IhxQxmhaMSzKLPOMwm7QgLrdpwvCKcVXroaZLWA0/8m9q9HLesXd9Qd+RbNl5HmjW1OFYpnV8/gP6Sd0O9d6vJBWUrF7qQQwPGXnmOdDetagwa2r+JUZseDFr4gSG6/7h2pK/Ow2Gzl9CMvOhHbCpaV4GujBvXxmWuPheI4kkBJNG5YfxWoFq5msHrC4ncAL1SH9Omm6o8T1rQFgONBD79ggTpv2kSehMqwuf5xNebxid+47kp5B/7Wq3M7ddIVMLvMvAzXvhg/IhiP8AVPsctPs7Aw3LJ5IzUGEevm8pVrIaLjCQYhZmi4abfshkej1NeQ5A1seg3q01VZD/yx74BSWmFOmjd1oor/g1OytKzgqzlcB9EeNqCH2nj6ZesONTbgLtO1YyvFO5DGSP26dVQnlaLPYbMN8w4WQH26tHdr0WR83s73PHz68VczJimlHsqEuXonbyIiBsycKeMJ993R1evXHZb02HjDs+Y/4AyCy+TkT4ap8Y3NO+AAK5iJowYrxQIWrjgZzFdkly+7kxl9UW64UY0a3EfJcVDOQ8ZF/xo7tB9vwnq2qWG3fsAV7yzyRgGFe4UyQXOqEW/Mw5C5hw/spZQSUAQhRm0xjoU1mssPSyJPyR/zEeY1KE5ACDfy/f82BOt/sPCD9aTd94cklwPHCSMGqfn90ePHSr6HkhsnCaOPN29U17bcBddCrG+gKDKHBvEUc/NzdvgfnsWaAMH7ISvhVHSjLAmlNyzDMIYR+8oKGXkqrPiw3oMMAku59xvXDZaF3fI24FMZPx0zRLUD2gOyGA74Qn/Wa0njS0IbD8a0nn7HO6yscUPK35t2cDX/rOFxcoddhfvyPAPZ1Tz/hFSWqHhPK61u3PxXVV9bWmml1VhWaGmrfFh1SyB2971k2Xdr6bu1G5TVGizXvl3zk/rt/gnXd17ihYuzqtt1uoC4OovNeKfPWUijhvShsm8XD4g6BVwlbmyJ0FXS8YG01QoKiyE06DPeTd58MEiRFkog8ghdQSmcPQQSvzA/t/dg1E2NYNgdewxUlrCIBSYUuAjcunWLj4d/EXswcGsaes0wT8xhlz/EGBrLG3OIhWckyCc4LRgKDSgqhaIeAv7kjbBu6dhzgAJ18rjhSpFlFWFsAPcdMlpZrfbp2sHqY5LOIgJQ/HbuPYjq84Z7h5bNLT4VGMmU/MwWn3BXnjBioMvDHfxR09DGgz/Hoj/qI3n6B4HV636m1f8LcmWFsqrHRy2VJTIsraC0wuFrICitenZsqWK5+ackkT/XbgNGOpR8ujbwahj3cW/909Kn3y2uLJUiDBIhRhZiRyCmA8yGhQQBuwggLtLwqeuo26gVhDhaILgiIm7SzzsOq99v5E7vsJhSF+Q/QUAQEAQEgSiPAHZuV635USml4MYrJAiYEVAxRp/HdTXf8/b3Nj4848jRE3z8eCmXSivEaxo1YYqKz6qt/vFOLPCXrFhN0ThsR/Gihb0thjxvQgC4f8OxmWKyV0pFF5ZwpuSR9idCA3zUc2CwAOoHDh5W8d8Qdw0uiGFFoY0Hf47FsKqjvMe3CBR7s6AorbyANCQPIjvZOtuo23kykqWFVhSxJeAOZzduUySrqhTXTwjc/PeeOsXw0NELVLt98NNLcFrhe+8U9dPbJVtBQBAQBASByIoALAugENi7/y9a/M0qQsy0AnlzR9bqSLl9iADit6JP/MHxv3A6mt0YSe6KglAVc75aqoLsw60uHcceLFeqhMvkWKhDuYoTsb9assIpNut1Pu0VMdbgUinkGwROnMKp6ItUKBTgjlhoOOkzUOnW7dsqAP17bbsGi32LOvdmV2hz3DVfY2FlPPhrLPq6LpJf2CNwmBX//63bwCGIdjgOY4K7bI8OLcTSykJzQPG3bsNmp5QlOAa5XYoyiqvUqVLQ1Akj7eIj6QUBBwLJkrxCM4Y3ppVsYbVs7e8OqyvEyWpQ7Q2qW6kAxY4VZYaUAxf5IggIAoKAIBAyAliUIUYnThhETE4cYiKKq5Axiyp3EQAbsa9wGFHdWtXoneqVfVZ1uDwhfipibQ3mGG+I2+WKEI8HbqrrN26m2QuWqvJwHAQ+tCe1ikNUheMVSjwcV8h5du3ho0fqEARsqqPNsamOQ6UClXCK5aLZkwmHFCC+FdwjEfsYsbIQPN1VHEx/YBHaePDnWPRHfSTPsEPgCMdhxJ8mcQ/USFj7rF2tAsfFi0UbWPGHg/jKvf0WWwDbD7cSpWJcWYNWUoUrAhE8xlW4YiMvj3gISIyriNcmUqIIg4DEuIowTSEFEQQEAUFAEBAEBAEbCBhjXBkfw4EP3dt/KJZWRlDC6HvgqvfDCEB5jY8RiMYn6j176ONMJTtBwA8IoK8KCQKCgCAgCAgCgoAgIAgIAoJAQCGQNUsmqkFlg9WpQN6clDZ1ymDX5YL/ERCLK/9jLG+wg8B9NsN8cNbOE5JWEAgfBOKkJYobdsFEw6eS8lZBwHMExOLKc+zkSUFAEBAEBAFBQBAQBASBFwhEmVMFX1RZvkVoBKAIiCHHp0foNpLCBfVRUVpJTxAEBAFBQBAQBAQBQUAQEAQEAUHA7wiI4srvEMsLbCPwSl4iWLOIK5Zt6OQBPyOAPom+iT4qJAgIAoKAICAICAKCgCAgCAgCgoAg4HcEJMaV3yGWF3iEAKxZxKLFI+jkIUFAEBAEBAFBQBAQBAQBQUAQEAQEAUEgUBAQi6tAaUmphyAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCAYaAKK4CrEGlOoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAIBAoCorgKlJaUeggCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgEGAIiOIqwBpUqiMICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCQKAgIIqrQGlJqYcgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAgGGgCiuAqxBpTqCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAQKAqK4CqOW/O+//2jn7j+o/vvtqUjZGlThncb09z/HbL/9r7+PUJnqDWjA8HG2n40qDwhG3rV0oOAXKPXwrjXD7+l79+5Tq069qGbDD+nK1WuOgsxasJgKl6lOG7dsd1yL6F/Ab8F30aeEBIHwQgDjCOMJ4wrjKzRCmocPH4WWzOX98OCfkZE3uATPjxft9gE/FkVlHR79xN918iR/wcET1OQZQUAQEATsIRDDXnJJ7SkCO37dQz0HjqAnT59SkUIFKH26NPRq4kSeZifPCQKWEMCC+38bfrGUNn+enPTZ6I8tpZVEgoAgIAgIAhEXgROnTlO7bv0pUcIE9OXEUeoz4pZWSiYICAKCgCAgCAgCgkDICIjiKmR8fHZ3/c+b6cmTJzSgZ2eqUaV8qPli5/HL2V/R2KH9qEzJYqGmlwSCgCsECuTNTTFjxnTcQh/8dfde+vfOHSrKCtREiRI67qVPm5qiR4/u+C1fBIGohAAsGVp07EkpkidVCtx48eJGpepLXSMQArBG7DVoJLX9sCm1aNbQo5LFjhWbYsWKRYmZx8cyzAEeZSYPCQKCgCAgCAgCgoAgEM4IiOIqDBoA5vrnLlykePHi0WuZ0ofBG+UVgkAQAu/WrEL404S+2LnPYDp6/BS1bN6IcmXPqm/JpyAgCAgCgkCAIJA6VQpatWhWgNRGqiEICAKCgCAgCAgCUR0BiXEV1XuA1F8QEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEgQiKgFcWVwhG2LHHQLpz967L6r0cPz5N/mSYw6rj2bNntH7jZpoxdH2pIwAAQABJREFUdxGdPXee6KWXKEO6tPRhs/pUsczbFC3aCz0aXOVmzl9MYz7uy2kv0MJl39LlK1cpbpw4VL1yeerY+n2KFzeO03sRhHT5qjX09fO0MI8vWrggdWnXgtKxG5SRjh4/SZ9NnUW//3mAHj1+TAkTvELVKpWjVmyFgnKHRq7ele31zNSuZTMqlD8vV+0llYV2+dP5vd+um/rqzgXAnB7uAiBX6VH2SV/OpkNHjqo0uXNkY1fETpQpQzr1W//nqqzucNHP4PP7dT/Rx2M+VVg3b1TXcesMt0frzr3VeyaOHEyxY8dS9+CG1nvwKPrzwEGaOmEkvZ45k7p+8fIVmsZuj79s20m379xVbYh4Sl07tHIqq+5PxYq8QXlyZaeZ8xYRgtpP/mQ45ciaReVlbrfkyZJSq/caUbXK5ShmjODd2SpGdvqmjhtlduM0WjOF2O+5JmnTpKZW7zcK1u9RSbt1VMD46T9v8EN/7NqhJeHTSLo/bPhlG91/8ED1h3KlilMbdotJmTyZMakKLGx1TDs9aPiBPvTjxi3K9RZ8Jwb3k+JFC1O3jq2Cvc9VP3BXD/C9GdxHEUPs2vUbyh0HPAC8qWC+3IYSBH01tyt4TnXmOa0/aBqMl5kxeuXl+FSqeNFgGGn3tgwcM68Dv3fK9LmKp2EsZkifjnp2akOFC+ZzKos5b/BUd/g7Pfj8h8Zo9oKldOrMWeJBSilSJKeGdWpQvdrVXY5DV/mYr7niU6546mfM875eupLGDR9Abxcr4shmz9791KXPEKpSoQz17dbBwYP/vX2bOnQfwH3tIcf6GUlJX03ieAZfNIYXLl1W1/FZqlo9SsV1mjV5HCVL+qojPcb4p1/MpO//t4Fu/XtbzRtNG9ShJvVrB6u3ub1D41WOl8gXlwj4ot1133XIIPwmV7zYPA+bC4T5a+zH/WnQyE9oN/c7zAUl33rTkQw8Z9DI8bSeecOoIX2o7NvF1T1znzDLHdpFUGeEcAH4q1SuFA0f0FNfDva5/6+/qWu/oPiEmJMxf+p+bXZ9Rdl2793HvGKekh2ACfpmk3rvuB2/VueBYAXjC8EwD0Hu08/fu/8g2DjDGGtc9x2HvKHThoYp0llpT8R31O7BVnm7EeN3a1alz5n/XmWXY82bdN2t8kpXdXE3R6BeJ06foS9nLQiV5yOtkTyRtV5Nklj1Q3cysrfzrLu1AMptnhuwVoBM2Knth465VreF5uPG+urvGKfp06bh2G/9KMErrwSbD7DGaNmpt0o+c9IYNS7Ccrygn2Ldg7G+/69DTvOM7geYzyBPa/nJ3djV5Z46cwEd5oOgsM5BG1ZmXuJO5pjKfeknlpWQFvl+xDLFqTPnaPE3q5zWclbz9kebYG0Fl36rMo9deV33FfkUBASBiIlA9CFMnhbtMTO3e/fvs/tbBsqa5TXHX4JXXqbzFy/RK/xZu3olFWPhMS+kRk+YohhutOjRqCQvODLzc8dPnqZ1P25kpdQ1eosVFtGfK6/+2HeAft2zl377/U/a+dsfvPjNSlley6jy3bv/L7px4yZBwaGVXVCI9Bw0gr5hxRUYbom3CqtgpDt++53W/rRRLd70AgSB0j/qOYguXb6qFFu5OO+bN/+lbbt282TxN5Uu8RbF5tgQ7sj4LsSPKMECa6qUKejAocO0as2PKqZQvtw51cIJgmnObFnpxKkzavKFe1bt6pXVZJvERXB2pEdcItQL2DRmYbLhuzUd6TERrFm/kc6cPU9rGTdgXfiN/OqEoX+On2DM/lQL3Jfjx1PFN5Y1NFzM9UW8I0yO9B+pha3GetvO31Sboe2xcNT1uM5tMu/r5ZQmdUqqX7uGwuHI0eNKubmXlVkFuV758+biBX4MJWhhwY9FtW4XR91YMbZj1x6OtxRN3cOiGhPuT5u2ULd+w5za7RIrxdYwDlevXXf0B0c+FjGy2zd/3rydjp04RRXKlHRSvD1+/ITW/bSJrt+4RVUrlqXkvODFBD9hygy1SIjLilb0+zSpUynl1I8c9wxKlPx5cjkW2VbraG4rq79dldH8rDf46Tpi0Y+xhPEARWqmDEEussCtTZc+tI/vFcqfR/WHx48eqbG+ZcevavEHvgHypu/ieV2PI8dO0KatO5SgUyBfHla03+P3H6Kt3I+x2NTvM/aD0OqBvDuzkuSXLTso82sZ6E0eg4l5PEPYxLg01hllwbu69h1KZ89foELc5/PxwvfOnXu0efsu2sdjw8hzwEfade1H+/kzV/bXVfoYPBa37tzN424TFciXS/E45AtFCjA+zQq51fz57Nl/VPTNgqrfITgzMDWOMTv4I38zQSE2adocmsx/cWLH5v78JmXKmJ5Onz2nTgk0jkPd1+4y3rWqVqT47CoNAm/f/cc+p/FjbOvQeOp/agNki1JAIU6bppXfr1P5Pnz4kMqXKaEUorh3nHnvkhWrFQ+txuNSbyro52JEj8FKvjTMd3PRgYOHKUWyZNS5bQsqW6oYZc6YgcdodMKY/+d5P/qHNz0Kcj+CK9ZpFup/5dNiYzMWGMea/D2O9Xsi+ifaIg4rRn1B3rY7ymCVF0NxgfhQRrkG33EdfRWyCBSkmCM3cTyquHHjKplD9y3wByi1MTciRhUUIlbkDvR9uG+nTJGM9h/8m8qXLqmex4EuKVipr8c75vcq5cuoORb8okf/4WrMjxs2QPEW1NVVWlxfsnI1DR39qapH8SKFKCfzGMyjP/L8eokX7sWLFlJymOafVmUN5G0mI0+1KveBN4BfQolTqEA+xUuxWbad5bPLjKsuH95lBVPIclbas2LZt9VYt8PbNcaQdzdv20WPHgUpB0qXKKoU31Z5JepidY4wvvP7dRtC5fnI20yOtg1F1jp/4ZJjvrrHfHwLz1e/cD3Rb/S8qfPyZJ610idQXyiIoTxxzA0sX6Df/8AbCFBEYS3x9OkzunnrFvPytE7jFnLY+YuXCXNojSoVlMILm737mdeD50MBomnXnj/oux/+x+OuhFLSYTyH5XjR655NW3fSGZ7T1UFOXD/0/z1/7ifI04uWf0fnzl9U6yXIzsdZpsI4SJQwodMmoS73XcYP8zQ2ga5fv6nWOQeYt5Tl2Lk6/inauUPPAbSHxx7WMljTQPBf9u0PPF//pTZltEwLrKzm7Y82wbrDjsxjR17X/UA+BQFBIOIiENxExUZZ06RKSb27tHd6AkJdjwHDlPVB946tHQtWLNJXr/1RLVQ/GT6QYEEAwq41Ttv7Yf3PrEQqoAQ1Y4Yvc7qZn49VkxOuY4HUtktf2rn7d7ZyuKkC6eL6UhbGoOiCNVa/7h0du9+wtBgyagLNW7TcsWO5/Ls1Ssj7hHfsMTGAIGANZesi7JBicgaTdkfzFy93+S6UrUvfj5XyBotFCKCYULGIX7V2PSs0bgYpykKIK4T0+MOkhcUPdnZdBWd/xIv9gb06OyZXlL/fx6N5gb6TJ+RDjEtJVXyruECBYiaUG5M6FmooOxRfUMRAGfiMP2/cvEWwckB5QdiZgeVJmbeLKUEdaRcsWUFX+drHfbtR5fKlVTpcX8gWE9hB/27NesqR7XV1Xf9nrhuuYxfti5nzeTERk/SOMq7r/vYjW/Kh7YGXJnM+7jDytG/q94T0eZYFDCj/MvNCZwpbjkHwAiHmGaxAVqxeSxCY07Iyy5M6hvRub+9Zxe8XVgph/EIpaRzb2goAY69wwfxqzMNSBcqN/t0/ondYqQ1Cf8BO47Q5C2nlD+uoQ8vm6ro3fVdl8Pw/LPKwoIOQCsIu+Ix5X6udzblfL3NY59ipxyrmZYcO/0NtPmiiFpZ6wbqJFVl9h46hlavXsXBfWFkHYExM+nKOUsTidC9YQ4DQH2G9s3Tl94o3QkmN/jxu0pdqoYVdVyhHQcAIit5hYz9TlqJG6wDcf8AWCq3eb0wfNm2glN5IP5l3/+cv/oaVV785xpgd/JGvmQ6z4AyhMXfO7PTp6CEOPo6dapxgBkVco7q1HDzB/Ly733Z5KgR2CN9Y1EApgM+9LGCDIOQfPnKM3nrzDfX7GPOvf2/foSKsXNTtpG48/w8Wo1DAYwE2f9E3rGxIqBT12vpCp4XSLstr2bkv9VeWVriORXb3/kNVveu9U00p5yLaONblj+yfmGe8aXf0C6u8GP3BaM0H7MDPIBvAertnp7ZqbOfNnYOSJXuV5ZE/VP/BHAnCovoSz1m1qlVSmy7oO1blDswHMXlzB5bjWVgpjt/uCDIHLLtguTqod2cHj3OXHnP5HLaUTMGKscljhynlK9LCwqnP4JFq46Usz99G6zGr84Crd3o6t+Zh/mIcZ5ATYVGGjSFdPjuYWm1P1MEOb9d1NvNfXIdVk1VeaWeOcPdOdzxfp3f1aW5bpMHmyqfsjRAkaw13zFeYN2d/tYQ9Jr6m6XMXKut+o9xodZ612ydWs+U/lIJm2f5vtiLq3Huwkhswt8OStkv7lk7VxBw7cvxkesanebdii27I5ZgD0B828mYEDk0qwdbXuAb8NvL8HY0VXFD04FpYjxdd+GI8d40c1FvxGFzDJnbHHgOU8rZyudIKe+3poOegnzdvo5pVK6gNG8zHXy/7TvHLKeOHE9ZqIMyT3Xl9tnf/QeUZgTkS9YacDgW1GWMorXoOHK6UgioD/s9O3thY93Wb6HKYx5wn/V/nJZ+CgCAQeRB44ZvngzJjksCOJszKsRtZpuRbKleY+cIKIU6c2NSuxXuOxQ5uwsKofcv3lBXOdz+sV1ZJxqK0b9HMobTCdeyGQ4C9e/c+K0Suq6TXb95UizqYxLdo1sChtMJNvaMIQRKKLuwAYLI2E9zMYBY7jBeL2JlwR3jXL6wccvUu7Py05N3Ve/fuqYWouzx8cf1tdhuC+4BeiKH8UA6AoEAC2cFFPWD6Dws3LFCxoIOlBgjf/zxwSJ2MmJ1x2sUCOwRIECzhnrCA8CYLB5q6sTvg6sWzqRzvYGlCmQuwKxVcMmH9YiZz3XB/y/Zf1YK0do3KDkEK16EAbcAuSg/YDQiKSyOZ83GFkTd90/gud9/R154yJmaCIDG0f3fq2r4V1yHIwsiTOprz9eVvq/hh3MKKzjy2c+fMppQHp06fo5Ps0gC6z7tlZkJ/qPdOdRo9pK9jweRt3zW+A26xWmmF67AchNUjdhaV9Sbv0qIf2KkHyrtm2Txq1uBdxxhE3rDeTMYC9AO2NNHtjgXMKa4/3IWAiSb0x4bv1lICN3ZMUQYoY44cPaEEZ80/kR4YYRcYAvWBQ0eU0KnzwWcuzhcKI20VifSFCuRVFn1Y3Gqyir9Ob/7MkikjLZ37BU0cNdiJj2PBniNbFoKVFepuh+zyVFixvM6KYPA57RYClxkcOPB+43rK0vZXttQFQZjdxXwBCmOzgtxOGZEWFmMftXnfobTCNRy2AUuYq1evq0UBrkW0cYwyBQJ52+52eLEZL1gkDB49gfnXA+rYqrlD4QM+XuzNQkpJBRkDhD4HK3EsgDGGMRa9lTvM5cFvbH5go+zSpStqEwvWWaERrJYw3uqyWxssBjUh7EJzHjuwSoFFtZGszAPG9Pq7N3Nro7o1ncYZ5MSm7CoIBYQunzeYumtPlN0Ob9d1NfNfXLfDK+3MEe7e6Y7n6/SuPs1tizTb2dod3ghmWQtzS4M6NSk78/ntPF9pOVPna3WetbMWgEIWChlYdzXm+Q1zpibIn9hgxjiANayZlEKGN27W8GZZQbbubshlB0YgWEinY3kdsixkWhCUh4cOH6V0aVKpeRzXwnK84H2aqnPoC62YwjWEUIAnA6ycseFnvIfN5YQJEtAFtiq7wxtfIFh/z2Y39zlfjKfULOdogkwPuQAyu56nb7D8s4ddh12taSA3oV2NZCdv43P47os20Xmax5wn/V/nJZ+CgCAQeRB4MQv4oMywNoDFEuK7dOa4Uno35t/bt9UkB8XOaxnTBXtT+nSplfCPiRBpk8V+EVMEpvhGAsNOmDCB8ZJi2Fd44YCYVrDa0O/ViWBerhVdYM412W0FyjVYekGhUpGtGuDah8VXSLubyA+TA96FOprj8eA+lF4oHxQ92hoA131NcKPTk7DOO1lS59gtuqxWcdH5GD+xG7WczYWxEMTuDCwubrKlVQUWkjFZYgf0AgvOqXgH9+Df/6hJP1vWIMUfyocFI0z+x02axm6fe5VFiTF/V99d1Q2uXSC48iDulpFQHiwSjAt03HeVjxkjb/qmsQzuvqdnoQLxlBAvrHnbrkrhV5pNtDOyOXveXDmcHvOkjk4Z+PiHHfzwarhjwYLOSNgpvMuKXFhZgapVLMeWhFtp1MQpyjWiWqWyysUK/QQuoZp80Xd1Xq4+IQijz6JvQkhPyq6oWhC3Ug/sJF5kJdwnk6cpRQWEXiOBz2iCUA0LxbxsaWUesxCS1y6fr5PSQbbiglCJcWfmY/gNFzVYjSCdtijCw3Cxfon/GSkBL/Yg6BrJKv7GZ4zfwX8T0CsEt7wVbFWGGFfYiddkJT6gTqs/dVvb4alQCMC6C1Zv2Mj4k3eQYaUC5R763G7mVxjboJPsKpiN3bxg1egNoe20YlDnEydWbLXAhuJcU0Qbx7pckf0T/d+bdrfDi41YYUNuxvxFdI4tthCHz2gBjT6BMsEqBNYbsOS4eetfJV9k4X4JRTYI48YbucNYHny/9e8dGjJ6orKSQEw99HsrBF4EnuBqc+4NXtxvWfdNsGyszAPBHuILvp5bsdEAC3yEXdCxET3BNKT2RD3s8HZdb1f81w6vtDNHUBBbs8zzdRldfbpqW/Av9JGihZwVFngeG4WILQVZD/KWtrZ3lbdK72aetboWQB6YH2D9b5xT9fs6c4wr/LkiyIqwWkzDc+zAnp0d8cuQFtZZhQrkUZbRsFiCAgzug1CCITRHkkSJVJZhOV5c1cF8DTwQBgChERR8UPRDVoA1FayOEbfKFUH+gfwC92eE5AiN7ORtzssXbaLzdDXmXMk8Or18CgKCQGAg4DPFFczox3z6hbKi6cFm9NoV0AgTGC7iiZjJlfBvTmPlN3YSoUhxRcYFlY5NhODsULRBqRCNBVAIczBrdRVY2ZwnYuCYF5ZIA6HHvFg0PxvWv63i4qpcmVjRmCplcjrKAi92UGFNgPgbUE4hBsiKVWtUXJ/Y7MIHs+p87DqRmH3tNWlXTcQ5QXwBuE+C4Ao5d+EynczyJ4QMf5C/+iYm+YEcML9IofzqUAIEnJ/OpvZQJpZnhSkWHbDQMZK/6mh8h6+/w9UErq2hEdzkvpoxyRFcFAH7QVAqwPISCzCjcsebvhtSWRCQPBm7m8G6yah4sVoP7QaJmCZQfsPKEEp2LNYQTNkVxX8ed87VPfM1d2nNilfzc6H9tou/OT/tmgu3PMTpalCnnYPXQ+EHpZGnZIenwnoKyk5YuVTggz0QHwbKqYwckB6KBLhbHj95Rimz4K5bmq9hIRmWFBnHcVji48m7vGl3T3ix0UKgCFseNKlX24k/oQ6wSs6aJZPqizj4AIoVLICbNqitAkDrevpC7tB5IX6dJmwWYCPJaEGl77n6tLr4dfWsJ9d8NbdicwFWj+DX/3EsP5BdTK20pye83RUunvBKd3zfVf7+vBZSH8G8aZXczbN2+4S79O7KYbSoG9qvu8uxUZljxMH6CxsgFdgdF7ItLMdxCIqRQsLCmC4ifdcukljbIL7oR20+cMSihTukUVbDeEJsTLQr2is0spO3MS9ftokxX/kuCAgCUQuB4FokD+qPCRo+8TCjH8KxjF5nzb0rwq70k6dBbmXG+w8ePVSxrozXPPmO3U6cQuhKoWTOD7sLn48bpoQgBDpcywovBD38qOdAFVuhGAefDIlQV1hGmN+FWCraBDek58Pynh1czOWCEgoKPSzCDh89plyrEIRYKacysusmmzAj5lUitjKDybUxjgz6xVdLV3Dg2jgKa30yIN4B0/ivlqw0vy7E31AIIq4OdoZ9Tf7sm7DSQFwC/EH5B2uZJStWqQD3ME2fOmGEY6fLn3X0NWbG/GC2j1gKOKknNIKl4uA+XTkmSxfVZxCXbc7CpTRg2FgVSw2un5q86bs6D1ef2LFHf40WzdmKxko9MO4XLlvJlmT3aRTHoYBSRBPyRJwkV4Qg5VbJXVpYe3pLdvA3vwsxfqC0QiyM/j0+crJAwgLAG8WVHZ6q4+/9xW6TBw8fUZZzcBOEcgrKDQRLh/sD3HDRXsbA6eY6+eN3ZB3H/sDCl3l62+52eDHKjQDpCxavUFYbfTiepyvlJzbpwKems7U3YsfsY/cjtD8OXDCTt3KHzg/1wEnDcJebwfGGJn4xg0YO7uPkSqXTmj8xHowWgub7vv7tq7kVsTJhvYu6v8R8W5MdTENrT095uy6L8dMTXumO7xvzDYvvIfUR7VpnpRzu5lm7fcJdeldlgGJl6uwFDgtJo2WyMX3WzJlUEHdsfmAegReGOoyBrxspJCyM6SLSd9Tn51+2KrfA8RxT2BivUcfP1eXFeIIchHbVloz6nqtPO3nr533dJjpf+RQEBIGoh0A0b6sMhoS4VjAv/qBpfZcm61jMwg8bpsXYBTfT6TPn1ak2SGNl4Wt+HhYrcP2BYgU7niERdkJhGbbs2++VvzWYNoKttubAxt07tlLmtFiAuSNYH8Hqwd27cOzsLXYVgAm1cbJwl58/r9vBxV05YP0CZdR1FhoRA+giuwXqwJUwp4Z1GuIEQPmgzMh50ajpASsHbvAJezhhLQO7iRpJ7Zqy+5RVQh5QCCIovy/Jk75pZ8cRfQmujRCYQVj4IG4AAm/j5BYIETgpBuSvOqrM/fQfdsBhwu9ubBtfC6UugpHjuGco8NC34J5bv3Z1hQcs+LbyKXi454u+q9+NxR122o0E03jwApjGo/x26gErKzyPMmpXIJ03di6f/ffCdQ7XX2dBGBadOEnRXA4EjK5S9z2lMEe9c/L4gTIcFkQQmI2E37//uV/dRzq7ZAd/d3kjphTcHnFqK3inJtQLOHtCnvBUHX8P1lQrVq1TGxAIvAuC9R6srxCrZScr1ZE/LEfDiiLjOA4rbLx9jzftbocXo5ywEIA7HmgIK9pDsmiC4goyyDd88MvuP/5U8d6yZMqIRxV5K3fofPQn3I4b8Mm9zRvXpbeLFyEEr17A8XzM/EWn15/gRZhHIaeYCQetlKz8Lo1mN25fkCdzq36vjg+of+PzBFtzIoYPxhcsQ+xiaqU97fJ2Y/nM3+3wSjtzhPk9vv6NEAbuZC1sRsKlDtaucPczkpV51m6fgGso+DewhEubmXDAz1sV3lGn6uEe+j/GATwpKnIM2GYNnWNQGp8HL4HbL/Jd/A2f1MfyAH4b5fawHC/Gsnn7/QZ7n8B6HPGsjPVBvuZ5GvIP5CDU3xzywFU57OSN533dJq7KFNI1O/J6SPnIPUFAEIgYCLxYeXhYnhWr1gYFP2QFBgI3Gt18dJZYrCNYO3ZNps6a7xTnCKfF4LS4RxzUt1a1ii53NHU+7j7BmBCEHRMQXLGwANQExdr4ydPVH77jaOTfft+nFs+I12SkJ0+eqp842todQVlTio86xrtmLViiTgbTabF4n8mno8XjxTzc4nxB3uzA2cElpLLmYwurJDyx4bSdRCywYFGoCWbViDEFF01zHJnoMaIrf3wETT564qR+RFnXfT5trto9dVwM5QuCiAJ7nNaGk06MBEGq5Ue9lEBlvG7luyd9E7v+IByziz6l6Q8OTo+6GgnjAdjgJB4IEpqgRoHyDsFwobAB2a0jYqjhZMfQFisqcz/9B6EIQYExtjGOMZ41oVyIMdH34zFqzGPs4cjsBYuXKys9nQ6fWkkDLBB3w1d9F3kjthoUGJrQZuhHGMPaetBOPeASCIuKKxy3C4s9TeA74G/I10hwj83ALmwIMosYD5pQDpzSBKVwxbKlFO/TbkdwW4BJvyZgidhguJ6b4+YgJp9dsoO/u7z1QQLGvo+y4cTDzc/dPt096+66pzwVccDQb9Zt2KQWs/rkJIzpkqxIgGUjLEWhXMc7rJKd3X1Xedodx67ykGvuEfC03e3wYozl0bzBhbhWzRrWIZxyFxJhEQ+LYlhvQBmNMqIfavJU7nB1eInOE59wf8QBH4jjM4s3BHDIQ0gES3KMheXs4g9FjiYoJHBSHCwvrAR518+F9OnJ3KrzW7R8leKv+jd47RI+ORqxLBEzEmQHU6vtaZe36/K5+rTDK+3MEa7e5ctrxYq8oTZzMEfCbVIT5BVYiv/NVuI49Q4bzUayMs/a7RNQUOJQk9u86fU1e0QY5S2UDSeVw8NDH7yB/o9xgPHQ7sNmoVog4lRxKOEQCyo+yzJ680PXKyzHi36nLz4hn2ADDJs3GNuaIDvjtGYjwXvijfx5Xa5pkN4oO+E5O3kjva/bBHnaITvyOvKNCHK1nfpJWkEgqiHglasgAuPiWPmXeOcdrhmwvDIT4o1gNxI+5DDFxURT9702jgniNw6iC8UHFD2lXJjWm/Nz9RsCKeLjHD95in5Y/7NaFGMCghACs/3zvJOAoKpQEiAoI46wHzJqArXo0IMKcToEMTzLli+wiMD96pXKuXqN49p7Deuq4JTwH4fbDI7EhpsLTrWDqW27Fs2U5YTjAQ++wGQZE8/EL2bRNp58ihctFGq5zK+xg4v5WePv5KwYRKBZBNhGDCvjDgZ2pGA1gyDN+dmSyCisQ0BG0MuprNBo17UfW6dkY8UmqZNbYJUCKxSr5skQTnp0aqParW3XvirQddo0qZVrGQIx43jvhBbc1Iz10t/t9k0o65au/F7t6iHoZTZesCAG2FEOyI9FvDFOAE5kqVy+tIqjVrtJS9Xvdb/EsdOwXsvNuIDs1BGxn9p26Utwc8UJbzglJ7yoTs0qhKOpMR5qNWqhyoJYHYdZoYhDCqryeEKMCiyyIEziWPPefPQ6rAaMbQhc6taqqvo96mJ1TIdWbyz+uvUfphQ+qfkUMPAEYA9LS7iXYZyA7NQDJy6Bnw1mPrJw6Uq1YwmrUyg9YIkEl757HLwdCjHsZnZq+wENHP4Joe+C58C1VpcDbneVK5RWZYDVYk+OEdi93zAaMHycEjKBkeZPifhABBx8Yd5FVQ+H8h/Gph38XWWn+z6Usag/Flxoe4xjoIgTVa3s2prz9oSn6vh7iCmEcWbEBFaNWIhgwWN1bMAaIC0vePawsguntWXOmEG5Y1kJWGusj51xbHxOvltDwNN2t8OLF7EFxi5WdsOK6gRbiQ8d+5lT4eLwWGraoI7jmHm9IIcMgMNZsCA2kl25A1aDOEkPFlw4pj47x5Rs+V4jY5aO77AE69etI3XvP5QPi5hOk1lJ7s46DH3zg2b16fMv51Djlh+psRErVkxW7gfJYZCTfOmKb3du1ZWC0rnee20dYxe4wk0QvFKfcmYHUzvtaYe36/K6+rTDK+3MEa7e5ctr6HtdeI4ZOuYzx3wFGVnP59iEaf1+E8c8rd9tdZ612ydqcJvDitEob+MABMh9CEOB+RLzKTaMJkyZqbwmXuXy4kAFM0HWepflFU1QvmFjA4orKJ7NVmRhPV50ubz9xMZWfo5BiY0byJ1Yo5w9d1FZ+GNjEHSa+QoI8k8z5mW79vzhhDHWTTjB2CzT2snbH22iCm3jPz0OYYUXmrwekeRqG1WUpIJAlELAK8UV3PK0hYW7nb60qVMqxRUWrf26d+RFW14VpPpHPoEHhEVZ1w4t+WS/t51cT+y2AhZ8k8YMVTuJsPKABQAWkJkzpqcxQ/tzwMUijgUqAnpCUJg8fa6a/HDaBp6vylZhENxcnRZoLA/SThgxyPGuNawsw7sw8XVo3ZwK8e6FXgwbn7PzHcJZQ471AwUJLDWwyPeE7ODiLn8I5VBKQXh8i8tlrBtwxMR/ifuCqzgy77GpNhRdsMb5Y98BpdSpxooMKCi69huqTiTE4tKo7HFXDmMgViyaEU8E9UN+bVs0tWVVYXyH3b4J0+pxw/rT8HGT1A47lDPoxwgCumnrDrXLpfPXeUMAWszBq3W/T8FWWzgIAMeSG5V9VuuIAw2gMLx167ZaXOn3hccn6mgMQP8LYwBCHfvygqoaH+2MNCAEB58xaSxNZCU32g9/aHssljrx6UBZGCdNvui7yAsLPgioCJoOZREUwnAJ6MauwcaxbqceeH78yEE0YfIM5eqJPGEJAKU4XG1geXfpCp9WyIpwECwwZkwaQzgQAgI3eA7aryv3gXrsKqnxQVoI1/OmTXQEsNcYWeVPyMMd2cHfVR7o+5M/GabqjWPp0dZYyEB5CmuyaXO+UkeTY7PCDnnCU3X8PfAe7BgbCQsQKP+h1Ho98wsLUWMa83eMQwSxhYIRu/l37liPSWbOy+o4Nj8nv0NHwNN2xxiDDGKFFx/lDQm4xEK+gUWfmXDYC5Qo2soP96EsTcpzHeLkma1RcN+O3AE+2LJ5I/py1ldsZbnLEVgZ+bgi8M/mrISfxjwOlmLjWOZxR3AxRCiDKdPnkTocg+uJ+avHR23Y2sr5cAx3eVi9rjG3I/cB27FD+xH4y/f/26DaAEo8bGQ0rvuOE6+0iqmd9rTL291hYZdX2pkj3L3TV9dhdYeDLozzFdqgYd1a1Ir7pfGwI/1OO/OsnbUANiSGD+jlJG/jcBvInd06tlbWtijD1evXHZsmWrbQZdOfj3neNSquMG8jRiUUV5XYtdAoi+lnwnK86Hd6+wnMIKNOmTGffuAxBEttyBsD+KAgWCr2HzpGxYWEUgryPBTd0z4drdZEP23couKvupNp7eTtrzaxg48deT0iydV26ihpBYGohMBLzLicg79EpdpLXQUBQUAQEAQEAUHALwjcunWLLZBenDLrl5dEkEyxgQXLrEG9OitL4whSLCmGICAIuEEAruawbIaL75cTRxGszYReIAC3uc59BrNHxTk+RGikUni/uOufb9Im/sFVchUEAgWBIJvRQKmN1EMQEAQEAUFAEBAEBIEwRABxZL7heJ9Y+Fp1TQ3D4smrBAFBwAUCcEndtXsvx+wq5GQ96SJpQF+ChXFXdo83H261bdduFRYFFqBhpdSTNgnoriaVEwS8RsArV0Gv3y4ZCAKCgCAgCAgCgoAgEAkRQFw7HAgDiw0cpNKO3dm0e3AkrI4UWRCIEgh8xXEp13O4EsQ8Qpys2tUrOYXAiBIgGCp57cZNFbbh3aatg8X9hRs/YmO6cqM0ZOH1V2kTryGUDASBKIGAKK6iRDNLJQUBQUAQEAQEAUHAlwggBtYujv2IOH1QWjWpX9uX2UtegoAg4AcETpw8zYcE/cOx6NJS7y7tHKcS+uFVkSLL0nxSevbZk1WMPMS9gwUpeFpFPlSrdfPG6iAbf1dE2sTfCEv+gkBgICAxrgKjHaUWgoAgIAgIAoJAhEIgKsW4ilDAS2EEAUFAEBAEBAFBQBAIMAQkxlWANahURxAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBASBQEFAFFeB0pJSD0FAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEAgwBUVwFWINKdQQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQCBQERHEVKC0p9RAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBIMAQEMVVgDWoVEcQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEgUBBQBRXgdKSUg9BQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAIMAVFcBViDSnUEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEAgUBERxFSgtKfUQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQSDAEBDFVYA1qFRHEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBIFAQUAUV4HSklIPQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQCDAG/Kq4GDB9HZao3oL/+PhJgsIVtdYAfcASeUYGePXtG/96+Tf/991+4VRfvRhlQlqhGDx8+onv37luutt30ljMO44SoM+pihaLKmAyUtrXSpu7SbNyynQqXqU6zFix2lyTMr6OvturUi2o2/JCuXL0W5u+XF/oPAVf9LSrPR/5D2j85RwT5xduaBUIdvMXA18+749n+mGO9zTOs2x9zGOYyzGl2ZE9ft1F45RfWeIdXPeW9goAvEPCr4soXBZQ8oh4CE6bMoAq1GtOK1evCrfJ4N8qAskQlunnrX2rerivVadaaTpw6HWrV7aYPNcNwSoC6os6oO+okRAoHO31BMBMEwgIBLMq+W7Oe6r/fnoqUq6mUipXfbUYTv5hJd+7eDYsihPk7oup8FOZA++CFEUF+8bYagVAHbzGw+/yTJ09o5PjJVKlOUzp05Kilx/0hP/kiT2l/S83ns0SCt8+glIyiAAKiuLLRyK52Qm08Hq5JYS0AqwHUIaLTKy/Hp1ixYlHiRAnCrajx48elaNGjU9JXkzjK4G7HzJEgAL5E5zrHjxePXo4fn+LFjeeokbsdMXfpHQ9Gki+xY8V+3ucSUqyYMR2ljkzjxlFom18iS9tGhbaw2XRRLvntO3epU+9BNHzcJLp67Rq9VbggVSpXisCHvl72LTVt1ZmOnTgVcLi4mo/8VcmoMM/5CzvkGxHkF2/rB7knvGUwb+sQ1s8/ffpMWb/+e/sO3bx5y9Lr/SE/+SJPaX9LzeezRIHAM3wGhmQkCISCQIxQ7sttQSDMEWjzQVPCX3hS5XKlCX9RjTCBzpps3SXVbvqIimfqVClo1aJZEbV44VKuQGnbcAFPXuoXBOYvXk6//3mAqlUsS327daTYsWOp98CV7rsf1tO4SV/SJ59Po/HDB1K8eHH9UobwyDSqzkfhgbW374wI8ou3dXi/cT3Cn5B1BMCLRg/pS/fu36dECa1tuvpjjvVFntL+1tvdFykDgWf4AgfJQxCwgoBYXFlBSdIIAoKAICAICAKCQLghAEugvfv+Uhah79aq6lBaoUAvvfQSValQhvLlyUl79x+kPw8cDLdyyosFAUEgaiIA5VXiRAkVP4qaCEitBQFBQBDwLwI+sbi6cu06TZ4+l37auIXg5502TWpq+2FTl8G1EWB8287dNKBnJ1qyYhULmIeoSvnSNKRvN1XTi5ev0LTZX9GGX7bR/QcPlNl1qeJFqQ3nlzJ5MgcacG9p0bEnZUiXhjq0fp+m8PuxE4v3Z0ifjnp2akOFC+ZzpNdfjh4/SZ9NnaXSPnr8mJInS0qt3mtE1SqXo5gxXMMB97peg0bqLOhLLh/+4KIwfEBPx3Vz3q8mSazStGreSLleORK6+YJd4582baUvZs6ns+cvUNw4cahcqeKE+rsj8zvN9YF7DcqqSdcD7dOiWUN9mULLBwkRkLpjj/+zdybwVk1fHF9EEw0kKRVNRCSUoRQpRGZRIqGSFE00aZ5TKYpEKiWRuQgZokQ0oDkizaU0SCP6/9d3Z1/nne5995z77nu9aq8+r3Pvuefs4bf3Xnvttddau5NUvPhCObdMaRnx0njTxkMH9JSTtK62PerefrMMHzUu4ud/1hkl5ZEH75dyuqiYMnWavDB6vKxes1aOUbwvOO8cadXsASl2WpFIWWyZn+jeQapWrmjuc2/EmFelX7f2+u46GaduIb9t3GQwur5GdWmmfSBnjuyRNPjg70t5cueS22++XurVue2AZ1O8qF9sm4PTnbfdJM3bdTELIvvcdbfXN206dEAPKVP6DHPbn59tP3/ftWl4r9Tv5dfelj5d28nX386R9z/6VLb9sV0o81133CJ1a92cYqHGu8R6eWPiZOMiAxa4uJ1ZqoQ0aVhPypcre4Dw5G9j0q55TTXx9k8Wh9R1w2+bIpZXtOu6Db+Z4nK9vObtUrDAyeZ33Aq9z+c/KV+kWn482AlM5li2GRFEv2nrjoIb0YghT6Rw73zquZHy6psThb5U+dKL7Csy5/v50qJdV7PYbd+qqbodbTb9t8DJJ8lTfbvJ+DffDTRuSBC+87TmY+NanHPWmYa/eft0JGPfB38bHn300WLHC2PDSwTw9I4fbWAhr5ZNG5qrfTboWLE8NGzbwsO/nfO9dOvQWqZ8+kWEV8N77tKxf/st18uKlasjfNY7J1S/4rIU/TJInSw/sPWLxsOCpMP7qfEwcA9L/jHl578//bxcmrTqYNp0gFoBWQsh8qHPPdiyg8nyuUG9I/02Xpphy3i4Pf/PP//I3r1/HVAtsL2w3Lkya+4P8qPiDrV6vIecX7aMDOrdJQX2th+ULH6aGe9YZxEf6wWd07Dc2rFzp+G9d9e+VQpov+7ce6DhIYnOR8zts7+fJ8NGjJWlP/0syB7IBzVUhnhArYv9c5e/ct75iHnbP3b9z/PdO38Gyd/yfhR/loLMc/H4Ojz1thuvkyEqo21Sua1/z47y1Tez5c2JH0jLhxoK8oKX7Hj3yyj+ZxKVB76YMdPMFczPyCQtmzaKyB/vffiJdOs32MgT9e+sFclylcocDzRva57z9iV4W9sufYyidNiTvaVUiWLmEAdkLi/+JBSmf/G8nT9TKy/PQbZ9n3n+JTMPwQ+9/BjZFrki6Hiw85+3DkHnlf0l2v+/f35DRrlE3XtbNGkgRQoX8j56wGfmmY90fvGWgYdsP132ywrxyl/pPS+dVqSw3F/vDrm6ahVhnobCjkPzkuc/WxcrbyE/IbO8MuFtM06qVLw48rRfZkFZD1n5Z9fuPcI8kjNHjqgyme0jQXiQHYN+7G0fpl1+37wlInMif/vllUjBfR+QlwZrPEL4oF0DIJP7yWIbjX9YXPxzZaw1l+X311SrIldfeXkgeS2aTBGtD6Qnz/Bj4r47BBwCItE1NSGQWbtugzRr00lWrV4rhQsVlLLnnCVr1603gh6MEuHAT7v37JFeA55W4XCX5Dshrxx33P5YOgsWL5XWHXrI1j/+kLKqGEEBhoJj8sdTVdCZIwN7d0qxQCPdeYuWyAOPtBUYfvWqleWnZb+YGBftu/WVIU90l7POLBXJ/pPPp0v3fk+Z75dedKHJ9ztlor0GDhHybtfyIcNIIy/8+wHFRK9Obcyihzga1a+orAqVS+WUAv8p0mzaCNXlVWF2otZrqQZofPWNd1VgmCuD+3QR3JFiEViNGjfBKO1g5hUvLm+Udl+psPHBJ5/L/6KcbmfzJM1Y9bniskuliOI4dfrXqhSbboRE6lOi2GmRogRJhzJZoi0+1/RYKIB7ln8ncX6f9d08FdDnazudIdepOwcYLF76k7Tv2lcuPP9cU44K55eVc84+U+ap0nLm7O+M4DfsyV5GkLd5RLsiJBLbZLdO0EyS1IMF9OvvvKcLmb0p2s/bly6+sJzk05gNCxf/qMqv8aqAWhjKlSRr1mNVuVPXKHNGv/K6KpT+MIrZE/LmNX2eshJXpdljnWTzlq1i86Puk6d8Jj8sXCxDn+iRavuTBkJBy/bdJHeu441wx+KM+qHIXKnjq0PrZhHlKkqadl37mN8Zd2C9a9du8x3lYpMG9QTB2wo3CK0I2JDtK+BPf16i5WRRzQLET7lz5ZJHVQmMYgxhPE/u3MaFIE+eXFrOXEJ/j0Ze/NNjLHvzpBxltL+9/9FnsmLVmogCAIzm/jDfKLNnzJyVQnFF+egzl1Q4P4KRN80g44bnUcJPm/GNUaDXUAU8mM7T9n6sUy95RhW6CF2xCKG1S5+B8vmXM00/og137Nhp2vBh7Uso869Sngb9pX2/36BnZdIHH2ua+aWGWpfYZxs3byc9Oj4qV1apFMkqyFhJtG3JZJsGsKevosCsWqWiCeQ+WxUGbAosXrpMvp41R3ngCXK1Lszh4fMWLpGufZ5Ua5kchreRRtA6xWuLoOmQp6XUeJh9Jt41CN8sWvhUOaNkcbOYXLl6jVnY2nRRdK7RufKm666K9NkgaXp5sU3rSLiiXGLRi2KFhU/PTmxcFU5RdZQ6dkOG8X9GyWLyo8oEfuxnzppr+C2KKNLl2Uc79jBKaObuyy6tYO69MPoV2adzczQKMsZsW7329iQZ8twoya7yEOOFODTwCjZglmr5wro2ZsuWTcd7Rdmm8XS8RGwd5tSjdVHLpoKlIPkHmecS4esoEXsNGGL4LMoUlCg1qleVD1Su+1L5Mkotq9CFJ9I2bKrYxamtg/8aBn/6QGtVYv6mijM7P8OXvtH5lZPMrKyIvIjFDG1D+rb95itP36wLdeY7NhWt/EQgbOZ+NilOLXiKv4iR72H7V9Dy2gxs+x6riiE2h3LoJh6yLQcW/KSbtcgO55xdOvB4sOn6r2Ewp85WRil2WlFhg/F3VdbT5lhEWsz9eaTle7LnpbzaF666soopEgrxLr0Gyuy586StrhXox2HHYZC6XaTrBzbbvlPrUu8YmDl7rrB2Qn7dsm2bnKjyJ7RG12Br128w8yqKG+TAaGT7SKI8CEVS6449jUxfRuV35EjkXeZ95BW/DBKtDB+rcQNywN86jlgrFtIxw1h7pG0Xs8aJJi9F4x+kbefKMGuujz6dpjL51LjymlemiNcH0otnRMPP3XMIOATSqLhC2TL2tbeM0opJybuwhuk+1qmnTvT7DsCZya9k8dLSv8fjRkDhASY54lOweMeKyS7YyAPtfo8nnjKLIqwhvLErdiuTbnRvXbn/7tpmF4Tnsf4a8+qbMv3rWRHFFVYFKAAQztgxw2LI5ovA+rFaAlEHduD8hLB1tU5exx57jFnos0vLd0sIMoN1wbY/7Z6RtNHYj3z5NbUwekWeHz3OWGFYQci+a6/LVPh57c1JkkuVFt7ysWPV58mh8r4qQLwUpj4IWatUSIPRUz+EdUth0rHvsODv1Ka5sSazihEmNSib4tuv++NySfnzzXcwGDJ8lLysO0go8FjM250ZJocOqmBk4c+OiHeSNi9H+e94Va5gVcOCEGJB8mCL9iqsz9UdoK1GUYDwywLa35fIj1NfJqs10+dffm2UPVGyOOAWbXaRKr9Id+IHU+Qv3S1HOERpZ+k9TRMLisdbPyw3X3+NuU1fZOcK67O33/9Qmjasbx+PeQWDLu1aRnbgrWL4Q1VeslCxVkPEekGp5R934NFCFQovvfKGsThEucd4e+PdyWZXdoDudl/8b9uAR3fdXcZqZvpX30TFgwUFZaJ9x4x/U5UReYwVoB2DYOKn9B7L/vz4Tvu8rSdBItRhdQGBxcpVa81ndvk2b91qhD3wQFg6UYW8UiWKm9/9/zFmUhs39nn/WLB9GmXU/EWLtT/uVzzZ573XSbq7T9/3t+ES3YlsroIc/QZrEQKlfqH9FR5QTr97lYzzVSHUsoO293jau1wK5WOQsRK2bW35WczffduN8nDj+yK7z0YJ3bmXfPjp59LwnjpG2Wt3pid98IkqnZ+SKZ9NiyiugtYpXlsETcermPW3m61X0GsYvnmdKhlZ9PCHRQYEb5j+1be6Y71/Ec+9MGny/JFId6rl6a9qzQfP4lRBxsct19eIbPR4MaG94Qujl7wu05S/Wey9yhFrlc0GA26IzE3e8WX5KRtz0SjIGEPp/8rr75r54pmBPSMKDsrRWmUP69rIQjAosbnRQq2VvGTnt326KGyklsK2bmHyT22eSxZfp8ykdboqe1ByL1v+a8RqefnKVWr9vULltpKROd5bR//nIPgz1pBTN6niqZtuBrDBAHF/nMolWLhwSiULUBTxWPGj7GFRjuzHc1+rMg2et0UVg1i+wJMgNkqwPEEZaedE84PvvzD9K0x5yYayjho7QQroRqp3g2ynysbtuvQWr+wQdDz4ip/iaxDMeWGCKmujyShWecGchawfSyZOkWnAL8mYlz7WOYoNIv9ciwU8G1LMw2x4sYEdZhwGrILpW8iWCxYtMTIn/QpeAX+CsP5b+uPPRnHE95+1/QkIj0LWyuPc91IYHuB9z/t5omLCJnTj++4ymwM2Lzax23fvZ+SvShdXiCihve/ymXGCRSvkXeN510nmR99//jUePye65vLP+7HktTB9IL14hg8G99Uh4BD4F4E0xbhC6z9Hzd/RkjeoVztiDULaCJTsjkYjdgIfbnxvRGnFMzDpH5ctl8oVLzLWTPY9mCPuJdxfoBYz/tgVaP7vrHVTZPHE8+XVoofJEKHTEosEGP4tN9SIKJb4DeG29q03GCseJtlEiN17TH39abNoq33rjVJahTAspxByYhG7Yyys/WmgOMD1hlPevJSs+iSSThVV2uAmaScub7mwLiirO3uWwICdFYhFAdY3ltixKq3uOQgbuNQEoYfUksgqrXi+QP78ZqLfsWOXCqabTRL0EfqKvy+RXy2NjZJT+x9KTQTEZNEuDcjpJ/DBNZGAnVbh5H/G/71G9csjSit+w0rv/rvuiFgNcY9+8oUqRqKNO7BpqFYHO9XVBeELQnnMhO0n8HhYTbx7qPCIi2GyKL3HcrRyooBCEYVwh7IXYuc+e/ZsxkJs3frfZPmvq8x9FiQI+yV18XGyR/lofgz5n38sgCkKJCi18Y4b9GfTZhhFdV3lX7xnqbS2BdZXWOMwLqgP7ksoOZo0uCeFcgrLRRa8K1au0QX9/vrZdIKMFfts2Cv8CAtXq5ji/RKnFzUWeSjarru6WorfihcrasYddUIIT7RO/nImmo6/3bB+wkXI+4crUywKwzdZADFWsTSwfRMhHmUqi3e7CA6TZqxyHe73canrri6qQ1UBdKbONcybuAhVv7GO3NuklXF592KAWw/WO/AC+h1EH1y+YpVx34Rf0iZffv2t4RX+8cXvBIKPRUHG2AlqwTVSD7wY9exAKXRKgUhSLEiRVVCkY0mRFjLKDt2sY1PmAlXc11G5w87Pyco/WXydeiJ3XaMuO2wu0TaWflBrOu5hZWmtsOxv0a5B8Oe9VuoOOOnVkVJNZUlL4HO+yiTwsj/V0hWiTbBMYqPGnk7JZ0Ja3HBtdYE3f6MWbbQZxEYJ1iNYycSiRPpX0PKSJ26XyAS11HLNa9XPWKmvAdaPUes+LI6hIOPBPJjKf0EwpzxsOEeTUSqpN8HZpUsZLwc2G5NJyZiXsAREbvDzAvjIQw3vMfMw87Hl5d7ypzYOvc+l9hmLz1LFTzfyA5sZkFXoEjSdwO/f6iYIRH5YDWIl6PUuMT96/ksGD0CWnfz6S1Kv9m0R3kIWWLvn1zkfHhbLAp/nsCJkA90vlyND3HTd1dpX/vNg4XlL/jUe9xNdc/nn/WjyGu0apg+kB8+wdXdXh4BD4EAE/lstHfhb3DssBjdu2mzcwvLn+8/6JN6LCAzeBQ/PL1JNPsLAZZdUOGAHBiXUBeeda2Kp8Jx3ZxI3taP0n5dy6wSTXU3pvYT7DrRg0VKzOPH+hnn90Tq5exVd3t/jfSZt8ruk/IGKOgQ0YqcsWvKTSd8uUvxpkoapZ9mUcW38z9nvyapPIulkyaKYaxuGJczX07q7houFlxBu8/hOcLF9CUVlL7Ww8hJuhvv2/WOOUsekmkknGVRTF+rEJ+sz6BmzQK15zZVq3VbGCBTEKUsLFVOFAALZmrXrjbBkxx2KQG/cN5sHSigwQfBmsUYdb1TBgIUyO4YI71er0uG8c842O8pe60GbRlquFv/0GsvRylZQd5vP1h1z8sYdBIUUO+Mop1CyYhGH4gBrLPrFFlVe3a2xw4IsjqLlZ+9FGwv5TzrR/hzz+qdaHNCO7NYh3PupucaE4w9i4WSVYK+9NclYB3if/+XXlSYmDxZ/XgoyVrzPJ+szwmB2HZep0R/btydUJ3+aiabjb7f1ukAgVoWXsKy87cZrvbcin8PwTcYoschmqxs1cwyWPygkUaBgmcYcAYVJM1KQI/ADc0+F88+TMcMHG8sdFu5YzmANcFejR1K4SaN4Yv4FW1xOsDjG8g3rCfgC459xA0/Y7/od290rGtRBxhjjgcUocTux/MFCghhXySTkGty+Tz21oHR6rHmKeS1Z+SeTr1N3LH9ZcGMNd7oQNAoAAEAASURBVMctN6hC4FjDo1F8e2W81HAKgj/9hXyIh9P/6eHa/t+bfhMrXeatN9553ygHKAeunMiIV6mFDa7yWDCt27BReXd+I9cVUczPPKNErOQ0rz9D9a+w5YWXIH9G23xivpv+4ZuRsgUZD5GHY3wIgrmVUWhTLIf9ch9ztN1sjDb/xcg6TbfDzEvgVPz0/+Ku2oyLFilkFCzMx8w9+bOlXPekNg5tGvGuYEUoEsYFPI01AwpdPD7YxGe+xz2P/KFfVQmPEp+QEbEoGTwA67L1ukE7YOhwYy3M5ouX4rWj5R+s5fz9wZuO/3O0NR78PJE1l3/eJy+/vGZlijB9INk8w4+B++4QcAj8h0CaFFc2GRbJaV0A2rRsvCv73V79zMXeD3tl8ZAeBCNmlyYa5ddFdBCCEaN0C0PJqk+y0glT9vR+lh0e/jKCcD19+YWnIwcLEFAVQphgl84flDqRMvl3tGIpAhEw6EtewvWWOBy4UOJmwyKdOCgIu7icWPdN7ztp/ZzeY9lbPsYfCyEsG4ldslstmmj7B+69S04vWtgotYh3hYsKu+Q8z07hwSZ4xjFZgrFhXD9w9z2cKFl1Sms6uE/PmvpeaGiD8E36GocgfKFuodZdEP5AvK9o7tFB0gxd0MP0BWO5owoolFA2PMEodc9n0wAlFXIJpw1iTT3jGw0doEosFNgssrCEg7BawF2FewQ2TjZZFz54LrF+cK9FkQXZ2JNpyRN38i59nzSxbbBG81rdkG6y808WX8clj3mH+ItssjAe4NlYoaEUSiZZ9zTi+9xw7VUR10QsQEaPez1FVsVUYVHwlJNl2b/WrlhCEs8U5VTWrFnlrYmThZhXhEXAcvc8tSg/IU+eFGl4vyTSv8KUl7xSkz+9ZQkyHrzPp/Uzllco+qIRm3GZlWLNy9mzZjMWnGyA+ineOPQ/n9p3GzeJmHJXqdUoPAvl1Ol68BRKLcKq/KIW5CizVuuG5hV6L7U1WDJ4gA1LQOxVNj+xMkSJiaLHewBUavXit2St5VLr80HXXKmVNUwfSDbPSK1c7jeHwJGOQLAVUxyUCIiIeWVqjDNOEpGfCTgcjbDsSiuxmB/ct2skBk5a0/O+b8z9o0xmPIPFRBBCMfGH7gQHpWTVJ1npBC13Rj3XpW0LEz8oo/LDsoL4VJ01X9r8c3XnI+B+xx5PmHgZuKSmhWgn724nFmP0OyZwLxHvIJrrSUk1Px/Sv4dZpGG9RdD/8Xp4AIE1iTfHgQDJpPQcy9HKiSIKjDCjx5IJwmUZfFBqDXtxrLF0wZ2wcKFT9NCC2DuU0dJPj3sIwH//s9/tJF76uKkQI4eg6ocLJatOyUonDK5h+CYKE4I3swBh4YH1I/fY1fVSmDS97x0Jn+3JeiipvKf52roz1lFKvKxWTbiL23iVKEIKKD9AeYVVNMoRLGlsMG0sXLAAR8bYqRYFybLCteXiUJDPvvjSKGT8Qdht7En7bNgrC9JhI8fKGrUY4/TaaJZKyc4/WXwdvoy179RpXxmlIsqf7Tp3cc8/p4XFxfs8mxUvT3jLBCxn/mPcWSK2Jqf5eolysKGDAnnpsp/NRoexnkY5dbqGJ9B5nphXuGwxz6cWW4h0w/avsOUlj9TkT373Urzx4H02rZ9RzHMSdDLbM61lCvJ+rHl59949xlrTn0aQceh/J7XvNm4SY3fR0h+NtSBugqyxUGoRFJ4wLbmOP960Pf0zNUorD6B/jXv9bXOgVp/ObY2izObHGCD+aVBKxlqOvFLr80HXXKmVOUwfSDbPSK1c7jeHwJGOQJpiXLErhfYc/+uNvwdTzsQCHDcfJjcEexiSl/iOtQS/81wihLUJi3mCeCebypY5K2baCCHET8FU3b9I8ZaDNEw95y3w3o75OVn1SVY6MQt6EH6gTlgTRetL6VEcFEWccsXx3ChwEVQJ6nqHxiZjgcUuLTFUosVECFKe5WoaTtyPU1XZguBixx1CNUdm+4ljhlEmY2LOIgyXpH6DnzWnL7L7yyKNo6gf0EMNWjdrZNxWMEtPFqX3WI5VThRRKKTm6IKDXV7irdkxh8sEu5PcX6GBllFyHUwFEAFuaUdiWBAfz08EDL70qpuNNQIxAbEGwc2MXdbDgZJVp2SlExbTsHwT96fyeqoqSpOPNPgvrmnWVc3mHTZN+96RcmUsM4/iKkOQ7GhkTzH2yhDsvnNYyC/LVxpFPacZoxyBT0Ms/uAdW9Q6BOuFZBPpYhGIwsCvFIt2eE3Q/OHlYzWuFRa0nN7JkfK2Tt40kpV/evB15J4i2q4EeIY385l7ySSsb7ds2WYsjk/zKYqxtANHL4EhyihOESSW0foNG01cHu5zkhtWYsS8YmPKhIKII5OG7V9hy4vrMbIt876fcJevXOM26ashDCzFGw/2ubRciXnEQUOxZJQgaSfDaiZIPt5nkAmwBIw113LYywaVuXjGyg9Bx6E3n3if4RPEWoMfvTXxQ7PZaA9bwIof6yviPBEfDjkCi5/UKK08ACsrXANpV7+l+r59arH6vwMP4fKXx/IPe9Kz//cw35Ox5oqVXyJ9INk8I1bZ3H2HgENAJE2KK7TMF5YraxZeWG6w62AJs31v0E17P9bVHtWLWTbm85aYFIgdxP1zdLFJXJ5EiKB8CB2cPEbZvIRiqeHDbYyCyXs/1mcbyNP+XvHiC83CkrQxp7WEUPTaWxNliZ6cU1F3eJnsYhFBQinfxMkfC6eKWULZ8frb7xnFhb3HNdH6+HdLE03HW5bM9pk+cpqaVNNn6DtewRQlQeMW7YzQmWi56ee7tV0sZVPFFPFTxr76htmJtfe52gUUyiv86+MRQde9Ci7Mz0eq1RaxIqxbEf3k8ssuMePuxbGvpRh3CFwj9CRDAtBjfQBRvll6hDOKNeJ1eOnvv/8xX3MEdJGJtQvlTTO9x7I3L+9nBI7yar7OeJ6/aImxrLRWoFbYY3FEvBJOhQxD/nET5t1oz7LAvrJKJWNh8IqPd8JDCKxfSi3k2F1FiOUEI7DnZFTi81iibxPbpn23fqnGbbHPp3YN0rapvR/mt7TUydsWaUknTHn9zybCN2tUr2pOJB2jp2nlOzFvxFXNpp1ImvbdI+HK/AkPJKYPLs9ePkn94X0ffvq5OdwCucQSiwqs3AiijYsmllZeqxt4xGWXXmTG17AXx6QYR6TpP9HXphv0ihUdm24sNNnIsoQcwslriRIudi8qTyeuVZP766U44MGbZqL5++e59ODrVqH768rVhm+jFMqnh2wkk7Ick8WEceC0wmV6gqEl+OiQ4aNNfEB7z17PUwsWDvvgJLW8qixFUWCJuYM5hLkkXmwh3gnbv8KWF0tpZII31IURecESfY3TrI8+mgOOKtvbRrmZ2niIPJiGDyidCMKOvDVCT5LzjlX61cChz5s/75rBn521mv5MLfK8z32nrv60ZXoQbYVrMXOhnxfQX5h/9/71t9xU82rTrpQh6DgMW17iJiE/wtPY1LAWopSxsvJBYkZhFciYof1To0R5gE0TS3/S2KjxAFGGWqJdwSna5pt9xl7ZSCxyaiGD15czZ9vbRinHqZ4oBINSMtZcsfJKpA+QVjJ5RqyyufsOAYeAusanBQQEwnq1b9VTLb5TAew9I5hxgtxatfDgVDcWVXYHNF4+7Fw99siD0rpDD3NKEAJdYWVyxKuZpwu5vBoUs3mTBgfsWMZL1/7OIvDRRxpL1z5PyoMt25vT7UifE8YIdMhRwnniuOCw+OVkkTffnSwcj11aYx40vOdOE8eohZate7+nTNosnolhsVQX0MRuQIlCrJ3UzKUJIl37thtMjKQGTR81C3AwsYFksSDyUtj6MGmQ/6BnX1Sz/DlS6ZLycr3GXQmbjrcMmfUzgm+nxx6Rlh26SZfeA9WM+Q2NT1FSg4HuNO4ix6ggm+/fGCNh6kBMKWKUcHx568d7aJyMUnKXBvjGBY+FA/m11eOnOTnR27eY9DnNMLX2t+XAGgM3IhSZuALi3rJDTwi8vkZ1qaC7wJbuqVPLBIYlbgqub4w7+zwn1jXR0xetdSKLA44wpu/bvkX/tGOL3+kLqRFKocK6QMKaqUX7bnqC3GnyoLqmRBvf6T2WUysncRdefXPi/sCdnlNNEUZwo5mpJ0IV1JO9Yh2S4E871rjxP5fI9xu0TWd/94OJN2bbcKtaysGP6GvwQ9xRoFs1SDgKbdr7pjsbCMeaE2vG8pjrtP1ixdiLV7YwbRsvrTC/h61TrLYIm06YMsZ6NhG+SZ/jFEEO6qikixK7ELF5JJKmffdIuMI/kQEYIyiTWNCyaOPELOIRsXmgQodxmSPukJes0gXssXyD53mJUzw55RPeW+uexnoy6HlGycRY5NTbtBAbKbgtssi85a6GhlevXrNere7WRjYzVqo8EYZYKD75zAhjLctc9sKY8Qe8zoEAHC4QNv/U5rn0kNFQ6HKKFwoBFCrIlckkFvW07zBVOjRp2UEtRs7UPEQDXy8zliLIVrgWMW/a+YzDPZDJCNxPX/Ja/2DhhEX1ilWrjfKZuSUehelfYcsL37iv3h0y5LlRUrfhw2ZuyJr1WCM7omDDhRSLYy/FGw/eZxP5TBsS2/OXX1eYsYprJWMKWWieWquxRqBcnHgYi1AQsq7AovBnjSWGDMc4X6YydZi1Raz0Y92/Sq0x4QNsHllewLPI4uDJhuDleuolFGYcmhdC/GfjJnECKie0s0ljCbdoYsLhWossEI/C8gB/evRxTjwHly4qR3IYBnI2QdJR8gVxteb5RvXvNHKolZML6SYC/cGenujPN9Z31mJpXXPFSpv7YfqATSfZPMOm664OAYdASgTSpLgiKQKBDh/cV4Y+P1o+mTpdPlQBhEU7QUIR1KboQjwoIWi9NHxQJMA1CgIEiet0B4RJLtoJakHT5jlvgGoYMOmzyCZw7oMN7o67a4GCoqEy3udefFmteb6JBFglbXa0CJzITjDCLqcGoeSqo0fdw6zjBaJkor/vrjvMjgS7OpyURN05kQ43ABQwfgpTHya+OhpjCUEAAR3liqUw6dh3MvvVHyz9JxV8wJNJntPacJULS7RRg3p1jDKSo8G3/fGH3KntC5HfC08/IYOeecH0K9t3ERgf0fzoO0GoQ6tmZiftI91lY8fUHsFct9bNKXbU6bdP9upsdlmxuJmsCzmEBywJmj5QX8qrxYF3AUAbIzgwTm3/JI2gYwvBhaDCnXoOMFaFf/4ZPRadrWN6j2Wbj/+KcoBFxgl5c0fcBO0zCM7giaBvgyPb32JdUxs3sd4Jeh9BtGfHNinaEMs6FuOtmj1gdlltWpwKhDL24vLl5IXR4+WLL/dbpRK7p732mZo1qqXoH/a9INewbRskzSDPhK1TrLYIm06QsgV5JizfZLxhMfTjsuUpXNW8eYVN0/vukfAZDJ/o3kFP3PrWbEiwmGSuhbfDa++7+44DeB+48N7FF+53FyTYsZ/4fVCfrvL8qJflHXUP+0gXyygnmjaqr3z4T2Ot6n8n6HfGOTEEn3lhjLyvp5tiCUzaHXU8Yw37ePd+JoYNi3Evz04t/U2bNxvXHZ5hruHPT/ZUzLD5pzbPpQdfh2ezIfSPWsT53ZD8dUr0+z3qRsm8gGz1nYZjoL8g97Gh1LJDd3NKIEoA7kPwRIL3s3F0qcpO3nZhHoVHYyESL7aQLW/Y/hW2vLX1VEZwfOb5l4xVIQpc5PBHH26ssullKcpPmeKNB1vutFzJ4+l+3SPzG2MKGaWEnpLcr/vjavV88QHl8uaHezzjpmf/p3UjfKmRu+za4nOd/7BgTA9iPunQupluHpc1c+3H/65hyLtl04Z6InMVUw/yDjMOw5bVxk2in3ktSEkHt2k2clBqlSrxnzVgrDzC8oBo6XCAycDeneXJoS8Yl3c2EtiAaaQhJ/o8OVSWaxiDDRs3HbAp4E3LyqGE1kBhxUYCY6lTm+Yp3Fm978T6nNY1V6x0uR+mD9h0ks0zbLru6hBwCKRE4CgVltK2nZgyPffNIeAQSACBF9W9j5NZWJQhIDhyCDgEHAKHOgLbtm2TPAS1PsjEJkCzxzqaUgzt39Ms3IMUCfGos24a4XL+ZK9OUYOfB0nHPRMbAZRuzdt2ljt0Y61pw/qxHzwMfzlY/SveeHDyyGHY2UJUKWj748L59LCRMmXqNOEwJKzavUreEFm6Rx0CDgGHQCAE4gfdCZSMe8gh4BBwCDgEHAIOAYdA5kNghh76gqXbNVdeHlVpRWwgTlf1B7hesGipicmCWycuYo6SiwAL3zc1NtOxammKJcvhSpmtf8UbD/44rodru7h6RUcgaPsTx5j4VFiPEmvNKa2i4+nuOgQcAslDIM2ugskrikvJIeAQcAg4BBwCDgGHQNoRIGbRqJcnmIM4iEdEYOBql18WNeFt27cLAcLvebDlATEKeaFti4dSdYGJmqi7GRMBXJxGaFwuAj1zWtlN112dwjU65ouH6A+ZoX8FGQ9vTvzAKGpxkcStnlhCjo4cBMK2/7r1v2ng/T2CInS9npCMG7aNy3nkoOZq6hBwCGQkAk5xlZFou7wcAg4Bh4BDwCHgEMgQBBYu+VFWrFxlTufs0q6lOf03WsbEBhw/cqi8oCegEYsH9zUbb474msR2cpQ8BPbs3WviR+3cuUvjTNU08RODHF6SvBJkbEqZpX/FGw+LdLxw8iYxIFs+1DBwbM6MRdPlll4IhG1/AujDLzlRvZjGLruk/AVOcZVejePSdQg4BAwCLsaV6wgOAYeAQ8Ah4BBwCCQdgcwS4yrpFXMJOgQcAg4Bh4BDwCHgEHAIZCgCLsZVhsLtMnMIOAQcAg4Bh4BDwCHgEHAIOAQcAg4Bh4BDwCHgEAiKgFNcBUXKPecQcAg4BBwCDgGHgEPAIeAQcAg4BBwCDgGHgEPAIZChCDjFVYbC7TJzCDgEHAIOAYeAQ8Ah4BBwCDgEHAIOAYeAQ8Ah4BAIioBTXAVFyj3nEHAIOAQcAg4Bh4BDwCHgEHAIOAQcAg4Bh4BDwCGQoQg4xVWGwu0ycwg4BBwCDgGHgEPAIeAQcAg4BBwCDgGHgEPAIeAQCIqAU1wFRco95xBwCDgEHAIOAYeAQ8Ah4BBwCDgEHAIOAYeAQ8AhkKEIOMVVhsLtMnMIOAQcAg4Bh4BDwCHgEHAIOAQcAg4Bh4BDwCHgEAiKgFNcBUXKPecQcAg4BBwCDgGHgEPAIeAQcAg4BBwCDgGHgEPAIZChCDjFVYbC7TJzCDgEHAIOAYeAQ8Ah4BBwCDgEHAIOAYeAQ8Ah4BAIioBTXAVFyj3nEHAIOAQcAg4Bh4BDwCHgEHAIOAQcAg4Bh4BDwCGQoQg4xVWGwu0ycwg4BBwCDgGHgEPAIeAQcAg4BBwCDgGHgEPAIeAQCIqAU1wFReoIfO7Fsa9KharXy9TpX2XK2v/vf/+TP7Zvl3379h308mWmshx0MLQAHXv2l6rX15aFS36MW5ydO3dJo0fayI117peNm36P+3zYB5avWCUNH24jla6+xfTnq26uK1WurXVA36Yf0Z9oy0QpTL0TzSOj36NNaBvaiLZy5BA4VBDIDOPxr7//lq9nzZVPPp8uG3/fHIHuYIyrPXv2HnJjGPkDOQR55FCnQw3/ZIyfoGmktxxwMMZbtP7647JfZMpn02TRkp+i/RzoXjJklUAZHSEPZTY8GQvwCkcOAYfAgQg4xdWBmLg7hwgCb036UK66qa48+cwLB73EmaksBx2MTFSAlavXSNPWj8v8hYvltCKnyvU1qkvx04tGLSH9iP5EWzpyCDgEHALJQODDjz+XFm27yIxv5kjePLmTkWRCaWzd9ofUb9JSbq33gCxfsTKhNA6Hl1CEXVHzDhn76psZWh2Hf4bCnSkzQx5p0a6rPDfq5TTxAierJLd5MxOe8GZ4NLwanuHIIeAQSImAU1ylxMN9O4QQOO64HHJ0lixyUr4TEy51snbhklGWhCuRxBczu5Vd2KpOnf61sXK4u/atMm7EEOnStoUMH9xXqlS6+ICkch1/nGTNmlVOyJtxi8vMhPfhZNlwQOO6Gw6Bg4AAC9VhL46Ra6+qKu1aPCTHHnPMQSjF/iyz6Fx5XM6ccvxxx0nOHDkPWjkOdsabt2yTXbt2yZp16zO0KA7/DIU702WG5eWQ4aMke47sMrhPFylUsEDCZTwYskrChT0EXsxMeGbLmu1fOTSPZD322EMAPVdEh0DGInDwpKiMrafL7TBEoEa1K4S/zECZqSyZAY/MUoaffl5uinLO2WfKUUcdlWqxGt93t/DnyCHgEHAIJAOBuT8skJo1qsk9dWpJtmxZk5FkwmmwOHtxaP+E3z9cXrzl+mukapVLJdfxx2dolRz+GQp3psvsl+UrdFMsr/TpfKcULXxqmsrnZJU0wXfAy5kJTxSaE8e/eEAZ3Q2HgENgPwJOceV6gkPAIeAQcAg4BBwCDoEkI3BzzWuSnKJLLq0IHH300XKiKhAcOQQyEoEzS5WQDq2bZWSWLi+HgEPAIXDYIZAUxdX63zbK8JEvyxczZsr2P3dIjuzZpdy5Z0vLpo2k2GlFUoBG4OPZ38+TZ55/SRb/uMwE1j45/0ly1+03y+23XJ/ClD7os7i4tOncW66pdrn07PhYivxwxXlOy/bg/XdLg3p1zG8Ei5wxc7Z0fOwRee2tifLDgsVybfUrpGv7ViYwM+UbNmKsLP3pZ9n711+S78QT1LLncnlArTFyqpmvlwig98bEyfLK6+/Ibxs3CULRWWeUlEcevF8uOO8c82jfQc/ImxM/kJYPNZS6Wk8vRSuf93f7+c8dO+SFl8bLR59+Ib9v3mJMSJkImz1wbyQfnsX1rUGzx0w8n6b62zPPjxZ2ff9WM+XTihaRxx5pLBUuOM8ma647d+2W59Xn/p33p8iOnTvFtgfvBCECcDd7tJNcfWUVKX9+WYP36jVr5Rh1iwCDVs0ekEKnFEiBE32k2uWV5KFG9SW/x9XPtnkQ/G27e9sWPEeMeVX6dWsvq9esk3H/tgv5Ed8IvGhDi9O6Db+ZKnK9vObtUrDAyWZXOv9J+UL1hbSUJR7GQds+VjoEnpwydZq8MHq8YrLWPFb41ELS6N475eqqVUyftf3QpsF4grzY2nRGjp0gK1atFgVICihedW694YCxa9PZuPF36fbOIPn0ixmya/du07ceaniPGW+MlXhkeYt9P0/uXHL7zddLvTq3HTAWvWnZ9rD3bH2i8Qj7jMXgie4dpGrliva2WPzf/Xd8UAZcDwso3+rce6D4n+dFgmsOfnaEvPfRp7Ltj+1i37nrjlsMj7N52Uxs+bx429/s1Y6zurffJEUKF4q0J+Os0iUVdJw1klNOzm8fN9cgbebHCn7JXzSslq9cJc+9ODYuT0lRCPfFIZBEBPxzLu4UzIVNGtaT8uXKxrWsREZ5tGMP+X7eQmmscsF9d90hmzRoOvNmgZNPkttuvE6G6Ly5SefS/j07SpWK+92Kl/3yqzw17EXT95ELmCcb3XOnsajyugDaMZcav00NjjBzILLMt3O+l4G9Osmnn38Zk9+QHzypebsusuG3TZE5zpYjUT7L+/Cyl197W/p0bSdffztH3vfwPPhd3Vo3H2BtltY2tOX2twmyGnyrUf07jUukfQ6ckJ1ikZ/XRSvfJRUukBZNGhjea9Oh7kHkDZ6PhX+Y9rb5eq9h6+Z9137m0ICh2uc/mTrdyIrIB8xFlC0aRcMnrWMwWj72np2D48m/9nlkXuZfZHgrhyIz+MnOqddUq6Ly6+Xy9HMjzbqE584560yzRvCvYcLW3d9HkQVqXlPtgD5KnraedgzB26wM7S2HlR/8socdx0HWYuTnJSsTEws06NrBljdou3jz4zN9d56uv3p1aqOxRT8IJCfaOlqZEEvGyytdYni5V/4JMy5i4RmmrckPXtytQ2uZorzGls+up1jfrli5OjKHsL6y46z6FZdF5i3bDsxFT/XtJjlz5ojA5u9LseagyAvug0PgMEQgS1eltNSLEzJQWny/YJFcUPYcKVe2jCpVjjHCHcwMJQlKAEuvvT1JuvcdbBRclS4uL2eXLqWC1Eb5WE/c2aCKn0qXlJcs/y5ogz77qy6mPtYJt2Tx0+XKKpVsVub63bwFMvu7eUahYhVJn037SnAhQshapcqNfCfklTNKFRfKY/PcoUJe5YoXGYF48+atGlh1tixYtESu1AXtsf/6HSOIdO49QF59c6KaAOeRyy69yCg+FixeaoQ3zIFLFDtNjleT9E+1frv37JHqV1TWiTSLKRvvjxgz3izomzasbxRkKQr/7xcYWXMN6PiFxuspUfw0uejCcnKClpmA0x98PNUoB4udtj/gNGlOnPyxrFQFxSS97tv3P7nkoguMAELQv+lff5uiTRDiWz/e3ZxywgRA7B9iYLz7/kfy3fxFRrF4VdXKByggveWkfJOnTBXqPf3rb6S0Ku7OObu0TsI7ZdHSn2Tm7O8MQ3/vw0+MQrP0GSXkN30HheEvv640bWYxCYO/bXeUZbZtaW8mj1lzf5CZs75T4eMM0y/Wrt8g389fKFu2bJWKF1+ofTSrKvJOlfO1vy5YtFSVEPml+YMN5MrLK0qJ008zbZRRZUlNgROm7b1tYj8jeBJ4EkVxDlXYVdZF2KmFCgoT4Md6sg1CXblzy6hiJbdicY5RYtEmKFjr3HajwfVE7WtMsk9rfIahxGjIls2MjWIa5JwYLig+WPiBq60LY2ypKqY/nTbDKAn5rYAqVTCXn6q/2Xxx3/vrr7/lw08+lx3aX2667moTh4Xy05+atOwg8/Vavty5hrf8+edO+UzT9I9FW197PU4n+zKlzzDlgq/Y+lxc/nxTDsr3s5bF27ctr/Des4tcTgGy4yOPBlh+74NP5HNV1LNI9T5vecvnX34tPynGF5x3rollsXLVGvlWx0E2xW4/3rlSxdvWw3u14+xb7dtfzpyVYpzNU17AvcrKg3Ll2u8CE7TNqBdYnVIgv8xXHgePQslvsbI8hTH03oefxuUp3jK7z0c2Ant0zsuumwbJIsbjY5176UbQ5P/mXN0UgVcw7zE3n3fO2ZFFAONx1eq1ct3VV8rJKofwfruufWTu9/NVcV/XKK3gWd4+Pm3GN7J37/4Nqysuu0SK6CKeEwFbdehhlD4oMMrovILcMlnnXy/vC8pv4Xs2z+OPy6mK/KoRuSLMvEP9lujinPKlxm/APz34LOnCN79SWQoZbJXKHfANZB9kq69UbmKu98p1YdvQzvPId/DR4xQv5C3bJmvXbZDyKmeep5ulO3UOmf7VN7qJ+o2R5ywv3LL1D8mr75xRsnjkj0M6kO3YUEGGqKjyH+QtHwvDyy6tYAJpczLkB59MTSE/BZU36GOx8A/T3qaAvv/C1M33qvkKfg/pASZzVE4uqGOpktaXueO1t98z8hlKWTt+eMGLT0TuTcIYtPj8sf1P03/AlnkprAxEP2yrG28o48qec5b2izIq7/8qr7/zvvyp4x85xI43O6ciCyBL59a5s4LK14zNn35ZrrLkD0YpwhhNpO6sMR5+rHMKvrFV+yLrifkLl8gVl10q2TSuJuStZ5FTC5r+yGEOzPespZDPUGZA0WSVsGsxk5DnP8uPgq4dvOWNty7xZJPiI/wLxdUkVXYj/8FbWS9GkxN50SsTltG1I+P+GI3d96UaInyoh2Ccf14Zs6HAs2HGRTQ8E+nni3QT/yOVFf11oR+sXrNeNwTHGvnp0osuNPI4PJv55qwzS0YU4rYd/POC5XdsPKQ2B1F3Rw6BwxmBNFlcIaSNfe0t2aQWQN3UWqmGWi1B3B834W15Sncv3p08RQdlKXOfQTpKrTUK6AJp6BM9IsEJsfhp16W3WbxeWaWiWXyFedYkHvI/JuaSxUtL/x6PG2sIXsdi6pXX3zWM85mBPeXUgqeYVGEkrdmhVUXODwsWCUwHmqSKGJgOljyYANtdVwTJ5nqK0PBR44xiBOXV6Wp5tnjpMlm2/FczGfM+1gvLfllhmFZqPu8TP/hY3/1J4+/cZRaUNlbP56rIat+9n7ytp6BVurhCil3N3Yopgvn9d9c2ygTahB21MXqSzvSvZ0XaZPKUz8zOM4qfAT07mcU5ZTOnn7TvZoR+vgehE1UwHDqgZ+TUNnYrOmj5pqkgue+ffTL2+cFqCVbYJMVpGY+06SwLdcHxiyrUsFILi39qZTpeF+MjhjwRiSVAfR5s0V6VaHPVYm2rEQDYSWfyHTP+TTnxhDzGAszubmR0WWLVJZG296a1eu16s/NTQoX+Z7RtEDQhAtM2bd3R7HJhKUcf5Y+FBxMkFpNeq6OlqqBmYYhCcnDfrpF+Ak5NWj1u2vjOWjeZNGz++7TP1dTd7/atmkX6JpZazdt2NRaKKFlKlShmH09xZcxh3cCOHlaUKIcgApz2HjhUJqugg3IIgToaseCgXvQ9lDr++kR7J9q9RMZHNN6C8hwFMeW5/eaacfGOVhZ7jwX4wN6dpZS2KWQxQTE8+pXXFe+mZuEeps3A6ljdcMBytKQqx/nup6A8xf+e++4QSBYCY159w2xM+OdcO1+99MobRrHAgtdPzEcDhwyX2boQvOHaq6R+3dsjinb7rL+Pcx9r3GdHjNGAucfKoN5d5Nwypc3jLGyw3PpYrVkpDzwmKL8trJsH0SiReScIvyEoezRKK5/1psl82qVdy4glLAqRZm06pZDreD5MGyK37FJZBmKDkDmKDcbVa9fJYJ0f9rdJz0ibsJEw8uXX1Br1FXl+9DhjMcMmyW03Xmv+TEL//oeC4zO1BEb28cY2nKCbq2x++fsYz3ft86S8NP4NMyeRrqUg8oZ91ntNpL297/M5TN3871oZHuWuv77fqUXiY516yj8qu3kpTPt53+NzamNwz969RrkHJt37DZZ777rdvB5GBsIbAc8EyCs3ePuF+dH3317Nu1Ob5sZaz2ymqZzRoVtflTFm6mbOYpUX98sfYerOuHzj3clmPTRALTdR6ELM19QPqxyUrMgwtMPIlyeYzT5rBRqR87UMXXSDfJgqPeA/0WLl2XYMuhbzVT/FVz8PJO1oa4cw7ZIiA98X5MR7dKP0wQb1ImsolHotO3RLISfCb/s//dwBMiHlQ7HX44mnjMxorZTSMi4oYpi2tlWiLnfrhu/Dje+LzC1s3LfVzZYPP/1cGt5TRy3t6kZ+m6QboD37P2UMB6zi3KblvYaZg7zvuc8OgcMRgfi+OnFq3UrdASe9OlKqqamjJRju+SoMYLmD1Y0ldt82b90qtdQU33uiBq5bCJFozmeo1QAU5lmbfpgrgtzDje+NKK14FyumkRq8dNSzA41rm00PZQY7ckxEWE1B7NJh+cGOXl1dsFulFb+VVrcFJiOUA1h2YdFwjZohswifqbt2ln5QRRj3zK5LKoFbcY2a/PpLUq/2bZGdZNJg1xc3O8r0zz//2GTNtYwGo0aRYC1gaBPqgLCFkA8hRHypFljZs2eTJg3uiSgj+A1FWs0YSgF+j0YXqFUMu5iWmGCxqIOqqkLSKq34zk5SUTVJZndt/b/uemHwJ43U6CGdBL3KQCyqEHp37NilitbNqb1qfsssZUmk7b2VQyDz9w1+Rynb/fHW6r7aSNt9v4WO9z3/55LFTpcJo5+VQXoaDv3ZEgoidovYLbVjw/7G+Mc82ito0QduuLa6cZ9DMI5FKIgXLP7RWHZVrXxp5DHGWa2brlPz6ZxGAYvQkl6U6PiIxluKFytqdno3bdpsdnPTUmZ2ka3SinTABAU1p2saq8Jt20zyibRZauUKwlNSe9/95hBICwLIDl/oIg6rgwb1aqeYc+H1DdVKcKe6uk/SjR4/wZ/6Dn5W3teNmuuuqSZtW0Y/4c/fx0ln+lffGuuhW26oEVGQcB8+WFvdpHfv3mMUHdxLK79NZN5JC79JJp+tUf3yiNIKLJDx7lc3TOQmK9eFaUNkrBa6edZFlUUQVqDjXxxqLBO++maOsWLxtwnyTu1bb5TSOidhBbZCLbSiEQvjftofsELG/c/OaZSPRXC0PmY9BLD6YPPLS4nKG4m0tzffaJ9j1S3as1t0rpijoTGi1RdrdCw7vBSm/bzv8Tm1MYgF0vV33Cu47iFTvDHmObPA570wMhBWR2y+4S3hlRvoF1hzY20VjaqoqxnuolZZxJxa4YJy5lHbh8LWHYUf/MBPpP3wA/dKD92Qw70SQuGGVU4R5WM3qlLdloPfLlMvlPLnn2es5FHYxqIwa7FYaXDfzwOjrR14Lky78HwsQk68UsOGgIslNgfYXCDMgpUTsbL/cdnyA9qW8uFqR5sjM8LTolGYcRG2rW1+1KW6brLadRf3S+iaCI8G5LPrrq6W4jfkQmRZ1opsIsSiMHNQrDTcfYfA4YLAf5wigRrBMLDgwO2o/9PD1T3re2NGHCsplDi4GVlm7X3uQlV6TP/wzcitMM9GXgrxgbJ7mQuvwjhxi8I3GUuyn7VexLKIRpgcr1v/m3ENtOa73ueaa4wr/iyx2wJWWFzcccsNJkYVrj0wM2vBZZ/1XzFfXq/HNw8YOtwI0UxyXoqWP+6WR+k/L+VW33rwt/TH9u1GsGMyL1qkkL2dLldrap1a4mHwTy0dfuPoaS+hPMHFKyhllrIk0vbeOqIcJP4R1jj1H2xplEZXqLvr6UULS9kyZ3kfTfUz+OWWXPL2ex+qldaHJsYVu5iWmLCDElZWR+v4w6w6FuFiyoIHd5NeamHlJRaK+/b9oy46v5vdeGsl530mGZ+3//mnyZ+TgAoX2m99GSTdaLwlux5xTGwLyp4ehLszZUTI3rJlmwk+nMw2o8xBeEp61M2l6RAAAebbjar4xULGG8vEooNcAY/H7YdFgOULKLdHj5tgFoa8++jDD6RYJNn3uUbr41hsQriUd1NLCS9t3bpNjta5xm4GpZXfJjLvpIXfpDefxZ2cuWGNWv6yERCmDXfv2iO3aHB73DWxssUilLpCtAmyzCXlUypW+A0lFBbci5b8ZNqFDSsvYbkx9IXRZu4grqn1COAZWz5iC2Ex77Wq4nfcHu3ml1fuSlTeSKS9KUcsSq1u0d6x9SWkQv58/4X0iPYs9+zzyR6DjOe+Gpd0lI5TNne8uIeRgWx/xkXfm0as+tj7WbKovPxv37L38p90ov1oronU/UZVlhFv67FOvczm/tWq1MCV2VqE2wwIZ4CSBlzZ1PUS9SCGXWpE2cOsxVJLKxoP9K8deD9Mu6SWX6zfyv5r2frLryvMI7ZtL1N51t+2fKfNWbvxnH9Nlei4CNvPY9WF+4z17KkYKKT2bpg5KLV03G8OgcMBgTQprgDAmk8TxwINuTXRZ9dj9LjXD8AIBoOFTxAK82yQ9OI943W5IWYU5p4osqCp6paHC5WfqMsxWeLDSMBDmCC7KgjWxOBhdwgrqILqOpkaWbNZ4m5g2XaR+nUjKKF4IohyWokFNQvrg02J4J9eZc4sZUlr2zNZdtJDCC4uX84E8x6hZvTPqxsFgjk7QwSr9wbHj4UnE78NaEwskdq3NonsUr/21iQTCyPWu/77BNBll+lvn5Wg/zm+M0b4OxjEghflHAuUnDn+C5B5MMoSNE+v5Vsy2yxo/u45h0B6I4CVjH/hQp4spLwbM7YcHDiCRQeE8glrHet6bJ8JcsXdNx6lld8erHknvfms3yo8SBuieL9CrW2JoRiNUpMPvXFVve+CLzEfUSbUuqmmsdTw/m4/Y3Hx4Sef268prmE2aVK8GOVLMts7aN2iFMMofME7KAVpP29a8cYgykUOxhmjbph+SkQG8iud/Gmm5XuYutv4l4Q9wDWQDUQ27VCyt9DDmlgTeClW2t5nYn0OuxaLlU7Q+4m0S9C0vc95vXa4T4y7aBSrzdMyLmK1R6y5Jlq5knkvyByUzPxcWg6BzIhAfI1LKqVmYfTyhLeMufWQ/j3MLpd9HJNfTprxk3G3C2h1EOZZfz6JfF+oZqafffGlUSYN1HhPdseWtGzsH3+6WFD8/U/80/cQsogbQ2DqGd/MkhPy5JHt6ibHvWhCuM0HDMa9/rae9rdL+nRuawQ5+5uNz2S/J3plp2f33j0p6ptoWml5LxH805Jfau9mhrIkq+2xLKxR7Qrzx643O1KcpvmhBiMl7tqwJ3vFPBjAYkQsBk7hIg7G448+nMJaEStCAroHJSwGcenBNTgedWnbwuQZ77n0+N1aMmDlsVMtHr38ID3yS0aaWCXYxXsy2ywZZXNpOASSgQAxj+CN/nkTt3O/u7LNjwNNOKChi54COkgVF2eWKp7Cldw+F+vKmCK2H5bh8Sgt/PZgzTvpzWfBz2uVlEgb+nFPTT5ENopGnLyIQgqFAafb+q1s7DvE6+JkYn8fs78n65rM9g5at2hl36YxR5ENgiqvEmm/RMZgojIQc3Z6Udi6c6gA6yM2wbA8/ED73/g33tWg7Z1MjF1vbKNYacerSyJrsXhppvZ7ou2SWpqxfvN7axD4PBrFavO0jItY7ZHaXBOtbMm4F2YOSkZ+Lg2HQGZFIE0xrnZrDALcUjim9TT1zfYSTNoffwYXIQRLjqj10xw95adyjduk76BnzE9hns2dK6ULnD/toN+36C4bgeKxgvIvUv0BKgnGWfCUk03g1g2/bTogCwLTX3rVzcbCyv6IaxY+7ARVR3jiczx3LaysWOhjFUNMKy9xYuC+//3nruX9LchncMMSjNORVq5aG+SVdH0mDP7pWhBNPDOUJRltj1IJ9xZOi4MQTIldQeBSTsFEIRvEoongkASe5IQlr4stY9w/NkxG+p+1WLLf7ZWykNbZUQIo22fgKexM4k6LkHQwiNhfnO5DXyDocmam3/W0TMqIm8EJetAAlEibZeY6urId2Qgw37KrvnTZz8KR6H5CrmABjvWGd/7GQgYlBTGKODmW+bTXgCGphjXwpg0vQm7hYI94lFZ+m9HzTnrz2eW6oUEcz1PVjZm5J9E29OOO3BSrTVjEL9YTbXGd8sa5xEJkgAbnL6AxlDrrhoiNa+VNGzmLuKWx+pj32WR8TlZ7B6lbtPLa9uCgoI3qeh+P7POx8En2GAwrA52tB0GhbJz7w/ykyw1h607cIuKovf7Oe0YWQm4qUriQPKCHJrVu1siEIYFfQPRJPB9w9efgIi8h/7R+vIdcfctdxlvD+5v9HHYtZt9L9Bq2XRLJZ56OV6i4nvIN2baNJhOCEW1O2/OcpbSOi7D93Oab7GuYOSjZebv0HAKZDYE0Ka6yHJPFuP1xMt6y5b9G6oYFz5Dho9VKKKVmnJ2FEzVezBt6lDUnzlhC0OAEmKOPJsje/tM7wjzLYg2TTtwAmCwscRyunRjsvdSuaLRhfLgSUCZLBAfkpBkv5VDXyCurVDJWU6/o7gnmqJZglgSILaU7Ld74CcSzKn/+ufLrytVGsGLXD7ep1IhdSspFXVDuWWJ3bNiLY0yAUnsv7BVBEuUFVmMjx75qlHY2DWJ2EMg2IykM/skul99y7mCWxdYtGW3PjjJKUk5ZQilriZDmKJexesr673HM9jeu/l0tG8Cd44ttX0cxRSDbaTNmel+NfGb8s7PozZfTQj/65AsjpKFAi0XEgTitaBET0+0T3SX3KsFRFDdu0c6c+BPr/WTc944PxpqXJyR7fPjxTq38WMzZmDo8R3twktYm5REXlitrrDm5n0ib8Z7fNJ97YYh+hXIAHuXIIZAsBJAdLtd4R4z/F8e+FuFDpM94GKFzGC7IhCyIRTWuusIEZ8dVjJMCvXwl1jsEbiZvTu+1gYLtsyhIGj7cxszn3EuU39r0MnreSSafJXC+d8wj443UmEW4pWPBBCWjDUmn4sUXGhdu2gR5yxK8B2viJWpJXFFPf2ZjDoIf9ej/tIlr1bRR/ciJ0fY9e8XFEAUnfQy3em994LMDhz5v/uwcaN9L9JqM9g5at2hlxPKfOYP6Mld760Vf9x4mxPvJaL8wYzCsDHRGyeK62VTIbBh/OXN2pMr0C044Z5M2UQpb92wqV82aO09GjHlVFaEpwx38/ff+w5Ry/BuCgHUAcZlWKR/jtD4vXyJMCe1wnh7KQgy9aBR2LRYtjTD3wrZLamljfU8IFdrIkl1DgTkHfUGcaH1GyWJGJgQTS2CFjEgAc2K1wdOgtIyLsG1ty5Je1zBzUHqVwaXrEMgsCKTJVZDBzel5w1QAbNKyg1oEnamCmxj3IyyBsJjAZJvTYVD0oMi5r94dMuS5UVK34cOC6TDHGc/S46kJcsoxsNYUP8yzCCcIRkxM9zd91ByHTfB0hFPvRBwPdBgeR1rjR3zLXQ2F07tWr1lvrFII3git1GODLd2gblOzv/vB+K3jRsXz7JZw3DaKtMceefCAQIs1qleVD9RFa6+ecsSpJ7FM1W0eLJ45OYe6cLrOuAlvG2UXwfpQtrCLkxZXJtqP0xG/1omROlfQ+Fks0KkDVjEZSWHxT0bZsDorrFY1c7TNOcGohO7uPKj98GCUxV+fZLQ9pwLVqH6F6aO2fRE65i1YbI4U5ySWc3TcWkLwQ3k76NkX1aV1jgZ2Ly/X6ylcl+vibcLb7xklGH2RWHZL1MKB8U24XIQPBAUvMf5RdKFw9fYrdscY65jQxyIEOWJzcSQy7j3EvjhTA+6i4OGo8mNUaU5A8vQmOz6oc617GqeoRzLGRyy8U6sXC8J6jVtIBT1piHgPti3Zza1X+9YITwnbZoULFTQKxTf1CG+ORy99Rgk9vvnO1IoS9TeOAOfYaoKo9u3aPrD7SdTE3E2HgAeBe+rUMkG3iRVj51zcOeAJyBlN9DRZ746751XzkRhUHJrCwSsTVV5g8yhevCtkkUcfaSxddf59sGV7tZIurXNGIdmsVo7MkwU0RmUenUegsPzWvOT5L6PnnWTy2Y8+m2bkFBaatk3YvMC9vILKepbS2oakA6/iNMDu/Z4ybVJe5RbikS5VRSIxRNn0eODeu8xcxnwz7MWxsnzFShPUnxOrOXHQS3lyHS/366mFufWKdR4Bodm4Qy5i7rJz5lrdGGXuCuLm7k0/1ue0tnfYuvnLgfzJnPHNnO/M/M6mLXIs9eSENpQCyO5eSmv7hRmDYWUg+nOj+neasdq2S28zVgvpCcrMkVggp5XC1J2N6sb33WXK0kDXJbaPrlYrd6yJ+B3ZCqId7r/7DnOq4nCNW/vJ1OlG3rHPYrHICdBgF43CrsWipRHmXth2iZc2yr0pn003XiWWr0bkxH8PV8BCkjVV6w49pGPP/saYAD5sMcqrJ/c1V56AtW1axwXlDdPW8eqX1t/DzEFpzcu97xDI7AikyeKKyt1T5zbp3K6l5FWz7O/mLTBKq5rKjF8aNkgFOlzpNhqrJAtEbT1Rb3C/ruZUsy/UUuNjFXYw5e/ZqY3cp0cnexU5QZ9lod2q2QPmeFYEJqxAOLL4VlX4dNTFb1CC4fXv8bgJ2okpLBp8BC/S6NqulVHEcYKi3Q3h+Z4d25ggi5w+OFkFHQRZhOEXnn4ixdHZtgy4MRD4vaRe/a5/9hn/taqeAjewd2fdPSxs3LpQ9HE87tjnnzITMxZunEqSCDEZDOrTVe7S+B/sLoIddWRXksDdGUlh8U9G2ZiACcKP2ya7PD+ogAMdjLJEq09a2x5Bp0PrZir0NFQFQjYz3oht9Y/ubhEctE/ndikUCyy86pgj3ncbhSZx2CAClA8d0EOVrRWNkvmLL782loCD+nQxAj9KHE4C9RKnVY4cOsDsfE+b8Y1aMs42fAJ+cW/d21OMde979jNHIr/8wtNGOY4bHItVdh5x5R31zMCo48u+m6xrauPj3rq10pxNLLxTS5g2aNO8ifyoeNOWv+nY596zA3uZI+jtu2HbDEViQxX6UYYTH+u3jfFdR2xe3ivuXIwfrBeswt/7u/vsEEgUAcbjk706p5hzkSM4JRX+VP/OWnH5ChbaLIDYXBqgpyFjBRqPUG699NwgczAKp9XBi+br5hGyzoghT0TGXVh+68/3YMw7yeKzHVo1MyfYwjsIqM7mAkqgdi0eSrHgTkYbghvW+SOfGWDkLeQu2oRT/+rUuknv94+0CbLcilWrDdS4mL730afmWZ63f2yw7FF3UIjyPd2vu+ljyJbIRFgt59CDePp1f/wAOdW8lOB/aW3vsHWLVsxCBQvI8MF9zTzLXMKcsnnLNuneobXcpKfi+SkZ7RdmDIaVgRirxJQ6UzfhUFihBOLEXebH05RPpIXC1j1SllIlzNqA/oZi9bqrqsqoZwcat2ZbHubLZwf2NP2XfsyzS3/6xTxL+9BOqVGstdioZ5+U/PnzHbAWSy2tIL+FbZdYaWIl20vXf8VPLyLEo0pNTmST9aXhgwwmYOPFiPt2EzYZ4yJsW8eqX7LuB52DkpWfS8chkFkROEqVMBlrVpNZkcigcn0/f5E0b9tZ7lDlQNOG9TMoV5eNQ8AhkEwEYJud1RIME/Un9ahq//HLyczLpsWBF80e7WSs4IhR5sghkNkR2LZtm55Ytj/mWmYvqytfYgi8qC6anG78RPcORoGeWCruLYeAQyDZCOA90a3vIBOepFenx8xphsnOIy3pYTk1Y+Zss+lgT6RPS3ruXYeAQ+DwRyDNFleHP0TJqyFui29qfK9jNebD1VWrJC9hl5JDwCGQLgjglsfpP/4DJYinR1yGU9UNgYMkHDkEHAIOAYeAQ8Ah4BDILAgQa/f7+QulT5e2mU5plVkwcuVwCDgEDi0EojtMH1p1yPSlXb5ilQZoHG9i/RAHCPNrTolw5BBwCGRuBLZt3252K+95sOUBsW0oeVt1gyFWhSOHgEPAIeAQcAg4BBwCmQUBDq0gfAqusIRPue6qK1OEhsgs5XTlcAg4BBwCQRFwFldBkUrDc3v27jXBY4kXVOummiYeF7ETHDkEHAKZG4GzNCD8+JFDpc5tN+ohDetMTAUbx274U33jBnbO3LVzpXMIOAQcAg4Bh4BD4HBE4Kaa10jBUwqYU8OnaDxh1iKOHAIOAYfAoYyAi3F1KLeeK7tDwCHgEHAIOAQyKQIuxlUmbRhXLIeAQ8Ah4BBwCDgEHAKHGALO4uoQazBXXIeAQ8Ah4BBwCDgEHAIOAYeAQ8Ah4BBwCDgEHAJHCgJOcXWktLSrp0PAIeAQcAg4BBwCDgGHgEPAIeAQcAg4BBwCDoFDDAGnuDrEGswV1yHgEHAIOAQcAg4Bh4BDwCHgEHAIOAQcAg4Bh8CRgkByIoTvWi6yd6PIvj1HCm6unocaAkdnE8maXyRHsUOt5K68DgGHgEPAIeAQcAg4BBwCDgGHgEPAIeAQOGIRSLviavs8kb+3HbEAuoofIgigVN29WvvqdpFcZQ+RQrtiOgQcAg4Bh4BDwCHgEHAIOAQcAg4Bh4BD4MhGIG2uglhaOaXVkd2DDrXa01/pt44cAg4Bh4BDwCHgEHAIOAQcAg4Bh4BDwCHgEMj0CKRNcYV7oCOHwKGGgOu3h1qLufI6BBwCDgGHgEPAIeAQcAg4BBwCDgGHwBGKQNoUVy6m1RHabQ7xart+e4g3oCu+Q8Ah4BBwCDgEHAIOAYeAQ8Ah4BBwCBwpCKRNcXWkoOTq6RBwCDgEHAIOAYeAQ8Ah4BBwCDgEHAIOAYeAQ8AhkOEIOMVVhkPuMnQIOAQcAg4Bh4BDwCHgEHAIOAQcAg4Bh4BDwCHgEAiCwGGnuNq5+y95eeIsGTFhhvD5YNOCn9ZK/xEfy9yFqw5qUToOmiQVbu0njR4fJzt37T2oZTkSM+/Ys79Uvb62LFzy40Gv/tTpX0mFqtfLi2NfDVQWnuN53kuNqBt1pK6OMjcCmak/pgWpoH0zkTz27dsnf2zfLv/73/8Sed28kxlx/nPHDuk3eJhUubaWGdc9nngq4fq5F49cBNau2yBTPpsms7+bJ4wVRw6BjEYgGTw6o8scLb/KsERsAABAAElEQVSwshNzEnOTd9xt3PS73Fjnfmn0SBvZuXNXtGySei+zYb/9zx3y199/J1THjMYuSCGj4Rut3YOk5Z5xCBxOCKRZcWUVIpfXfVJmz18ZFZupM380SpOqdw+WhcvWRX0mWTe/+X65PDX6Mxn+6pfy3mfzk5VsQumgIHpq9FSZMHmu9B3+kWzetiOhdNxLDgGHgEPAIZCxCDz5zAty1U115a1JH2ZsxumY2549e6VD9yfkjXffl7x5cst1V18pF5Y7Nx1zdEkfjghs3faHtOvaR554aphky5pVjj46zaLk4QiTq1M6I3A48uggkDEnMTdR/4NFmQn7b+d8LzVuvVvadOolzHGHA0XDNzO0++GAravDoY1A0qQNrJuGvTJNtu/Yc1AROSV/bjkxz3Hm79wzC2VIWWIp5rIem0WKFT5JsmQ5WsqdVURyH5c9Q8rjMnEIOAQOXQQy4+5fUDTT0wIqaBmS9Vyu44+TrLooPyFv7mQlGTed9MbvlxUrZeHipXLWGSVlzPDB0q19K6O8ilsw90AKBMJaraZ4+SB+wRIDiwwsM+AziRC7/mNffVNWrVknHR9rLueWKZ1IMu6dKAgko32iJHvY3joYPNoL5sFqr+OOyyFHZ8kiJ+U70VucDP1M3kHnx/Se1+gHOXJkl3wnnmDWW+kJREa1ebS+nRnaPT2xdWk7BIIgcEyQh4I+s+DHtfLmR9/JvbdeEvSVpD93VolT5KNRzZKebiIJHnNMFunQ5Brzl8j77h2HgEPAIeAQODgINL7vbuHvcKL1G35TF5M/5dKLTjUWV4dT3VxdMgaB3zdvkb1//SW9u7SVSytckDGZulwcAlEQOBx5dJRqHnCrRrUrhL+DSffWvV34ywx01pml5JN3x2eGoiStDNH6dmZo96RV0CXkEEgQgaQqrvbpTtz4SbOl0oUlpNRp+RMsknvNIeAQcAg4BBwCDgGHgEMgsyGApUXrZg9ktmK58jgEHAIOAYeAQ8AhcJgjkDTFFW5xWY89xsRxev7V6dK79U1yrFocxaNlKzbK0y9Nle8Xr5Zde/6SHNmOVbe6wvJI/apS8l/lF/Gh3vzoe3W7yyfP9bjTuAHadJ/Sd19+91s5rRC/1ZENv2+XZl1fkz937pEn2twiVS85wz4qy1f/Lk+++InMXbRK/v57n5x2aj55qG5lGTdplsn/wTsrS4PbK5rn9+37n0yZsVhGvv61rFj7uwZB/J/ky3ucXFP5bGlUu5IcnzObbNy8XRq0HyfrNm4z75DnvW3GmN+Gdq0tZUoWFGKAfTR9kanTUx1vl5w5sppnMbefvWClDBs3XZYuX687mP9InlzZpeYV50bStwV/8fWv5Lnx06Vg/jzS97Gb5fUP5sinXy01eJ2cL5c8XO8KLddZctRRR9lXYl6px+QvFsqoN7+W3xQr8L6q0lkGb/L3Eu6fY9/5Rt6e8r38vnWHtm8WOatEQWlxX1U5p1RKN8z1m/6Q4VrGL779ybiL8uyZxU6RJndVlvLnFD2gbAStHzxqqiz+eV2qdac80fpItYpnSmNtr1NO+s+NJxGc1v+2UYaPfFk+/WKG7Nq9W3Jkzy7VLq8kje+/W045Ob7yNez7mBkPfnaEvPfRp7Ltj+2SJ3cuubv2rXLXHbfoeEk5HP1pYzp8eaVLDigbgT2bPdpJShY/TZ7q201y5swRaUZcWtp07i3XVLtcenZ8LHI/2oedu3bL86NelnfenyI7du6Uk/OfJHfdfrOOlXABL+nbH0+dLs8prqvXrJVjtF6VLqkgrZo1OgBTAlBOmTpNXhg93jyrHUXOOetMadm0oblGK6e9Z+t99ZVVpPz5ZVPkd8F552h+D0ihUwrIGxMnyyuvvyO/bdwUad+HGtWX/D4ze2IjeJ/NeuyxcmapEtKkYT0pX65spA/Ths3bdZFlv6yQoQN6SJnS//EY3G8aNNuP84tD+0v+k/KZgPy0zzXVqsjVV14uTz83Uhb/uMxUg7p2fOwRKXZaEeO6w7vr1CoG4np5zdulYIGTxabF/WjlvEQtH1o0aSBFCqcclxt/3yxDnx8tn2h70I6FTy0kD2rfpo2CEsG8X3hpvHz06ReCtYXFpdkD9wo4Q7gC0N6W6HMQeTWoV8fePuBq+OD382TYiLGy9KefjSUH5v41tL8+oNZOOdX8Pwj9/fc/po3Hedr5+hrVhTL60/CPK8bg7TdfL/Xq3JbiWVunJ7p3kKqV988LlIX3h7041mCK5Qnj5GHNZ8WqNfLqmxMP6BO8E2/c27x4FgqKH88u++VXeWrYizL3hwUR/BjvjerfKccfdxyPHNC3aEv+/H3LPJzJ/7P98f1/eSj90Y53xpGXgo4V8B8x5lXp16298qF1EqsfWX5q86DP8wfe9911hzRp1UFy58olzw3qncKNB97T8JG25rURT/cTxiU8IT15l5cnWJ71/fxFtuhy3e31Tf+wPIyDBGbMnG340WtvTZQfFiyWa6tfIV3VnRSKhmU0/viU8rdXJrwt/Xt2lCoVL47kN+f7+dKiXVe59qqq0r5V0wg/Jch009Yddf7dcwBukZf//RC0DJYPFzj5JLntxutkiPLATcqbbZnsvDNy7AQdt6tFGaIUUD5b59Yb5PZbro/MxXaOoc9FI8aXxS/a7/b9eHNzh1bNzJySSPs01bnMO29EKwc8LHu2bNLq8R5yftkyMqh3F8mWbb8syvP+ci5fuSqp/dPy3C9mzBSCaCNnlTv3bJ3nG5m5z5bZliPeXGmft3zTz6Oj9RPveLDvx7r63yeGG+7VTR+ob2SBXSorIQOk1l6kbXlVanOntwxBZSfLh+LNr2HxpCx2bMSTyWJh762Pfcbe889rtnwVL77QuByPUDkDDIYO6GnwDttvKl1S/gA51z8/Ml83uudOqVmjWmSc2/L5r/MXLpGWHbqZ2306t5PnXxoXt839fcfKS345kkRT47kWO2/fDtru/nq47w6BwwmBlCvlNNQsX97jpe4NFWTI2Kny5ZxfjGKlRpWzU03xk6+WSPchk40CBkUHsam2/rFTvtYA64tUoTGow+1CnKrLLyol7346X1at3ypLf9kgl55f3KRL8HPcE6ELyhQxiiUUV9Fo/tK10rL367Jt++7Iz8tXb5K2/d+Ro45OqfD5SxdB/YZPkUka3B0rslzHZTPvoLx5RZVcS35ZLwPa3WYCkp504nFa/r1a7l1ytC668+bOoX855ViNaxWLYMwvvf2NiQmGIskSZSP96XOWydBOtaVQgTz2J3P9feuf0rTrq0YpZ39A+dTjmcmS+/hsUvGCEvZ2zOu8pWuEP0soCyd+Nk9Wb9hi6mTrunnbTmn7xNtGoWefRbn2w5LV0rjjK9L1ketV4bU/tgVKqNa93zJKy6MVyxPz5JSt23fJ/B/XSIuer6d4lrQ+nrFEuj79nlFY2bRt3b/5QYPrd7xDCpyUy/zk7SP2Wcr83tQFMn32skgfsb9xDYrTz8tXSLPHOsnmLVvl4gvLST5VZCxVhcLkKZ/JDwsXy9AnekihggW8Saf4HPb93Xv2SNsuvU2/ueC8c2XP3r0ye+4PumgfY9L1ml0v0Dg0rTv00H71h5TVGCIoHFACTf54qnz1zRwZ2LtTXMVOisLG+YIw+WjHHmbxe+IJeeWySysYAfOZF14yYyDO6yl+Rgn42bSvtHxnyDlnnynzdAHEhLts+a8pMOUEmH6DnpVJH3wsBVRJWEMXNDt27BQCbTZu3k56dHxUrqxSKUXa0b68O3mKvD/lUw0yXTaS38zZ30lrrU8Rxe07XdBfpO2LwD5L8UZp+Lu2ef/uj0eEd+pPsGHyLlyooIn7g3DKdxaYTRrUk/p31oostqKVI969jz6dpn1rqpxW5FSpoQtCcJmn/ewxDSj6jApqBMt+9JHGRsHGYjhP7tzGFD9PnlxmMUz63nIWO62ooJz5XRfBX86cpQvNRTLkie6C2TzEqV/N2nSSVavXmjqVPecsvbdeOvceaIRDFg/xiAVg6449zbgoo2156UUXmvFCv31Yx45toysuu9RgPXX61/LJ59Olrio8UeiVKHZaqlm89vYkGfLcKMmuZalapaLGp8hicEFxsHTZLzKwZ6cUithYifV/+jnZrQtfFBjkS7u9/o7yGB1j7Vo+ZJSnvOsdV3bML1z8oyotxqtAujBufrEw7dZvcExMg4z7RPED6+79npJ//vlHyl9wnjB24WGvvvGufP3tXBncp4vhYShT6FsoD1Dili1zltTWRXr27NkifSsWtpnpvrc/0rcqq2KE/v+Ntjexm1iQ25hLYcYKdUSx27P/06n2I/pWr05tzEIfHKtfUVmVmpfKKQXym3FN//tixjdGMV350osi0NHvNqgi+qaa1xhlNoorKNm8KxZPKFWimCoy68qG3zbJ6FdUDtJ5hUXvCXnzGt5gC0pf7TXgad242CX5tC8dd1xO85MXy3j88SLthyhwv5u3MIXiaubsuUL6jLMt27bJiZo3tEb51Nr1G6TixeVNjBpzM8p/YcpgX//x5+VanyGGb7NgZXOIdkaRxRgx847yYsYPc8Mg3VT65deVEZ4BT65R/XIt916bpLnicstpiih//IrxFA8G/JI167EJt082VUhdqbxzm7oAe2nr1m3CPIhcelzOnGZeOKNkMflR+erK1WuEPmFp5qy5RsmCgt678ZWM/kl+rVVh9pvOJZbnIsvYMeuds2x54s2VKCRjkbefxBoPdo6MlgaKh/bd+8r0r75Vpdr+ORYZkTmvRduuRpHLmI83nry8KrW501uGoLKT950gn4PimSyZzJYp6LyGTPu5yg6MJzb7sqiiMJF+Y/O1Vzs/8h3ZBX6GPNhr4BAjC3hlA/uOvcKzH1XZB+rfo6Ocq/JPvDb39r14fNLmE4vn2t/d1SHgEEiJQNIUVyRbpUJJPTVwrXw4bZGMmPCVnH92kYgCImW2ugDTIO5Y86CE4Ln+bW81FkdYNzXv8Yas2bBVJqhl0TlnFJQypQpKyaInqcJog3w7b0VEcbV8ze/GGodYUpUrlIi5qGQ3ftzEb43SCquizs1qymXqzrh7rwowYz6XtzQul5cW/rROlSuLza3GdS6T+2tV1LTFWCr1fPZD+X7Rapk1/1e58pIzZWSfekJw9jaq5MmZI6s8+XgtY2nlTc//edHP6+Wlt2YaK67qFUvL4w/VkOP0XRRKHZ+cJKvWbpG+z09RTG7RE3v+ayIUR+XPPV3aP3i1FFBLq7kLV6ni7W1Tr2mzlgVSXKEgxFLpzuvLm2KNf2+2sZQirUmqwEL5iGLthddmGKUVeKGkqnRBcdmhisJeWn+UScPHf6ntVljy5sohL7/zrVFaFSl0ggzW+hcteKIpE4pCFIYTJs8x74PPynWbZdDIT43Sylv3GXN/Mcqsn1dukjc+mitN77rcWLI9O+4L00fKnnmq9Gp9o7Gwoo+AE/2hxzMfyLDudYzS0uIcFCcUGJt0AfF464fl5uuvMa9Td3Y6ho8aJ2+//6E0bVjfJnvANez7CMwli5fWSfBxY2lFggi/rR/vLtO++katPmoaAZPJj4U4u3VYSV1VtbLJm7Kxc8fx9VhY+K2rDihgiBso677XhQYLrwGqLMC6C0LAbdG+m1F+BE3ueBUOmOhRFEHs4L3w0ivGooFFk91t/+LLr1Xh9JmU0+e8edpdrpfGvyEVLigXKUus/E/Mm8fs0BU/vah5BMGzQ/d+BtN9/+yTsc8P1kVlYfMbp2E90qazCVBNoGp2UaExr75hlB0ogjq0bhbZibP1f+kVynJeCusq82KI/1CidGrT3FhnYB2JkNihW1/5/MuZMn/RYrMIxkIBgXfM+DdVCZHHWP95FxITVNGDUsZfTizcuvZ5UsCMPoMCaOxrb5l28z/LgvKxTj11sRb/CPuJqlRcvPQnjfV0l7GcsladCJntFeO39XSjShdXMAoqFAmrdEGCsMhuOoug1AgrlFdef9cIqs8M7CmnFjzFPI51CEpHdrNRxiFwxqPjtb+OGPKEFC18qnmUdnuwRXtduM1VK7GtukA9yVg9MW7844p26D1wqExWfvC59klO2otGjL9EMA0y7sEuLH6r166TwVofFr2DeveMKGwYbyNffk2tGF+R50ePMxY0LAjoWyzQUbgUPOVkY+0TrZ6Z9R74j3x5glHMYRGLhVOkP+oY6tJ7gAwbOTZiTRJ0rGARailIP8JK6li1LgdHLGn4bgmMp6rSfspn0+QytTKlfJQbhS7BlCtXvChSZt5JBu8KWk+U94ytiR9Mkb/UUhDrXRaJXorWV/k9DH+kH5PugkVLTH7wL/JlfoEI6r70x58j4/pntRgk7hpKDdue5kHff2HKYF/drZsPje6tK/ffXTty8iFWHhMnf6ybHKVlcN+ukfkFftSk1eNm3riz1k1mPMKT2rZ4yCZnrszPbPJgSYHLJMqNtBJ9MC3t0+KhhimKYHnaPh3vjXSsMHeBLXmMXvK6qaNVXNE2KK6wPOU5L6W1f1qeuUktdTkIgg0biPvj1CoP6zyUY35FUry5ssDJ+2Uik5jvv6DjwTvuvUmgsJg15wczfp9QWc1awrPJ1FwVVy9PeEuw3orXXkHnTq/lW1DZyVveIJ+D4pksmcyWKei85i8f/YMNtrD9xubLFYv1Z3VTeP/8mHJDg/H7sVr6Ixshq/gJ+YH88cLo3LZ5RJaN1+aJ8KhYPNdfJvfdIeAQ2I9AbLOgBBA69tijjZtb/hOON+51o1U5AwOKRihQGtxeSXq1ulHaPnC1UVrxHC5/55yx391l/cY/lHH8pdZEOeSS8/fvDs1duDJycuHCH9cZ66Mip+Q1yq1o+XBvhSqCcA+E7ry+glGwYRmUM/uxJpB8/nzHm9/sf4VOzqPKpGul96M3ye3XXqgCz1H7J/2yKpBp3bDCWr4qsRN5yGPSp/NMualr6wbVjGshQsV5pQvLA7UvMztk81WJtWzlRlskcz1J8360QXWjvNn//KnmHX5co9Zoe1QRF4/OVvfFWtecr5NxFvNX+7oL5Tx1zYRw80ORiNJw+uyfzD2Udij5yA/3yIZ3VJIT1KJqzW9b5adffzPP3HpNOdOOXR+uaZRW3EThVelfC7ANm7ar0mv/aZMzv/tVNm75U6jLQ6qcIk3SJo8brixr0pu3ZI0px/RZP8uqdVtNWu0aXx1xCwS35vWvNO23QpWXWIF5KShOu3bt8r5mPlMW3Ib6dm0v3h3zAx7UG2HfZ9fz4cb3RpRWpFm8WFGz67tp02Yj3HMPgf/HZcvNIoedPUuUrfoVl5n7C9RKhEV9MghFz5dff2usL5o0uCciyJM2ioCaMRbysfJGqLNKK57BzP6W62voYrlAZLedPN9Vl0Tci/15YqWFsmLFyjXy68r94zZWXty/oNy5YpVWfEcQPLv0fqsjrHis0orf2EEvqhZPLJTYNYc2b90qX+jCF+VGg3q1I4Iqv1H/hurqtlNdJ7EMSwtV0YUiLkW0I4RAjGIOws0sHlFOFJfRyllJrRWoM0I3ihosGuaoC160Z2kb2igIMRYmv/6S1Kt9W6TcvFdGrelwtWS3EGVIInSCWnSMVHfKUc8ONC6dNg0Wurh+ItCRfhB6SC3irNKK5wvkz28Wnjt27FLhd791C+OFcYPywDuuaIdaN12nlgY5ZfrXs2LOWYliGnTcB6mn95mvdJcaC5pbbqgRUVrxO+Ot9q03SukzS8pX384J1Le86WbWz7ipfq31KaJj8sZrr0rRHy9TF5Hy559n3CZR6IUZK976BulH3uf9n1nYUD7c7FBAQ5R78dJlapGom3A6bryUDN4VlCd48431OVpfDcsfsforVfx00++s2zOuZ7hWY1UMD/5WrVcg5EMsb07QzQe/8sJbxrBlsO9i6YISijFhqWSx02XC6GdlkFoj2g0afsMi6ywdM3/9FZvvoBDimHrccnF59PIRm356XqO1jz8/MOXURxTx9K86ygvsnHN11SpG/kBRhcIKWqNWuMtXrDKbOF4eym9p7Z+k0UrdASe9OlKqqexiifKcr5tkuFr+uWOnvR25JjpXJjruIxnrB5Qof0eZ085WS2ZciXF9R2kZjxKZO4PITvHyjfZ7EDyTKZNFK0Nq9/zl49lE+o03DyzmUJL750fGPNbGWGizCegnxgObtRs2bDQbjVjVBqFEeVSQMR0kf/eMQ+BIQeC/rcYk1Rhrm/p6quCTalUz+fP5Uu3SM6OmjCVR5fIlTJynXsM+kGW/bjTKiqgP602UIBPenyMrVQmF1U7Jovll+qz9yhXcBHEzjEUoYrapK1923ZkmfpaXkGeOPuo/oYbfiBuFe+IbnJDYdoysVSWN16XP+37YzyiGiLUFlTo9fwpLIe6drdZledTdcIu66q37bVsK6y2UTdmzZeExQ1ia5cie1XzGeiyIBcW/r0YutEO5s4rILLVkMwqmnXtUWbRF3e32CxPEwiLgviXy2KZugOCBUgm3zYvKnh6JQ4XbINZ0sci6KRZWZWO+vDlTPNZc45rxZ2nRsnXmY9FCJx7gNlm8aD615sttsFy2YpOxfrPvBcWp5tXV1DrkS+kz6BnjalXzmit196WMEaKJcxWPwr6PsOYVoEk/e9ZsRpBkErW0SC1cWLSzY+/fFeQ7boaYlPNcEGsUm26sKzFGUJzgNlG0yH6lcaxnE72fK9fxGk8nv1lYstg+SeMYWWXNa29NMruu3rRx1yDOFhZxaSF2MOPRuvW/6SJzs7E2ixbXjDgueXSxhWuoFfbjpRnt9yzqPmwXEPb3/CcFP87alhOhGYtAf9/AFcOrqKFOuGvmz5fSqsLmHeSaW9ttvSp4BwwdblwnWIR7CcVYooTCiEUufRlLJiwviBmVCGFh5iWUl7SZl+y4QpjtpRZW/2fvTOBtqr44vosMSTRIGUKESqUiGlSSoSiRjEnJkMgs8zzPhZIMyUzon0oaTZUUISXzTImURg30X9/Nvp173OGce+973vP28nnuueees4ffntZeew1OYvwdP35M+tsPIpA+GmQuY56j31L/QrIpxw+XV/I67r2mZ55DAwC/NaVLnCqEhDlHm3DDxi1aa5KT79ROB0QjBr+AaIUi/HASY2F4/+6BW2jV0P+9jBVnH/bSjwKZhLjAcXmJG67Vmoho06K9hz87NkO1H3ogYB4X4tVTbvmZu/zW85TMTt4I1VfNvAPuXuZHBM8IdNAiRluTvrdOtCfRUuPghbkdsyvWHWinCE2KFLoiyGTxZHECH37LYF7E5EiOHc1X/cnccL7Kql57c5GaLxqj+LhCS9GQ8Qtnvjs/0TR9Vw4PwKKV+BR0z8HOZ5PiOlT7uPP5asMmrQ2YWwSl3Tu0CprLEEwxLzB3YEaJtgkmkowrDlWc2j/udN3fvfRPyotQEj9DQ0eNk7zWanN3d1ru77GulaafxDMe0MTDPQPm9/UatdSHGkTPzJ3rUq1l5S5ruO+JWjvdvJMxsQ2Xb6j7XvA0fCDvJyVP5qV8sfYbZ9r0cYjxgCm/kzCjRQMWzSonHfn5V9Vr0EitqY5/TOYrr2T6np95krS9jGmvZbDPWQTSAgIJF1wB2v13X6uWfLZZrVovzsdnLFNVy193CpacCiEUweQMKiimgEUKnjAVQatq/4ETDs/Ni4XzX6IKFxCNDXHivk7+zs+SWTSSDmlhFM7FIxHCFrSk0qc/W7RKop+UIHhpP2ieNsVDM6x08SuE4TxXJPR/q0++2KZwWh4r/SsCHyMEC7WY4KsKARu0a198m3avZUwnGmUQ5aJdjv75jwhOTmhR4LtLdIv07+7/fvnthL8wp8+qPJdeIGabV4qA5iy1ecf38nfA/Zrn7/+cNGUKxXyCUTYxU4R2748NJ3yhTBs/KuCcHcehELbpTzV6VC9aLCrhKN73w6Vr7hv/Iua7+fQj7DDvePnEVABBWlIQ/pQwH0GTzLlJwCE8pmUpgTKLI/BQGxEYUAQEKYU42Vv0/pKQxXFvuhDe+NmMuBM1Zpt//fW3PjHHfw2be5hcpzN293tevhtzljcXva/NbZ5u+rgWZPGu8ZXlJR2/z+A7gz+/RL9ljqQfe/EP5jf9WJ6nv+KnKhRRzjORwo3TUHX1M1ZCvR/LvUr3lFVviy9CBDflxYyQk380SzHNSypKjnqGwz3U/Ij2FAILNEDLi5YPQgCEU/kvz6uFWpjCb9+5Rwuz9u7/Tt0lgi4v85SfMoTD2pj6Ybp4vQhualVvFtC8YsOOYC0UMRcOfvYFrSXUvuWTgXdCPXu67uGDr+egEVr43qdLu1N8dIIxmmJomny88nMtxKJtEN5isp8UZMzY8WN4v2hK4icOwqx88vRXkyJLrXHpdY10FwCh/6jBfQKBWuirEJoxD1au4DloSKLWznC8k7vcifqeUniyRPUbDhC80g5xH2EIE9byom0Vyc+tedb5mYg5ypmevbYIWASCEUgSwRW+jJrVvUN8Vb2qnaejDeSm7WJqN0s0qBAo4UeKaH5GSEAkPrfgijSJEIjgaoX4Q0LD6rA4Sy9aMKcWaLnTd35HQISDSskqaNPsfMZ5/bZE3cPnE2Zsz3V/WOFfCSKKIP6vfj8aLFRzvhvv9c+//im+t04IxvLl9q6NEU++x2QzBhmTSIMX2lyje4qD/MIn6h8qj8NHJOLY7I+0zyqc8fdocZ82QeRZovzFI7gKlZ+5B0ZofkFoZMVKnCD37NRG7Nhba9MO/A29PH2O6tZ3iHZCjUpxJIr3/Uhp46g8FKFJkBTEqevRv/4MOqFNVD74CsB0hj7m1DorKtpM+DfCefTpJjRt0HRzC68wK/RqspYcdcCPDiYL7nI680bjBDoiPr0wAfCyKXS+zzVYTH/1Ne2oeWCPjnpzaZ4xfrjM91g+cYr+4dKPtFmg2wm78ZUVS7rR3ukpYx3fFn6Jfkv/pe4mAqnfNBL9vDandGhrOtM3pmrOe2fCdbhxGqpuXsZKqPfiuVe4YAFVWIQ0CG3o45iV8Z37SUXJUc9wuIeaH4lWSRAK6r9h02atcYOZIPMQQi0cimPKnPW88/Q8g6azF/JThnDpLReBIkIr5oCu7Z8OWo8QNoYSXCHswp8c+RNl8UrRukxpxEEAPt72iUYpPuDCaWNjhk0ERYRXaGsixOdZ42MwkfUCN3xCsZkfPbSvFpSZ9Fmjps1+zXxN6Ge844F+SkRl/tCyXr1uvZhfztfRRreLhqAzsEuogidy7QzHO4XKNxH3UgJPlqh+w4EjfuxuEpNZL8QaT9AKlB3GT54uwRrGqwE9OwW5j4iWTiLmqGh52N8tAmkZgWAbuQQica34qapeobgWTIUSXqAlgzlclswZVani+QNCKzR+wpm8lbw2n/Z3tFl8K80Qp+IIvW6+Pn8g6l+44ufOmV2b3+FnCWfhTkJD/Pi//6mJ85sxZyuQ9yKtCWaeD/Ws+c3rJwI4tMugjdsOqEPi78lJmyRiIWaNCM0uE19bSU34xVr7zR6dDb7CsmbJpJx44fTdTTg/J/Ii9K34ITt4+EQdMK/ETM+QEYiZ73waIeBe8cllzBHN78+9sliVrD5YNe0+I+CQnd+I/oi5p5MwGT1w6GctkCyU7wSezt+jXcNsPysRhAiBzsYeoSk+LmpKKGycW2fIkEH7feK3UBTv+6HSNPfwpYBQgpNQGCAn8f0LYaL4necghD7htC6c74a75n02GQe+P6h27wkeH+HeiXSf8cs4dhImVpjLYGLF6S6nl3yiqs3J++kkHFWjxbZp6zZF+GU3bdqyTQuAMHnBDAZnn6dD0IZPKcwGwpXTWW5TJ3zLHBTzt1gILSvajXzdvnnQPHLPm37z+FE0xzjdZSMFrk4KtwY4n/F7XSBfXj1fhBpXXtKiv9J/6cduk0kv7yf6GSIDIlDFAb2bYPwxUUPrxe23xv1savmeU+ZntEIxMSbIgpOYF4lcVqFaPW3S62esONNJxPUJU7lbtf+xWfNe1/3FHa0tEfmQRnLU08wl4eYd9/xIucAAkyu0qeYvWKQPDI3jbzSa0b7CRxu+lki/QP68vBaWYilDuMTwuwXvSORc5yFKON7T+LXC9OjxR2r6Mh+Kd20OVwf3fcqOXyvMGCuIyV/92sE+CZ3Po4lZusQNavuO3WqmRFYkgiQBBszBsfPZeK+PyoHVjz8eEY3avCqfmCk6CQ1WN5/g/D2W60SMh3kL3laDxH0E0Xgh+jL+Tof166oQ6myUeRU/epEo1rXTC+8UKd94fktJPFki+g19Ltz6GA4nTERrVbtfNahbQ91xWym1TCLEMq689NNEzlHhymfvWwQsAqJkk1QgsAjWfaCkKpAntFDhkouzauEMwqSFSzZox+IIQ+aJX6llJ31XucuGZs1VV1wqEex+V9+I/yOcqxsH4O5nnd/zSbS7GyVyITRp7ieS/lZt8oEZ3IQ5H8vGLlh4VCDPCROLbbsOqk/X7tSTFs8+O/lD7QfKmTbXF1+YRQvgfpeoe1vEPE5v6k5qMbmf5fv95a7TdSc63vCJH2hH7UyMOBkfO2O5ZqquFS0v/HglmvAbhe8usOaPSIKYXkK3SORAfF6B163iuwqa/eZqaZO1+lnKuEki+T32zCuqdb+52pcVzuqznpdJP/v6e+t0Xag/GM9Z+J9vLP2A/Ff6hvzawT0COyIG/io+tUj3o9XbdFl4Dp9ZmTOeoyNF5r0su45QOGjcu+o7EVRBJ3B7X5ts5st9UcBBvf7R438ZRTCFj4eps+aqFcI8O8kIixBeoX0WiuJ9P1Sa5h4MP2GrMTHBZMoQOOGTi/v4Lrq+2NX6pyxiNot6O85vt+7YaR7XQoFF7y8NfA93weni7cKY4ednkkRURJhgCMESkf/8EH4s2JAYgvEn+hw+grQPsWzZNDOI00vyJPIL2l6GqCcRuzr3HuzJH4Z5L9ZPfEbceXtpXb6JU2dLX/9PWEj9JwgmOO7GzAFCaIigi+h0OIumvBCfy6RtTKh7fTOO/8Dmn2P/lYUNB07YwXHCKzO1wNUkT5mHj3lJ/3F9gWB8U/Hr9LNsTpx1Iqqgs31MGu5PTAI5saQ+q9euD/yMMHfsxCk67cBN10U4bUHnY6QNlmxgEbQYonxEhko0MV7yiakS44dxZNqNfMC0aetOOsJjuHydmLr7iVdMw6Xtvu8Fv1tL3aSFv4wtzFIMsSGcPX+B2igOwW8VTQqE0mcCITREM2SPjEkidjnbj3mSPn19sat08AU/YyUebEI5lia9UiIYQGiI/7YssvE1Qpt48gr1bqz1ZD44GuZQxp2P3/nRvI+PRtbSRR8s0YILo9HDelNGtEbxOYcZDz5hovntibUMpizOT7S8oA8l+qOZF+lLOLlfdtJdgPP5+SLI0I7OpZwEPfAj4Il1bfbTPpSVdWiiHMLh16pZw/oRNUQoPz7IcECOewTaxUTXddY7Edfp5CCTQzU3b8J6P3rcZO3HMhH5mDRiHQ/mfT7/lMMAhFezZA41/YP7CJWOydzKughv6CR3e8W6dnrhnZz5JvIaAV1S82Re1jXqlIh+g8N35g3WR9ZnJ3Go0+jpZ/ThjvO+ucb/ZpunGuvxxLhifLnJ3eaJnKPcednvFgGLwH8IJImpoEn+ouxZ1JN1b1fdxfQPLR0n4bPqLjH9e/PD9Wruoi/0H79j0neO+JWCjoojc2d0D+3QXfwnfbpup/4dn1ekE41wYo7D+DUb9orQ6zfVbuC8wCuhBBP33nGNemvpV2qPaPV0Gvq/wLOkwx/+nxC4GLosRzYdJQ+BSv+xi/TfkGeqadNG84zz82rx5UV58P/1/icb9Z/z97wiOOokkRapb6IJLajnpy5Vo6csCUoaB/cmqh91xNRzm0Q13CiCqkHj3tF/zhfuvDm7/prjwvPUg/dcp32V0S5lH3k28Jjx1YWA7OifJ9of5/1tGpZTvUa9GbLulKOmRDqEwJXIg31GL9RacPc3GRtImwsiF3Zvfu8pDu6DHgrzBeYZBq9Nl96qY88B2hlnnty5tHkgjmNhPIg0xsY6FMX7fqg0zT2EUB3Eh0a7Ln1Vt35D9Saesu0VnxBfygY1+/nna8ewMBoQCyZOgMeKAKjlMz0DDkTRzGJjxZiKRrz/4bKPtRCvWr1GeqOFMAEsOJ32Q+TZVrQfEK7lEqb4S4mwxQll3jy5dFQpw/hXf+BetVG0mfBxVLXOE7rc+PXaJEwFjtDvq1guLk0yP2V+tHYN7ciasmBGcp1sgFH5xpwCVf1mErXOaLiRbtX7Kmjhx3gRIK1ctUbXEyegaOPES5zS55ENyGrZ1BHdpmD+fFp9nY07vte279ylhYkIXNkQ01fBeL/kjYlIevkOxvVrVZeIXWuk/7yphUPUiWeIrMdGLZqfJvo4EXkwdeo5cIQifDllQPMAoRraCpit/i7O201fxCSKMTPyhYniQ2W1uk2ivVWRdgxFCJJwDszmlT5H+fbu+077PjHz8u6Tp96h3vd7j7J379BSj/meEup6ysy5qog4KoaZpp2Z9y4SZ/HhyImps5/4wTRc2ua+H/zQXGktDqL7DH5OPdmmsyohfQFn92b8IKRr8li9sHOYyTO1fIJ/Q9F4wcRo3KRp6v3Fy3X7mXkR58lsNth0QF7HSiz1B3u0v+a9vlBrZhQtXFA1erROICmEhQhkEFwhFEgqrTcw8VNPTLYK5Ltcortu0Bpq10gk0no1q+mAA4HCh7jwOz+SBFpUaCEQsY5oaWaO4DcimyLQ+0U0n4nE6IViKUOodPE1xpyIDyTmNnwusQ5hWstKSQRZo1GJc/nxr8xQZ8lch3kjEQXdhBAI07RQ5HdtjqV9ELqPeH6CDmzB/DV+ysxTilLsqiLqIVlvDZnDMYI3EEyAoAJJQc76N2vTRTR3i8japHSUTTR24U0SaXrtdzyEqjMHVAj0nOsmkXNxYo9T74dFKz+PzDVQpPbyu3aSnlfeiWeTgpKKJ/OzrlGvRPSbK6/Ir9q3bKp6Ce/C+og2lZPHzynBgrIJrxWO8G3VpW0LmSf7SHCal9QYWU+5F6nNEzVHhSuTvW8RsAgkocaVAbdMiULq7hCRBTEpQzjz+EO3aAEEz1+Y7VzV6rGyqlm9O/Tr3x48coqGE1HsLhYtH6h08QIK0zsvdJUIi17sW0eVFtNCHK6zYHKv19OVdXQ6Zxq5cmZTo7vXVLdKJEPnsyM6V1clRLACbRKn45jZQZSnY5Pyoql0kf6OtlCmjKEFHjzA4tqgWik1pmct7T+KPCAEMXXvL6mmDGlwShQ9/UAC/qtT+SbVu1UVHTmR5ChrjUo3quGdHwoyucwpGnETBjyiWj9+tzZZBC/+MF/s/GRF1b/tA/p56vJY9VtUh8b3BNLE/LOe1KNXq8p6M/iT+KLaue9QoPTlbyuqxvWrqzWlTN2J5EheowT3rFn+czZ8z61F1aRB9dUt0taU1ZS5Stliatrwx9W1RXIF0vV7gXP18aOGqFLCOG/asl0LUNYII4s9/KTnh4X1EWHyifd9k06oTxjNV8aNVPeJI1VTNj75zn1+dxKbj2Yi1GDzvXj5J1r7APX2QWKfj7ZQNEJYNnJgL+3TAY0aTp+3SiSg5o0bKKKr+CE2cDiGPSwmAovESfH3Eg0MU5kXhvcPcnTJBhNBQt9u7bVAZOlHK/TJ9q9iutBZGIYu7VoENqF+8o/lWeo/on8P1fqpRnoDsFC0zGBe81+eR40Z1lc1qFNDj1uTNn5aBgq2+fLm0UIjNkGkMaRPF3WthGCPhxAY4ag8r5hWoEmzToRShsgDx7GUEwER7UTemTNlVIP7dFWP16sZKCdM1rhnB2mhJm1AW9AmtA2CNy9Euw0f0EPXE18oMO8lbrheTX3pOc0IcnJOtDdDbFBr61DTR7UglI1pOGIjO7RvVxEQV5YQ5H9rTSgiSXaTPtGrU1s939AHnZo14dLyet8EVEBQixkTAig0dTBXfPn54YrfI1EkTL1EIo2UNr/5wY/nOSFnrkJIgpCZ+hBdsnaNqnJ/aNB44/nUTmhUvCA+8agf9aS+Zl6kr9M+hvyMFfOO189Csilq1KCOFt7iM+n7g8HmuIxNHI5DfqO1eS2Dec5PPVmvn6hfW8buVWrX7j3qE9EkcAbLMGm6P8nDz/zI+2goEpH1XBGWof3pJAR5bGYvFGHylQVPaHc7fw91HUsZQqWDyS9zOnMbggjWHbQ/Rw7sqRoKNhzUbBFtbAjTceY4BBdoXdDf3H/m2VB5cc/P2hxL+xw6fDggaEMg6S4f39d8+VVQ8cCy1E036HrjPD8p6VExW+whfkSziwYi5fhGNEErVyynXhk7Uvva+vbAQS3ATFQZ/IyHUHnyvuGFOLSCF8BReDY5MOzdtZ1q27xxYI2N1F5+107K4pV3ClXuRNxLKp7M77pGXRLRb8qXLaNeeXGkIqgMQlrGwno5eKP/TRg9JGi9CIUfe4EG4psPv3GDJDCDcSsSbg5N1BwVqiz2nkXAInACgbNkU+BPncKJ3I/Lnd9S/DWCJrcW09diOtei12ytQTWwfVWFoMRSGkDggjJpoJK2ihYBi0ByIIAD31ademr/S2NHDFD4Q7NEcIAjKpsIMNIaYSKHtiwO2l8cOVChoWXJIpBSEECbukWHbro4Y4b204cuKaVsthypA4GJ4kKByMIc1iGkO52EFm6L9t21hjc+ai1ZBCwCZy4CoR34nIH1xSl7zVYT1BsfrBe79RNma/hMGnHSxxQaRkWv+O+09gyEwFbJImARsAhYBOJAQIc4F/NNtxP/j1eu0ie6aOJYIUUcAJ8hr+K/aeWqteJjrESSRGs7Q2Cy1ThNCHwsgV82b92hKt59pxVanaY2SO3ZhvPvdzrqpf2BymGBJYuAReDMRyC8PdsZVvevt+5XhyT6XZ/nF+o/Z/UwV2vV4G6V59ILnLfttUXAImARsAhYBAII/PDjT9o/0EOPNAn4lDI+ljATwG8epp6W0iYC08QP3LsfLlPbxMQVXyjVqlQMmBWlTURsrVMKApi9vTxtjg5AsWvPXpVX/GaWu/P2lFI8W45UggCO6zGbxS8kfv5O50ENTtZnzVugcPFBBEGnH9JUAqctpkXAIuATgTQjuKpduYQqUSyfGj9bHFCv2a7+EMfv+EwqflUe1bJBWVUoX+Ij+PlsC/u4RcAiYBGwCKRgBO6S6JNFJ43RzsHxgYbJDU7uCSffpEFdHYAgBRffFi2JEdixc7f48NmifcJ1bN1M4QvPkkUgpSCASRW+zeiXPcXvFP6+LFkE/CCwQfoQax+BQNqIr020jE8XHZKIx/j4JCANvjIfrFLpdBXF5msRsAgkEwJpysdVMmFqs0kNCFgfV6mhlWwZLQIWgVSMQFr1cZWKm8wW3SJgEbAIWAQsAhYBi0CKRCA+H1dn/xf9LUXWzhbKIhAKAdtvQ6Fi71kELAIWAYuARcAiYBGwCFgELAIWAYuARSDFIRCf4CqDNa9LcS1qCxQdAdtvo2Nkn7AIWAQsAhYBi4BFwCJgEbAIWAQsAhYBi0AKQCA+wVXmAkqlT3uhrlNAu9kixIoA/ZV+a8kiYBGwCFgELAIWAYuARcAiYBGwCFgELAIWgRSPQHyCK6qX9TqlMuVRyppfpfjGTtMFpH/ST+mvliwCFgGLgEXAImARsAhYBCwCFgGLgEXAImARSBUIJCaqIBosVoslVTS4LaRFwCJgEbAIWAQsAhYBi4BFwCJgEbAIWAQsAhaB1IJA/BpXqaWmtpwWAYuARcAiYBGwCFgELAIWAYuARcAiYBGwCFgELAKpCgEruEpVzWULaxGwCFgELAIWAYuARcAiYBGwCFgELAIWAYuARSDtIGAFV2mnrW1NLQIWAYuARcAiYBGwCFgELAIWAYuARcAiYBGwCKQqBKzgKlU1ly2sRcAiYBGwCFgELAIWAYuARcAiYBGwCFgELAIWgbSDgBVcpZ22tjW1CFgELAIWAYuARcAiYBGwCFgELAIWAYuARcAikKoQsIKrVNVctrAWAYuARcAiYBGwCFgELAIWAYuARcAiYBGwCFgE0g4CVnCVdto6xdX0642bVdkqtVS3fkNTXNnCFej48ePq519+Uf/++2+4R4Lu+30+6OXT+OXgoR/UA7UbqsYtn1G///7HaSxJysp64tRZqmTZKmrx8k8CBUutbRyoQJwXqXEcx1ll+/ppQiDU+DtNRbHZuhAIt2awfvz551+up+3XlIYAPA28DetZaqZffv1N/f3PP6m5CmHLHm6MhX3B/pAmEGDsrvnya/Xuh8vUho1b0kSdbSXTLgIJEVz9+ttvauQLE9Q9VevoTd1tFaqphs3bq8/XrPO8wY/WBAxM0nusWVtVqtwDOp9KD9XX+ZK/JYtAciAw4vnxqnzVumr+G4s8Zef3eU+J2odSFAK2jVNUc9jCWARSJAIIBJZ89KnmjeCREIDffX8t1XvQSPXd9wdTZJnjLdSOXbtV9fpNVINmbdRPR36ONzn7fhIiAE8Db8N6llrps9VrVaXqj6hnuve3wtIojfjN5q2qomA1YPgY9c8ZKuiLAsEZ8/NXGzapDt37qbmvL1S5c116xtTLVsQiEAqBuAVX+789oB59so2aNfd1dcnFF6kqle5RNxW/VnEK37pjL/X+ko9C5evrHkKrV2bOVS3ad1c7d+9Vd95WWudzYfZsOt+nO/RIsUwRp41oraC9wmmJpdSNQNbzsqgMGTKoC7KfH6hIpDYO9XzgRXtxRiCQUtoYLTA2w2ilJAVZbZekQNWmmdwIRJqvk6osaID0HTpKby62bt+pil1dRN1X4W5ZR7Krhe9+qB5p3FKt+Gx1UmV/2tLNmCHjyfUym8pwzjlJXg47R8UOcZYsmdXZ6dKpiy+6MPZETvObrMWZM2dSF114gUqXLu7tzWmuTdJm/8svv6pfRTvt2+8OqGPHUreWXTxIpfY5Aw3DMeMnq/PPz6p6dWqjssmnJYvAmYxA+ngqh0Bp8oxX1b5936qmDR9Rj9erqc466yyd5HuLl6teA0eo8a/MUDfdcK26UBi0WGnn7j1q1rwFWpI8ZkhfleuynDopTjBHj3tZTZvzmmb+6j78YKxZ2PcsAp4QaPr4I4o/r+T3ea/p2udSDgK2jVNOW9iSWARSIgLviQnHwnc+UDdcV0wN7ds1aHOBwKp7/2Fq+Jjx6vlh+VTOSy5OiVWIqUzwagtmTozpXftS8iJQqdxdir/UTFcVuVK9//rM1FyFZCt7yRuvV2/OmazOzZxZZcyYIdnytRklFoFtO3apK/LnU53aNA/sjRObg03NIpCyEIjrSAINok9XrVGFC12halS9LyC0ooq3lSqhri56pWgZHRaJ/vdx1Rotqx8O/6g1rYzQigTPPvtsdfstN6tMGTOqDZusXW9cINuXLQIWAYuARcAiYBFIOAKfiHDquBz01axWOUhoRUalS96o7r7jNrVrz1619ONPE563TdAiYBGwCLgRQMngArFasUIrNzKp63vxa69WHVs3UwXy5U1dBbeltQjEiEBcGlcHfzisUDe9pmhhlfW884KKkCHDOer8rFlFuHSWFjAF/ejzS9kyt6rPF78Z8a30ouIciRCyPdGig8qXN7dCM2vcy9MVNt7QVYULqZZPNlRMAO8uXqbGT56p9u7br9KnT69uvL6YatuiySmTAs5G5y5YqGa8+j/1/cFDWg0eBrR1sydU3jy5tEPrVp16qrXrNwSKdd/DDdR5WbKoMcP6asz4IVo65mXUWV+cNE11f6aV+vTzL9RS8ZWBucGzg3qpzJkyaR8Z4+T3D5Z+rP44elTfK3fnbVoT7tJLcphkwn6ivUbdJ02doxlocU6mcua8RNWufr96uFoVdY5gATlxbN7kMfX8S5PVF+u+0jby+S7Pqzq0bKo4yXESmnmYjL4wYYrau//bQNkw+fRCmJ1iJlr34aoaW2f73Fa6pLRPY+Wuo6mPeVakqtL2eVTD+jVVhbJ3nNIn8THiBT/TDkP6dFGlbrpBRWtj5/P0Y0N+yofzenw3DO/fXX0gOL4pJ/dHfv5Fb4AeqVVd1atZLdA+Jn13fVAffvjBKqp+7YfkhC2TeUx/0n7Pio+6TVu2Bfo8z/khkx8bL1SX6ZOMpzbNG0cdOwigzRhkvDnJPT4iPesHU9Mu4cbT738cVS+9PE3976131W+//64uyXGxqifzRihfECYt+oRpY+5NmDJLDe7dWeaSb9X0k/MEuGBO3ULGjrMdGCOr1n6pRr/4sm4H+muxq4qo1k89of34pROMnhvUW517bmYnPPoaE8FnegwI3Gee4K9iuTtVv24dAvcxUXpu7EQ9Xv/6+29tTsEzjRvU0fNS4EHXhamfuW3yelK0bJ+oX9vc1p/0pVEvTgrMrdShW4eWUfsAZkTO+TMoUfvFIhAFAS9jHxPBSPN1AVm/+H3r9l1BazRZm3WP64ljhqoc4hYhFjp69M9TXmMDecvNN6rX3lwkjnU3K07Qm7XtovmnF0cOCDLdgtdo1LKjTmPCqMF6XjJ1Hzdpul5fGUusi/VrV1edew+SefiawDxg1tKK5e5QFe6+09NY9TO3uytncEOLzMxf7vnE/Q7rhnmW37zk704z1BxlcPLCE7DmfvzpKj13zZ6/QK376ht17z136Tm1bde+ojl3jRo5oGfQpt9gW+iKfEHld9bPPOMHf3y4jn9lpnrng6X6AJf2LXJlQb2GmPVyj6wxTVp1VJcL72l4QvJlverYc6CUf4MaO2KAurJggUBx3lz0vuo9+FnV5qlGmic264h7Xje4eelfJO6lvIFCyIV7XYJXqVKxnGoimu2skX7GA3sSeMXbSpcI9HnTB+H9vfKsps7OvsJa1qZ5I70uO8vvvk6qNnbn4/5uxonZA4Ti+dzjxJ2GGXujxk1S8xa8HegbzudMGu5+4nzGYFDh7jtUiRuu0/yIe0+V69KcQXsoeCP2LE81bqByuMxV3XXDJJT9A5Y+Tt7fT1ubephyh5oz3PynGXvNGtVXJYpfF1DWeE54nhli+TO0Xzd1x62lTJJq9dr1qnWnXure8mVV57bNA88TBKF5u26yV/tTmTne8IBjJ0zVPKDh0SoJj2bGQiBhuXCXLRJv7HzPXlsEUjsC6XoJxVoJfFo9Vvdhdc9dtwcGpElrv9hNvzLzVXVpzhyq9kNVVUbxC5RoYuC+NHmG2r5zt3r8kZqyObo8bBYwrQsWvqe2yOaNyAuXSblukgn1+LFjavPW7ZpJ2bhlq5g+zlVFhSm49pqrZAH+XWtyrVqzXk5Eb9UqtWTAxrxDj/4ysS/UjOPtt5RU2bOdr1aIQOnt9xdrwc0lOS5STMxMbjt27dHlQqjFRrGoCMrQEvOSjmGQ13z5lVq15ku1/uuN6hvRLsOeOb8w2neVuUXt3rNPNW3dSX0pv5UQ/2LFhan6+6+/tLBj+YrPVBnRSsuaNViw6AQK5maUmFyOkT/KVebWm1WB/Jer3Xv36ehph4QZuLXUTVrYY3DcLYK9NwTP48f/VaWF6WbSxREr+SG4MuXm/svT56ihz43VArVSItwrXKiAWimaem+Jbw/KWbBAPn3i7CyT85rFaOG7i9VnX6xTH336ucav2NVFdft8+fU3+p6zjvgTGTTieS2IOlv8HJSRhYQ86CeL3lssgsYf1C1SH4QBEIyRV/xMO5QvW0bUcy+P2sbO582JiN/yfbjsE7VRhErvL1mu+++N11+rVYJp988Ex4zSZmxODH31zSbVrE0XtV4+TX/49dff1YfLPlZfbdio7hYB2jkn/Y1g0ttRhB4wfNcVu0pdL+ls2bZTvfq/t7T/g5wi9Lz3nrKB500ezk/GD8ziWmGObxRTGPpfhnPSawEJzLazP9B/egwYpk1/Oe1DY/IyEZBS5rdEIHd5nty6rUjfz7N+MTXtEmo8sbls17WPefzEMAAAQABJREFUnidgkO64rZQW7Lz+1jtqjQiiYWppf9OeJi33PYSNn0uf/fTzNcLsFlaFrsivmBfXrv9a/fjjT4ExRV0R7HaSDYZphxtEgIem6QzxHfj994fEfCh8O2QRYRaHB8y166V977mrjBYolSpxg37vRPrLVdsufRU+CUvI+LxeNoe/y/y2/JOVouWxUmvIhpsjYIAxcYIxYgwh+K/90ANaqH/hBdn1pp7xuWfvfvW2jK/zZa4peVNx3X5btu+QeWidZjLPy3IuRfE17+kX7H+pFoE///xTZZINSaIo1FjzOvY53Iq0JrMeLHp/iTr84xHtfwr+xpBZ9/he9b4KKsu5J/qy+T3aJ3MG44y1+xqZC3KKINy4VeBd5pImj9XV6znjh0O19eJwFwEJG25DK1evUcxD8FzwEhDuGoaNGhdYXxFqIEBmDv9NxrhzfTVrKWuel7Hqd26Hx2KcmzXD4Oa8h2ADP5Fo6jv/uA9PxDzJhjd9+nSaN/OytkSbo7z2EcMTsOZu2bZD+x1DKHSRzHOFr7xC+kU5RRvsFJ4OngNfSobeePs9hWZdnRpV1Y3Ch4Uiv/jzfCvZ+C5dvkIVFIHYzTKvXiBlWS98D+1Hv4HvhW9bJcGLdsiaUe7O2wNafYYP/+HwT9qciL5niENXrCEa1q+l/dPikgN+AEGDEYjBv/ntX17Ka8oAP9emcx8tcDXrErzKMlmXvhR+4q7bbxHB7QWexwPrJ2sRAjy0GCHTB73yrM6+gr8s+Ed4FHgF+rfB3NTB/ZlUbeysi3M8cd8rz+d17GXPlk0OSZerozJ/w08wFk3+E6bM1HNN80YNgvq/fuDkfwYDyrV8xcognh3rGCx14I8QniIsK1q4oPpe+joCYngM2s7k6azbNWLFQz9hLv9IBMuL3luibrj+Gr0PM+Wjjby0dbQ5w7k/C/CqsqejPOQBD319sav1PP6vPvhfrg8ZSgvfZYjDCPZtrIP3lL1dH+jy23aZP2bPf0OPs8ri65C1YPZrb6g+g56Vg9I/9B6MefywjNuPV646hW/3wxubsthPi8CZgkBcGlfhQGCxe00ilBwUAUHTxx4Rbaws+lEETTPm/k8EIvvDvRq4X1YEMk7JtfmBBW2xLOIwgl/KJMfC3OyJ+gFNB/NcuM+Mogk2uE9XZSYX0jF+slZ89oX4mOgXWLRZwLrIieUyYTg5QTDlmSMTDJMumhNd2rUIaLsYv144kkfTASZDL5pvv6v+Fg0HTgiMQIfyeU0HzS9D5wmWE0YP0Rt8cw8NHIRLXds9rR6sUlHfpg04UUCz7LW3FikWmXC0SQQPTMQIgzitM+3F6W6ztl01EwEzBgNs6KhopDQWRrvhI7X0hpb8xoj21ZRZ82Sh+lzhawDaKgzy7HlvaMEZJ5TXXlNU36cvDBwxRguv9A0P/7GRGD6gh7pSGFuI9iEiCosfzJU50cCfCEwkApRh/boH6oOWUgeJNoPArHTJG/SCTDqx4ke7RGtj0neT3/LxPsLFQlcUDfKPwoKIgIUx8fCDlfVmiv6GVg0MCn0QYQpksMLPypKPVuiNGea3nORCzmcZE5OmzRbNwxn6t0j/0e5TZ89XhySt3p3bqkr33KUf5/50OYHiJOr1he8G+sMb0laMJ/fYQTDXqmNP3V/ZrOEg1s+zsWBKQUONJxiKtRJaGObd2X8Q5Lbu3FsLaHQlPfznTp80nmzdWRi3L+T0/CftzybedkAbjI3eOSIsZDPCiT/fDaHl+Kz0CbRgRw7oFxiDznZ+afJ0rV3gnGvM+4x7/vbs26+FpzCaRrPMPMPnXyKERoONDTWMmJk/iaS2fsM3UtcTfTGWec+Zj722CDgR8DP2I83XzJ1JRXfKBvyxujVkXp2jmojGFOPpoaqVhScoFaRRRf6MQXiNxSI84ZDtdtGeYjwxp8L74ECbwyXucRAXy/rqZaz6ndu9YkfdDC9l3kEogBAdbfUOLZ/Umkx+8o82R/npI6ZModZcfqMPTd74ql53jQYTfQdNeDbDbo1zk57z0wv+PL9A+BiEnU0fr6cPI2hzaIn0g859Bms++7ZSJTVe8DvwpVu2bVd5c1+mn0PwCB8OgS9CV0zD0PhAeJkn16WBZ/VDrv/88m9+ysu6N0o0jHGi/uLIgYF1iXUDDfA5r72p+TgOSryOB1fxg7565VmXCn8Ej+jmH+mjbbr01oGiSt5YPMBXBmXi+JIUbexIPnDph+fzOvYYT/lFKPrNpq3Cw+8MWIjsEOEmGqlXFSkUtAcJFMZ1QQCtMbKn4pAXgu/vIv0WnvX4seNq6kvPaksIfiPqaMtneqivRTC0XQ7B0cJHeDR01Iun8LPMDRyK9h3ynOZ3nRqapOWlraPNGVNmzQ25zzN84Cui5MBY59CQtNjbcTBMe6AZzyd8JITwe9PmbaJZe5P+vk3m7Z/FWqmUzCWMafZaM159Xafx/PB+KvdlJyIDkka7bn215Q5ak+Z9P7yxztD+ZxE4gxCIy8dVOBzQHsCZOpoKlcrfFXjsmGg3fSLSYwQN0f447QpF3OddIvGwIcP86zrRjjILeqh3nPc44btOBDSG0CJA0wRio3rdScEK3zGPQzsK3xSmPId/+klPmKi+PyEnVcaEjueNXy8k8mxKI1Gs6TwlQjq0Upz0xx+nMtzggWnYoF6d9cmg83n3daEC+dWcyS+okQN7Bi3GbIhZoP7++x998uJ87xoxU0SYBX4Q+XFSB9PNxG5ojZz8Utdq91cKMCb8BvOECSKmk16JdjJCK94BewRnCDm0FsuRI3ph5CQyU6aMItB8NKg+MJVPNXpUawO9LiZgLKJQvPjpRDz+R55+y0fSnPA/3fSxwEkq964ocLnWqDkkfuRY4CAWt6++2aw3Ngh/DYEVfujOlXQQLLLww9QijGAT5HyWNoXBRcvHC7UVc8A3Zk1S5UQLwBD9Aa0h2hfNRQgTVrS+0OypK33HOXbQciTK1r5vv9Njzc+zsWJKmdzjibQ+Eq3BUP2HccfpmB9yp58zRw7N5Pz22x8i7Dusk0pUO4Qr1ycrV6sD3x86ZQzSzrWqP6CKyhhHU2CXaPDFQ3eIYN4IrUiH9oXBh0zasc57OhH7n0XAhUA8Y9+VVJJ+ZSwQxGH6+FFaY2CbaBUMGvm8urfGo6rGo09qDQTmZEMIR/LKfIMGAtoLEBt9NpIIJYzmTKzrq5exSp5e53aejZXQAu05aISsw0dVCzETcvoxTUT+sfaRUGsudcTVALwEgiqz7rJuoVnPZtvNn4XCxSv+8HALX31F1a/1UBCPS/tjToVGDHw1hNY1mmwIryD6E4JOeN77771HHyKi1QKxkd67/zvdj3DpEY789i8/5eUweJcIQtCuwe2FIcYKVhrwdQQuoP28jgeTRqhPLzwrecEbojHu5h8pI4KDXbv3iTb0nlBZBN1LijYOyuDkFz88n/v9cGOPw+uKYkrMASj93NA60TjnHppwXnxjoXlohFakwTv4PobKihUL+zdDWK1cLtqlCHS+O3DCLzKCoM1bd5zCo8JfonUK7wq/CwZO8tLWzufd1/ApuGMJtc9jfDcSFwm/iwsJDsghNM/Zm8DnfHuy7EbIh1USdcNiBGJcrpQxihaXOeBHi3KSmKC//MJwrRWsH5T/EICxr0KIzliH/PDG+gX7n0XgDEPgP1WeBFWM03W0YHKK2UqbpxoHbU4ZhONHDYkrJ3yq8MepDNLswc+OVU936K76dmsfUA2ONQPUgkNpHDjTQ7Uah/PYOqPN5H4exsBsSiNFB4o1nXQhfHlVrlBOmxoNFEYY1evKFe/WTAwTIzbj0YjF5HyVVfvYmC+acjiJRRvDUCjhEir1Z8k/J2G+iMq6kzDlAyNMyJKCUOHn1JAF40cx8Tj2zzF9zeJyRf68p2R5ed5cWiDD85w65sh4kQgj4sPvlEwi3CBP8vZTPpJjoTZCQpN8Jgk1DgPt9JuCGjaLHIxpfxmHTuK548ePiXbeD3qTYJ7F9NDdj53vRbqmXPQz/FQMFXOVz79Yq0/JQr1zIvTy91rtPtTYaCV+5viD2KwxRlDR9/JsLJiSj3s8mfZBaEdfiZfc6TPWsgkT46TNIoynzWBiYm0HZ3rua8Yg47J0iRvdP2nBLputDRu3aIEzJ4exEifn9Acn5bg4OLR6rPOeM017bREwCJjx6nc+Ne8n92ch2dyg1c0G+TOZKzngQ3O2lWga3H9vedWxzVOaZ2LTXkKiMaO5zu8I9TEfRECCma6J0oxPrLNlzF3rOIzzUicvY9XP3O4lz1DPwMeNF9MjE5naqcmZqPxj7SPk715zqQN9jTmTeZW5Gw1UTMLR6EZw72VD7wV/8sJs9Ds5mBw2ZpxoTH2mhZfcN+RcG68smF/cR+QRjZXNmrf566+/taCTflRehG3vfbhcrRMzdQSfO0RwykY4mp9Rv/3LT3k5DOZQmMNi97pBGd+eO8VUUzD1Nh4CL4S48MKzmr7C62heoy3uJMzY8HmJhUM0Soo2DpWn4eO88HxOH5mRxh754GoA3g7tqJrV7td7HvYXzE1G8ydUebzeM64DIj1v6obWqZs30vsK4V3x6cVzzjJ5aetI+Ro+BWUGpw8t8w5mfPBxaC0ivAZXDn/BCg1J+CiEfGjBI2Cj36ySOYL+Be0UIXcRESjnyXWZ/o6wFuEXdcGCAY0sfFyFIj98dKj37T2LQGpHIKGCK1Rp+w19TmzwRT10SN+gk7NEA3XiNP96bd7SqmOPIJXpROcVKj0k8vjDCEWhBD2hnuNeItLB/G6anOQa5+ImMhGTIhpGoXyQOcuDOm571FFFEIjvm1rVmwU0lVi8mXTjITbNCLWSkoxWGIwThMZM+nSndu9Qwp548YulXn7KF0v6aPHw54XcwgUv7zifMSay+LJh84XqNIQ21+Tprzof1dfh6n7Kg3IjEc+GavNQeTnvIRDkveQghFYQfjmSimDywDIU5RAV9+SmRMx7yV1mm1/KRSDcPBHL2E+OWiLcwEcSf8b0hNN7NkoIqaBK4lsQ7Vw2Q+XF9BfBBZogTmHDP6Jtgxat09dSIsvvd273kzeaB1PFtQDm6/i+rPdwtVMEGInMP1F9hLbD2TKaTR+vFLcIIsRiQ48QCfOyRJIxT0MIhUbzzWKaxGEIG2ACcDgJzSk0sfDPxeEqbjQwQaK/GKEW5awo5vxofDDvRzuo8Nu//JTXlD3LSd+H5nu4Ty/jIdy7fu8TnAWfoslBsWAWqlx+eD4vYw/fesxHaL0hoMGXJnmgAYSP4OSkcH0kXt41Wh3CKTOwz3Af0nPwiKAPixsExYw1hFP4Ikaohcnj9p17tDALbce75J4RciNENG5P8Fn3dNPHtSCL8qE1GaovhpvPotXJ/m4RSO0InLqzj7FGMF+oexMZon/3Z5JUaOUsYu7LcorWyflaw+SXX3/VJzPO35PqGltxIoa5TwH85peodDgV6NmpjerRsbXWVkHzDafo3foOEWezP4kw6v6wRcP3AUIr/A51bf900CkjTHO8gitO9n6W08ikJE42nAsJ2kX/HDshEHDme/SvP/XJqPMe1/Hg507Ly3e/5fOSpvOZntIPaE8vBJMbKyH0nDZnvmKBHz20r2biTVqYAkyb/Zr5GvgMV/fAA46LRDwbrs0d2Zxyyek57zlPKE95KEE3zBzixfdfrFlqVXMZE6HImCKF+i2p7iVq3kuq8tl0UxcC4eaJWMZ+omtuImzhe87ti4W80OBpWK+mjvCGMMQIrgpLBDjMvNgIoUWDw3XtzFzuG8JJMSYrmBEmmmKZ2/2UgUASU2fNV7lFu6ZT66cCmziTRqLzT2QfYfNO1GXaC01WNvRofBjfNKYO8XwyZ09/9TXtrHlgj456o2vSY86eMnOe+Rr4xKQOLT20Pug3uHvAD5cRan3y2RdaO5oIwpg2oeURifz0r1jKS94EEPBCXsaDl3S8PIPrAnwNRTKj9JJOtGdixSxUun54vmhjj/ThS/CVia89BLQXiMN2osifCJyQsK1jqKqcci9cH4mHdz0lkxA3MF+mjQyPZh7BnNGY7pl7WAcg7GOu3rBpsx5nmAkinEKoRRCl1RI5Out55+k0nQGVeOfDpR9poeBw8cvr5DuNb1GTj/kMN5+Z3+2nReBMReDsRFQMO2mcFiOcGCALLCdQiSScjJcsW0U7a3Sne1RU7pFWX3hhdr15dv+e6O/4FcBHz6at23SY5ljTT1Q6TKA4spwwZZY2P0DlGmalpviPwuE2Pg/w2YNpQjjCJhuVbaIjOlXjOZU5duw/k8Fw70e6j/8xJv4vvvwq0mMx//aDCOU4vcCGHE0/GA0WDwSpnG64afee/eLv56B+hmcTgZ87j0jf/ZYvUlqhfiPiDaYjnPaAeyS6+qRp2hfr1kd9Nlw6R8VvFSaa5JtPNmBOwtyUPmQIR+WXXXqJ9gFw4PtD5nbgE0fut5R/UJ/w+Xk2kZiatOgj9JXkIBhyGCM2G9HaLJbyMAZhsnAI7yY2h5ggcVLIBjqpKVHzXlKX06afOhAw49XrfB+pVgQvIL1EE3MemgEIpg+KmXYoMtqQaLgYOmF+cqv2Tzdr3uvaTBBTOuem5mrRbmXtZiOaaPIzt/vNG56x16CR+rVecuDm9Gtl0kpU/onsI6ZsaCsR4Gf7jt1qpkR+JRIYG3q3yZt5PpZPtKwQSDJnGp9mJh2iOR//91Te7MqCVwgvfIFaKJp6RMNGY8Zo46F59YOYuOHwnw0/pmDuDblJ33z66V9+y4tADV6FaNhOPoG8MXvD/xtuQAzv6mU8mHLH+olfMzTnws0nsaYb7j2/mIVKxw/Px/texp7JB94BX3sEA8DChGvuJRcZHjUUP6v3FcK70od5LpFk5uxw+zwEv0fEmTwai2Y+5pMAV+xH5i9YpN2tmEANWL+gfYW/UXyGkX4BhyuTH8WCBy0/BOImPVMf9x7MD29s0rCfFoEzCYG4BVdsfHoPHqmFVn27tg9ywJ0ooG4qLoNZNDoWfbAkSFuGxe69xcskZOiPeuLyG6I6lvLBsOCEnY33BInIZhZV0kKANnzMS/qPayfxHSGboVjTMe+bz4wimMLPwtRZc9UKhxNFfjebYIRX2NuHI04AIFTMTbnBlqgdyz7+NNxrnu7joBt/HEQtJHKcIXB7VaLG4OjRK2HHDkNhiLIS/Q5/A/QRToSMGj+nEWMnTgnyt4QWzQsTpojt+D+qauUT0XUSgZ+zPM42Nvedn37L53zXyzXhefOJajJmJQRJcDKE9NmmrTtJVMETbcrpfd7cubSgiNDChhA44dsB4U00Spc+nTZBI9LMVok+YwisR4+brP1BmHtoY+KIlVO7GcLsm77G76jLYyrDKTCnU36eTSSmpHW7mO/QfyaJwBxmwhB9j2hDiSbTDrQZauGG/LSDeYdP4wzf3Lu11E2aGeckHpwNkf7s+QvURnH4fKtoCyDw9ULhTj+9vJuoec9LXvaZMx+BeMa+e01mA4SAiTUJ8xgzd/K5TMbmwRB+bTj44C8Ssf6hRfXTT0dU/2FjgngY3mOunPPaW3oTzzh0kvEzg+8TTHXMRsg8Y9ZX99iOZX01aZpPP3O7ecfLJ2Ub9OwL2q9V/drVw/rniid/5xwVTx8JVx8EVJj/IGjENQOaVok+sMUkEC1y+t3qtesDRQE/eJtQhz+YcLGJx+fWHlmviJ5shGlFChdUucUf6OtvvaPNlW4Sx9nRyE//8lteXArAqxCw5asNmwJFMXwdfH0FcRBO+xmKNh7Mc7F+IjS4564yev2HV2RsGmIeIGpv596Dg/hK83ssn34xC5WHH57P69gz+Rhfezt379UHXE5BqHkmKT8RBBUuVEDzs07eiLaAv4VnKibmsWAQLznnDObsO28vrcfYxKmzg3hV+MAJwhtioo1rDCfhi4t9F3tVBIpGA5M+XEasdNjD4LMQHI2fQt5nnLP+INhiT21ojVjCEIXZSX54Y+d79toicKYgEJe+J07pnunRX6uwI3l+d/Fy/ecGB98tdWs8GLQAuZ+J9J3TJmyG2dhWrfOEjjCCzfMm0RTA9prFj/STg2AC8Bu1fecuvYlFWAQzyQL0pUQA2i/OU5s2fET8K6XTxcGECpvlteKor13XvuL/50pVr2Y1CVmf31c64erGhNisYX0dprdjzwHa0WUeEUZgHogzQMpFNLlIJ2ucxBF6mBMVzBFgKBAyoY6Oq+V4TBEKSb+o9dD92v/WE83b64hKRCwxzkw5cfNKnBTVb9palbzhekX7gzeRJQmhXb9W9QCDhj8Q6kF/qfFo0wCzT55sHlhsCE8OJQK/SG0cqm5+yhfq/Uj3OF3t3qGl7g89BwwXc4K5qohoQLIoY9aQXgRNOLSHeLZxgzqq18ARyvSdXMKAg6uJjBIpL34zm7KxwuQ1a9NFToaLSDso7RSWE2Hal35EJBQW3PvFfHHVmnU6MijmqUSKJAwyfRUcCYWO9hzk59lEYsomE2aasV2tXiPdf2AmKCPaDYkmZzt06zdUMyp+24EycaqHb655ry+UTct+iYhaUDV6tI6+37rZE6rP4OfUk2066zGIiYhz/mzyWL2IcwTpI2BjHhn5wkQxHVitbitdQlWpWI6fPJPf+dNzwvbBNIuA37Efab4mmiobovFyKLVy1RrRBLpUb6pxiu4meI9mbbtoLeWxI/rrdd79jPnOmv/DDz/qsX2faJIwTyJE2Cen84R/xxEvpt3UxUnGzwyCKwQjbq1I5/pqxnas66szX679zu3u98N9nznvdbVS5lY013eIVnQfCWnvpEzC0zwi6zmbPuZir2sLaYSbo/z2EWd5wl2bTTWBLXCAziY/kQRvQjRmeJmeskZPn/OaXrNxCs/BCtrxaE79Ls7bjZYG8zPCHVw8YMpYTPqZIQ72ME967c1F2qE8pk3RyE//8lte1r2WTz6uuvcbFliXWPsNX8d4cEYlp6zRxkO0+nj5vfoD92r+l+jlofYb98maZzQkvaQX6Rm/mIVKyw/P52fsmbyMbzEOfBHWGkGo+T0pP5nL4AnbdemrDG/E/mav+E9FUy+7uIlpJbyN6f+xlCXcnPFo7Ro6aA39wPCqmA7CR8PPNpMI725NL7So0KYiwmhp8dvnLNcN4v+OwwcObjHpdRKCN4I8INSC54Qv3rvvO+0n1igdOF1J+OGNnfnYa4vAmYBAXIIromvAeEEwcfyFIgZkLYlKESvhiL1LuxZaE2Ly9Dn6hAttASbs2jWq6s23H4fosZbDvMdkOmpwHzV3wUJ9AoNmEkxEwfyXq8F9uoozzFKByZ1JniiIYENo1yM//6zqSJkhP+mYvEN94lycaI0jnx+vBWQIyRAScKLWUqK0ISSLRKhGjxnWV40YM159LCZmSz9aoYWBIwf21Ez7uJenKSLA4JfGL1H/x8V/B5o9nGB9snKVLhvRDitIBB6EK14JMwnMGYnmeEDMG2HSuNe2ReOgyB+mv5S48To1fvJMiaazTGfBgtemeSMdztppEhkvfpHaOFTd/JYvVBqR7rmdzW+RCCX0BxZLovYh6DNUvmwZPY4wN4VhhAnnNKj7M610uHbzXKTPR2s/pB290r5rvvxK51VZmDsEpm269BEh2EG9WFMGFvJ+3Z4JjJ2FosFEhE7ybNuiiT6lMnn5eTaRmDIuRw7spV6Sfv8/CY3N+Mb8trmEakdsBVaJpnDt0Lltcwl4McpTdozzRiKIfHHiNDmJXBnkv4RTZJyEPjd2ohbAsVFGyOVn/oQRqy2+8hByI9gjGlQslKh5L5a87TtnHgJ+x36k+Rptz4E9O+kIqcyHbI4QGA3p00U7EndqucBzGB9B52Y+NyKwlJF1qvzdZbSmNms0cyVzX0EZtxy8sCY61yUSZI3DiS+Cq1AR6yKtrxxI9R78bMRyRfvRz9weLS3z+1ZZjzgAQJsFzQQ3gStCCwRXfvMPN0f57SPuMoX6zjxW6qYT5oIcrCYFwd8MH9BD82b40aI/3CZaHU0fr6fXZzSdD4gDdqfQjINeMLy6SKFA/6Rs9JUyt96s3pCNOEI356Y6XNn99i+/5UVDZfyowUHrEmttm6caqYfF3QXt5qRo48H5bKzX5MnhX6kSxTX/CD8MIQjs3LaFqlyp3CnlijUv3vOLWai8vPJ8fsaeyQelBA7fj4l2odtk1TyTlJ8IX18ZNzIQfMrsb+6TAAkoCYSK+uenPOHmDMb3iP49gnhV5mfWg+ZNGqgSYuXB+HASwmEiDmKtgBWIkzh0QEiGUAuTXicxFof27aqeHz9FvSXBKtAkYxx0k36IVUjXPoO1zyw0zcjTD2/szMdeWwTOBATOkoGQeBWCMwEZW4cUg4BxbouGB367LFkE0goCpu+jDj9MnHZyQmvJIpBaEDhy5IiEDc+WWoqb4sqJ2QmaBjjafnHkQGXCp3spKMLlzr0Gaa2dTm2ae3nFPuMDAbRwW3Topt8YM7RfIBKzjyRS9aOno39FGw9mvbS8YuK6FoIiIrfXlEOr5o0aJC5hm5JFwCJgEYgBgfCOj2JIzL5iEbAIWAQsAv4Q4OyACKBorOGDwhC+PuaK2R8+d4hYZYVWBhn7aRFIGwjgE2XlqrXig65EwF+Ks+bMEQNHPK/mLXhbOwM2vyFUmT3/DXW2uApAQ8dS4hFAO33z1h2qovhhQjvjTKSU1r+ijQcdaU3GhKXEIED7zxPLknNEM7RCEmkVJqakNhWLgEUgrSAQrIebVmpt62kRsAhYBFIIAjj4PXz4J+3/Bqf4Tp95+HDDjNLtBDSFFN0WwyJgEUgCBKaJPyOiv23DzFt8/1WrUvEUsxSyZaNO5LlBI59X02bP175RMOnBnyN+LjG5wxTGUmIQwLfNy9Pm6AAnu/bs1S4Qyt15e2IST4GppJT+FW08EBl31rwFao34AyOCrtv3UAqENkUXCXO2CVNm6qAAzC/4/sPZuCWLgEXAInC6EbCCq9PdAjZ/i4BFIE0jYPzf3HF7KXFEPFUtluie+KDCxwGBIGpVf0BHVU3TINnKWwTSEAI7du6WABdbxBl1HtWxdTMdaTVU9dH0wf/Wu4uXSRTUOTrAioRDVPhzxCffveIHxu0nKFQ69p53BDBH27V7j26Tnp3a6Iit3t9OXU+mlP4VbTwQWZrgQgRFqlG1snqwSqXUBXQKK+2ff/2lnZATgAs8n276uPavlsKKaYtjEbAIpEEErI+rNNjotsoWAYuARcAiYBFIagSsj6ukRtimbxGwCFgELAIWAYuARSBtIGB9XKWNdra1tAhYBCwCFgGLgEXAImARsAhYBCwCFgGLgEXAIpDqELCCq1TXZLbAFgGLgEXAImARsAhYBCwCFgGLgEXAImARsAhYBNIGAlZwlTba2dbSImARsAhYBCwCFgGLgEXAImARsAhYBCwCFgGLQKpDwAquUl2T2QJbBCwCFgGLgEXAImARsAhYBCwCFgGLgEXAImARSBsIWMFV2mhnW0uLgEXAImARsAhYBCwCFgGLgEXAImARsAhYBCwCqQ4BK7hKdU1mC2wRsAhYBCwCFgGLgEXAImARsAhYBCwCFgGLgEUgbSBgBVdpo51tLS0CFgGLgEXAImARsAhYBCwCFgGLgEXAImARsAikOgSs4CrVNZktsEXAImARsAhYBCwCFgGLgEXAImARsAhYBCwCFoG0gYAVXKWNdra1tAhYBCwCFgGLgEXAImARsAhYBCwCFgGLgEXAIpDqELCCq1TXZLbAFgGLgEXAImARsAhYBCwCFgGLgEXAImARsAhYBNIGAnELro4fP65+/uUX9e+//6YqxCZOnaVKlq2iFi//JFDuUPcCPybg4vff/1B//vlXAlKySaRUBGhf2tkrdes3VJWtUkt9vXGz11c8P5eUaTsL4afOBw/9oB6o3VA1bvmML5yc+UW6TuoxHClv+5tFwCJgEUhJCCT1fOuu6+9/HFVLPvpU81W//Pqb+2dP3+El4SnhLS2lDAT+/ucfteLzL9T7S5argz8cTpZCpQV+2fZ1711p/7cH1LsfLlMfffq5+uuv1L+PSsTcbPuP9/5jnzxzEIhbcDXi+fGqfNW6av4bi84cVJKgJjt27VbV6zdRDZq1UT8d+TkJcrBJnm4EaFfal3amvdMCpcU6p4V2tXW0CFgELAJ+EGATNXHKTNWxR39Z//ao87Kc6+f1wLPwkvCU8JbRiDw/X7NOPdasrSpV7gF9GFnpofpq5AsT1K+/xSY4C5UnaZHmPVXr6Dxuq1BNNWzeXudNGc50WvTeEtW6Y0/18crVKnu285O8ummFX/bT15Mc9BScAULw3oNHqiHPjVVZzj1XZciQIQWXNvmKZvtP8mFtc0o5CMQtuMp6XhY9iVyQPekXM2BL6RoV4cqXMUPGkzhlUxnOOSfl9ABbkoQhkC5dOr2onpclizo3c2xMe8IKk0wJhaszmoxoNDIekoLCjbOkyCslp5mIU7uUXD9bNouARSB1ILB67Xo1b8HbqvFjddVjdR9WZ511VkwFz5Ilszpb1tKLL7ow4vsIjF6ePke1aNdN7dy9V915W2l1X4W7NX8149X/qXZd+6pYtb6cGaPp0bB5BzVr7uvqkosvUlUq3aNuK11Sbd+5W4Q5vdSCt99zPp6irhOxDu/eu0+NnThFlbm1lGrbvLE6J336JK9jWuGXvfb1JAc8BWfAOH/1f2+qDRu3qI6tn1I3XHdNCi5t8hbN9p/kxdvmljIQiHsFavr4I4o/S5ERyHVZTrVg5sTID9lfUzUCCHEnjhmaquvgt/Bpsc5+MbLPWwQsAhaBMxmBv/7+W5u7N6xfS9WpUVWdfXbsZ6KVyt2l+ItGW7fvVAiocue+TI0Z0lfBY0EIq9p366u+WPeVevu9xapmtSrRkor4+4y5/1O7du9RTRs+oh6vVzMgkENw1aJ9NzV11nx1W6kSUQVtETNJwT9+s2mrqlypnHq0dg3Fep8clFb4Za99PTkwT6l5/PjTEfXzz7+oXp3bqrvvuDWlFvO0lMv2n9MCu830NCMQt+DqNJffZm8RsAhYBCwCFgGLgEXAInCaEECLvEGdGsma+7JPVqojsqFt3eyJgNCKAiBcqVX9frX2y6/Vl19/E5fgCj9Lm7ZsUxdeeIEqX/aOgNCKfC7Pk0tdVeRKLSA7cPDQGSu4qljuTlVR3UmVLVkEkh2BCy/Irlo/1SjZ87UZWgQsAikTgbgFV5jsvDhpmhrSp4sqW+aENJx7E6bMUoN7d1Z7932rpsup2PeysGfOlEmrWbdo8piYUmUKIIITzncXL1PjJ8+U5/fr+3ly5xKV8zqqgjALnN6ZfMxLz/QYoC+flFOwJ+rX1tcmnUlT56hde/Yq8Rivcua8RNUWJuZhOXWLVcX5u+8PqnFSx6Uff6pP86hH8WuvVm1EbbpAvrw672jlw6TniRYdVM5LLlbPDeqtzj03s6mK4uTwubETNQPEyeVFwiTBLDRuUEf8RPx3woUD7xbtu8tvd6gKd9+pRr04SX2zeatOp9hVRVS3Di0D5Qkk7rowbdOvWwe1Xpi6N9/5QDN/2c7PqqpULKeaiPYcjlGp7wdLP1Z/HD2qLslxsar38IOnYIgK76q1X6qxE6Zq5s6UvZKUnXScbUy+02a/pgb26qRWfLZaveXIt17NaqpujQdVxoyR7db9poFz8o8/XaVxmT1/gVr31Tfq3nvu0ic3wGLa1dQThhdzA05WL70kh0bukDgifbJNF+mDZ6kXnx2oLsyePYAoTsnbdOmtNm/drsaOGKByX3apatWppzrw/SGteZVDzAoM4dB0zEuT1fuLl6t/xNEp/Zu+G84/hrtstM/DD1ZR9Ws/FIQr6ftN25SJz+ekD82Y85oa2q+bukNMAQxh9tG6Uy91b/myqnPb5gGGnb7RXEwz/jj6p3px5AApS+agOn/1zSZlxiZpMTfwR3+mzzlph5xivzhxqu73YJLv8ryqQ8umquSN1zsfC7qONs7Mw//8c0yfxkebe3iedpy7YKF+nnmKTVjpkjfqDVFe2ZxEI3dbMT+Uu/O2QD8ifTQAVgmmzJNlbrk5kCTt32PAcPXuB0v12Lj7jtv0b+45gfavLOPTzAlmPvn2wPf6eT7vrPywukzmO7T+TN9zly1cP2KsfLZ6rerdpZ0uixkTzrG/S8xxzDzl7MP33HV7oH8EKmYvLAJJgIDpp8P7d1cfLPkoaP16pFZ1xVriXOf9rFHu4r656H3xq/Ksgl9xCmX2CE/TpFVHvdaOHNAzsG4xJjr2HCjrzAa9xr84aWpCx7yzfO5xHWrtcj7vvl7/9Ua9dnGfOlx7TdHAI+65Jxw/wgvuuRNe7arChVTzJg1UieLXBc0L4Z5t+WRDdeP1xQL5Y97GGuLk7QI/Oi7wo4W/m3yX53HcPXGZ7fzztWuG9GJyGA/Bp40fNSRiEvAG0TTMEsl3URh3GzFPN360jtaMov8bDE3B3euw4SVvLXWTbvsJr8zUvMiYYf10+4XKI1Q/MGMBId6zg3ppHp93nWMB3ujKggVMUZQZV21EGFFX+MpQZNa3UPyy83nncw89cJ8aLTzWIeG1nfyM17HC3PKOrMPhyMnDmHko3vXStFOovh6tjU05w40r9xj0Uz/Sdufv3CMY3t7Nj5kymU/2Sc79jmmLSHsp866Zu59/6RW9z2F/5+RHnPO8ecd8xlKuscKLwp+zjyGfp2Xe37Vnn5o1b4EaM6yvuqZoYZO8p71D4GG5QPvzWfGRhxA8vYxP5jt4eTeZcel1jxeu/5i9cGBPLWbb7BHbNG+kP935Or/7xc75rr22CCQHAnELrsIVkoWr39BR6qhscBmkDHo2RtgqExGiU5un9ABmcsIJ56uvvSlCnRyqkmyU/5DINDzbs/9whX8B1LPvuv0WlVc2+4uXr9CRTVjwSLNggXy6COTHooUfAp2OCCiOHTumPv9inXaqiVq3yTNcmUPdRyiBr4TvZTEsdVNxdZH4XUC4tlLKR2S00UP66FO3aOULlTb3iNLSZ/BzuqwlZMPO6cImEUZRjxWffaGeHdgz6DSRd975YJla+O5ilS9vblVJ6vmlCGQ4WezQvb96XhgPFvtIBFYsYudnPU9v0P/662+NN5v8HbI53SP1++fvf1RZUcvF+fYqwZANK/6MOMk0NPu1N9ToF19WmWSjzrP8TllIZ5PgNrxf9yABHQ5O23TufUq+L0yYonbv3a+6tGsRtOkw+Tg//aZx9M8/Vf9ho9RvcnJ6kWCb5aTDWAQs7br0VT/9/LO6Tph2BEm060IxLfhEHJAOH9BdT/Awa/TfN2QT8/U3m4OEDvh+oH/AqF+eJ7duQ2dZzTV9uMUz3dUeqWOeXJep64pdJf36Oy2woP8j6HCSs2ymz5H3BHF8u3b910G4+k3bmQ/XN0ufY2FeI6fTTsHVp6u+UGBHfj8eORIQ2O2Tuuz/7oC6VUwjwIax6iTGZP/uz2izEcw47rmrjAi0b1GX5jwhCDTPbt62QzUTgSAClnvKllFbBMdtO3apzr0HBcaUedb56XWcDR31YtS5h3QxK+nUa6Du/wXyXa4F6z+IkJHINWxAzfh2lsF5TZlbdOiuDv/4U2B+YPwufPdDtU7GpDFhQQDInLb8k8/U7eIfxfh/gfFGoJpX+s9111ylk0awywYYuuXmm3SfZVyB50ZJe5iMq/OzZlXtRciHoI1NCRs1/Mpky5ZV/8a7fvoRzx+Rsc74RPjlHvuYi6z4fLXMTxeoCiKEZKx8KZvfXgNHyOYxs+4PpGHJIpDUCDBmW4mjaIQFN15/rfpT+AnWqLGyjkCMA0N+1yjzHp9o01yQPZte01gz2XBAHPgcPvyjnu/37v82wIOwVjIfcJjFX6LHvDHTco7rSGuXLmyI/3i/fbd++pehfbsFCa388CNsmDv3GaTnNDN3Mg/SFvh+wrSnvMztEJpLPQcO1xEHWQPxRfXbb7/rOfFpmT+dz+oXPPznPghxvsL6BZ95s/BsSUXMf2xIixYuqPLJ/B2NEsV3mTYiP7M+rJFy9B8+Ws/58Lle12F4nSXCU3NoyFqc7qSJp8kDHjoSX4rPr0LCg2+Vfn/ohx+FR79Mw4CAYtPWbfpQFN7CKbhateZLfSB7vQg1EkXwE/2HjdbrKkIHI9TwM1ZuuK6YOsflf5Y2+2zVWnX4p59OcUqflOulwR98wrUx85GfMeinfvA/3fsN02PItD88KLw9h+XwIMxHtCs+39z0xbr1eu/GwTv7AsjrXsqkZeZu2oQD5cyi7EA/J0jCFjnsj7Rf8FOucDw0hxbR+HMv8+97IgyDT/pHxhK8fy454Iafaylr2L8ijAu1X4tnj0cE0MEjX1BviO89s6c2c23TVp1U327txeTyxAGpwdr56Qc753v22iKQXAgkmeCKCpwnE9uE0UP0pp7vbPSfbN1ZwVT8cPgnPWD37v9Oa/YUvCK/FrrAKEL7ZGOPZsf8N94W7aI7NHOIkAqhCpM6knyj4cXzCEoWLHxPFbu6qD75MUweG7tmbbsq1MrxvWAEXbwTjZi0ps6erw4Jk9pbmDCERBD3p4uWCtoqry98VzO4pBupfPpF138wvc+KQChDhnPk1LNfgIFEWj5p2mzRQJuhXpo8XWsMGaaZJGDIuj/TSmuxsAFmouoiG37CUK/f8I3geoJZdGUX9PVW2RAP6NExcFps/DV8snKV9i+B9pbRgILRaNe1j/pw2cfqgfvKa0ELuM549XXN7Dw/vJ/WNiIDGNR2ol2ydv0GvfFn0XUSwpGendoEtIbMorHo/SXaft2pjeJ8z3ntJw0Yj0JXFFVD+3aVzX1WnQwbHwQbCMFgfg1zTbty4tZ3yHNaUGdOijhpw1eGW+iAUPSXX37VGxSwou5uMn0IoRULvHOxhaHr0L2fbID+C/tNGggJ3WWjjQcMH6MWiqbako9WaMbfb9rusvGdPgvD+tWGjbr8nDBTBswsIE5UN23eppknvm8ThuFnqTMCNSN84b4hmEbG6znnpNeClkJX5NPfze/m86gIvHDi2/CRWnoDSl3QSJsya55avuJzPabMs85Pr+PMy9xDunNE+IpAyd02htl4ZeZc3Uec489ZHjQW0crr2u5p9WCVivon6sKp1biXp6vX3lqkmjdqoBmWHDkukrlvjUJYBU4QjPUB0ZaqWrmiFgTSX+e+vlDPMcNEC65UiRv0c7R/H2Gk0MxaLnMZGz/GAWlNmTlPBErZtJaX0eT00490BvLfcSn3Iw89oJ5u+nhAg4DyEiVs0QdLVKNHa4vGV93Ab2+8/b4cTjynQ1QjyLRkEUgOBELN6WaNYp1/+MHKWhMn1jXK1AEBLodDbJIQyDBmGdsrPv9CjxV8r6CZypwEcTr/g/AKCH0Zh2xSEj3m/a5dpi7mEx4MDU80qXt0bBXk6NgvP8Lc9fnqdVoQP0TWVyMs4BCtlQiups2Zrw/G4MU4+Fn28cpT5tmNooGAEJK5EqfL0Ryym3pE+qSOby36QBW5smCQQJ11a5LMy0fkMxrhF4sDKSc53zcCutwihOveoVXQAZ3zHfd1vHwXmrUc9J3gGf/TlKNfoNX7nlgusJbBH3tZh928JOX10w/ge4pLu7GGbtm2PSC4Qkhx8OAPuvqsV1Xvq6D5yZ9/+UULd/PkujTwrBujWL67+QnS8DtWHnrgXsWfk+ADPhTLAw4v3b58k2q99NPGfsag1/oxh42SA+l06c4WrfqBgX0JPAhaQ3NEyQChCMoD8CD8OQltTtocbfUOLZ/U7W54VS97KdJizn1ZLGdyyoGnOfzj/u/CN3bqOUBF2y/4LZdX/txvnwLL8aLNCDn3Gs49nv7R9Z97XPrZ4y2V/cFbcnDKuDQCRpI3WrbwtCVvLB7WX51X7FxFtl8tAsmGQOweND0U8akn6geEVjyeM0cOzeT99tsfIgw6rFNggHKq4ybMrvp0bafaPNVYBth57p9P+V6oQH41Z/ILaqRoKBmhFQ/BbF5VpJD6WzSI0CDxS0RReWPWJFVOzGEMsWG/QRYyThN+lVPDWInTLszKqt1fKbA4kBYnybWqP6CKSrk/Ee0LGGIn3SGnDwhTjOAAhpGJCHI/63zPeV1FnG0awRT3MY3LLcxEpowZ9Qbc+RvMOxod3373vfpVGCToAtFemiQmSS+/MFzluvSEU1Tuw7CXuOE6rSoeCu9K99wZEFrxPE44G4pGHZuRj+WUxwv5SQNTgqebPhYQWpE+QprNW3dIlJybtTaQyRM8MXvi/ldyuoTGDVS40BXqigKX69NVFiKIky5OpdiYsEEJR2grrRZzSk5VnhDHtYa553kYdUzSnESe5O0uG+/VqHqf4HuuFuzACPhN25mPuUbD70oRGtNvjNkZJnxbt+/SmguEvv5MBHQQeaJpiHAZbYR46JqriwQ58QV7+g0CIjYe8ZKXuYdTVASVodoGZ7tXF71SC5YQsoejP/44VVhJXTDrHNSrc0BDj/ns1ptLaCEVzCYEnp9+vkZH0EIrjfcQYjInuon2R3W9rwha2ZBFIz/9yKTFfIb2m9PspWD+y/XYZ0N5X4VyQb8xJuiPHDKEEtqadO2nRSCRCISa0+mLnC4fOnQ40BdjXaNMWVnLOAhDOIwmFWQ0JO+/9x5VVMbhShHssnZBaKdyqo4WK5QUY97v2qULcvI/xmlr0ag8cOCgPvhCG9ZJfvkR5inq66arZW3ATQQuHDC7RkjGoVdW0fCuK4eHzjUQDBHCU7YtojUTL7GxRPPmt99/V5ggsn4Z+lP4vw+XfaJN1TBXi/T33UkTbPMun873OeCDSpUorrKfPGzVN6L8Fy/fxeEZh0lunhGeF214LBwQInklNy/Je377QfFrr9FmmSZf1jUsI+CbGCdoY2GxAFF2DquvuapwQDNY/xDnf25+guTiGSu8z0Z/8LMvaE0f/Kg59xX8nlTrpZ829joGKa+bwtUPczWCEaCVU0z4NEOM29oPVdXCZbTC4YHdxEF0z0EjtCZ+i8YNgqxF/OylGF/wZzUeuC8oDUwUG4hGLSbAXvcLlDFcufzy0H77FAJclC3c/Dw8FsJc1qxQ5B6XYO9lj0ebvP7WuzLvplfNnng0qM/SligS7Nq9T6Kw7gmVbch74bAL+bC9aRFIBgSSVOPKqIiaeiAMyeZgJLh/uQhFCC0ME9HgyTZ6obtLfGXlF78FxnTGvB/pk7TPV1nVa28uEi2tRbIR36uQahtikfFLbCTZpGPrPXTUODE7XKtPcfymE+55TiYRFJUuESy84HkWSU78CAHLRt6c6vIbJyGUzUk5Lo4cOtr5bKRrBAeZMmWM9Ij+jYkUoQe+cNBKQxMH2/BYqIBsjmmffcLQMPE6hWZe0wuXBjg5N+Kkt2HTFr3ZwGTLrUnDd8xPqBfPMdHTFpgc4KMLNWm0wjiVpF+gEcMGJRwh7Dsom6liwqjluOiicI8F7puyweD1Fw0rJ8GUHj9+TDR8ftCMgd+0nWmZa+qL0ARNhW+kvvSzdaIth8YUQjw08TD94KQU2il+RYoIQ4q5RzyEScJZ8s9J54tGHOMhEeRl7jH4sbnixN/dF2C2jZA9lDo35awswpz3xdfOwJHPa0Fm5Yp3y2n3NXrewM+VIfohOKN58O6Hy/QpJaZFmJpgagEjD9H3HxCGhvuY/iIwryDCpOuLXa2F8JyieyE//choaUVKl/GeScpmySJwuhEINadnypBRH04wRxpKxBrFGjH3f29p4T1rAZrdP4mmVXkR+nCYw8n/tyIIukw0A1irMZUqIqZjUFKMeTOuva5dBosjP/+qeg0aqc3V8dnF3O4mv/wIQj1MZTjAqdeopT5YuUUOYjgAc5roIexjrkWDLdQ82koETPzFSwiteksd0RbGT+VNxa8NShLN4gVyCBkrOd9Hy3aa8D0zxcwePsDtFsFvHqw9Xvgu2gj6asMm7X/NmQ/98mzZ0Ps5+AnFS/rtB1cWzK/5dUzJ4BNwPYFpeYkbrtUO7d/7cLnwFF/rsbFD+AkONDH9SiSF4idiHSuUi740ZvxkzWdhxur3oC6e9dJPG3sdg26sI9UPATLaZIxt5jAnMb+9PfeESbbzPtdoBY0Xdxb7hHdl/DktYkjHz16KMsALhjqkY1wvXzTPnX3Y75HKheIAh9GF5PAW1xfRyG+fMs+zp3Dzl5HyCjUuvezxGH9GeWH2/De0RZAzH/h5hPrMX14oEnZe3rfPWASSAoEkFVx5KTATfHcxS+PkCkdyOIl8SUzk2Exy+g+TlUNO+6MREzGq0jAt2M7Xqt4sIG1mADNgYyFjMoQfp/vvLR9w0IcUffL0V2NJMuidSAwLjFJKJSY0TNcQOOLfAvMiBFmQ8UPmt+wwNKG07/yk4ycN4+/KnX6oBYIgAa+JQNSYC2IiQp9DkOBe3N3p8R2BrR+BHCc1/Hkhv2m70zS+XNAEInISGxGEU/nFWTrCFswqt+/co4VZnJbeJff81MWdX0r7zskeG9BQFE3gjVPjaeNHBYIZ4HQUQrD3VKNH9QbR9A+YzMKFCmgtLnyA4FwYTYNHalULOn3GdBUfOZiMYhrIGDtbGD+YOKLrYLbglfz0I69p2ucsAqkBgUSsUQXy51WXXXqJ2iobKQ5VmP/x14dwKkOGDGr+goXa51VGMffHvOV60b69INsJdwdglFRj3s/aRTl27PqP/8G9AYI3tJ3d5Icf4UBn1OA+gcAWrBMQGnEPVq5wSoAWBDPp0yUNy0lb4ysVEyU2zfhFNfOuu46J+I4GKrwp8/hSMYFEw9XtFiER+YRLA9PYpCQ//QB/ixy8oM3GIR0+MDHTRThlhFrwFBXF1QYa2/C1zoPYpKwHafsdK6YvcXhUo2rlkELepC4z6XtpY79jkHS91i8cbqThJrTspoqbB1xZlBLhdb2Hq50y/vzupSL1QXf+4b5HKxfKDceP/6v7pNvXbLg0uR8Om1B7B54Pd5/fkoIwqcSlTjwUDbt40rbvWgTiQSBpuAifJUIjplK5u/QfzCFSaqLALRK/QpzcjB3RP6o0HIYFoRX2/V3bPx2kZYM2SSyCKwQT+GnAKeDooX2DfB6gTosGTryEmYHzlNiZHieVKZU4Xftw6UfavMt92mj8kPktOycsbk2ZpEwDh4WhCObLTThfR/UdZobTY23DL6dPRlPG/bz7O448/WiT9ezYWvdldzqhvvtN252G8eVCm27YtFmfIOPgGOEUQq2M0i6YO2KyS39Fo+hMImz6MW2BUYqFMLPFb1sPaTPG7BLxNffy9DmqW98h2jeOCWgAk0leL4l2Fz7gcNBJn8fhvJs4AWTOgbFCE/FtEazNlIANODLGX5tXn1J++pG7DPa7RSA1I5CINQohFAJjNpE4m8YcUGtUIpzKL+4PZOzj8wqTNMa+2/dfUo15P2sXbQiPReQyTJHHT54uDo7HqwE9OwWZ7fGcX36ENYKIw/xhLrx63XrZwM7XTpy3i2B+aJ+uJKsJPuefYyfMKs29RHwyR74y41Xth7Jmtft1tK6kFFqZMrNe4MgY7WycgyeX4Io1gwh+bo0yU65EfPrtB2jYcbCH1jYHYLjoABsj1Prksy80X0FUtStlbTOHnIkoa7Q0/I4VopVykMUBEYdPydGX3HXw08ZexqDzoNFr/cLh5i4r39eL+w3GfW7hiTu1fuqUg81Y9lKR+mCoMoS6F61czItEBWXuxqTZq/AqHDah9g6UK9z9UGVOxD1MsPE9zPiLlaJhF2u69j2LQLwInB1vAvG+j1CJ6A0MEogJFt8/OLK7XUyyEIJ40TzBPw/qrbffUjJIaIXU2On82k95j8pE9uOPR7T2gztqDMwSacdDmEKiIYSzejcx0WOWhnotQpOURj+KlgpSffwSuU2N/OKN+jjOyDExcC6wfursJw18cMB0cgrI4ugkvhMRhd95ztf/+WAAADi2SURBVBDlQsCAhsw7Hy7VJiOYuF6Y/YSWmXnO/clpPact+I06KCZ+0QhNG7RrQpXN/a7ftN3vm+/GlwvaVPMXLNLCkpIn/bSgOYT2FX4vPpUNGnmihXAmEJqc+F1hQ8rJuV/CWS/OSidMmaWFkjC4MOw49mX+QiPjoxWf6d9M2giuyHOeOGBftWad9r9XqEB+87PuX/jVIPoq8wuMFU5Om4gj+3YtGmtzXObMaOSnH0VLy/5uEUiNCCRijWJMI4wiiiC+Q747cFD7K+E+cz+bW6KCIqxGSBXKpCiRYz6WtYu2w+ynlgh1GtStoe64rZTCUToaEk4exi8/Mm/B22qQmEjj2BhiHcGMfli/rtr/FxFQMaknUAbrBjwapjluIsjNLeUflCjKq90/Rf1O+SeL0IpANkRxbNms4SnCuKiJRHiADe0DtRuqmo810z533I8aH6e5Q2ivuZ9NxHfm9XA8YyLSJw2//YB3rix4hbpQTK2IyrxqzXo9LozpFZpXROrFRJ4NPO4VYj0kIi+vFMtYwe/TsNHjxB/vxfogijGd3OSnjb2OQVMHL/VD4AgPStRM5/xAGriwuLfGo/oAjYNYCB9ImCFDveQAL5Qmp9+9FGWgnyPodBPWDmUqPaTnHvdvzu9eyoXpMv0Uvt74r3Wm4b7226fM8+wp3HsNd9qJ+I62K3XCXBgriVjJC3axpm3fswjEi8BpF1zBAHK6AeOBIMQQIiGEQzjhYwPoJrfE2zhwR10ZVViISRfny8tOmu+404j2PV36dNrvAI6qt+7YGXj8yM+/qNHjJmtb4cBN14W7fK6f9ddbS92kJxlOqlhQDFFvNM42irYZUWhwjp7SiBMhmA8EGgjZDBEpj0ht4WipMPhmweMZJshJop2CaSgMvheKNw1jvoHZB2aNhugv+CviPj6p8CvkJNrroguza4YfR61e/DRwYn9T8es0w47GjOmbpAtWCIOcRJ75xESPMlAWJ+MA09+0dSe9SeIdv2k783Ff4zOFhXXRB0u0oNb47UJgV0baBS1ItA7YqEUT1jnTNoy9814ir72Ms3D5YbKAE3ZwxUTZ2S9pp+FjXtJ/zjZzppVR5iVO2qfOmqu1Lpy/GSaFuQt/BYYQQuO7jlNpmEBwdwprSfPzL77UwjD86Tjpn39OOELOnDmz87a+dmsz+OlHpyQWxw3mLhhAJ5ZxJGdftQjEjECsa5Q7w+uvvUZvyhdIJC0ccSPIN8QagG8heJhwvv8SOeZjXbtMeXHNQMAbNCMmisDdKSzyy4+wBrJxniW8inOO5ODqmMwDaE8z/6HFgKNnIvDOcK2B8D1EKEMLJ5TQz5Q73CdrJPXAFyARzKhfIomDQ4J0MFevEK0h53oM74JpOBvf5DJ9w2kz6y88I/yDkzjobPT0M/rA03mfaz/rsN9+QPr4eGOTTqTlPbJpLl3yhoCmEma1HEq+/tY72t1AUmqKURZDfscK61bfoaO0X6vm4ljc8EAmveT69NPGXscgZfdav2uKFtY8KAEV8KVmiDFOtHOE+BXuvlPzLazzg+SgDb9W9WtXV9eKO4RQ5HcvhUY5/XyumGIzzgyx1yDSOlpS7uAS5hk+vZbLyUNPnDo7aB4LxZ/77VNYaeTNnUvPsx99eiKgA+WDT8Jk+0AMB6a8H444PAAX+EGij7JXNcTcNePV/6nOvQcH7dnM7+bTK3bmeftpEUhuBBK7ysdQeqKqVRLbd/y4VKvXSCInXK8ZHsxoOK0jGkOxq/6LbMFEgMBk5AsT1cciNLmtdAlVpWI5LUQgTCsMJOZcTL6EWubEDPeCv4tDOi8SdWcVmDiJeDNWJoBmbbqIWVgRWYyVNl88/u9xfSrhVjENVz5nuuYabRailfQZ/Jx6sk1nVULqjgr1JmFAiGKEAKPJY/WS5XTKlMnrJxtjQi4jzKDdiKy3d993WkPObNR3nzyJdab5jpy60T5EZfxDBJVEosFZICaeJeVk2wvFmwanaDC57br0Vd36DdWCtjyyuOwV7T5OmbKL091W0i5uTTJMwuiLmAZQ98JyKhSNEMzWr1VdfDus0WGEEfSB1X454SF6IIuJUz0ZJhifb2269FY9JWz5FAldW0QEHQhowCq9CFMvOulLzG/akcpqfLngd4kx6aw7GpBZZEFk4+F0uhspPfp2NnG2jmYRJ/JFhXlt9GidSK/4+s3POAuXMPhhCrB95y4dPhiTH+f8QxvhLwXheShC4NSsYX3dVh0lRDNaDfQjEyqdjRuRIJ2ny7yDZgBtiW8yTp+dhO+Upo/XU70GjlBPNG8fmBNM3+R35jtDqILnkU3oahmHRAwrmD+fNgny049MWon4nCvtja8bBHJEVXQK5RKRvk3DIuAVgVjXKHf6l4iAmwAKOLTFh5XT9ySaAWhZEgyG8OOh+nsix3ysa5ezTmhEdGnbQrXr2kcNE+H8GOEzuOeXH8HnJ4Ib+C6zruGjEuEFwryHRfM0jwgsoPtlfUfDFD4Plw6sgQSnIPAHrhhYj50RAJ3lDXfNxpp5Eq1UhGXGx5b7eTRgOSyIhZi7H5H1e826r1Uf0SqZLg7Znesx5kXNnqiv/UHGkr7fdxDwtW/ZVNcbntG95uQUAVI2h3lQLOuw335AHcCJtQxt4JzihN/JsyMcwLyWwEnwTbgmSA7yM1Y4aBo7car2BQefR1Q7Ino7KVvW81TD+rXF/Oo85+2EX/tpY69j0E/94B1aPvm46t5vWGBfwtg0ezJ49Url79L1njnvdbVS+Ca0yHeIhk+fIc8F4UFAF8YPQkA/eykweLx+TTX6xZdV3UZPa74zQ4ZzAnNLqOALzoz9lMvw5865KRx/7qdPUR6wbNygjh6vhkfMJViApYni7Sx3Iq6rP3Cv3vtSn6p1ntDY4ZPL7CvvE/4xUiAIP9glorw2DYuAXwROu+CKE7Iu7VroE7dZ4kT9PRFsQCx+OCImHKqTGWRTXVvC/sIswbiwcOvnRT1yzLC+asSY8TpM6tKPVmjBz8iBPfWpwbiXp+lwy161enSi8t+jtR/SjCrS6zVffqWFDJVl4LMhbdOlj44oxIbeCB/Clc+k5/5EOo4TbBwxw8QRmY8Nf20JG82EF805tDu95PqOYANfO8+Pn6LeEoeMaAjBwHcToQtaI137DNY+DRDMICAwBMOM9s47otnD6Ql1RXhQt8aDnk9LE5EGjNUr40YGnGrjc4g2vE+ECiyKMC9ugjnDGfti0eojYopTuON+1vmdTcG4ZwepMS9NVu8vXq59tyHg6NOlnRb8oULvJLfD7y3i9JeyITQi+hKmY4b8pm3ec3/CXOLLhRMgNMScZPx7IdTCJMALFRLGo5H03xcnTtP+wBLt08LvOAtXZhgRp4NhNDTZCBWUSJeDxT/LnWJW4+y/7nRoq/GjhqiR4hiYPmT6EafKhGMHBzchCLxYNsP4IQilTYlzdhge+ouZEyhnqL7J3EhgBJhMtBd+/fU/v21++pG7jLF+xyyWccHm3giwY03LvmcRiAeBWNcod56MMYRSCJuJmuecDxinaKEyb0by/ZfIMR/L2uWuE/MTYeXHTZqmNSbwRUU9/fAjzEkjB/YSn33TRFN3qVr47od67syXN49q07yRREP9L3AJbdGv2zMBR+48i5Y12LVt0URr+brLGO0765GJZAwvGI7ukMPPWAVXpAne08Y/p16RQyQORlmPKTvrZbNG9VUJWS+dfSJcORJ13xm8g0NA1hzaAr70ySceCdKIjnUd9tMPTL3w9wm/enWRQkE+rMCGA2gi6qKx4pVvMunG8+l1rBAJEeEzhNuAN4WndRMCt3r/b+9O4G0q1ziOP2YyHJTMU0SGUGjSoEmTm+pWKqWieZKkQYlQVCp1NSjNs6bbhKtJSVGkEMmUeQzHPHff/5u17bMdnAnr7PV7P59z99l77b3W+37ftc+1np73WReeq1t+J27K8ecZneOMfgczOz79h6fnn3wozXWJ/n3f0V2TKSAdZDZOc98FlWhRZo+y9RObzgcFuhS4yuy1lJY2K5Pxqede8QFy9195/X8YvP3ma93fqWN3+Z3LTL929W/o4e46UkH5+JbRcyr4TPDvOZWVUMBKd5/V372ud3TY7XLHYB+ZedTcxN/wTNfCarqmvttdf511+smx+Utvv5mxS+/zvIbAnhbI4wIL2SvUtKd7yP6TQuCF1962Z90/kh/u0cUHfbIyqJzYR1aOy2cQyEkBXbTpv0ze5/7hov8KSUMgWQVSU1NdZuH2u+wl6zh3Ny6+87sTYjsCCCAQHgHdbKLDXd1cQHOeu0HYg3ttOXB4BOgJAuEUyBvObtErBBBAIPkElGWoujBajpHRZZfJp8CIEIiOAN/56Mw1I0UAgdwloEz1jq7MQuINeka65aLKjlLWov69RkMAgXAI7POlguFgoBcIIIDAnhMY/9tkXwBeRdlVr+x6tzxW9apoCCCQnAJ855NzXhkVAggkj8Bfy1f45bb/vvSaHWqKaimm6pjGl6tJnpEzEgRypwCBq9w5b/QaAQRykYBqQIx2NXJUq0xBK18rIxf1n64igEDmBPjOZ86LdyOAAAJ7W6D5sUfZIS/29/X+dLMJZcjq32mqZ3vN5ZekqSm7t/vG8RBAYEcBalztaMIrCCCAAAIIIJBNAWpcZROQjyOAAAIIIIAAAgh4AWpccSIggAACCCCAAAIIIIAAAggggAACCIRSgMBVKKeFTiGAAAIIIIAAAggggAACCCCAAAIIELjiHEAAAQQQQAABBBBAAAEEEEAAAQQQCKUAgatQTgudQgABBBBAAAEEEEAAAQQQQAABBBAgcMU5gAACCCCAAAIIIIAAAggggAACCCAQSgECV6GcFjqFAAIIIIAAAggggAACCCCAAAIIIEDginMAAQQQQAABBBBAAAEEEEAAAQQQQCCUAgSuQjktdAoBBBBAAAEEEEAAAQQQQAABBBBAgMAV5wACCCCAAAIIIIAAAggggAACCCCAQCgFCFyFclroFAIIIIAAAggggAACCCCAAAIIIIAAgSvOAQQQQAABBBBAAAEEEEAAAQQQQACBUAoQuArltNApBBBAAAEEEIiiwN9//20rV62yrVu35qrhfz3ie2t6Ykt74bW390q/165dZxs2bExzLD3X69lp9/Z6xE5s2dp++/2PLO8mJ/aR5YMn6Qc1H5oX2dIQQAABBKInQOAqenPOiBFAAAEEEEAgpAIffDLUTm11iT321PMh7eG+79bMWbPtvMuuscuv72grUlf6DulRz/W6ttMQQAABBBBAIHkECFwlz1wyEgQQQAABBBDI5QJFixaxvPny2QH7l94rI9nbmVI5Maj9iuxnxYoWtVIlU6xggQJ+l/mcWdH9/nld22kI5AaBJUv/srMvamdX33JHtrMFc8N46SMCCCCQVYH8Wf0gn0MAAQQQQAABBBDIWYHTT25u+qHtXKDsgQfYe68+m+YNxYsVtRf6s4wsDQpPEEAAAQQQSBIBMq6SZCIZBgIIIIAAAggggAACCCCAAAIIIJBsAmRcJduMMh4EEEAAAQSSUEBFmX8c+4vd36WTDfvyG/vym5G2bv16O7DMAdbmgnPsgnNb2qzZc+2JZ16wn3+daJs3b7ZKFSvYde0utVOaH2t58uSJqajw+bCvv7UXXxtks+bMNXMF0cuWPdAuOu9ffj8F8m//55GOO37iZHug6x32wSdD0hz3hqva2hmnNLe8ebf/d0AVVx/zy3h7ZuBrNmXqdNu4aZPtX7qUy6I6wa658lLbr0jhWD/S+0VL9+6470Hf7/aXXeTfosLUN93e1U47+XhrcdIJ9uSzL9rkP6b5bfXr1LZ7O99i1atWTrO7aTP+jFmoDyklittZp51sV19+sV9mFxwn+NCzL75u+jnN9bPXvZ39y9kdi3ayes0ae/6Vt+x/bs7+WrbcL+2rfXANu+maK+zwhvWDw8ce0+t3S9fveDstr2p/U2dT5tUTfe63/fYr4pdZdbirmy1avNRnXpU5YP/YPtP7Zclfy6z/cy/bF1+PSHOuaMzptYWLl9gA5xOcd8rwOqHZUXatO7/KHVgmvY/s8Fpmzjt9OLD77H9fWurKVd5OZrfddE1svoNzQ+9Nr2lJZf++Pa3eIbX85qAPz7/8ls2dN9/cF8OqVq5k7S670FqceHyac1mF9ge++rY9dP/d7r0L7I13/2uLlyy1IoULW8vTT/FzGH8+58T5on18Mfw7e3rgqzZ3/gJ/rJNPaOat0xtfZsaT3uf1mor6v/fxYHtz2/j0fa5Tq6bdeM3l1qRRA/+3o8/jT9n7Hw+xjjdcZZe4vzfxTU767uhvTfCdTTxfZKZxBOdLcA4vWLTY70qPJ5x1gZV3f4eUORicv4l909LYo5oebrde394qV6oQ60ZO/X0M/i7E/x0IDpLeOINtPCKAAAJ7WiBfd9f29EHYPwIIIIAAAghES2DDhg1W2F2s5VT76tvvbZIL4Pzvq29tzZq1/uJNF3czZs6yH34c6y6sF7qLx9fc3fj+tqOPaGxFXIBoqgvefDtytNWpXTN2kaeA1pMDXrL+7qdwoUJ23DFHWPVqVWz23Hmmi7alLqBxzJGNYxfwOq4CV5+44EHicb922/K7IFejQ+vFAmPvfPiJ9ejTz9a4u9tp3wrSLFu2wkaOHmMTJ/1uJx13jBXYVpcpPZs/Z8+xz10wpclhDWKBHV3kDh72tU13Yx3y+ddWongxa9q4kQ/WTJ0x0wX0fvUX9sWK/lPbSR43d77PB3F0kVuvTi1bsWKl78OE33635sce7etDKZhRrmwZm+D6dUrz4/xF95FNDnMBoX8CMZkZy8763eGu7vbNiB+sxkFV7QjX51KlStqE3yb7cSjYVr1qlRjDd6N+so539/ABiyaHN7SGh9a11avX2rffj3ZzMMn3u1DBgn7cHw/+3AXg9nOBwxO956ZNm23oF8P9HLU6s4WvdxXbccIv8xcsshs63WNjx4238uXKWrOjm/rg1Tsffmoz/pxtClye2eIkO3Bb8Gvi5Cl2fccuNsE91jvkYFPf8ruaWt+NGmNDPx9uhzWs5wOowWF0zsyeM89q1axuY10Q9eAa1Uxh08ycd5rzwK5yxfLunGxiJVNK2I8//+qDgIc1qO8Dd5tcUHLtunV2UPWq7ngHxX50jsxfuMiKu8dzW57m53uTO/f7PPaUD8DlzZfXnZ9HWg33OY15qDuvFi/5y452536+bYHYceMn+mDxT+6Yo34aZ/XdeVTzoGp+v79M+M2WL1+R5ruSmfMlsIp/VNDqpTcG2SNPPOOD0ke6c1eGo8eMs8+GfWWbNm70/T3p+Gb+Y5kdT/yxgt8VGLq7Rx8b9MEnfg6PdeeCAs36rup8qlK5oj9msWLF7MvhI2y9+7um70r+/Pn8LnQXy4GvvuX7e+NVl/vP6nt67a132Xj3XWvS6FBr1KCe77sC7yN++NGOO/oIPx9Vq1S0w9y2iZOmWNkyZazDde3tpBOOsRrVqvr9r1q9xjrf94ALmA2O9U3nwA8//WxDvvjamrrzMAhw5dTfx+B7rHkOnAMrnQ9j3Hcm/m9TsI1HBBBAYE8LbP9Pinv6SOwfAQQQQAABBBDIhsBWd2F76b/PtpuvvTIWWBrlLmrvdBd3Q78cble1vchlFF0S2/bJkC+s1yNP2DAX7NKFv9qUaTNMQY/6dQ+xfn26mzJn1JRJcv1t9/ggycXnt/IXq36D+x8dt63Lsriu/WU+qKHXFQDq2OV+n6WhC9GDa1T3+3jz3Y/8xeRTj/ayiuXL+V3o4rbTvT3tlwmT7FcXgFFgLStto7tw73pHB58VpQwyXbh3ub+PDf9ulAs+TXaBjON8AOa9jwa7JLK/rW+ve02BKDW9t8dD/Xy22ggXCFJgpsVJx7ugT34/hpousKTnQZNHdsfy8ZDPbfKUqXbtlW18UCzIehvuAll393jIPnR3UGx2ZFMrVKigz8Z68tmXLJ8LqDz7eG87tN4hvivqd7+nB9ogF1T6xO0vMdsl6G9GH+Xy2jsf2Jy5833WUJdON8XmdNz436xz1162ZcvW2O4UPHjkyWd99pMy0U498Ti/TftRFlnPh5/wmW1B5pf6u3HjJhe4XGu9XZBI2WJ58+TN1Hmnfb/4+iCb4rLqlKFzZZsLY4FRzXW3B/vaMy5I+/iD3fw5duetN8T6q1/U59vd+absnE4+O+uf4ODn7nsgQwVS+vbqGjv3lc3VuesDPjh0VNPDfGAmfofF3Hdk4H8etiqVKvqXFeS97ta7bdSYn928rfABtJw4X6a5gM8773/ig20aW3AOKLjU+7H+vn/x/crqeOL3oaDkTy7we+xRTe3hnvfEzoXxLrja4c7u9vqgD3yQXAG+ai7QOnnKNJs2889YBttMF2ieNmOWD44HPp+6ILcC4Pd0utnOcUFDNc2pMpYGvPSGffjZUFOQ63gXOFSA8tW33rfSpVJ8RpayB4M2yAXBFexSdlv8earAdvfej9krb73nsyMVPFfLib+PwbF5RAABBMImsD23PWw9oz8IIIAAAggggECcgJY9neICB/FL82q4bKmUEiX8XfjObOGCBHHL9g6qXsUtI9vP5i1YGLtjV83q1WzQy0/b4727xS7cdQgtOVRmljJ3lFUR33Tck9wyn/glhLqo/tcZp/olXAp4qCmb6EW3zOelpx+1Ci6TJ2i6GFWWgrK9EvcdvCcjj8e7pWlawhMEgNSfpoc38h+d5TJ81BR0UYArsem9N7vleT1d8EVZYLtrOTGWC85paYPffcUua/3vWJ91XGWAlXF3TZTFli1bfFe05G2WCwIoy6N+3dqx7qnfF/27lZ9fZZIpiJGdtjw11ca6pZxaZtj+stZp5lTZL8pQi2/KvPlj2kyfPXficUfHNmkOtARVWXUTJ//hA5J/uKBoywuv8Jl7usOhAnAKNCowl5nzTksqNdbKLlB0tjvHgvnWwY89qok7lxq6YMmfPjMt1qFtvyhw9thTz/vlsmeceqIFfZabsvUKFy5k17dvm+bc1zJSLXst6IKYH302bAfjG1zANgjK6DDKDlIgZ82adbZ02TJ/5Jw4X8a57LRlK1bYuf86PRa00s7lp6XA+h4GLTvjCfahR31XNm87B+Nfr1v7YL9EUkv/FABUgPs0t0xXSzJHuYynoP3qgtF6TVmM6qfaOpcBl9g0h/o+9Ol+t8+4Stye+FwOCoymd542c0H4ui7zT0E3BQ6DlhN/H4N98YgAAgiETYCMq7DNCP1BAAEEEEAAgUwLKMBReNuF464+rIvLElbcPvx0qKtZNdTXuFKdnKDFXxwHr+3sscG2rKAZf87yb1EfSrvgleogKatnugsuqL5UTjVlI8UHMbTfMgeUTrN7je9st1ROdb6URXOyC660cMG+hvXr+uBcfFZVmg8mPMmJsWi52kJ3Ed+3/wAb8f2PPqsq/jC6KA/a1OkzfcaITBPHqKVyQ957NXirSyna/mtmf1uwcLHLclnml72V2X/XdbC070kuY0wBR2XkBJktwTH1/PCGh/r51vtUQ6zbnbfaRy6jT5kyBQsWCN7qgxoZPe8WuWw3ZUGpnpWWhsU3HfPRB7rGv5Tmd2WzqQacPtvB1UEK+rxy1Sp3rs/zAaiDqlVO8xk9qVK5gguSlPHv0XvLFNpuk88ti4xvOsdSEvqVE+eLspy8qVsGubuWnfHE71uZlzrntEy1zVW32PmtzrSjXfCyYoVyfmlr/HuVvViqZIrPyrzw3H/5gJY+d4ALwsZnUZ7lAuiq09Xb1cXS9rNOO8kvJ9ZnVecqIy04TxU0U5ZWMI/BZxe7TK0gcBj/PQq2Jz5m9O9j4ud4jgACCIRFgMBVWGaCfiCAAAIIIIDAHhcIllH94rKkVEOp9XnXx7JP3nF1blTvJ7Nttau5paZslwcf7W+fDv3C127SkkYFstS+dgGFL1yNnL3RtJxN9aNUqF5BDPUnr8v4UKbVra64dHpF0RP7lRNjCZZTaumcAmhHuJo8CoIo6KBi1um1otvqdKW3LSdfU+AlyJDJyH531q/4wKGKtOtnsMtsSmxZOe9Upy0xYJG43/jn8n6o39M+M+n2W66Lndfx71HGVf58O/7zv3DBQr6A//r1abMN4z+7q99z4nzR/lV3roTLAMtoy+54lEn15EM9YsXZtSxUTRlz55zVIs1NAaq6elf67igbTnWsirpMSmXZKZuyvKsVFzRlY77+/JOxYv7fjBzlN1WqUN5ntiXeLCL4XHqPyrwa6mptpdcyE2RP7/O8hgACCOQmgR3/nys39Z6+IoAAAggggAACmRBQfScFrVQ35p7bb06ztFBFwLMSuAqKov/mlox99c13/kL2UVdDKL5ezZx58/da4EocNV1x5f880tMVq99q8+YvdMWch9tb733kirZ3tUdcLZ+g5tfO6LI7FmUpvfHuh75Ife/77rTmccvsgro+6R1bBfD3RktNXemXxGU0eLWzfil7KyMtK+fdunXrfbZXRoJXCoz1c4FKfab73bfZwW7+02sKTG3esnmHTes3bvBZXjtsyOAL2T1fgsNo+ehKl22W0ZYT49E5oDuT6kf16Mb+OsFee/sDfxfFGbPm2CM97vFBTs2DMhZ1U4aRo3+yUikptmrVav9a4hwpgNntro52n8vA0/mu2mQqPH9vz4dtmStq39rdwTQjTXWwdFfHxP1n5LO8BwEEEEgmAWpcJdNsMhYEEEAAAQQQ2KWAbjuvIsa6e1h8PSwVT44vyr3LnWzbqLuGqR3k7gKmttxlR6x1gQNlYMQHrbQts/vWZ7LSVM9LWTfv/vdTXxBaY6xcqYJdc8UlrlD31X7pogJ0u2vZHYuyrFSrSbWsVNMqvunOj1v/3r48U9tU3F5ZYTLVXMS3OfMW2Bnnt/VBt+zWuCpf7kC/vFJFtZf89Vf8YdL9XbWOFDTQki8F4+Kbnv/sghzarvftqmXmvCvr6q2p7pSW9q1wAbb4pmN2uqentTi3jc/60bagrpWW2l156YW+9lb8Z/R7ieLFTRlDKqw+4885iZvdXRDnu7tQLvHv0Xsz27J7vuh4DerV8cY/u7vX7a7l1Hje/3iI9XFL+lSsX03fW91soW+ve+wQl6H4uyuQP3f+glh31EfVHtOSTGVC6Xe9FrSVLpClmwkMfPVtHxjVslfVz7vQ1ehScf+C7q6Y37k7C+7uPNb3RneEnDJtui1087K3mlyV9UZDAAEEwiZA4CpsM0J/EEAAAQQQQGCPCRR3t7VX0+3jdcGvpkCJCiF/u21Jj38x7n/WujvEaXlQfC0sLcvSHdpKlyxph7nlQ2q64FMQ4/vRY/2d3YJdqHi77hC2N1ohd2H808/j/YWz7qAY3zZv/qcQepEi2+9cFmwPljsGz7M7Fi0J1D6WuLurjf1lQrBbf8H+zAuvuiDJ0thr+qXeIbWsapXKbl5G2sRJU2LbNEcvvv6OLXNBsBauOHZGM6RiO0j4RVkyjRs18MdXBlpwDuhtmqf4wtt6TTWQatWs7mt0abln0HTOqI6RanfVd4E51RDbVcvMebd/6VK+ZtIcF2TSnRnjA3nqg/rYsH4dV5fqn7v8feCCL4Pdney0jK31eWfvUCNM/ZKbirUrQ0n+ytAKmuppPT3wVRfU3Gyt3PK4rBhn93xRX/Q90vdJd/38fer0oHv+nHnX3VVSRdCDllPj2eAyvBS8evuDj9OcCwo0b3HZijqPFWwKmupZNTnsUPtz9lyb7IJaMtd8BU3fvz9cvbbX3n7Pfogr4q7tQeBT+1O9uviWmDlW5oD93R03m/jzdOArb6UJdOmcfbT/c/4n/vyN319Wf1dNNS1R1XdQQfCg6XucXsBbx1eAOqf7ERyXRwQQQCAQYKlgIMEjAggggAACCCS9wAnuznyD3EWwsiVUwFwBE10kazlPHjd6Bal0IZbYlEEx7KsRPntIS33G/PyrvxC9tt2l7o5x/2RcKXjRyNXNGjNuvJ3b5ipr4IILc+ctNC0TDC5UZ2/L7Ejcf04914X1tVe2se69H7P2N95uTVxdKdXZmuv6oGwmbW/piogHTXV3lN3z/keDfdbJIbVq2FVtL/aBmOyMRYEF3R1Oxt1cX94Y9KG/wFdWkC7SlQmmZXZrXfF2Zbno4v+W6660rr362nUd7/b91kX0+ImTfcaLlnaefmrzoNtZflQGzGWtz7PRY8f580BBRs3TfHeRrrsDKkhUpHDh2P5VA6mzqxfVqUtPu7fXIz4AWalihZhnSXdHSxVBT8ywi+1g2y+ZOe/Ux3Yuc0p3WhzgaoF98fUIq12rZuyYKhze8Yar/R0RJ7ui8M+/8qblcZ6FXKBQdxRMbLqzoJacneqWuWk+FHA9v+217o6UDf1bf3Ln8ooVqf4umSe4u+NlpeXEua/vUet//8uPOTh35a/+KbimjLz4lhPj0Z1BVYNKfxOCc0F3ugxMdDfDSs47vp1+yon+Do0K9Mk2/mYCOu+vb3eZdexyv93Z7UFf+F3nS/A3Q4EwFYAPlv4pw6mSu/nAWPc349a777caLnvzOvc3Rd8H3elRN374bNhXPgim+dLn9Z3Q+aq/Pfnd85xsysrTufLR4GHWzv390DFXuyCnzpv0glOP/meAD/xp6ePtN1+bk11hXwgggEAagbTh/jSbeIIAAggggAACCCSXgO7A1b9vT3fBeYy/WP/mux98ZtDjvbtZu8su8ssIdYe7+LafK9T8QNc73JLAyvaly7L5fvQYK+nuEHafq2FzxSUXxC5cFbxQ/ajzW51lWiqnbJw1LhB2b+dbrGvnDn6X09ydBuMzaOKPk1O/qzi76lupGLsCbCrOrmLSZ7qMm5eeftRqbAu06XiqhXXV5Rf7QJLqMC1e8s/yuV2Npftdt/kgwu7GIuNHH7zPLT+r5ItYKxjQ5LCG9tpzT/gLegUjdAe9oOnOfc8/+ZDPYlG/B7sLdt2VsaMrKN+l000+UBO8NzuPFcqXtQH9+tiZLU5y411qQ10x9WXLU61Hl07Wyt2RMbHVr1PbXhnwuPebMnWG99SjPPW6tu+u7eq8u9ydQ1q+Gn/eKePm6Ud72UXntzLdQU5zGBxTfdcY1LSMTI4KtigrUO9L/An2qzvLyfH+ezr5Au6ff/Wt6UdFvvVadox3db5k9NxXAOjKNhdaL/dd0/I6fc++HTnajjmisen7md6dDLM7HgXGHu/d3de3Wrd+vT/nPneBwhQXkJTJbTdeHft+B3Os70/1qlV8wDpxGazeo+Lszz/5sB3ZuJGfM83HOBf4adzoUHvxqb5p7kCoQJdu4qAlh8ri/NUFpYIWFI7XDRUU6FJWqALuRVyB/Ydc3S1ZxQfNgs9l51HHue2ma+yCc1r6emk65sTJU+w8F4TW37HEVrF8Of+91PJWGgIIILAnBfK4fzylLSSwJ4/GvhFAAAEEEEAgEgKpqanuQjMl149VWTYjR43xwS5lZ2WlaUnRnd16+2DNXR1v8IGCrOyHz/wjoOy49jd1NgWDnuhz/26zncLspqLdPR9+wmfhtLu0dZaW6YV5fMl47v8yYZJ1uPM+u9BlGd141eVh5qdvCCCAQNIIsFQwaaaSgSCAAAIIIIBA2ARUhPk/A17yy42UeaIMC1r2BNY70/SWLWVvr3v/00td3aD+z71sJ5/QzC8Py+nsmb0/orRHTMZzX+fd+x8PtgIFCliLE49PO2CeIYAAAgjsMQECV3uMlh0jgAACCCCAQNQF1qxbawpQaOngx0OGWflyZU1L4miZF1Cx6Nff+cAVe5/oTXX3NxWSzq1NS/xWrlrllwi++9/P7NC6ta3Obu5OmJvGmkzn/sxZc9wND97yNxpQDTwtKa1etXJumg76igACCORqAWpc5erpo/MIIIAAAgggEGYB3cXuvLPPsBWpK63f0y+YimnTsiagO+HpTn6z5sy15sceZVdfcUmO1/jJWs+y9indFfAsV2frD3f3R93Vb9aceVnbUUg/lUzn/oaNG+3Hsb/YqlWrfQ071YEKCqyHlJ9uIYAAAkklQI2rpJpOBoMAAggggEA4BJKlxlU4NOkFAggggAACCCAQXQEyrqI794wcAQQQQAABBBBAAAEEEEAAAQQQCLUAgatQTw+dQwABBBBAAAEEEEAAAQQQQAABBKIrQOAqunPPyBFAAAEEEEAAAQQQQAABBBBAAIFQCxC4CvX00DkEEEAAAQQQQAABBBBAAAEEEEAgugIErqI794wcAQQQQAABBBBAAAEEEEAAAQQQCLUAgatQTw+dQwABBBBAAAEEEEAAAQQQQAABBKIrQOAqunPPyBFAAAEEEEAAAQQQQAABBBBAAIFQCxC4CvX00DkEEEAAAQQQQAABBBBAAAEEEEAgugIErqI794wcAQQQQAABBBBAAAEEEEAAAQQQCLUAgatQTw+dQwABBBBAAAEEEEAAAQQQQAABBKIrQOAqunPPyBFAAAEEEEAAAQQQQAABBBBAAIFQCxC4CvX00DkEEEAAAQQQQAABBBBAAAEEEEAgugIErqI794wcAQQQQAABBBBAAAEEEEAAAQQQCLUAgatQTw+dQwABBBBAAAEEEEAAAQQQQAABBKIrQOAqunPPyBFAAAEEEEAAAQQQQAABBBBAAIFQCxC4CvX00DkEEEAAAQQQQAABBBBAAAEEEEAgugIErqI794wcAQQQQAABBBBAAAEEEEAAAQQQCLUAgatQTw+dQwABBBBAAAEEEEAAAQQQQAABBKIrQOAqunPPyBFAAAEEEEAAAQQQQAABBBBAAIFQCxC4CvX00DkEEEAAAQQQQAABBBBAAAEEEEAgugIErqI794wcAQQQQAABBBBAAAEEEEAAAQQQCLUAgatQTw+dQwABBBBAAAEEEEAAAQQQQAABBKIrQOAqunPPyBFAAAEEEEAAAQQQQAABBBBAAIFQCxC4CvX00DkEEEAAAQQQQAABBBBAAAEEEEAgugIErqI794wcAQQQQAABBBBAAAEEEEAAAQQQCLUAgatQTw+dQwABBBBAAAEEEEAAAQQQQAABBKIrQOAqunPPyBFAAAEEEEAAAQQQQAABBBBAAIFQCxC4CvX00DkEEEAAAQQQQAABBBBAAAEEEEAgugIErqI794wcAQQQQAABBBBAAAEEEEAAAQQQCLUAgatQTw+dQwABBBBAAAEEEEAAAQQQQAABBKIrQOAqunPPyBFAAAEEEEAAAQQQQAABBBBAAIFQCxC4CvX00DkEEEAAAQQQQAABBBBAAAEEEEAgugIErqI794wcAQQQQAABBBBAAAEEEEAAAQQQCLUAgatQTw+dQwABBBBAAAEEEEAAAQQQQAABBKIrQOAqunPPyBFAAAEEEEAAAQQQQAAB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" class="kg-image" alt loading="lazy"><figcaption>A segment from the technical translation into Polish.</figcaption></figure><p><strong>🇩🇪 German</strong></p><p>Glossary adherence was a bit tricky here. “Control panel” was translated correctly only when it appeared in the source in the lower case, but the upper case was rendered as an untranslatable term.</p><p>Apart from this little glitch, the style guide was applied correctly, and the language override requesting a formal tone was respected. There were no problems in the target text, which means one full point again for the style guide adherence and translation, and a little bit less for glossary adherence.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-text"><strong>Total score: </strong>2.8/3 points</div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="data:image/png;base64,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" class="kg-image" alt loading="lazy"><figcaption>A segment from the technical translation into German.</figcaption></figure><p><strong>🇪🇸 Spanish</strong></p><p>The technical text didn’t pose any challenges in this language either. <strong>All phrases were rendered as Spanish for Spain</strong> with no linguistic issues. The style guide was applied, and the glossary was missed only in the case of “control panel” written in the upper case. It seems the model followed a similar pattern of case confusion for all languages.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-text"><strong>Total score: </strong>2.8/3 points</div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/03/Captura-de-pantalla-2026-03-30-a-las-16.59.29.png" class="kg-image" alt loading="lazy" width="2000" height="426" srcset="https://ghost.localazy.com/content/images/size/w600/2026/03/Captura-de-pantalla-2026-03-30-a-las-16.59.29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/03/Captura-de-pantalla-2026-03-30-a-las-16.59.29.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/03/Captura-de-pantalla-2026-03-30-a-las-16.59.29.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/03/Captura-de-pantalla-2026-03-30-a-las-16.59.29.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>A segment from the technical translation into Spanish.</figcaption></figure><h2 id="3-one-more-attempt-mobile-app-strings">3️⃣ One more attempt: Mobile app strings <a class="markdownit-header-anchor" href="#3-one-more-attempt-mobile-app-strings">🔗</a></h2><p>Since the tool passed the first test with flying colors, I decided to raise the bar. In the final experiment, <strong>I created several ambiguous mobile app strings with hidden pitfalls, such as variables representing numbers</strong>. 📵 These tricky creatures may change the grammatical case of surrounding words when you translate into highly inflected languages, so it was a trap worth constructing. My high-inflected target language this time was Polish, and the plan was to test how Localazy AI can handle not only the delicate placeholder-infused strings but also gender neutrality in more complicated sentences.</p><h3 id="source-text">Source text <a class="markdownit-header-anchor" href="#source-text">🔗</a></h3><pre><code>Welcome back! 
All set and ready 
Ready to go 
Level %d reached 
%d points earned 
%d tasks completed today 
Goal missed yesterday 
%d-day streak achieved 
Performance improved 
New badge unlocked 
Early access granted 
Invitation received 
One step closer to your goal 
Goal completed 
Great progress so far 
Improvement detected 
No activity today 
Inactive for %d days 
Rank: #%d this week 
Daily goal achieved 
Plan not completed 
Preferences updated 
Offline mode active 
Session expired 
Try again later 
Something went wrong 
Action required 
Continue 
Skip for now 
Keep going</code></pre><p>The source text was accompanied by a glossary of 10 terms and a style guide explaining how to avoid some of the pitfalls intended to push the tool to the extreme. Since the strings were for a fictional health-tracking app, the instructions called for a neutral, friendly tone. The style guide also included <strong>examples of how to translate gendered phrases</strong> (e.g., by using passive voice or preferring noun-based instead of verb-based phrases), <strong>and the rule to adjust grammar around variables representing numbers </strong>(e.g., “Points earned: %d”, instead of “%d points earned”).</p><h3 id="results">Results <a class="markdownit-header-anchor" href="#results">🔗</a></h3><p>What happened in this case? Here’s a short overview:</p><p><strong>📲 Mobile app in action</strong></p><p>The cost of translating my 90 words of mobile app was only <strong>0.6 credits</strong> and took less than a minute. This quick and cheap action resulted in <strong>surprisingly good content</strong>. Since my instructions regarding strings with variables were very precise, the tool rose to the challenge and provided grammatically correct phrases. For example, “%d task completed today” was rendered as “<em>Zadania ukończone dziś: %d</em>” to avoid problems with cases (the noun form changes depending on the preceding number).</p><p><strong>The tool did well in terms of gender-neutrality</strong>, also in instances where no matching or similar examples were available in the style guide. Specific rules such as “Avoid gendered verb forms whenever possible” came to life in the translation of the string “Ready to start” that became a neutral “<em>Gotowe do startu</em>” rather than masculine-marked “<em>Gotowy</em>” or feminine “<em>Gotowa</em>”.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/03/Captura-de-pantalla-2026-03-30-a-las-18.03.00.png" class="kg-image" alt loading="lazy" width="2000" height="364" srcset="https://ghost.localazy.com/content/images/size/w600/2026/03/Captura-de-pantalla-2026-03-30-a-las-18.03.00.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/03/Captura-de-pantalla-2026-03-30-a-las-18.03.00.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/03/Captura-de-pantalla-2026-03-30-a-las-18.03.00.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/03/Captura-de-pantalla-2026-03-30-a-las-18.03.00.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Three segments from the mobile app translation into Polish.</figcaption></figure><p>All the glossary terms were applied correctly, and my ambiguous fitness app, constructed to test the tool’s limits, turned out to be less of a workout than expected.</p><p>Once again, <strong>the test confirmed that Localazy AI follows not only the glossary, but also the style guide</strong>, which is not an easy quest. Many localization platforms that I had the pleasure to explore don’t include the style guide feature, or the style guide rules are followed partially. So, hats off to Localazy for solving this issue.</p><p><strong>☝️ A word of warning</strong></p><p>All this, of course, doesn’t mean that you can simply create a super-specific set of rules and an extensive glossary, hit “Use Localazy AI” and then publish the output in the blink of an eye. Every combination of language, content, and instructions may provide different results, so <strong>don’t forget to invite a professional linguist into your project</strong> to make sure your content works as required.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/lBJFHeAJE6o?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Localazy AI: Does It Understand Your Context?"></iframe></figure><blockquote>👁️ If this test peaked your curiosity, <a href="https://localazy.com/login">upload your own strings today</a> to experiment with formality and different target languages. You can use the source text examples provided above by hitting the copy button on the upper right-hand side of the code boxes</blockquote><h2 id="room-for-improvement">🔬 Room for improvement <a class="markdownit-header-anchor" href="#room-for-improvement">🔗</a></h2><p>Two decades ago, Daft Punk had us all singing "Harder, Better, Faster, Stronger”. Not everything needs to be pushed to extremes, but sometimes it pays to “Work it harder, make it better”, even if the context changes. So, if I were to point out <strong>where Localazy AI could level up</strong>, I’d focus on the following:</p><h3 id="1-uploading-glossaries-as-external-files">1. Uploading glossaries as external files <a class="markdownit-header-anchor" href="#1-uploading-glossaries-as-external-files">🔗</a></h3><p>When creating the projects, my biggest limitation was<strong> the lack of an option to add a style guide or glossary as a file</strong>. Both assets have to be submitted manually. For style, that’s manageable: the tool asks plenty of questions and guides you toward the right choices. Glossaries, however, are another story.</p><p>Entering terms one by one quickly becomes tiring, especially when you already have TBX or Excel glossaries sitting in your local folders. And many companies do. Adding terms manually, across multiple languages, isn’t exactly the most rewarding task. Even with my modest set of 10 terms across three languages, the setup took longer than the AI translation itself. If you’re saving time with AI translation, you probably don’t want to give it back by copy-pasting content that already exists elsewhere.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">ℹ️</div><div class="kg-callout-text"><strong>Update:</strong> We've revamped the glossary, allowing you to easily upload your existing glossary files.</div></div><h3 id="2-including-screenshots-in-ai-translation">2. Including screenshots in AI translation <a class="markdownit-header-anchor" href="#2-including-screenshots-in-ai-translation">🔗</a></h3><p>Localazy AI looks into style guides and glossaries when translating. But sometimes it helps to look further. For example, on screenshots. Those pieces of content serve as an invaluable source of context, especially for mobile apps and games. <strong>The tool <a href="https://localazy.com/docs/general/screenshots">can already recognize text from screenshots</a></strong> and match it with relevant source keys to show more content for translators. <strong>Maybe it could also go an extra mile</strong> and consider the screenshots as context for the AI-powered translation?</p><h3 id="3-exporting-style-guides-and-glossaries">3. Exporting style guides and glossaries <a class="markdownit-header-anchor" href="#3-exporting-style-guides-and-glossaries">🔗</a></h3><p>Another priceless addition would be <strong>the export option for glossaries or style guides</strong>. In my experiments, I planned to create two similar projects using the same assets. But once I realized this would require manually recreating both the style guide and glossary, I quickly dropped the idea.</p><p>Exporting these context assets isn’t just useful for controlled experiments. It matters in real-life projects, too. You might be working on a new project for the same client and want to reuse an existing glossary or style guide. Without an export option, that means starting from scratch. A simple export feature could save a significant amount of time and avoid unnecessary frustrations.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">💙</div><div class="kg-callout-text"><strong>Note from the Localazy team</strong>: These features are coming to the tool soon! Keep an eye on <a href="https://localazy.com/tags/release-update">our Release Updates</a> to be the first to know when they're live.</div></div><h2 id="delivered-as-promised">👍 Delivered as promised <a class="markdownit-header-anchor" href="#delivered-as-promised">🔗</a></h2><p>Grand promises are often difficult to keep. My experiments proved that Localazy AI is not selling fantasy by claiming it can <em>deliver</em> <em>high-quality translations that understand your project’s context, terminology, and style requirements.</em></p><p>However, to see this promise fulfilled in your projects, you will need much more than a great tool. <strong>Detailed style instructions with sample translations</strong> indicating your desired style, decent glossaries, and human expertise remain invaluable factors for your success story. Will you give it a try? </p>]]></content:encoded>
            <author>Dorota Pawlak</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/03/localazy-AI-series_10-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Managing your Android and iOS projects in Localazy]]></title>
            <link>https://localazy.com/blog/managing-your-android-and-ios-projects-in-localazy</link>
            <guid isPermaLink="false">managing-your-android-and-ios-projects-in-localazy</guid>
            <pubDate>Thu, 26 Mar 2026 14:25:36 GMT</pubDate>
            <description><![CDATA[Your once iOS-only app opened its doors to Android? Do you need to reach both Android and iOS users? If you're managing your multilingual projects in Localazy, this doesn't have to double your localization efforts. Handle your mixed strings with these simple methods. ]]></description>
            <content:encoded><![CDATA[<p>More often than not, mobile app development teams target both the leading platforms: <strong><a href="https://localazy.com/docs/ios/installation-and-setup/">iOS</a></strong> and<strong> <a href="https://localazy.com/docs/android/localazy-android-library/">Android</a></strong>. <strong>Maintaining separate projects for each platform, they hold rarely identical</strong>, most of the time overlapping strings. And if you’ve <em>rightfully</em> brought localization into the equation, you must now be faced with a fresh set of challenges around mobile app localization, especially when both platforms evolve separately.</p><p>Without <a href="https://localazy.com/blog/technical-debt-in-i18n-why-building-for-localization-from-day-one-pays-off">a proper i18n project setup</a> (especially when both your apps evolve in parallel), you are likely to deal with duplicated work, conflicting translations, missing keys, inconsistent product wording, etc. This is where i18n project management comes into play and features like <a href="https://localazy.com/docs/general/format-conversions-feature">format conversion</a> become important.<br><br>Let's see <strong>how you can structure your projects right to avoid problems in the long run</strong>.</p><h2 id="the-reasoning-behind-structuring">☝️The reasoning behind structuring <a class="markdownit-header-anchor" href="#the-reasoning-behind-structuring">🔗</a></h2><p>When you are localizing for both iOS and Android, solid structuring can save you many headaches. Even if both platforms serve the same product,<strong> their string sets usually behave differently</strong>, such as:   </p><ul><li><strong>Having the same concept but different phrasing:</strong></li></ul><blockquote><strong>iOS</strong>: "<em>Allow push notifications?"</em><br><strong>Android</strong>: "<em>Turn on notifications for this app?"</em></blockquote><ul><li><strong>Sharing meaning but different key names</strong>:</li></ul><blockquote><strong>iOS</strong>: "<em>profile.logout_button.title"</em><br><strong>Android</strong>: "<em>menu_logout"</em></blockquote><ul><li><strong>Including platform-specific features</strong> (for instance, Android apps come with a biometric sign-in option).</li></ul><p>Recognizing the differences here is what tells you whether to group all strings into one project or split them into multiple ones. And <strong>this is where Localazy’s superpowers shine</strong>:</p><h3 id="lessa-hrefhttpslocalazycomfeaturesformat-conversionsgreaterformat-conversionslessagreater"><a href="https://localazy.com/features/format-conversions">Format Conversions</a> <a class="markdownit-header-anchor" href="#lessa-hrefhttpslocalazycomfeaturesformat-conversionsgreaterformat-conversionslessagreater">🔗</a></h3><p>You maintain strings in one platform’s format. Localazy exports them into the other platform’s format (iOS XCStrings ↔️ Android XML). As simple as that. No manual rewrites or restructuring are needed.</p><h3 id="lessa-hrefhttpslocalazycomfeaturestranslation-memorygreatertranslation-memorylessagreater"><a href="https://localazy.com/features/translation-memory">Translation Memory</a> <a class="markdownit-header-anchor" href="#lessa-hrefhttpslocalazycomfeaturestranslation-memorygreatertranslation-memorylessagreater">🔗</a></h3><p>Using your previously approved translations, you get suggestions whenever identical matches appear across different strings. You can then reuse them as you wish.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text">TM matches can be automated and applied in bulk. Learn more <a href="https://localazy.com/docs/general/translation-memory">here</a>.</div></div><h3 id="lessa-hrefhttpslocalazycomfeaturesduplicity-linkinggreaterduplicity-linkinglessagreater"><a href="https://localazy.com/features/duplicity-linking/">Duplicity Linking</a> <a class="markdownit-header-anchor" href="#lessa-hrefhttpslocalazycomfeaturesduplicity-linkinggreaterduplicity-linkinglessagreater">🔗</a></h3><p>Translation Memory allows you to reuse previous translations. But what if you didn't have to? With Duplicity Linking, you won't have to translate the same keys over again: you link them together and let them share their translations, with changes applied automatically across all linked duplicates.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text">Identical strings <a href="https://localazy.com/docs/general/duplicity-linking">are updated and propagated</a> without you having to do anything!</div></div><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/03/Duplicity-linking---socials---01.png" class="kg-image" alt loading="lazy" width="1800" height="941" srcset="https://ghost.localazy.com/content/images/size/w600/2026/03/Duplicity-linking---socials---01.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/03/Duplicity-linking---socials---01.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/03/Duplicity-linking---socials---01.png 1600w, https://ghost.localazy.com/content/images/2026/03/Duplicity-linking---socials---01.png 1800w" sizes="(min-width: 720px) 720px"></figure><p>With these in place, your team won’t translate “Login” a dozen times, or create multiple translations like “Log in”, “Login”, “Log In”, each demanding translations of their own. Together with easy format conversion, <strong>these three features halve your workload before you even realize it</strong>. </p><p>Now, let's get to the nitty gritty. We'll outline <strong>the most common scenarios when iOS and Android strings are mixed</strong>, and some easy steps to fix it.</p><h2 id="1-scenario-1-strings-are-identical-across-ios-and-android">1️⃣ Scenario 1: Strings are identical across iOS and Android <a class="markdownit-header-anchor" href="#1-scenario-1-strings-are-identical-across-ios-and-android">🔗</a></h2><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Solution: </strong>Use ONE Localazy project.</div></div><p>This is pretty much a fairy tale for mid to large-sized mobile development. If your apps <strong>share all strings</strong> across both platforms, a <strong>single Localazy project</strong> with <strong>just one platform’s string files</strong> is all you need.</p><figure class="kg-card kg-image-card"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLgAAAD+CAYAAAA567w0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEuKADAAQAAAABAAAA/gAAAADaJmnGAABAAElEQVR4AeydB5gUxdaGD8uyS84555wRREVEQHJWQQygmEW9Zq967zX+95pzAgxgBFGQIEFFFERAkoBIDkvOLEtYNrD89dVSY+/szOzk6Zn9zvPMTk93dVX1273VVafOOVXgnBKJUUlKSpKqVavG6NXxskiABEiABEiABEiABEiABEiABEiABEiABEAgjhhIgARIgARIgARIgARIgARIgARIgARIgARIIJoJUMEVzXePdScBEiABEiABEiABEiABEiABEiABEiABEqAFF58BEiABEiABEiABEiABEiABEiABEiABEiCB6CZAC67ovn+sPQmQAAmQAAmQAAmQAAmQAAmQAAmQAAnkewJUcOX7R4AASIAESIAESIAESIAESIAESIAESIAESCC6CVDBFd33j7UnARIgARIgARIgARIgARIgARIgARIggXxPgAqufP8IEAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJRDcBKrii+/6x9iRAAiRAAiRAAiRAAiRAAiRAAiRAAiSQ7wlQwZXvHwECIAESIAESIAESIAESIAESIAESIAESIIHoJkAFV3TfP9aeBEiABEiABEiABEiABEiABEiABEiABPI9ASq48v0jQAAkQAIkQAIkQAIkQAIkQAIkQAIkQAIkEN0E4qO7+pGtfWZmpqSmpkpaWpqkp6dHtjIsnQRIgAQsBBISEiQxMVGKFCki8fHBaerZ5lkAx9BmKJ6VGMLDSyEBEiABEiABEggzAfY5wwzcBsUFqz8anFGPDYCEswpxcXFy4sQJrdzC4LFs2bJ6IBnOOrAsEiABEvBEAIp3KOCTk5O1kqtEiRKSlZXl6RS3x9jmuUUTEweC+azEBBBeBAmQAAmQAAmQQEQIsM8ZEey2KDRY/dEC55TY4opCUImkpCSpWrVqUHPGP92xY8cE3yVLlpSCBQvq/AsUKBDUcpgZCZAACQRCwDTtZ8+elZSUFK3cKlOmjM9KLrZ5gdyF6Dg3WM9KdFwta0kCJEACJEACJGBHAuxz2vGu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0j/UH+z/dfEy6XzJhWYXv0mABEiABEiABEiABEiABEiABEiABEiABIJAoKha0RBxs3yVkiWKS4ni7hc48TW/UKQPioKrTq0aMloptVJOnHSp3LJWfPocz8HkcZwKLisxbpMACZAACZAACZAACZAACZAACZAACZBA4ASKKQUXPrEoQVFwAcxNynIrLzlx8qS20CpTqqTMnfJZDrM2BF2/YvB1+jjSlVBB1SkkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkBeBoMXgyqsgHJ+pgtBnnj0rva+4PIdyC8ewUmDfHl31caSjkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkIA3BMKr4Jrzo67TkP69XdYNweYhM8+nc5mIO0mABEiABEiABEiABEiABEiABEiABEiABEjAQiBoLoqWPN1uG/CcaQAAQABJREFUfj7uLbfHcKBRg3qyfP5Mj2l4kARIgARIgARIgARIgARIgARIgARIgARIgASsBMJqwWUtmNskQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkEAwCVHAFgyLzIAESIAESIAESIAESIAESIAESIAESIAESiBgBKrgihp4FkwAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJBIMAFVzBoMg8SIAESIAESIAESIAESIAESIAESIAESIAEIkaACq6IoWfBJEACJEACJEACJEACJEACJEACJEACJEACwSBABVcwKDIPEiABEiABEiABEiABEiABEiABEiABEiCBiBGggiti6FkwCZAACZAACZAACZAACZAACZAACZAACZBAMAhQwRUMisyDBEiABEiABEiABEiABEiABEiABEiABEggYgSo4IoYehZMAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiQQDAJUcAWDIvMgARIgARIgARIgARIgARIgARIgARIgARKIGIH4iJUcpQWnpaXJ2bNnde3PnTsn+ESTnDx5UgoWLBhNVWZdSYAE8imB9PR0QZtFIQESIAE7E2BbZee7w7qRQP4mYB2rYjs1NVUDKVCggAOMdduxkxskECECeB7NM+mP3oIWXH7cOAMcp1q3/cgq5KdY6+fNdsgrxAJIgARIwA0Bb9ooaxo32XA3CZAACYSUgLUd8mY7pJVh5iRAAiTggYC1jXKVLK/jrs7hPhIIFQHr82jd9qU8WnD5QkultYLGNjTh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SIAESIAESIAESIAESIAESIAESCAYBGjBFQyK+TAPWHLBOuLUqVNy9OhRvRpePsTAS/aBAFwREQsJMbfolugDOCYlARIgARIgARIgARIgARIgARLIkwAVXHkiYgJ3BKCkoKLCHR3uJwESIAESIAESIAESIAESIAESIAESCBcBuiiGizTLIQESIAESIAESIAESIAESIAESIAESIAESCAkBKrhCgpWZkgAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJhIsAFVzhIs1ySIAESIAESIAESIAESIAESIAESIAESIAEQkKACq6QYGWmJEACJEACJEACJEACJEACJEACJEACJEAC4SJABVe4SLMcEiABEiABEiABEiABEiABEiABEiABEiCBkBCggiskWJkpCZAACZAACZAACZAACZAACZAACZAACZBAuAhQwRUu0iyHBEiABEiABEiABEiABEiABEiABEiABEggJASo4AoJVmZKAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiQQLgJUcIWLNMshARIgARIgARIgARIgARIgARIgARIgARIICQEquEKClZmSAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmEiwAVXOEizXJIgARIgARIgARIgARIgARIgARIgARIgARCQoAKrpBgZaYkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQALhIhAfroI8lZORdU6Sz5yT0xnn5Oy5c1KwQAEpWqiAlC5cQArFFfB0Ko+RAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAnkcwIRV3CdUkqt5DNZ8sv6s/LOj+ny+/Ys6VAnTkZ3T5DLmhRUSq44KaaUXXaR48eP26UqftcjFq7B74vniSRAAlFFgO1VVN0uVpYE8i0BtlX59tbzwkmABEiABGxEIKIuitmWW1nyf9Mz5Mb/b+9MwKSorj1+mEEY9mFziQiyCSoSRBQNiLhg3NenuCQuBCMafTG+RJOYmMWEvOcWF9SAiQEhLuAS+dC4gqAICuKuiCuKoOz7DMvAq98db1Mz9Mx091RPd0//z/fNdHXVrVu3fl3b+d9zT40ptTmfbrMG28198p35iF+Uk4mACIiACIiACIiACIiACIiACIiACIiACIhAPAIZjeBiWCKRW3+ftjle29z8gd0LbEivBta+aXZEcbVq1SpuWzVTBERABERABERABERABERABERABERABEQgGgKrV69OqqKMRnCRc4thidUZyyknEwEREAEREAEREAEREAEREAEREAEREAEREIF4BDIqcJFQnpxb1RnLKScTAREQAREQAREQAREQAREQAREQAREQAREQgXgEIhmiOH3mbLtzzFj7/ItF8bYRd17njh3shv+7xSWUJ/dWVUbCed6qKBMBERABERABERABERABERABERABERABERCBeAQiieAaecuopMQtGvJZIIbNemWme1tivIb5ebxNsWkWvUXRt0ufIiACIiACIiACIiACIiACIiACIiACIiAC2UEgkgiuFavKE3/NnTYl4b3qd+RJ9sjEiTbm3qNt+JGN4iaaZ/4R+xZacVH1EVxbtmxJeLsqKAJ1QWDz5s22YcMGKy0tNabruzVq1MiKioqsWbNmxrRMBERABERABERABERABERgZwLZ5CfoGX7n30dzcptAJAJXqgiWL1saiFcFdt0puxhvSyShPDm3GJZI5Fa5uFVguxRULXAhbkngSvUX0HrpIMCbHkpKSqxJkybWpk0ba9y4cTo2k1V1btq0ye3zihUr3H4XFxdnVfvUGBEQAREQAREQAREQARHINIFs8xP0DJ/pI0Lbj5pArQWuc4b9JNamET/7lf3tr3+xoRdfbp98/kVsvp/o2a2LTbj3Dv/VyrZts2bB8MNGhQU2pFcDG9Cj0CWUJ+cWwxKJ3JK4FcOliRwgsHz5cisoKLD27dtbYWFhDrQ4mibS+8Nf8+bNbe3atQaHdu3aRVO5ahEBERABERABERABERCBHCeQjX6CnuFz/KBS83ciUGuBK1zj+vUb3Nd44hYL5n/8abh4bBoRq33TqqO0YgVDE4rcCsHQZFYQoEcGcatVq1Z5JW4Bv8G3L4Jo2LCh2/81a9YYPBTJlRWHphohAiIgAiIgAiIgAiKQQQLZ6ifoGT6DB4U2nRYCtU4y/9B9d8UaFo7Ois1Mw4TErTRAVZW1IsBYeoYltmzZMu/ErcrgiFyDAzzyIf9Y5f3XdxEQAREQAREQAREQARHwBHLFT9AzvP/F9JnLBGotcMXb+W6dO8WbbQxRrK1J3KotQa2fDgIklCfnVj4NS6yOIxzgAReZCIiACIiACIiACIiACOQrgVzyE/QMn69Haf3Z71oPUYyXgysc1RUlKolbUdJUXVES4G2JJJSX7SCAwLVy5codMzQlAiIgAiIgAiIgAiIgAnlGINf8BD3D59kBWs92t9YCV5iHz8EVnqdpEcgHAoQe58PbEhP9LRnPDw8NUUyUmMqJgAiIgAiIgAiIgAjURwK55CfoGb4+HoH5tU+1FriI1up35EmOWjgH1/SZs+3OMWPt8y8WVUvUr+sLde7Ywa667Ec24NCD/azY5y677OKmieSSiYAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiAAE0pKDi4pH3jKqRnGLcpXts0AQu+mO0ZVnx74jcnmhKzZTEyIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAnlLoNYRXPFycEFzxarVDurcaVOSgktE16IlX1e7jhe4FMlVLSYtFAEREAEREAEREAEREAEREAEREAEREIG8IBBpBFdVObg2bNho/xj/kM2aMy8yqIrkigylKhIBERABERABERABERABERABERABERCBnCZQa4Er/MbEcA6uMJXJTz9n99w3wa7/883h2bWelshVa4SqIAsJbN261TZs3JiFLVOTREAEREAE0kVg06ZN9s4779hjjz1mb7/9dro2o3pFQAREQAREQAREoN4SqPUQxUTI9OjW1RoWFliv/XrsVHx2ENV1UJ/eQV6t1JrihyvuVHEWzvjggw/s2WefjbWsoKDAmjdvbnvssYcdeuihVlxcHFumifwj8MGHH9ktd46xd+cvsK1lZbZb+3Z2yYXn2mknfr8CjKt++Xt78533K8zjy1WX/2insjsV0gwREAEREAH3htcXX55tU55+3vr2OcAuOu+shKhs377d5r31rltv/YYNdtMNv0lovUQKIWwtXbrU9tlnH+MV7dXZl19+ae+++64hip122mnVFdUyERABERCBGgh89tlnhl/WqVOnGkpm5+ItQec4vsErr71hPbp1tuOOHlSnDX3ooYesc+fO1r9//yq3uzHovMcXpiNnyJAhtueee1ZZVgvKCSxcuNC2bdvm2GaayXvvvWc9e/a0wsLCapsydepUt/yoo46qtlw6F6amKlVqUXHLFrZ67brY2xQrLba+3+1ls5+fXGE2P9Zt9/zDHnjkCevVcx+7deT11qZ1agJProhcZYFowWtiBw4c6MQsvvOQ+tFHH9mCBQvswgsvtFatWlXgpC/5QWDJ19/YZVf/2jp22NN+/T9XWPu2bezB4Nz40813WnFwTAweeGgMxJeLl9g+wc3r8MMOic1jYr8e3St81xcREAEREIGKBEoDQeivd/3dnp06w0pKS11nwoHBM0oiNmHi4zbx8Sm2OLheFwaO0MF9v5vIagmVWbdunS1atMiOO+44O+CAA6pcZ86cOfbGG2/YmjVrjFe556ozVuUOaoEIiEC9IDB//nxD0Nh3331rFOxXrVplRUVFNZZLF5jPP//cELiw9u3bW9OmTdO1qcjr3bx5i0184imbM+8d2xT4mPjX3bvuHfl2qqtw+fLlzp89/vjj4xZbuXKlTZ8+3T799FO3nDbKaibA+fPJJ5+4gtzv995775pXSmOJb775xlavXm29evXKer2i1kMU4fjzKy910SbVMZ0x81Vbu269K7Ju/Xq78prrnbjFDCJWzht+pX34UfmPWF099WEZBygXfA4QLgannnqq64WdO3dufdg97UMKBCb++0lbv7HE/njdz+2U44fYYYccZH/67TW2S8OGgSM2vUKNK5Ytt+/172c/POfMCn/7dOtSoZy+iIAIiIAIVCSwbv0G96xx+fAf2uP/urfiwhq+EXF+4rFH2uPjx1iP7l1rKJ3c4q+++sqtQER3dYYjtt9++9nw4cNtt912q66olomACIhAxggg2uMMk3ajKiMilk5+RPvqylW1fhTzv/jii5jwwrU1l8Qt9n9jSal9uWhJMIJjiP35N1dHgSTpOojI6tixY5Wix7Jly1ydJ598svEnS4wAxyLHJIY4yLGaaSNq/PXXX3fCG+dvtlokEVzHHTPY+Asbb0PESks32chbR9lTz02z1sWt7JILznHC1qLFFd+UuHzlKvvRFb8IV5E301wUOIjpwfBGdNdLL73kehSY365dOxswYIB17Vr+UE0vLheUiy66yIXUst5bb71lzL/gggusUaNGrip6UGbMmGHnn3++NWvWzLjhvPnmmy5ijIO0W7duTmj7zne+4zdd4fPjjz+2F154wY499lh7+eWXjYsUwyoPPvhgO/DAAyuUJRqN7XMCMrxi//33d21GdcYefvhhtx+8/ZJ2DRo0yPr27VuhDtTq8ePHu/WIaqNOQiF79OhhhDqGwyJZRptQlFu2bOmGdfTp08e1z1dKGUIl6V0gOg6G8+bNc/sdDqMl3wnDPb7++msXXUc5tllX1imI3LrkgnNt744dYpts2aK5ddhzjyBSYEco6MZABFsfnFO779o+Vi7VCbhw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KbR69WoJXEkwy9ei3CySVZvzlZX2WwREQAREQAREQAREQATyhYD8hHz5pbWftSXACKFk095oiGIS1Bs2bBhLJJ7EaioqAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiKQAAH/0jI0mGRMAlcytIKyLVq0cEPOAC4TAREQAREQAREQAREQAREQAREQAREQARGIhgBaC2l+0F6SNQlcSRIj0Vnr1q1dsvklS5bYxo0blXg+SYYqLgIiIAIiIAIiIAIiIAIiIAIiIAIiIAIQQGdBW0FjCWsuydJJLt4r2drraXmAN2vWzCU8Kykpyau35dXTn1S7JQIiIAIiIAIiIAIiIAIiIAIiIAIikAEC5KYjoTw5txiWiOaSikngSoXat+sAnrC5VELnarFZrSoCIiACIiACIiACIiACIiACIiACIiACIhAioCGKIRiaFAEREAEREAEREAEREAEREAEREAEREAERyD0CErhy7zdTi0VABERABERABERABERABERABERABERABEIEIh+i+MArW23Uc1vs5AML7ZqTGllhFRLa9u1mT8zbai9/uM1KNm23fl0K7fwBDa1R5C0K7a0mRUAEREAEREAEREAEREAEREAEREAEREAE6h2BSOWk25/eYmOmbnGQJry81Zau3W43n9vYCgsrctuy1eyyf26yWR+VxRa8+EGZTZq9xf51RZG1btYgNj+Ria/WbLfOVQhpiayvMiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgArlLIBJZiGisP/97sxO32jZvYGNHFFnX3RrYs2+X2VUTNlnZDh3LKHvtQ5uduIXwdfUJjWzyz5vY93s3tIUrttvYGYH6lYQhbi1am8QKKioCIiACIiACIiACIiACIiACIiACIiACIlCvCEQicN0WRG4xNHG3Vg1swuVFdnCXAidYQWrqe2V2xbhNtjUQuRC6rv7XJnvm7XIRi+9fr95mXdo3sF+esosD++onITWsBtQIWxK3aoCkxSIgAiIgAiIgAiIgAiIgAiIgAiIgAiJQzwlEMkTxyTfLBatRFxVZx3YN7J0vt9ndQR6upkVmndo2sBnzy+wngchF9NbMD8usU1DmD2c2tp8G0V0IY6VbttvwoxolhRphi+gtmQiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQH4TiCSCq3/X8mquebDUVm3YbgfsVWC/Pb2R3X9pExs3ookd0LHAXg5ELiduBYLXuMuCKK9gnbE/LrKWTcwem1NmZ99e4n6J/l0rJeyK8/sgbEncigNGs0RABERABERABERABERABERABERABEQgDwlEInBde3Jj23fPAvts6XYbNqbU1mzcbucc1jCY18AKgi0UfpsznmiuccEQxvYtymfss0cDGz08CPMKbH2p2SHdCmzYEdUHlSnnVh4epdplERABERABERABERABERABERABERABEaiGQCQCF1FYYy8tsj6dCmzBkmC4YSBybdxsxtsSr/hnqb25cJvtVUncok3k4Lr327cu9g3ydv1tWJG1alr1GxQlblXzS2qRCIiACIiACIiACIiACIiACIiACIiACOQpgf8Ha9s/D3X8HnMAAAAASUVORK5CYII=" class="kg-image" alt loading="lazy"></figure><p>This approach works when:</p><ul><li><strong>👁️ Differences are mostly visual</strong> (your UI layouts are adapted to each platform’s style, while the UI wording and code logic stay the same).</li><li>💬 You've decided to <strong>maintain a unified language</strong> throughout the platforms.</li></ul><p>In this setup, you <strong>only send strings from one platform</strong> into Localazy. Most teams pick Android for this, simply because it already holds the bulk of their strings. Once the strings are in, Localazy takes care of converting everything into the iOS format using format conversions.</p><h3 id="steps">Steps <a class="markdownit-header-anchor" href="#steps">🔗</a></h3><ol><li>Upload your Android strings (strings.xml) to a single Localazy project.</li><li>Translate everything there in one MT/AI/human round.</li><li>Export the translations in the iOS format (<a href="https://localazy.com/docs/cli/xcstrings-format">.xcstrings</a> or .strings) using Localazy’s <strong>format conversion</strong>.</li></ol><p>It gets even easier if you use the <strong><a href="https://localazy.com/features/cli">Localazy CLI</a></strong>:<strong> </strong>you can get strings for both platforms automatically by including the command line tools in your CI/CD or build process.</p><h3 id="why-this-works-better">Why this works better <a class="markdownit-header-anchor" href="#why-this-works-better">🔗</a></h3><p>Keeping things in one place will help you in several fronts:</p><ul><li>No duplicated translations.</li><li>End of inconsistent terminology.</li><li>Translations automatically apply to both platforms.</li><li>Format conversion ensures Android and iOS always get the right output.</li><li>Translation Memory fills in recurring text automatically.</li></ul><figure class="kg-card kg-image-card"><img src="data:image/png;base64,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PREgAkSACBABIkAEiAARIAJEgAj0DQRyfYzonAI5EiYX6IfKnKjTNSBFYO2CvJEjlakuteohBLKESHeo4dYibj3REzp0xzzjMXyuKIvTcRumiQARIAJEgAgQASJABIgAESAClYhAupUGVhbBegRqwl4EViMhbVEFvrhdC7YfdDWJ0x8WtxV4iytaJTwThUgAlPszE6crekKdVC7GIE5nxTke2XLmiQARIAJEgAgQASJABIgAESACPYlAW4sR1QYkg189qVyxYzsp4jq7NUmx/dmOCMwMAoUIkpgQaY8wmJmxK6lvoTmSEKmku0RdiAARIAJEgAgQASJABIgAEcgiEIgRZxaSWrMcybassLyr3JPOKuOFb4XBQ3W6CQEnRTzODluILMi266t5J0U87qvz5LyIABEgAkSACBABIkAEiAAR6L0IwEUHAxEgAkSACBABIkAEiAARIAJEgAgQASJABPolAulWmn45+5mYtFuLeDwToti1jyCQtRrpj9YisWVInO4jt5jTIAJEgAgQASJABIgAESACRKAPIkCLkXZuarELu/64AG4Htn5V1d69L/b56SuAtTff9nDqK/PnPIgAESACRIAIEAEiQASIABHonQjQYqQT9w2LPCwCfbEXpzshjl36CAL+PPh0snkv76uxvy98fvnyXpeNHas4RrqYKyuLeSJABIgAESACRIAIEAEiQAT6LgK+RsAMs+uHzs66rMSIO0SNlcl3Qky+dh31ieu7M12I9PAbUKi+O3XkWJWHgD8fladZ12qEeeM94aFYHLxdHCNdzOVjMSYCRIAIEAEiQASIABEgAkSg7yPgawTMNLt+6Ozsy0KMtEd0dFjnDXQt5cspFHm6sxMrZ7/2yA+/EeUcj7KIQG9GoDPvCe8Tx0gXc/VmrKg7ESACRIAIEAEiQASIABEgAqUh4GsE9MquH0qT1NpTZ8tYAABAAElEQVR6pogR5zSCQqqUJUJsxEZEdviPyLrWsYDI016ANuiHqwUvGpIoZAq9QlhRDQsJYDkRKC8C/gYtr9TeIS22GOkdGlNLIkAEiAARIAJEgAgQASJABPozAp0mRhJ+w8gNJzmaNRGTHSnRoaSF8xaot0tRR4w+CNVoo5fHVVqOPKq9rzXMvCTdw7jtNcz0KzXbntUIZPXnhXCpWLJ930agM+8F7xPHSHd09W0kOTsiQASIABEg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gKUISJHZZ5+dpEj/uvWcLREgAkSACBABIkAE+hUCVYkT0traWvvuO2nSJMF34b5kOZJupXGrixYQCpXMiWQfwYQACQRP71I9OxXmiQAR6B0IwI8Its/QUqR33C9qSQSIABEgAkSACBABIlAeBGAlPdtss8mXX34pgwcP7jM+R2pTDsSsLNT6AgyJMyNWmbYoD5JlkaJsiBEiqluVpzWZqIqoxV7KMhiFEAEiQARyEICjVfgU4faZHFiYIQJEgAgQASJABIgAEegHCOA7ML4L4ztxX3HGmuNjBHyIcQv2kpuuqPsLLiTREQSJp70IuiJt3ElFKU5liAAR6AsI4PQZOFplIAJEgAgQASJABIgAESAC/REBECPffPNNn5l6IEaMRVBrkYRZCHHIeFklzbj11JwWIz+qaB5SSbeHuhCBPo8AttIMGDCgz8+TEyQCRIAIEAEiQASIABEgAlkE4HME34XxnbivhNTHCKwrEl4kjTFJL6vkCdMypJLvDnUjAkSACBABIkAEiAARIAJEgAgQASJQuQiYRxGol7UMQT5bVinTyOpWqXpWCl7UgwgQASJABIgAESACRIAIEAEiQASIABHIj0BKjOSvZikRIAJEgAgQASJABIgAESACRIAIEAEiQAT6LgIkRvruveXMiAARIAJEgAgQASJABIgAESACRIAIEIEOECAx0gFArCYCRIAIEAEiQASIABEgAkSACBABIkAE+i4CJEb67r3lzIgAESACRIAIEAEiQASIABEgAkSACBCBDhAIx/V20Kgz1XZSTEs4LyZOw6NretJNnO7MIOxDBIgAESACRIAIEAEiQASIABEgAkSACBCBmUCg7MRIi5MhGoMQsXyShp5GioAQwYW2Glt5EluGL0SACBABIkAEiAARIAJEgAgQASJABIgAEegGBMpGjOQQIiBC9GpuRtwcYqNJQIxUSXU1iJHqJA4kic8VhAkDESACRKAvIzDhi6/ksaeekeWWXlIWW2RkX54q50YEiAARIAJEgAgQASJABCoegZn2MQICxK+m5mZpamqWxqYmaWhslIaGBpk+A9d0mTYtXEijDHVog7bog74uBzEDESACRKCvIvDOe+/LMSefKU8++3xfnSLnRQSIABEgAkSACBABIkAEeg0CM2UxEhMZzUps4ALB0QyiQwkPkB6B+GiyOqBSXV0tNTU1UourtkZq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" class="kg-image" alt loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="data:image/png;base64,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" class="kg-image" alt loading="lazy"></figure><h2 id="2-scenario-2-one-platform-contains-all-the-strings-of-the-other">2️⃣ Scenario 2: One platform contains all the strings of the other <a class="markdownit-header-anchor" href="#2-scenario-2-one-platform-contains-all-the-strings-of-the-other">🔗</a></h2><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Solution:</strong> Use TWO Projects (common + platform-specific).</div></div><p>Landing from the fantasy world into the real one, <strong>this is the most common situation</strong> you’ll see in real projects. In many mobile app setups, both apps share most of their wording, but one platform includes a few extra screens or features on top. This leads to <strong>one of your platforms containing a larger string set</strong>, while the smaller platform’s strings are fully included in the larger one.</p><p>Imagine these contexts:</p><ul><li>Your iOS app ships more features (and resultantly, more strings).</li><li>Your Android app kept some legacy screens that the iOS app never had.</li></ul><blockquote>Example: Your iOS app has 150 strings and the Android version has 95. 95 of them are overlapping, but 55 only belong to iOS.</blockquote><p>To handle this, you’ll need two Localazy projects: a <strong>common </strong>and a <strong>platform-specific </strong>one (here, for iOS).</p><h3 id="steps">Steps <a class="markdownit-header-anchor" href="#steps">🔗</a></h3><ol><li>Upload Android’s shared strings (strings.xml) to the <strong>common project</strong>.</li><li>Translate the full set of strings once for all existing languages.</li><li>Export translations from the common project in .strings or .xcstrings using format conversions.</li><li>Upload the iOS-only strings into the <strong>platform-specific project</strong>.</li><li>Export the translations from the iOS-specific project (no conversion needed, but you still export them so your iOS-only strings are translated and ready to use).</li><li><strong>Merge both exported string sets into your iOS app</strong> by placing both files inside the localization folder.</li></ol><p>The same logic applies vice versa.</p><h3 id="why-this-works-better">Why this works better <a class="markdownit-header-anchor" href="#why-this-works-better">🔗</a></h3><p>In this situation:</p><ul><li>Shared wording stays centralized.</li><li>Extra strings live separately.</li><li>Translation Memory auto-suggests known translations.</li><li>Format conversions keep both outputs correct.</li></ul><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">🗒️</div><div class="kg-callout-text"><strong>Tip</strong>: Teams handling Android localization programmatically can automate this using <a href="https://localazy.com/docs/cli/the-basics" rel="noopener noreferrer nofollow"><u>Localazy CLI</u></a> or the <a href="https://localazy.com/docs/android/localazy-gradle-plugin" rel="noopener noreferrer nofollow"><u>Android localazy plugin</u></a>.</div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="data:image/png;base64,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EiABEiABEiABEiABEiABEiABEnB8AhQWHf81ctoRSgEXeVy4HYGl+0Jw77HJK9FyQsVzuuHl8p7IYEo/Z7mLyyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAg5MgMKiA784rjK0Ar6pMKBJ/Aq5uMrcOQ8SIAESIAESIAESIAESIAESIAESIAEScFUCjDt11VeW8yIBEiABEiABEiABEiABEiABEiABEiABEiCBJCRAYTEJ4bJrEiABEiABEiABEiABEiABEiABEiABEiABEnBVAhQWXfWV5bxIgARIgARIgARIgARIgARIgARIgARIgARIIAkJUFhMQrjsmgRIgARIgARIgARIgARIgARIgARIgARIgARclQCFRVd9ZTkvEiABEiABEiABEiABEiABEiABEiABEiABEkhCAhQWkxAuuyYBEiABEiABEiABEiABEiABEiABEiABEiABVyVAYdFVX1nOiwRIgARIgARIgARIgARIgARIgARIgARIgASSkACFxSSEy65JgARIgARIgARIgARIgARIgARIgARIgARIwFUJUFh01VeW8yIBEiABEiABEiABEiABEiABEiABEiABEiCBJCRAYTEJ4bJrEiABEiABEiABEiABEiABEiABEiABEiABEnBVAhQWXfWV5bxIgARIgARIgARIgARIgARIgARIgARIgARIIAkJUFhMQrjsmgRIgARIgARIgARIgARIgARIgARIgARIgARclQCFRVd9ZTkvEiABEiABEiABEiABEiABEiABEiABEiABEkhCAhQWkxAuuyYBEiABEiABEiABEiABEiABEiABEiABEiABVyXgkZQT+2HMeMxZtNzqFF3at8bg/m9bbXOWlfv37zvLUKMdpyvMIdrJJXAHmSQQXAo9jO+XFPrCc9ok4AAE+PnjAC8Ch0ACJEACJBBvAvz+ijcyHkACTkXArsLi9Rs38SQgEIUK5NMQ7t1/EAnGgwcPzdvOXbgIHx9v5MiW1bzNkRcyZszoyMOLdWzyge7sc4h1kvFsQCbxBJbCm/P9ksLfAJw+CTxHAvz8eY7weWoSIAESIIEEE+D3V4LR8UASSBSBgICARB0fn4PtFgp95dp19Oo/FD37DsL2Xf8hLCwM167d0GMZ/e1X+HXkl3r5kmon+/z+3YWe7w5Cr35DIMcm1EJCQhJ6KI8jARIgARIgARIg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AiRAAiRAAiRAAiRAAiQQ/wjEWljcvnOPmdVZ9Vz8bvgop2a4cs0G0y5n9mxh2m/ZvivMa74gARIgARIgARIgARIgARIgARIgARIgARIgARKInwS8nsSwgkNCzGUTJUoU5vIh9++Hec0XJEACJEACJEACJEACJEACJEACJEACJEACJEAC8ZNArD0WNy2dF6uZxfb8WF2cJ5MACZAACZAACZAACZAACZAACZAACZAACZAACcSIwBPxWIzRSHkSCZAACZAACZAACZAACZAACZAACZAACZAACZBAvCFAYTHevBUcCAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAm4DwEKi+7zXnGkJEACJEACJEACJEACJEACJEACJEACJEACJBBvCFBYjDdvBQdCAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAu5DgMKi+7xXHCkJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJxBsCFBbjzVvBgZAACZAACZAACZAACZAACZAACZAACZAACZCA+xCgsOg+7xVHSgIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQALxhkDieDMSNxjI9evX3WCUkQ/RE+YQ+Qyjf5RMos8sIZ/Bn5eE/O5z7iTwZAnw78+T5c+rkwAJkAAJxIwAP79ixo1nkYC7EKCwGI13Kk2aNNFoHf+a4g+6u8/B1VTJxNVEPbs//rx49vvL2ZFAfCbAvz/x+d3h2EiABEiABCIiwM+viMhwPwnELQF/f/+4vYBd7wyFtoPBTRIgARIgARIgARIgARIgARIgARIgARIgARIgAecIUFh0jhNbkQAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJ2BGgsGgHg5skQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQALOEaCw6BwntiIBEiABEiABEiABEiABEiABEiABEiABEiABErAjQGHRDgY3SYAESIAESIAESIAESIAESIAESIAESIAESIAEnCNAYdE5TmxFAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRgR4DCoh0MbpIACZAACZAACZAACZAACZAACZAACZAACZAACThHgMKic5zYigRIgARIgARIgARIgARIgARIgARIgARIgARIwI4AhUU7GNwkARIgARIgARIgARIgARIgARIgARIgARIgARJwjgCFRec4sRUJkAAJ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AiRAAiRAAnYEKCzaweAmCZAACZAACZAACZAACZAACZAACZAACZAACZCAcwQoLDrHia1IgARIgARIgARIgARIgARIgARIgARIgARIgATsCCS223b55thJ02TYyDFh+u3Z1U86tnshzD6+IAESIAESIAESIAESIAESIAESIAESIAESIAEScC8CceqxePDw0UdoHDp6/JF9sdkRFBQUm9N5LgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQAwIxKmweOzEKTOkP4Z/K6OHfWO2T5w8HYNhhn8KREUKi+Gz4V4SIAESIAESIAESIAESIAESIAESIAESIAESiEsCLguFfvn13uLt7SUtGj8j1SqVNyHQ+w4eNmPPlyeXCoD3zPaufQfkky+HSPdXO8q6TVtk1t//SEhIiIz75YdozZOiYrRwsTEJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJuJSAS4TFef8slr0HDpmB7dp7IMwAa9eoKilTpDD7alStJKvWbZS/Fy01D/uG6KPJM/Xsd0W4TVExQjQ8QAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAKPhUCsQ6EDAgJl+KixZrB1alSTDOnSmu3iRQrK1D9GyLcDPwydyA+DPpFpY3+R+k/XMPsyatunq1cx2+gDfUVlFBWjIsTjJEACJEACJEACJEACJEACJEACJEACJEACJBD3BGLtsThu8jS5ePmKERS/+PhdSeztLYe1QEvB/Hnlku7v/f5nsmvPPjOTMiWLywfvvCVffdpfDh05Jvnz5page/ekcetOpo/xU6ZLl07tI5w1RcUI0fAACZAACZAACZAACZAACZAACZAACZAACZAACTxWArH2WCxbqoQk800il69ek7f6fST+/gFSqEA+uaKvX+7ay4Q+X7txU/BYvma9+Gkuxuu6DeERbXEOjqGPMqWKRzh5iooRouEBEiABEiABEiABEiABEiABEiABEiABEiABEnjsBGLtsVi5QlkZ+/MP0qv/J7J5+y75bsQo+ahfLxn6y+9yScVFhDq/2cXPTOyHEb/J6g2bZcRvY+X9Pm+atlt27JZsWTLJj18PEBR5oZEACZCAJxK4f/++Lqb4y40bN0w1exStoiUsAl5eXuLj4yOpU6eWZMmSSaJEiRIWAM6WBEiABEiABEiABEiABJwgcPjoCTl28rTUq1XNidZs8qQJxFpYxAQQ0vx802dl+G/jJH1aW47FDZu2mrl9oAJihvTpzPa7vbpL8w6vyZr1m83rdGnTmOfWzRtHKSriZgwGz0WaexE4eeW+zNoSJIcuhMi56yFy7c59yZTKS7KmSSQlc3hL83KJJV0K3mC717vK0UaXAETF69evS7p06cTX1ze6p7O9hxAICAiQq1evmtkkT57cQ2bFaZAACZAACZAACZAACZCAawicOHVGfhw5Vvy1BseFi5elXasmrun4CfVyVzWsc+cvSc7sWQSOBp5oLhEWAcbR88LL29Z1sJ1XjrfmXzSmnjuwB0842byO6j93FRfhmXT58mU5efKk3Lp1S+5pXklnLXHixJIyZUrJlSuXZMiQwa1+ECevD5JvFgTKrlPheWYFhyLoOkakXonEMqiVr5TN7f6/aDcDQ+RqQIgEPpxi6Fyj2kiqvyLpfL0kVVL35xDVXBPacXgqUlRMaO/6o/OFqIyfg2vXrgmFxUf5cA8JkAAJkAAJkAAJkEDCJXD67HkZMny0ERVBYemqdQaGu4qLew8clp9/nygBgYGSKUN66dPjldCCx570LrtEWDxy7ITMmLvAcLl6/YZ5rlKxjMxduFi+/mGE9Hy9swTeDQqtHl2lcgXTBrkWYdNm/y01q1WO0msRbd1RXISoePToUSlUqJC5ocQ8omPwbjl48KA5JVOmTNE59Ym03XMmRLr84S8bj9qUtdI5vaRNFR+pUzSx5Ejnpd6KieTMtfty4nKIzN8RJJNUgFy8+55U3n1L2lX1kR87JJM0yZ7I0GN9UYiK526HJ6Q61zXESOt8iovOMXOXVvC2pqeiu7xbcTtO/BzQ+z5uGbN3EiABEiABEiABEiAB9yOwftO2UFHRGj3ERTiytX2+sbXLbZ4n/DXHiIoYMIoeQyPza9fKbcbv7EBjLSxu2LxN+n44QN/8u1KhTEl5u/ur5tpvdu2shVs2yfLV683DGlC2TBmN0IjXaHvy1GmTm7Fjt14y5POPBTkbozJ3ExfhqRhTUREs4N2C8yFOxndhESJh1zH+EqgR608V9Jav2vhK1fwPPFXt3tg8GRJJngzeUrOwt3ypnoqTNwTJp7MDZdK6IFl54J7M7plCSqkg6W4GT0VXGPpJCMLi1z/8LBXLlZZ6T1d3BbZ43QdzKsbrt+exD44/D48dOS9IAiRAAiRAAiTgoQSQy/zKlSty4cIFuXnzpon0w30z8lo/Ttu4caNGZd6XypUrR3hZOA2hXYUKFcw4I2yYwA6cPH1WMqpHX8smDeW2ppBauXZTGAJLVq6VZ+rWECudXpiD8fjFTY1Ytbcr12yOePb7PGE71srNtp27jaiYIV1aGTZ4oCak95XDx44b986Jo36U6lUqSmoN5U2bOpUp5DLm1x8kVcoUcvDwUdMW5+BcCJPbd+1xminERUtgdPqkJ9QQ4c8QB2NjOB/9xGcbtyZIOo3yN5HtP3dKJsv6pwhXVHScAyLh26lH466BKeWt+knklOZkrDnoluw76xqRzvF6cfnaMfz59BWRDUdCHnn4R5Eq1LEf+zG3f+0tafqin1zRUEpH27Zzj9Ru3Eb/EG9wPBQvX8+Z/6/s2rMvXo6NgyIBEiABEvB8Avi8/HLITxISmp/H8+fMGZIACZCAJxE4fvy4jBw5Un7//XfZunWrHDlyRFavXi2//vqrTJw4MTS3dXTnjP7GjRsXrdMOHz4shw4divQc3NNv37490nt7LEAnpEXoE6fOyjfDRsm3P/2m3n135aXWzaVGVVuUqwUzb+6ckjbN4xWKrWvH5rlsqeJhTq9YtmSY157yItYeix3bviAz5/1j3Dr/N+Ab2bF7r1zWatBNG9WTD/q8JUO/+jQMK4RN9+7/qew9cMgIiqVLFDPtEW/+8ovRcwl1F2ExOjkVw8ByeOGqfhy6dcnL9UeCpfs4f0mqP1HL+6eUcjHIleijjo1D2vpKmdze8trv/tJ82B3Z8FFKtw2LBthZm4JkxH+Pqoj9miYRv5ox+/W7c8dfzl64JIOH/iqDPnkvzPsXHBwst+7ckeBg9xNlw0yEL0iABEiABFxKYNHSlfLFt8PC9Jk6VUrJkyuHtH2huVkIDnMwgbzYp99HZ8xbKO/17i5i5QJPIHPnNEmABEjA3QksW7bMeP8VL15catSoIWnS2IrDYl5nz56VpUuXytixY6Vp06ZSoEABp6d74sQJUyMBJ5w5c0ayZ8/u9LmuaDh+/HhTZ6FVq+jpI6649uPuA56KEBQDVVC0bY+Sd97sIi+3aaG1KYJlnYZG58iWRaNd/R6p6/G4xxqT60EkxfiRYzGLRu9WqVAmJt3E+3NipmzYTcvXN6n06NJJPv3qe02suTb0CGLH8ahRtZL8MOgTs7/3+59pePTG0DYQIK1z0Af6iq65i7gY3Xm5U3v9fZeO6qkYpDVpJnVLHqGoePB8iMmtaM2tSFZbZWjrtfXc8Skf2XIsWEYsuSsfzgiQYR3cu4Ju6uSJZGjHhz/by/fek1//uytLNa+kvY3t5vw8vbWa1KJlK+WZek9L7RpV7buJdBuu+Y6FlsI7IaJ24e0Pb59jn860cTyHrxMWgS079qin7Ubp9Xonpyc+atwUuXDpcmj7vj1eFd+kD3/XQg9EsjF28kzJnSOb1Knp/O+RY3f7Dh6R6XMXhu6uXL60NKhdI/Q1N0ggPhBAXk8sPHXr/JLkzJHVDOn0mXOyYNEy6aULvv3eel1efL5pfBgqx0ACJEACJEACURKAdyJCiuvWrWvCih1PyJYtm7Rt21bmzp0rs2bNEj8/P6dDj3fu3ClZsmQxRVex/biFRce5eOpreCoOGTHaiG74Dg/x7eTpc1q85Tfp88ar0rl9KyPG1a5RRZJpjnJ3NB+fxNKwjuffF8RaWMSb2+SZejJlxlxd6PWSFo2fkSoVy5lCLQsXLzdColWkxRIVGzeoI91f7ajq8xaZ9fc/xrsKfdDck8DolXfl6MUQeaGij7SqGPZHCkVa/lh1V6ar51541aGRY7GthkF3qJZEkid5OP+vNTfj9M1B8tuKu9K7QRIpkDnWUfsPO3/MW4nVE7Ny/ofjL58Hc9X4b1txdNl1OkRW7LUVunF2aBXKltL8IbdMcSRsI71AZDZ9zgJZ+N9S2bX3gGTLmlmaNWogHdu/IF4PKrIP/22sbN62UxrWrSV/jJ8qZUuXkK8/e19e791fShQrYrpeuGip3FDX/dLFi8ln/+srh49q2MEfE+TA4SNStlQJafZsA3O+NQ6sOv00aoysXLNBrmgukWqVK6oQWkvq1vL8fIoWAz47T+DWrdty+uw550/QltWrVDDJnc+dvyCzFyzWkJEHv1TR6OXchYtR/v5E1V3WzBmlkYr8sHn/LNGf9+tRncLjJPDECFSrXF5KFC0cev1XX24rL3Z+Q4aN/ENaNXtWEicO+znuzMJQVG2iOh46mGhuONtveO3C2xfNy7M5CZAACZDAEyKAxbKVK1dKmTJlwoiKCEWeMWOGvPHGG5IiRQrxUmcMeCsirBntW7RoEeWIA1XcOnDggNSqVcsU21u/fr0RLx0dmhDSvHDhQjl16pQkSZJESpUqFW74siWAoj3EyqJFi0Y4hl27dpkw7tu3b5uckQjnhnCKegsw9LVjxw7jTQmxE/vLli2rOozecD4w1HdYsmSJXLp0yXhwVq9eXbZs2SIFCxaUKlWqmFbIQ7lt2zYzT8wXx0qWLPlYBVTLUxFiYjJ1MHu3Z1eNft0nM/9eJEZwVHERnouNG9a2psbneEwg7LfHWAx0vOZOtLfPP+ynPxCnZc/+Q6o6nzFJTHG8RJFC8tkHfU1TiJB40NybwKC/AyWR6maftQzrKfTNgkAZqAVZAh845iXXwznTekn6lInk7HWb9+LKA8FarCVYBswJlFF+yaRRKduPJEKqP2vhK93G+ssPi+66vdei/TsMobFHA5/QXVPX3Yu2sJhYPzw+fq+3vPx6b/l+xCj5+N3eof05bkD0/274KOncoY109esgOzWn4a9jJsjpc+fkf33fMs2vX78pu/fsl4sXL0tjTWOAFAWwC/p6244Z0lBFk3d6vi77DhyWqdNny2tv9ZMgrfT+fLPn5IXmz8mcBYvkoy++lUrly4Qm1O3zvwFy6PAx6eLX3rh/z/r7X3n3k0Ey7OvPVGSsYPqP6X/4sETYd4MGDcLtYtGiRZJUV73whYDmuQSKFyloJnfoSEp9XvzEJop8LxXKlDDXX65COo0E3I3Acw3rqrA4Rr+3nZH8eXObcKSoFoYuXLwk02bPl6Ur18gNXeh6unpVTYNTX0qVeHjDtHvfAbOAvGLVekmdJpXUrfmUtGjyjGTLkln+nDJDFwQWyeTRP4XeEM2Yu8Ds/3PUMEmuObth/y5ZoYtUY2XMiCGSXnNyw2K6WHZXb0S/18/D/5at0pvFe1K1UjntM3Y5sM2A+B8JkAAJkMBjJQDhD4JYtWrVorwuxMVKlSoJ7g/8tShIsmTJIj1n7969RiAsVqyY8ViEIInrlShh+66Hk3EfMmnSJLl7967UqVPH3HfAs/H06dOSI0eO0P6x77///hOEahcpUsQIgugvIsuVK5fUr1/fCIO+6qH31FNPGTES7detW2fEUeyrXbu2IFwb90QQIa17nsuXL8vUqVMlc+bM0rhxY8MI+SZRMCZnzpyhl502bZoRTdEXFhQ3bdokU6ZMkU6dOkn69OlD28XVBkTFwcOQT9EmKiLqCOHCazdujatLPrF+EaWLCKljx09J+TLFpX2rZipEP9QCntjAXHxhlwmL4Y0rd84cRlj0e8MmJKJNHk26SfMcAhuOBsuZq/fluTKJpVAWm1ce8p/7jfY3FZ4x0yZlE8sHTZJKxbzecu76fTlxJUSKZ/c2HorwZBysAuS2EyHSbOgdGdU5mXSqbvtFe6maj7wzxV9mbQnyKGHRVe9+oQL5xK99a/lt/GStkPW08RR27Bvewt/9NFKaPddQur3ykjkM8c8/IEDGTpwmbVo2lUL585r9+FAZ8d2XkkvDQu2tdMliMkAXAxBCDW/Dixp6OvefxdK/9xtGVERb47HY/lVZpukQWjZpZD4k8PvfVv9w1qxmq4qGflav3ygr1qyPtbCILwibN282w3QUF/GlAStwWJ1zF5v/33LJkTWLHDt5So6fPKM33Zn0Pa0pyH9mGXJrLtZqaCf0OFZFy5cuLhUckv/i5n7xirVySsMbUyRPJgjJLVnsoWcS+tq2a69s2rpL36MAfa+zS/1a1XRFN7n5mfhr9kL9sGtivmCsWrdZcmTPIvn0bzbGtGvvfl0xrGOGc1O9C/9bvkbOnD0vmTKm13B21Sy1AABAAElEQVT8KpI5YwZrqOZ58sy/5Sn1jLp85aps1TDn2zr+1s2fFXj3wYLu3ZN/Fq/Uvk9LVp0vxhsXdk7zkS5dtU5/bq+YhM9PP1XJ5JSzvxZWveeqp+GRYyclY/p0hn3GDGHFhg1btsu2nfuUjbeUU/blHBIx2/fHbRJwNwIHDh0xQ7YqLTqzMPTWux+bv/VdOrYzN1QT/5ol3fp8IBO0cB8SrJ89d166v/2+/g0qKu/3fVMXqi7JmAlTTRqPqX+MkOLqNfnDL7/Lnn0HQ8XIfzTS5YTebKzbuDnUu331+k3Gk8ESFWOzWPb54B+NUPnKSy9KkUL5Zb3mbZo6a567vV0cLwmQAAkkeAKo/ozipqlSpTIiH/Igwi5evGieIfBBQIQnHzz78ubNaxydzqljRb58+UybiP6D1yDaJ0+e3DTJnTu3QCC0Fxb37Nkj17SQJkKtIQbC4D04ZswYs239t2bNGnMcIh8MnoEptbDt/PnzrSZhnpEjEo9Vq1aZ6zvmhYSIWbFiRXNOnjx5BN6JKBZjCYvwrsQ9XevWrTXNnG2BDvOF56Nl8JyEN2PNmjWNlyL2w5MS91CorB3XwqK9qJjUJ4lAVMydM7tMmj7PfGfHeHJpyhZ4K8KT0d1t9J9/yaEjx8001mzYKmm0qHHLxg3dfVqPjP9hfOYjh2K/o5yGUzpa+TKeWQXHcZ4J5fW8bTZ3xNYaBm0ZvA8nrQsS3yQis3sllxlvJpeCmb3l+Z/uSO6+N6XGF7clfY8b8uH0AGldyUc2fJxSPm1h+6Px2hh/WbHfFhacRGXvpmV95LyKkZs056K72p3A+zL836AwD4ixrrBXO7aVfHlyyxda0fKOf8AjXUIMClalF+kJ7A1iHypgbtuxK3R3chWXHEVFHMykgpF9XkYrNLp6VduHGtpk1xWm1BqOfeDQUbw0ee6QCL9iudKyZfsuDcNeJktUiEqRLLlYqRFMwxj+h1U6rDxCQEQIgmXYxj4cxwqcu9h2Fft+GzfVpIWAEAhP76+0OA/EN9g9XRUdrEmNIXxV1oS/+LD9Y9J0FWk3hk4R4tjXP440Yh8ERQhjI0ZPEAhilq3QHIZjJk5XYS2betiVlL16ncE/jTZfyJC3ZKtWFT9z3vaF7N+lq4wAiXNRbOu8eq/CIF4O/PYnE7ZcVgU2CIafDxlhxEzT4MF/63TFccLU2erNuth8KUiTOqUk0Rwjlg0bNV7WbNxibu6xb96/S61DLns+r0LGF9+NMCH/1VXkhKfv1z+OemSsy1dvkFu37xivw9MqhnwzbGSY36fJM+bJrPn/6VjzmdXUsZNmyJKV61w2TnZEAk+KABaK4HW4TBctypcuaTzO4T2AhaEP3+1pFo/gYf7xe73073oSszCEsV68fEUOazE+RJ00US/FBnVqajRKH11kKq6LBafMdLZrMb87AYHS7dWXTC7gNi2bSJ83uxpvRVy3jC42pdIwtQ1btpn2+GzYpn+DCqjH5DJdDLBsy7YdUl3zdcNCF8s09QYWy7BQBpHwpRdbymz1ij945Jhph/+sxbKer3c218eNzD/6WYT2XdWTHh6W7/bqJs21LxoJkAAJkIB7EYDHoBWaHKAOE5MnTzYPyxtw9uzZ5jVyK8Ig5sHuaK7hyAyCG4q+wMPQMmxDwIOQaBkESgiXlqiI/RAxEX5tGTwJb9y4IYULh13kT506ZpWNq1atasK+Mb79+/cbsRP3aJi/ZRgXhFBLVMR+XA/trPs5sIAoi3smhFZjnHjdpk0bI3xafcXFs6Oo2KdHZ48WFcEQ0SD2hvs5T7SHd3lxMLtWGiaJB81zCRzR3IqwSvk1vldt9aFg+WJuoCDsGdWhy+SyaddvT/IXiJCFtWBLnWKJZabmT/x24V0plNVbOtfwMR6NuTN4ySvq6djxtzuyc2AqSaWLLFW0X4iUe8+EGI9HcxE3+y9INdENWjXbspOX78vesyHSsaZNjD12ycbQOh6dZx9dkfpYb/5ee7OfjNA8iXVqhhXTDj24yXIsc19cUxKgAMzZByJSdK7p5ZXINLc+nKxzHV///e8S4y0ZqCEChfLnMyFs/gH+VvNYP0M8hCFps2VYTcR+iI7uZtWrlpfnm9hWr6qoMPjegMF6w6031CqIwVuxvC7U1K/9lIp0ttVHCHwbt+6UWuqBB8N7Ca+8fm++ZjzzsC+tfpG4dfsh852796sLfkmxCotAxJw2Z6Fc177Sp01jvBNP6c13Wl1JQ8gg8mfCTp05r+GRucz2AvWuxEpbDxUL8J5jfIFj7qrwtkjefO1l08b6L5mGMvbv/XroFxlrP27+92vBk8/69wr1YMSK5LLV660mLnm+cydARYP6Uv9p2+8FPDwhhmzbuVdyZrcVr8CFUJ2t3fNNzDUrq1DRX9mjAl1dLegC76mlGsZpP1bMf8qs+VJHPTUdf+5dMnB2QgJxSKBrz/c0fYnt73iA5sKFVdPFp4/e7WW2kTwdC0PwbMfCEDwNETZsvzCUKUN64/kLURI5fuHNDjFy+Lefmz7wX6niRSWpelf/8PNoaf9CC6lRrZL+DathHlYjhCJv1MUP5HlcuXaDZMmcyQh/3wz92Sx4IAfqWfU6RiFAWGSLZX9M+Mssllle+I6LZaj+jIW2ek+H9WaHxzSNBEiABEjAvQhA1LNEQoh5/fr1MxNwzLFozQoh0LCowqBxLwGDVx+ENxhCrmE4Bi8/GI5bHo1mRzj/QbCD2YuN4TRzehe8NOfMmWMEzgwZMhjPRgiX9oZr2oc82x+z327fvr2sWLHCeEYuXrzYnAPhMq96asaVhScq5suTy2M9FS2OeXPl0HuqY9ZLc78V+sKDNuJUWPQgTpxKBAQu3bJ53mXUvImwflNsKyaDXvANFRXv6H3LhLVBUkpFxk3qnahahHzaPKnkfeemjFx21wiLOBehz4u0UjKERIRHD9Ccjdk1JyMM4dPuamm0KrR9xecNR0Kk8y8BWhX6odgYm7nh5q3tC81l0rTZofkNrf5w8wc7elxDPB9s4/V+DXsLDgnRarjZ8dLlhpvBgd8MtXmxvN/HJE7GRVp26OLSazmKi+4qKgKK/coiQpOR5wwiHwwh0QiN3qw3+RD5INAiqXGIvoeWZdeiPHn0g2vor2OlasWyUqxwAQ1DrxhG+ML+3ydMN6eUKFJQimobVFuzDGHPCKPGCnDxIgU0H+cBIy6cUS++ek9XM80OHT0hZUsWD9MvwoLh1edoEOzCE94wdoROW2HROC+l3QqvYz8xfZ0vT04VtNOYsG14WMGrE4LsbYfV6lR2IefIeVIwv4aWPGCPPKEQSDeqyGsZKuveVg/Hq9euh+Z8s47xmQTiO4GunTsY7wCME793OTX9BXIe2pszC0Ojfvxafho5Rn4e/acMHvqLlNNFCz/N5Vv1gYd8jmxZZdTQr2XU2InyyZdD9HMgkYqLleWN1zqFesdXr1LReNzDS3L5qrXqRVjFCJADvv5BtuzYZTyw4dUI70ZYbBbL4CUJs0KqzQv+RwIkQAIk4JYEsmbNKggzRu5AeNtFZceOHTPfSXFeRIbv1QhxRp52K+WS1Rb7du/eLTVq1DD9QFQ8evSo+W5peU5aba1nS3iEIIj8irE1iIqwnj17mrRI2Ea01pEjNkcAvIaIietFZRhbo0aNpGHDhgI2mC/yLr744othvDCj6sfZ4/aiYpLEPgJPRYiK46fMkpXrNpluPCn82Z6LX7tW5j4J33UyZ8qgkR517Q97zDaFRY95K5/MRG4F2ITF1L6JBCLjJs25mEbTUXSrrXHQD+zEZZv4UULzKkJUhGVQITKXeijuPxdWXBvY0tcIixPW3TXCYubUthMu3rBdx3a2e/1vk0YfjhkVosd087WKQj88EIut7q++LCvU2+v38VPC9IIcVqj8jIrsCBmzbP0mW2LcEg7596zjsX0+qCHRCN99tn7tUFERYg4EGVcbxER8oCPvoDt6KkbEw1fnE6gFcmCosI3QaAhglTW8PKUKj3fv3hMIfpYh7K9/r67Gi3GnFuL5Z8lKk3ema8c2JnwX7eCxh7yJazduk3+WrlSRcZp6GlWTVk2fMd3kVSFukYZAwzupsObwDAi4K/vUs/DS5auhQkCAhjYm1ZBIe4OHE8bobJVV9PE4khaf1hyQ32joc6XypaRgvjwq3iaVYydO2w893O0kmu8FIiQMQiRCqG8/WOnGPoil4IZcnzQScDcCSFFhXxXacfzOLgylT5vWFA4L7husHr5bZbIubvXSvIvI1VuhbCnTbfGiheT7QZ8YMR/pMMZOmiZ+3d+W2ZNGG1HzKRUWEc6G1AnrNDXCD199pvlWk2vKh7LmMw2hz/BqtKpdxmaxLH36tGZMBw8fNf07zpuvSYAESIAE3IdA3rx5jYiGnIIQyCIzCIZoh/yGltgXXnt4O8ILEuIawontDeLd9OnTjQiHnIXISYjqzKgIjdcwfA9GWDLuSWAIOYbQd/z48VBPR+y3vCexHZHhuyb6swxFYiCiVq5cObR/HIPnpL1lypTJhEmjvTUOXM++LxR9QSEYVJvOmDGj5M+fX7JlyybDhw8387MP77bvO6bbjqJi7+5+CUZUBDOkp3qzS9iorpiyjM/n8a4oPr87bjA2CISwy7f/3955wElZnH/8kSK9g0hARAFRwQJGEQsloIIFRIOisbeYgIlRE8tfE0sSS9SYGCxRgwpYQEXFigUUAbGAYgdRURHpHL37n98cc+wdu3u7d7t7u3vf5/O52933nXfeeb/v7jszv3nmmZ9MXouHtq9qBU47usd5IgZru1MVLyi+8cUmW+bSyWa4xVrmuGnUYcGXkPa6Zwo9Hk88oHCa8PI1hemb1Cs8T0iXS6/bfMq2lfpAJy5KYIz827Y3+XcSdq7+4++KYvKFHNo4DzSt0jnWrbQ57sVXvffHK05QGjV6rN+uBWDSYW2diCMxRgvLTHWdxdfemGxDL7vGe3hpMY9UmxZqySdRUZW/Yv2FBUQ+mz3HFjtuF//6TDcl8AAXx2wvN2Ww+GIpmgr92aw53lvx/DNOtluuu9yau4VVNGU32PsffOwbGQOPOcKu+sNvXFDk87wA+eXXc30SeSz+8ONC0+cO7Xb3MQWnuiDDWkxG91O2c/OmRd58foP7pwbDTs2aesEtbIv3qtE6TdsO4l28tOXZN3na+34K92mDBngu+zuvp2iLxEQ2tnQ+CbbBq0nTJDUt/AQXZHnwwGOK/Wk1aAwC+UYgkYGhd2d8aEMuu9rFff3Wi37yPLzh6sJpaO+8Xzh1TIu5XHb1X/3vR2LhcS4swdDzz/ShF7Rgi0y/sz3bt3Vejw97D5EQm7tX90OcB+Pb9v4HH5nyDhY5WBa26TWRwTI902ShfP6D+7e8xDSysJ1XCEAAAhDIXgIacOrRo4efnhzpXajFTjQtOkw/lqgoT7+CgoKiBU5iXZWmOmsxmGjCmoRMiZJhqrQWctE5tCrzN87jT4vHvPjii0WLx4RzSAhUTEQtxiJPQq04PX78+LA75quES6VXvhI7JRI2dAN68pqUV6XEyueff957TUo4DLOYdD61a7VP55VXpQRRWWjvahq18tViLSq7VpKW0Kj9Om8qLZqo2Ha31pXCUzGVHHMhL4TFXLhLWVzGFg0KBb95WxcjufmkwvhvVz6xzj76vlBSq+70iMv61rD5y3+yzteust63rLZeN6+yn9zuq48rTK9LHPPuRhsxZaPJS/Hyo2v4q/5u6xTollunRGcxigovmjxEtCJzSbvikiE28Lh+9o9/32393crNtw+7z450q0hffdlFJZOm7LMWc/nbNX8yJynb7y//i/35b7f62H5aHOCbb79P2XnyKaOZn3xuywtWeu8deRsuWbrcDuxc6PUj78UNzntRwuEmt6DL5+5VC7ds2bJtJFPTcoe5xVqURqZ0WvwlUkh79c0pLo7JODeaWhgrRi75GhGt7eLUyOQJqZhomzdvcdPq67sO/+72iRMA5MkYrPfh3bxX5EwXr1ENkK/d/dRq1b/ofnBIUurrvh07OC/TaqZVqFUWLbKilZuTNfGSUK0YkbKly5b7z4pJKZNnpUTChW7hGcX6FLPZblW20Pjyidy/aU4IUcNH16N4ivJ01AI4Mq0AXcfxedAt2KJ8xfVdJ3bc/b9Hihpoujcqh/42OW9PXVP4HBpxPjP+QSAHCCQyMNS2za428+NP7aZ/DvOi3tdzv7XhbsVnxTBUiAXZLm6Fx4mT3/bTpLUA1Eeffm5PPvuCf8Zo+lMwLcyi2KdaVCx4AXc/pKt/Lmj6srwag5VnsEwLnXU/5CC3WM3z9tzLr7nFxr7yHpRPuBXsMQhAAAIQyD0CEve0WKPEPYl6kVOA5Q0vUe2RRx7xItzAgQPjrnas2IRKr4Va1DYuaaqf9tprL78Cs7wSNVtKi50o7ZgxY/x51L4M3ovheK3g3LVrVx8T/qGHHrIJEyb4z2F/rNd99tnHn2PUqFE2e3bhYNyAAQP8Ctea/qxzKvZjly5dfLs2LCwjYbB///7ek3LkyJGmxWvCytLhuiSIKsaivBo1/Xn48OFeaOzdu/d2C83EKl8i29Xn+8ed95v6G5pZJU9FiYrD3UKS+T79OZKPZvG98MobNuz+kW7hysJZg5H78+X9Dq7T85MUby1XnqsWrfzapqXlU2VS9cvKSIFRwxLw5SlPefPRSI2Wr0+l3f7yBrtizDq7/ZSaNrR3odv3v1/dYJc9ts4v4PLYhS5+wz7VXAfc7D+vbbB7J2ywuU4s3LdVVT/VuffehbPxb3x+vf1l7Hq/kvRzF9ex7nsUekf96t61XnCceEUdO6Rd4bZUlj/VTGYvLVzFN5Rx7HubbcKnm+zfZxQKpWF7Iq/tG6c2UoFWgV7i4sxpledMmgQvBfdXhZLrVp7vS7TnVOBx4x33WHUXb2Sh60RrdWKtnnzqL49z4tZ+IYmNdp6HWolYjRbFJlTn/73pH9kdN/5f0TTBCW7/sy+/bps3bfZCWod2u9k5vxrkFnOp5/OR2PWQi2Uy28UNrFalqlVzqv+Ao/tYTxfXLNh9bnVqCXJnnHy83/Sna292i8oc5T3+Qpop70y3J8e97OIvqqFQ1fq6+I/9+vQo1hC7+Kq/2snOw6+bm8YYzea4WI33jRjtvVhr165l+3Xc062GPdtuufbyaMmjbrvulju9CFhypxanGTSgr48PeffwR70QqzR7u7iS+h0oPMDFF57lD9NK2vI81BRpCZOK+/LL4/taDydABPvRLR4xYvTTpjJXddxa7NzMey4qFqNs+sxP7Z7hj4TkxV7vvOnP200dV4J434diGfABAlsJlOf5oyxecAtq/fnG2+2hu2+POxVaaeVl/qjzOJzpxEAtEjb4xP5OGPzCr/j88lMjlcQLc9e7WLqznUAn67h3B+vbu6dp9edgL7060Ybd95BbgGWR1XLPlQO77G8nnXBcURxGpdOCLGf99lK79Yar/erN4djfXHKVX3X+4Xv+GTb5Vw2YKLajPPG16rSmR/c8rJtddtEFRc/Cv9/2HzdIMNVeGTuq2LGrXMfxmr/ealOmvedFUC1kJi/JUe5ap736TNHxxQ7iAwQgAAEIlItAeeuv0k6uNpWExZUrV26XtI3zNDzqqKP8ysjb7UzRBomSisEYr68joVOehWF16kRPrWvSMUEU1HESBGVhqrP/EOVfOHbBggU2YsQI69Onj3XuXLxdrtlDKltkrPcoWSW9SYP0CuOkUEni8rsLznCzoXazhx8fa5OnTff5tW7Vwi4dcm7RwpRJnyRHDlDoKS0KGey0kwZYd7egXSZMq4QrBmkYuJVnajzTAj4yfXf0l4yehrAYj2zEvvIIi9OnT/ejF4kElo04ZbG3iqmgURSNSpTV0vFQn7Nwi+111Srr4wTCFy5xwRW32gOTNtqFD6+1HZygeFznanblMTW2W9VZYuPj72y0215ebx+6qdEN6uxgz/2+tl8JWtk4pylr/vsVVr3qDjbvn/WcGBByT91rqpl8W7DJ1hcPG1mmwtZwGmrrBrkvxJXp4rP4oPJ8X+IJSRIW99qjnfV3wXxXrFztVl0u3oAISNShXu1WeQ5CYdhe8lVxASUOyvswmqkRsWbtOr8oTGRDJVraeNtWrlrtvRzTkcel19xoyr+kaRGbEBOy5L5Yn3WtPzlBVovixDJ5FhasWOXS1PJCSrR08kzc4lytFXqgvBbv+1DevDk+PwmU5/lTViKJDAzJE0G/DS0yFcuWF6xwntE1S+0ExTo+2vbyDJYp5q86UvXdlDcMAhCAAATSSyAT9ZfacZrSu2jRIi+IaLqvvPeSFfLSSyL9uS9evNgmTZrk405qBWx5V2rK86xZs+yss84yccmETZr6nh+U17n+8Juz/Swozf6ZutVjr7KIirr+i6643gusei/TjLBLfntO4Yc0/8+ksIhykeabqewVp0EuzO3bt09o1aqSRZKoqONLulaXTFcRnxU/cc8WVeyVzzbZh99tKVoJ+tzDq1uHnavYRSPX2rgZm/xfbdcXb+WmNDd2sRjnF2yxH9zUaDdr0Ft/Jz7+85RatkvjberhA5M22Ao3o/Gcw6ulRVRMB69GNavYj6sLp4CXJ3/lg1U+AhpNiicaynMo3v5ALF4HX2k0faOB+yuvyRO1vBYrj7/93yVugSM3+lDC4o0Gl0ha9FGCRmkmcbQ0tplYcKa0crIfApkk0Khh6bMcJLSXJranIx6pPI/L6oGvmI8YBCAAAQjkDwG147QQif4qsykOpKZI33XXXZ6FxFZZr169MiYqluSv/o2mPwevvcokKorFri40zCw3WyxYm11ahrd59YqwmIHbGUYG5HGogK+K0ZWoqROtkRaJiiGfRI/NVLo/uXiI5zyw1ouIb7gpy+657u0wt5DL9Gvr2qRZm71n4hPvbbRZC5zotnUh2312qWIDu1S3wV2rWzsnUEbaQrcK9FUuTuMObvOlLj5jrli9GoXXsWzdljJ5LspTUaJiyCdXrptylk4guKBHS1mrpjx5yi/0Rcs7V7dpBed8tnjfh3y+bq4NAhCAAAQgAAEIQCA9BCQsalVreapp8RZNl27VqpVf+CU9Z4yea6RzwG3DHihKJFHtD85br1aet/OLLti9OeuUE10oqrE214VdOmD/jnasm6GWj4awmIG7qg6kln7XXz7aqQdXt5ueW29vz9lsf3l6vY+dGK5TImP3DlX937DTS/ca0nGaAn3SXWu8t+L5PXbcbuXokHe2vkoURBjM1rtTceWSl6CmI0SLYRLi/VVc6ThzJgmEoN+ZPCfnggAEIAABCEAAAhDIfwLy3mzRooX/y6arlaiomIoK11SZrGmTRnZphqY+VyRXhMWKpJ8n51bsw8d+W9t63rTKbnKLsHRqVcVOOrBs3leKu6jYjFO+3Gz7t65iNw1KTIzME5RcRh4TqF+/vimsgWKtRhMX8/jSubQIAhIV9T1I9UJaEafgLQQgAAEIQAACEIAABCqMgBZlbD6k+LT0XXf5WaUTFSvsBlTAiREWKwB6Pp6yU8sqNs6t5nzUbavtNLeSs6Yyh1WiE73e9W6G+On/XWNPT99k7ZpXcYvB1LF66IqJ4iNdlhNQAGXZ8uXLTYunaHVnrHIRkPe6j2/ZoIGF70PlIsDVQgACEIAABCAAAQjkO4EG9eu5xShZIC3f73Pk9SEsRtLgfbkIdGtb1d68oq71u321XfLoOhv3wUbncVjLOjvPw3i2xXkpjpq60W54dp19s/gn67xrVXvRrTDd2K0SjUEgXwhoWoLinugPgwAEIAABCEAAAhCAAAQgAAEI5AMBhMV8uItZdA2avjzpqjp25n1rbcJnm63r9au8UKgFWro4wTDSNm7+ycZ/vMkenbbRFhQUrv565mHV7c5f1bKaZZtJHZk97yEAAQhAAAIQgAAEIAABCEAAAhCAAATSSABhMY1wK2vWWuF58v/VsdHvOo9FF3NxxtzN/i8WDy3wcmSnava3E2vafm6laAwCEIAABCAAAQhAAAIQgAAEIAABCEAg+wkgLGb/PcrZEmoBF/3NXfKTPTNjoy1fXeiVGHlBe+xcxY7et7rVLww/F7mL9xCAAAQgAAEIQAACEIAABCAAAQhAAAJZTABhMYtvTr4UbdcmO9jv+lSuZeXz5d5xHRCAAAQgAAEIQAACEIAABCAAAQhAIBYB5p3GIsN2CEAAAhCAAAQgAAEIQAACEIAABCAAAQhAICYBhMWYaNgBAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIxCKAsBiLDNshAAEIQAACEIAABCAAAQhAAAIQgAAEIACBmAQQFmOiYQcEIAABCEAAAhCAAAQgAAEIQAACEIAABCAQiwDCYiwybIcABCAAAQhAAAIQgAAEIAABCEAAAhCAAARiEkBYjImGHRCAAAQgAAEIQAACEIAABCAAAQhAAAIQgEAsAgiLsciwHQIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIhJAGExJhp2QAACEIAABCAAAQhAAAIQgAAEIAABCEAAArEIICzGIsN2CEAAAhCAAAQgAAEIQAACEIAABCAAAQhAICYBhMWYaNgBAQhAAAIQgAAEIAABCEAAAhCAAAQgAIHcJtCoUaOYFxBvX8yDInYgLEbA4C0EIAABCEAAAhCAAAQgAAEIQAACEIAABPKJQMuWLWNeTrx9MQ+K2IGwGAGDtxCAAAQgAAEIQAACEIAABCAAAQhAAAIQyCcCdevWtY4dO1qDBg2KLkvvtU37ymPVynMwx0IAAhCAAAQgAAEIQAACEIAABCAAAQhAAALZTaBevXq21157pbyQeCymHCkZQgACEIAABCAAAQhAAAIQgAAEIAABCEAg/wngsZjEPS4oKEgidXYmzYdrSDVZmKSaaH7nx/clv+8vVweBbCbA8yeb7w5lgwAEIACBWASov2KRYTsE8oMAwmIS93Ht2rVJpCYpBCAAAQhAAAIQgAAEIAABCEAAAhCAAATylwDCYhL3trxLcCdxKpJCAAIQgAAEIAABCEAAAhCAAAQgAAEIQCCrCSAsJnF7qlQhJGUSuEgKAQhAAAIQgAAEIAABCEAAAhCAAAQgkMcEUMry+OZyaRCAAAQgAAEIQAACEIAABCAAAQhAAAIQSBcBPBbLQHbVqlU2b948W7ZsWRmO5hAIQAACEIAABCAAAQhAAAIQgAAE0kVAYcxatmxpdevWTdcpyBcCENhKAGExya/CypUr7ZNPPknyKJJDAAIQgAAEIAABCEAAAhCAAAQgkAkCcgLSX8eOHa1evXqZOCXngEClJcBU6CRv/ffff5/kESSHAAQgAAEIQAACEIAABCAAAQhAINME6L9nmjjnq4wEEBaTvOsFBQVJHkFyCEAAAhCAAAQgAAEIQAACEIAABDJNgP57polzvspIAGGxMt51rhkCEIAABCAAAQhAAAIQgAAEIAABCEAAAuUkgLCYJMAGDRokeQTJIQABCEAAAhCAAAQgAAEIQAACEMg0AfrvmSbO+SojAYTFJO96q1atkjyC5BCAAAQgAAEIQAACEIAABCAAAQhkmgD990wT53yVkQDCYpJ3XStKderUybR8PQYBCEAAAhCAAAQgAAEIQAACEIBAdhFQf139dlaEzq77Qmnyk0C1/Lys9F5V3bp1rUOHDuk9CblDAAIQgAAEIAABCEAAAhCAAAQgAAEIQCCLCeCxmMU3h6JBAAIQgAAEIAABCEAAAhCAAAQgAAEIQCBbCeCxmMSdWblyZRKpSQoBCEAAAhCAAAQgAAEIQAACEIAABCAAgfwlgLCYxL2tWrVqEqlJCgEIQAACEIAABCAAAQhAAAIQgAAEIACB/CWAsJjEvWWp+iRgkRQCEIAABCAAAQhAAAIQgAAEIAABCEAgpwgsX748qfISYzEpXCSGAAQgAAEIQAACEIAABCAAAQhAAAIQgAAERABhke8BBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgkDQBhMWkkXEABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQggLDIdwACEIAABCAAAQhAAAIQgAAEIAABCEAAAhBImgCLtySNjAMgsI3Ahg0bbPXq1bZu3TrT+3y3HXfc0WrWrGl16tQxvccgAAEIQAACEIAABCAAAQhkO4Fs6rfRp8r2bwvlS5YAwmKyxEgPga0EtFLS2rVrrVatWta4cWOrUaNG3rNZv369v+YlS5b4627YsGHeXzMXCAEIQAACEIAABCAAAQjkLoFs67fRp8rd7xIlj04AYTE6F7ZCIC6BxYsXW5UqVaxZs2ZWtWrVuGnzaadG1/RXt25dW7FihYlD06ZN8+kSuRYIQAACEIAABCAAAQhAIE8IZGO/jT5Vnny5uIwiAsRYLELBGwgkRkAjXhIVGzRoYNWqVbMddtjB/yV2dG6nCteq69b1i4N4YBCAAAQgAAEIQAACEIAABLKJQLb22+hTZdO3hLKkggAei6mgSB6VhoBic2j6c2XzVIx2g+WpWb9+fVu0aJHVrl2bmIvRILENAhCAAARSQiBVsbGIa5WS20EmEIAABLKeQK702+hTZf1XiQImQABhMQFIJIFAIKCFWhRTsTJNfw7XHu1VHMRDXNRZwyAAAQhAAAKpJpDK2FjEtUr13SE/CEAAAtlJIJf6bfSpsvM7RKkSJ8BU6MRZkRICfvVnCWnYNgLioVWxMQhAAAIQgECqCSg21pYtW/xMAYXgKO8glo5XPpp5oHyVPwYBCEAAAvlHQP2TXOq30afKv+9gZboihMXKdLe51nITkEu9Vn9WXAzMPAfxEBcMAhCAAAQgkEoC6YiNRVyrVN4h8oIABCCQvQRyqd+muok+VfZ+lyhZ6QQQFktnRAoIQAACEIAABCAAgQwSCLGxFMs3XeFHlK/yV+xkBsgyeHM5FQQgAAEIQAACeUUAYTGvbicXAwEIQAACEIAABHKfQKZiY0XGtcp9alwBBCAAAQhAAAIQyDwBhMXMM+eMEIAABCAAAQhAAAJxCGQyNhZxreLcCHZBAAIQgAAEIACBUgggLJYCiN0QSBeBlatW+8Dx6cqffCEAAQhAIH8IaDXjjz76yJ566imbOXNmyi7sxx9/tPHjx9uqVatSlmcqMspUbCziWqXibpEHBCAAAQhAAAKVmUC1ynzxmbz2zz//3F5++WUbPHiwNW/evOjU6iiMHj3ax/bRvjp16hTt403+EdiwcaMNHznannjmeVtWsMKqV6tmh3b9uf3xdxda852aFl3wBx99ahdfcW3R5/CmYYP69vQj94ePvEIAAhCAQBoISNSa+Nbb9txLr1qX/fexs04dlPBZvp77nY0e+5x98eUca7nzznbD1ZclfGy8hBIUFy5caHvssUepq1wuWbLEZsyYYQsWLPArIB977LExs9YCKR9++KF16dLF6tatGzMdOyAAAQhAAAKpJPD1119blSpVbNddd01lthnLa+OmTaY+25R3ZliHdrtZ397dM3Zuneixxx6z3Xbbzbp27RrzvGvWrLHPPvvMD0weccQR1rJly5hp2VFIYO7cud75R2wr2j755BPbc889S401/frrr/ui/uIXv6iwIiMsZgj95s2bvXi4ZcuWojNq29ixY23p0qV2yimnICoWkcnfN/+65wF7etzLdkL/fvaL7ofYhx9/Zg8/+oRddvUN9tC9d1iVratNL1i4yFa5iuDCs0+zGjtWLwJSs2aNove8gQAEIACB1BJY5wb7/jnsfhv/+pu2dt062+Tq6c77dUr4JC+9NtH+fuudtkurltbzsIOty377JHxsvIQrV66077//3vr27Wv77BM/T3UgNJDZqFEja9++ve2yyy7xss6pfeud4PvNt/OsaZNG1qRRw2JlV5vqy6+/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" class="kg-image" alt loading="lazy"><figcaption>Sample common project strings.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABRcAAAGwCAYAAAAzE1IAAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFF6ADAAQAAAABAAABsAAAAABLRiBtAABAAElEQVR4AeydB5gUxdaGD5tYFpYlZ1hyzllyliQoKgbAq2LO+V7TVa/+5ogYMRFUQEUJCihIzhkkS1iS5MwCm/jrq6WH3mFmtmemZ3Zm9zvPszs93dXVVW/3dHd9depUvgvKJBdaUlKSlCtXLhfWjFUiARIgARIgARIgARIgARIgARIgARIgARIggdAgEBEaxWApSIAESIAESIAESIAESIAESIAESIAESIAESIAEwo0AxcVwO2MsLwmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmECAGKiyFyIlgMEiABEiABEiABEiABEiABEiABEiABEiABEgg3AhQXw+2MsbwkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkECIEKC6GyIlgMUiABEiABEiABEiABEiABEiABEiABEiABEgg3AhQXAy3M8bykgAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkECIEKC4GCIngsUgARIgARIgARIgARIgARIgARIgARIgARIggXAjQHEx3M4Yy0sCJEACJEACJEACJEACJEACJEACJEACJEACIUKA4mKInAgWgwRIgARIgARIgARIgARIgARIgARIgARIgATCjQDFxXA7YywvCZAACZAACZAACZAACZAACZAACZAACZAACYQIAYqLIXIiWAwSIAESIAESIAESIAESIAESIAESIAESIAESCDcCUeFW4FApb1pampw9e1bOnz8vKSkpoVIsloMESIAEJCYmRvLnzy8FChSQqCh7bvPp6emSnJys73e479FyBwFcJ7he4uLiJDIyMndUirUgARIgARIgARIgATcE+E7rBgxX50kCdrYF7Gl15qHTEBERIadOndLCIhruxYoV0434PISAVSUBEghxAhD/0Plx/PhxLTDGx8dLRkaGT6V2vucVLVqU9zyfSIbmTsa1cuzYMb+vldCsIUtFAiRAAiRAAiRAAiJ8p+VVQAKXE7CzLZDvgrLLDxH+a5KSkqRcuXK2VgQ3JDTA8Fm4cGGHl0e+fPlsPQ4z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RbgfT/xthpw6HfgZnT3WlBtJgARIgARIgARIgARIgARIgARIgARIgARIgARsJRBQcTFdCYtfjB4vv/4xW1auWW9rwZkZCZAACZAACZAACZAACZAACZAACZAACZAACZBAzhIIWMxFCIsffzlG1m3YItf06SEd27bM2Zry6CRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAArYSCIi4mJ6eLh9/9a0WFvte2Vl6detga6GZGQmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQM4TsF1cTEtLk2EjRsumLdukZ9cO0q9n15yvJUtAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRgOwFbxcWUlFT5cMQo2fz3Dqlds5rUq11DL3sqda3qVTxt5jYSIAESIAESIAESIAESIAESIAESIAESIAESIIEQJWCruDhx6gyHmAjPRfxlZ5+/90p2SbidBEiABEiABEiABEiABEiABEiABEiABEiABEggBAnYKi7279VNtu3cJdt37pbqVRKV92LVEKwyi0QCJEACJEACJEACJEACJEACJEACJEACJEACJGAHAVvFxZiYaHn0ntvk3Y+/ku1Ju6VHl3bSuH4dO8rJPEiABEiABEiABEiABEiABEiABEiABEiABEiABEKMQITd5cmfP0Yeu+92qVCutHzy1XeyZMUauw/B/EiABEiABEiABEiABEiABEiABEiABEiABEiABEKAgO3iIuoEgfHx+4dKuTKl5MsxP8iCJStCoKosAgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQgJ0EAiIuooAFYmPliQfukPJlS8vIsT/LvEXL7Sw38yIBEiABEiABEiABEiABEiABEiABEiABEiABEshhAgETF1GvgnEFtMBYrUolqV2jag5XlYcnARIgARIgARIgARIgARIgARIgARIgARIgARKwk4CtE7q4KhgExn8/dJerTWG9Li0tTc6ePSvnz5+XlJSUsK4LC08CJEACJEACJEACJEACJEACJEACJEACJJB3CMTExKiwhvmlQIECEhXlnzzo3955h7mjphEREXLq1CktLOIEFCtWTJ8MRwIukAAJkAAJkAAJkAAJkAAJkAAJkAAJkICfBJKTkyUuLs7PXAK3+4EDB6R06dKBO4AfObNs2cODsxyc5o4fP64Fxvj4eMnIyMh+RxcpKC66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PyF6YlgsEiABEiABjwT4/PKIJ6Q28lyF1OkI68IEzXMxrCmx8CRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAApcRoLh4GZK8scLcQ5E3apy1lnm9/llp8Ft2BHi9ZEeI20mABAJFgPefQJFlviRAAiRAAoEkwOdXIOnamzfPlb0882puFBfz6plnvUmABEiABEiABEiABEiABEiABEiABEiABEjATwIUF/0EyN1JgARIgARIgARIgARIgARIgARIgARIgARIIK8SoLiYV888600CJEACJEACJEACJEACJEACJEACJEACJEACfhKguOgnQO5OAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAnmVAMXFvHrmWW8SIAESIAESIAESIAESIAESIAESIAESIAES8JMAxUU/AXJ3EiABEiABEiABEiABEiABEiABEiABEiABEsirBKLyasVZbxIgARIgARIgARIgARIgARIgARIgARIgARKwQiA5+awcO3HSStIsafLHxEhC4XiJjs69ElzurVmWU8kvJEACJEACJEACJEACJEACJEACJEACJEACJOAbgdPJybL3nwM+7RwZESHVqyZqkdGnDEJ8J4qLIX6CWDwSIAESIAESIAESIAESIAESIAESIAESIIGcJRATHS3xhQpeVojU1FQ5dz5Fr3e1/XxKiqSkpMr2pN3SqF5tiVBCY24zh7hYo5hjMezqmHQqtIuckZEhR44ckd27d8vp06clLS3NcoGjoqKkUKFCUrFiRSlevHiuvAgtw2BCEiABEiABEiABEiABEiABEiABEiABEsgBAkUSCgv+nO3g4SOyc9devbpOzWrOm5XweF7Wrt8sqalpcur0mVzpvRi+iuJlpyt0V0BY3LFjh9SoUUOKFi3qdUGPHTsmW7du1fuVLFnS6/25AwmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQPAJxObP7zgovBhzo+U+X8wQPEvwWPRVWER1IEhif+QTKnbhwgXl1ps7fxTBZpyenm7bIe3My7ZCMSMSIAESIIGQImDnM5zPnZA6tSwMCZAACeRqAnY+v0IF1IYNG2TWrFmhUhyWw0cC+SSf5T1dpYVn48Yt2/QflsPR6LkYhLOGodC+eCyai4b9161bZ16VI8v//POPzJkzR/bu3SsY7o1yValSRTp16iSRkZGOMqGxgTgC+fJZ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n6FpeRh9fHxp5J+TaMv23YSE4O1aNlHeivceBJ8R+tmLl/RT136GVciyAxPAzM8Hf41HK46x5yLnYDx1J0D9mesSJn2pnjcmjWjoSgV4BmkxISAEhIAQEAJCQAgIASEgBISAEBACQkAICAHHIBBucdFSN5u360Z37j1QRV6+ek1//DPdbHEfPz+z+2SHYxLApC74u/P8E60/5U+v3uu8Ew17kz2VE32b34US6tLRGe6SZSEgBISAEBACQkAICAEhIASEgBAQAkJACAgBOycQIeIiZoZ++fqNXlgMDYNkSZOEpriUdQACGd1iUPeqoZvcxQG6JU0UAkJACAgBISAEhIAQEAJCQAgIASEgBIRAtCcQITGo/Xt2JmeeITG05hIzJg3s3SW0h0l5ISAEhIAQEAJCQAgIASEgBISAEBACQkAICAEhIAS+AoEI8VysWrEs4U9MCAgBISAEhIAQEAJCQAgIASEgBISAEBACQkAICIGoSyD07oVRl4X0TAgIASEgBISAEBACQkAICAEhIASEgBAQAkJACAiBUBAQcTEUsKSoEBACQkAICAEhIASEgBAQAkJACAgBISAEhIAQEAJBBERcDGIhS0JACAgBISAEhIAQEAJCQAgIASEgBISAEBACQkAIhIKAiIuhgCVFhYAQEAJCQAgIASEgBISAEBACQkAICAEhIASEgBAIIiDiYhALWRICQkAICAEhIASEgBAQAkJACAgBISAEhIAQEAJCIBQERFwMBSwpKgSEgBAQAkJACAgBISAEhIAQEAJCQAgIASEgBIRAEAERF4NYyJIQEAJCQAgIASEgBISAEBACQkAICAEhIASEgBAQAqEgIOJiKGBJUSEgBISAEBACQkAICAEhIASEgBAQAkJACAgBISAEggiIuBjEQpaEgBAQAkJACAgBISAEhIAQEAJCQAgIASEgBISAEAgFAREXQwFLigoBISAEhIAQEAJCQAgIASEgBISAEBACQkAICAEhEERAxMUgFrIkBISAEBACQkAICAEhIASEgBAQAkJACAgBISAEhEAoCIi4GApYUlQICAEhIASEgBAQAkJACAgBISAEhIAQEAJCQAgIgSACMYMWZSkkAq9fvw6piN3vjwp9sDVkYWJrolG7Pvm8RO33V3onBOyZgPz+2PO7I20TAkJACAgBcwTk+mWOjGwXAlGHgIiLoXgvEyVKFIrS9lcUP+qO3gdbUxUmtiYateuTz0vUfn+ld0LAngnI7489vzvSNiEgBISAEDBHQK5f5sjIdiEQsQS8vb0j9gRGtUtYtBEQWRUCQkAICAEhIASEgBAQAkJACAgBISAEhIAQEAJCwDoCIi5ax0lKCQEhIASEgBAQAkJACAgBISAEhIAQEAJCQAgIASFgREDERSMgsioEhIAQEAJCQAgIASEgBISAEBACQkAICAEhIASEgHUERFy0jpOUEgJCQAgIASEgBISAEBACQkAICAEhIASEgBAQAkLAiICIi0ZAZFUICAEhIASEgBAQAkJACAgBISAEhIAQEAJCQAgIAesIiLhoHScpJQSEgBAQAkJACAgBISAEhIAQEAJCQAgIASEgBISAEQERF42AyKoQEAJCQAgIASEgBISAEBACQkAICAEhIASEgBAQAtYREHHROk5SSggIASEgBISAEBACQkAICAEhIASEgBAQAkJACAgBIwIiLhoBkVUhIASEgBAQAkJACAgBISAEhIAQEAJCQAgIASEgBKwjIOKidZyklBAQAkJACAgBISAEhIAQEAJCQAgIASEgBISAEBACRgREXDQCIqtCQAgIASEgBISAEBACQkAICAEhIASEgBAQAkJACFhHQMRF6zhJKSEgBISAEBACQkAICAEhIASEgBAQAkJACAgBISAEjAjENFoP1+qKdZtoxrwl9E3VitSzc1tydjKtXX769Ik2/7eLDh89QT4+vlSoQB5q3KAOxXJxCdf55WAhIASEgBAQAkJACAgBISAEhIAQEAJCQAgIASEgBCKPgM3ExamzF9DsRStUy5eu3kBPn72gEb/1I2dn52C98ff/SL1+GUqex0/pt+89dITWbNhGcyaPo8SJEuq3W7Pg7+9vTTEpIwSEgBAQAkJACAgBISAEhIAQEAJCQAgIASEgBISAjQmYdi0MxUnghTj2n+lKWEyWJDHN+Hs0ZXHPQDv2HqABQ0ZTQECAvjaUHTxynBIWXWLGpO4dWtPKeVOpWsWy5HX/AS1esVZf1poFCIsiLlpDSsoIASEgBISAEBACQkAICAEhIASEgBAQAkJACAgB2xMIt7g4edZ8Wr52I6VOnoxmTRpLhQvkpaosFsJ2HzhMfQb9jz5+/KhExoFDx9D2PQfUPn/e9vjJM3LPkI56d2mnth0/fVa9WvNPhEVrKEkZISAEhIAQEAJCQAgIASEgBISAEBACQkAICAEhEHEEwh0W/e/Ovap140b8RunSpKYLl6/SdM67GD9eXEqfNg0d8DymBEZir8WDnGPRPUNa+qV3V+r/+yglSvr4+pBHs0ah6qEIi6HCJYWFgBCwAwLw3Pb29qY3b94oj+vAwEA7aJU0QQgIgYgk4MS5p104n3TChAkpTpw4FCNGjIg8ndQtBISAEBACQkAICIEoQeDGLS+6ffc+VSlfKkr0Jzp0ItziYrFCBWjDth00aMQ4mjlhDOXJmZ0G9upMeXPnVGJj136D6OCR44plBhYbp/05ipK5JaWpf46k9j0G0Pot22nXvkNqP+oKyURYDImQ/e2/++ITrTvpT9efBNKj14H06sMnSp7AiVIlikF50zpTvUIxKUk8eeCyv3dOWmRLAhAWX79+TUmSJCFXV1dbVi11CQEhYMcEfHx86OXLl6qFcePGteOWStOEgBAQAkJACAgBIfD1CXjde0D/zJhP3jz575Onz6lpw9pfv1HhaIEfp/N79PgZ62MpCQPPUdXCLS726tKWrt+6TRevXKfOfX5VomHDut8qXpgJ2jmGDh6ExRkTRithETuzZnaniX8Mo1ade9Pbd++peOEC1LxxA4ucHVVYhIfS8+fP6e7du/Tu3TsVJm6xowY7Y3Juyvjx41P69OnJzc3NoT6My4740x9bfen8PVMeWkG5ONvPI6qSJyaNauhKBTM4/pftrW8gvfQJJN+gLhq8o5YXY/P8R0lcnShBbMfnYLmn0W8vPBZFWIx+77v0WAhgMAHf/VevXpGIi/J5EAJCQAgIASEgBISAeQL3Hz6m8ZNnK2ERpXYf8FSFHVVgvHT1Bk2ds4R8fH0pOTvZ9e7Shtx4rpKoaOEWFxOw8DV1/Ejq0f93On3hEnXpO0iJiC4xXTgcerjalj5tapr5zxhyS5pEzxATvcxbslKtF86fh/4a9TvFjhVLv994wVGFRfQDwuKtW7coW7Zs6gHDuG8hrcPj4dq1a6pY8uTJQyr+1fdffBBI7eZ607FbOnUtfzonalzChSrljElpkzix12IMevDqE3k9D6QtZ/1pKYuQOy98pOIX3lHTki70T/M4lCjOV+9GmBoAYfHRe1NiqnXVQZDUjheB0TpmjlIKv2Hisego75a0UwjYlgC++/gNEBMCQkAICAEhIASEgBAwT+DI8dN6YVErBYERqWWafFdL2+Qwr4tXblDCIhr89PkL2rhtJ3k0begw7Q9NQ8MtLuJk8Ti/4sRxw6nrz4PpzLmLyoMxRTI3OnLiNLt+plLh0obCIiZ4weQumPAlX+4cNGHMUIvCYmg6ZI9l4bEYVmER/YHHA46HQGnv4iKEwvbzvMmXn6FKZ3Wm0Y1dqWRmdsczsoxuMSijmzOVy+5MI9ljcdlRfxqy3peWevrT/qsfaX33eJSPRUlHM3gs2sJQT3QQF8f8PZWKFspPVSqUsQU2u65Dciza9dsjjRMCEU5AfgMiHLGcQAgIASEgBKIpAeQ2f/HiBT158oTevn2rIv7w3Iycx5Fpx44d46kmPlHx4sXNnhaOQyhXpEgR1U6zBaPZjrv3H6oo1wa1q9N7Tie1/7AutZ6GYdf+w1SjcllKkjiRtskhXt9y5KqhvXj1xnA1Si3bTL2Jw6PyU8YOpxJFCtL5S1cJb36aVClo+t9BodAgB2Gxx4AhSljMlT0rTR73P8KxIRkSouPPEQ2h0BAIw2M4HvXYsy045E+tZnrzqALR1FZxaM+AeCaFReM+oHxT9mw8Pzw+dasai+5xjsZyo97R5Ye2EeqMzxeR68ah0PdfEB29GfjFn3cIDizG9Ri2uVnbblTnBw96wSF2xnaaxf2KtRrzj/FR4112ub5hy390/uJlu2ybNEoICAEhIASEgBAIIoCcUWJCQAgIAXsjcOfOHZoxYwbNmTOHTp06RTdv3qSDBw/S9OnTacmSJfq8x6FtN+pbsGBBqA67ceMGXb9+3eIxeKY/c+aMxWd7DEhGp0FJr3sP6Y+JM2ncpFns5edHPzaqR2VLFgnG0T1DOkqcKHLF4mANCONKwXy5gx1ZtGDeYOtRacUmnot6IKwS+fnpbjzgsQhhMWXyZPrduCnpNXCo8mjERohKnwI/6feHtKCJi44WWgRB1RZmq3ps0RbjOo7cDKBOC7wpNn+i9g6IT4XCkDvRhR0cxzdxpQIZnKntHG+qN/EDHf0tvsOGSIPRuuP+NGXHlzfj/erEIo9yYfv6ffjgTQ+fPKOxE6bTqN/7B3srkG7g3YcPFBDgeMJssI5E8xW8j8hZC69wMSEgBISALQiMnzSDtu/eT9tWL/yiuulzF9HSVRto25qF5Bo79hf7bbUBg2MPOJeSKWv6fT3q0Lq5qV2Rtg33qK/fvKU5k8epc4LXiHET9edPzYPmRQrmoxJFC1G5Uua9UrQDcN+GMC5n5y8jOLQy9vrqz21Hu51ws86G9W8atqRaNSpzvqh29tpsaZcQEALRjMCePXuUF2Du3LmpbNmylChRkFfbw4cPaffu3TR//nyqU6cOZcmSxWo6Xl5eKrUZDnjw4AGlSZPG6mNtUXDhwoVq3oWGDaNm+KwhI3gsQlT0ZVFRtzyT+nZtRy0a12fHtADy5DDptKlTUq9OHuqaanisIyxDKEX7kXMR2liJIiFPYuwI/TLVxrCpG6Zq4m2Dho+lU+cuUIL48b4QFr15tsSe7LF44sx5BTVOHFc1CUyHXgN5EpgRfEx8M7UG3+yoAmPwXkStNf7OU0v2WPRnDXVpx7hmhcVrjwNVrkWt9zlS6WaM1ta115alXejk7QCassuPBq3xoYnNQ/Zs1Y61x9eEcWPQhJZBD2t7L32k6Tv8aDfnmTS0+R2t76czzzK1fc9+qlGlAlUsW9KwGovLcNPHg05IZq6cqe2mthnXb00Z42Oi47qvnx8tWLaWfycvqNHKVCmS07CBPewWxc3bXpQgQXyVnNhSI5+/fEXT5i6hTq2bUVIHTmCMPClv376jzO4ZLHU33Psi6zzhbqhU4FAEcNP+gQefTBkGhjEwhd/qiDQMjqXhG+yWJnINZc4Ysd8ra/qFe9UPHIqlGQazwaVj6x8pXdpU7P3yms6cv0i9fhlGXdu2Io/mjbSiJl9bdeqtfh//Hj3E5H573fju/XuqWPsH6tGhNbVoonuwdeEJBpvxA1LBfHnstdnSLiEgBKIZAXgpIry4cuXKKsTYuPupU6emJk2a0MaNG2ndunXk4eFhdRjyuXPnKGXKlCrqEsuRLS4a9yWqrsNjcfyU2Up4w+AmBLi79x/xhC6zqHfnn6h1s4ZKO6pYtoRV0a72yMnFJSZVr1TWHptm8zbZTFw8evK0CnVGCzH784q1m6hbew/VYNyodUM+xvOXCJO7TPtrlBoZ9+CZoi9fu0Gdev1CU/8aKQKjouV4/2bv96NbTwPp+6Iu1LBo8I8UJm6Ze8CPVrMHn6lZo5FzsQmHRDcvFYviGsznM4ZzNa4+4U+z9vlRz2qxKEsKm0XwRzrgmOywUDxzUPsLZ0Rf4bara8r5+4G071LoppaG5wREjjF/T1FeFBD0LdnqDVtp247dKmUBPC/q1qxGLZt9r/dImDxrPp04fY6qVy5PcxeuoII8ydKYoQOpQ88BlCdXDlX1tu276Q278efPnYuG/tqHbtziEIS5i+nqjZvqYaPuN9XU8Vo78CA7aeY82n/oKL3g3CKlihdlMbQ8VS5fRisir0YENv+3h27evku/9e3CF1I3es3vsT3bIk5QnD1rJmrSwHJyZX8eebhz94EafbTn/oTUtl37DtOV67docL+uIRUN1/7IOk+4GikHRxsC1gwOWVNGA5acc3LXrFJRW7X4ak29gSyIat515iqzph5zx2J7qeKFKU/O7KoIPCzh0Thw2BhOeZOI6n1b3dKhFveFtV3WHGdNGTTO2nIo+1OLJniJUAtNeyK0IVK5EBACdk0Agz/79++nAgUKBBMWEZa8Zs0a6ty5M0cAxSMndsiA1yJCnFG+fv36IfbLlwWuq1evUvny5dVkbEeOHFECpubkpFWA8OZt27bRvXv3KBZPTJsvXz6TocyaCIryECxz5sypVfHF6/nz51VI93se5EEOSYR2QzzF/Asw1HX27FnlVQnBE9sLFiwYzEMe8z3s2rWLnj17pjw5y5QpQydPnqSsWbNSiRIlVD3IS3n69GnVT/QX+/LmzRupIqrmsQhBMY5rbPq5e3s6e+Eyrd28nZToyAIjPBhrVa+o2iz/7J9AcCUoHO2ds3C5Ovr3/j1p6uxFNH/pKnr16jX16tKWuvQZRBeuXKNMGdPTdBYW4bmylYWO+w8eqWMuX79JHdmDccbfY6wOA9S+3I4WIh0OxHZ76KjNvhSDtbOhDYK889DYP7b60nCepMX3s4NeXN6dLrETJY0fgx6+1nkx7r8awBO4BNCwDb400yMO1cyn+0givHpofVfqON+b/t7u5/Dei4ZvHsTGLtWC8oeu8PwYanExJocqDebvWosOPemvKTNp8M89DU8RbHn5mo305+SZ1Lp5Y2rv0ZzOcY7D6fMW0/1Hj+jXPt1U2dev39KFi1fo6dPnVKtmFcqfJ5fa/oTXT59dQ9XZQ7Jv9w50+eoNWrF6PbXt1o/82dPlu7rf0vf1vqUNW7fTbyPGUbHCBfRJdnv/Ooyu37hN7TyaKVfwdZv/o59/H0UTeQKnUsWD59AI1mArVnDBROhwtWrVTJbevn07xebRL9wUOJJdZV7F2VUervMwNzv38hvYswPFZG+W6GKN63+rRrAjur+RdZ6I7ofU77gE/NiLetX6LbR7/yG6duMW/y4VomqVyqk/w16t2/Qvbdq2Q93jpUubhjrw733ViuEbnbd2YGoP5/Zes3ErnTp7nuLGjUs1q1akjm1+DObZEBHtQ//BYtO/OwkDd6bERezD4Bu8kO/cvUd1m7RRocQVy5VS+EIa8DNkrC3Dm3DyzAWcWugUPXz0hHJkzUzdO7ahwgXyakVUyPnM+UvoyPFT7IHpQ3l50sS+3ToQ8lRp1qn3L5SXBw0Tstf5qg1bOOfXezUw2LxxA56EMTWN/msyHfQ8porPW7KSVq7brMLEk7klpYYtO1DtGlXU/QTyPnt07E2d27WkYyfO0L5DRygevw+1+R6i2ff1+T2Jo+po07UvT96Yk3p1bqs1gbbyYOXU2Qtp3tQ/9d7sDx8/oRnzltAhz+P0ka/vEHT7de9IiRIm0B8nC0JACAgBjQDEP4hipUrpfle17aZeITAWK1aM8HzgzU5PceLofp9MlcW2S5cuKZEwV65c6r4PoiTOlydPkOc2nkOWLl3KKeH8qFKlSuq5Ax6O9+/fp7Rp0+qrxrYdO3YQwrZz5MihREHUZ87Sp09PVatWVeKgK89LUbp0aSVIorynp6cSSLGtYsWKhNBtPBNBiNSeeZ4/f04rVqygFClSUK1atRQj5J/EJDLp0gVdC1atWqWEU9SFe/njx4/T8uXLqVWrVpQ0aVJzzbPZdgiLYyciv6JOWOzT5Sf1/HP42CmbncNeKkIE13yOTLt95x5fs3NTs4Z1WYwO0gLspZ22aIdNngrPX7pCx9nrKS+P6tapWVXN/tq228+0ngWHXXxjCk9GGEI5tQfRZ89fEkabRwzqR4tXrlUh0sPH/kOjhwywul+awGj1AVLQ5gSO3gqgBy8/0bcFYlK2lDrvPERVecz2VjM/44S1C8akX2rHpqLuzvTo9SfyehFIudM4K09FeDSOZRHytFcg1Z3wgWa2jkOtyui+bD+WcqG+y71p3Un/KCUu2upNyJYlE3k0a0SzFi7jmbMqqBxQxnUjd9SfnGerLntW4KELBgEQoV/zl6yixg3qULbM7mo7vptT/hypvIvVhs//8ufNRcN+6aPCqeF1+PTZc9rID04DenZWwiKKIUyqbrOfaM+Bw9Sgdk11ociQLi014R9PLS8V6jl45Jh6AAmvuIibhBMnTqgWGguMuHHASBxG6RzFlq/dTL4s1j7ihyvcrGi/maWKFqRsWdxVNxBOuJMfpr3YAxCjo4Xz52av1aCHShTCBXrn3sP8MHuf87TEpXIli/GgTtCNBMrcvHOXDnieUOGRWfm9r1yupBrVxT5rzOveA9pzMGjCoFzZM1MxnvHb2A4dPUlnWbCOyzdw+fkBN7S2ZcdeSpsqJd3mB3N4PaZOmZw/5+XUA7FhXSH15xIL4tfZy7ZC6eLsXe+p6srMA121a1Si21736QyPkMbjh2CUK1OiCN1iPnjIrVaxjHp4R6j68rVb9KdMkjgh1eGcY8b2hr1Md7Jn4z0eNEN9xQvn5wd4naeTVhb79hw8wp68rylZ0iRUiUM84EkMs/Y8+Gzs2HtIiQjJkyXltAglKAV7gsGQ+BvepN+wh/DRk2fZC9aL3Pg8NauWp6RWzqxnDRN1Mv4XEnvkm9t36Jjy9nRyikE5s2VRybkN889ZYqL16eCRk3Tx6nX13ciWOSNVLFMi2ARvz1+85DQRB1nIeUnZ+fuC98jX159/e4pqTaVXr9+oMhgwAXOEp8SXnKZ6PsYLf3GI0rrN/1KXdq2oFV9ntu3Yozz18CBXm+/zYGs3baM/JkwjeK3/+MN3tHn7LhowdDT9E2cIlS4RxN647pDWrRmYOnzspDpXg9o1qBmLYqfPXqBlPPD1jMW8Eb/9rE4RUe3T2l+S8y5OmDZH5YiKHTuWtlm9FmHBr1+PjjR+4gyeqTQBtWvVVH3+sdOaAb9glfEKvks/Dx5Jd/n3F+8Jrtcr13GEUL/flECH+wFc77v1H6wig3BuXCcx0N+ifXdaMmsSpU+nyxf2hK/hS5kVBMZObVqo37tFy9coMXLowN5Ur1YNdR8/YOgYqsBpVyqVK63/3X3EouYbPg8skHM7P+Dfyv/xvXvNKpVoQK8uSuidxqJqCs4phc8F7OnTZ+r7p1Y+/3vP1zMcG8C/WTD8rnXvP4SfE2JQ1/Ye9PL1a1q2ar1KpzR3yvjPR8mLEBACQiCIAGaFxoSnCRIkUPcHyIsIe/r0qXqFyAcREfcc8PBzd3dXntqP2LkiU6ZMqoy5f/AeRHkMXMEyZMhAEAkNxcWLFy+yI9UrFXYNQRAGL8J58+apZe3foUOHCPsh9MHgIRif08Ft2RJ0b6mVxStyRuLvwIED6vzGeSIhZBYtqrvGZsyYkeCliAlkNHERXpa4RjRq1IggTsLQX3hAagYPSng1litXTnkrYjs8KvEMBW/JiBYXDYXF2C6xCMJiBr5GLV29Sd2roz3pORUJvBbh0ejoNnvRSrp+847qxqGjp9SgWYNa1R29Wybbr1ODTO6yfqPmtdj6x8bqoNQpU1CXti3VMm4YsvNND2aRxgNep94DCQ9hLfhGdPbEsSpn3G/9dDnFrt+6Zf1JP5cUgTHUyGx6wKbTH1V9jTgkWjN4IS719CdXvtde3yMurekal7KmcKbvJn2gDH3eUtkR7ylplzc0aLUPNSrmQkcHx6ch9XU/HG3nedO+K7oQ4Vgsfdcp6EKPWZA8zjkYHdU++H6iyf/5B/uDIGsL+6llExaPMtCI8ZPUg4FxnRD+A1jtRfJ5Q4PgB3H/NHt8aBaXH7SRtsDYEMJmmKdRC5MuUzLo4RE5tBJyaPZVDhmFIWdG/56d1APKSc6zigfTXSyIxIsTVz0AGZ8jtOsYrcMIJEREhCNohmVsw36MxDmK4YKaiT1L8HsGEQjL+Iv/OdwdXhxjOdExQqbh2YgL7tylq5Vwo/URXtyj/pqmRJj8eXKycBKPRwRnqoEbrcyJ0+fp72nz2CMykQrxg8g4Y/4ybbdVr7hhQRg+/iDIoU3GtmX7Hh402khpWMRJwQLY8nWmb6CMjzNcRxqNWQtW8A1joBLpLl65TqN5EiNMKqCZNf15wA/Du/d7cu6W2fTk6QsVbu76+UblKY/ubtu5j282AwnewMgL6coiQexYsTn35Tp1GoRbav19zA/Jp85e1E6vfwX7Mf/MUIIfRMVkbkloyuzFLPCd0ZeBiDbqr+mqbiRyhhA88s9phDph1pwH187h4ybR/YePOHVBbsID+v/GT1GCJurAd/oAe/1M5nN/DPhIBfLlolted2nijAVW59KzhgnOZQ37eUvX0L7Dx9lrKYe6D9jM3kpLVm/E4cpCYoLh0UmQAABAAElEQVRCi3mSkf92H6B8LNRCpIawPW/pWl0F/P/d+w80kj/393mSkPx5cjDP5zRvyRpOuXJTXwZiypA/JirmhQvkoQePHvNv5hQlCukLyUIwAvCOQ/qNH1m4K8uDFBCdKrHX3aMnuoc2eNGN+XuqEpAG9u5C8MgbO+xXSpc6FfNfGawu4xUI+JhcxvAPnnwwfC8wMDXo5+5q8AoDUYP791DfS3jGaTb2n2lKrOvPg1wQ+TB4hnDlf3fto5ccNROe9mnnCOk1NQ9+4Lf5yvUbXxTFPlxnMSkXftOxjGupfsCPhTe0GYN9bX78gcXZBrSevfuv3bz9RV3YsGPvAfV7Atbw0IR36Lj//cbXjJgs8v6rjpm1YKkaWPpr5GAlCFYoU5Im/TGc2xjIKUrmB6sXHor/cBQB6kJUQ40qFZW3IgYocmXPSiWLFVblM2VIr9qOAS1z9k3VSjSoXzeqUqGM8pLMwjlp9xu8V+aOM9w+Z9FyHji7RxP/GEZ1vqlKLTnPYxcWGc/xPcyxU0G/o4bHyLIQEALRmwAG4zUdwIedJpYtW6b+NK/A9evXq3XkWoRB0IOZyz2sdvI/iG6YCAaehpphGSIexETNIFJCvNSERWyHkIlQbM3gUfjmzRvKnj27tkm9JkwYthmPS5YsqULA0b4rV64owRPPaOi/ZmgXxFBNWMR2nA/ltOc5sIAwi2cmhFmjnVhv3LixEj+1uiLi1VhY7N2ldZQWFsEQjhmGZurZyXC/Iy+H23MR4TL7Dh9VD8LlS5egC5ev0pRZCNs4rbhkzZRRTdiCGxOEYpy/dJXa9+hPMyaMoQLsyYSHJIxSwxrXr61e5Z/jELjJuRZhxTI7q9eD1wNoxEZfQgg0Zo0ukF6nX/da6k0QIrPzJC6VcvHNMOdTHLfNj7KlcqbWZV2UZ2MGNydqwx6PLWd9oHPDE1ACHmwpwfVCqLz0IFB5PqqTONg/f9ZFj/Js2prdff6JLj0MpJbldILs7Wc6htr+0Lwiwfpgfghr27Uff+/mqwcKw+Ovf35QKZgv6AKJ/blzZFOexA8f6x4UDY8JaRkeSDDtAqWVN17f/N8u5TUJj6xsmTOp0Cdvn6BE+dpxYX2FgAhDImfNMKqI7RAeHclKFdOJvzv2HlSehoYeV+gHvBYLcx7MqhVL60P+IDQdO3WOypfW9XUve4h58wzTyNcIARCGUI1d7O2YO0dW9RAMYadR3W/4YVEnDOfOmZV+GT5eiVPp0qRSx4T0D4Jhg1rVVLFbXve+KI6JIbbt3E8/fPctlS+la1tW9jb745+ZX5QNaUOZkoXpu9rVVbESLNr1HzZWeeSV4XA5PNRb2x+IcJ3aNNN76RqeF8JhNX5QT5n8ihJLa1WvxGGgt2kce+PDcOOq9Rc5MTEpmbHhe/T02Qvq17UtJU6ku2FMzDdy794Hfd4hxMKjrlG9mupwCIwr4m2h5y9eqUTV1pxnK3tzIkSwy08/qu8fOPjO86N1W7bz5BIt9M2qVqkMYR8MXprDxk5S4Zmah6O+oJmFkJhYy/7shSvUvFFd/ax4+IzhM6tZSExQLjmHYsJTURv4gOA+Y94y5aWAm/i97Akai9+jnh099PmG4KVoaKvWb1ORFZh1EAb2g0dPoANHTlCV8qUMi8ryZwIQFjdt49BeDlNFCDDS2kA81Ozi5WvqO5iF7/GQr1ezHOydejwEMQghabdZYDQ0TfDXBqbgXY+BqScsviNnq+HAFAat73E4FTz3DQ0ellUqlFXe0ph0BZ/TsLTPsE5rlpEj0FqzNOA3d/FKNeCXjT3KjQ28cb0vZBACje8pPBL5eVHZ2QuX1GAjvAY1Q2gy3suTZ4LeI+zD+2koGObIlplWsCfkYxaPIYyGxnCsoeEzAE/S0BhybCHMGw9g2kMY+gdDfudihQqEpjopKwSEQDQgAGFPEwoh6PXr10/12jjnooYC1x5YSCHReJaAwbsP4hsMXvsw7IO3Hwz7Nc9GtcHEP4h2MEPB0UQxqzfBW3PDhg1K5HRzc1MejhAvDQ3nNAx/NtxnuNysWTPat2+f8pDcuXOnOgbipbu7u2Exmy6bEhZxPYqqHosaPPf0aXmOgtvaqtLN9CtRbCHc4uJynrgFVoZHtiES7j+se9BPwg9YGA1tyA+yyH0GmzR2OOdq+1l5MEJgxAhsfw7zeMZx6N9z7jaEaIo5FoFn73Q31ck4jyKs33LdyMmo7131wuIHP/Y+OexP+VhoPM5eirgRHlIvNrn3fUsz9vgpcRHHIgx6O8+gDDERodLDOIdjGs7RCEMotaNaIp4t2nAm6KM3A6n1NB+eLTpIcAxP35DLqAl7bCzlEKIkRqGPeDCHwVME+ZI0u8J5ThGOlCFtGm2TTV/h3TL8jwnqoRQeLwjPgjVo3s6m5zEWGB1RWLQGCHJjISQYwta9B49ZRPRWiY7hZaIZRsFyZc+iFxaxvcl3tfUea49YAMNDOUJ+N27bpR2mcn7gYm+tuKg/0MwCvMTgfVSAvSc1gxdlWMxw1BUeQJilGaICLDT9QZ5fUw/shm1SD+ifH9IhlIdGMIDgmpFvHCZMn89eVAXV+wAB11Bwh1cdQr3hRQixH+8VciuGxq7f8qKCeXMHq7cQ17Vsje46rNWF669m2uzcb96804dPa/tCejXHxFr2pYoXYsFii/IqRH8R0qyF+ePc1jDB5/4CCyvwlHzDn194fkE0QhqBuHGc1fcgF4vnhqHWCMU3fP+u8iBLDo6gMPzcQ6jRPkshcYiO+5H2Ijk/uGzhQaIZnMMPHvLf8/3cD9/p7tOu8jUE9gd7EJoyDGwYileGZXJzCp0Jo4cYbgq2HNLA1G32xoWXLvIJGhqESaR6gIWnfaoCK/49ZA9YpPvJzqKYtRbWAT+IsRBK43wOcdPOh6gBzRByVat6ZW1V/wrPYU/OwYjfZTCyZKHQSS1VE+z7Z7Hg553Xrt+gDzw41oHzrxvbMx64ERMCQkAIGBNIlSoVIeQYuQThdReS3b59W90/4ThzhvtqhDtDu9DSL2llse3ChQtUtmxZVQ+ExVscdYnoFc2DUiurvWriI0RB5FsMr0FYhHXv3l1/jUXU1s2bumsy9kHIxPlCMrStZs2aVL16dQIb9Bd5GH/44Ydg3pgh1WPtfkNhMVZMF85D3FoNdC1cvo72c9QNLCqFQhty8WjaUN2r4zqcIrkbp5f58lptWN6Rl8MtLiI/CmzRCl2YErw2WjX9nr0zarE7bvCbGDxgTuWcbj+xlxVCpH9ioRFWl/P3IIRSzPEIvPPRiYsJXWMQhMbjnIMxUVyijhWDQmi8nusEkDycZ1E9rHI33ViMTM+eilceBRfYhjdwVeLiYk8/JS6mSKj7fD19Y71ngL1R1MlqQa3CzNHzOrpqk0UH7QjHUqefWtA+9uDRUhRoVeEhDuGWBzyPqfArbTuSvcPyGOWE0/aH9/Uah0dDAPimakW9sPj+wwd6x3+2NgiKuKjjQdbRPBatZYEJDhASnIBFxuKc3xC54vz8PqrwTq0OXLDixfsyQbUmcMHTEfbxYwC9/zx6i3XkGXRLmhiLNjEffkCERUSiYld+jyEqwSKrP+pkIfyDp+iAHu2VV945zjP57679KgdQ+5aN9ZPzpGRvov/90osOHT2hROJlazZzWGcmatfyhy+uleZOB7bGud0gFuDzYSimmTr+kw1/caxl35TF7UIcoXDizAXOBbmek6j7UNOGddgLKZ9qojVMEFoN4Ry5JTOwgAvPKjDWDJ7RSTnM35whVx3OG8ih74afe3hbIYQ3Ohm8PvFZQY5K5OI0NISKx+bf0difw18h1rbnyVnwd4nzXW7cuoPTLExXAxRtOR2H5qE7nyfk0GZRNqwvrMvWDExpA2XwaEPEjCmLqPYZngvXUYiZxoKfYRnj5bAO+Lnx4ODpcxdU7kXNM91U3bfueBlvVqkxUvDxIQmLXxxosw2fR20s1JeY84sVKpDBouhs4XDZJQSEQDQk4O7uroQ05BiESGbJIBqiHPIdaoKfqfLweoQ3JAQ2hBYbGgS81atXKyEOOQyRoxCzNmOmaKzDcC+GEGVtcA3hxxD77ty5o/d4RDnNixLL5sx4oBuDdhBSixcvrq8fx8KD0tCSJ0+uQqYNB/lwPsP7REwEg8lhMAt1smTJKHPmzJQ6dWqaPHmy6p9hqLdh3WFdNhYWe3byiDbCIpghXVLXdkERRmHl6AjHhVtc7Ny2lernbQ6PQ26cxg1qq5AUc52HZ9W0v0dR5z6/cjL9e1SP88782rebGgEwd4xst18CEAlhz99/opQsBJbJ5kwHrwXQNPZI7FRJJzBmSeGkRMW9Vz7SSy73f/bOA06G843jjzvH4fTeiR5EDRJBlCRStAjR/mqUaEmUFOmVFEGEqFGidxEkEkSUaNF7iN47x+E4/+f3nll7e7t7u3d758rv+Vg7O/POO+98Z2535jdPyZgmmWzWAi4HNKS67L2waWsPP54f7vnYuEJ4yPCl6+GiYua0UV+cWn3Et/dwaTXiqB5VgdGXhpuG9/r2NKkH7PtFhUgUWZqrFTULFyxgwqOQumCyPgzAfCSBjw2DhwVy2KHYTDL17EBYLxLGIxcWbmx9bQmpeEt09n33vwfknHJDyLPlBXr0xMkI4mKObFlMsRL7/vFjfvHSFeMhhly4sEoVHtFzIb99M59O44kc7Lh6WCIc2leGi6LjKoBADIXF1f54Mn6EReO8htciXhDWEbqLXJO9Xm1nutinKUSQyxEh2HjBi/SLb38wYevPPfWkJ5uRHNmzCI6pveEzwiAtEdl+WWxNe8IeuRAR9lxO8z4WV69FGERX5ENEMSKIV1ExwffG2o1bVLjtrBeh4YWJsI69Qaw5rnk1I1r47wbmQYjBRR1ymHrKOWJfiecT8l8jB+/vy1eaYlvWnoHzSk1vU0iFMny/wDu03ydfmtx3dWs/aXLwIQ8fcvSikArExWL6GYaqv/biIh5yhIXd1etAzWsSDfPkwVT2bFklg6YHWK/pdxAhY9kff67SXKmzTd6+2Bqfta2lmsJi1bqNmmy+kzXL6Tse7t0/GzUlSTQf+EEMX6BVubfv2iPlHilltoV8Y2/0+8RUi0aIODw5cWwh/sPbHYYctZu2bLPlUDQzPfjPL1n4NYr92D1YzWkTXGdACLY3x9QFxfQ7YuWa9Vrs6pKtejTaoyJ1pgy+e/hlPwZOkwAJJGwCuI6oUaOGKYwCQa1ChfDrQxRAsUKksYcQFuHxd1kLRTVq1MjtTiPsGQVinIlrEDMhTKINxEQUd4HnJKo1165d2wh+CKNGQRn7atEQA5cvX27Cj5F7EdWcEYYclUG8hNiJQjUZ9HsQ28Y7vCexvxAtUXgG3pP47cZ+4h3b27NnjyxcuFAQ5gyxE9WiYZbAiJBq9IsCLqi2jX2GUIrl2K4vzZmwWKhgPkkKHou+5JhQ+oqxwoH8T+/06i4jBw8w+W8QjhSVIe/TrAkjZOPyX+T9N1+z3SxHtR6Xxz8COdMnM4M6fq9AyZdNw28o3pl1Q7YfC5fVAvxF+tRNKScv3ZVyHwVL7a+uSc0vg0UdSeS9evdvQGZuCJWf1oQKvBXfei7c6/XovXDo3PfCo+MfgfgzIuRVQqVmR3tb0w80qvesfP2dJt/Xis7fDhstT2t16fdU1I8tQ6gWKnaqrCyvvfWhfPD5N+YGqLzeFOGhAs07AvDYQy5DiDXwxNqj76jCi5t4y5B78YBWB0aVZlxgXFAh98fJs7SgRzhv5PurUKakFlr52RRlwAUEKgMPHPajzQvQ6svdO8YBIQ2v25oLDd501mf0iZtaFN+Y9fOvRtiEiIYCL9Ex5OG6dPmqya8HYQr5CS2vN1/tT1Tjwj5Z+3ddPeBwQ299RigMDKI5iqjg+MBwjHBTj6rRlu3as19GTphqch9iHjzI4E2HnGgwT7ZTW4tmIGchchmiPY4tKojXql7F9BFX/3nCHmLnxOlzVVBcZc5HnJPwMgzUSl+WQB4VEwiDuHlA1XHwhIg7b9EfZjdxHGCPVy4ve7V4y98bNptjgwrWOzSM2t7q1Kgqv+r5g/BqcMPfxsjxU23Hy74tCsj8NGOe/SzbNM7jYWMnmbEMGzPJhLkf0FD1b74fa/6WbA3j6URtFbWLqoCIwh9Dfhir59FuU/G5+5vvm+8XqxAfruuuqkD13Q8/yhItkIIbA3gu4vsF4e0wpBl4VoXH+Qt/ExRjOaEFdRB6++ob/bTQy/BoE7B/MAUhEyJe9z7vR3gwBcGuY5sWJicjHlod0wctvy1dIYOGjzEelRi/r8e3TQtMrVYxcZ4WT3lff8/e+qi/CptNIoi0zna6uIbs79WHQxAF8T1h/8APTMENgmBUD/waagVnePoOGjZGtuv3IsK+BwwabgTWsqVLmk13btfKPNTD+LBNCHoffjFQ/4aSSydd5o3hewmFxtbq7wlyq8MDJrpWXXOmYrxTZs7TQksHNDTsZxmrDx7tDVWr8Z3x3mdfC/JLIpULCgPVb9beds2A+Ui3cuXqVftVOU0CJJCECUDgQwFHCHyLFy+OEA6M6wQIb1OmTDGegxAW3VVBRq5CtEfxFmcPbHHtUqJECVOZGYIdoqZQAAVtZ86cabaDax3Li9E6LKjsXLlyZZMjfsKECUZoxOeorHTp0mYbkydPln//Db+uadCggal8jVBobBO5IMuXL2+us6xiMxAH69evbzwqJ02aJChoY1WctvYLwiRyLuK7HaHQ48aNM2IjRFLH4jNRjdPdctzzfT10jEnLgWs6eCxCWBw3ZXaiD4W25wKng0W/rxBcO67R69XEbDH2XEzMcHy1b65CWLzt31f9eLtdd+2L5lDlUEJlzf7bUj5/CqlU0F++aRYofabdkGr9g2VaF83nUDq5fPZiSsmhQuTI5bdkvYZOP5LH34Q91344/BTsv/CmfDhX8wGps+MUXcfyiLQqRxfPGWMd3N1uxNqyXJn8pFx+34593pQxLseLPKZ42Rtyi73R9RV57dUO+rTsgqlYab8c0/16dzcvx/lzJ492nCUvqlCJl6Mt/TnizQIqR+KFGyokZnd2/q5eMtexG352QgCeXyg8MXT0T+YCAl6KpVTA27hpu62wRQ715un2SisjHkJAhOxYXfP+1Xumpq3H1s0ayfS5i7TAxzAzDyLR0yo4WF4utoZuJiDcoKqyZUhxsVpvQGFDB3xgwnbbNH9RRqh489bHX5njjnFEx/Cw6otBP5iKwCkCkkv7lo1NgQ+rL1/sj9WXq3cIiu9o0Rt7sz6jiAryBqJgTtMGz8qoidPljoadQ0QrVrigvNzwedtqL+hxQFqADwd8p0z8jTALYcwqeuPJdnAetNICKROmzTHFe9BPXc1JWM2ucrttg7E8ERV7CKsoPDNl1gIjLkPUgwdhl7bNbRftUTFBaH0bPWfRx8Ily40QC17ILXdGq0LjewUeic0bv2CSgSOEOqtWJ8+q29FrfZs9WbWSuYAe/dMMfQ81lYcr6sOYooUK2NpYE3v2IR/tHSNCWhfh1jIk44Z4CcF8rwouuFiEBx0q/J7R6pIF8uW2msbLd/wWfKfVeIeM+FFmaL7sn9SDHUIdPJlRpbeyVl22bKjmyP7ky8Hysb5wPiOnaLPG9QUpOCyDt3wG/Q4ZPHy09FexPEhT4Tym+bffeu1Vq4nX79aDqakqROHBFMaM7eImzv7BFKJkcOMIoXSw7k9q3Xat6lUFD9Ms8+X4BupDOVherbJcXouqfKEPz56uVd3alMv3+nWf0u/pbdKuWx/pp2PDbyfGiBB1PPBDnkF43+KBX58err0gEZ0wasgA+XjAYM1d3td4oEL8G6y5K62CbSh6NPq7r+TTr4dIy06vGaGxZIliMvDz96PMOetsB/738ovy/ajx0vyVHjJ74gg9B8K9h521dTcPx2WR/v1+q+IvDOfSi/XrynS7XLHIpzti0BfS/9th0vrVN0w77N9n7/Y1gixm7Nq7T37940+TYzqdetnQSIAESAAEEL2EAiYQF+HJ52gFChSQdu3amYrJjsvsP0Nw6927t/2sSNMII8bLMoQUt2/f3lRbRk5GZ/c6aFu9enUzToQnW1Wro0rllCtXLunYsaM+7LtqWydbtmzSsGFD2wMfK/waoqC9Ib8jXta6p0+fNp6T8FC0DH21adPG5IzE76l9nnOrTUzej+vDs4HDfzQP08GlZ6fWRljEg2dEpcDy5ckpvbt10PQiEVPpxWS78XHdidPu7/NWfUAIJwTr+j8+jjcmY0qmF/x3kQcgf/78Mennga7rbPyYhz9KXxlch6PLaNOmTeYphifJZl2NFzkW8DQFTyeia3AHT695bXxpB86ESYl+wVJHRcJFvTTZ4j0buzJUukwMkWSqcNQrl1zeeT5lpGrPeq8p09eHysDfbspWDZNOr+HSv7yW2lSIRjd31LMx+2tXJMA/mRwflFZvgqzefffuayZHLt+Wm+EONTEaZErVbPOlp/YfI4ixsHJMzhdn31PeDhHeW9e0AnGG9PcvDpz1gZBU/FDD68uZ4ckq8tChSIq9rVi9XuC55cyGfaU3+nqD740h3BI5Ah3H4cl2+g8eYcIx62vS4ytXr2mVZBSDcv4l4Gp/vBmrr9oiJBH7bOWuc+wXY0UbCGOOXBzbuvsMgQu5N10xcbWuJ+xdretsvifscR5AXHQ836z+omIS1XL0jReYQCj/ZthYUyW7cb1nrE3Y3tHGqkJrm2k3gQts/WkywozdbDOJbeCCEH8HECkDVPAGf3ih4phHZTH9DojJ94/j2FAQBfkr02iYlbuHC+CBEFbHHI32/aGvsyr2Qti1vFLtl0d32t2DKfs+z2oRKRQucvX3FFvjsx+Du2mcNxgjckXa88G4XD3wc9cfQs+v6w2qu3BhnOd+etGE4xsTg1cLfk+swlAx6Qvh9vhbdiw859hnsHoPoZ0zARF/f65u3h374WcSIIH4Q8CXv1+u9grftQg5RlgyRDWE/sKLzxLzXK2X2Oaf04edK1euNHkoURkbXpYIf963b5+0bdvWcImLfV7590ZbJMgbmiKouKb3wENgRJrA7guL96MY42JcD2IbPd7+xFwrWtsGi15d21sfY/X91KlTpuCRdf2BXJvuDKH0MPwN4eWtnkb1wh1dHy1D3ga4MxcpUsSjalaOm4WwiPUd3awd2z2Iz8inCK/C33fflq1Hw2wVojtUC5BiOfykx6QQWbD5tnml1ocSeTS8OZPmaTx5OUxOaJi0RlUaq68C5KDmqSRvpvviwdiVt+RKiEj7asljRViMDV4ZA/3k1LXwcPCY9I9+aCTgSABePFEJi1gHopM7ww+MM6GnapUKJiejs3W9FRbRhxXy69ifN9vBWKPaZ1f747jduPjsTqjB9sP353415+iOyZ1A5q5Pb9i768da5gl7V+eBfR9WAQ5rnv27O2YoADJ20kxTeRseYMtXrdNw0CPSRCsbO7OouLkSqNAXhETr78C+YJEnwqKzsTzIefBYtHJnuhsHeLgTFrEu+squ3tS+tqhEKGt7WbNktiadvsfW+JxuzMlMnDfIi+poGFdUY3dcB5/hxRhVcZaoznNn/TqbB6+YTPeK/Dhb7s08hKt7Yij+6MooLLoiw/kkQAL4roUnIV5J2ZCbEeHSw4cPNywguMJq1qwZZ8KiI39cxyEUOrLHYuIXFsEiv3ri79PoF8sKqAd/YjWKi3FwZPHkBAbPQySBxZNXTw0XUnjiAmHR6sfTdeOq3ZuaH7H92BAjJK54O43egIVv+Qkt7rLpoyBZue+O8VCctTFU9p1W4e10+PLSWsylUfkAaVY5QAqrSGlvZ7Q6dD/N24ic4r3rJhxX6bQpw/fj4g3NLxYND0Z4LEJYtPqxZ8LphE0AP6zx3VCEB6/YNk+2gwqs9gJObI8pqfTvCfuExALpAB7TcN6J0+bJRfXOR166Lu2ax8sQ5YTwHZCQjj3HSgIkQAIkQAIkEJEAxEVUu4bH2smTJ02hGYSNoxhMXJrGlNg2N1AjSiyDsPaGeu0l9lBoa3/x3rZ5Y5mg4eCHjxzX4qol5QWNykqsRnExDo4sbihQ1QmvxGgtqgTIgF9uytoDd+TDeTdNLkVrPyE0Vi/mb17D/ufZ0wmEQzcdft14LXaskUKKZI//ooy1v3iHMEhx0J4Ip0EAHk8ITfB1TpPESvf1Lm0T665xv3xMoJbmI8UrPpuV/D0+j5FjIwESIAESIAESSPgE4MWZM2dO84pPewNhETkWE2LER0w4Iud47zgKg47JOH2xLsVFX1BM4n0gF+K0rqnlyQHBMkALs5TK4ydNH/UuN5uFUNNlmFyNa/bfkbL5/GRAE88ESWt9vpNAfCWQLl06QYoD5F6lwBhfjxLHRQK+JwBhEX/7vs557PuRskcSIAESIAESIAESiDmBMiWLS/ZuEUPU8+fNleSExZiTTFg9UFxMWMcr3o62VG4/WfB6Gnlm4DVpNTJEENbcvXbUCe7td+imRov/b9R1mbfpthRWb8VFvdJIWmqL9og4nYAJIKky7NKlS6YyGxLW00iABBI3AUQuwGsZwqL1HZC495h7RwIkQAIkQAIkkNQJIM+up7l2kzqrxLT/FBcT09F8wPvyWCF/+evtIHn222vSa+oNWbAlVD0PU0k59UB0Z2HqrTj571D59OcbcujcXSmX318Wa+XpTFo9mkYCiYUAQhSQBwUvGgmQAAmQAAmQAAmQAAmQAAmQAAkkFgIUFxPLkYwn+4FQ5pX90kib0SGyfPcdqfxJsBELUbSlvIqG9hZ6564s2XFbpq4LldOXw5O+tnkiQIa2TCWB0Yuqtu+e0yRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAArFMgOJiLANOit2j8vPqd9PIjA3quag5GDcfvmNerlig6MvTpZLL540DpYxWkKaRAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAkkDAIUFxPGcUqQo0RRF7wOn78r8zeHyqVr90vSWztUNIefPPdIgKQLT0dnzeY7CZAACZAACZAACZAACZAACZAACZAACZBAAiBAcTEBHKSEPsT8mZNJzzreFXdJ6PvM8ZMACZAACZAACZAACZAACZAACZAACZBAUiDAGNSkcJS5jyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiQQCwQoLsYCVHZJAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAkmBAMXFpHCUuY8kQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkEAsEKC7GAlR2SQIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAJJgQDFxaRwlLmPJEACJEACJEACJEACJEACJEACJEACJEACJBALBCguxgJUdkkCJEACJEACJEACJEACJEACJEACJEACJEACSYEAxcWkcJS5jyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiQQCwQoLsYCVHZJAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAkmBAMXFpHCUuY8kQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkEAsEKC7GAlR2SQIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAJJgQDFxaRwlLmPJEACJEACJEACJEACJEACJEACJEACJEACJBALBCguxgJUdkkCJEACJEACJEACJEACJEACJEACJEACJEACSYEAxcWkcJS5jyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiQQCwQoLsYCVHZJAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAkmBQPLY3Mlvho6UaXMWRNhE88b1pXf3ThHmJZQPly9fTihDdTnOxLAPLncumgvIJJrgkuhqPF+S6IHnbpNAPCDA7594cBA4BBIgARIgAa8J8PfLa2RcgQQSHAGfiounz5yV6yE3pGD+vAbEpctXIgG5cuWqbd7Bw0cldepUkj1rFtu8+DyRPn36+Dy8KMeGL/WEvg9R7qSXDcjES2BJvDnPlyR+AnD3SeABEuD3zwOEz02TAAmQAAlEmwB/v6KNjiuSQIwIhISExGh9b1f2WVj0iVOnpX33vtKuay9Zs/4fuXPnjpw6dcaM57sBH8mQ/h+a6WPaDstW/r1e2r3aS9p36yNYN7oWGhoa3VW5HgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQAwI+MRz8cixE9L59bfl7PkLZig93/pQsmTKKOcuXDSf06dLJ2F3w8z01u275IWX29naBqua+kqPt2Tk4C8kb+5cXu0KhEWKi14hY2MSIAESIAESIAESIAESIAESIAESIAESIAES8BmBGHsuHj56TDr1fNOIhVUqlpOXG9Uzg4Ow+MjDxaVdiyaSJ3cOyZMrp5ku/XAxm7CI/IuVK5SVM+fOSceebwn68tQoLHpKiu1IgARIgARIgARIgARIgARIgARIgARIgARIIHYIxNhz8eatUAm+ft2MrvBDBeT1VztI0cIFJU3q1FLnyScijLpbxzbm8x9/rtLcjCFS/9mnZNDwMbLuny0SfO2aoC9PjMKiJ5TYhgRIgARIgARIgARIgARIgARIgARIgARIgARil0CMxcWihQrKJ/16y5sf9pdJM+ZKyeJFpcFzT5tRL12xSmbNXyQbNm8znyuVLyNNGr5gEx2XLPtLJs+cZ5Z9+m5fQV9RGYXFqAhxOQmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAnEDYEYi4sYZq3qVSVPzhxy7OQpuXbPi3HIiB/lp+lzIuzF+k1bBa8u7VrKK62b29rmz5NLalZ7LEJbZx8oLDqjwnkkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIk8GAIxEhcHPzDWLl48ZKcPnvOCItZM2eSenXryO/LV9qExY4qIr7U4Dmzd9PnLJAfJ8+QEeMmS2nNx4i2I36cJIe1IMyrvfpJtiyZJWvWzNK9Y9tINCgsRkLCGSRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiTwQAnESFxEGLS91ahaRfz9/WX8lBlmdu/uHaV54wa2Jl1faS2BgYEyfOxEE0JdWQvAYJ05v/xqC51GY2fioq0TTpAACZAACZAACZAACZAACZAACZAACZAACZAACcQLAjESF609GDmov5nMkzuneT9w8LB5f/7p2lYT23v9Z+sYcXH33n/NvA6tm8kztWuY6c5vvGNr5zgREBBgZsGDkUYCJEACJEACJEACJEACJEACJEACJEACJEACJPDgCfhEXKxQtnSEPUmdKrVcCQ4Wd0Lg3bt3zTrZs2YRvDwxCoyeUGIbEiABEiABEiABEiABEiABEiABEiABEiABEogbAn6xsZkihQqYbhf+tjRS9/MW/mbmFStSKNIyT2ZAYLRERk/asw0JkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEDsEIiR52KnNs2djqpx/efkn6075LtR4+VaSIi83KiehN6+LTPm/iITps4y6zR6oW6kdV3159jQEhfdeUY6rsPPJEACJEACJEACJEACJEACJEACJEACJEACJEACviUQM3GxbctIozmv1aNHTZhsmz/2p+mCl6ONHD9Jyms4deaMGWyLOjnpz7bQYYICowMQfiQBEiABEiABEiABEiABEiABEiABEiABEiCBOCbg07DoM+fOS4fufeTQkeOSK0c2QbXo3Dmy23YpX+5c0rdHZ7MMbV7p0VfOnb9gW+7tBEOkvSXG9iRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiTgOwIx8ly0hrFi9VoZqiHQh44cM7Py58klIwcPkCyZM0nzxg2kYs0XzPw5k0aZ95rVH5fOr78tR4+flLovtZaC+fLI6692kKpVHrW69Pjd8mD0eAU2JAESIAESIAESIAESIAESIAESIAESIAESIAES8AkBn3guDhg03CYs+vv5yajvvjLCoqsRZsuSWUYP+VL8kiUzTQ6qKPn1dyNdNed8EiABEiABEiABEiABEiABEiABEiABEiABEiCBeEjAJ56Lyf39bbuWPVuWCHkU127YZFu2/p8tUqlCWfMZXo3Zs2aRk2fOms9hd8Ns7ThBAiRAAomNwN27dyVEC1xduXJFUIwqLIzfeYntGHN/Ei4BP30wikiIdOnSSapUqSTZvYefCXePOHISIAESIAESIAESSLgEDhw8IoeOHpfa1R9LuDuRxEbuE3GxT8/O8t2IHyVFihTSvWObCAgHDB5u+wwPRys0GjPdrWdbiRMJnsDRC3dl3qZQ2X8mTE5dDpNL1+9K1rR+kiN9MimV218alEsuGdOEe7Em+J3lDpCACwIQFi9fviwZM2aUwMBAF604mwRI4EERuHHjhly8eNFsPnXq1A9qGNwuCZAACZAACZAACSRpAkeOnZDvRk2QkBs35czZ85pqLzzNXkKFcksdS06dPid5cmUXPNBOrOYTcbFG1SqClzO7c/uObfbtO7dt05hwt16Ehgn8AzyUzp8/L0ePHpXg4GC5fTsiB3e7lzx5cgkKCpK8efNK5syZE9TJOG1dqHy1+KbsOObMQ+v+edFpvEjtksmlf+NAKZsv4f+xXb0ZJhdvhMnN+7vo7hBHWJZSnYAzBvpJ2pQJn0OEHeMH47FIYZEnAgnEXwIQ/fE3eunSJaG4GH+PE0dGAiRAAiRAAiSQeAkcP3laBg4ba4RF7OXyVWvNziZUgXH3vgPyw49T5MbNm5JVo3d7dWsfIdI3MR1Jn4iL7oDQO1GMsHjw4EEpUqSIuXFxx8vZMnhS/Pvvv2ZR1qxZnTWJV/N2nQiTjuNCZMPBcHXtkTx+0rRygNQsnlxyZ/RTr8VkcuLSXTlyPkwWbQuVqSpCLt15WyrtDJbmVQLku5apJH2qeLVLHg8GwuKpa87EVM+6gCBprU+B0TNmCaUVQqHpsZhQjhbHmVQJ4G8Uf6s0EiABEiABEiABEiCBuCewbuMWm7BobR0CI1LWNHvxeWtWgnmfPPNnIyxiwGfPX5AFvy6Vts0bJ5jxezPQWBcXk4p3ojvo8FiMrrCIfuFJgfUhUMZ3cRFCYafxIXJT780eL+wvA5oGSpWH7ufktDjlz5xM8mf2l2pF/eUL9Victj5UPpp/U6auDZWV+27L/J5ppLSKkgnN4LHoC0M/SUFc/HLwD1Kx3CNSu0ZVX2CL130wx2K8PjwcHAnYCPBv1YaCEyRAAiRAAiSQIAggt/mFCxfkzJkzcvXqVRPxh/tm5FKOS9uwYYNgLJUqVXK5WTgOoV2FChXMOF02TGILjh4/aYoCN3rhabmm6aRW/r0xAoFlK/+WZ2o9IRkzpI8wP75/uKqRq/Z24dIV+4+JajrhqTcJED9CoSEQxsSwPvqJzzZxTai0GR2iTxVEfmiTSv58O41TYdFxH9C+uXo27vg0SHrUSSHHNEdjtf7Bsuekb4Q6x+3F5mfHUOjjF0TW/xcW6RUShWOMYz/2Y27xSg+p93JbuaChe462ZfsuefL5pvplvN5xUbz8/POiJbJj1554OTYOigRIgAQSGwHk/HFld+7csT1Zd2zz9/p/5IuB34u79R3XicnnI8eOm+0dPHw0Jt08sHVji9OkGXNl4rTZtv0K0xtYb1Lt2FZ0MxF87Zphv2nrDjetRHx5TuDcWrE6POzN7Ua5kARIgAScEDh8+LCMGjVKfvzxR9m8ebP8999/snr1ahk5cqRMmTLFlk/ZyapuZ6G/iRMnum3juPDAgQOyf/9+x9kRPuOefuvWrW7v7fGgMyk97Dxy7KR8NXS0fPP9GL0WuSWtmjSQJ6pUiMCtQL48kiF93IrFEQYQzQ9lSz8cYc2KZUtF+JyYPlBcjIOj6asLP1/1Exu7vO6/O/LqxBBJqb6wK94Okg7VArzeTIA6OA5sFihj2qeS6zdFGgy9LpdDvO4mXq0wb2OotBtxI9Jr+lrP82467tD16yFaZf2cfD1kpOMiwc1h8PXr+p7whNlIO8MZJEACJEACPiMAYarmCy/LhYsRH0wt+2u19Hr3E6ldv5lUf/YladjiFZm38DfjeWFtfO/+/2TOL7+qkBWNZMJWJ168nzt/0Wzv7LnzXqwVP5ru2L3XcPzzXo4oX45qlT44XLF6na3LPu9+Km1e7WX77IuJG5o8H8f6v0OH3Xbny3MC29u151+32+NCEiABEnBG4M8//5QZM2ZInjx5pFOnTtKiRQtp1qyZtG7dWlq1amVWmTBhgkD088aOHDliUpudPn1aTpw44c2qPmn7008/ydy5c33SV3zvBB6LEBVvqqgYPj3aCIz/a9pQqlQsa4afO2d2eePVtiY0Or7vj+P4IJS+VL+uvPBMTenQqolUf+xRxyaJ5nOsh0UnGlLcEZcEcK/RWj0WQ1Uvm9oltZRzUZTl39NhJtei1VGxHOEVo63P1nvrxwNk06E7MnzZLXlvzg0Z2jJhV9ZNlzqZDGmd0to9WbH7toz845Ys1zyT9jahi+f76a9Vpn7/c6U8U7uGPPmE82JK9n1b03DTR76KqMxVO2fznc1z7N+TNo7rJNXPW3fskWJFCkpgyvvnjCcs9vz7n8xe8KutaaXyj8hTTz5h+xybE/MW/i5wWW74XJ3Y3Ey86XvTtl3qHbxBXuvcJtKY/jt0RNKmDTIJmyMtjOGMP1VUOHj4mLRr4TpPy+iJ0+WMnSDTu1sHr88lZ8McPGK8FmGrJOUcnr46a+vLebG1P74cY0Lp61FNQXFZL3DTp0trGzIEsHc+GiBP1aoun77XV0JCbpjfls++GaqFba5I25ZNbG054RmBvLlzScsmDfV7/CHPVohBq+eeriWO4VYx6I6rkgAJkECCIgAvRYQX16pVy4QYOw4+Z86cRmhcsGCBzJs3T9q2betxGPL27dsle/bsxjsc07ly5XLsnp99QAAeiwOHjzWRE7j3QdGTo8dPaUGXMdKrawdzzZs9axa9360sqTQvdkK0gIDk8nTNuLkne9B8KC4+6COQCLY/duUtOXg2TF6qGCCNK0Y8pVC4ZdyqWzJbPficVY1GzsVmGhLd8rEUkjrFfRhfaq7G2f+Eypi/bsnrT6WQQtkSrpNtcvXIrPTQ/fGXz499VYHvbvj+7jgeJn/t9s4bpELZ0ppPJFi+HDxcMJ02KM19eE6mZv+8WH79Y7ns2L1PcubIJvXrPiWtW7wkfveExmFjJsg/W7bL03qDOe6nGVL2kZLy5cfvSOfX35aSJYqZHn/9fblcUTf+Rx4uIR+/21sOHNQQhHGTZd+B/6Rs6ZJS/9mnzPrW5vH06fvR42XlmvXqKXNRHqtUUcXQ6lKrelWrCd8dCARfuy4/jJsinds281rEyZEti9RVsRn2y2/LlPllh95j7+NZ9TLyRLSOvRHEbc/Bwdfk+MlTTjc6SZM2Fy1cUJo18n3CaYg9p86cdbpda2bVyhVMEuxTp8/I/MVLNaTm3heN1SCa78dOnNLwnevRXDv6q8XW/kR/RAl3zWJFCqngVci2Aye0GuP7n30l9Z97Wt7t08M2H78DHXu+KSPGTZIX9Ul7urT3xUhbI4cJXz1Aim4/0V3Pfjc86cOTNhBve3RuZ9+1bdqT9W2N7024W6eOmwdI7taztuGrNlZ/1nts9Wv1z3cSIAESQPG1lStXSpkyZSIIi/BQnDNnjnTt2lXSpEkjfuqQUa9ePRMyjfYNGzaMEt5NFbj27dsn1atXN0Xe1q1bZwTMgICIkXkIb/7111/l2LFjkiJFCildurTTUGZLBEV7CJbFixd3OYYdO3aYkO5rmqICOSQR2g3xFPUXYOhr27ZtxqsSgifmly1bVvz99YbznqHew7Jly+TcuXOSPn16qVq1qmzatEkKFy4slStXNq2Ql3LLli1mP7G/WFaqVKk4FVEtj0UIiqkCU8qbPTvJtp17ZK46LRjRUQXGPt07yvNPP2ntGt/jOYGISlA8HyyHFz8J9F94U5KpdvZxo4ieVl8tvimfapGWm/cc9FLr4jwZ/CRTUDI5eTnci3HlvjtawOWOfPLzTRndNpXULR1+SiK8+uOGgdJlQogM/v1WgvdetD9yEBu7PXX/x2mGhkh7Ky4m1x+QD956Xf7X+XUZNHy0fPDm6/abiDA9fc4C+XbYaGnXsql0attStmuOw5HjJ8vxU6fk3d7hN5SXL1+Vnbv2ytmz5+X5urXlkZIlTB9n9POWbXPkaRWtUPl9z74DMmP2fHmlR18JvRWqN57PyUsNnpOfF/8u73/+jTxavowtyS7C7PYfOCQd27YQuLLPW7hE3vywvwz98mMVGiPm0IgwYA8+4AcTIeBPPfWU09a///67pNSnX7goSEgWlCa1DPniPR27ndLu4Q4gB0mFMiVN6xUq6NIeDIF3Xu8syZM/uJ/Wh4sVNju+/78gfV/6YCD4cKuJbX98iMbrrmbNXyQTp86SGRN+MN6seKAUog+BOrRuFqmvlk0ayVdDfpBde/drSFK5SMsxA+Lk6AlTZN3GzXJdPR5LPVxM+vToLMiJBIMQ3qnnW9KzS3uxF8G+GjLChNyOGNTftMN/M+f9Igjbxm9OiaKF5ama1WzLXE2cOXtOsE/LV66RK/qwDQUE69WtI6VLFjdhVd16vyutXn5RmjZ6wdYFtoFtjR/+rUyZNU+2601MmxZNZOjIcXojc9z8NjV7sb55aGethByEw0ZPlHX/bJaTp85IscIPmX0qX8Z5zqS9/x6Qvu9/Lu+/9Zo8Wq6M6Wbnnn0m1PyvVeskXfq0Uqva49LwhWckZ/Zs1mYivSMk/NOvv5PNW7ebG+R6z9bRCJGIDyI/6v+teej37ecfmPVv3bplY/LvgYNSqUI5w9Kep6cP/i5euixvfvCFrP9ni8DrAg8Ge/foJCkcbq7tB35SH2qMGj9F1qzdKLf1N/qxSuWlb88uEbxlN2/bKd8MHannwBHzsLOzXpfQSIAESMBbAhD/IIo99thjUa4KgfHRRx8V3B+EaKGQVKlSuV1n9+7dRiQsUaKE8VyEKIntlSwZfp2NlXEfMnXqVMH3bs2aNc19Bzwcjx8/Lrlz57b1j3l//PGHPPzww1KsWDEjCqI/V5Y3b16pU6eOEQcD1VPv8ccfN4Ik2q9du9YIqpj35JNPCkK3cU8EIdK65zl//rwJE8+WLZs8//zzhhHyT6KIDELHLZs1a5YRTtEXrls3btwo06dPlzZt2kimTJmsZrH2DmHx66HIrxguLCLSBveLf2/YHGvbfFAdn9d0NBOmzZVDGn1UvszD0qJxfRWj72sBD2pcsbHdB3cHFBt7wz7jnMD6g3fkxMW78lyZ5FIke7h3nkbeStuxIabyMwb0Qtnk0u+FlFKxgL+cunxXjlwIk4dz+RtPRXg0fq0i5JYjYVJ/yHUZ3S6VtKka/sfW6rEA6TM9ROZtCk1U4qKvDlKRQgWlrd4UjflpmlbOqiGVndwAXr5yVb79fpTxTOnSvpXZNATAkBs3ZMKUWXrTVU+KPFTAzMcPy/Bvv5C8uXNGGOIjpUrIJ/16G8803FzghmfBb0vl7de7GmERjY3nYosO8ueqv6XRC3XND0W+PLmlmX55VnssvFoa+lm9boP8tWZdjMVFXCT8888/ZpyOAiMuHPAkDk/pEoqt37RNENZsGVz/8zkcB3iCrF63SXarwAu31zKlikslPZbeGkJ6t+7YbS6WcBNftXJ5m9chwml/XbrSeN1ZP3r7/zssm/RmsGnD52ybQs62JctXGe/I4hr654mXim3lexPIIfvXmg2yd/9BfaqcTIqrRxUSN+PJ6371isXFBbaZUp8EW4Z9x1jgFQhPSXgJPqvesOCHG9XMmTJK3TrVJZNdFTlctCxd8bccPnpcgoJSS7Uqj0rB/Pcvrqy+3b2H6lh/Uy7oI0f2rJImdcSL0iPHTsifq+8LuiWKPqSiwiORuoT3H0Kb4VWaRcdaU48zPIktQz7VpVoJ78jRE+YJePlHHlaRI7KAATb/aLGFlClSqqDyqBTV7wJvbf2mrbJl+x69oPSXcrodx3Dnf/87JKvW/mPOEyvfjTfbwH4m908eIRk3jvm0OQulZrUq5gIS/UG8WvcPkppfk1x6UVm7+mNeJeverg9FDulxqfdMLdvwMO47YXekxuPh3z1YcOnyFQ33XW3EKzBHeArE/KRkEMlOqPhjebPu2vuvZFAvuxzZskbC8GS1xwQvV4bflh5vfWBEyr6vdTGeIRNUuPxfp54yZcz3kjdPLnPjhe1d1xs5e4NoZR+6P18Le32pguOzdZ40IuShI8fkh7ET7VdxOt3jzQ/Mb03H1s3NTd2UmfOkS69+Mnn0d0bgTKPH9xf9rbIXF3/940/JliWzeQiGh2r4LoTQ9bL+FuI7b/LM+QLBbsH0cWabOGchsB3Vv/FuHduYGzCIkz36vi/jf/hW8DvsaCjmgv1G7kLYyVOn5dU33pFSJYrLO7276zl4TsZPnmHCz2eMG+70YQS+czqqMIsw9V7dO+m5mkZQAG3rjl363f+wbZP4Lsa5bdkgDS1DvkyMFaIp9vedT740N5cvqPAK8/TB35gJU+Ul/a79uF8v82Dxx0nTTT8fveM8x+NV/Rvu+dZH4q/f5907tZWLly/LtFnz5fW3P5JxwweabaNAT1cVfSHQfqoREFhnlArUNBIgARLwlgCqQqPgaVr1rofQZ+VFPHs2PMIDIh9ERFxXwsOvQIEC5nr1lDpXFCwY+bvbfvvwHkT71KnDrxPy5csnEAntxcVdu3Zp+pBLJuwagiAMXoTjx48309Z/a9asESyH0AeDh2BQUJAsWrTIahLhHZ6GeK1atcpsv1ChQhGWQ8isWLGimZc/f36BlyIKyFjiIrwscU/XpEkTgTgJw/7CA9IyeFDCq7FatWrGWxHz4VGJeyh4S8a2uGgvLKYMSCEQFvPpdcPU2b/I8nv5ivPmzmG8FuHRmNBt7KSZgvsp2Jr1m80Dt0bPP53Qd8vp+MPVIKeLOJMEoibwy5bbplETDYm2DF6IU9eGSqBqAvNfSy1zuqeWwtn85cXvr0u+3lflic+vSaZuV+S92TekyaMBsv6DIPmoYfgXxyvjQ+SvveFP5lOo9F2vbICcVkFyo+ZgTKh2/eZdGbYkNMILgqwvDB4nBfPnk8+10iI8RxwNieXvqCjlKDxC8EOVyS3b7leDTK03Yo7CIvrLqjdi9iGvVph01SrhP2xoA1EgnYZm71OhCIacGW+9/qpUVIEFFSdxg7NsxRpJkyq14KY0poandXgCCRER4QiWYRrzsBxP4hKKgRdC2/Fave4f/WGPWHAB+4EnXguXLJdCBfLqMc8r0+cu0rDXP7zaxYVL/tRKo3Mkl4orhQrmN+HT46fOsfVx5UqwCkrqcaI3tpad0uJBazdusT7q09Hr8sWgERoWfFpKqJfcgUNHjeBna+DhBLb7198bpbR6O0EcW6hh91NmLzBr51JvnvUbt6lH1NYIvf3y23K92b5pLhRx/mKsw8ZOVg+Z21KmdAk5eOSoDB010VaIAiEz/XWsu/btV2/c4uYG/WutRAdByxsbOvonWbNhky2H2i96HOwNF3HW8YMA+p8ycTQIi/0HjTSCYOUKZYwo8sW3I+S0Cg0wePl8rcmssW4lXY6LqnFTZxsB1r4vhIls2LxdyqpYD2+ib4eP0xQFR+ybRDk9bc4vMm/RHya3J54ST9BjsWzlWtt6EHzRL0T8QgXy6bFZYUQAWwMPJlKnCtSiEL+Z/bKab92514ii2bJmNrMgcCINQJ5c2aXKo2XlsAo4eIp9S72iPTXw2KyCub3tU48teFlbBiHro6+GGubl1bv3hIo9nw8crkLJLatJknxHagt8v0fHxkycasT2QV98oGLx48Zr8PuvPtXjHabpMCZ41SVErArqBfjpu31MP22avyRvv9HNbR9nz1/Q754j0vD5ZwSiGTzzIIKhIuPho8fMw5FpSwAAQABJREFUus8+VVP/1v81HpaYAa+6PepViFzFluEcHzLgIyNAoq8u7VpqwbSzAq8/2B8rVunDi63yTq9u+uAiXPz85rP3zd/eXD2/PbGtO3fLdRUau3RoZXIkQ+yEYAivRVcFa379/U85pqkXvvjwLfPADvv3bf8PpeA9r1BX24V3JVKltGraSIX9R+VjFQJrqkhspVPAwxY8+HvvzZ7m4SCiCD5QD8tA9ZbHgz97e7H+s9K3RxdzTDorF6Q+Way/5RBHnRnExyPKfuhXnwi8LFs3ayzdVGTcrtchGzaHf5dPmDLTPDD6/ptPVUiuZvZt+DefO+uO80iABEjALQEIilaY8g11mpg2bZp5WV6B8+fPN5+RaxEGQQ92XQtfujOIbidPnjSehlY7eB1CxIOYaBlESoiXlrCI+RAyEYptGTwKr1y5IkWLFrVmmfd06aJX8bhKlSomBBzj27t3rxE8cY+G/bcM44IYagmLmI/toZ11PwcWEGZxz4Qwa4wTn5s2bWrET6uv2Hh3FBZ7dWuXqIVFMIQTgr05u0+wX56Qp+m5mJCPXjwY+3+aaxH26EP+5n31/jvy+YKbghBoVI0ukzdcv35jaohAiCyqRVxqlkguczWf4je/3pIiOfyl3RMBxrMxX2Y/aa8ej63HXJftn6aVtPqwpbL2C6Fy94kw4/loNpLA/gtVXXS9VtO27Oj5u7L7ZJi0vldR+9C5cIbWcm/eA1TU+EBvEl7p3leGa95E3OTZ2/7/DpmPuOGyt4eLFVHvAj+92Qp/ume/LKppeJnBrB8oq73j54VLlhmvyZsaLlDkoYKSKWMG9ZiM6MFirRuddwiIMCRytgxPFTEfwmNCskdKFlPxq5gZ8m/LVkYa+hENHYC32gd9u9s8vsBzvIpP9TWM3ZF9pA50BsIGF+oNa+c2zYzXI9oU09yAn3z9vYboVZH8ee+HcDhb35oHjzScd693aWsuouB9d/WHa9Zij9+3qdDUskl9gdAGy5MrhxHNMJ1aPQOrPlbBPL2s/nj4scS5Cm+6fm+8iiY2e6pmVamqoXewh1R0xf5AeIB30gr1jAzRm/r3+3SzeQchfGWZegda4ba2jlxMYJt71av047dfUw+vLKYVnqKCg2UQaxs9/5T5eFC9rpwZRMeMGdJJkwZ1zWLs94w0i+S8CslIVA2vxfKa67TOk4/bElbjmEFItBhgxcx63Ht0/J855k+owI82v/+5SsXiFs42G2kezqXlGpppvz/IETd93iLjSYlzCSI2QuzbNGtk1q+qHqVvfvhVpL7czcC+QADfpgWKIOjB/laB9nE9Vjh/YMk0n0YHLRhSVoVhWMniReX1fp8Z0apIoQJmni/+mzX/VymlfaPqIAzsPxgwRFapkA9PyaRrWuArmju/TQUzPNjKpueuZfi7hbC1ScN4PTV43kHM+58KUfaWw024MNplzZzJfGchLBrCPrzqIZoN++YzWzfIQTts1HgjEELo+st40/pL7RpP2NpgzHly5bR9toqwILQZXomoYIzztZyKn5Zhe/DO1D8Vj6z0w8WNoDb4h7HS4qWG8oRWiUSYuH2ouGNHO/fsNV6l4GkZxgHvbMfQaGs53tH+l1+XmtBkCJJ4EPX1J+/amlgP/hC9gAd/EApDtRqfswd/eABlbxXKldY8WL+p98WhCMfdaoM8WfBIxE2UdSMFVjAI2QgRR3g4HnbCE9Oy7Pe+V63PfCcBEiABTwhA2LOEQgh6ffv2Nas55ly0+kI4NCyqkGjcS8Dg3QfxDYbwaxiWwdsPhuWWZ6OZ4eQ/iHYwe8HRSTOPZ8Fb8+effzYiZ+bMmY2HI8RLe8M27cOf7ZfZT6Oq9l9//WU8JJcuXWrWgXhZoEAB+2Y+nXYmLOJ3KrF6LFrwCug91r4Dh6yPUT4otDVMgBMUFxPgQYtPQz4XfNcMJ4vmUYT1nR7+5KT/S4E2YfH6LZHJf4dKaRUaN6qXIi7IP2qQUgr0uSqj/rxlxEWsizDo37WCMsREhEp/ojkcc2mORhhCqROqpddq0faVoNf/FybtRtzQatH3BceY7BtuXJq91ECmavhRRrtwUPSJGzAYQpGy3JvG5737/9OwwTANvc2Fjz43eEl8+tWQcG8S9ZyAdwisUcuOPt2Wo8CYEIVFT4AcVG82hPrCy8wyhMyWU1HGE2ER6yCkF+HLloiJeegP5wi8Dz0VF+FdVrK4itP6dNaytHY3ita8qN4fq1ROZqigZTwgixZSATq/3swXsK1Wp/rjGma/zpyruGFFdebCerNbIF9EETSj5pq0DIIrDB6YEBfxZLCE9g3PQsuavfiCzbPRmufuHZ5x6MsSFtHW/sbY3br2y8B90R8rjGclxH6Myz7UPJ1WmH6mVjXj2XfsxGkjxGPbYfp3am9p0qSKcMxxLJb99bd9E7fTyIOaSr0KN2gouWXB+hQfHqkIVwVDCAMtXqpvLTbCCLwkvTEwRzGW1es3GXERIujOPfulqeZotexRFSvg0Qkx85KGqCKUGefzNRVafWn7VAwppkLRgl+X2bqFUHNMhdakbNmzZjXfC9FhgPCe55+uFWlVeCKv1RyM8JDzxCzPPetv15N1rDajv/tSvlfx8Iexk+RrDauGANhWcwtbOSIhfFYo+4j8oeI7xMUVGmqFVBKOv5NWf/bv+lVp7JD+dkJkc6xQCW99Ty13zhwyesiXJj/lh18MNGkgntDoga6vtHEaLYB+z567YLxIPN2G1Q7pSrLqDecifbiHcGMIwC+pB+LLL9azmujfW/Qe/JUsFu55g4c3zuzf/QeMh2ZnDQF3tHO6PzDsV0UVGWkkQAIkEFMCOXLkEIQcI5cgvO6iskOHDplrDKznynDNhXBn5G230i9ZbTFv586d8sQTT5h+ICwePHjQ5C20PCittta7JT5CFES+xZgahEVYz549TfocTCNq67///sOkMQiZ2F5UhrHVrVtXnn76aQEb7C/yML788ssRvDGj6sfT5fbCYorkAQKPRQiLP02fJys1EgmWmEKh7bm0bd5Y0wL9Yq6NEL3zQt3I10/27RPytHd3Cwl5Tzn2WCEQfCP8CjxdYDKB0LhRczCmTy3S5ckUtu0dOR9+c1xS8yxCWIRlVjEyr3oq7j0VUWD7tFGgERcnr71lxMVs6cJXOHvl3pV++OoJ6v9wWe3+kFE5enyXQKtY9P0FMZh6tcP/jFfGjz9Nj9DLw+qtg4rQq9ZuMMVWrIVIwA8rWSKim761PKbv/2pYJcI8kUPLEhavqYABEcPXBkERP+qo0pbQPBY9ZYEbdeQDczRPhUWsBw8+CESO6yAcDnm9jN37+wz/4Pz/GxpKmiVT5LE4b+16bnMV+cppaO8/W3dq7sT5ZgzNG9dT75ZwT50smTOaXIDL/lprQnP/1tDsVk0auO7Qbsnde39d4AYxztEcGTgut/+MvGnO2Nu38WQa3omf9XtDc638YwRE5B4sXqSgdGz9soaupDQhugOGjNTcQUFSSdMJIB/grVu3TQivu/5RXAE53jw1iHwoCHXNLg8eeNRSDz78rUKAvqlhyb7Y5+rqofV+/8EmFQI8MCEeWyHRGO8aFR4hMGPbqLCN8xN5Rb0x6zfF1ToI8cf5HXY3LMI+w0Mtj4o+SdmQF/G3ZSvUe/ai8YizZwEPMxR0ea1LBxWH73vtWW3wUOLg4SPWR9s7Ug5k02XwkNMALNt8VxOZ1BMPhjBkd558ztbPlCGDKWZ2p/cdI2giv99rmocRuYMtjz+ERn/81WATDr1p2w55r29PZ125nJdZ92XL9p0mVYT9QwqXK7hY8LA+BBikYc34HUSKEOSnbPvqGzJ/6linDysyZcpgvivgYegobLrYhJmNhz6dtIgaXrs1HcQCTZ3xteaURG7DVzSNSkwe/KEPmCtxNoPmCCtXJp8JMzcNnfyH/ULaAhoJkAAJxJRAgQIFjEcgcgxCJHNnEA3RrnDhwm69DeH1CG9ICGwILbY3CHizZ882QhxyGCJHIao2o1I0PsNwDYUQZdyTwBB+DLHv8OHDNo9HzLe8KDHtynBthv4sQ+QNhNRKlSrZ+scyeFDaW1Z9cIiQabS3xoHt2feFQjAoDoMq1FmyZJGHHnpIcubMKcOGDTP7Zx/qbd93dKcdhcXXX22bZIRFMMM9TXeNOkoK5qh7JIV95j76kABEQtj5a3cF3otVi/jLZdWPRqhHomWFsvkZUXHF3ttyUdvBNmsBlwMaUm0VgbHafjw/XORoXCFcvLh0Pbx95rRR36RYfcS393BpNeKoHlWBESKj/StiC+8+4UYON01IAm9vBTQ/E6pnzl2w2NxkoLrn78tXymStmIn5zpLR268f3Wl4ekDAQLEZhEIuXbFauvd533hG4UbW14biLYlVWAQrhI2dO38pQo44iETIOWh/seCOKwqRQCg7d/4+f4Ssn9Z8dFgGswpchNh5HTn2n129+I7peRQTC1YvOYhNhdVbEaHRn7/by3jtjZ8yxyTltvpG0Y2tGmq3VD3zAvVCDZ6a3hi8DU+cjPj0Fhc4CMn21CCGwdsG+RtjYrihBvunNBwSIeUDPuyjwuEZE6KNfndrGOY5/dt4vXMbUwQFocLZsznJh3f/OtMM57jmD0SotKeGYw0x8kVNJI3COPYvVBzHxSyEo+PqPRlTw8XUw+qhiZB+CIn2BVbQN45rXS3Ig9B+iMplNC+mt4aiHRDO7c0qWIJ5EIQwDuSqs99XTKOAUFK2556uaTyQUUHZ0Rb+tszkrXQMjbXaoTI0wmDxPWQZfn82bdlme2iF7630KpYjJNbeLtsVIEFhI5y/qEhsb5e0GIg7Qw6/bn3eM4WcIKhVrVxRPn0vPCTOvq9aNR43+QQ/16rLaIf8g94YRGjkS9y+a49tNeT56vnWhzJe8wd6Yig00+e9z8zfXRr1FEE+wu5acOWyskPYtTMrVriQ+T3fogWsLEOe2StXrlofI71f1mVg8uvSP80yFOx6U4vtFH2ogPkdxkxvHvyd1ny79rZ24ybzsPIhzcPqzIrp3zoeXCLU3d4u2OUow37t1ByMSANhGcZNIwESIAFvCeA7vUaNGiZU2d7LEAVQECJthSJDWITH32X9XbGKnrjaFsKeUSDGmbgGMRPeflbYNIq7YBuo1nxIPf9QUGbx4sViFZSxtgExEDkSUaAFHoWoRL1kyRJrsct3iJdoj34heEIozKAP1eA9Ce9KCJYLFy403pMQD61IF2wP1+5Yhu3CuxKiKMy6pkdINfpFAReMHRWmITZiObbrS3MmLBYqmC9JeCz6kmNC6YviYkI5UvF0nDnTh4t+x+8VKPmyqSZKVHtn1g3ZfixcVgvQ6Mk+dVPKyUt3pdxHwVL7q2tS88tgUUcSea9eeHusM3NDqPy0JlTgrfjWcykxS47eC4fOfS882szkf04JwFMDlZod7W1NRN+o3rPy9Xc/SH2t6PztsNHytFaXfq9PD8emPvuMkLHP339TVFaW1/Qm7IPPvzHeL+UfKSWHjhzz2XYSS0cIA4XoagmvV/QpJKatm65S6mGaIX1amfnzYvUqu2VeM+cv1hvGLTZPRBTBsPq4rTm0ICRan3GxgOrTRfQmE0VTUPwHYtnMeYuN10yZe/kecaMPsWatikFYB4Uw7HMLgjdCXZGDEIIRxAQUzkDFXm8MAtbE6XPVa2qVuRjCBRH2K1CrQFmerugPgtBDWsBm7sLf1butSoRlnmwPuQpR9AHCFrZxQcN+f5w8Swu/eH4OIpwZHnUzNW8fmKIAi1XJzhpDVOzRbtee/TJSC1dYIYUoJgJvOuR8g0E8RT/IzQhvO3BFNW17oQztEJYOYRbHB1W116inn5W3EssRXmzOnXuiD2708dm6mUdl6DSapwgFdTAP29qwZbv88OMU20UnKogjL+V/GhKKMUEEtBeRsB3LUJn52x/GuQxlrlG1sua8W2M8pxzF4ZTqNYviMRgH+se5if1CygbLotof5LHBPqIfrIuUD47nY50aVeVXzWW6U4UctMF5MHL81HuV160tJb135BpE4Y+fps+RIZoPEN6KK9es12I3Q2X2/IXS4X/NTEVDZ2Q6t2tlHiC9r9/tyE8IAREhv/5aIbyTLoPhxu9xFf1+X/aXhiavNJWOv9Lw5fX3inugDb4LWmsBF2x7xI+TjAfjb0tXSP9vh2GxSytUIL/m89wlAwYNM4IWvCjHaQVmFDArriKXZRDzqj9e2Yj3KHCCz94YirzA63jQsDGyXcXUfXp+DRg03IihZUuX9KgreIj+uXqtCd2GNyGEytk/LzLpBhAS5sxeUMEdoit+ryHYYZ1PBgwShPi7MuROvap/R9/98KMsUea4oYPnIr4DkYYB5s2Dv4nTZmsBsNlmn39e/LupcI2/Z/sclfZjebV9eC7Y9z772oimSMcCAbZ+s/a23/3WGhqG7+IP+w80xxwPH1FN2tGGjhwni7XIF40ESIAE3BGAwIcCjhD4IOzZhwPjQRCEtSlTphghrlGjRm6rICNXIdqjeAt+mxwN16clSpQwlZnhnYioKRRAQduZM2ea7eD7zfJitNZHZefKlSubHPETJkyQ5cuXm8/WclfvpUuXNtuYPHmy/Ptv+IOoBg0amMrXCIXGNpELsnz58uZ71So2A3Gwfv36xqNy0qRJgoI2VsVpa78giiLnIrwbEQo9btw4IzbWrl07UvEZV+PzZD7u+VCoD5FEeNgLj0UIi+OmzE70odD2fBDNt0iLIw4bM0kLRG62X5TophkWHQeHNCahNPbD81U/9n3GdLqoFmQRCZU1+29L+fwppFJBf/mmWaD0mXZDqvUPlmldNJ9D6eTy2YspJYcKkSOX35L1Gjr9SB5/E/Zc++HwU7D/wpvy4dybpsL0FF3H8oi0KkcXz5kwdfBcmfykXH7fjn3elDEuDxsqWuJlb8gt9kbXV+S1Vzvok6kLTquD9uvdXfBytLmTRzvOkhdVqMTL0Zb+PC3CrNp6Q48X8rghqbuz83f1ksgeMxE6SSIfFmgCfvtqvZNmzDd7nj9vLnm3V1dzE/+aerSNnTxT3uj3uVkGjxqE1Fq2Q4WTEVp51zIIT8h3Bxs64APNH5NCOrdtZkSlPu/3N/Pz5skp6Nc6Nnj/n4YeQ3haoJWZ4cEGoWnJ8lWmPf5DzsMWL9UzyZfRLrzytHNPFttKDhNpVFDrppVTp8xaoD+2fxrBB95lXdo2j3RBV02LluAmGcVLvLUc2bJKt1dayeSZP5sXnP6qP1ZR6j1T0+OuUqro17V9Sxn90wwtELPeiIHwsEMVWss8Yf+CbhNpAT4c8J3y9hcIwI8rW4QOwyCIoLgIKlPj4hRelxCVN27abrw5IdTAcE6sWL1evYJnmM8Qe2tUrWSm8d+QkeNNHktrBgrcwOAxiWIy2J/X1HPypxnzpJeeB/5+/pIzR1bj1WdddNZRby8Iy7ggxFhQmRrHx5nhwhF5HIP1ohzH1dFKP1zUFMRANWh74RjtEBo/csI0ef3dz805Xk3FYHxXWBW00Saq/UGuUOSq/Hb4j6b/4vp3UaFsqQghR08qH1xA4xhCLEUqgIr6MKZooQLYRJK2bupBl13/TiZMmaHnRPj3MR4yoJpxE61q7Mry6sOK0d99JZ9+PURadnrNHL+SJYrJwM/fNw8xrPVaqni5dfsuefvjL43XW6UKZaWainyHjx23muj3SQMN9bpkRE54u+N7p02LJoICKK4MORrHfv+NfKK5fXtqKDSspHpTvtmzS6TCZs/WqanfYSu1SnR1V925nI+ogFFDBsjHAwbLKz36GvEyn4qFgwd8ZCpTu1zRbkE1za/4mVbCHqZVtFEQJZWef4+WL2tYuarWje3+oOHdb33UX7r1fd8UYEOBFnhowvPblQ39+lP55MvB8rG+8MAGfx/NGtcXpE6BWQ/+pqo3JR784foAy3GT7PjgD2IhhOHvVOjz15vn8MrSb7jatD4IyicjBn1hhOHWGvINA6vP3u2rvxt5zGd4U/b/8G1t870+pOllWHRo3dxUxjYN9D985yxSYRHh+Ahrp5EACZCAOwKIXkIBE4iLO3bsiNS0QIEC0q5dO1MxOdJCuxkQ3Hr37m03J/Ikwojxsgwhxe3btzfVlpGT0bqetpZb7/CYxDjhYWhVrY4q4ipXrlzSsWNHfWh01bZOtmzZpGHDhuaaBn1bYc8QBe0N+R3xstY9ffq08ZyEV6Zl6KtNmzbG2QBCrH11aatNTN6RU32gXpvhYTq49OzU2giLcC5Yq6mOYPn0PqR3tw6a/iPcqSgm24vP606cdn+fEZGFB/vW9X98Hnd0xpZMn+LfhVtt/vz5o7N+vFjH2fgxD3+UvjK4DkeX0aZNm8xTDE+SzboaL3Is4GkKnk5E1+AOnl5z4vjSDpwJkxL9gqWOioSLet33CBi7MlS6TAyRZHo3X69ccnnn+ZSRqj2rg4FMXx8qA3+7KVs1TDp9mmTyy2upTYVojPGOOq9kf+2KBPgnk+OD0uqNiS9HHt6Xr5kcuXxbbt6J+ThTqo6QLz21/5iT9G0PMTlfnH1PRWd0ePqHXGYQC6Nr8Fq8o39gyPXnzHBzB29Kq9KnqzbwgLRCqa02qOr8oVbidWa4sIBgZm/wWoM3GTwmndnwsZO1yEh6QSGWmBhuyHHxYol0Vl+9VWCzcolZ8/AOwapxvWfsZ5l22F9LhIuw0MMPYAsvPbB1HAu6gDfotWshxlPVXZcYM0RKb/KxOfYHoQ3ekxAynFlUy611IGJAtIyugQfO55j0gXMaT4aj4gFu7s5r7IOv/lajy8PVejH5/nHVp/18PAiCAAwPOG8MTP30B9qdVyCqEiOfqLvjg3P/koZMQ1z0xvCdiHMVRZGcGbz3Bn4/SpbMnWS7EXPWLqp52M51vTFErsfoGvYvtRZUsm4IPekHnrlg6813Pm4UsS1Ul3Zl7h782a9zRW9s8V3l7vjat8c0Hjbguy6d3Y2sfRt856OYDwrNOT50QDvceLm6Sbfvh9MkQAIJg0Bs/36BAr5XEN6LsGSIagj9hRefJeYlDFIxH+W5c+dk5cqVJg8lKmPDyxLhz/v27ZO2bdsaLjHfStQ9rPx7o3mQjZZvvNpO84w/ZJwXEPkEuy8s3o9iNAsS4X893v4kQmorsOjVtX2c7OmpU6dMwSPrtxbh7+4MFcNh+BvCy1s9jeqFO7o+Woa8Df/++68UKVLEo2pWjpuFsIj1Hd2sHds9iM/Ipwivwt9335atR8NsFaI7VAuQYjn8pMekEFmw+bZ5pdb71zwa3pxJczOevBwmJzRMWp13jNVXAXJQ81SSN9N9BXHsyltyRdPytK+WPFaExdjglTHQT05dU1U0hoZ+aCTgjIArIchZW1fz4KWi/1wafoCiEmDQxlFYRIfwuBvS/z2nfTsTj6ywYMcVIFxu1HBdhLJ+0u91x8Vef3Y2VnSCfI9WARj7Tp3d2EbFxH59V9PghtyGrgyeRAiBj8p8MZaoirZEtdwao7Pjai3z5N2VKOTJulab8HPazUl9r6EvuFnbTGzvrgp1RLWfnjBF5eaoDOe+t8Ii+sR3oqvvRXyPjBo/WSsz1vZK0HM2Vnfbcdbe2Tx3f/vO2mNedCppQwx0JyyiX0+PtyuBEH24siD1AHJneEDj7pxw9v3rrj8uIwESIAF8r8CTEK+kbMgLiXDp4cOHGxYQXGE1a9aMM2HRkT+ufREKHdljMfELi2CRX73492mUj2VI6ZNYjeJiHBxZPDmBwfMQSWDxRNZTwwUWnrhAWLT68XTduGr3puZHbD82xAiJK95Oo1494Vt+ooi/bPooSFbuu2M8FGdtDJV9p1V4u1cnoHReP2lUPkCaVQ6QwipS2tsZrQ7dT/M2JtPZves696qxbx9fptOmDN+Pizc0h1w0PBjhsQhh0eonvuwXxxFzAvhhTQqGizt33kmeMvhs4DDzlK9jm5e9Kljiaf9WO1fem9Zyvic9AknlbzWxH9mP+n8ry/5abZLzW2HBiX2fuX8kQAIkQAJJmwDERVS7hscaCrrAUx5h4ygGE5dm/+B+4LD7aU4grL2hXnuJPRTannVbzTc8QcPBDx85rql7SuoDz1r2ixPVNMXFODicuFFBWXi8EqO1qBIgA365KWsP3JEP5900uRSt/YTQWL2Yv3kN+59nTycQDt10+HXjtdixRopIFaWtvuPrO4RBioPx9eg8uHHBswqhCb7OafLg9ih2t/zFe+7z3sTu1tl7UiVgJWlPqvufmPa7RLEipnJ1nSereRXSm5gYcF9IgARIgASSHgE86M+ZM6d5xae9h7CIHIvepPmIT+OP7liQt7x3HIVBR3eMvlqP4qKvSCbhfpALcVrX1PLkgGAZoIVZSuXxk6aPRh2e5gwZ8jAiV+Oa/XekbD4/GdDEM0HSWV+cRwLxiUC6dOm0aMFFkxqBAmN8OjIcCwmEE4CwiL9RX+cmJt8HQ+DlF+s9mA1zqyRAAiRAAiSQxAmg+GH2bhFD1FGUMKkJi0ntNKC4mNSOeCztb6ncfrLg9TTyzMBr0mpkiCCsuXtt7xL839Ro8f+Nui7zNt2Wwtn9tEBMGklLbTGWjhi7jWsCSKoMu3TpkqnMhmT3NBIggfhBABEG8C6GsGj9rcaPkXEUJEACJEACJEACJJCwCKA4nLcF4hLWHnK0zghQXHRGhfOiReCxQv7y19tB8uy316TX1BuyYEuoeh6mknLqgejOwtRbcfLfofLpzzfk0Lm7Ui6/vyzWytOZtHo0jQQSCwGEKCAPCl40EiABEiABEiABEiABEiABEiABEkgsBCguJpYjGU/2A6HMK/ulkTajQ2T57jtS+ZNgIxaiaEt5FQ3tLfTOXVmy47ZMXRcqpy+rwqjW5okAGdoylQRGL6ravntOkwAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJxDIBiouxDDgpdo/Kz6vfTSMzNqjnouZg3Hz4jnm5YoGiL0+XSi6fNw6UMlpBmkYCJEACJEACJEACJEACJEACJEACJEACJJAwCFBcTBjHKUGOEkVd8Dp8/q7M3xwql66Feyfa70zRHH7y3CMBki48HZ39Ik6TAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAnEcwIUF+P5AUoMw8ufOZn0rONdcZfEsN/cBxIgARIgARIgARIgARIgARIgARIgARJI7AQYg5rYjzD3jwRIgARIgARIgARIgARIgARIgARIgARIgARiiYDPPRfX/7NFtmzfKalSpZLnnq4lmTNmiDD08xcuyqLfl0tISIg8Wr6slHukZITl/EACJEACJEACJEACJEACJEACJEACJEACJEACJJAwCPhMXDxw6LAMHDpK1m/aatvzkeMmSbPG9aVN85ckLOyujJ8yU2bO/UVu3Lpl2oyaMFWqVq4ob3R9RQrky2NbjxMkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQALxn0CMxcXLV67K8DETZPaCX83eZkiXVho8/4wcOnJUVqxep4LiLJn982K5fTtUQm6Ei4q1qj0meXLllHkLl8jqdRtl7YZN0rj+s9L1ldYSlCaNV9RCQ0O9as/GJEACJEACJEACJEACJEACJEACJEACJEACJEACviEQI3Hx1Omz0rHnm3LyzFlJ7u8nL79YX15p3UzSBgWZ0X05eLjMnL9IrgZfs422ZZOGxlMRM9q0aCJjJk6VGerNOGPeQhUZN8vo776UzJky2tq7m4CwSHHRHSEuIwESIAESIAESIAESIAESIAESIAESIAESIIHYIxCjgi6TZ841wmKZUiVk9sRRRjSEsIici21f7WWERQw9KE1qSRUYXi148sx50um1t2Tbzt2SXr0ce3fvJDMnjJDSDxeTI8dPyOQZcz3aWwqLHmFiIxIgARIgARIgARIgARIgARIgARIgARIgARKINQIx8lw8e+6CGVjzxg0kd64ccuDgYflu5DgT6owFKVMESIuXGsr/mjWWu3fDZIKGSE+d/bNs2rZT2nfvKzWqVpbuHdtKwfx5pflLDWT7J1/JydNnotxZCotRImIDEiABEiABEiABEiABEiABEiABEiABEiABEoh1AjESFytVKCN/rFglQ1VQ/OPPVWYaI0aIdMPn60rHNs0jhDj37NLeiIgIhUa+ReRkxOuZWtVlx669ZmfLlyntdqcpLLrFw4UkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkEGcEYhQW/ULdOpJF8yMeP3XaJiyWK11SZv80St5+o2sEYdHao6xZMss7vbprm5FSpvTDZvZvy/4yfWTLkkWLwTxtNY30TmExEhLOIAESIAESIAESIAESIAESIAESIAESIAESIIEHRiBG4uIfy1fKuQsXzeAhMsKQS3H6nAVaxCXYfHb235WrwabNjp17zOIsGTOY9zPnzsnqtRudrWIKt0BcpJEACZAACZAACZAACZAACZAACZAACZAACZAACXhGIGNG14WT3S3zrHeRGImLK9asM9vp2amtzJ86Vrp2aC0BAcllyqz50qhlR5mpFaDvhIXZxnLnzh3NuYhlr5jci2jb7ZXW8vP0cdJJQ6hhf67629aeEyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAtEnkDt3bpcru1vmciWHBTHKuRiUOrXp7tr165IiIEDat2pqwpqHj54g8xf/Ll8O+UFmzPtF+vboLDdv3ZLBw8fI4WMnzDovvlBXurRvJZnUazFMBcjrITfM/KCg8D4dxqmiZYCZRe9FRzL8TAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQALOCQQFBUnJkiXl2LFjcvnyZdMoffr0kidPHsGymFqMxMUaVasYEXHspBny94ZN8m6fnlKs8EPy/puvSYumDWXg0FGyftNW6drnPds4K1coK726d5RCBfKbeTt375NPvx4i+7XSNKxalUrm3dl/FBidUeE8EiABEiABEiABEiABEiABEiABEiABEiABEnBNIG3atFKiRAnXDWKwJEZh0dWrVpZ+vboJcibu2rtfWnbsKV9/N1KuXQ+RwBQpJXly/0hDS548uaRJldrkZOw/aJi06drLCIso5vKBipJVHi0faR37GRAYLZHRfj6nSYAESIAESIAESIAESIAESIAESIAESIAESIAE4pZAsrtqhw8flvz5wz0Jo7P5a9euS40XmjpdNSh1KglWsRGWKjCFhNy45bTdqsWzJTAwpdNlzmbaV44+e/ZspPFjn3LlyuVs1WjNO3HihGTIEF54JlodcCUSIAESIAESIAESIAESIAESIAESIAESIAESiGUCISEhgkItfn7e+RRevXpV8PJWT4tRWLTFIrUKiJaVf6SkbNq2U5L7+8tzT9WUblrs5ZkXW4lfsmQyb/JYGTLiR1mybIXcvhMmlcqXMWHTWOaNsIhtWd6LcZmDEQeHRgIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkEE7AJ+KiOj/aeI4a8qVtGhMo1mLetU3mTBnlk369zctaVql2fQmzW9809vA/S2D0sHmMm/miPHeMB8EOSIAESIAESIAESIAESIAESIAESIAESIAESCCeEPCJuJhMPQ/hfQiRcP2mLeqRWNa2e1gGw3JHW/fPFjMrICD6w4hLgdFbd1LH/eVnEiABEiABEiABEiABEiABEiABEiABEiABEkhMBLwLvnax5xAQn3yiilnatfd70qFHX9mgVaJdGQTItlrIpcebH5gmNZ94zFVTzicBEiABEiABEiABEiABEiABEiABEiABEiABEoinBKLvMuiwQ5++11fKzFso46fMlK07dsurvd+VimVLS+d2rWwt16un4sgJU2Tr9l1mXob06aR9q5elSYPnbW0SwkRwcLAcP35cLl68mBCGyzGSAAmQAAmQAAmQAAmQAAmQAAmQQJIhgJRmuXPnlqCgoCSzz9xREniQBHxSLdp+B27evCkz5y+UCVNny8VLl+0X2aazZMwgrZu/JI0bPCcpU6SwzY/uhLNq17FRLRrVclA1Z+fOndEdKtcjARIgARIgARIgARIgARIgARIgARKIAwIlS5aUtGnTxsGWuAkSSBwEHmi1aHuEKVOmlFZNXzTeiI4io69FRfvtxtX0sWPH4mpT3A4JkAAJkAAJkAAJkAAJkAAJkAAJkEA0CeD+vUSJEtFcm6uRAAl4SsBnYdGOG7RExpfqPy8/L14iyZL5Sf3nnvKJp6LjtuLy8+XLzr0x43IM3BYJkAAJkAAJkAAJkAAJkAAJkAAJkIB7Arx/d8+HS0nAVwRiTVy0BhgYmFKaNqpnfeQ7CZAACZAACZAACZAACZAACZAACZAACZAACZBAIiHgk2rRiYSFR7uRPn16j9qxEQmQAAmQAAmQAAmQAAmQAAmQAAmQwIMjwPv3B8eeW05aBCguenm88+TJ4+UabE4CJEACJEACJEACJEACJEACJEACJBDXBHj/HtfEub2kSoDiopdHHpWmSpUqJShtTyMBEiABEiABEiABEiABEiABEiABEohfBHC/jvt2VoqOX8eFo0m8BGI952JiRBcUFCTFihVLjLvGfSIBEiABEiABEiABEiABEiABEiABEiABEiABjwnQc9FjVGxIAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRgT4Cei/Y0opi+evVqFC24mARIgARIgARIgARIgARIgARIgARIgARIgASSDgGKi14ca39/fy9asykJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJJG4CFBe9OL4sY+8FLDYlARIgARIgARIgARIgARIgARIgARIgARJIUAQuXbrk9XiZc9FrZFyBBEiABEiABEiABEiABEiABEiABEiABEiABEgABCgu8jwgARIgARIgARIgARIgARIgARIgARIgARIgARKIFgGKi9HCxpVIgARIgARIgARIgARIgARIgARIgARIgARIgAQoLvIcIAESIAESIAESIAESIAESIAESIAESIAESIAESiBYBFnSJFjauRALhBG7duiXXrl2TGzduCKYTu6VIkUICAwMlTZo0gmkaCZAACZAACZAACZAACZAACcR3AvHpvo33VPH9bOH4okOA4mJ0qHEdElACqKAUEhIiqVKlkkyZMknKlCkTPZebN2+afT5//rzZ7wwZMiT6feYOkgAJkAAJkAAJkAAJkAAJJFwC8e2+jfdUCfdc4shdE6C46JoNl5CASwLnzp0TPz8/yZo1q/j7+7tsl9gW4CkbXkFBQXLlyhUBhyxZsiS23eT+kAAJkAAJkAAJkAAJkAAJJAIC8fG+jfdUieDE4i5EIsCci5GQcAYJuCeAJ18QFtOnTy/JkyeXZMmSmZf7tRLHUmtfsd/Yf3AADxoJkAAJkAAJkAAJkAAJkAAJxCcC8fW+jfdU8eks4Vh8RYCei74iyX6SBAHk6kAodFLzWHR2cOGxmS5dOjl79qykTp2aORidQeI8EiABEiABnxDwVa4s5rnyyeFgJyRAAiQQ7wkklPs23lPF+1OJA/SQAMVFD0GxGQmAAIq3IMdiUgqFdnfkwQE8wAU3bDQSIAESIAES8DUBX+bKYp4rXx8d9kcCJEAC8ZNAQrpv4z1V/DyHOCrvCDAs2jtebJ3ECaAqNMQ0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oGXLln7CAWIpM6SK+Ij85WIhDdIjXWa75DgyERABERABERABERCB2hPI2XNxwUtP1v7obs9c98/p4NpZBLIkgGdDMQLMZ5mtOttcgfDrDL0OLAIiIAINgkCbNm3sq6++stWrV3sPQ7wMc5lZm8lbGAbNH2lpuFaDuI10kiIgAg2QQDm129SmaoA3aD085ZzFxXrIRKckAmkJFDPAfNpMlNgKBcIvsQui7IiACIhAPSOAZ+E222xj33zzja1du9bP7lzbU6SxSVlOjEUNha4tRe0nAiIgAqVPoNzabWpTlf49pRxmJiBxMTMfrRWBBALFCjCfcNAS/qFA+CV8cZQ1ERABEahHBBACJQbWowuqUxEBERCBAhMop3ab2lQFvhmUfFEI1EnMxaKcmQ4iAgUgQMMmBJinEGjIpkD4Dfnq69xFQAREQAREQAREQAREoHQJlEu7TW2q0r2HlLPsCEhczI6XthYBH/idAPD5DDBfLlgVCL9crpTyKQIiIAIiIAIiIAIiIAINm0AhJgbLB1G1qfJBUWmUGgGJi6V2RZSfsiBAgPlGjRr5APOIjASIbwjGeXK+BNbn/OEgEwEREAEREAEREAEREAEREIFSJFCK7Ta1qUrxTlGeciWgmIsxCeJWjbcagopMBCCQzwDz5UKU50CB8MvlaimfIiACIiACIiACIiACIiACpdZuU5tK92QpE0D34h7N1iQuxiTWtGlT+/bbb/1shTF30WYNgAAPXW0evAaARqcoAiIgAiIgAiIgAiIgAiIgAiVBQO22krgMykQZEED3Qv/K1uSGF5NYmMQj5ubaTAREQAREQAREQAREQAREQAREQAREQAREQATKhsD69ev9JLbZZljiYkxiTZo08cNBAS0TAREQAREQAREQAREQAREQAREQAREQAREQgfpCAL2LMGjoX9maxMUsiDVr1sxP3CGBMQto2lQEREAEREAEREAEREAEREAEREAEREAERKBkCaBzMdkQuldtTOJiFtQIbFlRUeEndlm5cqVt2LDBf88iCW0qAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAnVKAI0LXQt9K6p31SZT2fs61uYo9WgfgG+77bY+wOXGjRtt3bp1Xt2tR6eoUxEBERABERABERABERABERABERABERABEajHBJjoiMlbWrRo4YdCo3fV1iQu1pIcY9BxF62ty2gtD6vdREAEREAEREAEREAEREAEREAEREAEREAERKBkCGhYdMlcCmVEBERABERABERABERABERABERABERABERABMqLgMTF8rpeyq0IiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIlAwBiYslcymUEREQAREQAREQAREQAREQAREQAREQAREQAREoLwISF8vreim3IiACIiACIiACIiACIiACIiACIiACIiACIlAyBCQulsylUEZEQAREQAREQAREQAREQAREQAREQAREQAREoLwISFwsr+ul3IqACIiACIiACIiACIiACIiACIiACIiACIhAyRCQuFgyl0IZEQEREAEREAEREAEREAEREAEREAEREAEREIHyIiBxsbyul3IrAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiVDQOJiyVwKZUQEREAEREAEREAEREAEREAEREAEREAEREAEyouAxMXyul7KrQiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiUDAGJiyVzKZQRERABERABERABERABERABERABERABERABESgvAv8P6Rbyjx/GVs4AAAAASUVORK5CYII=" class="kg-image" alt loading="lazy"><figcaption>Sample iOS-specific project strings.</figcaption></figure><h2 id="3-scenario-3-both-platforms-contain-unique-strings">3️⃣ Scenario 3: Both platforms contain unique strings <a class="markdownit-header-anchor" href="#3-scenario-3-both-platforms-contain-unique-strings">🔗</a></h2><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Solution</strong>: Create TWO Projects + Use cross-project automation.</div></div><p>This is the <strong>full independence</strong> case. When your apps:</p><ul><li>ship their own features,</li><li>have separate flows &amp; roadmaps,</li><li>or evolve at different speeds,</li></ul><p>it’s time to <strong>give each platform its own space while still keeping them connected </strong>behind the scenes.</p><p>This time, you still use two projects (one for Android, one for iOS) but you hand the mic over to <a href="https://localazy.com/docs/general/automations" rel="noopener noreferrer nofollow"><u>Localazy’s Automations</u></a> to handle the smart work in between.</p><h3 id="steps">Steps <a class="markdownit-header-anchor" href="#steps">🔗</a></h3><ol><li>Create two projects: an <strong>iOS project </strong>and an <strong>Android project</strong>. </li></ol><p>These projects will store common strings + strings that only exist in these apps, like:</p><ul><li><strong> iOS-specific features</strong> (e.g. “Use Face ID to continue”).</li><li><strong>Apple ecosystem elements</strong> (e.g. “Sign in with Apple”).</li><li><strong>Android biometric features</strong> (e.g. “Use fingerprint to continue”).</li><li><strong>System notifications</strong> (e.g. “This app is using battery in the background”).</li></ul><p>2.<strong> Spot and solve your duplicates </strong>using one of these two methods:</p><ul><li><strong>Cross-project Translation Memory (TM) </strong></li></ul><p>This is the basic setup to avoid duplicates. TM will detect matches and let you reuse and modify them independently. You can set up the cross-project feature <a href="https://localazy.com/docs/general/connected-projects">via Connected Projects</a> and apply changes in bulk <a href="https://localazy.com/tags/automations">using Automations</a>.</p><figure class="kg-card kg-image-card"><img src="data:image/png;base64,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TRBobYY/1jQg/dCddo9Abxz37u1R11YCSkAJKAEloASUgBJQAkpACQwuAiqADK7joa1RAkpgsBMQA6IEv9KJtIP9SGn7lIAS6CsCVyik9FWztF4loASUgBJQAkpACSgBJaAElIASUAIXErBeuEDfKwEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSmCoE+ieBwjDv0jUFwkDo/Ffhvqh1/YrgcFOIB6qxThacLaxFiWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElEB3CHRNAKHgYbFaYXcnwZnkgcvpho2JLzUEfndQ67pKQAl0lYDIHWEmbw0GAgj6WxHiMwPPa9LxrgLU9ZSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASwOUFEIofIna4UtNg4yzsluYGNIdCNEaq/KHnjxJQAn1IwGqBzeFESmo6HK4k+JsbEY1EVATpQ+RatRJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAEriaCFxaAKH4YaX44aEB0u/zocXXCis9QawWpg6xXU0YtC9KQAkMRgKxUBiNtdVwe5KRnJZBAbYRMRFBtCgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloAQuQ+DSSdDp8eFJi4sfEoZGxA8tSkAJKIF+I8BYWDLuBHxeBAJ+irFp/bZr3ZESUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkObQOeKBr0/7C63SXge8nthEa8PLUpACSiBASBgoRgb9PsgiYdkXOLANACt0F0qASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJTCUCHSqasRoaXS5PfB7WzXm/lA6otpWJXC1EqDoEaAY6xRh9mrto/ZLCSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKIFeI9C5AEILo9PlaptprebGXiOuFSkBJdAzAhRALDIuOV3GM61nlehWSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAlcKwQ6FUAk1oyEvRKDo063vlZOB+2nEhjkBBgKy6K5iAb5QdLmKQEloASUgBJQAkpACSgBJaAElIASUAJKQAkogcFBwD44mqGtUAJKQAkMBQIMDhjlQ3KQxKJDocHaRiWgBJSAElACSkAJKAEloASUgBJQAkpACSiByxFIBECyXG7Ffvh8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oASUgBJQAkrgPARUADkPHF2lBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAlcngQumAMkyZTzCSYztZnU85fnSWqrlYASuPwJsBtiYovE5X8iegZKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSwJgfMKICJ++DKzaXNUo+OSfBt6ECWgBM5LwO5wIGmUkPNW05VKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBzD8E1vySrCtiJaAElMDFE5je34gXiBYloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJTAHAic1wPExsBXgZEhRCMR2KYbIuewc62iBJSAElgoAuL44UlLQ0ZO/kLtUvejBJSAElACSkAJLDoBfYhYdMR6ACWgBJSAElACSkAJKAEloARmJXBeAUS2EhHELuqHKiCzQtQVSkAJLD4Bk4fINn+ntcVvmR5h+RAQFyE1tF3670NdtS79d6AtUALLiYD0CdovLKdvRNuiBJSAElgeBHRsWB7fg7ZCCSgBJXDlE1Br4pX/HesZKgEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAErjqCFzQA+T8WUKo2CclQbq84jq566q7fPSElcACEjBeZqLJOsY8zmaYyT/DogVsge5KCSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKIEriMCFBRDRNmYsFD/sTsQ9JXwVIeHMpnO7XYOPzMhKFyoBJXA+AuL8bEMM9uggHOEuvnooqFJUnd6jqJf0+TDqOiWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJbAgBCQf73w8HmzLNIXGhQWQGXElKXjkIZa+gn8zUzVIxCZeIFqUgBJQAvMkkHLssJl+RfqWuKsYzkA97PER7kndPuaJU6srASWgBJSAElACSkAJKAEloASUgBJQAkpACSiBiyYgYobTyUgt8xA1EvEEYvF4Kp/4RR954Te8CAEkQSNlDsWPlUi4KH6YEFgL3zDdoxJQAlcjgZSLR8KTT38QG1z+OtgSQYJQEeRqvBr0nJWAElACSkAJKAEloASUgBJQAkpACSgBJaAElpZAko4OaT4vSoqLYLdPTyGeZBQoy1I31V4Xi0YxOjqK/v7BpW3wBY42fwHE5kTCU0wRJF3FjwvA1dVKQAlcJAEKqwl3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" class="kg-image" alt loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABVsAAAPYCAYAAADErSkwAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFW6ADAAQAAAABAAAD2AAAAABnkrBPAABAAElEQVR4AeydB3xUVfbHT3ovpBBIQgokIYHQO0hHimAFUVFXxQrquu6qu7ru3921rd1VsOuua0NRRBAQpIOh9xISEiAhCWmk9/o/5yYzzEwmySSZ9N/hM8x79936fW8mb37v3HMtHL2CqqmLmZdvAGWmJHaxUWE4IAACIAACIAACIAACxgjYewdSSUaCsUNIAwEQAAEQAAEQAAEQ6IIEOvL9n2UX5I0hgQAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgECbE4DY2ubI0SAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgEBXJACxtSueVYwJBEAABEAABEAABEAABEAABEAABEAABEAABECgzQlAbG1z5GgQBEAABEAABEAABEAABEAABEAABEAABEAABECgKxKw7oqDas6YrKwsafiI4eTh4WG0eHT0GUpMSDR6DIkgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgALG19hq4+eYFNHbM6HqviGlTJtO7yz+gpIsX682DAyAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAt2XAMTW2nPfy6cXpadn0HcrV9a5GqZOmUIDBw6ghx96gAXX9ygl5VKdPJ0xwdbejspKSjtj183e5+HDh1FISD9tvRUVFbRq1WrtPjZAAARAAARAAARAAARAAARAAARAAARAAARAoDECEFtrCVlaWlJpWSnFxZ2rw2zE8BEqzcHRgR5Z+hC9+c67lJmeWSdfayVYcN8sLYgqK6vM1oS3jw89/dSf6Kc162jHjh1mq7ezVuTo6EgePXqo7vfs1ZOcHBwhtnbWk4l+gwAIgAAIgEBjBPjGasqkSephOt9i6dmWbdsp+nS0Xhp2QAAEQAAEQAAEQAAEuiYB0dxmz55JO3fuosKCQrMMEgtkNRGjo5MTPfrwUvKsJ7ZrE6szKfusWVfTG6+/ShJX1lyWnZ1FO3ftprNnz5qryk5dz+7dv9EHH36sXieOn+zUY0HnQQAEQAAEQAAEGiYQOXAg3XD9tWRvZ6uX0cvLi+6/924aP2E8z3jpa/TlwPeCMBAAARAAARAAARAAgc5PQHS23915O826egYNGTzYbAOCZ6suyupq3b16t91cXenhh5fQP59/sd48TTogbqtVprXdlHpFna+uMu4NW1FWTqtXrzGtOlP7Z+58pvXOtFyGfTPcN60W5AIBEAABEAABEOgCBJycHNUoVnz7PSUnJ2tH5OLqQn/8w2O0cMFN2jTDjfLycvrw488oDg+sDdFgHwRAAARAAARAAAQ6DQERWhcvvpsGDhhAa9etp6ioPWbrO8TWWpQWFvWLnVu3b6dDhw9poWtiuGoTmrHh6elB1107j8LCQsnOzk7Fi93K09b27z+grW3JkgfJu6cXOdg7qLS/Pvu09tjPa9fT4cNHtPvWtjb0zNNP0YZ1G1TaJJ4a5+fnSyUlJfTM355TYq6DkwM9+cQftWVkY9OmzbR3zz69tPD+4bTw1vn00cef0DWz5lDEgHCqqqyk48dP0EqOY1rGdWqNRcvZ7Hk7dvRocmUR+kJCIh08dJhmzJhK/353OeVm5WizipfIlEkTycvLk4qLS+hMTAytWbuOcnOu5NFmbmBDxrr0oQepuKiIPv7sP1qh2s3DnR5+8EGK5R8/33+/iiZedRWNGjWCEnlRszGjR1Fubi578/6m+mttbUOr16ylqN+iGmgJh0AABEAABEAABLo0AQv9WUP5efn03gcfksRyr8/mzJpJQwZFQmytDxDSQQAEQAAEQAAEQKCDE9AVWjds3ERbNm81a48hturitDCM2lVzMIMXzpKXxjQxXDX7TX23srGmhzn2azGLll9/8616HzlyBC267RaShZk0IuqmTb+SLGI1asQIGj5sKK36YTVVVtd4qqZc0l+kS2LOerj3oOnTp5Mjx5Y9cvQYnTh5iqxtbLRiZEVZBe3Yvlt115YFy7nXzObpc/Z1um9nZ6Pqun/xYopiITYqai8FBvVhkXImFbFI+uOPVxaOumbObJo5YzrtZtHyVHQ0+fbqTTfytDwbbtea+6Sx8ePH0c3zb6SNv26m2NizKgzDvLlzaMmD99Mrr71Rrweuprzuu3jlrl23jh5duoRmTJtGmzdvIfHivev220nGtW5DjeDs4GhPffr40/4DB+n7H36k225dSOPHjaEvvvqGrmLh9/pr5/L4+MlFK3gV6/YX2yAAAiAAAiAAAh2LgAXV3PMZu/WTe76Nv2yqt8Mitlpb4xa6XkA4AAIgAAIgAAIgAAIdmIBocvffu5jC+4fRJhZZG7rva+4wcKfYXHItKNeLF6fy4Jivn3z2Xzp5oiY+aNzZOCVOSqwwjcXHn1ObgQEB6j2axczGFskSsfHlV1+j4sJiTTXad5n2plkMy97BQYmt2oNGNtb+vJ6OsmgrdibmDPn7+lHkwAit2Gprb0+TJ15FB0TMZE9SsehTsqBENV07b67a1/w3YEAEiUD8y4aNKukcjy0vL4+mTZtK7u5ulJ2Vrclq0vv5+PO0bv0GHsMcio05q7xvg4IClTet7thlzBKPVUxisx1nAVoWvXDmeGsDuU8ODvZGWZnUCWQCARAAARAAARAAARAAARAAARAAARAAARDoFARkpvQD991LYaEhFMNaUixrXRKnvyGLi6vR5hrKY3gMYquGiDHXBs0xM7+npafz1Pk8umb2LLJij8zYuLNK8PuSPS5bavv2HzSbeJiRkanXnfTMTBrAYqvGerNoLCEQDh06qklS7/n5BXr7siMLcd1w/XU0b941dOTIMUq+lMIXdqx61clsYoKsFtyvX1+69967yMXFRYUkSLiQUG/paonJWxuXt6qqUuWztLCqNz8OgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIdA0Cc3l2tgitYv37h6pXYyP7w+NPNJalznGIrXWQtH6CTIN/Z9kymsMn+fZFt6op9xeTktgDM4r2HzzYomntlZUVrTYAESstdERp8UgVy8vPa7TNHTt2UWlpGU2ZPIlmTJ9GhYVFHObgJP3KYQUuX85qtLzRDDz9/4dVP9Hf/voXysrKou07dxrNhkQQAAEQAAEQAAEQ0COgcz+jl96KO7csvJn6GfGc2M8PyiUkksZMzTd27BieITRFU0z7npaWTp9+yjHtYSAAAiAAAiAAAiAAAnoE1m34hYICAyk4OIjiz51Xa/7oZTDTTrPE1gj2bpw+ZYqZunClmhUrV1Jmur435ZWjXWtLBMYvv/yaJChvUFCQWohBYra6ubkpAbIzjDavIF9107F2Rd/G+rx37z6Sl5u7O4WHh9HVLLoOHPAovfTKq83zxuXFuSQ+bH5BAYcicKdJvCDWzp27GusGjoMACIAACIAACIBAmxM4duwEJVxMrNPupUupemmm5ktMvEiyuKqhFfMDbRgIgAAIgAAIgAAIgEBdAuL8+P5HH9LSB5co0XUb30ud5HCT5rZmia1urm4c06CfufvCizU5mL1OUyu0IEuONFqz+JSpZZqbT1a4HTN6FH3638+prKSUJDarvLy9vTkm6oA6YmsJL0olZmvvwKJkYXObNXu51NRUtaBX5MCBvCJvnLZ+iYOqZyyKSvDhUxwrNYoX0srNyaF9e/dTRkYG/f6RhynQP1DFhNUrwzv2HBO2pKy0Xk/faZMn00DmtWz5+yqcwPXXzaMLCQmUmFD3h4xh3dgHARAAARAAARDovgTawbHV6L2OsTMgcfJNsZSUFJIXDARAAARAAARAAARAwHQCZSXl9N6H79OjDz9Mi++5i776+hsOj3nE9ApMyNkssTUpKZk2bKx/lVYT2jWaJTc3x2h6V0sUkVJijd5+6y20YdNGKiosob59gykwoA/tYc9PQ9N4QVw7dw5t276TZBEsmdKfkty0G2zxoo0YMEBVb8d1iPXq3YsiB0WqbfGQyMvNVdum/CcLUe3Zs48mTZygyp2OiabePr1p1syZ+sV5un9paSldx/Fai4uKKC4+nlycnXlxrUlUxk8Vki8l6+fnveDgIHrk4SVKhH7v/Q+NHpf4r5t+3VIjVp8/z3E3Qunuu++k115/s8mesr6+vcnD01O148XvllZWWi4l3Pe42LN1+oAEEAABEAABEAABEAABEAABEAABEAABEACBzkVABNfl731Av3/0Ybrj9kVkbW1D+/btN9sgmie2XrxISfyCNY9ASsol+uiTz3jBqGvpL08+qSopr6hQJ3btuvV1Kj0ff542b9lK06ZOofHjxqrjO3ftplWrVtfJ21CCvYMj3bf4br0sY9nDVl5in//vS168Sn+xK73MRnZW//QT2bBwO5eF4OvYszSHvVZPnz5NI0eO4MWorhRY8d1KunbuNSShEmxsaoRemTb30SefUn5eTTiCK7l5i71hxSxq39VO7X8OTk501+/upAT2YP1FI/qzoPs/Dsvw5yf/RHfcdht9/FnTYpWNHz+OrpowXrcZLav09Ax66eVX9I5hBwRAAARAAARAoPMSqCgrU50fP24M5eos/mnqiMrKy03NinwgAAIgAAIgAAIgAAIdkIDMIn93+Xvs4bqUbrt1oVqjSEJfmsMsHL2CdCQxc1TZ/nV4+QZQZkrTppLfddedNGzoEJM7f4m9U1955XWT89eX0dbejpwcHVmkzKXqqobDGFizqCmLUhXkFVBJSU1ogfrqbet0GxtrcnZxoWwWW6+ePp3mzJ5JT/7lGaosN1iwi8VTNx5DaXEplRQXN9jNxsIINFgYB0EABEAABEAABLoNAXvvQCrJSDB5vE7OTvTMn58ieW+qyQPyd5ct57BFcDxoKjvkBwEQAAEQAAEQAAFzEWjq/V997To4OajQl1999S0v4G6edaQgttbS9vTwoFGjRlJ1jUNlfedAm37yZDQlJ+Eme9asmZTD4R8kBquYCKmPPfYIXc68TMuXf6DlhQ0QAAEQAAEQAAEQaC0C5rrZbq3+oV4QAAEQAAEQAAEQAAHzEujI93/NCiMQwdOtpk+ZYl5KXNuKlSspM908KnJTO3c5K+vKlPSmFu7G+bOY280L5tOsq2dQQUEh9eYYsLkc9/Xbld93YyoYOgiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQHck0Cyx1c3VjUJC+pmdl72dg9nrRIWtS+DAgYN0OvoMDYgIV4tebfp1M0XHxNQNH9C63UDtIAACIAACIAACIAACIAACIAACIAACIAACINDuBJoltiYlJdMGzcJEZhxCLk9Hh3U+AoUFBSSiKwwEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEujOB5omtFy9SEr9gIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACNQQsAQIEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQKDlBCC2tpwhagABEAABEAABEAABEAABEAABEAABEAABEAABEAABalYYgYiBETR9yhSz41uxciVlpmeavV5UCAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAKtTaBZYqubqxuFhPQze9/s7RzMXicqBAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIG2INAssTUpKZk2bNxk9v7l5uaYvU5UCAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAJtQcDC0Suoui0aass2vHwDqKDcoi2bRFsgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAALdnECzPFs7A7OSjITO0E30EQRAAARAAARAAARAAARAAARAAARAAARAAARAoIsQsOwi48AwQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQKBdCUBsbVf8aBwEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQKCrEIDY2lXOJMYBAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiDQrgQgtrYrfjQOAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiDQVQhAbO0qZxLjAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQaFcCEFvbFT8aBwEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQ6CoEILZ2lTOJcYAACIAACIAACIAACIAACIAACIAACIAACIAACLQrAYit7YofjYMACIAACIAACIAACIAACIAACIAACIAACIAACHQVAtZdZSAtGYeDkxPNmDaVJkwYR7Y2NnQ5K4vOn79Av0XtoYQLCS2p2mhZ/z59aPy4MXrHft28hbKzsvXSWnvH1t6OykpKW7uZZtdvw+eiorKSqquqml3H8OHDKCSkn7Z8RUUFrVq1WruPDRAAARAAARAAARAAARAAARAAARAAARAAARAwF4Fu79nq6+tLf336KZo86SqKjTlL27bvpLTUdBo+bBg99uhSCo8INxdrbT22ttbk0aOHegUGBLDwOpacnJy1x9tiw9vHh/714vM0efLktmhO24aVlSVZWJp22f3t2afp3nvu0pY1tiF1NVSfo6OjlnV4RH8aM3qUsWqQBgIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAItJmBl4+j+9xbX0sEqcHRxo6L83EZ75eLqQn987PdUVVVJy977iHbu3EmxsbF0+MgR2rNvHwUGBrIYOZGOHj9GRYVFjdZnaobs7Bw6eOiweuXl57OwO5Si9uyjvLw8U6tocb6y8jKys7OjEydOUj73oU3M0oLeeuM1smTB9ezZuEabFBE1Lj6e0tLS6s376MNLaOyY0bRv336jeRITL2pZe3h4kL+/H23evNVoXiSCAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQEsIdOswAlfPmE5Ozk70zrLllJx0kUaz1+PgQZF07vx52rFjJ330yaf0j/97lh5ZsoQyMzMb5Lxs+fsNHjfLQRYrqaq64aokj1gj+SrKymn16jU1eRv735R2G6ujGce3bt3WjFJmKNJO4zVDz1EFCIAACIAACIAACIAACIAACIAACIAACIBAOxLo1mLrkMGDSDwfz8Wfp0mTJtJNN15PGSyqRkYOJPGC/P77VfTLxs00KHJAvafI1dWVevb0rvd4Sw/08OjB/bqB+vUNVtPlL1y4QKt+/Iky0jP0qra3t6ebb55PEeHhZGNrQ8ePn+DYs9kUFtqP3n77XZXXwcmBnnzij3rlNm3aTHvZq1bXwvuH08Jb59NHH39C18yaQxEDwqmKY6dKnSs53mlZSYlu9ka3IwZEcN9u0uabeNUEGjlyuNrPz8unt956R3tsyZIHybunl3ZfQjusWPGddl82dMfh6uyijv3fc3/V5lm+7H26fDlLu2/qhqeXl7oGQvr1JYntGhcXT9+v+pGkjzAQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQaIxAtxZbnVmoi4s/pxgNYo/WoqIievHFf9FDD96vpvaL2Lpjxw71qg/kWI63euvCBfUdblG6hDl44o+PU05ODq1Y+QNZ8EJRU6dO4bQ/0Otvvq0nuD74wH3k5+fH4vAmunQplQYPjqSrp0+l3Nw8bR8qyipox/bdat+WBdm518wmezt77XHNhp2dDXm496D7Fy9W4Q2iovZSYFAfmj1rJhUVl9CPPzZtgamkpCRaySwlUuv9991LZ87E0P6DB1VzleUVmmbV+8GDh8jR0UltT5symVyc68aylUW9pD6x6+bOJUv2RF299me1L//lNiMsgqenBz31xON0ISGR/vv5FyrEwpzZM+nxxx6lF//1Khn2U9sYNkAABEAABEAABEAABEAABEAABEAABEAABECglkC3FlsLCgu0XqkXLyZRKK9a/+CD91H//mEcu7UmpmhYWCgFs1eprp08Ga3CDsxiMS7A31/3kFm3Rdy0traiZe+/T8WFxaruU2fO0HPPPkNz58xWoqAkhoSGUHBwEH39zbe0f/8BSaLo6Ghyd3ej3r16q335r7y8XCsc2zs4KLFVe9DIxtqf19PRo8fUkTMxZ8jf148iB0Y0WWwVz9DoU9FEtSEOxHtY7Rtp88CBGhFWDo0ePcJIDqLKyipt+RlTp7LYaqndN1rAhMQb2XtYhGkJHaERVi9evEh/feYvNGbUKIqK2mNCLcgCAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiDQnQl0a7FVFmkaOWI4hYT0pV9+2UQuLi4cQmAAnYmJYU/S78nGxoYW3XarEi11L5LcnFwlts5hMbQ1LTQkhE6eOq0VWqUtibV69Nhx5XmraTswIICqq6vpyJGjmiT1XpBfQNRLL6lJOxkZ+nFq01kkHcBia5czFoFFaBfWQYEBesOTxcP6tKKgrtcYdkAABEAABEAABEAABEAABEAABEAABEAABDo1gW4ttm7dtl2Jlr+78w768KNP6auvvr5yMlmAu4vTxTv0Q/Z2FE9Mmab/JE8117WoPXvpu+++100y27YHx2s9cfJUnfokrICTkxNZcygAEV+ljyUcR1U8V1vTRNC1sKhdgKs1G2rjut1c3VTYgBHDh5G8DM3N3dUwCfsgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgUIdAHbHVir05bR2cyNbWjhdasqtToL0SystKqUxexYU8zds8omJKcgp9880KWrToNnr8D4/SaRZUUzMyqKqqkgZzDFff3r1pDccCNZzyHjlwILmxwNnaJtPanZxr4pfqtuXMcUyLWVwVoVVMvC9lgSwrK0s1xV43L7YbJ1BYVKg8g9et/4U2b97SeAHkAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEjBPTEVgf28BORtbAgj4oLcomqqo0Uaack9jS15r45u/VQomtxHvfPDHbg4GHKZlFzzuxZFDloAA22tFK1XkpJ5VipH1Jc7Nk6rUioAXm1tl1ISKCBAyI4nIE1e63WLiTFHETsTbiQoG3+4sVk5XEaERFBJ3U8YSUua4cyvp7EA9eBhWFzmYjOXry4VUtMROuUlEvKy3nL1m1UzQuRaUwWKZOYszAQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQaIyAVmx1cfdQ09BzM9MbK9M+x1moq2BhLZdf9k4uJP3Nz8kyS1/iOHbru/yyYlHTz7e3WihJ4rIaWsbldFq2/D295NxmCHGubi4UEBCo6tHECA3p11cbGzaaF8GSRZo2bNxIQwYPonvuuYvE61JEwBkzppOXlyd9/sVX2n5Ex5xRYuEtt9xMltbWlJaaqspFDhygxqLJKJ6vEQNqRGI7DkEg1qt3LxaZI9V2YuJFysutO2510Ez/SRvDhw1V4RGys7PJo4cHxcWd1XrkymJf4qUrJqJsJYudmv5lXc7icabo9SQxMVEJ0uPHj6NYrkfi7ko+zfnz5fPp4empynjxu6WVlba+ktJSrZi+avVqemTpErr/vnvolw2/UnFpMYWGhtL1186l/33xJZ2SBb5gIAACIAACIAACIAACIAACIAACIAACIAACINAAAQtHr6Bq8Wit5hXeSwo7jwefCK4WLB4a83D18g2gzJTEBobdvocGDx1Ci++6s95O/O25f2i9Kf379KHbbr1ZhTSQeKnp6Rn07cqVFB93Tq+8q5sb3f27Oyg4OEh5uYpXrMRw9fbyor//4wWV14nDD7z4/N/VtrH/Pv/fl2qRLY3A+9rrb1FycrI267x5c2na1Mn0xz89pU1r6oZPLx+6d/Hd1NPbWxUVz9RXX3uTsrNqhPO//PlJ6sV5jNlvUXto5cof9A5J3Nr7Ft9D4f3DVHplZSV98eXXdPToMbW/YMFNdNWE8XplNDvC8qWXX9HsUkhYKC248Qby8emp0tLS0mjn7iiK+i1KmwcbIAACIAACIAACIAACIAACIAACIAACIAACIFAfAQuX3qHVMjW/w3q01tdzTnfz6kkFudl1Yrh2dLG1gSHVe0i8PS2sLKi4sLjePHLAwcmBrK2slVi7ZMmDHILAht55Z1mDZZp7MDg4iB77/SP1Fv/wY15Y7LQRj1AOhSCLUpEl1XigmiFchQMvGOboYEc5HBJCvIJbYrbM2soE1i1pA2VBAARAAARAAARAAARAAARAAARAAARAAAS6HgFrWQxLYrR2RpN+S/+Ly3M6Y/eb1GeJdVqfSXiA229fRNu37aTEizUevf1C+lJoSD/auOnX+oq1OD35Uiq9s2x5vfVc4nAGRo3F1dwc856z4sJCFqILjTbX1MSyBlg3tS7kBwEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQ6D4ErGVBLLUYViccc0VZKTk5u1HDvp6dcGBN7HJldTUVstD4+OOPUsqlSyqMQO9evSiGF/fazAs+tZaJKHku/nxrVY96QQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQKBTEbC2YbGVzDCNu11Gzf1W/W+XxjtQo8zhhx9+pJ27dlP/sDCy5Gn6yckpFB+vH9e1A/UYXQEBEAABEAABEAABEAABEAABEAABEAABEACBLkfAusuNqBsPKIMXfJIXDARAAARAAARAAARAAARAAARAAARAAARAAARAoO0J8BJFMBAAARAAARAAARAAARAAARAAARAAARAAARAAARAAgZYSgNjaUoIoDwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAJMoFXFVgtLS5pzzWxexMoJsEEABEAABEAABEAABEAABEAABEAABEAABEAABECgSxNoNbHVysqSfnfn7TTr6hk0ZPDgLg0RgwMBEAABEAABEAABEAABEAABEAABEACB9iJg7x3YXk2j3VYkgPPainBbsepWWSBLhNbFi++mgQMG0Np16ykqak8rDgFVgwAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgED7EzC72KortG7YuIm2bN7aLqOE+t8u2NEoCIAACIAACIAACIAACIAACIAACIBAOxCADtIO0NugSZzXNoBs5ibMKrZa2VjT/fcupvD+YbSJRdaNv2wyc3dNr64kI8H0zMjZagTkSwHnotXwomIQAAEQAAEQAAEQAAEQAAEQAIE2ItCRf9925L7J6enI/UPf2ugD1I2aMZvYam1rQw/cdy+FhYZQTMxZio05QyEhfRtEGRd3rsHjOAgCIAACIAACIAACIAACIAACIAACIAACIAACIAACnYWA2cTWuXNmK6FVBt6/f6h6NQbhD48/0VgWHAcBEAABEAABEAABEAABEAABEAABEAABEAABEACBTkHAbGLrug2/UFBgIAUHB1H8ufMUe/ZspwCAToIACIAACIAACIAACIAACIAACIAACIAACIAACICAOQiYTWytKCun9z/6kJY+uESJrtu2baeTJ0+Zo4+oAwRAAARAAARAAARAAARAAARAAARAAARAAARAAAQ6PAFLc/awrKSc3vvwfUq5lEKL77mLRowYZs7qURcIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIdFgCZhVbZZQiuC5/7wNKTUujO25fRGPGjO6wg0fHQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMBcBMwWRkC3QyXFJfTu8vfo0YeX0m23LiQLCwvau3efbhZsgwAIgAAIgAAIgAAIgAAIgAAIgAAIgECXJuDg5ER+vX1MHuPlrBzKzsoyOT8yggAIdDwCrSK2yjCLC4uV4Hr/vYvp7Nn4jjfy2h5V2vlQpYM/VVk5N7mPlpUFZFWcRFalaU0uiwIgAAIgAAIgAAIgAAIgAAIgAAIgAAJdl0D//uF03313k4216dJLdXU1rVy1mqJ2/9Z1wWBkINBBCAwdNpRmXj2deri505Fjx2jV6p9I1qRqqZn+iW9GSyK4vvPO8maUbJsiIrSWO4c3uzERaKtqy0NwbTZGFDQjARdXF/Lt7UfnE85zSI9SM9bcfary9PIiL08vijkbQ1RVXe/A5cYpMzuTLqdn1pvHlAOmtmdKXcgDAiAAAiAAAiAAAiAAAiDQcQgMioxQQuuGjZtM7tT4cWNp5PChrSK2RkYOpHnz5lIvn54m96ehjKmpafTTmp8pOjq6oWxd/lhIWCj16xts0jjPnztPsbFnTcrbGpmsbW2ourKSKiurWqP6TlWnN38OfnfHImZRSfn5BSSfvbzcPPqlCZ/X+gbcqmJrfY12lHTxaDWHST3dQWwNZ3Fp8JBI+uHH1VRZXmEOdHXqCOsfRj69etPxE8cpNyu7zvGJkydTcvJFOhd3rs4xJBDZOziSn78vJTIjojYUWy0tSP5VV3X+L2xXFxfFUImtDVxUwrmsoqzFYqup7TXQFRwCARAAARAAARAAARAAARDogASsrGokl42/mC62Rg4cQDY2Nq0ymgXzbyR3d3ez1d2rlw/Nn38DvfBCK4mt/DvTxcGO8gtLTOqzi5M95Rfz7+AGnGZMqsjETCLW3X7rrRQUFGBiCaLNW7a1udhqY2NNU6ZMoavGjyc3d1eqqKiglJRLtIu9pw8cOKjt+9KlD1FAH3/67L//o9iYWG26bAwfPowW3jyfhfUz9Pn/vtQ7JjszZ15N06ZOpugzMfT551/UOT57ziyaMmmiNl08uPPy8ijlUipt2bqdki6KhkF87VvT8//8u9o29l9MzFn6z38/N3aoyWkDwiPI0tKSvlv5Ax06dJj+9fKLNGhwJMTWJpM0KGAYOsDa1YvsnD0NchEVpp8n9iOuk65JMKxHky7v4pJ868IFtG37TtpoRB1/4IF7ycHegf79zjLdYh1yW8QlUfpXr1nbamKrpaUVP/mzoojwcDqwb1+dpy1yTPLAOhaBkJAQ8vX1pZ3bd3SsjqE3IAACIAACIAACIAACIAACINAOBG5ZeDONGzdGtfzCC/+gb7/7nu6683ayriekwA8/rGbxazcRi1CtZRqh9Q+PP2GWJt5+63WeFVhXQzFL5VxJcG9P6unhQueTMyk9K7/BaiVfX39vSrucp/I3mNkMB319e9MjLE46ckzeY8ePs8PYCbrhuuvJxcWZlvEaRmIeHp606LZb6MKFBPp53TqVlp2do97b8r9bb72FRrBYWlxcTMeOHSc7e3sKDelHty+6ldzc3Gjz5i2qO3Z2tmTPx6yMaC5WVlbqmI2tbd2usyg+buwYdXzwoEhycXam/IICvXwSSkPqzsrJpoy0DLJgkTMwoA/5+PjQkMGDaPn7H1C8cqqzUPmkcOzZuDoOXWkZ6Xr1NnfH09ODhrAzoVjkwIHcZxeysrJUAnBz69Qt1609W3VByLZn/3HkPeo6w2RK/e07yjz2a510UxJs+GTJBSUxIE7wh0+eHuiaLV+otnxBw/QJCLPgfv0orh3d6/V7hD0QAAEQAAEQAAEQAAEQAAEQAAEQMI3A/v0HyL+PH/Xx96f17NnqxKKcCK1Re/ZSLnv06dqcWTOpt28v3aRuv93Ly418PF2pkmdPFhQ17tkqeSSvlCnikHpplxsWZ1sCWITCu+++Swmt4qn68881Quq8a+aqauNqZ+L28i1U+4VFhaRJa0m7zSnrxp7MIrRWMZvX33yLLmfWLL4WGBhIj//hUZoxfSpt27atjqNbU9oS56sePdypuKSEnQntacTIEbS9HkesI4eP0dq1P6vqxYt1/oL5NHb0KJo7Zw69865+GNKPPvnULPFTdcciYRRmzphO06dNU+JqTk4uRUYOUC/x+N20abNu9mZvQ2w1QFdZUkCJv3ygTXUJGkReI+eSc/AQbZpsXFj9ut5+YzsWFhZ0Gz9NePPtd+oo8w2W5ScEjbrA15enqemajtRXTnO8ld/lCzI5OYX8+Y9Selo6x8zIbbBFN48e7Orehz/cPdgdvpKysi7zomxnG/S+tbW3Iz8/P+rp3ZOs+AMucTcvpV7Sa0u+QPv260ue/KTOwcGBigoL6dy58/zldCVG5/CRwymXY3rE8xMXjfnwVIq+LBQfOHBAfTFIHe78xZPGT28CgwJVGyePn1DZA3jf29ubn365UAl/MSUmJFJKcrKmKvW0J7hvEOfpqUT7vLxcduc/S4UGT4m0BYxsSGiGHh4edPLUSSrMq3m6pMusvLycUlNT6fx59uDm6RYjRo2kIv5jEH3qylQQV3c3GshPe2Qqge74HZwcaOjQYXzTYEPW/KRr3ITxPM5UbZgHaadvcBCPz1WNLyMjg89tsl48WVv+Mg5nT2Z3bkPOX+qlFLLk6TbyJX2CnxCKybmQ8+Xd00vVlcWrc6bxtZGRVv/idFKmH3/pe3l5kjzUkDIyzsz0DFWnpt7Q0FDqydM/LCws1bVTXlbXi13+QIWFhZGTs5N6GijXgTHz9fOlXr17qT7KU0OJx5ORfuXJm/TJlPaM1Y00EAABEAABEAABEAABEACBzkPg/IULPDU6WYmtstjVWJ4lKha1Z592yrRmNCK2Slg2ZawdtJWJZ6qYxtO1qfut1U9XZwcK7O3BTr7VFJuYxuJp4wsWSR7JGxHUm4J8vai4tILyCopbpYv9+Dd6T28vSkxMop/Xb9C2If3taObk6KC6VFpayt6mRdruJSQk0PoNG8nOzk79zs3Lbb44LWKp2Cpe2E08eUePHlmv2KrtAG+Uc3jKqN17lNgqHq6tbSNGDKNrOWaxeHin8e/0ld+vovj4cyy0DiR3Vzc6fvokh7M0j+cxxFaDs1lVWUGFKbwwTq0VpbLbcrmILzUfGjvvQHIN0hdeNXkbepcwAtOnTVExLLZs2dZQVhb3PGgWf9n2Dw1j925bSmAB7nu+aDWijbhkP/6nx2j7tp3K3TqIBbs33nybPFgUvOmm62nldz9w+avJn8UpEQJ37tpFUVF76YYbrqPIAQNV24ePHqHtO3ZRbs6VC6lfSF/1NMHf349Fp2x2hT9Bv0Xt0RMgG+y4GQ+ej49jgdGLwiM4nAA/EawvFqgsCDVk8GAWAC8rz2H5ohChc4SrK+3fv79eoXro0KEqNscF/gMogaED2H19mO8wLrOPZGE3YsF5AMfKEQH3XHw8C2wlHEuW3duHDKYTp05RBgcCF7Ozs2chT/8L3IqfVopQKLE/xGysbcmVP7iSN43jkeSyYCoW3K8vtxugXOUvnDtH3vzlEh7eXx3TCK7hEREslPag5KQkKmHxTvLLU6KoqCiTnvD0C+Xp/XwdnDx5RWjVMMvhc3/69Gn+omGxmuuVv+kSC1euGbkGJGi3JjaviNIiWOZk1zwFU53k/2QRLhFgJYSAB1+3si2isZibhzsNY87yJXbhwglydHSi4MBgnkrhQYdq48KI+DhixHCysrCmOBasy/lJUm+ejuHB3PPzr3zZi0ApQmbc2XgWpBOoJ8f1HcRfiKfZczzVwFtcNc7/DeJz5cyflQssIpcyu97MYfCgQXTs6FG6fLlmHOER/XnaQi/+jF2gPG7Ps4eHEvk1dci7Az+BlnAgBSxwn+JzL9Mf+hoJfi79C2VB9hL3JzHxIvXq1YsG8RSKpran2za2QQAEQAAEQAAEQAAEQAAEOi+B6lodQY2gVoi75eabqLS0roOHNm8HFOza8gzY29tQWKAP/z61oIupWfz7Wf/3dkN9kbxSpk8vD1XHyfhk/n3auFDbUJ3GjolXqNhR1lXYZdRYlg6TlsIORxK6QDxP7737d7Tx119Z4ziv+rdpU/NmcOsOTpynJAyA/H4/yHFPx7DwGsIhCvzZIU4Th1U3v+G2hKsUE6csc5k4hU3lGLW+rBucjjlD8efiacGNN6nQCSUsOq/68ScVr1ajM51g7cvcBrG1EaLVVZWUdmCNNpf7gEnNEluP88nzZNFs9uxZHMvjJAunV7zrtJXzhlwUDz54P5WXlfMF8KNyg58xfRo9+afH6dU33mCvPPaqZCHQgwWyG66/lk6dPM1PI35R8TCUSMXpEhtm89at6uIZP3Ys3XjD9TSBPQ4z2SNz9Zo1SgSaMnkiu0xbqScP0n4/Fv4eXvIQHeX4HRvZbdrHx5tDH8yg/v1D6e2339XtYptsiwB6hgMvD2ORKyg4iM7z0wZjJmJkGXsinmIxUWOlLABKOT9ffxYpL2qSte/i1erMApo8wdAIdQUFeSyU9VfTAERs9eIV6X169lTiWlqtsJrNnpGO/FQolL0lxTtS88HUVtzAhjzhOnL4iBJMJZv0ITgoiC6wyJd0MVGVFAHQwcGev5T8lXerp5cH9WaB98RJFndrPTiz2cX9Kj6XffiLqz4mmm4EBwdzDJQAxVHXm1MWOhNGx48eU1nlmDXHwu3TJ4ASzl+gNPbwlaDY4nGr4ePFwrdcP3JedE32xdNVBGEZo67Xqy2LzEksEsfHxStW2Tw+W3bZl3GL634FX+MiYIswfeTIURK+Ypns/Tqq9smYpi2pPys7+worfhhgxUKtAwvYxkxirZQUFVPyxSRtn3J4qo54KXt6eSux1Z69lTVC6/naPzbi4SwxgSX+jsaCAgP472c1/yE9qhWfM3ksch40Jt7RYf3783lLYcG55mGNcB07fhyJ97KcW1Pb09SJdxAAARAAARAAARAAARAAgc5LQH7bu7ETkJiPr4+afXmGFw8yFrM1jn8zHa39fdaWI9Z4tGrabOq+ppy53uV3XHhwL541aUmXcwopOf2Kc5ipbUgZJ15Uy8PNSdV1Ija5zu9YU+uqL5+lhZU6xD8T9UwEYmOm9Vo2drC107iTyz/4gJYueZD1nTD1Sk5JUXqRiKPyu9zQ7r/vHvX7Xje9vrENHzZELegmHtuikRw8fFiJrWPYu9WY2OrBv+3DwkJZ1rKikNB+NGZMjVfsYf69bWivvPSCXpI4dv312ef00urssF72yJIlPDO2RsSVEAFiolfsZUe+n9b8zA52NeEd6pQ1YwLEVjPCbKyqH374UU0hvu2WhfSOBEw2/GRyBbNnzmR3dG967h/Ps9dpjQdkbFwcvfzCP+naa67hVdf+p21mP3sHrljxnXZfs/H1Nyu0q9tdYPHsb88+Q7Y2tvTpp//Rfsl48FMNefqwavVPqh9OPI1dVqJbw7FGxJsxhgUj8QoUwdVYcGNNW635LuKbfAnIU6N0DoKsmQKvaVO+iCXujQhcuiYemxWVlTx1382o2CremIVFRbzivB97UpZTOnteisB6nAU/jbmxJ6rY5VoBUJMu8U1EmBbhrCkf0MryKq3QKnWJd6lYtoGL+gkW4m34XIm5urkrsb2ivJy9RHuoNPmviL00ZdwNmZ+vnxJM49grN4UZakw8SZ1cnOnSpUt6dcqUdxEv7R0cKT8vX/HpyWKziK1OfB048njj+DpsiokntrzkJsPRwYlsWGAVAVZMYrPIl7orhxco59ABGqFVjskXtAjo8jBAYznMqbdfb/YGDuZQAHK+CkkTikGTR/ddRGARPeUaEQ9be1s7FYpAPGdFGBVz4RsfS/5jmMrhCHSttNYzV5MmXsnZ7NGr8fKV9DLDPDwOqauwsEiPq3jD9mBvWTFT21OZ8R8IgAAIgAAIgAAIgAAIgECnJrBo4S0ciq1G6Hn6ySfp6Wf/Rh98+HGnHlOrdp4nhvYP8iF7GxsqLC6luKQrv9PGDu6rmt57vMYJq7H9sxfTKdLWV4muoewle+ZCqlH9pbnjSWEHJbF+7OBUX2xS3bq1Xsu6iW24LU57L77wspqxOfGqCRTEGsut7KR3DTsDLn//Q3a40g/Pd5GdlnRnmkpX3Xn2qX+tgKnb9bGjR6vdw+xcJiaLhd08/yaOEzvc6OLqw4YO4RmwV2aLy2/0r776mg4cPKzK6/53ikMbVrEDpMYkBGJjJk53IrReZMcvmVW+YMFNytnu3eXvs0evcSe+xupsznGIrQbUrGztyWfUtXqpl6N5ynbBZb205uzIamyrVq+mO29fRFeNH0+7Wdw0NPH6S+ULXSO0ynERB+VJl7hi61oifwCMmXg/akw86qTdM7GxWqFVjl1MSqZRHJvTiad2S/xP8XKUlzcLbD17enO6o1qNTfLa87bhSnKS3hYmAp94Iw4Ij+AP30G9JmXVPxG4snVCIUgGEevy8/O0K9jpFardOXToEPMM4engfVUsThFoE3iFQI3oJ7E5RZA1fMqTUxsCwJE9U5sithr2QbiL5XE/dU3a07TpKqvhsQAqXrqG1tiXjHimVvGTGycnR72izjwuYebH0/7lZWj2drZ8PZCKbSqesSJMilerCKISqqEpJmUHRQ7isAE9VKDsQhZI7TgUga7J4nBlZaW6SUa3Y87GUFlFqfJEDQ4KpgKuS+L6Jl+s67msqUCeHoeFhrOnqoUKASACrsSV1ZimL8ZitGryyLsth6bIZq/ahszJyVkdFk9wYyYit6ntGSuPNBAAARAAARAAARAAARAAgc5F4Ke1a8idHT9kgaz/fv6FcvDpaCNoaoxWw/zmHY+F1h+t2ohjWlPb0tZRrT87s6n1GMt/NjZOreUxaHCkivd58uQplU28JzuqiUPSIRY05eXNms+8a+aoMIlLH3qAnvvnC3pi9C8bf6Xo6Gi9oYh+dPuiW/XSpB4JaykLS/Vjx6h+teH28tiBS8IWDOJ1Xww9tsW7+ygLsta8TsuNHOpS9Ilz7CRozP731VdafcTYcaNptec7j2e2yozUMgnZwdqRrB/Tlgax1ZC2Jcfb9KuJmymHbF28yd6zD2Ue36Jy2rv7GJZo0r5c2MOHSVDea+gUx8s0NAkFcIA9Vg3tAsepFJdvmX7dVDP+gdf/EhBPzcUcv0PcubNysnmRojTlddjUtsydX3nZ8odRYqUGBgTqVV/KwqSYCIgZug9iWFyTBZkyMjjkQj0mguaZ0/zlwXk9+QmNH0+3H8JPV46w63ouT1GXD6TEaxXPSN2p825cr1hRielxY4x1QYQ/MRFd61sArJRjBYvIuXvXLiUgG6unvrSExET15R/OU9tzs3O13q0aZiLeS+zT+kyebPVjIVpCCYindQZ7FjclbILUG9I3RC0Mtm/ffu2CXhI2QBba0phwlpANhpw1x7Xv/MdWpvrLS7yCe/fuTf35WpXwBxL6wNAkbkxE+AC1WFc0h6PQ/NWWaf0aE75iLixqa0R2zTHddxGD5RpryCoqa65FWRRNPIONmantGSuLNBAAARAAARAAARAAARAAgc5FIJNnRYqHoIithoJTQyP5duWqhg533WP8m+9sQhoNCvNjT0R7CvHvSWd5wSsxjUerZvCN7UtZqaOEPSHPJrLIZgbxVtO2vMtvxO9W/kB3/e4Ouu/ee3h6+n61To5uno6yPZh1joGsC0SzA97R2tm8EtbyqxXfcii8MHJzc+PYpr1YM6jx1m1KvyU+q5iExrju2nl1ikqIAMNrP5nb2cshB8TE0W/SxKtozpzZ9OWXX9cp35yEZF5wWxyzBg4YoF6aOp564k/087r1tI9/s5v7etC0ofuuxFYv3wDdtG69XVlSQBdWv65l4OTbn4JveIJc+g7TprV047uV39PTf35SxVY1rEuEt15GVmGTGJ25OXk1qj4LSea26/mDIdPjX33tDe2HbMTI4coL19xtNbU+iQN6iWOWBgUH6RWVqdwS3NiLPV9145e68vRw8WDM5ycZxkym5EtogrOxZ5V3qnj/ypOXCfwhl4WZRGzNYw9WidvpzlPAdeOQunNZEUDVIlpcuUwTd671atS0ZcPTHhozjSDnyYtF6YqtfXmRMgeeyn+Kwwnk5xeQL4uKnl6eKkaspk5NvFPNvrH3FA4TUFxQSD04hm8of4Fm83hkX5iV8R8cET0NxVbdemUxrpzcHHVj4MIhJkScbchE0DeM4eLq5qKmHojntMbsDK5d4SdPsmQ1QDkPylgAF4ZVtYHGZTsicqAKfSALkwk7eblxGeFnTGyV0BdSb7pMh6j9wyqettaWV85NAfMV68FPm3XFVgl3oGuST57Y6QrChudYcz59OAC3ZlvqkDJiItib2p4qgP9AAARAAARAAARAAARAAAQ6PYGmxOqcMmUyyZR0Y3EuWwtEU2O0GuY3d7/kd9OZ86kU2c+PPN2d2MnJvclxW/168u9ELltRW5eu85Q5+yvrjshv1kW33UIylV4znd6cbZijrkp2MhozdjT158W4j/EaPRonKpl5KYs/i8lU/qaazN4cNWKkKibhLnN0ZljL7NIlD3GM2LAwDo/opqd56Lbz6+YtNHbMGA45MIy2btteJ0Skbl6Tt/n3/7L339dZICuGF8iKo/nX30C33bqQrrpqPK38fhXrIYkmV9mcjIpsUmlwc8p2iDL+dudbtR+FKTF0fvVr3IaF2dqREAESlPeWhQuUu7Ws1q6xC3zCJX6FxLnUCHoi2IT060cx7OHZWiZibhKv/qb7NKMHi1kdxeJ4lXtPd0+ysqsRrzT9iucwA+IpKSKlxCG1tbFTT2ck7MGl2jgqmryadxH/3PkDHx4exivVJyjBVqbUiziniUsiYmUf9nYNZe9J+QKVmKY+LIKLGHvmDHtK1tpl9p4NjwhXK+3lsjgpcVaDgoI0h+t9lz6ksxu7n18fyud5+4X88vTwpgD23tXEEUnh89GHwwFIuINqjkFbyAs+ubi5qri/5+LjtYtX1dsIHzgTfZpGuY7h6fyRdIif4MgfGikbHh5OITy25OQk5b7vx09bRfDct7cmqLXUKd7N4fyFXMJeuNns7dyQ5eXnq5AH3j49KTc3T4m6SixmwdqfF5gSQdmThevA4CBVjS0vbCXXt5yzIJ5qEMJfwlV8jsVD1M/PX8UJzq0VyyVkgh0LrrIwmSzmKSK6O09JkLi1SRwOw5hJyAIJoyDtyaQRmaIQwP2wtbPm+K01oQwkDEQGC/n+/n2oiNnmF+RzHz3J189Pr8rExAQ+9z0pgq+zhAsXyJr70pe9fnVNzuclFnZFoC/ierM41q8De4v35QcYRUWFFM2xZkxtT7debIMACIAACIAACIAACIAACHROAoE8vdq/T81vi/FXTaAoI2EENSOz59//8+bOofP8e0PC23VnKykpp1j2cI3ghbL8fXpQAYdVzM0zbWapm6sD9enloRZDkjqkrtY0ES9j487yejhDOA5qAI0YMVwrYLZmu02pO5adzM6dO8+/YYPpn//4P7WAdgU7kEVE9FceqXJMfhc31cLZqcvN3ZV/06cqEdew/ImTJ5WIOnrUCNq8eavhYbUvjko7d+2mGdOn0nXz5taJaXzHotu04rCmAtFRNmzYqNk1+i5aw/p1G/SOvcexaWXG9PXXXUt//MPvVYzYNWvXKmcp0d96sJajq4fpFW7GTo2M3YyC3alIYUqs2Ye7Z98+Gj58aI2ApFP7er5oZOGqO2+/ndbxxVFZXUGzZlytggJv2NjwBaVTTZM3k1h0GztmNE2bNoXO87TsMBa/Zs2coepxdXVWCx01uVIzFhDBTeJ2DmIPR11TgZxZf+3XL5S/3ILUwlgSX1MW+NJd0Ei3jIQQOHT4kIoDK6EDxMSTNSbm7BUPUn4aInFdB0YMUOEFRIiVOKESm0UWjdJYGk+v9+nNsUFZuBSTOK+XeEEqfxYvG7PoU6dYzO2vxGKJzSqipgitGo9TeeJ0mFfyE2F00JAhSgyWPFK/bh8aakfE1RMnT9BIfuIUylMHJHSCWlCMRcsgFgIDWGQXUVJE5mPHjup9kcniVjKtIFMeBjQy7SLr8mV+kpWjRF3xQo4+eYpECJc4ORJ825YFygL2rI07G6dYObH3bi5lq/aOHDmiyklsWumLTGnQiN6ascl0h/ABETSAX8JKOF/keK0Xzp3TZNF7F8/cU9yHPgH+/PBiqFpo7OLFRPU5ctBZXOw0h/KIHDBQMVZiO3/ZJ/FUn4CAPtr65A+ALFwmTwJ7jhqlrrELfBPkYKcfD/cMx7QpL+/HKyqGKM9qWaTtMnOJ1XlIYkp72oaxAQIgAAIgAAIgAAIgAAIg0GkJzLx6upopKANYOP9GOsFxKnVnwUm6OMCMGTlShUmTqdh33rFIedydORNL+9lZpi1NE4+1Dh7YKwAAQABJREFUvjZb26tVt928gmK6kJJJwX7eFBbgQ6fiktnLtWHh1NHeRuWVeqSs1NEWJsLe3j171Us8OSVWqaE1xcPZsGxL98vLK0gWh5p7zWzWmgbTyJEj1KxU0Vh+i9pDP69f3+jvfWN9GF0bQuBQ7cJYhnkOspYhHquSrz6xVcps2baVJkwYpxy9xNEsQSfc4VAWRw1N9KrGxFbDMpp9EcdPsyYydepkupoXgx/MMXdPnDihQn1ass4gTncffvIpz3bO0RRp9jvE1maja2FBFqFWfPsd/fnJJ/Uqkinrb7+znF3RF9KTTzyuvCrF2/XjTz8zq8qu1yjv/MSKvnhwTp82TS2qJE8nVv+0lm668Xry6enDwplxUcuwnpbui2AlL2OWwSLeVn4ZWlpKGsnL2s6GKviLpDFhUMoX5hXQgf0HaqZ584fKmDArouyxY8fUKvZWHBtU9g1Nyh05dERNe69m52dNnlj20tRYTMwZFnKveMNq0tUUCRkvH7Nlb0tZCM3QJE0WLhMXfZnebiyPbhljjGSsO7Zt183G11KKegmzyvJKPZFVk9GK/9iLACkLtjVmwuHwocPqHEh9Ykogl7GzSC43Dho2htNiJLzB/r37VDxi8eAVXfeqiRPZO/TKglxS1wn+YuQO6dXVUL9ELJaXCo8g0yKMCMbSbznHEmLAkr3XpR2xuLNn9arW1GXLC6OpeLtcV6LBE2cRx+Niz3LIhTg+n5KPz6dBm6a2p9c4dkAABEAABEAABEAABEAABDodgS+//obuuO02dq4ZQC+/9lodoVUGJOHaIligG8Xef2ISIk9mGB49wb992tjaUkw1ZWhpl/PJ0cGOevZwIWdH+0bFVskjjjlpl/P4ZXwdDVPa7Yp55Lfqzz+vVy97Du1nyzpAnoTVM/i9+tZb79Q7fFlbSHd9oc950Td51Wcyu1P3mlq7dh3Jy9BErH766Wf1knXL6R0ww4785t+0aTPt4wXYb1u4kB3TRijNQzSS4SwOz5tzDX31Vcvjx0Js1TlZZXmXqSS14diUOtlN2jzAC2LJy5hd5oDZT/356TqHRIx69dU3SBatEk8/ibOpa/I0zNjFp1lZTjevbP/f//3DMIl27tytXpoDcoF/99339MMPq/gLzZGnVNfEs9y5c5cmC23ZslW9tAkdbKOitK4Y2lgXVfwW9v5syOSLqaKs4Twaka6heuo9xl9wjYmo0ofG8tRbfwMHGmImHppyHejGlG2gKnXIaH08Po3QalheQmQM4BAH586fUwK4iMoSRsDG2oqyNTFcdQs1UJduNt3t+trWzSMiaI1ErJtad9ukc6DOp/5n1rAmU9szLId9EAABEAABEAABEAABEACBzkFAfmNrQqO58MLILhz6TtcSky7yb7xy2rh5k/K0E886sa3bt7XKbz/dtjvL9nn2UM3MLuDQew3/vpLxpGflUzFrAvnFdZ2YOst426KfJawvyau7m3ivHmLBVcIh7OBFyeUhx9Chg8mD1+kxh3VrsdWysoCqrJy1HLNjokheTTWppzVMpkK3tYn4qBFa27pttNcxCPhxaAGJLyRT/+XLpzWtkh8mFBeX0JhRozlubRE/YbNTQqvE25UnSzAQAAEQAAEQAAEQAAEQAAEQ6KwENGtMPPLw0jpDeO31t3gNjWQKDgxWCzZL2MBxY8aqMGzn4ltnbZosXgxaxKTGQgbU6WwDCZd5vYpWM/Z5MkVo1bTflLyaMnjvvgTO8MxUWZ/nphuuZwG6lCwtrcwWvqNbi61WxUlU5Rze4itL6oGBQFchUMILOiUnJVF6epp2kbZWGxt7gcbFxvJNxkVy44DU8jRXFsAyjGXUau2jYhAAARAAARAAARAAARAAARBoJQJRe/cqMacnL7hraHn5eSopi9ccefGlf6mQZvs41J1vr16GWc22v+rH1XTttXM5VGDd/jSnEVlQaC1PT4fVENi+YxfPULbT4sjPK6QNGzepdUm0idjoMAREd1i2/ANatOgWXiDLjdasWcuLhu83S/8sAgZPqk4qDTZLZe1Rib/decpMSdRr2ss3oE6aXgadnUo7H6p08NfzcNU53OCmeLSK0GpV2nhMywYr6sIH7b0DqSSje6+m2IVPL4YGAiAAAiAAAiAAAiAAAiAAAt2GQEf+fduR+yYXSEfuH/rWbT7CbTbQbu3ZKpRFKIVY2mbXGxoCARAAARAAARAAARAAARAAARAAARAAARAAgS5LoCYCc5cdHgYGAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAm1DAGJr23BGKyAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAl2cAMTWLn6CMTwQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIG2IQCxtW04oxUQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIEuTgBiaxc/wRgeCIAACIAACIAACIAACIAACIAACIAACIAACIBA2xCwCBg8qTqpNLhtWmuFVvztzlNmSqJezV6+AXr72AEBEAABEAABEAABEAABEAABEAABEACBrkqgoNyCnG2qu+rwuu24cF4756m37pzdbrzXqQmxjWdCDhAAARAAARAAARAAARAAARAAARAAARDo5AScffsTdJBOfhKNdB/n1QiUTpCEMAKd4CShiyAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAh2fQKuIrZFLPyZ5wUAABEAABEAABEAABEAABEAABEAABEAABFqXQEFKTOs2gNrbhQDOa7tgb3GjrSK2trhXqAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEOhmBZsdsNcVztaE8J9+7v5OhQndBAARAAARAAARAAARAAARAAARAAARAAARAAARAoH4C8Gytnw2OgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgIDJBJrt2WqqZ6qVvQv1v+tVqiwpoJgvniKqqja5c8gIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAp2FQKt7tnoPm0WWVtaUc3onhNbOclWgnyAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAk0mYBaxVbxXw+97lyLueZOs7By1nbCycyKPyMlUVV5GmSe2a9OxAQIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAJdjYBZxNbKknzKPLCWrBxcqOfo67WM/KbfQ5Y29pR1ciuHEcjXpmMDBEAABEAABEAABEAABEAABEAABEAABEAABEAABLoagWbHbDUEcfnEVnIPG0ueg6ZR0aV4snFyJdegIVSak0qpB9boZQ+cs5RcgodR/rnDlPDL+3rHsAMCIAACIAACIAACIAACIAACIAACIAACIAACIAACnZGAWTxbZeDVVRWUuPF9DhlQQuLR6jPuZhU+IHHjB0QV5Vo2Vo4u5Bw4WO07sxhrZe+sPYYNEAABEAABEAABEAABEAABEAABEAABEAABEAABEOisBMwmtgqAsrwMyjq1Uy2IZWFpSdnRO6n0crIemx6hY8jC0oqqKivUu1voaL3j2AEBEAABEAABEAABEAABEAABEAABEAABEAABEACBzkjArGKrS+hI8hw8Q8vBI3IaSZquuYeNU7upUd+pd4/wCbqHsQ0CIAACIAACIAACIAACIAACIAACIAACIAACIAACnZKA2WK2iqgaMOMBsrCwoAxeLKuispx6j71JpSUymvyzB8muR2+y9w6g4uxUyjqxjXqwGOvA+5Jemn2pYwJ0DSbqOZaqPQaRhUtgx+wjegUCIAACIAACIAACnZxAdX4CWWSdIErfS5R3vpOPxgzdxz2oGSCiChAAARAAARAAARBomEBr3IOaRWzt0X8c+U67RwmtmUc3UlrtgljVZcXkO+l28ug3Somt7gMmqRHmRO+qfd9NDuMXkKSn/fZtw6Nvj6P9FhAPiixSd5B1wk/cg6r26AXaBAEQAAEQAIFOR8DeO5BKMhI6Xb/R4fYkYEmVdu5U3YtnPXmPIIr/vj07075t4x60ffmjdRAAARAAARAAgW5EwPz3oC0OI+A+YKKe0JoadeXGOOvkdkra9l+6HB1FZGlBHmFjeCGtSso5s0edtJzYKN6vVulyvENZ+GKyyDzMIutasirN4q5BaO1Q5wedAQEQAAEQAAEQ6GIEqtQ9l9x7yT0Y8b1YtzTcg3bL045BgwAIgAAIgAAItBcB89+Dtsiz1a6HL/lP+Z2ikX5oHaXvW12HTE70byrNNWgoWTm4qO2IxW/q5ZN014AhlHfhqF56u+2wN4HFpe1kVZTSbl1AwyAAAiAAAiAAAiDQXQnIPVgl34tVi4dnd/JwxT1od73kMW4QAAEQAAEQAIEOQMBc96At8mwtzU6hS3t/JAkdYExo1eXUI3y87m6d7caO1ynQWgkSH4tDB0BobS3AqBcEQAAEQAAEQKAtCEgoh85s6l6M78lI7s26g+EetDucZYwRBEAABEAABECggxMwxz1oizxbhc/lw+sbxWRl50jOQYOpsjifoj//E8/Ir9aWsbC0ovC731THJV9laZH2WLts8GJYEqMVBgIgAAIgAAIgAAIg0L4ELFJ/4xiuk7vHglm4B23fiw2tgwAIgAAIgAAIgEAtgZbeg7bIs9XUs9Cj/3gSUTUrdp+e0CrlVQzX2D3quORrb6v2GMTxwnLauxtoHwRAAARAAARAAAS6PQG5J5N7s+5guAftDmcZYwQBEAABEAABEOgMBFp6D9omYqt7rYiac3qnUaZZMbyAFpsmn9FMbZRo4SJT7rAYVhvhRjMgAAIgAAIgAAIg0ACBKqq5N2sgSxc5hHvQLnIiMQwQAAEQAAEQAIEuQKBl96AtDiNgCsG4lf9sMFtpRiKdfO/+BvPgIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAh0ZAJt4tnakQGgbyAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiBgDgIQW81BEXWAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAh0ewIQW7v9JQAAIAACIAACIAACIAACIAACIAACIAACIAACIAAC5iAAsdUcFFEHCIAACIAACIAACIAACIAACIAACIAACIAACIBAtyfQJgtkdXvKANBxCFhakK2dPTk4uZK1tS1Z8L65rLqqmioqyqi4MI/KSkuIeB8GAiAAAiAAAiAAAiDQxQm04P4S949d/NrA8EAABEAABLolAYit3fK0d99BK6HV2Z0Kc7OpoqyUQZhTELUga1s7cnLrwfXmUFlxcfcFjZGDAAiAAAiAAAiAQDch0LL7S9w/dpPLBMMEARAAARDoRgQgtrbiyb5+3my66bo5tO9IPL31ZTRVV1/xopw41I2eemgmpd3ziF4PfP6zjF79YBPtOpqrTbewqKbH74ggXyqiHz/8jA5VVWmPYaNpBMSjtUZoZc9Tsxt7tpaVqPqdXN0gtpqdLyoEARAAgc5HwMHJgUaNGEkOjg6Ndj4qag/l5+U3mg8ZQKBBAhwkrGyYG1WFOhPZXbn31JT574jfazaNvpf//eU66UU8W+e30lJayw+SzfmYuk5DnTShZfeXuH/spKcd3QYBEAABEACBeglAbK0XTcsO3ODkREsW3UwDRw6j6VMm0sSxR+ihf+yiS1k1QqmHpxuNGz2CEmz0T0Egp3msPE5V1jU/ynp7WNJ7z06gyoP7qe9/vqGQsWNotbcHrfhpXcs62Malx3K/fX1707lz5+no0WMtat3ewYGumTNL1fHr5i1N+mEqoQNqPFpb1IUGC0v90g4MBEAABEAABB5dulT9/TOFxMmT0U36m2ZKncjT/QiUTfSgisle9Q583uwZ9R6TAxdefMPo8Ql2duRqaUlfFhYaPd7Wiea8t2xp381xf4n7x5aeBZQHARAAARAAgY5DQF/p6zj96vQ9mXvbAnK89zHacvsCmvzHh2niuGH024q+9MhzP9D6PXkmje/aCW70x9uHUfFLb5H3+YuU8PgSmnz3Iup7Ka1JYqurqwv95c9PNdimiKCffPpZg3lacvDmBfNp6pTJ9P0Pq7Ri6x13LKK77ryD3l3+Hq1Z87PJ1bu5utKzzzyt8h85crRJP0xrYrS2tk9GtVljwZoMBhlBAARAoAsTsLKyJEtLKyovL290lBYsCElI7srK9p8J0rt3Lzp16jRt27690X5nZKY2mqejZIiMHEjz5s3laDzV9BP/DY+Oju4oXev2/aga4d5qDBayh3ZTxda7776LwkJD6Ag/bF+58nuz9c3YveUr/3qJIgcOpD8+8RTFxMSYra3GKjLP/SXuHxvjjOMgAAIgAAIg0FkIQGxtpTO1NrcH9Xj9efJ54Q06tOcA+bz+TwrqF0xf/nsx/WfFJtp//FK9LdvZWtHbTwykPllJ5HzfH6ikbyDRtx/T5LB+VFxSQi8s21hvWWMH7OwdaPasmcYOadMOHjrcqmKrtiGdjZEjRpCnpycNHzasSWKrThXYBAEQAAEQ6OIERo0cTkP570RIv75ka2tLWVnZtG3HDvrttz1UbRBWZ8iQwTRy+HAKDQtRwmxcfLx6wLd//wE9SkuXPkQBffy1afIILi8vj1KSU2jj5l8pNSWNbHjmyVNPPkEuLs70zTff0rHjJ7T5ZWPBgpto5IjhdJTTV/Dx+szCwoJyue64uHMqSw8PD/L0MC6GBfj3UXnKKyopITGxQy+0uGD+jeTuXjOO+fNvoBdegNha3zXQ1ulVzq13e+/BDzyaavI5GT9uLD/8qNSKrYGBgXTX7+5QVT3/4st1PstNbUPyywOZsWNG82fWhUJZ3G1LsbU5/UUZEAABEAABEACBrkug9e7Gui4zk0a24tcsOngyl9544W9k+cXXVHHzYtr+8GKacu+ddM+tM+nma4vqrecPd4ylrH++Rj6nz9AF9mSd+OgDPC3dio6fiqX7ntlIcZcqybHe0g0feOvf79CZmNg6mfJzTfO2rVOwBQnPPf8CjeQf0PsP6P8IbkGVKAoCIAACINCFCIxh4eS2WxeqB41nzsSQA4eRCQnpRwtuupG8vbzpxx9Xa0c7ZPAguvuuO5WgE8+zNUTY6dc3mAZEhJO1jQ1F/RalzWtnZ0v29vaUxOJqYUEBEQuiAQF9yKdnTxLB9r0PP6a42LO0Y9cu1dbMmVfria1uLDKO4/A4IqRu2bJVW29jG9OmTqbrrru2sWzqeFJSCr319tsdwjvXWIerOIanxoQDDASaQqCntyfdcP11qsiL/3qFKg0enDSlLk1e8WS/e/F91KdPH34Y85smuV3fvXt68/eLJWWkpbVrP9A4CIAACIAACIBA2xJQYqv95R1t26o5W/MNMGdtZqtr0tAaOfSdr4/SXx95kJJYULTZvY+2FhbT5IfvJWen+uXSpC07yIanaRV99i5NHTFU9enIsWh66YPd5Otjxy+ig9ub11X5sXrgwMF6C8tCHp4eXlTKiyBkpKeTC4cgCA8Pp+KiIjoTG8vxTutO37ThH7Eh7EHgwD9co1nILeHFE/z8/GRmISUnXay3LWv2jojhH7OW1nU1f/F48PP3o/z8fIqLP0fFDcQHs7W3o4j+4cqjQepTP5zrbRUHQAAEQAAEOgMBfxZMblm4gApYDH3r38vocmam6ranlwf99em/0ORJV9G+ffsoJeUS+fTyodtvX0RlZWW0/P0PKTGBvULZvFk8/f0jS1gwvYFSUy/RufjzKl3z37p1G7TT38WTde7cuTRl8kS69eb59MKL/6I9vGDV1MmT+W+aL0UMjKDoUzXemzOmTeW/OVa0Z+8+/luZoamu3ncLqhEjBw8eorxco/bsrTevHAjw96eBAweQl483pbGXbUe0VSx0X3ftPKqoqKC1P6/viF1EnzooAblH9O7JN7O1Jtd7UVExpRkIkp7sBS73l0V8X9nYvaCmrjK+Tz13/gLJvWEx33Prmtzj9g8NY691G5VH852iydOLb7CtrWwpPSODyvm7JCg4kHr59OL1Bs5RWmrzPocys0y+K/773/+pZkawp35m5mVKuJCgaRbvIAACIAACIAACXZBAXZWrCw6yPYa0+qMH9JsdHE7EXq2m2LRH7q+TbdiQCFr5foQ23T/sA+22OTemTp5CL/zz73Q2Lp42bfqVljz0AE/F5GVt2RITL9Ijjz1OSRevCKjDhg+j1195mXr06KHyFPMN8f+++IoefOA+JdiOmzBJpRv775m/PKWN4/rSy6+oLHID/vw/n6OhQ4ZoixSy0CvxZD///AttmmZj0qSJtJhjgcmUMbE8XsX56b8+S3sa+SGrKY93EAABEACBjkkgMjJC/f3ZtTtKK7RKTy9nZtHp09EkMUPDwsKU2BrJwqStrQ3t2LlLK7RKXnlouH3HLrp23jU0KDKyjtgqeTRWXl5BW7ZuVSKul5cXiTAjYs36X36hO1nInX311UpslYeQY8eNoXIWGX/ZuElT3KR3K2tLFa5g4y8NlxvLU65FbLVh4aej2smTp0heMBBoKoEv//cfcnNz0xb7YeW3/PA9lm5bVHOfLPeCL7/0vIq9qslUyA/d31n2njYMgSbd8P3rLz9X94R/eeZZdR8rx2Vh1b8+/WdeXHW28kaXtCr2pF390xp6Wbxq2SNW7KP33yd/bvudZctp7jVz2DO+r0qXvB9/8hl9+NHHar8p/3351Td62eU++8TJkxBb9ahgBwRAAARAAAS6HgGIra10ThOGTmxWzc0t16zGGigUytM0fXlRj183byEXZ2eSqZwyxfKxRx+mJ5/6iyopHkPvL3tHxdATz6KovXspMCBACa0NVN3goX+/9Qb15Wmf0dFnaOOvv/KCCqEq3uxjjz5C6ew9tGHDL3rlH314KXsW7aVcDoMw8aoJJIuB/e3ZZ+jaG26iSv7h3FQL6x9Gw1joteUppsc5Dt+xY8dVFZGDItnj15OSk5OZxSgSUXnfvgNqv6ltID8IgAAIgEDjBPr41cRUvWDEA+yTT/+jV0Ef9owTkxkYhiYzHmTifgB7yjZm8uBOpsSLuKKZyXHo8BGazp6sgYEBJH8jIsL7kw3PyNi2fQfl5uQ2VmWDx+VvazjX9+WXX2kFnwYL4CAIdAECK75dScHBQTTz6hlqNF989TWlp6WrbfFI1YixJ1jM37VrNw0dOkTFfP3LU09QPMdhPsyfyabYa6+8RBPGj6dLl1Jp3YYN7K3qo9q+6cYbKI0fyHz88ad61f3+kYc55FaMEmMlBmyvXr3ogfvv5YcxW7Sxl/UKNLAj94zEM72ieWbZ7FlXs3OCu3rwIyFRVq/+qYGSOAQCIAACIAACINCZCUBs7cxnrxl9X/7uv9WPSN2iyRyzbv7Nt+gmqdWeH1r6KK+gXOO18giLmovvuYuGDa0JayCZ77n7d1qh9bY77qR89ioVe+z3j2oXPVAJJv4nngwitIo98+z/UULClSlWY0aPUguRGIqtr73+Jn373UpV5ioWW995+011E+3v66dXXmVo5L8RI4bR/Jtuoqg9e9SUNYkT6OTkRFE8jVR+yE+aOIEu8TSyY8eOUUjffvT4Hx6lZ/72HJWVlDZSMw6DAAiAAAg0lYCvr68qkp/feExxfw47I5abXVf8lIWvxDR51E7tf47sverqJgKrJQXxw8JJk2tmY8iUZfF0VcaxSdeuW08P3ncvzZs7R/2NKeHFKjdt3qxbVbO2bdgbdxgLSfb8gE8EZI2HXbMqa+NC4lk8b95cFpKq6ac1P2vDMbRxN9BcJyQgHqKy8J1GbBVPUs0D8gEcuirxYhKV82fw0ccf14YC+P67FeoecTJ/RpsitoqHujM7DYhw+9obb9LJEycVsSKeNbXw5gUcNmRyHbF167bt9OSfn1aLdkn57bxonoQeGDp0WJPFVnEaqObPyLETx9Wid+H9+1NObk6DYbY64SlFl0EABEAABEAABAwIQGw1ANLVdyUmVnl5md4wC3hqlqHl5xdohVY5dujwYSW2enj0ICuOayc3xUMGD1bFVq9ZqxVaJeHY8RpvUHWwCf+lZaSThAxwcnRUQu4nn/1XhSx4lgXN+kx3ca29+/drs/X06dkksVVWsL1l4ULlxSDiqlh5RTldPWO6Eltlv4RF1fc++FB5O+3mPC89/w+K4CmshitUS14YCIAACIBAywjI97KpZsmLSNZvNVOEjR2X8ACGlpqaSl+tWKGXLLFaJQ5k3+Aglb6eZ1kYxoPUK2Dizu5dv1EF/z2V2LQPcPidTz75j3rYaWLxds22YP6N5M4LhYnNn38DvfBCTTzbdu0UGu/0BI4ePUZ33b1YjUO8XCV2szPfFyZyCCt5IC9eqU0x+Zzes7gmPJd8p/hwebluMy9nqWp6c7xnQ9u7b78SWiVdyst6B4N4hlNPWeyqmSb17N2zj64aP4Eusph84ODhZtaEYiDw/+zdB5wV1b0H8P8uoBRBpYiCAiJ2ESwIdmNLXhITo4Ld2Asaa4waazSWxB57wd67okYTezQWBLvGigVQOihNYJc3M7jrLrvg7t67y5bvvM9yZ86cc2bOd3xx/XHuGQIECBAg0BAEhK0N4Snl8R6PP+HERb4ga2GXmj37x9mbhcmLPoqSil1/mHX05ZdfLqxZtcrTr2ye9ddz4ozTTsleupG+eCP9hTRdyuDBh4f+5CyAkq98phdt9sM6s1W9gRWSmbDpen+dOnWMX/zf9lmz9Jfx9OtezZPydEtnR5VcIw2bJ0+eEh2T+jYCBAgQyL/AN8k3Cdq1axdLZWtyf73IC4z+cnS0X2bZbB3IMWPGlKvbrt38QHB0stzNgls6221iFrrMy9b8/nrsN9kyNpHMZl1we/LJdB3zg7L1yJ9L1oat6bZky1ZxycUXVGi+evKXd4cddnCyXuRVFc7Vx4LiMkbp0gs2AvkSWG+9vjH4sENig/XXr9BlTf5ZS198dcRhg7OZtM2TJUCqu83+YZJCYTID3kaAAAECBAgQqIpA9X/jqEqv6kT3N6v2H2ILrtFa1XaxWsVfQOuafX4A2zZb0zVf105fypXOjE2/WrbNz36WzSRIly8YlLwZ+g9HHZt9hT9f1yrbzzLLzH9RQ/o1scLC+TOkvk9msj7/wovR/IfjsvXtEyBAgEDtCnyevJRxtdVWTZZx6RoffVh+LdZdBw2MNddcI/kq/9Px35f+G18ks956r7tO9OrVs8LX2XsmbxRPt1GjRlW44f/+95UK9StU+qGgZDmD77//PqflY+YVz02+ivzpj5dJgspeq/TMjj/68OP0zT0/nqvHew88+FD2F6NzkxeFDX308Xp8p26tIQmk/z+cLnnVsmXLeOrpZ5KlnV7Jvqn0+332TpZz2qzaQ0lfjnXlZZdFj+7d491kaax//fup+PB//4sNN9wwDkqWBrERIECAAAECBGpDQNhaG6pJnzsefG3Wc4tmBXHy4C2ib+/Vs+P3Xn8jJl2VfE1wvd6x9RHzv9ZU2S0UFRXF81cMiSXfeDvmbrFxLJ38Unj2lS/EnKKKs20qa18XZaOT2UPpG5v79dsw7n/gwZwv2SHpq1OHDvHd9Blx6623Zz/p170uuvD87IUke+25e62FrRMmjs/u/73kq6IffOCrkDk/TB0QIEAgR4EPP/xfbL/t1rHZppvGa8NeL12upl3yFvONNtowmjVrFl8mgWy6vZ/87/b//WL72GSTjWPY8NfjmzFjs/K07lY/2zJbM/Hd997Pyhb3H7OTb3FcfsX82asFybcw9k7+3ZZuTzzxr3jiyX8t7tur8vXfTWYFpz82AvkU2H777bOg9bPPRsYJJ51c+nX+X//qlzW6zLq9e2dB65w5c5IXvJ4UY8fO/9+Gjp2Wq1F/GhEgQIAAAQIEqiIgbK2KUg3qvPDmjFila7O46dxfxtprrJK9aOOFi6+MnrffG98mbzNebuv5L+GorOuSdUt/9oeD4vkbbouVLr0uRvcbFkf/fq845vyX45Ovi6J1ZQ3ruOylZEZQum5r+jbl9Cta6X/cpv/hWPLCg+reTp91e8cFfz8vpidryP5yh99m/2Gd/lL8xhtvZmFryezT6vZblfrpvX+avIwh/Y/1WbNmJv8B/2X29tv0RQa331F+7b6q9KcOAQIECOQm8Oknn8Vjjz8Rv/rlL+KPxx6dzEp7P1tWIP26fRq0pusqjkpmtKbbmORFj3fcdXcSXO4Rxxx5ZLYUQDrjco01Vs9ejjP00ccqzI7N7e6q3vqfSYCarjeZbcmLcspuu+46MNZff71kvfCh8dxzz5c9VVn1CucVEGioApOnzn9xXXr/7ZddNsaPm/+X3m2XapsNKf2m0bzk/9Kt03LLZX+xn+5XdxmBtm2XSptl/5tR0CzbzV529fPtt8sO0t9b63KbPGlStvZrun5sQ3ohXl0auRYBAgQIEGgMAsLWWnqKu23XPi44ZWC0Tr6+9OmHn8Sk40+PHsmacp8PPiBGtl0hXr/91bjy7PmzXRe8hePPvi/6r7tC/H7X7WKrA/aOTzfbOFol7VudfGZcccYJcc0/P4onHlqwVdWO/3bu2ZHOqllw+/Szz+LwI45csHiRx7ffeVfslnyVM31p1j133JH9h3CP7t1i+eWXX2S7hZ1MXzr1RRJydk/eCH3PXXfEy8lXx9q3bx8bD+ifNXn8n08urGleym+65dbYbddB8YcjBmezoMaPHx+33n5nXvrWCQECBAhUX+DfyVd+i5LQtE/fdWOTjQdkQcu0adPiyX/9q0I4OTx54Uy6pmK/DTeIddZZO1kSpjD5+vGXybrfz8bzz1cMMqt/NzVr8WQyY7V0W2Bt0xdf/G98nrx465VXXi2tUnZngeplTy32/dT417/+VST/woyHH3nUt0IW+xNpWDfwycefxNhx46JzEqTeNOT6eOPNNyN9IeqzyV86pC+MW2mlFeOxhx/Kfi9MZ6e2bt0qG2C35IVZ1dlGvPFGTE3W3F86Wf85/V01Xaoq/Yv0Dsk3qdItLW/brm3pzPnq9F2Tuq+89mrsucfucc7ZZ8UJJ55cky60IUCAAAECBBqAgLC1lh7SaUf+Ilol6009N+TW6HbZDVHco2t8d+1FMeT2N+Pxlz+I3205f43Qyi7//eyiOObC9+Lf//0qrjhzl1hl9V7R7f6bI50Zu8rRJ8bvBu0YT1TWsAplJW8OXrDq5CmTFyz6yeOZyQzU3+93QJx7zlmx9lprxYBkhmu6Jt6tt9+RzS4qrua6c7NnzYq99tkvTvnziUnAOiB2/O1vsnsYP35CXDfkhngwWR+uNrfvvv0urrtuSDbjoVnyAoVZM2eWXu6fyZun05+y23l/O7/soX0CBAgQqAWBZ559LtKfdO3F9P006Vu9F7YNS5YbSH/SFxum62+n/16pbLv44n9UVrzIsjHJC7aOPuaPi6xT3ZPpzNyS2bnVbbu46++y8++yt7qn97HzzjvGX//6weK+Jdf/QaBw2twoXqp2fsWfVJy+IjU/25VXXZOsm7p/rNi1axQV9846fe211+Kss8+No/5wRKywwvLJX+B3zv7y/b3338/WWO3Ro3syS7Xqs0InT5qc/f/t6aednC0nsOkmm8Tnn3+evIjuyvjL6adm1+y1yirZt6jyM6ryvdxyy23lCtLlqk4948xo0Xz+y1fLnXRAgAABAgQINBqBgm7rbjFvwpgvG+yAOnbpFgvef1r2zRflX6ZR5QFuc3s0f+GAKldfWMU9dtohfjN6bKz49nvx2X57ROEGG8Xh57wUX0+c/+KLNGwdcv5+UdkLsg44/sZ48PmpWdcrdCiMIWf+LAb0m/9L6DuvDY/bDzo6bps5fWGXXizl6ayAJVsuGRPGTYgT/nR8Nivh4+QFILvutkeN76dLlxUifUnVxOQrV/naKvvnJV99l+2nrq5T9pr2CRAgUJ8EWnbqHrPGf1Gfbmmx38uRRx6ezahLX/qzqK3biivG2muvFeeed37pGpOLqr+wc7X5DE479eTsmy3ptdN/T5911jkLu42cy+duMSTi6T1z7qfed5Cn30G/36ZjFG3afqHDnbTXopdH+nzz/1to2yHfTYsbZ+T3d9CuSdg6dvy4mFvmm1fp1/u7rLBCTJoyJfkLlvxcL303QLpNnDBhoeOr6Yl8/d6Xr35qOg7tCBAgQIAAgR8FcvkdtHb+2vvHe2uye3c8MDQ+SX5R3GLgTvFdUcv4x9H3JN+0K4iSlaEmTZwZLyfB6dg5c8sZjUnKJk38Jgrnzg9b03X8f3PI7XH03mvEmr06x+XX3Bgf1pOgtVmL5nH5pRdnL/V4JFkP77vkq53rrdc3fvHz+etgDR8xotzYqnuQziKyESBAgACBxiLw2rDhyfI7u8T//Xz7nxzS559/kVPQ+pMXyLHCA8m3TX6zw68jXRt36KOP59ib5vkUWPLZCTF7ypwoXjVZr3TJggpdP/rEUxXKyhbMmTO77GG2P6N4Xrz0/fcxtMy3fipUqmHB6NGjK7Scl3w7qrLyChWrUVAbIWs1Lq8qAQIECBAg0IQEhK21+LBfS35RfO3u+7IrLLnAdYa9GDHwxXsXKE0O9zooK2u5wJkrryqz5tsC5xbXYbduK8WqvVaN/qdtFH86/riYMWNG6RpYX3/9TVx19TWL69YWet15yX8sJK9XSH7Kv6RkoQ1qdKIgeXtubfZfo5vSiAABAgQWs8AryYzWjz/8KJZtv8wi72TO3KJsrcpFVlrMJ999971If2z1UCD5EtUSw5O/tE9/KtkOvflPlZQqykUgP79f+v0xl2egLQECBAgQqE8Cwtb69DQa2L2M/HRk7LrHXnFwst5W797rJC8zWCnSpQNeeeWVuPb6G2J6MtO1vm1z585O1vJbMvmqWuXr+OXjfrP+k+vYCBAgQIDAggLpV+7zuTzOgv07JkCg7gXy8ful3x/r/rm5IgECBAgQqC0BYWttyTaRftOvZJ173t8bzGhnTv822iy9bEyfOjkJXL9P7jufM1ALsiA37X/mtCkNxsSNEiBAgAABAgQI1Fwgt98v/f5Yc3ktCRAgQIBA/RQQttbP5+Kuaklg9vfpjNYp0abd0tG8+RLJm60rrmVW00unXyFLZzakQev869S0J+0IECBAgAABAgQaikAuv1/6/bGhPGX3SYAAAQIEqi7QoMPWgrkzqz5SNQmkAkkgOjt5uUP6YyNAgAABAgQIECCQs4DfL3Mm1AEBAgQIEGhMAoUNdTBp0FpYNKOh3r77JkCAAAECBAgQIECAAAECBAgQIECgkQnUati65VZbxv333R333XtXbLLppnmjK5g7XdCaN00dESBAgAABAgQIECBAgAABAgQIECCQD4FaDVtPOenEWLlHj+i58spx4p+Oy8f9xvygtfbeJJ+Xm9QJAQIECBAgQIAAAQIECBAgQIAAAQJNTqDWwtZWbVrFUm3blIJ26NA+0rJctvlLBwhaczHUlgABAgQIECBAgAABAgQIECBAgACB2hHI+wuy1luvb+y266DYcovNY4kllii961YtW8Wz//5XPPPcc3HnXffEO2+/U3quKjvWaK2KkjoECBAgQIAAAQIECBAgQIAAAQIECCwugbyGrfvss1ccfeQfsrFMmjQp3nzr7Rg1enR2vGLXrrFe3z7xi+23j59vt1387fwL45577q3SuAWtVWJSiQABAgQIECBAgAABAgQIECBAgACBxSiQt7D1qCRk/X0Sts6ZMzeuHzIkbrv9zpg5c2a5obVq1Sr22WfvOHD/fZM1XP8YbVq3iRtvuqlcHQcECBAgQIAAAQIECBAgQIAAAQIECBBoiAJ5WbN1r732LA1ajzv+hLju+hsqBK0pThq+XnPNtXHCSSdHUVFR/OGIw2KHHX71k27zmreK4matf7KeCgQIECBAgAABAgQIECBAgAABAgQIEFhcAjmHrZ06LxdHDD40u/+zzzkvXnzxxZ8cyzPPPBvnX3hxVu+4Y46ONu2W+sk2AtefJFKBAAECBAgQIECAAAECBAgQIECAAIHFKJBz2LrLzjtlL8J6773345GhQ6s8lHvuuy8+/viTaNeuXfzf9j+vUrv5gWvLKtVViQABAgQIECBAgAABAgQIECBAgAABAnUpkPOarZtuPCC737XXXitGvP5qje59s002jvvuu79Kbec1bxPFURiFRTOqVL8mlVp26l6TZtoQIECAAAECZQT8+7QMxmLabQzPYNpislscl20Mz2txuLkmAQIECBAgQCDfArn8Dppz2Nqz58o5j2fNtdasVh/ZDNekRW0FrrPGf1Gt+1GZAAECBAgQIECglgSq92tiLd1E3XTrd9C6cXYVAgQIECBAgMBPCuTwO2jOYesmm275k/dXGxVKAtfa6FufBAgQIECAAAECBAgQIECAAAECBAgQqK5ATmFrTZcNWNhNrr9h/4WdqrQ8DVxtBAgQIECAAAECBAgQIECAAAECBAgQqA8COb8gqz4Mwj0QIECAAAECBAgQIECAAAECBAgQIEBgcQvkNLO1ujNRF/dgXZ8AAQIECBAgQIAAAQIECBAgQIAAAQK1JWBma23J6pcAAQIECBAgQIAAAQIECBAgQIAAgSYlIGxtUo/bYAkQIECAAAECBAgQIECAAAECBAgQqC0BYWttyeqXAAECBAgQIECAAAECBAgQIECAAIEmJSBsbVKP22AJECBAgAABAgQIECBAgAABAgQIEKgtAWFrbcnqlwABAgQIECBAgAABAgQIECBAgACBJiUgbG1Sj9tgCRAgQIAAAQIECBAgQIAAAQIECBCoLQFha23J6pcAAQIECBAgQIAAAQIECBAgQIAAgSYlIGxtUo/bYAkQIECAAAECBAgQIECAAAECBAgQqC0BYWttyeqXAAECBAgQIECAAAECBAgQIECAAIEmJSBsbVKP22AJECBAgAABAgQIECBAgAABAgQIEKgtAWFrbcnqlwABAgQIECBAgAABAgQIECBAgACBJiUgbG1Sj9tgCRAgQIAAAQIECBAgQIAAAQIECBCoLQFha23J6pcAAQIECBAgQIAAAQIECBAgQIAAgSYlIGxtUo/bYAkQIECAAAECBAgQIECAAAECBAgQqC0BYWttyeqXAAECBAgQIECAAAECBAgQIECAAIEmJSBsbVKP22AJECBAgAABAgQIECBAgAABAgQIEKgtAWFrbcnqlwABAgQIECBAgAABAgQIECBAgACBJiUgbK2Dx91puU5xztlnxaBBu9TB1ap2ia1/tlVcdeVl0Xn5zlVroBYBAgQIECBAgAABAgQIECBAgAABAosUELYukic/J5dqu1T84ufbx7q9e+enwzz0stZaa0W/DTeM5Tsvn4fedEGAAAECBAgQIECAAAECBAgQIECAQHMETVPg8iuujBtvviWmT5vWNAGMmgABAgQIECBAgAABAgQIECBAgECeBcxszTNovrorKCyMNddaM/qsu260bNVqkd12XXGl2HjjAdG58/wlAZZtv2ykZYva2i29dCy77LLRfIkWpdW6du0aHZfrmB23WWqp6Ndvw1hnnbXL1SmtbIcAAQIECBAgQIAAAQIECBAgQIAAgXICZraW46gfB0ccPjh23vl3sXS7dtkNFRUVxTXXXh9Dbrwp5hUXl95ku3Zt4+9/Oy82SkLRku2JJ/8Vbdq0if4b9YsBm2xeUlzhc9/f7x377rN37LHnPvG/Dz/Mzt9x283x/gcfxGuvvR6HDz40CpPAN91GjRoVfzjq2Pjiiy+yY38QIECAAAECBAgQIECAAAECBAgQIFBRQNha0WSxlhyw/36x/36/j4cefiTuvue+aN68eey15+4x+LBDolXrVnHZZVeU3t85fz0rC1rve+DBeGToo9GxQ4fYZ+89o2+fPjF79uzSetXZSddxXa7TcnHGmX+N0WPGxK/+7xex0+92jKOP+kMcc+wfq9OVugQIECBAgAABAgQIECBAgAABAgSalMBiDFsLoqhZyyhu2TWKW7SPeYVLREHx7CicMykKZ42OZkWzkgcxr0k9jC5dumQzSv/z4ktx5llnl479pD+fEqv26hV77r5b3H//AzFmzNfZEgObbLJxPP/Cf+Kcc84rrfvqsNfj/rvviPbt25eWVWfnu2QN18F/ODLGfjM2a/bmm2/FNlv/LNbr27c63ahLgAABAgQIECBAgAABAgQIECBAoMkJLKY1W5OgtUWHKGrdK9r07B8r73RSrHP4kOwzPU7L0/MRBU3qgfTps2423vvue6DCuF948cVYYoklYoMNNsjOrdu7d/Y59NHHytWdOX16jBs3vlxZdQ5GjxpdGrSm7dJlC95+591Ilywou75rdfpUlwABAgQIECBAgAABAgQIECBAgEBTEFgsYWs6o7Wo5QrReYu9o9uOp0frrmsn1gXZZ3qclqfn03pNaeudvIwq3b5M1khdcHvppZeyou7dumWfXbqskH2O+frrBavm/bj4h3ViCwub5b1vHRIgQIAAAQIECBAgQIAAAQIECBBoLAKLJWxNlw5Yqse60WH9HSt1TMvT82m9prQVF89fNmGZH16MVXbss+fMzQ5nff999vn9D59t27YtW80+AQIECBAgQIAAAQIECBAgQIAAAQKLSWDxhK3JGq0d++2yyCGn59O1XJvS9sWXX2bD3XSzTSoMu+fKK2dl7777bvaZrtuabv379cs+/UGAAAECBAgQIECAAAECBAgQIECAwOIVWCxha/oyrNZd11rkyNPzab2mtP3npf/E7NmzY8sttoiCwh8fTYsWLWL3XQdl5957//2M5LXXXouioqLYZJMB5ep2Xr5zdOu2UlNiM1YCBAgQIECAAAECBAgQIECAAAEC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s2fPiXPO+3u122lAgAABAgQIECBAgAABAgQIECBAgACB+iCQ92UEnnrq6Uh/bAQIECBAgAABAgQIECBAgAABAgQIEGhKAnmf2dqU8IyVAAECBAgQIECAAAECBAgQIECAAAECJQLC1hIJnwQIECBAgAABAgQIECBAgAABAgQIEMhBQNiaA56mBAgQIECAAAECBAgQIECAAAECBAgQKBEQtpZI+CRAgAABAgQIECBAgAABAgQIECBAgEAOAsLWHPA0JUCAAAECBAgQIECAAAECBAgQIECAQImAsLVEwicBAgQIECBAgAABAgQIECBAgAABAgRyEBC25oCnKQECBAgQIECAAAECBAgQIECAAAECBEoEhK0lEj4JECBAgAABAgQIECBAgAABAgQIECCQg4CwNQc8TQkQIECAAAECBAgQIECAAAECBAgQIFAiIGwtkfBJgAABAgQIECBAgAABAgQIECBAgACBHASErTngaUqAAAECBAgQIECAAAECBAgQIECAAIESAWFriYRPAgQIECBAgAABAgQIECBAgAABAgQI5CAgbM0BT1MCBAgQIECAAAECBAgQIECAAAECBAiUCAhbSyR8EiBAgAABAgQIECBAgAABAgQIECBAIAcBYWsOeJoSIECAAAECBAgQIECAAAECBAgQIECgREDYWiLhkwABAgQIEDAj9PUAAEAASURBVCBAgAABAgQIECBAgAABAjkICFtzwNOUAAECBAgQIECAAAECBAgQIECAAAECJQLC1hIJnwQIECBAgAABAgQIECBAgAABAgQIEMhBQNiaA56mBAgQIECAAAECBAgQIECAAAECBAgQKBEQtpZI+CRAgAABAgQIECBAgAABAgQIECBAgEAOAsLWHPA0JUCAAAECBAgQIECAAAECBAgQIECAQImAsLVEwicBAgQIECBAgAABAgQIECBAgAABAgRyEBC25oCnKQECBAgQIECAAAECBAgQIECAAAECBEoEhK0lEj4JECBAgAABAgQIECBAgAABAgQIECCQg4CwNQc8TQkQIECAAAECBAgQIECAAAECBAgQIFAiIGwtkfBJgAABAgQIECBAgAABAgQIECBAgACBHASa59C2XNNBgwbGoQcfGI//88m4+JJLoqiouNz50oPCgtjhV7+MAQP6R+uWrWP4G2/EXffcE3NnzymtYocAAQIECBAgQIAA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EGhoAjmFrZddeVU23u49usfLL78Sd917T8ycXj5kLQsyddLkOPjQwcmSApfFyj16xENDH4mzzjo3Inl5lo0AAQIECBAgQIAAAQIECBAgQIAAAQINWSCnsPXbqVPj7HPPq9b4x48bFzvvsmu12qhMgAABAgQIECBAgAABAgQIECBAgACB+i6Q05qt9X1w7o8AAQIECBAgQIAAAQIECBAgQIAAAQJ1JSBsrStp1yFAgAABAgQIECBAgAABAgQIECBAoFELCFsb9eM1OAIECBAgQIAAAQIECBAgQIAAAQIE6kpA2FpX0q5DgAABAgQIECBAgAABAgQIECBAgECjFhC2NurHa3AECBAgQIAAAQIECBAgQIAAAQIECNSVgLC1rqRdhwABAgQIECBAgAABAgQIECBAgACBRi0gbG3Uj9fgCBAgQIAAAQIECBAgQIAAAQIECBCoKwFha11Juw4BAgQIECBAgAABAgQIECBAgAABAo1aQNjaqB+vwREgQIAAAQIECBAgQIAAAQIECBAgUFcCwta6knYdAgQIECBAgAABAgQIECBAgAABAgQatYCwtVE/XoMjQIAAAQIECBAgQIAAAQIECBAgQKCuBIStdSXtOgQIECBAgAABAgQIECBAgAABAgQINGoBYWujfrwGR4AAAQIECBAgQIAAAQIECBAgQIBAXQkIW+tK2nUIECBAgAABAgQIECBAgAABAgQIEGjUAsLWRv14DY4AAQIECBAgQIAAAQIECBAgQIAAgboSELbWlbTrECBAgAABAgQIECBAgAABAgQIECDQqAWErY368RocAQIECBAgQIAAAQIECBAgQIAAAQJ1JSBsrStp1yFAgAABAgQIECBAgAABAgQIECBAoFELCFsb9eM1OAIECBAgQIAAAQIECBAgQIAAAQIE6kpA2FpX0q5DgAABAgQIECBAgAABAgQIECBAgECjFhC2NurHa3AECBAgQIAAAQIECBAgQIAAAQIECNSVgLC1rqRdhwABAgQIECBAgAABAgQIECBAgACBRi0gbG3Uj9fgCBAgQIAAAQIECBAgQIAAAQIECBCoKwFha11Juw4BAgQIECBAgAABAgQIECBAgAABAo1aQNjaqB+vwREgQIAAAQIECBAgQIAAAQIECBAgUFcCwta6knYdAgQIECBAgAABAgQIECBAgAABAgQatUDz2hrd8X88Nnbfbddy3d9x591xwYUXlStzQIAAAQIECBAgQIAAAQIECBAgQIAAgcYgkLeZrZ2X7xwrr7xyqckyyyxTul+y065du5LdrG6nzsuVHtshQIAAAQIECBAgQIAAAQIECBAgQIBAQxbIS9jaZfkucdOQ6+PmG4fExhtvHM1aFEaXLitkLkcceUwccdSx2X7Xrl2yc5tttlncctMNccsNQyJtW9OtYO7MmjbVjgABAgQIECBAgAABAgQIECBAgAABAnkVyHkZgW4rrRTXXXtVdOrUKbuxKy67JMZPmBCdOnbMjqd+OzUKCwqy/fX69onHH3mktG6bNq3jhhuuiQMPGRyjvvqqWgNLg9bCohnVaqMyAQIECBAgQIAAAQIECBAgQIAAAQIEaksgp5mt3Xt0j+uvvyYLT//78qtx1933ZPeZBq1vvf1ODLnxpvhq1Oj4cvTobP/td94tDVrT9VtfeXVYLLfccjHkuqsj7auqW8Hc6YLWqmKpR4AAAQIECBAgQIAAAQIECBAgQIBAnQjkNLO1xRJLRDo7Nd0++fSTuOSSf8RHH30S06ZPi6eeerrcAK644qrseNttt4nWrVrHI0OHxjHHHBUD+veLpZZqE2lfVdnmB62zqlJVHQIECBAgQIAAAQIECBAgQIAAAQIECNSZQE5h6ycffRynnnZmXPD3c2OfvfaM9957Px56+OHs5rfZZusYuMtOsVG/ftnxq68Ni3vvva80hP359tvH3nvukZ079dQzIu3rp7b5SwcIWn/KyXkCBAgQIECAAAECBAgQIECAAAECBOpeIKewNb3dZ555JkYlywSs2LVr6SzXo486MvbZe89yo+m/Ub9If666+pq47vobonWbVtn5z7/4Mp559rlydSs7sEZrZSrKCBAgQIAAAQIECBAgQIAAAQIECBCoLwI1DluPPvrIaL9s++jcuVMWtI4fPz6GPvZobLfdtqVB6zXXDYn77rsvG+tuuw2KA/bbLw479JB4591349FHH4vBhx4aPbp3i6uvujzGjZsQ48aPi8svv7KCjaC1AokCAgQIECBAgAABAgQIECBAgAABAgTqmUCNw9Z02YCy23PPvxBFc4pj//1+nxX//cKL4q7kJVgl2xVXXB0zp8+KI444LFk+YM945ZXXIm2z8047li41kNatLGwt6cMnAQIECBAgQIAAAQIECBAgQIAAAQIE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AAECBAjUVMDM1prKaUeAAAECBAgQINC4BFq0jei8aTamedO+ioIRZ5vR2riesNEQIECAAAECBGpdwMzWWid2AQIECBAgQIAAgQYhkCwVUDD8zIjJ70ezEX8VtDaIh+YmCRAgQIAAAQL1S8DM1vr1PNwNAQIECBAgQIDA4hSYMSYimdFavDjvwbUJECBAgAABAgQarICZrQ320blxAgQIECBAgAABAgQIECBAgAABAgTqk4CwtT49DfdCgAABAgQIECBAgAABAgQIECBAgECDFRC2NthH58YJECBAgAABAgQIECBAgAABAgQIEKhPAsLW+vQ03AsBAgQIECBAgAABAgQIECBAgAABAg1WIK8vyOrfv1/06dM3Zs6cEY8//s+YOHFSOZgOHdrHL3/5f9GqVesYNmxYvPHGm+XOOyBAgAABAgQIECBAgAABAgQIECBAgEBDFchL2NpzlZ5x/HHHRv+N+pU6HHrIQXHnXffEzbfcGgUFhbH/vr+PQYN2jpZLtszqHHrwgfHiSy/FxRf/I0Z+/nlpOzsECBAgQIAAAQIECBAgQIAAAQIECBBoiAI5ha3tll46/jD4sNhppx2TQLUgpkyZEg8+9Eis3KNHbLXVFlnAOnDnnaJZ82bROpnNmm5PP/NsjBo1On63429is003jY0HDIj77n8gLr/66pj+7bRqGRbMnVmt+ioTIECAAAECBAgQIECAAAECBAgQIECgtgRqHLYu36VzDLnm2lhhheVj7tyiuPPuu+P6ITfEd99+l93riSccH4MG7hJt27Ytvfdbb78jmcl6aXZ84823xMEHHhC7Dtol+RkYA5LQ9cCDDq6w9EBp4wV20qC1sGjGAqUOCRAgQIAAAQIECBAgQIAAAQIECBAgsHgEavyCrL123zMLWt9866343c4DsxA1DVr79u0Tt9x0Qxa0pkOa9t20mJGs4Zpue++5R1x37dXRe93e8e3UqXHBhRfFzrvsGm+/825077ZS7LXnnlm9n/qjYO50QetPITlPgAABAgQIECBAgAABAgQIECBAgECdCtQ4bO3UqWN2o3fceXeMHj06evbqGf+49KK44fprY5111o7vZ38fQ268KX712x3jlzv8Llm79baYPXtObLD+enHzDdfHRRecHyuvvHJ8+dVXccedd2V9pbNkf2qbH7TO+qlqzhMgQIAAAQIECBAgQIAA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RkaAAAECBAgQIECAAAECBAgQIECAQB0KCFvrENulCBAgQIAAAQIECBAgQIAAAQIECBBovALC1sb7bI2MAAECBAgQIECAAAECBAgQIECAAIE6FBC21iG2SxEgQIAAAQIECBAgQIAAAQIECBAg0HgFhK2N99kaGQECBAgQIECAAAECBAgQIECAAAECdSggbK1DbJciQIAAAQIECBAgQIAAAQIECBAgQKDxCghbG++zNTICBAgQIECAAAECBAgQIECAAAECBOpQQNhah9guRYAAAQIECBAgQIAAAQIECBAgQIBA4xUQtjbeZ2tkBAgQIECAAAECBAgQIECAAAECBAjUoYCwtQ6xXYoAAQIECBAgQIAAAQIECBAgQIAAgcYrIGxtvM/WyAgQIECAAAECBAgQIECAAAECBAgQqEMBYWsdYrsUAQIECBAgQIAAAQIECBAgQIAAAQKNV0DY2nifrZERIECAAAECBAgQIECAAAECBAgQIFCHAsLWOsR2KQIECBAgQIAAAQIECBAgQIAAAQIEGq+AsLXxPlsjI0CAAAECBAgQIECAAAECBAgQIECgDgWErXWI7VIECBAgQIAAAQIECBAgQIAAAQIECDReAWFr4322RkaAAAECBAgQIECAAAECBAgQIECAQB0KCFvrENulCBAgQIAAAQIECBAgQIAAAQIECBBovALC1sb7bI2MAAECBAgQIECAAAECBAgQIECAAIE6FMhr2Lp0+2XjL2ecHs889WT2c8YZp0bbdm2z4QzYuH+MeP3VCuV1OFaXIkCAAAECBAgQIECAAAECBAgQIECAQK0JNM9bz4UFccUlF8daa61Z2uVvfv3r6LbSSrH/AQfHsNeHxdix46Jz5+WibHlpZTsECBAgQIAAAQIECBAgQIAAAQIECBBowAJ5m9m62SabZkHrN9+MjZ9t/4vYJvkZP3589O3TJ/r12zCK5hTHiDfeKKUqKS8tsEOAAAECBAgQIECAAAECBAgQIECAAIEGLJC3sHXllbtnDP9++umYOmlyTE5+nnr6maxs1V69ss80iC27lZSXLbNPgAABAgQIECBAgAABAgQIECBAgACBhiiQt7D1448/zsa/3TbbxNLLLBMdOrSPbbfZOiv7+JNPss/ll+9czqikvFyhAwIECBAgQIAAAQIECBAgQIAAAQIECDRAgbyt2frKK6/FO++8G717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7L5btG3bNsaPHx+HDf5DTJw4qaQLnwQIECBAgAABAgQIECBAgAABAgQIEGiQAnkNWyeMGx977L13HHPkkbHLzjvFSSccn/1UJvPyy6/E2eeeF2PGfF3ZaWUECBAgQIAAAQIECBAgQIAAAQIECBBoUAJ5DVvTkaezWM8592/x8NBH4+fbbxd91103evToEcXFRTHy8y9ixIg34t9PPxP/++CDBgXlZgkQIECAAAECBAgQIECAAAECBAgQaMQCxXOS90y1yGmAeQ9bS+7mvXffi/THRoAAAQIECBAgQIAAAQIECBAgQIAAgXotMHdWsjTqitFxueXj1RxuNO8vyMrhXjQlQIAAAQIECBAgQIAAAQIECBAgQIBA3QrMnR3dVuwSm2y8cQx/892cri1szYlPYwIECBAgQIAAAQIECBAgQIAAAQIEGqxAFrQuH5tuumncef/QnIchbM2ZUAcECBAgQIAAAQIECBAgQIAAAQIECDQ4gbJB630PxRIFc2LFLp1zGoawNSc+jQkQIECAAAECBAgQIECAAAECBAgQaHACCwStLQqKYuDOO+U8DGFrzoQ6IECAAAECBAgQIECAAAECBAgQIECgwQhUErQO2mXnePGV4TFqzNichiFszYlPYwIECBAgQIAAAQIECBAgQIAAAQIEGozAQoLW/7z8Wnzx5Rc5D6N5zj3ogAABAgQIECBAgAABAgQIECBAgAABAvVdYBFB65dffBXdV1w+OndZMf6bwzjMbM0BT1MCBAgQIECAAAECBAgQIECAAAECBBqAwE8Erd2SoHXzLbaI10a8ndNghK058WlMgAABAgQIECBAgAABAgQIECBAgEC9FqhC0LpFErTeds9DOQ9D2JozoQ4IECBAgAABAgQIECBAgAABAgQIEKiXAlUNWu++P5ZoVhSr9+qR0zCErTnxaUyAAAECBAgQIECAAAECBAgQIECAQH0UaFZQHKuu0j0GDBgQd94/NFq2aBaDBu4cL74yPEaP+TpW69U9Nttss2xGa+sWBTHwdzvG1O+m5TQUYWtOfBoTIECAAAECBAgQIECAAAECBAgQIFAfBYrmFUbrpdrFPQ89nt3eMh06xrP/eSW+GDUm5p9bOu6475HsXPvlVoinXng5vhk7IaehNM+pdSNt3LJT90Y6MsMiQIAAAQIECDQsgdzmFTSssfodtGE9L3dLgAAB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ZmZk8GBO8aqst7cviZBpjx3av5ez1VBnju0romEpx5nN5hi4R45YitdaffZuO+HoUTUg2EgeTGzd2lVUWWQZgmL/7l1UyYKvhGMQr1mJGZuakkQH9u7RNtei05SkZFV/9x69OHxCV+UpnM1etvv37KIKFow1y2TBOIdjy/YfOEiFXNi54x8eWOu4oKMuLNSKuC5xZiUu7/atmyC0auAwBQEQAAEQAAEQAAEQAAEQAAEQAAEQAIEWJuAU1/+MmszkY43azJw5/0c3zbmBsnjE9MnTpqtQAl27dqFDhw+r7tCPP/IQ9etr8HbdsWMnPff88ypv125dWECLJzdXN/rtl58pkEexf/e99/nvA5vtsBWjNajzIDJvf2h0HKUmHLBZV70rJn5JtOLKerOYrxRxS8RBRy05MYl27drhaLFG55eu+C7s8ehIt3I3Nzd2Ta02EftsNcCNBUpxYtWHE7CVt6F0Lx7USR87taH89mxb7b90q9fFZLVWr3jjesj2a+OoWsvT0mmy/2XlpfV6BUueChakzcMrqHQWjZvjOLT0fqJ+EAABEAABEGiQQCOezRqsszVm4P2s/Ou+1tgytAkEQKCdEuj7yMZ2umfYLRAAgdZGYO+/JdSrv1dra1a97dm3eq3D+qBWYZM8W3ewR11xSbHyZn173ht097330aGDh9TyV59/SqEhIdp2aNy4sdSjxyd02ZWz6PChIzzokQ/NffUVJbRKHdv/sS062hJajZWf5Jnk48fIydmZ5J+9xronJYs34gk0EeUqWZxzxCo4rqu9pve+tLeMrXyOCK1Shz3bVvvfgNAqdUnYg5MptEob7Nl/W3lspUu9MBAAARAAARAAARAAARAAARAAARAAARAAgZYj0CSxdePGzXT17OvpjddepaFDBtM9d99Jzz77PN11551KaF21ag3Ne+tt1fp77r6DxoweTbdz2IH/vPCiyjtk8CBKTk6h2++8m45yN++2aiL0yWBOMBAAARAAARAAARAAARAAARAAARAAARAAARAAgVOXgP2umDYYSVzW739YpNZmZxtGTB8xYpha/s8LLygRVYTUF//7P5U2evQoNc3JMYzuvuD77xsUWmtcvajaxVuVw38gAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIg0BoJNFlsNeyUROqss+rawXycXeocZ6tqKlUGGUBJzIn/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AiAAAiAAAq2HQEs8gyJma+s5vmgJCIAACIAACIAACIAACIAACIAACIAACIAACIBAGyYAsbUNHzw0HQRAAARAAARAAARAAARAAARAAARAAARAAARAoPUQgNjaeo4FWgICIAACIAACIAACIAACIAACIAACIAACIAACINCGCUBsbcMHD00HARAAARAAARAAARAAARAAARAAARAAARAAARBoPQQgtraeY4GWgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAItGECEFvb8MFD00EABEAABEAABEAABEAABEAABEAABEAABEAABFoPAYitredYoCUgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAJtmADE1jZ88NB0EAABEAABEAABEAABEAABEAABEAABEAABEACB1kMAYmvrORZoCQiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQBsmALG1DR88NB0EQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQKD1EIDY2nqOBVoCAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiDQhglAbG3DBw9NBwEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQaD0EILa2nmOBloAACIAACIAACIAACIAACIAACIAACIAACIAACLRhAq5tuO0npOluHp7k6eVH7l7e5ObucUK2iY2AAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAi0LIGK8jIqLymm0pICqigrbZaNQWytB6NfYCi5e3pRYW4WleRlUWVNdT25sQoEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQKCtEHB1ciYXdrT0Dwqj8tISKsjNbHLTEUbABsKgkEiqqqqkrLTjVFZaDKHVBickgwAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgEBbJCCOlaL7if4nOqDogU01iK1WCIpHa1l5KRUX5BLVWMmAJBAAARAAARAAARAAARAAARAAARAAARAAARAAgfZBgPU/0QFFDxRdsCkGsdWMnsRoldABxYUstMJAAARAAARAAARAAARAAARAAARAAARAAARAAAROCQKiB4ouKPpgYw1iqxk5GQxLYrTCo9UMDBZBAARAAARAAARAAARAAARAAARAAARAAARAoD0TYA9X0QVFH2ysQWw1I+fu5U1VzTT6mFnVWAQBEAABEAABEAABEAAB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l8zWSs+c3CialdZo1dIBmtHKQOsourA8FQpQgAIUoAAFKEABClCAAv0QYLC1GzTNcF31IW8H7YaIb1GAAh4sEBAThIbiYg+eIadGAQpQgAIUoAAFKEABClCAAhQYXQJcIGt0XU+eDQUoQAEKUIACFKAABShAAQpQgAIUoAAFKDBMAgy2DhM8D0sBClCAAhSgAAUoQAEKUIACFKAABShAAQqMLgGWEXBxPQNiUl1s5SYKUIACI0+Av89G3jXjjClAAQpQgAIUoAAFKECBoRGIiAobmgPxKCNQoLXfc2aw1QVdQ3GOi63cRAEKUGBkCWiglb/PRtY142wpQAEKUIACFKAABShAgaER0P8vVZRVDc3BeJQRJxASF9rvObOMQL/puCMFKEABClCAAhSgAAUoQAEKUIACFKAABShAgXYBBlvbLfiMAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoEC/BRhs7Tcdd6QABShAAQpQgAIUoAAFKEABClCAAhSgAAUo0C7AYGu7BZ9RgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFOi3AIOt/abjjhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAF2gUYbG234DMKUIACFKAABShAAQpQgAIUoAAFKEABClCAAv0WYLC133TckQIUoAAFKEABClCAAhSgAAUoQAEKUIACFKBAuwCDre0WfEYBClCAAhSgAAUoQAEKUIACFKAABShAAQpQoN8CDLb2m447UoACFKAABShAAQpQgAIUoAAFKEABClCAAhRoF2Cwtd2CzyhAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEK9FuAwdZ+03FHClCAAhSgAAUoQAEKUIACFKAABShAAQpQgALtAgy2tlvwGQUoQAEKUIACFKAABShAAQpQgAIUoAAFKECBfgsw2NpvOu5IAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUKBdgMHWdgs+owAFKEABClCAAhSgAAUoQAEKUIACFKAABSjQbwEGW/tNxx0pQAEKUIACFKAABShAAQpQgAIUoAAFKEABCrQLMNjabsFnFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAX6LcBga7/puCMFKEABClCAAhSgAAUoQAEKUIACFKAABShAgXYBBlvbLfiMAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoEC/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KEABClCAAhSgQAsCDLa2AMPdFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAXaIsBga1u02JcCFKAABShAAQpQgAIUoAAFKEABClCAAhSgQAsCDLa2AMPdFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAXaIsBga1u02JcCFKAABShAAQpQgAIUoAAFKEABClCAAhSgQAsCDLa2AMPdFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAXaIsBga1u02JcCFKAABShAAQpQgAIUoAAFKEABClCAAhSgQAsCDLa2AMPdFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAXaIsBga1u02JcCFKAABShAAQpQgAIUoAAFKEABClCAAhSgQAsCDLa2AMPdFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAXaIsBga1u02JcCFKAABShAAQpQgAIUoAAFKEABClCAAhSgQAsCDLa2AMPdFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAXaIsBga1u02JcCFKAABShAAQpQgAIUoAAFKEABClCAAhSgQAsCDLa2AMPdFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAXaIuDSls4nSl+PkJgT5VJ5nRSgwHEuwN9nx/kHzMujAAUoQAEKUIACFKAABdotEBDk1+5jeeDxLlDX7gtksLUZusqctGb2chcFKECB7iWgAq38fda9PjPOlgIUoAAFKEABClCAAhToGAH176XC/OKOORnP0u0EfMJ82z1nlhFoNx0PpAAFKEABClCAAhSgAAUoQAEKUIACFKAABSjQIMBga4MFtyhAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKtFuAwdZ20/FAClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAINAgy2NlhwiwIUoAAFKEABClCAAhSgAAUoQAEKUIACFKBAuwUYbG03HQ+kAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKNAgwGBrgwW3KEABClCAAhSgAAUoQAEKUIACFKAABShAAQq0W4DB1nbT8UAKUIACFKAABShAAQpQgAIUoAAFKEABClCAAg0CDLY2WHCLAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoEC7BRhsbTcdD6QABShAAQpQgAIUoAAFKEABClCAAhSgAAUo0CDAYGuDBbcoQAEK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" class="kg-image" alt loading="lazy"></figure><ul><li><strong>Cross-project Duplicity Linking</strong> </li></ul><p>This method completely automates the sync process, creating a tight connection between duplicates. Once connected, you don't have to think about it ever again. For teams whose iOS and Android apps don’t grow at the same pace, this is the best option long-term.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/03/Captura-de-pantalla-2026-03-26-a-las-13.50.43.png" class="kg-image" alt loading="lazy" width="2000" height="499" srcset="https://ghost.localazy.com/content/images/size/w600/2026/03/Captura-de-pantalla-2026-03-26-a-las-13.50.43.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/03/Captura-de-pantalla-2026-03-26-a-las-13.50.43.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/03/Captura-de-pantalla-2026-03-26-a-las-13.50.43.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/03/Captura-de-pantalla-2026-03-26-a-las-13.50.43.png 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/03/Captura-de-pantalla-2026-03-26-a-las-13.50.54.png" class="kg-image" alt loading="lazy" width="2000" height="321" srcset="https://ghost.localazy.com/content/images/size/w600/2026/03/Captura-de-pantalla-2026-03-26-a-las-13.50.54.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/03/Captura-de-pantalla-2026-03-26-a-las-13.50.54.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/03/Captura-de-pantalla-2026-03-26-a-las-13.50.54.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/03/Captura-de-pantalla-2026-03-26-a-las-13.50.54.png 2400w" sizes="(min-width: 720px) 720px"></figure><blockquote>For instance, if you make a translation change in the iOS Project, Localazy will automatically update the Android version of that same text, and vice versa</blockquote><h3 id="why-this-works-better">Why this works better <a class="markdownit-header-anchor" href="#why-this-works-better">🔗</a></h3><p>Taking the independent path has its own merits:</p><ul><li>Everyone knows where strings live.</li><li>Translators only see strings that actually show up in the app they’re working on.</li><li>Each platform can develop at its own pace.</li><li>Debugging becomes much simpler.</li><li>No manual intervention is required.</li></ul><h2 id="use-case-examples">📲 Use case examples <a class="markdownit-header-anchor" href="#use-case-examples">🔗</a></h2><p>If you're still unsure on what solution would be best for your use case, here are some examples for different industries and contexts.</p><h3 id="fitness-app-shared-ui-high-overlap">Fitness app: Shared UI, high overlap <a class="markdownit-header-anchor" href="#fitness-app-shared-ui-high-overlap">🔗</a></h3><p>On both iOS and Android, the main screens use the same wording for buttons and labels. The only real difference is that Android shows a couple of extra system permission prompts.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">☝️</div><div class="kg-callout-text"><strong>Best option: Method 1</strong>. With so many shared strings and minimal platform drift, this is a solid case for using one Localazy project, with format conversions doing the heavy lifting.</div></div><h3 id="news-app-mostly-shared-ui-but-one-platform-has-a-few-extras">News app: Mostly shared UI, but one platform has a few extras <a class="markdownit-header-anchor" href="#news-app-mostly-shared-ui-but-one-platform-has-a-few-extras">🔗</a></h3><p>In a news app, both iOS and Android will usually show the same basics: headlines, section names like “Sports” or “Business”, and the main category labels. Where things start to drift is when one platform gets a couple of bonus features (for example, iOS has “Saved Articles” and “Reader Mode”, while Android doesn’t).</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">☝️</div><div class="kg-callout-text"><strong>Best option: Method 2</strong>. You'll need a common strings project for all shared text and a platform-specific project for iOS with the extra UI strings.</div></div><h3 id="marketplace-app-mostly-non-shared-ui-different-features-and-roadmap-speeds">Marketplace app: Mostly non-shared UI, different features and roadmap speeds <a class="markdownit-header-anchor" href="#marketplace-app-mostly-non-shared-ui-different-features-and-roadmap-speeds">🔗</a></h3><p>Marketplace apps often diverge heavily. Maybe for the same product, its Android app focuses on seller tools, while its iOS counterpart leans more into order management and fulfillment. Resultantly, each platform ends up with its own identity, including unique screens, different roadmap priorities, and very little shared UI. </p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">☝️</div><div class="kg-callout-text"><strong>Best option: Method 3</strong>. Here, two fully independent projects powered by cross-project TM or Duplicity Linking make total sense.</div></div><h2 id="faqs">？FAQs <a class="markdownit-header-anchor" href="#faqs">🔗</a></h2><h3 id="can-i-start-with-one-project-and-move-to-two-later">Can I start with one project and move to two later? <a class="markdownit-header-anchor" href="#can-i-start-with-one-project-and-move-to-two-later">🔗</a></h3><p>Yes. You can later split your project into common and platform-specific ones as things grow.</p><h3 id="how-do-i-choose-between-one-project-with-rules-and-two-projects">How do I choose between “one project with rules” and “two projects”? <a class="markdownit-header-anchor" href="#how-do-i-choose-between-one-project-with-rules-and-two-projects">🔗</a></h3><p>If both platforms move in lockstep, stick to one project with rules. If the bigger app runs ahead and needs more freedom, go with two projects.</p><h3 id="can-using-multiple-localazy-projects-slow-down-mobile-app-localization">Can using multiple Localazy projects slow down mobile app localization? <a class="markdownit-header-anchor" href="#can-using-multiple-localazy-projects-slow-down-mobile-app-localization">🔗</a></h3><p>No, in fact, it's the complete opposite. Thanks to Translation Memory and Duplicity Linking, Localazy takes care of the shared stuff on its own. Translators end up seeing only what’s actually relevant to their platform, which usually makes the whole process faster.</p><h3 id="can-i-handle-android-localization-programmatically-with-localazy">Can I handle Android localization programmatically with Localazy? <a class="markdownit-header-anchor" href="#can-i-handle-android-localization-programmatically-with-localazy">🔗</a></h3><p>Yes. Use <a href="https://localazy.com/docs/cli/the-basics" rel="noopener noreferrer nofollow"><u>Localazy CLI</u></a> or the <a href="https://localazy.com/docs/android/localazy-gradle-plugin" rel="noopener noreferrer nofollow"><u>Android Localazy plugin</u></a> to automate uploads and downloads entirely. Use the plugin if your team is more comfortable staying in Gradle rather than dealing with separate CLI calls.</p><h3 id="should-i-connect-translation-memory-to-glossary">Should I connect Translation Memory to Glossary? <a class="markdownit-header-anchor" href="#should-i-connect-translation-memory-to-glossary">🔗</a></h3><p>If your setup grows beyond two projects (maybe you added a separate admin app or a lite version of your main Android app focusing on low-end devices), it makes sense to connect both to ensure important terms, like product names or UI labels, are kept consistent.</p><h2 id="a-final-note">💬 A final note <a class="markdownit-header-anchor" href="#a-final-note">🔗</a></h2><p>Working on mobile app localization across iOS and Android can look overwhelming, but it really doesn’t have to be. With a bit of upfront i18n structure, plus format conversions, Translation Memory, and some cross-project automation, Localazy handles most of the heavy lifting for you. <a href="https://localazy.com/login">Try it today</a> and <a href="https://localazy.com/contact">contact the support team</a> if any questions arise.</p>]]></content:encoded>
            <author>Dasun Nirmitha</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/01/manage-android-and-ios.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[i18n technical debt: What we wish more teams knew (and how to get out of it)]]></title>
            <link>https://localazy.com/blog/technical-debt-in-i18n-why-building-for-localization-from-day-one-pays-off</link>
            <guid isPermaLink="false">technical-debt-in-i18n-why-building-for-localization-from-day-one-pays-off</guid>
            <pubDate>Thu, 05 Mar 2026 07:03:00 GMT</pubDate>
            <description><![CDATA[Every feature you ship without internationalization multiplies the cost of fixing it later. For SaaS companies, this blocks entire markets before they can actually enter them. That's why you should include it right from the start... but if you're already in the hole, don't despair: it can be fixed.]]></description>
            <content:encoded><![CDATA[<div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><em>Article co-authored with localization engineering leader <a href="https://www.linkedin.com/in/remi-j-auxenfans/"><strong>Rémi Auxenfans</strong></a>.</em></div></div><p>I've spent years advising development teams on internationalization, and one pattern keeps repeating:<strong> teams discover the cost of postponing i18n work far too late</strong>. The experience of my fellow member at the <u><a href="https://www.langops.institute/" rel="noopener noreferrer nofollow">LangOps Institute</a></u>, <strong>Rémi Auxenfans</strong>, captures the problem better than anything I could describe:</p><blockquote>"Over 20 years building localization infrastructure at one of Canada's largest software companies taught me a lot. And two projects in particular stick with me because they perfectly show what’s at stake. In both cases, development teams faced the same challenge: <em>launch internationally within six months</em>. The outcomes couldn’t have been more different.<br><br>The first team had postponed internationalization for years. When expansion arrived, they discovered hundreds of hard-coded strings, UI components sized only for English, and date logic locked to one locale. The system rebuild consumed months, translators billed extra for fixing inconsistencies, developers spent weeks fixing bugs buried in years-old code… and launch postponement became inevitable.<br><br>The second team took a different path from the very beginning. They externalized strings immediately, designed flexible layouts, and introduced pseudo-localization before real translations existed. When launch came, multilingual versions shipped alongside English without any emergency fixes and delays. There was just one difference between both teams: <strong>the second treated internationalization as infrastructure</strong> rather than something that could wait."</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/AdobeStock_511120486.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/AdobeStock_511120486.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/AdobeStock_511120486.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/AdobeStock_511120486.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/AdobeStock_511120486.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="internationalize-even-when-youre-not-ready-to-localize">☝️ Internationalize even when you’re not ready to localize <a class="markdownit-header-anchor" href="#internationalize-even-when-youre-not-ready-to-localize">🔗</a></h2><p>Let's clear up a common misconception: <a href="https://localazy.com/dictionary/localization">localization</a> and <a href="https://localazy.com/dictionary/internationalization">internationalization</a> are not the same thing. While localization is the output your users ultimately interact with (translated content, adapted formats, and culturally appropriate messaging), internationalization represents <strong>the infrastructure that makes localization possible</strong>. It's what developers build.</p><p>This is why you can't localize a product that hasn't been internationalized, but you can internationalize a product you don't plan to localize yet. And that's exactly where you save money in the long run.</p><p>When you internationalize from day one, you're preparing your codebase to support multiple languages and regions <strong>even if you only ship in English initially</strong>. Basically, when you skip this step, you're building a house without a foundation for the second floor you'll eventually need. 😬🏗️</p><blockquote>You can't localize a product that hasn't been internationalized, but you can internationalize a product you don't plan to localize yet. That's where you save money in the long run</blockquote><h3 id="why-internationalization-debt-isnt-just-tech-debt">Why internationalization debt isn’t "just" tech debt <a class="markdownit-header-anchor" href="#why-internationalization-debt-isnt-just-tech-debt">🔗</a></h3><p>Once you understand that internationalization is the cornerstone and localization is the layer that sits on top, the difference becomes clear. With regular technical debt, you're improving something that already works. You might take shortcuts in the dev process to ship faster, knowing you'll tidy things up later.</p><p>Internationalization debt is different. You're not making something work better. <strong>You're making something work for entire populations who currently can't use your product at all</strong>. And <a href="https://hilaryan.substack.com/p/position-i18n-as-forever-roi-how">the cost of catching up</a> grows faster than most teams expect.</p><p>I usually ask development teams a question that makes them uncomfortable: </p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text">"<em>Your codebase right now is 200,000 lines of code. When it grows to 800,000 (or a million), will you be able to afford refactoring everything?</em>"</div></div><p>I'm not being rhetorical. I ask because I've seen what happens <a href="https://www.sei.cmu.edu/blog/managing-the-consequences-of-technical-debt-5-stories-from-the-field/">when teams finally face that reality</a>. Everything seems manageable at first, and a few hundred code updates might seem like a week of work. 🤷🏽‍♂️ But those updates don't stay contained. They spread across years of feature development, buried in modules developers wrote and forgot about long ago. And <strong>as the work multiplies, what looked like straightforward cleanup becomes months of rebuilds</strong> that touch every corner of your product and blocks everything else your team needs to ship.</p><h3 id="postponing-i18n-is-a-market-blocker-for-saas">Postponing i18n is a market blocker for SaaS <a class="markdownit-header-anchor" href="#postponing-i18n-is-a-market-blocker-for-saas">🔗</a></h3><p>No business environment makes the impact of internationalization debt more visible than SaaS, where it directly affects the entire business model. SaaS products live and die by seamless user experience. When someone signs up, <strong>they expect everything to simply work for them</strong>, regardless of their language or region. If it doesn’t, you lose something more than a single customer: you lose credibility in an entire market.</p><p>This happens more often than you'd think. I've tested apps in Arabic that looked polished in English but became completely unusable the moment I switched languages. This didn't happen because of bad translations… the interface<em> literally collapsed</em> when text spilled off screen, navigation broke, and buttons shifted out of view. The product simply wasn't built to handle anything beyond English, and as a result, <strong>that company doesn't exist in Arabic-speaking markets</strong>.</p><p>For SaaS specifically, internationalization debt creates various challenges:</p><ul><li><strong>Releases become nightmares</strong>: Every feature you ship needs to work in every language you support. If your infrastructure wasn't built for this, each release becomes a localization project instead of a deployment.</li><li><strong>Users expect real-time updates</strong>:<strong> </strong>Automated translations, even when occasionally flawed, create more trust than delayed "perfect" translations that leave users behind. But automated translation only works when your system can handle it.</li><li><strong>Every friction point multiplies</strong>: Poor translations might get a shrug, but poor internationalization breaks the product. That's when support tickets pile up, eating resources and slowing teams down at every touchpoint.</li></ul><blockquote>Postponed i18n creates structural problems that become harder and more expensive to unwind later. These issues usually appear small and isolated, but they compound as your product expands</blockquote><p><strong>By the time you're ready to 'fix' internationalization, you've already capped your growth</strong>. But what exactly falls apart when you skip it?</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/AdobeStock_106649295.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1331" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/AdobeStock_106649295.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/AdobeStock_106649295.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/AdobeStock_106649295.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/AdobeStock_106649295.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="3-common-i18n-tech-debt-horror-stories">👻 3 common i18n tech debt horror stories <a class="markdownit-header-anchor" href="#3-common-i18n-tech-debt-horror-stories">🔗</a></h2><p>My colleague Rémi has identified three specific technical patterns that create the most pain for development teams. These examples stem from real issues he's encountered repeatedly while building localization infrastructure for products serving 24 languages:</p><h3 id="1-hard-coded-strings-buried-in-codebases">1. Hard-coded strings buried in codebases <a class="markdownit-header-anchor" href="#1-hard-coded-strings-buried-in-codebases">🔗</a></h3><p>This is a classic i18n struggle. Rémi recounts that, during one project, his team discovered the login module alone contained mixed keys like <code>login.button</code>, <code>BTN_LOGIN</code>, and <code>auth.signinButton</code>. Each developer had followed a different pattern. Over time, this created nine separate "<em>Log in</em>" or "<em>Sign in</em>" strings across 14 languages. "Translators billed extra for repetitive content, QA flagged terminology mismatches in every release, and Japanese and German users began telling us they were confused", he says. "The interface language felt inconsistent to them, and they couldn't figure out why the same action had different labels depending on where they were in the application."</p><p>"This seemed harmless when the codebase was small. But imagine the refactoring required when that grows to a million lines… Multiply that shortcut by years of feature development = you end up with content scattered everywhere, impossible to extract cleanly when expansion finally arrives."</p><p>Once <strong>the company standardized the naming into a simple, predictable structure and merged duplicates</strong>, the results became concrete: fewer translation units, cleaner code reviews, and a measurable drop in global support incidents tied to inconsistent language.</p><h3 id="2-text-stitched-together-in-code-that-breaks-in-every-other-language">2. Text stitched together in code that breaks in every other language <a class="markdownit-header-anchor" href="#2-text-stitched-together-in-code-that-breaks-in-every-other-language">🔗</a></h3><p>English developers often write constructions like <code>"You have " + count + " new messages"</code>. It works in one language, but breaks in almost every other. The pattern simply becomes unmaintainable once <a href="https://localazy.com/blog/pluralization-in-software-localization-beginners-guide">pluralization rules</a>, gender, and word order enter the picture.</p><p>"After <strong>converting these cases into proper message templates with parameters and locale-specific plural logic</strong>, the team saw immediate improvements: translator escalations stopped, layout inconsistencies disappeared, and last-minute requests to 'shorten' text for UI constraints became very rare", says Rémi.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/AdobeStock_680143011.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/AdobeStock_680143011.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/AdobeStock_680143011.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/AdobeStock_680143011.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/AdobeStock_680143011.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-architecture-that-assumes-one-language">3. Architecture that assumes one language <a class="markdownit-header-anchor" href="#3-architecture-that-assumes-one-language">🔗</a></h3><p>The third common problem is companies building their entire systems around assumptions that only work for English. This includes module and component interactions, as well as reading direction. This was the case of a settings panel he worked with, which had pixel-fixed widths for buttons and labels. "It was beautiful in English, but completely broken in German and Arabic", Rémi recalls.</p><p>To avoid costly one-off fixes, <strong>the company introduced pseudo-localization </strong>for the next sprint: "Things got way easier then because designers could suddenly see expansion, diacritics, and mirrored layouts in their prototypes before translators touched any files. Everyone involved was relieved they could catch layout issues during design rather than QA. It was a single, small change that shifted the development culture and changed everyone's routines for the better."</p><blockquote>Companies tend to build their entire systems around assumptions that only work in English. This leads to problems with UX components and reading direction later on. Prototyping early avoids the problem</blockquote><h2 id="the-excuses-we-hear-about-early-internationalization">🤦🏽 The excuses we hear about early internationalization <a class="markdownit-header-anchor" href="#the-excuses-we-hear-about-early-internationalization">🔗</a></h2><p>Teams of every size and stage use surprisingly consistent reasoning to postpone internationalization. We hear these frequently:</p><h3 id="were-focused-on-our-local-market-right-now">"We're focused on our local market right now" <a class="markdownit-header-anchor" href="#were-focused-on-our-local-market-right-now">🔗</a></h3><p>Fair point. But even "local" markets have international users. A Spanish SaaS product will attract immigrants, tourists, and international employees working in Spain. <strong>You're already serving multiple languages without realizing it yet</strong>.</p><p>More importantly, focusing on your local market doesn't mean you'll stay there forever. No one builds a product thinking, "I will never leave this country." Even if your plan is not to expand now, you need to prepare for it. You need to put it in your product plan. Every decision you make going forward should consider how it affects internationalization.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-text"><strong>Rémi's tip</strong>: <em>"Don't push i18n to the side for when the going gets "better": think about it now, because once you start thinking about how localization and internationalization affect your product, it will be a completely different thing."</em></div></div><h3 id="we-dont-have-the-budget">"We don’t have the budget" <a class="markdownit-header-anchor" href="#we-dont-have-the-budget">🔗</a></h3><p>This one is <a href="https://localazy.com/blog/mythbusters-we-dont-have-the-budget-for-localization">extremely common</a>. What I usually say is that, although you might object with insufficient resources, you actually can't afford not to look into this now, because <strong>you won't be able to afford it later</strong>. It's just going to be too expensive, and/or will have consequences in your team's capacity and resources (imagine having to face a whole structural revamp of bigger architecture when you finally decide to localize).</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-text"><strong>Rémi's tip</strong>: <em>"The budget you don't have today becomes the budget you definitely won't want to spend later when the costs multiply. What feels like a manageable refactoring project now becomes months of restructuring work that blocks other development. The math is simple: pay a small cost now or pay an exponentially larger cost later."</em></div></div><h3 id="our-developers-are-overloaded-with-features-and-bugs">"Our developers are overloaded with features and bugs" <a class="markdownit-header-anchor" href="#our-developers-are-overloaded-with-features-and-bugs">🔗</a></h3><p>Sure. Every startup is resource-constrained. You're under pressure, releasing new things, fixing bugs, doing things all the time. It's understandable that you may not have the capacity to do it straight away.</p><p>But just as you do with everything else in your software stack and in your product plan, you need to weigh out the pros and cons of not doing it now versus spending some time on it to save yourself in the future. It's like preparation for anything. Would you prepare for a camping trip by getting all the stuff you need beforehand, or just figure things out when you get there?</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-text"><strong>Rémi's tip</strong>: <em>"You're strapped for resources. I get it: it's difficult to get time for this kind of work. But such is the nature of startups. You have to listen to people who have been through it before and understand that the cost of not doing this now is going to be very expensive later on."</em></div></div><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/AdobeStock_516314331.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/AdobeStock_516314331.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/AdobeStock_516314331.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/AdobeStock_516314331.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/AdobeStock_516314331.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="were-not-going-international-so-why-bother">"We're not going international, so why bother?" <a class="markdownit-header-anchor" href="#were-not-going-international-so-why-bother">🔗</a></h3><p>If that's where you want to stay and that's your sole focus, then genuinely don't bother. But honestly, <strong>if you ran a business, would you really plan to stay in one country forever?</strong></p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-text"><strong>Rémi's tip</strong>: <em>"Every company I've worked with that said 'we're staying local' eventually expanded. The ones who prepared succeeded quickly. The ones who didn't faced painful, expensive migrations."</em></div></div><h2 id="questions-you-should-ask-before-deciding">💭 Questions you should ask before deciding <a class="markdownit-header-anchor" href="#questions-you-should-ask-before-deciding">🔗</a></h2><p>If you've worked through the common objections and still aren't sure whether internationalization should be a priority, a few simple questions can clarify your direction.</p><h3 id="1-whats-your-long-term-growth-plan">1. What’s your long-term growth plan? <a class="markdownit-header-anchor" href="#1-whats-your-long-term-growth-plan">🔗</a></h3><p>Every team says they want to grow, even if they're "focused on the local market" for now. <strong>If your roadmap includes expansion beyond your current country, </strong>even if it's two years away,<strong> you need the infrastructure that makes that expansion possible</strong>. Good UX in other languages starts in how you build the product today.</p><p>Do you envision going outside of your current market? If yes, then the answer is you have to internationalize. The same way you're building the user experience in the source language, the same way you have to do it for others. Otherwise you won't exist in those markets.</p><h3 id="2-can-you-afford-the-scaling-cost">2. Can you afford the scaling cost? <a class="markdownit-header-anchor" href="#2-can-you-afford-the-scaling-cost">🔗</a></h3><p>Your codebase won't stay small. It might feel manageable now, but it usually becomes way more complex as you add features, components, and contributors. You can always internationalize later, but refactoring costs escalate with every update.</p><p>Think about your product roadmap for the next two years. Every module, every component you build today either makes future internationalization easier or considerably harder. If it doesn't have proper internationalization, then every time you try to implement a new feature in the languages you want to support, you will come across problems.</p><h3 id="3-how-much-rework-are-you-willing-to-accept">3. How much rework are you willing to accept? <a class="markdownit-header-anchor" href="#3-how-much-rework-are-you-willing-to-accept">🔗</a></h3><p>Teams <a href="https://localazy.com/blog/biggest-localization-myths-i-believed-as-a-software-developer">rarely enjoy</a> large-scale refactoring. If your honest answer is "<em>as little as possible</em>", then the most efficient move is building with internationalization in mind from the start. This way you avoid a potential months-long overhaul that freezes other development.</p><h2 id="what-to-do-if-you-already-have-the-debt">😣 What to do if you already have the debt <a class="markdownit-header-anchor" href="#what-to-do-if-you-already-have-the-debt">🔗</a></h2><p>If you've realized your product already carries internationalization debt, don't panic. Many teams learn this late, and <strong>it's still completely fixable</strong>. What matters now is approaching it methodically.</p><h3 id="1-understand-where-you-are">1. Understand where you are <a class="markdownit-header-anchor" href="#1-understand-where-you-are">🔗</a></h3><p>The first step is a cliché solution for solving such problems: understand what the problem is. You need to see where you are, what you have and what you don't have.</p><h3 id="2-set-a-specific-goal">2. Set a specific goal <a class="markdownit-header-anchor" href="#2-set-a-specific-goal">🔗</a></h3><p>Set a goal for yourself. Say "<em>I want to expand into these specific markets.</em>" <a href="https://localazy.com/blog/how-to-choose-the-right-languages-to-translate-to-when-expanding-globally/">Pick specific targets</a>. If you want to go to Japan, China, or Egypt, each of these countries has their own requirements and complications because of scripts and writing systems. When you pick specific targets, you get answers and <strong>you get a definition of what the specific challenges are</strong>.</p><p>Once you have those targets, think about what you need if you want to go there now. This question can be answered by someone in your network or by looking online for an expert in internationalization. There are lots of people who can do consultations for this, assess your situation, and give you advice on what can be done and where you can go. Or you can do reading in general. There are so many resources that explain the problems and challenges, like:</p><ul><li>This official<strong> <a href="https://fulmanski.pl/tutorials/wp-content/data/doc/computer_science_for_beginners/text_encodings/UnicodeStandard-12.0.pdf">Unicode standards guide</a></strong></li><li>The <a href=" Common Locale Data Repository (CLDR) "><strong>Unicode CLDR Project</strong></a></li><li>The <strong>complete <a href="https://formatjs.github.io/docs/react-intl/">React Intl docs</a></strong></li><li><strong><a href="https://www.jessym.com/articles/internationalizing-react-apps-with-formatjs">This article</a> about React i18n</strong> by <a href="https://www.linkedin.com/in/jessy-musoko/">Jessy Mussoko</a></li><li><a href="https://juliadiez.substack.com/p/building-globally-a-practical-i18n"><strong>This hands-on i18n guide</strong></a> by <a href="https://www.linkedin.com/in/juliadiezlopez/">Julia Díez</a></li><li><strong>This list with <a href="https://www.unicode.org/consortium/consort.html">Unicode Consortium specialists</a></strong> you can contact</li></ul><blockquote>Use whatever resources you have and see how far you can go. But if you get stuck quite early in the process, for whatever reason, then definitely engage a professional consultant</blockquote><h3 id="3-prioritize-by-impact">3. Prioritize by impact <a class="markdownit-header-anchor" href="#3-prioritize-by-impact">🔗</a></h3><p>Given the resources you probably have, you're not going to solve the problem straight away. But at least you can make it less problematic and consequently more manageable in the future.</p><p>Start with <strong>what directly blocks your goals, where it would make the most impact, and how to implement it</strong>. You don't have to go all in at once. For example: users can tolerate rough edges in settings screens, but they won’t tolerate a broken signup. Similarly, a bit awkward or unpolished text is likely to have a lower priority than poor navigation causing confusion and zero product adoption.</p><h3 id="4-baby-steps-are-enough">4. Baby steps are enough <a class="markdownit-header-anchor" href="#4-baby-steps-are-enough">🔗</a></h3><p>Start small, learn what works, identify what's difficult, and <strong>apply those lessons to the next piece</strong>. Bit by bit, build your understanding of what is required. The more you learn about it, the more you'll understand its importance, and the more it will affect your decision to say "o<em>kay, now that I know about this, we need to implement it as soon as possible.</em>"</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/AdobeStock_607079718.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1125" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/AdobeStock_607079718.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/AdobeStock_607079718.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/AdobeStock_607079718.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/AdobeStock_607079718.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="5-use-standard-solutions">5. Use standard solutions <a class="markdownit-header-anchor" href="#5-use-standard-solutions">🔗</a></h3><p>Everyone internationalizes eventually. It's either the hard way or the easy way. The solution is there. <strong>You don't have to reinvent the wheel</strong>. You don't have to recreate something specific for you. There are <a href="https://developers.google.com/international?hl=es-419">standardized solutions that everyone can use</a>.</p><p>You don't need to build internationalization infrastructure from scratch. You just need to be aware, have some prototypes, do some testing. Don't push it to production yet: just keep it there so you know. Spend an hour just learning about this and do a few things to see how it works.</p><h3 id="6-plan-like-any-feature">6. Plan like any feature <a class="markdownit-header-anchor" href="#6-plan-like-any-feature">🔗</a></h3><p>Plan it just like any of your features and any of the items on your product plan. Just plan it and see how it would work. Treat internationalization as infrastructure work that enables future features. <strong>Put it in your roadmap, assign capacity, set milestones, and track progress</strong>. Treat internationalization like the essential work it is, not as a side project developers tackle when they have spare time.</p><h2 id="start-with-structure-everything-else-follows">🦺 Start with structure, everything else follows <a class="markdownit-header-anchor" href="#start-with-structure-everything-else-follows">🔗</a></h2><p>I once spoke with a CTO whose video editing product served primarily English-speaking users. They chose not to translate their entire interface into Arabic or Hebrew, but they built their system to handle right-to-left subtitles from day one, because users from those markets needed to edit their own content. That single architectural decision meant they could serve customers in dozens of countries without limiting what those customers could create.</p><p>That's what internationalization enables. You don't have to support every language immediately. <strong>What you <em>do</em> need are systems that won't break when you add them</strong>. When that's done, adding languages becomes routine deployment, not a multi-month project. Expansion happens on your timeline, not when accumulated debt forces your hand.</p><p>The companies that succeed internationally are usually the ones who built foundations that made localization straightforward.</p>]]></content:encoded>
            <author>Kareem Alnassag</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/03/Local-expertise-5.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to translate XCstrings files with Localazy]]></title>
            <link>https://localazy.com/blog/how-to-translate-xcstrings-files-with-localazy</link>
            <guid isPermaLink="false">how-to-translate-xcstrings-files-with-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:27:25 GMT</pubDate>
            <description><![CDATA[Learn how to translate localizable XCstrings in your iOS app using Localazy. We walk you through the process of translating and updating your content, either manually or automatically.]]></description>
            <content:encoded><![CDATA[<p><strong><a href="https://localazy.com/integrations/xcstrings/">XCstrings</a> </strong>entered the stage in 2023 with <a href="https://developer.apple.com/xcode/">Xcode 15</a>, when Apple realized its .strings  desperately needed an overhaul. But, while the XCstrings file format simplifies keeping your iOS app’s translations in a single JSON file, <strong>you’re still stuck with the burden of manually adding and updating the translations</strong> for each language.</p><p>Enter Localazy, the modern translation management solution that allows you to translate XCstrings files with ease. And better yet, if you’re feeling lazy (pun intended), it lets you <strong>auto-translate XCstrings</strong> <strong>using the Localazy CLI or API</strong> as well.</p><p>Let’s take a step-by-step look at how to translate XCstrings files stored in an iOS app using Localazy.</p><h2 id="why-use-localazy-to-translate-xcstrings">🧐 Why use Localazy to translate XCstrings? <a class="markdownit-header-anchor" href="#why-use-localazy-to-translate-xcstrings">🔗</a></h2><p>Before diving into the tutorial, let’s see exactly why<em> </em>you should choose Localazy.</p><p>Even though XCstrings somewhat lowered the hassle of dealing with multiple languages, managing localized text usually means endless copy-pasting, manual edits, and even solving merge conflicts that arise.</p><p>With its <a href="https://localazy.com/blog/release-update-xcstrings-tmx-format-supported/?_gl=1*w8wgwm*_gcl_aw*R0NMLjE3NzIxMDQ2MzcuQ2p3S0NBaUEtX19NQmhBS0Vpd0FTQm1zQkFtMGtXMzM3N01QLVJ6TzBRUjRHZlg0TzVVaUI1YVVTWVZWVEtmR0xEazhqTWE2UHVjVTl4b0NNOVFRQXZEX0J3RQ..*_gcl_au*NjYzNjIyNTM4LjE3Njk0Mjk5MzQ.#xcode-string-catalogs-xcstrings">XCstrings built-in support</a>, Localazy lets you:</p><ul><li>Use the Localazy web app or CLI to upload your app’s .xcstrings files</li><li>Translate XCstrings files online using the Localazy editor</li><li>Use its translation memory and machine translation features</li><li>Update and translate new content (continuous localization) through Localazy CI/CD</li></ul><p>Localazy lets you focus on your iOS app development instead of making you google “translate xcstrings files” over and over.</p><h2 id="step-by-step-guide-translating-xcstrings-files-with-localazy">➡️ Step-by-step guide: Translating XCstrings files with Localazy <a class="markdownit-header-anchor" href="#step-by-step-guide-translating-xcstrings-files-with-localazy">🔗</a></h2><p>In this tutorial, we will create a simple iOS app from scratch to demonstrate the whole process.</p><h3 id="prerequisites">Prerequisites <a class="markdownit-header-anchor" href="#prerequisites">🔗</a></h3><p>Since XCstrings were introduced with Xcode 15, we’ll need to <strong>run Xcode 15 or higher</strong>. </p><h3 id="step-1-create-an-ios-app">Step 1: Create an iOS app <a class="markdownit-header-anchor" href="#step-1-create-an-ios-app">🔗</a></h3><p>First off, open Xcode and press <em>Create New Project</em>. For the template, choose <strong>App </strong>under the <strong>iOS</strong> tab. Then, give a <strong>Product Name </strong>(<em>MyAppToTranslate</em>) and an <strong>Organization Identifier</strong> of your choice. Also, set the <strong>Interface</strong> as the newer framework, <strong>SwiftUI</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/untitled.png" class="kg-image" alt loading="lazy" width="1600" height="1201" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/untitled.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/untitled.png 1000w, https://ghost.localazy.com/content/images/2026/02/untitled.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Leave the rest of the options as is and press <strong>Next </strong>&gt; <strong>Create</strong>.</p><p>Our project’s <strong>ContentView</strong> should already show a traditional “Hello, world!” text added to the app’s UI. But, why not replace it with something that feels closer to real app content we as devs usually deal with?</p><pre><code>Text("Welcome back, %@!")
Text("You have %d new message(s).")</code></pre><p>This content will help us later when showing how <strong>placeholders</strong> and <strong>plurals</strong> behave once localized.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/untitled-2.png" class="kg-image" alt loading="lazy" width="1600" height="968" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/untitled-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/untitled-2.png 1000w, https://ghost.localazy.com/content/images/2026/02/untitled-2.png 1600w" sizes="(min-width: 720px) 720px"></figure><h3 id="step-2-export-xcstrings-files-from-xcode">Step 2: Export XCstrings files from Xcode <a class="markdownit-header-anchor" href="#step-2-export-xcstrings-files-from-xcode">🔗</a></h3><p>Time to bring out the XCstring files:</p><ol><li>Go to <strong>Product</strong> &gt; <strong>Export Localizations</strong> and select your base language (usually English).</li></ol><figure class="kg-card kg-image-card"><img src="data:image/png;base64,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V9kuX/Xy6mt5m06bTXyXr3r5KM423ci+ynb5qpdXX8vbdNps4rt81ctHcbbpRvZVtstXvbz6Wt6m02YT3+WrXj6Ks003sq+yXb7q5dXX8jadNpv4Ll/18lGcbbqRfZXt8lUvr76Wt+m02cR3+aqXj+Js043sq2yXr3p59bW8TafNJr7LV718FGebbmRfZbt81curr+VtOm028V2+6uWjONt0I/sq2+WrXl59LW/TabOJ7/JVLx/F2aYb2VfZLl/18upreZtOm018l696+SjONt3Ivsp2+aqXV1/L23TabOID33aJevcPv/vW//37v///vP+P/tG3brXL0t9o7n+7PX+nPdyWcP/D/YvkHRPRKNf7Hy8v8cPH+x4zW0ePrN7/oFMuJ7b5sYewg6q/dXU1PzFqfuNUf+xpi3nl3n9hq19/TyU26MkPNz+23l2Zo4nOB9mh89GaGTjaBGjwOoAEnRcikLZfHfYV8FZdD1Dk+DEY4DwQdQatcfv86LDBH5121ptoHcv2OuDQMSD0J6f+Nb82yMxPLJ5t+dFDtAUij7GI8/n2/EK7GP2Tr7/++u0vffH1169fv/Zik60ePHywuv3B7dWHH364unPno9Wdu3dX9+/dW92/f7/9WcqDVVsUymN4PENBIAgEgSAQBIJAEAgCQSAIBIEgEASCQBC4OAhcuXJ11f6G7Ppp9ySra9eura5fv7566qmnVjduPL165plnVs8+++zq6rV21dJuZ+7du/fW3/8H3/zmN77xjafbPclvt97+env+wUGvuY/h/gXO/Qv3Oda5RKHOHQ3cSxXq3PHgg9z7HziP9z/EoV79qUPoIPNjg44c6Kjvym9c/ZrLofsn83t/RbxRfuS1/9bhkP2krxB5ia285kf/WMkOPtZGlOS0B+AAyxdA3RfciusXb9u111fgsYX0Re9gQY5djWEc8lYf6vympS8YH9vWilMc7PfJb2z98DGe+eG78te2E5NBW/OD38+255/71Cc/+dN/9I/+2PfcuHHje7n0fP/996fnvffemy5GHzwAklAQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEAQuLwJXr15rF6U3VrduPb+6efPm6rnnnltxkXrnzp1v/09/93/+gze+853/saHzt9rzP7SHyxTuZiA4T73L8bJTPRziDgdb7m28o/KOiTr3O9Qh7nmQwSHk5IDMaRle79KMXfWUa37jmQ/e50e2b/7af/xoD0Rbawxk1JGfGxLY89AggZPTpgqY5cqxpQ7wAgs3hrbqkFO27sunLhb6NtH6BVrGzphwfOAMPAcNNsbQVr+aXx0xzI9M31acyuggdJAxtKVe8xPvF9vz8//0l7/8wz/yI1/9ypWrV2598MEHqzfffKM9b04XpPfu3Zl+Q7TZhYJAEAgCQSAIBIEgEASCQBAIAkEgCASBIHCpEeCXytpvja5u37694pfK7t690y5Ir62efvrpmz/w2T/yvdeuXr/+7TfeeLmBxH/c+u+3p15eelfjHY53TNwVQd77UFcnR+8dEbyW0UHER05Oc8CRQXJ1fXuQKzMvdYmyba35zYF+V35s98lvXmPqY1seCxeUx5K8JPVFCFJ9KbwA5T3Y2DkI5ITFngf7OvgE3Xj4+DDIlHPTj9w4ym1XU00DWh9jIIf0s73ibH7r2OpLbPOQn3JtA+Vt+c35p9qfcPzkj//4j331s5/9/q+1i9Er77777uoP/uCfrLgknX9j1Ga0iKEgEASCQBAIAkEgCASBIBAEgkAQCAJBIAgEgQMEHk7/9OBHH33UfsHsvfbX8qermiuvvPJ9n3nphRdX3/r//vFz7TKVS9L/sz3exdT7H8vE6+9/sPcuCT1lqN7/UK/3P/p4fyT3Hgk9OamTr+ZHJ+lX83v/ZX44NMpPLGNMRu0HMvOT13yUIeuU9bXdyGoe6o+N6ot6bI04SNwDBYgA5Yv1JdFmHkFEjo0y/JS14voFUFaHL/a+PHjNX3Ogc/Bgg85fOa7+yKyb35hwiPz2y/xybYlBLO2o017bjg4fsdEf/jPt+efb5ehXXv3Mp7/Cheh3v/uH7flu+1MQ/h1fQoWCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBLYjwEXp/ek3Sh88eDj9e6Uvv/zSpz/xiRdW7T/gdKP5crn4++3hssU7nXr/Q9n7J+91sPV+R12946n3T9hVnfdEymqcZrpuQy2bw7y1reqMi67mJ4+5qj+yGocyJAaUa9u0R1b9xEQ5fo+NaOR5I1+MwMoFHA6IyL2URMZT+yPQ2OlTQUcOYQdhgwybOiCUoZfQI+/z4ysRl/ZgZ34HhTboan78zW9eZbYPbn7+bVTqPD/Ynj/15S9/+Wuf++z3/zCXo2+88e3p18Lz74w2ZEJBIAgEgSAQBIJAEAgCQSAIBIEgEASCQBA4IgIP23/kuv07pNNfueffKP3kyy99X/ubu/feeONN7mT+YXveaE9//+P9EPc1Ur3/8c7H+x3r+FUff8PT+ydiEcf41Ikxyl/jYGd+uPlqfmX6wdWbHxmP+Wsdf+uWm2hN6CoRw7b0ump3JmUAPA9EOwBDAAWJtlVw0UO+CIFEhq6v44sMe2PDrbfiJO/z8+Lxg+T6ITN/HYQ1v7Y1Pz72UT2xKPseKGNje1pxnb+2WXvyI2dS/tlPvfzyz33961+b/lo9vznKf5Apl6MNmVAQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEASOicD875M+aP8tlwfTb5K+8sqnX/n2H7zxXPv3Srmf+V/aw0Um90fUuduhDPdpxfX9j3dD3v947yTXFu79kPc/6ry4pO59E/7eHZlDe7n3SdQ35a9tJh7U57d/6LAnFo/25q+xKNsffbCv/W7Vx0MVmMfTggU8wIHklAUWTlsBTcB98YLeVOuBUP2QG1M5Mgi5Ork25kGOzEtT8tIWBoc36Nhoj60xRry2F7/6tOrat49X+1/z4/OT7U8vfvmnfvonP331ypVb/Juj/LX6+/eZn6EgEASCQBAIAkEgCASBIBAEgkAQCAJBIAgEgUdBgMvRu3fv8R9tas8zVz7z6meufPObv/9H2uXpN1rc/7c93O9I3Ad58Yfc+yH0tUzd+x/tvP/x/knufVJvb8w+P3YSOvVydX088iMzL/dfyvDt7Zto3Sdj08dd+bXVv9ojO1PqX8qZJj9IBuCAUIEAJMAXLGx4IdjQZsroeJBZbsWpjt64yKhDvlzKxKlxjYOOeFx+wiH8jUm7uHnE3/ytuG4DcbQ1pvnhxIXMbzu1RWd+bCD/JAIb84sP8f7Z119//cOnb9z4Xv5ra9/5zpu5HAW1UBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBE4IAX4R7c0335z+XVLuYF5//fPvt9B/rD3e9XDHA3n/w/3O6P4HG3Sj+x986/0P/jzIIHwkbL1XQkYdgnNvBMH7+y/kNb8xuX8yJn3adP+FP+3BFm7b7D/c/Jv630ymNni/ZRuQnznRyMdFdtw2CKbA+kKoY4M9nLq+Ao9tlVE2ni8FX0DHlrK+vrAmmsj8XkoiZFAQE9vaHmNgO8qPrOYnTs1vzCZek/lr//kr9NXWNhP7h9pvj/7Cl774g68/ePBg9fbbb7f/IBPNCQWBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQSAInCQC3Lm8887b7a/bP1x96Uuvf6HdyfzJFv+H2uP9D3c29f7H+ynk3O1Yl2+6f2qm0/0VnNj4brp/0oa8o/uveqdkXrn5qY/uv4wN33b/hj+5fer9F77IIfPCeer9lzbYnSk9tsStl74cB4cACgByCDllBoMg2m7qvDwvLq0bizplfanzOLDq4NSnqScyB5z8vDB8Ifwg4lCmDRD6Ohipj/IrNz++5icXj/m1Ib9km4jzI6+99pn3rl9/6gV+e/Tdd9+Z/k0MDcODQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBE4GAf6q/TvvvLPiP459/dr1F1577dV3WmQuSLm/4Z7GO6hWXN8/efGIHjseybL3QtVfnfdP9T/W7X0Yft4z6UvdtnDHRBy4dt45NdH6/sm7pm33X8QxtvdfxiI++W1DK677vy0/fpD559oZ/7QTZ5x2SgdgFXQB7F8cwGNnW63Dfbm+HGywNVYrrgcBZewFHBtuyfGF9Kn5kaPHzkGJ7G57kBNLf+v2SbmDoJlO+a2bHzm21KFN+Rl4ELa2+5lW/tnPffZzz6J477332l+tJ30oCASBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQeA0EODuhTsY6HOf/Sx3Mj/XnueoN+Jex/sn7o1G9z/eIXlHhJ/3Pcqoc/8Eef+EDKLu/dckaD/wk9Dz0I5N+b1/qrHr/dem/MhrfttU84uB+b0ra67D+zdi8Dy2Sy069LjI3ADgy+elAR4vhDJy7VpxAksZdvWFIAdI5MSEQ8RSRh0fH228yde/z088iTza40878TM/sWt+Yyoztxy5t+7awu0/cSthq/33t1/l/qFPfvKlz/HX6z/44P389mhFKuUgEASCQBAIAkEgCASBIBAEgkAQCAJBIAicMAL8Fun777+3etD4y5988fPtbuZrLcWn21PvhLjPoS7n/offAEVW738oY8ODDeRdkfdP+mjr/Rl23E3x9Pdf5sUXvfkpmx8fyt4z1fz4m18f76r0N38zXcc0Bnl90CMnJrFsf3//1lSPh2jo4yTyAxDAQtQBSaKMDgCh+kJ8CfjwwrCjjA32vhB9m2iy4fbdHH1+bH3JvjDq/hugyHx5xMefB73trPkpo4coY2N+dcSxPeS3jB7dKD9ynldffPHFP2z8Bn+9/sMPP2zFUBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBILAaSLw0UcfrW5/cLtd9lx5qt3NfKfleu0gX73/4e4G8m6IOx7IeyzK6Lz/uoGgETG4f/L+hzp3Rt4/4cODzByUJe+f1GFLGbmxbAt18xMfMj9y/Mxnu6kbp+Zo4omMB4dqfuvqqGtf+4D8zIgGPi6qQNgOQQeQCoovDT1yX0SVIzMmg4gXBWGDzphw4iDXpuavds1kIuJBxGcwjPLjV/Mbkzw1JmXIttMGbZFrSx5JW+IzWM3/pU996uWPMOJy9MEDzZCEgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEAROAwHuYD76aP5FtXY3Q+FL7al3OpS5f/KuqBUnPRw59z7aez/lfdam+yd8uRMyJhdB+lI2ntz7r6aayPsn5NrAIeKM7r/QeeGEX81ve7UxpvdW2NtWbGp+ytqjg8ijzSQ4qx/1Eu6sctaOAj4PgMEBzbJcm6aaCBsAFGD0DgJi44feuMjQI6dsvMrNZczaDuyIJ43yKzM/uOKHnHLNj41E2VyjMjGQ17aaC/79zz9/a4p35850T9pEoSAQBIJAEAgCQSAIBIEgEASCQBAIAkEgCASB00aA3yKFnn/+ee5mfqA93v94n9NEh+65vJuqdtzvVHt8qCOvd0LI8eOOCnm9/1Je4xKjxqXs/RfcvMrQc4dFHar5qaPnQnSUH1vko/xNPPnW/NibV46e57HQdLl2xpkFGg5wAgQ4EjoHAWUfwMZewJHrR1lSRh05sfA1jjn56+6W8aEMUR7l9+Kz5jevnBj4Uze2+ZtoksMh81O2zfrjw6OceORHRn7otVu3bt0gy917XvLPivwMAkEgCASBIBAEgkAQCAJBIAgEgSAQBIJAEDg9BO4d3MXcvHmT/4j2a+3h7okH8p6IMvc/3Ocg456Hux+Isnddm+5/8PHBh3L1tw4nR73/atXJ3t/0xMY89f7JMnpodP9lu7XBDpl1+Kb8x7n/I9aZ0Zkma70yn6DSUV8q3IGEHXXAhesHoNW3t2/qyQc/X5D2cOM4MMyDX83v4PTlVj/j4dPnt82j/MbCz4FBXGPDGYDE9CIUH+ra4Mdj/bVnnnn2eXp67y5zLRQEgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIEgcBYIeEH67LNP32z5vrc93gtxb0PZ+yfvmZCh8+7Hi8gmmuTVr97/YO/9EDGk0f0T91bYQuY3LjL8jQen7p0VdhB+3l1R177GMTcc8r6s5leG3nbX/MYjBnLzkxvfMyNexFkRHaVzdt68gkDdzgsuPpbh+PIIsNwY6uiXOl4iL1YddcqSvrYPub76yB246mvbfJHoyGFcyg5qdea3f3DIuHLzGs+2o0f37PVrV5/G8f59UoSCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBM4CAS9Ir1+7zm+QvtAeLxW9E/I/emRzvP9Bz8P9DuT9EGVk3td5/wPXFxvvi+r9F+V6/4VN9cHPunnlyGuuml8dnDYbF3vuqeDoKNf8yHgkMaFuXmSQsSn3ObRBd2pEp86KelDssKBUMGiXj3I4tvj5tOJ68FHmRUDGpMzg5MVuy4+Ox1tGXqqXkbSDfNTR19ytOuXU31/jxEaiLea3DeqNrb/trvkpY4+t/W/FSXbrqaeemi5IHzzQFVUoCASBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQeA0EfAu5vr1a1yQPtse7n+4v4G46/EOibsdLm68//Ei1fsfuH5w76f0x487L/1H90/4cCGLTaV6p6S/8c1PTh5t0ZsbDpnfMrxeRuHj/Rc6yBjE1pY2GNO8cOVwbPVtxdMnGn5WZOfJR5kOQ7wMXwzt8SWgV65tfVlNPQGGP3pfFDHqv+2A3pfQihNRJxZU9Tdaveb3whUbyPzWiUM+5NjCa/5WXcenjWIw6j968+MH2X/yoeeByEP5egs0/WnEw4eGRh0KAkEgCASBy4jAlStXV88888zq2WefWz399NOrq1evrq5cceu4jIikz0EgCASBIHDZEOCy4n77L0vfvXN3dfv2B6sPP/xw9fBh/zl42VBJf4NAEDgtBLyLaedw7oK4JOVypl7QUPZAjo13V/39D3Jsvf+p90/IWcj8bVRssePZdP9lG/AzP/beM5nf9hETwgYiPyT3/otY2CLflR+bTfnBot6/2S7bCqdtxmjF0yUadFZE5+wYHAIoCT11XyJy7Kyj5wE05D6CTV29Lx0ZhA19NYcv3EGFjTps8SMvdnB0cvJTNz9yfZChx892teLki442GBc5tsY1P3WIep+/xkf/zNWrV3JBClqhIBAEgsAlR4BL0RdeeLF9BD5c3bnz0eqdd96Z/vmVh9M208A52G3YPPwzNe5O3XTWhcmgGTWubb1jnewPYq0hXwc5kBiDKmXowMeYiJI/+K+HjgXHTuOOlYw/ZstME0wHc0nZeu4qEEPqlKEDHzFFlPmX+ee0W48hx07jjpWLOP+utj8s5A8In7rx1OoTn3hh2hvffvut6bKUsR8KAkEgCJwkAg84WLdF8+q1a1w4ckHKXRB3OdzfWG7F9UUmS+y0zB7orXv/gy2EvxeRlCHvmajjZ3zvybQhFvdP6pF7kUrZthkPmfaUIeIbl7I+ltWTS7tWXOc0nv0il4Qv9fVW1MrEr3VtmvhsiAafFVXgKdN5AaDjAAH3qfbq4PhAvACIOj7U4RB2vgRl/QvDz/5jYw78qJtfXROt41I2X81PDKjmR08s7IkNUafc58fWBxvKkG0zLjL0T7UDAJNw+iCGh4JAEAgCQeByIcBvjfIB+Myzz6zef//9djl6Z7r4cEucN8H2cy5M4CwfvA+b+EBR9IowXmxnXCezajsZzbpDP7fYLDGTP/gfDJQ6Xkp5GSsZf+upVvCZUOnra8MZs95mwTTzL/PvYPDUMVTKy1iZx9KkKvp+bK1H3BabJebpjT/+oPD+/Xur+7fvrW5/cHt148aNaZ+8cePp9oeHb+e3SdcvKoUgEAROBAEuSNv/29LHL69xP8MqWO+fvM9BTxmS1zsi7n+Ua4MeGfEgbIjvb3siQ68demxrfu+WyE8Zf3zgxlPeROs2YIMe6vNbN5b5qUN9fnOZV46cZ1N+4xHz1MkLulNP1BIALCAIsgAApC9X8NFBAmW5xkCmr/3AnvgQL4Q63IHY5yeeMdAZh/w86GpbqBujFSc9t/DEJ5f5zUt88htXX+PW/M1sHcP8+FEmHmR+ysS6Zsb8tREgCQWBIBAELh8CXI5ev3599fZbb0+dn/5Kfds1rq6/Qt1CRths043sT1qW/CeN6NHiBf+j4XXS1sH/pBE9WrzgfzS8Ttr6tPG/suK3ushy9+6d1dtv313dvHlzuih9++3vnnRnEi8IBIFLjEB3F+P9D/c13iVx72OZOx3ukNB73+P9DzoIHcsXD2UIri9+VU+53n+hx15f82NHDO7f0BlnU378jIMvde+/WvFQ+zblxx8/9ebHHzkkNuSo5Zp/MjztHwByVuTLqfmQCVQtCxQ6y/hVW4ClDhkbzuPLq4BWG3x68JHxMqovdWOgr/nBzjo6c1OG8KONfV50UM1vDvPjZ/+MgT35tJ3zG70pQkEgCASBIHC5EHjuuZvTb8a89967reNtQ2iXovVidH1HerlgSW+DQBAIAkHgkiPAL3Rd5eupPdMvd7UfH3zw/urWredX7J2UQ0EgCASBU0CA+xqImxrvfKqs3ul4n4Sep+rw97KQMvc/XGwSk7rx5dwbqWvFSS9HDhnP+q786slB/D5/bYd9UAaH5LatxrQsPtQp66PeOvFOlWzIqSYpwQGFp14E2tl6WeuLw9WXR1lb2q0NZWx4YZTtE3ptABbCTl/K5DQmvwUq4VfzIqduPHLVMnpktoE6cbGBm9/2Gb/22fw1j22Q29aav4UPBYEgEASCwGVD4OrVa9OH3u3bt6ePP/69NS5H+Q3S+fk4InwkSrWsrOf72PQ+1P3H6ntdjVfLvZ31fWy0rTz5y4suwFQ8a7mYHCruY3PI4aAS/IP/eFws0n3G1j42S8SllPGX8cdo4A8Il/2w/eFh2yMZU/xHm7gkZQ8NBYEgEAROAQEWYS/2uMfx7oa7oHr/Q7m/57HeVBN5b+QdFkLKxqXsYubdU58fG2T4eP9luYkmQj8iYkLmx48yRF7K1olhG7z/0t5+mL+ZHsLCPMhHRA5inTrZmdNO1ANDXgEkN+X6UrC3LkfmIKoDzlhNvb7RBmBeGD6UseHRDx1xfRGUzdOKk58yOHF4/Kv0xkE2yo+P+SljQ10/86OTapm4UJURg/z2A65dK4aCQBAIAkHgMiHAXxW8d+/e9LT/YF/r+nwxug2D+hultcxmM7qMqDZ93JG9FxPTX/PvHVq9xqvl5A/+o/FUx0g/nEb2GX/zsTHzb3w8ruOplrP+PPnrj3OCvfLevfvTvnnz5q1+WUk9CASBIHASCHgXxX0NZTalR7n/wd84xORh60Lub3SaU1vtvH+iDmEHTVvfXJx+4qcMDuGz7/3XPvmJuys/ec1Pm7xTw486z6mSQJ1WEl8M8QXDMp2F7CQvz/bI1QMSemJQxld7BgVyQUPuABTUJlrrLdf82BkPfa+r+dWbx/zYGGdbfmxoK5e9kH01HjLzo8MeQk8OHnxre1s1FASCQBAIApcJAf5jE3fv3m2/BcM2weXo7t7XSyXL8CnCHv41A/nYkCr5EVpltWxOZJaTP/hn/LUxkPlXl4qd5aw/WX+Puv/M+xO/SXpl2jv5L9yHgkAQCAKngIB3OSxT0xGn8dH9DzLve7wTsk6z6v0PMb3/gePLQ3zqo9/MNH5TT7a2yxNH1ZvX9tJ281DelR+9y7J5bF9TDfPbH/T2nzJtIBb+PJTR1/a26ulQbchpZKATkC9hrs0/7awvAY4MDliQQAuytoKvDXp02iHHxjjoIGSUyeNjTOVgop/x5OiwM04rTi/L32y1Hchr/h5ndH1+bJCZnzzmNS4y9DV/q4aCQBAIAkHgsiHAXxe8f3/ernZdriy/WbegpM/oogErffqyEbzYtL6NG8uc2FpO/nlT7/ETM+S1rF3wnw9k4rGNi59jDlvLGX8Zfxyqe3LMIK9l7TL/Lt78490579k7r7U9NBQEgkAQOFEEuK2ZqV9gvP/xHgd9vVfiHgji3gebbfc/+Kr3l+6aaCLvscxvPu+erJO75tev5idgbeeU4EBmfrhEbPshEsggdejNDbe+Kb+2xiGWsSmfOAnciQduAQWTTtMh63aSnJarXpDQCSScurGoMxj87c1WnAi5Dy+LnICNjHL/IpHxqCcH9raLfObclB/fSn1+/W0PcRxItgd/20J+ytgRC3/Iuvnm/iMNBYEgEASCwOVEgD2gffHxsQ7J59ryc/SbndV2tJXoM10EHHxVHvIpTsrlS+a5ZKwqr7Yl1NpEH+xqWQM/dKkbS66NXH/r8Gqb/BWZuSxmwT/jr44FR0rmn0gsa0ldUxbtMn6qrNpm/anIzOU65mpZy0cZf8Sb/UfImyE8CASBIHAMBObzuPdP3v9wt+O9j3c+WCrjvocFCZ13R+iRWW/F9d8i1h7ZnHHm5jG/uYhDLggZdfws1/sv5OY0fxNN9vX+DR2EvY/5RvnRQdrU/PbHfMbD3rYgow81NvoTp/7G+SQT2Gk4HbNzcAhw6KB1XwxyXxo62ohOUFtxPVjQ9QBqb35i4Q8hk/r8XLYiqwMVe+M5qPDHjrYpM67thSNDD7dvyB1M6JDrax/JV/vP3/9AZy798bu+9m6VUBAIAkEgCFweBKbfampf2dPH48HO4EcjOj8qRYQPcvXIapl6r0cGVTvK1c6yNvLkD/5nOf5u3nxu9ef+3L+/un79+up//3v/2+o3f+PXM/6djPM0PjRv+3lN3bl8YL5mNQzlamdZG/m+8//nf/6Pr37iJ/6Z1YOHD1Z/+S/9xdVbb313yvvKK6+s/t1/78+vPv19n1799f/6V1e//Vu/OclPOv+6k61gX6qMsn2yXO0s/+Iv/unVv/Qv/8LqW9/61uo//U/+49Ubb7yR8VeBa+CJFThCnfpj+tnqsN1Jvn/GKE8oCASBIHAKCHhH5Z2Qd0Cc1rnXsd7fP3k35P2T918sVvji5/1SlWFPLEgf75bwgfA3/yRoP/r82PL0+bGv91/kdgGt9tqRx/aYX13tP2VsiQ3Hlrjek9mXJlrrkdX86E6U6PxpEQ23k3YOLhD1pSEHFH0o8wiOA8F42jaT6QXebZwYPMSAjIUP/sas+Wt89JDtom57sYPMbx44GJLfHK24bgP2POLsZWeNSz70Nb/5kKunP/bJ/MQOBYEgEASCwGVEYNo13DoOA9BfTqHtP0gPeyz6v/SX/8rq1c+8unrn3XdWf/3XfnX1O7/z24dMt8X5lV/5j1Zf/NKXVp94/hOr//a/+5ur/+Kv/pW17zY/jHbpsfmxH/+J1S//8r8zxad9/8Yv/euIP0aP0v+PBesE29p569at1X/2F//z1bVrbuOd85bq3/jd31n96q/+l1ssZhX5TyPPtn7VRu1jd9b4P/fcc6uvf/1Hp2by7/L+1m/+Rm3yVN7V7l16A+5j96j9/+mf+dnVL/3Svzml/Gt/7a+u/s7f/lum32uePGr+dbJB4ST7//oXvrj66le/NmV5+eWX1hekP/dzf3z1+R/8/CT/M3/mX1v9jd/9b6b/sA6Ck8w/JTj4sU/cUX7G3i/+6X+1/XXta6svtv781E/9zOrXfu2/qqGn8q74u/QG3Mfuorx/+wTfp1/72u3Xf3+LtLYi5SAQBILAiSDA/Y0HQe99CMzdjXU4Nsiw50DPowzO3Q86OOR9EHdEd9pjjKonHo/5vU8iNrHMr94c6KE+P7GwQU8ZTkzv36jbrlacbI6a37j41/YRF10lZOT3ArbqTqRM8NMiXyqdgOwcna4y7HxZyNELUgXcgcMlI3bYVFtk2GNHv/RtxYmwx8Z2IUQmwHD1fX5szX/jwK7mt0/mJ0eV4U9sXqR5kBGD/lQ5emMTD8LXNpkfGTlCQSAIBIEgcAkRmDYId4kt/e9/c2f0213VnctR6Pl2yfkn/oV/cfW77XKi/qZNjVc/aj/z6qurr//oj7bNd27Uyy+/PMWp9gh25Z+cNtj9zE//7NQubLiE/cIXvrD6xjf+L12G/CTzk6DGq/1Hx38466UXX6K4Jjbr+pr6uoYvvviixYlvwon8ozyHnEulz/dCl6eYHipuy2+/5Yccu0rFC9WmuJ3bRrsa77Tz/4Vf+Q9Xr7zymdWHH95e/YX/4M9PTTyL/Ixt5h/jhnKls8hPvk3v6Szyv/XWW9PBl/6/++67qwcPGMUznUV+Mtn/r3zlq6t/68/+21Py3/rNX1/93u/93voyj/F3585Hq/fff3/9nt5++625oQc/a3sRGfeQ0aCyya7GO+3xP7pofFLy74Pd4LVEFASCQBDYFwG2MO6P2MC8F6LMw30P9z/e5XB3xF0PhEw/75+8P7LuXRGxzEMMysZpxalc86uv+f9/9t4D3rKqvN/fDB1EunSYAQWpKhCNgr1hQ6NJTP9FjZpoosk/RaNIVIjGEhNjjTWxYCWJXUEQxC4oVUVB6b0IImWYgf/7rHOfc9+z7zl37tx7h4nhfeezz1rrXW9Z67v32XvO9669N/05Pzbo2Mwn/xaqYQ7tKLEzP34KYzG+enT9/MwZPbHYEOydi/PXRn0zXOwPkq0pAShEwJ04OidOmcGizYSxzaCgR4fQLzja5B3S9xVQ9I6JeG7EoE6fNvjkPOanVG8e/M0f1eE4iYe9sYyNDXq32fLTh+CLmB+9+VtHfRQChUAhsNgIrLfe+t22296r23777eOtr0u6q666srvyyivbD8LFzrU24zHPjTfeuFt//fW7G264IV58tMb+KLno0+SioOQfrrne/yE47kevMShvix/8GwbRR2xucb3f/R7QnX7694Ym/Xh2PO5xh4XPYERevOjr268qv/G0cy73vOfm3QMOPGgqw8DqEY945JAg1Y6eXF+s/NPjsjZakvOWW27uvv/97w1WkKads0WQprvusmtzgFA599wfjTpH67zzzxvR9edvJ/MZ5lmP/35MSeTfYstBHvCflOf8Xh7d++Vs+fu2tDPmuX6X4R9jEPLFyr/77nt022yzbYsLHgPSatzs18D8p9Lk7xKqPp6OJs851/v27lf9JpXa5VjY9uPpn+1yvW9vXP3Glccd98Vuo4026vijwUknfSUIUv7rPZB+PPU5Z6737eeSn5jabb31NsPv7nZxPuzHW7FiZff617+2O/SQh3XXXHt1jPekke9C3964jntSqV2ey2Bc4z2yXa5X/lG8xHVUW61CoBAoBBYVATk2/pPGjwr/eyKnQzJ0XNwo4Y2wpfSCl7kedOr5bwF1+o2Br/qozuCfzE+fcfVdnfzYmoecxjCmY2T+mVuLZrO1JIa+lsTI80TPhqinjS+b9lFdXHHnLW7U6WhOmEkggmebEnAR+yiRPijGokQosaVkByD6DlqDPncUOg8e8hoPDIyVx4OODR0xrKsP1TAf+dE7B+oIpfmJQy5KRZ2+6J0DOjdioLeMahNtbVdZCBQChcCCEVgStwo+/OGP6A6KW1YhRrNAEJx11pnd8cd96VeKSMxz6NcfHiTbQQcd3NRf/OLnuzPPOL1v8ivRzj+Ec30ug5+0WgnfJzzhiSMEKRcuLk6IP8RZ0fioRz16oIxP+4eKVVRmy+9cHvqwh3Xrxa3rOf+hD3149/73v6fdfqsdqXJ9Falb91zyGyfnd/70kfOWW27pjjrqlZoOyz3iduE3vOFNrQ2B+vrXvXbYR2V185sn5yeOecB/XB5sxsnq5nf/5vwZ81wfl6+vW5T8Keii5k9xqc62/zX9P5XfnT01uTUyf4GbKm+99daJj5tYI/njQJ5InM1h/j8455yOTVnU/T+H/OTNOXPdMc1WLsr3L43zVy3/bNhUXyFQCBQC80AAzsbLFfyPbXRs8l+U9MkR+aOLM6q8j0RjqIbcEP2u5qBuLkvz0Sf/hQ6h7Oe3bX7tHAelgg3tzL+ZFxt9qDtXSjaE/MwXIRZ68+LLhg47Y1Eq+jgf9YtWOrhFC5gCucOdtBPFxImhs59JCo6AAAZxBMoYtNk4MOjXL6rDeOiIw+ZBRx3Bh1iI+dnJ5iIu/mzqojqMZ359sEOnUMePfMSnjtCmD3vEMdCmz1zOyzj0a2uJzi9GVEsKgUKgEFg4ApCjv/Vbz+x2W7p0bDB+RB5wwP26e91ru+4jx3you/12HoHzqyvrrrtet8/e+wwnsN9++/8KEaRcIuYnXEiyt+SAF5gc9cCDDupYRXXttdcMCVH7/SF86KGHdvfY9B6qZ5S777FHt8Xmg1vIzwgCesXKlWPz7x/H1vrxoh0IwB/+8AfDOBBxj3jEo9qFkHGfd95Punvf+z7dZvHMz4MOemD37W9/c2ibK+vFCsv9979fIz8uuujC7pprrulYBbb3Pvt0O2y/Q8tz2WWXdqeddmoQ/iuH8Y2xS6z63HbbbWM15u3d2WefGXGWdA+4//27XXfbrdtk400i3tXdOeec3V122WW6zKmcDX/mt2WsBD3ggPu33Kxsvu6667qfXfDT7twfnbsgIsTB7RzzulfMi+d18gcPnmm6bxz7rJhcuWJFd+yxnxhZtccq691izrvuultbUc5txD/96U+7Cy74Wdx+fqthh6W4GX+DDTbo7nOfPdvzaZcEhpdcekn3o9i/3EqN5OPP4xLSfenSpY305bEAV115ReS7oLvwwgvavhr4Nfc5fYAj42ce94pj4MYxc3C/7Lvvft2GG244fJwDelYv3xm3et92263dD34wIMM8/hkAf0zaf/8Dup132aXbPI71G2M1+qUxT473vAISW/NQR8bNf9Az+JSItrQv51dnOeMYuj6OoZ/9tPvxueeuMj/jAYNdd901VnFuGd/9aztWHoP/ihU8dmwg/fxbbbV1t3TZsrbicoMNN+guvuiidpxcGfsuy4z5T3WqB0uuM5QcK1decWU77rfaaptu6dLdcqiJdcZ63XXXzuifbYzmx6nZxfHHc0XVL122e3dQHAcIWF5//eClUjxehNX2nNfOOvOM9gePZpQ+8v5YL47F69P+GLf/87nrwgsvbOdf7uhgv+y4447dtTG3i0Kfz5Mp3bC67bbbxPf6PnFN361bftvyjvPgT2PsP58aO4bj8g8DRMXjztK+/v5Xv6pSPLVbe/k92ziSKguBQqAQWBQE5HXkgggqn4MOgfeR8+G0CK/ESQk7OSFtKeljw04b/BD61VFHPy6f8aK79ctlYS//RQ7zo2fTjz7HTHzFfOiwZSNG9nU8oR6Oz7mgyzmwJRf+SO7TJ/cPrBbpc00SpHkiDlcgBY0JMjnalAhAuFPoR9Th72Zf7idOzkEfsZTch978xM994OK48CUuz17Apj+2UDWhj3g5Dh22rRuXHP389pHLOiX/G835zRXqkkKgECgEFg+BneKHnuQoz1X78vHHNUKCH/i7xA9/Xp5xz803byQJhMcPfnD24iVfC5GWLdu92zhesqHsvPMujRDwbcrq/3eW/r9h9UfHhUXJP3pH9GFAm5eP8Lbpj3zkw42k0C+Xj3/8E3JzRv1FL/qr4W2qRx/9qu573zttaGN+iMtXvfKodsH/5S9v6v7oD38/bAZz3G23Xbs9grxDfvqz87uPfvSY7ogj/qG1H/moR00kSPfc677dK17xymb3uc9/thGCT37y4W0lalPGBxkgf1nVCfFKm3kzruc+9/kdpDnyylcd2T0nnkUI+ZeFN3B/+cvHd//+zrePJUayrfURnCOPRMOSqDz7Oc/twJMXPWU7fCFlXvOao9t4jTWf8nlpXv8eL9J67vOe30FcIsz/f+JZiytX3tHGtXf8AeEv/uLF8Z3fofXnDwiht771zd1XTz4pq0dwe+1rj25vJN9oww1HbG6J53r+x/vf2x133HHD+Tfcw+rABxzY/eVf/U0jwEeconFhEDz/8qY3BNFzUb9rYnuucyD/+kHMHnXUa4bHAUHRH/HyI6k2efrTD7faSs4jf/O3fxek+44jehpXXX1VHFuvaUShnXm/evzT5/ypexw2/ZSDxwm6SQLZ5DHEiuu+9I+hfv5dd1vaveQlL439veOM4295/EHsXe96Z3fiCV8eCQuZ/Qd/+Efdk+KZxT5mIxv86Ec/jOP2qO6mm25q6pH5h8a281+6dGn3iiNf1fQnnPjl7m1v/bfm95TDD++eevjTcuiJdY7hD3zgP4b9k8Yozo7xFzFGxvGkJz2l+43fePrQn8oDf+2BbaP+sY8f033so4OXqv2/P3pW92vRhzzvec9uf4hpjfhY1f6ArHzt1Hfa+VPuuef0uesLX/hct9XWW3cPeuCvG3ZYnnnWGd2/vflfZ5DBPKLghX/+ou6Qhxw6tLWy8o6V7UVSvITP7zl9Of/IcUEH/VPloDX/zxxmJE+EdH+M6Ndg/vnPojwLgUKgEJiIgPwPZy82Tm3wSeg9zdH2Io1O/gkCUnv68TEOfQo29GX+CR1ifurEMJ72xHM82FDP+bMOHzZ85K7oJyax0TkP4iA5v3XnawzzGzfnGESZzjuuz7lqu2ilA160gCkQg3ZnUncSlgIISPZTMiZ11NncsVFtO9A/X0MaKvg4H+IIPmOgbb6oNrFtLto5P0bmJw99CHbkJ65EZlRHDg7b+GOH4OdYKG2bn/hsHmhRbXVimF//nB+7kkKgECgEFgUBVuUp//1fx8azEn/YXlDC8wxZQfSRjxwzXA3FKry+sCJzm23u1d33vvt0e++9b6uzKjXLhhtu1FagsgqVFXl9IQZ9bPyo7cs97rFZd98gbbideFx/3362tuRXtmGFzqpk01gtSf799jug22mnXWK12UarclkD/V5epkNzqyTiBWu6Z/VrV15xeVsRhedjH/u4kTezT6VpQVkdClmOXBqrMZF+/m9842tNz8eDH3LIsJ4rD37wQ1qTWX3729+Kz+korB5VTjnlq3H7+Pc73mKPHHjgwd097zl4kc1s83/SE5/cPe2pvzFCjhpzm6236V7y0pe1Zx6Kap8MePnLXzEkR6dHFv9RiGP4cfGHg9/8zd8eEqS53xxzKf/gD4JkinFCbDmO7Lds2e5BHL2y22STTbN6WL9zCrPVyf+85//ZkBwlkHmZP9+Fo45+zQxy1PiM88Uv/qvuMY95XBvDOPz//u+P6PrkKMYbb7Rx96d/9sK2qrQ5T30ccsih3cuPOHIsOYrJbrEK9PXxuAJWxvXFcVnSP2kO+kJE5znEk0bbP3HQzhJyKR//rDR8WRwbkKPmtcTnXrHq72VBrmI3FzGv5TifnD/3gz/H0BOnjqHcZ91jaNNNZx5DYHpkHF/MZVz+DdbfoPvzF76o+/3IkeVlLz+ie3IQih49ef7Y3fe+e3evee3r23NFs9+4unkts82d8Yc6pB9fG/WW6ikd4zgCl37HuHEQi8gdd+bfoU01/CD+HStnZlFjiUP+Tg8DpEp/fwznPazwmJMnjZCjOf4BsUL+hS/8ixbR7986sfIWvMeRoxjyR6/feebvdX8Sfyjpi2n7579sN9vxh10eX/abS/2uzb+Qkc5lNmVTCBQCdysEPIF5MZzme4TBkw78DzK4qMV/Jafq9POjiQ3CUkGf+R8z4Y8vbWyIazuqw/jmtfQChz86fOSkyE2b/PQRGzvyI/BSivloY0sbe8fj/MxrO5PA5s9jIT9b9nPMGZcwWXxZkwkEk1EzQYSJCxqlQr+AYsOO0dZSP3wEjB2FrbHyTkIPqMbDhzpljkV9Vfn1oSQmsRHyg6Hx+vnJh2DPZn50xjI/fdQpiakt+bShROhHT/618as80pYUAoXA/0UENttss+G0uAWwLzfccH332c98OgiauL04Vt1lgTB8/GFPbLfrZv1tt93WfebT/xMrqM5v6vvf/wEdz/1EjvnwB7tLLrm41f3gNt/fePozWjM/E5T4D3vYI7pt73UvTeNH6sq4BfPS7nOf/XS87XhAmA07V1HZaKNN4jbtezerM07/fnshFbdK7rvfvt3Xv37KWG98nvTkJzdyNBuwwvaUr57cffe73wkCmUtBnOTjRyhvQOZt7meeeWZ39dVXZpc1UvdWRS8WOQk/avOPXttZpz0XmOvj9mdeHHToIQ9tq2ofGKuXvvnNrzcTfPQ/LK0eZX8959nPbRctY1GefNJJ3TN/+3fbaqoHPejXu3e+423D54aa/yFBjClf+cqJw/jcZvuwhz9i6n9Jd3ZfO+WU6Lsj9tHXuifE8QZJd+ihD+0+//nPtfjEGDv/Kf234nZ89tV1113f7bf/ft3hsSJtsyDdtw4C6+9e8rJYKfjSbiVEDCAk4TZzVhZ/9rOfabfV89gBXhJ1cDyrF/md3/29doxzu/5s+Q0pfs7/8Yc9IVasDY57Up8Qq1K/851vtVV3++y7b/eUpzy12zxeVMXLniB7XnHEyxsOxqOU/Bmbv7//m/0Aq4suvqjlY3Uh39flces9839GkL6uLOX7y633V1xxRbds991j7o/q9gsClZwQ6F/+MitBB5n7+c8++6zuM3HeuPTSi7ulS5e1FY5bbrlV833mb//OyHNbWa3MH07A4Fvf/Eb3n//53vhu39Tttdfe3XP+5LndTjvu1EHUPf6wJ3Uf+uB/Mu2hmNeSDudAvJ/F6uNjPzk1h2Uxh0cO5gAKzmH58uWxCvA58aiH9YOI/efhoyNe8ILnx7h4+dXtrWT/bbTRhm1fcOwgl156SffpT/1PW3W/y667dk9/+m92O+6wY7dVzBUS9aUv+et23GPb3//oFMbKluehPTaMI7fRIYfF84I9hmh/+YQ4huKPDazc3GefOIYOnz6GIK6PPPLlwz948aK6V7ziVW2s5L7m6qu7z33+M/FYhx/FH4F26h4SKxEPnLq9/GlP+43uS1/8QnvExF6xShuSbiB3xsrKj3Snf//0br14VMb9H3D/IPwPb8ToTjvt3Mbg6nHGj+Q5DjSDuY+b/8c+9pHu+OO/1Mz68z8gzrXPf96ftb5bY3XyCWmVK2PkURsI9PfHY4zfjzHyOI88xp2nxnharHD/xMc/EStlT4hzz8Pj3PV7bX+cEMf4f//3sS3OtdfOvD46F8sZ3+nZ9sfLYn+8YrA/GjRT+LRk8bFixYrumGM+1B6JQZ2V8I9+9GNa9wNixfWee+7V/fjH57b2fWO+S3db2urs+3e+823dqaee2h7ZwbX3N5/xW20+j4zjn2swNlnMz3GmZLwnHX+Tvv/EyP65nXMMczWDwXE+1MWgtF2M/IO4aYImqrIQKAQKgfkiMH3e5ocAJxj5HyLC/SCZAxpoBpc9bPWz1D7zQxCFxPAEhq1t82FPHT11bSndHEeo2iVBX/rNry0zo59yVfwb+bTPOYwV3W0M9JEHwT6PlTaij/2Uef7aNePF+oBoW1PChJyoOfptbBAnTR0dbXX4GAsQ0TNu6u4ofbTNbXaS4o63jT1CzH4s86M3P7HYYM7ZOYwDu5zPMYR6qKeO0Ne3bx1TfdS1oU5cc6P3gENHnbGVFAKFQCGwaAhcfvnlbXUmAZ8aq+0+HcTmzTf/ciT+j340/WxIO1hFCRExTniW39PjB9lHjvlwI0jOP//8IUG6V6ws6hOk973vfVsYVsP87Kc/bXVu7z08xsNzBLMsCXKM5+Q9/RnPiPjHtDd35/7Z6nvvvXeHP/LDuAWU51NCkG6xxVYdt9r3x4Xdbz/zd9rjBaivCBKJW4y5lRESjx+etE879Tt0x3Pf9ugeG2QPAin03ve+q9UX74PLyUD6Pz7VU9rnj8usy3a57sUHwhOCFOFlTRKktIm3caxk5EVJjITb4k/56lcbQUq/Qn6eQfjDOG72iVXFPKuU52t+//unaRLPhNyuu3cQ4MjV8VzPH8YzHh0vzyKEYELOCf21U8T812Il6WFBkDLWRzzy0Y0gbUa9Dy+62J32vVO7N7z+n4IU4qUsXVshff5553VHvOIfGhEIsbDbbkvbrewtcIrFM0rf8IbXjTzz75tB4L3q1Ue3VYqNKIz9DUGahfkj5FfcJ7YpWYWqQAJBIivc/gtR9cpXHdVWf4HjLrvsHETcRW0e4+Lpa594ohcT6j/+ybndq1/1ypHveRtrfNx00y/i2atnBWG6vN3m7DMXIVJPj1W8//6u97TxsIqY78G455GeG6TNP/7jqxvxSj6e1/rzeD7n0XEbO8LzXBW+36z4FKt//dd/bo9FoP/0078X+P9T9/u/94cdZN5Nv/jF8NgWY+PkErv+HLBvc4g/jIybw7VxLkB4Fq7P1uUYdoUefeAJ6bb7sj0anjcEeX7Uq4+MP4QMfH/ykx+3vK973Rsbsb37st3jnHDvRmK5T4gzTpi/GNif9x862saxzMfQcVPHkH3tGDp3cAzxxxsI05133nn4qIL2/NQ47yGQ5K95zVGN6KV9bvjxNvmjj35tW2nJCsTHH/b4IKg/1LES9aw4RhgvfyD6zGc+hUuTc845u9t0k83ie/qE1s++hSB1TNr1y0nzZ1xcoxTjbLPNtt3v/d4fqO7e+pY3N7IaBTaM8ZwYI8IYP/3pTzX8aLcxbhpjnPpDj2PkrglyuT8ZE88CHpef79M4YX/Qh2/+TjOmvD/Ak++0+wP7/gHwpje9ofvWt75JT5O3ve3fuu223779kYIcPF9XgpQ/Qipf+tIXum98Y/CHLQh8CFHOZfvG/kcgsvsyLv9cjr9+HNruo+yvbpw9urWdf9K4Sl8IFAKFwBwRkA/i9MwPDTksTm/tFDcVJ/M+2CL0y/HQD+cE78PJWv6Hkj75sKg2P/XmMB9645uTtnXt1eX8jj3nww6fnI9+25SKfrb7uYxFidhPqa/jMn7fpzku1sfMq+JiRZ4GiIhMRhA9SJww/RkI244NANwxxEGfmWNjGwN7dIg6/M2Hv23sBDyqQ8FWX/olQ7Fn/P382CP4YM+GeHDhhw0l+XM7mq3PfLltvJw/jz/74FdSCBQChcCCEGCV2EMfGm8LD6IC4uIFceseL0W54Gc/ix+cl8bqscuHKyRzooMOPnjYZOUbhAQvZuGHGrdUQyDuEas1WUF2zTVXtVVo28ePO1b28Dw7VgQi3F6/x9Rt/hdecEFbFYoOglVylPjnxBuDWb3FykJujdxuux1a/ctBCsxVvL2e1TOXXHxxBynyqFiRwyoY+voE6U/1TwsAAEAASURBVNZbbzMkR8/7yU8aEcBLqnbYYafumb/zu22++++//5AgZf7KBkESL75MXwLyj0/zcCHCwr78o1SdtpS5X/05Z5/TsbqQVYtgsuOOOwfBdYnd3SMf+cjh7dMnxapPXmDTF3N95cQTGwlA/0MOOWSEIH3Igw9pF07GO1g9OriMMiZWKioQsAoEwzXXXN1tG+QI5Gqf1PZCLEqQfP/6L/8c8xyQo8Y5PUiy4+NZu4973GENr2XLdh8QpGFgDGxZBf2DH/xgiCc6jlueh/me9/5HtNbp8FXwHcF/qk2/mFBHOFYkCq8Pou09735n0+d9ApHzhc9/PlaOPaX18TgMn8PZj9cMpj7sy7HEBBNWPPJHEPst6fvnN75hZKy5jxfgnBUro/mOQ/DwApmL41hRnD/PT4TYyr4/iLn8PF6SxIu7WGHNC2luv31lI24gWTcN4h057LAndZ/73KeHqxwvvODC7rWvPdoUw7E5x2FHVMwPsYTk/NrnOUAaMgcwtX/kAOjFIOYe9x7sb/D80Ic/OCTT6CP/VVde2Z7nyjMqafNHE0isYXwMp8TxUSqp2lTa2G8cynwMsdL53e/+92amDb7tGPpCHEPtdviuvejMY2iPPe4zyBGfH/vYMe28n/OxSv7N8axLvvMI53hiQ3i6KrR1TH0wdnA5+eSvNIKUNoQe4phaY+rDeVuinsv8mTePx2AVOMKzR/nDhfkd42mnnTbM289/cpC/PPeX8fIsZCWPBV1/PMbBry/rT32n6Wv7412D/YGdfnl/EJvvtH/0wM45cN2FHM37g/6vf/2UqVXc8SiH+COTwvPD9T04no3KalqIXfN+LJ7h3BdjW9Kf6+PaxrPMMc1vX46lbsQ+HNBnu1xfM/kZZUkhUAgUAmsEAfkmyj7/xY+e/qVjSejYEHzgf/CTP7Kd/bD3RIZPlpw/80fo5aKyPXGxQ4hpPmzH8V/YOxbssaPMc6BOvv78s110NyGWvjmetsQxJ7nM3ZwX80MQFjNmP5aTYhLU3VlMDHHH0qcNeu3QAypCaTzaxsCWudCHzphRbW381OW49Bvb/OioY2c+YjM2bYlF2/wSmKEa5rOPWDl/f3zGxI64CHXtaLtkyv01mp+RlBQChUAhsAgIsDrvk8d+onvGFCEJsbls2e5D4uemIBP5UXfaqd9tq8tMya2wrHCD3Ljwwp81NWQZK1e4zXyTWMHDraYKMSBIeXv2jnHLLMQpQi6JRX6AI9xSjx3y9a+dEiv0vtvqt956c9xa/5lGsPC8Uki8ucpWW23d7RBvAkZYrcht8ayAhJRdumxZPBdx7/binfzG5i223HIY/rLLLwtCZ3lrX375pd0H/vP98bzVbYPQ/cXQBiKEW/c3i+djstrurpZ2QY2riT9GLR2HPz4t+/3YoftiECrPe96fNrfDnvCE7n3vfXer4+eqK25bZbVpX4yNntWnf/Lc53UbbrBhx23273j72xru2DwkSHQvZSefdOIwzCabbNw9MGwRVufmFaysAmUVqbcUc7v7hz70gaFvixexFQhviAPFsVH+OFbIPT4IUoTbx7upITgm9BCyGSP9WVV5ddyOzLMmIWs5Vvme4KsN/jkWbfsoWWEMyYiwsnHFCv4LMr3vWiM+zjvvx1a73YMUPvHEE4btcRVz0JfHThtoGNMPf/hDmsP+bGd9i3iLPM/b3WGHHdp3edNNNonyHo0cbc5jPtr8Q39erKREjNUa8cGKbQhSRsEfQZgzJNwP4o8fvvDmWc96dlsdfmqcb/ienn766cOX0eS5GTOXffy33HJ0DjwmhNWh95tabef+GRmnyqnAuY/8kop0Q+Rz/hqRsLnf/e/fVITij0SK47c0tiV2vfQjGOpnvHwM8eKflXEbdrYxrvuD/c9jS06I28jpu899BgQpOX0zuj7muPLKy9sL0mjn2LS5Vtw7Yux5n73aM4FZtbnJJps2Hf39ueCPUNBnLkv6+j65z/zPjXPTHkE8I2eddebwHICvNvThm8e42Wb3jO/q9BiHuYaV6THhj6SukdiD3tHPZUuXRb7Bd7rtj5X8VJgWx/aTH8f340mD2OyP/J02H6uRkf78eQyCkl/IdfY5gxW9YMsze9/29ne2fXrmmWfEStqzW92XMzkOY1sSN9f7bf3QjxPGnm36seyztN+SmLneb+uHfpysKv84n9IVAoVAIbBICMDjyNtwOhrHP3GKxq6drqLst+F/0BEHOy4otNkQ+afsZ7xJ+dEjxsSX/Or1R29+81pqm7kydPBTjo029sTO89fXWObPfuJBPMQ2JWIMy4F2ET/dcYsYchgqT4YJOCkMaDNpJ57bg18F033Y4MtBYJ0SHzbnALBs/ba20dUEG/zYMfQh5icPdcQ+SrZ+fuN48OCDjjbi/PE1Jnps2NAzBsTxmJ+yv3kQYu9BNYhLtJJCoBAoBBYJgYtixSjk1T7xEiZuN9w+SJF1pn6pQP5AbnEr8kc/+pGOZ5IiV111ZdsgOlhRyY9jbrnl9nrIUWTddT3ldUGCnB0rkR7VfrByS70EKatBEZ4D6O2CO6S3Z/OjiJc/ZYFwQ7bZdttYibZ+EC08Hmd2YV6KZABt6hCkjJsf+z+KtsJqMOVhD3t4exYiY2TVHCvR2LIwDm5vXHMyffKf9GOR3YYVFxTL4XhQhvR/hA6005+sAPujP/rjtj8hIT8cJCQrAvfbb7+2ahPLM884o906DW5Zcv5f3nxzex7iQ+OW/AExFbfZx+qz7baLFaBTq4a5HTvfwsrqY1/wAwHgm+vNwb5CmBuriY855kPD1YatI83/4osvaarhR5o/q6MVCIVxAsGaJeN2ySWXNIKUflaCQvIhzp/6bPgvXboUkyaXRqxJcsml033ZZ177fyoJtxJPEp5J/Bcv+svu4IN+bZJJ0zO3cQLE3E6P9Od/O885DZnaDa3Ox9vf/tb22AL/4MFzVx/9qMe07Y5Yscux9l//9cm2glEn5j9OwP8eMYcXxRwOijnkXP3xjPOfTUfsZct2bybE4nmsbH1xaJQ8h3MoU4Mhznwk+zH/pUuXDsN4DGFDXlJY5mNot/AxTva/6MILh7EmVfSj/5B4DMfz//TPho8jyD7kRSwHrfhkUNPFoLEan+TnebUcG8S+9pqru3/+5zeMfP+xcd6HxHOKnx8vJPORCepXI+WIaZ7/jLmF5dKlgW2U9LE/ZuSjk760Ip/9MU5uuHHm87XJf3uQ4Eg//0/jMTasIOYPUrFevv3juslt/N0zeb709W2l/sc/9tHVeixNHtvI/GMAua0dOudtaV8DJxrj/IY2s1Sy3/zPf1M7YZY81VUIFAKFwDwQgOfx1JxLTjr+GOIEbh1Ohz791MP/eKKij7a8Ee0BFzTNf4WqSe5DwRiwRa+go01849DOevmvUDdb88O3mQN72or+xHTs6MzvGGxjQ1xEe8fVnz8+xAIfY0Z1cSVPZnEjDwbNJJnA4Ao+PWlyMUEkg4S9PvRrAzgeKIDB/6rxY6ONUNLOQBor58cG/TiA7euDng9g82NjfsfQz08bO3e69uTHh7jsA+qMB1vHrI52nn80hw/HJV5JIVAIFAKLjgCrM78Xz2tk4w3trPKExDrggAO6deOZZZvHirLHPu5x3Sc/8bGWe/14acqjH/PY+AG2T7s9f1UDuuWWmzt+xLUVR9xmHyvhXN2DL6v1JDrvlV7KdOhDHzpr6K233ro973I2I14As38811J5cNzerWSCj1vKM0HKS6C+GStifQs7q8FcEXb1VVfFi5jOaLea+rgAY665ksvDQPKPRTT5B6NWllMugyvPDOWwd1jhOYwncZts3IIKuQDRwGMReAGJ8sV4YUsWL4roTEHJ7fMQpAi31UOQPvghh7Y2Hyel1aO0WZWX5T732TM3h3Vi8yb6/fY/IAi008fOf8MNpx950BwZ5NTg1l/fv23G8xcnEIYbTBHxw6Sp4qpnVMtvWz42vzgM3VL+/OxObs2dJLycSCGPMmP/2xGleS1T16xVbnt/wxv/ZUj8Yswb3K+99tq2UvrmWI3LcyuRfuxJ+78Zr+Ljhrj1/m/++sWxivRBbf+Tgz+2IEviu8st/eznN8bzSL/znW83/Yz5xwDQMYc3znEOLdBqfmSSl0dRLI8/HCBp18Zzjpe055Sef95P4iVe501nyEbT2nnVmOvIMZSOE/eN5aRj6Ob4nm+xxWCVPCs/c7zZBvW4xx/W/enzXzBi8otYQc0zWW+KY2Tzze/Z7bD9jjOOkQbSiNfqNTgXPOdPntecVsbqTJ4PfOONU2T81P6nk3mPGyOrvPtjbMHm8SG2unL+FT/6+E73bTxIJu0PY82l7McmP4+24Lm9nEO5ZvECKmXL2M+svN9zz73iWcCvmjdJarxJ3z/6HZulPs5/2F5AZV75F5CvXAuBQqAQWAUCcDqKfA1XfTY4H3XUOT3SZoPzyXbEwQbJ/Bdt7fQjDjpK/OCZENvmlnOiz7FoQ9t8jAWeija+5MeOfOam7OcP1az58WF8lDk/cXJ++8zFeBDGoK4pFvtjTRCkDpoSYedkHZNHBIVSkJi4OxS94wMgYlDS745Rhy2/bshl/Jw/21N3PMQzD3Xje0CRH1sOCMSxOl5iubPIT31S/uhqgq9CPMdOiT85KdVHdQRD/I0xmKMzxbKkECgECoFFRoBb5Xn7M9v3v/+97lnPfk6QD+u01YPcQsjt6dyS7zMUSQ95ckOsHLsl3ia8+9Ttj/1hcQs9BCmr1CBgefGKRBO34CvcSq2wii+30eO/Zdz+zrP0IPNWJbxd2lv2sb3PnnuOdWHcmwYhyK33yimnnBwkx0/b6klucSY3wmMAIIi5df/447+o+Vor8w/GTJYOnr85delI145sw6CnER9MgdvnfUYfL0b63mmndr/+6w9pnddce028+GRAVA2sBxdO6zn2GUFeXnf9de2lSw/69Xibfbxd+ZAgSMkHIc4t8wg+97rXNrGCeXq18PnxfFzeTj0UnGIO++4zvWqPVckQpCPzH5jFy5d2i7g8f3Tm/HnBicKLwfKY1WNz4YUX2ByxITYCgXjRRReO5mecU5KqIzbnnXe+Ju2W2HH50eXv2E/iObiTJO3akXGOzD859/PRZsUZjw1Abg3i702xOu/73z+tPScUHTZHHvnKjjdo96Wf3/7Z8mtDyfNIeY4kG3844bv4yEc9OladP7qtKGY1MS+FkyDNvtTd/8yB54oigzm8vp3DeEmN8opXvDLeZH5g+8+euj4e6NFloc0zm7efembl29/+lnhUw7nZpNVzrJH5J5CyDU69VDPiNJswcp60z48/OCkej7RzbPJ7DJH+vCBtteG5yj4GZenSZTNWxOc4+pD/YbGaXmF/ve997xm+SA39feKW+9e97g0DE4JMSR77tHaGmeYj87hnrCr+m799SbyFfvCHjffEaklvQ8dhJHYEd4zk4XEws44xbPpzJea4MeY82Cjo3R/4uSp93P5nf2DT3x/GsuyPKUGpybB0XKzGPyZejviRj3w4iOot2nf1SfEMYx5JQL626rk9N/vUGZgZw6Dj8vdttM367Ddu/vhkm3Htcbq+DzbKXPIPbPt71QhVFgKFQCGwIATkpOCWELkjuSd0cD60+Q+JnJJcVKianhLBHxvj4UOdiyA8lX2UnNjo5zTvSU69bUo5J2yJz5jRyzOhR9QZAx196HN+2uREiGV+SnwRxsyGbZ4/OY05KT8+5hAH/aJr8YSBLaYAgCAwSetMBnEy2U6g0DlJ+zOA+KMXcNqA7UY+6thQ5vzRbCLwzFs7xqbtuPw4Dv4HRm2Qn/iIMfQbl58+508etnH58UVPP3U28WLJiAeEYyU323T01qiPQqAQKATmhwBkJ7cs8kKhC+KlTGeeefqMQLxgCZJyl3jeJ2Qmq+r4MQLpiPBMtM997jNxu/1V8aNncAp79rOf225/7wc7//zzuluD0NwoiNG99torCNJNmskNP/95e2mS9ldedYXV7rgvfam95GmomEeFlaEKBIdv5lbHqhqJz3322XcG+cfjAHwkwJbxdvX73e8B3QMOPLC9ROp+97tfrJI8Ybj61Zhrs8w/FiUHHY8/WLONfbnklltW0+4dK4R5IdLz//QFnc+8O/64L43c1pr9qOfY5PvqySd1T3va09tq1McEqezt9ad+97sjzwh9xCMeHRe5wWXua1/7avemN72xH7q1eanKO97xrlZ/0IMe3FYbunoL5SDC4OUre+yxRyO4m3F8MB4IOMhahWeAjpMHP+QhHQS54rw4RnxBDLfq83iILNqhcyz2i/8VV1zW/piw8UYbxzNQ9whSb9v2AirtKJcsWad74AMfNFSdn1cjDrUzKyP5cyNM/c9JT92C5O/Jt771je7UU78zEnyDDdbv9o65r0py7BnHXziDiTbsi3vGM3shP1ixzTNJ2SDy2DjW3vSmN7eUu8ezYtcNojSTnf2xMAcxH8zhuyMmrDBlDtqMdPYaPK+SVYcKY4ZUZCU0cv84D4wjSFm5zMp2hHNNPjbd/86/GU346Nv025fHc5H5g9T0MbRNe2lUtgPffAxJkGJDXSLx0Fglzt0DWbABT16Yx7H4+c99tpHNvGhPee973xXE6nU2W3n/qWewtkYeDAp2dMhc8NeVOfz1X/9te94vviec+OXuuDguJgnHqWMkTx6j+I+McUIgfDedehY2Jo5ngnk8KmT8/ujbsz+c/3lxTZwk/Xz9dvZjBTDzZoWzz11mZTYr9Nle9rJXdAcf/Gvt+79XXO/4g9eqpJ+v357kn+1mfP9j/6PLNnOJg81cfPp2/fxzO/Imjaj0hUAhUAhMRAAeR+HHEBs6TvfyRv4XzHZ0tX702MM/UcdH/ou23JJ+/bhhMsIjwR3pZx86NsQ41Mk1W35syOdGDPNT0iYGdeIg6Pr5mZ+25sePjT7tKdFhq4zLp582CypJsFjSB4KBIh4QTN4JMVn0iuMQDGzZFA4KBB9IRO0FCz90xvQgCtVIfmLij72+UR0ZlzaT8nOwOg93rOMmP/Mmf7YhlnHN71ijazhX4tCvvRg6n9xPX55DNEsKgUKgEJg/AvxYXLp0WXsrPD+UubW+L+ggBRF+CHMrPj/+/eFxYayeu/LKK4bkKOQVzwYdJ9wW6QtiIJlcycnqUclV/K6IVTDKAx80TRCp23ff/dvqRlaXcfv8bMKjACBAkSuuuKI9IuCELx/X5e3d73rnkOTKJNFOO+3SPepRj2nP2xOb62M15EknndCdGy/5QZYEYbPZ1KpS2rwIZJdYebgkyOe7Wqa4h5G0fZ37TSMuMogXn0Fr8OlLmLB50AOnX5x0/PETyAmDpSDkz7fRPz/dmoteF378PmLqbdm4nzK1spQ6x2kWjrcf/2Swco/nlT74wYOVrT2zdnv23/7d37fn4+rP/H8zViIesP/gkQtEZoUw+fvy60G+PvnJh4/k5+VF/1+QNQqEu9LPj3505IHzVCJIQFac0c8ceCu3q6mNxy2xBz7goGGM8887z645l/0x9afp+BhWXo29Q3rBGvhDTP7ZC/58+HzYcQMwVu5bVf4D4oVu73vfB7r3v/8D7dZ4VpVngfAx7o3xXEZwmyTk6s8h52cOL3jhi0bmYGz3v4/5IIePE8jHH3/kUX7rt5/ZSCfb5CLHn//Fi7u3ve3f2/a02IdZ3P/qhvlVjClz/tztMYSOY+jvXvLyGcfQ0542OIb0c5UjbQhS8/Os4cc85nGatZLz2l/+1V+3l+7xfWG1POR0/oNAXonN/CEmn/KUp07HMYEagZ5q291Ta93K3//9PxzuC1aVc74eJ+7rPEbi5zGCfx7juPwrpp6VSw6OgUn498fAS5DE1/3B9SfL05/+m+07re68qe/0bPOfS/4j/+GV3Xv5Hv3Hh9qdDcYXk+VTLxjk+8+KfmXc/O2znEt+bM2l3zjdxOO/f2JKQRYzfwpb1UKgECgEFhMBOBq5H0viy91wlss/WOR+4IEUbTk1j+OfsCOGp27sictmfnNTYmfMqA65KvTZjj4E/gmhn3E5Xv/jhR6dbfmqULU89DmvSfmxNb+26BDHar/5sx4d/YsqeScsRmB2iGBRBzAG7kTcaZSIbXy0t26JXkDwMWaOQXxA1Y668ajT77iw0Zc68eyzHqqhjrpxqZufOkIs4nvgEIs6eurmj2qLY376x+U3viU2Ob9jJZ7zoF5SCBQChcCCEICUPPvss7qHHHJoe7HSs5/z3HbLM7fpcRs9b4p/2MMfNrw9/WdTZBBvo+bHOSt79o6XLF0aL5K5Lp5TuH28XInbYmcT8rH60hc5YYsuC888hIzdaqut2gom+s6NZ5Tecsut7RZ9VuCQm9VZJ530lew6o85z6ySeeCv2OIEU4eVLkKPcOs+8eQnVzjvv3B38aw9sLjvutFP39a99rd2Gymra3Zft3vS8xf7nsQIW2Xbb7br/98fPamODzDr22I83/V31Me5H9jhdHo8XFS40Wfixyxvkn/XsP5l68/jgAvftb39zON9s3+oGSx3k51EIEBu+eZruG+LZgd+L55HqsmcQKzy3EGHV3mmnndbqfPijmjFqD4HK27MRiHKedTpurtvFvnzLW97enRa57oxjlpfm7BUvCVO+8IXPThH85FE7mCvNP37Ws9tq08tipSjP4j3wwIOGeNwUj2L4xMc/OnTK/ipTSFXD8gP/+f7u1Ue9ppFbu+++R/dvMU4eacF8d955l/jDxWCcxDj2vz7e8WiD2eINA6fKuDGl7mE89vfpp3+/vZyLfv6o8KpXHd2dEavKeSnagQcdPPHRGcYbN7ZV5f9JfO+4FX7DIPiWLl3W8GDl56WXXNrtuNOObeWxcb/xja/PSlaRK8+BlXKvfvXoHPIxyLiNzfzxZyU8xyHH2gte+BeNAP1xvFH8S/HMXXScq74R3wtWka4bfwT52797aXsW8bk/+lEcH0u6Qw8dvMyN2LxgykdI0B4nw/yp84lPenJbuT0cXOpr1RjsBz/4H221aD6GmFs+hnaJYygf6xxD18YxpPDc5xNjNaYvPeKlS7z4jBfqbb31Nu08vdXUH8d+cdMvuhNjpTznfZ697B9MXvTiv+q+9a1vdpdfdlm7lZ+VqL5Er+VxgibtlXaDfxb3xwPjBYH8oQDB5Jxzzuoe89hRIrd1xgfz4TnXeYzEn22MOT/7H2l3Q0RJkxeH8Vze0+N7+dU451wSz52dJPj398db3jr9nR63P66b2h/9+bfJTiXK579Juc8888x2PmSV//Oe96fxmIM92zWTx9Mccuihw5eu8UiQb33zm8Mw4+ZPp/hTz/m1R98X8cv6cbqR/qlGzocqt9dk/jyWqhcChUAhsAAE5H/kczhdZk6HSxgbOnkqbLBH0CNeDY1jG1sISfJgi546gu24/Pi46WNO/K1Tmj+qTcxPn8K4ycNmfmOYHz2x0Pe3nNM6JaLtoDXNv6FHKPOYzINuwbKYBKkTYlAOmLoDVk/JpNBrR73vD7AI4LuTGC926BDBod731wd9rtM2P89sICbjEFBjkp+6Ox8/lzr3bY1HiTivQWv6wEDveCjJT0z0bPizUZdkJb/6nB8dMQa9rVIfhUAhUAgsDAEIGZ6tuf3227eVkE944pPGBrw2SNFTTx3clsdzIX3hEkTn4Yc/bazPOOXll1/aXvqy9daDW1B52+/P4+UeWVhp+omPf6z7wz/8o0akQlyyZbkjVjJx+21eeZr7redVYPyAniQ//MEPhjnIdeKJV3ZnxNuzHxQ/0HkkwLJlu7et73/qd78zHAOEKsQt4iMI+vYLaftDcSExsu/Ij9DcEXV+2K5YsbI74YTjumc8/bdbLxehL37h8z3LuTVZLZrJKQhO4pOHcbCCTYGYhaDvC/mVr3/tlO6P//jZjaTad7/9gpwe3F5sP+VVV1/Vbl3nRTSQQH05O4ig9733PSM/xrUhF2//5kUnPPM0P/cUG4gGntHJHxPmKzxTlBcP/f3Ljmjz4Pmfj3/cYTPCgd2HP/Sh9h+DGZ0LULj/LS+88IIgkk/tDjrw4JaL747fH9LcGf9ui8cJjBBgC8zP7cAfD5KZ7zr/ueEYyceJ4Xkh0mc/82mbE8s8B4zGzYEVkMxh8B+qwfEnkcMzNe93wP3b/DeN25Yh39kgSDkmWM325n99U7zcaIv2hnCeiQlebFnA6h3veFt7PEnW57q4tzJ17LTjTh3bbMIt5ldffU1bBbo6x1COSd53vP2t7Q6BA+OZrBC+7RmV++6Xzdpt/G99y5uHL6T63Gc/0x4zwirJLeI5l7zMLQtkqo+gyPp+nfyIOAxag0/3B+NRwP/wp0y+1nw+/tjBdQmZyxjvcY/N2j7lQDAfvqwo5w9k/HEF4REjbCvvWNF97KMXNd2kD1blznV/fOiD8Z2OSY2b/2Bgo1mY/yT5Yryg6ZBDDmnkPsfk4x77+LZlewh7nk3KrfeIeS2zbcZD/Wz5tVmd0ryW2XfN5fdbn7NVvRAoBAqBBSPAyQUuiR8BmcuB44HYhOdBL/8T1VaXs8qrMeWqsPekhR9im1MyOv3po57zo0My/4U/vpTZ3zGHuo2VfnSKeS3RZ3/ajsWxmoc4YIO+748enT5RHRKwc82fffFfbXHgq+3Yc2DCbIgTzSV9DNZ81LXPJaC4oScGPvpxsOQdpi39xsHHLaotL305P3GMS5+b8SjpX0j+cG9iXkrikmtcfvKZX3KU/Oqi2vyMR5u+acRboz4KgUKgEJg/AryQ6MMf+kBbzXdbrOTqC7e4svLygx/8z/hhNU1kfupT/92dddaZ7Zln3gK3csWK9tZ3bz/3tr5+zHPSitGzzj6z393a5II4IbfPVNOQFYm8iOKCC36qamzJbe7bBfGLXHzxxe0Zh2MNQwmxwoumEG8v5nECvNzjJz/+cZsnfcyVDcL4v//r2JHnlXL7LasfweyMWI232CL5OikuPzRXJe4rTP0R6n7Pz0o0znFf+mJbCUf74iCpeBxCFuK5n1nhO0m+dsoprcshQvqZn3LP9OKsr3715ElhhnpW7brymOeW3vvee7Yf/EODqPBCn6Ne/coOck0h/4og178S+SEyWG3mOLSxPProV3WfjefrrgjCPsvl8fzQf3nTG9tqxazP+IMpJBkivtT7+LOK9nX/9JpGdNGfhVW2n/zkx+NW7bdk9Uh9JM+tM7+/Gnvr+e2xWppbkPP+d/6M7bWvObr7zGc+1Vb46kvJnP/ptf/YnXzySU0N2XLb8ul8xCem8ZtR74PjCxuOl5UJ9//572O7fzjyiLbKuI/11ddc3UF8veTv/rqt9DXk7bevaCQ1becG/quaA/NjDoyDP64wB+dPLP7o8u53/3ucW35Gs61ubZX0wfebOF867osj/cQEF86LrzjiZfEYj+OT16Da3/9oyZ+PkRlOYxTZ3mPoJ0HO9aV/DPXzc/zzPeA4v/mWm0fcf3nzL9sK4pe+5G/jPDf9PFq+d0cc8dK2v/hDgUL9+Hj8BvtSvftGG55BjQzI9sHxw/xZRez3JZ+Hct0Yk8pb0/G/qjEeGWP0jzA8xzXL8jgmXvOPR7VnnTIujlfGlr/fzot5ciwi9rs/IEv74v54a3ynPe4s81xzPce4Lb5Dyq23Tde54+Kv/vLF7U32/T84coyfGyu12S/HfvITzZ1j1byWxp1v6fxn8+8ff9jelfnXXXfwM2q2MVZfIVAIFALzQAC+Jq5mcbGQr5nmfzjx0If0+Z/MP3mC4sJqPPzQuxmHPG5RHdpn3oiLE/bkoHQzFuW4/PgtFv9mTkqEMuen3S5JUTIWJM+ftvbGQocPYjlozfPTwc3TvbkxeMEnnnV3JEbWGbSTVZ/b6BDtBQnCkJ0DIOaI6nDHmlP7PCbsANY8lsaxjR2S9caT5Te/Ow57c+U+dHmujI9+dNpFddg2HvkQfY3NylHmkIlTbE9/xtOfummU7TYjypJCoBAoBBYTAVbbcWs7z1PjpSncxj7bKk1IyE1jFSk/PLjdnNWfa0JY7bNe3OIMAZmfE7gmco2LybNOeZMyP6r5cTxpDOuuy2k7TuBrAIedd961u57VtnP5JZomgflcf4TyA9aVqvp5wbKdQs+pit/BBx/cvfzlRzZ7CMu/fPGfj/VdaP599t23O/qo17bYkD7ve++7G1ybb755t8kmm8QLyTborrziiomE1Kviluz99zug+f/BH/xud3OQREvi2GZFH8QY23XXXRsxQWVuMlfcNttss3Zr821BfHB8XXPNde27txj4z2f/86iJddddEuTV8u76Nue5H0cZmbnOHx+OPR6DsCL+2MIzR8F/IfO/13bbtWfRsmqU/bYqyccfL77h+35HTGA5BF4MpI8jL33aNlb+Inz3eT4ux0iWcX65P9dzfv1WZ/4cQ9tss208K3pwjrr22uvaubw/7pzTOudwbq1nn3Nr9pVXXhldA9qy/ed4zPx5NALXDF5MdcUVV8bzSadJc+M6D9uzlQud/7jYvFhwyy1nH6N+/fzrr79ut374LwkAf/lLCGT2xtxl8J3eNs430/sDUnqS9POz31Zn/xuXvJtueo92Xb4sHn8w2zVcH8rFyj8ac+b3Jvfn+prMz7mFY/WSSy7KKateCBQChcC8EeCdCMix//UpLhA0uFzKU3H6ZpOXQq8uqk1PiQ82cEb8iIIPQrK9NpTWscOPtnmomz+qTU9bG+wQSvW0qfMDhv/AyF0RW8k5cz3HcOzEdg74a2NuY6qnTR95xcp50IfYJm6uG4Ny3jL45TZv9+boQGi4U/KgqDNBJioQlkyKficnCNgjTFg/bOg3VlRbv8Qpbes5Pz7OU/1s+YnPRu5x+YmlP/3mjOpwybL96MhpfvWW4+aPrfMXF+I4/9FYjhCLkkKgECgEFhkBVp/0V6DMlgICASJ1TctNcdvm2hR+YOYVtJPGsiaIUXOtv/76jey5404uc3OXPjkyjrBQJzlKdP247CC2B625f2600YbxLM/nDB0+/an/GdatrMn8jPvGWI3JhpjL3FnHalTF+fI4B1bPzleMo/+k/PyBga0vjqgfp283qd33m5Qfu7z/uc04Sz9O7put3vebLT8EySWXXDwSbiHzv6qRfCPhZt//abCQs1lS11DNYyJW9ZiFvt9s88/467c68x93DBnHQU/Kz8ri/j7HZ7b8rGSFFJ5N5pofu4XOf9w4IG3zGCfNf1x+9u+KFaMra8flmKQbtz9WJz9xZ8N/dfJqe1fkNxfl2t7/0/nXaX9kzWOreiFQCBQCi4SA/BOcj7yPJTyP/3GH34GEpJT/ieoM/ot+Y3EZkHykrr88V6hafDgjdF429CcW+dEbi9w5fzRbPm3tI4Y+9CGSqOPymxM76ogxzc9Y0JkDG2KZizr9+uOX5+Vccv4wmb9Its0/wmDADNQdzeTYaeiYCBPqD9gJR1cDw35XStpvHAETHEoEO+ZALg8UbD1Q6KctiLQR41O3n/oGsTkP2rPld37mx49YbI7F/OaNrjZWbWmbn3jkZ6zYM0fzU6c/z3+QP0cOg5JCoBAoBAqBuw8CrKJdvjxftgZz90ev5WyITP9gjItPOEBKZN1svpP6zGuJ3UEHHdw98Ynxwpl99h2+OZzngnJ7vbLY+dvV1OATyjzXxc6f5z8h/QjWlX/NHX+F/3gE6vifxqW+f3ef7x9/YMwE/PRRULVCoBAoBBaMAPwOLI2bHA78DUI//3mnH/4Hzkehjt4YlsRA8JPDk3OivTy2AT806JdTIhZ6+bCoDvOjl//SzrGQl37Hbkmcfn5sya8NbewQ4iK0nQP9/njp83/qyY1QEkNf46DXlniMW9uozl9MNP8Ig8kyUAZEPAZKKRhRbXX6GbwTpI2fE7ONDhs27PMYtTEGfdizUWcjnnmi2oR+fNmZxqUNkPQhxqZtfuxzfvNpb7s/HvMTE+nnJy59jDXnN68ldsRS8KEPoZ7H1pT1UQgUAoVAIXD3QIBVtJtvvtnYyUp6WELUKaP11BEG/R+MEAbzEfNaEmb/Aw7oHhAvf+E2XIRnGr7l3/41bt/1Mrj4+duVMnLlWeQp9ec3Y/4jnm3Yc/pw3pajOadDrDJ/dpx2W2XNvJY5zGg9I7P4+Ff+wa4axXx699X+r+Nv+mio79+M82/+4mSgVlH3vGOZw1jn2rm270RZxTSquxAoBH7VEJD5GYyb/9zC1fiSbTid1eV/sGcjFhdM6sSkzkaduJP4L/rhkxDzry7/NS6/4yE+m/mn/0M/PV7yM9acH3vE2MZzTugV6s6XOvmwZ7NNPPTYLVgEbCGBGAyDc6LEcnKU9CFOwjp+TsTSSVJmeydr3Jwv58927ATza48tQmzqzp9+BT0bNn0xP3rmi587G3vzUaJHjG082tTpN7/jClXLPS4/fjk/MYyJX0khUAgUAoXA3QiBa6+9tuO5kDfffEt3Ey+Uil9+/R+YwsEPRX4YUvqjkb5sb78+/f6s79e5OK0q/+WXX9Gdetp329uxee4oL3C57NJLh6HWRH7i8+xR5LRTT23l6sz/5HiBz4UXXtitiOdITnpRCkHnMn/ntzr58/5pg5/wUfnZCf+7j//a/2v3/FP4F/5e/3hO+qbxHPOLLrp4whm11IVAIVAIzAOB9p+x5gdvwyZfhJJedPA/cDjU9YD70T6qI4KNXBHxctvVnjrAL5kHXc5PTuKQXxtKJOdnHIh9lOYnhm3scn70/fzOM7ranM2vHh/imF899vQh2lBnPoj2ttFhh14/dPMSAZiXc3ICDAaYB5UHJ1joHLwAsJMAF707jD7b1BHBQ49QEpfb6WHmsevnd37G1Rc77YnhzsUOMb9LfonD5jywQfTN+dFja3z90CuOk5IY7lziMEY3lzwTQ9uoNsHmjGc846kbY33OOWdNqasoBAqBQqAQuLsgsNVW23Q77rRjx4s3fKOxRMBcMOBCwgVmrj7aE3uSzyQ9Pn0x3lx9tCfOJJ9J+n7uFiM+av6TsexjVvgPjpd27AQYmewWqzr+xuMiPrn0eJorZtoX/pO/s3PFsmEYH3e389+GG24UL37bqbs0/nh23XXX5MOx6oVAIVAILAiB9JKmmyLQr8XGZQtOiI3TrZwP/A8cFnr5JfrY4KMo8UXkrYyDPbeza0dc+hD82mk9Suz08fKpHX3wX7SJox3+8l/6mJ82G235N2LQRo+Yn7rzIrZ+1BkfPrPxf3Jz2pqbkrjkscz5HUd0z18IuBjiYBw8MZkQA3fQ2tCnoBNI7KmjwydPmj7Efmzstw+dG7bG6OfHRmEnERObfn4POvLQZ39UW56cP+c1Pv1sxEbUUzpmD8Z+fPxyfmPk+Q/6jUqGkkKgECgECoG7FQL8wLvxhhu77bfbPt7Kvmm3ZMm6Y0mbSaB4MZrUz4/tLNlecmiGTTbKzmPqqzKdETvFqPwDMGZgtCpQM4apPq46I3YyKvwHYMzAqPBPR8ns1VVBNQPbFK6Ovzr+QGDGMTLhoOLauMkmm3Tbb799vGDxhiJH03epqoVAIbDoCMjd+L9oS85Q1OF0qGOXCUTJSvT0s83kf6a5JGIZO6pj+S9zUiI5f45PTslR82Of84/jv/IYMv+V9XmM8m/k7uc3PqXjHZefcRkz58EH3wUJk1+oOHhiuRGTwbrDKRFs2Whjy0Hg5Kgr2tu2VI9vrtMPGOY3BzbEB1gEvb7UF5rfeJTmd6eY2/zYaE9fnj96DkiFfu3V0SZWjmFflYVAIVAIFAJ3UwR4o/rNN9/c7bzzzt22227TfgTyAop11/VyNA1M/jGZ65IN05Zzr43z7T9b0Wg5Z66Pi6HPqspxvpXf/1qNopcxz/VxGI56Tm6N8y38C/9xR0w+5nJ93DE0zn+cbpxvHX91/HGsQIpusMEG7ZrItXHHWDl68803dVwzSwqBQqAQWIMIcBKWf4Lz4T/k6OBx5LxyPdTDfuoI/Qi8EEKMXFeHnhwIObQxf+aOzOlFwrHgqx/1LOrJkevY4I/e/PSz5fnPN7/zj3BNcn77zG3+PH/9VrvMoKy285SDg2Wg7Ah3ngMFJIGhHz3tPAHqbIr9tNWj8xZ089BPPGzoZzkuc8r95MeGTb3x6UMm5c96fLjlHR1+zBPp55d5Zxz4zJafWIh5sGdD1FFXL4lKTOPTX1IIFAKFQCFwN0Xgzjvv6C644KfdjTdu0+2yyy7dZpvdsxGmt8dzM1esXNHdeYeXmj5A6AeXnDvbJYcWbe29HOk3sBrYhFUwHINnZBon+qM6rdOvH0e9fmQc5Kz8hX8df4Pvgt9Nvy1+S+r7Nzif1Pmnzr/T15rBeTNff9ZZsqRbb90l3frrb9htsukm7bRy8cUXd9ddW7fVT59TqlYIFAJrCAG5Ik5O3I4uF4Xeizwl2+CiFpWQvo4++Cf8vJ2dWOjhtRD08m+UxKDPnOTPemIh5hq0BjHVUTou+TfzmJ842PT5t0n5scVHP3OFqgn96igRdOSjjR91hNI48nu5X/9mvLofi0GQunMciDuEdn9Sjo8JkNuJYZv9BAL7DKagsJOxJwY7BRs39B4E6KybK1Qtb86PLvvhI8jmp18xv2QoesaGreNy/tgi5jce+bFxrubH1vzYsmFnPNrmF49QlRQChUAhUAjcnRHgdvuf//z6bqutto5ty27LLbdsq2fyi37ayqpYctUuLFME5zTRMBM9Lzy5J+v0zTps+239K38gU/jX8cd3pL5/7Y8p4uA5IpfjziNZp2/W4d9vG7POP4HM3eT8w1/rli9f3v0yXmB46SU8b/Ta7o478k85j4oqC4FCoBBYdAQy/yNHBBckhyO/I99kyUkq26vnsqYvJaSnlzpiyT9hL1dE3XZUWx1fY9ovF4Wf9ta1xd/8cFjkR7Bjk8diTAi21I2Hjrr58UGcL7aMQ3vzO0ds7Xcc6MyX4xib/nkJE1yoMAg2J8YAEdrq7G8dUx8AIFDqaTN5JymIlJkIFQz8sGczV85PPOZofv3MPVt+fMxPDPNHteWiHyG39bzD6GMs5qdNPoRxUKe0nxiOJ88fG+NiYy7LUJUUAoVAIVAIFAJxEYkfgNdcc1XbCo9CoBAoBAqBQqAQKAQKgUKgELiLEJhmaOCI4HbY0FIicDv0IXJC9lPSBxcE/0O/Eakr8k/E1J4+46Fjo1+/PA5iGzfHQEcfOstsF+om5if2uPzGNzdO/fwt0JTeGP38ff5NH+zYxuXPObVfrZLBLFTyIKw7WAYOGLnthMjbB5c+Dght8NU/xyKepKU5QzU8AMwn2LlNHHYaQj+b/fPJz/gU4rgRlzzMx/jozJ/L3E887Zx/qIbjpI79YP5EKSkECoFCoBAoBAqBQqAQKAQKgUKgECgECoFCoBBYOwjA0ozyP/BBcDsuipPnwdI+OB9YHTbqgyij7Wn+Z7o/TIfcE/3EZpvEP0VX6yeP9tQz/4beMeTx5Pz0Z6HPeLPxX/jk+VvP+YltfuytEz/Hpg9Bj5ifMS9IGNRCRYCJwwQYOAN0kOSg7uQokaynDUOMeKDow8GED/Zs5KM0l3FC1XTYm59YbDk3dWOYI1TtwKDEn5gIttxGn3PRZ/5sG+qhvfmxc/yOgT6EPu1o9+ePjn79zcvYxXjdZoFlSSFQCBQChUAhUAgUAoVAIVAIFAKFQCFQCBQChcDaQkCuBi4HDogNyfwPnE6f/5EbyvwPseSBiCP/hC0iX2QbW/3lnyjlv/Cx7QpNcjhmc1CaW/5JnbbGIp9jJz/92OYtmsP5o0fGzZ8+x++8HTt96Gg7X3SOBx39C5IFB4jsDoiBEM/BUjLgPJFsC1OMvf0AwWTRo0Owp02JoLefOht92puf3ObXn9juvKi2OIuZ3x3Xnz/5nZv5naf5mQNELG3nF9Xh3PBDxs1/0FOfhUAhUAgUAoVAIVAIFAKFQCFQCBQChUAhUAgUAmsLgUn8U+au4H3kiNDDIcERZf6LduZ/5Lfkv2bjn7ChX/4pqovOfxGTeTAuN8e7mPmJKUaUxCYfYn7q4kN93iLxNu8A4cggEQbkTmSg1AUqqkO7PAl8GQPssROlRI9/jsGBRts3aWljaf58QIb5ULDDhvgKOvObq59fP0rGLma2zWtJfmycJ3qEknnqTz7zO7dQtX59tKFtPuaPoCNHSSFQCBQChUAhUAgUAoVAIVAIFAKFQCFQCBQChcDaR0AeBw5HfklOBz7It8szUvrhgxA5Kerq5L9sywsRD3v0clzmCFXji+zDB6EkP7yUfJXjC9UwP3HMZ377ieE4c3512CHYEcc86iblx98YeR7Y26bfuaCzTY7sG835CckWKgwwD8iBOXABx0YdNoi2lOwAbNyJghCqZkcfQgw2famTwzZ2+qJjjtgYG52irX2WxDMGtvjQR0ks+vQ1P21EPfMwv/bY9vPjg855U3oQ4IfQPyl/M6iPQqAQKAQKgUKgECgECoFCoBAoBAqBQqAQKAQKgbWGgFwO/A38DwKf40abPvkiStv0aYcOgRPCBqFOTPvkotRjQ35jjsuPLTm0oZSzw76fH51xzEN+7GhTVx/VGfwbOmwRfSgn5ddOH/Pra07blo4R/3mLwM47QDgSg8EwQQbLpjBY+tRn8NDhgw3CTkEs0dtHDOo5djRbbuyJAwtunqg2e3wEij5sKR3TqvKLDz5zzR+mQ9HHcZnftvmx40C2JAB1N+wdCzpFne0qC4FCoBAoBAqBQqAQKAQKgUKgECgECoFCoBAoBO56BOSa4HDgeBDqiLwWdbgh+R9KuB25Huxo6xfVJviwyX+hzDb444ugl39Sh58cEn2IJb45P/V+bHyxJ16ffwtV86cPv35+2vJfUR3mnWt+fMjPRg5imSeqTRy/7dUuBWe1HXsOGUy6aDtRBm0ewaKtj/0ZLCcbZi2O/tgSA8EfO4R+Y2KT82Ov/6rya7e6+ZmrvuPyi0XOn8dLfXXmz/zw4aAsKQQKgUKgECgECoFCoBAoBAqBQqAQKAQKgUKgEFi7CMD5wP/A2WT+hzab/Bd9tBHJRur4yh9l/ivzP9TZEPmnTMbaN5f8jKGfX/+cXzty5vy06ctj1n+2/HPhv4hNDIQc8n/U2ZScX928Sgc+L+fk5E5259CVJ6KpQNJnbiajP3b0eVBQZ+MZDYh6dj4+iv6W6PFDzGOdNn3qx+UnPrlyfuzwoW9cfuzNj20/v/45vzr9wq355Rz0SYTiSx7z419SCBQChUAhUAgUAoVAIVAIFAKFQCFQCBQChUAhsHYRgK9R4G/kf9DL/9CPHoE3gt+RT4L/kf+S/8nPAY3uxjtpjw1x+/wTdtjQn/kmbHM756fO1s8v/xRdTfS3RDkuv+OnjzoyLj/jZDO//Be26GfLjw1i/kFrnp8Ocp7uI26wucYDKDYGKwC0EUsnIFtNmz5iEMs6bQBRsHOH+cIi+vr5aef85jO/5ary93dIP787pJ8fO8bu/GlrG9XhDnTnMx428k2av7HwoZ7nH82SQqAQKAQKgUKgECgECoFCoBAoBAqBQqAQKAQKgbsMgWmmxxrcjnVK+ajMPzE8OCP7qMt/6U+Z+S9isfX5J9v04WNM6oh8VM5PH/n6/FMmZPHL+aPZxHw0iEPbsfXzo3c8c8kPJ5bHjQ+SecF+fuzJsyABjMUQgXDSxBQEd4Rt+/RhDABAG8GeiVMKtHG1wR5xRxkLkBRs8HNHkUeQtafs58fGHdLPL17umH5+xxkhWgzabOaxnziOIedHh83qzj9cSgqBQqAQKAQKgUKgECgECoFCoBAoBAqBQqAQKATuUgRkmkb5J/kfuR95IfgmuSX5J2wz/6QP05D/kii0T65LG2Kokw/T1pK88E228dE25w/10Mb8ff5rVfzbXOa/qvyMQ6z68ze+Y81tdKstJlptx+QAiIBrSZ24lABJqaDHzo0+NtqOJdvQR5uNWNgxafQCiS7H0IcSH3dmVFscc+tnPu2MlfvH5affMenjWCnNb72fnzY22VcdsRHzOg/0jsv5N8P6KAQKgUKgECgECoFCoBAoBAqBQqAQKAQKgUKgEFhrCMDhKPJFmd+x31I+SJ4nc0Do5L+oG08f2tTxoaRtPapj+S99c35siY/OzVzmp4RYdZzaj8sfZk2IhZ0btjl/bhu3n189pfGMoT966ox5QUKghQoDRRgQQhsmGQDto45QOmhy08YWO22j2mLJatOGKTYm/rQFQb+cn7hs9slsU66J/O6YCN9yOtacH5t+fvoZZ1+w7c/f+TB+4zjnvn+1C4FCoBAoBAqBQqAQKAQKgUKgECgECoFCoBAoBO5aBOBu5H/kdWbjv+jjtnY5rj7/Bf9jnxyTXBBt+into43IG1GfLf84/glf5jGJfyMeYn75KnQLzY8/G7HJQ50xsjnH/vxz/jCbnzip+XlPe3kAoGHADtY2edyYHHV8EAlL/SjZOCicpAcVtvQ5bmNImEZX88nAYYMfPpTkp9SXOkJcZFx+DlZiYpvz60N+50xcctmX8zMP+8flN0aYrcb8sxeeJYVAIVAIFAKFQCFQCBQChUAhUAgUAoVAIVAIFAJ3JQKZ/5F/Gsd/MSaZHLijcfwX/BGyOvwXscib+a/MT82F/yKv/sQbl9+xy2+N479mm7/2Eb5xZ3n++BHfcedc2JNTHXGs07cgEfCFBGHwDMpNwBm0g80TIBdt7DLQ1NkgMBH7KJmwxKp9xGBz55mftgChw9/86NHRRm9s2u4E6gh9iDbsMOeGzjgZQ3TmdwzYGtP8jsvY5s+2jgcf9Oanzmb+QS0UJYVAIVAIFAKFQCFQCBQChUAhUAgUAoVAIVAIFAJrBYHM6TAAeBv5Hzki+B/sELkiOR718F/ao6ONrfwXdeL2+ShsjWlu88MxUacfO+Jra1718E85P3ZsxMDG2Oa3TR92+pqPtjnoN89s/J8xjEks52A+2ggx0S1IHOBCgjgwSuK54xycAyYHE3RjAoCuvxOiHx9K+yQHQ9V0PBzWfOaxPSm/ed0ROT9xx+VHT9ycH13OTxsbNsbdz+8BE11tTuY3Lnrq4/KjR8hPHDGhjSzG/htEqs9CoBAoBAqBQqAQKAQKgUKgECgECoFCoBAoBAqB+SIglyX/RBveBr4HrgiOZxL/E12tDzv8EGzln9DpT2ncPpcUXU3oZ2Ms2MgjjcuPnbEz/4WOtvm0sS3/FSZNHDcN8vbz698fs1wX/eTDD6Etbtmmn5/2gsWkCwnkxACCuoOmRJicOtrkxFagmIjkHxPHFh8PCuycLCW+2OuPnbb6YzdbfnzdxuXPMc3vHMjvLffosu2k/MYI82HenN/nTeCPfi7zJ/dgjoPPaJYUAoVAIVAIFAKFQCFQCBQChUAhUAgUAoVAIVAIrAUExvFfcj8wN5l/kj+DB6IO18SGDUI5X/6rBYgPchODMuenLX+V+adJ+fFlw4cNO/0ZJ30IsYjtHKi75fzGosz5sUW0zWNHtyr+sTnP98Pk8/XHj0FmcGxnQIzPZACREiE/dugQ41B38vRBICLoAA8fNtrEoB876jm//aFugg3s+6T8EK+OBV/s2Pr50U3KzxiYB/0IbYR4c82PLRsx8Mn5aTt+bKYztUZ9FAKFQCFQCBQChUAhUAgUAoVAIVAIFAKFQCFQCNzFCMhJkRbeps8/oYfTgcuBN8rcDvXM/xBrNv4Lf+P0+afomsE/yVORA1lVfmKTn3HJf+EziX+LrtXiv4jlWMjl/OHlEOZPf87vfNFTt+38QzV/kbybf4SBJ4MhloNysPQyGfqYPJt2AhGqpqPEXztKhZ2CEMvVo7SNYX76EewBCsEm58cfe32jOja/O4V+8+NnfuIbo58f/bj8+BpX31DNmt88lOYXmxyDOCWFQCFQCBQChUAhUAgUAoVAIVAIFAKFQCFQCBQCdz0CcDTwT/A+8DY6RGJSAABAAElEQVTyP3BVckTyOfA71N2i2kQ+Cx/ISOIh8j/6TeK/jEdJfuz1jWrLR2kc7dEh4/gv9MbAjzFNyp/5N2L38zufVeUnPuPXvp8ffwS92DbFfD/cWfP1x4+BMHAGLYlnXb0TUe/gKfWxZJLW7ReQ6Gq5AJk+hJL46LSzX8BzfscQ5s0358JekHO/cdExJ+Ir+KvDzpzWKc3vGPFxi2rz0Z5YCjrsKBVz0aavpBAoBAqBQqAQKAQKgUKgECgECoFCoBAoBAqBQmDtIgDnA/8DbyPnI6/DyNDBGVFiI/8kD4ReUjOqI3Fo0w+BSUw2+Sf08mKT8mPDNi6/46A/812Mqz9+8mPDNim/OcyZS/vy/NVhRz4FG33RUc9jws/xoV+Q5MTzDeQgGJiCzrYDJhf1rJcZR2ecqI5M2FjYcKAACDvcWPoZN7qav21Kcrvzsp7lzsRDZ5w+4LPlD7ehH3VFH9uT8ntgk99xrU7+gQ8eJYVAIVAIFAKFQCFQCBQChUAhUAgUAoVAIVAIFAJrCwE4mkn8T59/ksnRJ3Nm6Pr8F3OStxpwQWimubFBa/XzE5PcclHEHpcf3bj8mf/CZq7zD9Mmi5nfmPMqGfhCBeIRIPPOJSbAIJT0CRQ6CE599KOUhTamPo4TQlHfqA7t3Zno8HGjLdiW6CQms99dnZ985qfOxheAuftFiOrw4KLuXwL0w3Yw21apj0KgECgECoFCoBAoBAqBQqAQKAQKgUKgECgECoG1gIC8E5yUvFbmn+ByEEq5H0ras/Ffma+SDwqXIfeFL0J+bB0HOvKjy345nuM0P20k82/ZPsfBxw2fxchPfMT8thmXY2U8iPO2HGjn+Wmiebo3twyGQAmoO0FSU7DsJwD+To5+NuzZEPvR4wd5iOCDblz+bIOPBwT2+Nkf1WF84/Xz60M5Lr8xKOnP8ambH2yMNS5/dLd+81MizA+hnJS/GdRHIVAIFAKFQCFQCBQChUAhUAgUAoVAIVAIFAKFwFpBQP5Hfokyv3QbXkceDs5H/kf+Sx6IEt6IjRjG6/NfxJJfoj4uvzGie8h/UTe/Y1BnOY5/6udnXOanPlt++vGnRMyf+T90COVc82OHGHfQmsenO2YerkMXBu5A+jsVIyemDTpBJb8A0K8/E6TPDXvq9OtLiUh+UmfJMmJM6vjkAwKdMeaTP/tT7+dnHpPy0ycOzknb+c3faIykpBAoBAqBQqAQKAQKgUKgECgECoFCoBAoBAqBQmBtILBY/BOcmPyY/BXzyfwTdUROiXrOL1uk/3z4L30pkZz/ruDf+vmZq/MSnzz/Nsj5fsj0ztcfP0Duk3uCxmTcCdgIKhNAj+Qdv0G0mSR22BtHRhgfY0a1HQiw8drSjy07SlvaApbzGxMMzEl+bPv5HasxKZ2P5Csx0Jufkjjm1z5ULcd88+NPnsFYnBHakkKgECgECoG7NQLrrLOk22ijjbqNN96k23DDDbslS5Z066zD5aekECgECoFCoBC4eyBwxx13dCvvWNndvvz27pZbbu5uvfXW7s47/Tl498CgZlkIFAJrDQF5oMzUcALyP+T0S2zCP1HXFk4JW2MMOB+5n2nyM0yGnBe2y2OTb6Itp0Vc9LSJhdBPHmRcfnywQXJ+2vjJITJu+rGVf4tqa5MPcV6z5Sem4xSXcfmxMQ5zcg7Y4uf8ozp/cXLzjzAYJINxY6AAxeDRIUwGHfnQO2FstaGkL/tpF+om2OhDvJyHuv345TjmhEy1ji1AmqOfnzEzXkqEfm3wyW3qjofx4WcZ1ZYTHX7E0x8bRH/62GhTmt+289WfdkkhUAgUAoVAIdBI0c033yJ+BN7ZLV9+W3fjjTd2K1eujIsJl5OQqatLu6BMqeBOp6rTFa84UWqbOdZmPxVrEHgq9rARFWOgo45M+RgTVeWfhn24I8QuSrEq/DlaBlLHX+BQ37/p8wqHRTsoBsdH+/Q7RIM6UuefhoXnFCD5v3z+XRJ/LOQPhOtvsH53z3tu3nFtvOGGnzeylLmXFAKFQCGw6Ajka8+A/8n8EPwNApEph0PJ1SlfxeR5Qt2EqPJf1PGBz8LHmPRTl7CM6pDzwl5eCp9MZBKPWGzUEeLQVrShTSzzOxZK81PSjxCDWPBZ1qM6JDKpGzvnwyfjYXzimhN76m7mVR9d8xcGvFBxsAxMYVLoKRk44sCpM3j6BQAbbY2XJyhIxg3zFo+SGPib31g5Nnb2Uyc2/c5fH0rzmzNUw7H182NPHHyIT7+xjE0f+cxPfz8/NvpStx3VYTzj0ocQjzglhUAhUAgUAndjBFg1yg/AjTbeqPvlL38Z5Ojy9sPXyy8Xj1YfVAatYf3OuMhMNYa6gXkzpJr1dvV0htCnlbPYTMes/IX/1IGSj5dUnz5WBkdX60r9Y481lLPYTMes46+Ov6kDJR8vqT59rNTxN/xaJXwaKv320HCAWd9mGtM19/3jD4UrV67oVt6yorvl5lu6DTbYoF0nN9hgw/jj4Q21mjTtmqoWAoXAIiEwzR55VoSvsS7XkxfsyeVkfifbMzD85Ibkk7R3taV2kpHGyPnJhR4bx6KOePRle2fTz28b+37+cfybYyEXefIYHYfzcTxh1sZoaX+ev+PFBnFclAsSSbyFBGEigIEwUAeFHmEi9tPn4AWAPsBFrx19xjUOsQHH+FFt9vjmh96iR9zBlB4I6Pv56XPnigc25NWPNvkZn/lt48vSZASdQl7GS8n49KMkDvHpJwc2SJ4/dvT154+dsu4I4mqrLAQKgUKgELjbIAA5ut5663U3/PyGNud2S31cjZYMf4XmS1Mfltn6+rZrol351wSqc49Z+M8dqzVhWfivCVTnHrPwnztWa8JyTeO/TndHEKVkuf325bGC9PZu0003bUTpDTdcvyYmVDELgUKgEAAB+Sd4HDZ4HXmhqDbOh5Wc9MH/cJrCh3bmn6LZ/IyBHXFYhYodgk6eSU4Je4lY6oj5sScn+R0XOuzY6DNeVJsfbXX6Zv7NPvIby3kQk37yUze//J/zwBc7/aPa6vihNwf5saVEsLeP+AsWB7TQQA7KwTNQtv6EyKMtdSeBLSKo+LE5eX3sx1ZwBMXc9Jk756dfW0vyE1M763PJD3aOx/FZmt8dpz5cRsT82CM5PzraxrCfNvE4KLl3sqQQKAQKgULgborAJpts2lbG3HTTLwKBuCAEKZqJ0SFHejfFp6ZdCBQChUAhcPdEILjRuB7G3GOjzqrSm2/+ZXePe2zWce2kXlIIFAKFwBpAAC4JganhLGSJDv7HtnwPenxsU9fOEht4IIhFYxIHMZ4x9On3Y2sfMRD4JgRfNvkofWmbb1x+7HL+PHZjWIbp2PzExw9ZVX7Ha0xKNmIYR5tQrb44kNX3nPZgIAix3GgzUHcAJeKgaVOXWaYvk7Xao8+injy5jg07LOenXxtBWuz8xjO/Y6BtfnDo53cnru788UPI49yaoj4KgUKgECgE7l4ILFmybvuhd8stt7QffzxvDXKUFaSDbSYe/EhUcl1dv5yLTd+HNj9Ex0lW5/o4W3RzsRnnW/kL//HHxbR2LsfWXGymI07X6vir42/6aJiu5eMp16ctRmtzsRn1GLTq+Bscf/yBcPp6GH88jGskmPLSJkhSrqElhUAhUAisAQQ4CcH/wBWxyd1QXx3+B3s5n9n4L09m8k/hNoN/om918xOnn58YjAUh7zj+zfljo/188w9O6IM8joWYiLkdD7baNIP5fBhsPr76EMOBeyDQRs/gqQuM/fo4AWyMEdWhX9YTg1WTlMYxrr7qicsOo586+djsn5Qfe8RyLvnJY34Z/Un50Ttm8tjWH5396ijVjZs/PiWFQCFQCBQCdzMEuFVwxYoVbVsytUym3V4/Cw55RWmuc6EZ92M82/TDjrP3h/mkceR4uV75C/9xx1M+Rur4G0VgHF71/Rv817nOP/6MGT1m8vcp1+8O51+PCa6VK1asbNfNTTe9xyhA1SoECoFCYHEQGMc/ZRKTk/TggjXNO8lPMQL6sGGD/8k8Frps2+ef6BuXXx/6lDwGx9QuCVMG5qeURxuX35zz4d8cy6T8EMqz5XdcjJtxYLsgIchChUExIMGm7Q4gtjnod8DUPUjU6Zd96GMjPv3mwFd7Dgr0xkdPPz6IeexHRx298dEZj7pjtj/npz5bfmOvTn7yOG7zm1ss6Sd2Pz/2JYVAIVAIFAJ3MwR42cTtt98eq2AGl4v8g3cSFJlUsU7ZIvCxGkI+L3S6+SPUdr80J3rrlb/wr+MvjoH6/vVPF7O26/xT59/Vvf4Mrk+sJF2nXTt5w31JIVAIFAJrAIG58E9c9eWfqMP5tP8OTdU5xU3ifzL/hZ88kqfF2fKHectDaX7qmf9aFf+U8zsPco7Lb1w5MnLhg0zKT/+4+RPD+dJPGzGO+QfaeX464Hm6NzcmQBxKdwYdedCC4KDtY1L0udlmkohAG1c742BDbvrp0y6qQ1Cp04foRx43Y1Iudn7iIWsy/yBDfRYChUAhUAjcrRDgdsGVKweXy1WRK9Mry6Yh0mcc0YCVPv26ESQ2bc9WGsuc2Fqv/NP/OckYihm6XNem8J/+z5WYTCrFz2MOO+t1/NXx54+DfPx4zKDLdW3q+/er9/1j3/m959q5blxDSwqBQqAQWFQEZH2mT5FeYuSe5JvkoGyvDv8F5/W/lf9yHiKxJuZP7FXxj/PerYtxZXDSDMI6pYNmp9tWZ17b9jNZQM0HjP7orGPPclvZ66g2Qe9GbDbiGd98Eqm27Z9L/gjX4s2WH5s1nZ8/e64YUq9kLCkECoFCoBC4eyHQrpbrjKzGHAfAuJWd/MBXCNMXfRoRMPWrcsQnOam3nBQr67NtCjU0qfwDVMApYyFA/tCnLZaW2ljqb5sy2xb+GZlBXcwK/zr+8rHgkVLfP5GYPpfkc8p07/Txk3XZ9q4+/7A/B/tvXOY8yqoXAoVAIbCaCAz+by1JCB/UJzLnwz8Rla3PP3ESs49yHP+0JvNHylXmd74L4d+cIzHk9siN0Ic4/wWf2BnwQsUdQxwITAbuJP5/9t49Sq/qPPPcKkmlG0IIEAJdQBLgO2CDbWywHcf3JI5x7BjH05ObndtkOr1W/zF/dJLu6bUmycxavVbPmpVOpqc7nYudpB3HlziXjontxBg7sTEYg3Fs7hgBAiEkkISupdK8v33q+eqtU99Xl+8rqaSq54VTe+93v5e9n3PqnDqP9jlHO4k2fdqiWneg9LQhOxH88VMfBwJ+ikU+6sol21BVHfY5P/GwVTzqiPzUVn78c5/ioWObaf4wrfYaP3m0qU9joq38U82fPvJrTkvrrPC2GAEjYASMwKJCoK5qirtMLgq6WVfZa8VTBki20uUbVukosx31bKe6bFQ6P5f3iSKspBVWarf7pc921LOd6rJRafyNv44flTpW1Naxona7X/psRz3bqS4blT7+fPzp+FGpY0VtHStqt/ulz3bUs53qslE5k+MPm252yuvSCBgBIzAAAuJqxPXoopA5JsLPhP9p80/iqjQ8+CXxVeTBXvnFPVEi6DUm2uSPM+uM+DfFpNQ8ojol/9bOLz+Np5/5Cw9hSizNS/NnXH0LCQYVDYg4mjR1gc+gNRHtPPphf9Grnz52EHqBRmzalAh69VNno0/2yk9u5Zc/secrv+bWb378kG7zb3r80wgYASNgBBYXAlzV6mVz8rS14in36OYx63J9un7ZzsTO+evOEWS1nA636foVbCZ2xt/463hROd1xM13/TONg5+PPx5+OF5XTHV/T9c80DnYzO/60ilSRXRoBI2AE5gyBXvwTXM4g/Jf4rbOB/2KMXAz75b+68X95/tQR8X/U1U+9byHgoCJyUoPUjhcoio8eljjnRAdoHEQIMfBTLEClziYbHi3HhjhsxJBdVKsdMWebX3lmkp/4OT91jVm/EO389DN/9JJu8ye2RHHxxRZpz7/R+qcRMAJGwAgsKgTqLXj9MfW0tcpGVjNdNdPLLsebyU1ttmcMveJqfCp72eV4zi+0epcZL6x64dqO0MsuxzP+bdQmtzNe9PbCte3Zyy7HM/5t1Ca3M1709sK17dnLLscz/m3UJrczXvT2wrXt2csuxxsE/5n4tsfkthEwAkZglgjA34j/0l/s6OBzxG0RMvND4rXgf7ChjX2bf5JddFU7YmCjPOjFP8EpSTL/RD8bvpSI4tLWGNv8EzFynl78V54/sZFe+ZveqfOTk7kQA9GYaaNnHnlc0Zy9ZDJu9t6NhwYkMFVq4AxUNgJZA5ctE6JPpXwUAzv6EHRs8qWewcAOsOTLHKkrdlQ7wMmWWNqxKnMM+smBEIu+nD8fjIpJHGzowz7nlw0l0s4vH3LRx4YtpfIrRqgsRsAIGIGFg8CSJUNlzZo1s5rQwYMHZmW/UIy5KEi4cdRNX65LJ7tuq2vUl0vZ5Vj0t+PJJ9vletteceXXq5RdjoVtO578s12ut+0VV369StnlWNi248k/2+V6215x5derlF2OhW07nvyzXa637RVXfr1K2eVY2LbjyT/b5XrbXnHl16uUXY6FbTue/LNdrrftFVd+vUrZ5VjYtuPJP9vletteceXXq5RdjoVtO578s12ut+0VV369StnlWNi248k/2+V6215x5derlF2OhW07nvyzXa637RVXfr1K2eVY2LbjyT/b5XrbXnHl16uUXY6FbTue/LNdrrftFVd+vUrZ5VjYtuPJP9vletteceXXq5RdjoVtO578s12ut+0VV34ujYARMAKnAAFxOfA1cDeIOB04pcwNid/BVo+cy162xFAcfMWbYYdevBB1+skvG/lpLOTDhlI2KuUfXR3+CVv0iqP84t/Q5/zRrPmlJzZCPqRXfuLlPNgRF8l68rPRl2NpnKEeTABvUBHYxMmDVJsJaSLaybQR+nQAqY8SIZbiYUedMotAE/CKgS0in5wfveLgp/wqe+XP8yQGsXP+3G7nx54xKAd1bMhPPurKqxIdG7aMl1zUJfQpv3QujYARMAJnPQKXXbat3PzBn5jVPD720T8qu3Y9MSufhWacbwRzfSbzZLVOrxvHdixdwIjb60a07TPdGJzf+Pv448+6ydL+XfLvX/PHMUj5/BNYjB02KsEl12lPJ4v9/DsdPu43AkbACMwSAXFNXLLhdmiz0aYU36M+Svoyt6PLPfb5DwTZQKbKpl3ig6BXDups7fyyia4JeZSX/izKL/6NsWUb2vhKl/MTZ7b5NQ58EfITGz2i/MJI7aa3j5+aYB+uE1wYiAZFB3XAQJiA8ggs2vJRPyArhnZ4qGoc+bfBEMtOf7bJ+cmpvtnmVxz5z3V+4s52/tgjjE3zrwr/MAJGwAgsBASWLtUpd+az6cdn5tHPVEtdMmc/Pl1I5Clyqq1XP0QEUgmJplp/zvZGXK7tPM7f7Ms2Lh28jH+Fwsff+B/KAOLfP/2GzK5s/575/LNYzz/9X0Nnd8TZ2ggYgUWGQOafuOSwcXPDSYdN7V78F4vqdDOELfEQfMX/0J9t6BP/lvN347/CtPr2yk+cHHuu8083/6nyZ2KWOUvy/KXrqwT8uRAmyUQyyBlI5RDQ9GV7gYQdfYyLSSqedPjjl/uiWQ8y9NjlHPSprTq+yk9Ju1t+/OhHGMdU717Q/Nv5id0rP3OcSX7NlfzEYp55bNG0GAEjYAQWDgKPPvpo+e9/+scTJsSq0htufEPV3fqlfyhPPjm+WpTVL08++eQE+8XR4NLTn3BhkVTSaUxBQdRaRkUETLuUb7+l848jZ/zTcRaw+Pjz75/PP/F74PPvabn+jJ+JXTMCRsAIzBkC4n+4nOlPXvgkcTjo2ryReDkIUP4Uwl68j2KIHI2uDn+FDjuEmIja1DWW2eTHD3vGhL/m0c5PHnTK0Ss/86EPe+L2mj965cAHe2JrDOoLVZ1/jodO+an3LdoRfQdIjgKdyWgTWGozCeqIJiBQ0QsAYgkQgEKf/fBFB2moOPJRLtrMD3/pcn7F65VfecO9EwMd+ZRrqvzY0Z/zt+cR3Z2DivEoJ/FVp1QM/Nv5Q2UxAkbACCwcBE6cGCk7dz42YULDK1Z02pCj7X51rlq1umy46KKy7tx1Zf/+/eXpp58uR44cUnfXcsWKlWXr1kvL8uXLy7PP7im7dz9d0K1bt64cO3asPPfcvkl+a9acUy6++OJCvn379pU9e54pR48emWR3ahVcGiaKHpXUBWVi78xaiipStJtXvnnP/c7fPCpv/Js/XPKxMdO6j78GKf/+9T5ifP6J3y/9oiSYfP6d7flXt4IJRFeNgBEwAv0iwHm5Oa2oBm8DfyOhjYjoo40tNuKkqOvPSNlTih+CX6KOUMoeH9rwXQg+bOqXjjLnp59NsagjlDk/dcY6XX7xi8qf+TfFI78wyvnF/0V3FZ2kFQsf4iuOxoydNuLJL6qzF01g9p4TPRgswmBVp9TgGajalNqiWuuAwQQRfGgrlsrsI6CPj9nShwgk6rJRPGyoayzyoVS+qE7IL4CxkR+AY4+QXxhiQ3715fzY0N9P/jx+YiDKQf5x1qB2+YcRMAJGYPEhsHLlqvKWt76tvOIVV02a/IMPPFD+6q8+W44fPzah75xz1pZ3/+hNZcuWLWVoiFN8I4899ljZ++yz5ZWvelUZOX68/Mf/+B/UVVauXF1+5N3vLpdffkVHR2V0dLTc9uVbyze+cXvUm8vZ0NDScs01ryznn39+ueeee8ozzzw9wedUNPSoqC4WOUebVFC76402jnG1y32ypwt9bqNDnL9B3vg3x0P+2T5e1M7HmOzrX7Y+/vz7l36RdLxwjPj84/NvPh503pjN9afxSQeYgrg0AkbACPSLQP3jpTpzI8AJhpsLuByENhtWmVeKZod/am4gxnkx+uQD/0OsNv+FDhsk80/kUH7lxgYdY1BcdOKblD/HlF2v/PgQE5GN5qj89LXHQF/OJ19slV8+xFO/iGT6ENlSR0d7INFkBgmSAdYkiEudiWjw5ECPvTbZ09ZY0OV+9GzEQi8QKKWTD3bUVdJPXUJdsSnPxPx5jNS1QbJ2m3+oLUbACBiBxY3Ae97z3q7kKKhcceWV5T03vXcCQMuXD5f3vf8D5dJLL51AjmKEDnIU0Q1XbcQPPh4lchTy9MiRZtUoBOsPvPkHy6uuvU6mZceOy8vb3/HOct2rX1Pe856bOvq5q3BJaISbxV6ivkxEdbu5zP714siPJNkftUgK6spBvS3qy/7O3+DXxkpt4z8Zn3z8gJOPv/HfO/2O6fjJpfoyfv79m3x8Zcz8+zcZn3z8gNXZ/vuX97frRsAIGIE5RgD+RiJuh7b4J+ko6yVnrC/30yeua6HzX2DA3KebP/3CTj7CT1iC2UCi1Y+DBNFEGBxCW8wtA0VoU4clJqeYZkrs2xMhlsZGP0wxNsRBn5ljHTA5v9ho6WjjT6llwRpPr/zY46/8Ue2MVeOhv1t+fBDtqHZ+4UGJaP4ar/zUJh9CXM1f46sd/mEEjIARWKwIXHDBhWXb9u11+s/s3l3+8i//Ih6Lf65s2ry5vOtdP1zWr19ftm/fUYaHV8Qj80er3Rve8Mb6iDyNXfH+0i984fOxwnN3uWTTpo5PNUw/yMNj9UhelXrJJZvLB3/iQxF/uFx11VXlzjturza0JfkVAdINXuoSMflmlthcMLDQjW0mRaTDTqJ+lehzvVtbcVQqVrWNH85v/HVs5GNJugnHSxyw6LNdrtdjasxGfoqjUvpqGz98/Pn407GRjyXpJhwvPv4W4e8fV0mLETACRuCUIAD/w58h4oHEX1GKA8qJsYXn0YlJ9tjC+6gNT0QdoY49G3aU6JCcX/wRfeixJZ9yRbW2lR+98rXz4yd/xVB+4uT8ysf4yas2/rKLapU8f+Jhr7iaPzbt/DjLjno7LrpZCSDMhWiSDI5NYBGbNgNlQy9w8EGYMNL2kx19Gie2iodeMdiBskGHnfrUnk1+xklMjY3Y6IjRKz/EK6J83fKrnzjqVw76EOKzqR9dt/yMp7GhZjECRsAILFIEIEP/4jOfjpu7JeWJJx4vBw8eqEjsfOz75ZvfvLO8NR69Z4XnRfFu0scf31n7eOcocuiFF8pnPvOpCT6f+uQnyk/99M9WwrMajf04L4hWyZO7nuw8sr9r1xPlo3/0B+XCCzeUAwea3Njdf/995e5v3VXWnntu+dZdd8n1tJVcGqYiBdSnUqSBSgaa6+22/NB3E+c3/vkYaR9L6lOpfpUcU7nebsuv27FXbeNHtmnHUp9K9ats52u35Ye+m/j4N/75GMnHFceL+lSqXyU2ud5uyw99N/HxN44x+LSx7IaZdUbACBiBOUIAjgb+Bk4HEa8lfkdcldrYcdqGf6qn7yjlTyn/zBGJ/5IOP8WjzByT/NWv/GFWJY+znV+24sEUYyb5icXWLT852ZQvqtVObY2fErt2fsYhXTtOdPUvAD6oaNCapCbDoDVYAUkudJoQk0LUFoDo1EeJnp2gOiU+bMyBNnER2tgj6GRbFWM6/Bin4rHTaONHH0If0raRTvOAGMWmnZ9Yyi9bjSvnx1f5qU+XHxs2pLFV5kbnn0bACBiBRYUAH3W6//7v1TmfGx9n2rZtR7wrdGUZXjFcNscqUsnSpc0ljxKyFHn4kYc75Kjs9u59tn4ESo/SS787PvgkedObfqBs3rS5kqB8MAoftiwjI8fLLbf8bVbNcX385N/rZpmbQqx0QdJFqA5krNHvjWP2c/7AeAK4za42/j7+/Pvn84/Pv+Pngc5FcL6vP/ki2BmUK0bACBiBOUFAnI7+UKfUnwOZO5vI6YxzPNKL/2JQiineiLMoXBBxucFRDkrZRnWCHh/6ZKs8bf4JO7Z2fnJjK75NcZQ/umps5ScGgh1+6JVfbWyIi6iPsld+YmUM1cafmLQHkuZucaAQHYAZDJNhgkyINiUTAFyENjaIJqAJZpDQ0ZaNDgRisvFyWuKwSUeJH7bSd8uPDlFs7dBu+RWbmMJK+cmlPOiQnJ+28gsT2to0PwhW/GmrjzjKTQl+OT9t5Y+qxQgYASOwuBG47LLt9X2ffBBpOlm7dm0ZWsoptJTnY/VpN2FValsOHNhf/ukfv1pef8ONtevyK64obAiP9t9zz911xerJk5zOT4dwyWikTc5lwlJWKuVTrzKTlJ3eWVWcfyJcxj/+oBk7tnSIqewgxV83k5Sd3llVlEtOxt/465jQIaZSx4jPf4HEJFA66MyqIqzldFb8/mmwLo2AETACc49Ac5MxfpYVZyT+R239JcTZWDps0It/yu1shw0bftgiikd+3YxkH8XKuehnw4c48qOOTnng33Is6WeaP9w7/FvOT135yd0rf+YTlZtS+YlBm3IgIeCgIqC1I9qDYzLSkYuc2qSH/KPOjqDERzsFWyaLUJJH9vLBFp38MzjEyjGUm3Iu8+ugUkxKpNf8sZctJCl1jX828288w9liBIyAEViMCGy99LL68SSRoyfj7gzCkq/R50fehQ260ROcbks5d906qSeU5607b0Jbjdtuu7X8yR9/rD46n2NviBWpb33b28vb3vYOmc5rmW9YuVmVgI2klw39yUzmk3TdbGTcK7bzG//pjhH6ux1bbV27rbiUPv7G0cg4+ffPv386Mnr9jtCfjxnZt3Xttuwoe8U+k46/Zrzjx0Mev+tGwAgYgQER6MX/TMc/wavBEWEn4UTVi/+aLf80XX5ujpRfJ8icX/7YyZZSvJfKfuevmN3mz7iIzzYd/xgm/Quk4qDCIJmEwGm36RPA2CACl5IJyjfvZE0ee62yRCfA0SuX8ue4iolOgo5NO54+xoaOuvJTZ2NsCPkR5aeP+lT58VV/VKugYwN35eiVH992fnyYf84/jm50WIyAETACiw2BF73oxXFDximzlFu/9A/l7ru/FV+XP1zbL37xS8tN7/2xWtcPHsnf/cwz9YNL27fvKKtXrymHDr2g7nLeeevLlq1bO+125Ykndsa7TndW9fr155drrnlVfL3+2rJ8+fKoX1P+4R++WHi8/kyRfLMqnDQ2bljRZRv1tcu2Tbvdtlc72zl/c5wKG+Pv48+/fz7/5HOkzg3tsm3Tbrft1c52Pv9OPP82t2lCyqURMAJGYM4QgKuRwDOJF0JHn3S04Z/gdxDxP/TDP8mPNgJvhD+b/JRLbWKgE4+Er/yi2smPDsl+yo9vzp/5t5yf2LSVU3bt/MQjj+zwY6ONXnXlZ2zwZZToFFfzyHGot9uh6l8Y/FyIBkuJaJLUAYQ8TJ6NOnbYSDQO9LKjlOigIZbIRfraMehHBCJ1bHJ+4s51fuKRY7b52ZnIXMy/ieSfRsAIGIFFhsCG+DiS5K67vtkhR5csGSovf/kr1DWh5GNOyDnnnFN+7MfeXzZuvLjwbtLNm7eWH//AB8uKFSsm2NOg7y1veVu58cY3Rv/K2r9v397ypS99sdx3X/MOVB7d5xF+ydq15xZWuA4N5Uuaek9t2W2FT1s36YZ5bEj5pro9yrwKqN2X2+1c9LV1zq8/Axrk+GMCMf4NDt1++vjTUdINnXFd+3eNnrbOv3/+/Rs/YpqbI9qL5fyT5+66ETACRmAOERiUf+LiNB3/1S//pGkOyj91y6+Yg86fMc50/vqjiJwTL+qa6SxLyMZBhYGIBKUusLKeASOAhp4NUR0f2auuEr3Axifnkj/xufvEDj/q9KlOP3X68xiwkVAntkhO9Iqf8ytO7ie+iFvlzGPR/DVGxVV+xaTM+TXWfGdNv9ryZywWI2AEjMCiROCpp54ql152WZ07j7nfc/fd8Y7RoXLttdeVK668sismX7nty+WyIC4v3LChbN6ypfz0z3y4q11Wbgm7V7/mtVW1KT7+9NWvfKV+mGnr1kvLju07qp7H7vX+0g0bNkbcnw1ydKg89OCD5VOf+kQOd8rr3W5yu+nyQHRRgUjJtrktUoULluxzDNWz/1Q69VEqXs6HPredv0HJ+I8fLxwjbfHx10Zk4u/05N5xPPPvG3a57d8///7VYyJ+6HxNuy1n4+9few5uGwEjYAT6RACuBv4H3oZTJRu8Dpv+fFOJDXVEPBD2xMh6xcEOgUDMMcUPiStSfmyUXzEo2/mli66Ofc6vOOonPzk1J+rEIC91SvzlRx9CqVyUmr90ssFPgo3ioJOfdDmPMJTvrMu5IEg1CAHIIDQJ6t0GLAAEIDZt/7yTBZDGi59EfirRd8svPXbKz45l+TC6tr9y5VjSkZ8YCP2K19bRT9y883J+nsFUfsXBhzq5iKf81Nv5mzEraxhYjIARMAKLDQFWb7761a+uH1666qqrC9t0cvTokfLJT/55uemm95aLL7kkyMDxE+muJ58su3c/Xa555asmhLk7iNfrr39dWblqVdm+fUfdJhhE445v3B5kAqftUiBUIUeRrZdeWsu5/JHHPBdxRYKozDETPB31OGId1UAV5VWZgzl/RqOpG//JmAyi0XGnMsfy8ZfRaOo+/iZjMohGx53KHMvHX0ajqc/N8Zdv/SbnsMYIGAEj0CcCmf8Rb8VpixsE+B94Lur5JESbmwZ04pqow//Qh462tqh29Zde/BO+EnxFbHbLz7iwIZfGkvOHelb5sVd+5j/b/PiTX2OiRNolOvI0N120BhARbgOE6OxgTbo9YNoMVoOmDejsAHzkR6lJYSM9OvmzQ2WHjUjUbE8dkY682GlH0ydilLjKo7iUCKXGjB3xcv5oduagXOh65dc4sOmVX5hgo3Fo/jm/5t2UyoiXxQgYASOwABE4fnz8nZ65zlR37XqifOLP/6y8850/VNavXx8EZfNew6d27Sp33PGN8u4ffU9FpO23f/9z5WMf+8OycuXqeHx+U30M/sDBA+WpXU/WR+nbMB45cqj8/u//Xnn7299Ztm3fXt85qsd99z77bPnyl28tDzxwX8ftoYceLK8/eGN9XP/ub93V0c9VReRrr3jdbrTbtsKqXsTGrjrdbsbbfjNpO39cyHUl7wGY8W9+V338jR8r0x0zPQ6lSWr//o1jOgmcMYV//xb379/SeCWOxQgYASNwChCA9+EvQPFPtOF/OOmI26EPG/FM+otR/JP88at/Jo2VxMjsD/W8RbNyWNj1yq9cOb9yKD/jwl/5Nc584sQ/56aOEKNbfrhHzR8b5Y9qZ445P3XyI+388ld+bJSfet8icPoOEI4MVhMhnuoaNLGlY9DYS6RXW6V8FRsw80FFP0I+NsVVfnZIjp3ryp9tw7wj7XjEJj8HiHaqwMeWeMqvOvmla+ehD53y0Eakk55Ymsdw1Nv56f/797/vptVRlu9859sUFiNgBIzAokZg1arVlbgcGRmZ8OGlNiivfe3rYoXn1kqm8lGl557b1zEZHl5RH7mHbGU1KSRqW3i/6bnnriujoyfK4cOHe36UifeaInwYaq5ly5ZLyz7GDRMyC5kJcaJwIhBoy49s9UIVlX7IHMVRjqlK528IDDASbsbfx59//8Z/H6Y6f3Tr0+9Rt762zuefhXv+4QkMPsj4+OOPtXe720bACBiBvhB4+cuvqn6f+vRn+VLsD4wFEa/Fn29s3BDA48DtSEdJW0IdHojVIdgi2V5t/hzIdXFkOU87f7utMUiveNzAaLUreTQ+7NXW2PClTinRPGUvfTdb+nJ+6uQX/0c+dMRC1CZnrisGZd/S3Ln17V4dNRAaAKdB1s74Qb9IQE1KpYDU5AQC9sRhQ7DHRvHlTz8+mod2YgYFHz3GLj+V7fzYkjvnx5ZtuvyMhfyMpY0J+RHlVdktP7boiaeyW/4mBlaKFlWLETACRmAxI3D48KEgLKdH4Eg8Yq/3k/IeUlZ47t+/v1wSj9tfceWL6kpUojzyyMNdg/EY/fPPj5OqXY1CeSqIUeVavnx5GQqidvQkl66ZS5vU7EYYSJcf45cflx1E7aY1859tP+XKEaRzfqE9jrc0bRwzflPV237COvtIZ/yFtvHXcSNE1M7HzUzqbT8da9lXOh9/QtvHn44bIaJ2Pm5mUh/3W1KWLdPt40w8bWMEjIARmDEC/GHOCSb/gQ5jwwbPJD2nNOqU6MXqyFb8E6V0Ue2QrNRFosoXnfJnnfwVk5xsmX/DF2nb5rHRjw9xkF78G/NXHOw0FvwyV9Ytv+w1VuUnBmPO/sIP3ZzIXFwZGDgD1Y5mAkwUHZPIIAgYJoAewV4T0kpJTZ44CDYIPopJmzpzQK8dpfyyzfFzfsXM/d3yMw/ZKiYlkvMzf/TYakfTr/jCI1R1voqpfmzJrzFiJxyVL+dv6tkaD4sRMAJGwAhMi8B37r23fsTpoos2VjL0zT/4lkk+O3c+Vu68845J+jNJwQ3esWO6/I6PTASDyvGeybXxG8a4AIUDpETWTfaYXqO8KqfyyLmc3/j7+PPvXz4nTHXu6NWn847KXnbocy6ffxbP+Yd/YMwE/FTHiPuMgBEwArNEIPM7sDXwQJnUox9iET38D3WxOvA/1LvxP+j5o18cnsjRHA8b5Y9qjdUtv24euvFfioF/5p9o5/yZf9NY5Ct+j7bya06Mb6r85MEGyfmJJR6RmIqBrXgzbAYSDXKQIAxSO5x4DFQTUVwBIyaZSWhSmpiAIxb2bNjlMcpG8ehTfupsxMMPvUTja+cHyJnkJy8yX/mb7E1+YcNYMjaycWkEjIARMALTIMDKzo999I/iS/S31Q8yjcQ7TkdPnAiy8Vg8crez/ONXv1I+8Wcfj9Woh6aJNH/dB+N9qevWre06AN30q4QokEysp44waN8wQhj0I8qrMoeZWJ8Y3/n150aDuvGfeHzM9FjUcady4jE3HqWNr48/H3/jR0fciOQDJ3dMU9dxpzKHmVifeHz7+Dt9xx/XTq6hFiNgBIzAnCEw8RQm/klPMov/min/pGERlVhcMKgPwn/hO5/5Gf9c5hce3fjHSNWfiH3uz7vxAmgGJ6IRLTsQvXYkOg2cOjuZfg6Utq3iZV/qiGypE0+g4NPOT2wEGyT3k59+zT+PlXpuR7PmVUkfQgyEOOjUJh/j7JWf/m75Q10l55dOWLTnr5yyc2kEjIARMAIzRACS9Ktfva1uvFN0eHi4EqT6Cv0Mw8yb2bPxYShWwB46dLgcfOGFuPKMvy+uPShu1Lkxp9RNOzb5hlz92Tf3Z327zsXJ+Y1/r+PFx59//3R+8fln/OyZf1+Ez3jvxPNz1rfrPv8GIgFgxjNj1D7/rFmzpqw5Z2157LGd2cx1I2AEjMBgCNSTcQ0B34O0+S/08E/igsTlwP/QB3koX0WjpJ+SeGpHtdpTIujhn4hJDDbsFQ89cZQffc4fzY4vdeIhykfZzk9b0s6Pnn5yIjk/tspPqflr7Nhjg1AqhvLJXu1sJz90fYmS9eU85iRgaWoHUEfPABk4O0uEoSapfu1IASKw1MZeExUYoaqCLweSBF+NgbzKz4FwOvJnPLXDKOc6v+a4tDPbSGIxAkbACBiB/hCAFD0a7yU9W8hRZskHonbt2lUu2rixrFy5snNzyI12N8nEhPpl2u3mXDa5lD26nKdefMcSZH32df6MRlMXnsY//njTXzaTYepohBeKfJz5+AO/BsCMSwe4qHTDV3j6+OuOT8aPuvCq9dTw8Xf2HH8rVqwsGzdeHB9g3FWvoe197LYRMAJGYA4QEP8DB4RwxYAnmiv+SzwTsesliEoIenIp/3zwX6cjPzhKmj9+mpbwVV9fZSb0+gow5qQ/EyhVZ7DsFHJkvfpDXQ8SdqB2rHYqPhxQtKlr4uonBrHlq/gqo6v6nW35tVNnPv+MJrO2GAEjYASMwKJBYO/ePWX/8/vLxXHDt3r1mjI0FP9upivmDFCYzrRNtmR75Zlkk42mGcN0ppNip3jO34AxCaPpQM0Ypnq36qTYycj4N2BMwsj4p6Nk6up0UE3CNoXz8efjDwQmHSM9DiqujatXry4XX3xxfGDx+cK102IEjIAROEUIzJb/Yhgz538abky8l0rFONv4L/F7s5k/cxULlufPFYD5DyQMZFDRpYhY2ojJYEX4ieXFFhva1CFBNTkx7KGq/ZRtURzFoJ86ooNBbWzZiA/wiPKjm8/8czn/OjH/MAJGwAgYgcWJAB+TOnToUNmyZUvZsOHCehPIByiWLp38N0K+mcx1kQ39INjNt9e7+3LOXO8WY6Zj6ebr/PrTaiKKGfNc74bhRM/erW6+xt/4dzti8jGX692OoW7+3XTdfH38+fjjWIEU5dU5EKNcGzdt3hzXyoOFa6bFCBgBI3AKEeAk3Oaf5pL/Ed81G/6rn/zwZfgh5Mx1dKc6Pzl0Qcv5GReCThttbDVG2n1JJiX7ChBOGiwD5UAAKAaGHqFOH20eh6dfYGsCTEaTj2rtl056fHjJLaI81ImLDf3Ex0b96FTHTvWp8tOH5Pzo8GfsCHHATvp2fsahfuVUfunxETbKFaoqxJVOsdHxlTEk5280/mkEjIARMAKLEgFeC/Doow+X/fsvLFu3bi1r155bCdPj8eGpkXjP6slRLiPdRJcXLjiNTXw/OwxlTz1LY9XYhFUwHM1jvYoT/VEd18m3HUd6+Tm/8W+OOR9//v3z+af5XWhuMXSupPT5t7liNNeT6a4/S4aGyrKlQ2X58hVl9ZrV9bDauXNn2fusV47mo8p1I2AETgkC4sI4Yenr7iSCw9FJnlJ1+rDN3Jh0cFvo4Zfgk7CjpI2Ia8IGroqY3fLT1y1/c1Jt4nYbkz4yRT7xeOK18JVe4yAGdWw0TkrNL8+xPX/llx4fuLMcM5o1LnHoV17NmX75U5+1kHBQYVCIBiJAaDNoAKGuSUS11gE467KffPBnw06Tpq0dzA5jp8iOUiApP7ZIzkW9W37ZtvMTS+PrlZ8c7fzotFOVHxvq0tNW/OnyY8uGncYTVYsRMAJGwAgsdgR4ZPC55/aV88+/ILb1Zf369XX1jN5NCD51ZVUsuaoXnjGCc/xGczKCupDmnqyTb9bVPPGDHG1x/kDK+Pv4i1+Mzu9O5x8a2r8tzR+H7d+j/LvWiRGu2S7b5Kj+/fPv32I5//CvdceOHSsvxAcMn3j8iXik/lm/czSfDFw3AkbgVCIgTkf8D7nEP8Hh1D/DoxSfQx/8U9teei7rxIT3gkOCdKUPIRZx6JdO9XY89DPJT0x8s798KRmH/tTI+dEhU+VXTGw1f+p5/jk/eiTnxw9RvhwH34FkLghSBsGmieUBS6eBahKUAp3JStABgiYpcCkzEao4+GHPplzEQGgTB1+NT37aMZQZA9rY5/z4SJfnGuoqyk8Du3Z+4rfnjw2bYke12vSTH1+LETACRsAIGIF6A7hnz+7CZjECRsAIGAEjYASMgBEwAkbgNCEg1mci/4RWHBEl/JEsaVMXhwafBO8lXom+7B/Njr9iYY/ALaHDFx/abNlfPqGukvNjh684NPFvGGInYfwIsanPNL/GQQ6JxkNO5UeHTc5PLgl2bMov7GhnO9nPqtTkZuXUMs6DUJ1SO54Jqi2d8qqtfiYqcKjjK3+1sWWDeAQ0+iXqUzziEy+3iaOdcqbkZ/way+zmz2wsRsAIGAEjYASMgBEwAkbACBgBI2AEjIARMALzgwCsU//8E3zQYuG/xM/BZs2U/xJ526AM0uOEaI7X9PT5k50wqDApDZIdysBpa5DkoK6dLUIz66O7wzzjn/sgQvFBx0Y+SuWSbaiqDvucn3g59+nIz1g0f+GRx6A5CBfsxbzPbv5EsBgBI2AEjIARMAJGwAgYASNgBIyAETACRsAIzCcCc8U/iRfK3JF0sEDo4ZjOBP6L8bDBzc3V/InFpvkzV7XFgqEjX84fzf6FBIOKBkQc4mmwlCIFNRHtPGxhitFrovQxefToEGLTpkTQq1+x6ZO98gsg2WND7FORn5jzmT/SW4yAETACRsAIGAEjYASMgBEwAkbACBgBI2AE5hEB8Venin+aiv+CB5vP/KeSfxO/yPypI+L/qKufet9CwEFF5KAGSZu4IiUVHz2rJHNOdBCM7ET82fKEOaikxwbhw0zYEIeNGLKLaueAOBX5yTMf+TUvynZ+dBYjYASMgBEwAkbACBgBI2AEjIARMAJGwAgYgflHoM1/wSXNB/8FLyaZj/xzxf+Bn/g/5jMd/6g5z6rMg52VYzIGZOIIeJGVEJr0oWfwORc2miB91EWAUmKLHn9EtpToZIuN7JVfvuix1arRMy0/49FYB5l/hLEYASNgBIyAETACRsAIGAEjYASMgBEwAkbACMwjAnPBP4krWkj8lzi9Qfk/OD7wEf9HXPGC4g/73v3svEGFwWkgGhwlQkkfA2YTWUodoU8HkPryRBUHO8XCT0Ju9CJMaSPya/soh/JT5vz4tvNjQ35iU1fsqFYdpcjY7Is+56ee86tPOvmqpJ+tnT9UHdF8OwpXjIARMAJGwAgYASNgBIyAETACRsAIGAEjYAROOwLiv0gMt6M2vA68kfge9VG2eaY2/wUvhIj/Od40O3zRWLPDPxEPUWyNgTLnx042ykGZ80sf6pqftr6f0+bI5JvzKzf+1MVBKq/Gk/NMlZ/Y9CP40Jav2vT1JQK4L+fkxEA0KNTUNVEGrDwCh7Z81M/BohgAjh4hjvzRZTDyjsk2OT/26jud+bXjT0f+mKLFCBgBI2AEjIARMAJGwAgYASNgBIyAETACRmCeEDgd/E+bIzsT+C/xf6dy/loYKS5RuzjPX7q+ShGHfTknJ5GclAwOARhEberkY8ug0S//qNY+yEUAxo5NDDm+6LXqM6pV5K8SpfLnOS7U/A0K/mkEjIARMAJGwAgYASNgBIyAETACRsAIGAEjMB8ILAb+SbybSnCeS/4tL4Scjv8T36j8A+3zvPMGChTOsLmKB1BsDFYEqAaMHlFbq0VpC2BiqU7MTIhiJ8KUDxZJ2vlpL+T8zC3PXzi4NAJGwAgYASNgBIyAETACRsAIGAEjYASMgBE4HQjAzjSimvgu818NLsJjJvwfpGjGTfyfntImYpv/w17Y09+XiNDsyzk5MRA2TZoutdFRJ5f6ZS89AFBHsKFNySSZePaLZu2nFFCKh61EMUSUnon5GRPboPPXnF0aASNgBIyAETACRsAIGAEjYASMgBEwAkbACJwuBETnNfyVeK7MY4mzmo7/wSf7MQP4IuRs57+ES7/8l1aWCkvhBDbochvdrIWdM6iIqVWpSVPmiZOHfNhp08Roayzocj96NmKhZ9LYUEonH+yoZx/qEuqKTYlt9sVObfXnWLPJTxzGd6rzM2aLETACRsAIGAEjYASMgBEwAkbACBgBI2AEjMD8IXCq+R/xVJTkgndSeTr4J+VVebryKx+lODvKdv5Q9S955/UbhQEiDAyhrVWf6hOTi56dhpAbPTrsZBvVGovls4oJU6yY+NPWQSA/2dKWrfpoI5TzmV+kLmOZyfy1f6aaP7EsRsAIGAEjYASMgBEwAkbACBgBI2AEjIARMALzi8BU/BOcEDyVuCpGCpfVi/9Cf7byX/3yb/ixiT9j/mDEJtym4v/CrD8RAdef97gXA88DVB0LJkAeNshJJkodH0SEpSZKyQYIOnh0sGCreFHtxBBg0mXgBOrCzZ/RBgGLETACRsAIGAEjYASMgBEwAkbACBgBI2AEjMDpRGDh808NVycWivnONf8G70fMXvyfcrJf4Qc1FtoDCaThoMKgiSNiU22BRMkE2GSjCWniIj3zeFSnJAbEKnaI+ohDDAhUxaZOP5viLuT846jEhC1GwAgYASNgBIyAETACRsAIGAEjYASMgBEwAqcdAXiohcw/zSf/Br8nvlH8n9riHwfa4SIaBwmigYmM1FJY2ggDljBocoo0ZeWn/DmIqNOHjyaIDjvFoc3LaSlFglJXe7Hlj6lbjIARMAJGwAgYASNgBIyAETACRsAIGAEjYATmEQHxVgzB/Nfc8H/iDTNH2Iv/G2jXzwVBKmKTA4G6Bk2J6PF3JoCQU5ts9Qg95CY6fKgTUyRoVCsJik722GInW/mTay7yazWqxk55OvPPZP7jM43BWYyAETACRsAIGAEjYASMgBEwAkbACBgBI2AETjsCZzr/BSDi08SfnSn8m/gv7TTxb+jh99im4x/l21cJMIMKg4TEFLjtdiY4sUHQyY4JypeJq54nvzz0Ij11wIWqE0N+7bjKgS1CbOLogMB+pvnDtOYjv/IoPm1iS6+46o+uKtiwiXjFjvHItz0PxoYwf4R4yq9cTYTa7R9GwAgYASNgBIyAETACRsAIGAEjYASMgBEwAvOAADyNBJ4HTkc68T3ieWjD7yBwPejZ4H8oxf9EtfJGxGGTX44rngyd4pMfvkl26lO/4oRJJz/2bf6NfgR/beKlpCeX6oqv+ZNH3Bh9skVPnT7NX3wdpeZPqXlQZwzZL7ejq38h0FyIBkuJaLDUAYA8TJ6NOnYCJapVR4ledpQSHTTEErlIn2Iov3aEDg7Z5PzEXWj5mafFCBgBI2AEjIARMAJGwAgYASNgBIyAETACRmB+EICjWuj805nCvzEOJPOPjabPn3O1glQkaJvZlV5EJgcKNmyI6kyMOvaqR7XTj59EMeVLSfxMvqqOLXX6iUtdflHt1JWTEh9sEI23nZ84iGIRX8St8uCjuuavcclPebCTPfklGu9U+WXr0ggYASNgBIyAETACRsAIGAEjYASMgBEwAkZgfhCAw4H/YRPvA58j7odSnBMlXBAiHoh+YmS94mCHaPWmOCTsEWIov3Lg285PbI1DeVQqf5hUyXFQ0M/ciJnzS6/8xFNe+hBKtnZ+6WSDn4T8ioMO26zLedAPJDlxv4E0CAFKHHRqa8DayVmvlZ7oFEf+AkGxsIGEBBB2CO3sR10iH9roidUtPx970s44W/M3M4iJWIyAETACRsAIGAEjYASMgBEwAkbACBgBI2AE5gWBhc4/iTc7pwyeOAAAQABJREFUU/m3gXb6XBCkEI+QjGyIgMolfQCpfJlNlx8lsbTR1sElPwhV+Ua1Y0u/4uCjDRvy0pfzi5jNfmdKfkhgYdpt/ppPmFW7ccTRWIyAETACRsAIGAEjYASMgBEwAkbACBgBI2AETjcC4mso4XWQXvyTuJ+p+J+Fzn/1w//B3WX+D4zhzgYWEY+DBMpkpAhHHQgMGp12qg4W9ZMXf02Ofjbs2RDaCCV+HEQIPui65c82+OiAxB4/9Uf1rM/PHCxGwAgYASNgBIyAETACRsAIGAEjYASMgBEwAvOHwELnn85E/k38onjFvvf+XBCkIh0ZRJvURCdiMw9WoJKffoR++TNB+rRhT51++VIiIj+p88g8opjU8YEQXZj586yYrcUIGAEjYASMgBEwAkbACBgBI2AEjIARMAJG4HQjsLD5p/nn36bjHwfa35COg4pITJGSkJsiL0Vs0idik3yypS57+odRhMgf8jPbkksxVYf8pM6BSEk8+WCrNnXFVX+ozvL8mhEzsRgBI2AEjIARMAJGwAgYASNgBIyAETACRsAIzAcCC5t/ahYfzif/Rm42cXriE9nXA7NjBB5UGBgbaxkzUHlw1OmHzKTOJGhDarIhtBULG9nlMcpG8QQMftSVXwdlqKpofO38ELBne/6xKbowAkbACBgBI2AEjIARMAJGwAgYASNgBIyAETitCMBUjctC5p/E2c03/wbi4v8o4QgHFgINKgJGpCbxqCu2DhWISMBEVIoozRPK8Rrr8cnmuIqX7QUKJbGRqfLr0fuzOX8zS/80AkbACBgBI2AEjIARMAJGwAgYASNgBIyAETi9CIiJWvj805nKvzGugWUugojsZDAiI6mj5zCByISsFGGJjrzqR0+dDX+23MZehxt+OQe+rAKV5D7yKj9E6MLMn2csFFwaASNgBIyAETACRsAIGAEjYASMgBEwAkbACJxOBOChFi7/NP/8G1yhJLNh6MUbqn/WJTtuLkQDoWRjoGwQmtJFtYpsaWhymhgHk/woaStGVCe0ITxlrxyKrRjyVT962RCvW3582HJ+bBHlow52aiu+Yit/JmXx6ZZfMeinjk/Orxi5nzxNfmWk12IEjIARMAJGwAgYASNgBIyAETACRsAIGAEjMB8IZA6K/DA28ECISDzabPA/9Gf+h7rs6EewgRfSB8ppsyEq8cu+0lPm/Pjk/LTlSz7FQE8bW2J0y49e8fGTrfSh6oyPeubfsFX8dn78EfXTJj9tRP3Ko/kQRzbVcLY/CDCoMBhEk1JMBqsdm4GgnzZ+kHyaXCZrZR/dE0R6xaBT+QCMutrYshFfIJFTvgslf0zJYgSMgBEwAkbACBgBI2AEjIARMAJGwAgYASMwjwgsdP5JfNvp4N/EFYrDY7dOxz8OtOs1uUGCEEMDzwwvegZPn4hJ9ctHhCc2ihHVjl/WE2P5WJ/iKK58xagTlx1GP3XysclvIeWPaVmMgBEwAkbACBgBI2AEjIARMAJGwAgYASNgBOYRgYXOP4lLA+JTzb+xiBJOTzxem/+THj6QcdE/kBBkUGFQDEhkJ+0MmnLQrwFTh8BEpJMfOvnQx0Z8+vGjjq/s2SnoFR89/dghyqN+dNSlP9vzMx+LETACRsAIGAEjYASMgBEwAkbACBgBI2AEjMD8ISCeaaHyT/PFv4EnPCF831T840B7XkTkIEEgGIlDqYOBeHnQIiFFWqpPBw39bGozaYR42Cqu7BQHG3LTT5/solr9FIc+RH7k0aaYlGdjfuZlMQJGwAgYASNgBIyAETACRsAIGAEjYASMgBGYDwTEOjXcFCNYiPzTfPNvoDwd/9j33ifwoKKdThzVKTVoSEe1pVNetdXPZCE1KdlEYtKvNnU2ltuKvY5qFfVREptNDLPaxBGRevbnZzYWI2AEjIARMAJGwAgYASNgBIyAETACRsAIGIH5QQAWaqHzTw1HJ3xPJ/8GhyduL+enLv5vYHYsfxhJSWZbMojmUGjA0sCJAwFJn4hOSonIS+kgO9Hhr5j0MUaAEJkZ1Q5Ziq12Cvpsn0FSDo2T+MRDrz7yEy/nx5782Egf1Qn5aWNHTOxkjw4fBL3mRDmb/Lx3NeeXf6PTjMLIYgSMgBEwAkbACBgBI2AEjIARMAJGwAgYASMwLwjAAcHVICqpwz/BOYnByfwX/XBe2MMnqQ9bNnFXiq0Y2T7Mqh0l/vBG3fJLpxyZs8rxyKk8Ob/GFN2d8TJ2BDvyEhshHjqEUnOknfNrrMov/g87RP3EaOdn/Dm/6vjNWjTYWTsmBwaUgVOdkgkKFCbFzla/Jq1++rBBjw7RZPNOU79i0yf7DJjyY4/NQs0fU7MYASNgBIyAETACRsAIGAEjYASMgBEwAkbACMwjAgudf5ov/k38HvnFKYr/Y3erf6BdPxcEqchJDZI2cUVKaoDoxRJnHcQoBxH+bHnCkJrSY4OwohIbcrARV3ZRrbHoXyz5mbPFCBgBI2AEjIARMAJGwAgYASNgBIyAETACRmD+ETD/Nbf8H5yf+D/27nT8Y19HAAkGlUyIEktkJYQmfSI8cy5sNEEmRl0EKCW26PFH6BfhiU622MiefkS+6LHVqtVB8+PPOM60/DEkixEwAkbACBgBI2AEjIARMAJGwAgYASNgBIzAPCKw0Pmnfvg3cWni6mbC/8mnzb/Rpk/8H7HEC9I3kBB4UCGGBs3A2CQiFKUXWYq9JoENogmqRK8+7Knn2NHsAMNOYnWq8tCH4KNc9C3E/MzTYgSMgBEwAkbACBgBI2AEjIARMAJGwAgYASMwfwgsdP4JTm0++bfp+MeB9vxcEKQMIJOZaovohJhUHh0stOWjfkBGh4jspE4c+WNLDARb7BD6sw19yo+9+hZq/piixQgYASNgBIyAETACRsAIGAEjYASMgBEwAkZgnhBYDPzTfPFvcIaIuMSm1bTF/0nXVynisC/n5CSSk1IkZyYyZSog80GDvfyxo49lyUyQOtvx2BD80WvZMjpE/irR4YfkOS7U/M1M/dMIGAEjYASMgBEwAkbACBgBI2AEjIARMAJGYD4QWAz8k3g3leA8l/xbXgg5Hf/X5h8H2ud55w0UKJxhcxUPoNjE7FIXYNQRtbValDZ9xCCW6rQzIYqdCFM+2CRp56e9mPILB5dGwAgYASNgBIyAETACRsAIGAEjYASMgBEwAqcDAdF0DQdl/muc7+uH/4MUzX7i/+AFJW3+D/vxvSCrWZY5wSxdJ5hrIJCXqlOKBIXkVJtSW1RrHQCYIIIPbcVSqRhMXIABFHXiIcSgjSgG9swTf8WaaX75ULbzh6oStcRWvG75sZMN+RVHY6bUWLHFRm365CM/bDRH5r8ChcUIGAEjYASMgBA4eVJ/U0jj0ggYASNgBIzARASWLNHtyET9fLROxXXrTJrffGDqnEbACJxGBMb/9IYT4uQKfwOXg+hkKz06eYj/ER+mUn7YiR+C/8m8kHJhK5vMH1EnZ86vdju/xqoy2xEb+278m2IrP3aMUfNXnFBVoU3fVPnlQ4mdYrO4Ms9f8wt1naPGTrsvmQuClAEzcA1OkxEweZACSYPFFpGtYlFKJwAAhQOAeIybOqXs0MtWcdv5urXDrRODOr7KTx0fNu0U8mgsyi8f7OQT1epHLAn9amvc2Rc7temnrnjKj568GkdULUbACBgBI7CYEeDG8uRJLhejUTZIqFzMuHjuRsAIGAEj0BuBJUuaC0bDkw4V2qeLVDwd1635nF9v1N1jBIzAAkcAzkdCXU9Mo+OPdUTclTgfSjbs5Y8tvuJ9ctn80T/RVjHDpSPEQt+c7MfzKxclsSilU37KnB/+DU5KPjmfYoizCrMqyq82dohyKRaldPhgR5n5P/XLh/zYaVM/Pn0LRNugogHmyTJYhEkhAk+kJqUmjD9AZiGWdPSzYxDioKct4JSrnZ+28ud8IhfpwzfnVwzlp8z5ZUt+xkE/MSjZEGzIl3W0safktQD4KH9UO3NVDErFb+fHn/zMQ/ZRtRgBI2AEjMBiRGB0tLmkbN6yuWzdsrVcuGFDWb16dRlaokvgYkTFczYCRsAIGIHpEDg+crwcPnSo7N27t+x8fGd54vEn4h/ZRsvQ0Km9fpyu69Z8zW863N1vBIzAgkcA3gcRDyT+ipI/3BF4Hgm8DvyOdLLHts1/YYM9G3U27Ch18iYv/ZTEVTxK+VNKcn702JG3W350yh/VTn7q6BHyMhblz22Nc6r82NOf8yvnVPk1/3DtTwBrLoRBMhgmwcbgNWFK+tjQCxx8EIBH2n7aiehFBmKrePgoBrY6oPJYZCN/2uTXzqY9VX7lk7/mSInk/HofKjr5yQZ/+cwmP37I1Pl1GDa2/mkEjIARMAKLAAFW38CNbt68pVx99TVleHi4HDl6pBw8eLAc2L8/bnK5XFqMgBEwAkbACHRHgNWiQ0uXlnPXrSvXXbSxXPWKq8s9374niNLHgySNG7c5fgT/dF+3Tvf8uqNsrREwAosMgcwHwdSI1xJ3BFckAjDzZujUhv/hD3ls8RMPpRgiMLFBh5/6KPGTEBd/9SsmvsqHbTs/OmyxE5elGO38iq9x4EedrVt+Yk6VX+PP+bFXfkph0o4TXf2LCLj+I4yDpklqMgxag9VEyKOJMaEMNHUBiJ36sj7riMmmOSh/u40PdtpBU+WXbZh3za+5Yac4EKNq40d+cmk8Oab0jIdY9KHLbfwQ+hDZcGDhg7368Gsy1Yp/GAEjYASMwGJAoHk08WS56qqry/btO8r+/c+X557btxim7jkaASNgBBYtAjr3N/8A1txWQAI2bWDRrUbUxshN/q2MKjbVdsyKumwOh25/eb6sWLGiXHftdeX89evLvffeQ8COTW0M8ENjn4/r1umY3wDQ2NUIGIGFhQBcDTyNeB3xQpyg4XPUzjxPqCvHQ5+4HkhIfBB08EHijdArB/yTYsq/4Ykm6pU/zKu98suWtvyxaefHjo182FLHXvxbVDv+9Gns2KiNH0Jb+ZkXkvPjS37ZU2JHrIyh2qHujId635In028QBqVNA2dC6LQTmBxCW5MUoJpgBinr8AOMvOP1clpikQehzPnRKb9AV35K8rHlXOjlozmFqu4cYYVeL6dVfo2BWOTSHBUr51cO5de8aKtPY9IYwK+dn7byRNViBIyAETACiwUBVo6+Ilb6XHLJJeWZZ3Yvlml7nkbACBiBRYcAxOLIyIly4sRIbCfiyQHeNa1bj25wBGEa/3FT0UuWxCtYhoZi9ejQ0rJs2bLYllYi9OjRo/WawrWFFPfe++0SC0znRM6E69apnN+cgOQgRsAILAQE8lmTU7E4I/E/anMipy4bOCNsEOrEoY2dyMrsK39xTbSJJb+odmLTp/z005a/8qs/urrmJ3ev/MQgHtItP3rNpVt++WCDaP4aZ+YTpdP4sVV+yoFEpNsgQTQJJtVtcNqZTEDgk4+2QGIc1AWEAND40CP4kEc7hnjq07s5BTg2CLFkT5u6ACQeW85PXfn12Lzayh8mVZQf/XBsGj/t6fITADs2clLir3lEtcYkR86PreZAXzObWvEPI2AEjIARWOgIcHPMY/UbN24sBw4cWOjT9fyMgBEwAosWAQjRo8eOlRMrLizLdryxrNx0bSlrL4zH4ofLEt2BBTqjcUcwxJ0E9bhLGBrrOxl17FSOhtFQGJwcPVpOHHimHH3qrnLk0dvK0sN7yvCK4bJsjA3l2sI1Zt++veXJJ3ncXrc1TY7Z/jzTrltzPb/Z4mF7I2AEFjQCcDfwNJyJKTmBjp2hayn+B+6HDRt8sBeXlfkfdIoX1Y4tvBAL99RHicw2P+PDh3GRC+mWX3NgzJqDctEmP2Vbly8gzFG+mj852/mxQ7AVJsJTfeiFn/LjM5AA6qACEExag2u38wGBDYJOdkxQvnmS9NPHZEVUohPgUe3EkF87rnJgi5BHO0R9/eRXHsWgTWzpKYmr/qhWwYZNJCd2jEe+mgd+bMRAus1fuZoIjZ1/GgEjYASMwAJGoFk1NFR27Li8HDr0wpzMtNtKJD12OScJHMQIGAEjYARmjcDIyEg5fPRYWfaSm8uJbW8tTx8q5YUDo+XovpPlxMkj9eahCXoy7h6XlJG4c+Cj9NxMIKNRHwoF5OnJk0vKsmhHUe2WRbly6QVl3YZ3lfMvfWdZsvPWcui7Hy+rh0/WFaX4c425/PIrgiB9svN4PvrZyqm4bs12DN3s52p+3WJbZwSMwKJGAJ5GIv5HOkp04nk4ZUNyInFmrnr64H/EJ8F/IfBG+LPhh15x1SYGOsUnl/yi2ulTv/zoU37syU+JTvmjWv01hpwfHbmQbvnJg6hPtuipkyfnhy/L+enTPKgrn/xyO7r7l7kgSMmuwWonapL0oWPimhS2bNJHtU5Qetlirx0H+IyVtsCirjzKTxtwsNdOQCeCMao1t/Jr/vh0y48OaedHR5/yUScGY+qVn/lI5Jvz04c+z1/2OT8rVbFDyG8xAkbACBiBRYIAN7k8+jgSXx4eRLhh5fFJvlbcPKmpy8rEqKwayu+pm9jrlhEwAkbACJwKBCBHjxyL8/y1/7o8uurF5fFHR+rNCAQnJCiyrN4OLBlbPTp+DtdNw/GwXd5Rj4Z/kKRjtxDH4/2jS+OuZdfBY/XG49L1byqbr9tYDt/xf5dVxI7H7pHjx4+VTZs21VWk/f7D2Vxdt+qA5vjHXMxvjofkcEbACJz9CIgjYiY6C8MTiStCL+6IfvFW1MXvcCqXDSdkfOlTP7binVSKb8Imc0rYziR/mHXik58Y+Cm/xkAe5SeX8lNqDnlO6DQG6bElHnqNNao98ysu+XJ+YtCWPqqDiQi6QaIwIAbGJPNgs54BI7KhD6GUj+yZfLsfP0nOJX/iAyx2Apk6tujpl14+oZqUHxuBTL/G286vHatYxAfLdn7l1Pw1RvlRItjJN+fHHpt2frXlHyYWI2AEjIARWPgIjJZ18bXhQQRylMcdT1z6qnL0hh+Pq+SqIEHjkcsgS/lveTxiWYnTkWNl+P5/KkN3fDbeQddc9vq9QR5kvPY1AkbACCwmBDhHH4vH6keu+EB5YPTK8tyzDTkarwyNVaHcMkB8xntGgynVHfRIvZUQARqrScNmSbVt6vhAjoo0XR59x+NuIs72daXp43tHynMrrygvvfID5diDn6znfJ3vzz333CBIidCvDH7d6jfzTPwGn99MstjGCBiBRYQAfzTD/7DB24jPEXdDKc6Hkg1RST8xmhP+uK38sdXpn/jinNATQ/mp48OmcUS1tvFBj43yqETf/OEflZAchzb9mlvOL73yE0956ctbOz99OT9+EvIrDjpssy7nQT+QzAVBqkFoQgxIA6bebcACAGC189v+GpvAJxY67NBJ5KcSPfnJgaAXwLJRfpbgKCZ98sEfPW1ySS/brMvzl123/PSRQ3koya/ly9kn58/6PCbmRIzx0dWGfxgBI2AEjMBCRYCPXKxctXLg6R0/frzsufamcvzEivon1omT8QGQuEot5aoSy4ooh04Ol6Edby7nrLqgrP7S75Xly7kEzV50kz0bz5UrV5YPfehfxHv2lpYHH7i/3Hrrl2bjfsbYLpR5nDGAzsFA3vGOd5Ub3/DG8tRTu8qf/PFHy/79++cgqkMYgblDgNWjx4c3lO+tflN5/mh8mCnOzUuCEOWReQSi9HjcAjSrSeOftaIC+cndMkTpsnrb0qwYHYlbIuyH8I8SYpSVpNxCsIK0dkYBcXrwyGi5b82bykuGv1SWjzwX5/zmATyuOVx7+n0N6Vxdt2KYp0QGnd8pGZSDGgEjcDYjwNla/BNn2rGzdy05Vffiv8TviGvCjz++iYGOtraoduJSx4aTO4INsWjjJ0FPfsWkLcFf41J++rDFTnGoy09lqGp+zRm96sRFmgvPzPPLP+dXvnZJfPLIh3bfQsJBBSC1Qxhse8C0GawGTRuA8QMogUWpSWFDWz7o0bFDEbWJgcieMm/0EQM75VQc5k6cnF9jyvGwUT7lV17Za/5hOmH+mgN2Ggc2xOGvjm75lUvjaudXmzjNOBitxQgYASMwjwiwAnHNmjV1BIcPH65f220PZ+XKVZ3H9g4e7P5xoXPOWVvdjhw50nmM/P3vv7msXr263HnnHeWf//nedthF027e43ayDC/nTSv9C6tHIUj3nlhZjsUd94G41R6NO3BWJrGa6ES9m44b7uhbvWyorN748rLuXf9bueCuz5Zl+75fhmJlaSw5rRfPPAoWK4W6PrJP2UjYRV0f+JgpWQqx+JKXvrSGgCw4mwnShTAP7c2zveQc9Za3vjWOySVl27Zt5VXXXldu/dI/nO3T8vgXGAJ8sf75i28o+46erCtFm+k17xll1WglK0PJP2SdGDsTBw0a/42WKzYMl//rvevL2rjL+H9uPVD+x3cO1zsTVmTE60WrPV+4Xx6/A7iOxnk+XqRST9zxwpXyXJg/f8ENZcXTf9UhSJtrDq9lOVl/d2YD91xdt2aTc7a2g8xvtrlsbwSMwKJAQNwQJdwNPBT8D9wN7TjpVqFUWzr50JZfnL2rDyUxKCXUtUkn3gl/4tM/VX76yceW81MX/0Ufdg3/1NhFs5M7j2G2+RUn52fcOb/mkfNrTORGVDatPn/OBUEqMBigJqISHZt2jgDXxBg2/tgg9COU0suHEj9sqedSthk46fBhx2pMlHnesgv1hLjo5UMMcuJHXvlobLSRbvnR6YDUHKbKTxzsiKm8KvFTXfMPlcUIGAEjML8IbN68ufxP/+In6yC++MUvlDvvuH3SgG7+4IfKxRdfXPW/+zu/Xdok6fr155ef/4Vfqv1f//rXgrj4+1q/9LLL6o3ahd+/cFLMxaaAhBTZOMjcIUn3xJKhQ7Fy9FBcTfh4xwjBQ47EDfg5cQl6Ia7cy5aeKOui/eSqi8vqN/5SWRm2I8uH6oWo3izHqqQlPJpPGUEIMRpk+dK46V5RB7ukrIqvJW+6/VNl1c5v1rHPlCQdZH72NQLdEOCx5aNHjxYIeORgfKnbYgTOJAQ4r544MVJ2Dr9s7Kv08Q9anFMZZJxrT8Tn6PmHLG4TjsUtyfL4RD3nX24drrxwuPynm9eXNcOV8iy/+o7zqh0kKf7H41zOo/msJNWj+qEOCZI0dKxSPRb1J5a/rJw/8pkOIco1Z+zy0JjP8me9FPS7/HSWufoxH3R+/eS0jxEwAgsaAU658D/Nybkp4XGaP7Sbkj7a8D5s8GUS2uJ86uk/2vQrHnb40hb/RHzZtPNjM1V+Ysk3qnU8OT951M/YNPacX/bolJ+82E+XP0yqHb6IfIQDeuVVmeef7bGlr28BqEFFgyROBk5x6QckRINVmUFjMiISsafNhmCPLfHpk798NA89Mt8ekx5jl5/Kdn7iE0v56Uemy6/5TZVfcXLZLT+6nJ/cOT/90o0fnkS1GAEjYATmCYE9e57t3Ext3bJ1EkG6evWaDjnKELdt217uvfeeCaPdeumlnfbup5/u1F2ZWwS4AWfV0IGh0bJ/JEjNIIzq1XckLp31yrs01pTG++3CJtaWln0rlpclR0+Uw9y4xyPvR4NcPSeGdDKI0hNxNVoaN9VDxIwrF+24hw9d3LQvjRv5pUvK6qFlZd/L3l2uefjrZcWKeKTfYgTmCQFWTn/0o39YrrnmlWXv3r3l7ru/NU8jcVoj0B2BhiAdLYeXb6gkJqfk4fiHrEZYuR/1WP0ZXGfU+cgeupPl8ouWld/+wPpyzjC3EHSiHy2/FiRpcKjlL797qMS/dwU5GitRYSyjF7smMnVktMY9HI/3nzhxonNNb/r80wgYASNgBGaIAKdWOCVKTrgIJRtcTnPqbU7EIlLHTt7RO9l2Iv/T/NWODoF/oh5n+o4of9bl/NJz8ic//uTPkseax4aNODvqU+VXTuxU11jJrfzEn0l+YuDD+CkR5ipdVQz6Q8TiIHGYJIPSjmZy2tECVpOgjdDGD8FeO4nnBomjyRMHEWD4KCZ66swBfd657Ch86M/xaSNT5acPO+ak/Bprzk+/8mv+9JMPv3Z+2UdXzU8/ovERS1+oz/nx65a/GQuWFiNgBIzAPCNw5Mih8vRTT5WL4wvrlwbRqY/+aFiXXbZN1Vp2JUi3XNqx+f73H+3UXZlbBOq9cYRsyNF4XD4e41waV80Tld2MLxvHStCj3FEfH42vGS8ph0eiM641+4P0rI90Rv1A3HxzZTrBXXrcoDcXtCBMh+IVAOH3AlcotmXLy/PDy8pTw6vKy46P1JXA+uDT3M7K0YzAzBB46MEHC5vFCJyJCPBn/Wica+tX5uPEOxKn2rHTbKz0pxdpiE3OuyPR+eINy8vvfOCCcs7KOOliE7oDR06Uc1ZgcbL86rvWlfv2HCv3747zfb29iSL0cequTw8EFTq2opRbjjj1x2pPVph20lWtfxgBI2AEjMAMEcj8DiduTq5wTM1JtuF/4KsQ+B/qOsHDI1Hnr2iEUm1KkZ/04Uc/+XSCx6adP1ST8ovnIr9yMj7pu+UnjvJjm/OrnvNjTxtpz1/cIflnyv8RiziMjfyKwXwZNzrli2p/MhcEqSbLgDRQBi09I2Og6MiHnkkgTEp+lPTJDx/s8iRzfAGDPaI2MXVQoEOUU3rlB0j5zSY/tvLTeGmz5fzKgw1zp615EYP86KgrP/3UZRfVjshGuSktRsAIGIEzAoFHHnm4EqQrV60qF1xwYdmzZ3dnXNt37OjUqWzbtm0Sibp169Zqs3v30+XQoRcm2OfG+edfEKtRLylHjhyOL+s+Wcvc367zXtMtEft4PF67c+fO+DpwrJhsCe9H5Uu2R48eK88/v6+sXXtu2bxlSzxivqx873vf7bwPVW4ziSnbM62E20TWx9XnNS/bUM5buyLea9pcipbFjTEf+1gWNkuGltZVocshTkNYj8SliYuchItbmNUPgIzECtTjYRq31WETq09jderxWIX0/OGj5euPHCgnRtHOnfCo/uWXX1EuumhjWXvu2vro9L59+8r9932v8B7c6YR9/KIXvaisO++8+uj/rjiWHn98Z+z/56d0XbduXbnkkk11RTQfMXkq/mHgiSeeiBWJz07p16tz2bJl9ffm4o0Xx+/NBeXAgYNxXD9Rdu16ss6p7cec9fGUdl9us1ryoYcerKotcSzr/b4PxEevWB3WTa688kX169U8hs7vcz+ycePGwusyeHfsgw8+UONdccWVFS8ebd/33HPlkYcfKs8888yk8GDB/Ni3fESJfcHv+hVXXFFWx/tDH7j//vJw+Gbh95Zxsx/5fd1/YH95MvbHY499P5t16hwv559/fsWA8bFiz2IEzhgEOBzHjknIT32JfhlsZj2DhgHPyMf/kKcv2rAsyNELy5oV0Qgb3H/rln3lvqePlf/3gxtCH4/Hhw4C9Zc/8Ux5aE98tikUnPG5CWkI2Ob9ptGs5+76+H3Y6FqB3mIEjIARMALTIBCn4fSHrjgiOCBxPpyOIRKxRCixY5Nwes5tbPijjZJNfFNUa52Sfp3WxQ8Rg3rm35RfNr3yYyfJ+fFjI7bGon7ya5xRrTbo2vnBolt+4iD4dMuPj3IqP23lz+MKdf/CgAcVDRZAJEwKPaUmSz86RDtMAGRbxcu+qisuMbQDsGdTfvJhp9g5f6irKD/zV0zlyPnHzDvzkC165ScPOYipGJTokXZ+2dIv/Mkp39nkJ6fFCBgBI3BGIPBorPp8/Q031rFAdmaClBWjWSA7LrroovL0009V9bp168u5QTwhjzzySC3bP9acc068o/R/CfJl/YSue+65u9zyub+Ne8qJp0SIlje96c1lQ+SRjAYx9HiQJ3/z138ZRNT416tviHG/+jWvLYdeeKHsDJLsxS9+iVwq0bJ/f0OazSbmUDCHPMoLGXPPPfcEIXRmvTbgFZvOKcOxwnM03kV6LKDjFXGj9fP13FDHBz+4KsWVjsfqQZZFpSersnmHHY/V8ycfHwkZiUdAR+PdePH0fRBP8Xh9lA1BGv80PrS8XL1xdUNEzREZtWnT5vKTP/XTFdvOjhqrQAx+4fN/V740xcd33v2j7yk33PCGIO+45E6UR+P4++P4uvmB1vspISV/6Id+JL6A/oaJDmOtRx99tPzRH/5+kPuHuvZ3U27fvqPcfPNPlPMvOH9SNzh+8s//rHzzm3d2+nhFwS/8YvOe3o5yisqv/9q/qR/kuvnmD5WNF2+sln/w+/+tkv5tN/7h4ed+/heqmo+k/fv//d/2RR7e9N73Bcl5eY3ze//1v5T33PTe+rue83EYfOP2r5dPf/qTE3Lwmo0Pf+Tnqunt0b9505b4h4rNHdehYGxEkEKivuc97y3Xv+71Xffjrid3lT/4g/8WJOtzHX8qP/LuHy0veUnz+/1bv/l/TEuIT3B2wwicYgQgJTn18oV5VuTz9Xn+aYk7yiVBmNLmi/N8jX5tPE7/ux+4KFaOalCj5Tf/9rnyd985VG9Sfvnjz5Tf+eCFdSUpq0t/9+YN5V9+4tnywO6jsfo/4sX5nd8pblX4hy0ev0eG4lzOKPyPBxUO/zACRsAIzAyB5hSKLSdWBL5If2jGWb3q4X+oo5dONuKXoitOwo1QNiflJp7a9HJpkKCHX6LM+VVXLvFf6KVTfrWja9r8+HfLn2P0mr/GKFvy5/F0y4+OeIjs1UYnXCgHEoExSBAmJtEOoI2eATJwdhYbosGrHz11NvwFjtrYa6ICI1RV8M07Jucnr/JzICzM/HnGFRL/MAJGwAjMDwKs2oKcQvL7RDds2Bir13hrZSlfvvVLteTH9u07OnWtHkUBQdVNrrrq6knkKHZXX31NufHGN0xwYdXZe276sQnkKAZDQfbxCoD3vf/9ZXh4/H2YkC0IxG0mR/mYkVbbzTbmjh2Xl7e/453lule/Joicm2r8M+HHOEe5vBw9Eh+qiUcxD70Q77yLRZcjsXD38OF4rD709B2Jx+8PH4pH7mM7eDjq0X88ymOHw57+uAK/cGi0HDw0FDHCN7YXov/56D8S7y09cixihW9dihrFeO7+kYBw/vBHfr4rOUrUSmT+8I+U117/uq5J3vnOd5U3vvFNXUk1HLZt317+1b/61+XCCyd+FOxnfvbDPcnR6rdtW/nlX/6XM37PKsfHL/7SL3clR4kHefvBn/jQhHn0S1h8+9t3E7LKVVdfreqE8uqkv/fb354TcuRnP/yRSeQoSfl1e+3115e3vPVtE8aQG6997fUTyNHcR/1dP/TD5YYbb+y5Hy/ZdEn5yM/9fFkVK9otRuBsQoDV+nytXnd+3MDwYSZI0UYol5T/xArRIEdjnWm0T5bf+Nvny+fufSE+tNfcYt2/53isGt1TDh5t3lW6Jh65/+2bLyiXrFteiVY+zDQ6Zss/dEHK1n8Dq7dkY6lcGAEjYASMwGwR4PS9cPmn+effuMhJuABKmoufWn2W7Li5kHzFbq7aDdEJoUlb/eTKdU1OE+Ngoi4ilLZiRLX+rUA/Mfh7QfbKodiKIV/1yzdcq3TLj087/5h5Jx9tsJsufyZl8emWXzHop45Pzq8YuZ/5NPk1Y3otRsAIGIF5RIAv7z72/e+Xy+Nx2K1bL+2MZPv27Z36t799TzzW/OL6SDGrSr/2tX+sfTwCj4wEwcpjzr2ER4a/8PnPB2k5Ul72spfHCtEfqKQnMb/ylS9Xt6XxmO373v+BzmPIX/zC58t3vvOd+HL1ivKmH3hzrB57adm48ZJa/8Lnb5mUSisQeQ8qK+l4JL+fmMPDw53Yw7Hy70yRMS44yOx4p2iQcPGzElbURnhePsqTsZyUj38MxdeT69Oc4XSCxzfjBp0LGZcpHv+sjGcY8EEnnsSvhHK0T1RdvJM0VkEei0fvR+Jxe0S5a6OPHzyi/ZGf+4V4BUJDuO99dm/56le/UthXrCx+1auuLS97+ctr5Pe97/3l+Xic+7545F4CaZpJubvuuitW936rPsr+onhM+zWvub6sOWdNrGY+t7z5zW8pn/zkJ6rrtm3b4jHvKxWmrlDlUXWOCx7TZzXq8IrhSshv376j6wrNjvNYhXEID14V8fd//8Xy7J49ZdPmzeW6615ddoy9luL6IApv//rXqhdfYf8/f+s3Co+it4UVy6wA5RUACCsw9Q8Wd955Z3nb299R9S9/+SvKp5d+skP8V2X8uCr+oUFy5513qDpQuTT+QeLgwYPlK7fdFivDH4qxnVeuvfa68pKXvrTGfUf8A8ITTzxevvfd7/bM87V/+qe6apQ4PHaPvO71N8T++cGOzzduvz1+x++tr1YA/ze+6U1lTfxjB4/7/8zPfLj85//8u3NC+HYSumIEThECDQfKO0FH4+NMzepRUp2MkwWn3FifH3puGE6WK+Lx+npLFHa/8bm95W+CHK03EdHPo/k8EHB/rBb9lT/bXX77g6w0XVLWxkrStcOj5QneKR3efO++2laiNJ4O6JCwnK+bsz3550OujicwrozzLk+JcL6dSjZv3lJeF6vJ+fvh62Pny6ns3WcEjIAROIUIwOXEGbjDe1HXCVUkHm02+B/6M/9DXXb0I9hw2mZxIH7t+KGqMbIvNghlzo8u56eNHxv5FCOqta183fJrHNjgJ1vpiaFxUM/8G7bkk2/OLx/10yZ/xiOaHRyIoTiyoX/WMvkv7FmHqAPBqxsgAoAJqZ8SPRPQJKkzFq0GpZ++tkivGPRTR7AnDkI+5aZNfSb5Baby4JtF+l75NRZ8sGU8bPLLbWwZs+yYfz/5w81iBIyAETgzEHj00UcqQQo5wSO7vJcRIhR5ateu8sILByvZwceceC/i8uXDQeIc6xCqPN4O+dlNeOT5s3/xmc77QG+//Wt1FSE3URfEaj/F4pF6rVj96lduK3fe+Y0ajg9J/c1f/1X14T2ElyYSN+f7q7/8bLw7ceLNWD8x77//vnL3t+6K92OeW74VRNyZJvEmurjoxvtGg9k8yVKiIEu5N2b1EjfivM9uNLZlsaSouXhhFxfq6Gsewg8TrmDRy+OZSPUP5/h4fRkJ0pT4Q/EsZ7x+dE6EVxxoZSfvyfz9P/i98szu5l23O3c+ViDgIVCvvPLKenPPKsRMkN7w+uYVEAzmrm9+s3z843/aGVf9eE+83/IjsToVgWz963gVAyQ576h96KGHqv673/3nctuXb611fkDa895dbs4R3rfLe2unEx7FJyb/KAARu39/88oH3j/6QBw7/+ZXf73OAcKUR+uZL/JckL7dhEfHRY4+/vjj9XdFdvwesjJ72/btdUUl7+zMY+R3ld9H5Ll98Y7QPt8/qnwqIcj/+GMfnRCPffTzv/CLQQBfXs2uf+3rehKkf/qnf1J/hxRP5euub7CmffvXv14+9ak/V1fhHMT7R8kBwcOcN8b7XUWudgxdMQJnIgKcbDmnxrF7Ik6oQ/Vk3BCX46fROONG/29+bk/54VecU/7HvQfLX8dj9bqpi+/sVcGe+gPxcaZf+fju8itvOa888Ex8rOmZ4+HP+ZlzPe8fjYxhB+kap/zqwxjmW/hHrlWrVtdV9J+O3/FexCfkKL/vsuX8xz+8WIyAETAC84QAZ2GdsjmZijuinjmvXBcn1B4yevwVg37qCKdvCXb1r/IolZ983fJrbO38iquYlMQkT6/8xEfIia3a5MCnnZ9Y9KGfSX7i5hjR7ORQfGy0CQPs+hIGNagILAbOZJk0A0OPCCja3PXSjy16TUATClUV+qWjRNAtj4228kS15kFHP/GxoV9zky35VZ9tfuzb+RU/z7+dX3l0UGlc6BnzdPMPk2qX81MnDvOkbjECRsAInDEIQE5IWBUK6aPH5/XuQEihG+KReD3u/vTTT3cenYfE6SVPBHk6MtI8wi8bfBGIEB6lhWy9JB6vl0DYvfSlzYpC6VaMPVp/4YYNsRJv+YSYvKO0GznUT0zGesstf6u0Z0wJJgjE5ZJYYsSKoXpBDkIzFo7GVaf5cvLKaDeXqbiExd1zfWcdjnEHzerRoVglGv/HFan5KBM388RhlSkxj45drU7EawqiWWWsaBp9/BSJh+stt3yuQ44qFLn/e5Bq//bf/fs4JkqQflvVVfe13sP5QrxrNpNqMrr/vvvKpz755/WDP6yG1QpMyMRMKMpe5TdjhaYI0guCbJyJ/OmffKynGR8nevCBB8qVsTp1KHbKefEBIh3r3ZxY/clqaoS5fexjfxTHNX+SjAurQiELER6zz/PJj91/85t31H0oT363ppKpHvu/7bZbJ/0+gSv76Nd+/d/VsBDA3WR3EN/8A0Nb+J3VfuSDVp/97GfaJpW0/sd//Grn1RscNyZIJ8FkxRmIAL9t/IPT8vg9qYQljGW0Obfy71hLos25eCjOz38dK0b/5tuHKtmJFZ8whhDFhXPw0rhFYsXpSPwO3xcrSf/XP3u6EqFhVm+eeGyfG4p6bg+/miPa9dTPKAY9YZNoADkS73GB9ER4KgRpk6SZHK0G8ePw4Zm/B1o+Lo2AETACc4iATqeE5I8xTtHionRmpVQ9qtWmmw7Oh3jEIQax2Dh9I+jhmrChROiTLTdO6GeTX+Mij/g35dFcyIdIT07y4Kv85FS/xiy/bnOVLueHc8sxo1nnQhzF1PzJh8i/ac3yp0i+WbpNMNfO0UAECG0BSF2TwJm6JoINkv2YnPzpx179Ua2+tNlhgI6NNvTaOeioI93yKwf98qPezo8d/RJi5vzSk09xFLtXfu1sfBD5UZ8qP33KT91iBIyAEThjEHj22T3lQJCirJrcuuXSqB8oS8ceB9YKPIgKPobE+z63bd8x4V2gjz76aM+5dFs5p1V12YmPP0ne8MY3qtq15Kvh+lAUBqwW7LaCdZCYXRPPo7LDd8VS0NG4ipyIqxGriI7HxmP1w7EsdEksFT1CGUtBh+PRSy5oJ8fuok/E3TMx4un7uPAGmcoKVO6ogzSlPB5Xs3iqviyP1YN8qKksH19hqgtev9PfnAhPXufQTVilzHHIStPz1p8Xj1qfU1cubw4iDrIR4avzIj/bMXg0vZfwyDg35Jdddlk9flfFylIe+9crInr5TaVfu/bcsiM+anThBRdWkn9FvAoCUgBydCbCauibP/DBaiqC+Ll9+ya58pjqTfFe3mXLl5X2Y/ZXx/t9JTyOL2EF7vt/vCEmpGuXd999d+lF9vLqg27CP5zsizHyWgTI39WrV0/6uFX+x5YcY1O8W1T78clYJdYmgmW787HHShlbMAxRfscdzUpy9bs0AmciApCSnCdHotLcQHD2Hb8b5GOE8U9bzbtCowsSlUfpEd1wwJBCfvJ+Ud4pOkzQEM7kfOSJWyzeOcopHeH0vTy2enYcs0XfuVbQmAfhH3q0MpT0PxTvls6rQ3kfde7HhpWme/fupWoxAkbACMwXAjodd+Of4HzGzr6V/+HUi04lfWz4yp+TODFFNkJ6Nif2xhZ/+mWvutrRVfvQKz/+yosd+WXfzh9dNb7yMA4JttJrTFPlV46cn3qv/OgRjV0lOuXTPGgznoFkLghSBsGmiTFAhLZ0GihthBJw2JikhLYODkqBKyDacfDDjk25iIEoB74an/JjI107v3LNJr/GhW/ODxZgrP6cHzva2gfYoKOtnUw8bDQmbNgUJ6oWI2AEjMCZhcAjsYqUDyfxMaRDfLknBEJUK7i4wXv4kYfLK15xVdm+fUc82c0pLj4WFO8YnIsvvY9ytzcmvI8st1GvXbu2EjOPBYFymC8TzUByjLmKOYO0p9SELxaPBolZ3zcal5WRuJNmnsuCHOUL9bxzlDtnVirxOOaSYFO5wa4X+YB4Sew2TJp3j4ZN+PMfj9af4Jn6uKKxqnQkcnBLPxeyadOmTpjdu5vVwx1FqjzzzO7Oo/iXxOscHnzwgUIpmcpXNu3ymle+qvDIJ4ToXAivobj5gx/qfFG9n5iM5ad++mfq+0/xv+Vzn+v5rj7If97Tec0rX1mJWD1mD8kggpffiT17nukMJX/IrKNsVYaH+bfq7rL76eb1B916WSEKQYpsvPji8sjDD08wO36Mv/8nyyWXpGMg9nMvIb4k73vpXBqBMxGBcVJy7Fwbg+RcvVznZQbNOXbslNpcPZuZYMc/cnGbgJ5/MKnn67Fbh2Wx5P9Y3N1Ahi6p5GnzFEC8krTqiQKBuiTicLsxfiWl5/QLj8n/1//y/3VIUP7hCEIU3d59e8v//JM/3Vlhyuimegz/9I/eGY2AEViUCIz/uatac0KtfxVXROB74JnUT5t6c7oe5304jasvqrVOieCPKJYIS3JJR0zaOpWjRyiJ3S0/OuWlJG62i2YVjV+52vkVf6r8iqUYzH+q/JoHftixoWMswi7nC3V/InKuP+/Gi4EIOA1cg6Vk0posHtS1UzO42hlMMOvlj5/qxGXs2hmKh14bOurEI7baeSw5Dzayz3rttJw/TDv5czzlpiQGovyKn+1zHvW3569YOT+6ZvUsWloWI2AEjMAZggArvyBIWUX6yniPIwIhCjEq4XF7CFLIGQhLpNeKMfnMtHx691Md07+75ZYgfMaJkk7HLCunIuYshzBn5rpkQGyyyggCcyie3VwaN918xji+3VSvK6Nxp97cUIcibprrKtHo4p149I3E1WokbrL58jEE6vGwQddcqrlAQ5TGz7hO5X2PRb/CR4okfASr2wpi+vmSvUQ+EISS/AEt6aYqeXz+x4IczXL40OEg9Q+UQ0GyQ3bq3ajZ5v9n700ALbvqMt9VUypVmSQzJEASCASQQVRQcUBb2xlQbGVQBLUdutXu9xTt169VQJzQdsD2OUIrrSjgRKMyyGALiMyJCIQxgQABQuaQoSpV9f6/fep37rqnbtWte87NPbdOff9k37XWf1zr26f2uee76+x9uD4PWfqRH/3PY4IQP756zlfruTfp7ZWTh50dSfjq+7d/xxPaWXWrCATy83Wve82RQtrb3v7WgSDFya/ZP3jZ7tHlD2eCoLjs0kuPmJN/24eT/jxM+vS2O/f669yk16HjPXXPVqXPoc62t/Ux2tMGgc2IwOiWFUVSDtdnPkTUH6lqojy0icsr12zuP7qd6y3X4vLjGos/f9Qa3bMUfz5w1Y/hY9eIMN1XH6O2cWuU0g5/AMNe/99Z8VzHR+KOVGzEz1cOR5KyS5Td/ErIUZFIGwSCwFwRGF02uVzTkw9iSnI98j/aufrySxCsDsKYQz+vzvjDf7l71NzoORB09KlPPsf0j1Rff/xWqo++r1/DIR+t9Wmdk/kcr1TfNdLij29fn75jWvKzBnwRdAh6xPq06gbDWn+sB0HqhKnNAvuJe1IEmlbBxgLV8cJAR7w5sTFH/NAr2LGh60Ho/QVJX2IFCx218OdAqE++vj7+1LcWcYg5nRN+6vRHp5147PrRP9r6fMrr6xNrLX5PigSBIBAENhUCH6mvyfMhDwJHkuLDdd/RXrjXKIQQX5XV50j3H+1jV+vzMCjlEY98ZPu7v32Zw6F90IMePDyQBuLsH/7hdUdF3k2bk69Pf07tkvt4PTRi/3o9qWjZatY+4A0EOVD483Am7hF657AdiQ/e2+oBS/va3tIPfDbvYvtqR2m92eznq/QVzNfy2Wk67Aqt8ZZaF1+pr8d+DB/S2VJKTta7t/xI3e/AHYpP+YOvV3JbBOTcutcsD+5aSc45Z7RblNfY1Vd/YnAhVrlHtwtR3ZFaHtikvOtd72o8yOvGG5celsRu6f/4wz+qy6rtBRdcOCZH+ar/C//kj4eHSe2re+Aq3/O9/77d//73d3hI++hHf9XwVXkM11xzTXvxi/7sEJ9JBfc15evtp9YfL/yaPX/MQKj9L5ctJ0OvuOLDh9xDdDLnkcY8jE38J/3OrV2jCNeKq7t/s5N+k2P+LSnn1sOXDifmx86u70gQOHYQYOdnXZ+L9eSeo5Cf/Oo/kJ/V5/6iXCm+8pJd7ZH33NVe/f5b21uuvLU+dNTFlov0wQ8How9Po48e9zl3R3vcQ09t7/vkHe2ll900+A7X8zKPvqJPztFX80dXIS7u5Jq/rESSnnfe7vHEQo6OoUgnCASBzYEAvz3D3yC29OF/4JyGq/rBPjo5Iy6/+MMnyY3hyyF3ZG5z9P7lNvjREs9FfKX66qxhffR9Pmpap6/vnMo89h+9dYzqU5fciLXok8M1Mu7rO1fr44e/ot05OS/8mX9f376xa2oBf1ZhQp4AJ0xOJs2EadGzKOoxYfoumhY9OnzVM3ax/UnDR9/qLnsBWR8fDuoLcnXH+axvfuvjs1J9cerXgy8CgQmTT66V6jMP8+NDjr6+8yMWOZr6xHMQGwkCQSAIbCoEeEACD5SRoICkmtwdevvttw1Pmb1n9yT5w92vcK2Lu/baa4d7kLE7lV2qyPvqITu31QMf7ltPN+e+ihCz3AMRgvRoZJqcZ511Tvvupz5tqMUT0v/iL158NKU2zGdfsZp8IN5e9wgtBrPtrafYbytyc2u9s3CrzgO1O3TfsLWIt6XRGxnvrHyFkx2h+w7uOsWHr94PR8UPbZGjw71Ky2/Y5VT5kVk3JPGgroc+dEToQfB94APvH/L2PyArTznl5EHF69B7jXJf0tET6U9sd6+v6p9zzjmHPPgIUv/x9TCQu51+tyJfb6kHNr14IPDuVfccVV72v/962OnpmPbi+x2eyOz97N+n7jmq8FT397zn3Q6Hlh2mF1100TJdP+Dr8V/7dV83qPbcsaf9rxf84bC23melPv8W3/nOd7Sv+IpHD1+z59+CX69/73vec8h9QFfKsRbdgx/84PbOdyzd09TYCy+8aLjvKGO+Cj/58DX9Vmq5fQI7h3fu3NnuUTvI7na30+vf8vJ7DnIeH/jApYez9aTqSjmjCwKbBQFeu/yKz32huV7W/wNRur0G7AotyrT+q+tv+f3XrzmrnXLi9vbYz/uc9pxXfLq99NKbh139I0KVa3Z9Q4B/C+ee0J77Hee1k3fWhf1hrb33U3e0D1x9x8ElVzZqVVniRldq5kAxqm8OmSRJnVXIUZFIGwSCwCZCgF+c5X3ggfzqizyPxCD8DxdaubTqjvkq47ksjy7NSy02vlLFxdocXrDxtT466jNGrG9r7OHqE08+c9u6ppXqG8McEevja11a7NZXX6pl6zcX7cE3pmEu5HTO5iBWf/pTCwlnFU8YE0IYk5dFsxAFvS+GXidoxHMQZ64eCIBDICQFlDrk1a+64xfE8VKfNUeCQBAIApsKgZ4Q5YMNhOik9LtKuSckD9dZD+EhSy958YuG+56SD5L08d/27XW/sqcMTxqHHOVp9X//qlfW5z/fwo5ceZqcPDmbWsg9i7TbbFLfrG931I87C687C4/9e+qo/p4DRW4Webq3vi/PeH89dWlf9feUL8edNT5QD1/aV8ft9Yn99oolzx3V0seXr+3vIWfVOLC3PnzXGBk++88AxFVXXTWO/uIv+ZLhVg5jRXV4IBP3pVM+1vmzU9GdhNvqYUvfVX6T9xNlV+YXPuIR7b73vbhBYkIoEifJSt5zJnYtXnDBBe3LvvTLLXlUbX9rgDPPHH1F3kDmxoOR3Fmt3pYdyU980pOHHdroXvKSFx1C9Oq7UvuO7iFMj/uWbx27vL2eXr/eAon9ZV+2HBtuqfGkJ3/nuBTXh7UI58MY7n/KeeTJ9r1wHu9/ySVjVf+6GSvTCQKbFoHRR6LR18RGH4nYTcrBx57hA051b6hrNsQmPObTv+7M9s0PPam+el9/5OJT0fBRakt7wDkntN/89nu0U3eOrr+Qqzffxh/HIFzZocq1mXtPE0ef/LRDkmo3j0iS+pT6kKOb59xkJkEgCKyIABfT8F8jblCAwGRa/o83Jvk/8o3eIA/PP+KzZmFyswqLZKJMmEnaokd4H9dHktN3XX1pZY5piSGXObCPPmWOdOiNpc86HONHrLWwMQ2uVh0AAEAASURBVO7BxBfRl7F1bVeqjx/1zKcP83V+5iQP/ndFfeYgRtWNBIEgEAQ2FwJ8NZf7NiI9EdrPkqfaf8Wjv3JQXXnFlb1pWX9vfRUessh7SfZGiSuIrP5p1jfeeH178Yv/rD3ykV/U7nXvC4Z7RBrHg2j+8f/8Q/vEJz6mapzbfGND11lrzg996IPti2951LDT7bJL39llmm+XNy5kf707bd1eu0GLtdxXT6vfWoTn1nor3F/fob+jHri0rXaW3ln3q9taW0q31afwvbU7lLe6fWXjjY6dprzJDY9Jpl9k6bb6kL2vPsQPO5Iq357SsaP0Dn49LCnzTMLriqemu4v0CU980rAj+Nrrrm07iiSDFDv55NHuUb5+/5rXvHpZvb952f9uP/hDP1zE6M521tlntx/78Z9ol7/3ve2WIuf52vuFF1449n/jG98wfO0cBQ95guxDnvCEJzV2fX6mdqSyS/phD/284cnwg/Eof7zvfe8bnsiMOztev//7f7B2w35geJ1f8oAH1L31zlsxE4Q7hCD3PEVuv/2O4R6+j3rUlx7iz1fm3/KWNw8kb2/kYWkf//jHl9X4bD1E7X2XX967rVv/G7/pMe1B9UcKdn7yQLZLLnlAO+nk0fx5SNprXv33a671d3/7t+37f+CHGgTpeeef13786T/R3v/+99XrcUs7u87rvetcKv/wutcuux2C+rRBYDMiwB8ARlfW2v1Z1939dcuTE3lAXum31bV670CSMvMD7af+8pPtuU88v8hP7ja6tf3wo89q76+doe/59B3Dg/buflrtHH3Cee2kE+sjQ6XlavzLf/fp9unr76h+/WupXDyUqS7zVevgvUerRl26N61Akj7jZ35q084vEwsCQSAIFAI9/wMnhPArs4cXemz8St23XoHxlVeC+zEPdv2rO3BTvR866utDLGJt2sPVx/dI9Y3FDy4Kwb+vz7iv77xXq0++leqXetC7DvJb0/nY6kPM1MLkZxUAcTJOjhahdaEsRFKPPoLNF5A2wSbWPPhZR12pBh1jgccH0YfWuaG3hvWJ6+vrQ0useaxPnDp8rEcefPq5Y+/rT64fG3Fse9BW3WU58MHW18dHsb7jtEEgCASBTYHAVR/9SHvOL/38EefCw5NW8yHB//gfv3HYPB/4wPsOm4NdqS972UuH2JNPPqV2mW2vh+rcsuLXeV//+v/TOFaTteS86aYb2+/+zv83pGQH6mYR3liQ4Qn21e4dyNHaUbS/9ivVJ+VtMJ8lfA4/sIWv3deHZz6YFwm9rXYb8cbDB2g2x+6tZDwRmefU18bRQfiADynKV+x5mj0ttZBKM5OQ+8Uv+tN2chGEPMSI3ZYX3+9+7eKJrOzQfP7z/uCQr15zr0u+jv493/t9Qyz34uQ+tZNyeZGFb/qnN47VkKUXX3z/gZCD3PuiLx6R/zrwYKXdu5fuiaf+cC0kJYSkuxxZy+RDmXhw0fYdy39N4+FS7ExWIHof89jHOTykhciF/JyUt7/9bcsI0kuLwO/vfzrpP+34mvr6PET0hRcuJ5/Jx7nk3quf+cxn1pz+qqs+2v7kj18wvoXF3WpXLX8MmZR31Nf7X/7yv5tUZxwENjECo4vk1mFnZ12P6/oKKcofnnbUv5kTauZcf/nA8a/1VfkffeFV7blPOr+dfGJrJ+/a0n79iee1//RnH2tX37C3Pftbz2mnDeRpXZEr7S8VOfrX/3Lj8OmEP2bxCWP/wbzcbgXDqC7wlDESBIJAEAgC0yDAL71cRDm4XMsVMcYmZ0SrD23/WzJ+jG2rO4j8Dx8sjKFVjFFnDedE6y+X2myPtj5+rIkazMd5VHc858n6jDkOV99YWsR12460S/XQI8xlsr61B4e1/hDgtcZN+jOxHlD6AI0wQeuwEMfGOAZkc3jCSzXkMR7fHgw/cWLvffr6+Gtb1Pq1xEgQCAJBIAgcDgGeNn7DDdevSI4eLmY1/dHkhBjdTORov6bz64PzuSduafeo9pwdW9vZu1o7+6Tq1wfts3cfaKcX83lmfTo/feeBdsYJ+8rvQDt35/7qH2hn19c1zzphfzt/x/7y2zf4nntC7d6rT+/n7Cq/6p9bPuft2tbOPWlru2cdaxF2A7MrGNmzx3vljTJge0GRnG960z+t+BR7dns+7w9+v3YIf3wUMPET+x/+4fMbO4l7gS/gYUevqlsv/OH/fN6y3NxD9nd/57eGnZejHV6jSPrs0vy93/2dgfBDe0c338Otgzjm8PrX/+MhBCb3u/2jP/qfDXIPYV57Dz7lHUyOlsjE73C+kzua31GE6V0hz3/+81q/E9cakKKQo+z67IXd4spKO8a10V5e9xV+wR/9Yetvo6AdUvi1r31N+/OXbK77/jq/tEHg8AjwUYevvo886u9LA2l5QnW4Lyl/cOIDFjtKT6jrwfs+dXv7kRd+bPjaPBGn7trafvMJ5w9E6SXnnjh8aOJ685y/+1T760uLHK347cO3ASpX1dlW47oLytBnPNQYPqqRzY9l9CNBIAgEgSBwlAgcD/wTv9j7yz3vWBvFvx3cjjHU69+k+vpHeZpWduuTruyxuhZgeBHwfi3JSd6Db+3VW3qHtV7vL2Otny8o8goAOndaoicPNmoYb33tZRoLOnxpEeOch3Pt/ehjR7BTH0GvDT0MPH622ks1PnHoEFqx0Z+WPOh7P/rq+/r4m+PvH/+tjx2+S/jud7+r1JEgEASCQBBYVAT4kHtn3Rv0UY961ExLhLTjAUTv+pbn1D3ntrYt2+uorZ317ee2o3aQbqmtoez0pB5vS1u38RY30vFEZdR8ON9R/uxkOnDwT5X1ObukCLwiVYc3aO5pWjqe87SldpA+5C+fPnz9fcfErkiiphV2BZ922mk1363D19N5WA8PYjpa4avqp5562kCGcg/c/t6gh8vBLk52JNPy4Kcj3ZbhcDkm9aeffkbtyK1duvVE+xtvLBLjLha+xv+0p33vUIUHWf3qf//ldavIV999CBVfheVr9Oz0PfPMMwfCFrKX3dWj19f6lOU8nnba5wy3yoAUvvHGG8YE+2SF/+v//vHxA+R+/ud+dkPwnpxDxkHgcAjwR5Abb7ypvfU+z6prJ/tFhwvrsAN0O9ffup5y/eU+o/sZlJ0PQPc7d1f7zdo9enIRpDxIr36W7+h6/ZxXfKr95aU3DH4Qr6Pdoksf3IY05b/9oG3H/tvbF17xjLo2njq+j/Yb3/jG+hbG6L3icHNfSb9e71sr5V5P3bTrW885JFcQCALHNgIPetDowbB/8ZcvvbVW8tV1yI3xizR9+B1+a7blAs+FHB0tQh89/lzeie1t5rE9+Ft4eY18aYlHiFV6f/Iytj59ajiX6g52+So5Kvw4nBd6xgix5LM2OvPTH32YWB6vXVtfHxt1aKmjzTExrgOb9au7bA6M1yQser0EcJg8k/YQTMcukpqeMF8kLlagWaTx5jVOECEtzWN9fMiF3vU5nsyDb1/fmuSyj4+A05IXO2uRtK3uWEffetiNdX20iPOerN+faOZLvDms79okbckXCQJBIAgEgSBw1AjsO2lX7Uyqt5naTTQQpEUyHuBds3Z/Fi3atuytfpm3HHwn9b50fIjmjYyn2PNmdKB2mkKEbivnokTb1iLABnvpt9eHfT6skweZ9Sv2oyxLPyF72XE5rbDTcKWvoB8pHzsbr6t7nq6nrHe+I80NYveb6r6gyuv/8f/YvctaSEuI2LtKjuY88hq/z33uOyZH9xVpzy03IkFgMyEwXIvrj1S7b7u23bzrnKVPf3VR3VeXUu71zNftt9R9SesvT7Xjc0vbU+PLr76t/cifXlW7R+/ZTt5dj1mCJC0i9Zdq5+hfXcbO0bpWV3zRpiSpJXPdJkeRrdyEtD5qoCXnrtuvG4hR5hIJAkEgCASBo0SASya/AHNBHfW4rB6O/8ITO78hc8gJ0cdGjuGyfLCVn4L/oY/Q4o8fMYzlv9CZfzSrpXzUQrRbn7nSR1wDffysRX3GiDrG1icHgo7jcOt3fdTjIFdfv4YH0VzKRQzrm6xPbQ9yud7qrl0EcO2RyyOYLMJk7bto9EzUMa0HNvqAASiIQJrL1hwsWKD5+EafHIjA0kdPLP6sk3hzHW19Y2gn65eqUZ/c5lupPn76UN88zpnWueKLj2NsxhiHD3aE+vUlxkgQCAJBIAgsOgJ+WIVsYkfetOJvDRftLEJ02/Z2YE+RmuwarXeZ4cN57QDlwR3c/G5ffUDeVkQou5H4cM7u0XpG0/BGdmAgSHmbQr+/Yrn3aO1A3V4fzutDPG9ed9YH8HoOVNvHV8RHroN/fmw8Auwa/ZIv+dK6H+hFw71UmcH1118//ir/xs9o4yru3LmzPf0n/p96oNXwpZuh8NV1Cwb+LUWCwGZCgGvw9rqGnnrLe9v1u8+uiyu//o+eYF+X2EF21vV59HX4ujLXdfWEurhy3+d3X11ft3/RQZK0bm/y80WO/s1l1w9k6Y66tzQ7RyFF69JeQt66LA99dqaOPm7wL+LkW943vMf4nuPtToaANf4wx6zvW2ssuyb3Wda3pkJxDgJBYLEROHiNrkVyKeW3Xi60XFwRfwtWj84IfPjF3l9KbPHBHz/5oYPbF8b5rIWvPqML+lJ9cvT1HU/Wd662vR+58V+JfzO39fFj7a7fPKUahDG2I9U3hhY/c0sko0eYq31a545tKlkPgpQJOxlaD4HpJylIThZfRF9z0aojBj9A4QVAPuZNn1Y/9Pqad7LeSuMKG+egT6z16RPD4UmhjnOxvjH4GVPdZSd+cuy8+1h8HGOnbz7ro6eu86huJAgEgSAQBI4HBNjQw9fA1/JAoElcisIcCNErrvxgu2XHafWOwoNAuBfdtiJJuQddEaZViA/ed5bvCfVpekt9qN5bCh7ItLd2GLHzlIc21e1Ia/dSvdlVSyxvWVshShnXMXzZvQjYk+64pZ3O5CNzQ+C+97m43f/+9x/Xv/32O9pLXvKi44Ik3L59xzJylFsZ/M3fvGyMRTpBYDMhwK1DPufmt7WPn/Vlw/WU6y93Yh4+dBSRyXV5RGxybS4DF+v6nw8K77361vbVv1YEZ+0K3VefSrCfUB9r9lUOdo7Wn6/Ki+s7t0Cp7wqUA1/Z31Y5tpaOe5KeefNb2/ZdVBsJu+a5fEt2qj/adj3et4621jR+s65vmpqJCQJBYKERgBNS6EPqcbVG/GVY7go9uuFqXi3+xqMnVt6nb7GZo7pDjn6MDiEX+sn6jLEdqT72vj78G281xvT1XIOcVbkNYn3H+CGr1ceP2J7/m4yhPn4e2omZWpbe/aZOMQaoXyyTRVgUIniSmrQumIUAZC/kUoedE4OQBz1j4vGz1mR9xtbv60kuYiO2r28OWurQ9vX1pb52cuBnLD7U63WM8ad1W7L1SzXYaM1Ba/7J+sRTn3XoX91IEAgCQSAILD4CW9pnb/3sTAQpGLFj9IIP/EP70EMe3+448aSB+ORD9/7aRnpivVXdWW+fkKR8sN1fT7nn65rDrUjrgzRvZBCjPMGed8jtbCst2Tp8cC9V6Xlo/XCfvHLY3W5rF7zvZbUT1be1wT0/NhgBvsZ/+eWXDyTHp+vr7m9+yz83njK/3sLDpT75yavrfrl3DvcEXe/80+TjQWmXXXpp23vn3uGWDG9761vqPqg3TZMqMUHgLkcAgvTUdn0795o3tE+c+aVVb9/wSz9/gxp25dfHF66/XFFHH3X4oxUfDmrHfl2A+ZCAfUv9EYtbn+ypa/MOCNLhWl2EKLby33JgdDdS/vBFTGVp533m9e2ULTfULtaTSD7IzfWQw9k+cqzP+9bB6ax7M/v61n1KSRgEgsCxjwC/LiO0XK65zML/0Mpf1dV3LHVlHv0d7KBGf3z7ePyIo7XPGD9aaiDUxU4Lb2Q+WuNpFXzxQ8eBH3VXqo/O+tUd/NEh6BHqMhfr92PyYztSffyx9/WteaT6rr9CpxNAWA9hki6ShTB5F0yLjQO94Aji6P195N/HeRKJlwzE13zVHb+48PWE9nPRx3jG1PdkMz5SfesZ7xppEddAfYhLBJ1xjok3Zi31iUOOXB/UIkEgCASBILDwCEBYcs/Ns848a+q1btvGA422t1M+8vZ2v/e8vt259YS2f+dJ9dm5Pl7XJ+cDRZ6OxLfx0ZiffI1zSXzLVudbIm9ZI93WPbfWfUj3DITujpN219c2zb2UJb2NQeCf/umNjeOuFsjHzSY8uOuFL/zjzTatzCcIrIgAf8A68cQT2/k3vLLt2Xl2u+bUS4oAHV1f684mwwcNdpXur//6P0yxO3RvfdyghezEd2/1JUC3l44PLNwABcKUDFyq99YfxvjmwJk3Xt7Ou+EVbWddq5mDwnsO7z3Tynq8b01b+2jiZl3f0dSITxAIAscVAj0fxNVTXstflOGKJACx+4s0Osf+Mo0vcVyU8TMHOeWc0BGnjRabQt7Rr/EjjTnJZz0sk/XRWcM3BWtM1je/8yCOPsdK9al9pPrOv6/fr595iMlknjJNLwA/qzhpF+limLSTFUhquTAW1ANNXwDx09brex05OVyD9SfHxODnCTpSfX3LfcX6rg0/80CMOiaO+tRyPn1O9cyHXNjQ9WPiEGyIPrywiMFfG3GjSkMnP4JAEAgCQWCREeCD5nXXXjd8zZ77Kk4rO3bsaCft3t121FePuTfcgQN76qi3H95lfBfyHWuyyAp65nVwI2l583ZVb1al3LL7hNqJtGt4wjw1I0EgCASBIHBkBLh2nnBCXaP372v3/uQL2o7bv7Zdc9ajisjkq/WjX/2310cHPp1yO5OBNK12eIhT2fHgrqS0XHXvrN4Bvkpffbb4s3t0f32dntumELuj/jh25rVvaudd94p6wNPOobZfp+eWLrzndHwpWdYkvD+sx/vWmooepfN6rO8oS8UtCASB4wcBuBouuf5GTcvBb9D+ps2453lqOIzVM+YyTwyCL79gk1dOyBrwT9YwfrjkT+itX+rB3/r6MjYen8n6+HFQD1/6+Mu/VXccj8254+OYOISx9UcfHJavn1jq60+LH7l6DB2Xejwf+lNLv5hpkzApDyfOgtB5ElgcwthFCqgL7EHqdcQBRn/ivTktuaiD0Pb10Vlf0K1PSz2OvhZ6Y1xTqYaTI1bovTmt9Z0DuajlGs3V17eG9V0XY23OyTmA32R9xtapbiQIBIEgEAQWHQF29fBAiQ996EPtgQ984FTL5YMveXiaOfdmHJ5qXOzmQJAOb0O+pZGetyWk1400R/45+nq+H7KpR9/xkWNjDQJBIAgc3whwzeSPYKfWNfiEm17RTr/hn9t1pz2i3XzKJXVblDPqw8bWgRDlA8PwaaYu1dvqyfbsKIU0HdS1M3RvEaZ8zZ6dpFzNeQDf/vLZWrebOO2O69op9UCmu9301qpzQ9u1e1fVrEc+8cS+g8J7DcJ8phViZ33fmrb2anHrsb7VasQeBILAcYfAcGk+uOrh0lt9rszyP1xQGXPQ1wfOCB+EPnkY4ydZ2ccaL9fEmFzGVXecG5v1sTM23vray7RifWofrj45yIesVB+9a1mpvjH4IK7fefZ8ojrnj6/1aWcSSbdZkrgIFrXS5DyZLEDwqcdYkJgHfYEQAOeHHiGGOp4Y8mkb/ZF0ZBesMo+ZZ3QIsQKIjqOvT9/6bndxjC/1FeujP6EO58+YOgixzpex9enjx0FNWuJdR3WHnNTo6+NrDmyj1Qyd/AgCQSAIBIFFR4DPqdddd1276qqr2j3vec+plitZOcNn3qnqJigIBIEgEASODoFt27YNhOVwW5S6XcmpN/99u/P6lxcBWh+Z6lPD8Eet+iRQf3qqIYrKO/pkMOozrD9MLfej9oEiUuuPVrV9lPud7ti5o52w46ShT02F9xjea7Zv52PHbLIe71uzzeDQ6PVc36HZowkCQeA4RgDuhqsx/BYtF1Gu0AgtB5wO3A8HPsTgz0UYe8//oDNfdce+5GDjnjZaZK31mR8x1PVNYKX62BHm7BqsxZj6tJO6/k2ENRrr+qk5WR8/BF8xEU9t6MXP+sTMJIA6qwAEi3Zyk+P+BYEPgk4/Fmhsv0js2FisRCU6Aa/uOIdxk3mtgS9CHU+ItmnqW8ccjMmtnpa82qs7CD4ckpz4MR9jXQdxHORAVlq/tUYZRn75GQSCQBAIAguOAB94+cD8kY9+ZNjVc9555y34irO8IBAEgsDxiQC7L7k9iWQpOzE5Rrc08fMgLcJHh0ndYOhsdKFU+SbB6NsE1ODod/h//OMfbx/5yEeG95peb7a1tpvtfWu917dWPOIfBILAQiMAT6PI/6ijRSfPA/8DyYnI/2CD/5FPgv9CuMATz0EcevM6Jgc681PLuOqObdqNw2Z9/KnvG4r18bE+bV+fMbWQlepTB9GmL3r61O7rw5f19bG5DvrWM64fl3l6WQ+ClOpO1pPoIrGhY+EuCl8O9dUdFqheX/w9cYDPXBkLFn3rWJ8x4ODvSUAnwVjdobb1XT8xK9VHh0zWR4fNevTJwZwOV5/1KMb29bGh79evf1+fnar4IdSPBIEgEASCwHGEAB802Y3D280VV3y43XDjje2iCy9su3btOo5QyFKDQBAIAouPANd7D0hMZHQ7FNr6cFWfLpZujzJY6wcxk3Z8R7tJaRVzq7vtttvah6+4ol1/3bUDKQuJqs2YaVpybIb3rbtqfdNgkpggEAQWFgE5IhYobwNPJFeEXu5I/gcdffkd+B995MGwaccXu360Xtzx6TklfI+mfrmN85OPHMRZnz65qWN9xv08XINcHGMP4tW7NmzOtbqHrW/eyfrkZD7qyTGTSNDNkoQJMTEW2YPV65kwog82hNYY/Vn8pJ04pa9lPPkBFj9Bpu9JwK7emFIdUh8fQcbufCfre2LNRX6wnKxvTdfvHI2jRfAztq/vi2WyvmPjhyT5EQSCQBAIAscHAksfNre1G66/rr29vgZ5xhlntDPPPLOdcsopw73r1uND7fGBZlYZBIJAENjcCHA9vyuu6ZCrPKjo5ptvbp/5zGeaT3Rnx+p6kaMiO4/3rY1cn+tMGwSCwHGPABwO/A8HvA2cjW11h7GcDy0HYos/OeCIEH177kdilLxyTvpav4+brE8M+fCxjq31yYf0eRhjd219ffXWJ591sfXHZH1sfX3iFOqbBx2+va6vg34mWQ+C1Em4ICbkhOmvNGEBAFhP/mS8cxN8cqHDD51inC166lMDQS/A+lif7czmxGYM8egZU0u9vr2uX79+K9XHRg3r0FLf7ct9TF+/1/dzYk3kWJrdMMiPIBAEgkAQOB4Q8MMmD9Sob1zWveKuHT7gju9FdzyAkDUGgSAQBILAbAjUJ5SiXwdCdPR1+xrfRYTsXN63NnB9s52IRAeBILAgCMDRyD/B5Yw4m1Hrzkx06lk2fvI7ck3Y4X+woTPGONsyrch/wT8Rp+BPfXNOxsvLWZ+4nv9iTIxxtuidP330/frRyYUdbX3j+/rWm2zJ39dnPLVQcFYBSCbkoicnLEBOmjGgE0eMcbQCgQ9jY3yxACjimByI/rT9gY0c+FkTuyeGPH1959Tnw8d61reu/q6/XJe9YFwDfs4DH/JAjK5U31rOa7K+Y/KM5sFsI0EgCASBIHDcIcCHTYTnahw4wH3kaNHkjQEUIkEgCASBILAaAqOv5PN24nuK7WqR09jNvXHvWxu7vmkwSUwQCAILhYDcEC3cDTwU/A/cDePRL++j1rE6Yxgb13NT5Oh/yafvUd1B5J2IJz/2I9XHTj2Ovj59+S9s+I34p5FfDce1+zmstb55+vrMu6/vOvr6zonaiO1oNOXP9SBIBYMJuhBbdByeHAF3YUybeHwQ7AitemNoicOXft/q2wOnjhhOrHOi7detX6mX5UVvDDmoSRx1jXFujJGV6qPzBekajlSfPPiR07q2xNl3/aWKBIEgEASCwPGKgB82ab03nW+rBw7wVhEJAkEgCASBILAcgS1b/Pgy0vtestzrrhlZ665835rn+u4a1JI1CASBYwQB+Br4H/kaWngcL7q06GjhfTjgyxQ5I1v02M3H2BzyT+TXZ7I+PkeqTy5jqzvMR86JlrramZNzp7W+/uisjw3/1eqXy+BHLGKM60dvXdt+/b0/vtimFoCaVZwkeXrgzIsdkBAna9uDxmIkEj0RgoQ/vuTHZrwxrsOvzE/Oya+xG2c7WZ/85LI+dmS1+q7vSPXN07cr1UfX16d2Xx+7uqWXJ1kjQSAIBIEgcFwj4IdOQTi4wdRh2iAQBIJAEAgCBxHwY9Z8Abnr3rc2x/rmi26qB4EgMAcE5JRo4W0Q+Ru4HPSIXBZtz3FN+i7nf5Y2/5ED/gk7/Jdi/V7X51RvfeLls8yBv3Pt54Zdzo7+kepbEz/7zpXa1if/0dQnBzGTXJ+6Ms0uTHBWIYcLJVcPoMCyCEHBx5NCX3/sPKEdoY8Afu9LHXPah9CkzwuBlnzG4OuYvnm1l+oYr++KWEkkCASBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQWAeCCw2/zTaUDhP/o3aHHJ68omc65nZMRLPKkyMA+a2B6qfHH3skJn0WQRjSM2eQTcXPvr1c5QdNp/AEEff+r4oSzWI85usDwF7rNc/uMQ0QSAIBIEgEASCQBAIAkEgCASBIBAEgkAQCAIbigBM1ZIsMv8kZzdv/g3E5f9o4QhnFhLNKgIjqUk++ub2pQIRCZiIrURpv6A+38h7abF9XvP1/oJCS27kSPUhTAXW2D7fkKB+aKPFjmyW+qPZ5GcQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEASCwMYiIGO0+PxTz5e5atp582/ydDOd9/VIItnJRCQj6aMHKIhEwBIwdNTVjp4+B/Ec/Rh/DoS4vgax7AJVeht1rQ8Rupj1+xWLQtogEASCQBAIAkEgCASBIBAEgkAQCAJBIAgEgY1EAB5qcfmn+fNvcIVKz4ahlzfUvuaWE7ce4kRoOZgoB4SmuuoOoi8DF+fCeDEZR8vYHNUdxujJAeGpvzXMbQ5jtRtboYOsVJ8Yjr7+yHupHmOwW61+T8oSs1J9c2CnT0xf3xy9nfWM6rtirJEgEASCQBAIAkEgCASBIBAEgkAQCAJBIAgEgXkg0HNQ1IexgQdCJPEYyzdh7/kf+vrBDyH4wAuxOVBOSSbIlrg+Vj1tX7+Gw9j6jI2lnjnQy1WRY6X66M1PXD839Igt/Z5/sz7tZH1jJuv3eJAPPw5ymEefUq1dmMiswkQQF2VOJuqJ7YHAzpg4SD4X35O1+pd5mag3B0brSSw6xpeD/IIkaOgXpX4tJRIEgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIEgMEcEFp1/km/bCP5NrrDn/1bjH2c69S5uliTkcOI9w4ueyWOTmNRujIQnPuao7jiu15Njx0GbecxrrIw6eTlh2OlTj8O4Rapfy4oEgSAQBIJAEAgCQSAIBIEgEASCQBAIAkEgCMwRgUXnn+TSgPiu5t/YRAmnJ483yf+phw9kXthnEpLMKkyKCUl2Mu5BswZ2J0wfAhNRZxw6Y7BxkB87cfSJ1Z+Tgt786LHjh1hHOzr66o/1+qwnEgSCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAwPwTkmRaVf5oX/wae8ITwfUfiH2c68xKRsySBYCQPrS8G8vWTloSUtNTmiwY7h2MWjZAPX/PqZx58qI0dm37VHeLMgw0xjjoe5qQ9FuuzrkgQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEASCwDwQkHUacVPMYBH5p3nzb6C8Gv849dkn8aziSSePfVonDenoWJ11HWtnsZCatBySmNgd0+dgu63sdXUH0UZLbg4ZZsfkkUg99uuzmkgQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEASCwHwQgIVadP5pxNGJ70byb3B4cnt9ffryfzOzY/2DkSyy1pZJjF4KI7CcOHkgILFJdNIqkpfqIDvREW9ObMwRICQ1qzsmS9F5UtD3/j1I1nCe5KcWem3UJ19fH3/q46O+usvqM8aPnPjpj44YBL1rol1Lfe672tc3fqRzReUUCQJBIAgEgSAQBIJAEAgCQSAIBIEgEASCQBCYCwJwQHA1iC19+Cc4Jxmcnv/CDueFP3ySNnw55K7MbY7ev9wGP1ri4Y1Wqq/OGj1n1eejpnX6+s6pzOP5MncEP+qSG7EWfWyukXFf37laHz/8Fe3oJusz/76+fWPX1PZF1xTYOTOhHjj7tCyQgzosipOt3UVrx4YPenSIi+1PmnZzY9O/B8z6+OOzqPVraZEgEASCQBAIAkEgCASBIBAEgkAQCAJBIAgEgTkisOj807z4N/k96sspyv9xurXPdOrXgyCVnHSSjMkrKekE0csS9zqIUV5ExHP0C4bUVI8Pwo5KfKjBQV79qjvkwn681GfNkSAQBIJAEAgCQSAIBIEgEASCQBAIAkEgCASB+SMQ/mt9+T84P/k/zu5q/ONUrwAKzCo9IUouyUoITWwSnn0tfFwgC6MvAUqLL3riEX1p0emLj/7UQYxFj6+7Vhe1PmuOBIEgEASCQBAIAkEgCASBIBAEgkAQCAJBIAjMD4FF55/mzb/B8cHtyf/BEcoLyh9OffZ70nDaJOSQtGRiHIqEpnrJUvxdBD6IC7RFrw1/+n3uGo6B4SSxO9U62BBirIVtEeuzzkgQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEASCwPwQWHT+CU5tnvzbavzjTGd+PQhSJtCTmY4lOiEmreOLhbEx2gEZHSLZSZ88xuNLDgRf/BDsvQ826+OvbVHr1xIjQSAIBIEgEASCQBAIAkEgCASBIBAEgkAQCAJzQuB44J/mxb/BGSJyiaPRaCz/p26qVuJwquAuSJKTVpKzJzJ1Fcj+RYO/8fhhY1syC6TPsbcOhHj0bltGhxhvi444pF/jotYfrTQ/g0AQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEATmgcDxwD/Ju9mC83ryb/1GyNX4v0n+caZz3p+8mRJVMGyu+QCKQ2aXvoDRRxy7W5QxNnKQyz7jnhDFT8KUBzYpk/UZH0/1xSFtEAgCQSAIBIEgEASCQBAIAkEgCASBIBAEgsBGICBNN+Kgwn8t8X3T8H+Qon2c/B+8oDLJ/+G/dBb0WmMrobnGsEPcJSIlPXFAx5iDPrW0668eAOgj+DCmZZEsvI+r4fjr8wJlPnwVc0iULnJ915w2CASBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQWCjEJDOG/FX8lw9jyVnBS8V/ms6/s+dpWIpvpxldP0Y3ZplPQhSmVpbXwy0/YlnctTDz8OFMXYu6Ho7eg5yoWfR+NCqMwY/+rbY6Sv0zU2Lbx+Ln2PtxHBYa7PVZ86RIBAEgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIH5IbDo/JM8GS1r3Sj+zXp9ffk85wFnN5P0J2/aREwQYXIIY3d9apPJRe+kqY0eHX76VnfIxfZZc8IUm5N4xoJgnL6M9dXGGKFdtPrDwvIjCASBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQWCuCCwy/yTHdlfyb+DH4aZI+D/qcRxN/XKbTtaDIKWyuyrpM2HBckwdDshJFkpf0lTC0oXScgACPvQlS/Fl7LzNIWBlGs8FPwQf4ha3fo82K44EgSAQBIJAEAgCQSAIBIEgEASCQBAIAkEgCGwkAovPP424Olko1tsTl+uxfvg7ch6O/7Mm5xXez7kwnkn6m5xOm8hJMzEOxgiTdrL0FXSMISx7opM+C5Nt19brex05OFyD9SfHxOBHbo4j1de33MZz6+u7NnTm4UFRjomTzHU+fc6+PrnMzfwcE4dgQ/QBF3zIoY240UyGTn4EgSAQBIJAEAgCQSAIBIEgEASCQBAIAkEgCMwBAbgaeBp5HXkheBz4HMc9z1PqgePBJtfTbwJE1++oJJc14J/MafyIJ1qut365D/7W15ex8fhM1sePg3r40sdf/q2643hs1EPwcUwcwtj6Pf9nfWKprz8tfth7DB2Xejwf+lOLBadOUIFMysOJCxZ5WYDCQvGhxYdFG2sMNolAbfiZBx0PZ6Illz6OfeEwRoyjv4j1WVckCASBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQWB+CCw6/zQP/k3eED5vtfoznfn1IEglNnkh0HfStAiLUceYmh7q3XUJuYmOGPrklASt7gAGOv3xxU9f4wENG7Lo9ZdWOlpvfgaBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQSAIbCwCi84/bQT/5hmD14P/44Df41iNfyyX6aXfDjttFiYJiSk5OTnuCU58EHT6sUBjWbj9fvF8jR1B5wvOMbmMm8xrDXwRcgOyBCv+09S3jvkZk1u9ebWXaRB8OKiPDwfzMdZ1EMfB3JCV1m+tUYaRX34GgSAQBIJAEAgCQSAIBIEgEASCQBAIAkEgCGw8AvA0ivyPOlp08jzwP3w7GpH/wQb/Q4sO/guBNyKegzj05nWMPzrzU8u46o5t2o3DZn38qU/b16/hEO8c+vroqIWsVJ86iDZ90dOnTl8fvqyvj8110Leecf24zNMLidZDnCwt4iLpAz51WDwHffwEpbqDjha9frSKLwpySS5iM4f1PdH4AxaCT1+fvItWn3VGgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEATmg8DxwD9tFv6NeSBgLv83KKb9Adk4qzARSVD6gtXrJTIhKtFzIPaJ0d9+bydO6WsZT/6efLWPL33s5KVvTHXHfWvSEoMP4nwn65MHMRf5JW6tQ4x91++8jLMOfvr39Z3vZH3Hxld4JAgEgSAQBIJAEAgCQSAIBIEgEASCQBAIAkFgTgjA4cD/cMDbwNnYVncYy/nQciC2+JMDjgjRt+d+3L1JXjknfa3fx03WJ4Z8+FjH1vrkQ/o8jLG7tr6+euuTz7rY+mOyPra+PnEK9c2DDt9e19dBP5P0hadN5CRcEHnQOXbCnuRe705PdOYxXhDMhQ8kJIBwQhj3cfQVYxijJ9dK9dnO7Mk4VuuPVlALiQSBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQSAIzAWBReef5M02K/8200lfD4IU4hGSkQMRqL7FBpDWg+A0xjhacnkw9sVlHISqsdUd+2I3DzEe+FAXW19fYraPO1brLyHOaiNBIAgEgSAQBIJAEAgCQSAIBIEgEASCQBAIAhuNwKLzT/B1PY8m90aLbMT64e56/o+61qc/tUg8Tp2gAgWEHAIFaAiTRiepKVja8SHexWHnwJ8DYYzQEudtAYhBt1L93ocYCVH8idNe3WO+PmuIBIEgEASCQBAIAkEgCASBIBAEgkAQCAJBIAjMD4FF5582I/8mvyivOPXZXw+CVNKRSUySmugkNvvJCir1sSPYjWeB2Dzwp4/dWFpE8pO+TwAzJzpi/Go+Y8Qcx379HtXR2vIzCASBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQWBjEVhs/mn+/Ntq/ONMZxuCcFaRxJSUhNyUvKSVhJSUpJ6+9PXHfgKKEuMhP3tfcpnTPuQnfV6ItOQzBl/H9M2rvVTHeH1XxEoiQSAIBIEgEASCQBAIAkEgCASBIBAEgkAQCALzQGCx+afR5sN58m/U5pDTk0/kXM/MjpF4VmFiHOxl7IHqJ0cfO2QmfRbhjlGITYSxufDRr5+jPuYTGOLoW98XZakGcX6T9SFgj/X6B5eYJggEgSAQBIJAEAgCQSAIBIEgEASCQBAIAkFgQxGAqVqSReaf5Ozmzb+BuPwfLRzhzEKiWUVgJDXJR9/cvlQgIgETsZUo7RfU5xt5Ly22z2u+3l9QaMmNHKm+X70/luuPVpmfQSAIBIEgEASCQBAIAkEgCASBIBAEgkAQCAIbi4BM1OLzT5uVf2NeM8t6JJHsZDKSkfTR8zKByISslLBER13t6OlzEM/Rj/H35UZcX4NYdoEqvY261ocIXcz6/YpFIW0QCAJBIAgEgSAQBIJAEAgCQSAIBIEgEASCwEYiAA+1uPzT/Pk3uEKlZ8PQyxtqX3PLiVsPcSK0HEyUA0JTXXUH0ZeBi3NhvJiMo2VsjuoOY/TkgPDU3xrmNoex2o2t0EFWqk8MR19/5L1UjzHYrVa/J2WJWam+ObDTJ6avb47eznpG9V0x1kgQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEASCwDwQ6Dko6sPYwAMhkniM5Zuw9/wPff3ghxB84IV8QDljDsSWuD5WPW1fn5i+PmNjqWcO9HJV5FipPnrzE0dedbSILf2ef3P9tJP1jZms3+NBPmu5HvLog33NQoJZhckgLsqcTNYT2wOBnTFxkHwuvidr9S/zMlFvDozWk1h0jC8H+QVJ8NEvSv1aSiQIBIEgEASCQBAIAkEgCASBIBAEgkAQCAJBYI4ILDr/JN+2EfybXGHP/63GP8506ntSctpETpaJQkQCFASkwElGMobxxo4veg6Ehbt4xtjVqUe346DeOjUc6uCDnfz4YHdt+lLf/lrr4z9Z3/z9+ifrW8cXj/NCz5xXW3+5DH59ffrkYZ1bPudud6uJbWlnnXVODSNBIAgEgSAQBIJAEAgCQSAIBIEgEASCQBAIAhuFwN2KlzkocDxyYe74lIuS26K1T5j80KQOzod85CGHvBB8EIJe/o0Wwabv3ur3XJT5j1RfH2rJv1kHHbnlsdRTkzrEWh8/7cShN+5o68O59TlrOK5vTtdPPcT5j0Zr/GmSNYYtc2ehTMLFCogTswZ2FoHQ9wSqMw67Mdg4BIU4+sTqD+jozY/ek1PdcR3t6OgvRH3I0UgQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEASCwFwRkGdaSP6pkJ0X/wae8ITwfUfiH8s8vbgLcvoMSyw2k3TC5GOsThaPMULLAnuiEn2/aHLx4tIHICbzlGqoia+18EesQQ5JVuvjo84XMDF9rbXUd17Ol1zUYs5grL2vTy3GngN80DEmzvr4kNf1O+9StXb99dcN7TXXfGpo8yMIBIEgEASCQBAIAkEgCASBIBAEgkAQCAJBYGMQOPvss5dYn6UeXI48DxOB74HnkR9iTB+uB5H3kVfq/UYeo3j65oKwRKiljjjGHAh6hJbcfV7r01qXlry9Xw0Hcf7Wmqxv/iPVN5c55LoOV991EMecONAxF7Hr65V6OiHhrNJP1r6TZeIs2rFgWtexdvwFx1jjHePLAZEoe13dQbSZj/zk68fkAXjk2K/PaiJBIAgEgSAQBIJAEAgCQSAIBIEgEASCQBAIAvNBANZp0fmnJbKVtW4k/waHJ7dHbWSE+BLfNzM75u7FUfrpfjIJJwaZ6cTJBgGJDb1HdQeRvESPQHaiI96c2NxRKalZqsGODZ0nBX3vj14C1BrOk/zY0GujPvn6+vhTHx/11V1WnzF+5MRPf3TEIOhdE+1a6nvfCesbP5qTK6JKJAgEgSAQBIJAEAgCQSAIBIEgEASCQBAIAkFgHgjA28DVILb04Z/gnGRwev4LO+Qf/vBJ2vDlkLsytzl6/3Ib/GiJhzdaqb46a/ScVZ+Pmtbp6zunMo/ny9wR/KhLbsRa9LG5RsZ9fedqffzwV7Sjm6zP/Pv69o1dU9sXXVNg58yEeuDs07JADuqwKE62dhetHRs+6NEhLrY/adrNjU3/HjDr44/PotavpUWCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBOaIwKLzT/Pi3+T3qC+nKP/H6dY+06lfD4JUctJJMiavpKQTRC9L3OsgRnkREc/RLxhSUz0+CDsq8aEGB3n1q+6QC/vxUp81R4JAEAgCQSAIBIEgEASCQBAIAkEgCASBIBAE5o9A+K/15f/g/OT/OLur8Y9TvQIoMKv0hCi5JCshNLFJePa18HGBLIy+BCgtvuiJR/SlRacvPvpTBzEWPb7uWl3U+qw5EgSCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAwPwQWnX+aN/8Gxwe3J/8HRygvKH849dnvScNpk5BD0pKJcSgSmuolS/F3EfggLtAWvTb86fe5azgGhpPE7lTrYEOIsRa2RazPOiNBIAgEgSAQBIJAEAgCQSAIBIEgEASCQBAIAvNDYNH5Jzi1efJvq/GPM5359SBImUBPZjqW6ISYtI4vFsbGaAdkdIhkJ33yGI8vORB88UOw9z7YrI+/tkWtX0uMBIEgEASCQBAIAkEgCASBIBAEgkAQCAJBIAjMCYHjgX+aF/8GZ4jIJY5Go7H8n7qpWonDqYK7IElOWknOnsjUVSD7Fw3+xuOHjW3JLJA+x946EOLRu20ZHWK8LTrikH6Ni1p/tNL8DAJBIAgEgSAQBIJAEAgCQSAIBIEgEASCQBCYBwLHA/8k72YLzuvJv/UbIVfj/yb5x5nOeX/yZkpUwbC55gMoDpld+gJGH3HsblHG2MhBLvuMe0IUPwlTHtikTNZnfDzVF4e0QSAIBIEgEASCQBAIAkEgCASBIBAEgkAQCAIbgYA03YiDCv+1xPdNw/9BivZx8n/wgsok/4f/0lnQa42thOYaww5xl4iU9MQBHWMO+tTSrr96AKCP4MOYlkWy8D6uhuOvzwuU+fBVzCFRusj1XXPaIBAEgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIGNQkA6b8RfyXP1PJacFbxU+K/p+D93loql+HKW0fVjdGuW9SBIZWptfTHQ9ieeyVEPPw8Xxti5oOvt6DnIhZ5F40Orzhj86Ntip6/QNzctvn0sfo61E8Nhrc1WnzlHgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEATmh8Ci80/yZLSsdaP4N+v19eXznAec3UzSn7xpEzFBhMkhjN31qU0mF72TpjZ6dPjpW90hF9tnzQlTbE7iGQuCcfoy1lcbY4R20eoPC8uPIBAEgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIG5IrDI/JMc213Jv4Efh5si4f+ox3E09cttOlkPgpTK7qqkz4QFyzF1OCAnWSh9SVMJSxdKywEI+NCXLMWXsfM2h4CVaTwX/BB8iFvc+j3arDgSBIJAEAgCQSAIBIEgEASCQBAIAkEgCASBILCRCCw+/zTi6mShWG9PXK7H+uHvyHk4/s+anFd4P+fCeCbpb3I6bSInzcQ4GCNM2snSV9AxhrDsiU76LEy2XVuv73Xk4HAN1p8cE4MfuTmOVF/fchvPra/v2tCZhwdFOSZOMtf59Dn7+uQyN/NzTByCDdEHXPAhhzbiRjMZOvkRBIJAEAgCQSAIBIEgEASCQBAIAkEgCASBIDAHBOBq4GnkdeSF4HHgcxz3PE+pB44Hm1xPvwkQXb+jklzWgH8yp/Ejnmi53vrlPvhbX1/GxuMzWR8/DurhSx9/+bfqjuOxUQ/BxzFxCGPr9/yf9Ymlvv60+GHvMXRc6vF86E8tFpw6QQUyKQ8nLljkZQEKC8WHFh8Wbawx2CQCteFnHnQ8nImWXPo49oXDGDGO/iLWZ12RIBAEgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIH5IbDo/NM8+Dd5Q/i81erPdObXgyCV2OSFQN9J0yIsRh1janqod9cl5CY6YuiTUxK0ugMY6PTHFz99jQc0bMii119a6Wi9+RkEgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIEgsLEILDr/tBH8m2cMXg/+jwN+j2M1/rFcppd+O+y0WZgkJKbk5OS4JzjxQdDpxwKNZeH2+8XzNXYEnS84x+QybjKvNfBFyA3IEqz4T1PfOuZnTG715tVepkHw4aA+PhzMx1jXQRwHc0NWWr+1RhlGfvkZBIJAEAgCQSAIBIEgEASCQBAIAkEgCASBILDxCMDTKPI/6mjRyfPA//DtaET+Bxv8Dy06+C8E3oh4DuLQm9cx/ujMTy3jqju2aTcOm/Xxpz5tX7+GQ7xz6OujoxayUn3qINr0RU+fOn19+LK+PjbXQd96xvXjMk8vJFoPcbK0iIukD/jUYfEc9PETlOoOOlr0+tEqvijIJbmIzRzW90TjD1gIPn198i5afdYZCQJBIAgEgSAQBIJAEAgCQSAIBIEgEASCQBCYDwLHA/+0Wfg35oGAufzfoJj2B2TjrMJEJEHpC1avl8iEqETPgdgnRn/7vZ04pa9lPPl78tU+vvSxk5e+MdUd961JSww+iPOdrE8exFzkl7i1DjH2Xb/zMs46+Onf13e+k/UdG1/hkSAQBIJAEAgCQSAIBIEgEASCQBAIAkEgCASBOSEAhwP/wwFvA2djW91hLOdDy4HY4k8OOCJE3577cfcmeeWc9LV+HzdZnxjy4WMdW+uTD+nzMMbu2vr66q1PPuti64/J+tj6+sQp1DcPOnx7XV8H/UzSF542kZNwQeRB59gJe5J7vTs90ZnHeEEwFz6QkADCCWHcx9FXjGGMnlwr1Wc7syfjWK0/WkEtJBIEgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIEgMBcEFp1/kjfbrPzbTCd9PQhSiEdIRg5EoPoWG0BaD4LTGONoyeXB2BeXcRCqxlZ37IvdPMR44ENdbH19idk+7litv4Q4q40EgSAQBIJAEAgCQSAIBIEgEASCQBAIAkEgCGw0AovOP8HX9Tya3BstshHrh7vr+T/qWp/+1CLxOHWCChQQcggUoCFMGp2kpmBpx4d4F4edA38OhDFCS5y3BSAG3Ur1ex9iJETxJ057dY/5+qwhEgSCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAwPwQWnX/ajPyb/KK84tRnfz0IUklHJjFJaqKT2OwnK6jUx45gN54FYvPAnz52Y2kRyU/6PgHMnOiI8av5jBFzHPv1e1RHa8vPIBAEgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIGNRWCx+af582+r8Y8znW0IwllFElNSEnJT8pJWElJSknr60tcf+wkoSoyH/Ox9yWVO+5Cf9Hkh0pLPGHwd0zev9lId4/VdESuJBIEgEASCQBAIAkEgCASBIBAEgkAQCAJBIAjMA4HF5p9Gmw/nyb9Rm0NOTz6Rcz0zO0biWYWJcbCXsQeqnxx97JCZ9FmEO0YhNhHG5sJHv36O+phPYIijb31flKUaxPlN1oeAPdbrH1ximiAQBIJAEAgCQSAIBIEgEASCQBAIAkEgCASBDUUApmpJFpl/krObN/8G4vJ/tHCEMwuJZhWBkdQkH31z+1KBiARMxFaitF9Qn2/kvbTYPq/5en9BoSU3cqT6fvX+WK4/WmV+BoEgEASCQBAIAkEgCASBIBAEgkAQCAJBIAhsLAIyUYvPP21W/o15zSzrkUSyk8lIRtJHz8sEIhOyUsISHXW1o6fPQTxHP8bflxtxfQ1i2QWq9DbqWh8idDHr9ysWhbRBIAgEgSAQBIJAEAgCQSAIBIEgEASCQBAIAhuJADzU4vJP8+ff4AqVng1DL2+ofc0tJ249xInQcjBRDghNddUdRF8GLs6F8WIyjpaxOao7jNGTA8JTf2uY2xzGaje2QgdZqT4xHH39kfdSPcZgt1r9npQlZqX65sBOn5i+vjl6O+sZ1XfFWCNBIAgEgSAQBIJAEAgCQSAIBIEgEASCQBAIAvNAoOegqA9jAw+ESOIxlm/C3vM/9PWDH0LwgRfyAeWMORBb4vpY9bR9fWL6+oyNpZ450MtVkWOl+ujNTxx51dEitvR7/s31007WN2ayfo8H+azlesijD/Y1CwlmFSaDuChzMllPbA8EdsbEQfK5+J6s1b/My0S9OTBaT2LRMb4c5BckwUe/KPVrKZEgEASCQBAIAkEgCASBIBAEgkAQCAJBIAgEgTkisOj8k3zbRvBvcoU9/7ca/zjTqXdxsyQhhxPvGV70TB6bxKR2YyTfxixVAABAAElEQVQ88TFHdcdxvZ4cOw7azGNeY2XUycsJw06fehzGLVL9WlYkCASBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQWCOCCw6/ySXBsR3Nf/GJko4PXm8Sf5PPXwg88I+k5BkVmFSTEiyk3EPmjWwO2H6EJiIOuPQGYONg/zYiaNPrP6cFPTmR48dP8Q62tHRV3+s12c9kSAQBIJAEAgCQSAIBIEgEASCQBAIAkEgCASB+SEgz7So/NO8+DfwhCeE7zsS/zjTmZeInCUJBCN5aH0xkK+ftCSkpKU2XzTYORyzaIR8+JpXP/PgQ23s2PSr7hBnHmyIcdTxMCftsVifdUWCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBOaBgKzTiJtiBovIP82bfwPl1fjHqc8+iWcVTzp57NM6aUhHx+qs61g7i4XUpOWQxMTumD4H221lr6s7iDZacnPIMDsmj0TqsV+f1USCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBOaDACzUovNPI45OfDeSf4PDk9vr69OX/5uZHesfjGSRtbZMYvRSGIHlxMkDAYlNopNWkbxUB9mJjnhzYmOOACGpWd0xWYrOk4K+9+9BsobzJD+10GujPvn6+vhTHx/11V1WnzF+5MRPf3TEIOhdE+1a6nPf1b6+8SOdKyqnSBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBILAXBCAA4KrQWzpwz/BOcng9PwXdjgv/OGTtOHLIXdlbnP0/uU2+NESD2+0Un111ug5qz4fNa3T13dOZR7Pl7kj+FGX3Ii16GNzjYz7+s7V+vjhr2hHN1mf+ff17Ru7prYvuqbAzpkJ9cDZp2WBHNRhUZxs7S5aOzZ80KNDXGx/0rSbG5v+PWDWxx+fRa1fS4sEgSAQBIJAEAgCQSAIBIEgEASCQBAIAkEgCMwRgUXnn+bFv8nvUV9OUf6P0619plO/HgSp5KSTZExeSUkniF6WuNdBjPIiIp6jXzCkpnp8EHZU4kMNDvLqV90hF/bjpT5rjgSBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQSAIzB+B8F/ry//B+cn/cXZX4x+negVQYFbpCVFySVZCaGKT8Oxr4eMCWRh9CVBafNETj+hLi05ffPSnDmIsenzdtbqo9VlzJAgEgSAQBIJAEAgCQSAIBIEgEASCQBAIAkFgfggsOv80b/4Njg9uT/4PjlBeUP5w6rPfk4bTJiGHpCUT41AkNNVLluLvIvBBXKAtem340+9z13AMDCeJ3anWwYYQYy1si1ifdUaCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBOaHwKLzT3Bq8+TfVuMfZzrz60GQMoGezHQs0QkxaR1fLIyN0Q7I6BDJTvrkMR5fciD44odg732wWR9/bYtav5YYCQJBIAgEgSAQBIJAEAgCQSAIBIEgEASCQBCYEwLHA/80L/4NzhCRSxyNRmP5P3VTtRKHUwV3QZKctJKcPZGpq0D2Lxr8jccPG9uSWSB9jr11IMSjd9syOsR4W3TEIf0aF7X+aKX5GQSCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAwDwSOB/5J3s0WnNeTf+s3Qq7G/03yjzOd8/7kzZSogmFzzQdQHDK79AWMPuLY3aKMsZGDXPYZ94QofhKmPLBJmazP+HiqLw5pg0AQCAJBIAgEgSAQBIJAEAgCQSAIBIEgEAQ2AgFpuhEHFf5rie+bhv+DFO3j5P/gBZVJ/g//pbOg1xpbCc01hh3iLhEp6YkDOsYc9KmlXX/1AEAfwYcxLYtk4X1cDcdfnxco8+GrmEOidJHru+a0QSAIBIEgEASCQBAIAkEgCASBIBAEgkAQCAIbhYB03oi/kufqeSw5K3ip8F/T8X/uLBVL8eUso+vH6NYs60GQytTa+mKg7U88k6Mefh4ujLFzQdfb0XOQCz2LxodWnTH40bfFTl+hb25afPtY/BxrJ4bDWputPnOOBIEgEASCQBAIAkEgCASBIBAEgkAQCAJBIAjMD4FF55/kyWhZ60bxb9br68vnOQ84u5mkP3nTJmKCCJNDGLvrU5tMLnonTW306PDTt7pDLrbPmhOm2JzEMxYE4/RlrK82xgjtotUfFpYfQSAIBIEgEASCQBAIAkEgCASBIBAEgkAQCAJzRWCR+Sc5truSfwM/DjdFwv9Rj+No6pfbdLIeBCmV3VVJnwkLlmPqcEBOslD6kqYSli6UlgMQ8KEvWYovY+dtDgEr03gu+CH4ELe49Xu0WXEkCASBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQWAjEVh8/mnE1clCsd6euFyP9cPfkfNw/J81Oa/wfs6F8UzS3+R02kROmolxMEaYtJOlr6BjDGHZE530WZhsu7Ze3+vIweEarD85JgY/cnMcqb6+5TaeW1/ftaEzDw+KckycZK7z6XP29cllbubnmDgEG6IPuOBDDm3EjWYydPIjCASBIBAEgkAQCAJBIAgEgSAQBIJAEAgCQWAOCMDVwNPI68gLwePA5zjueZ5SDxwPNrmefhMgun5HJbmsAf9kTuNHPNFyvfXLffC3vr6Mjcdnsj5+HNTDlz7+8m/VHcdjox6Cj2PiEMbW7/k/6xNLff1p8cPeY+i41OP50J9aLDh1ggpkUh5OXLDIywIUFooPLT4s2lhjsEkEasPPPOh4OBMtufRx7AuHMWIc/UWsz7oiQSAIBIEgEASCQBAIAkEgCASBIBAEgkAQCALzQ2DR+ad58G/yhvB5q9Wf6cz3bO+0iSA2EV4IkJNOmhZhMb1OUpaFSYoyD/rEk4cYxPmhR4jBLjFKXm3s5JRIxc866PSv7tB3PoLb16dvfXIijq0/0o7WRX30J9Th/I+mPjn6+vSJdx3Yyclc+/rMj/Wg5/Dn0M2PIBAEgsDxhsDZZ59zxCUfqKvrltHVsvX9PmhSPznGl4v0wTRD6Eo+g2HiR+/X93u3Sf3kGN/UD/55/S39q1np38iSdanX+/X9JY/6t9VdI9BPjgdd/Qj+IDGSlTDS1re9X98/nA/6lfxy/Tu2Xn+f/vSn+lOcfhAIAkHgeEIA7oZfGeC3aHsuirczDjgduB8OfIjBH64Le8//oDNfdce+5GDjoDZaZK31mR8x1KUWslJ97Ahzdg3WYkx92kkd+ZWe/3P91Jysjx9CPjERT23oxc/6xMwk/WSnTQQQ/eQcM0mkr8ECWLyLwoYfesQ89MmDHzaJSnTGCwI5sONHf7X6vIgWqf4IwVpUJAgEgSAQBA5FQHIUS99nzAdxZFI/0i7/yZtLL0cTg3/v1/expT4oLMdopDn0Z/Bfjsnka2m5dWnU+/V9PPL6G+E0icsSeku9vP6WsKB3NJhN+k3G5PU3wnQSl5F2+c9j9fW3fBUZBYEgEASOCwQm+a9F4582gn+D/EV4+5vk/9DJG9J3LP9YqunFwtNnGEUyGYCCeGSCkJW0CDoWwBg/D/WlGrPq2PTFXyITUJgrY1r86FuHMfUlSfEnD4JOgpVxX9/1E6u+r48OmayPDpv16Lt+2pXqi0eZx7F9ffV9fXRIX59dpc6L+pEgEASCQBAoBLJjJS+DIBAEgkAQCALzQ2C1b3TMb2apHASCQBDYMATkiCgobwN3xQFXhMgdYZe3oi+/A/+jjzwYNu34yjvZyjfh03NK+B5N/XIb55fPIs769Mktr0ddxtandQ39mtA5B/X4kg+9c63uYeubd7I+OZiPenLMJBJ0syRhQkyMRfZg9XomjOiDDaE1Rn8WP2knTulrGU9+gMVPkOnjix67emNKdUh9fAQZu/OdrO+JNRf5wXKyvjVdv3M0jhbBz9i+Pv74TNZ3bHy5RIJAEAgCQSAIBIEgEASCQBAIAkEgCASBIBAE5oSA/BMcELyNfI7cDa2cDy0HYoudHHBEiL7Go5NAlUPCH8HX+n2c88CHPOR2HtaxtT6+SJ+HMXbX1tdXb33yWRdbf0zWx9bXJ06hvnnQ4dvr+jroZ5K+8LSJnIQLIg86x07Yk9zrObGCYR7jBcFcxEFC4s8JYcxhnHlLddT1vWdDn8f4Y6X+CBFmHQkCQSAIBIEgEASCQBAIAkEgCASBIBAEgkAQmAcCcEtwSSvxX4vAP212/m2mc74eBCknHtKSA5Go7FtsAGk9CE5jjKMllwdjX1zGQagaW92xL3bzEOOBD3Wx9fUlZvu4Y7X+EuKsNhIEgkAQCAJBIAgEgSAQBIJAEAgCQSAIBIEgsNEILDr/BF/X82hyb7TIRqwf7q7n/6hrffpTi8Tj1AkqUEDIIVCAhjBpdJKagqUdH+JdHHYO/DkQxggtcd4WgBh0K9XvfYiREMWfOO3VPebrs4ZIEAgCR4nA7t0ntWc889nt2c/+xfb4b/v2ZVFPfNJ3tpf8+V+3X/2132xnnXXkJ6MvC5zD4B73OL/9xnN/q73oxX/ZHv/45euYw3RSMggEgSAQBIJAEAgCQSAIBIEgcLwjsOj802bk3+QX5RWnfg2uB0Eq6cgkJklNdBKb/WQFlfrYEezGs0BsHvjTx24sLSL5SZ8ty4g56RPjV/MZI+Y49uv3qI7Wlp9BYGoE/u2//fr2ohf95XB8+Vd85dR5NnPgSSed3B7xiEe2h3/+57cHPehzx1OFOH3yk7+rnXTSSe2SSy5pX/01XzO2bcbO13/9N7SLL75fO+WUU9p3PeW7244dPL8tEgSCQBAIAkEgCASBIBAEgkAQCAJzQmCx+af582+r8Y8znXYIwllFElNSEnJT8pJWElJSknr60tcfu5/wjYf87H3JZU77kJ/0eSHSks8YfB3TN6/2Uh3j9V0RK4kEgRkROPW0U9spp54yHKedeuqM2Y6t8L1797bP3vLZ8aRvuOGGcX8enYc//Avab//OHwzHV3/N1x4yheuvv36su/mmm9q+fVwCI0EgCASBIBAEgkAQmB8CB/LZZH7gp3IQCAKbAYHF5p9Gmw/nyb9Rm0NOTz6Rcz/zO1D/VXMSTiNMjH2MHhKV6snJRFkE9dCzCARf42ixGUdMv9gajneZCoox2NAxJqcvSnSINdVbHwLWOHMdTX18jdOfMUdf3zr4sHbGrosc1EdH3/rY6etX3bHoY23aSBAIAuuAwN69e+pr989sX/EVj27XXHNNe+1rXr0OWadPceaZZ7V73/veQ4K7n3v3QxK9/OV/207cdWK7291Ob695zd+3/fu59ETWC4EDM37C27KFy3UkCASBIBAEgsDxhUDe/o6v853VBoEgcBABGZzRUI4IDkjOB37HhzThJbeDrwI31I/x4UMeLYd8U3WHPq38k9wWOnLg2/Nv1pdDOlx9/JS+PnEcro2+dubtPKs75t8m6/dz7OvTR+TLRqOl/Nbq6xNj/V5v7FQtE55VnGz/6RxQ0dO6WOzoEE+YAPS+5utj7ZuXHJ4A/DmsTz38zN3XL/Ug1mf95rRGX/+g+3gd+qK3PnWoQU5z0KJHJuvri138qWnsWupTMxIEgsA6IfCud13WOI4Fue22W9sL/+R/HQtT3ZA5cgGdVchxYP/+IpsPtP0QpNMmrav81vqEuHXrlgZRGrJ01jOT+CAQBIJAEAgCQSAIBIEgsIkRWPrc0PM/cDsIvA16CUP06vSRXyrT+FMIWbHTYndc3YF4pUXQwy/R9vXtW0v+C7066zsu05DHdqX6xEN2KtbvczDfydyHq9/Ph5zkQ2jNQT6EMf6O0elnHLqpRIJuquCDQYDQk4FOCj3CxLVjc/KChw0f9M4HG2Ns5gEETw42BDssvF/Nx0chp8B5IrD1ecnX16ePWJ+4leoPTvUDf14YOw4qJuuTn3m4Ltwm62PDByEfOaxvHxt9XwxL60frCK9IEJgzAmeccWZ72MM+r5119jnthB072rXXXts+9OEPtsvf+55VZ3b66We0z/u8hw+xkEsf/vCH2wfe//7Kcc0RY88446x20UUXtXtfcEHbecLO9pGPXNk++KEPtk9e/Ykjxk0a73nPe7Vzzj237btzX7v00ne2AwdG//zPPPPsdsGFF0y6rzi+4sNXHDJf7g964YU1v3tf0O5+97u3G264vn3wgx9sV1zx4QbR2QtrufCiC9slD3jAWH1hre0LvvARw/iKwuTaaz/Ttm3b3h5WWLFT42NXXdU++cmrx/59Z63n4141x7PPPrvt3bO3XXbZO9sJhecllzygPeABD2xbtm6tWh9t73nPu9t1113bl1nW37nzxGG9F1988bDD9eqrrx7WeuWVV7Q77/RW0ctCZh5wKZxF2DG6b9/+dtoFX9bO+4Lvaiff43Pbth272oG66m7dz6V3/3Cp3VI/D9Sl+sDW/W1L6am7v/oKuv17bmk3fvJf2yff+r/aDVe+oc5V+WVLjRClDQJBIAgEgQVFgL8t5u1uQU9ulhUEgsDRIiD/QwtTwyEvRA44nz118AECLoiPE/g6NqZUQxx6dIix8kvEaiPH8NGkWuzEGTtZnw9k1pusbwx64vr5UJ/Ynv/q65dpzH8ZR2t9cpIDDs361R3P1XmjO1x91kkOBB/rk29mEdhZEzkpQWCiKy2IOvrSdxH4Ip5UAETH2JNS3bGdHICiv3XNbW1jtaPXp7or1idmsj6+iPXog51j85vb+p64Xm+fHKzfHIzpE9PXN0dvJ8eofp8Nj0gQmBMCW7ZsbT/4g/+hfcM3flMRQv3LdjQhyM5n/MxPtc985tMrzvD7f+AH2zd/8+NWjH33u/+1/fzP/Wy7/vrrlsVCxD31qd/THvu4b1mmd/De97ynPfOZP91uuulGVUdsn/Y939e+6Iu+ePD57qd8Z33V/lND/3Hf8q3tW7/18UeM1fgXf/6S9rzn/Z7DehDUg9uP/djT27lFjE4K9w39tV/9lfba1756bHpcreXx3/bvxmM6zMl5vfBP/rj98R//URG2F7af/dmfG/xe9apXtl//tV9ZFjPt+fgPP/TD7SEPfeiQ61nPekb7yZ/8r23nTv8GNSpx2223td///d9tr6iv+U/K53/BI9pP/MR/GR4eNWm78sor23N+6RfalVd+eJnp/PPv2b72a7++3XDjDe2Vr3h5u+WWm5fZVxtwGeSiO61Ijt79i3+w7X7Q97WP3bKv3XLV/rZv/+1t2/4tw4UaorQo0ba9Pv2VapAtdQU/sHVUfVv193HlLtmxZXvbteth7eyv/vy2+1//oH3in38nJOkImvwMAkEgCASBBUYg5OgCn9wsLQgEgaNFgE8EfECQqek/qsD/OOYTBfwP457/oa8fdgQfPmBDLBLHmAOxJa6PVU/rRyXyIoytz9hY6pkDPWPrrVSf3OYnTl/1pRrPj/5K9YmZrE88Mlm/xwO7dchhHn2wr1mYyKzCRBAXZU4m64ntgcDOmDhIPhffk7X6l3mZqDcHRutxwug7xpeD/IIkaOgXpX4tJRIE5o/A0572ve2bH/PYFQlOZscOz2c/++fbySefcshkn/KUp7XHPe7xh43lafPPfe5vtXvc4/xlsc945s8elhzF8QEPfGD7lf/+60VW7V4Wt9YBX7ueRh7ykIe15/zyr65IjpIPIvnHn/6T7eu+7hvG6fetci/R1ewmmuV8mOOnf/oZh5Cj2Hbt2tV+9Ef/c+0qfZCuQ/vlX/7o9qxn/dyK5CgOF1xwQfuN5/6P2qF6zjgOIveZz3r2QAp/7/f++/bdRXivVbiYzyIQpKfc81Ht9gue2i796J72sev3t5tvOdBuvr21a/ccaLfs2d8+e/v+dutt+9qNd+xvt9xW/Vv3t5tKf8ttB4Y++pvLB9v1t+5rn7h2X/uXj+xpn73wqe3Ue31p7Ub2rW6WmSY2CASBIBAEgsDmRiBvd5v7/GR2QSAI3OUILDr/JN+2EfybH6Co6QdyP/qh8+Ck4qsP46mkJyWnSlBBTpaJQkQCFBNDj9DHxhjGGztj9C6Axbj46g52deqJYSsvY+tUd8iLDjv58cHu2vSlvv211sd/sr75+/VP1reOLx7nhZ45r7b+chn8+vr0ycM66UeCwNwR+MZvfEz7tn/37eN5sKPxTf/0xnbzzTe3Bz/4Ie1bavflqaee2u5VDx36mWc8q/3kT/z4+KFCkINPeOKTxrGve91r2+tf/4/ttltvbZ/38IcPOwtPO+20dsaZZ7Zv/44njHdKPvCBn9se+tCHjePYWfmOd7y9bd+xvT384Z/fHlO7UXmI0fnnn98e9Lmf29721reMfdfa+ZPK/fKX/92KYdwS4D/+8I8MNnZWvupVrxj7fccTnjj+qtmHP/Sh9qIX/Wn7xCc+3u5zn4vbv/nqrylsHjz4ft3Xf2N7xStG+f/sT/+0veqVr2xf9VX/pj3pyd852F/5yle0l7z4RUP/SF9tt/As58Mctv9y2WXtr1/6V8NX6y+88KL2Az/wQ+30M84YzE9+8ne1//bf/ouu7eu/4RvH633DG17fnv+836/duzcVUf2gIY5zsaNuu/BN3/SY9vzn//4Qd/LJJ9dtB+4xznHf+1487m9Uh3uOHrjvk9pHi9REthzcJbqt9Furf4B7idbVmh2i24Z3pNpVuuVA+dUFuq7C7Cw90I3RI3vL9rFr97e7X/Qdbf9H31D3JB3p8zMIBIEgEASCwKIikF2ki3pms64gEASOEgE4Hn/rhx+Cs2HMB42DnxKG1n6pBx/Gkzo4H/KRhxzk4hh9aFni1/CBc0Kw6cvX4Xsuyvwr1VKnD3Woz5j68njkph6inprY8bU+ftqds3HWKpdBsKujRdDBufU50VvfnNQlL3rE+NFojT8l+dYYtszdk+NEBIQxk2ai9Jk0Y4S+C1HXxxmDjQN/7dUdYhlzwgBdP1r0nhzG9JGV6jtH7MbRn6yPH3aFnH199Wup78kmBjna+szN+vQjQWDuCECMKa8oIvG5z/01h3W/yn9t7738Pe0Xfv45dQ/LLfWV889t97rXvcdfs/6mb37s2Bdy9Jef8wvjMffAfNe73jX+KvmjH/2V7fd/73faZz97S9t90u4GeYe8+c3/3P7qr/58HPcvl13aTj7p5OHr/igf8uCHzkSQ3n77rUVs3jrOb+ecc85tT3nKUx0OX5e/qu7RqUAQM8e9e/e2X//1/z7cOxTbh+r+qG9/+9vaC17wJwMm973vfYddrtyP1Fqf/vTSrQiuq/u4fuITHzPtqu0s56NPfvnll7dnPOOnak63DeqPfeyqdmPdruAXf/GXhzE7QhXuswoZrvzyc36x1r1nGL79bW9pv1BreMp3P7XtOnFXu+nmm3QrEv2m9pa3vLk94hGPHHSv6243MHa6Czvs7IQg/US7T91rFDK03lCqRYoCHcaQpNyGdHu9i/DBb2+xpdsOvp1BhhLPRfkL7lP3a7379vaad9/erq5dqNuGe5NuaZ/acr+2i9yVZ7V7kbKj9vTTTx/qH+nHHXfcseZbERwp39HafuYZP9tOO+1z2t+87KXjW0M85jGPa0972ve1j171kfrjx9OH1/DR5uv9Vsrd2zdjf/fuk4Yd1ZNz448lt9762Un1uo1PrH9H3/ld390eUPcHPqvuGXxNXS9+7Mf+07rlXy3Rep8rcfzsZ0fXwNXqb1b7Sris17+P9V7zZp3Xeq8z+YJAEAgCQSAIbDACR+Kf4Hx6/gc+B50tNg64K/krPpiQU7IR0nP0YWXkK4+kP759fA2HMXrrE29dfKlv/GT9Mo35J+eBDsHX+s7pSPWt0denf7j66BHnbovOeq6DMfOZSdaDIGUSHC6MCSKM1TlRxgitJ41FKp4cFym4AjGZhzhA47AWORBrEOv8rN+fmMn61iInfXzVHa6+ev0rZKjPOsBYe1+fvIw9B/igY9yvH5++Pn7mqW4kCMwXAR7iI1F2/fXXt9/+7d86ZEIQli8rQuUxj33cYLv44vsNBGkfy07D5/7GErFqEsi13/j1Xx2+ln3nvjuLfKnvPZewI/RIu0Jf85pXjwlSHry03sLc/9//9tPtlFNHtwzg3qNveMM/Livzi7/w7GXjfsCDp9556TuG3a5ba2shJMdH6+FSs0qP6VrPx2RtSDDJUW2cyxtvvLFIstOGnaQQoxCh3E+Vc7N79+h2Bt9cxPdLa+fpvjpnyBVXfKg9s8jWleSZz/jpYacvD0laCxG8Uq5pdBCX27ae1PYO9xPlgs0T6EfEKVfl4WJdTOgJ9VYzPN2+rsIH9tXu0mrvrHeKegZT+4ILd7bfeEoRm+X3mC/c3R7/a59uOypwb12u92/bXT+P7rL9yEd+Ufvpn3nmqsv4ZD346nu+5ymr+q23w0PrthHszOYhZgp/5Nh54s7Gv+uH1v1r3/zmN2laU7tS7jUlmIPzL/3Sr7T71B84VpLbb7t9eEDdq//+VUUmv2b8B4OVfNeq4zXCw/AUHk63kXK4c8UD7U455ZThftE8jO5oRRz/+Z/f1J5V943+/9k7DzjJqjJ932GGJIKgIAiGGUAkiRlFd82YM5jFNa8Jw+q6JhQxsrq66rrmrOgGFXXXuKKrf7Ooq4BEyQgCiuQw4X+eW/NUn66pTlVNV0/1+83v9jnni+e8t6aq6+1z791YpR8u8/X/YxBMpjsfo5zXIGtJTBAIAkEgCASBRY8ATE1H7PEFgD5fJxBaeCbtjOnD/yDyPvJKtV/HoxNP31ydL1sdjkgdcdT2Cwh6hJbcdV7r01qXlry1Xxm24vyt1Vvf/NPVN5c5WP909V0HcfhxoGMuYlfXK+rBRHJusOhOFBMROCfuZGlZtIslgj4LQWpwPRkssNYbT5x98jJ3T4b50Hugo08+cjuu51LXwUf/Wu9Jq+sX1279Op+1acmBWN/8tX9dR3vv+s1V10fX2T2LllEkCIwIgV13LTvv1l87zGXk7hrsnc5JJ53YVd16jz2ab3/7G+VS8927saeeckpzzTUd8rPruL7zzW9+vVfVHfM0d/LteZu9mm0Kaccl21tttVVL1nSdrofO819waOPl4OwS/cQnPjZllRvf+CbNbfe7XbmH6s5lbp35MUduBTDfMsz56J3LySef1Ktqx3/84wUtQcqA+6iWDbLtLRN++9vfNBB8yLOe/Zz2lgjs7j2u7ALm9geQwv1k3bq1Tb3ztp/PTLrCcQ4lqwuxuUl59+WSeS6xp7+mfFzxRrumvMkW7ra5tswT2aSQo+vKVtJlxZndozfaclnzikds07nPaJnHzttu0my9ZdNcVu5PSq72Y2+W8wPP2cgms/SbTa5hfX5ZdkPvsvMuzVVlp/FUr5lhayzW+OUrpv41CiKZHfMcPLzuzW86ouH/zrByoxtt1yVHL7jggrKb9yvN/5U/XCwGOaI8OI4/mPH/fqo/iPSbpziuKO/n4yaj/P8x3fkY5bzG7RxnPUEgCASBIBAEWgQ6v+/D59CTD8Ik1yP/o50vF71EJDr9Ol8+Ovn4Jcndo+YmT6dqJ4Y+9WGJ8GFMf7r6+uNHvd766Mlj/dJt89Gi93BO5nPcr741aPHHt65P3zEtNVgDvgg6BD1C63rVtYa5/piP30SdMLVZYD1xJ4neAz8EGwtEj/DCQEe8ObExR/zQK9ixoQMAQaj9BUnf4tb1Q0ct/DkQ6pOvrk8O6luLOMSczgk/dfqj0048dv3oz7Y+38/r+sRaa3l3RUUZCQKjQGBVefiScvY5Z9rdoD377LO7ulWrVrX9SbHVpeldxxk697zXfZpDD31xS4jO4Dqv5gc/5GHNAx7wwDbnRRdd1Lz1rW/u7pSsC22zzbbNy17+981d7rJ/rb5e+5MwneP56J3YJZdc0qtqx6uv829Tk83s9H1rufz+VuVeswj3nT3wwAe0Bzzhr351bHsvVW6dMN9S+MqhhPuNcl/RdYX0LBfWr//0XVZa7kNanl5fstPig7DrlDWtKPZD7rFVIUWLR1Ewje8cXy6vvqLcmbQM8Fm2PqYNnMOPD33wA82pp57SN6K+TUFfhwVUfuAD72uOOuozzbXXXjfw5fULON3rpdQZZ5zR/Ov73tvmhhjduzzAbN9yj+E9yyXwKwqJyu7aN77xLeX96vkFp2uGmgMEpPL5z322me4PSPotVLvJ+v+I/tFsoeou5jqj/P8x3fkY5bwW8/nK3IZHgM+9SBAIAkFgCSMAByTHZAsc8D98ifJdsua/sMuN8bVDG74cckfmNgf59S/d1o+WeL6W9Kuvzho1Z1Xno6Z16vrOqZjb/NSXuMSPuuRGrEUfm2tkXNd3rtbHD39FO7re+sy/rm/f2Dm1LGZYYUKeACdMTibOAmnRsyjBo++iadGjw1c9YxdbnzR89C3d7guCGtbHh4P6gly63XzWN7/18elXX5zq9eCLQGDC5JOrX33mYX58yFHXd37EIrOpTzwHsZEgMFIErll/yTuT2GzTqS/z3GyzzbrzvObqDkFwZbnfnLJFeTL6XOQhD31488IXvmhSCPf8hNS7vLQ32nbbdsfmJId5GNym7FR93vNe0GZavXp1uyvsL3/Z8FJSLj3nie077jjxxPa1a9c2F154YTu/K664otmvXI483zLM+Rh2LlxS+6JCALGL9L73u39z+9vdob0cm7zwJuyY5cFab37zG5uf/PiHw5brxvuh0FUM1CkEaYmDy+y8GXfIUK66Z3cpskn5WOGLX2f36NqiX9bcddfNmkP+6katnXfly8pT7N/61T+XN3Ie3bSsfDCsKx+QvF3PXU444fiyI3Ni5/VUGW54w62bHXa4acM9bM8//w9lF/XWzd7lwVjspj7vvPPae95OtbObnNz/cb+yw5n7Wp511hnN739/WqvjHrvsCj3/D+dNVbrVE3+Tm2y/3nfi/7RB2267XbP7rW/d3rv0vHPPbc4st5KYzf05b37zWzR77HGbct/bS5uTTvzdSO656hpmai8q/6+PO+43XTdv/8HD5N7y1iMb3v9ucctbNk94wpPKvYc/3vWrO+w037fcxxdsjvvtcRuQzdyfduXKVd2d68TyHrRq1W7tw9DqHdrsrN+lPBTtVuV+z+w2Pv303zfnnnNO3z/k3OpWq9qd/GeddeYGdl9bzOmCC86vpzupzx+DblIe3sZrDtm2vP8yL+SMM04v/2+uv19X2FG7b3kQH3LccceVW4Bs+H7cGqsfxPCQPO4JfEr5I8R0r/G5YFmV6Hb7/f9YsWLT5ha3uGXXp1+Hz4szzzx9AxNYr1y1stnxpju1O5I5t5eWe0PXMpvz0W9edQ76s8WWtbAmHkJ47bXXtq/TXXfbrbms/N/l/M/HzuneuWW8eBEo/60iQSAIBIGljAB8jrwPPBBcESLPIzEodySXhg9xdTy/QPlLlC0+POiBd1tzdL6sdHyNR0d9xoj1bY2dqj7x1DS3rWvqV98Y5ohYH1/r0mK3vvqimrR+c9EST8tBTudsjqJqbWLEeCAh+bDiJJw4YyZaL4IaggsY+CLoBE09LXri6xzqICSJZ0wd9dbvBby4tIIfB/kVxnV99NPVpx71Eer11kdPfXJiQ+q1Wq9j6czH+qwV6a1PTL1e14+vNehHgsBIEDjllJO7dVeuWtXt93Zq28nrY+rYXaudqL2x/cb3uc99u2qemM5uu4sumniw0Z577t28813v7vrMR4cvi9x3lB1hCPdbPemk3/VNDUElOXrNNdc2R77tzc0vfvHzQmj4Gdk0b3rT25o73ml+L7OvMa0x751kbfN89PoMMoaI416sHBAL3EbhwLLb9v73O7C9TyWXkD/xiU+aV4LUN89B5msMO0W5ZyhPo6fPQ5hKtxVaSFHfzrlsnjfqcqV989wHlkvrNZX2rV/+c3NV2T1K/Jrix2X47Eg1tk04zz+e+KSnNI9+9GPKfR//3Hz/f79X7vX76JaQtgz3Kz3yyLdu8FqF1HzFK17V7L3PPu2tEvTnlhHnnHN2e1k4r91HP2riIWz61O3BBz+ueUI5pzyY6KDHPKJr2nrrbZqX//0/bLCDmvvVfvKTH2+++IX/bG/N0A1Y3+EhVR/+yCeaXXbZZZLpm9/8Rnuf4uuTbJtUcB4GPKTubWWH+WGHHd4+kI0d1Z/+9CcnEYZ3uctdm6c9/ZnNqur9E+LzhOOPb97+9iO7t6bglh780aWWl738Fe2Q25u88IXPbfvke/GLX9reI7j2vfLKK9vd7tzXWblFIVDf/4EPtcPDX39YeWDaTzS17ZOffEjzyEc9urm47JQ/5JAnTrLVg+c97wXNve59766KHbPv+9cPtOOXv+yl7cP6usZ56uy//92apz/jWd0d66Y968wzm49//KN974V757Kb/xnPeHYh8Fbq3rZ/+tOfmn8sDwjkHsu1zAXLOq7u9/v/wTxe97rDa7e+/ec8+xnt/0WM3J7luc99fnO/+x+4ge9Pfvzjdv7eM3o256PfvEw8F2whWj/4oY+2oUcf/YXmnve8zwYPmvvqV77cfPCD7+/7/92aaYNAEAgCQSAIjBkC8jhwNvQRWr5IQnCi50tC+7WitIjfKtDDKyHwP8Yzpq8frfwXNuIU/Djkl9Azpj5fSHvrk8u8/eoTi9DqV9enr49+rs95WV+SWLs5zWt9xvJfrLOugY9j1lLHluFgQqJhhcWQB+ARJ8YCsKFn8nUtfDjQuTBfALTqiUf0pUWnr8DV9Y21Pi+Aca5flhcJAqND4NyyIwxiBNlt190LKbjTBpNh59MBd7t7Vy+Jx24TdlIiq1bt2tzyVivbfv1jk02WNy956cvLLqx/bP6+kDmbb75Fw+7Mvfbau+v2wQ+8fxI5iuEOd7xj1z4fHci+V73qNc3222/fpvvWt77ZfP1r/zVlanZKKj/84Q+an/zkR5PIUdawz7631WXa1l1Z0zqtNw5zPmaTfyof8Nluuxu3B32EBzSxA/J9//LuSU/Y3n23W7e7jabKNRr9uvKbytryEKbOx077MKYyvq4lOVcX8nRts64cnXuK4rO2eepf36DZa6fN2w8oSNBjjr+y+f5xV7Y51pSPqWXrVpeffhTx8XX9iJfRbrfddi2Z1bt7Z6eb3ax5ZXnt8gAvhd2irz/8iHJv3P0mkaPY2dnMPTORTXgS1UyyviBUcC1vfsvbuuQoROvll1/emiHJn1GILZ6i3U+4fUUvOYrfAx/4oOYpT3lqv5BFreP//q9+9ct2jjcp7x/1H4N2332P5tWvPmwSOYojf4ThPBxeztEWW3QefHZ1uUfztWV3Xq9cV24CLLZ7lUv733DEmzYgR4nhAWpveMMby3vnPt0U7KBU+l0Wr672079ur7ji8nIv4ok//mBjzDHVvaXr+Ln2WcOrX3PYBuQoeW5ZbvHxqle/dtI60bP7/zWveX2zcuVKhpMEUv4tbzmygRhU5oqlcRu0ff5/XF0+M8Wnt63jucexwpr6kaPY73bAAe2a9Z3V+egzL+Lnim392njUow7agBwl58Mf8cjmwQ+e/g8t+EXGA4HysRkJAkEgCCxlBMadf5Kvk/9baP6NL2I1/8cvs/KCnS9yQ7z6SDyskIOJABQTqz8WmSw29ZKl6ojxt3MBtkWvDX/6de4y7AJDHlho62BDiLEWtnGszzojQWBkCKxdu6bhAUsIT7Jmh2VNxKB/7GMf39zpznem28opJ5/ctuwEkyyFEHjta1/fXtq73q1t2OUCYcITm29XLgNm9xmXHl5zTecyfZx6v/ByWeujHvWYOs3Q/ac97RndS+K5L6T3G5wq8ZXlcmdl550n74TjUsQXv+TvCtk7cdsBfW3rnab7VWSr9qnaYc7HVDlno7/9He7YfPaof2uP97z3Xzc4j5AAyp/LpficR+UOd7hTc8QRbykk6iuanW62s+oFbVesW1M+IPi4KB8s5fX1iDvfoPnWq3ZuvvTSnZq9dt68fMCVS+WXYV/TrCiv2x1vtLx53oHbtv4Qp5devbp525cvLlaI0fJx0xIbnY/HZQNeXnzv+9y7kIIP7nvsvPPN29q9PyDKXvPqVzaPefQjytPAX9+9hym7meuHgj25EI0+ZOzEE09sXvLiQ5tHPfJhzSv/4e/by/J78851zCW35ufJ5E98wsHN4x776LaOf1C5f9lNOZX87Gc/bZ7x9Kc2T3nyE5qPfuTD7aXk+N79Hn81Vcii1p9y6knd+W2//Q5tnz+SQIDyvol8oOxIf/zjDirk8d80P/jB91vdbrvvXnZJPrPtn10ugX/UIx9adh6+ph3z4wXPf27zyEc8pHnlK1/e6tjtqZDv4IMe1RzylCc1n//cUa0awnP/u+6vy7y1/1L+CMI82L2J/PznP2vH6E477dR5q0MiPl8OP/yN7W0LGH/sYx9pXye8Vugj3NIAHzBGaCGOfc9lF+8hT3li8/SnHVJuefDJ1gdsuAWCcn1i+etf/7KLDxh5sMtS4Y9w5513Tjvk/5P/f08//fTmb5/zzOYRDy/nvfr/il0yfdDzMQi2ztf229/+Vhfboz77GdXNgx704G4/nfFGYD33Pt6LzOqCQBAIAlMjMO78E5zaKPm3mfjHqc/MLCydbT6zcJzBBSKyFsZOHGKSPtL59tkZo0e0AzJgI6vLQZ88tqXb+poDm37m14ex9fGXxTeWnP3qi4d5yYev+YkhB7WtTwx2xgg+9NHpb15jyanggy/r12+m+sRan34kCMw7Ag8vu7um3eFYXrkf//hH2vvSffSjHy6X8L6j/aIPKcLldjwhl50l7Oapdyz9+79/ftJuzw9/6IPN29/xznZ3083LPfM+VGIhRy75y1/apz/vW54ArXz5K0d3d2H+369/3e6awcZlvD8sl9mze3LlqlXNve517+6XZ2OHaQ+4+181Bx382G6K35ansj/owQ/pjuvO7044oZC+J7XrZ5ccsueeezZve9s72l1km2++eburDuJjOjn//In7/fHQo3e/533Nscce23zve8cUEuKM6UKbYc7HtImnMXKPSHYJQkCsKueA18MPf/j/2stDd9nl5s3Bj31cN5pz5WXSkMWv+IdXlXvdde7jyfjII9/c9V2YTrn/aHk9rynvqpKkj9z/huVJ9CuabcrmvX9+2k2bp7//vOYPf+rM5tri98pH37gd8Ea8rryDv+3oPzWX+WCmck0+D3QqW07by+8H3U3DbqypBFLn85/7zAbmd73rn9qHYWFg5yKXDv/zuzsPD6qJ+tuWe10i3LP3TW88vPhd3I5/85tfN4e//rXt623LOd4XuE2w/kdd6+STTir30+zsMmdH8YsOfUHZ+beyXDp+UR3S7fPgs7eU+9T6MKMvfOHf2/tpQrDcshBF7H41XzdokXd+f9rvuzNkpy+yatWu3Z2en/nMp5qvlPc35LLLLm3eUS6t5/8Nu025P+xs5d8+/7nmB9//33ZHqQ9D4/6hRx31mebBD3lo+/+M249szAJuW2+zdbuELx/9peY//+Pfusuhf5NyL1fITXx23XW39tYStDw0Dvn61/67+VzBQ+H/0S4779zcs3xu3PwWt2ivUmDX60JjyXnhEnqEPxy+71/e4xSbP5TbZLzpjUe0t844sbzX+n+H/6//9dWv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" class="kg-image" alt loading="lazy"></figure><p>2. Give a name for the localizations and press <strong>Export</strong> to generate and save the .xcstring files, one of which holds our wish-to-be-localized text.</p><p>3. Open the Finder and navigate to the directory of your project. There you’ll find another folder with the name we chose when exporting the localizations (<em>MyAppToTranslate Localizations</em>, in my case).</p><p>4. Head inside that directory. There <strong>you'll find an xloc file</strong> (or Xcode Localization Catalog), which is Xcode’s way of packaging multiple XCstring files together. Right-click on it and choose <strong><em>Show Package Contents</em></strong>. Navigate through the folder structure and you’ll find the .xcstrings files. The <code>localizable-xcstrings</code>  file holds the text we’ll send to Localazy for translation.</p><p>5. Drag and drop <code>localizable-xcstrings</code> to your project’s root on Xcode, choosing <strong><em>Copy files to destination</em></strong>. Then open the file and you’ll see that the lines we entered earlier are actually <strong>keys</strong>: one for the greeting and another for the message count.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="data:image/png;base64,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Nzn7KQH+pfrDPFjcT28z2wqBEAiBEAiBEAiBEAiBEAiBEAiBEAiBHwGB3n/uL+8pCw2tlz7XRg8coU1dr8E4byPWNrbx2BjrQ2ursdq6e6jBXCHfWGz4mFeN3XUYI8TMyhucM36MrWtrG8IX61obVBNrffxuFvs4zrkxHjow10ceUufGa6va8SRr5/rjHPbmoQex9V6M9REea6Ide2/kPnmZrtbLDR8QefIlfhQZO5aubEdde3F76x2Xtytf9attTX/y4eSvfqB952U/15YdfEQ77Wt/3A555L520Mb17ewvvLudvrwfkoxk2bat7eAes2OJZ02jgPnp1n4A8LKXvqS9/W1vax+55JL28U98qi1fvm+/kbJp06Z2zjnntDe8/sJ25ZXfap/+zOfauf3g4cILzm8PPvhg+/511w36h3EAsbmzfe1rX9NOPXldu/fe+9r3vve92Qcg/QmU5z//tH5Y8rq2vR82XfH1b7TVqxf7R3Q261hDIARCIARCIARCIARCIARCIARCIARCIARCIASeUQTsSHPTdWzP2763cw86xvH28LXXWo6pwZhYPiZt7T6cCn7jxnoaND/Ab43xGs4JnVVzvsSgqr/a2+66q+OFSdwbmzHGj0973ABxbAxY9WawW8MTIGOrr4cNoq8eepg/risI6nLvzinkWozN76+/6sPpDNcBInNL2vIND7UjHruvnX7Tle3LL7ygPeuk89pDR57QXnTtl9rRd3yr3+jSfrixpK1+6Nb574EsvHcOGHcs6QcZMNqN8Gqpww47rB151JHt8MMO76+a4p+N2QcgPC3i67IoybdU+C/GZ/1X49TlmsYt6XGjPyz81qy1sPmhesYcyFzTn7i47fY72z333N3uv//+YU2eypgl7Kd+58U9o/VN99xtvM5qUotXge1oHAq573Ed7MsOWtb3Pbk35rutT0AkBJ4OBPbw74qnwy1kjyEQAiEQAiEQAiEQAiEQAiEQAiEQAiGw7wlM+rH9l/62ffFxL5xt0mC0B26zkeRZscQrxHCZg905udhrHcazGqnmj/fQwwfxIIWJMWptda4NjdQ9TCyj390dgFAY8cbYjDc2OOZ9xtWnKtyUmhqIsW6MHGvqGwLnfzykYFpr+IeKnXzXZo64LmPX0kautfBj56KGKucI5AAAQABJREFUdmv2xr9p3XuACYc79COP/v4X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utjWHCNgBIyAETACRsAIGAEjYASMgBH45CHAc9+KlTVXQh47H0qewIM0bqPxWflvyWllI39oi4dcb2dILlv0IPjiyU78WTbIe5IP2uwz62X/4ktf49rOKoDIgS5KRjxRiycd2lVxaIyugoSniWn7vnSznnjywTjLxSeOvgiiObINfXSJUbb444Aky7wm4bwQm6BLc8x1zwgYASNgBD5GBA7se7usnpvzK3kfI+ae6kII6E+KC+l99HJqg6dPnijz8+fKvjf3jgogH+W8/sPoo0TXvo2AETACRsAIGAEjYASMgBEwAkshcD6S1Rs3bCgb186V944cRpUHVD2oKcdNC5/cN6RxG7WzdHs5dtkncvmhL8Ieyq36TTL2I3+S06qPDFpqjvxNP+k3q2Yn/+IN7bQCCMoykOPsVH0CzAUIxpJpAsY68gVJVzLp02ZetskydChoiORPY8WtsXyi1+sig4e//nqqCAWTETDeOgnUAABAAElEQVQCRsAIXDkEVq5cWVat6mvtVy4ez2wElhsCGzZuqiEtDH8/LrcIHY8RMAJGwAgYASNgBIyAETACRsAIXA4EVp5fKKsiT7Jy1erajnwqx81QufH56E8rKihXjl6WkyMXoZNlSpGLpxy7bOQTe/HURwZP80kunxqjnwm58vVZh362VT/bDv1pBRA5w1B9tYNhdLLjPCk6edzbTpPpQvKc+IEPL/PlD7BlF90JQqeX5XlRZixftPhjnjxncIIF12QEjIARMAJXDIHrbthR1q2/Jj619bF9xULxxEZghMDV/G/Rfxj518AIGAEjYASMgBEwAkbACBgBI3ClEGDD6vXr15frbthZjp44MS0MHlh18ACnB1hajXMhQz4kk634auWHMbr4EE/93lY+sZEufZF4tFkX+bQY4fd6s3jwy7QCyCwDXVQuLChAbNRHjwPKwUzj5a/zSt4s27n3yTjPL13p0aqPv94n42ly6Wb95qsm2zJbUy6v9vz580WHd21fXj8bR2MEjEBDgLc4dFzyfh58Fsfhzzf/a1oeCOhPieURjaMwAkbACBgBI2AEjIARMAJGwAgYgasHAXIjLT/SciVx5XpIVY47jwGGMQdy3gqB6FNgINeuQkN0B1/SR0/+kEMqdiATSUf6asWXHnyOPCcy6ckOnvrEiFw6atG5IM0qgMghzjURPE0mxxQwFGyWwWMsmfRp4UumYKXPGJ9Q32dMvLTEBNGH5JM+Mg58Kna1wZqwxV4HMvVpiaPaLeeEG7GRSNy6dWu58cYby+bNm8uaNWsqjwsyGQEjYASWAwIUaE/EtxIOHDhQ9u/fX06fPl3DuuRCyHK4GMdgBIyAETACRsAIGAEjYASMgBEwAkbACBiBK4pApK/JYI9JeW0KHMq9IyW/zQEhU78y4qT8PXzZqX9WSiOZ7KWnOeUDdUVFm/WQQbJpo/EZXWSKfywZ+4QnvVxPIF6N0VEM9Jd8AwQ5yrOMcayLRhc9eJDe7NC4cZtcNgoWHenRMicyCF0VIqQvGXLpZ5/EIRtdLDwVT8Tr58UfpFjwubCwImIRp4qXx4nCB9+k3rFjR7n55pvLli1bYvPT+XL27NlyJg6TETACRmA5IcDH6Pprril33XVXueOOO8q+ffvKW2+9Vd5//30XbJfTD8qxGAEjYASMgBEwAkbACBgBI2AEjIARMALLHoGWro4vxo+T/bDIe9OS14YY64BPfpzEMf2eZANf+XPy8OTVIeR5nHXUV4t/7GSrcbAqMUaXI/cRkteHsqxx2hmf2CgW2qxLf4KWegNEijiEFEwbLQZKkyEnEMYi+WAsPsHQzzL1FXTvU4UV+cAfNjo0ppUP+lCejz4HcaowEt1K8KE6x4p4o0hBNfbyOFMA2bVrV7npppvqK0/vvfdeXQKL6PyN6uXxM3IURsAIJATiM6ucOVNOBmvV6tXlhhtuKJs2bSovvvhiOXLkSC3oJm13jYARMAJGwAgYASNgBIyAETACRsAIGAEjYARmIKAEdrRKXZPnFjtbSY6MIgZjdHsiF97zs79sR19j6dDC05i+KMvUR9br6hpkK91eL4/pS0/zTbS5kJAFmkQ8OZWzLFc/TyYe9uLLl3gac2HS71uBLr5sFY/GtNKlD3FtHNjqyLFM84kc/qAXHdJ2y4p404Plrnbv3l3OnTtXTp06VYsgFD5c/FhWPyoHYwSMgBCIzyfRfHxusRzW2nXryt13311WrVpVP8Mkd2sEjIARMAJGwAgYASNgBIyAETACRsAIGAEjcAEEyAW3XDaKOQ+eDZUzHydmmnRayjvz6GOjAyv68PEpeXQHfm+PTLr0kec41ZcO/uGJ0NehufMc8CD50bhxR+dpb4BkRQXVT4Q5PE1My0QKNrpDsL0/yRSsfMDHXmNavfGBTJQvSDEgQ59DhK9Men1GOtjKl1pk2KFb/dWTIg3mlSbe/LgmlpFhCZljx47VJa8uVPTA5qOgC837Ucxpn0bACFw6AvoMUKvfXbUX4xFb2V+MftZhnn4ufJ2MIsi1115bbr311vLaa68t0sk+3DcCRsAIGAEjYASMgBEwAkbACBgBI2AEjIARSAhEyrf9X3kkgMlrc9DngMh78+aHxjXdHWNa8dRmXoirXP5oZYuMPjwo8xnrTRP6zI9/DvnXfGqzjnjyKTvNFW4GP/QhdKRXGfk0rQCSJ5FxtlGgCgwZegJB9loXTLYKWvqMM2W55pAvfGupKvqam1aUY6WPTD7lD11kjCH6ilP2WXY+1r9asdzWwGLpGL4xzSbCfVKxXtXopGTl2rVry+pYcmYp3Wx3of58bGZ8jr1GYjmbaYnNC9lbbgSMwMeHAG+Mzc3NlfXr19eW31n2CuLNMT5D2EvoQp8NfJbwGbJx48b47Fl5ya/FMQ8FW+bq6cTJk+WWW24pb775Zn2j7UKx9PYeGwEjYASMgBEwAkbACBgBI2AEjIARMAJG4ONCQPnWi53vo81zkM6upA55bZIvKhbAV84eReTkwuHJJrpDQUF28CD0lStXi122RU8FD/lVDFlXNrTZF/ZZxhhS3JJho7585JY5Jcd+oGkFkBzATMPwoCBwJhs57u0kx0YyBS0ZtgqafpZnHfX7CxIfW1GvI750aTk0L33FWHWlWAfL4EThg3XzSWouRcg3b95cl8raunVr3Xx4ddh+WDofxY+zLF9z/Hh55513yv79+4ck6of1bXsjYAQuHwLckDluv/32uvH49iic8vbYyiiAnIzix+HDh8ubv/hFeeGFF2oxhM+WaYQPCiiPPvpoue/++2t/mt4sHvbM9Zd/8Re17YsgLIe1Loq01113Xf08+Wj/MJgVpflGwAgYASNgBIyAETACRsAIGAEjYASMwNWCQKQqgmID8ciRXCyRaz1x+kzNYaxeHTkUZZ2VWc6ORrzIzJT3j8cS4PGl0nVr12SNy9OvK24Mkcgnue2lokOPCDnQhbL+xdg3q8m8euaRuJZP+Lk/DbEsz35yX7HCu1gf1X5aAYQJBQJ9jSlcqJqjSXKLQwLpefKBPRk2+YvuUJGSDTLpoA8fgi/KfXiylZwxceiNEfjYcOAT0li+8lhZwCprvxDN6HKe2bsD33Nz034E02cikUiSkjc6Fhbyz3ysjw5Finvvvbfs3r27/iLv27evvP322/Vb38g/DDH/uli3//rrry8PPfRQYfP1Z599thw6dKjGNsv3UvPyYSO5Pnj68Sy/5hsBI7AYAT4DKFp89fHHyz333FOXmnrppZfKwfg95bNn65YtZdeuXeVXv/rV8pkHHih/+id/UosT04og+GLPoUeiAPL0T39aDhw4MPVNjsVRxAft6DPri1/6UvnKV75S/u0f/VH9QyHrosOn0uZYCuvt+KzSh3TWudz902fO1tjio+cDEfHOxWfhNLw+kEMbGQEjYASMgBEwAkbACBgBI2AEjIARuAoQWA75PlKj69atKWvWrInVKo4POcml4Kf4sT1yoV//tcfjC5xbIxkdCYX4n/zAijixelBNMUSfXENNv47k5GG+/4MflSd/+nRZu2ZuqWkuUTaaYGF42QB7Qurz84QGT8lkdCDG6kuHFurHjdv0pSN/WR9/HKR38pzYcKi2IL1gVUJfsagdiQa+fMJHB3/Spc98tItoWvYdxexARnKiVoHlCTRJnlz+5FMyWg75oVVfPhlnn9nXRKEi9KAcG4CqCJJ185zYKB76fYwwFviHfDmJX4IHPvOZsiqqfz/72c8uqdrIt6dJutVfpC4oJRsfiIQm3/reG9/ufi78X+wyN527mUPmef7558v27deXBx74bPnyl79cnnzyyUKhpf92t5xs2LChfvtcY1qKHSyj9f7779c9TdDBLz527dpV+SyLw5jld0jEcpiMgBGYjQC/nxRJf+u3fqtcv317+cmPf1y+9zd/U98a27GDt0A21M+F73znO/X37utf/3r5nd/5nfLtb3+77NnzWvy+8TE4Jvzx5sg1sYTW3/7tj8vJk6cu6TPrZCxxde9998Xnxfapb67hnxmJeeoH2ziUy9I7F3+0PPbow+W6bdfFvFF8jcmZf9bHvNCQfCE+g07H59Zrr71e3nxrX3wec5syGQEjYASMgBEwAkbACBgBI2AEjIAR+OQgwLM4S9zXLyJHPzpl1ZRlqy/nFTEn81x5YpnvufiC5rpaALmYeN4/cbL8w//4G/ULpS+9/HI5EbmRmsOYuBwNlEGIRHdgeseuXeXXv/54fDH9dHnu5y9e0pfhLxhbm1L5cCVNyYOfiwMpLQFxMFZwaqUrnVCpJDn5dRIfKlwgZB4O+PiHZM8cHIoFGaSxYsBWPGzVR7cn+VRMkmMjf/Dw2evArwWC2kmnXhFHmeQMvV5XegpMY1qCwlYy+VXb+xMf29xnjK4ukh+UYlKhQ/qKTy22ELbSZSx9+WTMsXC59wDhl50K4+/8zt8rW7duK//DP/kntQgwq3BAcNOovyB0+NDatWtX2Rnf1uatjNdff73y+Cb45SaKMIcPHyk/+clPymeimPPggw/W62CpG73Fkedk3xISoBQ86gfeSHgiNkGmAEI1lEINBBYkQ1uhp+F18803V7133313qv+Ru5kNc06La6aBBUbgE4gA/84pFv7Kr/xKuSYKit/80z8tL8eNWQXExx77YuF36fd+7/fq79gvokj6R/FWxm/8xm+UL0Uhk306pr3hwecNB344LuV3ic8f9Otn1rQPrpHvUPrIET8Te598Jooxv/71r5V9sXwfnz0zQpoZC9e/LYond915Z/kPf/LNciA+ky7H8oIzJ7TACBgBI2AEjIARMAJGwAgYASNgBIzAZUSALxezT+hNO3eWbddvi2WxT8eXmt8u7xw4uOhLkRc37UIsl3++2s4qopCvWIjn/t/8xq8Xns2//8MfFXKCl5JfuLhYLlKLeC5SFbWTZ86VGyKv+Zff/qvyzb/6btm0Lr7EqTTGEo7Onpsv267bUv6bf/xf1TdIFsqLlzDrhVRj4riOIEVQc9mjMTwOePlYlPsOOTyI/HoudDBGJl9qg9Xy5qkVT77QFU9xiAdffbU59mrYneQ3s7GBLmQ7tQDSG6q4UD3GSYFJTy2TEYz0FQRybOBD9BVYbqU/jSc7tb2uYsq+NR+6OrCXf/lSKx1aXQevMV3WN0D4hefNj7Vza8q1seTLpRY+CHYa8eHFnh8kN/fHmxgqfqDbFx16e2L4IEUS7Ph2N8UW3gK54447ytNPP12X2uo/wLhuNl1+6623ais5hQ9iZ4ku/BErCUb0IVoKRmCFruwkwxY5epJLhxY5hA79C+2dUpV9MgKfUAT4982SV3dGcv6vv/vd8sorr9RCIr8L/I7MxauW+n3hEvldO3r0aPnhD39YeBPkc5/7XPmTWA7rYj+X+J3ms+PDLAXFB+7HRcdOnCqf/cx99XPm9//Vv4lP+vh8qAHkKHQ7yVE1OX8esYfKLTffWL721cfLr3/t8fJ//F+/XzZvWH/RmGWv7hsBI2AEjIARMAJGwAgYASNgBIyAEfg4ESA3tnHjhvJrX/3VmjvgC8jwWNr+u9/7m3hD4YUl31BQvk65N8bkOX/jq1+p+3o++xwru+Rn7HZ1zW5FLMN9f33r4qmnnynHYn/hVfGMLUJHfsVTW5/Ul5Cj18cm28vRLpyP6yQPGnmQrYHfxS5ldT5iJkFdr3XVpX2h9OLirvhxUjJDgKrFDTLJ1deYxKnsp8mwh6TTRu2MPvyWfG086XHZFFOyz14XC/GUx1dcyDKhB8mfxuIxVjzi0VaatgQWgmzQNMcXKofiS58WmYBjnAk+F6MLQtYHK5nmUBzYEqv40kNOH372FcN6DbQQgGs5LNn0PtFDJvnY37iHzoenmKFOFL8El4v4gLjppptqEm7Pnj3DBwYboH/+85+vfH0Q5Dmx41vQTzzxxFAskFz6/YdP5iOjCPLcc8+VRx55JN5q2Vo3R5cPtejxgXo8Ptz6Ci+ynVF1pvpMwlbEPGyMTGGFBCv7jlAI4VvrfDAjY28C9iRBl/1IkJ2NSjJJ3t27d9c59TYJxRfeIDEZgU8jAvwOUIxgCTx+P5595pnFb2vw2dN97vC7xe8Ne4Q89thj5Uc/+tHUzcp7zCh+/O7v/m556qmnhkJLr7Pcxqfjmxcs50Xsr/9iX9l18w2jEC/0Wdzk9VYQ+L26542yMP+X5T+LN/n+0e/+5+Vf/dEfR1E7FtSKzzKTETACRsAIGAEjYASMgBEwAkbACBiB5YrAmbPnyudiWeiHHnqwvPjiS+U7f/3dct9995Yvf+mL5Quf/1x57vkXa96gf75luaxz8UzNXsYUA86dP1fWROED/qpIyT788IORV1hXnnjy6bJ+LSvRrKgycoEroiCyJvIV5+NLm//37/+L+gXmI++9XxO5Z+sXo1vhA9/ERwFFKy2Qw0CHeFZFAeFM7OlZY4vHb+aH5ufPl7Phe03Yn4/Y5kex9ddQlT/gKWcNLvXRnzg+umxBfZNF7gmTfDetQlbLlZMfR5dD/L6fx+TcVcSI7gRhj66W2kIo//KNPfGI0JdP+pD8yAY+NujBkxweMtlFtxJjdCSHKV/0K00rgMiZlHOrviZjTECaDKeMIWTiK2j4ugj60qEvHflWm2W5n+fBp5a0wqfiQp8+sp6HvWLJc8se2SeClPjctm1bTVxSkOCXq35IRDHgyJHD9Tq6vGfl8W3m4/HK2TSisMDBN8TPx4cJv1IkSylCnDx5or4ixzx8W5wiCsUNCiAsoTOL+Ma5lsRBh2+sE2fPlz3LYuF348aNdYkslujhLRHiYp8T5ic+4mLucFZef+ONao5P9hWh4ILOmTNtiS35dmsEPk0I8EcFb4BdG2+CsVm5SG896XdN/Nzye/Tiiy+Whx5+uH4DhDdCpr0FwmcI80B8ztx1991lz2uvDW99YYOc32lIn0N1sFxOEVv94J+LP9Hiuj8I8U2Pn734ctn15FPlsS98vvzaf/SV8td/84P4Nki75g/i0zZGwAgYASNgBIyAETACRsAIGAEjYAQ+agTIn23ZvDVWYtlX3/h4fe+b5fk9e8vtt91W9/qdY5WVeW3r0KLhOf+6LVuiQPJoXX2Gose+WMnlR3/7VLn5xu3xheiHap7upptuLv/F3/975Qc/+GFZH18+vOeuu8p7779Xv/TMl5W/9e3vlAcf+Ex9A+SJnzxZdsRy+RRj3otiCG+lbIk5yC++8MJL5bXI7ZFZoHDy0GcfKLfdemtZu35dORhfbGbJrs3Xbir/7j/8aVkXz+c7d2wvDz342RZbFGm4th/97U8iNzHa4+QygPoB0wfjmVuaZDy+LD1yGrW4gnfN0Cc68pj8twoa8JX7Vl/jEFV/jGWvvlrZkHOHx0FfRRDGPcEjTuKA6ONHscODkIsnObzsU/OjD8knfdnQrzStANJPIF1aHMhJ7medbC8beNLPuvBEXIR0eh/owNPFoCefyLIfxiJ09IPQGyCS5Va+iEGYtDlmec7WS/RJOp4+fSY0mCL+FcSHxIqUJCSJeCKOYY28+I2ai8Q9yftLSc5hQ5Fgf6xrzwcTthwUDH4Y6+pRHOkTmshVHOiXwMIHb1fs2rWr7iGwd+/eak/RYffu3ZXHhsmrVrV5WH6Kb1XzFgd+lQCtFx0nxryJcWt8YEmGHm9lHDlypKqJLxvkFD/eiA+9e++9t+opDvYUIWY2SX/nnXcCr7l4U2R32RJFkP0x1nJYFFBeiwQtBRD8cZiMwKcRAX5/WAZvfRQHDx48WP+tUwDcFm9O8e+e3wn+AJlGyLHhDxLetOL3fxYxB29f8buF3tb4A4VCyLmwZSk77Ddu2lQ/lNks/M14u2Q5EZueXw7asmlD+f6Pnqh/ID7wmftjvdT95cWXX6nfhrkc/u3DCBgBI2AEjIARMAJGwAgYASNgBIzA5UZgdXxz75lYMWLFipXl4KHDtcCwbdumyNmtqYWF8+fnJ5Ks5BrqElff+Hrk9G6J3MGhqnt3FDfIxZGHvI4vJAeti30xyAmQ/2OVmkc/92hwFyK3dyKemfeV45E3/FzwDhx4t/zkqafr8/Tn460T8onk7SKoclf4xcfRyGe+vf+d8sUvfK788i99ufo/evRYubGuILMu3v6YK//7//kH5YHP3FG+9muPxxdCb6qrvlyzPgov99xdVsZ1fvuvvxsbncdeHZeLPmQ+4UOaz7iKlm9OQhj9gViKamUi3X5MuBwkiJSz74sb2Zd08QOfce8bHpTtcr9Jx3L5gK8YpE8rf1kPXenQr6Rkv8a57ZVxpqyYJsj6mkxtlikoBYtM/tWquMFY/ewj9+UvxwEv26pPC9HOig1ZL6928Xse/38wovjBhuQPP/RQdVAnCW+8vbBjx876AfGbv/mbNTHJLznBsTYcCUO+ja1CxsXMTlGFoglJTj6ccqKfogRL2zBvJnQoDjz55JOZXfvIKEzgk03O6wdeVInviw2EKdqw3FRe049YOVS4Qb8nOLy2Nh8HxBz6dnplTDmho8KN+rRcE0R1eFMkWyE+YKlU05LIhXi7hSKPfFSmT0bgU4gAv3Ms/cbvoIoTu3btKr/61a8O+34gfyf+OOmJ3yn+4FiI32E+J6b9/sqGzwA2TOd3Cr2HY+k7jrejmPkv/uAPyhe+8IVyb+gg522w/+/f//sl/cnvx9XGvk7xWTvalP1DTApmfM781Xf+uvzd//TvlEfjWysvvPJqvVZkJiNgBIyAETACRsAIGAEjYASMgBEwAssNAZ5XX3nt9ciCxt4U8dx+JnJ0X/nyF+sXp5/66dPlTHyJe10UQ0Tk+nbs2FFuu+3WWP56T/nDf/f/lm1bt9TVEHgmfvnVPeWddw+V//of/8O6H/Gf/flfRPHiRLkliiU8Gr/11r7yrb/4yyhwHCtv7Xu35g7xySoz5EDpUxD5y3g75P1jR8s3vv612HfzpnLDDdujQHMoltZ6KJ69z5Xvfvd75ZX4Ivb9991TvvLLv1RzH5FkjLdItkex5cb4ovar5f/5l/+m3L37tvpGCvlGijyXiyLUljn+AA5lSnt5iQRHzW8oCTFtCk2PjuTiaayw5Edj5PDEZ5xBlU/5kx18agDyrxZ57mssn6o7iE8rQqeX57jQUzyyGdqlCiAoEZScMVZfwSpAxtIlmMynrwByG+zBJvM1h+S08KTDGJ95TvqaEzljiFiw4y0QSHz6yPL1o6fYk16kytIIw4ult985UP7Z//I/1bcXWB+vUbTxj5NEJMtP/ff/3X874jM9ohXlhViL/3/93/55+UW8dcGraRdDfGDwwaMChGyUpPvzP//zmpirv7DAEPMwP3JseoJ/KL4R/uMf/zg+bB6u+4ig8+7Bd8tPn/pprczmogJ9DhVgpvk7E98Y/8XeN6Ig0Zbokg5zXQqhz1wkX1kOi2uHR2GGA558ktA1GYGrAQH+zbPMG0VGioB8drA3z89+9rP6u5Ix6N/44ncJGz4X+B3S70+2UZ/9gjh4LfV//Kf/tHz7298uT8S+IXym8Sbbn/3Zn5VvfvObVR0/p06eWtKf/H5cbXsDRJ/HH25W1iR9e/+B8vQzz5Zf+covx5J768vpk6eB0WQEjIARMAJGwAgYASNgBIyAETACRmBZIsCzLHmAE7GU1N/5T75RvvTFx2J569fL9773/UWrGvBcfzQKE+Ty7rnnrvIP/v5v16Xnn4rc4BtvvlX33Th27Hj1R9Hh8HtHa75RF/78z39eXnh5T9kUz8uxcYjYteXRmTj2xhfBn/7582V15BReeTmWm779tvrmxrXxheedsQLMk7HM91PP/Cy+RH2uPPHjp2K5rtvL3XfdGVndVXU5rZORd7gvCiP/6L/8B3UVmZ/E8lqv7X2rbFh/Gd/+GEX+QR73sfnI8gSkeMc5cqIE5D7pwZgDmS6BMbl0LYkV3SqnzYS+7HM+Hh5EKx3G8klfhDzPDZ950eWA9I9DfnOc2V5yxSI9+RC/OtVpceZbktZmI00gjSxjsjyhLh5d2UlOK3nfTvMpO3SRy56+SDxaAJMs206zh8cBSa6xfFahHNXBRZ52RhXyf/5n/7x+I1r2/GKTKPza44/XpWn+5b/+1/WNCCUcSea//vrrdS29XGC40JQUHo7FclG8DUHiEz+Z+BBi+SqWriEGfDMPmyXPmmdl+KmbKT/7bH0LhDlIph6LD75sgz+KKLyVwTe+Gc+mlTUZquudrbdYwnVhx7WRpGUeNjU/fPhw5bPcD0lcvsl+sYWjxbOYYwQ+mQjwO3koXl89GW88sUTcq6++Ovwe5N+33NeV8ju1M14jXRufTSwpl3+/pUPLDZvfO3xw1N/10Vj8rA+P/5YTfdCC9rRrADfWHb1j9676VtyZUxRfp2maZwSMgBEwAkbACBgBI2AEjIARMAJGYHkgwLM6b1/8Srz58YXPf768HctT8YbF4VjthT03MpEf4O2Nb//Vd6rujfG2xZ133lGOBe+HsSz095/4cVmTHoT5YmTNFQSPPCLPzWtin46aZ1j0vNxyfGfjC9NsaF43Po8UAl8i57+a3ySvELxVbLoZ329ftRr/o5zn3OpYgutA+f73fxCbun+2LtF199131e0Avvfd75cf/uQnsUfI+G2WfF2X2q+XSE4kDNkMflpuZapPrmcNp8nE+VTdS2SyukWjmukgNA6YHBpHd1CkDx9CR8UPwJ21vJV8YoMOpIklUxIaPn3J0RXBy/rMCUk/2yhG5NmOcU/SpZXPXmfiDYhFwmDIiSbLOgoQHvJ+jG0OHj0o83u5fIif59ccXIzk8oeeLlIyeLJHT8Qc0u3lGtOiFy8QnD8XHwqTa0rJ0wVafnHZo+LVV14ZAmEz8Y2bNpYH7o8lYkL+h3/4hzVhSR/iH+9cfDCwp8fF/jKhx9sfvLGxc+eOck2s88+3s/skJsUBigRcDrL+W+DTLgc9igwsk8WHFnty9K+QwWcDcpbOYdmspeBKn4mLpsvXm/v452DvAV67oyjD9bFHyW2xSRN7n0AUdyj0sOTVUjEsmtgMI/ApQIDfGQqQLE9HsfNH8YfIxf4eYHvnnXfWdT1fi2XxliogosvB7/szTz9dPx9UnBSMyEW5L96noQVbXhV+/LEv1I3bvh+bvJ09d3bRH4ufhmv1NRgBI2AEjIARMAJGwAgYASNgBIzApwMBEp5nYumoz8fG5V+JlQzYVPybsWrM8y++Gm9dzC3KI/Dsyz4ae3/xVnnt9b3lhu3b6v4eX4xn4Ucfebj8bezlQbGCZ/+VK1eVU7EqC8UMSKmBcYagsrtTyzH0uQPyo+wDwtslN0auc8f27eUHP32uPP6lz8XeIdvrfBFsWRPLdbE0FntyshzWbbfdEktUP1q+9KXHyl/94EeXrQBSgw7wwOOu3bvqlge6Pl0Q16nEcrvmWF3nyOHY6uDNwmoUkkn/w7YNsxqUdq1nCh3ZPTnuTH0oshGfVj+2XoafWTxsODSf9LCBkMGDaKXf20gPnZzDF1/2tOKphbeIpr0BgkGmWQ5yAFyY9MSXnxys/GaZ+rTqCwyNsaMvPmOIsXTUVyt+VRzpSgav7zOG1NbBuflzp6OyOB/LRU3DquosdaIIsjqKDiIS+WzIQ2GBf6gbolhBdbQvVkj/UlqKLTviQ4HkJxsa5eQnCUq+Ec4hQn4x8xJn3YwoDPsPJK6Hwsr9sU8IxQ+KE9NIRQzmnEZZjo6W0mI+lrSiCEPxg4P9DZiHzdEZ82139HgrhE2Y0ae4I5/T5jPPCHzaENDvyrPxxtavf+Mb8dbW/XUJLH3WzLpeioY3x+Zk99x7b917iN+tpQog8sObbN/61rfq58zFfI7I7tPSnozPoS/G5m2PPPpIvBn3XHny6Wdq4frTcn2+DiNgBIyAETACRsAIGAEjYASMgBH49CFAvu2RBz9bHn+c/ULnyhPPvxCrQawtn3v4AZJ+Zc+e12tOTvk/cgZ33nFHbDT+q+XNt96OJbF/HO1bdQ9R7eGBLrk8cnSPPvhALO3/8gi4PjWb8WyyMJ2kGMPD59HYPP3ZWInmC7FR+m//9t8tvxYxbN2yNb4gfW3L3p4+W+66Y3fdE4SYfhAFjzWRo1yIL58TD3nBy0V1Oe2Ii/2QfznenLkz3jSJzG6dZyJjHTrKfK6MPUjeie0R/u0f/3FlhujyUmAUP4Nz8+fnT4VjTZvngMfB1ICRdXpZiCtlffFo8cGht0CyL8nFy3rIRJIzVv0Ann5Q9LGVnvoaSy9UBj3JxKOFMn/qGyAoMIEmwXkO6v9n79yeZbuq894CJJ1zJCSQVI4BXwDfbXBiE2O7YmO74rwkTlVS8VPe85A/KGWnKs9JlStxJeVK4pi7uRiMfCkXBtnCgISMJYQkQPd75m+t/nV/Pfacq3ufs48kxBqwety+8Y0x5+zdOqfX2d3NnYQ4GCS1DYyRT058BV5z8hGjNutdoHOIFWdPedHGxNpLDPm8skbMS88/+8wT7Uu7X2hfMn5VN0Akut56emF4/PHNfe0z+/iSYm5YcIPAGw6+GF3tHNSnyMtvlPAdIdzE4Yvb+U2U3puhzKJULuJ8HNck7UR4ceWjtsDBRS9ubDzYfiXPdRB/pP3GC5f/+pwXcQQMc/D9B6usO/C9tAP8LPxd+42zd7zjHZtf/cAHpp+DL7XPz+RniJ8LLoUYfxh4y1vesvmVhn22fXTcn372swcYsepWciC+DhwEi3MMUyhL9XVwt3uw/16m8/fg113f3j4y7AO/+iubbzz40OYPP/SRzRvb1rb/TpyfbK1Yd2DdgXUH1h1Yd2DdgXUH1h1Yd2DdgXUH1h1Yd+AV2AH/Ts8/mLytfZwz77/92gd+ZdeZ99p+5z//l82j7aPm37j9uzOfWHP/1x5on17z9Oa97/mZzXvaxbupzzzz9OYv/vIvNy81jhfbewtfa7/l8CPtZsRv/7t/u/n93/9fEzf803sCvhXRvrODmDcmXmofZfViu1mBP0HaA39Xf7F9Vwg3V97UPvbqI+3L0RvJ5kd/9EfbzY+3tH98/dj0Ufg/9IM/uGm/atLeL3xw+gfRP9tu6ry3Xcz2bPt+1E//yZ9sbrl0MR9/NW0Q7y7zBsYN7R+6v+nG9n0l7ZN8tuuawjyQZg0Y7YGbJTe3m0y8Z3o9BN629+074l98au44daH9btpt3+10k0cOMaZmNdjqxGBbx0cYYW9Xv/sYLTByZd4Y+eSWTx57y5PxXky8/Gqx6J0svakvEeC0HWBHss3jm1MnBpvF5anncL04PGDIaaPlN0Y+uZo7iVg0vTkkcBUrj9r8y089+dS325cKP9/eWLzU6i5G6NIk34ycI6c98uKxpThTwI0GPprmJ9q/5uaO6H333T999p2/UXGm4JwBZuYFkd+wuOvOOzfvbHeBL7d+/KtzPnrnlH85vthysDfuVb6ZaswXTv1F/jW57sDreAf4GeDn4U/af+j5WLpf//Vfnz4W7/Of/+vppig3BhF+Tnmd4A8MP/fzPz99h88nP/GJ6WeYn+8zwp+SuJrAcZ6fNf4wMwmvW50XLrgI58/2XHDxj/zhifn5OD3+M/JM+y2O86yFLeAPaHe89S2b3/yNX9s89fRTmz/4v3+4uaEl/BjDi596ZVx3YN2BdQfWHVh3YN2BdQfWHVh3YN2BdQfWHVh34Np3gL+T86b5F+/5YruR8Oh0syHfYOTvx3ysfPsUnF0z7OfaDYX/+nv/Y/PL73/f9NH6/D3/vvb+4xfu+dvpS9B5H+IjH/3Y5uvtk2mu3HJl881HH5k+vuruG/9s8/ftBgUf8498/523b+7+3J9tnmw92jcOtO/veGhz992fa1xfm24U8KbB19s/fv7c3Xdvvt5+2+TGdqPhF973c9NM/+33/nv7jZCnpy82/zf/+l9Nfx+/6cpNm0fazZrf/59/sPn5n3vv5tZbbm1/53+hfVTXfdNsly9d/Jeg8/0jfAcza5jfzNi/Sb17M7mtdXoju63nO+0fqDMT+8hHhV2U8P4E70O81P7V/nPPPPWtxusNBVp4gMRsqiaXWOLE8jtAiCW+ua52qjVvLXltNMvv9SaHOB82MeP6mcdOTjCKdeLFmt/pYzdAAEoiKZqLOAsy3szdQOaJWY+NZG6OzDE2BmzF41NT64y11Jm+5lJ33tXb8YJD0PZDv/Tww994uH1+3YtvancpL0J4MeFmxAvtyf9E+yHwzftTuXmTcFQDNzl+E4MeP/ADP9A+Hmr+zgx6tRs51/wmI2+O8pFX/KtxvnCdj73i47b44uRrvvlx6iasuHUH1h0Y7gA/o3wM3Ec+8pHp5sZP/ORPtX8p8WObBx742uZb3/7O9K8t+Nl9e/sOHX6OH2x/4PjMxz42/cGjd/OD1xU+Xg7OX/zFX5z+pQWxUwXOu+66a/MP7ddRR68RvPDCf73lzZdv3tzbPgbw3e961+Y//Pvf3jzUvjOFGzv1hd85/A9DrpZfEeb7UviXJ//vgx/aPNK+eP5S+8zRVdYdWHdg3YF1B9YdWHdg3YF1B9YdWHdg3YF1B9YdeK3vAH9H/8u/+vzmM3f/xZlR+eeJt165dOYfClLT3mfffIjfxmgY3pu8sb1Pym83IPxd/5uPPLr58Mc/OeUut78jg/lyuxFxc/v4bH8D4nJ7P/FDH/9E829oN05uah9v/9jm//zRR9r3dLTfkmgcyIPtI6Pua79NcnP7h9f8nZx/fM1vdvz4j//Y5uFvPjJ9HwjfAfJXbQ23X740fXH6U089ufnQRz8xvaHLb47wHSRHb3609zXy7/pT84WHN7aPfWhfk7C5o70X8LFPfHJzz71/2+ph4HF+98D3EKCZuFuPR9rHjPMeyu233TbdCLm4f/w5n8GLzz//4lNPPN7e3NjdcGAMb3C4xBwtbUatQk1ivJGRsVqDb16dMTidibyX82XPtKnx/Xxq5MlYC+96Vzy5SUY3QCDkQnLwOTI3z4GMi7e2+gwInwM5vP3Myy2PefiqiJUr89bRTxx5sFxuGDGEmIL9XPtS4W+0Xya6+VL73g6epOd540+i1NS/0P4F8n/63d+duPjXyL03HbNGe6ptLzjPtI+q4V9v9wQMN0Huvffe6SOw7mwvFG9vn+//jnYz5Kb24sFHtFzND5ubB7ffwfHFL35x+jJyfn3t1DX0Zl5j6w6sO3CxO8DP43e+853Nxz760c1f/PmfT78q+u72pv273vXu6Q8V5B544IHNH7ff+nio/esKbpj6h406CfGvfe1rm0807C+8//3Tl5/lC2XFV//l9prx9Xbz40PtS9X43pAqvGbx+vJY+1cb1/t1hC9u+/Rn795cuvHmzT9pX/j2Mz/z07v/0DnX9LmebYG+5hmfdAu+2D7+iptG/7v95sdX2m/YrTc/DnZoddYdWHdg3YF1B9YdWHdg3YF1B9YdWHdg3YF1B17jO8D7g1znET7O6crgvUh4uMlxpfzGxZXtTY3sk5gb2ndk3NJuYqTMPHPspfZxWB9vNxuebu+D/uSP/3i77mi/UfHk5lOf/pPNZ9t3kTgP7yUkb/KN7BfbzYznnj/9H2Le1ub86y/cs/ml9//C5qd+8iemf2Q+4s443wNy6623tN8YeXLzpfYPMrn5czFyQ3tv+DLv51xq710/1Dj9InToacJvdPB+OG/h2DTfzsHOCwx4a5q5E+vz+z/E70Bbg7g9teHkPXjriZsT20JTDGwKeQQNh/cOiMmhrW8N8UlI9CTj2lmMTdwcHGmnnziHFasW7w2J1Inxho2/jiEOH5sLfMYzRxxfDD6cGRePRv7Zv/yt3/qP3//2d9z+9b//+hv4XLuLEH+L47xv+HHz4gfbx9a8853v3DzZfuWKNw9HAnZ/swN7hDxf3J7TG5cL/c/HuqLXHVh34HrsAK81vhb4euDPbuql3lN94+H1b34dOf3FhFcobrxyI8XXjuzFx+kR/2z7/hFmTQw2N1w//uEPbt7+w+/eeCM6689rs5Zn243nJ555rv1Bwf/27ll8RfU/cmZ2Pn+wap8zeqX9i5bRTSNrVv163oHTfwZen7vgT8rrc3XrqtYdWHdg3YF1B9YdWHdg3YF1B9YdWHfgtbED/EbHs+0TI55qf4fno7TaF35vLrd/XMmnM+RHdV3NtLu/559QzM2Ym9r7AL/4T39+88PtfVneD5jq28P0Dym3HPxNaXrfpBn+remx9pUBn/z0ZzYPP/zN9pUCvrV9QtMFCDdW3vXud770nW899u0//fQnf6dBP0XrdvFGh5o3savvjRLjYvSzNu1Gtbs54pvjWQNWIY8vjjh+jRlXT9sXWOJK5txacvJiGyd2IKfsukWQMDiai5sG5pq5s22GziHAmLNOP3XmtOmVQjxryBEzjvYGhjnwibHeGGvLPsSRr9zTPtTu+9/29vfdfOnSG/gsvIuQ8974yJ7tzt70Jcd8FNXSx8bw5mG+mZgcq73uwLoD3xs7cC2vNe7Q9FrS/uN+0d9zAS+/zfaVr3xl8bdQnOMi9NSz/WHpUue3US6Cf+VYd2DdgXUH1h1Yd2DdgXUH1h1Yd2DdgXUH1h1Yd2DdgYvZAW5y8NFZXPyDxot8n9M3hk+ZlN+Aeb7diPmjj3x88/jTz7QbMb5tfKS6NbnS/uHnbbdcvrCbH+zDlcbXvqj+pQcfuP+eNsFX28VALInL97qbOUn6mTeORtDevNAHz/vl3szAR6yRD22tucQZq/VglB6GmNxZi13xmZdz0r0bIILR3hSA0IYSpJ+4zINhk3IoY+CSQ4z9Kw6eiodDoc5aYszETRBqEGfEJlbz1pKzhtg3v/zlL33xZ//xz/7I7W+94y4+fsrf3mi5V1z4QedXv77cfm3qPe95z9R/6SbIKz7g2nDdgXUH1h04YQd4Lbty5crmiSeemD6O6yJu1JzQdoWsO7DuwLoD6w6sO7DuwLoD6w6sO7DuwLoD6w6sO7DuwHfhDlzkzY+rWT79+ciu+rFdV8N1tTXc/OC3T+644472fsrj37r//vv/pnHxHSC8h8173b6vnX4LT5J5Ar7/PWf3j9SSQ/NbHkoPb0xNDUIvbXNToj0s+eS4rK16xEE868RNOn/jwYRDZJHNasyN692cAGtcTnrAlT4xxBicKYkXg66Xs4jJOvmsyfWIt68Y43wg3Oc+9elP3femN77hJb605tX+gePu54Ptc/vvueee6TP1L1++fN0/O98NXPW6A+sOrDtwrTvwpvZrq7fccst08+MLX/jC9Nsfr/br6rWuaa1fd2DdgXUH1h1Yd2DdgXUH1h1Yd2DdgXUH1h1Yd2DdgXUHrucO8N7JHW99a/s0jZte+pvP/9V9rdfn2uWXmfheOO9p+z454/ieNzYYfd8DJ94T8vnePr7vqYM3h41k/8TN2f17/+bgQ/S15dEXh9+TrO9ie78BIhEFLkQiNZjM65snh12bGq94fCV7Wi+vGOLJRdx+ie3hjMmFlgvNk8AZyMH39YcfeuiP77/vvrf90A/90Nuef+GFG/hXy6+mcLePLxbmy4vbTNO/pOYuIL+dwufjrbLuwLoD6w68lnaAF1J+y4OL16pvto/y+8pXv9q+COyp9Qbua+mg1lnWHVh3YN2BdQfWHVh3YN2BdQfWHVh3YN2BdQfWHVh34DW5A7fd9ubNbbfd9nJ7n/rBbz7yyB+3Ib/eLt5y8YbH6H1v3yxGg08/a7RrvpXs+mCLk8sZxPGbI8SQzM2RfX/87GVeXnLYchhXi1/USzdAvAngEBLrO4ANxINDap44lzcYwFCD38vJAy574qdUTnJsMtwK9TmPtvHUroMYs7FH8N19959+5p233nrrL91x511va/70r5e519Buvr0qwl2/hx56aPPt9mU6d955Jz8A0+fpr1/M+6ocx9p03YF1BxZ2gJsez7cvH+d7lB579NHNo489NqGv9UvLFlquqXUH1h1Yd2DdgXUH1h1Yd2DdgXUH1h1Yd2DdgXUH1h1Yd+C7egd4P4X3gG+//bbNXe3936effPLBe++55zNtUX/WrufbxTvTvrfdzDPvo/veORiE97u59IkhxBDj+NRanzltsWrjvudvHA5EztnbP5oXv8/s55GTXOKwqc8YmJ1IvgtsDeNLxTYVg7YOGn2H2FLvMNQjaDHG5MQ35peay6ufeXPctIATDHk0OfmsRYO1LvHWWQPm7e36jd/457/5C+9617vf+exzz73h8ccf3zzz7LO77wV5NT7GhR8ErlXWHVh3YN2B75YdOOU7P3g9fba9vn78wx/cvP2H3725dPnK+lr33XLAr/s5v9f/m8sfiVZZd2DdgXUH1h1Yd2DdgXUH1h1Yd2DdgXUH1h246B2Y3+Kd/87Jeyd89cFb3nL75srlyy89/PBDX/2rP7v7c+0TgD7W+j6w7c1NBS7+AX+1iUFG/IV2IYkll3ViwSBZgy/fPODsE8e3Nn1x5s2p+cslvcQRT8l42omp9hkcb/6PhAEoUFvs33r1qc9Y2uQQOcyp4WCR+GKaOQk3Hoxhg0Mr9kdnnDyx7CHWXNZwcKN9AMdFb26OPNiuD330wx969Fvve9+/+Omfee/bvu8ffd+V5597/oYnn3xyeqPuhRdf3LzYLr8o/ZW+MZELbbOeETdUXQGjeMXp9/C9mPhTdNanfUrtCJM8aY/wxJdw5BD3+xhW3Fw1fpRHPUYeZkb4UdzqY3lxqbMm7cRci30q5xKOHOK+H8OKm6v6j8m5xEd1zVffDhlPu5c3dkwnT9rW9WLmLlKP+hBHfI2cvfHjSy/xEt3+i/vCi9NH/p1yVmO276EMG+Vms+zqX81WVI7qXw3nd20Ni78GuR57Vzmrfw3j9kvzCdZHrNHYget+HtFrNV97O7Ce/2vrTOp5VP8ipr0enBcx13cDx/XYu8pZ/e+GfXk9z7iex+v5dI+vbT3/43v0SiLqeVT/Ima5HpwXMderyMHfrPgHoFzc8HjTm964ufHGGzdXLl3a3PrmWzc333zzyy889/zTX/27L/3DvX/zxQ82OL/5wRef+345u8qFaOtD7w0GbG92mLcGLRYbAUOscpJDzCd/4rVn9B6fvrZrwa9zyKO2pqdzXbs8hT2hqYsTU5vgZ0zbgc3LT7yKMbH64IjpZx4bIZe/ycG8+IkVg5ZP29/8sAYtHqx+xrxRcrnl3/u2d/zAL//UT//Uj911512Xbn3zm+9sNzvar2Lc0P4/7TVP3QbbC173FHaQ9itN7X9iGtnkkyY2sbUH6MVMpZW4+hNofpBn5iY2se4RC7WCEiKfOTQxNi1nzBowh3LIkrPlHhzWnM+rHXafWxZDLs9Iv9PO52DhlLVnQvtn61hHxTlzD44WFUCuQ74CmU49J8qaip1PEsQsyXlR5yP3rsP2pye3bXlGKsfns+M/TrKDLhnXsu4c4XAvxz/jWXN2rmQ5PK1rmfNsHyOt3zWeDxN7XrKi648K//HnN+z+4nOf2dzxfW9rvwFyy/Y3QA7XvF+18VnDh8w3ovnDhP4UbQ/bwBSep5pj8sz4Pf8841Q9PTmPcU7I9uAJZj+51af1z1kObXlmPe+l62g/Gy2w/3kybk31iZ+NHXLOezFzgkVcX63VV2/RW/hr83wOZ533wzWSuzaZ93LPUf195nSrclT/LJPr8NwOEdQjPm/O8mVd7lfaE0N7mLE9zn2PWpe1Nbfkj3LEEeeuOHJzbF7rNt/gVLgPoA6lx3OIwDvgPEjX+vRHtnwQgcE/9WdczqpnTrhc6zwzEUT87B0+1tySb66nYT1yPm2o+TzmemZEnHn2fASDyDl73ceZtIN1TqvST9v8rOveXdT55Dprj3mdvZmMVe3MxvG1e5r8tFFbjX8o+/OY6/c+ODmtwUeOnI/pafG1f49zVzDknvfO2vP8N3JfU+c+5GzZNob/fTtcuxzT4tuDftU1j7+EIV/3h9he9ucx8+x9MHKLx0d6nIHdbbcxNbVpV7/myM9yuHfupdmqezxnY31OcWq4006/xp2jF6+x9NOWY9aH5zGve5qAkjNzZaxyhn9h57Pn7O8l8/RkX7fPno31Oc/i+vsAcw87ilds+mnvJ8bqnQ/oqfWwvwAPoviGJ6KSO+AUkAXah3W5l3VmkIcyXm/ikpN49ffYEd9yfOaTpWKrL+5QTxyEgDfpc/a4jFUNyUS149w/zyoWH6Eg7Sm4jdW/N84zgpj/2y5n1mA7hPGzOs8DG8k/L8yRKdoezsNHzTz3nq8356mc8M2SM5/dV1Fo+1XdUrQlvJPEEHQuQVmgvdf7vZvx/NkNOX4+9p3gVLRrrj3kzOdAzjTXid16E4AZ3tg+M/yZZ5959DuPfevpB+6/79722x+fbpi/btdT7QKXNzO0uRmhjQaXMex6yYX2Nz6sS61NPQI/QhxJn41IXww4bTV888adzYFHzIOlTp8cgi+fekqY3DnF8D1sCdA0yXgp6TYHIwe1CD6SXMQyTj5j3JBAjOnDIS8x8vhqbXPojGHXSwxxbfiwuRD0W9r1g7dcvvyTb3vHO9795je/+Q2Xr9xy682XLt1640033vrGN7zxUvs+jpsA80PjE7p3SmB20gDtPsokkyoFxAgpkd6aFTEjA2fpTluxhNmBmzG9sdrAL7dF8b/DiXBbsuUO+PabML8vCyGlk7QQYGTLSfUu1MJTvuHl5C8VvihNdRO4PWw3eqrGpcmuz4ScH/bz7DhpMq9pi2v18NhHTnvwBKHtjgqj9NtGJkLGEDIF8OGnT91LCidpxm5NzawzNgx7wXcpWDLk3DJOwNhLwzst0XbfdusGUOck1C7XRens7/ethVjo/LBbSwu0/7u3ZA8EwljTNEpZ+/wXSznalFOPxrLtcfZ8th2268KjRHeeOwLkGyl07XH631yxLWxq8ndralxlxgnRYgfnAyeVra7/89OSU8/9bPDsZLfOObI7H0gnxol9B5+M7UIn1R6m58h27gk9cbaH3VomUHMn0kMuvLYGsJTtEGXtS+dDzdR34gpnR0aifZhl+96QL3/p3s2tt791c9PNN+/67g97xi0+sgbmvRrZDWnxmYCJWV9Lr0Oma/CWZ2xn2o7G/8qcp82Wd1ojdXVPM19zC32W9mx5KfEkkn+poOWm9Dlmk7ar4YHwFFnCHubadkwvO8dZD+t2+KUtANTOv3U4dfAt/qWG75Qc7dX6MeZOFgqGz6td8WvDWHq+njLhsH5hb0a805G0h9Hr2zHKM/kzgX3n18z5LMzItMP93S9l0RrWH+nbI6WEn5v1fPa7M9zfPeSsFXs/rA/MWYJ+5FjJUr6b6wbn3tPcmO0FcbiG/pjnxg9o5vDCjDxXp/TBi/Yi2xnO4dqW+g5aHCtZyi/lOu0O/lw0XEOnsIUOavuQc0SXBieHvNrn0+aY/7HneJSlZbCEpXxn/3OP04bqqHT4jtYMAQuDT30ovB7nMxyok9iez9IYC8uYCJfynf3MM2n29IfYzmD90I5vqWm/9Gx0geN1fT6x7t1+xu5kLO2ADM3z4odEJGLOipv6EFx64tairW/tRG99e4dleipu/74j5ih/I5le3+IdGv4MN9VvNRzQHvSL2aZ4zKa51dOEW84d1D8n8nf0l15+/uWXX3ymffrFk889/9zjzz3zzBNPPvXkS998+OEvN/ueRvO1dn2rXd5U4D16LvyqaWe84siJr7Y++Wrrp9Zu8AmPj1iPTcx4TxsTq95tE4Ei1PTyxpJzKiUxEnIWJsbYqNb3HKlJG19ObXWNU6eQ00eLNeYNCXzzPRucXGh/A0SsGpw82uayRj42lfwt7eKGCJrfELmxXeDJiXV2NTkktTnj+PZQk0tc+sSVtDMGj/XaanFqcOSQ5Es8cZ7crCOx2i18IMl5kNg61MmV2OwJNHPaVW8pJ1Vz+MyN7ol4c9Unbgy9xCUWPdoXzmIbXgAAQABJREFUMclT1wwmxf7G9LOOveSFzz0VO9JyjPLEXa+c+mglebSrFps6MbkXicEWZ7z6iSGXXCMsNec5H/BLUvvo1/NxtqXe9pFDv6fBwHne85Gr9qg+OHugq4zwub7EVK7MyU0MSY45sn+sPPtM36p9qk8Ve3g9zsfngOdkDyd1LZ6hcXSdU1+dmIzJcUqsh7G+p8ErS2dErrcma1PXGaoP1pg663u2uKrBeibWgfF86pqO5RLf69WLZd+sJy6+YmrcfNXglMptHE0uzwc/a8EotXf1wRlTWzvSFZd+nY1c/bmR11yupebAIEvYGXH4CH5pD0GLUR8ynPXEqc8i5kjdg/OeDyw5+6jfqfHE1dnI5fkkVls9r25+HNX1sFmnfQpOjNrakRanHuHqHpz3fOrZ0Cdjo77GmQ+xJucllj8PmaOm+kuxeq6j10k4qtQ+1QdvTF05EpO5Jbw4MM6b6zCvTi5sxH3Fzjw+0ovNmTmnLU/iL+p87KGmh+u1L7nsLbYX7+GMyY2uIibjvVjmscWgR+dDDnE91ScnDzYCVtwUKA+ZS15ttD8/lRuqU2Ol7VR3keeTc2Av7WGvb50Pv3LmnpCrknhy1c9YL1f5xBu3f9Z6PqeuSU655D5VZ++sqfH0ndGe5F6r58Nz3dmcN9dZbdeprnl81+vPETG4ifekclV/qWaErfH0z3M+9K5450lOYvpo5Nh+ip/R+3p9NJirea5X7srpecjtcyBx2pXrmE+dGLVcmRvF6n7D4Xy9Pa14eF2f+OqLQSPieja5mjfGbHlzgnpmFY/WN4afF/XPbq/Hm/5Ou55olz2aOfXAzxsc2DUmrzg0wm94gCVfY8atbZDdfOS8yIsFY7xqcmARcz4P8BF0xvB9LSKviMO31pz1vdyE8SOdLEgtmSRoh06ctrhal3nsHNgXQGvwEX1uHCD45qZAxEY5OZw762tMLJqLddq7mVPMOLXWg+GCmyfoN7Y2Phg1mPSNq+1VNXmkameoOWbMHLYCh3li5PARccaqP6P2j+LkNGNcH02Piss8Ney3ayRX59InZ4+qyfVEnDl8JDnnyFlucXIwo7NmvfnKA8a1g6HW/mLVIw7javHoXmwp38MfmzFrsBHXXn1yxHKP9MWKSQ5tc+iM6edemkfXc6GXeWqX/MxZk7NSjyQufePqCdzB9+LHasifdy/pk+vQzv7n5UwOZkKM5RrSnlEz7iLPx/7OoF9766fOnz/jzqmf2h5o4ojrxiZ2bC/BKXKPfOI9zuxprdq91V/qUXPUwC0HGr/ilvzMWdsodusgz4XkOrKOHP6p5+OeUydn5SMnZ64re4BJkWOkwS7lkkvbvdW3Pv2lmcBR45rdY9ctT+rEG694MWiuzOMjNYYvVj0B44G4sxrOOmOp5bIWjejn+S3NZE0PMxF2HuxtqucfOx9q6XlszuzhHo32xrWjezPBletMbjl7c8uFRuQwPkcPH82hk1P/2LqzHubsmT52FWuN9/ycSdyS7nE4E3Xk6/nUHmLQPT54khMfSSx5/BTzanPVN47OXHISr+vImayrWm7iSNbMkf2jtUR6eGJ17/bVfSs5ewg583lXeyQHOPJK5oypM5d7WfOJI6evFp857OQEe73Oxz45DzaS5+kM5hI/o+fHjPfsGqvruqjzyZlcY8a0cx5iPd+ZMufeEOOq6zA/4lzKU6OA43mJWEM/RB/bGcyhMw9GLrQ4MeLV4LHrutwL8lXO8/OTtTlPxrFznpGfM1qf68p19PLExGMv9ayz4p9yPvAicqvn6Pwolz3Qini1cWv0l86n1h7z5XQe/dSVI3PY5PN89NFKxoy79upTQ8yZUpPTx0bwOR+00uPMnBxZQz65nGFUZ94acdfjfOTuaefo5YiRP+V83AvwyMifs/OjvdXWyaHfOx/5kw87uTJHvK4jOXp1vXzG5Dc24jAP3vNFI+S80hdHDlsO7dTcaHB94LwJYS1Y8cbUvFdsHo3og+FCan36M2LG5BzEqXdf5CJOjLkzBidxxTp8bPKKvhg0Ap9Xxsiln3bN4afIl7ED2zfcD4Lh+ASGyMak0w74ZFpTcdaoKyd11ohBe4mvOWvUNa8PvzY6bWoR485iTJ/8iIe4OXDsrXhsLvNo/cSNOBp8N5szqqlB8BF76Isj17MTJwbNfsPlvtuHXNpyguuJeXPZD9s64/bLXNaazzprxamTAzt9MepRzv0Elxza1ldNXnFm/axNHPnqW1N1cla+5DDnflUe88R7dcSp9cztC7ZyGgNrLjlb+EAyp23dAbA5yWmOGuuIVTt9a9Q1p4/2Amt8VGe8YlmHe1b5kjNzyaWd+aU6c/S1pu4lcedCi6WXNdiKnPhpm08td41lXbXTzzpsclyuIbHmxKEVcWrjaM/DmBg1cWyuXl/yKdZVDUYe8WLMGe9psUvnI8b66htXk3dNGbMue5En3quptXLKk3ns5JDTuFj1q30+o7U4X5079yzXVnH68iefubp/vXhi7JczJG/mM64tF9q5ssY8eDHqHod4dOKMW5P6GNbaYzg4E2uP3Bs5zIlP330gtlSbNfL0+IklJ3XGrDOGTunle7Fak/38eaLOWm1xxpNH+xiWvPukTW2P03zmrLUmc9W2HiyyVDsj5jkqT825DxnXVidHL2ZeDSbtrLGfebSXdfgVJ0dq6yqWOCLPMVzFTsXtAd7k0hYvTv78i665iq3xJU6wOYO1WVPz5tTWoDOWthhivb1MbNqVUx412B5n5p1fXNZgK5k3hhZjnTl/9sWQvx7nY7/UzkTM9Zk3pzaO7sVGebFo7cpRc8klFoxnnjFt5xeXnNhK5o2hxWQdcc7HvmL0yaeYJ1ZtfTSXHMapqZI51ycmc8ZO4QSbtdpo7R6GnPzkEWO11px8iSO3tJaKBY/IxXloEz/v+biG5MDWV8ONVH+Ozo+ZO7amUV3GtZNXG60NTts4+pQZrIMDSV/7GI97ODPMj9b2zkecGP2qycudWGxzaVOfOPyUzB1b06gu49jJmb5ziRdnHF1nqPVL+cRWnL0Sg604A/5Fn09yO1euNWdzHjWzIInXT15xE3iL11bbR53x5DIOJ/Mi5vXn6PxIzv6uj4xxtKItDs1/y9Vp92LwEPcSL5Z8xsSpe3liCjgla6oNhliuhxi+HJnr7Q9zIj2eGsfP88A/EN58X5IcisEczpoaw3cwbQZYqjOXdcbsgyZmPDm1Mw/etREHg6SNb23a9khsxnpzmocHW19Nn9xLcFXEou3BnbZaKw/12OkTQ4ylTlsMTyb7GQPnZQztr0VhI9b6gzNHD3vLY28w2D6J1b24NXKAEa+2ToyaOJI4bPNoRds8cWPa8tR67+CKQysVS1ze2kssmNqL8zFGXo6qnUUuarLWeNb1YvSwn5oYWH20PNj0QTKPL0bbfviIeG3y+XwkLkdiM07enPy9GmPUIok1p4ZPO3HU1V69PQaX9finng9YJPsmVy8u3tnUxLFPOR9wclOHVJ6cY0bsa2pOPzmSH7vm6l6al0ttnBmSE98cWnzqtMHr5/kQlyfjYrOOmHHt1GARYnKqiWN7PslDTh8bXPrYI78XN1Z1zkLOvP1ytjwf861kV2Ot2pw+2n5Zjy13Yq1H5zngy5Nxa8lro6ttzLh4/eR0NmvEVk1erDn5epr1yqm2LrXrNCYXcWzPh7x7iL3EKQc4eZZs9yOxyYHtnPY1b61x+iDmK6c4tdj0k5N6/oxUeaxLbZ0xZ0htH//cpZ8Y69Gu25g45/GcyZ9yPvYDj8iHLac2GiEud+K1s07+zMFhHBvJvLaY1K7PGLXuszFnk5e4duasMyeO+WvMOnuIrdraWu+eOD95ORMrX8a0U2Nnr2ont3VyO0uNV07xaO1RrRjXlzj32VjOZp2zoBHi1ulTP6odxalV4IRDyd41nhjsxGaOOFI1seSsdp03OcD2+Jyh5jJuTj646NWLV0z2dV65xaIR4vV87NGrtUYtVh+d/Y2Lk9O42jxaO3PGetqYeDRC3Es/dZ1FHuP6qeUzBh+iryaW+0Bc3oz3YsmRdZXTWjC1BmzG087+xq3P5wK43n8jxWaPjBlXm0NXu8asQecsict1J951JZY8kn3nyNnzESM/OG25iYkzP/JHNeJrfhTPnrkn1Hs+YuRA52sTWIVc4qptnbjMw6Gfs4glby9xatcrVi1n+vJYqzaORmqvObqP2zPjcmXOGDjtmq9xX4+Jm8s9of6izsce6FPPh/6K9fg1XjGJxUaM6RPL/UnOnm2dWkxy9DjFq8Fge+Ej+rk3nk/2sC812J6P9ebxEbVxY/jZCxwxdMaNtfAubwyNLPn2T35tarVTY+vbg+elfbARMWpj+uDB4nvJgdZ2ve63WLSCDR4xP3uzry1GHOcjj3UZA2dfNJK+tRlLe66YnwfWoq0zf6BtdBDsOD1cjTlMLiox2lXTzpg3LYzBpY3GF4utT4wr/fzNCnL4WSPWeGK0K4ff6VFr5RVvPZqcceuIVww+Ipe2cWt6Gqw47fTh5IlgrTZY7cQvxckh4H1ypU1OTuyejPLyOIv8PQ5jcqmNq5NzxCeGmrQrR/V7c+YcPa7KgZ+4tMWmznz2WuLJGnC1LvmX8vKgxW3NAyVOjD5a2wJ9tfHUmUtbTC9GrhfPtffyPU5wiLXokSSneLGZG9lga531x7ScaGQ0pzgx4vEzZ9x5TuGDo0rllCfj1GQcv5d3pswZOzYnnCnijcHDf7jRld/ZwNY6YueRnLdXl71rr8wlT8Z7nEuxrB3Z1I9mMa4GW3msRx8Tav0DFLZiHM1FPyRt/JwD/7wCHyL/7O0fs1/tlbnkyfie6TQra0d2j0msM6rBmtO2frRm8+JPPR/6IMmbc8zZw3mMpe7Nm5wjbO014sl4cp3XTp60l3icUV3r8JXRms2jwR87H/FyJ69ziEE7Uy+XeW10cuIrvZ6Zsy5x9hd3tTp50q58mXPN6sxRh684u35Pg6/nI6c9rDOuj64YYuJ6ucxXG1+RQ7+nE4ON2BN9rSJ/cstpH3xx2BmvueTJGnAjAcf5WAvOWnr596mMYyN1ljm6fxzl7WUeXcUZajz9xCxx2idrT7HlT+5enThytVfmkifjPU5j4K73+eRc9E3/lDl7M8rj7MmTNri6Z8ROEXnUo5rM116Zw0bEoE8R8WIrpzwZB7tUl/laR85ZxaGRykkMrOeAj1hv3B7GnRnsiJN4L0cNkpzJN2f3j+L2kb2VuZwt43t036ozUlvXTWXlzLqaA2++lyOm5NqtMaeucTlHcetGelTfw4vt5Yi5FteRM2Vt4jK+xCtnYqi9XufjXM5K35xhtLaMUyMP8evx30h6KPbSd17jrsV4ndV41ltrTg0mbc4hfey8xIvJmw/UInKAwdbPmxrYxsWklldtTt964/TiY7bwnbdiEpu2nNRhI3Ikn7GRtk6dOGIKcWXJ9szE4jPPSeKT5BQwT2jEYdDUe9FUPrR561poksRok9AGj62v7Q+UNxN6+cxlHbXmnKd+obl90drUcKUPL765Zu64s4d15P2ulayFA3HOzOXeEUfAW4NvnXbmiCFi0HIa15efeBVzYtXG88ypHeWJI9Rx6Ys314ubQ4tHaztLr5acM4oX535lXLvHSf+sEUtcO9dGHMmcvhp8r+aUPJham72w9cEi+K5BXw0XkpxZP4pbgxaP1pYXHzGOTS7Ph9n0s87e1mYOHrldG75Y85kjpohLTvmI2Vu8Ouu0rQOTfLXGdVqX+d6c4iqncfvZP+Pm0Oa1XZ++2j5oz4Nc+mLshdbOXPbMtYmFFztzxJTMEcPnQujDhY9mVnjEJKc4sfiIXNrEqYPLnFgw2uaIjTiNW5d7SUyBM/mIW1v7GQdDLjnTr3Xgrc2cMbR7l1jt3EtiinX42Iic2PTSv+jzgV9ubCTXNkf2mJrLWnLMh4ibvcM1UINYK7bGwcgpZlRHnvrkHPH14sR65yO25og7kzOCyedS5ezN2EqmmVODk8u4vfC1nS0xNVfnxM+YNnXa6JQRpzXWWYPvfhEzn3tjbeaxR3Fz4tGIs9pP355g4PTnxhnMk0P00dqZSwx2b85RXdb2OOWTU55aZxyd0uMkJl9isamv+wXWvQGTtfatcfwUapCcz9qaMw7e3j7n7Y3OOuPWZg4e+9a1kUPIm9NHI8kpz5yZH7OX2F7dsRl7NdnHvHPmLPbNWcQbs3/lxO/lTuW8qJ8f5uitjdnsAQYZrd24s6P5u6LPX7Uc2c89sBZfXGriYidAPFCbnKaWOO0z4oSjlzuV0zWLV9sXX8lcjYPprQ2ePJ9eHZhcg33gNC4PGgGT/cRZm7ipIB6oY6YqldP8iNM4OPtbk7qXs7bOaVxOz0c+87WOfOawlYwTwzemn3tJDJGDXrmGrDWO9pzlT05x1uIj9pi9+VFsxrDBnodTbvjktL98mSOmiCOPyFXj5zmfmWk/i37lxDcGBjvXTQwhjtQ1ZC05z0WdddSLR2vXdYNT5BRDvFdHvnLiK9q5NnnAaMtjnbr279XIYY3+iBNczVnDnOxhCjkk1zBH5vmx4UtO+cx5LqmtASMerU0ewUdqHC4xvbx4tHbOaA2atYFBxGqP1l17i0cjuZdyE682PKzFuDPie5FHxOqTtzZzxsWpvdGgNv78xL7/TQ7z8GDrp20PYvCIqXFy8phLP+sadOKixjqwiD4aIW4OXePE3Mtm7uqxEfcLWx5tzxzO5CCfdfhDAXgeSbx2DgaXT1TzxKrd84m5KDeG2OgSi05bHnTepKhxaozJAR7x5gUaTHKJzVrzmcta4vpo1ocmjpgzTkxObTVxL2Jy9Ow8m6zBTsHniQQXNepmTr2IZY28GQOriBcHn09+MNapezm5qpbbePV7nGCNYzuXMTnQzmoOvHb9Yct9AldFXuJp48NJzLiaXE/Mo+1rTDycOaNzm1dbh0aSD986dT0f4taCT5HbmL66csplnDq5zRHTvsjzgVdxPn37GVebrzrztVYs8Xo+YsWg5VKLwUfwEXWeD3HPE7uKnMb11ZXT3sapyzmqXfHWgWPOnC1teJfE+dT20VePODI/qiXeOx9jcsulrnF91249eOTYupNXW52ccLkW48TsY67i5DJujXE18ZGMMMbtra9OvoylTa17Bp4ce4YYF2+fOTs/mlObq761Gceml32sRYtT92LJSV4frVCPmNOegu0h+a0jZl3FW5c6OTKetaxRv4fPWNrMlPtDrnc+cNfnevKkDbb67o9xNHLR5zOzHj7Wnp4DKHPYxt1LYojx2Tv7CId7k3wgra17bFw269CIeXTWZs64Nc4ABpGz2j2fPuCtGXFSiyTOvhmDLzmpwUfEzd7e78XBWKe+mvOx1h5q4+4l/cxhK8bQCHXYveevuawhZryZk5jHSbvnWytOPRF1HjI/qs04FPhI1ur31llx1tfz8fkxkXcekkdbnZza5pLKGBoBi92b21zWyE2tknliiTEn9lRO8VlPrXsmDzrj1OEvSY8za7R5E0Qbvt4eZZ/k1VbLczU/P/aQSx9OYkrN17hYZyGfNcZ7eyxXavC5nurLnfGMOY/a/mLolbX2Fsf55M/M6HzkU8OjrZYTXzGnn1qcdeQqnpy4Xp5YiljXpG8P9annA3fORH2eFzl6IXLO3uG+1jmWOKnPObGtd132UMunJq6tTh7zaHthp1CHmK++OeP49sLuiVjXoW8PtXuJfwqndWjPxzpzcjIXMS77q3Mu69ByNnMSc8ZrvTi1s+ijjalznsxnTdr2dJbqg83ZzbvG5NKuGH17qN1LfDDG5UGbyzwx90xs4qwzp3YOZre3tvVoRVus8dHa5ReHdm61MTGjGnE1n7OYQ/vfSPL4zE4MwTeeNjniFSeW39hAEqOtJk+9Ndr4XvZcyolFI2KtRRNDsL3EEbfWHBoxrp6jew58sD4HKs48GpFX/Byd63u15g+0T66D4MAZPeGA93gy5pBwKMTkxBbDzQAEHzGHDV5frtQ1D5aYV/ppewMCXL0xYQ68Nrj8DZIefy9mT3TaYNM338LT7GjzHLx44og57Sm4jZNLwfeJlnFsePOJVfPWySkWnLlaA5YnJNreFYO/lKv4JU7nAIM4o9r4nO3P7SxqeXJ/rB/prLWnszkLtYnrcWUeO/cSfHJZn/2IZZ0Ydeawe3xgl3JyqZc43QMwiP3Uxufs9T2f3l7WdVbfuXoabHK6pop1jeazrmLxwYHhsqaZkyzlxKS292jO5KMu+5lLvmrLLzbre/PXen2wOSPxi+bM2eTnZ1whz0XMWcg5Bzai31uf9eKmgs5DciS2ciZf4rTBV0kO8/ZDK5kzNtKVM3myJnH2zHzaYN3nrBNDva/B5nucNWYdPNgpS7mKo6d9zfnc0E8+YtkPm/oqxHLd5LNOvLW9nBh15ezVVL7RfHCKzTnFy432fJyjp60zZx2+XKfkxKRmzuSofvaiLrHYrpOcQizXTTzrEjfKiVFXTnsnr7MYEyNHarDkxeirwZI75XzAVnEW9iE5zsuZ89Cj+sbQCPwIOM9gCsRD5np8uSeUyRkUByYciP3kz3WTFyeffcilELdWm7x4tNKb31xPy+Es1/N8nM1ezOPsxNyv3pzG5NBHw8H+KHLqV21/cbU3cWIVZ7zyEb+o88keOZez1PNhFnLUnSKJldNafM8gc86kXuqT/OKo83zsZS61/NmbPLW8SZJx7PSbOxT723upjpy4HqEzkgOb+2WdHPh13VkPR0qdq/pgrbdH1p9i9+quZk5qFDjdB2I5oz56SXIubCR7zJHjz3V7g8+5kl8usP7cZsz+xtTGXesSJzW9+eUa6VM5c52Vq3JU31riyClzgl1a90R0woO9gR7jBHve86HGHq5bTU85tdHHJPnA6qMROfWN0bcnOQ/56stf4z0uY2CPnU+Prxcbccpv/mrXXddXZ8BHcj/nSP+x8oFKzvPOSb29e7PYL3HYiHVpG1Obwzfm3qIR4j2bmHXovKGAbS5tavSx87KPvODEyp/4zBHHN1+55OzpVnZQp4+2BzacCNoLH04lMcT0085YrcPP50vWie1qnxzdZAkmVtuh9LMkY2n7BwqwxtFpywM2c+kbRxOXN33x5ryBAUbbWnTGtMWKy3itETOagTy5zKfPfsKPiEEj4tTE5KMOW8EmZi1x7IxljjyS3GLRSA8/Z+ZH8RnTtrd+anNL9eLB8oODts7c1erkSVs+Y2h6u7fmlzQ1iHs4e/vZ5TZ+6h7Iaf2oj7yJz5i2PPqpl3KJwwZ73vNJ/t76M5+2vY2hX+vnw8z1ueA6emsnx7qQWue65+zpj/bp1R+LWdvrdmxO8j43evW92CmcdV9GPOJ6nMaoFVd5Rmu3ttYRt+Y866bG1/IlzppjXvthV7noOeE/hbM3Z2+2OnvW2Yc6cZmvfPi5//gVn/nznI/c6FqXnLUfeGfHruIaxVifnLVf5cAXX+3EJibjIxs8vZeel9bW+Y2PNNyI6529/TrsLc78khbrzHITX5rPXI9bTjGVkxpzvXpjzoCftvljutdDnpwxeTJ/ynOo1uK7XnMXwXm9zidn1K7zG68610VuVCfOes9FbRwtFo0scb5a5+OMzOeco/MB05Pe2sUlf8a0R3tiXi2PM9Y68+LVzqY2nnrEKYb8a/l8nHOkR2sfrdu9PM+6s4Y5XonzyZ6132gvjFurr874aN/EohOvTV39+6K5rB3ZYtFIXVvmjz0v6xqSUx56pI2vWK82jrYmOUf5uobE9Wy5ezljvZnMqZOnZzs7+FNnlMfaWpf5+lrqXOq6huSUB2za1qKtV5tLfHKaRycm48fsEV+tqzPVPL4zjDgzD98pkjXga13mr/Z86s+dnHU+90BtPvHYiBi1sSl5jofky7LsmfFT7GOcI+5ci33EnsJ57HzkpA/i667+HD18rLmRn3Fs/dTYzIiIMZ9xbbQ4bW8cZJxcXuRGvvXk00582nCJU5O3h7qFdjdKiGUcPEI9Yg6NiK/+nN3vmdiezph1xnwO4fs8cqbEdm0LuslOULyLwc9Y+pab10fz5CQOT+axzTVzEn1x+IjY2dv/RgbxzIHnpoJ1aGNi/Y4Ocw0yYYgTA5c3PuTLmxU3bnFyirfembKGHGJfsXN0XpN7ZD2+deCMW4OPoL2okSdrwSHWgEH0Z29+tD45eaIlHxh84nIQ42Ld2uS0rc9Y9mjQiUtO68DYS4w5OYkTQ5KTGL6SdcT9AdK2Fi2WWvsTV+QWZy0+Ioc2Pv2sSy4wKclB3BrjxLIfvHUv6szUcp1yPrkvrWQnrgEtH7a9AGauzmQ+eYgpclInhpw22kssefD4KfhgxTmLOHPUyOm6jaF7khzks5f45CTvjMQRNP30tcUlp/VZh12xyUmNHOBybdQmpz4ajuQhpsgJHyI/tvNbL5acc2KTN6dtHE0OqTl814CNJHaOzI/G7YuffKDw5SQvVm5zaPJyiMNPqXXkEkt+idO1yelM6WPbx3nMo4lx1Z9xcqPzcS7qEHx5psD2ofYVwxoR8q4hsebQir3q/hi3PjnFymEO7SzY4uRCE+dSzCXWvHg0FxjEmtmbH60xv+SLgaeej72o96p7ST1C3rPMmexNDFtO57eupXZ7Yb215Ixhuz/YiH2xqUnOijWHdhZscK6tmVOOOJfiDHLim9eWEwyS8Tmyr8m8OfDyG3Ou3vmAcQa0WGNymEM7I7a4nNMZrMVHKnaOzo9i8HrzW6sWLxY/c9jEuHIvmzuJeGsIEkOMiZmj8+MIY7zWE7c/Of3Eu+fX63zs1dsTZ0Kfum55qEGY31p19gST68aWw7gYNCIGXGLJZQ9t4gh1SH1eGCdnDTGu3vnkmrRHnPKhPUuxLTSJObR9sfUBadeZ7E8eIa89BbYx68hZQ147a8AixqxFcxHXdn8y3tKTgEssweTUnsDtAQ7E/RlxgkmsayBGrT447RGnM6DBImJnb55ZHno4l73AUe9MchK3zpi15BQ54XOOxIPTx+5x1pmTkxr7ohH4sK3LOHnx2Ih57KyRh3jOKF4seWL4zk9MW5x9rZcTDRYRO3uHe0adfbJGLFpO7NoHP/Ni5NQHYy2xrGFOZlSsda3EiXGd8rouljr7ENMmLoaY+yPGXJ2JOrHY4PCd0zo4ufARbDHYivnkJJd46hAwxqdAPPQ4jdFD2xLnhBMR4zzEqOEixgxim3lm3cSc89j5WI+ucxFTnBGM+5NzYteZqJVTrGsgJ6d1+AiYPB9rzNt/ApcH1105E5YzGc+YtrnenM4kBt8Y+DojOddEjXP2zsd6cIjrhmMkOWPOkbZ7AoezyEl9tZOTmpwj67MHuFy7OevlcBZ5jINzDvdI33mSEzw4cva1jph2MyfxZgJYbwyAgZOPtELji2vmjl++rCOGbx98eNDm1HLqo+2FxjeWH69lDIyXMTjdj+QHh6DJZ841woGIlRPN/hDHFt/MA7GOPCJfxctBHFscNUORdAgoCQ/fumxijpLMY+trOyxY69DkM+cPLnHyiBxq68hh65OnHo2YkxMtVpwYNXXkMq+d/MQQNLWIHOD8uCxnkQMMMWuauesl1pyaeNbkflVMPR/4E4+PZC/yPOngqlhw5NDkWId+MyexRi1WXxy6l8seYLIu7cxl3HryCD6SGGxELOsg5uU+1hr8zDV3twa4Eq9vTJ01xJQ6p3gx5OXsnU/NgTnlfOxvP320nDWX/pItFzwKNrMp5ioPefv7XASDHKsBk1i5MyZ35uTNHFwIMzi3eTV5bC4wcNa9F0terorJ+ZyrwSepPkE5s454YjNX49ajFWzXScxcrTVH/Dznk3VpO4sxNGJfNTGxxBB8Luc2r64Y6urei/V87KeGI/uN4uAUObOOnLXGiYFFskbbnHlmzJw84uQHj4hdwpkD7/Mza7EV++DbS02s14+Y5yO/PNTmcwj/lTofZ2otp7nRrgWtOGuuTdscWGzPB13XAUZ+bESeGk8/Z+nt38w0P+Y8cqhrP33nxoefP8yiEdcBh5fnZS/XADZz2RcbESsu4zNijzFnHVrOqsUwAzn564zWuS60GDjMYyPOW+PpYyv0TU5z8tRe1GVMXNYRgxOBf+l8wMiRvMkHBiEmxvyUaA/un3Fx5OU3l7G0xVmLZh3U1Z8NseTEVYz95GvQHVYbjYB1DXke9pEjOe09EWw5sMVqg8s64taCzX7EnaPWUKf0cnKC0a646oN1jeaIMYPPIfNq8thcp55PzkMdYj95k5O8OLHuCz21sxYc0us1Z/Y5feup4eI5pG1/fESsvY1nrtaYQ4PPvHwVk762M+Ej9XxyT8xbg64/G/bOOmM5I1xLcfLwI86E7x7VWnDkjYsjjpibvT2OONcrdT72r/PgK+6Ta8mcewGWvPuMD851Y3NdxPkkZ6M881xzDvuDQfBdQ9XJmbmpcFvH2uS+yPOxn3uJjzhvtfXRYrWp4ULIcTk3saXzIQ8+++rLgY8kJvth516CrTX48IkFUznsa60+OO1RDm6fZ3CLx1aIGbc3OWN1DWDkBIM4S7X10WK1qbEfOS73FkzlrHOAT4z11CL4SGKq3ePs1VAHFsFGsn/yGjemzhpjqTMvhzH8fJ5knWsgr209WsmaGgeTMeupQczJQaza9q41YBE4mFG5Fs7aG87k0xfnTBnPnLXOWHP1eQlPcuJ7PnCQMy+nHPzZ3Fgzd1j3Rk29Nw2MoeX2JkfmEi8WTRxBpw0XebHk0rfWnuLENPjEZ1xcavsRQ/SxqUPE596Ry32agIHVT4y2PGCwEfuLmaMLjxYuQHapEfaUOBguBuzZNvEFSAxxbWp5UdavmlpjyWON+arJZ0w764yh8wKDZEybWbB7OmPVxq9XC01cqbErzv3NHLYCPsV6Y1lPjDwxRT+1uaw1T854xqxJfa355DrVrj2rX3mO5cGfgqm8+u6V2vhI08sXkYpJjorrzWgs65LTfMbSPpZP7MjO3vAhxE6Vi5ih9kpO51NXbM8fYWs8/ewJZ+5F4rJfrcmcHNT2ZMRZsYnLmSpu5OeMyTXCH4vDwWssGrkazlFNjaef66Bv7kXiyCm1xrh6lCc++hm3Vp29R3xiezprkkts5o2dR/c4l+rP0y+5ax0+AiZxU/AaH+AenU/tlX6dcWkMsWqwyWVt5o2dR8OJwHO1csoMFVP9pd69dS/h4c7zyV7JtYRb4icnp3qEP5Yf1WU8ZyZeOauftT18zSfGXufhtGaJN3Nwv9bPp86Y81d7af1gz7OXclfOylF969SZr1xi0InLeNYkJuPg009cci3Zx2pGeeL5HFrqkTP2cKMeYnv5ylkx1ZcLTe2pf4YZ8WT/xGTcXuSRxM2Ra38ccRK/mvPp8fViTG5cnavJfejle7Gsz3xyJWbJzprkqjWn4mrdqf6oN/FX8nxqr2PrHs3tujOfXOaP6axJrqW6U3FyJD77mUeDQcinEK97Zj65Ki57iu/FyBnvcWRvcfKlzlkyvlSTuGuxa+/z9kx85XIuMAj5KqOaGk8/e8K3xG8/MPU8qt+bj/rsLR+6zpG5i7Kz9ynrrH1zxuSqOPzMYyNq7B6XeWtT1xz7Tcw4nNpo8ogYc8bRcoDTVnsDQR+dNnn7qCtGP7VYNBxy6mdeW4w6441iNwd7mhhweYlFg/MMwCBiZ2//mPl9dLbMZbzyZu6M7Uc/nUl0AhKTSrtCySEV47DqxFgzFW4fwMnBHxBTkoO4OG022JsTFSsvWAQfvH8IFd+LibeGvlx5oNgIcUQNf3KSc108GcExs5hm7taAbQ+x4HMtzq82bw84kJpPjhkxz0IcrPPgj8ReqcFa04sbk7Pnm3NG+Yxbg1ZOwYCVs9r6aHnldD/IIeZnb/8o3ry9qs69BVvzMGbMDj2sOGvEop076xLnnDUGp2ItfuLx7Z144oh11lRM5uWZK+dH8RUnNxoMlz8/xBB7Yid3cmZOTNVi0DkHviInPpjR2ZKX35/pjMljH3J1HRmTS47MYSNi5J6j86N97FExmZcn68VXHBhfa8BwXeT5wI/YX+060HV/p4L2UGdNHwxcWZ929kmbOsTa2Tv0e/isMU8sZ5Iztfw9nDm0nOKIafu6QAwxPnt737jafGpzanM9nxzxU85HnroOedHaYNwj6rIGH8l89Ud4cPbARvSvRs8M82P2rLbc4ke+cbX4nu5hMqaNvqjzyTnc/1wr+YzXGXwdkYe8kjza5JKjcpPPWNrJLQ4tX9oZy7g2unLjV0ke+yeu5s3JDZ92auKVz595Oc3LYY09zCdv1vIcOe/ruj2o9WyTk3z2S9t5wCiZJ5Zc5HpSeSpH1iSf8cRn3jg4bTRSccbQYjwfYohzkhcjj/kaN4/OPQaPyGleXx4xWetcie3VE4NHHFz68tccGOuwkcTgVw5iirXn0dRWTuvlRTtHzq5N3ucvMePJo62mJm3rrDWv5gzAIxWDL5canDY668nZj5wib9aNcsaznpizaItDJ684e47yxCtWnlFNxYPL5232JIck5xw5jFHjGWcem9rc3+SXF42QM29uSrQHMfjixKjJjeya00cjcNYeU2L7IG/VYmpcLnlzXdRk3NrKVf2Kq3l9dPbXdwZ9NJKzzJH50X7JJYc58WL0k9NcxsBVjvo8tA6stdiIc8zenktO9VJensTa036pK5d+ndu4OvmJ2QPbdSQm82IyT6yKNT0+sDVvvevD79nykXed2Iic2Fmrj1acv2rz6swTk9c57Jlxa8CnjY84dy9H3nhq4kj2TXvOzo85S8bThhuRY/b2j73e4rO22vKhR3/GpMbXYPH7znuLXGLNZE3miWeuZxujv6JtDk0MnddSDC7yFcN7v0pyVbvWUiMmOTNOvvrWmDOP9nmHjSQ28exp+tjGrMFHjM/eYZ0Yc6zDWPKTr741Z7QEZxKDQOLTzkVRSo7LuNheDDzChlqHTy0xxTw+tjlqzBlDU+93eDRzhxdLHT9UamszVrnx8+OsqEk+uVp415s5+H4QhHxykqOfHGhiicMnjoBVxJqjRqkxOdXgxKuNJQZbSRyxxPFktCc5sYkhnr41YIlzKdpw+kQXl7ri8bO3fvLL6bzws6/2sTc8zgiPYj59e6rBYKvBWoemt/mak4M4Uv0eZ8WBSZxrJIbImRji6bt257QWHILvXoIRl1ocWiGPUJ8cxOSxNzFnR8tNHJv/IPgzAVfmmzuJcRzyiDG1MfXS+YCxDzpt+JDsM0f2MXxw2ds11nqxyWc/sDmntfKaz73MXHJmn4wnBxhyXMmpndxiTzkfsEr21jYHP+JM5DNmDr30vCSPWO/c2Y+YcbC98zGfGqy82mgEHJJ45kyfvPXOU+syTs61WkveMyGW/HKLvZbzkQON5Jz5vJyzc16MM6MR9xetOKvzu27yxIzjW28Mjcihzpg2GrEmOZgvfXByOU/WuR5wxLnkkIcckvXJKR8xzwebNYpr5iQ9TmPqxGITZ6YeFzmEvL3x3V/Ph1oEvHxTYPsgjzF8a7KvtjlxrtW9g0dOMWpy8qSdnMTBw6fgG9O2Bkza+GDso7ZeXxwasQZ7xCcOjVROOdBcyNL51D7sZa6benmwEXtg51q05RR37HzkQSMjHnLOgs458Y1pOwd1aeMrYO1nvT4YYkpiszd5c9rWoOHjyp8HbfJw5b5rV045er3hUbIu16KNRsTZz7y51ObQaYshpq3OOellv8zTu8cJBrHGejjtTyxFLDHnMZ+5Wmd/ZkHwtfEv8nzsXeejD5JxZ87zcb/kEePMaC7izI0W08zJRiO11xydH623X3IaAym3sWOc5tX2lEdO42iwXPTIuZo7ST0fudSAtOEAn0JOEaevpn/mrHEuOLXFUmsNMf4bKY44NlpMMycbjVCjgEmxPtdjLLHYOVdyembyisVPHH7mkj9xxu0nD36tH8VyPdQj8mpnzwnQHpIv8cTl1BYrH5qzOHY+yUsNPErN4cNpb3DGxKrhyd5gkWPnQ70zVHsiiDx+9oMbsV47MT1OYqwrxRpiud7E0Ee+xBO3Rtu6xC2dTw9PLNdmDznR5z0f3jtwHfDDmT3kJibOPLm0mztJYsHkXACs0U4eYvpoJWsyTt59EKumpsdFnjh7JUZONRj3Eow4YonRRotr5iTOJYYgGOP41mEjYsH59w9r0OLFWUOu2tvQLq6fWHnsUfmNo8Wmxq41rC8xrEOeZk458+QQa9DaxjMGnloxcqOJIWKMgcdGsi5j1oCptnXWwsfFx3PxfECscQaxuW5wxN1LeYhjI+TllItc8vSeg3LCgSR+jgweAZ4qNqlvFieHGDQLAOvicnBr1Ob00dpuiBh98tqpjRuTyzdKifvCV3PGwciTMeOjHHnWmz2wEbQXPhzcTPHQ5UQjWafvk0EMOu3EYSM9DDH7yjmBywM415NPSGYzlxqMPhhq5ZdHv6WmnFo89ca25sQptzG1/dTW4mcMG8l14xMfcTMTP9zyoNN2LeoRTys7U0fMOmwkueucM6L/aB1ZON1LfHPonM84GCTryCHEuBA5zREjJ4828RTzanJijaGVum5yzk2dc4DHJoeY005u+8kzFZQH8T1O6pHenEuc1lg/kWx5jCWnsVFd1mOD54LD+VMzm/slroUOJPH2F5s5i5KTGBj3gDr7kevtJXH5q5YHTAo9kMTrZ7/EOYuc1k5E8eAaI3RwzsatRyO9ujlzdt1guXLvqm9t1fZRk3cWY2glexgTj879usjzqftiT2dkFuck5yzO6zmJq3zEFTlHGpw5a1LXdYMVn5qZ+O+//w1IDu3EOzO6cop3vWLQaXs+1oNHwJBDEm9/49ZPwO1DYrTl0AeKjXgW+M5rjHytMVc5xVVdOfBTxBOT07w5NH1f6fOhL6JmPiVnI+bsYtBL55Oc1lZOeN1vcthwGmvmwflkTkxy2qfyiIGvSuasF2MODee1nE9yajunfdE9oT9CXmzOZg6tgHu1z4f+iDOrXTeadbgWsEj6adc1mVPTz9c3e02E2wdwCnmkx2kcLbeaWBX3GS77iu/p0brhrXhiPU7iiHtpb2aRn7x82Jmzjrj8anPyJAf49NOm3r1InBhy13I+8Cj0QuRGO++UiAfXTcg1Zp0xtTxigmrX7xinNe5lzis/mOwhp2vBR5xLLac8yQE+/bSphzNn0bauchNPqXzk5CSnJC8xcs4rRu268Z1R235qsD6HwFRJHP0QOImbQyuu13nJjea0ntqcUy77yKmWW5w8zkFezNJeOpv7ZT28ySkXmnjmwCJ1jWCMWTcB24P98Mk5I35ym7va84EPgVPp7WGdD6w15LgQ5kwxTsz15lrE5pqIVU58+5lHL3GSR+TGhscZK2ddt9zW59zY4JHKI14N9tj5TERbLmznRCNwKfar85pXWwPeGmNgjKUm7tzYijE1ceoQ9yW5mU1f/gnceaic8CG1rrdeMWjnoBY7zydz2U+s5wNPFddBnLxXjzPrndc5rFfDS04+4ogc1qXOXI1nDtvvAME2xzrNNXPq7wzmyBPzAmcuv/jcOjSSueQgJ5Y4F2LMvZfHnJp9EpP18qA9U/PG4FDE47v31olRJ9bYGU3xqSI2G2qbSy5i5omLUY9iPCkRn5zypG/enBqM/PzFCzGmJo+trw2WGvPo9MWLs854T4tVy41vPbZxtBdxMIgxtE8MbPL6zdzhsBEwSNbpT4nOgzXJm7DkEoNmFn4AMp91Pdv6Xq7GxKprXv9YXhwabM6dOWzW4g+1+5IY15qx7N/LgwWD5PkZmzPHH7MP6Opn75rTV4+69fK9WPYf5e1xnjzYU86ndzb0yz04tT81Po+t6fGYU9d1HfOT8xjWHlW7P+hjYg/1CJ+cOaP4rNdWi1H39tLcSMOFUFuF3NLzoeLxnU1NrDdX5sGk1Fz1E5s2OH/GM96z5VT3MMSSc+l8jvHA1duHHifYlCXuHmfWVlsuNfkeR+ZHHMaXsGLQp+LOUwOnZ97bS3uqk7vavX2onOnLqU6+jGE7Y2J6tth8TaxzgUGI9yR7k69+r+Y8uKw/xp353Ds40k9c8qdd98Fc1vY4M9+rIb90Plkv9lrOxxnUyW8stesmhn2qwIss1WTv3Dvr5BCnnog7D718L0apcfSx/T+Wd43JaSx7aaMzjz8SOUd5ePL5MMLV+DFe8sgpc8qlnivPPh7LZ4VY9LH9P5ZnDfAgS+txLxOXtRNBeXDOEt65ci713YGbIZ/a3DFfXE9bq64Y19jL92LUG0cf23/z9sn+yUN8aZ/I1ed6csolf/WNV30qjjqxarmO+eJ62lp1xbjGUb7i8cWi3f8lHDn7JC55xJhfwi9hzCU3XCMRN8pn3PXW50nlqH5yVFusuubxySFL65gRZx97+ygqe56Ks7aHTz5wYNwrcvlcEVvj1KUcy/ew9jRnr5FvHF3XZa06sdpLOTHn1XAizHNM7K8Gn3tvfeYrhtz1OJ/sqa0ezZX5eh51XWLVcqZeyoEzj+5JnQFMD9vjIVbj1qrl00dr+1xGG0fjI4kzLxbNxfzeuMicPOoljHVgsBFjaC/j+s5kj+qDhxPJHDZiDNt+xtEKOcVa/JGdZ5oY4+rMyX9GAz5VelibwTHKmzPPgv2BVZPTRiPi0SyGmxFo82ht8y20i+UNEHDweGWOmFxqcdaJR2cu8WJ7mhiSOnm0ezrryOtjs+6M6RubwIGxhnhisDNH3r2W01jWEUM4U/YGbV5NfXI094Abv0qdxXxyGlPnvMZ6OmeRD5yzZ574aBZyI5FXTnFyV870xViDlo+cgs3zyVhyiFFfj/Opa6NXb07nqvM6W9Xg5FGDoR/rrX3lV4NdksppXWptedLP+TKP7Vlo5/mI7enrcT45iz1ZB5I510bs2Lxgc//lgzPPJ89JfjXYJRlxWo/Wlqf6xtXkEdbIJf7YeqlBXJu1xJITP2VpL+2deGz5sKlXEp+2+dTkTzkfeVg/4rqy75w5+0gtApYr91DfPLon4OQhr008xTkz1rMrH5gRp/Uj7qW4tc6JzvWPaqkT2zsfcjWvb+0SNxgFHJKc2Iic+nP07CN5echq5+xnq8aRypecdRaxo/UuxZ1ATvRFno+91fnzY281mN5+EUeYzbVOga2f8xqvutbJ2euXtc6dMbgQOaotpz3VPS5rrcFXkt+e6Fxv5UxfbHLLSY5Ln57itdEpYJPLnBzJSUw/57Wm6jqLnPSjvtcXDvtgK3KpicuHLZd5dY/LWmvwleSEA0Hneo9x1rXJKd9Eun2o3JnDpnZpTuq5wDnXMc4G7fI6J/1cg+s2Zy90SsbFqsElJ3Hx2smFTXxp3WByhuRJG5xyjDP5rEEv8ZFfmhPOXCtYxH2dvcNH8O4/vRXnyLw84uyFTsm4WDU5Lrmoqz6xlJxFHvLa1PdkKS9nrRvV0IPcUh0YccmbnM6aez7ihAN8YolVPuvd08ybo07heXHsvQO5qHEGZ5dHbQ/y9ianfaxOnmNaPnD158DezlK5jIszn5zOic49t9aa1BVLTk5yXNa7p5kHX+WU85GDWmdAL4mziJFjVOfc4ns6OeUD5/mYV484jYuz14hz6XzkgkM+NTE5iRlHf6+dT+6h+5B7x14pxsUZR2fOODGfA8ZSw4OoZ29/HvjU208u8WgvsGlzkyBnylpseanRbubONpZ562quF/fmiPVinFGfnmKJIVmDT5xYXZM4Mam12QPEvmgE7flMge2DeXPuoZjME9OvtviudqhushP0h5Jm2sLgclhyiP7szb51VYOpdd5woJ82OPtjU2Nv6/loKQ7JGrRijBps68mLqxixOYd15LDrBZ85NTFxxLiQ5CJmH9dpPT5iLXXEkod8jbEX9uVJjI1Qh4+2xpjcavMNOknyEHAG7OS0nrhCLH+IxNBDGyyczjbiNK+mTh5qEDnBIGhz+HVtxJIPP0W8Wl459e2T/anhMgYvdfiJJ46QI24vYgj4zNW8nBO4PTiT/eXMOcQSO8/50Mv+aDntkb2xnc35K05Mgx6IPQiKQaeAQeRkFsV+8shR5xWvzjVpy185rYEzc/Y0Ty77ug5wYu2FTpGbmBj4EDmx4XSNPU7XkL3F2wO/4uB2bdiKPfDlQackxtnNy2kcnXbldK7EwEXcXHISU8yr4ci8vtocvjF07jfcicNHiDkHNnUItjljxOUUi0bgMIfvHBVHzn7Yinh8ePwZN48GYw9t83IaR6ddOZ0rMXARN5ecxBTz+nBkXl9tDt8Y2rXIk7iMOQf5tMHoywtGWy0u+1GHn3hwiJyzNz8mV85BVg4w2YO4ImfFmKcuz9we5CunOWeqOvuSqzLCE8+cfeHL+IjPudDOkOs2LpdnYF/7wU/OP/OJJ47IiQ1nrSfWw8gJHnEe4tlDzgm0ffB80ODVpJ2bOsT+clYtzjnmqvnRmDPArdBXIW8f++dM4tD2F4+2Bk78xGCT5/kozhgaoY7z0YdDkRNf7rQzlvHaAxwXfOSwkVpvDJx7oJaj1oNVzKmJ93oQTww2fRTXLQYOZxKbfe3Rw5tLTnsllzhmSJu6ej7kidtPHjRivXqOznHnrvtaOZPHemNwWK+m3n5oRM7ZO5xXjPVi1K4N3/WZo3/tJUbta7A+msu+cGHLk5zMhIhPTdwabOqu5nyohTcFXvgQ98UZifXwzub8clDfyxmDTyy23MQS4xxgUhJDnDrFWXoYYnCOzse54YLTGeWyHo3kvDWGz8X5ONOpnK1ktyfY9rGH+yJfxWcNGPpTg2jDZU4eYxNwiyWXcWz7uzbx6sQTg0NxL3oYua/n+TgHvRDX4v4wK/0R53YPjOGzDsW8azKPhpe4/WqNWPv3zsec/HKcspdgal31mUFJTmc3hyZ2refjGuFzFnSKPv0SDyZnZHb3UFsfLIIPn73Mo12j/RKjnf3FtdJJ8OUgAKdS5zTuPGr7mK++nMTNobOvtWCzr/tHPvHgxFZO12ucWm00opYfrWT/nF0brM8haojDZw9i2OAyZ1wefCTnnSP7upqzFn7nVBNTnIWccTRX4sUZ97UDH7Ee34sYIhZdc9aRw9YHp41GxGSOj7tirdaCM29feYyDIca+P4/ThBwij+eBj117GLeOWmxxxuUxl3Frkgu8Ipf+UGfREBSJEd44Q7I5aAcnx6UvpoWmGHhEDm3j+ublG2nw1JJ3Fv5DrG+dmJaa/hCi39Niehxwm0fX+qwxV3H4ziVeDBohjiQu9zJzE3D7IB5XPFqRFx+bnLG0yaeIIYbNkxHJOH5y2Jd90M48tcapRTI/Rw5j4rNv1jhbL9/LZU94erNaZ85+ajjEoIkj2D0Rk/VpZ03G0wajj3Y24s6ijVaswcdGcs7MO+eMmh8zbzxjp3DWFzLrnTvnoYd57Jwp49jugXE1dYg+GrFP7Zs9ZuS+Vr9quTNuDO1s5O2njVaswU+7l5cHrdSaUzDWyFPPR+4eFznrscHgI2jXrZ2vG1knPuudp/atftZi96T2ApOx7GsO7QzYSNakPWcP8705xal7mMqr35sx5+tx0cd67OQgPjofsegq1CHZu/bwOTQjD2ewVh78Wp858clpPmdInmP5EWflw8++2UNbLrD2NWcMLZd4NEINOUQ8NnHPBx9JfmuM64vRr3niS2sCD0YefGz5ao68nM6bePIKcTD0R+ScvcNHOcX0OCvmkGF5bvnU1qaPjfx/6u5oS85jZ9Lzie//in3gfrv4iMFUftVNSprZxlpVAAKBADKzm9IW57ftcM4rx4m3sR64HEd+1sPfvU/97rneLKy+W606TX341dbg+cyO+uVqu6fez8YfX2ffydk8rrm1q/E/JP/CcfL2OufdNOnooSO3g3zrsD331sXuuTzbM6Rhxmfx4yssTX3Lx1mv3z76ad90bprbl24C7RgAAEAASURBVP7J2Zy2PdT4E6eXr5ctnyZ/cuJ2lr3vsOymSceM09cHK85OPRqv6mtOnD52qbbzy9dOzWphtL3P2XPDT87OpRmHNr5afnXh8TbevuL0aPLLgbmT8uxJs7oenNNv/9bC6dMIy+TxnVPvJ+HyVT3DL9ZDZ3/mtl78ZDTUN7enWl59a7Ctnz3l9fTZPzfCMxr5zth/5Mpnaq/s1+/dAxej2hqdfKZup82Xc97rq/u1l/fAl8fZeeGnjjq9mz85m9v7NvOmFbb9t/zUxOfrwXFfW6u+Fqc6E+uF5+mcnHPemetbLXruhqZc3R6n5lk/teVPs+n6Wff2T/yb3u60fcXOsTiNPJxXSzOMnbma/fHytHi13TPszE/+Eweez7bv1Dzrnw2Xr9XYsvP9k/fZHZrjTcLTDzM/v7a4XdT9rJQ7t5jmLQ/L6mfmbl81HDhfTdyfweaH1ZPPiv1FxPLVquNvL2zrN2x19ONVC2u+2Xyc7JbD4ziXWK0+MQ97VV7n8mZ0qp1xfWFnf9wbFv6LGfIL+JDcuLA9pIXU+GQ33hye7+Ngclw8vwj5MLm/jIDrx0lH7Suv11+ePOXpPGmZq77z6fFxmDjfXTzl8U9Oeu6vOgvP1PXJ8+J4O7c4q56d+md+curbn5GzXr72bt65o53qP/eQnx43/66/+mlpubtqp7Z8+27YrY7H48jfnR03jw8785OT7vk+evlTY/ON3+2IhyM//Xdm4pw+rd95n/hZO31l9sST8/D8DVPvrtuRnXn49v/O++g7vVnu/pyxOc6pIaf1u/nOWI3uws/f72ouf+PbLDO/qp3vIV/9jb/S23p9zD3nGaw87v4snxw78Or8iX+V67t5vfndCa7nXb61zunN9a5f7uLF3gOOy8PzMH5rG6s/edzvvk87ZssvXjMr7HYfW98+8dbF+X/jfZpB07zFbjW8sybn8da/q93m4vOrJa62dwF31+Xe5KazmB78erf+nRynnfzsf1cjXrbzy5/6Tzwua3b/XhtndfXw+MuBnV7P6c/f1e2L6330VXfX4vzWxXz17Mxf6M/vs37mmObnT85TfuK0TvzM8dbH8TMC311OjfIszpPp4ePF3/8Qur2n5tnn51fP1sX8jQNb/11+e5t/9qxesfrp8eBPOXx9Pbf3wflK86zXB+PD/uv3acbvmN2ePK0/fZ/tF5v1lMPX68ln7bOmHra74mw9bPONz1pa1TP+nP2q/qoJ488Z8K+8vievf8+Mq7a+WuYMZ17t7D/zOGtn/czjwvJ+z+yw9eIM/4zPPI24bPtg/O/W3vFPTVx+/3n8xIWvrz9zN/Re6Ov7xM58ucVn/cyXU+1336f+tdX3Postd+OvOGf9zFdLjLO+893+GXlyymGrV3x7H1xezzufzrnLrR+Wv73POQMf/pT/V++Trn+eP+0Qbq/1796H1tPet5l6dsZixdWyvPgT+PjqfcwL2xxfT/OzOJkcr9xHvVrYyTlzWrjrxbQ2X6yZdO0I01NenPF68t3F3oG3jl+d3eLFbjxYmhk+/0LffGt8Q/mrFDfhvD6D5H+Rj6AfUtxK+HmacVi4z2LFeDTjLRYHtjiM7ubx5NvvLz9gmxfX99SbHn5nxAtj2x+2u4kXL67HXdrZHe6c5cTL8ot/gj++aJTirRdvT1hG85W9vpePp76zNlZ/53cWXZi7edL8Cq++Gu1hxrmT862m+J2nGUf8I/x0ehcrhufbsT9s7JDv4w+gYgZfrFp5WnTD2GIbq7/z8bOdB9u73fqr4++77I44q2HObcftNQvPPttPH7a5OB33DuNX+3fep369tNafNbufZ9qe4rNP/ezHze/d0teHF05j+dWrqePI82vw3VOsNz7erffUjENj+XCY95Gn0+f2+xPnSfNWs7vdnnrf4enqNyO/9731amt22HPi56vjyNVXp/i2p97q+osZ7KZ506tvNXfvaun0+b/9Prvjng3+b7+PGU931t2o8bB8thpnrvZJ/PG1Oicu/yfvc+pvXsxuu6nltw8O4xcv3r1P/e0Rx/nOzxy+efziZxxnd6iewZb/qry+v8Kr7znr2p/LcjPy8VfzjJdfjdGQn3511GBPPk33XY8ZcLl++HKLq2cn/4X+/KYTcsZh+tVh5m69WrY6L+T1Dc/v+6TRJxznI/y0G64fP6I9wpheNfg7b/6TT8v7rC4cpr9ZdlK7YcuvzhY/4zir2V7lsOXHZd/B04iHe+a04PJ8Pfu+YbtTeaZX7YW+vs1drDic6d887PY+cWjSMPfMcfPLEYczmuXFT+eu7n32z6KbZty1OGnvLHXYdzjb87RneozmbUdzcflbv1o6ff4X3ud2tn2fpx2dZf13zmTe7d5u2JOm+62e3Xq/wj8bP77stPlXvduzO9w0wnDUT7/7i5/8d95H785pB+8Zbqe4Wfly1D+LH19faS5/Neu/9X6FV8/SpVf+3T839Cy//syuOPJX9ee32bu/+Mmf73PT1vtz0q93H64vblbexxuqV8ueNMPP2mo+9X6FV7fD6oXdZsZf03P+GRznpou/GmbB5HnvUA2+e51zceJvr7k0qzN6+eqZ99HHh+N/En9ww8zDOf+SQa5OJ1+Nxkf4S46nL5/laep98p0rrl6a+B+lT1u9gOVt/kn++KInj5+F7136/f0sfnzhlRfHXR+ehZ8zPgu3LwNvtRvWUpll9JfDcD6JP3CHOWtx1MR5hxP3lwYdSn91sf58eJ/9S4biduv/vyA0lqPvo/xXL8wc/HSq+YRn+Lz56s3Oyn1o2EnvJ/HHV5j9i+Nuf3E78bgf0CfGx+mTnRx4tWZkq2lueHMyGF55vwjv+u24/RvTDEu3nO/cZtmhnIX1cT/w/GJ2MEvP3gldms5ll7wPTjmtfGZ/tfwNi09v++hUy8qXK3YWnHxGM16cPUf1rFoWl175O83qGf5y4Xl7n5iZ4dntfWjnq9/ep7nZnitefGfHcT6z0jVj94yvtzrDyZuhriavJ4z+3s9y2iULi7PnCM/wVy+sz/bHzZyvOE59Ox+et/eJmYlj9uJq9jjfJ7xPve3kXncXu32U/7ov+2//7knHTvVmOPl9n8XrZfrz4e5ePW+X4jT7/2am+WFZe2arZ/ftf7F+fTP3Yz4t/tTcOfTi4NHJZ/D2ePc+ePl642dy9TBncsZqfbITc45qOPlm5Kuf+Af0aVs/z4Vjl/Ll0Ay3Ey7dcBhetbBMXxjtsIynVY/7hX0SP77KYXTyWTgLww3b+eHVm8N/hJ98P+uLV9PvPDfMzGp2MSufxuLOuHxz9vdHn9749lMLy+yw8+Jki+mnWc7iNz/vE0//n7yPOR8yn7Y7BZjjfsvrsWec8n/7fdI1a/2eMY797fn0PnbWQ7M8u73PE+YuVvOl8vN3LX0Wr9zu+k8OXnOdI2xND7ycdjz1Ypz8v/E+6fTZGR/pZw53xvKM11O982W7dzw4rfX7Fp/NP/hxTp77Daepp1pz7RP+1L8cmmFp3t5n+WlmYX22PzzDye/7+B2Pc/bHbf5q7t1Ur8bE8PZ4+vOtHrzinRFux1Ozmh3qK89gNPHchXzrr86fZ6iWNRO/fjtUyxZrbndo3+rZ9pgJ957y6j5htGjT4uNmefdbrK6G527U4fHUFlueOL93aUf17U/THcFhZlYP8/MXzy5p6ss740f4iZtpJ3n1zOxiWjsfns+aQWM17bTnrr6a9k+Hxm33nRG3HG/PrZbP1HBhdjIzD4vbnfk5297td47FNm6286Vhl+0zy4z8uZM87ez2PqsZxyy6NPL6q8Xbc1dfrv0/4L9wmnk/W8X64i7HLupq8W7Y7qR+avbfrm7/2yee/nrNgm097Dyfc+jLO2O96sXZ5ua5X7vjrN990omLrz/+8vTj1YdbDI/H6i/XC9cXjnP2y+s5NevPbpy4T78/8fvs/MU+Sp91++I94WbZT1/8bHNzYeX6xLx7l+f7ZHaqFy98dcuzvSdaZlbf/nJ2m7Hz48nTo2kHc+Hxw3Cb62c/ny03rNwe1ft9y2jk49Hd2vaHx8E7+zfHy3c+u8E/oE8dfnvx9fJ2ieu+41bX7y5h6Vfzc1weJyyLx1ZTPR+eFffZ/vBHs8wjYQo7fOC/wupPw8858tWE8Ql3KWtqDrx5sTyPk0aX6C8hwnHXx5N/hJ+z6cD10s7rq+eJH545j366W/egavWpLxaepVWPcy63ejnN8sw7FePDYXq6u50bzswup8nj3PJq9sqfM87em8b2b12cz84dw7a3HHfxxXC2HpbtvOqZ3uLtObmbn3s+9T1phmc7+9SsbsfibHcw81V5fYfd3sec7aG9mu2gP8WtlX93x7hmrQ/PmkHLHuE7b/vO/c/amdP+jmacbDXKzVRT31rY2m3/ra/GuePyimmfmu4uztbKb5p0qmfOtbuEL88M+tUz+c2/GD91bhwzdvbJoxO+pofG1sPU61HDpXPO2hyHP++S/vq4q1FP/2KRz7ZWfmqGZbtnPZk5r+xXzp+8Dz1+Z4TRXLx4zxCPLR5GF8c51G59uE+1cwZe/rzLna8vnjj/b72PvdNksPKd+Q4/eZuns2fyPjBzTl55tlrbY5+z/ur6ex/8SZP26f+t99n5p6aaM+2Oap0zOzknVn7eidzdy/ntidOM2447u56Mxulf1V/rp2Z6+pZfvDWcm3+nufwnzfB4rLlmh501vNVe/sa4YWun5k2rHu9VL87vvI85dlpvH7r5d3e5/OLVWo3d+yvN7aN/apfHY+mbHbYa4ezEaWwv7vaF4Rbj571H9e7qd/8Zac7u9iHzywy18EzOv9Cvcb34t3Oo8Wbwi4vzqwWvJ3PGV/b1nmZt/xmfmmnr2xiW/+p9/G9X/XlzVge+2J7/xONnNzwsM6d4MT1+zqqvqfNq8vXVnuacfeV6zxo8nzn7xjvnk/TxpU+eh+W/ep/zzyI65vPh4vX4uzcsv7vUl924eOpx/Rmsr1qGy7/Qv+NPc+Kf53amauZtv1knVk5LXxrLP/Hq5uX355A+Dl75WdsZ+PlM7ZX97N1dbjxY/Xuuc0d755807Vv9jGG33nYwu9hZ+LDsK83qfWjtLFp8eln52rnn1qup10Pr5mnaAUffWZebpw8/fM/lfZYvxtOb371vMWzn1pftbPmNb/7WwlZz914c7+abuYYDK2dml8Px5e1gNozfvuUVx/HB09e/s6QZL9tcD43qYj6O+ObrSZPWyW+2ev3Z+uWftfLq2fkXpDTUb/7EXko/NdXPOz95mz9xcf7mNfytcAH2F6S+DhmWWbb4pnlicr6+rNwnTXWz1eDyeuOU48px+pcsexbD9cjPvvI+WX0ZDrzeU5Peqb/4GdNrTzPiMPXy4qc7wqfv3OGrJ18dvXZQo0HTD/mpp/+dX039+TTl7/rf1Wgv54apv6vh8O0W/9Zzw/RV814w/p9q3u7sn96ls/Dt+ieat3Ovpju4YWq/47vj7uOmd8NoV/uv3iftbOc/3SVu9ZuFx6HF4545/MnH/+rc9f6u7tO8c//lvZvxnT1v/TfMzK2d73Hmtx7Y+vN8ZsDjwrbvKY7rZzqNtT/VpHHbI82nP9dvfFrvvD1v/TeM1lnb3J75teUsLraLHB9enq0uzqvy63e1d+9z+7P5V4Xn7Da3vf6J5m3anv38s8AO/K0fhrN6e4/xcPScXi8cHy5Xz98w9Wr/1fuYwTvr777Pu/1pxnGW/J+YOX96l83Uu/N3LzPOunMsXqzXnW1/PfCz77v5atjhdzV3p3MuzTjOkv/KvtKkR5/eu744e17cvN9rGL38DVPX686Wu7Pwf9evhrOa9V2t3ensSbN65izyF3r//o7mjXPDdsKeFzf/b7/P3mXz5bvLd+Ldl8btfZzlpvmulmb1P7GnXvi7ue/m6Vv/p+9jzmq13+4Yp/xm+m41GM5qnno4etZXc77Fi9O5vffJu+VPvU/4ux1v+vi7P+zG/w6mvx2L5U+9X9Xri5O541vPDXt1vfr1wvinu1R/553x5Dxpvtvx1ChfvlmL3Xq+wvTT+y7/Ozx3bMb23DD1avX6PVnu013qfedvZwzLzHplr++du/hTbO/qxdnvaLzj3nZ/Tfiz72b131c7920ujG+KeP3ixd6nmMVf23zjOLT7S4TMuduTxfEJE5++mvOdtXJ/UWHnuOacfeV2Wo44veI+56wn7IP6yW9+2vYITyOj6fcBnnc3i9WzOc08q64/DF/95r/D+ezbQTehxfwBATuXpXUuq0+dT0ecr8/F5TM/9HhweT5s+9XgWwtbDfHixav7FLevv/TIZ7jFdDZ+qof36Qeo/0uVzWl/wJ84j1Oele/dNz+9bHcJK8+Wf/bve1Rj25NOebb4Lf8k/fi6cSs1J02/vLed7HJq1B9mp+Isfh+/tNW7g5uO/qe6u9ObZnrZbZ9X5ededHeOOM3i1RGfPt2w8yzhZhRvnUZ4duYv9PW9tWLWjn12xsl1N4vrz+85y91fmtnuXL46xdXzbOtpVDdDHnd55Wt091zVzUnPXnS2ttie/9w1TTvVQ9O+euPRLD5ta8WZ3vyeA5f/JH98yU++HM8ZzDl3jme2OC79sAxWf/xyd/ER/sU/+97V4mbp2Uv/1haL28dsvA/o0+AlePmMzhl/Fh++6NPI3/7coH36cwe5cbf3MZM3W0/eHNhy45cvR8zrW3/WyrP02vP8c13t7HPG297/1vuYuTua558V5cvbvN2r+bnTm29H9tX76MPnzd28OP45A54/+8LYWWtPevs+zlRf9e0rdqbq2db3fc7a8j4b33zh5jN7lu+M5T3t6px0ypmz0IHnb5j6WSvP7GnGbaewm61G9c3P97n9GaLHmczYXffu8O2zPL1PHnd3dNadsTz1nXfuWs3dNbt6uZ4wRlv+5O1YPR0zaNLBg5966nZSL8/srU6Hfpzi6rTC1vbuws9emtvzjmNOfX3Kd4be06cfdu6ahnPSLC8+jebiT5hZcdO6/Xzr5enuTmHuX708s7d6fWll9j+1X9XXd7U+9etdvph/db16nvTdXfU+dqSfhnh9uF3yO7M4i9/HjLC17YE/YeHuMc3vvo8+52qO+y/OyuP1ydTP876qr+/bufSvhp7VilfONt+4uruL316dO6O38WqGr9ZTXI8Z9axtz+JnHK9P+2WnJp3Tx9X3O+/j7OvTOs08eDl798a3vmZlZ83dVb+9z62PBn/qLl7/3k3cm2b4aXTyff5PvI/d7GIH+fqzVs5+53305FezWN5ee5fFah/hY1zttO37J5p08n06c3qZn6vi5d32dldxs1tuBv0X86e2/J23Uxp95PbTe+bwvJr+8vbNYGLc8qe42lq8zI7F9ix+0nnC9VT3PsX4+czuebXw4vM9cKvbMx6tcLaYOG/OYnvO+vtnxY1Xz/mJX//q1S9XxwmnH9Yng+f3o88/v6pleuXq9Na7tzBxGnqK4Th2gPPLDcMLz/RX6+Os1eyqj69WbOfytxb5d+zkyy2UVlj51or9EObV9cHy+j7CTzt7y+uLm5Xv5xP8+KLF41TvLxXC7UFrueL49Zb7ywi1fFa9Wj5NPH35LH9+aNDEWx170okbxoefHHPgfD1+QOh9QH/tXryGY55aOSwOzerF3UH1tfK4fDX6xfiwdMTVnDcu01OOy5+18j5bdx+wdLLllavTzDsjLB4L231x6MQrhufL7fMRfubuoJq4WqaXTr2sWh/Y9hbbHT9vBz4sbRaewVbTrMXi0uK3nx6sfHlwmlvbGC8fnuU7Y703q+599MRzNl4tH7bvEx9ezZ7hmV493gKeP7H60vnT91nNc5/dMV75+o/0EwvPqjHc5Yf1MUetno3Lb5rupXq2PcXV830YHV4N3z746+PoC9drj/MtaC5XbLdyRp8PP+fRzC8Pt7tc7eWIaZazsHIcvrqYX6yYHjyfuZdX9tLZ3RYX0+KbmeXrzWCv7DX/xDa3x9n/pAlfjXOu/XjcvD83itXrL/4v36cZbGfvDvYMs8/2/Bvvc56xOebuLPG79/Hn2Pbv2Wjkcfa84mrq/+R9/AztvGJ3ufNudxk3c4b8TXN1Pht+9Nw0V0sf78w75937rJa5tPjVdJe4+uXr9dHh41TT2xnbkcHjn7urxS2+3WU1vWbi5m9GFw8Hf3W2Znf1aqsF5+ntHGfMx+uzvM0/Sp/19bhh9inOqpn9CQymT52PV03vk2Z8O9eT6VHzPmbFMWd7q8ddXlxGF2/xYprbj+t+1fL4dOTL8bO+OvH6LG9zOumKccOe7rIai3/TpBcvDt47TRw9+UxPPovHzPnu++i185Mmnjnlu4d63g5xN8YJ14tjX3uEM320+OpqxaupFrac4p1Bi9cXr95se8SLi/OZPbb/Vfl5H867eNqnwezHw+OHlffZ+u6Bv5wP+l/8YpxivcVp2tescKavnlO/HHb2punfGU4t3HzGm5V3v+mYDc/3Ofs+oL/Opj8ew3fexZcH3xlh+pcbtrne8N09/Cs99Xb3Hwrp5DdOLzPbHcVh1frc7uL2PvXZgQ+jGZat5p4RnsetV1wvLX5r7ZlemPpH+BnjbW1jvDwubPOwLP3dPewrPfX/xffZMxZ78z0jHDffPcjPO/8ofdbwzveBx2OLbVydfjijKefP96nnSa+erdfr96faeQdhmT3oytX8LLZjtf0LguLdHTfe+fmAPjGcvPPBtgd2+nTCMrX6xM5Nyx2ow9enVZ6tN4fmi/GTUx6nOr2wYvfi3lYXVq+4PjrFTJ/80df8O7aDt88S68/65sVxzW/hzdXXm42nVx43zomrnz5uFl585tVu+Oro8Q/scvWwYg9bnC1nsVf15z/8bzXzcHHy4mrF7rScLSdsc3z+qbZ9cdlt5tbjnZowPBrwvH02Xn74Gv766mafvXIaeHIeb3estrleXL3w8mryjXFh/OLiPI1i3HxWTfwJDHb2qedvNVo8/ub6bnvg88t5p7F8cd6sxYqdV31zM/WoyfXQkT/1Vd/aO73VxNNvfh5mtr6Tc+LbZ6f18Wk+4TTfacXJaLyyn/cuN+vk1pepb/47mi+V17e+01eFiV8dr287wHDz2e0ewvHEebaaq1NdH6/nHS8Ozfz+S8PTfvU8zaiW0Sxe7sZq+Z1Vzs7d4etp3nw8u9DSC5dvv77F8GFx3mmqnX033Dya9Zy8s0YXnofVK956cXbWys95cvzVFOOsXvy15ZrDx9NLSy9czuPROH08vbh64eVq+sPOGO/su/GWm7Yec6ovtnG1NbUwWnTU5HHC8MrFOHqqseVs/+Jx9dLSD5fzeP9Uc3XStte7WC2fnTvSWG3x8vHCtl6e0VVz1lsNdmreeuIy/Hc+7rmLfng5DXF+529+9lVjt9rqqJ/zFqeVh8P05bPVlufxxHm2mjed72ou79RU+8q3k167PO158t5p0/hK0/zlnbo4+eUtXpxV11++sTyPJ86zetg5L/ymiaeXPk8vD/uOj7+a5QxeTusWL395uOr5UxPm37vkdPKwvPwT/PhaPVger7o4HD9s42oMXr69W1/cjLPvhtPcml2+o2mH/NO8rf0TzXTs9r/+Pu7T2b9zbj17j3tmGnjVGGx78eMsXu4ecba+GF49mVrx9pRn+PsfLOPB9euVfzZ/fMHlPB4tuHz7cJcjVtMXrrfaLY6jxocxWD5b7RfyE6Mfjl+8uNrqiHk9ZpdnT5on7994n9U01343/9rw1x3D4rJTJ1x959n/7JNvj76bNn6eJh6/nOJwNXHz6s9gr+xnDserXqxXPY9z8zA8feHFWd5fwMBPnnx9vSc/bDnF2e4h7yy4G+vh47PFivVV3xr+zbvDW+1vWOTfte3Z+FxQzUGaAzvjzeMsTy0df9EQVpzh6jtzf2mw9XeYv7jAbwa+meXqPE65eL24erY5jcXF7k8frz8eUyt/F/cDW/9qi+vNyrN0ztrixdlyiulXo1F8mpp96eQZTK7nq3x5xZ37Nidscbp8NfuIyzvjTbM+PD6Mndjmxfs+9ajnmX3kOOUbq+8d2p0GXbme1VrNjeOs9vYUZydfzr9Yv+rQ5ONm73asvpob66XDw/Ns+/B2bvH+fG+fePlhp+ZZL99ZYr35s0dNr3q9734uT63d7UlTj72atT//i8ddW/2nOL5zFJ9621ednbzF3cdi4lsNtrOK9y71r3/aIQ4tHvakSSuefYrXVmvx+PqL/8n7PM2A75x2gBdncv6F/vy+4WHs6ezVt7f46S5x89lNkxYfbzX3TtVgN73lFK/pCyv+X3uf8w7sy59n2XzjU+efvA/dm+be38lb/lmTn37P6X3yWXqZ/JW9vneWmF/exqfeyZfz9d5iWD677feq/PzWE1K871M/LT5e9k77pvm/8D7O4FzOsPu+Tvfr9/ZVOflyXrc58urdb3eRmf/Kfv2mxauu5sbx2Oqe/XGesH375T3xd47Z/O62WuI8Dp2dc8bnbvVn8dhNpxotfvnbX/zd96HxTrN9emvnrMeOxWurszGO3fIMj4effusbL2/x4uzc9eSoh/8b7/M5dL723oLN+c7vD5ndOWw1i3/3fdLL6OQzu6nzJ+/F/vU77pPOr8z7zzsOnbScq1q497FPeKaHf6Hf+36nRcG55PmdtfFyivcc8bKbXjid5cHU3YE87wxPurjqaa5O+HnX9WR6XtnPHW89NKs5Q33OwNPa2mIbn1pqq3/u+B1dOnsOmje91Vzeeabdd3nmnV4/r746u+PugfvkV7P4T97nSRu+e8L4ZmZx1s691BfH37Ov3m2ufj6NYucuf9Kr9s5WM97OX81qJzeMbW3j6jT5W49a/jR6N86Nr7/7YXrDxHmxv3yID3+K1debFSamuZgajG+W3cL2s3hx95EX+78E2Z4z/qD/tZf+MDxxPgvHWx/ONobl9Z71dDI4/0LffGt8Q/lb6ewpN1DsHw646sTCfarhVb/FuFvHy6fRzD5ZfuvbjxMm9hcbeuD5PvrX12P35ePA5Pn49W2NRvVwZynvB7H/f4KEZerVMprh+LQ/CT9wMb99YfTV83Tsh6M3jjifndwX+hO/8ePA629u5975sA/4LzPrVotEU0zzdo448HOuPwRWJ+0+afae+WxnvpCXLs1zh6eecHchzmfO3axMbv/dwY7Nv9U/BUZD72rHgafhvnGqw4oZbrzOTUN9c5x3e9o/Tkb/3fvEMSef0dl4NfE/yR9fch5u/urRjIvP6yt3H+I9d7GfJz1+bmjlM7PhYTRxwm6a9sePt3Zqxr9heuxy3uWeNa5cH818Rmfjr37H4tIpZjfMOdT47bFjteKv5sfp3LT4D+jT6OTF8XeXNNaq0Txr8XaGeH2c2116n+pZ2vX1yeSv7Occ2vC8/dO04/KeYhpbh9FU49XL7Sh+9z7uIC4t/p3m777PTdPsneN8YVsXn+8Dp7/9acD5MIb7b73P7mJe3ns0d3Ox9ynP6GxcrY+dl0Nn+/d9VqeY0bTfauKs3/nhyxfv+8Di6t149916nKz+8DT3n2Mf6d/s1n9i9rEjfedPtJ7N47y7yydN+GrSOTWXG5+1S3bW91z2pR1/6+VZGuF92Opuj5iPv/H2hze799kdcPhb/4nZJ53Mzt4jfiZ/ZT93U6dTXXxqwmmU23/jc0ea4ebB8tn2FLcv7bNenjWTpjjP6OD8jmaz3dlq0s6ne86F4ek975J2/Ez+yn7VDqMjdqbNcexQ7g7F5x3Un1VfTVg+q2ZHMW1188uz1RQvh465527hy6fZ3O09OfEy/evDly9+9z5x+qTDVpOGmnOkWZzhb1zfeYd6T03zl7+c9OvNi5e78z8on0ZTjVenkxe/++dufWk2Fz+/e36kf5na+orLF6eZyV/Za84Nw6WNn3fHaXqfrW/PxnGatfeqDx7fO+xei4tX55yTLs2Nd186+eXUt9ir+vo+NW9zl1+Mc9M061bbXrG7L9ebX8PxPubjbL7xrQ5z7vhfvU89+HY758DbMcP/J+9z03ypP3/vXhvrSDP8VouzeLG7t8vW42dx+nMA/+RsLubr37g8c3/VzvcJy+Cv7FedU3PPHZ9+Gsys2++hme6hHrE3Xy2a6+2gz47yuM5klycO3fh+L8Li9++RmX1ohqk1cz+4Yfgnt1xPHHP15tXpfECfGM5ZL8/07nlXA746r85Xrzc7deJUcxY9adN8wpxPPW/fxd7GDfkTe+qzeJonx4FcBi4e/KkXjp+vJ1vshfz8pd+6Gfntrb9Pf1Bkq10eF5bPYOWd5ezFWxyWF9P5gD51/IUHTfdUXV8+3BluHNj6NOqBlRfDymn2w2rHcDPF+XozNR6WP2eFZatNJ/zkL4/+YtsLh+GvZjPWOq9fXPytF9ON567SFMdZo7N94nhm4oXZ+aa5PDpfvQ+9tLe/PIPRCzt7wrLFi7fnk/Dja88VtH3l+uB2eKeJc/aml8GL/+v3aZZ9mscWs8/uEu/kdOZ/69x0/lRTv93L18pvP5dxnOupFx7XnfjZ1VuNLR+Gv3uK7SrXs96c1aaJp0YnL8ZZf2rGXaMX5ty/q2lHe9A8Z+3cM/7OnvTtaa7e1YTZpRo+neXYVY0WTrmYZtwbP64db5zq7KaplleHydP97s+6XZx/96f75M2pvmctXjs1y82Lt73lzqEvDP+cWY2dOvB899G/pOazuCffPHeC8927jL+25/hTze1Lm+bOEZ+19tnzOt9tzzTg8dw3XG+5OYvpVdeXZ3G2B54/NeMuf/v2TuL8yfvQq5+FpZ3dNO1YXf/uoo9G+dr2wxdbTTEff3fdu6HF09S7fXGe8N/R7Ix0VrPYnbiH213q2Zm7J+0Te6dZD764fOfDm8/ihG9NzMcV48PymXNXP+d+En580clncTO6J/6q/qzL15+a7UIn3sb2PO+SxvLtFLZ7dqeZ+tZ21qmJr7f86X306pHXy2D5LC5+ObzYuXF2bnV206xGl2b5mvoNe9LEVd/8fB+1vB0Ws09+3+fkbO/OFaunc55pa/jv5uFs32rC2/FP30dfPj0z01zbufBzd/vQwjs1y3HOWj109OebtXbrO3dcjph23OXDmwHH+d2fdXuupnv+SvPs3b5qzoH3zjdrf5bt4+713jTdwa1GR38+PlNfrBpNvPXmbO/y4atTvc9/9T7nPZ37lp/v0y5h3zXnju+Mp+bJce7wrZkJy7N6GHyxauVquPypuTvE2T46ON6HxjtNtVPzvJPq5myP2CwcPvx8n2qZnmLYvqd6/eK4NM3IL4dWHscOsPVpyvHyYZna6XHD9y9EyndHvHyfrdH8gP+aUxyvWqZ/+8K6q9tfZuiLL/4If9EvZ3aIn23PC/mJ9d/X7XPj4V+9AdfiF+C7Xgd94oTfOPhbW8xKYfsJP3lb3xi3x9JTnJWf8fZ+J66/h/AXHx/hZxx26pdndIvNF+srv/FP/ORvjhsm/hH+4sw5e+XV+6HD+6X5IYlrbhRaD/S/4CdeuLv+i/wj+M5+5z6nxlf5015f9b2rr+bGt553+5/n/0or/Xd6t/nfwZ40n/DvaH6Xs2fe+Lv9X/HSfPr5q/fdGavt78939nun17ybfdVzq391rtucP8F2znfO/7szVv/svZ17OdV/9322/5/G7uPcI9135/qnc5/67XOrP93lE07jn5zj1H63n3n/pjfv6X3CM7xX9t99v5tz3pUtnnD1NN/9+Yb3ztuLf8d9V/vdfvzb+5jzVS2N0766s/hmb+8Nw326469mpfnUu7PfxU97vev5qraaTzvifPUG+2fwzn26myd8e81e7IxXZ+PlPeE435mD++T/DY1Tm2b7d7+3nyGcejcuZ/rz/5atZnGzb7a17Vnuchb/N+Onuzln/M4uq1n8T97nvL/f2eM8Q/ne9TutrW3PTfO/xPYun+Y83XH8PYf+1XzqfYenmd20b9iL/b3v7d/47K7mz9aNT97/Sv50lhv+T97nvz6vfc+fD/jOd45q3mrr/2Vs9ndn3Pav9wmn+27OV700/tSfszcv3j93b7uc/DjftVP/u33xmvO7Pw+3/Wm1y5PtGU/OTfOfnOvUfzd752y8Gtsvzp92q92w+rb/FuvrfRger1buE1cd9uTjpnGrV/MXEGd95+qPD1/s7C3P4MX6thaeqYn3Z8XPb33F2Wos/qr+rJfT4mE7U9+X3gJfEi8EveciDrP12sP79AeL2h6WTr5PB9q/RPhI//pDyR9OuPmMV99ZxdlTTS/N5cN4Onra01m2L56e06vxtJbnvuJktM3aHtiL+fMunvITrz87NcNu2r2Pu6wHJx++P5A0P+BfePrCxdsL03/uWB8zv3x5u8/qbFyPvPhmq6lu5lmD4+VPbHu2tvHZX27PfHec1/Ok+UH5hbN3XI3myVttta96V0+/XnN23zA8eHy2Z4LdvF4+jvjUgK8ObH11uz3tTmNnFLun7V+O35/tx9WrZnb57oevvnPjwouznV+uXw3/nFE9g7+yn3rletXyyxfzJ6+cxo2Dr5bPnGHvDEYv3hN/uSdna2lkcXZW2M4pz+Jtv3xrxWs7P1x/sf7lwKpnt/xVeb/j9qbhfM61M5dLe70dtmc14zoX/TB94nagoSbffrX6WPWnf/7g6Dt9dRguH57Z25xzH5xT55Z/Co5mOd76cHPevU89mR1f2d+/l1d801wNu6SET0NNbs/1+mgut9ppq/lOZ/tOzfr+5J+RNOmV27v4thtOtdtdbl2cf7Jz9p6lHjuI87tjcZwnHpyv/4zDVrM8i5eZsT58dcrZ9oXV93/7fexkH/nt3HGYM/Lu4KyXv9PUj0fnNv/k1vPEq8Zo+jOVDo9XntHMf+d96PCfIh9f9MppFuOtx1nM3mcvLr9zwrJTh9ar+uu3/p2DQadczOPwixdnT5qv6uvbbv7c0Ld6YWde37v3qebNzdh97Jj24uWZeXirsbXtXW4a1exYzp761defmmfN/K80q7uPrzR3hnP/yfuYs7ulTXN9OJ4473zFa7hmLG9rJ54GLH++z+oVu7P6brb86mnC8puL86eZ1T7siaeep/nufeyzevrsmBZecYaj78ZVe3X8/Malubyt3XAq1f6L96G5ezSzebDytfDzjrcujrdG8+zdOXr2LmicPHrV8XHyfl7/RPOmB2ueOcVZta/u0j6fDZevc8/vaO5OJJ3d78+NE9e8YpyvevXg18uqwcX8yVm8ONP7yl7fJy9O2Pkz5O5p0KSlr5wmTrX6z/fZuphPJ5OfXs3c6ssxc7GTIz89be/Ln7zyrHrx8sT9RcnuCN/eD8ovveVnvRyWd7642dbkeJ+ECwduP335xTY2R++3fAJ/attrEQfj08bDgeHk/QDycfWdvK3h8GmnkeGV97j9JcXytv5R+oW/efFqFm9Ok976eO3vL3LUnElvPPHJ+Sj9tZu7gsnp8er5jHZ1ZrdydbV8d4ZT3axq4ny8rYederD8aXr13Dj1nLywGzdeH3stzx5h2Wpu7dRd3qvzV30YTTlNenI8ePqZvNhMcT6j4X32nKvT21Vj9e17wvM7d/Fie6z2ybnxwm66qyN2BmejR2N3eNLUi0szjTUzw/TQlFdzfye/WmaO+BOcr+afGrSao6YFtjuo5cNPW72NT165+tbMWu14cj3uMvz8GVqN7d058LyY5vLEcdbsY1Y197dcvOrm3Hz1d++jP87aasHttLPV8MuLs+Xd6i/W65v23pVzx6CpHn/fR39ccf40e+T7pId/csvNVaO5PfbExdHDV9fHV2sHZynPaInjrK0WnOZ6Nfxy2vHYra6Wt2Ne//a4g53tTHj6lrMzipdbfJ4bf3n0qjkTLB6dfIbzyn5+P2k6uz46Pzvfa+LZab2a2eX0zYPJ1fXm7fjufepXL/6v3ueddrs6R7GzhG1c7bTqeOtvvBPbmVszM2w1zcKVn/yzXr4c9e69fzf2P8bCaRb7/SnO2uW/ep/0zX7ycTJncTdhe5f6cfHWV1ujuZify8WKl7uaOxdPncZq4q8eXj6uN8B1/9XVirNmqePTtkd+7ayXN/dmuNVWT4+6HXDwacazh/j0uDxtef47d2kH87Z/Z8KfNOng5b3Paq9m8XmXW6epX21nhGW44k/w+MLFodd77O/4f/U+546b22V3PPc8jvPLnwe4q4lP27ngT++jXt/vvI++9ed5qrXjzZbrHHbMqzsHTlqrGU+Nx6m2WuHZ9uBs79ZfHa/vnbt48dnzxMVzLjpPe6rnae6u4TT5sJup57N0Tq3PwscXTjnO/833sVf+PIdaez7Z2bNctXrF+bXlw5847ivejWMGHR6uJ53VwsvjFOM8vc/5sxU/y/s5vM1eTE99ixenf7NqzI505OqrGYZXrLbxqV1tbetwmjv75Knh6s3bQ08c/OXhwnD65477Vivf96FZvRh/Z+99x8n44rg4YvV8mH8GLv4B/9WnH7+8jz2Kq22/HIaTz9TpqKvJ1enoi1ctO/0L/XXH7Su2O27ejOLb3PN9zI2f3s1W81a/Yk9iV/IB6j0PCI/uAo7Wz3R5HThzCJp5n+rbs7Ef2Dz87MOBm4kv5/HW32rtHK7Gf0B/YTRumPnV/I9BGvxynuK4t/uO716bgVd8s+WbtZienaXO4zx5utXtFuaXIRxn6+LqzEx8eD5+HzVejd87edJLJ54/xOq96YXf7KZrt9u506j+zlYTF0a7fhj/ThMfZ3Vue55z9fFm5k/TG771xc+eJ716nt7nnR79m2594bdz1/eV7mriwupnsNOr89VPs2NevLzbXHPSEm+PGee56d809Tzp1fP0PvXSpPPkd89zn3rO+k1ndzw11LYPxm9t4+qnnfrVl3c7984Rnz3lX73P7rI6dto67Hc0t19823PPeNb1rb/tSqPaueP24i0m3tkw596+5S2ux37lYn455563Wfj56v5ZtDuohf2uZr272+re9jnr9Wc0nnYMz+KdO34WfnxtbfFiM84d3mmau1p0Tk1c+ruLHn71NlansbX0+6jhLucWL09vPPvq2dqtDrv9DNFK4zw3fRz5erP3fNXlf6JZf7vqNb9ZxbQ/wl9+NuD41dfsuljxauK801CzTxr66OUZHg8/vfpNK8x91HfjnHp4uy9O2J9qrm4aq19M247y9Wmchn/iT5onr/y2z+redtDD33RX+9RTO9/nNuvU3pmn7tbM0J/2O9PLxxXbq3wN/qT9xO/cWfXl3HSqw/17X57ddtDD4978zq9uVvhX73PTX2y1n/a0k7ny09Plq28s377bzK3vfuHx3bEar55f2x3EZw9cn5yH3/xqVXem4t95H7PWp8Fu97+zb3W9PD6uWWdd7iz44bBiesVZtT99H72r/yn64yuc2ZuH3/zuSAP21fs86Z070j355jzVT52TX7696s2Bn5zdYfl6vnqfr/TOnc37k7us97ajHXYW7PQ0zvtYXTW78jhPdTz+5NvlrJfTjLN3U00fvbCsntv70MqfPfUxs9LQo9YOWRy8PB5tedwTU9Mvj5uV+8jzWbh7sMvixeE01+PTOPvCly9f/jkbJ62da5YZN7+c6plZ3U1Wzs547128HBr1h+PI879lK/hbjR/kfpjYLhm2iz3NOPFyfevPmH4484O9O1X3ab9q8vo29n+hEU5DffNbHS+/9e1TO7mL6/WwL7Vf99SP41xxaalt/2Ib17O5njy94uUUMxx1Xj0P49U231hP/rYfjM6Zw/OrK85ndn9lr2+cxcTVelN/YISv1m2P1XtXX5749M37rtWbOeM7rXe1l8qv9xi2+vpx1c2+nRt3e8Wrjcfj3PJqvY/+OBufNXV7lmc7Q8xvHcZ/Nn/jKz4zmwavnofxW3uK42b0X9nP7yetE99cnM9u2jgvxs/dy6udb0Cr+lkLy259r8pP/Z0rPr2e7/h6M2ek9UJ//X5Xi3mrw/LMrHJ1Nf7ENxfns9V7IX/X1VN94+WLb3r63r3d9u1uxfXtn6dmPXk78nhnDs+/qz3V9ZyeLlzOn/jmYl5PHsarbb7x1sV7z2H4+af30cvHzdLS/wl880sPX9tq3mSWa+7ytg6Hnf6sy3n8W67G4+RhvNrmG2+9+HybMPz8n77Pd/ual+1MO92wF/t73/qXDTs9DlzOn/jmYl5PHsarnTlcT949bE1dLZ/WV4aDr/9d3+4o5usT8++0brVbH+z0+uFy/sQ3F/N68jfsq3o97LzH8v3nhvvGX7+zaeKfuvUt/8zV+K0vFr72VW1/j+Nmztj/Nt2zVnunVz1bHfnTub/Su9Vv2Ofgjy+7u19z1devzsbL2fjkbC7m6xPzqyU+a5tvTC/vTM64Wuqw/E1Hb7XsnSbui/nrN22+qpjfjrT2Z8rc5Yi3f2P105+czcV8vWJ+9WC82uYb08s703lvJ/+mSUdvPdmT5qv6/F1/v+N75/bgt7s5yzV3OeLtF/M469/V8JYj5nHyiz3tuBw9efz82snf2sbLE/PLe4qXW/w775Pm9j/NOHl6+Hd972rbL+a3bzH3vfXiOJl32Hz7X6z7ub/iqfO01p+1zYv3n5H1qfd7ouYMWxfnM5z6+2SLldMW55me8o3lN+xWi+d3XE/eZ3u2Xg8OPG54xqst/139Xa37OXXp56v5/UknC9PnfeKG5fXLP6C/sOLTTv72mXP2fJnX+Kem91wkvduy5tz4WxO70Hymz2XufPGL+fP/k1P68quzGvXqh+cXL95+NX1P9e6hf4HNb395Pf7ldmsf8F+z4+CadeY424cDy/shLWbbu1hxGtk594W+cJrm8X74l1sMX83l7MwzLu+ezKwvrE96T2fBp/dB/Yt7atKyZ/PO/4sPOucZzvnqzdNTHE5frk7j9PEY3bOnuj7cOJ0hr5bf+R/pXzU83GpssVt8zqovbDVvc8NuO9aXmbVeT9j+nzji1OdnpTirtvPLmVnlN546TXPW24mmWTi0aeGpr9erJ19fn3i4H+Ffttgt1ltD9Wx30cNXL3Yu/etxTqy8u8pu/eHusjgzK5/xxed9nHnzspum3ezxYv7UvM2lF7c6Df6cH6+a+qlZfXXK42bwV/b6DstwivF4mHOZvR7nxOD5W3/47S5PbrwsPGu3PuX57Nz36Uy0X10/Nd7p3fTDzvlhzXUPN00ce9tz94+TnZwX+vrGx3Eus3k7Lt/MnbH9O+d8n2r1h5sBo6u2dfPjnrH+8N1Dnk/z6Z+R9Z+adqmWVc8WX/1qy9lYbXth+RNXC6dznkvN+9STxV+9zTf+JF/44fV7A/PD6KrFZfHsGIa7M5dTXZ73PrTPPvz1zWHxM3OLV1+epyFWg+85qp13fPLNtPP67X3a8exPn9GS5+PvPcH4ajs3PJ3zXM6783FgONsPw7Hj6ZvLqmV6immq6VfL46vp6YzMWXHCxfwNo5XferEz3vo/yR9f+uwIL//O++DUZ5c9lx1O/d0JZ/th+vCfvPn5evTTzGf6b3GYPj9DYdntfcLpnntWy8x3TzvfrMX0rF6YvDjTW3zuUK15zqD3aZdzPk195dnZ/0Jf3zSevP58unYU15fpv8Vh8eM4W1j2J+9j1u4CS9Os7vL85+7WxfntL8/CsvTWzrnVnMvs9dv7NOfk4938zkp799zdnubS1FuPmPYP6K/38XMJ35l6V6d4d9mZ4eX/5H3Mb7afoeLsNveG7U6vzr//HCznFsPWu8NmZmrFu0c5i+Mcyz9j2vr0eB/8fIbf3K2du6nVg+t98rDtw83Xbxd5PoObkcZN83YG87bnU/THF83SjeX5etXy553g8HYrZ9sXZi+6YeJ8Fsfs7YfFOXdRy2erCcu3Y7U/+W87Zny0f9r5PvC8+WdMw/40FtdTTVw94zeGrZZ6NR93ic9vXzE8b4cTK4c9ccz7oP7C1beennujWW+m7mddrxnr1fiXwksjHlM3M1y9Gk383/KEfqtpyA566pRbPLq6hWF4fLhfUD1hWX9Z4BfiE/j4wsnvp4c5/+KhnrRZ8a1fvRrO8qrTMTMMX8xvL/5i8TIY7Rf681xn3hnjulP98YrhfDirr/7tqbbcs7b15RVnpyaO+uptza5pnHFYhi/Or145w+UXf9px7yLd3aP+tJi5MLk6r15+49iPjyc+51fLaN701PXyn40fX+fZ8dVX0x7r463mjb+aWzcjf/7cbs+5o/lP79OMapndzP3OXb06f76PefD8YhsvBw9mBzmvf73aefbweGw1t9+5452xXvxymquHl+8+/cUsjp5zR7rq9dfTxzv/2+/TDjvPDh/wL29VvrY9zrX1W6xnz7S96vUuTstufLie5Z/1rdHi/0+/z3nf9ng6x/JPzp6TDo9b/u78q6EHf2vpyPmwNThfrTijWXzWt1Z9zc/92RPnd39/mrP73DSfdtm+3W81T87qnz1+j8OfZlZbja/0cfn61+B8teJsd/iq/up4ff/O++gzs9zPt5nrq9tLj7waUys/6+XtmKf9EX7amQfCaN701JYvzp89Ydn24ey8E9MD/xT5oQOjKcfh3+nX426WL67eJ41TZ+durHe9eti5Z7n/HWJGPD1f/Y7f9Oqlxa/m2VMtM7MYRz+Pp+7nP5yd3HB8nNOfPfiL11PO4vRZDJ+Pq04zbE097OSU9z5/+u8wN73m2Y//gN7u+bRj+P6M4Jl7e59mVa/G8OXv/Lnz9qrx1eyUJpyH5VennG3/ySn/X/j9edox3J/xnQfPOc73qV6tz1fvg8t/tPylb6bak29ONXbywtXtjMs7g144f6vT3J9d/Lz600yz+O1x9pte2GrWvzusXtwzD8vS+K/e53PAjxnm2Nk+fNyN9fLVsvpPHuz/xPvYo13+9H32ndKh6RzuqFq29Rfy67f74Lfn3BGHZtzm9en+zh3wP0p/u/cwtnphewaatPh4+s472VoxPVphGa31r8q//z63He2Qt6P5/O6Gs+cWx19uOX7ez/e+03L0hmV06y3eOt142daXV5yZv31qL8brezExH6NYvnu9ul9nVIdtT2fPcPKw9PpnaPbdnicevDf/fz8Vf84sbWacNe9in2px3N3J37wYt77b3YRnZ9/5Ox7HzOLftpr/if1Of8tnDpWHfRZ+fK2mOK5/oXUJ1Xx6CFp6Noc1Qs/G6nl9t7raaiymJ6yd8XCqZ5tvfNbqv90T3fjVMzOL9S0vPLNX8cmrdqvHfbI03L9euR65+vo4u8fWwrOwrBwXBj/71E+Nk1+e3fq3V/xi//zWRyOPawfYcsNupmc1ivtUU68XdnKr7az+sPx/Pj69Q1zv8RF+mlzP+gg7Z2s7Fw83Hix/9t3qnw0fXzToP/Wrr3bcxb/Kdxadek5T273Fcf3+LXZqx9vdxP4H+85Qq+fEN6cJK8/KMzuIP8GPr62H6ecXE+czmt/Z8dXx+l7tkNsO4XTxTx+HnbXVFMf9zvuYG59u8dPvR7XMHP16eRx1eT7s7P9OHYfmd3Y06+ZPvXe5fuc7fb0ZfOM9q7h679MZbmZenq22s99qO0O/Xr6+jTfXr3dnFNtNrJ5fTTvCeHz5kz/15Hm76Q3L5Kd/VX/WT275nqvc+5z4cu0Rxpptvro8TjFbbbEenLwenLDlqcPN48OzzXsf/45J99RcXC+/ejC+WvZPcr35zC7i8s6wuFpef/EavbDtLc5u9a2JcU8N/SfvU/zjC58Px92d/4v38Ttpl50X9pTD+e0XO4+z5Pd9zvqpRSec6Smnq+/0cU5scxph4h/h45ufXHr1uUsY/11NPOdaTbUnzfNe8PizH85XT+O777N9xcweewbc09dzYptXpyfOZ/EYDh++8/G+ep945m+8s8JX+ytNvXbTaw6fbiY//av6vq5ndYq/2vGrutmr26zMucTyrVez24lXYzhPeTjO6oj1uePyp7Pd9nxyGujXAABAAElEQVSnTXM5NNSa966utrzipx2rZV/VX6zXtxn5zI5i+darbd+epxrDKf+qf+tiOqtP8/S4eu3NVz/jMDrF2S1/VX7222e5G5/3L6dz5tuLw6vls/MM5emxczf96qdXX/04i5u52qcOTrh4ffiT5s7e+Owpz+xRjA83o3xtcfcPk+PTtH/4zsQ7Pb3tr++776M/XfHpzTxxuV48Z+Dh659qNPMZXj4LX85T/ZN8fNHkt7x/2R/e/dE2c+fS2NpiaagVp1d+aprjvc6eerPwk6vnk/Dx1RnSX555OOlkPK78VX19fwe7cVZD/F0e/i++Q/xTS4OOZeRpw4oXV+t/WJ+2PPH6NDevX17sf8j6j15m4OT7qJ+4elp6l7t18fr6srDsrMlf1df3YuLOaX5YP1TyusLYct0PLJ8tX66G+0n88QXL99Fvl/ziP9r+wrZfLd8Z9heEDo458nQyPP6Fvr5hpz85cpry09M5cbl6nrmL9VvzMwTL0zkx+d7T9uvj8fMnVr7YV2f/6n3MyGennll8HHHez/H2hbPFYac/dzzrO08t3cV3TrH7xalv4/IsjNHY/mr6ePytwVYvjKb66U/NM4+/mqcePo8fL+zfep/zH/7NYWbnmfnrt+bPdb1q61cv3Nnz3jecBh/GTuxJE//0t357nFr17nnV32H/p97nPNe5kzPhdb9Pb67X+fSsxt6bmMe/+dVcvXfc5e0M8ZOmetpiXGdcb4c4+NX77M8jHl9t/+yH82bK87e5W///y/t0jjX3Fibe8+OfdxrH70q9eMV0irNy2PI+i5evr96nlvTYn2jah0b+nebJP/PV2fjU3D41+2+NxmJifXH05vdnPs7vvE9aGb1Xdv/ePZ74tx3vai9039zep/ZNM87iZthR/uS3l9Y5V+9XmuqnZv1pPr3POY/OzhWfXPj6s39r4tuO1c5ee1crrv5fvY+dnFHe7Mx89Rf687v7ffpnZKxTL2y1qsvFfNwnW139T9zwP9HUY5Y5+fPnKgy/eUxv+fYvvlycJ+zs27m3+ef7nJxTb/csXr6Yt+PNr+55ppP/lZ76qbm4GWF+V5rz1f2cmttTvGbeO+ymp4/f/n0feztLvNUr35r6Yjtj47hrq7v9yxG/04mjfmoubkaYc9YLL8YvZqdmeD2L6+P15k9s+3b2jRvW+7RvffbevtX7oPxynvLb/O1/4oSzkw/nzxlwXn13TXNxM8Ju50wLv5jR1B9OG4d/6t9eenT05m/9X72PPjo7S82+6281Grtj2KmJx9tRfvr0/IxVO/OT37w0zeVP3ubL2f7F48t52O3u23l5uGFwZ6nmjPkMZ70av7UzLj+xmy6tvHPoC+u/w/R/LaL2EX4affieBad+b0EzD8NTowUvZ/aU/7Zfsd9unobVOReOtvVp+yusfvbthWwtPFtN3LwLXs7Ww114cVbdDp/AjzycqZvL98OQnrqYZv24G+Oftd0tDY+MvxpmVSvO8NR4nHya+Yx/ZfdvHDNoYlc/MTVenadpF3h8sRruqbV5MZ7+fHeYz/hi3GK2fbd6PJrttu9T7eyhV83srzjVcetbPhxna7B64u25YcsPu1m9y5Pz9RSvLX9xMf7y6IV5Z7z6lrs64XhPHO/C6z/5q7Mxfj5cnxi3uloxPAw3PIMVd15/bpRnJ/+F/h0/efL8vnk52x3D9KjfMJx6v3ofXP6mR6ead+HDzh3DTr0b7+SkE5bRhC2+fbjq5/vA6X2K//g6dc4cN9x57aN26t409OcznHr/yfvYZXU2Ni9szXwYnp9BdT6eGJdmPmxx3PoynOI/fZ/VT4fBn97HmZZv9zC77o6wrZsTduu/9dDMe+eb5uptvTgz21nM4l+s1zcuTTssfvbhmGWOnD5N+eqsvrp+fd4+z3ZWGM3Tp+EO1Wjok5sHL7/1LE6bht786sEXSztzFrP4V/X1javfDovf+mhUa459tw+HX50n3nLS9BfVNJxJjn/6zrE73fpoOHs5HTXevchPXjlbvbAbNw5N9fztLtOguT1ws3HCM/ipefJe7Nf37hJyctWrfed94mX6eOdQ+y/eh2az2pWdZ6oWl507yvPnXeqh+TSLBn4+LDs1ab2qv37T0Xty1esSLze+fJWXG2d51dxlPdu/84v9zi3v1FNzbj48W83yd+9zzqt3z1J/tppP+7+YP7/p0Kyid/XgeHy4e6PFnz3lp2YY08fvjDBz4pezd5pxbnpw75L3/3K32qlJo1q2uTif2Zt/ob9qLlf95mmr6St/2lEPrntbXO9iN82w5TiT/upZnL3LfmbZyQ1fzfI4tMtZmN+Nf+N97HLOb55acfVssRfy6zcdqL7ysxf39Ntbz9bp0D01qy9/+6tler0PTrWbnp6Tt3mcLKx36d9hvvs+9jH73P9D6pczlWf4xadG2M362dn/dqAv7uqV+zm77VN98dtdxjk1z74bh2697ZCHxb+Zej6rZ/s/wR9Y7+LPgMVPDTXeHssLy2Dtm8Ff2c/3KbejGqwePzvOnb/x6/Hzpa6nWth+0rYbr2+9nlPjlsPy55407cSv/tnfjuq9T+fL9i7pvir3u9lZ27s98FMP51ueyLfIX5BWS3wuB0+qmh/i8PKtb/xR+oVbrl/NL8X2FcvXn/GplebJWay95ctbzHmq+3w2/cidfXvi9firbzd68bOde9a2/kk+vvQG15vZUZ7fHc9cD/7J3fp5rmprNOKJq9vzxMpxceLDi087a6dm/BOTm5H3y0mf7vpq9sOjcWpWv/XCn/rD3fmpSW81cBez45M3ozNneK/sf+992ut2dnuvx306S1xG83bPOPg44e4ctpyNl1u8/OK4Nx9X7YzleXqwmxadc6/NxTTpwM15yvVt/Yxp0qonW94t/yT9+Irbx89t8Nl/w3D8Gbw79JZ+9+EnVv/uTw//Vl++nfA3395wnJ0hVo/Tjsz+eKdGvLCtn/HeTbVT45bfeGFpsZ3zhOHsDrjnW4SfmD3W63fudz6uXn3y9dWe7kFf9T7tuDOrp5WdGrCtiz8bfvTsLrS3XqxP/ZxV/U/epz7/LkbTvKdZeLuTnny2vfFueTy14ky+Plx/cbZ5cZbf9+k+0umT4b3L1U6+efyn4A/Ns6f8nBX27n1onH3Nuf3+mLE+bnZqbF68PZt3d/uzcO6Utvst1nvGZ25+Xn/at/cxk0YetvPOutqTj59tvZy2Wj6Dx8+e8mrn+yy32My42TtN3Jv/6n3qOf9jy7nLu/nVdt/bnvTofJXfNM8ZN41ztnn5TM/tZ2jrxXuXW1ucHv7Jk+vB0xf+1fvQyGc3rbCMbjEMvvmJnX3l5tz89r/jxstWo/ycd2JfvY+z0KGfjvj0T5rdv9r2F2fN+OrPN3vEN3djGK+Wz+qvxuidfLyvfDpfccyIa44dzhq9fLY8cbg+2OZnHCeM7w32z3kat/f5oH7aai6md7Fi+PbZ4Ykbvvwz3xqtrzwN+5Q7Z3FGtzgezXK17YdVh2/PrU8P/e3FV/vd96H9pBnOcM2Cy/MZXjFscb/HePrxw2F8tew8X9htBswMPNrlariL4cNuHLvEyeLQlOfNzOvBpbs/V/h68xmuGfJqJybX913N5Rdndt34nI2z54u/c295WEbP3vTUbnW1c0Z45p8HxfXTbEc9J6aWz8wVy9Xh+TB6+f1Uz8LO3rAM/5X9zOPbN9//xUc/L+zUi7NYvLTh66tldqgm1rP1YhY3i6fnE/iTL2J/0rs9TzrhXUoXZ9mwPvKP8NNOja9ymvTo5PUuB662fuN4+9BbK+7T7nG29pF+5rAzp3nW8fLZrR5+O0t7LP/M69t6eRaGe/pPwuVLT6Wb5urghLHtD6OxfSdH7+nxVuPU3LzYLttD5x333G+1ihmtm49j/lf86qfGUw98ezZOh+05wsxQv+XVtu/k6M3famGZsz/lT5zV1Htyz/22Xsxo3XwcOxbjnHF5ps6/0Gd8ezbWf/Pxnnaqlt36tufFen3jwsqz5S+Gv1j8zXHCs619J/9sOvporo937inHo5WH8WpyHn72lKePx4dn5Zkdik/OYmp8tdPU1sc5Z8CeeOEn5wf0t72XG+fMt88eO9cdxVMvxjnj8syc4lvf9sfJYHrPvjgw3LDs1gOvB5+vdpra+jg7Uw+sPD4zq1x8cjePZ544f3LCTtNnvp6v8nSWQ2fx4tUrxtveeGvL0V/9XY/6zninuTPimWPGYsUnrl9N/y0/se2t9h0z35yv8jSXszPhcVavGO/GiZ8t59ZD88X++a3vJ/IzUrv5WKsZJ7thcDrlG9/yEzv51ddu9RMrz84dzxxn+/Wq5U/szOMwWjcfZ3fYnqda+E0rHXgc9oSpn30n/8zrW2xjmsu51U+sPNv/3fnE2X31vbp/3iXc3crj3fpPTI5P30706Kvzy1utU68cVy9Mrv8269yDFk/rqffpvrefRn53uXHMUVuvP5+piT/Bj69zRviJydXyGc08s1P51mnwT/zw1Shf/fKMznLxYOf8+mDFa+G39zk161mMHk9zc/H6ePYsVhPnsz3nyTn78T8bP77wT3/W5Xx8ZsaJrWZce24fDozGaoqXc2LV6v1feh/nvXn77jnOsy/HPfHVss03VsubUZ3ZSZ5f3i2OQ+O79XqY/W4+Ds1inI0XW3xjHL4aW2zj6vL14U87VcuWH1f+WTzyWy2eGdWzM3+hv+LLEce7aZz1zWnrVcv7b6XLKa5mjhpMP3z9ctzF8sP6/c1udf1x1OPSyPtsffknV//iMJ6mPH9qbv/Ge6btX83Fz9ic8Kw+ms7IfxLmCzfITlP+DGmd+G/l/b/u+bfsT/4Dv9kuIs/2Es768vD5aupp+GWA5Wk/+fPx0tZXTLP4tDTZ9sBvHhbfbFhaxT7lcc48nJ298TO4nKfF427e32wurjff3ltf3jmz3L3oXS297/wTH3727jlwdi/3Xl/15Yvzy9Nfz3LkvFo5u/VWg9uRp8Hj4i9ezRnEt/fBobGznPOsLccO7/zJl5895uw5YPXYp77yGy9sefp5fWnA8j7h7Nxz+XHUeRp8nKdY/2re3mfreujyOPbgq2fqTx5fXV5vMXz9xnjtL66+HJph33mfs19O05w87PRm8urOVO5DZ3M8tXxY+69W+FO+ehvXw/SuX+5tf723Hbc3npy+Hnn+aUa123udGmfe3FNz52395MlPzfp9tn+x/vmz7/M0c/GnuBkZ/Zuvbl868mrZiX/nXGa9FJ5nxLu9j/6dDbOTPXFOf9bLd9Z3zmHWqf2Um1lf9sSDv1iv+wk7P9Vpbk0fDK/z/c6/w9Axo3w1i2nmyzMcuX78fNjeN27e5yP8S/Pkl994dHZmOpnaza/Wi/2ej5PfXeiYYY94asXZ5vHcpVp+teXq7s8suDxPM784bt6O+Hn7mB9vbXvCly/feTd+vOXIw3xOrJzpPbXheNVXb/PlLqfezetxl2r51ZJvfTXgO/Omqc43Q298M/vfaOJPwo+vdzNpbV98+G1msovTh1Wnd2JqebXTn72b4+p/yu3P453+Vo+Dt7Obmak9+VOTht5bH2w5YfDViHOboXc9nv5TT76aetR4+DuPS29zcf7U2Nptf1g8n7B0Nhfn1+BhZuPQqLY89ZvHU1uNpxn0b17/6i2Ppj8f8rj87Vz+fNCPm8evVn5+wnH0lZuNHy/bvHhn68eRfzYevWaqlePrr1Z8m4GPu15f2Mabp3n+e5Gd8DZ3HzAelz/xcr3tUo6bx6+2OTxs+fFWc+vVNi++3R0OX19mtxN/l1e7zbhprc7Gzd6c5u++j5npbUwfvnmzNt++auVsc3jYTcObqy9n49vdqZ/np3XOhrfn1spphe8svLx+sT6c8mL5aqrl6ayH4+nF2foNMzOvnne/6ulk5dVY3DUasM31rT4s/jtt+8TTX6w/jMHOfDXU/sifA/5I5EfTqfVuSdz8eVnJbf2H/F9O7Ts83C51/7IHnhfTk68X3zhq3/Fx9tFPPX+xslr4fjCqqYdtz8nR25xMvn3h9IrXwv3inJxTo7444eaEbVyendiZ04krPjnVMvVX9vMbX53HqJ6Fr+kLw/E/ptw1/qkJX4+TP3/Wdxae3jOHn/7csT5Gw5wzj6em54adHDpxxSeHXvWvzn3W600vq3/NnLNe/vQ+tx1WU0z7KYfzJx++3p5+hvY8xdXpnHk6asXsxM6cDn5+ORvHPe//qzq9fP1renm18nfvU/0ru2nu/PPcJ5/+4ube3if+3g/9s393oLeYue/8k+bO179cO6nJl6O2futmnO+DT1N+evXVjCNX5/Wry/nFi7P/6n121mvSz+9zX5Xtaa/+BTwuvnr+vNOT80G5Go2K9fQ7empVy2i+sr9/P9XNUOf/rvAroi+0ONObXyt/9+dL3O2Nm9HZWa/Kz299P5FXtD07H/+sO0PdN86pX07jiQ/fXj2LFcc97ygcX/3p/eOu6ctn9WfwV/b6vmnfeLFxxfm4T3vFt0Pcm9HMn7E9VoOm2k0zTP2JD99+PdtfvHstX/xVHY9vTnf23Z91/Hy2e76Q17c9yoqzs/eFvr7xcbcmXs4Z2wc3Hyf8acc4W8MPX7vh/x95Z7QcR5Ijwf//53s4ehdd7YKQ1U1Kmhm7g1kXgEAggKxsUtqZ2732Ne5e1TDetKxtHu2/eT/so/Ed6P/MmDj+1bnk+i7e4fsu7FEDL6YHk09c2/D2NeZdzj8j77Q27fKJ4cyfH3Fm18hf/Y5yZvdGw15jvGaP+clXs7H86mznsqeeXrgnU+fEUYv+comp1Tas9S1WkxrxK3NG96JHXN86GN8B7hYjBtPsMT/5aja2X9/+8sTF8Ji7kM/vHzV3l0+Ppha5XDyfyd8w+rStDtafHzXBN1OjexF7rq2OjnznVd+ebZ7Y3Es96vZPT608ckxs0/QcF/P5ziduvZ75fvfcpfXvxu7JDupXq3PFPSM5sfvLBSfW5FvHt0/eyds/65uG2nC3PjG9mpx9/hk5teCCbQY+358z8NPUvuPYt3HsR7dz4ZY/NeBqrYmppVev3Mbs4b8cQqM1NdW4q1vb+qkxw/uRA65NbObwNoz9sVkD77t6kL7zcMB3erce9PjMhTcuHF9ae9Twkun1FwAxdX+ozdECx+zHT/xB+HjQP02sOnDUM0YTrrgz7GsOVr41teyZ+eSRY/PcF3rNePddupO9zbuPe7uLO8jp/VQD3eaNWxOfvhxiTd6WW9PDaWyOn3s3p67Zrwcnxuwx5930fcFpnzVwbL5Lc2rtm3lrauLB2anfYf8DhxrubO7MarYmPn05xJo8cz147dVcz0MPvd27OtW906SHOp/582MfnJMeNXlyzO0zp26Mdx74q/uxb2qS15xRTXrF4RJjrzTd8WJfT7VO/a27g/OqQ1zcPrxG3Rzv+6Lemjkes0f9Uw63Oo1bE1ePWr931sFfmVy8d85+4vQ39tzgnoMYa+1CLox+rHw1wazLaQ4m9+ThYNaJ3aX623x78Jo8a+L4Yo1bK06Mne6n3Iv5fNor0r3Amhvj/b0q1n7+3HUX684Rhz/3MqdHPjzM2slfrCdv5vaJ48XqrbMDn/78WYPf77E4vlqns8PBWje+Ks+n3PKJnfNkPiP3Bpm65L97P89Jz2ju6X56mad8w+3BszcczXPZ1zrY37of57EHM/1+FKdm7l7m1OwzxmvUTveDxvw7DHytM8T01DR3am6shhxz/eSpK9+6e9nXOlh/D9gjt5rUxNUwn33lztqpZ9ME816nJrXT/cDtuU4z4U2Dq7lTc2O9O5ITT3O2nrozyrfuzI2jtlz9xN/JT73i03cv98b3fpyLp9b78T7QxcyJnWWMdwaxZi81e8TgbD1gpx3poeYu9qtpDs95YMTm1KZZ01t3lvmsN28M3/zkPSdc9xZzZ3E4mPug6TsgxsyJnWmMn1qtEWPOvbK9B87pfqj1O+RMdzRHvztuOZgmVy/u+zCf9eaN4ZufvOeEO/fmXfsO7IdnjPc+iDE15Fzo1dO6OF7upnHqcW/nVQ/snfuZ89Bwl+oRd97k/I37cX7nErsz/u5+7O/90I+pYT6xeT7z2Sf+EB2P7q2+8/Cn+0GTnU92mtl55RDzmX8v8r0wp3zymrV66p6F2BqxBtb7AacHnA+mxqscbjnE9lpTmxwzL++qXE9wf7blWm+NWX1XcNTsTsWM1bPHvfXWyb0fesn9DsitJrG8j/DHPu5p3Zp61aDmDHnW643lu0974BRvjRgrR033uhjX0xp+/l6R19qcaw6HGFPzyn7zqehvyvxoR8+l9T+KSzDnt4fYXO+XnFybPHBfqhy8vPaK61uTb00/OeDdi7oXJndq+eVuHR2smDrFH6RPHtx+IXruWVPXfv3Gq6Y8/Ikrrt+4YnjPLzZz51cPbm2rgWH2E09s64On3dXRpa5m96bf3umpTZMjrmZ3pyavHtxdvuLpu7O5gzOdQa/YjKs7dWatZ5zc6rfPuPXG1N1TzdP9bFoTm9pqdnd65NWDT57c7tSejU9Pbe5gv+eGK9a4mDh+m/mKO+vo1FpvDMc9J97+xvAw98TzuxYTI5Y3cWvOtec0H5z76e/z2YvmyabuzOkrZqxXlxxz3yu7nl/hts+4/Y2t4094OfLw7on33YFr6GHyrux6OksP2nhy5/00L3eLp+6W0+ee1vVqkmPwrE3/IHzWidUU/6p3Fn3OeqXhnvDo53P383O3Y2c2RhsT6wzwP3U/8yzmzHM287CtJmfz9NydnXpNjWLuAbbVy73j0It1nw27WM9nZzaWIYau3wFq7t159mxePjU1jeWXY1x9+rDW1Nq83EfTzWP2luosMHmNixUnnrZx4fSMdz2zH66Ye5q3NjW3nH5/B08N+c4g787y9fLxYidf7im2d6t3J3j83sDbo7d35uL4WSPHetYLeT7b01jGxGYu75Vnh9+9n23G3Mdcv/V8BZv347tUX69mc2Lvk3pr5vipCaa1p3Hrr2aob8/m4dzdjxqnHaxP7ckn10491t/xaKCprjm9xp3TfYhfvTt18O0l32xyTjPk6TetYpxh/vlFnX7MM76rd3XtZ5qacr/jvYNqztjd0e/+xH/7fpjpjsTOn57anaHh/czz0Cem7tTacDG9PeSYmlf23nNqoQFWzRl3zqx95X7mhmipbawv1x3BqDPT31Vg0zYNOOCYM4k3THzympcz580c7rs2ez1792w8de23Tz955HKJ59nANDU2Dph1+d4PHnNO++27GM/5cO1TV6797/hyTprMZtbcz17qxng+fO/c7yP8UZ8a1DT6rIvp1SefnObl2fttj/CfttMPZA/RmdsOYOUby/VFmqPXuLm97GWML3+LyyGeM+2pN+58Yt8JdT5qUZs91qnRh5XfuL0X83pOvJrW1MFj4lf2+jk11aFT7U2FPn/YWne+OtWfvMmZXHM9/Y2rN2t3vI0L5j7GaJxsezedaW810SrnpF28/MZwth3shfs796NO/ZxvrofbuL2zdsd7h8vZ/Xmcc055ZzYu/4SX07j8xnC+ez/9zkzNzp5xuX0/xRvf9d/x6Gu9cTU3fMPsaa2xdfwJL+cUz967+0GjdXv1zpi5+OYn11xPT+NNQ+wVr/XG9HuuiVMD235vWKN3xp/QLV7OFjMXU99Y/FH8eHRnz2EN37q91Sx3xu2tFrjvZHKmxjv53Gtqeq6Ju5O7mHs++fptl7vaxhejD3OWsfij+PGovuewhm/d3mqWO+P2tla8MZxth/Zu8dzrK5pwt/up5tTrDq01LmeL3+W+4rXeuDNPeDmNy28M59X9bHU0ML83X9GE6/3Q798hqjn1mKXd1eToy21sffOveK03rtYJL6dx+Y3hbO/fXri+SzE8OPan7+ekd037+rNnbXyn9IrXeuNqnvBytpg+zPdgLP4ofjyqv92ffHXKP2lWu3durx5eY/u+46vTGK3tXODwsO54IdezOo2/yinf2Nm+V/Btz859VT9p+nvL2fXvaHbH9n4l7jkao7HtoDbc3k97jfHYtqcc6o3J7+xd7ite6407+3fwU2/134mr05je79wPGlh7f/d+ulfja9L+fMVrvXHVTng5jctvfOIU32I0MN/f1Ow7vpjPJ1x/fuD5u6CajZ+dX4+6V+M7pVe81htX84SXQ9z3dHqX9qDJezuZ/dSdLzZ7xdUyx08unNbbM/GZw+1dWwc31ouZ68Ex8+mv6rO+5fT4TloH0+DIE9v89n423tsY/9Wtv2E9HPrzBXQmP4Sb+bLVUgPvZ740cbwmRl4++JwBp73Ni7OzX65yiKc5Z/rJI3c/tN1t+vZZs9cauLX6xrPHH3D9rKutnzt6PuunfnfYeLM28znDur6ansMafvbLf4cDtzxzMbXuPPOn2Y/nc9rR88z+mav3b9zP3MXcnczxnsfa3dnf4aBZXnPimrxixHfvnh4+dxw0Xpka8362vm3PO4yadf2mO7GNq5Y1/Dy7+R2ns+SJzRx8apZrrTzifpfKsbecYqcYjXfu59Q/8e7nmfXlgvkRP/Gol0s8zz7zjeMcvfNOXDXlzT5z3yF5z2+/PL0c85N3r6/ez9xX/e4JR55eHt56a43livVMYPPsM6d/w6qrNlhjOfbP2szhu58ejv3q6fu+xTavRvnb7Nl7x7GGb7xplENd/uSSzx3n2We+aYg5x3c5cXM15YvPHFwtPRz77dPPs4ifPFrbTPmzNnN5+NaIX+04+dVq7LnBNt3TnGoYO7PvSV05eDXlW5s5uPvp73acc9XdPDp+tjo7OrP1ueN2lm1HNdxx6lifvjtsPc6ffRtXzB3oEZv9W23jgvmxZ+5kXt42r5hc/GZo9t3A2bjObh1ecWqa72bTkoO3Xm9c3ozvONQ8l/Edv9onHrgf+MTz7J0J5x37jmZ7nNFdvM9tR/lfuR/PRe+r2erDO5l7uUN3b8+msWH2ULOOn7rmcuy78+4I56RZjlrbDHhYvTtdledTDsimBU6vPDmnHa3T15h8mhpoG8+e096TV21r+u9oVI/YHYnR3TTBnQkPmzmY71IvRw9Hk0O+1cHfuZ/TvhuOJsY8640fxc+H9WLEp11be8W5q89579xPZ9u/zfCd6+FsvBOutp53VC1weue7m/nGobfmXifu1LQX/vxQEzPGT5ODx+YM8at6PfmfwBK3v/XWxMuzzizfpR5+ue3f4m1f9fXtg49tfVflqhlPr2Z14JjPePJbbw/4H7e/OcB/u9ilmeeBJz5zee5IXk3/JQS+5gy8H3rVgXsX2wNPk3/y8Ki5Y/vEWgfD1JuxOXW++PL01ue5wDW5zncm9WLVoMe8fHrUI54mVw65d1Vs9pE7s7WJuZMc63px/YaD9V2q2V3p33rVrZenTmvE1if+Tt6d1C+mtv7VPDWc3bwa1l95erZ3SV/1GlezuDF+0+y5p341T3HP2ti5p76v4t1TbT1ajad296LWnD4N/F2rRnvu9pBXTuNqEvd3sLuVr97mN171t3p1XtXLJXZfZ/S7Rv1Ozx54WHP6NPDaVzTtu+vZOOV3L+I/fT/Md57enaa3jsfcbb6j1trzJ+7H2Y8FPncwxjuvmHH3rc5dj73lNFYTXuNyGqu3+RPvhE+N8ozxfe/uqD/xpvbM7Z84ejV4NecVM1ZTL26PXhz/CqtWY/v01TzFd9ytNrHmxvi7+3GXyRM/+Z61MTo1ajX3Kmasjj1q2aOXjz9h1NBR03xqgr9r2yx7t9rEmhvj5/38zu9g97k7Nxzr+Jp7FWts3X5qYvMsrakxuXLwJ825o1rTqz1x8rua/HKM8a/uBw727p5y22eM73uYmtbR2Iw6+2KbZs8ipzPUnzrdqX3ywV7ZHfeupm45jbsb8fz5KVetV35qooHpieFM22ZNzD61rOPn/Ux988ntvuqKOc/ek3cP6vbKtaYXr2+tcbUay8Fj7+4pt33cebXl4GvOnFjf+9SxR9/eUwz3pEkNc85Xzn11PnvN3U0vXj/nUpuz3YmaWnqwd606xL9zP8ycep6F2nf2o+fufpiHfUebvu5bnTu91ogx97iyn5/y9T9Xz9ncbeZ3s0+zqtGYLe705pbVr07jchpPrVNOj3ePLqaO/kKvZzFizH3UEXsUPx/26TeO/O6BZs1aMWLx+jmrNfuLyS9WbWPqcjfMuu9DvY2LzsaTW08M39nVpTZNnvgrvry3PQP+hlV3HoJ5vmBr/ELFTgeEJ/dB/Mw3jPrkb7+w4Wits0PzxvDtc3ZntdbY86rtXDU6Qy4c4v4/WILXL1tnEFv7CH8xuRY6Rwxf/JVmufZ2R3XloUeMGVsDM9aDYXKv7HrK2WrlGcvX26eH1xrv0rN4P+XAxeSgU61H8eMxNeFMk1McrHOtldt5jcuhrzXi+T2RP3ng1tAx1oNh72hW++r6+ammXr4edmvejxi+Zt77ad3YfvLG1ou3Tuz9bDu2n/jEqY68eT+eFQ1r6s2dxN3tpGmfmvAx8Jo8sZk7j7q1ak696hB/936chYaxXsx3sO0IR6NPLthJh5pnw2vyrW1acDB3Kce+V5r0q0OMOfvKfs2LEzMXs2/qXdXnHPftbnLU6VmsqS9n6lC3j5rf6/ZVS271jKnZX632g1vbtDq3u6FhH16Tbw1NDLwmT2xqFyfubtY2X92paQ2P9f1cyPP+ycv3jNX0jHi56ljr3uWo8937cc6mCYa5A37a3NmeEw/cnnKcv9XKM5ZPTtz3Uw7xV+6nOu6iR+s0txx4mrt5P+J66hj9augfhc/HNhfN7lu+cbUaVw9ua43Vkb/V5NTLByM+3QH1U62zjDeuNbS2uWCvrH3l2ssMrfPE7JfvnngxOfbgq9W4XGL14JSHBiaf2ul7IUd+d7MPr8m/q8HB7Nu4F+N6qklG3B0uxv5sXxlzPjV2AG+Psd49O98aGpupS61c4tP9yNNvc50lR/3uZh9ekw/G/1UsfM0aHrNPnWpfjJ/PBKaG9TsP96RJX2vsAL/6xnp6iOnzd6c1PRxMPT1YOVOnPLiYfGr+/Dj3QQiHXE08Zh9em5qtTY65On1f1tQ75eL68olPmvBbYwf4s1/cc6h5ek/lq4XfDK469pVnv7Xy5ckhJ55nUl++ftOyVk0xvHsU+wqXvu5oPHck5xydZ9x5xnr0MblXdj3lWNOXs8WzrxxrYpumHDzGuTyvfDkPwufDWjFidazjtWLyNm34conLIX71Her93J1FXT2zatsOYOrT98pO2vTNWuepK0fvfLxmzRw/teTgMevVIeZsNfuKzfOrCYfY+7HXO5j+NM9Z8tXB88FOHk3/H7Lf8ahhU0dMnBxN8u7bGE5Nbj11NenFmk/unf7V/c2nw7/Zftt20hb3wIqIm2++nMZw/aK1Tw7el0pdvHExcfvUlqOXV0+MyWmveq0/yJ98dnyHXx356tTD8wdUXAw/zfng837Etr6tBk8Ne8zh16i7ZznE9sKXh+dDfXI+oKNtXHVoaryJ0M/79pfRiV+88dSkNs8thp/mfHB3mJxTPs/evZwFp+Y88e429ehrvfp3mrPmLuLqiLuL9Xp30ttbjjEc7hI7adL/lfdcza/0uYNnJO/ujalpzuv+xPKrRw+5e8kBr22a1tU2x6uDV7/1xvbr7S3H2D3I5eNrzsO/a3J9D1tf9zrNmJy5G7qeYdZOmvZQrz64hha1ze5q9sxdqmO/vrUtrua2L9jde77TPPWxW//MO83oPo07s1rlnDTp9d2UPzWpbWbvVrMHzmbd6U6HXuvVJD5pd569xTpbzX/iftjBvfVid/Ph8tk42/nQxO5q6GHbO+xucuQ/msbDOXLMqz01lZBrjofrWatZjvHsb68cfOc3Lkces9/5mYTPfP/cdWfwd2zu3p67c2/7bxh64O5VTmPPgJ+27XjSnL3ks7+95XefxuUQ29/7AZ9zwDDw3s/se5A+Hp3Z2Pr0cDD0p239G2afu584nmGbZa9aeHT8DpNvfeCb2YuvuZv4SdP++Z63PdVX0503befT4wz71Km3dtLyZ8KeO013h7Ppgc3zqmuvud4e8k1T3uZPmnDvzl2teZap2feh5nxn6nkWz9FeOdPP+a3b33cqhp/m7neas8fcXnO9ZyL3XNZe+ZMmfe6/aX5lf7jeh5rmc7+5T3vL7fzG5RDb/537Oe04Z5jP3cXx7IFt7/Kq7M+p2bOeNOnpeXflJ+o7wlf/yXhG2z7be6oOu8DZzNndVww/zfly2je5M7d34uTO2s5CffbCBzvh9MghrtFz2nvq0edZ8Xea1DY7aYJjX70fejZNcfQw3uXpnA/CzcPdpHg272fWu48xfvLQE/Ndmlsjn+9Ejl4uHh2/38bwpn7zqWMNvdbIMTE8H/ia78QcL7+YuL1b3+Tbs+G/hbnEb4ncNE99cl+elytHr9x8wduX2J5yxdAh5uNLtgYfPfL2fqQ/XWpztcA09aafmu4ubt4+apg1YuvGcsD5NIeDOWPG5TOjPyyzh97OnnW19PCrSY6p4fu/0Otpjaz6M7eGx+w74RfrV01x/OzddofnLHvE5i7gWHF6+44fhE+OuvKpgbmXvWLW8faoITa5asnfzqhG70cda9UnxtRu7Bz7zOGIEWvWWyMG52MMvzG51t7q2S/PXA54NY3r4Wx8OHx8Z3LAsJmLtU4Mr14eXrPHWeD2bDHYNl9cvebuAVarjhxnW4OvZjF1rJFbV2PWxNt711NNYvvVpVfMOr6a5JjcxmJ6a3it+hvWunvJm75zqJlPf6qB8zMOn4/m3GKzRu4cY3x7t7OoaU0+vZh14slxnpy5+9RCA2vfpnmxrnnU/R1c3Jn2U5uxfL1zyWe/vXhMbj14z7j1wNHUMleLvPPh+fuh+OSRT5MPvu0jRr27y8dPc8/p5TkTbXe3Ro7Za4xvzVxeNWdPOdUgbo0+zrh9X6g5gxhT68qeWuRy5cw5Gy6mnjrF1WnNWXN3+spXd2JbDpd+Pn0f7tIeYqw1c3nvcqpB3H5yPt3HOXhnEGNqXdlT65SDO29yJt46sbPgzZ8Tue/cj2eoXvWJT5zyum9j+6tPfNK0Vl8NtfXw/tT9MKc2d6TmXH351vHshcH7k/fzEB2Puac5NPdoy9y9OXG/N3P33svsu6t1fvWLz103/fKpY/Y1b+/Fup7liLu3tYmTO8Oa3jl68Xp11TCHIzb5xattrMbd/Wya7XeGWvLfuR97qmGszsahBs895NZb08uHc6dZDWM19OKvNHuW2XuXW8Nj2/1clV+f9ribO4jb8W/dT8/WHYn5HSzGnnN3c2q1qWmtWnKs/U5ur9455NhpT2rl2F+cGFPzyp7PalcLxtSrhn3tKd8JYtPT/8792KceXkzfmjE1rHsag89e+fa0bqxHh5gPpq51MGvWzculhm3YVXnWyDeN9hJvHHqtyQfD4LdmPmsTpz77wDC5+M3AralhD3zr7mpuDY+1l1xNYzXF9dbrjacmuOb3lbxaW33jqC2/nNaIrXmGT2ida+3b3oHfFnjRiL4z+uI2DClxYvj+gdWcGF714Gm+OL1ctatJj7herLnaxb4ab7rueNKfdTXAsdO5r+r1hMMXWK69cjyHuDl1Mbl6OGj2f57LGfQ4s3xj6vbj+XROc2O8JnfD5EyvjrupUV71wOHwAbf/I/wRFwPH1FDfnJoYcU0dfWvEathvTk1Mnjmc794PWljv80Ku57bnttOGVaexmuzPdwcvNnnmcOTJnV6unjpGH2ZOLKYmGPYnNKtj/F+5H8/NXpv5juDxmffT99N++dTLATcvnxgcg4OZE4vZD4appb/Q51MN+81hiBG339jfY+b24rk/TOzKrqe69rV2wuTM85mrKc8d2BGjzudv30/36NnF8cU/0odt56Yg135zamLyzNXSU9fsL9eavjVidWavfHFy+dbM66nR4+9Qcup8vB+/W9SwOQNMTWrG9XBq8sTuNOXo2ztjOMzFNk3xck572l/uQzgPa0LuM3tbN3buzMXVRsv7EcN/9X7kd97EqG27i1F3B+LN4Mox3vonRg9Ye8SYc9IsDq9mTWxqi+vnTjMvT204f+N+mOW+zhXDO/+EgW9WTWM8tmmKU4PXHjE5+NYnTl7rPPD2zpp1+zsbrHx17Jn3I07Pu7/fTj8rnasuvjj7YMUu5Hq67+SdcLrkEqPLB6w9Yh/wj9nWPY87VQ8+xnsrbq/+Qfp8lAfU2eaf1B87ktO33U+5xNueYnjPYx/+bk97uzfYqccd0W3vXQ9cDI489U/+0fDxuPteyvnu/XR/tcTI3a1xMXus4+2HVytubH3TtF+uOT1gp57v3o9z8P0OMQfN/rMDuR/wf+Z+2AU7vZer+r37sbfe+/BdmMMRI+4+xH/rfryzOc+Z7IKRa+xpvbh1sJ4FvDxrGyZXDjlWTWP7yxW7up572CM+8xNevTnHHI73I4aeM/TOsIaXj/curG+a1LDT7zd0tnmPps/HVgfT3GnD4Mx+ee1zD/jFyWuckf5N0z75cw513oPmzK1vqzlTb59z0BXrDGJ79JNXXD04fFpDS6uGsb49xeglF5tavt/y1NLbSz559sv5pPzgNSc+aVLbNOxhzl8z/hD6t4xD+4PtC/Yl4cXgGb+7q9rwq0nuyz5pisvT06upaS7HXnAweXp5Xmr5auntJyfm0y8dveTWPsJHjsd8t1f27CenB2vvhTx55cjtOZxvn94+c31nEatF3dwYj4njseYbhqa2ca3hW7evmnDEyze2nxwjt/8BBJO7+XKJfS/6qQkHbH4Xqg2Hfr9n5NqmRw28H/nWfBez3z3LmzrtqY69rTsXzHp7nIMXL9a4/d1JXOzVu3xXs7xXmuzwJ+7Hd+e76HtjH8/qbuae3Zw6tumoeTGup5gelBjTq1WssbP19KlnjH/1Lt/VLO+kCUfr/XQf6/WnOjjmuyD3vI/Cx0NOc/Umd9NRs/2N27Phc4b7iOsnjpZ7qussa+azV80Tz/tRl3617Cmmvt6+co3n7KnTuj2bHn39DxzmeDUbqwG2Wbn2wzvtI47vd1XcGZ1HTesMObMOl5r/gUKe88pX157qi817FVfXnvqp6/n09soj58Ms70du/14kRh+xNvWKU7PPnubG9BjjPXf74ZB3HlxNLnk5rVuzT55eXF571ZeL9zP7yqFGjvdcH+GPHVtXz/7yvB+18Hf3U546256dDw+ztzEY1nPIszZz+Xhrxvja1KAG5ofcXYnlG5PPur3i5va2Rw56mBxxvRoX68nb7sceuKfYOe5SXTF9a+hh1vAYuN+zWZu5fHBrYMZ4zdgaOLEf8p5RPricWX+FU7dHjx6mvrheTTnytndCj2Y/ubEezF2MnSMHv5l97gFn20U9fwer5c+4OuDGato7dxCX565qOMO6uDxxc+vVtaafmuCaevieizqYGvXUMGde2a9P+8sFuzM1Ow9sux90wL0fezwHdTDMXZzfORfjehZvj9qwiJmryQMjxspXU29Nf3U8e+3Hq4eXv2HUpjlvw8HUNJZf/NTrLvpX96Mm/m/cz9RkjuZs78xcTr0xvZ7NdztrcMTw5ZGL6eHX5IiRY/Wb5tRrbm93ByveGbwT35095vDEZrxpwsG278KmA4ahRXx3P+2nBxOrzlX5+S7AnGHc/e2xVj378NYbT6664vaY20tOrPfs5VH3/weGdfv16FMz37wzqPFRs9zO/aD8uAtied0B/pbL7cwZ0ydWDWZhaExcXb395Mb0avK2vD329jtv3V79hm+Y/L/uWf6fsDnHl+bs5jOWg2+tL1wcX2u+cWZ96y3H+sTIJwYXrBd84sDFym+ftQfp8Ni0paqlV695Y/umdz/wd/izf8urOeutNYY38623vyjgTwOTM2vk84zlt+Yu+k3rDlNLf8e9q3X+SaucOy1rd/zWGtM7c/X01H333bV95dhX3z7w8ltTU1+Nr8TVtO+7mpsWml/Vu+O31tjdX81jR37Pck/+vq0OsXf4Ef5i84zlt6am/hehBdi41bRl41nb/Cv+q/qmecKq1bj8iTf3vPjfuZ+TJjhmXX+h9893ue/ynAb/7jv3VT10T5pq6d2hftaaez/OMMdrYu2zpm9Nvl7OV3016T3pwbt733PuK/6ca/8Jp66mv4vIMXv0F/rz867WM594ck717kEs3y1OfZMnXz/7Jt8c3nfvRw1mznnuoW+9fcS9l9bs0atVf1erVnt+J56ap/meSz7+zuTBqSbxf+F+tv3dU7+db6tt2Nb7Vazv0N7Oagx3+zPPvunVbh8cNL9zP/3Oq4P2yebu5Njc50Kvpz361oy3GthXzqTWnT9pOh+P+Q56LjkX4+efD3jW1TCXL8d88+1xdt9B643VEtOL4zes+Klejcbwu1trxptmsflOWlMDL47H6MN8R+qIU7NHnrka4DU1is3YXrh8/NmV17rzNl1r9p18ecSv3nd1yt92gFuOvZ05+8pvzR69Ws6Qi9fKbR38u2YvempWq3XxEw/8lfUMxH/iftR016lpnd3c3dn9fW4Nnj16sGmnmtr4P2F3es7ouyfefs7K6V7buanfzW1/Y7X06pxmz7p9zu45rLUH3p023NpXuPY5w/lTw13l2Te9fScd6/aV15o4PL7r0ya3dWt6au6/xeU1rmZ/3rZ3MPsmZ+aT31l/JP6n/hsgHIxPrZg1fA8tTh9xXzCYZt/kU1fP2sbtL7/2EMs3xteol0ONmWKtz13gYnKJ5czYfKs7Y/4QyNU7B++7tIY+Rl5sxub1xpvmrD2G5EFdTn1j6D1ba54lkr+cgVp7jN3XOrg1MMzc+eZbjX8zLA7Pngt9as38pOl9ycfDLb815lmrn7E5vcb4bd47muj0rFOzNbjU5ZBj5s6T407mF/v5bF91Gjt/aqvZGU/l507OmJr0qW2fmub1rak5seb0lrfNm2eypzpquIs5/qQpV+85O8+as9QV14PbL8ceONbUBrOO937ANevkxJoxWvNs9uDvNOWhaVwProFj+M4rbu+D+Mkl9tzE8mdMPnnNqWOet7+DrspTuzOs2Wu/nO7sPPysk2/vcnKdZ7/z1KbuzKlpj3W5enE9uCaGP90PXOqasbvpW5cD1jq4NX05d/eDDjtOA7em5janmDuB9dxqU6/WvEPn6elTX832W9dvNfvhaGL4uQOcqVOMd+nf3cA1Nc19F+ZTs3y5cugx7rtQCw8up74xPHKxznl1P/Ri9qpjHx4Tv7Lns33l9X2fvpcnTdV7DjF7qL26H7n24rd9rcuXI1/cXL65/Hp7pqen5/I9nzTF1aZXzdYmZk1vvx7cmPvpfVl7pdlz0IPZ8937medzx2rfYa21p+dzR7nT91yn+1Ebj6EB97vf9bkDudjpfj4oPzjG7KD1HGJ6NOfPjzPxfV/2WCd3N71Y82LiemrYzIu5v/7R8PEgb1/r4Nb09BF7P/Ns9pRPj2adXE6xV/fjPHvVce/izlRTjj3OVVO+db2a9fbOnuLEaGvOVwfcmBpcOdQwcjnmeAzcml4cr+astQ9ejZo72Ff+rNHbOdsZ1NzeM72dgx7mTPzW157JsVcdPFb8Qn5+bmdzjmf0u2Tn3F8+9c4TL6amtfYUc5b1uefUlGdf55zu5zSP3var2ZlzXvPqGnd/seoa18NrnzX73VEOdWp+mhNr8tWZfHjWjMtRR2+t31mxU393ePd+3IleY33ndC9j6/WN3WfjbzV7rc09qL/7Z2R71cVjfafkcvUTg6/JwfPZauWWw7mcPf+cp6fnbp81e6lpxtSs47VqFieev4Os4+d8MOuegxlixBh9nM29wGrlNz7x2/vb8T/1L0C66DwkOR8PbF2Ml6fJbT5jdOQZy9E7g9w5cP0S2k/dL4w8sPa7dy/ZuvPnF6SafOlq6rmDuVrm9HSOmuCdR461vxrE/aBJjoY88w/oYeTyusNn+Sc9sPK7W/XheQa122dsv732bP3oWFcTXmP7wDR7yBuTM9fZ5vWN1YRfncbwMTVP+vSoB58crmdR03x69cHliqkDzsdecXnWPig/3sPkymkPfIwaZo9+zhG/2M9zmqtD3pgcLWeb4zFx513o9YvfGtg8AzXrxuyIibeHWveCY+7ZplenvWDyPsLHrGKN7cNj6hnP/ay7FzxjZ540rauhF1enmsQYXHcxx2PqtA7O70hq6GPWweyplys2e9Dp71147uwZ6Nl0qMvtHvLxGL3OV7N8a+XaI5/cWfCMrbsLHmvdGHzqzhoczZlqkmvEcya13s+cRV2sMTrVZicx/P9A/jRqcuVQAmsORu75qklNnLg7mZfvPGvyOxO+muDG7uQu5mqKq62Xp05xYsw94GJqGqvt30fI370f56NpjC7GTmJqPgqfNWN8d5q5GnDUlNNzW1MLv8X2Tj1wNNS0Do6Rs0vnqC8uTy9uL76xPDFzPOYs/O/cD1q+R2JMbWZj5FpjsO5tLtd841THefbJtx/vjtZmj3ryzNUQ16OjEYvXo9FaY3rJJwaOhvvhvR9qc6/Zbx9capg7mcsh51PNxvRanxpqqQEXk1cd512MS7P97VNv9qhXfeP2i6GzxWL0qEnsXOpY92uPuvaayxdXo3V0qM8Z6sP1U6yajZ2hpr3gmDkew6t76pHXnvaJtx/N7e8wzkITmzrUMbX0nXExnmeZeTWt4cH9uAc5M7TG6nQHME0tMXcnV6dx+97VpB9d+LPHeeg6j5ge+xq3n97ej/3g9EwTc6ZaevhwqlN9691HTWqYNbx7EKsJp7E8d7AfHmaOx9ydvD3VhDfr9lsjF8Oje/o7DD1YZ9jrGd1FX82r+9nfM1jDT01zNeW4hzurZ90+c3c0p87HvpmrLx+eO8ilhpFjejXhgzl765t1dDDnty5erLF1PEYNc7776607C66xZwCT1xhsfqhj4NXhOzX1pqY7VhMtrDV11KeuFtjkWpNnPzl86mDVU+MD/lGfe8m33znVtKd61N3BHuvW9PaTa8ZqgKuzxWrY31lizjNvj7F95u5BDzV/b5DDUZMYs0+dC72e1MDtsdYZxPLk3mnaC8e/Y8pXR03n4cHQx+BhM59Ye5xrj7uyA+Zs4weYB3z3tKf66tLyKraupj3qWwf/q/ZP/wuQeTBfZHFjvRcD10vsS4EnB1zexKmpSTxN/oaLbZwNk1/PjhhnYEfz7tRzbGe1Bx1jPB/uUgxNv5xiH9ADM9eDY/Zc2fX0bO5Ij5g8sHkmteU2F6Mf3Brempgc8Frr1toPl7xYY7XANPmT50719NirVwcvV02weedzDhwxY724enjMOXhjaw/Cx8Oezremt6c6Uw/OxMzxNfXAWiPu93JqqqeWOvh+yjOup1++uFrUiomLUcfAxfDYxgUrd+PRr5Ya8rZ+alr53WPTKza51ds0qdPz7v1Uw1jvHnq1qYOJm9unb91eMXJMLjE1rBixPeL17SGeXHN1m4NpapL7M9bZ4ObVIMas1RNraGr09H7A1Wy/fL16env01QErTs0+vfXmYNufA3CoYfKN1XkUU4fnue2Xa66GvnWwbab3Qx1zHzXVoGY/MSYHbx+4mvD53N2PXPo0Z1ZTTN/ZYFj5xnr7Lua1F9g79zN71exMsO7RnlmzT4567Rfr+5HffmO8/RNDyw81NeHz4R3UnEOP3NaN3ZHcHj2YM8VmDkeT01yMHfodQocaZozXTrF67RHDG7dfTTx1jLqcvh/76+XbS47ZL3dqel7q837KtV99deupldcasTVxtT5KP1nrcux3X3KxGSsGrhmj5x7UjOuNt3oxYq09Yt0LjBxerXvJnxg9d/ro9btLroYezNlg1ZMj1pw+bdbBp+ZX76f96jnHueLu3Xpj6/A9gxrw2K0/R3BmD7yaHDA1Tz3W1Wivwg27AwAAQABJREFUe8qZHn05xBicYsb2mk+udfCeF37vh7oacxa1YsTq2oPXihlTa6weuFrEGLzv3M+j+fOh5pzjDtbJMfLJlfMghEOuTmOxqVmOmnLN4fyp++Hdac5xJ/CJuYM4HDB7rIODyeu+cGaPPPqmqXnq2fQmd9NUt7MbTw35apnbQy7GeX231OfPDxry7QfDwMWqIaZ/kAff+ZNj3jqYuPuad4fGzqxXs7wZy6GPuHVnUjOWU2zGaoATY/rGap4w6/Ub17pz8X6oWddvGmDbd8Ee91dPHN++uYM89KepCV5e43KImTV/ZtsPhw8a1YGjlnUxea1TwyYmV2/9Yj/fu3j9jMmnDpgfNFtvPzWtOPz2wOn9kM96+6lj3YHcHjxWTTF15F7M6zk5oP3ZLpe4/MaT1xweH/bQt/5XY5f8q0OG+LszfSG0E/cf8LdmnYs5mT989vmi8cb0zt1mvnEmNntmPvnkm3VnY3nV9EzW6uFRx+y541/MX3vE66tD3B2bM7c/eGi4C7E6eMya+IU+eeb4yWntrt6d7nrU16uJ57ycCzvtfFW/tmdn0T/z72iy5+nn5+5dOAvPHtjprHPPyb+6f37OHqt3O7XHuB4N+jcNec4x14vfebnoE59M3la3Dw2M++H7pLV3O4e8+qlZDXhbDu4OxNPa03jbybq+WmJ4zJniF7rvCHfy5ONnzdw+8/Zsfa3Tg7ln72fW4J1mUNPa17h154FtHLn6zm2MDjtPPfLyps6cObmvcvXqTz3uMuv2nnDq1DDPV+6swWudfLNypkZr9k6OeH37iP0zkr3/S/fDzr5LYswdjR/g8ugZLc93U07j8ud8a/r2qe/7bK1845N2+4jVo2/L0WkPvBo1zHmT+yq/un9+zh6rzJjfIWv1s59c2/acfLmvvH3dixjcWjXAMHe4sp+f7SOe99Ped/WYYF/1wV/lcKa1pzEzfvd+OC8a2Gnnq3p+uoca5ng+7Ny94WFgGJzNZp38O/fT2Ztm55fLTpN/2lON9oO9up/yjZ3JLDTEybFX+cX6+anm3FP9qekcvD0/K/76bqox593pnfpOGt1n42x72tNZYKf7KU89MWeCoyE+eadcvF7Nuaf6cwa9G/aO5ql37qBW58wYTnduTnzSpKZNTfWotwbufRVXRz9n0sPvDW32zlxe/dS050/ez5zX92DNueb4YjOmrk5r4BgYJufKfn62rzGs5mh4Pz8r/JzNmdv93P2e/1ntyrpH9dnJfPa1Z9bIW288a+0tz7geLjv5rszx8og1MAz+ZrM+NbYcnZMetam53U/75ww0ppXTGB3ntUesc1onrk7jWWvf5JU7Z2753GfTm/PI7Zv85s5r/xbDa992P+1Td3vX6qCBnThX9flUE6Txk/H8XYAm+tV2rvxN44Shg6lZ3atyfm6aZ/YfqPzT/w0QV/YlzRdNXYxfsvL6ByQccF8svnX6OZcXoN4H9OMv6OpODwdMnFybM+ThnWEfOWbtyp65dXG8mLrmzPUsemt46ng+cz58TA058KyBYdbMxR7F8Zg7krdPOtjUJXcfeO1TB4/N/EKvpxwxueRqynEHudbl2qsHt3f2iKthT7335Dt2jlr6qQFefTXBPYM9YnjNGn3t9edBHt56dYn5vHM/9GvOrVbr8JxHLE+OOTVMPeq+SzmtGdsD3znWzOvVpE+b+vZTt9cYv/HLk4PX1IRX7vyXU/5M09c57fe7JeYMPfqanGpZt9Z95JVjjGZ7+i6rQbztWA5a5vXVhIO500nTHnQw+cbm7v4gjYc1NNwHyt39UJfbfmM9vJp7gsnBq2Xdmrh88nKs6+ER+17M8Zg1YmeIm8PBzKe/qteT2p2me6hpTre6W+1Sv57lwTWfPy/mcvTyT5qtu8vkqmWdnsbwxYq3r3PkbnN4R1j56oBXn/zOnHPS7H2gQ857xJzvPDWu6vNZ3tzTWveQo7cmd862Dt8evVxzfDHjC7365YLJL4953YUa5h6+BzloTE1rj8bxKHdqeh/uZa4EuffjHtTgm9sLjjlj4uTdUw1xvf3lPoQ/Hu0hxuD5s2iuFjm2aYHDK7ea1F8ZfN+DMzZNa3hnoE1+t7vv3x5zejF1qfd/aoPcveyFj7mDeHP1LuZTn1xN+eq3Rw6++ndnRLsa5Jo61tUxl/cVf9JEA133xm/vG9z51u0x/6A8TB517sf9q9EYvjuoiZCxemBYczjMB2MOMbZx4KrpzpPX/CG0PNSR6/lKtVbsLp6a5Gjgu2tz9JwjX4xcDA47buYMPRxjPIYXQ1NrLNeaHs5376f66r3j6ePjTo3tt0beORt3csx9J3i/e/R7X/CcU137ihFvZn9r9lvD82GHavbO5VanXPvZHcNT99PcOh6rNvyTyZsccmv0kruHufXJpY6J4zHzeS/gngWeusQaGDw1wIm19jRuvb1w+Gz3Az656MjHY+a+F8/gXuTqy8djahB3FnkNHvVy1J8a7kH/5JdLHSunufcD5nzPJoavwfOsztr2pMd6+4m7jxyw4v5n02LquIO95r4Xz0AvRs7Omn3U7aEmX149PdT5tB+OOfGmaX2+b/iYmnisub3FH6TPh1xSuHzUaS91TEwuWDXIa74fOOX1fnzfzu77dl57p6b9zm2PXGrVkKt3NhzM/Mqup7VqysV7P86RD169WacXk39lV4+9Yv+In4v8I0M/hnSuL8yXte1Azcsgtl/cC+lLJMbU98tTrlj14Gvipxyuc+Q4z178nSZ9conZiR8aPNr+5fwjfOTV6izimdOjzRnmennTb5pi5YJh1SP2HL7rjUdfNeWAY2riqZVLfeZg2MTJtU2TGu8cXnudS10c7/2oZS88TO6VPfOpR10NYt/VxMk1tfVTs3pwtOLE3o8cfXn0Ose6eni5eOpyqWEzF8PbS7ydW03q6PiON0059vzO/bgLczC0xPTg3Z/cvaZ3Jzj0e47i1DY9udTdZ+OppYePyRV3t6v63Nkcv83Zzq2mPe46Z6gtjvedWrPXfHp7mekuYJha3QecXJMrpzUxuL0fdOc/wFIP705iM5+4dfen3j3I5RBjMxfDt3fTpC6Oju9p9pJTx3wXerFH8fBo75xJjsm5sutJzTnW3dE+mHKI/+n7YR93Yz5xdzPvjmLwMXKx9hL3fqpB3Jx+TEwv9ih+Ppwl1l4xfHlyWu8O1r9yP/R7PnTJse5+IdfTfWZdHM/8/kz+V+6n38u5v+f2rJ6nOfEdj55p8DvL98Mu2NQDc7b+nftxhj3meGf5vZj3M3dQg10wczXBfJfEGJzyHuDnQ7yeEnqb5uTJxWtymhO/cxZ75HcHdfHWP8Mfrpz23vF993Lsw8/7EcNj+iu73nN/ptwHnnt/9X46Rw30Nk3qPU97iTF3urLnXt37jkfNc3cHZ+PnDPXstY7X1DTHU+954DgTv93P1JT/Qf+hVw54Odv9wMHg1dQRJzdWE4yP7xf/1d/BHy0/+ok715ns3dnwyMXlgTcmx6rZ/FH8eKhtzXvxnOBy0Gp97gEXA2+/GP3bjtT/i/czz9F36Tm8B7gasbgY3p6+GzF5ziCvJjm1vn+58tTSdw+56IDzEcOr+xH+MhdMzXpwzPlqqosmsT1yxfDO5Z/xfPXnZztHZ1D3HtyROtadLuSJeY6NR5+2aXqeashzph6d6lXXfuvmcNSTj1ez3rr8asB7dT/008M7/FP34y7u+bv3Qz/n0NDVnGXumZ0pV5476dtnLBcP76QhH1+O2u5AfWra43epHGKsmr4DMereLTHm3Ct7Pj0HiDrE8t3THa3p5xzwTbN6cLD2UuczMXjVI1cLj+mJ5epbk2uNHJucE2Yf3vdCLx/2xoitk596yoeHySXedgL/q8YP+b9pvAA+WuNifeHg5anRFwjWnNiexmJqtgaGlXMh1xPcT2dNvrWJk1ubuuTlT6572m+ujrn14lObfPLEusPGgYdR8wv+AD4f4PbprTcn7iw5eup+xPDVKN54vrvWiKfGzCendX8pzBlypne2uPn0812Ub4wvT3xqkVOb9yN/evvFze88XD/w7NXf9fbd9Tz2VKOx9Tt/uh971NNP3BxfDnt219aM8ScOejW4r+6n/K/G6PuhlxjTX9mvOThnkDd3pG5txuSvzPuBp47+rnfjnDDw1oz1zpn5xOfZ5evln/zk9btBD3U506spLh+Nd+8HHu/7K8a8bc9qdCfxDbNWD8+PuL36iZvr5f3N+3FHZ83Z5n6fy/vq/bx6387CM+fVubtLext3x+L0+hFXTz9xcz089Oe5/C5OnfYRW9eLVY+a9Ylv+eTbO9+ls/CYvCv7Ne8sORNTY3r5m0dDfutgE595+VsMH/25p/djz9Q1377zatIrT9855ck9nZX6dj/gmjO2vHOt4yeuhrv5Hszba3zamR715M5c/OSd2z03jYmZb/fDLPXgyd1wedTgmbdn1sg3mz1wxNS17xVOnZ55P/apg4e34WATnzn908ohPu1uX/kT837AT7x3cXc58eee7qI/9Vmvd5aa9t750z2ogf78GVevs1/F7SGuPr3Wp990f/d+5uxthjvdcd3VfnO9uB4cPTXlid/laujVIPd+6PcjT6/2lm81NSdfrt56PTX3mzxwsInTv2Hg2qs6vHIatzZxau6FNwbH5NeXI36xryd1zXcpT0/dWG/PzMXtUVNc/vTW3/WeS513+97lVbcx/eb6Yu6FN6aOyX/lL/avT9/l7N+07ZZLzj41amqKy8fP/eVMf+Khod7seTd3j8mvbmN4zWd/30H3hmefsbmzm1fHupg8/cTl4+UUazx74YvB658x5K2rXX5j63r6sWpcyPkpt7plg/v3LHC+b83tp4bBF1NzYuaPhn/r8V/7FyC+B18aOS+SF46vyfFFmsOZcXN0vJzJJcfk450r9iB8PloHkrPhYnp3UF/d1suZXzr5zpVbXAzPR5sxMzFn4xtXpzxiTO6VXU+x6eVPLrl76Teu2GmnzqsmsSanOXHnksPrDzr51usuk4sGNnsu9HrOWnNiNPFYvbzp5fUsG+ch+Knp/vY4pxxi6+VPLjzntYcYs2afmlf1esoRk2uuP/GqKQf/6n7KVUNszuw7aI2YHvumt65+c7lgmphevJ4ahqa68usfpI+HGPk8hzU8pt4WT+6j4fNhbWJTxzr8+V3vbHhq6osRY61dyPNJDdMbO9d5U8Nc/xD5fIjpWzOmZn3OAHc+/HLt0VtHAwybehd6Pe2Tu9VeYa13rtqti+mpNZ7c5nLrjX0/p7M6Aw+31pr9rRPDkSfHHO98uXjfRb345JmrTY51hjpX5VkzL79YNauhdrli9dSrIR/ONDE99Wo5X8x+c3zvh1yTY15f3txVzXLodZfNU5evHrkxdUxMf6HX034x82rMPnehZ9aKWds05zxz+/XuUa3Ot14+3Hk/8tSBP809weXLUdN+ue5y8vKrM7Xvas6Ro1djmyuH3jnfGt6aM9ScnJnLs791401TPn7+LlLT/s2rSU2+mN6aOTzizcO1RozN/EKv51bbMNjuRywHP7+X1Msl19oHtvHgbCbec5dnvZgxte/ejzvq0URvzjPvfp1rP5ixWu7Wd2mt3A1Db9N0j2rCe8fkdbbx3Sy0nSvfeWqaT28fuDP0xexTzzl6udYn31yec/WdOTnvvMutf8OcV83uRtwztebZWp+xHGfj+TBPbGpWY+PIt6YHb2yOryb5yejX7FGz3liuHrzvknyz2U8+MfrYAfxO0z3h19Szbi5HbXJqmN6avVf15x2pbf/sbXI7tzG8zrPvztuvV6N7vtLs2eTOmdV3hlhnqXV3P/a3b8PUdxe15dZbu9Ok5v1MbXIxPfqaGB6bc8CsEWvtu9sR/qYpPnXU11tvbm913cHfN3De2Vse/X7A1C4GjoF1r8YPwmedXeyXo5enr+bkWINLfGeTO7XoVYOaZp81cLHJMcdXo3l1xOcu5np4/4r92/8CxEP3ZfpSeJHsZ62XUqz4nZ49npncHxpnNadebfvF8Hz4BeQvoY/wJwO/04TsHGP49IE7k5o4sbPd5TRDbXiem/6aHDB1iU+acKjh2VMD03wfcjtDDjWM2tYrrvdd0uNu7QNHk489xO7oPP1H6VFTQ1xPnRitYs6mrlGXC2Yu5gxq6unhYL4zYjH76627h7XmxOCe3fdBL9ZZ7buq15N+zN7mV+XXe0MLUxPvrJ63mu6ovh4davzXhDFxfbEH4fPhbDH5eOZixOLk7i0mtzzPAb91z+WZrLuH3ObO8+z0iBF3VvuoYc5sLK+1qWkuF+8s+7ovcXck54PBx073I+9iPZ/Opu5MqubG7kquqSkXL+Y54Fqfs9Rs38a1zzOiaS9xZ8lVpx4uGnDE1STH9GqSq6m3F2+sZu9HDF3ngGH01dSpJ+bjLmiQa83VtaZXQ6791aTXOr45OmqXg465fHLNueTOIparr456YNbVBMOKO2PWyNWix5he/twtnzrWOdavyvWspnryPB84MzRx8uLW8WjwgevPLjrOUPOUf1B/aJfTfX1ncDXnkjuD2D57zOvt9XzOpZ8+cEweHpua5Jj97QW3ToymuR5c637qOdc94bZ34vbh4ZmjA9f7IbY2uTP/oP6YaQ9Y92UWmpp7ywF3b2vm9uDVl+P5xOE4S228fGpy8eYf4Q9O9+wOzoJbnBxznprkxg/Cx8OZ5mqWu+mAwUXPGI3JBcOcSx0zJxYjxsip99xyihPX5Pg+qZ3OV4670D/5Ynq5aDu/e4pR912WS6ypWV99eZsmPe1zb89Fzfuhvzui237yzmhtzrCGryY5Jp+4muSaO5K7tzXfWTnomE/+nCsXPedve1J3VrnEmmdxBnj1yan5YTc1ixG7t+f4gH5g1PtnJDlmH7FnEZ8cuXi4+FfnhsMH01/ZM0fD38Hs7v49j+9k89VrD7h8cA1M67sU757E7mOPmubywX0fYH66k732oAFGvt0P9c63T23qxHLwmHX3AWOO5rnJxdWWYw73O/dTbeLuae77IMecKdd3Z635o+Gzx/ODqamGmuC+DzByOaeeD8qP93O6n75LZ+npd0Y98zD3IRYTV6O7UauO3Ff3Y49aztKri9food4d3QmO3zU1OqP14t6f72zemzj96M5e83rnz1404G33Bq5Vy32qKU+M3Fn0gttHrXrG9sLDwDHrennTW7fPXnjsorXuLLUmpzsTw9N7PjkTR2vqwtG6r7ypCRce9+Ps9jm7GD3ugvcDDk+zlxyc2Z3hLtTVg8cuGvmdpjPwWLkX8pzdXD47dLa4XHN0ifXU/U4Xbx2856XnXzMP8q8t8DmYPXxhQI19ee5Kzgfzy2LtQn++EDD4XszkdNbUkbtx0GQ+RiwHb0yNeFrr1Mw3rnU1nEXemF5/oNVpfeNTL77tIcca/Oo/BIKRzx75pxp875LYWbOvOVo1Z4LN/k1T/klz9vBu53eIWfKM8ZsmWO9nm68Wfr4PdDE5V/bruwZ3vjOKEYvDe6U3OfL16GEzv9DrSW2z7rnNoUfO7Hee/nfvB333dBeweQ/Ok2MOF9tycPnGeLl6MKx5Y2sP0nj4nuTj3d2+yQEH276X1vDVrAa1ziDXZs/d/ahBD+aMK3s+WzduL33ONTZXZcupye9sufpNozV6fZebJtzi7g5WncbVdEc18Ji6xO4vZo84HMwZ+u1+1HBPue1/iH0+5JM6d/aqQd13NXf7lHs4NdUrVy29fc0bU2emGlMTLibu7mDVaQy356gGfdgrrHpXx3OeNXz3qa64XGues5rG84z26tXATx014GrqlauWXu7MxfH/F+7H8+k9X/PG1Mlr833K18O1p++8GrPeXvu3OdTuNNuDZr9/9hYHq3UPtL778+OO1XMOGOauxO5JjM2+5sTlTz1nP4QWLfD2yKuf9dNMepzXHmJxdVsH493699bJ991MfMvRkm+M17Yed5s1esAwNTfu7GtO7P3QO79D6jEDcx6xNTFzajXnyaPmTOLiathjXZwcs0f8b9yP2s4j717FZyy3e7b3FE+d8tB8937m7ugWI9fc0Rz/T9yPZ5vnYr47dedi9sLFzPUX+sTLIUYXLh/M3HknHG5nNKb3b92P+zGf2Nw9xfFY92p8VX8+N9j282PfPBd8a8RascbUzfWvepzpOevVw4vP7ys41nlg837gzF4w+4nRwIpdyPVs3Xlwia3BbL888MbmeMyecoz18IixjX9Vfp7TXurmejH8SVNuve9SjH4MDTA+mJpX9ny2bqwmLLH2gzV/ql1ReybXGsxqlEfsDnD6HaIPm3x4E4PnjNbAyTH7jB/gx0O+HvyrPa9+xtGrpjPc2RyvwffdFKPHs2wcuK03d567UJsa5OWphZ/3M7nN7QPj07OoVf9B+ekdqcVMeNgrTXowe5t3/sV66sKzh1rnyP1XPH8x/q+YL8jLcC9yX5gYL3sze+2RM/tn3dnlG+PVFZv94nLRm/En9HBzXmvuOr2a5RpXr7saW1eTPvXAim+a8stTs5545vRg4NPE9LNOTo2POmDT7mpbr/N6HjWtmePVmDXxctpnXJ7YnYfv53S2qWmOx5p7TmvW5Zjja/Lr1dJTq077jU9nsK7vHDBnWMfLmdiJ6+y7HVubOqd54PadOM52b7Xx/sFTjeo0th9fa++GM2PqbLxid/Gm5R/a9m0cap5dHr77G7du3NrUodY6PWLi+GnWxM3lNnemNXoab7kYvdPUnvezaW796m38YsR81DC3Hy/fM241eeqUM2uT48ziYvRuc6dmc/fF26u3Jh+vWese1qZX+937kb/pFIPnHuDm7mQ+e8xbJ5595vLrTzU1WxejH5z8lbnP5BZvrTHa5t2jeOer+e790Isu/Oo7kzpGXszcnpnbMz18uHd99Lxj3Ue+e5A7y9rJd59yxNXszpO35fRNU7P3c8ez3z659Z5TjB5iPt25uRx7zfXi1aSmnXDr+BOne5w41TGeXHXwxnAbm+MxzsW7f2Xej+9h8rcZ5VLH5OHFxPGadTQ0e5sTi9tjvd5a9VonhlMzx9snJm/m4vhTDZxPNY1nH/hJB672J+7HWfrObczMmbtHa3Lwm2Z77IN3MvWsm6sPLlZONeXK05cPJg+8sbyven/GfA+zf9ujXHeob09jtGc+58lxhv6ujxq8k81e8/aJqdEamLk88/LBxOVZ/4pXg57v3o/z1Krvbo3pmbk69dXivfszXk5j+cWMqc2Z5u0Ta1/vXK48vP9Ac/sOyVPvK76z1HFGdahZF7fXXC9uj2fb+u2ZXu703o+aW99dTT37zPHbueFZa0+51uuJNxPXb5xiU9Ozzf6ZV+MU06M+nMazx7nFyyfGvnI/1TRWUz018XDEG9sjhx22ujzqGJzyHuDHozPANs7E6VFfPh6zRlyMfFrr7gFHfPJbgyNPv/HB+s/sO+fE/0fw/9K/AOHAvkR9MS/bFwOnvL7Ucidv01RHX47z0PQS5c05cq3jja3h6eODUa/OA/x8nHrbo46a1tSxbr5pgvHZfpC7m7xNszxi35Vz69u/aYJh5ZGDT8wcb33rt6YOnh7/oCfXwNUVa/8dRk2uHqyaxNSwbc5VeT7lbvcDyznynp1XNOvMPN1P96SbXvvJsbs5/rK/mNfzdMbias55nQ3fvL1MEb8mXs8NO9XRqya92IZdleezXGfOPvLy7BYzx8PdvpfWprYzqWObpvj2HZp6D5GPx4ar7T13Nnzz9jr7HczZs4fe9rvHhtmrljuZ47c+NcvbMHq/cj+dhfa2j/hX7oceTU33dUdxeGDm3ak91RMXaw+YWsTUWrd3w+BbNy4PrLlcPXVtw+i9ux978fR31gkT/5v3wwyMfbqTZ3yFUe95Gn9Fkx2cadzZYM3l6qlr3UEMf8Kn7sbbMDVP90OPnM/wJ6emPPbgOyReMjPmnq0TV8caPeqd6nKtm+OLzbj7wCWfGD3vYPTL1YNh7ac263A2TLz3oxbenlea1DF67u7nQfp82PMKm3u4X/uIN73i1RGfGPjUR1fMWA+/Jo73nVK3n5iaPHJNDF8rjo5aeLl4ebO3OT3b7+Dqyn9HD6571IuDae5qri/emcZ6+Z1jr3PM4Yo1VktfTWNqs05NDK+JkRs71z2tWbdXvDk979xPd2j/hrtHPT3kfDR7i1ETN7YOTqynTi5GTq114s3skauXS12jNuvkmDpX9jPPHrXKvdNUS6+OuV5d8u5jXbw8MPeoF5drTRyvOUsPTszHvuqIycNr1SiP2O+lnKlZDWeL4cXsL1YeumqL21NcPTn6Ez574RcjP/WC+/ucHvvq4WBiV/bUtA5OzAeu/iP80SuGnyZmL3Xi3k93IG7efnoxsS1uL/Wp155y0WwODytO3dnlbtjsJdfgf+d+nIPOFrufuzEDg2vtAXw+wNVp3bjePrBa+8WdR77FxdCrpnr0Trw5dWxqXeivveXJ2TBrzLLuXD0calgxcvH2ik1uc2J56GDkYq33u0P9lQ5a5agJ3n7j6eXp2w92MnjlugPemN7JA8PA4VUD/D9l/7V/AdKXM1/czHsJ9FH3M1+8Xzp57S3X2Dp6YvSeYnidUR64f2Cg4Y54rFxizLlq4jF7r+znXrDOQUu94mpZo69c6+DOo05MzT53/IB+mDWA6vwgfASzjx7+dyLBMetq6ampKTZ74GDU4aqFt/cj/Clmdt+PmvAwZ+GN1XVGtdszcfvgUJt64nhrxSburmhxhpMmfdhJ86pez+5oT8/ROnpTs3VjvXPoQVMc74zW4JdHDrfmfHjE1qujdvuI7SW2jxizn5gaebH2Vh9cLT310/2ogzf+CH96H+Sau5jT0/mtT0315cvVo2kPXlzfOjGGVuvEfLTOVJMasb3uI47H7CWupjX7rMG3xxpc51iTjwezji+nNWJrH+GjBy+mlp4aNvuob/PgFidXSy8Hj25x96CmeZ7yiPnU6IWLWeve1T7F9l0q136ehx7qzoDT+PQ7mB565eKd35qxtQ/ajx4xOXo4WDUv5MLgzZpa7iO/mtbgFrfXHvzUB6OHT41eda2Zw6v2CbevfLjg7trexqf7QQtzPj3Gj8JnzoxZU19+9xDD22cdXTA1yTF7iNUmxuTq5VZT7Oq4nlPHGn01eu231l5r9Ijr1fHPB3L5cNwR354Zy6PfHYhr9KBdrrk1+eq7y6ZJzb6TpnrqkNNTPWIw34HcqflB+cnc8SfwI7FPHbyxc91BXA019eLuRm6tGnOmHGdbp78xuUYP/NbNrZVL7P70TKNmn3WwatojZo986sTo6OFg5MbTU6cHs6amfeJ4YznOE38Ihae2+Kv7gVct+53tTvDcoT3w6MHLtVferInjq0mOqUlsXU3y/ueivg/n0KdZd0dwNcE0erX2gMnHy8NPTbHy6Mfs60xwuGJ6uNWwF3+KP0o/9iQuT101zcsjBm8fGD3T4PQO1LW3+sStq6eX29nMo26NXG1iNa2rr5dfTWuzFy6mvpoX+tydXD246oG3tzE1TIyYPkxMTTA1u4M86uJ6e+wjx+j5zv3Q635T0z3F8d1j7tl6e+Th1WSuBtZecfusi6tNXr3i7bUPrmad3D4w97Bu7dQrrle/v4PB0Pvq/ajJDpi7XNnz7OJ4e+B4BuLi5PYQa/Dh2ScHbGrTI886GCbXdyBPPXKx7tWYunw99ZNmd1D7g77OAVeHGKOn8535KI6as+TDxdqj3naOi/3cjVwta9USqyaYnLmPfL072IMXU7O17iLPHrzWc4PJxWPWndG8dWJ7iTG43QMMDveGUSfng7Vfnu/lYjx7zO1F09gaXs2txnx3wGtw7Ss+uZumGv+K77L/ygKHodteYL3c7YfZLwqyvmwv2svwouboOfPEo29yp5YcZ1pHc+4jF2/dHwK51LSpCS7Wveb+5Jhc4wf48Si/sfV6NNzxNLNz2jvjd3mz727Har7LQx/u9s47G23PvnE7u33EdzXq2/xXPfRN647Em72r+y5vznjnvbtnd2zfnL29nzlXTfD/T/fjufsu57tp3vc88b63yWu+3c8789HAOudC7n9G5jx79OhOzVc99tbT8+pnHL7naO+Mna8m/h3rey5/nnHymjvb/tbENg8Pm+8SbGqCaa01to6f+MzLnbFcPPeDFysXDPMcV7Y/7dfDamzXhlnbvPz5zpvL2frvsGpM3p1ma42rVxztmZd7mk3Pq/tB5yvWPRqrsWHWNi9/nqe5nK1/YvTx8+LvDXo3e1ezvLmT7xb98sjLJa/JxashtvHEPJva+JOVW842p/UZy3em9eZyrN159/ru/XSWWnhs7uS7pda+ySWvTW5rjSev+8wafcXKvdNsbYvR3N6l74I6Rv6OudemaX/PIaZvTS1n490HfvP2zRp5rdxqlENcHnm5szb5cF/9uVs9+jdjzqt3SR9a75h7qflqx6k5z918nqd5eWi2ts2QAw+jX1NLL17N1oz18jdfTvU2Lhh83yXxNDHPMeszh9c/f373fqZ+856v5y7nFL86N33vasrTn2ZOvPvPmrl74jfbZm6Yvf/G/bg7s981eu6+l+iczlnc8/qu0XQfNO7Mno3jDPydpjw15j7k09QE/1M/P9tZis09504z747EX7HOmu/jq+9ym/1K8+7cs5cc687k4l+9H3qx7mD+KHw8PNPkWBevt6ZHw5+fbUd5eHRqPSu19r97P/S5H9rVbL7xOoPZnkMumAaGqX/y5djzaPwvPFj6v25/YsevavQyfT9iM3+lzaXDsb98sWr2SyiuL3/Gcr7r2bM/cNWvZvHG5WwxXOz0Q6CW/mJfz4mZ4zHfcbXlUG9MXrNXju9AvPchp/3vxPRh3Y/8hFPbzPl3fXLob7zpFbvTVEv+dg6xzqxmcXX0rTWm7j2UW9y5YLPXns2XS4xVi7x4Y2qbqXnHlUN/Y/XA+p0rTjx3nPVy1NdTm3H5xNPgY85tv7g/MyeuuPypAT6tHPvdQe47HLl4+Se9cmZMrrGHGmLm1tzVmfDKaU78Dh8eNjXtnTVyau/ejzrVR2Ozcua54E9s5nead1xqr/akroZzzO0Fn9jMTxw1Nv7sgSOf2jRqp/uROzXM9fLqreGxucPEZ351XU96qfMxpqJmMTnUG5Pf2cadGDnmXOKJtWfW4GPFy7+qvz7ltO9X1hMpv7s+Gc/opKmGzBOPuu/fHr9P22w5d3rOrLdvw6xtmtbsa97YOr5443Iay8Fj27mvyvUsf+Nah33SLOeOR40Z3skrLnXsNPeqPp9ow537wBCrB++ZrYFjzRtf1etZvHE5jeXgMXfuHlflepa/cazDruamUQ7xpgf26n46s5qbHnWNOr2zn7pYPXg1rYFjzRtf1etZvHE5jeXgMXe+2+Ni7k/1qFaz7I1DvTPlg71zP+2vvjrW3ckcbWO8vfpHMbg5/o4za/YVb2x9ejl47N+6n+1uro2e78Ed3bP1YieeZ7PPu2/e99GdxOXiJ2aOx9p/IT/3yLc2feszPv3nuG1mdaeOtfZtnNbt0cvHa+Vbt2auF6dnavjzA8d6vb1TC3zDxPHdkfx/23ujLUeOXFn25fz/Nx8as63LGo0gWZJmtqRJrEUCcLh7ICOrSpqZc/clqml9TX/97nzWfT/OzHWZWHtqo7tunNMcvXz9yu3cs8zq7NHpIWavp5oNRyOPWu5Wg5VLT5w01/TrG+38u65fPVDYm79cvmZi5bR2/kczu+HX6L7g9uW03jw6p9bj3e56yZ8+7T/hyD/5vtsH/cb5ztnu8F/Jf+f/E1i9gP6BBfcFzR9GNczRdD5fzPREK99cjJpAxx9Og7Ps0fWPKhz4/QFozdxdxcvHr7vAJ8DgO7P2bOflUnuG8+bW8PQ0Myf0oO5zF1cDh6D38wQeX/h5Jph6PNU3w+nd6KdOLjxn1ET39I7UbZ5onFO7p2fU3xk8Q8ysl2dPXD95zA2w8rcaLs9B6EHd5y6uJxyCvh8wzvEsegLO9CyHHXxG/dSR4RLMjPKYVw9Hf7Na8/SZPHt5epL1cAcyfDXicNnLOZmQZxZXJw6Xv7UTn3cJT47vs5gzMLzrL296lvNH3k+fmzPo69m6+1EzM5zJpyfsr+53DbhaPdXoAad7Fmc2+foxMz59P/L1NOvp2eB85vuYPX7VUNeTeTX08p2psScbeBFw/Ng7sycT8pzTG2L04vLBmPPxfYAR9szgm5lZn/zA+dn1HPm9F7X4EXLMaslgBHl6tH+SHl/VWOsHR42/s3NWjZ5md1FDNjoTI3PeyVMNvHrqy5wP/6cJGj4Ds+nt3w35+tJ73l/xfvDzbL3dm97ndkYmqrEmqzV/9/34bJ5RTzDm3he94V3Se7Yz+WbnatzRXp09Omr1zN+9H86Q37qe7oEfIf/qfn0OZgY6tfhZT449c71b49e/wfSEnmou9PrWkw4vP9f0Oqc6a59bnXyyHDOeBBowPsT0kMdcrtjp/TDXD0/5YNSzh2PIsZdLPz2dsZe1nNnXj1nP4f3UA659eeCEZ1Dj5ceeeXXWeBruZy/H7Jy/Z9wzOFGP7uhMPf18P2rx1g+eZ6nt3Bm8auiJ0xzcmXvC18MZO1o3uwua0/thVh49UQzPfpzLYdbaubvQE3LMzr/zfnoWPqf343lkwrNao29PLfYcPL7QVQs+9wfz/TgzM3PHYnqCEc7EwfxZcwZmFHNH8+YpX397/chiZrnsAcaHEKfucztTL18cnc8E5hx8ejInilOreQ5/zKceTs+B2z310Xu+n/p5Hrm4nmRn1Mbmycyz9XUHeneENz3t1XcXdMzLwYPQkxlRvZg4M/iGnsWY1RONobc92bkZDN/v/jum3mQ/epmLg7k35zFrfOf9oMXD58ZHT33pG90FHfOpgX/a0TP1108+WsLnuLrrWw3drLunnvDckZqY59j7DGa41mbPJIMR26xzNRf7ei4w8WY94coBY0d58zx7NWZxsjUzY/qBy+PumdMT7nJ117ccuvLomc3Q2+ycZ4MPzoeeTPRcdWbm8qgJdzZ3x4txcai3HcGnJxiBZ/d8gj++mBF62l/o3+ybf2H6J4SX6KX6YsCp+TCzf5Q/f2Cczx8uOEQ1F3J9q3Nu5o96782zUXkGXEMdfT3Z1x9wdfZq4XMe2bDW1zthric1c/Z0F3XO6PUAI+zLpWYvZnw8b9aP0XNPPeipCTz0NDPTA6z1o3324tUwI9yDWh61d0lNMFPPzP+QUMxaTz3IzNyNLJfMp++nc2s8qQlqPGePj2c/yudcDr2hpzuIk/El3AsunvSd6fGAf0bPtoanB0Rr/Xs37iMGH596uAPZM+RVP98PHs7VienpbuL4qik2a/zcEw01nvLwsPbsB/TEyIYcejTqnJPdldo5ntT+i6K4GV+iZ7dGZw/XGj3nkRvdAS4addZw/LvhzH2c1RsOcz56Pspn7Xn6yGXubsWoG/X0DDzVgFn77OrF6VvrA1aNu8KHQzCn3t4PczyI+rTu+4GnL3V3staPOT721vTs+e796Peg/vTgbH3Aqeczqzvtia5RTzV48MEfTE96wt5cjBqNuu7Lrnp4llzuWUxfsqGOntrn9v3I1QOe2FZ7LjPCPdF0T3reFfw5e0DP8Bw4+vwY/bKDHvLgVKumWS4874Da/uRZHD+eCYwgt3YHn5u+c2p/fx7lM8DUAbgbdWd49p8H5VU/azz4NOD40Yee2jP7nGr1hgPXnrl+nkUvzznZOXUDnA86d2IHe3XyHqOfs/7Md+9yqZ3p6Y54ydWLGQFuzV59bj2Z83n1fvQwP+hPjefSN9h1Bmf3TOotvD/O6r4+fzWe73nT033r6d9cNHz+3+NTnh6e33NbdzdqZoQ6sl7PweNL/Zyp0bPPxYzPu/fjWXAJsj5iz8Hjyz3syZwN3+fQj1kDHoGn+1K3Z054/snTveTR+36o0c3384Ce4Xl9ltbuCdk9L+W1V88WV89sPj+9Ps7g6cNMfc+Wg2bW8MQf5c/Apx4M5DIj3IEaX3t1YNSe2V4umY9/16nrZS1PD3cg9/3w7oxy0RPwrd0T3HOpCXuyfHD17gVmwPN51cDjQ4Cp82x7MzzPoEZTHRgBR48n8KOH27/B9ET91YFR40XoWa7nf/J+LpdfPT1DT98PvbM+LxjBue5p78yeTMjTEy21zw6H0LMzNfWgViu3O7aGxwceOmYEmV69PPL2furpLg/qT29qomfUs3rONHq+mHsx42OPn2eD66nHA/oZng1AbaixJ+vLjKCvJzWh55yh688NO3qmXDM+3aHPQ+0OZHp1nv2AfuqdFYOnJzg9PKNn6En23Mn3DHDDvXwONWTP9szq1JPBnZnBfW5qQ+7cUZ1n9exX/4zUD3+fz1yM2mdlTs0O1PbqmOFL7704e0C/3K97gquhJjyDeu4pRjbcAy5hpnYPzyB7Njpi44urQ+Oz4GkPj4DHx78bYPJbezbY9n7wJvSj1qf7toZDgOGPh3PPeEDPmc/jvchjTu25fT41cAh7ONREfS7kb/jtsn/D1Y4rsbMXbi65L82XQO4LhO+zOwOTb92zwAh1V/f1Q2LvTmZxvNU6a+8PIJi1WrKaYu7bZ5M3szpwovvMmjme2x5yzXAJz7u6X7/LbS1LrJnziWIXcn2LF9vq8rpja3TlvfOBS3iX1uD1kfdH73LuyDl/1lOP7j537qx8eeTtZw6uIdf+k7w9r7p3fp1TE/jpad54r97Paaa/Z9ET9lPX8+cMnXM96K3J7eWKPYmPrz6bHGczl/tuJveVp5zpZc+c5yY39DTXR64zckPP7e8UPHVTQz/fweR2j+qpO+uOnZWjvtx5nhw9yHLIjeltL79cazn2MzPv+5Gvp1kcPTXhjDwD7O/0ftzP5zCD93l8JvnN8ubPkBw9Z37nud1fPXue3nqa5ZPlFNvq8urTWj8yOJ++19nXE02jM2qiP3v0ck557obGqKc76gPHeuZ3nswJdVd3fYP9t99Pz6dmB+K0Z/ee3Et5fW+8+X7ky53ZuzTLJ3v2dl/Ot9nmpa/nq/cOOq+nuJ5kf1ac1VNsy+Xpd+KBz93k4uM919O5uTNqQt3VfX3Lndk9zSis69k7cS7Xmd6df23w9b7VyS/HGZ7WZveZOnvzpfz9u/PTjqjgEXC2YH66540PpudJ527N5XZf63r6DjjLubUzvTuHY+hHD2dG9fP9lCsPTE/P3Hwnr15bXc/TnLvzueW4g32zO584zpv7fuqFR+/HnkzMM/o8csQuxfUtJqczanezJsOd54Eb9ay+8+pPZ8sn67m9A+fbrOfUT41nv9tTn0/fzzxr9j4PvnpPDn15p3mfAU49N289t/tCz3zONh+4xh/xRKsvef5u4QlOtL6QL8wZ+X4/X3fae7Ke71WcvL0D3w9z75mamP2Ffn07NzOp3xfz62w5nZ1qfU+e6OAQcLZg7s9MuXqaq5V3ukvmU+f5zvCz1g9MnRnMAJu/I/LMcvUs3tqz4bcuRy85Zu+r8+r0e7VD+fi0b42H5+nXc/+2tf8L7d92wW8sxgshzL7gvqjO+qJaXy7XC612cuzrqXbL8OQ6x0MfMbK8VzN5/uCpnxp6z3Ympoa5s8mF40y+uTr/xY9Z8Y0Lpme51AQz5/blgZVLT0wNmDz265wZUWye0dnFvr7h8ekzy50esy9PTziEs+Y5oz95Pk1+fE1dd516JBNzh+LWzJyjpXZGT8x+08gjM587ipOJzVP8SfjBgUfMHS/01+93nj4bqu5H35lnfXJ2uXqa8Z07vfJkplYd/p6BH+Hs6n7vJ788a8+h33aaZ7hH8ep6JrUzz/OcyRMnV9f9nJEbnrF5bjw9y+/zoPmuJ17106OYZ5g7g294Nr27UqujNiamZ/H6OUdP3RkYfbVgasDdR509PELu1V3fcjtrLVeenuUwe9XjwVwPesK+2mvy+3N6hnnT1JPaXcWnRi/mhPPi1IZzeurywOROnjP3kWfPvFG9Z4jNrG56ymOuR7mdU8PRA17rcpkR9VSrD3nTqCMTff76MfP8+liXW55z9NTlgc0eTA0z9iHzIbofvbgasfatmRN6kvHcOPAMeOVYez681s7BretB3b48agJdPcH6/FMv1/PgU+sjrs4ZPGLywORSG/Vxn/LE4G87lQtHP2rCPeTRl6Pnk/zjS66Y/HJbO4e/1XBPnj1DTz3ms4ujkaue7JyZWnnMnMMlmBWbPZzO6YnyPGfiT+Lggk0/+u44OT2LGTExPfWRQ2bm3J5MiKObnp1b66/u1bPLRWuoay9vzuDMnWaP5p2u86nfzii/dbUnHD+iXHr5xakJZs6fwONLnni5csjOxeDx8b2YmetJTcx+20MeeZ7lrPh3PNWZT36bJ1zipD3hl2p/dmY9i5rAq35g8sTLZX4KeHx4L2rl6nnqJ7886s6tP/GUqwcaa2adb34Tkz/x9nLIxZ8HL5j8cqkJZs6fwONLnni5cMTlm8ubHD3LLad1OfUUl1tP6vZw5bWuH3M55Kl/5cns9PdBT87dPMHLsS7XmplzdERn7Z/Dx9fki6Mz5u7g1XmGfGd60FPLcw6/NT1R7oX8ylMzeZ6jh9qtBytfT/47WcJeDnn+97Wcb0y+z0quZ/3QytNnnqGvc/Xti3UnOfMM+eXOc9T+bfM//X8AmZfffj4bM34JyXz8gXqUP39QqZltLxJcTz3glwtOgPHRy7PArB/lc64nvT+46un1ZA7e0B9MrRp14u7Tef3k4yWuthrmBJx6gnUf+oZcMT3t0fpHkpq54T7TwzkZjR969Wr1JBPi5HKt4VDPHr6fzvRDZ3CWuDUad4BHzXPDo2ZuTa7+0T5DzPP1rK9aPRFSq30a5Qu8ej1Defv7Uw9rPfVrj7f7gPvpmcx9ztZw9JRPD0dPdczFPB+MABejnp7MvvN+POch+7m3v+N9Pnie7Z7Mq8fDAC+vXuWAz2eYnnD6t1BvtfTUhLW9+Zpec/fSxxnPXT48OHwI5tbFqwFv712iJ5j1/ZSrN7zuCKe+9VTvPvRqqb23R/kz5JYHtx85+pENZg1mnENQM8dbLb16a3vzg/Jb6OOgzw2Gtnfp8zBDy4foGZ5/Tb7+GWmvpzp69WrJnmXtDF33rFauGNzT+2HmGd0BnB4vPoR3TS1GTXimfLicqYbMzJ2s7T3rQfkt9Hagpz3aV+8H3vTwfD16l2JwCPz90ItzJjp6Pn1G+PQGPVGumPiTkC+4PffVcyNzjgZtQ6+e3/fjLmrl+wzi9bSWa+8e9Oj4fPp+5KLFR2897ZnjCd8ZNQGHIDMjWtNPDVo4fuYcXP9H+QwxcTXOwX1uMH/GPEseGS+D2p+rapjrKdfn2zzlNMPzA27NngS9nvTeMTXBvFzvwGe3h6vWM8iEz0r2rNZw9FNDhqN2zsHlPspniIl7l3qAs6O9c8RqqT2bmmDm3mrgeI5+9PKmx2P0jHIB9NHLLM/nvtRfd2wP3/cD113B7eX2/YD1LGq1zKid07uHmPzuCa+4XHBienqXesD3WeA7p1ZLZpdGMWd4eb7+PoNa8erF1OrTHr286ekdewY6n4nnoVZD1udR/nzG7SwwuM5ao9XTuXx5njVxtIZce++/OLXhmfTiZPBG9c7Yw13V1g+9eD3rBUeNXma1zvWbevin96MXGZ3aE+7cs+DJdQ97OWqYW5O3AIdn6KkOXC3nOC8+PZg16u+ueuo38XpSO8d3aui5bz35GbM2P6BfQnz+/ngOWU9qn4EarXr5D+iJ0Yu5JzNDLRzm+pjl6QEuTw0ZXA57Unf+aH96U8ud57ijc7P+c66ezIyQe3Vff2P1guddwjm9H/j1h+sZ/t3Qk6wntTw99JFvT5ZLdv4on8Gcj57qvOOLdc3l4kOtn73eavUU1xvPYq31FDOjpbY340W4j3Xn3uWT+PjiDO8S7PR+fC447g5G6Ok5ZD2p5cFV6zOIwStWjbN6ghngDflg1vhRkz2HrJYZH4OZIa4OnFpP5s7I1j6D+sfot5DrwLukZ/aPjFcP/E96IF/gqxfhs06OuM/b+ZzBYV6cuho4ndPzwwvmZ/LhEDwH/zfjyBtnngVn44LPHabWXp47PqRPrR7uYS8fXsO5GDx/aU87wp17qJ9+xdWJmd3VHel7dj3LKa4XWT8xvHimV55o9COX+2h/83QP70GtvVkcDzFqgznhjNxQ3/l33g9e9dSvZ1ifZnNH+L2f6jwLrLhnkPUTm+/HuV4+e/3E9Khm44mp03v+/tjLP/n2XLz0BVfTOyqfunx3UWevxsz8U8/y0Olp9mcI73Lp3YOaYA5/8pgReKKZ59THWq57oCfUzrnvAw4ze/n2zthxC32Zucv2PM7gqZHnDJxwfnWXr1wxcnXW8mYPH1+ey5Brr8bzndszp55RnVw5nakvR0y+/t4/OJi9fH3ZkX9G9l+AH+3PmGcx8Ll+kh6FfmBq3MWZvXP1zF95ls+ePMv0xAue74e6OuabBlwec+oZ1cmV05n6csTkO5u4c/3s5W/3I8esduN63sxo1XHWKdyjc3VicOQ5qyf1H3k/+rs7ved0dnru8tFVOz3hghUHM8AbevXsV9p5Pl566tU85z2756Dxd1yOvvbsSIA7m/uIl/sUDY1YM1r8CJ/h6q7zekfFy5/7yJNDdv+N6/7q3KNnu6czua9wOPLJhL1nil/Ta08x8nw/s593vu3jWX0ezyM7d7fy9IPnnJpgVu4T/IFTyydbg09PMfFynZEN5z37lXaejw98ghl3ilfDec9g7jnUasmGOjBqfcXlNTubZ8lxXk8xsuc7r27zVFv+6Z+ReqPxrOo4a/o579mvtPDV4Edsntfk+n7nB+vk2Vl3vJx//3aXE7dzf5bE3LNnegKz6amu/N6PczA5ZHGx9tZq6OupfmLi7Gj9o/x5HppP/OTJ1afZPcHk935OWnXl4iFer7/j+3FX9pz1D+hn8lnkkedzdyafbO28mLPTHashE/J79tTKEbe/HD57P3J7pn7kng8HrMGZhGc7L85cvFxqg7ma1s7NnkOv59yxMz3BpnabeXa5aAnPu7rLrzy1nYOJlwtHP3B+b07/eQ8uoV5dsSfhx5fnFauWmjBTb55qnMuHu905cz48i9oTF5yPno/yp4aa6Iy+Gv3BCWaEns7N1/TLU546z7KXP3vxf0zmh+rfENuL8KU1bzyevz8I8r0XZ+Jm51ue51TTWb3Fi+FdvGfVszg1M+dmcTKB72n2JIyvchm5lzW/9PxyE51dyBc2z3WOf3XW8vWWf8onn/LrXfxUv3t2dfrakzfM+Xy2nuMfyu25X3nWu/WffT96mecO9n0Guc3b+9kwNHpWv9XzzOqo7c312DDnzPD2HfQc3w+c6TF7/KqlL4eaeTE4DWdyO9tq+c7e9fJm9jz1zdZqZi/+6tnhqDOr66yYNXy8T+8HHpzpO3t4/H4Y813In1k+2Rn1fF4wopxZt5/cp/jH17Zbz/MuNo95hr7VwznxNnzD9GWGd3fqjBrO9Jg9PHfUs5xTjc4oB4y+71xeMxzO3bTlnWp0esjRyyxO3jBwdzjdJRxi04uZL+bX98lTvvlLsVf4EOZPdWg2LpheZrgNOfPna/Orzlre5u9MLrnYpgGbu6hHq16tPZzWaszM0JRjbZZ7yp5pnrrZ1+c002vbTYy83cnmqZ9nq5s42qmnl49+asCI6mZtr9Z+6p5G+YKHRj65dag/8WLUnmmuvt5TRy93zvRSL48sRu696SHXnjz/XqrTS+6mBSs+NZu2/OrREnN+ob8+m7qep86ZuulZ3DPNaKm5g3pXY+159Opbn/R6e8/6kespXm8wdeDWcs1q5l24k3P5Pbe1/uV3rr5ZLjxr5urI1uDE7C/0S6+PPDJYezVmZ/TqW7kmnPMAACchSURBVFevhswzn2b1VFNvsI0j16xmcj3XufzyqO3/yPvBU33PEav/dr5YMz7uAo6Hz2JPNnqGXGfdqZ7OxdB9EvWD/6lu4+pl9vzp6TO5K3w5ZrXmjdNz1Ompjuys2KzLsZ5ZjTg9dfeQQ952EatHNbOe3p636Sc2e73MnjV59HDclVqOWa25nnI2TE91ZPnFZl3OrNtPP2bdo75zl/q0np718G48A0+x8vSQZz859O84PpP7l3/y2zjF5vNuPsX670X1geN+1vTFxMmEevOFvtbIUaM/udE9xdWQ1Z1m4uTp3dk/pv63/A8g88J5mX2xc37q/SHovD6nl14OWntqfuj4f7EqZmZGffJkTmx8sP5x0afcp/jwNXnqoW+ziU0e83Jaw204m7kcan9Zy6Oev6Tq5Nmby5djhkPtXdqTCWbv3o97PgX5QneaSXMP88TpmXUP+40rRq7npxp15den/vPZ1HCXzqptXZ/eL5y+L3gTq0/rerZ2FzE1f9X7wdcdrT3DnjxjctrLnXcBDq/c1urI23PD7XNXa905PvSGerngE5sztadcvn5y50zc7Nw88fb9F6TyW8snF6eePZy+n20Opzi9sb0fZvP+5esz5+/ej57qzeCtPWfmcqj59LnLLxfc3nzCuItX/4xE9yrqX173LKd1+a1PnHn/auR3DkZv2JPlM/vOntVNH/v69exqxcnFrc3M/+7vh13d12e3Z39i9mKfvJ+nwfJ18pTKvBz7/vvGxvUZnDXrZ2b27v30GetlXS8xcvcop7X8YtRb7x5zrsfM8NQwO3mKmyeX3iiHe2tPzaf/DlOd3N4L821Hucw5p++8M+rq4TeYl9/Z3MOZfLO4eXrau4d9+dbN03/ru2PnrevZmntrqMFzm825z2PGC0532jB9OqPeAm755cxznMk3izd3Rs3nr/x3GM7S07N6p2LwTnHi89ydqddz3gu9AWfON2zy7WdG67nMWk+uvRyzuFncDE796ndc7SnXS86f9ew7qP933g+6V+9H3/nOfIYtq2FGPftNI3fLxVpP37/b+5n70XOP794Pz2iomT24H2czM9+i+PTobGrlyjHD2+qJffJ+qun5Gw7Wn8tyWtendTnUfE7vp9zpgaYht57F5IrZm4vr0RnY9jO0cavb6mKfvJ/T35zuXM9372fTqSc799ncUVzu7MW3XC51d4Tv+3Q2++kpT5yePbkrtc6a4Rmn2jn55PWJthw9werZWs4/Ov9b/wcQXoovy5dI3l5yXyCa/gIzU8esenswz4LfEPcHXW7PmLN5nufoa6+XZ9D7y19MPnrx1mB82ENP5gSY/8WUPHBquIS4zyFG1m/y3bO5/JMHPj2nGs/Ak7B3hwv99Y7gEHrCdSdnYvD0pJ48MELOPFefiaPZMM8n82FHec7qyT7ij/LJJxPMfEZ6efWjJpj5bM3M5FNvHhvHc+HPfenriV4eeZ6x6eVUS+3unRef59Z7aia3c2o+p/fDTG/ON7wXZz1Df7HZ+2xkYs6LPQkvOO7hnmbPcIf6uPM8V9ys99TSe44ecjxXjrieZnEyWH3qTc3Hf9bZP6Cfus3T3Z31DDyIicl11vfDjFBrvtAvvJ7M2EMfZ55DFoNbHI1nyGlm7jOiJeDDIdSaL/T3vyXiZD3JngXeWj8xevi8H2fk7kENh5Cj3ln5k6NO7tMoXj1vnjO5nive9wPm2dRw5XuGmXOs4Vqbmb97P3D5GPZT5w54UjejdU6tnzx6+Nv78Ty5Znz0bAZXIwdvArz6J/jjy5laPcvRxxlc4tX7YWZ4J/bq62dNli8PHbUc+y2Xw9y+np7RuV6eA5+a3PdTn+6nHm/rZvdQ0x16przL5dfnlqeHHHbivtU69wxx+WR/jjdO9dR89GjuXXzXEz7h+fMMvAnPu7qvnw3m7uazwJk7qSN7hnWz58Ah3OvqvvrJ09NdnJvRs9O79+Pzep7P5B71647W6OAQ7uRd6F0vZ+rNPQcv9jjpmU9+z9ZzPoue7osPodb6Cf7AxfTss6j75Jnc14wvOnYS287wDuATcsmfnOuOZGt1Znytze5i9ly4hHdJ7aw7iTEn9CFbT071T9GPL/jMCLVmMft6qPOZmtH1/Oqt4fdvsDja6eVMz2b4zCdHXC49AQ/MM8CszXqZp4fvB5zQ0zz5+pBPnO4kv97W6uWYPbM9Gp+pGVw+dTXW8E/vB0731btecsT09e7Eu0cxPdHppQc8Ag4xPTxDvHowcbT1pJY7Z2i6E3ODGVG9vmbPnL2ezXjJ17eYHvP9TA08ML3rpYea9vDlOre/Jl/3hM5z9JDjufVgxvvZ/nsyZ9MHnBDHj6AvRs2s+z/a53ny5LSH447i7fU0l09N1FePP/N+6snz6OkO7lceHHlkOWJwxajx5V0Q5cz3czGub2bldibOGYT91V3fnt/cGo16FP4Mea5zezibXow50V2sew4cNcXFOG/i1VAT3etC/kXfvYB/0WP98ig8oy+dAT8sp5daHtwt5Jg3jhicV+EP//RyR39Zpsfkd67nO6zz+qknE32GjQfHfdWosyer1a8aZ+gI+u3Zy9PzKciXWt4xHgTYFvVzXt/Wzs2eM73t0W4BPn/+ek5r9d3TuVnOzJ1TzzPfeVZT7jynfXk9f+PA3d5xdfXTw/lJL+803zzVkPvc4p7pHI/G5llNudadb2fWU64ZDzXc4Xy3njHzO0/4csjfeT/uZp56fbuTXDGfiXyKcvSUT7+FvG12wvDUr2fKr6dc8+SU66xZfzBqQi/zhX69n3Ks/Zvn3j1XHzOzvl+5zvXUi56QR10uPQHmz+M77lPw+CoPbPOVa37HmZ6f+m46tBvODgQzo7zuSO29vOKqwec/+X7m3w3PdbfmPhP4K6667XmdkacnmL5msBmbDs6Gbz7ldU796v24x0mj75yDN+SBlSvHPf6q93M6g/Pm87qDO6NVTybQ9OfyCeYL7Tbvc0vX255cXufUc99y62G9aaYnHo16ljs5vp/tWcul1lM/M7PW9ISYugv9+i4u18ysO03u6f2V50l62s/cOfUn7+edxrl57tVejtn94Lx6P+XDJcDEzeJy6AnnnjPn9HAIuVd3/Sz4fpj1zmavhlxP8ektbu58837lqXZyxM2eZS5fjrmc77wf9IQ+Zs7yLp+EH1/v5tuOmx6f/+b7Ya9G9xT32cziZnfe7kXOzNPLc8knn3LQE5uP71nO5E0Nc73LLY/av2N9P1NLb9RTrJ5gkzPn6uSS4RjW+pBnwHH3bT75s1fjWWSxcsGcfcpVr46+tXO9Oy+P2mec70ePmevprJ5g5XTWWu3GLa/15Lo7eGetPedd9hy0/V3Sy4yP3OlZzuRtmvKdm9X7jGY0p3CGh2HtDHw7F7xn0xMbt7zWk3vaubzrlN+/J8dzwPt+VE6+ePPk6EkmmDcmn5ma1mL61KO1/uWprV/PnXPutHq5xXrmv6L24v4VD/PmIXxWX7wv+I3sOVYjt319Wst9ld0Jjj9oxTatZ5hfcT6dnbz6nHptmLNTrj/6/rLVr7zWJ1/xeoDNXt5/M7/a/4/Ouj8e2x/scj6tu89f9X6mJ73xd3g/7rLlV3fb59q0xf6q55xntu8ZxVt3J+vO68F89mpmxuOv+hmc3q/6v+rcT56z93TaaXJOfXHrd3nbccO23fDe3g/6/g2u1n2KfVLXc577ZzzRvopX3qfZO7xz61Pe3sWGbc+A5yfvp37usfm9wv4T7+fVec62fTfsFd+ZedOLmeX27l5hzmY+6f394by+w3n+9Gtf7j/x/Wx3w/P1ufq8czbvTu7J13nzxv2r7rLP8Vd5dvdP6u4gf8O22XY38E76PqN+E6Mn8Pgk3KFniqEH/7/8/elefZ7uWHzWm37D1HV2OqMcdeY5w8O/RXBOnupn3vgTaz/Pn37tJ7f9p55o+vOhP/o+t/jMPdPZhjGbnt1RLfmkL6d1+SfP8r9bf9ez+8yznNVTbHLpmc33I+b7sSfPAOOsRrHW8PSEf9qxmvp+Utfzr+J/13PuX72zYu/2nFw8eGfepT15hudN3L5zztGTec8tr7U+n+Z6fqr5T/O2nTbstMfGBfMuua/5O6bXu7vsvJ7oe255eptfzeSY6yn2385z3z+706YH8/3wfBvn9NxyzerJ3d05GEG/RTWdqy9mXY3+zNCczlH7r8m8wP+V6Itt3ZfPXcx+w7i3jQeX6IzannOt4fmDJs6MP3SEGNnPhoPNgD8D7w2HB+5ecorBMfylly++5Z6pbzE03/0ZnHo85i6+n9MzyHfeHj93rTccPmrIc3d95NUHL2PD1cjZemfk/gPRc8HVFQNveL5cZhsGPp9RHrMt9Cxv7lLPOcNTDA9rcD3NYM7Nasg9B65RLlj97OHIA6MurzPnZMM96MvVp5gas+fIBReb9XxGeeaTZ+dzl3rOGX5i/kv0PGN6w1fDzHpmfcDr0RqOHurVidPP2exPXM+efM9wbo8Pn0Z7fcS2DMe/+/jA8aMe3Hj3fuSd3k+fgdoPOs71zJmZE+DuZxZjDsaO6sGIzfuafHHhECeu50zvS/W1mx76ORe310ce2VouHP/eOjf3XehZTH9nzb4fzzOjsYbfuyx+8q4ePp+J1ZMzDD3N4NT2nm92boY3z2NmMO/Puri5vmLkk6f4fD9q+i70K+ZzOZsZrjuZfUa4YO/uEl5DPdrveurj3uitmelnBnNO5qNGjhku4V1e3a/f5eorg77vdp5lrwfcvgt9vHP4fF6FXDj48vEc8zzD80/e4Oym36P86UkNjudJD8eZ+4AR9mRDrrkc6nLR/NXvxz28S88ji8lhRzH3dbZlOD6DWZ0z77LnytFTLr21fsWowfWkfxXzLt2h51ub8esO0//kCU9/anac0blnyJm9zzk18sjvQi48fdQ1T54z/Tu3xo+PXP3RbM8OPoO73LieAV9/c7GeCU74ftxNTj3hbefKZT75PZ+5MTXqTnx177J6cj19LvX2ze4kVi71fHb58szgG9d94HlGMWqivmJ9P+VUD95z68OMmPzZX6xfv/F0j3d85nJP5+Muz3sgu7tnzKxfuXiJqwdzBzNYA646cOp5Hn0xeER19ZdbTjFwd6xH+dSE+6if/It1fePpHvLty9NTbPOszprcvzn09ZKnH9nn9Cxy71yNubzJddZzPaMYPPupmTN3nXz3dq7PzP4+qt/4zAg9qeU7AzPwKH7ylGNGD9dzwKudfbloDXn17cya3HdJj+fUuw93RZRDzYfoXMzMvLWexbZ9mW94MWtzNdTsxadnPdp/d/B/0+1/PXzh/mBwH9T21u3V9O6Yi29cMTX2aPwFE4NDPf2Ky5V3ymj0sVbbHg64v3TlwDP0kg/OL86JDz5n9Or1m5x6vuJWB8+7VPOAnrGdA5dziPq0nj4X+zrHHeHrz1wN+PRiTqgxT+xJ+sGjrid9fekN95BP5uN7hdcan+nlTmY0csz6M7M2gxny28MjzNaT6/sB76y1Z5qdTa3znjV9nZGZqSETYL5zeufWnLl5Mjf0Ukvm03fSun7UBFlN93FG1r91sXrBMfSmh29Uay3X55arN70e1cgrZq0GD33MnZ3qzUdu93zlKR8OfvVk9t33g8bQk95af7OzZmpCDTV8o1pruX1u+TOrKV7MmmyNvx91zui3+oSBn+6Vn/HO8DbQET4rNVzPmfsxJzxv/v6ohaOnXmqYEZu3GubwjZ6jH1yCM62fwI8vebSt5WyenqkfuXdXn60+YZypp7U9mt4bcwKMHQm48Ai56s3X9PquZ+fTE7Y7q9EHXbXiZvehZ0+8Cf2u7sI3n/Jaq9s8PVM/d1Rvdg+9xM3O0Yvpyaw1894bc6JYfcTrcSm+vj2zmWl9vthfuHcs93SGPnrMu6yPNZr6uZseZr29F3C5Zn30FG+mnuEc3Jrd9ZGvv7ztzsH0kIeu3PrAmb16Mh/+M5//98of5TPUMPcuGYB3Zs2M0JvaZxSvjzV6a3nTExwMb0K+Z5mZqZU/sx5wCXt1YNTuXpwZgYYPe8irD7U6a/rWj/ZnyBWQR29tlqMGnD3sydZTg7bYrL1XePWkN9SQG5wppk+57oTGHedcfX3lFPMsfTqjRsOHPeb7eUA/MWr9X3l2Vk1rfcAINdb0M6bm1dznUYPfK094je7DvTDXi+w7Q6P3nM+71PPVHqeZ55g5y/AcendoXU9333jVdA7u7tQ8ez3BCL3Zh6AnqlVX7skPrXvoBUbgw99gYvrrfU2vuRzPZ7Z59y7hqJMLNmPO1HgWnv68yCUTcOTRg8OVJ0YmxM0Toz/dp96fvB993L07MjPcg0yQ+fSfkWidP8pn7X3QzzsAI9BMbd8Pc+/KGp3hzvoUL+YzMteHTMzdOuds7/JJ/vFVLRB9n+P0fuDC8xnrowcca8/f/PrsaPSs/vTvMHDUW9t7dn0m5kwtczlkA09671DOnIPzjIa1OzWXq7+6d9nz0ek5NfWEz+d/Ok4X9b96Kf6AnO5F3B82f4CqE+MOxXufYP2F1hNOtfTOPK865p+EHnD1med86qMOT2u09HM3OWZ4hDuAE/bWT/DxNXXgGyZ/zjfuxGavV3eSY5aznTfvoNxXdb1bo+ku9SiOhgAjpgf93E2O+Sl8fOkLTthbP8HH1ytPOTP3rNYn3iuOGjlmcfbmHza9k3kHct9lvAnvQs8Lff9dPey5Kz27zX2388TqMf094+TJfIvpeXpOeebNC6x7TS7e83n/6PvxLO/mtDc8Qy5997SvB/M/e5f4vvKc9wN/hpy57+TZy7efuT4bt1jr6WP/iuPMrOaUP30/+BHz/Vzo+bt76AG774i6P6Nnt2uip371clYPMXNn1PXZOGLmqX/XV2dtfqc9vR/0hM/e/lNv9JNbH+bG5InPXH1reWDz74/eZrnm+mwcMbO6T/Om27B3fq80nVmbX/lODj3hz0Xfv/XF+PqWC1K9vXPzJ+9Hrh5ksC0488/+3Th5b+edMJ+d+fRjJmZtPvmBTw49MZ938i7W9c256synXZif3k89W5885ej5R/4G44HeffU0v5rJIbuj2PSrj7VZzZblNMP7b76fbS8w3zu7ET7z1s99L8X5ez6v3iiczfrs9vV+3Ll+00d/8zvfeqIhitG/8pIrj+x+Uzd7uK/CfeDUc/a+n/m7efJ2D/31hu9s1icveeTexclTn54jNnM5reHNfmq3Hg1x2vOafn2/O6N+qopVT+176t2oM089uPs2g9ef/hT1hDN19PNnZ+NwvjtMnxMf3qdRD2qC805R/sbZPMTmu9DLvPmBqe89WDfLfbW/Z9Rz0zE/7avHlvssrbczNv3E6kFN+HydXZOvn7NtBmd6FDs978mrZ1Kf3kX1rdVv2T03XzDmp32ZfxKe4X2+0nyy9yc+r87418zu/y9A3r9Kf/jK7A9ZazmbhpncV3M9tqzOXM6GvZrLb7ZWN/uJd05tT+4fGXH08vwlpOcPhHi58smG85mdk5nVf87UFqcWN5/mE7dXZxZ/leF6V+XpwX/4I+yv7uu+7M3lzdqe7Jlm9HMuJoe5HGftxZqpZ6DBkzjpr+mv35P76/RXL7jyyT4DGnHqU8iZWvmdg9k7f4Vtz45eD7L7muvnXGzzc1ZfsS2DGdNfnMzsFK9maJxveXvO0znTS7/yxcydqd9mYNt9gssvR6+Z9QA31LfXd/LlmtXMPOf6kU+e08Nery3Xy7m6Lcsh86kevnPqhri6zqjrNWu5esx+4s7Nc25vltf8agZvzu3JvRN6Z+i2cL5lMXTW5pMX58Ph013gn7Ti6uA2Nq/OrfWxJ2+YuLuWb63OLK62/ayrobYn907Ep769ernN1vCtzfWwZub5G2/D0BZvXV/rV3nTTr4c8vZ+Jl4+XvRi9Ft0Xj6194NOnv++dPKSV019J96+nj2/nnI27OSlpvOp73nlVTtrNf4PCCdP8VOevu3VgFHbk7f34xz+Fp1bk63RWM9cP2aeL8+5vVmcLGbu7NUcvueVN/Xt0fS/HJln6il+yvWctRrwU91ZOdOrPGfw/RQrd/ME877m3N6s7zvPV3PPay6/Z1jD/eT9lE/t3mbnMzN/x1EjzyxO5h5f/Y6fztHLXE+wV++H2abT4zQTN5/4zs0bj1n3eMVF79ys5yl/yqv+pAHvrmrET+8P3uapbps723Se+y5XS92+Z4L7XOT+87ezVx74EZ5hvtDfv+vb6dTNHu7E9Drdv/PmnvlJfTpz4u+83AFetdTtOxcnb+8HLnHyUC9ny2ANz6qW+daz06vQ6698P3p67mmvics/5ekrD3x62Tf7e1TdVhdTD0btfdZLTN2df9zA/T+AfP9HwR8ysjU/YPyC0s+YWH8w5ZZzquVuWU/zK4/O4BPmq/v6LnfW1XSm38S+XH+v4PKpZ1ni0xN8YtU5g9d/MG8csemph/P2rZ1v2fP1rq412vbwCbLaJ/Djq9xZq4XaGf3mBd6YGnr32O5y8wTbuPOcV7y5xzzHubg9Z7TumbOe56MDI6ZHeznwPL91ubNWC95Z9dSnUGOWh+92592vXPTbTF/nm6c+zdNLn4mjcVb9J3V17qeus2I937rcV3Vnes6sp/hJA693SU9MvRjc/g/E4MT0n/3F+v17nqNu4tsZv7vte1eLP976e1695DjbuM7qbd1ZfVvrKVZNaz3loSOmXuzV+1ELd56x+cGbUV3ryaPfPDcMrl5mefZwDDDnYNYbl3nx1sxOoafz6qzl2MMFI8jOn8CPr//k+2GP7kLtPt3BetsPrH8P5Opr3rTldt5aTrOeYK3LmfXcEx0YoYfn2jOTY+2s3NbwiPrbPwc/vtQUmzUensesnq3VbZ5iZv3M9S2m5zbHa3vnarrbyVOu2f3s9SDrIcceLpjhnN5682EuTk3Uk1499Smmprz6u+PmKWbWk9ya+bxzNT2X+oQz05OamP2Fvv9W17OsneECZjinty73Vd2ZfjP3LGbVtJ4zde5UX7DtbzB+rzzx2Pw2vD6t4f6Z0MvsPvZ4i53qcrsLOFo+3M+J9xj9jJ4FqIZsLbk9OmLqxf7s++lZehY71XD/TOhL5uO/J9ezz3yqy581mj/7fnqu/u5Oz/xVbO8Hfj22fjvXc6o91XKbP/HUb2b/x8T6UetpFuO53wWaT3j41J+e/cAId726X3s5zsz66UOuT2s0s1evX3O5n9RqX3nK0c8MTv3u/agnf3KOvO+8n3LZiXOI7jp7OU9ivtyx2pMneHnYqI/lT6zcT2o9Xnk608+Mlpp574eeUGf9BO+v9zdw/w8g7+/oFcMfwHec/tBa8wPdH3A8Zt8feOvJUbfhzsgEnLmz+zwJ+YKnZ3Viof7kiZ08matvtlZvFifj2Z3gdN6euiEPrDW990pNdHe4va9XWn0mB08wcfLJc87Quo96MAKPiYGLdS7GnNDz6n79lttsDbN1lXp23vqd1juZGnC98aCWQ65OHJ5RrLVzMrgzsp7OyMScgbmbuTw9wQwxzrA2y6mXmHly6f3AcW4WszdPnP4U7NM7gTd91II7I6srLpcsd9bldFbP4taep15+71SsZ5dP/er9vNLpY4brB0xt8zYvl3qGevDW8orN2p7sfVGL49EZPdH5hXxhzszb/OTJDn0//rxNLzzFTu+HuRz4hp725o3LrHh3U2cuT4w88dnXc87syX0/9d/qejqvF5i9c/MrfP4HI+9y07zCfM8bR0939LntzWj77sF97uk7eXCN6TO1esKfM3s9No7nNNdTvF5iW5Y3Z+Db+5k8++5cjPrV+0HnDtOjuDMxfH1uM9jk2TMj7PUxX9MvT7ni7fUotvHEup+Y524zOWR5xcS9V2flti5frpg9/E1THnPONOSrnb8XPpsZnR7VTs8+lzzP1GviejdbT6492Q/chrjczlp3bu2O8MRe1XNGP6M+zsSavUuw4tTO0Hc+94VX7dTRoynv0T7Dc6Ynw555sX/H9C7fXdQ4a95mxcrddnPuWT6HHuKn3vtwrt+W5ehJ3s4Tm/v23vWYnu7TOfXJUz1504h/958J9fKMDXNG7vMWR6eWzD0Y4qfe+3BOVrNlsd61WjE41N1X3cxqxU/7OJdPLjbr2X/6fnyGnmNdT7HmPq+4mmbOIMR6ptjFuP7/jyFfzDy54GJo5l16jnuaq6OeoSf49ARjXg4YUYza55h8et5P+d3tMXqGHvLsT3Nxs57qwa2buycc7618a3X0DfBtJo7nvEvPebVnz7DuOa23uRi5XOo+92mmrnMwQqxZT+c+41MwvrwPn5+xNZ5+9PQcbcDlW08OXH1OMzhzT89kdscfvIH7fwD5gxf3B2X+EJ9+eMW3X4hXvxzbOpNvb0bTevN4h6kn+2xoWuuxYczUypue4nLbt+7dFcfPT3Frz6N/taNzshr/QBajNuTZN88Z/Tx/cqp/V6P1A7ferfXZMGfN9Sz+rsafmM9kb75YX9/F3VEvWeWA0fuZXDXy2rfePD1f3uSIf5LdT496t/7ES049Xz23/GbPdB9n9mbxLesxZ1NL7+fVnlNX7pzRn86f+2z95gcmXu/WzjfPickl91km71Wvh5zZi8/smfJ7vjM19nLFZ57z6Vm+nsVO9cadZ9H76bl40ss3g89gVq3c4mJTe+onn16se236zude/AcyQ099xd9lPafund/G18sz9Sg+semDdsPqaS0XfzSeM/XOq2tdPrUfOO+0pzkep/dz0nDeDLndEY47Tlz9xOn1esXRFy4xfU7Yk7zwe+7Jc+6ll7k7uJ/YO60eW+4++sL7jqdc9/Ec/Sbu/JM8tfZkd998Xs31UCfXDD45PqOaZrjl24u90upzehZxvcyfeNbbncTIYnp29qp2Jz3K1cvcWWvm9Wk9tXInXr9XNbpq7cV6l62d49396J2J2/e/2BGD/0lMPr2fT/Ry3Il+89zwapwXa715Mp+4PuRXcdKB91w8ek51xeE5U6/Xq/9sWg/1eBkTo/cj55Tr7U5wN88Nn//FM7r6WOs3/7lbTznFqA297MsHszfLm5k5XhtPzLnc/6v3M3e3dy96aj/07k493w9YQy76GWIzT569XvbqZj9x52bm06sza7Jc/76JlVOv7exi1P3U5zs1HpxLTL/u0/pi7994zNBXfOM4I8+zJt/eXG1r5vWiNqZ2cuV9J9eT2s/mUe42B1Pv3vZq57OJ66fOrCd9Mfl3/otu4P4fQP6ii/yGzbsf6PnLgbUaZtSTQ+/nUf4MsfKr3+aKt5na+lGLo1Wnj1m8WmfNzs3M1FpPfrlzF3uz2s1TzCzXLI4XYX91V2/dPHnOxMkEuXt2LudJfHzxD2jnYmrLpRaHV83kdaanWS65fszf6dTCrbZexaenes+xhzfD2fSD52zT6H2aFdenGjF5vh97sjtNLjOxeoI33s30N6t9p/Ns+NWC25s3T/WeYy935vp2dtK98nVWH+vOpvf2fqqzNquvpzOyuLzOnHuHZnG1U9O5s6m1N8vbPMW2HYtZm+tp3Qxvcp2Lz8y8Oufqvvt+1E2f4j1P3MyMOzT0UWPvnLzNfA/O7Mk8E+Fsep5wNU/xD72+YpMz8XmWc3C9zJ2pMzv7T70f/Wd2T3H3IffjnOyOcsF8RjX25D/7fjyHrC9nGs7tze5iX229isOtbnr77Ho26ylWbWvnZPDTzDn7GXKrE5PjjsV9RnX13N5Ptfiq8wyzuP7mObdvVitWLTN7s7zqqBudFafW07rz6ePsld/0qUd1xdH4fjyjWR3PbMz3A/6pZ/2oX92l55nV2ldbr+Jwq6NudLbhPvemK9/65OecrJdZzN6s5pP3A3fuio9e5M47Q2uIywXXw7r91HWGh35ke3P9qtOz82LF3XPqZ68e/NVM72ZrdWZw4t37gYPGXekJML06L/4k5stZvfSA5rzYCfc9qLE3n3QTn2c5JxuT498Q52Z3sfc5i+tlhrvN9Xj3fnxez1I3PeUVl2t2Vi8ww9pcXK3YPM/eDE+NWe2cFXdWrPtsXnLnbO5S75NncfjfeT/VdhdqdymO/4yTBzxnZrWb5zyP3lCvzuycvGHO1W/9O1217uh55uJi6sye/er9yEHzztM53HmGPuTOWne24RPTE5wP589wBl69eDE4ekxcvc9If8d9A/cN/AU30F82fzE32/Lm/N3s1bxe5VHbm+V2JkaWZ56zV7qpedd7njyzZ9JPbGrsp6a6WbefOvtm+JsGzrtZfeSLVTv9O5Nf/eQ7e6Wbmnd9Pa3Jxquz5JB7jppik7vNNkydnvMs+5N2w8Xqqc92nphZvX2znhvH2eRvffWbTs1pVr1cs5oTx7l884nPvJrJ60yvqZn4Nq/vyVOdftU4O2k3fNPr0zMm791Mvlm+3uDbrHM18mZ2PjXynNNPbGrkNk9dPeZM3cSr6ZkT70wvsfbW1c8z5agv15mYWbyabda5GnkzO58aec7pJ6ZGzpanrh5zpn7in2jcpVz9TrnceWY1p5l686ZxZpZDX8x6ZvnkauQ570xMTftZn3Rq5zkbXk79im+67jK58s3bXH3PFFPXPGfVTf/O6iFvZjniPevV7MRXz/zEOc0mv301xV/t6MydzOrr6cz8biZv5qnzLHmnubyZ0U2NXq9m+pTb+s946m2eexSfs+7gbGL2f2TH6flul86385ybu1vrOX83O/Hf6Zijrd56Zr2mRp5z+ol1pl7M/E63eU5NOc7M89zi7mCuz3d1Uzv1ntH8bpd6Ws988pPnnH5inVFv83e6TzTl6GfuucXczbzNwIhtdk2u79Ncfbmtq5vcztA4n/nkV1y92jmz3+ZgG/7Kc/Lb62f27Fd+zsottnnJfTeTN7M6MmG+ut9/JpzPLF8P58XfzeRuWrANf+U5+e31M3v2Kz9n5bauV89SN7Fq7/q+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gfsG7hu4b+C+gb/BDfx/POqwyWTN/VAAAAAASUVORK5CYII=" class="kg-image" alt loading="lazy"></figure><p>6. To not leave the value fields empty, fill them with the text in their corresponding key fields.</p><p>7. For added convenience, rename the <code>localizable-xcstrings</code> file as <code>en.xcstrings</code>.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">👯‍♂️</div><div class="kg-callout-text"><strong>Plurals and placeholders</strong></div></div><p><a href="https://localazy.com/dictionary/placeholder">Placeholders</a> are the parts of a sentence that change depending on user data, such as <strong>%@</strong> for the name and <strong>%d</strong> for the message count,<strong> </strong>in our case. <strong>When translating, you only change the surrounding text</strong>, leaving the format specifiers untouched.</p><p>On the other hand, <a href="https://localazy.com/docs/general/translating-plurals">plurals</a> are used when a phrase changes based on a number, such as in the English language, “1 message” vs “2 messages”. XCstrings handles these elegantly. And <strong>Localazy keeps those plural rules intact when translating</strong>.</p><blockquote>If you're new to plurals in software localization, check out <a href="https://localazy.com/blog/pluralization-in-software-localization-beginners-guide">this guide</a> to get started</blockquote><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Make %d a true plural</strong></div></div><p>Right now, our “You have %d new message(s).” is just one string. To enable proper singular/plural switching, <strong>let’s convert it into a pluralized entry in Xcode</strong>:</p><ol><li>Open <code>en.xcstrings</code> in the String Catalog view (if you see a raw JSON, right-click the file &gt; <strong>Open As</strong> &gt; <strong>String Catalog</strong>).</li><li>Select the “You have %d new message(s).” row.</li><li>On the <strong>Attributes Inspector</strong> panel on the right:</li></ol><ul><li>Add Parameter, name it “<code>count</code>”, set <strong>Type</strong> to <strong>Number</strong>.</li><li>Add <strong>Variation</strong> &gt; By <strong>Parameter</strong> &gt; <strong>Count</strong> &gt; <strong>Plural</strong>.</li><li>Fill English forms: <strong>one</strong>: "You have %d new message." / <strong>other</strong>: "You have %d new messages."</li><li>Click <strong>Save</strong>.</li></ul><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">☝️</div><div class="kg-callout-text"><strong>Tip</strong></div></div><p>If you don’t see the mentioned UI controls in your Xcode, it's time to place the <a href="https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html">printf-style format specifier</a> pluralizations directly in the <code>en.xcstrings</code> source code instead:</p><ol><li>In Xcode’s Project Navigator, right-click <code>en.xcstrings</code> &gt; <strong>Open As</strong> &gt; <strong>Source Code</strong>.</li><li>Inside the “strings” section, replace the "You have %d new message(s)." key-value entry as follows:</li></ol><pre><code>"You have new message(s).": {
  "extractionState": "manual",
  "localizations": {
    "en": {
      "stringUnit": {
        "state": "translated",
        "value": ""
      },
      "variations": {
        "plural": {
          "one": {
            "stringUnit": {
              "state": "translated",
              "value": "You have %d new message."
            }
          },
          "other": {
            "stringUnit": {
              "state": "translated",
              "value": "You have %d new messages."
            }
          }
        }
      }
    }
  }
}
</code></pre><p>3. Save your file, then right-click again &gt; <strong>Open As &gt; String Catalog</strong> to return to the table view.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/untitled-4-1.png" class="kg-image" alt loading="lazy" width="1600" height="613" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/untitled-4-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/untitled-4-1.png 1000w, https://ghost.localazy.com/content/images/2026/02/untitled-4-1.png 1600w" sizes="(min-width: 720px) 720px"></figure><h3 id="step-3-create-a-localazy-project">Step 3: Create a Localazy project <a class="markdownit-header-anchor" href="#step-3-create-a-localazy-project">🔗</a></h3><p>Now it's time to set up a Localazy project to translate our files. </p><p>First up, <strong>make sure you’re <a href="https://localazy.com/register/">registered</a></strong>. Even a free account will be enough for our use case. Secondly, <strong>create a new project</strong> with a preferred name (to keep with the topic, we will use “TranslateXCstrings”).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/untitled-5.png" class="kg-image" alt loading="lazy" width="1600" height="781" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/untitled-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/untitled-5.png 1000w, https://ghost.localazy.com/content/images/2026/02/untitled-5.png 1600w" sizes="(min-width: 720px) 720px"></figure><h3 id="step-4-upload-your-xcstrings-files">Step 4: Upload your XCstrings files <a class="markdownit-header-anchor" href="#step-4-upload-your-xcstrings-files">🔗</a></h3><p>To upload, you have two options:</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">1️⃣</div><div class="kg-callout-text"><strong>Upload XCstrings files manually</strong></div></div><p>We can upload and translate the files online using the Localazy Dashboard. Inside your project, click "<strong><em>Drop your source language file</em>s</strong>"<strong> </strong>and choose the <code>en.xcstrings</code> file we saved earlier:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/untitled-6.png" class="kg-image" alt loading="lazy" width="991" height="486" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/untitled-6.png 600w, https://ghost.localazy.com/content/images/2026/02/untitled-6.png 991w" sizes="(min-width: 720px) 720px"></figure><p>For the file format, choose <strong>XCode String Catalogs</strong> from the dropdown. Then, click <strong>Next step </strong>&gt;<strong> Upload</strong> to easily add the file as a source key of the <em>TranslateXCstrings</em> project.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-19.21.47.png" class="kg-image" alt loading="lazy" width="2000" height="876" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Captura-de-pantalla-2026-02-26-a-las-19.21.47.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Captura-de-pantalla-2026-02-26-a-las-19.21.47.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/Captura-de-pantalla-2026-02-26-a-las-19.21.47.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/Captura-de-pantalla-2026-02-26-a-las-19.21.47.png 2400w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">2️⃣</div><div class="kg-callout-text"><strong>Use CLI to upload XCstrings files</strong></div></div><p>Why restrict to manual methods when you can delegate your work automatically? Say hello to <a href="https://localazy.com/docs/cli/the-basics">Localazy CLI</a>. To install it, open your terminal and enter the following command:</p><pre><code>brew tap localazy/tools
brew install localazy
</code></pre><p>Afterwards, let’s create a simple <code>localazy.json</code> file in our project’s root directory as follows:</p><pre><code>{
  "writeKey": "app-write-key",
  "readKey": "app-read-key",

  "upload": {
    "type": "xcstrings",
    "files": ["en.xcstrings"]
  },
  "download": {
    "files": "Localizations/Localizable.xcstrings"
  }
}</code></pre><p>This JSON file acts as the configuration file for our Localazy project. </p><p>Along with the <strong>upload /</strong> <strong>download</strong> sections that tell which source files to take and where to save the translated files, Localazy CLI requires 2 simple keys for its authentication purposes:</p><ul><li><code><strong>writeKey</strong></code>: required when uploading our source material (in our case, .xcstrings file) to Localazy.</li><li><code><strong>readKey</strong></code>: needed to download the Localazy-translated files back to our project.</li></ul><p>These authentication keys are generated when we create our project.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">☝️</div><div class="kg-callout-text"><strong>Tip</strong></div></div><p>To easily find your Localazy project’s authentication keys later on, toggle the left sidebar of your project and navigate to <strong>Project settings</strong> &gt; <strong>Access keys</strong>:</p><figure class="kg-card kg-image-card"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABkAAAALRCAYAAAADeW9SAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAGQKADAAQAAAABAAAC0QAAAADpg1GeAABAAElEQVR4Aey9B3hVV5qm+yvnLAEKIImcMyaYZIONsynbVeUKrlzVfTtMz3T3TN+e+zz19O25T93bPdPdNd2VXbbL5RwwYMAYTDQ555yTEEggCWXpSLrft462OBISBgxKfMs+2uHsvfZa7157H/v/1v//QQ0opiICIiACIiACHUSgvr7eCgoKLDg42CIiIiwoKOiGD5vm7ffWA5vL71REQAREQAREQAREQAREQAREQAREQAREQAREIJBAcOCG1kVABERABESgIwhQwKirq3Mf6vItP16bPM3eW3r7tRQBERABERABERABERABERABERABERABERCBlgQkgLQkom0REAEREIEOIeDz+YzeIIHih9cQb5+33XIpQaQlEW2LgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAhIANEYEAEREAER6BQE6AHiiSBeg24mfEj08ChpKQIiIAIiIAIiIAIiIAIiIAIiIAIiIAIi0BqB0NZ2ap8IiIAIiIAItDeBtrw/2A4vxwdFD2+9vdun64mACIiACIiACIiACIiACIiACIiACIiACHQtAvIA6Vr3S60VAREQgW5NIFAECexooCeIPD8CyWhdBERABERABERABERABERABERABERABESgLQISQNoio/0iIAIiIALtSsATNjyxw1verBHeOTc7Rt+JgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAjcnwQkgNyf9129FgEREIFOR8ATPLikJwg/LN5+r8FtiR5t7ffO01IEREAEREAEREAEREAEREAEREAEREAEROD+IiAB5P663+qtCIiACHRqAoFih5frI1DY4Dr3B+7r1B1S40RABERABERABERABERABERABERABERABDqMgASQDkOvC4uACIiACAQS8MQPT9zwlt4xLbe9/VqKgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQGsEJIC0RkX7REAEREAE2p2AJ4Dwwt66RI92vw26oAiIgAiIgAiIgAiIgAiIgAiIgAiIgAh0GwISQLrNrVRHREAERKB7EPDEj8DeePlAuE+iSCAZrYuACIiACIiACIiACIiACIiACIiACIiACLRFQAJIW2S0XwREQAREoN0JBIobgetePpB2b5AuKAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIi0GUJSADpsrdODRcBERCB+5tAoEByf5NQ70VABERABERABERABERABERABERABERABFojIAGkNSraJwIiIAIi0GEEKGx44oa3DGxMa/u872/2nXeMliIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAvcHAQkg98d9Vi9FQAREoNMT8MQLb9lWg28WDutm37VVn/aLgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAh0TwISQLrnfVWvREAERKDLEggUMSiGBAoigetdtoNquAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQLsQkADSLph1EREQAREQgVsh0FLgaCmG3EodOkYEREAEREAEREAEREAEREAEREAEREAEREAESCBUGERABESgiQBn21dWmFVWWb3PZ5h6b0EhIRYUGWlB0VFmIXplNLHSyj0j4IkgXPITHBzsloFiyD27uCoWAREQAREQAREQAREQAREQAREQAREQARHoNgRkzew2t1IdEYEvSaC6xuqvlVh9QYHVFRZafVGRWX29BSckWHBqKj4pFpKUbBYFIUSlUxKgWFBXV2d1EK+4rMf9cyICWhvET1CQExNCQkMtFB8KCxIVOuWtVKNEQAREQAREQAREQAREQAREQAREQAREQATuAgEJIHcBoqoQgS5PoLra6otLrO7kCate+7lb1p8/b+artaD0DAvJybHwCRPMxo614Lp6C4qN6fJd7k4dqK2tteqqKqvGffRB/PBB7ailGAIBpB4dhcwBoQMOPMFBFoKtELcPLoAQQSIiIqBpRVkIPH26QpFg0xXuktooAiIgAiIgAiIgAiIgAiIgAiIgAiIgAp2DQLsIIJXVCKNzr/qLiiPC/Ma9e3UJ1SsC3ZoAjeTw/Kg7fMgq3nnH6k+fNgsL83/Cw60BniA+eoXs3WuR8CpwQkhYqAXBcK7SsQQoeJSVllpVTY3VQeGojgizGnycAEKxA/vCg5z8YQgmZRHw+PCHk4InCL1DfHVWivP5oQgSGxvrRJGO6BWFDXqsBH7YDu4PFD28kFjevpbfe/s7og+6pgiIgAiIgAiIgAiIgAiI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C0rvYVEIgUdvjwaEuaKo4nJ/YJueJhSqoYA4ts7hBC/earyLGsgbgqKKCIiACIiACIiACIiACIiACIiACIiACIiACHRWAh0igKTEBtnTo8PstYPwAoFtjV4g+BcGP/65EVWdL8h+MiTcGa7LEDnrLMSPEiRAd8Y4HA67nyUg6k9a7I3ndpc9TIqMbsLLIQRJzf2hcW6nb8yRsXLtBmOidIoouciBEej94dWVCWMoPSPCo8KQRPmyt7tTLhd9utLWb9npDL+JEDC+/bW58IJJb7WtI4YOtn/7x//aTPzggWSRh5wov3n9fYuA6LMfYbS6UqER2u+5wIeIeSD4JN1aCYEhOxiGdYY7qqVB2xnQb/38W7vKXTyKD3oLhYOeD+NGDXehv271Skzgzb56hesUFJkIvTMU1za0iV4XfDc2YOl1PRSih6+B8gQKv3P+IRQqsAkWdbiXoehLNES9+tgMCHr/ZrmZ8RYdF22jBwy2kTn9LSQ0EjlF2N9khD47a+FZD1hWdASEDviXoGI4n6AeeIJgbDkBBH9DcR1ekN4oDRgz/lwhbISKCIiACIiACIiACIiACIiACIiACIiACIiACHReAh0igBDHmIFhNjcnxBacxvzlFqIHRRFn0fNslDEwcmaH27JDnOVMo9918YN18fhMhL+Ki+jExls29EsU/1xw9v32+3jq9Fn7/VvzMPv7osP6zKMP2fgxI1s1licjaThDAtH4evXatS/R4nt76lF4p3y0dBVC/MRZIrxZfvztrzrxw4UPCrg0aTFMTzLyY/DTslAYen/hp84gzjwaE8aOanlIF9qm38DtlOtjiefxc33P7dTTccfyfZCXfwn5XU67e3iz9lNYCIUwMH70MEtKTOq4Rn/BldlOjmP/M9/45MMzIxjKRAiWYfS6cM4ufE5xzyFm8O4xbBUFrRB8sNsSU1MsNyvL+qbH23rku6moqLbxw0baNYTBKjh7yhJjI+xwfpkNzxrgRBUOAAoo/lHkJ8lttoB18x/IH7i0v31OqPmCvuhrERABERABERABERABERABERABERABERABEehIAh0mgPROCrapQ8NswQnMZob9zjNcUszIgODxQI9gi8D05+PF9TauTzjCFPlDrXCCu3esB47bg3u13Ot92z2WoWG4VWBTX19ntchhQePjrcz2P3TkuL38xgdWiCTqUZER9ujM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Na+TyMr+BfxGuB19TdJsu2ATQkJpCO9T2Fe2h+1gOi+WRKuP/a9m9RU+Xt4W+lcEREAEREAEjhGgv2J8fDyqVKni0grzu1hFBERABERABETg3BJg2it+H7PExMRIADmD+OOSgT9+kIotli76r+NC0b7esXGGM3iYc1rVDwdz8dxX6fhqWza+uScMdW0co6wUjgMdOHDAaQwU805BnihRFySAlAibdhIBERCB8kegrAkgHFwJNOMMN8hio/R89gQQPnPgns/Onfzo6ch7X/7OjXokAiIgAiIgAqVNwBNBmBKLQojSYZX2GdHxRUAEREAEKgoBDhZzsiHFD04WjIqKcs8Vpf/nqp8HbdLjfa+nYdbuHDw3Khh9LPNDNZtMWXCK4blqTcmPk2IJJJZZBos/fJaONJuw+cINYU7QKXmNZ37Pcy2AHE2IceY7ohpFQAREQARE4HQJ5DAswh7+TugoWBtXsRSxKm+F/hUBERABERABEThjBCIiItzsPKbdOHTokJuxx6jRvKjN821o4IxhUUUiIAIiIAIicNYIZFvYfmZmpjM8T0tLc5kWqlatKvHjLBGPMbHjr1eEYMI3GRj9SToeXp+Ffq0DUcMiJ6oyq0TZCaAoksBhy/SwP868Prdn4f7FWbizgT9uH5oXzVLkDhVooQSQCnSy1VUREAEREAEREAEREAEREAERKCmBSpUqucEXDsLQgJVRIZzBpyICIiACIiACInB2CHCiAaMuIyMj3eQDZT04O5y9WhvE+ONX5vU5tGMgPl+VhYs/z7Ac2rloZKakhbJNe7uUmecNuTYhxdKHX2PCx+RxIejS1LxLzTtVxfxPBUEEREAEREAEREAEREAEREAEREAEToYAB2H4oBjCfM1nO2fzybRJ24iACIiACIhAeSTgiR3y3jq3Z7dquB8uaBWIXi0D8duMXIvCgfmQnts2lORoZp/q/ExDg8xD9aj/Z0nqKY/7SAApj2dVfRIBERABERABERABERABERCBs0iAgzLewMxZPIyqFgEREAEREAEREIFSIeBvwROVQuyfkFI5vA56BgmU8exlZ7CnqkoEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERKDCEDhlAUSzfCrMtaGOioAIVDAC+nyvYCdc3RUBERABERABERABERABERABERABERCBck7glFNgZWdngw8VERABERCB8kNAObzLz7lUT0RABERABERABERABERABERABERABERABPIInJIAkpOTg/j4eOV61dUjAiIgAuWQACNAwsLCymHP1CUREAEREAEREAEREAEREAEREAEREAEREIGKSOCUBBAOjlWuXBnBwcEVkZX6LAIiIALlmsDhw4fBSBAVERABERABERABERABERABERABERABERABESgPBE5ZAAkJCUFoaGh56Lv6IAIiIAIi4EMgJSXF551eioAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiMD5TeCUTdA1O/j8PuFqvQiIgAgUR0Cf78WR0XIREAEREAEREAEREAEREAEREAEREAEREIHzkcApCyDnYyfVZhEQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQgYpFQAJIxTrf6q0IiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIVAgCEkAqxGlWJ0VABERABERABERABERABERABERABERABERABERABESgYhGQAFKxzrd6KwIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIVgoAEkApxmtVJERABERABERABERABERABERABERABERABERABERABEahYBCSAVKzzrd6KgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQIUgIAGkQpxmdVIEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEKhYBCSAV63yrtyIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiJQIQhIAKkQp1mdFAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREIGKRUACSMU63+qtCIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACFQIAhJAKsRpVidFQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREoGIRkABSsc63eisCIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACFYKABJAKcZrVSREQAREQAREQAREQAREQAREQAREQAREQAREQAREQARGoWAQkgFSs863eioAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiECFICABpEKcZnVSBERABERABERABERABERABERABERABERABERABERABCoWAQkgFet8q7ciIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiUCEISACpEKdZnRQBERABERABERABERABERCB859ASkoK9uzZg7S0tAKdyc3NLfC+8Buu/6ltCu+j9yIgAiIgAiIgAiIgAuc/AQkg5/85VA9EQAREQAREQAREQAREQAREoEIQ2LlzJz744APs2rUrv7/x8fFYs2YNDh48mL/M98WhQ4ewdu1abN26FdnZ2b6r9FoEREAEREAEREAERKCcE5AAUs5PsLonAiIgAiIgAiIgAiIgAiIgAuWFgL+/P0JCQsBnr1D4mDNnDvbu3estyn9OSkpy65YuXYr09PQC++VvpBciIAIiIAIiIAIiIALllsCxu8Zy20V1TAREQAREQAREQAREQAREQAREoLwS8PPzc8IGn30LBQ8KHxRG2rZtixYtWqDwNr7b67UIiIAIiIAIiIAIiED5IxBY/rqkHomACIiACIiACIiACIiACIiACJwJAvTNyMzMRE5ODkJDQ5GRkeHeMwojMPDYz0luwwcLlwcHBxd5eK++rKwstz4oKAh8FFW4LY/HbQMCAtzxT1bAoFfI4sWLsWnTJnTr1g2dO3cu6hAuJRaFEhYeg/3yCvvDlFlsH9f5Fi7nei4vrv2+2+u1CIiACIiACIiACIhA6RA4dsdaOsfXUUVABERABERABERABERABERABMooAYoDq1atQkJCghMR+Jopp3r16oV69eq5Vh84cADff/896LXBUq1aNTRt2hR16tQpkHKKIgoFiR07doCpqViio6PRvHlz1KhRo8C2XLd582b88MMPOHz4sBM/Gjdu7AQJ3/RX3K5woTCxbNkyd6yWLVuiffv2hTdx7xMTE7Fu3Tpnqs62Va5cGc2aNUODBg1cW9hPRpCwjiZNmhSIHvnxxx/dvowq4ToVERABERABERABERCBsklAAkjZPC9qlQiIgAiIgAiIgAiIgAiIgAiUOgFGOlAIoOk4oyoohDBKgoIBy759+/Ddd9+5dXXr1nXRHxQHmHaqd+/eTkzgdozkWLlypTMjp+jBbVnfli1bQAGlT58+TgThtiwUSubOnesiLCiO8HgUNRhxwciQoooXHbJ+/XonyNSvXx+dOnUqEKni7RcXF4d58+a5Y1PIYXTLnj17MHv2bBcx0qpVK0RGRrpljPBgXV5UC9uybdu2/NRaXp16FgER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Rs9uXRBbPaY8nzf1TQSOI8DZeTt378abs5fjwTFDcPtN1yMmOuq47bRABERABERABERABERABE6GANMRpKWlObNzpb06GWLaRgREQAREQATOLgFmI6EIQl8uTlLQ9/Pp8962PwfPbcrB9OtDLe3V6ddXlmqwJEkYbem8fvVlJtZuz0LD2GBURAmkTAsg3gUTZbONRgwbhO5dOmHWnPmYOmMW5i9dhQPxh1GtUjh6dGiNyy8bhQt6dpXw4UHTc4UjwHRdN11/tZm4X4EQM4Y/UXqvCgdHHRYBERABERABERABEThlApxgQwGEAy2aYXrK+LSDCIiACIiACJwVAkxBT69efkdLADl9xCu3ZWNwLX+0qHceOJ2XoLt1o/1xY5dALNuSjQHtclEptOJFDZ0XAoh3bmNiojB29MUYNKAvlixbjt02271OnTro0K6tzXSv5m2mZxGosARCLAck7H8VERABERABERABERABEThdAowAoQE6B1pUREAEREAEREAEygYBRoFQAGEqLJXTI0Dr7S0WATKumT+iK5dPYSDIdJ3rTQAZPzMDGVmnx+t83fu8EkA8yJFVK2OwiSAqIiACIiACIiACIiACIiACIiACZ48Ao0A40KIiAiIgAiIgAiJQdgjwu5mTFFROj4DN9UBCWi4uqOOPkPNylPzk+t+8OrA3JRc5VHwqYNGdbAU86eqyCIiACIiACIiACIiACIiACIiACIiACIiACIiACFR0Aoz7KO/CQLYJH37lM8DlpC5fCSAnhUkbiYAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAInE8EynFwz/l0GtRWERABERABERABERABERABERABERABERABERABERCB841AqtmxJFsqrdMtARaqEBnuB/8KHK1xugyL2l8CSFFUtEwEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAETkBg874cfDw3HbsPnV6aKabhiqnqh9uHhyC2nBqynwDjWV0lAeSs4lXlIiACIiACIiACIiACIiACIiACIiACIiACIiACIiAC5Y3ADwdy8NjrqZi4Ohug0cTpBIGYp33n+v64dmCwBJAzfKFIADnDQFWdCIiACIiACIiACIiACIiACIiACIiACIiACIiACIhA+SawZn0mJi4x5cIiNupU8kO0pa+i4XhJSnoO0CDGD0EBJdlb+5yIgASQE9HROhEQAREQAREQAREQAREQAREQAREQAREQAREQAREQARHwIZBlgkVCii1g5IeVe/oH4aLOQciyYJASFRNOgoNg0R9HKyxRJdqpKAISQIqiomUiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAInRSA7OwepaWk4FJeAuPgEpKWnIzMrywb1gxAWFoqYqGqoVrWKe+3nd/67fDPQg74dXmlawx8dGyh8w+NRlp4lgJSls6G2iIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiMB5QCAnJweJSYexZMUarPp+A37csRtxCUmu5b4aR64JBdQKYqMi0bxpI3Rq1wotmzdB1SqVz4NenqiJRxUQ9u/oS29riiNH0nJhiE67BAf5ISz4tKupsBVIAKmwp14dFwEREAEREAEREAEREAEREAEREAEREAEREAEREIFTJ3AoLh5Llq/GjLmLsO/AIacA+Pv7WcRHgEVG5DpBINeeGe1BMcTf/kk4fBgLlq7EkpVrUCu2OoYP7oOO7VojPCzs1BtQynswhoV9KqpkWhqsqcsz8fevMzB7nykgRW9W1K5FLvtlh0D8YkQImtRUeqwiAf3EQgkgPwFIq0VABERABERABERABERABERABERABERABERABERABACmulq5dh2mzZyLNRu2IMDfBuVN6KDoER4ahioW1VG3ZiyqVIpAcEgwUlPSEJeYhAMH45BoAkjykRTkZPth5569ePmtj3BBt83o07s7mjVu6MSS84UxAz4KBX3kN/37HdkY+XKqhYDYImbFKm7D/D1O8MLEk6enZiAzMxf/+Xk4gqSBnABW0askgBTNRUtFQAREQAREQAREQAREQAREQAREQAREQAREQAREQASOEkhJTcOsOQvw+dSZSElNBSM+cnJz0Lp5U3Rq3woN6/8/e/cBmFV1N378l70HAZKw995LkD1UQBFRceFeVautr762Vu3bavtv+7a1b+3StlZt68BRcYviQFRQZO8NCXtkkL2T/+93Hm54EhIIJEKA72mf5Hmec8e5n3PvDZ7fPee0luTEZhIeHi7FxcVSWFgkUVGRLkiSl18ge/enybqNm2XZyrWSunOPfl8hXyxcKus3b5OpkybIqHOHnDbW1qmjto4dT84tEcnWqEd4gLRoEiAhwQFyvHOju+3rJg7klUuh9jR5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AgRAGlqU7SGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggMApFyAAcsqrgAIggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAQwsQAGloUbaHAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACp1yAAMgprwIKgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAg0tQACkoUXZHgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCJxyAQIgp7wKKAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgg0tAABkIYWZXsIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBwygUIgJzyKqAACCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0NACBEAaWpTtIYAAAggggAACCCCAAAIIIIAAAggggAACCCCAwCkXIAByyquAAiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBDCxAAaWhRtocAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKnXIAAyCmvAgqAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACDS1AAKShRdkeAggggAACCCCAAAIIIIAAAggggAACCCCAAAIInHIBAiCnvAooAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCDS0AAGQhhZlewgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIHDKBQiAnPIqoAAIIIAAAggggAACCCCAAAIIIIAAAggggAACCCDQ0AIEQBpalO0hgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIDAKRcgAHLKq4ACIIAAAggggAACCCCAAAIIIIAAAggggAACCCBw5gsEBASIvU5WIgBysqTZDwIIIIAAAggggAACCCCAAAIIIIAAAggggAACZ7FAWVmZlJeXn7QgCAGQs/hk49ARQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEDhZAqWlpVJRUSGBgYHu97e9XwIg37Yw20cAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEpLCx0wY/g4OCTokEA5KQwsxMEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBM5egaKiIsnLy5OwsDAXBDkZEgRAToYy+0AAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBA4CwVKCkpkczM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AggggAACCCCAAAIIIIAAAggggAACCBSVACXLi0qa6yCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggECRCRAAKTJqLoQAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJFJUAApKikuQ4CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggUmQABkCKj5kIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBQVAIEQIpKmusggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAkQkQACkyai6EAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACRSVAAKSopLkOAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIFJkAAZAio+ZCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggUFQCBECKSprrIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQJEJEAApMmouhAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAkUlQACkqKS5DgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBSZAAGQIqPmQggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIFBUAgRAikqa6yCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggECRCRAAKTJqLoQAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJFJUAApKikuQ4CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggUmQABkCKj5kIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBQVAIEQIpKmusggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAkQkQACkyai6EAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACRSVAAKSopEvYdXJzc7Vpc4rS0tJl39IQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEChWApHFajQH6GAyM7O0OSVFGzZuVFhYmMqUKaPy5cooPKzkxpeWLFuugS+8oiYNG+rUk3qpbNkyxf7uZWVladnylapcKVGxsTHFfrwMEAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQGDvBQiA7L2dciz1YfLU6Xrvw0EaM26iNm7abAEQKT4uTqf2OkYn9jpW9erWkT1V4lpqaroefO0z3XrBicrKyi7y+eVloGxWdHS0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TTiCAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACJ7gAAZAT/AayfAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEECgoQACkoAlHEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBA4AQXIABygt9Alo8AAggggAACCCCAAAIIIIAAAggggAACCCCAAAIFBQiAFDThCAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCJzgAgRATvAbyPIRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgoAABkIImHEEAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIETXIAAyAl+A1k+AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIFBQgAFLQhCMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBwggsQADnBbyDLRwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgYICBEAKmnAEAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEETnABAiAn+A1k+QgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIFBQgABIQROOIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAwAkuQADkBL+BLB8BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQKChAAKWjCEQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEDjBBYKKe/1pmVJSepYys4p7JsZHAAEEEPALBAdK4UEBcq80BBBAAAEEEEAAAQQQQAABBBBAAAEETkaBYguApGRma1dytpLTs2Vvvbbv5WR05poRQACBP1XApfcFBGRaEMSnyHCfQgJ9f+r8TIYAAggggAACCCCAAAIIIIAAAggggEBJCxR5ACTLohy7UrK0MyVbWZb14cvzzC3P25K+buZHAAEESrWACzi7zLvdqdmWhZetqIgAlQvxKYBfxKX6vnNxCCCAAAIIIIAAAggggAACCCCAAAL7BYq8BkiCBT/iLfMj256+5Q1+7J+SdwgggAACf5aA+z3sAtM7krKUaMEQGgIIIIAAAggggAACCCCAAAIIIIAAAieLQJEGQNy/Mt5lmR80BBBAAIHjS8CfnZeSwe/o4+vOsBoEEEAAAQQQQAABBBBAAAEEEEAAgeISKLIAiNtqJT45SzxbK65bxbgIIIDA/yaQbr+n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" class="kg-image" alt loading="lazy"></figure><p>Don’t forget to add these authentication key values to your <code>localazy.json</code> file.</p><p>Now open your terminal in the project root folder and enter the following command:</p><pre><code>localazy upload
</code></pre><p>If all went well, you should see a successful message as shown below:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.36.11.png" class="kg-image" alt loading="lazy" width="1436" height="1358" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.36.11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.36.11.png 1000w, https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.36.11.png 1436w" sizes="(min-width: 720px) 720px"></figure><p>Let’s also head over to our Localazy project and see if the source language has been uploaded:</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.37.23.png" class="kg-image" alt loading="lazy" width="2000" height="552" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.37.23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.37.23.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.37.23.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.37.23.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="step-5-translate-your-file">Step 5: Translate your file <a class="markdownit-header-anchor" href="#step-5-translate-your-file">🔗</a></h3><p>Your Localazy project currently displays <strong>all the base strings ready for translation</strong>. Our <strong>%@</strong> and <strong>%d</strong> format specifier placeholders stay locked, so we can safely translate around them, whether it's manually or automatically through machine translation.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">✍️</div><div class="kg-callout-text"><strong>Manual translation</strong></div></div><p>Let's start with the traditional way:</p><ol><li>In the Localazy editor, click on<em> <strong>Add language</strong></em> on the right side of the table.</li><li>From the pop-up dialog, choose and add any language you prefer. Untick the <em>Machine Translations pre-translate</em> option for now.</li></ol><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.40.37.png" class="kg-image" alt loading="lazy" width="2000" height="807" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.40.37.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.40.37.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.40.37.png 1600w, https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.40.37.png 2394w" sizes="(min-width: 1200px) 1200px"></figure><p>3. Click <strong>Translate</strong> next to your new language and manually edit the translations on the editor.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.42.02.png" class="kg-image" alt loading="lazy" width="2000" height="800" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.42.02.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.42.02.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.42.02.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.42.02.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.42.40.png" class="kg-image" alt loading="lazy" width="2000" height="757" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.42.40.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.42.40.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.42.40.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.42.40.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><p>4. Now head back to the dashboard to view the two entries and plural forms added for the new language:</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.43.43.png" class="kg-image" alt loading="lazy" width="2000" height="557" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.43.43.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.43.43.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.43.43.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/Captura-de-pantalla-2026-02-26-a-las-15.43.43.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><blockquote><strong>Note:</strong> Xcode doesn’t watch our browsing habits! We have to inform it that we just created translations to the base strings, which we need to load and use in our "<em>MyAppToTranslate"</em> app. In the project settings, add your new language under Project &gt; <strong>Info &gt;</strong> <strong>Localizations</strong>:</blockquote><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-16.17.28.png" class="kg-image" alt loading="lazy" width="2000" height="971" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Captura-de-pantalla-2026-02-26-a-las-16.17.28.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Captura-de-pantalla-2026-02-26-a-las-16.17.28.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/Captura-de-pantalla-2026-02-26-a-las-16.17.28.png 1600w, https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-16.17.28.png 2236w" sizes="(min-width: 1200px) 1200px"></figure><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">🤖</div><div class="kg-callout-text"><strong>Automatic translation</strong></div></div><p>Localazy offers automatic translation features, saving you hours of manual work in seconds:</p><ol><li><strong><a href="https://localazy.com/features/machine-translation">Machine translation (MT)</a></strong></li></ol><p>You can choose between multiple MT providers like <strong>DeepL, Google Translate, or Azure</strong> to translate your iOS files. You can also use <strong><a href="https://localazy.com/features/localazy-ai">Localazy AI </a></strong>(enhanced by <a href="https://localazy.com/features/style-guide">Style Guides</a>) for higher tone and brand accuracy.</p><p>Depending on your <a href="https://localazy.com/docs/general/machine-translations">pricing plan</a>, you'll see these suggestions at the bottom of your translation interface. Just click <strong><em>Use this</em></strong> and they'll be automatically applied, or select all your keys from your dashboard and click on <strong>Actions</strong> &gt; <strong>Use Machine Translations </strong>to translate your project in bulk. This type of action can also be automated in different ways through the <a href="https://localazy.com/features/automations">Automations</a> feature.</p><p>2. <strong><a href="https://localazy.com/features/translation-memory">Translation Memory (TM)</a></strong></p><p>Imagine translating a given text in your product once — nothing unusual. Now, imagine translating the same text 10 times, or 100, if not 1,000 times? A pointless, annoying, and costly repetition. Translation Memory lends a hand here by memorizing your previously approved translations and <strong>suggesting them when similar text appears</strong> elsewhere in your product. Select the translation and save it directly.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-16.20.23.png" class="kg-image" alt loading="lazy" width="2000" height="863" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Captura-de-pantalla-2026-02-26-a-las-16.20.23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Captura-de-pantalla-2026-02-26-a-las-16.20.23.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/Captura-de-pantalla-2026-02-26-a-las-16.20.23.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/Captura-de-pantalla-2026-02-26-a-las-16.20.23.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="step-6-download-and-import-back-into-xcode">Step 6: Download and import back into Xcode <a class="markdownit-header-anchor" href="#step-6-download-and-import-back-into-xcode">🔗</a></h3><p>When you're done, you can ask Localazy CLI to download the XCstrings files by inputting this command:</p><pre><code>localazy download
</code></pre><p>According to the download instructions we set in <code>localazy.json</code>, Localazy CLI will download a <strong>Localizations/Localizable.xcstrings</strong> file holding both your source and target texts.</p><p>Replace the content in your <code>en.xcstrings</code> with the text in the localized XCstrings file you just downloaded. Then open your <code>en.xcstrings</code> in the String Catalog and you’ll see your app now holds both the base strings and their Italian translations:</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2026/02/Captura-de-pantalla-2026-02-26-a-las-18.43.23.png" class="kg-image" alt loading="lazy" width="2000" height="766" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Captura-de-pantalla-2026-02-26-a-las-18.43.23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Captura-de-pantalla-2026-02-26-a-las-18.43.23.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/Captura-de-pantalla-2026-02-26-a-las-18.43.23.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/Captura-de-pantalla-2026-02-26-a-las-18.43.23.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><p>That’s all it takes! Switching our simulator to the other language and running our iOS app will show the translated text, as intended.</p><h3 id="quick-test">Quick test <a class="markdownit-header-anchor" href="#quick-test">🔗</a></h3><p>Let’s test this out, shall we?</p><p>In the <strong>ContentView</strong>, replace the existing two Text(...) lines with the code below: </p><pre><code>let userName = "Dasun"
let unread = 23

// Load and format localized string with %@
Text(String(format: NSLocalizedString("Welcome back, %@!",
                                      tableName: "en",
                                      bundle: .main,
                                      value: "",
                                      comment: ""),
            userName))

// Load and format localized string with %d
Text(String.localizedStringWithFormat(
    NSLocalizedString("You have new message(s).",
                      tableName: "en",
                      bundle: .main,
                      value: "",
                      comment: ""),
    unread))</code></pre><p>These simply fetch the localized text from the String Catalog, then fill in the given variable values, showing the real name and correct plural in the simulator.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2026/02/Transparent-5.png" class="kg-image" alt loading="lazy" width="1800" height="1245" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Transparent-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Transparent-5.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/Transparent-5.png 1600w, https://ghost.localazy.com/content/images/2026/02/Transparent-5.png 1800w" sizes="(min-width: 1200px) 1200px"></figure><h2 id="faqs">？FAQs <a class="markdownit-header-anchor" href="#faqs">🔗</a></h2><h3 id="can-i-use-google-translate-with-localazy">Can I use Google Translate with Localazy? <a class="markdownit-header-anchor" href="#can-i-use-google-translate-with-localazy">🔗</a></h3><p>Definitely. Localazy can use several machine translation engines so you can get instant translations and tweak them as needed. List of options available <a href="https://localazy.com/docs/general/machine-translations">here</a>.</p><h3 id="will-this-work-if-ive-got-an-android-version-too">Will this work if I’ve got an Android version too? <a class="markdownit-header-anchor" href="#will-this-work-if-ive-got-an-android-version-too">🔗</a></h3><p>Yes. You can manage your iOS translation files (.xcstrings), <a href="https://localazy.com/docs/cli/android-format">Android XML</a> files, and other formats under the same project.</p><h3 id="how-do-i-check-if-my-translations-were-imported-correctly">How do I check if my translations were imported correctly? <a class="markdownit-header-anchor" href="#how-do-i-check-if-my-translations-were-imported-correctly">🔗</a></h3><p>Change your simulator’s language, rerun the app, and check if the text has switched correctly.</p><h3 id="do-i-have-to-pay-for-all-this">Do I have to pay for all this? <a class="markdownit-header-anchor" href="#do-i-have-to-pay-for-all-this">🔗</a></h3><p>Depends on your needs. Localazy's free plan is more than enough for personal and small-scale apps, but if you have a larger SaaS project or a product you want to scale internationally, we recommend looking into the platform's <a href="https://localazy.com/pricing">paid plans</a>.</p>]]></content:encoded>
            <author>Dasun Nirmitha</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/12/translate-XCstrings.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[You localize your product, but is it truly accessible?]]></title>
            <link>https://localazy.com/blog/you-localize-your-product-but-is-it-truly-accessible</link>
            <guid isPermaLink="false">you-localize-your-product-but-is-it-truly-accessible</guid>
            <pubDate>Mon, 23 Feb 2026 11:15:55 GMT</pubDate>
            <description><![CDATA[Your accessibility audit passed. Your translations shipped. But global users with disabilities still can't use your product. Learn why, and how to fix it.]]></description>
            <content:encoded><![CDATA[<p>You've translated your app into 15 languages. Your accessibility audit passed with flying colors. Your users should be happy, right?</p><p>Well, it's not that easy.</p><p>While building <a href="https://accesstain.org/" rel="noopener noreferrer nofollow">Accesstain</a> (a digital accessibility platform), I've been studying how teams approach multilingual accessibility. What I found surprised me: <strong>most companies think they're inclusive when they're actually creating new barriers</strong>. The problem is that teams treat accessibility and localization as separate problems when they're really two sides of the same coin. </p><h2 id="hidden-accesibility-failures-have-a-cost">🫥 Hidden accesibility failures have a cost <a class="markdownit-header-anchor" href="#hidden-accesibility-failures-have-a-cost">🔗</a></h2><p>According to the WHO, over <a href="https://www.who.int/news-room/fact-sheets/detail/disability-and-health" rel="noopener noreferrer nofollow">a billion people</a> worldwide live with some form of disability. Many others aren't fluent in your primary language or have limited literacy. When you combine language barriers with accessibility needs, the user group grows massive. Yet most teams have no idea how their localized versions actually perform for these users.</p><p>Sure, your English site might have passed accessibility tests, got translated, and shipped. But the Spanish screen reader user encounters English alt text. The German user with dyslexia faces sentences twice as complex as the original. The Arabic user finds a right-to-left interface that still thinks like a left-to-right design. What we might consider edge cases<strong> are actually predictable failures</strong> that happen because our tools and workflows weren't designed for this reality.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/AdobeStock_392757325.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1180" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/AdobeStock_392757325.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/AdobeStock_392757325.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/AdobeStock_392757325.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/AdobeStock_392757325.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Think of a public service: if a healthcare website provides information in multiple languages, the goal is to make sure that patients <em>in those languages</em> can access crucial info about their health. <strong>Accessibility often <em>relies </em>on good localization to make services functional</strong> and equitable for diverse users. </p><blockquote>When you combine language barriers with accessibility needs, the user group grows massive</blockquote><p>The bottom line is that <strong>a translated product is a more accessible product </strong><em><strong>in principle</strong></em><strong>. But in practice, this holds true only if we localize the </strong><em><strong>right way</strong></em>. </p><p>So, why do so many localized products still fall short on accessibility?</p><h2 id="where-standard-localization-breaks-down">⛓️‍💥 Where 'standard' localization breaks down <a class="markdownit-header-anchor" href="#where-standard-localization-breaks-down">🔗</a></h2><p>Let me start with a harsh truth: <strong>just translating an interface or documentation doesn't automatically guarantee an accessible experience</strong>. Some common gaps in standard localization workflows can leave people behind. One big issue is what gets translated versus what gets overlooked.</p><h3 id="the-invisible-text-problem">The invisible text problem <a class="markdownit-header-anchor" href="#the-invisible-text-problem">🔗</a></h3><p>Most workflows focus on visible content (menus, buttons, headlines) but miss the invisible strings that assistive technology depends on:</p><ul><li>💬<strong> <a href="https://accessibility.huit.harvard.edu/describe-content-images">Alt text</a></strong> for images that screen readers announce</li><li><strong>🏷 ️</strong><a href="https://www.a11y-collective.com/blog/aria-labels/"><strong>ARIA labels</strong></a> that explain complex interface elements</li><li>⚠️ <strong><a href="https://www.w3.org/WAI/tutorials/forms/instructions/">Form field instructions</a></strong> and <strong><a href="https://accessibility.huit.harvard.edu/technique-form-error-communication">error messages</a></strong></li><li>📹 <a href="https://accessibility.huit.harvard.edu/provide-captions-and-descriptions-video"><strong>Video captions</strong></a> and <strong><a href="https://www.w3.org/WAI/media/av/transcripts/">audio transcripts</a></strong></li></ul><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>The impact</strong>: Spanish users encounter English alt text, breaking the screen reader experience entirely, or the user doesn't understand clearly when there is an issue with their form.</div></div><h3 id="translation-complexity">Translation complexity  <a class="markdownit-header-anchor" href="#translation-complexity">🔗</a></h3><p>Translators often follow the source text too closely, creating formal or complex versions that hurt readability:</p><ul><li>Simple English becomes legal-document French</li><li>Clear instructions become jargon-heavy German</li><li>Conversational tone becomes corporate-speak in Italian</li></ul><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>The impact</strong>: Users with cognitive disabilities, limited literacy, or second-language speakers struggle with unnecessarily complex translations.</div></div><h3 id="design-and-layout-failures">Design and layout failures <a class="markdownit-header-anchor" href="#design-and-layout-failures">🔗</a></h3><p>According to <a href="https://webaim.org/projects/million/" rel="noopener noreferrer nofollow">WebAIM's analysis </a>of over a million homepages, <strong>55% of images already lack alt text, and 79.9% have contrast errors</strong> before translation, which adds more problems:</p><ul><li><strong>⬅️ Right-to-left disasters</strong>: Arabic or Urdu sites that don't flip layout direction, confusing users and increasing cognitive load</li><li><strong>📏 Text expansion chaos</strong>: German text can be 30% longer than English, breaking interface designs</li><li><strong>📑 Overflow and overlap</strong>: Translated content that gets cut off or covers other elements</li></ul><blockquote>📐 To help with that, Localazy has developed a <a href="https://localazy.com/features/figma-localization-plugin" rel="noopener noreferrer nofollow">Figma plugin</a> to make sure your designs stay readable and usable in every language</blockquote><h3 id="missing-reading-level-checks">Missing reading level checks <a class="markdownit-header-anchor" href="#missing-reading-level-checks">🔗</a></h3><p>Standard practices assume accurate translation equals comprehensible translation, but <strong>teams rarely verify that reading complexity stays consistent across languages</strong>. A user-friendly English interface can become an accessibility barrier in other languages simply due to translation style.</p><h3 id="the-real-cost-of-siloed-thinking">The real cost of siloed thinking <a class="markdownit-header-anchor" href="#the-real-cost-of-siloed-thinking">🔗</a></h3><p>The core issue runs deeper than missed translations or cramped layouts. Most organizations handle accessibility and localization <strong>in completely separate teams, with different tools, different timelines, and different success metrics</strong>. The accessibility team tests the English version, the localization team translates the strings, and nobody tests whether the Japanese user with low vision can use the product comfortably.</p><p>This separation creates systematic blind spots: the people who understand accessibility best don't speak the target languages; and the people who understand the target languages don't know accessibility requirements. The result are products that are technically multilingual and technically accessible, <strong>but actually unusable</strong> for the people who need both.</p><h2 id="redesigning-localization-for-real-inclusion">💡 Redesigning localization for real inclusion  <a class="markdownit-header-anchor" href="#redesigning-localization-for-real-inclusion">🔗</a></h2><p>So, how do we close these gaps? It starts with <strong>broadening our vision of what localization involves</strong>. While researching solutions for an accessibility project, I've studied teams that successfully crack this challenge, whether in travel, e-commerce, or SaaS. The ones that succeed don't treat localization and accessibility as separate processes, they just design them together from the start. Here are some ways an inclusive localization workflow can make a difference:</p><h3 id="write-for-translation-and-for-understanding">Write for translation (and for understanding) <a class="markdownit-header-anchor" href="#write-for-translation-and-for-understanding">🔗</a></h3><p>Clear, simple writing in your source language makes everything easier. Everyone understands it better, and translators can keep that clarity when they convert it. Localization experts often read your original text first and suggest changes. They might split up long sentences or replace fancy words with everyday ones. </p><p>Rather than being picky about language, this is about making your content work for more people. Simple language helps users with lower reading levels, people learning the language, and those with cognitive differences. Some teams write style guides that translators can use in every language, keeping that friendly, readable feel no matter where their product goes.</p><h3 id="localize-all-the-content-not-just-the-obvious-content">Localize all the content, not just the obvious content <a class="markdownit-header-anchor" href="#localize-all-the-content-not-just-the-obvious-content">🔗</a></h3><p>As discussed, a lot of important text lives in places like image alt attributes, form labels, ARIA attributes, error messages, and transcripts. A broader localization vision <strong>makes sure these are identified and included in the translation process</strong>. You may consider working with developers to externalize those strings into the resource files that translators work on. It also means educating translators about the purpose of these texts. </p><blockquote>A lot of important, localizable text lives in alt and ARIA attributes, form labels, error messages, and transcripts. These need to be identified and included in the localization process, and translators need to know their purpose</blockquote><p>Translating an error message that's off-screen or a piece of alt text is a bit different from translating a heading; here, one has to understand that context is the key. I'd say that <strong>every accessible product needs testing with real users</strong>. Get a native speaker who uses a screen reader to try your app. Have them check that buttons, image descriptions, and everything else sounds right in their language. Sure, this takes more time, but it catches problems that would shut out users who rely on these features.</p><h3 id="adapt-design-and-workflows-for-each-locale">Adapt design and workflows for each locale <a class="markdownit-header-anchor" href="#adapt-design-and-workflows-for-each-locale">🔗</a></h3><p>Truly inclusive localization treats UX as more than just words. It asks, <strong>"Does this feature or layout make sense and feel natural in this language/culture?" </strong>Sometimes, the changes needed are fairly mechanical: enabling right-to-left layouts, expanding UI elements to accommodate longer text, or choosing a font that has good readability in the target script. This makes the interface immediately more usable because it aligns with users' reading patterns.</p><p>Familiar visual hierarchy reduces cognitive load for everyone, especially users with cognitive disabilities or those using zoom/magnification. Font choice is another seemingly small detail with a big impact. A font that works great for English might be illegible or just unpleasant in Japanese or Hindi. Apart from that, consider icons and imagery: <a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go#2-be-sensitive-to-cultural-nuance">not all symbols are universally understood</a>. An envelope icon might mean "email" in the US, but could be confusing in a culture where that image isn't associated with messaging. Localization specialists can flag these and suggest more suitable alternatives for their audience (or at least supplement with text labels).</p><h3 id="include-local-accessibility-testing-and-feedback">Include local accessibility testing and feedback <a class="markdownit-header-anchor" href="#include-local-accessibility-testing-and-feedback">🔗</a></h3><p>As discussed earlier, one really good approach is to <strong>involve users or testers from the target locale who have disabilities during your QA phase</strong>. They can provide insights that neither your base-language accessibility testers nor your translators might catch. Maybe in one language, the formal word used for a button is technically correct, but too long for a screen reader to easily speak without cutting off; a native screen reader user could catch that. Or perhaps a color choice that passed contrast checks in English looks different against the longer German text and needs adjustment. Smart localization workflows <a href="https://localazy.com/blog/mythbusters-users-will-tell-us-if-somethings-wrong-with-our-localized-ux">budget time for this testing</a> instead of hoping one approach works everywhere.</p><p>You need to get localization involved from the start of your design process, not bolt it on later. Get your designers, developers, translators, and accessibility people talking to each other while you're building things. I know this sounds like it'll slow you down, but localization tools like Localazy<strong> </strong>help keep designers, developers, and translators on the same page, without the usual back-and-forth. This saves time, resources, and unnecessary ambiguities. The payoff for this effort is a product that delivers a truly equivalent experience across languages.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/AdobeStock_558704093.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1125" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/AdobeStock_558704093.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/AdobeStock_558704093.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/AdobeStock_558704093.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/AdobeStock_558704093.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-ai-can-fix-accessibility-gaps">🦾 How AI can fix accessibility gaps <a class="markdownit-header-anchor" href="#how-ai-can-fix-accessibility-gaps">🔗</a></h2><p>AI could solve the specific multilingual accessibility problems I've outlined, but most teams miss the opportunity entirely. <strong>They focus on translation speed rather than fixing the barriers</strong> that exclude disabled users across languages. Here's how these tools can directly address the accessibility gaps that traditional workflows create.</p><h3 id="generating-accessible-content-in-every-language">Generating accessible content in every language <a class="markdownit-header-anchor" href="#generating-accessible-content-in-every-language">🔗</a></h3><p>Remember the problem of Spanish sites with English alt text? AI can generate image descriptions in dozens of languages instantly. Instead of screen reader users encountering "Close button" in English on a Spanish interface, AI creates proper alt text that reads "Cerrar botón" from the start. </p><p>The same applies to ARIA labels, form instructions, and error messages. AI can ensure these critical accessibility strings exist in every target language, not just the visible content.</p><p>In the case of Localazy, if you include alt text and accessibility labels in your localizable files, the platform will help you easily identify and translate them accordingly.</p><h3 id="maintaining-reading-accessibility-across-languages">Maintaining reading accessibility across languages <a class="markdownit-header-anchor" href="#maintaining-reading-accessibility-across-languages">🔗</a></h3><p>When translations come back overly complex (e.g., turning simple English into formal German legal-speak), AI can flag the reading level mismatch. It can identify when translated content exceeds the cognitive load of the original, alerting teams that users with dyslexia or limited literacy will struggle.</p><p>AI can also rewrite complex translations into simpler versions automatically. Rather than leaving translators to figure out appropriate complexity levels for each audience, AI tools can create simplified versions that keep the same readability as the original. These tools spot phrases and cultural references that might confuse people reading in a second language, offering clearer options instead.</p><blockquote>Localazy's <a href="https://localazy.com/features/style-guide">Style Guide</a> allows you to set tone, formality, sentiment and audience expertise details per language, prompting Localazy AI to automatically follow the instructions you set for any specific audience every time you translate</blockquote><h3 id="catching-design-breaking-issues">Catching design-breaking issues <a class="markdownit-header-anchor" href="#catching-design-breaking-issues">🔗</a></h3><p>When German text expands 30% longer than English and breaks your carefully designed interface, AI can predict these problems before launch. You don't need expensive, specialized tools to catch these problems. You can simply feed your design specifications and target languages to your favorite LLM, and it'll flag potential overflow issues, cramped clickable areas, or contrast problems with longer text, all without additional investment.</p><p>For right-to-left languages, AI can verify that RTL layouts maintain proper accessibility structure. It can check whether screen reader navigation order makes sense when mirrored, or whether keyboard navigation still works logically in Arabic or Hebrew versions.</p><h3 id="automating-multilingual-media-access">Automating multilingual media access <a class="markdownit-header-anchor" href="#automating-multilingual-media-access">🔗</a></h3><p>Speech recognition AI can transcribe audio accurately in many languages and auto-translate captions, making it feasible to provide video accessibility in 10 languages instead of just English. This directly solves the problem of Deaf users being excluded from non-English content.</p><p>Even more promising, <a href="https://localazy.com/blog/s01-ep-08-bridging-the-gap-podcast">companies like Signapse</a> use AI to generate sign language translations via digital avatars, creating thousands of signed versions for public announcements and web content. </p><h3 id="as-always-it-needs-human-judgment">⚠️ As always, it needs human judgment <a class="markdownit-header-anchor" href="#as-always-it-needs-human-judgment">🔗</a></h3><p>Sometimes AI stumbles where context matters the most. Auto-generated captions that mis-transcribe critical words can be worse than no captions. Translation engines sometimes choose terms that are technically correct but inappropriate for accessibility contexts; like using formal medical terminology when simple language would be clearer.</p><p>When Apple used AI alone to summarize news articles, it produced errors that <a href="https://www.bbc.com/news/articles/cq5ggew08eyo" rel="noopener noreferrer nofollow">made headlines</a>. The lesson applies here: AI excels at identifying problems, generating starting points and scaling, but <strong>human experts must verify that solutions actually work for disabled users in each target language</strong>.</p><blockquote><em>Hybrid approaches can make multilingual products truly achievable without a massive resource allocation. Instead of choosing between breadth (many languages) and accessibility depth (proper support for disabled users), you can deliver both</em></blockquote><p>In practice, a winning approach could look like this:</p><ul><li><strong>Teams use LLMs to quickly assess potential problems across multiple languages </strong>by describing their interfaces and target languages; asking questions like <em>'Will this checkout flow have text overflow issues in German?'</em> or <em>'What cultural accessibility concerns might arise with this Arabic layout?'.</em></li><li><strong>Human experts then focus their time on the problems AI flagged as most probable</strong>, rather than manually reviewing everything. Translators verify whether predicted text expansion will actually break layouts, and accessibility specialists confirm whether flagged navigation issues would really impact users.</li></ul><h2 id="building-systems-that-work-for-everyone">🦻 Building systems that work for everyone <a class="markdownit-header-anchor" href="#building-systems-that-work-for-everyone">🔗</a></h2><p>All in all, better translation or better accessibility testing applied in isolation won't solve the problem.<strong> Building systems</strong> <strong>where these disciplines work together</strong> <strong>by default will</strong>. This means that accessibility requirements get automatically included in translation briefs, layout testing includes multiple languages from the start, success metrics account for both language and accessibility barriers, and so on. </p><p>This integrated approach benefits everyone: users get experiences that actually work in their language with their assistive technology, teams catch problems earlier when they're cheaper to fix, and products expand to new markets without creating new barriers.</p><p><strong>It all boils down to not treat accessibility and localization as separate problems</strong>. At the end of the day, the goal is a product that anyone can pick up and succeed with, without frustration, whether they're viewing it in English, Spanish, Japanese, or any other language. If you've invested in making a great product, extending that greatness to all audiences through accessible localization is the natural next step.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/ScreenRecording2025-10-31at17.13.00-ezgif.com-video-to-gif-converter.gif" class="kg-image" alt loading="lazy" width="800" height="466"><figcaption>Accessibility in action: automatic sign-language support on Signapse.ai’s homepage.</figcaption></figure><h2 id="making-it-real-3-accessibility-checklists">👩‍🦯‍➡️ Making it real: 3 accessibility checklists <a class="markdownit-header-anchor" href="#making-it-real-3-accessibility-checklists">🔗</a></h2><p>If you're shipping in multiple languages, you're already committed to inclusion. The question is <strong>whether you're delivering on that commitment</strong>. True digital inclusion means users succeed regardless of their language or abilities. </p><p>Start by:</p><ul><li><strong>Auditing one key user flow in your non-English versions</strong>. Can a screen reader user complete it successfully in Spanish? Does your German interface still work when text expands? Are error messages helpful in Japanese, not just accurate?</li><li><strong>Checking those hidden accessibility strings</strong>: the alt text, ARIA labels, and form instructions that assistive technology depends on. If they're still in English while everything else got translated, you found your first fix.</li><li><strong>Testing with real users who speak the target language and use assistive technology</strong>. Their feedback will reveal gaps that neither your accessibility team nor translators would catch working separately.</li></ul><p>Below you'll find the checklists you can use to make this process easier.</p><h3 id="before-you-translate">Before you translate <a class="markdownit-header-anchor" href="#before-you-translate">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/Access-check-5.png" class="kg-image" alt loading="lazy" width="1200" height="500" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Access-check-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Access-check-5.png 1000w, https://ghost.localazy.com/content/images/2026/02/Access-check-5.png 1200w" sizes="(min-width: 720px) 720px"></figure><h3 id="when-translation-is-in-progress">When translation is in progress <a class="markdownit-header-anchor" href="#when-translation-is-in-progress">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/Access-check-1-4.png" class="kg-image" alt loading="lazy" width="1200" height="460" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Access-check-1-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Access-check-1-4.png 1000w, https://ghost.localazy.com/content/images/2026/02/Access-check-1-4.png 1200w" sizes="(min-width: 720px) 720px"></figure><h3 id="for-final-validation">For final validation <a class="markdownit-header-anchor" href="#for-final-validation">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/Access-check-2-4.png" class="kg-image" alt loading="lazy" width="1200" height="460" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Access-check-2-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Access-check-2-4.png 1000w, https://ghost.localazy.com/content/images/2026/02/Access-check-2-4.png 1200w" sizes="(min-width: 720px) 720px"></figure><h3 id="free-accessibility-cheatsheet">📋 Free accessibility cheatsheet <a class="markdownit-header-anchor" href="#free-accessibility-cheatsheet">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">⬇️</div><div class="kg-callout-text">Download the <strong>full cheatsheet</strong> <a href="https://directus9.localazy.com/assets/f41876c5-13a9-47f6-8523-c11b7468d17d.pdf">here</a>!</div></div><p>Bottom line is: <a href="https://localazy.com/blog/not-just-translation-10-tools-to-make-your-digital-product-more-accessible">the tools and knowledge exist</a> to make truly inclusive multilingual products. The question is whether you'll build accessibility and localization integration into your process or keep treating them as competing priorities. <strong>Your users in every language deserve experiences designed for their actual needs</strong>. When you solve for accessibility and localization together, you create products that truly work for everyone. And that's something worth building.</p>]]></content:encoded>
            <author>Waqas Nazeer</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/10/true-accessibility.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to localize your React app with LinguiJS and Localazy]]></title>
            <link>https://localazy.com/blog/how-to-localise-your-react-app-with-linguijs-and-localazy</link>
            <guid isPermaLink="false">how-to-localise-your-react-app-with-linguijs-and-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:27:44 GMT</pubDate>
            <description><![CDATA[This article implements a fully localized React application using LinguiJS as the i18n framework and Localazy as the translation delivery and management platform. Easy and convenient!]]></description>
            <content:encoded><![CDATA[<p>When it comes to handling translation in a React application, there are a couple of options available in the tech ecosystem. A major package that stands out is <strong><a href="https://lingui.dev">LinguiJS</a></strong>,<strong> </strong>a popular JavaScript/Typescript internationalization (i18n) library that is used to internationalize React apps and that offers robust multilingual support. </p><p>In this guide, we will explore LinguiJS in depth and demonstrate how to use it with Localazy to handle translation in a React application. We’ll be going through a basic translation workflow, using LinguiJS translation and its i18n support to easily localize your app to other languages.</p><h2 id="prerequisites">📋 Prerequisites <a class="markdownit-header-anchor" href="#prerequisites">🔗</a></h2><ul><li>Install<strong><strong><a href="https://nodejs.org/en/"> Node.js</a></strong> </strong>(v20 or higher) if you don't have it already.</li><li>Install<strong> <a href="https://lingui.dev/ref/cli">LinguiJS CLI </a></strong>(v5 and higher)<strong> </strong>using the command <code>npm install --save-dev @lingui/cli</code>.</li><li>It is important to note that <strong>Create React App (CRA) is deprecated and no longer recommended</strong>. We will be using <strong><a href="https://vite.dev">Vite</a></strong>, which is fast, lightweight, supports TypeScript, JSX, and also modern bundling.</li></ul><h2 id="app-setup">➡️ App setup <a class="markdownit-header-anchor" href="#app-setup">🔗</a></h2><p>Let’s start with our demo React application. We will be building<strong> a user profile dashboard</strong> that contains user basic information such as email, location, technologies and a CTA button.</p><ol><li><strong>Create a new project</strong> with the following command:</li></ol><pre><code>npm create vite@latest localazy-react-example --template react-ts</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-21-at-7.02.25-PM.png" class="kg-image" alt loading="lazy" width="1460" height="1396" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-21-at-7.02.25-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-21-at-7.02.25-PM.png 1000w, https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-21-at-7.02.25-PM.png 1460w" sizes="(min-width: 720px) 720px"></figure><p>2. At this point, <strong>we are ready to run our project locally</strong>. To start the local development server, visit the url <a href="http://localhost:5173/">http://localhost:5173/</a> or run the command:</p><pre><code>npm run dev</code></pre><p>3. Now that we have our basic React app setup successful, we will be making some <strong>updates and edits to some components of our project directory</strong>. </p><p>The <code>App.tsx</code> file in the root directory should contain the following code snippets. This builds the UI for the user profile and a sidebar that will be used to switch between languages later on.</p><pre><code class="language-React.js">// App.tsx

import "./App.css";
import UserProfile from "./components/UserProfile";

function App() {
  return (
    &lt;&gt;
      &lt;div&gt;
        &lt;button className="side-bar"&gt;
          English
        &lt;/button&gt;
        &lt;button className="side-bar"&gt;
          Spanish
        &lt;/button&gt;
        &lt;button className="side-bar"&gt;
          Czech
        &lt;/button&gt;
      &lt;/div&gt;
      &lt;UserProfile /&gt;
    &lt;/&gt;
  );
}

export default App;
</code></pre><p>We need to <strong>create a new componen</strong>t<strong> </strong>called the <code>UserProfile.tsx</code> in the <em>src/components</em> folder. Add an image in the assets folder that can be referenced and imported as the profile image.</p><pre><code class="language-React.js">// src/components/UserProfile.tsx

import image from "../assets/profileImage.png";

function UserProfile() {
  return (
    &lt;div&gt;
      &lt;img src={image} alt="User avatar" className="logo" /&gt;
       &lt;h1&gt;
        Hello Mary Okosun
      &lt;/h1&gt;

      &lt;p&gt;
        Email: mary.okosun@example.com
      &lt;/p&gt;

      &lt;p&gt;
        Country: Lagos, Nigeria
      &lt;/p&gt;

      &lt;p&gt;
        Technologies: React.js, Nest.js, Typescript and Typeorm.
      &lt;/p&gt;

      &lt;p&gt;
        Bio: I am a backend developer with extensive experience in designing
          and building scalable, high-performance web applications. I specialize
          in server-side technologies such as Node.js, TypeScript, and Nest.js,
          and I have a strong background in working with relational and
          non-relational databases, including PostgreSQL and MongoDB. I enjoy solving
          complex problems, optimizing application performance, and
          collaborating with cross-functional teams to deliver robust,
          production-ready solutions. I am passionate about continuous learning
          and adopting best practices in backend development.
      &lt;/p&gt;
      &lt;button&gt;
        Hire Me
      &lt;/button&gt;
    &lt;/div&gt;
  );
}

export default UserProfile;
</code></pre><p>You can find the styling CSS file in the <a href="https://github.com/danielnewell/linguijs-sample">starter project</a> with all the component code on GitHub. You can also see our user profile application below.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-28-at-4.19.06-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1436" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-28-at-4.19.06-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-28-at-4.19.06-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/Screenshot-2025-11-28-at-4.19.06-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/11/Screenshot-2025-11-28-at-4.19.06-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="internationalize-a-react-app-with-lingui">🌐 Internationalize a React app with Lingui <a class="markdownit-header-anchor" href="#internationalize-a-react-app-with-lingui">🔗</a></h2><h3 id="installation">Installation <a class="markdownit-header-anchor" href="#installation">🔗</a></h3><p>The next step is to <strong>install LinguiJS</strong> for the in-app translation management. Lingui needs a transpiler to work. This transpiler is responsible for transforming Lingui's JS/JSX components into <a href="https://lingui.dev/guides/message-format">ICU MessageFormat</a> and extracting message IDs. There are two supported transporters, which are the <strong>Babel</strong> and <strong>SWC </strong>transpilers. For this project, we will be using the Babel transpiler. </p><blockquote><a href="https://babeljs.io">Babel</a> is a JavaScript transpiler that converts modern code into backward-compatible versions and allows custom syntax transformations</blockquote><p>Open the newly created project terminal and install the following dependencies:</p><pre><code>npm install --save-dev @lingui/cli
npm install --save @lingui/react
npm install --save-dev @lingui/babel-plugin-lingui-macro
npm install --save-dev @lingui/vite-plugin
npm install --save-dev @lingui/format-json
</code></pre><ul><li><em><strong>npm install --save-dev @lingui/cli</strong></em>: If not already installed during the prerequisite stage, this installs the Lingui command-line tool.</li><li><em><strong>npm install --save @lingui/react</strong>: </em>This allows us to use Lingui inside React components.</li><li><em><strong>npm install --save-dev @lingui/babel-plugin-lingui-macro</strong>: </em>This plugin makes the macros work so that Lingui can capture text, replace placeholders, and generate translation catalogs.</li><li><em><strong>npm install --save-dev @lingui/vite-plugin</strong></em>: This plugin integrates Lingui into the Vite build system, making it compatible with Vite and ensuring message catalogs load and macros work during development and production builds.</li><li><em><strong>npm install --save-dev @lingui/format-json</strong></em>: This installs the JSON formatter plugin, which is needed if we want to save our extracted messages in a JSON format.</li></ul><h3 id="linguijs-configuration">LinguiJS configuration <a class="markdownit-header-anchor" href="#linguijs-configuration">🔗</a></h3><p>Create a new configuration file, <code><strong>.babelrc</strong></code>, at the root directory and add the following snippet:</p><pre><code>{
  "plugins": ["@lingui/babel-plugin-lingui-macro"]
}</code></pre><p>Make sure to update the file <code>vite.config.ts</code> to include the Babel lingui macro plugin. This is because the <code>@vitejs/plugin-react</code> does not use the Babel config <code>.babelrc</code> created in our project by default. We have to specify the Babel options directly in <code>vite.config.ts</code>:</p><pre><code>import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import { lingui } from "@lingui/vite-plugin";

export default defineConfig({
  plugins: [
    react({
      babel: {
        plugins: ["@lingui/babel-plugin-lingui-macro"],
      },
    }),
    lingui(),
  ],
});</code></pre><p>Next, we will create a Lingui config file <code>lingui.config.ts</code> at the root of our app with the following code:</p><pre><code>import { formatter } from "@lingui/format-json";

export default {
  locales: ["en", "es", "cs"],
  sourceLocale: "en",
  catalogs: [
    {
      path: "src/locales/{locale}/messages",
      include: "src",
    },
  ],
  format: formatter(),
};
</code></pre><p>We are <strong>defining our supported locales in the <code>locales</code> array</strong>; we’ll use English(<em>en),</em> Spanish(<em>es), </em>and Czech<em>(cs)</em>. <code>en</code> is the default <code>sourceLocale</code>. </p><p>Inside the <code>catalogs</code> array, define the file <code><strong>path</strong></code> to write the extracted translation messages. Then define an <code><strong>include</strong></code> array of paths where Lingui should look for translations in our code, which is the entire <code>src</code> directory. The format is passed to be in JSON format using the formatter package installed during setup.</p><p>Afterwards, we need to do a little modification and <strong>add new scripts to the <code>package.json</code></strong>, which will help to extract and also compile our translations. Add the following command:</p><pre><code>// package.json

{
   "scripts": {
   	  ....,
      "extract": "lingui extract",
      "compile": "lingui compile --typescript"
   }
}</code></pre><h2 id="internationalization">🗣️ Internationalization <a class="markdownit-header-anchor" href="#internationalization">🔗</a></h2><p>It's time to prepare our app for content translation. The internationalization process begins with <strong>wrapping all our static tags in the <code>UserProfile.tsx</code></strong> file using the <code>Trans</code> tag. </p><p>The <code>Trans</code> tag is a JSX Macros that translates React components. It handles translations of messages, including variables and other React components.</p><p>Update the <code>UserProfile.tsx</code> file to wrap all static messages and text with the <code>Trans</code> macro tag:</p><pre><code>import { Trans } from "@lingui/react/macro";
import image from "../assets/profileImage.png";

function UserProfile() {
  return (
    &lt;div&gt;
      &lt;img src={image} alt="User avatar" className="logo" /&gt;
      &lt;h1&gt;
        &lt;Trans&gt;Hello, I am Mary Okosun&lt;/Trans&gt;
      &lt;/h1&gt;

      &lt;p&gt;
        &lt;Trans&gt;Email: mary.okosun@example.com&lt;/Trans&gt;
      &lt;/p&gt;

      &lt;p&gt;
        &lt;Trans&gt;Country: Lagos, Nigeria&lt;/Trans&gt;
      &lt;/p&gt;

      &lt;p&gt;
        &lt;Trans&gt;Technologies: React.js, Nest.js, Typescript and Typeorm.&lt;/Trans&gt;
      &lt;/p&gt;

      &lt;p&gt;
        &lt;Trans&gt;
          Bio: I am a backend developer with extensive experience in designing
          and building scalable, high-performance web applications. I specialize
          in server-side technologies such as Node.js, TypeScript, and Nest.js,
          and I have a strong background in working with relational and
          non-relational databases, including PostgreSQL and MongoDB. I enjoy solving
          complex problems, optimizing application performance, and
          collaborating with cross-functional teams to deliver robust,
          production-ready solutions. I am passionate about continuous learning
          and adopting best practices in backend development.
        &lt;/Trans&gt;
      &lt;/p&gt;
      &lt;button&gt;
        &lt;Trans&gt;Hire Me&lt;/Trans&gt;
      &lt;/button&gt;
    &lt;/div&gt;
  );
}

export default UserProfile;
</code></pre><p>To test that our script is set up correctly, run the following <code>extract</code> command. This command will pull all the <code>Trans</code> wrapped text into translatable files:</p><pre><code>npm run extract</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-28-at-5.23.54-PM.png" class="kg-image" alt loading="lazy" width="1038" height="402" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-28-at-5.23.54-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-28-at-5.23.54-PM.png 1000w, https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-28-at-5.23.54-PM.png 1038w" sizes="(min-width: 720px) 720px"></figure><p>The command will create three new files in three locales folders with the different locales as their folder name, as seen below.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-28-at-5.24.55-PM.png" class="kg-image" alt loading="lazy" width="728" height="312" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-28-at-5.24.55-PM.png 600w, https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-28-at-5.24.55-PM.png 728w" sizes="(min-width: 720px) 720px"></figure><h2 id="localization-with-localazy">⛵️ Localization with Localazy <a class="markdownit-header-anchor" href="#localization-with-localazy">🔗</a></h2><h3 id="create-a-new-project">Create a new project <a class="markdownit-header-anchor" href="#create-a-new-project">🔗</a></h3><p>Go to <a href="https://localazy.com/register">Localazy signup</a>, join our community by creating an account, then create a new project. </p><p>You can use the Public project type so other contributors can freely help with the translation of your app. Select English as your source language.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-28-at-5.31.06-PM.png" class="kg-image" alt loading="lazy" width="1890" height="878" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-28-at-5.31.06-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-28-at-5.31.06-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/Screenshot-2025-11-28-at-5.31.06-PM.png 1600w, https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-28-at-5.31.06-PM.png 1890w" sizes="(min-width: 720px) 720px"></figure><h3 id="content-upload">Content upload <a class="markdownit-header-anchor" href="#content-upload">🔗</a></h3><p>To upload your content, follow these steps:</p><ol><li><strong>Install <a href="https://localazy.com/docs/cli/installation">Localazy CLI</a> </strong>by running the command in our demo app’s terminal:</li></ol><pre><code>npm install -g @localazy/cli</code></pre><p>2. Afterwards, <strong>create a configuration file, <code>localazy.json</code>, in the root folder </strong>of your project. Modify the file and include the following snippets:</p><pre><code>{
    "writeKey": "your-write-key", 
    "readKey": "your-read-key",
  
    "upload": {
      "type": "json",
      "files": "src/locales/en/messages.json"
    },
  
    "download": {
      "files": "src/locales/${lang}/messages.json"
    }
  }
 </code></pre><p>The <strong>writeKey</strong> and the <strong>readKey</strong> can be obtained from the <em>Access Keys</em> tab on the project dashboard. These keys are used to authorize your request.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-28-at-5.37.29-PM.png" class="kg-image" alt loading="lazy" width="2000" height="875" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-28-at-5.37.29-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-28-at-5.37.29-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/Screenshot-2025-11-28-at-5.37.29-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/11/Screenshot-2025-11-28-at-5.37.29-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>The <strong>upload</strong> section instructs Localazy CLI on how to collect files to be uploaded. In our project, the type of file we'll upload to the dashboard is a JSON file, which is the <strong><code>src/locales/en/messages.json</code></strong> . </p><p>The <strong>download</strong> section describes how to process translated files and where to write them. In our case, after successful translation, the downloaded translated files will be placed in <strong><code>src/locales/${lang}/messages.json</code>, </strong>where <em>lang</em> is the language of the translated file.</p><p>3. After setting up your localazy config file, you can go ahead and upload the content to the Localazy dashboard with the command:</p><pre><code>localazy upload</code></pre><p>Now you can either refresh the browser to see the content or redirect to the project link in the terminal:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-28-at-5.44.40-PM.png" class="kg-image" alt loading="lazy" width="1168" height="628" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-28-at-5.44.40-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-28-at-5.44.40-PM.png 1000w, https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-28-at-5.44.40-PM.png 1168w" sizes="(min-width: 720px) 720px"></figure><p>4. The next step is to add new languages. In our application, we will be translating our content to <strong>Czech (cs)</strong> and <strong>Spanish(es)</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-29-at-12.35.47-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1301" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-29-at-12.35.47-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-29-at-12.35.47-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/Screenshot-2025-11-29-at-12.35.47-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/11/Screenshot-2025-11-29-at-12.35.47-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/03/1000014197.jpg" class="kg-image" alt loading="lazy" width="1920" height="1126" srcset="https://ghost.localazy.com/content/images/size/w600/2026/03/1000014197.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/03/1000014197.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/03/1000014197.jpg 1600w, https://ghost.localazy.com/content/images/2026/03/1000014197.jpg 1920w" sizes="(min-width: 720px) 720px"></figure><p>We will find different suggestions provided for us. You can use some of the <a href="https://localazy.com/docs/general/machine-translations/">machine translation</a> options, like <strong>Google Translate</strong> or <strong>DeepL</strong>, directly from the translation interface, or for bulk and automated translation of your texts. You can also use <strong><a href="https://localazy.com/features/localazy-ai?utm_source=google&amp;utm_medium=cpc&amp;utm_term=&amp;campaign_id=22142518317&amp;ad_group_id=173401758389&amp;ad_id=729902624301&amp;match_type=&amp;target=dsa-426055549808&amp;gad_source=1&amp;gad_campaignid=22142518317&amp;gbraid=0AAAAACP68mW3KYaZlttQwAtwwofAqL1Nf&amp;gclid=Cj0KCQiAhtvMBhDBARIsAL26pjE7LdirZPXXeKUhYl_pEpbgZNR6U0tcTDFUXKJOK5FfSo4yZ9wXFA0aAoBgEALw_wcB">Localazy AI</a> </strong>if you're looking for a more accurate result that consistently uses your project's glossary, context, and style guide automatically.</p><blockquote>The best translation option for your project will depend on your goals, needs, and budget. Check out the <a href="https://localazy.com/faq/machine-translation/what-is-the-best-machine-translation-engine">documentation on MT</a>, <a href="https://localazy.com/blog/a-practical-guide-to-translating-with-localazy-ai">this article</a> about Localazy AI and <a href="https://localazy.com/blog/guide-localazy-translation-services/">our translation services guide</a> for more info</blockquote><h3 id="download">Download <a class="markdownit-header-anchor" href="#download">🔗</a></h3><p>After translating our app, it is time to <strong>download the translated phrases</strong>. </p><p>Run the command in your app terminal:</p><pre><code>localazy download</code></pre><p>This command downloads all the freshly added languages and newly accepted phrases. We now have the updated translated version <code>messages.json</code> in the es and cs folders containing the translated phrases. </p><h2 id="translation-to-different-languages">🔄 Translation to different languages <a class="markdownit-header-anchor" href="#translation-to-different-languages">🔗</a></h2><p>Lingui introduces the concept of compiled message catalogs. Before we load translated messages into our application, we need to compile them.</p><p>We will use the <code>compile</code> command to do this:</p><pre><code>npm run compile</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-29-at-1.12.46-PM.png" class="kg-image" alt loading="lazy" width="1034" height="200" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-29-at-1.12.46-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-29-at-1.12.46-PM.png 1000w, https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-29-at-1.12.46-PM.png 1034w" sizes="(min-width: 720px) 720px"></figure><p>We can see that <strong>there is a new file, <code>messages.js</code>, for each locale</strong> inside the <code>locales/{lang}</code> folder. This file contains the compiled message catalog.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-29-at-1.13.39-PM.png" class="kg-image" alt loading="lazy" width="724" height="444" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-29-at-1.13.39-PM.png 600w, https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-29-at-1.13.39-PM.png 724w" sizes="(min-width: 720px) 720px"></figure><p>We will now load this file into our app and set the active language to en, and that becomes the default language. <strong>Update the <code>main.tsx</code> file</strong> to include the following snippets:</p><pre><code>import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import "./index.css";
import App from "./App.tsx";
import { I18nProvider } from "@lingui/react";
import { i18n } from "@lingui/core";
import { messages as enMessages } from "./locales/en/messages";
import { messages as esMessages } from "./locales/es/messages";
import { messages as csMessages } from "./locales/cs/messages";

i18n.load({
  en: enMessages,
  es: esMessages,
  cs: csMessages,
});
i18n.activate("en");

createRoot(document.getElementById("root")!).render(
  &lt;StrictMode&gt;
    &lt;I18nProvider i18n={i18n}&gt;
      &lt;App /&gt;
    &lt;/I18nProvider&gt;
  &lt;/StrictMode&gt;
);
</code></pre><p>The <code>App.tsx</code> should also be updated as below. This introduces the onClick function that includes the functionality for switching languages.</p><pre><code>import { i18n } from "@lingui/core";
import "./App.css";
import UserProfile from "./components/UserProfile";

function App() {
  const switchLanguage = (lang: string) =&gt; {
    i18n.activate(lang);
  };

  return (
    &lt;&gt;
      &lt;div&gt;
        &lt;button className="side-bar" onClick={() =&gt; switchLanguage("en")}&gt;
          English
        &lt;/button&gt;
        &lt;button className="side-bar" onClick={() =&gt; switchLanguage("es")}&gt;
          Spanish
        &lt;/button&gt;
        &lt;button className="side-bar" onClick={() =&gt; switchLanguage("cs")}&gt;
          Czech
        &lt;/button&gt;
      &lt;/div&gt;
      &lt;UserProfile /&gt;
    &lt;/&gt;
  );
}

export default App;
</code></pre><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-29-at-1.18.56-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1345" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-29-at-1.18.56-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-29-at-1.18.56-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/Screenshot-2025-11-29-at-1.18.56-PM.png 1600w, https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-29-at-1.18.56-PM.png 2382w" sizes="(min-width: 720px) 720px"><figcaption>English React app.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-29-at-1.19.17-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1340" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-29-at-1.19.17-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-29-at-1.19.17-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/Screenshot-2025-11-29-at-1.19.17-PM.png 1600w, https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-29-at-1.19.17-PM.png 2284w" sizes="(min-width: 720px) 720px"><figcaption>The UI translated to Spanish(es).</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-29-at-1.19.33-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-29-at-1.19.33-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-29-at-1.19.33-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/Screenshot-2025-11-29-at-1.19.33-PM.png 1600w, https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-29-at-1.19.33-PM.png 2324w" sizes="(min-width: 720px) 720px"><figcaption>The result in Czech(cs).</figcaption></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>In this article we demonstrated how to use Localazy and LinguiJS to localize a React application. Localazy is a powerful tool that makes translating applications faster, easier, error-proof, and more fun.</p><p>Now, you can <a href="https://github.com/danielnewell/linguijs-sample">download the repository</a> with the demo project to explore it. If you have any questions, check out the <a href="https://localazy.com/integrations/react">Localazy documentation</a> about the React integration or <a href="https://localazy.com/contact">drop the team a line</a> for quick support.</p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/02/React-with-lingui.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Why Africa’s WhatsApp-first culture is shaping the future of software localization and digital business]]></title>
            <link>https://localazy.com/blog/how-africas-whatsapp-first-culture-is-shaping-software-localization-and-digital-business</link>
            <guid isPermaLink="false">how-africas-whatsapp-first-culture-is-shaping-software-localization-and-digital-business</guid>
            <pubDate>Tue, 17 Feb 2026 19:13:22 GMT</pubDate>
            <description><![CDATA[WhatsApp is Africa's most utilized gateway to the internet,  hosting businesses in the commerce, healthcare and payments sectors. Building for Africa means building inside WhatsApp in different languages — or at least mirroring its flows, tone, and cultural logic.]]></description>
            <content:encoded><![CDATA[<p>In Accra, a wig vendor posts wigs on Instagram, buyers DM her, and every serious conversation —from prices, haggling, payment proof or delivery information— jumps to WhatsApp. In Lesotho, a furnituremaker can take batch orders from the WhatsApp group he has linked to his Tiktok business shop. Coffee shops, food kiosks, and roadside vendors today all accept mobile money payments via WhatsApp chatbots. As vast as Ekiti, Nigeria is, many farmers are only able to proactively decide whether to cull or vaccinate their sick birds when they send photos of them to a vet on WhatsApp and get guidance.</p><p>WhatsApp functions as <strong>the second most popular immediate entry point to the internet for hundreds of millions of Africans</strong>, according to <a href="https://restofworld.org/charts/2024/gwAhn-messaging-apps-africa">a Rest Of World report</a>. In Kenya, South Africa and Nigeria, <a href="https://wearesocial-net.s3-eu-west-1.amazonaws.com/wp-content/uploads/common/reports/digital-2020/digital-2020-global.pdf">95-97%</a> of mobile internet users use WhatsApp, making it a foundational part of the continent’s digital experience. As users already communicate there in their native languages, WhatsApp-based services are expected to do the same. A <a href="https://www.gsma.com/solutions-and-impact/connectivity-for-good/mobile-for-development/wp-content/uploads/2016/07/Consumer-Barriers-to-mobile-internet-adoption-in-Africa.pdf">GSMA report</a> on mobile internet adoption in Sub-Saharan Africa shows that many first-time and low-literacy users will disengage from digital services if content isn't in their native language.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/AdobeStock_310305677.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/AdobeStock_310305677.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/AdobeStock_310305677.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/AdobeStock_310305677.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/AdobeStock_310305677.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="why-is-whatsapp-the-most-popular-digital-platform-in-africa">💬 Why is WhatsApp the most popular digital platform in Africa? <a class="markdownit-header-anchor" href="#why-is-whatsapp-the-most-popular-digital-platform-in-africa">🔗</a></h2><p>Africa is the world's most linguistically diverse region, with more than <a href="https://www.statista.com/statistics/1280625/number-of-living-languages-in-africa-by-country/?srsltid=AfmBOortabRT1icm0TWunsPQLSuXuWtqR3xa1jE0rOK2hRZ2-LR8ppyE">2,000 languages</a> spoken across 54 countries. This diversity runs up against uneven connectivity, low-spec Android phones, and expensive data for connectivity. When users find a single, lightweight messaging app with free or cheap bundles from telcos, it becomes a staple. For Africans, WhatsApp is:</p><ul><li>Compatible with low-end smartphones.</li><li>An image and media compressor that can still retain much of their quality.</li><li>Where families, churches, trade groups, school alumni, and political campaigns thrive.</li></ul><p>Analysts at Business Report described WhatsApp as a <a href="https://iol.co.za/business-report/economy/2024-12-18-whatsapps-evolution-the-digital-lifeline-of-the-developing-world/">digital lifeline for the developing world</a> and a core part of Africa’s tech evolution. It continues to prove to be so. With the launch of <a href="https://restofworld.org/2024/how-whatsapp-for-business-changed-the-world/">its successful business optimized version, WhatsApp Business</a>, this means in practice that:</p><ul><li>Small shops can manage catalogs, orders, and delivery entirely by chat.</li><li>Health workers in Southern Africa can improvise hospital systems through WhatsApp referrals when official tools fall short.</li><li>New AI services can launch first as WhatsApp bots because that’s where users actually are.</li></ul><p>For the longest time, WhatsApp Business used to be small-scale vendors leveraging its catalogue options and automated responses to showcase and manage their businesses. <strong>Now, full-scale startups are building their entire programs on WhatsApp</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/AdobeStock_328548072.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/AdobeStock_328548072.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/AdobeStock_328548072.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/AdobeStock_328548072.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/02/AdobeStock_328548072.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-african-tech-startups-building-on-whatsapp">📲 The African tech startups building on WhatsApp <a class="markdownit-header-anchor" href="#the-african-tech-startups-building-on-whatsapp">🔗</a></h2><p>From payment systems to veterinary services and fully-embedded e-commerce stores, these startups want to reach as many customers as possible on WhatsApp.</p><h3 id="doorcas-veterinary-proposition">Doorcas’ veterinary proposition <a class="markdownit-header-anchor" href="#doorcas-veterinary-proposition">🔗</a></h3><p><strong><a href="https://doorcasafrica.com">Doorcas</a></strong> started with a web app but farmers wouldn't use it no matter how simplified they made it. “Right now on our web app, you only need your phone number and a password to set up an account,” founder <a href="https://www.linkedin.com/in/odoleabayo/">Abayomi Olode</a> says. “But people still don't use it. We thought of something they'd be more familiar with and realized it was WhatsApp. They feel that it is faster and they already use it well.” In Nigeria, where <a href="https://openknowledge.fao.org/server/api/core/bitstreams/6fe47741-3f07-498e-a9e4-22b67ebb8697/content">40%</a> of all households keep livestock and where WhatsApp penetration <a href="https://www.statista.com/statistics/1176101/leading-social-media-platforms-nigeria/?srsltid=AfmBOop31WBgQIh1vxrzdHUI4uqXAlB95bB8A5h3df1CVxhs7Nu8KxYm">exceeds 90% among smartphone users</a>, it seemed the most realistic option for Olode and his team.</p><p>Once the company became WhatsApp-based, <strong>farmers could reach them with a simple text</strong>. They are able to report issues, share pictures, or even send videos of sick animals directly through the app, which Doorcas logs into their system. “We couple their shared information with AI algorithms to predict diseases before they occur,” the founder explains. The company’s strongest hook is a free physical farm consultation, something that instantly builds affinity. “It is our best USP yet.”</p><blockquote>“On our web app, you only need your phone number and a password to set up an account. But people still don't use it. We thought of something they'd be more familiar with and realized it was WhatsApp. They feel that it is faster and they already use it well” - <strong>Abayomi Olode, CEO of Doorcas</strong></blockquote><p>Nigerian farmers rely heavily on emotional cues in conversation, so while quick replies help Doorcas handle simultaneous emergencies, they never let automation dominate. “We jump in as fast as possible so they know there’s a real human behind the message.” <strong>Many users switch between <a href="https://hub.localazy.com/en/languages/yo-yoruba">Yoruba</a>, English, and <a href="https://hub.localazy.com/en/languages/pcm-nigerian-pidgin">Pidgin</a> as they talk</strong>, expecting the responder to mirror them. “If you speak English only, they don’t feel like you can understand their problems,” Olode explained. “But once you switch to the local language, then they want to have sincere conversations.”</p><p>As Doorcas expands to Northern Nigeria, language becomes even more complex. Their Kaduna-based vet speaks <a href="https://hub.localazy.com/en/languages/ha-hausa">Hausa</a>, yet still struggles with deeply indigenous dialects. “She told us the Hausa there is so deep, she must listen very attentively to understand,” Olode says. Many times, they’ve had to bring in local translators to ensure that context is not lost during conversations. In Hausa or Yoruba, words can be spelled the same, but carry entirely different meanings depending on pronunciation.</p><p>The company also uses a reminder system which helps farmers vaccinate at the right time, Olode adds, despite many farmers not believing in vaccines.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/02/image_20251231_152803b5af1746-1aee-4450-bc26-d720d3d76f55.jpg" class="kg-image" alt loading="lazy" width="1280" height="720" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/image_20251231_152803b5af1746-1aee-4450-bc26-d720d3d76f55.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/image_20251231_152803b5af1746-1aee-4450-bc26-d720d3d76f55.jpg 1000w, https://ghost.localazy.com/content/images/2026/02/image_20251231_152803b5af1746-1aee-4450-bc26-d720d3d76f55.jpg 1280w" sizes="(min-width: 1200px) 1200px"><figcaption>Quick conversations between farmers and veterinarians within the Doorcas app.</figcaption></figure><h3 id="set-up-a-quick-shop-with-ghala">Set up a quick shop with Ghala <a class="markdownit-header-anchor" href="#set-up-a-quick-shop-with-ghala">🔗</a></h3><p>For many business owners in East Africa, WhatsApp is a checkout platform, says Daniel Kalebu, founder of WhatsApp-based e-commerce shop, <strong><a href="https://ghala.tz">Ghala</a></strong>. “Social platforms help attract buyers, but <strong>the actual sale nearly always moves to WhatsApp</strong>,” he states. “To us, this is where negotiation happens, trust is built, pictures are shared, and orders are confirmed,” he explains. But despite this massive behaviour shift, WhatsApp commerce remained painfully slow. The startup currently serves all types of small online businesses and all orders, questions, and verifications had to be handled manually. “This process didn’t scale well with marketing and eventually, merchants simply couldn't keep up the traffic.”</p><p>Ghala introduced an AI layer to replicate what a human seller typically does: answer questions, recommend products, build carts, confirm payments, reconcile orders, etc, but at an infinite scale. <strong>Their system now automates about 98% of customer interactions</strong>, and only triggers an escalation when human attention is genuinely needed. “If there’s something that requires the merchant’s eyes (a complaint, an angry customer, or a very custom order), the system notifies the business owner to jump in,” says Kalebu.</p><blockquote>“Social platforms help attract buyers [...] Whatsapp is where negotiation happens, trust is built, pictures are shared, and orders are confirmed” - <strong>Daniel Kalebu, Founder of Ghala</strong></blockquote><p>The company has integrated features like <a href="https://business.whatsapp.com/products/whatsapp-flows?lang=en">WhatsApp Flows</a>, which allows them to render complex forms and menus. In fact, by using Flows for a ticketing client, they were able to reduce the entire booking time from ten minutes to about two. Kalebu likens it to <strong>an emerging “Play Store of the future”</strong>. The Ghala Merchant App extends this further by giving sellers analytics, chat monitoring, and even in-store POS functionality.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/02/Group-3.png" class="kg-image" alt loading="lazy" width="1800" height="1245" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Group-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Group-3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/02/Group-3.png 1600w, https://ghost.localazy.com/content/images/2026/02/Group-3.png 1800w" sizes="(min-width: 1200px) 1200px"><figcaption>Real vendors setting up a shop on Ghala and chatting with its chatbot in Swahili.</figcaption></figure><h3 id="whatsapp-for-conversational-payments-in-fintech">Whatsapp for conversational payments in fintech <a class="markdownit-header-anchor" href="#whatsapp-for-conversational-payments-in-fintech">🔗</a></h3><p>WhatsApp-based services are even more strengthened within the fintech sector, where users expect services to be instantaneous and confidential:</p><p>1. <strong><a href="https://semoa-group.com/pan-african-fintech/">Semoa</a></strong>, a Togolese fintech, developed Express Cash by Semoa on top of WhatsApp to <strong>turn simple chats into full banking processes</strong> for Ecobank customers in Togo. It also operates in the wider West African Economic and Monetary Union (WAEMU) region. Customers text a WhatsApp bot called <em>Dédé</em> to generate tokens with which they can withdraw cash at ATMs, pay bills, or transfer money across borders.</p><p>2. In partnership with Clickatell, <strong><a href="https://yabx.co">Yabx</a></strong> is a digital lending company providing <strong>WhatsApp-based microloans</strong> to Africans. It uses a simple chat flow through which customers can request, receive, and manage credit in real time from WhatsApp. There's no need to download another app or fill difficult web forms. In regions with little access to formal credit systems, this chat-first lending model makes short-term borrowing seamless.</p><p>3. <strong><a href="https://owo.app">OWO</a></strong>, built by Nigerian open-banking company <a href="https://mono.co/about">Mono</a>, uses <strong>WhatsApp as a payment pillar for everyday transactions</strong> in Nigeria. Users link their bank accounts once; then they can send money, pay bills, and do business from WhatsApp with text, images, or even voice notes, with OWO converting those messages into secure transfers. Tech Cabal reports it has already processed over <a href="https://techcabal.com/2025/06/25/mono-abdulhamid-hassan/">₦1 billion in volume</a>. In the same article, Mono’s CEO Abdulhamid Hassan shared that it's a way to tap into the needs of tens of millions of Nigerians who already discuss money on WhatsApp but don’t want another banking app.</p><p>4. South Africa's <strong><a href="https://www.mamamoney.co.za">Mama Money</a></strong> extends its <strong>low-fee international remittance service into WhatsApp</strong>. Low-income users can register, send money, manage a Mama Money Card, and handle support via dedicated WhatsApp numbers instead of relying solely on an app or branch. The company has collaborated with Access Bank and Paymentology to let users transfer funds internationally, buy electricity and airtime, and check balances inside the chat with their WhatsApp-powered card.</p><h2 id="whatsapps-features-are-reshaping-product-design">📦 WhatsApp’s features are reshaping product design <a class="markdownit-header-anchor" href="#whatsapps-features-are-reshaping-product-design">🔗</a></h2><p>Founders Olode and Kalebu both say it's easier to build around established behavioural cues than to create new ones. Nothing is more established across Africa than the muscle memory that comes with using WhatsApp. This is why product teams are now <strong>building solutions that feel chat-based, mimicking WhatsApp’s flow</strong>, and centering conversational interfaces instead of traditional screens and menus.</p><p>One example is <a href="https://www.kowri.app"><strong>Kowri's</strong></a> voice pay option, where <strong>users can pay for bills and <u><a href="https://citinewsroom.com/2025/04/kowri-introduces-pay-with-voice-for-mobile-payments/">send money using voice commands</a></u></strong>. This works not only in English but also in two other local Ghanaian languages: <a href="https://hub.localazy.com/en/languages/tw-twi">Twi</a> and Hausa.</p><figure class="kg-card kg-image-card"><img src="data:image/jpeg;base64,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mA8NT91RU7dU8oE1FRq1P3CpJ5R+6jdTaKCR26jdTaKACiiigAph60+mHrQaDG602nNTa0MxrdaY3SpD0plAEZ+7UdSU3+KtDQbRRRQBHRUlMPWrTASmtTqKYEdFFFABRRRQAUUUUAFFFFABTlptFADhup1NWnUAFLupKKAJKKTcKYzVHKBJRRRSAKcvWm0UAf/S/IFv4qYy0tFfDnOQtUbdamZajZa0ArnvUTdKs1CVrQCqy1Ey1aPWoXWtogU3WoGWrjLUTrWsJAUGWomWrrLVdlreMjQpstV3WrjLUDLWsQKTLUbLVxlquy1rCQFM96aVq0y1XZa1jICqVph6VYZaiK1uBAy0w96nPSo26UGhBRUh71HWgCN0plSUzbVJgJRRRVAR0VJUdABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFSVHRQBJRUdSUAFKOtJRQBJRUdSVDQBTt1NopASDtT1aoKkVqDMn3UtRK1P3GswHU4NTaTdQaE26nbhUW6haAJqKjpd1ZmY+ik3Cm7qDQczUyiigBrU2nN1ptaAFR07cabQZjD96mN1qVulMPetDQjooooAKRulLTD1poBKKKKsBG6UypKjoAKKKKACiiigAooooAKKKKAHLTqjpy0AOooooAKf96mUo60mA+iiioAKKKKAP//T/IP/AHajqTd701utfDnOMPSomqamHrWgFdlprdKkPSkbrVRAqMtRNVplquy1rECB1qButWmWoXWmBWdarutXStQstdMZAUStQstXWWoCtdEDQpOtQMu6rzLUDrVRkBSZaiK7qtutVytawkBVZaaV4qdlqI966IyAqlaiZaularla0AgbpTGWpWWmstBoQUVIe9R1oAw9aSpKYetWmAlFFFMBrU2pKjoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooActOqOnL1oAdRRRQBJRUdPXpUtALRRRUgODU7d71HTg1AE1FR07dWYEm406o6KAJKduqJWp9AElFR0VPKBJTS1Noo5QCkPSlprdaoBtFFFACN0plPPSmVcTMa3Wm05utNpmgUnelopgRstFPPSmVS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1Pxnp69KiWnK1fJnOWN3vRUdKOtAEw/u0tR09WrMBaKb8tOoAKKKKAEbpTKe3SmU+cAooqOkA5utNoorQCNloqSmHrQAlNK06mtQA2mt1pT0paAI6RulP2mmMtaARN1pjLUtNK0ARHrUTLU7dKYy1rzGhWZaiK1aZaiZa1iBUZajZatFahZaoCsy1XZaustV2WtoyAqlaidf7tWmWoitawkBVPeomWrTLUTLWoFUrUTLVplqIrWhoQN0ph71M3WmMtaARFaY3SpajppgR0U9ulMq0AUUUUAR0VJTStADaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAduptFFADt1NoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAfuFLUdODUAOooooAKKKKACiiigAooooAKKKKAClPWmNTaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9X8Y1anLVfdUytXy5zklPXpUQanVPKBMGp1RL0p/wDvVHKA6iiioAKKKKACiiigAooooAjopzdabWgBUdSUw9aAEooooAa1Np26nUAR01utOprdaqIDGWmVJTf4qoCNutMbpUp701utAENQMtWmWm7a1jI0KrdKiK1Oy0wrurWMgKrLUbLVorULLVAU2WomWrjLtqBlraMgKpWomWrTLURWtgKrLVdlq2y0xlrQCq1RMtWCu2mFa0NCBlplSstNZavmAgoqRlr1H4M/CnXfjh8T/D/wr8M3NvZal4juPs0Et2ZFgRtjSbpPLV227UP3VpgeTUV+xA/4IuftHkbv+Et8K/8AgRe//I1J/wAOWf2kv+hs8K/+BF7/APIlaAfjxRX7D/8ADln9pL/obPCv/gRe/wDyJXxN+1R+yN4+/ZJ17QvDvj/VNN1S48QW0lzA2mvNIqLFJ5bKxlii+agD5Pam1JTWoAbRRRQAUUUUAFFfS/7Pv7KHxq/acm1aL4TaKl9FoiRm7uLieO1gRps+WnmS/ekbBbav8INeLeNfCHiL4f8AirVfBXi6ybTtZ0W4ktLq3fbmOaJtrLlflP1oA5GivqX4K/se/Hv9oPwnqXjX4V6AmraRpNy1pcTNdQQbJkiWZl2yujN8rr09a+Wz1oASiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo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tt6ru+72ry2igDY1fVtU1zU7rWtcupb+/vpGmnuJ5Gklmkc7mdmbLMzHvWPRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//R/FOim7qN1fNmHOOqSo6KBD16U/5aiHWn0ASK1G73qOpKAJKduNQ1JWYElO3VGvWnUAO3U6o6duqeUCVWpajoqQJKYetJRQAUUUUANam1JUdABRRRQAh6UynbjTaACiiitACiikbpQAw96KKKACmt1p1NbrWgER60wrU1M20ARMtRMtTtUTLWhcSArTGWrDdKiK1oMrlagZaubRVc9KuIFYrULLVtlqIrWoFVlqJulWWWo2WrhICqVqFlq23SoitagVaYy1Oy03bWhoVW/wBqmlanZaiPetAI6RulPK02mgI6KkqOrAKKKKAGlabUlNK0ANooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//0vxU20zbTqK+bOcKKbup1ABS7qSigB+4UL0plFAE26nbveol6U9etZgSbqdUatRQBKrU+o6KAJt1G6mbqWgB26jdTaKAHbqN1NooAKKKKACkPSjdRuqeUBlFFFUAUUUjdKAFpG6UyigAooooAKjqSigBrdabUh71HWgDGXdTCtTVHQBC3WoT3q01Rt1rSMjQrlahZasMtNbrWgFVlqF1q0y1G9XECky1EVq6y1XZa1AgZarsv96rjLUDLWgEBWoWWrB700rWgFQ9KjbpVllqNlrQ0K5701utTVHVxAjpG6U9utNqkBHRT26UyrAKKKKAGtTakprUANooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//T/FOmtTqK+bOcjop22m0GgUUUVpyC5RwanVHTlrMJDlan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oNXakkKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACmHrT6YetAGl4Y/4/5f8Afavs/wDZiX/i5Nkyj/l4h/8ARi18X+GFb7c/1avtL9l1f+Lk6c2C3+kQt/5EWqiB+w37SNxdW+s+PFjR5VuNDt4gEXd83yt81fyc3oYXk6uMHzGz+df13fHvUv7J/wCFt6gpKNa+FGcNnp+7r+QuV/MkeT+8c0SAhoooqQCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//W/DENTqjp26vJ5TMk3VJuNQ09elSBIOlA6UypFagCSio6durMCXcKWo6KAJKKjVqkoAdup1R0UASVHRRQAUUUUAMPWkpT1pKACo6c1Nq4gFR1JRTAjpu6nUjdKAGUUUUAFFN3U496rlAKN3vTd1No5QJKKbuo/GjlAdX03+x//wAl98ON/dM3/oNfMW7/AGq+ov2OdzfHrQV/66f+g1dKPvRA+9bn5vGGtr/093X/AKMWvHf20vm+F2k/9hWP/wBBavYpVZvGOtt/eurpv/Ii149+2h/yS3SG/wCorD/6C1erI2ifntYf8eFr/wBc1/8AQau1SsP+PC1/65r/AOg1dqSQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKYetPph60Aafhr/AI/JP+2lfaH7MDbfiDYf9dof/Ri18ZeGl/0qf/tpX2b+y/Jt8fWbY/5aR/8AoxaqIH7CftVXHk+G/jXJ/d8JbM/78a1/JfX9Zf7V8LXXg/4zrGCrSeGFXP8AtJGrNX8mlEgCiiipAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9f8Ll6UtR0u7ivLMyX/AHadu96iXpS0ATq1G7moKkVqzAkqRWqJelLQBJTt1R7jTqzAkoqOnBqAH7qfUdFAElFM3UbqAH0Uz/eo3UAB60lLupKACmtTqa1OADaa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t1OqOio5QJVanbqZRSAkpwamDpT1oAfxSUU1amQDx1p9M7UlSA/d81P+Wm05etAB901KvSoKKnlAsUVH89FHKBJRUdG5qjlAkoqPd70bvejlA3vDniTWPCerQ61odw1vcQnt911/usv8S1+gHwv+Mmj/ABCRdNmAstZUcwE/LIv8TL/er84asWl1dWNzFeWcrQzwncjodrK1Z18HGpH3j2cpzirhZe78J+uT7sf3aqS/6uvCvhD8aLfxpCmg+InWDWoxtB+6tyv95f8Aa/2a92k6V8ji8PKlLlkfseXZpDE0vaUzIua5y++4a6G7/vVz1zt+7Ucp281zi7/q3HavsP8AZq+X4bavJ/d8QWP/AKLavka+j5r67/Z3Xb8MNbb/AKj9j/6DXvZN/FifF8U/7vI57UPl+I+vL/duJv8A0KvDf2zJN3wt0hf+otD/AOgtXvWprt+JHiH/AK+5P/Qq8A/bM+X4YaR/d/tWH/0XX2co2kfmR+fdl/x42/8A1zX/ANBq7VKy/wCPG3/65r/6DV2oMwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKYetPph60AX9M6yfWolbbfozfwvU+mNw31aqTq329frxXDVOuhufqX4CkWTQbP/rmtdlL96vNvhnded4YsmX73l969H7rXwuIj78j9wyud6UZFRmZW3Vs2E22VWX+KsmX+9TrZmV9q15dWNz6jBVbTPdvB+oNa3SSZ+VTX3l8LtaVVjkjf5JOqH+Gvzd8O3m2VPLPevrH4c+IGhZFkc4X1rtyTE+zr8p1cUZd9ZwnKfbmp6askqaxb43qNr/7S112myboF+lcz4YvrfULAL97cORmuqgjWM7e1fptKUXHmP5kx83CUqUuh+f3/BTz4bt8Qv2TvElxZ25uL7w7JDqUWP4VRtsn/jtfyQ1/dv8AEfwtD438A+I/B9wMxa1p11aEf9do2Wv4a/FGhzeGfE2reG7jPm6XdzWrZHzboZGX/wBlokeac5TCu2p9vtTW60kwIaKkpNoquYBlFP2imU7gFFFFABRRRQA3bRtp1FABTdtOooAjop22jbQA2inbaPmoAbRUlN20ANooooAKKKKACiiigAooooA//9X8H6KKK4zMKPm3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mqOUOYtNIuaFZv4ap+ZUok/vGjlDmL8Mm3733q04ZOPmasRJPm9auRbf4TRymsJHSW8jZ+Wtm3m2/eyv0NczC0kYVmP5VqQ3Ct6fjVxiROR00Vxt2stTpMuev41z6Te+2rKXHzda3iYSkeK+JZvO169kzn95WFWhq7FtUum/22rN3VqcQ6im7qN1ADqbuptFADt1OqOigCSo6KKACiiigAooooAKKKKACiiigD//1/5/6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigC/Z3klq/8AeWuvsplkdJIz8ua4GtzRJmjuvLB+VqnlK5jp5G/0xvrWXr7brZP9+rErf6S31rP1pt0Ef1qiTET7i1JUKfdp1AElFR0UASUVHRQBJRUdFADt1G6m0UASU3dTaKAHbqN1NooAkpu6m0UASUqtUVFAE240u6oN3vTt1AEu6jdUW6jdQTyku6jdUW6jdQUSbjTajooAdup1R0UASUVHRQBJTd1NooAkpu6m0UAO3UbqbRQBJRUdFAElFR0UASUVHRQAo+81SRt861Av3mqVPvrWYG9ZttrTWSsS2arqt71EonVEv+YaY0n+1VUybaN9RymvMT7qN1QbvegycUcpPOT7qa0lQNJURbdVBzk/me9RNJVct/dqNmqeUOcstJS+YaqfjSs1HKHOTtJQGqrvp6tRyhzl9ZKuQs1ZKM396rkXmehajlLNyOSRTurRiuN3+sAaufjmbO1fvVopNztY/NV8gpG2sir/AL1WEmrEWSp0m961iYTPLtT/AOQhcZ/vtWfWlqy7dSuF/wBus2qOcKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9D+f+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK0tM/wCPtKzav6ayrdKzUAdA7f6Q31qhqrbo0+tSs375vrVXUm3Rx/WgDODcUbqYOlLQA7dRuptFADt1O3e9R0UAO3UbqbRQA7dRuptFADt1G6m0UAO3UbqbRQBJu96EVpHWONdzMdoHrUdXLD5b6D/fWgCu25W2v8rLT5o2hlMcmNy+h3U2f/XP/vt/6FWuy2sN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gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKduptFADt1G6m0UAO3UNTaKACiiigAooooAKKKKACiiigAooooA//1/5/6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9D+f+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/R/n/ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/2Q==" class="kg-image" alt loading="lazy"></figure><p>In francophone West Africa, <a href="https://julaya.co/" rel="noopener noreferrer nofollow"><strong>Julaya</strong></a> leans heavily on <strong>conversational design for merchant onboarding</strong>. It replaces long form text sequences with short, question-and-response ones, as you'll see on WhatsApp. </p><p>Ghana’s <strong>ZEED </strong>and Nigeria’s <strong><a href="https://www.getbumpa.com">Bumpa</a></strong> have similarly structured merchant actions (think inventory updates to sales confirmations) as <strong>chat bubbles that slide up the screen</strong> instead of typical modal windows.</p><p>Even mobility and logistics apps are following suit. <a href="https://www.maxdrive.ai"><strong>MAX</strong></a>, a Nigerian mobility platform, <strong>redesigned its driver app to function like an active chat window</strong>: real-time updates about rides appear as stacked message blocks, while driver support and safety alerts are delivered through a WhatsApp-like conversation thread.</p><blockquote>Voice notes are taking over long input fields. Single-screen conversational flows are replacing multi-page onboarding. Buttons are getting smaller, rounder, and more “WhatsApp-shaped.” Even features like inline images, quick-reply chips, and tap-to-share locations are becoming standard, regardless of industry</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAGQKADAAQAAAABAAAEsAAAAAD/wAARCASwBkADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9sAQwACAgICAgIDAgIDBQMDAwUGBQUFBQYIBgYGBgYICggICAgICAoKCgoKCgoKDAwMDAwMDg4ODg4PDw8PDw8PDw8P/9sAQwECAgIEBAQHBAQHEAsJCxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ/90ABABk/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/0P38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKTIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKMigBaKTIoyKAFopMijIoAWikyKWgAooooAKKKKACiiigAooooAKKKKACiiigAooooA//R/fyiiigAooooAKKTIpN1ADqKjooAfkUZFMooAduNG402igB240bjTaKAHbjTaKKACiiigAooooAKKKKCuUKKOlN3UByjqKbu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iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKkieSORZI/Wo6ctBUT1CKT92v0qYNVCJ/3a/QVOr150tzuLgapR1qsrVIppi5SwrVJVYHNShqCCcNT1qEHuKeDmgBw60+img9jVRA//1/30ph60q0wnFZmgwnuaYxpzdKiagBtRsac3Womap5iojCewqBmp7NVVmqSgZqrSN976U5mqtI37tvoaXMX9k4k/1rwn9oO31C48DxfY93lRXSNcKveLaw/INg17swzu+tQT29vcRtb3Ch0cbWVuQR+NenE4D8tm/efu48b34RV6kn7uPfOPpX6V+Dory38L6Vb6hn7QlvGr7uudtZdj8OPA+n6h/aFno8MVxndvx/LPH5V29UTKR+c3xDivLfxxrMeqZ817h2Xd3jONuM44Ar0z9nWHUJPGF9eR5+xJZlJfQyb1Ke3Cg+9fU+v+DPC/ijbJrmmRXbp91nHP5itHR9D0fw/Z/wBn6PaR2lv/AHEGP/r0BzHkH7QdtqFx4Hi+x7vKiuEa425/1eO/tmvifPmfu4/nd/lXb1L9sY6mv1HngjuI2t7hA8Tjaynoc1xth8N/A+l6h/amn6PBFcZ3b8d/UZ4H4UBzGn4OhvLfwnpUeoZ+0JbxrLu65xXonhr/AJDEH4/yrn66Dw1/yGIPx/lSew47nqgNcz4t8QR+GvDl/rjpuWzid9vqQPlH4niunA9awfEmh2niHRL3Rrv/AFV5G0bHuNwxke46j3rz68W4vl3O3C+z9rH2vw319D4Yi+LPxGc3PiqPUgsUE8afZNg8shwSB+XU5r7e8H64niXw5Y65Gmz7ZEHx6Hv+tfJ5+AvjPb/wjsctqumtL5j3fPmNgEDKeoBwMcV9b+HdFt/Dmh2mh2efKtYxGp+nf8Sa+P4Ww+MjOTxF7fqfo3HeLyqpSp/Ubc1+n8tuvncw/FnjI+G9c8O6X9nEsWtTXEcj5wYkt4GmLAd87cYrlPGHxe0fS/CD67obi6u7jSzq1ojowSS3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/wBYK3iYSLkfWriVTj61cStjKROnarCVXTtVhK0M5H//1f3oeq796sPVd+9ZSNokD1Tlq49U5agopyf6w1Qkq/J/rDVCSsZG0TMlrNlrSlrNlrE6ImdLVAf8fK/74/nV+WqA/wCPlf8AfH86yW6OjofRMX+rX6LU1Qxf6tfotTV68TwQoooqgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArL1b/AI9P+BLWpWXq3/Hp/wACWgDLooooNApCcUtcn4y1/wD4R/SGuI/nuJTsT6nv+FeTnueUMuwlTGYh2jBXZ0YTCzrVFThuzpJLm3j/ANZMqfUgfzqH+0LT/n4i/wC+l/xr5Nu727vJGuLyVpWzu5J/lVbaK/jnGfS2mqjVLBpx83qfpFLw7096pZ+h9eHUbPtcRf8AfS/41Il3byf6uVX/AN1wa+PHaOP95I4Tnb8xA/n+VFhfxyD7Zpdx8mTh4nyMocEZB6qeCK6cN9KnFte1nl/uLdpv/IiXAVPm5FWV+x9lg5pa898AeJLjXLR7S8+e4tf4vUH+tehV/WHCnE+HzjAwxuF+GR+f4/Azw9V0p7oKKKK+jOIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKYX8ugB9FYkuu28f+rQtUf9vxf88T+YrKWJprqdUcHU7G/RWB/b8X/PE/mKP7fi/wCeJ/MVP1qmP6nU7G/RWB/b8X/PE/mKP7ei/wCeR/MUfWqYfU6nY36KwP7fi/54n8xR/b8X/PE/mKPrVMPqdTsb9FYH9vRf88j+Yo/t+L/nifzFH1qmH1Op2N+isD+34v8AnifzFH9vxf8APE/mKPrVMf1Gp2N+isD+34v+eJ/MUf2/F/zxP5ij61TF9TqdjforA/t+3/55N+lattd295H5kb044iD2M6mGnHdFqiiitjAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACimE5rn73xJp9nI0fMr/AOzjH50pSS3NqNGdTZHR0Vxv/CY2/wDz7yf99Cl/4TC3/wCfeT8xUe1gdP8AZtbsdjRX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01f86Psf/TV/zoAtUVV+x/8ATV/zo+x/9NX/ADoAtUVV+x/9NX/Oj7H/ANNX/OgC1RVX7H/01f8AOj7H/wBNX/OgC1RVX7H/ANNX/Oj7H/01f86ALVFVfsf/AE1f86Psf/TV/wA6ALVFVfsf/TV/zo+x/wDTV/zoAtUVV+x/9NX/ADo+x/8ATV/zoAtUVV+x/wDTV/zo+x/9NX/OgC1RVX7H/wBNX/Oj7H/01f8AOgC1RVX7H/01f86Psf8A01f86ALVFVfsf/TV/wA6Psf/AE1f86ALVFVfsf8A01f86Psf/TV/zoAtUVV+x/8ATV/zo+x/9NX/ADoAtUVV+x/9NX/Oj7H/ANNX/OgC1RVX7H/01f8AOj7H/wBNX/OgC1RVX7H/ANNX/Oj7H/01f86ALVFVfsf/AE1f86Psf/TV/wA6ALVFVfsf/TV/zo+x/wDTV/zoAtUVV+x/9NX/ADo+x/8ATV/zoAtUVV+x/wDTV/zo+x/9NX/OgC1RVX7H/wBNX/Oj7H/01f8AOgC1RVX7H/01f86Psf8A01f86ALVFVfsf/TV/wA6Psf/AE1f86ALVFVfsf8A01f86Psf/TV/zoAtUVV+x/8ATV/zo+x/9NX/ADoAtUVV+x/9NX/Oj7H/ANNX/OgC1RVX7H/01f8AOj7H/wBNX/OgC1RVX7H/ANNX/Oj7H/01f86ALVFVfsf/AE1f86Psf/TV/wA6ALVFVfsf/TV/zo+x/wDTV/zoAtUVV+x/9NX/ADo+x/8ATV/zoAtUVV+x/wDTV/zo+x/9NX/OgC1RVX7H/wBNX/Oj7H/01f8AOgC1RVX7H/01f86Psf8A01f86ALVFVfsf/TV/wA6Psf/AE1f86ALVFVfsf8A01f86Psf/TV/zoAtUVV+x/8ATV/zo+x/9NX/ADoAtUVV+x/9NX/Oj7H/ANNX/OgC1RVX7H/01f8AOj7H/wBNX/OgC1RVX7H/ANNX/Oj7H/01f86ALVFVfsf/AE1f86Psf/TV/wA6ALVFVfsf/TV/zo+x/wDTV/zoAtUVV+x/9NX/ADo+x/8ATV/zoAtUVV+x/wDTV/zo+x/9NX/OgC1RVX7H/wBNX/Oj7H/01f8AOgC1RVX7H/01f86Psf8A01f86ALVFVfsf/TV/wA6Psf/AE1f86ALVFVfsf8A01f86Psf/TV/zoAtUVV+x/8ATV/zo+x/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8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yNWaKAK32yL3/I0fbIvf8AI1ZooArfbIvf8jR9si9/yNWaKAK32yL3/I0fbIvf8jVmigCt9si9/wAjR9si9/yN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++KPKvP+eqf98VdooAqeXd/89l/Kjy7v/nsv5VboquUCl5V5/wA9U/74o8q8/wCeqf8AfFXaKkCl5V5/z1T/AL4p3l3f/PZfyq3RQBR8u8/56r+VL5V5/wA9U/74q5uFG4UAVfLu/wDnsv5Uzy7z/nqv5VeooApeVef89U/74o8q8/56p/3xV2igCl5V5/z1T/vijyrz/nqn/fFXaKAKXlXn/PVP++KPKvP+eqf98VdooApeVef89U/74o8q8/56p/3xV2igCl5V5/z1T/vijyrz/nqn/fFXaKAKXlXn/PVP++KPKvP+eqf98VdooApeVef89U/74o8q8/56p/3xV2igCl5V5/z1T/vijyrz/nqn/fFXaKAKXlXn/PVP++KPKvP+eqf98VdooApeVef89U/74o8q8/56p/3xV2igCl5V5/z1T/vijyrz/nqn/fFXaKAKXlXn/PVP++KPKvP+eqf98VdooApeVef89U/74o8q8/56p/3xV2igCl5V5/z1T/vijyrz/nqn/fFXaKAKXlXn/PVP++KPKvP+eqf98VdooApeVef89U/74o8q8/56p/3xV2igCl5V5/z1T/vijyrz/nqn/fFXaKAKXlXn/PVP++KPKvP+eqf98VdooApeVef89U/74o8q8/56p/3xV2igCl5V5/z1T/vijyrz/nqn/fFXaKAKXlXn/PVP++KPKvP+eqf98VdooApeVef89U/74o8q8/56p/3xV2igCl5V5/z1T/vijyrz/nqn/fFXaKAKXlXn/PVP++KPKvP+eqf98VdooApeVef89U/74o8q8/56p/3xV2igCl5V5/z1T/vijyrz/nqn/fFXaKAKXlXn/PVP++KPKvP+eqf98VdooApeVef89U/74o8q8/56p/3xV2k3CgCn5V5/z1T/AL4o8q8/56p/3xVzcKNwqeYCn5V5/wA9U/74o8q8/wCeqf8AfFXNwo3CjmAp+Vef89U/74o8q8/56p/3xVzcKNwo5gKflXn/AD1T/vijyrz/AJ6p/wB8Vc3Ck3VQFTyrz/nqn/fFHlXn/PVP++Ku0UAUvKvP+eqf98UeVef89U/74q7RQBS8q8/56p/3xR5V5/z1T/virtFAFLyrz/nqn/fFHlXn/PVP++Ku0UAUvKvP+eqf98UeVef89U/74q7RQBS8q8/56p/3xR5V5/z1T/virtFAFLyrz/nqn/fFHlXn/PVP++Ku0UAUvKvP+eqf98UeVef89U/74q7RQBS8q8/56p/3xR5V5/z1T/virtFAFLyrz/nqn/fFHlXn/PVP++Ku0UAUvKvP+eqf98UeVef89U/74q7RQBS8q8/56p/3xR5V5/z1T/virtFAFLyrz/nqn/fFHlXn/PVP++Ku0UAUvKvP+eqf98UeVef89U/74q7RQBS8q8/56p/3xR5V5/z1T/virtFAFLyrz/nqn/fFHlXn/PVP++Ku0UAUvKvP+eqf98UeVef89U/74q7RQBTWO8/vj8sVcoooAKa1OprUdAXQ8WH/AB8N/vH/ANCNacVZg/4+G/3j/wChGtOKvG+0e4aMVaUFZsVaUFaROWoacdX4/wDWCqEdX4/9YK3iYSLkfWriVTj61cStjKROnarCVXTtVhK0M5H/0f3oeq796sPVd+9ZSNokD1Tlq49U5agopyf6w1Qkq/J/rDVCSsZG0TMlrNlrSlrNlrE6ImdLVAf8fK/74/nV+WqA/wCPlf8AfH86yW6OjofRMX+rX6LU1Qxf6tfotTV68TwQoooqgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArL1b/AI9P+BLWpWXq3/Hp/wACWgDLooooNAr8xf8Agqv8aPEnwr/Z4i8P+F7qTT73xnerpstxESJEt0UyyhGBG0uE2Z5IBOMHBH6dV+K//Baf/klfw9/7DMv/AKTyUCkfzsEfSkA7V98/sK/Hbw38J/FmoeG9Q+E8XxN1jxa1vb6eioklzHIjHMaLIpXY33mJIxtySFyR/She/Cj4R658P77T/E/gLQtN1240eS5utPSKGV7fzI24LhVyFYY3DgkcU5bXIP4uQladtpGqXdrPf2lnNNb2v+ulSNmjjB/vsBgde9fpRD8A7b4lfAD4ead4Y0yC1v55I5Lu+wA0cThvNdzjJzxgc5Ncn8a/iD4D+DHgO6+Avwtiju7q7i8vVL0/vMM5BkBYj5nOMY6IOPSvlKPFUK1VUKEW5Xafkk93+h9zW4NnQovEYiSjHluvNtbI+9/+COXxs8Sa5p/ir4H65cNd2Xh+FNS07eSTBHLJsliBJ+6GIIHYng44r9vr69s9Ps59Q1CVbe3t4zLLK5wiIASWJ7ADqeK/nK/4IwH/AIvn44P/AFLw/wDSqKv6PWSOTdHIodOm1uR0xX1R8WfJHhv9qDw/8aNP8beG/gPquk3vjDRJpLXTVurhZbe4HlRut5shYO0CmTkAqSUIB6GuK8F/Er9pTxZZ+PfC+h6h4f1PUPDOsWllF4jaymi08W5jjkvf3HnkzSwZZQUkCgkBgSrA+6638BtD/wCEX8baH4D1K48Jah47nkurvUrTZJcRSSxRwP5HmArGDHGoAGMHkc5NeJ237IfjSz+D998G4/jBq6aVdtHslisNPgniiQ5ki3RQJuWU8uzhmbkE4JBBHnN3+0f8dJPhHpmuaf5FxezeK7zSX12x0O7v7STSrTzj9tSyilaQBmQR7w5QscgEYFe9+KPjpqHhP9l9vjB4fvrPxbqr2UX2S4WB7S0uLy5kEUYeIs0kSh2AZSdy4IPNWtN+BPxU0fwHp/gvR/jBqdrcabK+y7i0zS032xTYLdoRaiJVU4KlVVsjJLDIPUy/s7+C7j4Dy/AO8uLqXR5bQ28t15gS7eV2MrXIddqrIZcuMAAHoBwKAPlLXP2i/j54P+Jn/DNeqXeh6h471u80hdM1hLCeCyjs78SG6aW289maSEQSlMOobKgjgk/SHwT+KHxA8aeH/Hnh/wASRWV741+H+r3Oju9uj21neSpbx3NtIEdpDGGSZA43HBBwOlcE/wCxtHqEd54k8SePdW1P4hy3VlcWviZ4rSO5szp277OiQRQrblAXcuCh37iGBHFew/Dz4JyfDfwH4h8P6X4jvLjxH4onub7UNemjhN3Lf3Max/aPKVFhUxqqqqBAgCjigD5Zvv2gfj34H/4WDo+uNo/jDVfCmhWWoXDaTZXAg0rUbudUa1nCzSNMI4XE+0bZCgyQAymvWv2avjnrnxQ1Dx1o95rGn+MLTwpJaLb6xpVu9tBcPcQtJJasjyPiWFlAJBwQ68ZBzf8Agv8As3+MPg3aa1p//CzdR8RWmqxXB2XthYb0vLh8m6aWKFZpXGSAsjMoGAAABXrfwc+Efh/4L+C4PCehyy3sryy3d9fTbfPvb24cyT3Eu0BQzsxOFAVQcKAoAAB8PfBz9rP4sePPHmi+D5H0fU9b8R6NquoTaCltPZ3fh+8s3jFtb3kru25ZS5R3KKdy5QEZA90+B/xJ+NGofGDxL8K/iZd6T4gi0TSNPvrjUNJtJbaC01G7eUS2DF5pg7IiJIOQwVxuHINei6P8Cv7H1zx540t/EFw3i3xqvkxan5EOdMtkRhFBbRhdu1CxclwWZzliQABzv7Pn7PfiT4F/brO8+IeoeK9Mvd8rWt7Z2Ub/AGmQ7mnaeCJJpHboTI7DA7dwDwE/tVfEC3+OC+C7y90u3e78TSaFb+FpbOaPVHskgZxfi4MpVlLLvyI9gRsY3DJ9T8C/En46W/x8sfhn8QLjR9Vt9T0u91O7t9KtpY5NEEc6paJNO0rq/mqxHKoWZWZBtyF9gl+Cul3nxgufjJrGoTXurRaebHSYWRBBpqSKPOljVQPMkkYA75MlQCqYUsD5t8GP2bPGHwj8aan4suPibqXiW31uae61C0vbOxH2ieU8OZ44VnAj6KgfYF4C8DAB9a0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUABPc1WubmO3j8yT7tWa57XT/qo/esq1TlXMb4enzTSKUms3En+rQJ+H/16adYvP9n8qy6wLvX7ePz47NG1C4tyA8MOC4zyM5IH4Zrw6mOa1bPpqOXqWiR2f9sXv+z+VH9r3nt+VeQReLdYg1Bp9XsHtdIcogd8eYhPdsE/KTxntXpQbzKyo4+VTZ7G2Lyr2Nrpamr/AGvef3x+VH9r3nt+VfP/AIg+Ovg/wv8AGfQ/gprCS2+q+IrKW7tLjj7O5iYDySd2Q7AkgYwQKp6T+0J4H1j4v+I/hBZuyXXhWyjvb69dlS1j3sQY95bO5Rgt2Ga6faVTi5KfY+jf7YvPb8qb/a157flXhHjD42+D/C9n4e1SO7h1PT/EGpx6Z9qhnj8qB5FY73cnAVcc9+ayPiJ8edH8B6f/AGxZ6fJrulf2XqGqtd2U8BiCaeFZkG5wxZ84BAIGDnHdxqVB8lPsfR39rXnt+VO/ti89vyrznS/HHhvUP7Kt5NQt7fUNVtYrqK0eVfPKSIrAbMkkgN2HNefeK/j14P8ABfxj8K/BjXEmi1LxhaTXFldfL9n3wsqiFucqzk/KcY7E5wCSlUF7OmtT6G/ti9/2fyo/ti9/2fyr56sfj34P1D40av8ABSzWV9Q0LTV1C9vTsFrESxBgLFs+Yq7XbjADrz1A9It/HXgu809tYt9bspbJJPKaZbhDGH/uls4B4780vaVQjTps73+2L3/Z/Kj+2L3/AGfyrgn8c+C49HXxBJrtkmmO2xbpp08ouDjaGzgn2q0vizwvJHc3Eeq2rxWSo9wyyqREkg+RmwcANzj1pe0muo/ZUztP7YvPb8q2bDUvtn7uT5Jf51x8ckckayRuHRwGVl71csDJHeRfXb+da0cVNTV9TLEYODg7aWO6ooor2T50KKKKACiiigAooooAKKKcBQA2ivmLwD+01o/jC80X+1PC+p+HNN8SyTxaVqF6bZ7a7e3Vmdcwys8R2ozDzFXIHJzxXq+t/Fn4d+H9PttYvNdtXtL29j09JYpUcfaJWChSQcDHUnsOaAPRqK8WPx08F2d59n1yVdPt7vVk0rT7hp4ZYr2R4fO8xDE7FUXBU78HI6dM9rr3xC8H+G/EGi+G9Y1CK11DxB5v2RHIxJ5SqzZJPGdwA7EnigDtKK5Kbx54Ht457i412xSK32LKxuEATeSF3HdwSVOBVm48ZeE7O4gs7jW7OK4uyixI06B5PMGU2jdzuH3fWgDpKK4LxR8TfA/g/S9c1TWNYtU/4R+3kur2JZUMscca7jlM5ycgAdyapeDvid4f8UeH9F1jUJYdHuNdiEtvaXF3bySlD05idlZiOoBODQB6VRXmfi74wfDfwXZ/bPEGu2sSfaLe1ZElV5BJcyrCm5QcgbmAYnoOa9IhmjuI1uLdxLE4BV1OQQRkEEcEY70ASUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRXAfEX4g6f8O9HttQuLK41W+1C4SysbG0C/aLu5kBYRoZCqL8qsxZmAUAk0Ad/RXzUv7SGn3Ednpel+F9UvfFtxd3NlLoP+jxXNvLZosk3mSySrCVCspUiQhw2VyK7qH4w+G7zwHoPjzS4p7i38Sy20Nlbsmyd5btwgUg8DbyWJ4wCc4oA9bor570f9obw/rHiC20/+xNRt9C1C7uNPsdbcRmzu7u2DNLGiq7TKPkYK7IFcjCnkZ1fBPxrt/FnjCLwfqnhrU/DlxqFrPe6Y98IQL22t3VJHCxu7xFSynbKFYhgcDkAA9vorwrWfjVJbx3P/AAi/hLU/FFwl9c2UUVl5IEn2PAnm8yZ441VW+RQzZc9BXMz/ALTnh+80vTNU8F+HNW8URXGmjWL1LRIRJp9gWZd8wmkXcxKvtRNztsYqDxQB9N0V87a9+0Po+l3Fteaf4f1PVfDTxWUt1rNukaWdsl+4WE4kdZZcblLeUrBQwDEnIHV2nxm8N6h8XP8AhT9na3suppYz3r3bQMln+4Me6JZG272AlUkoCAchjnigD16iiigAooooAKKKKAGO3lx+ZWDNqknz+X9yr+qN/o7fULXKTzR29vLcSfIkSlm+g5NceKrW0OHFYi2hrDVLz++Pyp39p3nt+VefW8XiDXI1vPtx0+KX5oookR32dixYHr1wKmsNRvJLxdLt3+2pb5+0XBAQZ7KuAAW9cDivN+v62PN/tCWx3n9p3f8AfH5Uf2nd/wB8flWTPL9nt5ZI03uiltvc4Gcfj0r5v/4ae8Dn4P8A/C3I7K72f2kNGbTcD7Ymo/axZNbsN20FZMlmzt2jdkjmuyNSZ1e0mfU39p3f98flR/ad3/fH5V4J46+OXg/wX4HvvGlvLHraafPaW9xa2U8byRyXcqwgOd2F2s3PPIHFXvC/xe0PXPD994k8QRDwvFaajd6eq31xAPNe2kMYZWjcqBJtyqk7gPvAHIBzTH7Sqe2/2nd/3x+VM/tO89q+XdB/aU8P+IPhv4H+IGn6bLv8dyWy2mnvPBHLGlw3zSSNI6rtjXlgCSTwMnAr6TU/5/z/AJ96OaaF7SaOnsrz7R/v1frlbBvLvFrqq7KNRtXPRw9TmVwooorY1CiiigAooooAKKKKACivIPjN8XLP4N+F7bxJJo91rtxe3sGn21jaPEks9xcNhVVp2jjXGMks4AArf8NeO5NQ+H6+PPFmiXXhTZA9xNZXRiuLiCNMnk2rzIxIGQFLE5/CgD0CivkrS/2wPAesfC/VfihZ6Tqn2e01r+wbSxe3Md/f3ryLHEscLlSgkZwQXKhV5fAzikP2wfD8mjpb2/hLWJfHf9rHRG8KKIP7RS/Fv9rKtJ5v2YRiHD+Z5oQhlAO4gEA+wqK8H034/eF9U+Ceq/Gy3tLpNP0GC9e9sXCi7guNOZo7m2YAlfMjkRkJDEEjgmvPNN/au+z+C7z4ifET4e654K0JILZ7GW7ezuZNTnvWCW9tbRWlxM5mkZlChgvLD3wAfXdFfHGvftZ6p4T8D33jDxh8KvEuiyxX2n2NpY3BsvNvX1OZbeDyXS4eMHew3K7qRnkdM7HjH9qKT4Z/Ce8+KHxM+H+teHbiK9jsrXR3Ntc395JKcgwrazSoQFDMcsCApJAoA+r6KwfC3iPS/GHhvSvFmhy+bp+sWsV3bv6xzoHX15wcH3reoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAprU6mtR0BdDxYf8fDf7x/8AQjWnFWYP+Phv94/+hGtOKvG+0e4aMVaUFZsVaUFaROWoacdX4/8AWCqEdX4/9YK3iYSLkfWriVTj61cStjKROnarCVXTtVhK0M5H/9L96Hqu/erD1XfvWUjaJA9U5auPVOWoKKcn+sNUJKvyf6w1QkrGRtEzJazZa0pazZaxOiJnS1QH/Hyv++P51flqgP8Aj5X/AHx/Oslujo6H0TF/q1+i1NUMX+rX6LU1evE8EKKKKoAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKy9W/wCPT/gS1qVl6t/x6f8AAloAy6KKKDQK/Ff/AILT/wDJL/h9/wBhmX/0nkr9qK/Gz/gs3ouoXnwc8Gaxbwl7TT9aPnP2TzIXVc9cZYgc+tApHw9+xj+0L+zD+yv8HNZ+K+oafLr/AMaLiWaysrV4SY4oiQUaKVhsRMBTKwO/+EDkCub/AGef+CiOt/D/AOIfxR+Jfxjtr7xfq/xC01LSFoJECWZiMpiiVZGASBfNwFXJGCcFiSfkzwT+0JrHgvwpbeE49B07Ure3cNuu4/MyBIz/AHDlQxLEFwMkcV3X/DWEcmn6hb3Hw68PvcXZIhlFugSCM9VCbDkjkKdwxnoaCD2H4U/tm+CPA/w90fwVrmgX1xcadAIHkhMexwO43OCK8X+Nvxc+B3jvwy9l4E8DtoutPOkjXrLGh25y4OxmLFs96SH9rnxR/wAI/pnh+/8AC+h30WlRosTzWodi6IIxI2c7mwq/981w/wARvjp/wsTwvFoEnhLSNHuEmRzd2MCxyNGin5MBRjLck59sd6+ewvC2Do13iqaam3d6vU+rxfF+Mr4dYWo04rTY/RL/AIIvf8lw8cf9i8P/AEqhr+j8/wBa/nY/4It6FqEnxT+IHiTym/s+20aK1aTadplluFcKD0yAmSPTBr+hTWdTj0fS7zVLjOy0ieVlHJOwE4AHU19CfMC22r6XeXlzp9ndxy3dpjzokILx5GRuHUZHrT7jVdPs7y20+4uFS7vd/kxE/PJ5a7m2jvheT7V8ceGYvHHhPVLHxpqmjyWn/CRrcpfTJKJHMlz89sxjC7l8sgLz0z2qSVPiBHpfgfxJZ3FxrGu3cF7M32rIEB+ysrBFC8MFyVB6njIoA+0dwrCtPFPh/ULxdPs9QhluJWlRUBySbc7ZRj/YPDelfLSeJvGlx4gto7PW57e1SOzaya6Ev+kb9pn8xFjYMxYkEEgLjir/AMOLO8j8eaVJcW8iIl14k3fIwA33Cleo4BAyPUetAH0nq3i3wvodxFZ6xqtvZSy/cSWRUJ5xwCenvV+x1jS9UkubfT7iO4e0kEUyocmNyoYA+5Ug/Q1892moeH/C/jjxf/wsDT2ll1WeOWyma2a4SW0EYUQodrYKtnjgZP41zyR65pfiDxD4k0e4vLRP+EhsoltFTEElvPHErlo9vJCnGR0I69aAPrbcKoDVtL/tR9H+0R/bkiEzQ5+cRk7Q2PTPGa+Pbrx14wuNQ16TQ7jUEt5dOvHRZnMjxXEEyLHtQRqsTbScKC2RyTV7xTD408L+INVvPD9xd6hqH9g2+66lBeQCS5BlK7VIyq5KgA4HY0AfYe4UtfG2oeIfGlv4XW8t/EDXdvFeOyxRGVLieIID5S3DQ8sGzgFOTxmvrbRZ5LzR7O8kSSF5YY3ZZf8AWAlAcPwPmHc+vYUAadFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVzevN/qs10lZWp2cl5b/ALv76fNWFeN4Ox1YOVqibPOtbj1CTS549HlWK7ddqM3QGvH9Oi0yW4lt9M03UPttuEW68qXyzv8A9s7l3H3xivdWXy/3ciVCII/MaSNFR3+82OTj1/8Ar18vXwbk0z7rAZmqVNq255/ZeDriTUPtOoXc0um7UdLSZmYiQDq5JIOD0A4zXoYWpKTIq6OHUNjkxeLlXtzdD5H+L3wC1z4ofEi+8QW9xHpiJoKQ6ZqSnM9nq8V0s8Mqpj7qheSDyCQQckV4P4t/Y5+IElu1nod7b6hcS6TbnU7qaQxDWNQS+F3dQzDaxENyuUyQQFOMY6fphuFMrujWZ58sPBs/OTVf2dfiBql5c+KI/BWj2llceJtO1b/hGluI/sxgsrcRySPiHyfNkYD5QCMKpJzwOYn/AGT/AIsXGh6h9n0/TtP/ALV07xeiafDcDyLCTW2X7NEhEarztLyFRtDMcZ4J/URetLlKr20hfVYH512P7MXjS3+KFzrniCyk1iy1C+0fUIbuHURbPp/9n28MbQsDG0jKsiOyiNwjh2DDGc+tfGr4A6x8WPiYusebHZWkXh+e1stQyDcWWri5jntZ0Qg58tk3Zzg4xivrrIo3fSp9vIfsVax+dWufslfED+y7nT9P1C11DVdY8N6hDqupSu0Q1DWLy6inkDgBmWCVI/K5J2IFUAgYGdqv7MfxA8Wapquuf8I7pnh/SdT1HwozaDFOr2zx6JOXu7uQJGIjJIhCKoQlgi7zzx+kxOKNwqvbyJ+rwPzI179lD4gR+KJ9Y0fTLW48P2XinUdStdHt7lLcfZr22KLLErxPCsqyFgyEcq7Hdng0tW/Z0vNP+Jfw0+H3huKTR9J8QaUf+Eus/Mku91noc8c1nE11tVSWeZ0IIyybhyBmv1BpwX/P+fej20g+roakfl7Y402Ig2qvpjjFXLM/6ZF/vD+dVi1bOkWMkki3EnyIn3d3epoxk5IqvKKgzrKKKK94+WCiiigAooooAKKKKACiiigD4M8OfslXkfwLl8N65d3EvjNNPv4bLzr+WWzs57vdkwJysW5DsLqmVBIAIyKszfAvXLjw/BqEfhIPqdlqej3UtlfXkE6XMVg2H8rEYjT5SQCwywGCelfdVJtFAHwhffALxZH4gufFFv4c0+4t4vG8GvQ6fmIf6E+mJaSBcrsVlm3Pt6HGQeRXvHxJ8D6prHxA8AeNNP0K11iLQpLyK6SUxiSJLlEVZEMikMI2XOAQe4xXu5GaWgD4e0z4I+NPC/w38PeF9L8OabLcS31/cay4jtpLk+a8jQsj3EbId2/DkglRkIO9cf4X/Zd8aWfgvxHZ+INM0+71240Hw/p9jcu6ySJcaW5dyJSu5ArHKkYyT2r9D9tOoA+Htf8Agl441C48daPoenxRaP4l0vU0livnguBLqFzGoikt5NhmjVmBMiuxUHG0daNU/Z/1j/hMFvJNHa90fUNN0e02WV3FaCylsCTKdrRk7WYhw0WGJ4btX3DRQB8N6z+zpqknwr1DS7fQtOu/EEviwa82/YTd28Wpi7WN5XU/M0IC4bKg8dMivtfTl8vT7bzLQWT+WP3K4xHx9wbQF+XpwAPSrtFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFeOfF7wj4g1z/AIRXxJ4Tt4r3U/B+rJqS2k0nlC5jeGW3ljD7WCsFlLISMEjBIHNex0UAfAetfAr4ieIPFk/xA8WaFFqun63qV5fXfh+11A288D/Z4bSyl+0qsYZ1hiYSqGAy/BbaCfXfhp8NfGmnx+DtH8aJE9p4P0yXZ5Th4zeXLGNFQ4Us1vACu8hcls4619PkdjSAf59vSgD408O/Cr4maXZ+Ffh/qGmWr6J4K1efVU1BLnm8gRpZLWFYtu5ZNzhXLYGFJBOeLfhLT/jZ/aHiPxp4w8JBPF17aXFrp9wl/DLaWVvu/wBHt4UAV1DYWSZzyXB527QPsGigD5Y8beFfip4X+Hfhf4d/C/T/AO0IpQItbvluY7a78ooTM8G9SDNPISGYkbQWIJYAHDtfAfxE8F6hqGufDvwlbW9v4j8P2mj/ANmy3qp/Zk+nGcQOzKrLJGy3DFyh35UcHNfYdFAHxK3gH4qaXceEfh3eeFxrvw/8H2enqrQ6hHEdQv7c5MlxHIoPkw7VZEzl2GWAwM+pazovjy4/aA8OeMLPw4H8P6Vpl7p8119rjD7717eQOsWNxVfKIbJBJ5AIr6IpNooAWiiigAooooAKKKKAMzVf+Pf8RXF6pa/2hp9zZx/fljdV/EV31zF9ojaP+/8AzrlJI5I5PLkSuHGU73POxlO5wcP2PXNPgt5LuTT72yAidVfY4wMMpBIBVsZyPwp8Qs5NQsdL0f8A499PYyzOhOzOMBS38RJ5Oa6W70jS9Qk8y8tI5X/vMBn86tQW1vZxrHZxLEifwgAD8u/4140cOzx44Wd/Inwa/PfXv2XviHJ+0HfeJNHuLN/hw8kviOHT5pGPmeJHtWtFSSLaV+zciUgH74zjOa/QladXoxlY9CMrH5N6d+yv8dNQ/t7VNU0zTNPu9e0vR7aW3tZIILb7ZYagtxKY4oII1WNUz5TNukOMOemeu0X9mL4qaBrmgeINU0LS/FFppmveLbt9Ju7hfIxrl0ZrW7UvE6+ZEmUYbQwDsFPUH9Nge9Fae3kX7eR+T3h79j34maJofhXS/FFkNet4vDFpoVxb22orbfYri3lZneOR4mby5AwbfHtkBUcZxj9VrGD7PZwW/P7qNE+Y7zwAOT36cnAye1W6buqJzuRKpJlyz/4+4/qf5V1VYem2v7z7RJ/wGtyu7Dx0PRwsbQCiiitzoCiiigAooooAK43xv4Oj8caH/Y9xquo6P+8D+dpl29nccfw+bHhtrdxwPrXZUUAeCfGzwJH4s8F6f4fvPAlj8SrS0mjZ7LVrhUP7tCFmDSI6tJnqSQcHIOarfs7/AA78YfCf4LweF/FDLqWq281/cpbJOZY7eK4maaCxjmlALJCrCJSQBgdK+g9opaAPzYT4JfHjVPDevf8AFOWOlaxaeNYPF2mRS36yQXMaPGJLWQxx/u3MSvtbBUMQSeooh+AHxws/ig37Skemac/ii78USajcaD9tYImlnTF05UjufK2m5DQxOcqFwzjdkDP6T0m0UAfF3h/4F+PNL/Zb8f8Aw/vEtX8YeOJPEOoNDFKfs0VzrNxNcJB5pUZWPzAjOEwcE4Ga53X/ANkS4svgXpXhv4f3csXjDR7jQ9YiTVtRuryykv8ARpY51hJkaXyo3ZCpKIcA5xX3pRQB8JfGjwH8eP2hPhuvgvxJ4U0/w6kWs6FdusOqvJPJHZ3qTXhWRIk2YjU+UQd+f7p5p3jf9lvxJ4g8d+B9D8L6xc6F4F8GRX+pfarqf+1b2fWLlRBGu29Ew8pYXmBJIIJUKMZFfddFAHzf+y/8OPHnwj+H9z8M/Gl2up2miajcppN6pG+fTJJGeESRqFVGRW2bQAOMgYwB9IUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU1qdTWo6Auh4sP+Phv94/8AoRrTirMH/Hw3+8f/AEI1pxV432j3DRirSgrNirSgrSJy1DTjq/H/AKwVQjq/H/rBW8TCRcj61cSqcfWriVsZSJ07VYSq6dqsJWhnI//T/eh6rv3qw9V371lI2iQPVOWrj1TlqCinJ/rDVCSr8n+sNUJKxkbRMyWs2WtKWs2WsToiZ0tUB/x8r/vj+dX5aoD/AI+V/wB8fzrJbo6Oh9Exf6tfotTVDF/q1+i1NXrxPBCiiiqAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsvVv8Aj0/4EtalZerf8en/AAJaAMuiiig0CvMfjF8JfB/xw+Her/DPx5b/AGrStYi2ttwJI5EIaOWNudrowBU9iO4zXp1MeWOP/WOEoA/ma+Jf/BIX9oTw/rk0fw4vdO8UaO7HyZZZ/slwEySA6MCpIGASDgnkADp5j/w6p/bF/wChfsP/AAYRV/Vj9pt/74o+02/98UC5T+U7/h1T+2L/ANC/Yf8Agwirq/CP/BJD9qfXNYgs/Ef9leH9Pc/vbl7sXBRcHlYox8xzgYLDr17V/UL9rt/74o+12/8AfFAcp88fsw/s1+B/2X/hvB4D8H5uLiVjNqF9KAJby4PBdsAfKAAFHYACvo0jsai+02/98Un2u3/vigZKRmlqH7Xb/wB8Ufa7f++KAJdkft8nT2+lJtqP7Xb/AN8Ufa7f++KAJdhpNtR/a7f++KPtdv8A3xQBLt/z9aCtRfa7f++KPtdv/fFAD/LT+4Pyp9Q/a7f++KPtdv8A3xQBNRUP2u3/AL4o+12/98UATUVD9rt/74o+12/98UATUVD9rt/74o+12/8AfFAE1FQ/a7f++KPtdv8A3xQBNRUP2u3/AL4o+12/98UATUVD9rt/74o+12/98UATUVD9rt/74o+12/8AfFAE1FQ/a7f++KPtdv8A3xQBNRUP2u3/AL4pftNv/fFACPBHJ/rEFN+y2/8AcH5U77Xb/wB8Ufa7f++Kn2cSo1Guoz7Nbf3B+VO+zQf3E/Kl+12/98Ufa7f++KfLEftGJ9mg/uJ+VH2aD+4n5Uv2u3/vij7Xb/3xRyxD2jE+zQf3E/Kj7NB/cT8qX7Xb/wB8Ufa7f++KOWIe0Yn2aD+4n5Un2a3/ALi/lTvtdv8A3xR9rt/74o5Yh7Rjfs1v/cX8qX7NB/cT8qX7Xb/3xR9rt/74o5Yh7RjPs1t/cH5Uv2W3/uD8qd9rt/74o+12/wDfFHLEPaMQW0f9xfyqbaKi+12/98Uv2m3/AL4pxjEUpSe5LRUP2u3/AL4o+12/98UEk1FQ/a7f++KPtdv/AHxQBNRUP2u3/vij7Xb/AN8UATUVD9rt/wC+KPtdv/fFAE1FQ/a7f++KPtdv/fFAE1FQ/a7f++KPtdv/AHxQBNRUP2u3/vij7Xb/AN8UATUVD9rt/wC+KPtdv/fFAE1FQ/a7f++KPtdv/fFAE1FQ/a7f++KPtdv/AHxQBNRUP2u3/vij7Xb/AN8UATUVD9rt/wC+KPtdv/fFAE1FQ/a7f++KPtdv/fFAE1FQ/a7f++KPtdv/AHxQBNRUP2u3/vij7Xb/AN8UATUVD9rt/wC+KPtdv/fFAE1FQ/a7f++KPtdv/fFAE1FQ/a7f++KPtdv/AHxQBNRUP2u3/vij7Xb/AN8UATUVD9rt/wC+KPtdv/fFAE1FQ/a7f++KPtdv/fFAE1FQ/a7f++KPtdv/AHxQBNRUP2u3/vij7Xb/AN8UATUVD9rt/wC+KPtdv/fFAE1FQ/a7f++KPtdv/fFAE1FQ/a7f++KPtdv/AHxQBNUbxxyfwUn2m3/vik+12/8AfFHLEBFgj/uCneRF/cFH2m3/AL4o+02/98UuWIcsQ8iL+4KPIi/uCj7Tb/3xR9pt/wC+KOWJPs4h5EX9wUeRF/cFH2m3/vij7Tb/AN8UcsQ9nEPIi/uCk8mP+4KX7Tb/AN8Un2u3/vijliHJElUUtRfabf8Avik+12/98Uyiaioftdv/AHxR9rt/74oAmoqH7Xb/AN8Ufa7f++KAJqKh+12/98Ufa7f++KAJqKh+12/98Ufa7f8AvigCaioftdv/AHxR9rt/74oAmoqH7Xb/AN8Ufa7f++KAJqKh+12/98Ufa7f++KAJqKh+12/98Ufa7f8AvigCaioftdv/AHxR9rt/74oAmoqH7Xb/AN8Ufa7f++KAJqKh+12/98Ufa7f++KAJqKh+12/98Ufa7f8AvigCaioftdv/AHxR9rt/74oAmoqH7Xb/AN8Ufa7f++KAJqKh+12/98Ufa7f++KAJqKh+12/98Ufa7f8AvigCaioRc2/94VNQAU1qdTWo6Auh4sP+Phv94/8AoRrTirMH/Hw3+8f/AEI1pxV432j3DRirSgrNirSgrSJy1DTjq/H/AKwVQjq/H/rBW8TCRcj61cSqcfWriVsZSJ07VYSq6dqsJWhnI//U/eh6rv3qw9V371lI2iQPVOWrj1TlqCinJ/rDVCSr8n+sNUJKxkbRMyWs2WtKWs2WsToiZ0tUB/x8r/vj+dX5aoD/AI+V/wB8fzrJbo6Oh9Exf6tfotTVDF/q1+i1NXrxPBCiiiqAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsvVv8Aj0/4EtalZerf8en/AAJaAMuiiig0CmNHHJ/rEFPooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCPyYv7g/IUeTF/cH5CpKKAI/Ji/uD8hR5MX9wfkKkooAj8mL+4PyFHkxf3B+QqSigCMQx9Ng/KpKKKACmtTqa1HQF0PFh/x8N/vH/0I1pxVmD/AI+G/wB4/wDoRrTirxvtHuGjFWlBWbFWlBWkTlqGnHV+P/WCqEdX4/8AWCt4mEi5H1q4lU4+tXErYykTp2qwlV07VYStDOR//9X96Hqu/erD1XfvWUjaJA9U5auPVOWoKKcn+sNUJKvyf6w1QkrGRtEzJazZa0pazZaxOiJnS1QH/Hyv++P51flqgP8Aj5X/AHx/Oslujo6H0TF/q1+i1NUMX+rX6LU1evE8EKKKKoAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKy9W/wCPT/gS1qVl6t/x6f8AAloAy6KKKDQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKa1OprUdAXQ8WH/Hw3+8f/QjWnFWYP+Phv94/+hGtOKvG+0e4aMVaUFZsVaUFaROWoacdX4/9YKoR1fj/ANYK3iYSLkfWriVTj61cStjKROnarCVXTtVhK0M5H//W/eh6rv3qw9V371lI2iQPVOWrj1TlqCinJ/rDVCSr8n+sNUJKxkbRMyWs2WtKWs2WsToiZ0tUB/x8r/vj+dX5aoD/AI+V/wB8fzrJbo6Oh9Exf6tfotTVDF/q1+i1NXrxPBCiiiqAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsvVv8Aj0/4EtalZerf8en/AAJaAMuiiig0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACmtTqa1HQF0PFh/x8N/vH/0I1pxVmD/j4b/eP/oRrTirxvtHuGjFWlBWbFWlBWkTlqGnHV+P/WCqEdX4/wDWCt4mEi5H1q4lU4+tXErYykTp2qwlV07VYStDOR//1/3oeq796sPVd+9ZSNokD1Tlq49U5agopyf6w1Qkq/J/rDVCSsZG0TMlrNlrSlrNlrE6ImdLVAf8fK/74/nV+WqA/wCPlf8AfH86yW6OjofRMX+rX6LU1Qxf6tfotTV68TwQoooqgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArL1b/AI9P+BLWpWXq3/Hp/wACWgDLooooNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAprU6mtR0BdDxYf8fDf7x/9CNacVZg/4+G/3j/6Ea04q8b7R7hoxVpQVmxVpQVpE5ahpx1fj/1gqhHV+P8A1greJhIuR9auJVOPrVxK2MpE6dqsJVdO1WErQzkf/9D96Hqu/erD1XfvWUjaJA9U5auPVOWoKKcn+sNUJKvyf6w1QkrGRtEzJazZa0pazZaxOiJnS1QH/Hyv++P51flqgP8Aj5X/AHx/Oslujo6H0TF/q1+i1NUMX+rX6LU1evE8EKKKKoAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKy9W/wCPT/gS1qVl6t/x6f8AAloAy6KKKDQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKa1OprUdAXQ8WH/Hw3+8f/QjWnFWYP+Phv94/+hGtOKvG+0e4aMVaUFZsVaUFaROWoacdX4/9YKoR1fj/ANYK3iYSLkfWriVTj61cStjKROnarCVXTtVhK0M5H//R/eh6rv3qw9V371lI2iQPVOWrj1TlqCinJ/rDVCSr8n+sNUJKxkbRMyWs2WtKWs2WsToiZ0tUB/x8r/vj+dX5aoD/AI+V/wB8fzrJbo6Oh9Exf6tfotTVDF/q1+i1NXrxPBCiiiqAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsvVv8Aj0/4EtalZerf8en/AAJaAMuiiig0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACmtTqa1HQF0PFh/x8N/vH/0I1pxVmD/j4b/eP/oRrTirxvtHuGjFWlBWbFWlBWkTlqGnHV+P/WCqEdX4/wDWCt4mEi5H1q4lU4+tXErYykTp2qwlV07VYStDOR//0v3oeq796sPVd+9ZSNokD1Tlq49U5agopyf6w1Qkq/J/rDVCSsZG0TMlrNlrSlrNlrE6ImdLVAf8fK/74/nV+WqA/wCPlf8AfH86yW6OjofRMX+rX6LU1Qxf6tfotTV68TwQoooqgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArL1b/AI9P+BLWpWXq3/Hp/wACWgDLooooNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAprU6mtR0BdDxYf8fDf7x/9CNacVZg/4+G/3j/6Ea04q8b7R7hoxVpQVmxVpQVpE5ahpx1fj/1gqhHV+P8A1greJhIuR9auJVOPrVxK2MpE6dqsJVdO1WErQzkf/9P96Hqu/erD1XfvWUjaJA9U5auPVOWoKKcn+sNUJKvyf6w1QkrGRtEzJazZa0pazZaxOiJnS1QH/Hyv++P51flqgP8Aj5X/AHx/Oslujo6H0TF/q1+i1NUMX+rX6LU1evE8EKKKKoAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKy9W/wCPT/gS1qVl6t/x6f8AAloAy6KKKDQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKa1OprUdAXQ8WH/Hw3+8f/QjWnFWYP+Phv94/+hGtOKvG+0e4aMVaUFZsVaUFaROWoacdX4/9YKoR1fj/ANYK3iYSLkfWriVTj61cStjKROnarCVXTtVhK0M5H//U/eh6rv3qw9V371lI2iQPVOWrj1TlqCinJ/rDVCSr8n+sNUJKxkbRMyWs2WtKWs2WsToiZ0tUB/x8r/vj+dX5aoD/AI+V/wB8fzrJbo6Oh9Exf6tfotTVDF/q1+i1NXrxPBCiiiqAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsvVv8Aj0/4EtalZerf8en/AAJaAMuiiig0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACmtTqa1HQF0PFh/x8N/vH/0I1pxVmD/j4b/eP/oRrTirxvtHuGjFWlBWbFWlBWkTlqGnHV+P/WCqEdX4/wDWCt4mEi5H1q4lU4+tXErYykTp2qwlV07VYStDOR//1f3oeq796sPVd+9ZSNokD1Tlq49U5agopyf6w1Qkq/J/rDVCSsZG0TMlrNlrSlrNlrE6ImdLVAf8fK/74/nV+WqA/wCPlf8AfH86yW6OjofRMX+rX6LU1Qxf6tfotTV68TwQoooqgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArL1b/AI9P+BLWpWXq3/Hp/wACWgDLooooNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAprU6mtR0BdDxYf8fDf7x/9CNacVZg/4+G/3j/6Ea04q8b7R7hoxVpQVmxVpQVpE5ahpx1fj/1gqhHV+P8A1greJhIuR9auJVOPrVxK2MpE6dqsJVdO1WErQzkf/9b96Hqu/erD1XfvWUjaJA9U5auPVOWoKKcn+sNUJKvyf6w1QkrGRtEzJazZa0pazZaxOiJnS1QH/Hyv++P51flqgP8Aj5X/AHx/Oslujo6H0TF/q1+i1NUMX+rX6LU1evE8EKKKKoAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKy9W/wCPT/gS1qVl6t/x6f8AAloAy6KKKDQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKa1OprUdAXQ8WH/Hw3+8f/QjWnFWYP+Phv94/+hGtOKvG+0e4aMVaUFZsVaUFaROWoacdX4/9YKoR1fj/ANYK3iYSLkfWriVTj61cStjKROnarCVXTtVhK0M5H//X/eh6rv3qw9V371lI2iQPVOWrj1TlqCinJ/rDVCSr8n+sNUJKxkbRMyWs2WtKWs2WsToiZ0tUB/x8r/vj+dX5aoD/AI+V/wB8fzrJbo6Oh9Exf6tfotTVDF/q1+i1NXrxPBCiiiqAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsvVv8Aj0/4EtalZerf8en/AAJaAMuiiig0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACmtTqa1HQF0PFh/x8N/vH/0I1pxVmD/j4b/eP/oRrTirxvtHuGjFWlBWbFWlBWkTlqGnHV+P/WCqEdX4/wDWCt4mEi5H1q4lU4+tXErYykTp2qwlV07VYStDOR//0P3oeq796sPVd+9ZSNokD1Tlq49U5agopyf6w1Qkq/J/rDVCSsZG0TMlrNlrSlrNlrE6ImdLVAf8fK/74/nV+WqA/wCPlf8AfH86yW6OjofRMX+rX6LU1Qxf6tfotTV68TwQoooqgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArL1b/AI9P+BLWpWXq3/Hp/wACWgDLooooNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAprU6mtR0BdDxYf8fDf7x/9CNacVZg/4+G/3j/6Ea04q8b7R7hoxVpQVmxVpQVpE5ahpx1fj/1gqhHV+P8A1greJhIuR9auJVOPrVxK2MpE6dqsJVdO1WErQzkf/9H96Hqu/erD1XfvWUjaJA9U5auPVOWoKKcn+sNUJKvyf6w1QkrGRtEzJazZa0pazZaxOiJnS1QH/Hyv++P51flqgP8Aj5X/AHx/Oslujo6H0TF/q1+i1NUMX+rX6LU1evE8EKKKKoAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKy9W/wCPT/gS1qVl6t/x6f8AAloAy6KKKDQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKa1OprUdAXQ8WH/Hw3+8f/QjWnFWYP+Phv94/+hGtOKvG+0e4aMVaUFZsVaUFaROWoacdX4/9YKoR1fj/ANYK3iYSLkfWriVTj61cStjKROnarCVXTtVhK0M5H//S/eh6rv3qw9V371lI2iQPVOWrj1TlqCinJ/rDVCSr8n+sNUJKxkbRMyWs2WtKWs2WsToiZ0tUB/x8r/vj+dX5aoD/AI+V/wB8fzrJbo6Oh9Exf6tfotTVDF/q1+i1NXrxPBCiiiqAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsvVv8Aj0/4EtalZerf8en/AAJaAMuiiig0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACmtTqa1HQF0PFh/x8N/vH/0I1pxVmD/j4b/eP/oRrTirxvtHuGjFWlBWbFWlBWkTlqGnHV+P/WCqEdX4/wDWCt4mEi5H1q4lU4+tXErYykTp2qwlV07VYStDOR//0/3oeq796sPVd+9ZSNokD1Tlq49U5agopyf6w1Qkq/J/rDVCSsZG0TMlrNlrSlrNlrE6ImdLVAf8fK/74/nV+WqA/wCPlf8AfH86yW6OjofRMX+rX6LU1Qxf6tfotTV68TwQoooqgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArL1b/AI9P+BLWpWXq3/Hp/wACWgDLooooNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAprU6mtR0BdDxYf8fDf7x/9CNacVZg/4+G/3j/6Ea04q8b7R7hoxVpQVmxVpQVpE5ahpx1fj/1gqhHV+P8A1greJhIuR9auJVOPrVxK2MpE6dqsJVdO1WErQzkf/9T96Hqu/erD1XfvWUjaJA9U5auPVOWoKKcn+sNUJKvyf6w1QkrGRtEzJazZa0pazZaxOiJnS1QH/Hyv++P51flqgP8Aj5X/AHx/Oslujo6H0TF/q1+i1NUMX+rX6LU1evE8EKKKKoAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKy9W/wCPT/gS1qVl6t/x6f8AAloAy6KKKDQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKa1OprUdAXQ8WH/Hw3+8f/QjWnFWYP+Phv94/+hGtOKvG+0e4aMVaUFZsVaUFaROWoacdX4/9YKoR1fj/ANYK3iYSLkfWriVTj61cStjKROnarCVXTtVhK0M5H//V/eh6rv3qw9QtWUjaJWeqctXHqnLUFFOT/WGqElX5OtUJKxkbRMyWs2WtKWs2WsToiZ0tUB/x8r/vj+dX5aoD/j5X/fH86yW6OjofRMX+rX6LU1Qxf6tfotTV68TwQoooqgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArL1b/j0/4EtalZerf8en/AloAy6KKKDQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKa1OprUdAXQ8WH/Hw3+8f/QjWnFWYP8Aj4b/AHj/AOhGtOKvG+0e4aMVaUFZsVacPWtInLUNKOr8f+sFUI6vx/6wVvEwkXI+tXEqnH1q4lbGUidO1WEqunarCVoZyP/W/eh6hapGqNqykbRKz1Tk61ceqcnWoKKLmqUlXXFUpKxkbRMyWs6UVpS1nS1idETMlqgP+Plf98fzq/LWev8Ax8Rf7w/nWS3R1H0VF/q1+i1NUCf6tfoKnr14nz4UUUVQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVl6t/x6f8AAlrUrL1b/j0/4EtAGXRRRQaBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABTWp1I3+qb6UdAPFR/wAfDf7x/wDQjWnFWcP+Plvqf51oxV432j2uhoxVpRVnRCtGKtInPUNOOrsdUo6uoa3iYSL0fWriVTj61cStjKRYUVOlQrUq1oZyP//X/eh6rv3qw9V371lI2iQPVOTrVx6pvUFFJ6oyVfcVnyCsZG0ShLWZLWlKKzZRWUjoiZk3Ws5f+PmL/eH86056z0/18f8A10H86zfQ6j6Gi/1a/Rf5VYqGL/Vr9FqavVifPhRRRVAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABWXq/wDx6H/eFalUL6OOSNY5PuswoAxqK2P7MtP7n6mj+zbP+5+poK5jHorY/s2z/ufqaT+zrT+5+poDmMiitf8As+z/ALn6ml/s6z/ufqaA5jHorY/s6z/ufqaT+zrT+5+poDmMiitj+zrP+5+po/s6z/ufqanmJMeitj+zrP8AufqaP7Os/wC5+po5gMeitj+zrP8AufqaP7Os/wC5+po5gMeitj+zrP8AufqaP7Os/wC5+po5gMeitf8As60/ufqaX+zrP+5+pqgMeitj+zrP+5+ppP7OtP7n6mgDIorY/s6z/ufqaP7Os/7n6mp5gMeitf8As60/ufqaX+zrP+5+pqgMeitj+zrP+5+po/s6z/ufqanmAx6K2P7Os/7n6mj+zrP+5+po5gMeitf+z7P+5+po/s+z/ufqaormMiitf+zrT+5+ppf7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/ufqaA5jHorY/s2z/ufqaP7Ns/7n6mgOYx6K2P7Ns/7n6mj+zbP+5+poDmMeitj+zbP+5+po/s2z/uf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om8ZGTJHVN4q2Gjqu0dZSiXGRjPFVdo62DFULRVEomhjtHTDFWuYqgaKoHzGX5VMMVaZipDDU8o+YyzFSeSa0zFTPLo5R8xm+SKPJFanlUeVRyhzGT5H1p3lfWtIxUeX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM3yvrR5X1rS8v/ZNHl/7Jo5Q5jN8r60eV9a0vL/2TR5f+yaOUOYzfK+tHlfWtLy/9k0eX/smjlDmM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" class="kg-image" alt loading="lazy"><figcaption>The Julaya dashboard. Source: <a href="https://www.launchafrica.vc/news/ivorian-fintech-julaya-raises-2m-to-digitize-business-payments-in-francophone-africa" rel="noopener noreferrer nofollow"><u>Launch Africa</u></a>.</figcaption></figure><h2 id="is-it-worth-building-around-a-whatsapp-culture">🤔 Is it worth building around a WhatsApp culture? <a class="markdownit-header-anchor" href="#is-it-worth-building-around-a-whatsapp-culture">🔗</a></h2><p>Short answer is <strong>yes</strong>. WhatsApp has set the behavioural baseline for how Africans expect to interact with digital services: <strong>simple chat-flows, minimal typing, fast media sharing</strong>, clear prompts, familiar layouts, and immediate human-like responses.</p><p>Any product that ignores this risks heavy user drop-off, costly onboarding, and low trust. To mimic WhatsApp’s interaction style is to gain instant usability, faster adoption, and <strong>access to millions of users who prefer chat-based navigation over traditional app interfaces</strong>. Digital literacy varies widely across countries, but data costs remain high-end consistently. A WhatsApp-like design can prove highly efficient.</p><h2 id="how-to-start-localizing-for-whatsapp-first-african-markets">👉 How to start localizing for WhatsApp-first African markets <a class="markdownit-header-anchor" href="#how-to-start-localizing-for-whatsapp-first-african-markets">🔗</a></h2><p>Here are some important points to consider when building for a WhatsApp culture:</p><h3 id="1-interface-flows-should-mirror-chat-over-traditional-apps">1. Interface flows should mirror chat over traditional apps <a class="markdownit-header-anchor" href="#1-interface-flows-should-mirror-chat-over-traditional-apps">🔗</a></h3><p>African users prefer conversational navigation. Consider replacing long forms with question-and-answer flows, status updates with message bubbles, and dashboards with simplified threads.</p><h3 id="2-localize-language-but-also-tone">2. Localize language, but also tone <a class="markdownit-header-anchor" href="#2-localize-language-but-also-tone">🔗</a></h3><p>African customers judge products heavily by how natural they sound. A Hausa prompt that’s too formal or a Twi instruction that uses a wrong tonal mark can immediately break trust and question brand authenticity. <strong>Tone-aware localization is non-negotiable here</strong>.</p><h3 id="3-prepare-for-code-switching-as-the-norm">3. Prepare for code-switching as the norm <a class="markdownit-header-anchor" href="#3-prepare-for-code-switching-as-the-norm">🔗</a></h3><p>Many African users will switch between languages (and even sometimes dialects) mid-chat. Products must be ready for multilingual UI support.</p><blockquote>African users value conversational navigation and highly localized interactions. They also code-switch frequently. You need to consider these preferences when building for them</blockquote><h3 id="4-use-localization-tools-early-in-product-design">4. Use localization tools early in product design <a class="markdownit-header-anchor" href="#4-use-localization-tools-early-in-product-design">🔗</a></h3><p>Instead of bolting translation on at the end, foreign innovators need to <strong>design language-first workflows </strong>that enable them to upload<strong> </strong>text prototypes, test UI tones across multiple markets, and refine the interface before shipping through localization testing.</p><h3 id="5-make-trust-the-core-of-expansion-strategy">5. Make trust the core of expansion strategy <a class="markdownit-header-anchor" href="#5-make-trust-the-core-of-expansion-strategy">🔗</a></h3><p><strong>WhatsApp works in Africa because it feels personal, informal, and direct</strong>. As a foreign innovator (introducing a foreign product), you will need to recreate this emotional familiarity, not just functional parity. A trustworthy localization tool will be central to achieving this trust at scale.</p><h2 id="how-can-localazy-support-startups-building-for-whatsapp-first-localization">💙 How can Localazy support startups building for WhatsApp-first localization? <a class="markdownit-header-anchor" href="#how-can-localazy-support-startups-building-for-whatsapp-first-localization">🔗</a></h2><p>Localazy offers a range of contextual tools that can position you as a human-front service even when you only automate. Here are some features I've noticed that can help whether you localize for WhatsApp or not:</p><h3 id="1-static-ui-text-localization">1. Static UI text localization <a class="markdownit-header-anchor" href="#1-static-ui-text-localization">🔗</a></h3><p>These are the buttons, menus and labels inside chat-like interfaces that give your users a dynamic communication experience: “Send Message,” “Order History,” “Mark as delivered.” Localazy can handle these by providing consistent translations across Yoruba, Hausa, Swahili, Xhosa, Zulu, Amharic and more, ensuring the UI matches local communication norms and that different word lengths don't break the design (for example, via their <a href="https://localazy.com/features/figma-localization-plugin/">Figma plugin</a>).</p><h3 id="2-quick-replies-and-predefined-prompts">2. Quick replies and predefined prompts <a class="markdownit-header-anchor" href="#2-quick-replies-and-predefined-prompts">🔗</a></h3><p>WhatsApp-like interfaces depend on ready-made chat snippets such as: “Welcome to [company name] support, how can we assist?" or "Would you like pay with [Apple Pay] or [Visa]?" Localazy allows teams to create a <a href="https://localazy.com/features/glossary/">Glossary</a> for their brand that ensures these terms are not translated and kept in context.</p><blockquote>📩 If you prefer using helpdesk platforms instead of building your own chat-like UI, you can also localize your user comms with Localazy's <a href="https://localazy.com/features/intercom-localization-plugin">Intercom </a>and <a href="https://localazy.com/features/zendesk-localization/">Zendesk</a> integrations</blockquote><h3 id="3-multi-language-chat-flows">3. Multi-language chat flows <a class="markdownit-header-anchor" href="#3-multi-language-chat-flows">🔗</a></h3><p>If you're building a chat-based interface similar to WhatsApp Business, like step-by-step onboarding, or basic Q&amp;A prompts and structured requests, Localazy can help you build a consistent flow. It helps developers set the intended tone (friendly, neutral, concise, professional) via <a href="https://localazy.com/features/style-guide/">Style Guide</a>, with <a href="https://localazy.com/features/localazy-ai">Localazy AI</a> preserving it across all target languages.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/Styleguide-image.svg" class="kg-image" alt loading="lazy" width="560" height="360"></figure><h3 id="5-context-aware-localization">5. Context-aware localization <a class="markdownit-header-anchor" href="#5-context-aware-localization">🔗</a></h3><p>Localazy’s <a href="https://localazy.com/dictionary/context">context features</a>, like translation notes, comments, or screenshots, allow startups to show where text will appear: on a chat bubble, as a quick reply, or in a confirmation message. Users don't want literal translations that ignore tone, dialect or their previous chat behaviors.</p><h3 id="6-industry-specific-terminology">6. Industry-specific terminology <a class="markdownit-header-anchor" href="#6-industry-specific-terminology">🔗</a></h3><p>Lastly, every industry has its unique jargon/lingo. Again, Style Guides and Glossary help here by ensuring the correct terms are used consistently and contextually, even when users switch languages mid-conversation.</p>]]></content:encoded>
            <author>Chidinma Iwu</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/02/whatsup-africa-localization-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to translate Articulate Rise 360 courses with Localazy]]></title>
            <link>https://localazy.com/blog/how-to-translate-articulate-rise-360-courses-with-localazy</link>
            <guid isPermaLink="false">how-to-translate-articulate-rise-360-courses-with-localazy</guid>
            <pubDate>Fri, 20 Feb 2026 12:52:51 GMT</pubDate>
            <description><![CDATA[Translating Articulate Rise 360 courses requires careful XLIFF file handling to avoid import errors. This guide walks you through the complete workflow — from exporting Articulate courses and translating them in Localazy to successfully re-importing them back into Rise 360.]]></description>
            <content:encoded><![CDATA[<p>Translating <a href="https://localazy.com/integrations/rise-360/">Articulate Rise 360</a> courses requires <strong>careful XLIFF file handling to avoid import errors</strong>. This guide walks you through the complete workflow, from export to successful re-import.</p><h2 id="before-you-start">☝️ Before you start <a class="markdownit-header-anchor" href="#before-you-start">🔗</a></h2><p>Articulate Rise 360 uses a specialized <a href="https://localazy.com/dictionary/xliff" rel="noopener noreferrer nofollow">XLIFF format</a>. If your upload fails or import doesn't work, <strong>check if you’ve selected the correct format variant</strong>, as XLIFF detection isn't always automatic. If the format is not the issue, <a href="mailto:team@localazy.com" rel="noopener noreferrer nofollow">contact our support</a> and we'll help you identify the real cause.</p><h3 id="step-1-duplicate-your-course-in-rise-360">Step 1: Duplicate your course in Rise 360 <a class="markdownit-header-anchor" href="#step-1-duplicate-your-course-in-rise-360">🔗</a></h3><p><strong>Each language requires a separate Rise 360 course</strong> because the platform doesn't support multiple languages within a single course file. </p><p>Rise 360 treats each language version as an independent course with its own XLIFF export. Before exporting:</p><ol><li>Open your source course in Rise 360.</li><li>Duplicate it for each target language (e.g., "<em>Course_DE</em>", "<em>Course_FR</em>").</li><li>Keep the original course structure unchanged.</li></ol><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">❗</div><div class="kg-callout-text">Each course duplicate generates a different source language file. Translating one course’s content and uploading it into a duplicated course will not work, because Articulate generates different key IDs for each course! Always prepare a duplicate course and download its files before translating it into the target language.</div></div><h3 id="step-2-export-xliff-files">Step 2: Export XLIFF files <a class="markdownit-header-anchor" href="#step-2-export-xliff-files">🔗</a></h3><p>Now, <strong>export both content and labels separately</strong>. Rise 360 stores course text and UI elements in different files, requiring two exports per language to capture all translatable content.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">📖</div><div class="kg-callout-text"><strong>Course content</strong></div></div><p>Open the duplicated course and:</p><ol><li>Go to <strong>Settings &gt; Translations </strong>tab.</li><li>Click <strong><em>Export XLIFF file</em></strong>.</li><li>Enable <strong><em>Include HTML formatting</em></strong> (recommended).</li><li>Save to your computer.</li></ol><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">📱</div><div class="kg-callout-text"><strong>UI labels</strong></div></div><p>In the same course, click <strong>Settings</strong> and:</p><ol><li>Select the <strong>Labels</strong> tab.</li><li>Click <strong><em>Export labels as XLIFF</em></strong>.</li><li>Save separately.</li></ol><p>You'll get two files per course: <code>content.xliff</code> and <code>labels.xliff</code>.</p><p><strong>Repeat this export process for each target language duplicate.</strong> Each course must go through its own export-translate-import cycle because Articulate Rise validates that imported XLIFF files match their original source. Even though your duplicates are identical in content, their XLIFF files have different keys, which will cause a mismatch with Rise's import system.</p><blockquote>This means you'll create separate Localazy projects for each target language. To share <a href="https://localazy.com/features/glossary" rel="noopener noreferrer nofollow">glossaries</a> and <a href="https://localazy.com/features/translation-memory" rel="noopener noreferrer nofollow">translation memory</a> across your projects and avoid duplicate setup work, you can use Localazy's <a href="https://localazy.com/features/connected-projects" rel="noopener noreferrer nofollow">Connected Projects</a> feature.</blockquote><h3 id="step-3-upload-to-localazy">Step 3: Upload to Localazy <a class="markdownit-header-anchor" href="#step-3-upload-to-localazy">🔗</a></h3><p>The process is easy:</p><ol><li><a href="https://localazy.com/register" rel="noopener noreferrer nofollow">Sign up</a> or log in to Localazy.</li><li>Create a new project.</li><li>Upload both XLIFF files (content + labels).</li><li>Add target language.</li></ol><p>Localazy will parse the files, extract translatable strings, and prepare them for translation while preserving Rise 360's structure and formatting. Remember to pick the Articulate Rise 360 XLIFF format from the file format dropdown. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/image.png" class="kg-image" alt loading="lazy" width="756" height="147" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/image.png 600w, https://ghost.localazy.com/content/images/2026/02/image.png 756w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">❌</div><div class="kg-callout-text"><strong>If upload fails</strong>: Rise 360 XLIFF may not be parsed correctly. <a href="mailto:team@localazy.com" rel="noopener noreferrer nofollow"><u>Contact our support</u></a> to examine the files if you encounter problems.</div></div><h3 id="step-4-add-context-and-translate">Step 4: Add context & translate <a class="markdownit-header-anchor" href="#step-4-add-context-and-translate">🔗</a></h3><p>Before you translate everything, it is highly recommended you fill in they project's Context assets.</p><ul><li><strong><a href="https://localazy.com/features/style-guide">Style guide</a> </strong>tells your translators and Localazy AI how your content should feel. </li><li><a href="https://localazy.com/features/glossary" rel="noopener noreferrer nofollow"><strong>Glossary</strong></a> terms to maintain consistent terminology. This is especially important for courses! </li></ul><p>When your context is prepared, it's time to use Localazy's translation features.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/Sni-mek-obrazovky-2026-02-04-v-11.17.14.png" class="kg-image" alt loading="lazy" width="1580" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Sni-mek-obrazovky-2026-02-04-v-11.17.14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Sni-mek-obrazovky-2026-02-04-v-11.17.14.png 1000w, https://ghost.localazy.com/content/images/2026/02/Sni-mek-obrazovky-2026-02-04-v-11.17.14.png 1580w" sizes="(min-width: 720px) 720px"></figure><p>You can <a href="https://localazy.com/docs/general/translating-strings">translate on your own</a>, or with help from your team using the interface, but there are some helpful approaches to consider as well:</p><ul><li><strong><a href="https://localazy.com/blog/a-practical-guide-to-translating-with-localazy-ai" rel="noopener noreferrer nofollow">Localazy AI</a> </strong>for context-aware automated translations.</li><li><strong><a href="https://localazy.com/term/professional-translation-services" rel="noopener noreferrer nofollow">Professional human translation</a> </strong>can be ordered directly on the platform as well.</li><li><a href="https://localazy.com/features/translation-memory" rel="noopener noreferrer nofollow"><strong>Translation Memory</strong></a> to reuse existing translations across multiple courses.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/02/Sni-mek-obrazovky-2026-02-04-v-11.19.00.png" class="kg-image" alt loading="lazy" width="1286" height="562" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/Sni-mek-obrazovky-2026-02-04-v-11.19.00.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/Sni-mek-obrazovky-2026-02-04-v-11.19.00.png 1000w, https://ghost.localazy.com/content/images/2026/02/Sni-mek-obrazovky-2026-02-04-v-11.19.00.png 1286w" sizes="(min-width: 720px) 720px"></figure><p>When your courses are translated using the method/s you prefer, Localazy will validate the XLIFF structure automatically. <strong>Fix any flagged validation issues before downloading</strong> to ensure a successful Rise 360 import.</p><h3 id="step-5-check-validity-before-download">Step 5: Check validity before download <a class="markdownit-header-anchor" href="#step-5-check-validity-before-download">🔗</a></h3><p>Before downloading, verify that all translations pass XLIFF validity checks. Rise 360 rejects files with structural errors, so catching these issues in Localazy saves time and prevents failed imports.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Group-493-2.jpg" class="kg-image" alt loading="lazy" width="1916" height="941" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Group-493-2.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Group-493-2.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/01/Group-493-2.jpg 1600w, https://ghost.localazy.com/content/images/2026/01/Group-493-2.jpg 1916w" sizes="(min-width: 720px) 720px"></figure><p>For this, go to the language table view and:</p><ol><li>Use the filters and select<strong> Invalid translation</strong> to display results with a detected issue.</li><li>Fix flagged problems (usually HTML tag mismatches or missing placeholders).</li><li>Make sure that all translations are complete.</li></ol><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">❇️</div><div class="kg-callout-text"><strong>Tip</strong>: Invalid translations are also marked with a small bug icon in the bottom right-hand corner of each string, making them easy to spot while reviewing your content.</div></div><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Group-494.jpg" class="kg-image" alt loading="lazy" width="1913" height="941" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Group-494.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Group-494.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/01/Group-494.jpg 1600w, https://ghost.localazy.com/content/images/2026/01/Group-494.jpg 1913w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">❓</div><div class="kg-callout-text"><strong>Common validity issues</strong></div></div><p>The most frequent problem with translated Articulate Rise XLIFF files involves <strong>broken or mismatched XML/HTML tags</strong>. Rise exports often contain nested <code>&lt;g&gt;</code> (group) elements with various <code>ctype</code> attributes representing different HTML structures.</p><p>Example of a typical Rise XLIFF structure:</p><pre><code>&lt;g ctype="x-html-DIV" id="3kRw9m2XLbcfjtNQ" xhtml:content-editor-id="f8e7a4d2-129b-4c6e-b892-543f89cd21a5" xmlns:xhtml="http://www.website.org/2026/xhtml"&gt;
  &lt;g ctype="x-html-P" id="yHPQ4rWKNtx8DZaL"&gt;
    &lt;g ctype="x-html-STRONG" id="9F7NK43_pAAwd5tu"&gt;
      Customer onboarding: Best practices for success
    &lt;/g&gt;
  &lt;/g&gt;
&lt;/g&gt;</code></pre><p>When translating, these nested tags must remain intact and properly closed. Frequent issues include:</p><ul><li>Opening a <code>&lt;g&gt;</code> tag without closing it.</li><li>Accidentally deleting closing tags during translation.</li><li>Breaking the nesting hierarchy (closing tags in wrong order).</li></ul><p>Localazy's built-in validation helps catch these structural errors before they break your course import.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Group-492.jpg" class="kg-image" alt loading="lazy" width="1917" height="943" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Group-492.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Group-492.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/01/Group-492.jpg 1600w, https://ghost.localazy.com/content/images/2026/01/Group-492.jpg 1917w" sizes="(min-width: 720px) 720px"></figure><h3 id="step-6-download-translated-files">Step 6: Download translated files <a class="markdownit-header-anchor" href="#step-6-download-translated-files">🔗</a></h3><p>Once translations are complete and validated, download the XLIFF files from Localazy. The exported files maintain Rise 360's required structure and are ready for direct import back into your duplicated courses.</p><ol><li>Go to <strong>File management</strong> in Localazy.</li><li>Click <em><strong>Export &amp; download</strong></em>.</li><li>Save the translated XLIFF files to your computer.</li></ol><h3 id="step-7-import-back-to-rise-360">Step 7: Import back to Rise 360 <a class="markdownit-header-anchor" href="#step-7-import-back-to-rise-360">🔗</a></h3><p>Import the translated XLIFF files into the duplicate courses you created in Step 1. Rise 360 will populate the course structure with translated content, creating fully localized versions ready for publishing.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">📖</div><div class="kg-callout-text"><strong>Course content</strong></div></div><p>Open the duplicate course created in Step 1:</p><ol><li>Go to <strong>Settings &gt; Translations</strong> tab.</li><li>Click<em> <strong>Import translated text</strong></em>.</li><li>Select your translated content file.</li><li>Rise will process and apply translations automatically.</li></ol><p>If import fails with validation errors, return to Localazy to address any remaining HTML tag issues flagged in the validation panel, then re-download and try again.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">📱</div><div class="kg-callout-text"><strong>UI labels</strong></div></div><p>After importing content, import translated Rise's UI elements (buttons, navigation, etc.):</p><ol><li>In the same course, go to <strong>Settings &gt; Labels</strong> tab.</li><li>Select your target language from the dropdown menu.</li><li>Rise automatically applies standard label translations.</li><li>Review and customize labels if needed.</li></ol><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">⚠️</div><div class="kg-callout-text"><strong>Important note</strong>: Some content may remain untranslated</div></div><p>If certain text blocks still appear untranslated after import, they likely weren't included in the original XLIFF export. <strong>Custom blocks</strong> (currently in beta) and some <strong>embedded elements</strong> may not export to XLIFF format.</p><p>Check your Localazy project to verify if the missing text exists there. If not, simply add translations to these blocks manually in Rise.</p><h2 id="common-workflows">🔄 Common workflows <a class="markdownit-header-anchor" href="#common-workflows">🔗</a></h2><h3 id="one-time-course-translation">One-time course translation <a class="markdownit-header-anchor" href="#one-time-course-translation">🔗</a></h3><p>Follow steps 1-7 once per language. Keep exported XLIFF files as backups.</p><h3 id="ongoing-course-updates">Ongoing course updates <a class="markdownit-header-anchor" href="#ongoing-course-updates">🔗</a></h3><p>Use <a href="https://www.articulate.com/resources/course-templates/">Articulate Rise 360 templates</a> and Rise examples as starting points. When updating courses, re-export the XLIFF file and upload to Localazy. Unchanged segments will reuse existing translations automatically.</p><h3 id="multi-course-programs">Multi-course programs <a class="markdownit-header-anchor" href="#multi-course-programs">🔗</a></h3><p>Leverage <strong><a href="https://localazy.com/features/translation-memory/">Translation Memory</a></strong> across all Articulate Rise tutorials and training materials to maintain consistency without re-translating common content.</p><blockquote>💡 Need more info about Localazy's e-learning localization features? Check out <a href="https://localazy.com/blog/4-benefits-of-translating-your-e-learning-content-and-how-to-do-it-easily/?_gl=1%2a16vh3f2%2a_gcl_aw%2aR0NMLjE3NzAxMzQxMTIuQ2p3S0NBaUExb2JNQmhBYkVpd0FzVUJiSXAzc1NOR0ppWk9BaHFYdk8xYWJfY2lZYnk3UFBSRXRLckdacGhCcEEyYmNhOWZKTFhKQUtCb0NsU1lRQXZEX0J3RQ..%2a_gcl_au%2aNjYzNjIyNTM4LjE3Njk0Mjk5MzQ.">this guide</a></blockquote><h2 id="quick-tips">🖇️ Quick tips <a class="markdownit-header-anchor" href="#quick-tips">🔗</a></h2><ul><li>Always enable HTML formatting when exporting from Rise 360.</li><li>Fix the validity issues in Localazy before downloading.</li><li>Test import with one language before translating all languages.</li></ul><h2 id="need-help">💬 Need help? <a class="markdownit-header-anchor" href="#need-help">🔗</a></h2><p>If you encounter upload failures, import errors, or validity issues, <a href="https://localazy.com/contact" rel="noopener noreferrer nofollow">contact our support team</a>. </p><p>Happy localizing! 📚💙</p>]]></content:encoded>
            <author>Dorian Maršálek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/01/How-to-translate-Articulate-Rise-360-courses-with-Localazy.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Guide to translating Angular apps with ngx-translate | Part 3: i18n 🌎]]></title>
            <link>https://localazy.com/blog/guide-to-translate-angular-apps-with-ngx-translate-i18n</link>
            <guid isPermaLink="false">guide-to-translate-angular-apps-with-ngx-translate-i18n</guid>
            <pubDate>Sat, 24 Jan 2026 18:16:44 GMT</pubDate>
            <description><![CDATA[Our invoice dashboard is built and polished — now it's time to make our app truly global. In this tutorial, we’ll integrate Localazy to manage translations, add a pseudo-locale for QA testing, and enable ICU plurals to handle smarter, context-aware messages.]]></description>
            <content:encoded><![CDATA[<p><a href="https://localazy.com/blog/guide-to-translate-angular-apps-with-ngx-translate-app-logic">We have built</a> a complete invoice dashboard: functional, sleek, and ready. Now, let’s teach it how to speak.</p><p>In this third and final part of the series, <strong>you will connect your Angular app to Localazy</strong>, upload your base English translations, and pull in additional languages like French. You’ll also add a pseudo-locale to <strong>visually test missing or truncated text</strong>, and use ICU messages to <strong><a href="https://localazy.com/blog/pluralization-in-software-localization-beginners-guide/">handle plurals</a> and gender variations </strong>seamlessly.</p><p>By the end of this guide, your app won’t just be multilingual but it will also be localization-ready, QA-proof, and production-strong.</p><h2 id="integrate-localazy-into-your-angular-project">🧩 Integrate Localazy into your Angular project <a class="markdownit-header-anchor" href="#integrate-localazy-into-your-angular-project">🔗</a></h2><p>Now that runtime i18n is working and your JSON files live in <code>public/assets/i18n</code>, it’s time to connect your Angular app to Localazy so translations can sync automatically without endless copy-paste.</p><h3 id="1-install-the-cli-locally">1. Install the CLI locally <a class="markdownit-header-anchor" href="#1-install-the-cli-locally">🔗</a></h3><pre><code class="language-bash">npm i -D @localazy/cli
</code></pre><h3 id="2-get-your-project-keys">2. Get your project keys <a class="markdownit-header-anchor" href="#2-get-your-project-keys">🔗</a></h3><p>Log into your Localazy account and open the <strong>Integration overview &gt; Angular</strong> section to grab your keys.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-1.png" class="kg-image" alt loading="lazy" width="1895" height="957" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-1.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-1.png 1895w" sizes="(min-width: 720px) 720px"></figure><p>On the next screen, you’ll see your Write key and Read key. <strong>Copy both or save them</strong>, as you’ll paste them into the Localazy config in the next step.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-2.png" class="kg-image" alt loading="lazy" width="1888" height="953" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-2.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-2.png 1888w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-set-up-the-localazy-integration">3. Set up the Localazy integration <a class="markdownit-header-anchor" href="#3-set-up-the-localazy-integration">🔗</a></h3><p>You’ve got your keys — now let’s tell Localazy where your Angular i18n files live and how to sync them. <br><br>Create <code>localazy.json</code> (project root):</p><pre><code class="language-json">{
  "project": "invoice-pwa",
  "upload": {
    "type": "json",
    "files": [
      { "path": "public/assets/i18n/en.json", "lang": "en", "tags": ["app"] }
    ]
  },
  "download": {
    "files": [
      { "path": "public/assets/i18n/${lang}.json" }
    ]
  }
}
</code></pre><p>This minimal integration pushes <strong>English</strong> and pulls <strong>French</strong> right back into <code>public/assets/i18n</code>.</p><h3 id="4-keep-your-api-keys-out-of-git">4. Keep your API keys out of Git <a class="markdownit-header-anchor" href="#4-keep-your-api-keys-out-of-git">🔗</a></h3><p>Create a tiny keys file you <strong>do not commit</strong>:</p><p><strong><code>localazy.keys.json</code> (root)</strong></p><pre><code class="language-json">{ "writeKey": "YOUR_WRITE_KEY", "readKey": "YOUR_READ_KEY" }
</code></pre><p>Add to <code>.gitignore</code>:</p><pre><code>localazy.keys.json
</code></pre><p>You’ll use <strong>Write Key</strong> for uploads and <strong>Read Key</strong> for downloads.</p><h3 id="5-upload-en-and-download">5. Upload EN and download <a class="markdownit-header-anchor" href="#5-upload-en-and-download">🔗</a></h3><p>Run this command from the project root to push your English source strings to the Localazy platform:</p><pre><code class="language-bash">npx localazy upload -k localazy.keys.json
</code></pre><p>You’ll see your project with <strong>English</strong> source strings in the dashboard as seen below. From there, simply <strong>add French</strong> as a second language. This will be your first target locale.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-14.png" class="kg-image" alt loading="lazy" width="1889" height="953" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-14.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-14.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-14.png 1889w" sizes="(min-width: 720px) 720px"></figure><p>Translating is easy: just click the <strong>Translate</strong> action in the interface to auto-translate everything in one go. You'll need to select a translation provider. Localazy currently offers:</p><ul><li><strong><a href="https://localazy.com/blog/a-practical-guide-to-translating-with-localazy-ai/">Localazy AI</a></strong></li><li><strong>Google Translate</strong></li><li><strong>DeepL</strong></li><li><strong>Amazon Translate</strong></li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-12.png" class="kg-image" alt loading="lazy" width="1911" height="959" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-12.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-12.png 1911w" sizes="(min-width: 720px) 720px"></figure><p>In a moment, you'll be able to see your translated strings:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-13.png" class="kg-image" alt loading="lazy" width="1892" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-13.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-13.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-13.png 1892w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-15.png" class="kg-image" alt loading="lazy" width="1887" height="943" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-15.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-15.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-15.png 1887w" sizes="(min-width: 720px) 720px"></figure><p>Once the translation is done, you can open the <strong>Review</strong> tab to go through each string and make quick edits if needed before approving them for production.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-16.png" class="kg-image" alt loading="lazy" width="1897" height="973" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-16.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-16.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-16.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-16.png 1897w" sizes="(min-width: 720px) 720px"></figure><p>With Localazy, you can directly upload and download your source strings to the platform from the <strong>File management</strong> section:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-17.png" class="kg-image" alt loading="lazy" width="1883" height="893" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-17.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-17.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-17.png 1883w" sizes="(min-width: 720px) 720px"></figure><p>Once FR has content, download it:</p><pre><code class="language-bash">npx localazy download -k localazy.keys.json
</code></pre><p>Note that this will overide the manual strings you inserted in the first part of this tutorial. </p><p>You should now have this:</p><pre><code>public/assets/i18n/fr.json
</code></pre><p>Verify in your Angular app. Start the dev server:</p><pre><code class="language-bash">npm start
</code></pre><p>Now toggle the <strong>EN/FR button</strong> in your app. You should see the fresh strings from <code>fr.json</code>.</p><h2 id="test-using-a-pseudo-locale">⛓️‍💥 Test using a pseudo-locale <a class="markdownit-header-anchor" href="#test-using-a-pseudo-locale">🔗</a></h2><p>When localizing apps, engineers often struggle to spot missing or broken translations early. Localazy solves this with a <strong>pseudo-locale (<code>qps</code>)</strong>, which automatically lengthens text and adds markers to highlight untranslated or clipped strings.</p><p>By mapping it in your config, you can quickly switch to “qps mode” in Angular and visually test layouts before going live, a simple best practice that keeps your localization clean and reliable.</p><h3 id="1-select-your-custom-locale">1. Select your custom locale <a class="markdownit-header-anchor" href="#1-select-your-custom-locale">🔗</a></h3><p>In the language picker, search for <strong>Custom locale</strong> and choose <strong>Custom Locale (xxc)</strong>:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-3.png" class="kg-image" alt loading="lazy" width="1907" height="961" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-3.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-3.png 1907w" sizes="(min-width: 720px) 720px"></figure><p>Then select the language:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-4.png" class="kg-image" alt loading="lazy" width="1905" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-4.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-4.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-4.png 1905w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-seed-and-map-it">2. Seed and map it <a class="markdownit-header-anchor" href="#2-seed-and-map-it">🔗</a></h3><p>Now that you have added the custom locale, seed it by copying the English strings into it for testing (since Localazy won’t download an empty language):</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-5.png" class="kg-image" alt loading="lazy" width="1577" height="962" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-5.png 1000w, https://ghost.localazy.com/content/images/2025/11/image-5.png 1577w" sizes="(min-width: 720px) 720px"></figure><p>To test your translations visually using a pseudo-locale, make the mapping explicit in your configuration:</p><pre><code class="language-tsx">{
  "upload": {
    "type": "json",
    "files": [
      { "pattern": "public/assets/i18n/en.json", "lang": "en", "path": "public/assets/i18n" }
    ]
  },
  "download": {
    "files": [
      { "output": "${path}/${lang}.json" }
    ],
    "langAliases": {
      "xxc": "qps" // map Localazy's pseudo code to your local "qps"
    }
  }
}
</code></pre><h3 id="3-add-it-to-your-project">3. Add it to your project <a class="markdownit-header-anchor" href="#3-add-it-to-your-project">🔗</a></h3><p>Run this command to download the custom locale to your project:</p><pre><code class="language-tsx">npx localazy download -k localazy.keys.json
</code></pre><p>You should now have:</p><pre><code>public/assets/i18n/qps.json
</code></pre><p>This writes <code>public/assets/i18n/qps.json</code> thanks to <code>langAliases</code>.</p><p>Now, allow it in the language service. First, widen your accepted languages so <code>qps</code> is treated like any other locale in <code>src/app/core/language.service.ts</code>:</p><pre><code class="language-tsx">type Lang = 'en' | 'fr' | 'qps';          
private readonly supported: Lang[] = ['en', 'fr', 'qps'];
</code></pre><p>Then expose it to the app shell so the header can switch to <code>qps</code>.</p><p><strong>Also update it in <code>app.ts</code>:</strong></p><pre><code class="language-jsx">import { Component, signal } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import { LanguageService } from './core/language.service';

...

export class App {
 
 ...

  // Public API for the template
  setLang(code: 'en' | 'fr' | 'qps') 
    this.lang.use(code);
  }
}
</code></pre><p>Finally, add a tiny “QA” toggle in the header:</p><pre><code class="language-html">&lt;button type="button" class="btn-secondary" (click)="setLang('qps')"&gt;QA&lt;/button&gt;
</code></pre><h3 id="4-test-it">4. Test it <a class="markdownit-header-anchor" href="#4-test-it">🔗</a></h3><p>To test your pseudo-locale visually, open your <strong>Localazy dashboard</strong>, pick the custom locale you created (<code>xxc</code> → <code>qps</code>), and edit one of the strings; for example, change <strong>“Install app”</strong> to something playful or slightly distorted like <strong>“Ĭńşţāĺľ āƥƥ [QA]" and download</strong>.</p><p>When you run your app, this will make it easy to spot pseudo-localized text in the UI, stretched, accented, or bracketed. <strong>It helps you quickly identify layout issues, missing translations, or clipped text</strong> that might not be obvious with regular English or French.</p><p>Another example on the usefulness of this method is German translations, which are usually longer and might stretch or distort your UI. Instead of waiting for actual translations, you can spot problems like overflowing text or clipped buttons by switching to a pseudo-locale such as <code>qps</code>. It automatically adds accents, brackets, or longer versions of your English text, helping developers and designers ensure that every label, form, and button stays readable and responsive across all languages.</p><p>When it's time to test the content, just run <code>npm start</code>, switch between <strong>EN / FR / QA</strong>, and make sure the <strong>QA</strong> text looks weird (accents/brackets) to confirm that pseudo-locale is working. </p><p>Your next move is to enable <strong>ICU syntax</strong> so your app can handle real-world plural and gender cases cleanly with <code>ngx-translate</code>.</p><h2 id="icu-for-plural-and-gender-support">👭 ICU for plural and gender support <a class="markdownit-header-anchor" href="#icu-for-plural-and-gender-support">🔗</a></h2><p>With a tiny tweak to your Angular config, <code>ngx-translate</code> will be able to understand <a href="https://localazy.com/dictionary/icu">ICU syntax</a>, so instead of awkward “1 items” or “0 invoice,” <strong>your app will speak like a real person</strong>. After this change, your JSON files will handle smart plural and gender rules automatically with no extra logic needed. Let's see how.</p><h3 id="1-add-imports">1. Add imports <a class="markdownit-header-anchor" href="#1-add-imports">🔗</a></h3><p>Add these imports at the top of <code><strong>src/app/app.config.ts</strong></code>:</p><pre><code class="language-tsx">import { TranslateCompiler } from '@ngx-translate/core';
import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';

// Then, in your providers array, drop this in (keep everything else as-is):
{ provide: TranslateCompiler, useClass: TranslateMessageFormatCompiler },
</code></pre><p>Now your translations can do smart things like this:</p><pre><code class="language-json">{
  "itemsCount": "{count, plural, =0 {No items} one {# item} other {# items}}"
}
</code></pre><p>Let’s put it to work. Add this new ICU message to your English file:</p><p><code><strong>public/assets/i18n/en.json</strong></code></p><pre><code class="language-json">{
  "dashboard": {
    "resultsPlural": "{count, plural, =0 {No invoices} one {# invoice} other {# invoices}}"
  },
  "invoice": {
    "view": {
      "itemsCount": "{count, plural, one {# item} other {# items}}"
    },
    "due": {
      "relative": "{state, select, today {Due today} future {Due in {count, plural, one {# day} other {# days}}} past {Overdue by {count, plural, one {# day} other {# days}}}}"
    }
  }
}
</code></pre><h3 id="2-enable-pluralicu">2. Enable plural_icu <a class="markdownit-header-anchor" href="#2-enable-pluralicu">🔗</a></h3><p>Localazy supports several plural formats and needs to know <strong>which one you are using</strong>. By default, Localazy treats JSON keys as plain strings. To make it detect ICU plural patterns like:</p><pre><code>{count, plural, one {...} other {...}}
</code></pre><p>You must enable the <strong><code>plural_icu</code></strong> feature in your <code>localazy.json</code>:</p><pre><code class="language-tsx">{
  "upload": {
    ...
    "features": ["plural_icu"]
  }
    ...
}
</code></pre><h3 id="3-push-the-source-and-add-translations">3. Push the source and add translations <a class="markdownit-header-anchor" href="#3-push-the-source-and-add-translations">🔗</a></h3><p>Push your English source to Localazy:</p><pre><code class="language-tsx">npx localazy upload -k localazy.keys.json
</code></pre><p>That seeds Localazy with <code>public/assets/i18n/en.json</code>.</p><p>Now open your Localazy project, search for the <strong>resultsPlural</strong>, <strong>itemsCount</strong>, and <strong>relative</strong> and add the corresponding French strings:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/11/image-6.png" class="kg-image" alt loading="lazy" width="1461" height="722" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-6.png 1000w, https://ghost.localazy.com/content/images/2025/11/image-6.png 1461w" sizes="(min-width: 720px) 720px"><figcaption>Invoice plural.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/11/image-7.png" class="kg-image" alt loading="lazy" width="1454" height="790" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-7.png 1000w, https://ghost.localazy.com/content/images/2025/11/image-7.png 1454w" sizes="(min-width: 720px) 720px"><figcaption>Due days.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/11/image-8.png" class="kg-image" alt loading="lazy" width="1454" height="785" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-8.png 1000w, https://ghost.localazy.com/content/images/2025/11/image-8.png 1454w" sizes="(min-width: 720px) 720px"><figcaption>Invoice views' item plural.</figcaption></figure><p>Then pull the translation back:</p><pre><code class="language-bash">npx localazy download -k localazy.keys.json
</code></pre><p>You should now have fresh files like:</p><pre><code>public/assets/i18n/fr.json
public/assets/i18n/qps.json
</code></pre><h3 id="4-test-it">4. Test it <a class="markdownit-header-anchor" href="#4-test-it">🔗</a></h3><p>Now let’s fire up the app and make sure the <strong>ICU plurals</strong>, <strong>relative due labels</strong>, and all the <strong>counts</strong> behave as expected across screens. We’ll look for natural copy (“0/1/N invoices”), correct item counts on the Invoice View, and clean “Due today / in # days / # days ago” messages, so you should not see any awkward or clipped text.</p><p>Drop this in <code>src/app/features/invoice-view/invoice-view.html</code> under the table, before “Notes + totals”:</p><pre><code class="language-html">&lt;!-- Items count (ICU plural) --&gt;
&lt;div class="mt-3 text-sm text-gray-600"&gt;
  @if (invoice(); as inv) {
    {{ 'invoice.view.itemsCount' | translate : { count: inv.items.length } }}
  }
&lt;/div&gt;
</code></pre><p>Add a date helper plus two small methods to turn it into a readable label.</p><p>Create the date util <code>src/app/core/utils/date.ts</code> and paste the code below:</p><pre><code class="language-tsx">export function daysDiffFromToday(isoDate: string): number {
  const d = new Date(isoDate);
  if (isNaN(d.getTime())) return 0;
  const today = new Date();
  // compare at local midnight so timezones don’t skew the count
  const start = new Date(today.getFullYear(), today.getMonth(), today.getDate()).getTime();
  const end   = new Date(d.getFullYear(),     d.getMonth(),     d.getDate()).getTime();
  const msPerDay = 24 * 60 * 60 * 1000;
  return Math.round((end - start) / msPerDay); // &gt;0 future, 0 today, &lt;0 past
}
</code></pre><p>Use it in the dashboard component <code><strong>src/app/features/dashboard/dashboard.component.ts</strong></code>.</p><pre><code class="language-tsx">import { daysDiffFromToday } from '../../core/utils/date';
</code></pre><p>Add inside the class:</p><pre><code class="language-tsx">dueState(inv: Invoice): 'today' | 'future' | 'past' {
  if (!inv.dueDate) return 'future'; // missing dueDate = no warning
  const d = daysDiffFromToday(inv.dueDate);
  return d === 0 ? 'today' : d &gt; 0 ? 'future' : 'past';
}

dueCount(inv: Invoice): number {
  if (!inv.dueDate) return 0;
  return Math.abs(daysDiffFromToday(inv.dueDate));
}
</code></pre><p>Render the label in each row on <strong><code>src/app/features/dashboard/dashboard.component.html</code> </strong>inside each list item, right under the top row’s <code>&lt;div class="flex items-center gap-3"&gt;…&lt;/div&gt;</code>):</p><pre><code class="language-html">&lt;div class="mt-1 text-xs text-gray-500"&gt;
  @if (inv.dueDate) {
    {{ 'invoice.due.relative' | translate : { state: dueState(inv), count: dueCount(inv) } }}
  }
&lt;/div&gt;
</code></pre><p>Restart the app and check the Dashboard. </p><p>In our test, the total count reads naturally “Aucune facture / 1 facture / N factures” in French, or "No Invoice / 1 Invoice/ N Invoices" in English. Each row should show a clear due label (“Échéance aujourd’hui / dans # jour(s) / en retard de # jour(s)”), and on the Invoice View, the items counter reflects the right plural (“# élément(s)”).</p><p>An important point I want to mention is that you should be extremely careful when translating ICU plurals. I accidentally removed the <strong><code>other</code></strong> branch from the outer <code>select</code>. The build blew up with: <strong>“No 'other' form found…”</strong> from <code>ngx-translate-messageformat-compiler</code>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-9.png" class="kg-image" alt loading="lazy" width="1899" height="384" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-9.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-9.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-9.png 1899w" sizes="(min-width: 720px) 720px"></figure><p>And my frontend shows this:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image-10.png" class="kg-image" alt loading="lazy" width="1862" height="911" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-10.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-10.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-10.png 1862w" sizes="(min-width: 720px) 720px"></figure><p>The fix was <strong>simply to add an <code>other</code> fallback (even empty)</strong> and ensure braces are balanced.</p><h2 id="faq">？ FAQ <a class="markdownit-header-anchor" href="#faq">🔗</a></h2><h3 id="how-do-i-switch-languages-at-runtime">How do I switch languages at runtime? <a class="markdownit-header-anchor" href="#how-do-i-switch-languages-at-runtime">🔗</a></h3><p>We use <code>ngx-translate</code> with an HTTP loader and a tiny <code>LanguageService</code> that calls <code>translate.use(lang)</code> and persists the choice in <code>localStorage</code>. No rebuilds needed.</p><h3 id="why-not-angular-built-in-i18n">Why not Angular built-in i18n? <a class="markdownit-header-anchor" href="#why-not-angular-built-in-i18n">🔗</a></h3><p>Angular i18n is great for compile-time translations, but it requires rebuilds. <code>ngx-translate</code> enables runtime language switching<strong> </strong>and works smoothly with the Localazy sync. Also, Angular built-in i18n uses XLF, and here we choose JSON + ngx-translate for runtime switching.</p><h3 id="how-does-localazy-fit-in">How does Localazy fit in? <a class="markdownit-header-anchor" href="#how-does-localazy-fit-in">🔗</a></h3><p>Localazy manages source strings, machine/human translation, reviews, and pushes/pulls JSON via CLI. We upload <code>en.json</code>, translate <strong>fr</strong>, (optionally) add a pseudo-locale, and then download into <code>public/assets/i18n</code>.</p><h3 id="whats-the-pseudo-locale-qps-for">What’s the "pseudo-locale (qps)" for? <a class="markdownit-header-anchor" href="#whats-the-pseudo-locale-qps-for">🔗</a></h3><p>It exaggerates text length and adds markers so you can spot clipped or untranslated strings. It's super helpful for stress tests without having to wait for real translations.</p><h3 id="do-i-need-to-list-languages-in-localazyjson">Do I need to list "languages": [...] in localazy.json? <a class="markdownit-header-anchor" href="#do-i-need-to-list-languages-in-localazyjson">🔗</a></h3><p>No. Omit it to download all available locales. Add it only if you want to limit downloads (e.g., <code>["fr","qps"]</code>) for predictable outputs.</p><h3 id="how-do-icu-pluralsgender-work-here">How do ICU plurals/gender work here? <a class="markdownit-header-anchor" href="#how-do-icu-pluralsgender-work-here">🔗</a></h3><p>Enable the messageformat compiler and write ICU messages in your JSON (e.g., <code>{count, plural, one {# item} other {# items}}</code>). This keeps grammar natural across languages.</p><h3 id="will-translations-work-offline-in-the-pwa">Will translations work offline in the PWA? <a class="markdownit-header-anchor" href="#will-translations-work-offline-in-the-pwa">🔗</a></h3><p>Yes. Production builds cache <code>/assets/i18n/*.json</code> via Angular Service Worker, so language files remain available offline.</p><h3 id="why-a-signal-based-store-instead-of-ngrx">Why a signal-based store instead of NgRx? <a class="markdownit-header-anchor" href="#why-a-signal-based-store-instead-of-ngrx">🔗</a></h3><p>Signals give you lightweight reactivity for CRUD, selectors, and local persistence without a boilerplate. You can always upgrade to NgRx if the app grows.</p><h3 id="how-do-i-exportimport-data-safely">How do I export/import data safely? <a class="markdownit-header-anchor" href="#how-do-i-exportimport-data-safely">🔗</a></h3><p>Use <strong>Export JSON</strong> for backups and <strong>Import JSON</strong> to replace/merge (sanitized via serializers). <strong>Export CSV</strong> gives you invoices and line items for spreadsheets.</p><h3 id="any-tailwind-gotchas-with-localization">Any Tailwind 'gotchas' with localization? <a class="markdownit-header-anchor" href="#any-tailwind-gotchas-with-localization">🔗</a></h3><p>Prefer fluid layouts (<code>flex</code>, <code>grid</code>, <code>gap</code>, <code>min-w-0</code>, <code>break-words</code>) and avoid hard width caps on labels/buttons. Pseudo-locale is your friend for catching overflow early.</p><h3 id="can-i-deploy-under-a-sub-path-eg-invoice-pwa">Can I deploy under a sub-path (e.g., /invoice-pwa/)? <a class="markdownit-header-anchor" href="#can-i-deploy-under-a-sub-path-eg-invoice-pwa">🔗</a></h3><p>Yes. The <strong><code>HttpLoaderFactory</code></strong> (for <code>@ngx-translate/http-loader</code>) uses <code>document.baseURI</code>, so translation files resolve correctly when your app is served under a <code>&lt;base href="/subpath/"&gt;</code>.</p><h2 id="more-resources">📚 More resources <a class="markdownit-header-anchor" href="#more-resources">🔗</a></h2><p>This marks the end of our tutorial. If you haven't read the previous articles, check out <a href="https://localazy.com/blog/guide-to-translate-angular-apps-with-ngx-translate-foundations">the first part</a>, where we built a minimal Angular app, wired runtime i18n with <strong>ngx-translate </strong>and<strong> </strong>added Tailwind styling; and <a href="https://localazy.com/blog/guide-to-translate-angular-apps-with-ngx-translate-app-logic">the second installment</a>, where we  set up the app logic before translating. </p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Code for the complete tutorial on GitHub</strong>: <a href="https://github.com/Gunkev/invoice-pwa">https://github.com/Gunkev/invoice-pwa</a>.</div></div><p>I also recommend checking out the references below:</p><ul><li><strong><a href="https://angular.dev/guide/components">Anatomy of a component</a> </strong>(angular.dev)</li><li><a href="https://angular.dev/guide/routing"><strong>Routing</strong></a> (angular.dev)</li><li><a href="https://v17.angular.io/guide/service-worker-intro"><strong>Service worker intro</strong></a> and <a href="https://angular.dev/api/service-worker/provideServiceWorker"><strong>provideServiceWorker</strong></a> (angular.dev)</li><li><strong>ngx-translate library</strong>: <a href="https://github.com/ngx-translate/core/">core</a>, <a href="https://github.com/ngx-translate/http-loader">http loader</a> and <a href="https://github.com/lephyrus/ngx-translate-messageformat-compiler">message format compiler</a> (Github)</li><li><a href="https://tailwindcss.com/docs/installation/using-vite"><strong>Starter installation guide</strong></a> (Tailwind CSS)</li><li><a href="https://localazy.com/integrations/angular/"><strong>I</strong></a><strong><a href="https://localazy.com/integrations/angular/">ntegrations: Angular</a> </strong>(Localazy)</li><li><a href="https://localazy.com/blog/localize-angular-app-i18n-l10n-localazy?srsltid=AfmBOoohLpBJIwXRAW4h5N3_e6cnSnBDqrycc26W_f8hdU91nOuygfjF"><strong>How to localize an Angular app with angular-i18n and Localazy</strong></a> (Localazy)</li></ul><p>Happy coding! ✌️</p>]]></content:encoded>
            <author>Kevine Nzapdi</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/11/technical-article-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Why AI keeps repeating itself and what this means for local content]]></title>
            <link>https://localazy.com/blog/why-ai-keeps-repeating-itself-and-what-this-means-for-local-content</link>
            <guid isPermaLink="false">why-ai-keeps-repeating-itself-and-what-this-means-for-local-content</guid>
            <pubDate>Mon, 12 Jan 2026 15:56:26 GMT</pubDate>
            <description><![CDATA[Why does your AI keep giving you the same phrasing over and over again? The repetition curse in large language models isn’t a flaw, it’s a side effect of how they’re trained. In this article, we discover simple techniques to generate more creative, locally resonant outputs.]]></description>
            <content:encoded><![CDATA[<p>You ask for an article draft or translation, and the results consistently show the same style, structure, and tone. You keep tweaking the prompt, switching tools, but the output hits the same note every single time.</p><p>Is there a way to break the AI repetition loop?</p><h2 id="the-llm-repetition-problem">🔂 The LLM repetition problem <a class="markdownit-header-anchor" href="#the-llm-repetition-problem">🔗</a></h2><p>The repeat curse in large language models has become hard to ignore – for everyday users and researchers alike. According to<strong> Weichuan Wang</strong> and <strong>Zhaoyi Li</strong>, the authors of the paper “<a href="https://arxiv.org/html/2410.07054v1" rel="noopener noreferrer nofollow"><u>Mitigating the Language Mismatch and Repetition Issues in LLM-based Machine Translation via Model Editing</u></a>”, models used for translation frequently exhibit two patterns of errors: <strong>repetition</strong> and <strong>language mismatch</strong>. These errors badly affect translation quality and may lead to generic and flattened results.</p><p>The LLM repetition problem occurs because AI models <a href="https://springboards.ai/blog-posts/you-cant-ask-an-llm-to-be-more-random">are trained to predict results based on probability</a>. Each word is selected according to the highest likelihood of following the previous one. When a model leans too heavily on its top-probability choices, it falls into prediction loops, <strong>creating the same polite-but-generic tone, familiar metaphors, and mirrored sentence structures</strong>.</p><p>But it gets worse. When the same probability is applied for decoding, the generated text becomes even more repetitive. The model learns what comes most often, and a decoding strategy that selects <a href="https://arxiv.org/pdf/2510.01171">the top-probability token amplifies that tendency</a>. Your AI outputs are once again packed with common phrases and monotonous paragraphs. This “greedy decoding” means the model remains in a narrow part of the token distribution, <a href="https://arxiv.org/abs/1904.09751">which is also the most crowded</a>. It never looks at the farther tail with less common words.</p><p>And that’s not the end of the repetition story. When the models are trained on their own generated content, that repetition pattern is reinforced again. <strong>That’s where a model collapse happens</strong>, <a href=" https://openreview.net/pdf?id=WjgCRrOgip">leading to reduced quality and diversity in outputs</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/AdobeStock_530180116.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1365" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/AdobeStock_530180116.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/AdobeStock_530180116.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2026/01/AdobeStock_530180116.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2026/01/AdobeStock_530180116.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="repetition-affects-your-localization-quality">📉 Repetition affects your localization quality  <a class="markdownit-header-anchor" href="#repetition-affects-your-localization-quality">🔗</a></h2><p>If you’re localizing content for new markets, repetition is the last thing you want to add to your repertoire. <strong>Your users are not interested in another copy-paste article with the same metaphors</strong>, familiar word order, and uniform tone.</p><p>Leave your LLM playing the same high-probability notes, and your blog posts will constantly begin with the most dreaded “In today’s fast-paced world…”.  Ask it to translate the string “Explore how we can transform your experience” from your fitness app into Polish, and it will most likely default to “Odkryj, jak możemy odmienić Twoje doświadczenie”, a dull, generic, literal phrase that says nothing and converts no one.</p><p>And that lack of conversions <strong>is not just a gut feeling</strong>. There’s proof for that. The “<a href="https://www.amraandelma.com/ai-vs-human-copywriter-performance-statistics/" rel="noopener noreferrer nofollow"><u>AI vs Human Copywriter Performance Statistics</u></a>” published by Amra &amp; Elma Marketing Agency shows that human-written ads gained around 45% more impressions and 60% more clicks than AI-generated ads. According to their analysis, the best approach for the marketing content overall seems to be human+AI. That’s how you can move from repetitive, boring texts to content that engages and converts.</p><blockquote>Dull, generic sentences in your localized content are easy to spot and don't convert customers. According to a 2025 Amra &amp; Elma's report, human-written ads get 60% more clicks than AI-generated ones</blockquote><p>Repetitions are also harmful to your SEO. Search engines <a href="https://localazy.com/blog/how-multilingual-content-improves-share-of-voice-in-generative-search/">reward unique, context-rich phrasing</a>. But AI-generated content often uses the same structures, which ultimately drags your rankings down. Repetitive outputs have a negative impact on keyword variation, as well. Instead of natural local synonyms, <strong>models reuse the same English-influenced loanword</strong> that may be less relevant for the local market.</p><p>Below, you can see some real-world examples of highly repetitive texts found online.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvcAAAJVCAYAAABaq9peAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAC96ADAAQAAAABAAACVQAAAAAFoYzuAABAAElEQVR4Aey9CXxV1dX+//gaEoTaBOUSJZKAQsQwBSRAEyKDBF4gLSA0LYRqkKFIbA1aKEIt0NZI4VWiLUhlrBV8Sxkrww+DCG8gFUM1EoyaoJBggCQCiTSRBPz7X+fce+547pRcMtw8h0+4Z9jjd62zz9r7rL3PLe3bt/8O3EiABEiABEiABEiABEiABJo9gf9q9jVgBUiABEiABEiABEiABEiABFQCNO6pCCRAAiRAAiRAAiRAAiTgJwRo3PuJIFkNEiABEiABEiABEiABEqBxTx0gARIgARIgARIgARIgAT8hQOPeTwTJapAACZAACZAACZAACZAAjXvqAAmQAAmQAAmQAAmQAAn4CQEa934iSFaDBEiABEiABEiABEiABGjcUwdIgARIgARIgARIgARIwE8I0Lj3E0GyGiRAAiRAAiRAAiRAAiRA4546QAIkQAIkQAIkQAIkQAJ+QoDGvZ8IktUgARIgARIgARIgARIgARr31AESIAESIAESIAESIAES8BMCNO79RJCsBgmQAAmQAAmQAAmQAAnQuKcOkAAJkAAJkAAJkAAJkICfEKBx7yeCZDVIgARIgARIgARIgARIgMY9dYAESIAESIAESIAESIAE/IQAjXs/ESSrQQIkQAIkQAIkQAIkQAI07qkDJEACJEACJEACJEACJOAnBGjc+4kgWQ0SIAESIAESIAESIAESoHFPHSABEiABEiABEiABEiABPyFA495PBMlqkAAJkAAJkAAJkAAJkACNe+oACZAACZAACZAACZAACfgJgYDmXY9bMOFX38eImDsQdruxJlcvXsL/bb6Kte981wSq1gpL/34P+qhlq8beMaVY2wRKxSKQAAmQAAmQAAmQAAn4J4Hma9w//H1s/Z/70f37t9hK5n4D+gz5DpNPfILFP/kPsmyvNvBRADpGGnDv95VsL+EelDZw/syOBEiABEiABEiABEigJRFopm45t2HtH7sbDfsb36DkRDH27fwc+/Z/iS++Vkbsb0H7/lFY9tfbWpIs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X3vimcGm5S6vyHKfZVKWgNa45z7jWwsIj5nCw9kSnU5qydMkQAIkQAIkQAIkQALNhEAzHLlXyN7A4jG5SN9ZalklJ0iMY82wv/ENvjjyKX4702jYKzFKXjuPpN+exqfqevK3qGGN4ZUPPJ1GumbYK4E93Y5+hY/MK+9UIHeDrWHvLBmtLF9cMU2oVcquevUo69PnmzskSnwtrCfl/utjp4RJuXHt/nYh8gZA3gKohr2pjsKDhr0zqfA8CZAACZAACZAACTR/As105N4OvLjijOinrEkvo94XruPge3bX7Q97BWBMV8Ud5jtc+uAGjpsNdPuADXCsleXaDXy0/zuUuMpSC+tBubs/3Ar3qj443+GLnTIXwFW6vEYCJEACJEACJEACJOAXBPzDuPcLUbASJEACJEACJEACJEACJFA/As3ULad+lWZsEiABEiABEiABEiABEvBHAjTu/VGqrBMJkAAJkAAJkAAJkECLJEDjvkWKnZUmARIgARIgARIgARLwRwI07v1RqqwTCZAACZAACZAACZBAiyRA475Fip2VJgESIAESIAESIAES8EcCNO79UaqsEwmQAAmQAAmQAAmQQIskQOO+RYqdlSYBEiABEiABEiABEvBHAjTu/VGqrBMJkAAJkAAJkAAJkECLJEDjvkWKnZUmARIgARIgARIgARLwRwI07v1RqqwTCZAACZAACZAACZBAiyRA475Fip2VJgESIAESIAESIAES8EcCNO79UaqsEwmQAAmQAAmQAAmQQIskQOO+RYqdlSYBEiABEiABEiABEvBHAjTu/VGqrBMJkAAJkAAJkAAJkECLJEDjvkWKnZUmARIgARIgARIgARLwRwI07v1RqqwTCZAACZAACZAACZBAiyRA475Fip2VJgESIAESIAESIAES8EcCNO79UaqsEwmQAAmQAAmQAAmQQIskQOO+RYqdlSYBEiABEiABEiABEvBHAjTu/VGqrBMJkAAJkAAJkAAJkECLJEDjvkWKnZUmARIgARIgARIgARLwRwI07v1RqqwTCZAACZAACZAACZBAiyRA475Fip2VJgESIAESIAESIAES8EcCNO79UaqsEwmQAAmQAAmQAAmQQIskQOO+RYqdlSYBEiABEiABEiABEvBHAjTu/VGqrBMJkAAJkAAJkAAJkECLJEDjvkWKnZUmARIgARIgARIgARLwRwI07v1RqqwTCZAACZAACZAACZBAiyRA475Fip2VJgESIAESIAESIAES8EcCNO79UaqsEwmQAAmQAAmQAAmQQIskQOO+RYqdlSYBEiABEiABEiABEvBHAjTu/VGqrBMJkAAJkAAJkAAJkECLJEDjvkWKnZUmARIgARIgARIgARLwRwI07v1RqqwTCZAACZAACZAACZBAiyRA475Fip2VJgESIAESIAESIAES8EcCNO79UaqsEwmQAAmQAAmQAAmQQIskQOO+RYqdlSYBEiABEiABEiABEvBHAjTu/VGqrBMJkAAJkAAJkAAJkECLJEDjvkWKnZUmARIgARIgARIgARLwRwI07v1RqqwTCZAACZAACZAACZBAiyRA475Fip2VJgESIAESIAESIAES8EcCNO79UaqsEwmQAAmQAAmQAAmQQIskQOO+RYqdlSYBEiABEiABEiABEvBHAjTu/VGqrBMJkAAJkAAJkAAJkECLJEDjvkWKnZUmARIgARIgARIgARLwRwI07v1RqqwTCZAACZAACZAACZBAiyRA475Fip2VJgESIAESIAESIAES8EcCNO79UaqsEwmQAAmQAAmQAAmQQIskQOO+RYqdlSYBEiABEiABEiABEvBHAjTu/VGqrBMJkAAJkAAJkAAJkECLJBDQImvNStsQmPjSPjzdP9jmnPGgANsemoaVOld4igRIgARIgARIgARIoOkRaLbG/bLMLzG1mzugYpwOG460M+7CWa4v3X8a0x9obTmhu1eKrD88iMnrdC/6/KSzuhZsvQfD59c/u9AukYh8QM+4ByKsk5/xJv79m3iEWp9T9i9nYXG/yVhvf77JHc/Bmx8tRLxuVa/h5MauGLO0yRW6EQu0DIfOTkWklyW4drkIpZdKUZB3AkcPvIX1B/K8TIHBb/Y9T8IkQAIkQAL+S6DZGvet2wYhqK07wfRC78clzHPuwmnXFyJGjFz36UqYBiTnrK5B7vogWrV89RsQhGCFu316N3TO2YdpCsfPJCK+o7OyBiFm6DKEL12A4qZQ1iZRhtZyLzjj5byAQW0jEdxJOozR8Uj82Vwsq6lEQc4ebFiahvW5zuPxioVAk7nnLUXiXnMn0CUc4WeK2b41dzmy/CTgAQG/97nvNdiLodgFg9HbbYfBA6oM0iQJzB3W27FjYl3S7gMwp4v1Ce77hEBQMCIHJ0MZjf73zqWYSMY+wcpESMA9gV5IXrQRhz76EuWZGUh0H4EhSIAE/ICA3xv36BKDhR4Kas7ASNfGn4fpMFhTJLAQCT0d3jnYFjSgF+Lnhtue45EPCQQhfPAcrMk8hjXTyNmHYJkUCdgQ6DV5ITZmfowvLxxCRloieskbS24kQAIth4D/G/fiItB/ticCnYj4SF1nbE8iM0xTJ/D7EYjx4K1M5CDxyW/qdWnu5QuOxMT0/djxJA385i5Klr8JEpi9AztfmYvE6A4N6j7aBEmwSCTQYgn4v3GPYNw/eKJ7AQ9NRGQH98H8MURNVSVqqmp0/675RYXDsWxwL89qIm96kod6FrTlhqpE1nMGGAw6fwMewbTUdKx/JwfFl10QCuiA+AVvImOUizC8RAIkQAIkQAIk4DUBPzPuK1F8rsYBQocomUjpcNb2RPgjkXAYRzzXMiYfrZ/6IO7pfI/O33AssMXUPI+6zMGA7o5FrywrczwpWhDzM3faohONp4wEzmRhz9aVWPDTMXjw/gcxe00Wih1vSWPYoEgkv7IDc8iOBEiABEiABEjAZwT8zLgHivILHOF06u1mNDZc1nl3XPCvTNLyj5FrRyQt6Uz43Hj0cljdqBInX30LeTccSYQPmoNkx9M84zWBYmx/7hE8mJiOLGej+HfEY/r6EV6nzAgkQAIkQAIkQAL6BBxMHv1gzejseydRMKqX3drc4ej1iIzLHy52UpHp6O2wgkclPjtaitA6uw30woi0ZEwfEY/wjqGIuENbt/IaKs+XorS0AO+/swGr/ywjm05K5c1pZaLinCflDUVkpCWvmlIUFRYg6/+tdp2PTL5aM9jhvQVwPguzn9/sTTFchu01ai6SpyUgPjwCoR2DYSYi66IXF+Xh4I7NeONvvuFhKUg8Fg5y7Lih8iQO/nk1widOR6+eltDqXofeSJwMbH7T7rzDYTzmLE/WWWGpAif/sQCrDxsjKJPbUpNGoNe94YgINtb6WqXU+Qup89ZVSH/TxTrwQ+dg2Y97I8Q+76qT2Dx/NbLU88qKGKmYOLQX7u8SgWD1rlb0rBiffXgQ29emY3NjLkGZuxKP/DICx9YnI1JnXl/4w09jLg66+Via1f3USe4nE0dI97u0uBhFeVLPN9/A5qOOd1PyojWyBKo9QDkuy0H60vWu7z/R2Ywf3W/WVUsqIuONIuMTljPaXuPouZa78mvFql5tTwPot0dtTzjin5T27b/jEdlN2g5VhxT9LsDJI3uw+jW5D/S+ZRKdjIUzJ2JE3/ulDTa1N562idY4Tfu+kKszXSw+OlvaAS1T/fu5tLgABcf06iv1XCXPGS36naE6+ioXA0IRv2oNemvh1F/btsrmEg9IgASaLYFb2rdv/11zLH1GdjmSHT5ipfgCT0PlrB1I7GRXq1OrYRi22O6k6XDBPnz5TIztSjlVOVjZuQBjy8UgcYil5NMVj6xxuAB0mYilLzyN5CGy1rcnXaeaMuTtfglPpa6HMxNPv65AwZsGxK2ciGWv/RHTo91MBr6ch/XPpmDBDkfjB68cQ/lkx1qicDMMsWmWSspErdO/j5dZDHZbpXzEqusjWG132ngYjokLluLpaTKn4Q7dALYnq4qR9bd0pD233bXRZRvL+dHQNfj3PyZaHnymkJVHF6PrBDHuXziEf89w9MfXrjtPWLkyBztOL9X5KJZJP84sxY4XpiO+k45Fa5VwzbmDePHxyVipZ4C7YV6weAf+OFMe7K6yuFGD4iMvIuWnK53qmFVxrHYzcMxb/beKbb8bL3q2Q0/PJGDeGgOGP2cfQ47lflq4+Gk8Psqz+6nmXBbW/yENi630PP4v/8YOpXPvsBVg84A4lx+5m/jGx1gzSmcyTtlBpPWYDEvX17d67vKe/6VDRYwnfN72NIB+u2t7RnlwD9UU4+CyCZj8Z61t64W5/7sJzzwcbtum22FT7rv0iZOxWq9jYA7bsHLt9cyb2DR3hOv7WanvyhRMflF7Yji7T82VcLHj4lnmIhYvkQAJNG0C/9W0i1eX0onPb76OL7WLJTH1lsCs+eQo0r3MPnzaRvw7aw3mPOyZIaImH9QBvZLkS6Af78PSUV5miBHI2Pyye8NeSfaOXpj+l0MNvELJCFnb/BDWyMejPDLslXK2lVG62Wtw6N1lUrv6b/E/i3Ew7AFxyTlg7IoUvyZvenSyCe6bKKPJ9dhC5YG7fo5bw17JIajTCCzcc8zryaWhYhhtetKNYa9kIB8fC394IfZnZ/iEqZJkXbasX25DTpV+zMj+Cx0vjJL7InMN5o71/H4K6iSjzaLnh16waE/Wskxd9ytItz3G5dKnEzGpr45hLyUtPrrayrBvfD1v8LanAfQbozy8h4LCMWKx1rZJm/h/+7HQjWGvKJty3y39f67mfDSsXEfI/bx/gRvDXi241HfBzgZuy5WMuZEACTQXAn5o3APb956Eg3nvdElM/SUwC054Z9qHP7kD+9MTXY+4uNKKDjGYs947Ay/k4Zfl7YWrIVv7DIMRv3gnNnrdibBPx5Njechmb/Ks46GTXHDP6dhUb2N0IuYM0hmxVVxytLcuZ15CTqFOAdr2RsIzOuc9OtUaA6bpu6A4ja5MLv3LPix0cA9zEiNgAKbLKLg30g/qloxN+xfqdHac5OHz0ytx9BP92bVB9/bHdOv8VMNOXKYcXhNZB3K2H4xeMzbh2CsmA//Marz/qX7YyP5PO+eRNAm99Wz7G3nIXGZ0iILSwW5kPW/4tqch9DscO17x5h6Stu2JP2LZzjVIfsCLu0LmfKS+oTfDpmHl2rrTDqzx6n421lev5PqazrMkQAItiYBfGvd4MwufVdqLUZbEHKrTFOo+wMWXc4N9fBfHYoi8uSAeHTxxw3GRDLTVQzw08Dp00LM8XGWgXAtH4gsbb/IIbjjmKA9ZZx2PG7Kq0SfiP6r+FaNS396DYoz+cZVlBNZdzRyuT9Y3zirFP9s4bq/EKMZLJ/TG7oPQe4TOaLJDJnonghDkwZr6DjHbSgdvtYfGd1vJwyEB9yeC+stHpBbodHjcR/VJiDe+KNVP5/shFiNbVjdyadhdLjbpjujQOVnGVWdStIzLIvLHfxSXGiW7YizYkwNdNevS2+lXiSf+qDd077BP3ze5cjQBPW+UtqcB9LtLPOI9ceOz1qYOIzB9sPe9wQ6DZBDAOh3RxIZuv8IH67g72pRJ56BDPJLrPAChkx5PkQAJ+A0B/zTuxXQ7Uej4KO/QKxET7UQXL768Dg/wcwXY7tIP0zqRcCxdMEl3oqAaqrIAezLSMFxbE1zWAV/8txyUORbPmKgykvR7nU6IdZZ2+zVledj+/GRTHg/ikadXYs8nDr0bS6xOCXj6Zj4UJv8RqU4esmXHV2Py3V3x4ENxiFP/HkTXe4Yj/Z0yXeMrfNxCLPWws2OpoHEveZyecWZxydHCF6/M0XXNCYqW1/ZaoDr+Vp45iPVPy4oxqvyHY7JMUM7RWa5VSz6ov/iYD9WOPPmVjtI765E24UHjuvMJk5Eu+uV0+UkxemMeabwPdRWfK9WVs+I6pJllyb9P1TfsbpQh58+TYZAlNo26IzrUryvuGZ2Og+d1bqgA6cjKfA+1K/PiZmQ5vM4TvvJV4gGz9Do7zlxyapCzZ4FxPkij63njtz03Xb/FvzxH5uBMTjB+U2H41HRsd9W2mW6ZmnM52GxuE5X7bjsKnDWJwRGIGWp1rzWmXE3Pi0cGmOr7y5U4eEZHt9XiBiGir/JEW4/FqbMxW/v7c444HupslTlYrYUx/6Zh5QGdsDxFAiTQrAn4qXEPpOuNxnaIROJQa3nJZKkHHB/sZfl7TKuQWId1si8Pgkk9nYyhXpaJpglxmCYGXZ4WXdYBX/30GPSYvhkFTtrsDg9P99iorJFJryk9hmN2xkFTHsYJqdMekjXq/1msb0iJgVf3UWmtIs5/l84a4dhhkuA1n2zG7MTFsi6K/ZaHlT8djTdO2Z+X46BeYqDVZd15WZlnkEO3DaiS1YM0lxwtO2euOWL4xb/gqB9aNHe/yqTc4QMmY4F5BSBZHUc6emP6pcgqK7qPX0nSm3X2ZTLc0uF48KcLLKvE5MqqM6JfD05fjRxny0/K/JPHh7or/U26XnHNzfKySzH9YR25iSYXvDkbY5Y6ag9kNZ7J49/Q9asP6plo6ixtxrYP9ax7WVtGlj51kLLuGz1hUpaFzS8a2TS6njdy23PT9VtpP+MfxBgZrDhommyed2AlZj/0ErKc3T4imsqj6RjdbwzSzG2ict/NRtxzBx3dNVVRBiPY6jsYjSXXmsLtmG16Xmir/+S9KR2bAb/GQX3VlTeEoVIDZdWt7diu/ZVeMyqow/+yspQWxvwrzzqPB7IcEuQJEiCBJkrAb417bNCbKBmOSJtVM5wtgbndY3FNHKs3OqxEL8aeX8oKMs4azgNpsrqDE1cBxaj8vQdFuFGAbQvTdIxlY/7rp/8amef003HwcdYPVoezsnqM1YPSkkAZsl5Nc9FpEteJo+YukCWa7IX3clztxiaA3sEzCTpLVEoH41SmzpKLzlxznBh+evnZn5MVhF6S1XiK7c+rxwexeM4Gp5NLw7spo3Hut8qjL+ER8wohduEPLMbsjU70S0zZyB/ZhW+ow5DW+sv0afnLakyO3ySQi2JUr346Swvl+HtmAbJ0/epNy+BKjO3rnCyz2n2Ag2uO7hs9SaP4PW0ibePreaO2PTddv+UNyWvO2k/9N7OqUsgqZxukM6Dbkui6a9qrUiPJVeZxvJE828kbY3nr5OS1Q3Cozipn9lXiMQmQQIsjUF8v8aYL7Iy8hj0nE7LslsSM7DVdyrzYWO4FMYi0J2A92dKD2sXfqzfKKBELZdTJzevO4mV78P6MGJ2lFMWg7al4ga52XYJPZTm+w66CiBH5r2JZFtRhXFJWzwmV1bBvwja7F8LtmSrZ1FxD0OA1sp6+izzFj1wZkNPcM8whO4h7hRy4oWEOruwsHNFbxye9BiffXWkTTjso3pGHYpnQ5kCqZzyeFregNGedNC0Bu9+y9za7Lu+ZdOz58HHE6LkvdRSfX0nPdX3FReVN1yFc6Veo+LW7y8GuSj45DJc16p2851LTn9PTQQLq+ZqqIHWNblfvcIJu1dUehHYyac/hdGSemojpPe2qornmPKt1xeLxeF+9ciguIqYORhPQ88Zse266fle+jz2mNyR20lIPK64po9OOmqSucublvWqTfmPJ9dMsLHBR7tXizrbUsWW0KToPSIAESEAjoGeGadea+W8WNnyoY9ialsRU1sKZO9jRAKwpPOHGqLLGIq/zO1gfW/YrS8RYtBw62ZOR3fPi1e1gzcopD0Zkir/QcVGwy6k4rwiVSeE6WYQifIYEXmcXob6HUaE6eUmislxdvJSjTltwqM63BlyltBQjoh0f/KhRJmBOxMQkvbjypue8vCHoaH8tEvGKW9DPXYwa20cRF5KiU+7f/jh9YHtS36oi5G11yNjuhOhXmRP9urNxRvym3qu4Eehsl0vV0dZeoTo3gwQPkgmWE6WTVZfNci8ZJ9ZO7Wn3TQtJ1OiaY/KlH/o4etsNCqj5yluf9MPqHtDoet6YbU8D6PfXlfqj7yb8zn6uXatwdsmz840k17KSk56Vj6FIgARIwAMCfmzcA1kHClD2o3Bb/29Z4nDwAiGzTNYg7+5oAHq7BKYzxqUX1ju7ZHO+4JL+aKNNICcH16o8MDg/rdQfDVfS9FPph7/gxLVD/PeT5QuN3k1XlrcofZMRLw5FHtA2SUr8yj2xMc7LSi8Sw1ELTcm4+rlxDZ5kUaYuRaSTQ6PIfiEGO1um8Lx8ZE3qm+Gqzr649mImTv4iBjH2qxmZXHOU0dP4n/V2fIMjkjJPpPVFOW5iGje/7WkA/b4m80luIqOmlnTFZfeDAU2tzCwPCZBA0yXgvz73CvOtektiyhJ5A8UlISke9zsMEnq5BKYLubZuK6O9HmwhrVt7EKoeQbrKZLF6RG9+UcWlZZCPHY5u1gTUDsF1M+y9EEoHcXVqKlv8K2MdjWpT4fLe86wzXP+6rMTm98ock9Fcc6Qbp+uS48ZNxDHBxjvTZNqeBtDvxqPMnEmABEig6RJolPG7hsOhTLySZf/62xo4wZHyFct6L4Gp1CIPlV/Lj471HNpRMe7djT3Fo1uobdmUVJWtplLHADFeMv8fevd02XdjFLV3NoGxEmVu5gSYM/Jmx9mi9VVlKCj2ZKxZJ7Ovc9ySNMfq8jTi7X2qzRfruhOOATNkkuthT0fXguGBV5XMtXDSsass1V2a06b0nrjuiKEa/D2bWOaDylK9tf3Nl32/I+uxL3vEiStQTR6yTP7uztSnpqwARZfqVqzKE7b34eY1WXj6YcdJ2qprztBQXZecshPbbd31nBW0ofS8UdueBtDvuom6/rEaXa71rwJTIAESIAE/N+6NS2LO7W83ktuhN6brfFa++MMNnhuRqu5kobBUHCs6ORroQQ8MxlwJs9KVjslHtXR9eyVO6Xlbg0QvmeD7Bov5tt5lmecMdPIV06pSFLuYwKWXn0fn3ilCsTIpzSFwEfY+NAbKXIebuSn+8U5MyHpl26HvJHHn2Y7NHqYS8YDyASxXtdVfhlVN3iN/4whEqu5lLgrUZaLDhHItdOVl3fVEtMu+/XXzUaqyw7JOtynHg18UQ3dSbfFexMl69j7ZZGJtVuFE+ciaXWrimvP05GAd3ZXlZdfYSb6R9VwZOGjMtufm67edbBrqsNHl2lAVZT4kQAL+TMC/3XIUyW14X2f96w4I72QvVhlZPuDeoLaPpbuevhJIvjY6df0I++BWx+FY+OtEHUNCCeJhWeRjVM+6+tqojJYmx+i8VlCyOF+AN5RfX2+HD6JA76WDOtfB0eT3bfbyxUbdVU5k7esz2hdx3f3qf0wL0iFMnOx5aZWPUW0c5Tx8+JMZSLQ3Lk3BK4s8eVMhH6NKcvWlYXFPeinRSUenEkU53uu689o4v9Jrxhocy5TlBZ19bVTWMl/1nMVwzjoo82R0klM6ywvrOKHWMTlZ+vSITudGXHMmjdXRUeuJtFpijarnxkI0Zttz8/VbA93Av01ArjetxgGtEXLTEmfCJEACTYmA/xv3Z1bjpCcj1JWfIWtrHUTz3FvO1yv/0RocWu74+l/W5sDc/92POXbuQubclQ9deVQWMfCe3ImNM+zeTCgJRc/FjldkKVDHlwpqNsV52z1YzcdcIi92ZAnIo3rrBElZp2U4rCdunXDyGx+jvLzc4e+Qpx+SklVOYvQMQGXt6wHaF3Hd/c528m2ADohPVt7FeLrJ8p2v7MNSm+8qGOOGP7IGb8obBv1ul3ys6ajrJS7NJZAlHtfsX6qzioy8FVj1JhbqLbOpRNb7kJc5UR/syMo2iWkZ2JF9GodekLcH+hWVjGTS5J/SbL8FIct76n5URzrLj7+k87Epc3GT8ebHjrpTfuEQlunoRPGz+vdtkM79kidr2ztqdCPquVbnRm17GkC/tXo26G8TkGt967umGKV6aTTIAItexjxHAiTQ0AT83i1H+ZjU9k+K5RW8zoicFW3vlsC0iiiONy/smIQ3f6bn/hKMXtPWIHtsKrIOFxg/Cd66A3oNEdcRVwbPhtkuXW2sc1eWmEx84RBOz8nDyQ9l1PNaEDr0GoAB3TogyJl0xcd5z7KbN3KbtWw7ckbNdZw8eUc8lmYeQ8zG1diwRT7MYup09ZKw038xA5MG6qwrKh/L2WZef9ym5g4HE2cM0H0Toq597RDa2QknS6hK8KCeCeJqtdK1q5V1snfEYM5fsjHpVydFNsUif3H5+IGs1NLJqfBtvoBqnZSz/eD+c7AmaxKezj2JvCJZeelO+cJt3xiEOxspl4TKjm72vA66GQcj/jdf4kvFLch+CwiCnoFsH0wx7HP+PFvnI1xZSN+Rg8RnHJerDB68FIf+LwYb1m7AG+av/vbCiLTpeHraJMToqc9725ysH65MrJ2BGN2v4VqVVjqGbznRv8bSc0vpGrntaQD9ttS14fYaX671rWsBSqUpcHzGyADLU4dwbGAW8s4r63TJdLGIcFTuGoPZvl4Sub5VYHwSIIF6EXBm/tUr0aYWWXdJTLtC1mcJzKynF2PboE3SgdAZ9pN8gjqIAZKkM7puVwblsPKwfHV0jc4FN6eCO8lXbeXP/SYjwzvSsdiTtxnuE9MPIR9omv0//XFosc7odHCkOqqrjOy632qQ96aM7LoPKCGSMUlnHoVMTcbJI975amf97SSKZQlVh+6gjHwliEG7cpkHBbohYdS7Szpb3WIwQv7cbzKS/eqvPfPrN6cvqQZ1kBWgRsif+xxg5wbjQQz9IGLBe2bE60SvKcPBlT/F5Bd1XGMkePGy2UgfeAhLdd48BD+QiLnibjT3JZ107U9JJ3bz0861Z/OOk1j48AjbpXLt0lA+1rTS7pz5sFH03Jy7utNobY9Z/26SfttWs2GPmoBc61dhefv1qSwkMVDneRQQjMjB1u560ubsqV9ujE0CJND0CPi/W47CXHdJTGth1HcJTPlSbPJT8obAOBpinbI3+2VH0zHhx86NEfu0ij8pUNdJtz/v6rjmk21Y/MuDroL45Frxnx+R0SBZTajOqdXIaj7pSHnO0SFCN8nJieitM3KLqpM46okxbp3o4Q04ec76hLYvI1+jlmoHLn5lVPo971ejKZOOXdqfPayvjChnFboogt6lG2WObjB64W7iuZrCPViQ2MOpYW/MuhirJ8zG+lN11x4oHYhlKa47sVuduACZ61+M9+0n0pqvmUra0Hpulz/QGG1PA+i3Qz0b9kSDt18+rt7KP2XquJL5OBMmRwIk0GQJtAzjXsZ+TxS6MLwLc/BSfUeyz2zH7IdGI/2dYq8NbtyQrzFunI3RE1Z69VXGa7mTkX7UcwOo7PhqpDyUJuZAw2wHnx2O4fO3o8DzIpoKpvB4CqOn6vk665d9TlKM7gisdy45WtpG1xztyOa3e7yuD7dNGDm4dmCxF8ZpDYr/uQCjpWPnoWmv5ICDS9cjz1O2NcXYs3C0jhuMfclvznFlYRY2iz7cEzsN63M9yeMgFgwbjgVbxZ1NGSX2ZquUD2L9cjQmu+0oiQvQO/pvD9TszshcjcPuM25IPdctTWO0PTddv3Vr2qAnG12u9antgWn4db0GV+qTOeOSAAk0NoEWYtzLooRHTjo1uos/8dXk0jys/OmDuEd8NzYfFaPERX9CFbysZZ+3dyVmx3ZVjWDPDTtNbZQRzuGYLet2F1dp5xx/ay4XYLsYVj0SFzeYYa+Volg6LXFdxUgTH+mCy26ASCenLHc7FkudlE6B5zzmIrGvnh+79y45WrlVVy7twPpXVlQZMMvBYcc6hGlfMU4nuDVOK8/J5Omfx+LB6eu9qK8piwMLMHzSAnlj5MLCF6bFMkF3dvyDmLbRc6I6FfL8VE2N+p2Ggtws7FmXjskJBnSNfQRpYmx4txVjfWocuo724n7auhiPJIi+7fCsrsXPHnQ6IT7vHVky08MCN4yeuypMQ7c9DaDfrqrbQNcaX651r6jWOdH8652m5G3n2WlCvEACJNBUCNzSvn3775pKYfyxHL1GTcSA/vGI6Wj5YFFFYSaOnsjBHt1VZepOQclrxNAE3P99YxpKPgcPb8dBj0ZK656vVzGVlVRi+mPwkPsty7J9/Rky/3UCOf+UTopXiTV24DnYcVqWeXToV4gf63NdreZOhCP+RwmIHyoTXVU32Gso/vAgst7ZY55U7LQms3fg9O915i7IROPFXR+xzEdQuD4cjxGyFKiqaTJSn3M4C5nNjqlTEuqFcPEXjuk/GAndLIv63az7yXVJ3FxtAnpe/7anAfTbDcYmd7kJyLVOTKJHYOLQETb3zbXzOTh4JNPnz6E6lY+RSIAEfEqAxr1PcTKxlkXAU+OnHlQ8Ne7rkQWjkoA+gQbQb/2MeZYESIAESKAeBP6rHnEZlQRIgARIgARIgARIgARIoAkRoHHfhITBopAACZAACZAACZAACZBAfQjQuK8PPcYlARIgARIgARIgARIggSZEgMZ9ExIGi0ICJEACJEACJEACJEAC9SFA474+9BiXBEiABEiABEiABEiABJoQARr3TUgYLAoJkAAJkAAJkAAJkAAJ1IdAQH0iMy4JtGwCe7Dy6VJstnzCwISjBmU5PiJzYCXSLm+Gujy+dZLXyuCrLKyT5T4JWAg0gH5bMuMeCZAACZCAjwhwnXsfgWQyJEACJEACJEACJEACJNDYBOiW09gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE6Bx39gSYP4kQAIkQAIkQAIkQAIk4CMCNO59BJLJkAAJkAAJkAAJkAAJkEBjE2iexv20dGzcsBFrl06BwQnBqCeWq2E2/j7FSQi90wmY9/JGpE/Tu2Z1Ts0/HSmmUwnPZMC7fKzSanK7HjLwcbn9i2Fd4ERjyqIMrH19MzavWYSEuiTBODeBgAEJ0pas3Shy2bwcM1zmkIJ0aZfcth8u02ioi97Uq6HK1ED52LXfUI5fnteo95zb9q/fFCx6ea3o4Gasfbb5tA5u66WI3E4eHsXxWlWUezMD80Z5HdFpBLWcjaw3TgvncMFXbZOv0nEoIE/4mEDzNO5bBSAwKBBtukZjXKgekaEY2zNMDRPYOkAvgJNzgQhsE4iAVk4ua6crylBeVoYrpuPA1m3hXT5aQk3x10MGPi66fzG0hTM2dTmWP+PmgTxhPBKigI/XL0Ty7OeRaZsEjxqLQM8kjB1sQPk7zyMteT7WaeUYnYrlK+wNwisoKytHWYUWqAn/OqtXzylY8qcl5oGLJlwDKVoUpvx2FZa4G4yxr4Rd+w3leSLtfqB9uAY8dtf+jUtMkNp+jLW/ScbMF5pP6+CuXipiO3l4FMdr2QQgIEie0z60eKoqK1B+6QqqvC5LY0TwVdvkq3Qag0HLytMby7dpkakuQQnC0HOSWESr8m3LNiQGnW8vQlFpBCJsr/jmaGcG5u/0TVJMxf8J3N05DO0q3JgOhjYIrC5H4ZEi/wfSnGrYKQRtUY5Tb+TL/1ZbpwiEhVTaGYS7kbFgt1WgJrzrtF5dEHZHG3zZhItuKVoXdJF6tLloOePRXjNsvw23B6K6rBCHz3hUw+YVqBnKQwGcvW4JspsNaV+1Tb5Kp9mAa7YFbb7GPSqRX9hWRjvHIhb5NjfZuCFRCPkyEx+2sjfuDYidmoLxAyNhaBuAG1eLkLtvI1YdsDeoIuRV/M8xvt/daHPrDZR/+i52/XULsktNcp6QhuW9/oNdv1tnk6+1FkSMmoGpw/qic4c2CKgtx+njmXhtY6atgWCOIPnNmIqE/l1hEBtQLddbq7DqoMmcMOW3L/sG4kbFoeudUvaqC8jd8xerssdixm/H43t5W3AmIgkjezgpuzlP447hB1OQMi4OkVJOqDw+tAuhHJrK16ezkdul0zh24DVsUsoXk4JFEzujdP8SrDtiFVVGNtPjW+H4wgwo5o7hB0lITohFj87BCPi2Ghc+fhtbM3Yj1yqK7a47WXlYX01We6oRl2Sq56V8vLtjE7ZcjEbq4+MRHSZ1V3juXmlh7kGZY2cswfjvfYgVp9phliYXhaEmOyXvgR3R9k6gze0JWL5sCFBdYKc345C2LA4d24qDWVA7JCxbjiEXj2G+sBFqHuiruFdMm4WEgYru3EB1SS52bViFTNUI0BjNR4ZVZ1QrtzEPySY0FlMeG49h3Q2qbMoLj9nqu1xPmjwSsd0jEKzm8THelgfy7g8krrrZ3i+VZ3Ox929aGbQwll9rnQuorUTRR3ux8dVMaHehVj6nXC1JWe3JW7w053qvpbmlNBJTpH0wlB/BtOc2GfVyzBD0EB1Q9FKp+5blW0QvjewiQ9pBrqCvyGW5KrtyDLCXF6pRsEf0/6giy774j7ovRTPrnsSZMFLNA1XlKMjeghVvWmm+iX9cN4PkJffGB7vwl4s9kBpxxqQHVtVUd93xdqU3zuqVjyhpP2zqK3mdPz4fZzqlo++1t7HktcOmgpjqaX3PK3WNqsA/nt+EHEVvJyUjcUgP3K20sw511uIfQ9AI5f67joK/p2HFAWlpPGw3VXl2DUG7ICCgl8hmmRTNfN941p66ar/d6agm233ZQRg5Lhp3/38F2PLUCnnj5qKtNNHT7jdV3t8a9V+v1VWD67QhikyM97OiB9Mwto/pviwrwLHd0q79S+uGOuesFQUmPf9e3gp8fFeqMa1bTTr4ai7ClOflYLlf5L5XnoPGe0OL7UrPtDDG34hRqfh5onBS9EFrf7VyaveJz56nih6lYtqYaETcLk2uyqXatkDKkat27UdpSI9thdyVK7BVe+5LlKipi5ASUaLqeasZxvbf3I6K3jtvi5UM3eu3qnePDEOU+oyXtuL4Lmx6I9uJ3WBM0/i/h/ec1jZBa6t2oTp2Coy6WI78o0p+JYjW7B9Te7RS2mejVmnxlPZOyVk73oXy/qb2V+JY2lGtjLa6qtpUx9tgpDwS33Yhdy02f70n4MOXVN5nXt8Y5dlnURHSGXGiIJZtHPp2BgpztlhOqXsGjF2UjtSHO6P6oz1Yu2EXjl0MQf/kJVg+Q0b/rbZ2/eYjKeIKct5ai12HC4BuYzHzVzMQrYUxdERYp1C0047tfg2Ji/CbR8Vgq/4QezZIGieq0fEh8VV7dqxdSOPh0GfmIyWuI6pP7FLLdfzrMMQmz8UUzeVIya9zHB5LjkGrLzKx5e/7kVsejP6P/gaLErVZB+0Q2ikMfX6YisS7XJTdugT9ZmDerLGIxFkc27UWe/Kkqj8Zj67ywLRsCrffGMtn4nb8akcMET/JRaMlVM5Z1N7eTWQwzhJFGrmU+Fh5zFUYOz9qPuPQo81ZZP59LbYcLERAjyQ8tWyGvGrW2zyRlYf1VdkNxLQn4tC26Ai2CruCW6Mw9vElyHguCRFXc0RGu3C8QhpHa+YelLldaBjCeiRiyZRotPpMdErS/rg2wpLO5fMoKipC+TdA7dUSdb/o3AWhYr1V4ryEKbosD58bV1Ci7F+olACeMDCGSXnIpDt/z0Rhq2ik/HoRxqq6Y2TUUVMRU7ZqucMsJ8f9fCbGRlTimMhm7Vsf4sa9ou9PafNZojHjVzMxrkcbnH13i9RRyaMHkn4h/uc9jQlGpc5FSkwA8uV+Ua6XhPRHyq/mYagpP+sf5d5IfzIBnbV7I7scIQNSsMRKF9xytU5Q3ZcyrngKST0CUHhQyrjrOKo7Jdjcs1qaqcPDUJl/AidOnZWH+xTMnSV62arQpJdnEfiA1P2ZoZJqBS6cE1lcvIJa5WGlyEWVnY68is7igipUAzrKPRgqBoW6abr3ZCI6XhLdU/TscltEJ87EPHObNRRpvxGjqhtwNkvu/7dycEU65/NHdEOYlYxMKao/rnm70xtn9dI5L3U+f1naUulydOsTI2agaZvUF306dUPfgUO1M0iK7iMGYLUY9qK5U+di5oQeCPhc2qoNW5B5LhBRNnVWOEVg4NQkuf/PIjcnF/klEs+LdrPi4lm5n0pw5YYYb5dFNub7BvCoPXXTfrvTUZhkm/wTacHO5eJEbr68SVbYu2grVVrG+8ks732ngO5TML6rDDDobTptiCITyNNoxgpxn+pnuS/zr3fG2CeWYJ7SLqubPmftqvHX2Eb0GLVEnnlVMtglz6vjlTAMTsH8l5dg5sC2KJL7fsuBAqt7Q4npTs+scgkZiPmTInAlR9rIXUdQ8G0kxs6ahxn9TGEUlm7k4c3z1KhH/WG4lIv9f9+KIxcNGDZTjq2KpPJz1a4dlxu6Y7R0Uq2fUOLu+4MotL1+VtVz23bUXVvsiX6PQ+rMsehcIQMMYjfs+egGIkfPxNyptiW3qYaG0KN7zqptEhrGezAVca2LcGTbFuz/Qu7T0dOwRORutn9UXZB20lwGuzbOnM5TYneUSTqK/pSjbU+tHVUKaMCU34uuDjCg4qP9Yr/IQE7rOExL6utS7nr15DnPCTTjkXup5NG9yH9kEaIHi9F8ZK+x1lMHopuMAW7dKSplfhrJJWmsxkTJw3/nQizZZuyDZh/djbPzV2FmbBLGySu23SZubWoKsWJBhozeKVs2dhfNw6pZcRg/YR1yJV3X21CkjI5CwOndWPi7rcbe7tFsZNemI2NEHFJC92KT1UiAklbwt1XIf2cTnpdX/8qWfdSAyM0D0UVp/Parp2RUFyjaucRc9swD7yIlPQMJw+UBuWeVvLswboFXP8bLHpZ9yqRhCPs6x7auhUpdo02pyc8QPW7ZuKHkHZ8Cw/5N2Jsvo28P9pU+/G4jw1DpMNxTK6w3Sf3F0NfJJ/Oikk9fjBUjJ996xF/J2QtZeVTfoACUWMk9s1U3rJ0sjfbxFZj/ilHKKLwHPV+KNjH3osxtqlD4YhoyTKPY2bkGZJjT2YpVUrcZK2IRVpGPVa+adNRCV/YOY+urh4FZyxHbUd5GvboKaqjB89zrqx6nA2VIe/kxxI0xYO9Gm4ycHiiv/CuKjmHTgWwJI7pa+TVS760Sycn2aBKGSblyXpTRQq2Okse8VTPRd8xQ4NRhdAlpK6Omudj6T+MIU3ZJlXTu5JzDFqt7b2j3V5LcX0u0+8slV7uExUh0KOPxaiz5wwAkjAJyZURY3STNj61khcEzUPtlNnY9Z2IudQ/suhZT7uoqwQ8LP7mrRi/C2j7AlyKXdaZk8vXkZbrm8KPq3nzzfYujNxC6VjpO90tIRe+njkTMHeW2fP+ZKzKchxiHxIwnXPLW0wn7ds5ZvZycx7clqBgYhgHSmcsWWzSpVwSqv5JOWUSMdOAOy7+x6NYxEBeObFUL2K11LS5k78LCVSZ9PxqIbtZ1VkPJ3Kbz+7FwsamNlJTmPeF5u5m/Z5O0eWOxqJ+0VSXylvM1CyyP2lNLcLs9L3TUrl3BkHlIdXjG2LaV5Xq6+s/T6v1k1epayiRMddsQvXTkmVCltMsJqYjarz0T7Dlbkrbes33mFeKeqAzEhpRj97NLTCPXmTb3hjdtNNR72ar9+OdZtb5xieOw7gPtqWtdGut9b5+nOvI7kIl3H5Xn7yi1RVMTN7hr15ZvwvHTQ5B0n4yii6apz1fF3VeYqPe/dRGVfb37sgPqggAAQABJREFUzqYt7qHb9tnaBfLmLqgCZ49uQqYyKi52Q+XVVHSuUspttFmUrPQ2z+45+5iiG6VyD2p2ygHjfRolXReL/WPUheiIARLZdD/bJwMlnd2Yb76XRedDLe2owibuXhkksLNfkpYux7iODonxhI8ING/jXm65rZ+WIHZQjBiWe8WwFKMsSsaLP12rGpkzrCFFGRBSfRr7TIa9dulw9ln8uE8keooRsNtkBJR//rbJsDeFOpKP81Oj0fFepbegGECuNnGPCKlF5ZcGJD2RahWwFhW3ykivtcFuuro7Yz52d4lGwk9mIDLiHkQYDKphVWkVGzVFyLcpezk2nS1BwuAw9Y2CZtx7Xvax6CJtRnmefl2DtbzvF27iOnHekITUJ7ST8nu9QkY25IEvu3u35aJoYAIGPmrA7tfLETVJXodezcda1VAbAGUAsvridcQJjzirJKpqQixGjtV5+FpW315AgTW7b5XMynH2kMmwVw5La2SEVtu8KHNFCd43Gb1qbJt0tPTq8OsJgwg9nT6MjKcOe5XhicISefMyE2tfHoqCf3+IzCyjQaEkMraTCO9qOa4PTEXqQKtkq2sRYjAawe9/dBbjJ4vb0Z+icFpGxY8deRebXtV7GMnr/ZBqnN6vGXSm9I4cw9mkaER2VyYdmyYLesF1rHBAaS4228hhC5bM3GJVYNm1T/OodCakIx01cJyMgIqveceOMNzVRhm0991mr3t2Katl/0rcnKzLLq1PYVk1YkLsApsOXfL2RG+0zo5+8o5nj4p8JqeiY6xwPiXGTqdqnN2QjbaPD0HMEODwt1HoGFSEY28Yo6q+yKFRiPlRCgbIfJMweXUkU0rMCxBoGVwotNYD79tNLR37X4/aU/tI5mMvdNReth60ldK4Aw7yPoz888mIdiJvc9GsdnR1Xtq0TflFSBgtbw8lrPZMsOVslYjVbkXx+1bPvHLUSBtZe06er3YDUeYo3ujZV2ft9NtU346RajldP1G91QtFfrXytsFat6S1f/0LlFgZ9wM8aNd2y3N/5Cx5yys6rgxAqe6+yttf6eA6bLo8rNtiT+pxAgXn4zBs+lpkDClAbq50Sv6+SjrP7jdP7zn7lPR0w9aGMOqCfTz7Y710zGEUNmK/HLF+Bouubi0pp3FvhuT7nWZu3MtNuzsfRYOHoO8kMc6zxiEqQnq+Bw57TqriOq4rof/LEqX2mtYsWs4pe4GBbW1POD0KRFuD+PubLWRjwKpzJSi96hgpWkZtnxIj/cYVmSRcIq+Y864jsGNn24DfXkeV7Rnj0a0B8tLcsnlbdmfhLSnK3q1tYYgQv06bk1UoOVdqfGCXmkY5eo2TTomMp8nNXJ7/mk2jFBAiPFrZJACUleC8ng1oF8x8WFdZ1VTJDA37rRb/0WukrYJ5VObqK267e1ZJ1n9Xh0F9E819TUaWi1KQNFAM7GFJiB41HiVHXsb810ydn8BgRETYNRXflqPkolF45Xuex8JLSUga3h9R/UZj5uBx+PEpMa5f2Ks/3qR2rqxLXYHr4l6B/wq0nPSW67c1+nlZUpQepp2s5A3Tot9OQdRtFXLfncf58wVi17eDobV1pHru6+qeXZpyb3tzG3jNW8muXnqTjZwiWaWls3S+JkUi4puzWHt0K+5JGI0hA4ci6loYQkpPad0y1b1mSVIU2lSW4MLF8yg5XQHcKfM5bKpdjapLNifkwLt20z62duxRe6oFdvbriY7qydZNW9lOya/2P2bD21n2Hp3X0/lrtTJIYU1aj7Nj6lVXHU3sG7W6TxzHyNZn9PTMWX1vFXlbx3W6761e3MB1T4rupl1TvAHyx2meAcGQaU2mt9FOC+rmgrt65GLdvCUokrcKcQ9GYogMkiVMKMG7f5JVumw6/47ZKK5I7u85+3j6uuGRTWCTlH46NkGc2S82gXjgSwLWrYAv0224tMSwPPVlAsb2S0F0aE+EfVWITcrrbvutvBq1bTqimzJybnWjGPp1gEEMlfc19xe5bAhLkv+Nr5jVZEINaCtuMeXnTKOK6kln/5WjukYeU2c3icuHVSdBGcnqFoiyo/bxpiBJDPsLB9OwUEa9jdsMLB/V2TZgGwO6KT7OVgbpUMUdouKszYPC87KfQVU10NVJXc2ZK9ykET77hrxWtcrbEBWDbq3LzIatcZSjJ5IS26krFeVs0+p+BhVKh+bqCfW1nTld8ciPHtwBtYWWM+a9BpOVOUe7nTqU2S6Feh96wmCCotP2eiFvjJ6Zh4jza2XSpl4potBNmTytvaboOhYpCcEo2bFJndCoxIh+QtaDHpyEKWLc51YoT8kKnFggr+etkovoF4sO1xThyWRbGd2qObEOq543hlD96iePQcrgvVhho+/KvdEGHe+PFnczU8dBSTN0ADqI1VOes9cqB893zyhlvO8e2N61QzFj6UgEZS+USef6acVOHSOv3HOx9vEV5o7o2EUDEetL414/a/NZtez3h6lzJCzuelHofKfIyMHAVKK54e2J3phz93zncN55JP84EvMUl5wv1hrv+7wijB4Wh7HVBpQU7jZ1UIxuETi1FtOWHzZlIJ2ogbF2gwP2eXvbbtrH1449bE+14A6/9dBRD9rKqKt6uipvNtqKvL3YjDp/rzova4vV6PrQew0ItHsmeJGs50G90bM77e9NU30vnzF3CJ1n7K1efK22MYZuUdLGaM8gSX1IO7UjUWnKSOXnsl1TAsqbi9wixA6NQdKjgVZvo02JWP+oPFy1xe7r0W10CkaGlGDr6zIx+3UlcVnw4aV5GDZpihj3W6xzs9uv6z1nl8zNOjTpSpS8AdlrZZuNu8sgOWoSuVmZt9x0rcarmy+ELTmFqI2QiYSy2kd5wds2xq65Vjt34aOvQtBnahoSuhjPGn6QinnD5GH1iUxgMQcUw7zLECyZGmv0OZYZ9SlPDUHEjULIWzIPtt3YlSue5n1nIW1UhDG8msY8zEns73Skok3bMFPaMqs8racxb5vcDOjzuKXsERMW4cc9Q1D+WabZwFaCe172fLydVyLWfQIWyaQh5TZTV3GYE4O7lX1tU7nZ5m34QQrm/mqOrCZkNe6ijHKUGtB/oozYnT5uNa9AGshsMQIlHzNTMezHPTsfT4m/cRerB5OWJRpMVuYc7XbqUGa7FKwPq6/Lajl3dlbdp6zPu9z3hMFOeb1dIbJ5LBWxocbUIibIyjl9RC7nhbm8V6kVI97QTZsMrujWLPRpb5Xz6QB0jhmLpBnjRCrG7YqM/mlb/rZsmVDZDQnywThLHosw/xfTMDKiXIJVwNB9mLjlWMqAa5a+g5aO8dd4b4T0SbG5N1J/JfdXdb7ZrcM2jvuj/G3vo+gWKeMirQ4yOfqJMYgLFwJWfQjdlAJlNM3ETlmpIqaTh0ZWtbxqCDKgszJYUI9NLfu3ERjy6zT1jRdkEGCsyCjaWkY26bvh7Yne2KRnd3BVGfmVSZbmifqm6/tPyYTRbojuWolCdW6GnJcOfNFtUTKoUo7zMjHaegtsJW/71BMii6niq+wWa13aTaN+tzOMdWgv3ben1qW13q+HjnrQVuYfEo6qrspcKVXvFD6piLFpdK3Lo79vvC8jMGyO7X2Z3KcNSj7ca/NM0E+hnme90bOgbhhibj+kvtPmYkiEzMn6INODQnirF1uRU1gtz98UpA4xtWhdEpA2LhIhVp1l9+2asWjlrx9X27/RYieU5+81DwI4FNxtW+y+HoWtO6N/YhJmTTC3xKgyN8XKKleyKlTaOIestRPe33NazJv8q7IJQfRkmVSryiQCQx9dgpFdAm9yxi07+eY/cq/Ib2cOTo+R1+t3yCss84ixvWBzkZGxFfPSxiPlD5sxRW6awMBa9YZdJe4D1lvJBzkIHJKKDFnOUd1kTf3sLauc+x9aR5b93FdWYuv8uRifnI7NP1UzQu1XudiWvk6n47EFW49G4ymZjLV5gDFs9Re5uFAdjeAwq4TF+DlR0hlTpOwp6mlj2TdpE0JNQb0pe/66FdgWvAiTpKOQMcGYQMVne/FR6Vh0NKUntXHkdqvk/dE2PL/OamREG+UYFYzcI7vNsZWd8m2rsPb2uZg2UpiOnCnGg3wwproIma8972SKjk6eN0lWNgW1OvC+zFaR7XYzs/NlGc5YzHs9VlxD8rFFPlJlq3F2EdRDTxgcxor/CVZ1OvWlzZipqM+tFSjcL6P26ghJNjbtj5OlSodh3uZhaqrV57JxJF+WkA3R8tyNVTsiseiRJKS/Ph6134psZCm8ooOrjB3eUvG/X9sGcx8bK6NIsgKCmofx+vP7lTRkovAbmUiflYDUFf0xU2zeQOUt1wfbsMlm1N6Yn/69kY+9TnVBK6eL39ItWPlaIOY+bqqDol83SpCzeSWsRzXtU8h+Yx+GiVvOFGE3SamXjD3nnhYjVVbuEAcU16OKmceQL52B2Gc2I1aW0Mx/cyaMPOxzcXOslf2xIfKF4hhM+VbW5hG/3nc/kxFxs4ys03DH2xO9sU7Pbv+oLCGcGIVhkzOwWV6FlBxNFvcsJcxu5J8bj24h4j9tfoO3Vc6Ntjun6NwwcRGYgozXJ6n3utLDOl0KeRvhmqq+bjhrN5UyZSPzo/GIGqLkNUXmXbyL5HnrPGtPlehONv1yeKKjOuzt28pT67Biezu5J8dh0UsmQ62iEHs/KsFY6/beSdnMp53clyVHZZlVm3bZHMPHOzp1ddJG43wOcv5rmNp+qE9UuV+Ucq6y8cF2Xjx9eTjXi70vrILh96lImJWO2FmSrtxTJSeOIP/2OEsmTvgp7Z7tfbwbhz8diZk9K5Hr1LZQknXXFntgF+xchW33Ks9jsRt+JJ1seWMeKL7qma9ukfTHqqvhhclgjuNW93vOMa2bcUZjk6jKJEFkUi320J73S5BUz8GRm1Faf0nzlvbt23/nL5XxuB4yeTU2rBUqCnNktNl5LM31ICffdlTKeQz7K4rribTYJdnIPWN/ze5YddsJwXW9sOKTvzmmEltmilFodu+RSaw2Scirb1mRIjjH+DD2quxqmm1R5YYHVG7KA98+b5uCuDhQJi92Q9urhfCYqVNZ1aO+LkroeKkOZXZMRM4Y0wks80AX7OM7ZWAJqLpJ3S4r9xy3+9iSGsQzPVR0JqyN8uDVl6/rPKSGiqvWHTKW706PrMrU6rIXumCprtM9tQ4yxpz9ge3d4TSCXFDjtJJOkS47VzFNdVbc07zIz3WKxqtJSzdiXNAxJC9Y5zS4W94e6I3TxJW4HWR0tQ5MjGkada5u8vVMXy1lV8IrLn5W7bmr9tQS0c1ePeqgsnfVVvqqXdHuu+tO71s3laz/ZU/1zEc65dHzVKmVWxkYq+6uXfMWkPv03Om38XobZVDRul3pKd+SmFKG+QsVY19vq4e+6iV3k89F/TIDi6JkEji/yH5TSLdM4/6moLyJiVob906zsTV2nQbzmwstrb5+IzhWxJqAvLFbNT0S53f+Ac/vNHZIFHfBRU/0R+3/yVKtDTIKa10g7pMACTQ9AlGYkT4L7bLkY2/qG9OmV0KnJZLviaQvS0DA+/JG+VXTB7m6jMOShUkI+2ILZtp5TjhNhxe8IuAfbjleVZmBSYAESKCJEDiyAmsj5ON62qt4eY+quTU1jHtFE+HAYpAACbggIN8ceDkN5S48DVxEbtxLiuvh9jBxRRO33AHilqu2cYEyMT8T9i7RjVtQ/8qdI/f+JU/WhgRIoFkSML2Kl4V5PXNrapaVZKFJgARaLAGjK1pIK/G513M/brFcbk7FadzfHK5MlQRIgARIgARIgARIgAQanIBfLIXZ4NSYIQmQAAmQAAmQAAmQAAk0QQI07pugUFgkEiABEiABEiABEiABEqgLARr3daHGOCRAAiRAAiRAAiRAAiTQBAnQuG+CQmGRSIAESIAESIAESIAESKAuBGjc14Ua45AACZAACZAACZAACZBAEyRA474JCoVFIgESIAESIAESIAESIIG6EKBxXxdqjEMCJEACJEACJEACJEACTZAAjfsmKBQWiQRIgARIgARIgARIgATqQoDGfV2oMQ4JkAAJkAAJkAAJkAAJNEECNO6boFBYJBIgARIgARIgARIgARKoCwEa93WhxjgkQAIkQAIkQAIkQAIk0AQJ0LhvgkJhkUiABEiABEiABEiABEigLgRo3NeFGuOQAAmQAAmQAAmQAAmQQBMkQOO+CQqFRSIBEiABEiABEiABEiCBuhCgcV8XaoxDAiRAAiRAAiRAAiRAAk2QAI17Hwgl4ZkMbPx9ig9SYhJNm0AK0jdsRPq0pl1Klo4ESIAESIAESKDlEmimxn0Upvx2FZY0ESMrsHVbBLYOaLla1GJqfgVlZeUoq2gxFWZFSYAESIAESIAEmhmBZmqRdkGXTiFoc7GZ0WZxmzmB3chYsLuZ14HFJwESIAESIAES8GcCzc64j52xBOO7hqBdEBDQazmWLxPxXDyG+RmK0WVA7NQUjB8YCUPbANy4WoTcfRux6kCRUxlGjJqBqcP6onOHNgioLcfp45l4bWMmytUYsZjx2/H4Xt4KfBwyCwkDu8IQeAOVZ3Ox9y+rkFlqm6xhRApmjYpD1ztNeb+1CqsOGlNSyzYpGYlDeuBupWxV5SjI3oIVb+aaEhmHtGV98Z89u1DePwkje9yNNqhGeeExbFm+BVooJZ2EaZayVJfkYtcGKcsZS1lc18kSTtlTeX7vQxM/07XBM7Ak8Xv4cEEGjKZsBBKe+DnG95My3Wqq/9+s85TrM6YioU9nI/dLp3HswGvYZK67qW77jyFoxHhEh11Hwd/TsOKAbVkAV+l0w7i0aYhrW4Atz28y8xibmo4hHb7AvsXrcBiWfG4MTkDcfQYEfFuNCx/swl9ezYS1FrhmpMl9C8q6TcGw7gaUZ03Dwo2ajJZg3VFj2Q0/SEJyQix6dA425vXx29gquqjJS+O74lQ7F7ohafWTtCeMRI8wox7mH92FTW9km/RQrofGImnySMR2j0Cw6GB1ycd4e6fI5wNjOVR2LmWkheMvCZAACZAACZCAPxO4tU2bNkuaUwVv79gZ7b77FkF334VbSk/hdEklKsvPIefjKoxdlI7p/W9Hac5+/CPzU1Tf+QBih/834u4sROYHmpFtqa0hcRGWTo2WNwDvY/+OA/i0NhzR8Q9jZFQN3jpaKAF7Y/TUOETeOwh9DNeQ+/Y/cLQoEJ37D8Kgnq2R/U6emN9A5EM/Qq+77sGgPnfiWu7b+Ef2GQRG9MegQT3R+r13kFclJvnU32DBDzvj2qlM7N6bg/PBUraHYhB5aR+yVaszHo9M64Wu3QchMuALHNr3Fj6+ejceiBmEB++9jH3/Ois5GdQ6/qxvG5Qe3yv5FOG2++IwdkRv1ORkoVDJx22dJBmrrffoZMR1uIIdmWYrEegxGsnxBlzZkQnlbFTqUvyy/3f44J9bsPejrxDScwj++6FIXN6XjbNqmZbiZ9FSJhP32rBoxI8YiZ7fvIWs00pmpro98ADu+M/nyPvsCxSeykVhmVVB3KZzGZ/VdkHC6IfxYMcv8P9OXFTrmjoqDKWZq/G3AkUSxny69+yFDl9/gkMHDuP0tTtx/4CHMaxnDd7LKlTl5Z6RSe7d+qJLYCk+zpPyFuTg4yIl/QcQ8JmpXv2kEzTnvxFem4/MPW8h5/xt6DZoJIbH3YHCgx+ohrnKNzLSpW5A0ln+i0SEf5OnpvNxVTgeHDIcMaFFyPy38noqGjOWzMF/h19H/qHdeOvf50XugzByeDzu+FxkJBxdy8iaM/dJgARIgARIgAT8mUCzG7nP37MJ+RiLRf2igRIZGX/NJJ7B8zAmKgCFOxdiyTajIZ99dDfOzl+FmbFJGLduiWkUWhPnUKSMjkLA6d1Y+LutxhHSo9nIrk1Hxog4pITuxSbTyHybmkKseCrDNBqbjdw7MpDRrwsGSFJ7teTaVKHwxTRkmGzk7FwDMl6KRpd+EmA/0K11LS5k78LCVaYYRwPRbe0UGO6X60e0RAIRULob8xebyoNs3Ahdiyl3dZUAh4HBKY51PFCGtJcfQ9wYA/Zu7OFxnbQcPfntEtJW3o7kYus/jSPJ2SVVSImXc8o2RKdMwvFGegYS4lNg2L/JNPosdTu/HwvNdTNGN//vSTofrMOKvfdg+YSZmFe4D4HjolD1rxV4fo91xy0QOLcbSzSZIhPvVolMRyUgqederDrlhdyrP8aKpzW5m0tq2jEgZdIwhH2dgxXyhsM4Up+NzIvzsGpWX4wdAuRrcnWjG1N00sm+tgTpMQlIkJRzH03CsI6VyHlxvkW/RO7zVs1E3zFDgVOH4VJG9kXnMQmQAAmQAAmQgN8SaHbGvVNJRBkQUn0a+0yGvRbucPZZ/LhPJHqOAnbbuIGIi01ILSq/NCDpiVQtuPzWouLWMISZjHLlQkXx+2Y3C+W4/Nta5cd2qyjB+1aD3yitkZQsW7Z0LrJDoxDzoxQM6CzpdzTA0Aa4Ygmi7l0o1Ax7uwvKoW4dDyPjqcOmwJ7XyRTBo5/3PzqL8ZMTsPxPUTidfwLHjryLTa+aDOr7hXttJc4bkpD6hFVy1yuAjmE2HSCXdfMwnfJtq7Dt/nRMmTYFteffxcuvGs1qS861KMqzZVj++hcoGSWGuPQHccpzRvZyt+Sh7A1AmAGovngdcaI/cVYXq2pCbDttLnVjLLpIOuUfbLbVsTeWYOYbxkTHdpIAV8txfWAqUgdaZVRdixCDsePnUkZWUbhLAiRAAiRAAiTg3wT8x7h3JqeK67iuXNNdFygQbQ0RiAi2jVx1rgSlVy3nqq5mWw6c7VVfkXF255viCrIkKQptKktw4eJ5lJwW4/dO8Qm3iVKNqks2J+pw4FmdXCZ8q+3V8j3PY+GlJCQN74+ofqMxc/A4/PjUFix5Ya9xVP7WtjBEiC+4TbQqlJwrteq8eFA3j9KxZHKj4gJKLIemvRu4XuVwUj0R0Fo77xkjT+QeECL600pL1/RbVoLz1i8T3OiGEqv2W+sIdukph4HBiIiw1RZInJKLxnhuZaSTJE+RAAmQAAmQAAn4HwE7a6EZV7C8GrVtOqKbMuJuNYJu6NcBBjGC3hfXGNutHNU1YjOd3YT5r+RbLimj690CUXbUcqr+e7GquwxOrcW05YdNyYlr0cBYO4PYTU5qHQ3o1lPCndLCypuHZ+Yh4vxamZzrmzpF3WuQybzaeweZyDkrCjUn1mHV81vVTJWOSvrkMUgZvBcrlDLdGoizb4jLiLlM4vsfFSOuSGUuOzxaDdRfD9MxJM6SCdVX8O7rueiZPAlzp76PhW9YG8ZtYOgWJa5QVjId0g5tUYGznyo5+YYRcAYVSgfw6gnVjUqtg/pfBKIHd0CtMmXDo82YTtewJAlt5KtGGyL+/COCcOy5VThTofRWKnBiwRLrEIjoF4sO15SM3MjIp7qslo7/kQAJkAAJkAAJNFECuuPZTbSsVsW6glqxPdsZxso0TNO2cxc++ioEfaamIaGL8ZzhB6mYNywC1Z/IijNaOPPvbuzKLYeh7yykjYownpUVSVKemoc5if3FGPT9FthKRrjVZJVVfWLQWdxyvNp2HkZ+hQF9HktFbKgxZsQEWTmnj5T2vGLkeV+nK9cEZPtIzFA6RbJFjErDrL5mqnKmAobuw8Qtx5InrinOS6ZN5S5letyaewrm/mqOrK7jBUVP0pGJp/MmdsWVf23BugOrsOloOe5+eJ657FqRbGTaZRwWJUUj5CuZVK0aud4z0tK1/c3H1mxh3jUBS6bGmuQagXHPzsdTU0eii2m+hm0cvSNJ54MiNZ1FEyx6mJoYh4hbr6iuOvnbslGIbkhYOsVK7osw/xfTMDJC6di4kdGENFlVaglmDNbLn+dIgARIgARIgAT8iUAzHbmXiYsfjUfUkCnIeH0KUPoukuetQ0bGVsxLG4+UP2zGFLE+AwNrUZ4vkyjFfURvy31lJbbOn4vxyenY/FM1Amq/ysW29HUyadeXWzY27f//2XsfuKiuM///04pooX6FJBMS0A4mQtLRVDQqyWCCtBldxS3atXSLboIt2E1pV7Mp/BrJZmlaab6yScnuj1d+FV+RzVfpK9StkIh+DWnFjU7X4Jpxo7OJ2AhNBsVJItQwG0F3f8+5f2buDHfm3oEB/+S5r4S5f855znPe5znPee65517zaFmO0Hc1Bcb00ucFF05TAJh+s4MKajNZWDtq/mGqVMey53aiVKg8oQ+d+2jWXnl5M9o6OXfsRc6m1ch7fCfyhBY+D5z/6kbiQ+oiGzfqdrSher0DZTXzUXqZypwk1ojvouBaZHAN5z6BuB/fhc3boqFoICeFnnSsz0Py6UZs2iqvs3dtbcDhO8qR98hGuD21cEoBtQ/uNz1I/0tq04eFfnQj8qEbrf+svvRKGseo3cX6//opj2HdkjLULimV2jXeR1+42bo58KK1rELEv94dv0D9RJKzinT+umKHPR1ofL5RXvbU24S6+gQ89kg+yp7LV9rdh+7X67BZeiJl0EbrU5E2PRn9UyKqwReZABNgAkyACTCBG4DA52655Zb/uX7roS6B6IBbO1M6Iwv2tIno6ww5H7aiQk4afX2HvoRzJmyiGFyQy5n4cSc63GLGdeSbtOxlCn2h54hb+RpNqKzo6iSWeKTRCnanmEUOs0ll3kTzxOG4StwJ4yFX0Dflw4gLf3rEcuiTkjuz0b+jlIJeC2zZGYg/H6lNo2MUXmG5rMSLo21XY32M2t2wjcJXgq8wASbABJgAE2ACNwCB6zy4vwFagKsQQwLa4D6GYlkUE2ACTIAJMAEmwASuEwLX6Zr764Quq8kEmAATYAJMgAkwASbABMaRAM/cjyNsLooJMAEmwASYABNgAkyACYwlAZ65H0u6LJsJMAEmwASYABNgAkyACYwjAQ7uxxE2F8UEmAATYAJMgAkwASbABMaSAAf3Y0mXZTMBJsAEmAATYAJMgAkwgXEkwMH9OMLmopgAE2ACTIAJMAEmwASYwFgS4OB+LOmybCbABJgAE2ACTIAJMAEmMI4EOLgfR9hcFBNgAkyACTABJsAEmAATGEsCHNyPJV2WzQSYABNgAkyACTABJsAExpEAB/fjCJuLYgJMgAkwASbABJgAE2ACY0mAg/uxpMuymQATYAJMgAkwASbABJjAOBLg4H4cYXNRTIAJMAEmwASYABNgAkxgLAlwcD+WdFk2E2ACTIAJMAEmwASYABMYRwIc3I8jbC6KCTABJsAEmAATYAJMgAmMJQEO7seSLstmAkyACTABJsAEmAATYALjSICD+3GEzUUxASbABJgAE2ACTIAJMIGxJMDB/VjSZdlMgAkwASbABJgAE2ACTGAcCXBwP46wuSgmwASYABNgAkyACTABJjCWBDi4H0u6LJsJMAEmwASYABNgAkyACYwjAQ7uxxE2F8UEmAATYAJMgAkwASbABMaSAAf3Y0mXZTMBJsAEmAATYAJMgAkwgXEkwMH9OMLmopgAE2ACTIAJMAEmwASYwFgS4OB+LOmybCbABJgAE2ACTIAJMAEmMI4EOLgfR9hcFBNgAkyACTABJsAEmAATGEsCHNyPJV2WzQSYABNgAkyACTABJsAExpEAB/fjCJuLYgJMgAkwASbABJgAE2ACY0mAg/uxpMuymQATYAJMgAkwASbABJjAOBLg4H4cYXNRTIAJMAEmwASYABNgAkxgLAlwcD+WdFk2E2ACTIAJMAEmwASYABMYRwIc3I8jbC6KCTABJsAEmAATYAJMgAmMJQEO7seSLstmAkyACTABJsAEmAATYALjSICD+3GEzUUxASbABJgAE2ACTIAJMIGxJMDB/VjSZdlMgAkwASbABJgAE2ACTGAcCXBwP46wuSgmwASYABNgAkyACTABJjCWBDi4H0u6LJsJMAEmwASYABNgAkyACYwjAQ7uxxE2F8UEmAATYAJMgAkwASbABMaSAAf3Y0mXZTMBJsAEmAATYAJMgAkwgXEkwMH9OMI2W5R1nh32RVmwms3A6ZgAE2ACTIAJMAEmwASYABG4PoP7ddXY/nw5HNdMExaj+sValC+NjUKOb5eh7NGi6Os3rwiVz9dj586dqH/i2qETGyqxkBLbdhqpRo7Ha7H9p8WRs18zNm6GmQPlz29H7eOqzZnJE7n643Y1hLPUNmPuW0J5jVttAwWF1Dtw4TO6F0MeY2ND42MzpnzTeJiIaI8Xq1E8HmWNdxnXYt1M6nTN2Ae12bjqEkP/MF7mdn0G9xPjEJ8Qj/jRUFpWhi01sbpBiEPcpETEx4jm6aNOdPZFX7mCFQ7YcBL1T65B6c/bohcwLIcNRU/VoWrdsAvX6YnYttNIIcRPJluZHBc5eyxsPHIJJq+aYTaACx950dc/oMg0k8dk8WOdLITzQH8fvB9dgFqT0Rev14dCeY2+lKglhNQ76vw3WoYR8dBrWyD2NiRgj4/NmPJN49H2fefhPX8eF6IqS789ohIR68R6ccaI6hZrxULkDdNJn+VI7CO/bAu2+Cd+QsodxeFIdBlxcSPyDyMuLSYZDSKMmJRxbQqZbkVaUv/obhDGqGZ9gwlI+PgUnFHKt0yJh+98J9rPRJkxbPIZmDE9CQnnwibgC0yACDix7elorfXaBOfcVhV1v4tcE70+dOPwilz3G/2qXttSb4i5DQmOnzGb2V2Lit3R2o9+e0QrJabp9eKMEdUtploNFzZMp9ixvD09Dcl9o5qKHa4vnzEkcEME9/aSKqz84luoOZGM9UtzMPPmOFy+2A3Xq3Woe90bAqEAG5/JQWqiBZiUDMczW5ALH07tqcK2Q4Dl/iIUF+Qg89YExA32o/t4K7a/0IZujRTr0jKsW05r4qeAgulTONzi01yVdy33F2LN8lzMSiM5V3zwdh5G45ZGuO4qQvm6TFzYR+Ud1GSjO/zqBybiyKZadH/cgYb/tx1uuizp84082ESdBrw4daQZDTucCKrVqo3Ykp2KxJuBhCkObHkmFz1HKlBLzjGsHkrR4eRnlBDTmUlIngTE3UN33s9QhnOHUVHbouTU+xFs5+KTfYdxeZEDOXdapLqfPdaMXwYxtMJRshaO+TNhoT6v21bzSNaqJTK/QS/ch4LrLdXLYces9KlyGSdfQxPp5tKoZaad1OQFf1ONuZ++hqqt7coptS6adhKcbX349eYGdIhUMxwo+6t8ZCk6iDZu/udGOHsVESL9PZ9gr3MSlhRk4fb/PoXGDTXKRe0P8Xh0HfLnWDF1gmwrzRe11432FV33NMNnL0JOhgUJV1RmHmQ9+j2snHc7EsjORVv8gtoiYD+asuMvK/bcgMbfB1JIpU+wo6hiJfLu1mtTO0qeWokvvi3bnK62KXYUfnsJ7HdTHUU5npN4jQaUlmN6qS2wr16DFbmzcHuiYvfORtT8Sm1dtW0i2ZmqUyPOWAuxZBbVf8JleN85ENxGIcWrviRg5xY41q2HI1vYqtDbheYX69Dmv4EOb8uSLN0+5NXhRXVeW4yV2ZmwiDoL/7V3O+r2q54n0Mbe+Up9qD39fkWpR7j+HNKagVpr+hmEfwniHMl/LEBx5TeR7t2r6TNCbD7KfpqDiR2bUPuKkt+gn/qVCdNf2ujtI8lfzEmX2Xx0Gof3b0WD8O0LilH5F+nojeBPJY9l1Ff9Ssg7w+2Azi8qQdWKL+KtH9fCWxLePw7Pa9S2qq3W4GRSwNb6u1xo/SXZmuRP1DRKH5N0yaQ+Hbz5Tjejapu40Y7ATM1CfbLokZWKv5DHurfUa2F+jcbH4XUnQRpuoi3UNI29mSjKtcHiPYh1f9cQXKJiC81Pb5NuttU84cZ46bpuXxMlGrEI+JNJD61EVtoQTr28ETX7w/dtv7Ka/hMXNE4JmWHiDIs8Lqh1E7LMcg1Xf78+yk7U45mGN0rC27ZajuWhYuNYS8gMiUvgOwW13talJVibNxfpUqzlxekjbdi6XTs2GfleWZuIuqj12uPFQiWe0PNzhmO5WnHtrwmfom1XDJyFa88v8cGXyzCjW/TjDBpTS5HZF9mHaouMZj9GC0miKTL2aZNT0pA2awWqirIw8d09qH95H04OWmFf8xiKUkLL60dPdzcF0BSQX74Aj9jv7sJZWgZjWVGJ6h84kO57C3terEez04ukhcWoeqaElrvIm0jz5MPzYfnIhX0vN+HgOQvySulYW0xKER5bX4BZEzvR9nI9Gl/vQvyX81H6+GLgXRd88RnIWVqkyWNB8QN2ckF9kiNzHaTAXnLoBSgrzUd6H90YkD57jl9G5rJSPLY2qDTg4x6qQze8/wUMXvRI+z0fk0KR9JD0DS+/71wXyfHgwmW6gflYMKL/z/Zra6mzb0EqzVTkPFKEBRO6qe6N2HfMi6nE8MnKfH99Fz9egeKcVPiONqP+xWYc+VNacFvNK8GWHxb6+TUf9SH9a6UoX58ll0nXywXfhC6FbyfiZhViQ7TtpKlBJw2TGXMWwK6eWz0Xc6ZnYG72YvUMCrPmUIDnkwN7oeNTxcjy6+DGZSsFNk+VU3ijbJZUpKVnY823yHred+Goyw2Pes3/a0F+5ZMoXmhB3/F9aNx1ED035aGUjs1vMvfstWXImdyNg7uI+3vxsC1bh6rnq1BovYCOV8mej/TDsohs028/WSipqULxvAR0HWikftMG91A68h+tQvkybelxSF+xTpKt36bJSJmehtSwKlM5PypFwaxAOZ0TZ6Hwh1tQMltbjrxvWfsYSlfNQtwf2sjuG9H2PtVlBbV/rprWjJ3JOs358zKsuE2pf/spIIP64Y9KoFiSKtD/K/mSNLUiom1o3e+Diq0Sn86JWSj+fyqRr/iVSLYcvg+F8pLLKftaOnzHyX9Rnzh8Lgnz11RhS4nf80h9K3vtBqrPeWpj0Z5eJM5W/IpUg/D92V9B7c6EdKz8wQqkfnQQTaIffpyILC3niP6jA11Dici4bzEKNDItD+fAbgX6jtBJE/1Uk5UcsF5/UfqH8BcKmyMXU5FLa2ArhY12dGFwCvnT3CAtgvyp0MOwrwYpAgTbgXJxSgrSpqdKfix824bmNdO2sj3MWlqFoqyJOLWXxoz9JzGYTsH3BnWcCLGZvrPoksYuxTf7Ekm3ZAyd6yRlDZhJ1ZH7ZH4G0PUG+eG9J4C7i2hCJ/R2IQDGzPhoxE1IU8frsq+mod99FEdPdAUKUfeELUxPQbJyrOYJN8aHbw8zLFT/WUjjfBdcHS64yVFH6tuSWsKuwo5T4eMMyc41dTPN1XSMA0Q9nml4h2epNEZStrlYSycu6X7/LEU5cqz1JPmKVDXWojE+9UF6V+sJdfSU+00k3ytpY6SL4lPWRfJzI/APpnxK7kZUPZqPTLKpw80Uv3VcgHV1BZZkqGNlJ1wD8ci4f0lQnBrkQxXkI/m5IWbupYonDKDz2Y2oVWYCnS4Lap/Lwox5dHWfFk07ml5oB9ZvgT21H+4X6tAqXbaj/FEb4k63YNPTTfLM5iEnWrrLUbc+B4WrtqFqtx3Fy0LS7G/DgYerUbtUDQhIWEYCBj9wovnvVNlOxM+sR9FtM+kile/qhn3pQhTObkQd+VTMLkSWdRCduxo0M6pCKZqBndSHrkMNaKOnCiB9+i+WIX1AlKWZizvYhDp6ClBSY0danxt1L8g1wqLIekSS797TQE8O8lE5j8IgDz0B2Sr0MbPRVPz7LahSGYL4DAg+Dqpvq1TfqVcG4P5tAzbvEM8m6IHzIQsyd2b726podR7S/tSBGpohc8kp4Py0CtULHPSSsQdpOtfbzol2mot8CgDdB022kyRb/uM+5kFfdhoWUrDppDYpvMcK34d0c2ddgMXUZu3EIiM1HmeJtdj0dGxrH0B1DelYZkNrnVw3TIqDZ/cmVO0KtNcMuUj576JiLLfFoVOTpm3/ARRX18KhMSltFv39eMT17gvY7n5yGvVFNFhpOXZimq2WbG0hiSAbWVuIPOoDHc/SLILab6jsAVG2owy2fXXS0yMgRLZOm+rrJJ+1PKxXznmU15Vi7vLFwIn2oOwZkwdx1tmMTXWKHR+S62K5i5KRncubsZ2JdPEXT+J5jR2p/Xkl9WfXbkVUuB+dtnHuP4+Nzz+CnOUWtG6nG9cIttwYtg+pA5hSsF45h1rQVVGHUnshCmiZR4uUVLRDCyr+XvFPNBVwOSXgVyL15yB/odZXss2KgG0euowUshk/ZwM/1r7XjZVz5mPuKqBFYkkDMj2ZGTzdhIZemrDYMLwfB/dTVRHNb2h/yS1HWUj/cJIfvCxs9IFiWPY1oNVNs633zqWbjBaZUwoNqNPIn+6W/anpvqpRw2jXtH803bb01PVSJ2o2BHye66Za1M6bAaW3Bqt0ohUNYuwQ22wKMh9Pgs/diK00QwliFupTQpl59fr+K6elPql/46vjU4eNj7I6pv7SeH1SM16bzRNujA/b18ywkAqnvtVD/tPft4CCh0YzTtWEiTOoMLu2tlFwNR3j0BgY5Xim1cjQts3qES4uoRG1PDSOIltyDlKc8FAOilPItjOGj4uhvlfS2YwuBn5uJP7BTJ6ipQuQdEE7/lI8eYJi1McX+HG7d7nQne3AwtU2NEoxg40mEVUf6k82op0bJ7jv8+BNJUCRSPRewmBUSOjxYJIPp/epA6eS+eBhdBVmIfNu8SUQK6UZRPeB4DTel96DRxvcH6IbAQpYbdkFNCs6A2mpNNtzG82IiFtW2rwvHYb7AQq8lMDGlpsBCwXlzcOCjaM41ZODvO/Wozb3FFwuCpRfrqNA0+RmoAcQrXz50XBmyOSOugRI1or4vK3HhwZ6MWrQgNRSW4GWGVlwfKsEmdZpsFos0mxYvyQgHzMoqPUe26kE9rJU744qlO4Q+3TDQdd954aQ8yjNVMuXpb8Dl5KUwES0pYl20uTFIWpn+kpRqp2En6BlUNN96HrRicTv5GJBLt2SXbEhdVI3Dis66OmI3gac+MCB/OnCeyvB/ZWzOKUJ7LVFSvs2C5Iuidn2QPAvArGGLk+UwT1wtjOYu5Dv/cNrGo5eXLoS0CDfSnXtdWGntt+Ist3dcCyjJ1+UVK6FcZsGpA7fWzidyrnoxVA2fQUqW3PdN4gky0w60a45qaxZTrFhwdeLsZDWa6bRIwEL2dyFoFTmdAquPwk46EbP2iyk3iFq5wySOOxAtI3vNPYGtU07aje0+5NGtmV/ssg7uuUQFWcXvjknE7OXUp/ZL4vQa+OA8Cj7s5FtGvmPE01wddvhWEBBtgikpUmKPri3iluRfIgHIJH7aUBz/16oTndRG9DyyB5LIX1BzJ8KGCJnmko343SqVRkgsx+2oOUlL2yracnkRTfqJX+q7090+6pGfMx2o2jbvj++qemr1HevmBnBaAb+kRyk+Vyo39wqT/mYYEZOF/iQlsYF9f12uHvWICtJr/ZmxscoPuIQOl7rFRl6LjSPmTHeBItWpZzQvhW5b+vbVWCcClU+3HEUXKOpf1TjWTjdwpyPRg9dEbTEkcbn/g8sKKQxPLANom8C+XsxIUtjhpHvlfKZ0SXUpwQKpD39dozsH8zkoXcWqIt539aOv1TcsU54fQswVdWBYobD7+agyJZPtzxutM/OQ0YK+dAWeTpHTTaS3xsnuPddMBqqzfHRBD9yhj4M0dIUfD5eyX8ZQwMGomjmqPIpCt6/0AePpwc9Pacork+GZbKarxW7XQ5U3is/0s6kAcDr3hoS4oi0Lmwrr0I3zXzm3JuJXBq0HKs8OPBPFdgW5JRVuSG/hnpEK78PZ9/vxiR/PeTyvB9ryw3PJ07Jl0VPTTYsSqNVUR7iQ4+V3x5CfGq6VggGac14pC0uyQrrxJAU5z3o8WcLr0dILuXQiY5u+spQOt3Erc6E9b+6UH+oCdMcy5CbvRi2T9OQ1HuC5qwDm56Ol4doQNbe/FwaQH8gi/7elSEYmZR+Ru1ZHwY+0h7L+4OfKjcZwy/JZ65c0j4Dks99Okg3xlrXEJ6l2qbhxPvPx0+F1aqVSVeojT3n/A3mTyoeU1cV2pDQ78HZcz3wnKZA7mZa6+9PIXbM6RSu/vHxiUHSRnpgxpZHKht9QxgSmT+vStBvY/Vq1P7CyDYN/QfdCHZ0kl+yoYCWKbmXUqDS68ZW/9MVel/HsJ8GtJf29HSakAiLld7VCEo6AM/7vfINHw2QR07n0tO2ApokoOeNOv7UVF8Nkq9zMEHn3EhPDWtb+h7ORYObTZ2yFj9eirxbvDQm1ASPHwbMkoWswU/UKQgdyWFOGY6POvn0uI1kvB5JHqGOAQtZ4+F9y0zf1rMrHQLGp8xwjar+0Y9nxkoqKaLSI5zUeCRaaAwP7tQYeN+D3mjeNzOji55PCVFLrx2HjeUjyTM0fHwLEYPWFhccT8zH4lV0JWO4Dw1Nb/Y4eLw0m+uGTOeF71ICUu/KomU8rkANUxbiVvKE3o5WOlcopbFQA2CfJmjKTYYIFdQgzr52OS2HoJmU7wQcbn5lNuyaoFh9HJNdCdw+RczcauQppWcsK8aSJA+aXqpB20viZBbKnitH3uoiCu4blVThf4z0iF6+m5YiDNczWIME6POh5UXviJRFKKTA/uzrG7GJZtnkjR4rL01X9s+gjzr3zLRCOm5SztFPLr3M9tAkHP67A9J1XDwqLU8IJLAia9GtGOwUZ/5kqp0CeeW99rd7sOabmSgXS3Leq5dvFt/uxrK8HOT7LPB0tiiBsKLjdLEetlETHC+G9ZZ49L1nxEhTMr37MZhgQQYtBxJPNdRtcZLWotSzsf0900e3FHfeIa33a+wNyF58hwXxfV2agd+oTQN59fakcuj29uiPq7QtCvGPtd36qdRgmmzyY2qcqMe6Le3KebpZzraHBHfmdLKE2lGKBYmTqD+/36YpM8yuV69taLbp8XJYe+rpBd8FBrYcRm7oaamcVGSIGSvNTbtl3q2w0A3Qm0HLCkMzB46j78+BvHp7Rv5DyrObZnsfKsXs1flIviMJ3UeaFLuR+0jkfqpXasg5wWZCPLp20NIxTf+w2BYgY/J5/4ROCz2RWbJ+NgpXJCOd/GmH35/Grq/aqF/QQscQBQ0OY9S2eqWIm+A19L6M50Bd8GSPCWa2i6LvT6MRTetl6QlZonZmQluqmfFRmz6wPyJugeyj2zPBQr+A0Y5T9CK0vuCQsyPnGiJo2KH58WxY1jE+IepMSya7GlDxj5qxUjytzYjH+UNUvMXI94aOGyNVeST+wUyePilOsU0X7xo2BGKE2enSU+ggL+J/AloJ3EY+tF31oSOtk5zPPyc0OjHXYW4fTcdPsiBdDKjS1oJmF62xnlOMjUut8in6mkDZj3Jh9bmV5RhN6Oj0wTK3GGW5Shp6Y3pjQSaSQu+84+nOlGazxCbemF4wPcRp0mzT4Xd9sNoyQK+J0xpVOa32b+fkdMxfUYj1q5SyaJ5qIMgqtKnD7EfQw1j+BQxSecmWwMuwYUoJOm2Zuz7AcEYBKmlZU9KH9HKx6LTKlpCYpuzRFwk2zqYOoG5uNB3rpuienmyo9RbtsCIH1gkX6JaJrjupY9P1qrV2JZ8VBU9UYMPaJZghcYyindRixe++E7SiPwNZM/vRuV+ZRaMgofsLNmSleNFDL1jLm6LDHXko0+pQSY+0Ezx4S82rpI74s6sDpy9aMOeRMiyeIae0Lt2IlRlJwdnEW//PVKFkUfDp0Ry5d9G/p0BLzfK+XwS7YqvWVRQwzKGA4a1Wf+AkyjDTpuF0kcvJgOMnweVU/HAdllhVpsG54yfSbK10SnxpZAHSQ7qPuGRGp/gZuQE7ITsq3kD9+TK9yNQWXJ7ukQhc++S2CfChr5nMoRuvHrJBZQtvyyKBiT60uxnHP0zCnLUb4VBswHJ/Gcrz6CbzP+llerUgg1/j/mwgQO9yBP8hJ2+nNe9eWOavpieVnTjiv2E300/1Cgw5J7GhNviOlk0xHvvR9+kLUOIGWNkOttJHCCyY/xf0xCfIn46sr16gp1e4JRMlyvgg+uT6uQEvJZc6fm2rVtP/S09V1hfY6HHJLtRs0wRIIoEJZu7fka/7HPXJSnqJVOr7op+VYcHt/hJCdsyMj2TtpriFiI7ZoU57mGARqfjwfZvsKuI4pUgdFmeElmaOa2guU8emxzM9aTos9ZKZOOcboofZN6drPmIg1znIf0u+uRzfXzFfmiiFSd9roniDJCPxD2byyPYxaM1F5cZ8qY9ZaOnNxu9k0YRNqEr0BPQNN3xWG0UfGh86yjH/sztz30br3inotj++E3b6VKX7V6XY/I+/QFPFY1i5pho7/5KcOw1sgx/SbPXWzcpLt7S+8+d1sPy0DI711bCvp0aidZGeowfhnpLjbzHnjr3Io2U5Rc/txGohhu7bXKcpiKE35GnRh/+OvvV4F1baUnHqYIs/b9DO7jrsuqMSq1eRPl+npRI0gxVP67PbXjA33BvqYSjfibbjK2HLLULtS0W0PvsA1pRvC1Jx+AGxfNOD9L8knR+Wr0oM/1l9UawRTYeysIFedNq5UGbse8+Fs74sTE2T03t3/AL1Ex/DOqXeUjv0dKDxeWWWfFcd6qfQ9SVlqF1SSnNpxMVHXKJsp+G6t8D9/kpkJHXhNf8sId1Fv78s5BzN/OrpcMkD584abPPnHV7C8DOt2LzVgupHHSj9mR2lIgHJ6aDOnmjXpJa+ZpCM/imac6Pd7aUXsesT8Ngj9JWf5+irK6I56FOcnkP02cmggMGoTQ0UCVNO9+t12LwvNK8TDfvyaFmOsLnVUtviggun6aYt/WZt7zGnk+dYB+JzyU6WlckF+aiNGuvQJN0EhpYdetyOmn+YivKNK4nPToVPHzr30ay9tPTE2JbFuv7hfehsSEEu1NY2SeUU/2wniqRuMUhL9egF9J+3hqSNcGjYnyPk1blk6D+UPOpTyKkn2pUXf+ULun0kpJ/qFBtySofNBGJzfBc2B9koDabShwqmwhXiT3X1MOirou45m1Yjj8aHPKGRsJt/pT75kHYdgV7bhvpHHf3jR9C2IVRQkAubuOG1UT/ZWRS42iP76GH2FMrsxDbU/EsyfUaUJl+eK5Dz93Wi9bgH+YofDgiV91wmxkdz3EIlx+pYvz0MWegWb9y3DccpIVcvzggpzwzXkCwmD82PZ8MF6rMcns74TJvTjZxC+mDJSzSg0URp419TPKVrSy7sqt6mPPkz8r3G5ZpNMRL/YCaP3z4eLELlAuqjgz50/+sBuO35IU+hSVNaLdL1DXqvr1PjQ0c55n/ulltu+R+zEG7EdP7Hu+Iu3L+JJR5pmPhxJzpoVkp3oxdC7eQEPYfobWfdBPT6LS07SJtIwcARd+CxjCZtwVPbUZh0FJv/Vv0qieZi0K6sT4IYYIL0DEoU9sBID/GisKhvePnqkpcO5ROd4Yqi5TX01Zv+HXSjtE+8UJyB+PNOuM7opJcewSVhyBPmupRF1gth08hlJF4cXTvpaBfFKVmHpKGRtY22IKmd6NlBuDYu/MkWWNsqUKN5AqLNP5p9qR/cNBTRnmmuPHKbmlBAKmcKfdkqTJ8IiJDbXr8PmrEzWspDX36Z2rEGFVvlviiWAIXtz4GCdfci6m3alm+lZWMGfUjyKxPRZ5ROV0v1pFF/VtOZ+zX2H0ZyTPRTIxHiugmfG1lM9H3VqE/K5Zn0jzFp28g1HHbVkNlI2iZS31SIiLEvgi8bpmdMT4RpD0MWOkqY7tsiGAg/lunHGaHlGXMNzTH2x2FYRl1wuLFDrrMhO1NjRtRKhWSI3j+oY6L58b8QVS8WIMFJ45J2HmBVFbavTsLRn2+Uv6CoaDaaMf8zH9yHtO74HabQN13ps4kIWns+fsWPTUnaoGtsSvjMSl1WjtoHLmDrJnVm4zNLgipuxs6Cg/vPMi2uOxNgAkyACYwvgcWP06eMM3rQ9L83o0Wa4KSlb49Wor7SzS8AAEAASURBVIxWLBygz08HnvDTZ4PFp31pTcfGTZr1+aMc8z+7y3LGt52HlZb1LfpcG639bfKvUR2WhE8wgQCBY/TvAuzz6j4BCiTiPSbABJgAE2ACTOBqE2h/th7ptIS7kJZarrw0CHyOlg+LJdr/ErJ0dx69q6f37xyNcsznmfurbQFcPhNgAkyACTABJsAEmMCNR0BaDkYvyNC/zWG8HDV21efgPnYsWRITYAJMgAkwASbABJgAE7iqBD67n8K8qti5cCbABJgAE2ACTIAJMAEmEHsCHNzHnilLZAJMgAkwASbABJgAE2ACV4UAB/dXBTsXygSYABNgAkyACTABJsAEYk+Ag/vYM2WJTIAJMAEmwASYABNgAkzgqhDg4P6qYOdCmQATYAJMgAkwASbABJhA7AlwcB97piyRCTABJsAEmAATYAJMgAlcFQIc3F8V7FwoE2ACTIAJMAEmwASYABOIPQEO7mPPlCUyASbABJgAE2ACTIAJMIGrQoCD+6uCnQtlAkyACTABJsAEmAATYAKxJ8DBfeyZskQmwASYABNgAkyACTABJnBVCHBwf1Wwc6FMgAkwASbABJgAE2ACTCD2BDi4jz1TlsgEmAATYAJMgAkwASbABK4KAQ7urwp2LpQJMAEmwASYABNgAkyACcSeAAf3sWfKEpkAE2ACTIAJMAEmwASYwFUhwMH9VcHOhTIBJsAEmAATYAJMgAkwgdgT4OA+pkyLUf1iLcqXxlRoGGEOlD+/HdXrwlyOeFrOW/u4I2Kq6/mi4/FabH++HGNbQ9HeI22DsaAbrU2E2sF42m+s6n8ttYGsy3ayibD//7RYrvi66nGwz1gxjlLOvCJUPl+PnTt3ov6Jse2BUWp2DSSPto9eAypHUkHY8YvVKNaksTxUhi3/33ap/beUiAux7qOhDMfAb8W4f47PeKRpBMNdI2YWOB7dgvrtO6kdt0BqRkOZ5hJILH5abC7xGKQKLj/UlkZaoDk5wWWPtCxz+eLMJeNU5gjEIW5SIuLH5ZYpHvEJ8YibaE6z4FQDuPCRF4n9A8GnjY5mF6Hqe5no+mEVGozSjtt1G4qeKkPm+2Wo2h4odKC/D96PLiDKGgYEmNq7gPPnvUCfqcT+RPllW5A7uQ0Vz7b5z8VmJ1qbCLWD8bTfEdR4GQUNX01AW3kNAuRG1gYjKN1ElgNoevEUEtSU8wpRlg10vNCEN9VzPo+8NzFO6r/x6vkb6LdghQM2HEf9k7VoP6NWTL+fqlevrd+x1DXaPnptkRmmTd95eM8DF/wXbChcbofF24rNf98Id6+4EOs+GspwDPxWjPvn+IxH/kYwsWPAbHYh8hdZ4N23Gb/Y4QaNcjHb4idTjDT56oWeweWH2tJIq2lOTnDZIy3LXL6rR9icfpxqTAg4se1pZ/SSp89A2k0J+CD6nGOYYwZmTE9CwrngIpzbqjCCGgYLMTxqQe2PWwxThSa4PT0NyX3XQlg3QjsIrdB4HU+3Ii2pH8HkRtYGY6NyN1yHugOibStRRkefHHKOgy0Gir3ae5Yp8fCd79QE9kIj/X56tXXVL/960lW/BuN2dnctKnZrS5uBpCmA9x01sBfXrqU+qtV1/PbHZzyKYX1oTE2kkP5EjAP7GGrIogwIXJ/BfYodRY+sRN7dFsRd8cHbeRjN/9wIpzRLQDWm64XfXgL73VZMjb8Mn+ckXiMn1HJMpWGBffUarMidhdsT43B5wItTzkbU/MqlJCjAxmfm4pM9zfDZi5CTYUHCFS/ch5rRsMODrEe/h5XzbqcZOh/OHmvGL15oC3tna7m/EGscdsxKnyrpevbka2iqbYFaktA1Ul2sS8vwvRVZsp4XKXjYux11+zUBhKRxBooqSpHZtxdVW9vVStJvPsp+moOJHZtQ+4rmNOwoeWolvvh2BWolx6we1+Bk0no4smfCQtz6u1xo/WUd2nrl65lJyVTnOMx9Zgu2kLieI0p+Q96AqMe65VmwTiHeH7lx4DcdSHAsBn5XhW2HhG4K832HMemhlchKG8KplzeiZr8VjpK1cMwXOgGXBYNX61D3uhf2kiqsnJmE5ElA3D2k0zMk5txhVBBf6doX35L24a9vuPqJ8uXNWE81pfhV7USpw6qN2HLPJ2je48XCVUswK43mcLW2Ja5npyLxZiBhioP0zQV8p9D89DYp+LPcX4Tighxk3kqUB/vRfbwV28m2Qltb1UCbHpJtvKVe8v9K9rc8V9JF7SuNWxoV+1PbXbUDfzbaGalNNeJ8RpHUN71vrMMm6WkKteGj65A/R+mP50/hcEsDGn+vzgeFcFTUKNi4BXM/aUbVNgv1xxykJlqASclwkP3lUt87tUdwD8lr1AZqFQ1tVuis9PMJSl/4P9QX/DPRqqBR/s4j/fVsRRU7aj2V/jMnHRbh6z46jcP7t6KB+o/eJtnUN/Jgu1nxi0eEz3MG/NsMB8r+Kh9Zij8L8r069i18xJs36/fTX/fPxjdv6kTNs02KfNkek9+tQc3Lin6LSlC1/It4axP5b5j028N8CGDohxUYkXwKSYF9bTFWZmfKLHX9sZk0weTN+fjgPOIoUlup/q+xewYKv6qMc5Lf1fY7EmJoX1TOQ8VYvzQHMyWbOAvXnl8GxiC1v5EPQ0loO4fpo0J5jd3HDapja8DOIvstISDMdlcRytdl4sI+8g0HNWnoqV/1AxNxRLIjzXlpV+OfJijxxMXQNGIMK8HavLlIl/yzF6ePtGHr9sDYb6Y9xNikboZjjco23HiiCjLRhoGyaMiR/K9PzR3yqzPW+8coI9tWxxO9MSCkGDoMsivNuC6nVPyWzrgvXY+CjYiv5BhOHlOHj5JCIi1DWqcX+8jaiL9G7R9IqexRu5gre1jOmJwYlwUkMdFUI6Tge6XIt/bj8Mv1qH/1LVy+Ix+lG4qoecSWhZIflaJgVgK6DjSi/uU2dE6chcIf0rqx2bIQy9rHULpqFuL+0IbGFxvR9n48bCtKUU6xlpICqTRLmL22DDmTu3FwVyP2vUdplq1D1fNVKLReQMer9Wg+0g/LoiI8tlYuWc3t/51XgvL1BZiV0IU20rXx9U7EzSrEhmdK6LG1vEWsy+wyPPbwfMS596Be6OlJwvyHKzR6qiV1wjUQj4z7l6AoRT1H5vpwDuxWWjVyJHBO3ktGyvQ0pPrVlo9nLa1CUdZEnNpLuu4/icF0Mk6Jax/Ovt+N7nMXMEhBlbeb9un/no+FNDO8q1FF9bB85MK+l6ke7yUi5zvfxFzSIYVmeeTNojAvJDZdcHW44KYVDIsfr0BxTip8R5uJQTOO/CkN9jWPSfXsO9dFenhw4TI5rI9lnbrP9kviklPSkJamVtCofooGa83oqagr/QidNXWwpCItPRvrfrACqR8dpCUapO/HichSbevjHomb97+AwYseab/7/bPSqh7LikpU/8CBdN9b2PMi2ZbTi6SFxajS2Iq2ZEi2lQ9aJIXDzfXY8zaF499aiZl0o+PfUsg2hf1N7FTsrwvxX6a+8vhiJUmoHfhz0s7IbGrW8jLk3daPkx1H4XpPyCP7qKlC8bxAf3QPpSP/0SqUL1PLC+GonLakURumJNNRP3qEzX1MA9LlC/BI9teFs9JyqJC8Rm0gyTa2WVvZYyheEAc39XPhQzxJ81H8o3IsVnSLyc+EdKwMZysx0dOC/Mon5f5zXPgQsseLqcil9cSVfvbamhSgrDQf6X2HyS+STR2/jMxlpQH/Rja35aliZPn9mRuXrTSB8FQ5TSPQpmPfwkeE66cdFyfCMicr8F7M7IWYfVcasubkK74csM2bjYxEYY3kz0z77WAfIveVyH5YpRBOVzH451dWo+xr6fApLA+fI3+8pgpbSlRvbiaNWpLya9rHh+SjiYVIbSX5v6/Qk6PlqbjQQW3ffBCnrmQif305Suapsoz7geSX1uUi9eIRNIsx6A9xyFrzJCpXKL5V9LfpKRC9dDi7MH1U2NEPC/1+qfmoD+lfo/F3fZasmKHfUvXX+X3XBV98BnKWqvGASGNB8QN2WMnTDn+aq/SRhRb0Hd+Hxl0H0XNTHkrpWLsJDk/SeJqq+mfSOfVBWrf+hGT5lNREe/jHI2HLJsaaGPkyWXd1/G3CwXMW5JXSsbaC/n2dsV4ao8zYtjLODhsD/MIDO0nZqCrKwsR3yTZf3oeTg1b/uC4SRRr3JSFRsMnPALreoPhh7wng7iKaEKRJt5AteV642EdOaNz+IQKVuMhM2aE5Y3V8Xc7ci8e+fd2H0bBfdFV65N3/J5TdMSAb68OFyEvtR8ezNBupzNQ7959HeV0p5i5fDJxoR8bkQZx1NmNTXavM8RAFxvXkDO6iQ//dPq1n792HTU8rs0r75TQ2dKDmx7XKzGcnptlqkWVdSBkVWbJE+ksOZXUe0v6kTe9E27ly1K2fi3y6kXBTWZHq4hWPxq7QTMlvWuSnEoc8GFiXR4/Lhm/uXS50ZzuwcLUNjXVuSkBrH7OsGDzdhAb1icbwbEFnEi7RLNoGtW5OuG6qRe28GViIRrRuJ5nLKlE/B/jghTrQPI20WQx5D6L4frrDON2CKpUlrZg+sJoGxVVpQeWDFlzE9RDzv1dn8shlPjQA928bsJkeD4rNeciCzJ3ZmEEDVOOeBrgprKicR4OCh2bzt4aICzkMXz/RevYo9AwRrD2cFAfP7gpU7fLKZw9dRopqW1ubUEdtXlJjR1qfG3UvqDZjp0DXhjhi5Lc3WsrR0i1sJQeFq7ahare2EKBIx7ZaOkV6ZYAUyTMSMPiBE81/V6dYpxPxM+tRdNtMutguUkTcRmJTCb6TqPlb1YZI/Fq9/ngAA9W1cDjKYNtXR21otLWj6YV2YP0W2Klvu8n+VHK6OSO1gehzhjbbjhlJ1MvOudD0ijyb6PQMUICg1/N0NTB3cqz1zC3GclscOndv8tujk+zqsmD/QDEs+xoCM/KSxvSEclIfug41oE08TaO0/RfLkD5goQOvrs21tQ+gusYBR5kNrXXh7DtcP03F2a87kLmaxO8ij/XVdFg+9KJvGgWhNEnR0EszhdMp6Ppjk2QjdrN+O8iHkB+uNvbDUvXpjzucT1lUrsOyBV0VdSi1F6KAlgG2LNLjHZJGLUj9jcLHq1nk38htJaWZRDfZ2nHwlS5pHMxZUYBtx+g5iGE/IN89zC+14fzGWjySTTdgxErxclJxYdkFK65rR85Pq1C9gOyIRta2UfktN5pc3bAvXYjC2Y2oo3gOtH48yzqIzl3B+kpq6bRZ2/4DZDPUR4TZS9tiHQ4UdwxWo/ahHBSntEq2GqnvqJLk3yjGmlH7CJ023E/j78Ok+1J/BTXqufXHerL/smG+RN+2h40BGun+3YQBdD67MRCjuSyofS5LGtexD5h6Jfy4L65LmwEb3bHnldNSH9CMkpKoyLGBmfZXdFJ/9Ma9MGWrWWL9e10G90c7PcjJLUX984tx6t/fQtsb8qAi4OTTYICLXgxll0kvs/mB+QaRZJGDGmn9W4oNC75ejIW0/jmNprAtdDN3wZ9Y3jnbGQgy1UveP7ymBPbijBeXrqhXQn8XQtyo+84NIedRegKguTxwKcl/IxGpLjjmQldBERw/r4PtD24cdR7Age11QQ7VL7a3AYffzUGRLZ9mF91on52HjJQ+uFta/EmMdvr++KamblS7K4NGWbDQkDcFU0mD6D4QzNK76wN4hwX3QCjzltoKtMyg2b1vlSDTOg1WC7UVadVvqNnwBJHrZ4tKz+HSlTN0M3ZKDezDJgq9IMr24fS+YEY4eBhdhVnIvNtBGQKvkIrlVjMIgvdtrS1SkoNu9KzNwlRV/CG6KaCbIVt2Ac2c0/sSqamw3EaG3qcmMPgdgU2FMs63kqK9LuxUbrTlEr1ocHfDsYxma+iEcXBvoGfoZYM2MLbZdrx5vAsrv01Lp/7JhtPuozh88AAaXtCGMqGFjuB4rPW8y4IkWt7VY6EXex/V6DdEBpCaRjftoVMSR3GqJwd5361Hbe4puFwUBLxcp9wGKjZ3bGeQjwDZyIkPHOR3R9KSjZQ3H3l35ZMmZ7DkTgu6Ozbj/IJKZIrA4yUH7iAf1tUiz7eOzG+b88MaOvq7NmLpO429IX273dmFb87JxOyltLKcbN0wzf4Q8dH4+KCskdpKSfhhF14L6nftcPesQVZqptTvkk357uF+qb12o4mpgSBlNQf6duTdUYXSHUqyUfot70uH4X6gCDZlMs+WmwELTaY0h0yQSKWJdr0kns5r+zb5py6PJrinJaE0hvV/YEEhjeWBbRB9Eyh+EE9C9ploD3/GKMaaUfuIMOPvS+/Boxvc+5UM3jFj/4pth44BwYKUoz4P3tTaZu8lWhUQ2EyN+wZspLHnQ1qSrS2HLFfqA0mBssReqM7BsY+Z9g+WF03ZwTljd3RdBveurTQz2l2MwmwKfPLornzpSngOPo+KrS6ZTPxUWK0hVaM1855zcgcWj1iqCm1I6Pfg7LkeeE7TYHczrd8P4urDwEdBJ6SDwU+jC0XikqywTgyRc96DHsWXRKxLr/jiwAUU0hrY+bYsLFtnR8FqNxqf3oxWndn41hYXHE/Mx+JVVF4GOZBeN7bSTKXZbeCiPIiaTe9PF5G3CMUvY+hTf+oIO8OZZ9Fs7YZFabQawwOPh5ZmvD2E+NT0CDLCXzKun1k9w5eBSwMjuvGQJA67UezDEC05wufjdQs0tMUUeqrxFA1yX+gjdj3o6TlFcX0yLJN1xemejNamdBlfuTT8hvTTQXLmwT0uWAELJk0IPmP6yEwbRLRZunHasxmbPiqk9crzaWnIMpQuKsA3TzSi6uetw+tiWrGQhOOh54REWKz0rkNQ0QPwvN87bDIDFLZvK69CN83o5tybidzVdFO9yoMD/1RBM72ygEHyo6Hb5SEaloc/6Q5Npnvc9k438rNtsM/OQHpyN96kJ3Sum7yovJtmhlen4/ZLPTh8SM46Gr9t5Id1lTNzsm8IQyLd5yMkjpQmSh8fKMW4rTD4if6N84T4wNPfiP1A+G7ahvkl+fRo/urZkV/eqP1WK3a7HKi8dzEtlgEyKTD1ureGvyG5MoQBf+HhdoiZhcby4I6Egfc96JXW55tojyDRJseaUfsIZfw1rmCQdqYPdGxbdwwIFei7oLNEKpDI1Lhvhk24PhAoStoz1tmo/UMEikOTZevkjMmpSKNrTAqIuZCZ+Sh2TIXnNw30sqUsPetR+rb8okIUUXDv6hNW3IejP65Ck6Zw6zw7bv20k87QIzF61IgT9Vi3pV1JQUFQtj1kANRkHtHuGfSJTn/xKCpomUlgsyJr0a0YFKoY1KVrNa3Nv3IU217YLNdFOL2fFWH5Wjtanw1I9O+daIKr2w4HzXzhtiR0t8uPs/3Xx2DnjAnevksJSLUtBva0BzRYNc3EDHwRCimwP/v6Rmx6SQ0qaL3m0vSAnJjteTFyPUerhFL2XVk0A6TcoAqRKQtxazIFmh2tIQWcwYCPzCetkM5rbCvFgkTNmnv72uW0OMuF+u/U+Ae2/Mps2KMI7jFKm5Ls4847pHckGjU3pIvvsCC+r0s/+JBqm0ezZbSjc4MdAiPqQzM2W7jehktHt6Fus8xXBJbV316O4kWtqFGCzagLjjLDqPX0+jBIgVzXDlqiKJYnKJvFtoCWJp4fNrhmLCvGkiQPml6iT42+JBJnoey5cuStLqLg3iX5s5nTxVrmRs0NzmJYb6Flku9FN+mh6uLdL2YQZyNnOc0wfvAmSabtd13wVmSimJYDXe5qVpZgjdRvm/DDqjKRfgXLhFRkiFlazUygZd6tsNANz5tiqcAqE2lCyrBH9PHOkNSBw8htJVGkCatpCPYQ9NQzMYHejTgjPQe0mfTdFpoowr5A+1q+VY5yqwf19GK+GMai2+T2GOa7cunF6Ycm4TAtIRyIgd9SlxRm01B4+xQxMx/QP0hfeo9nMMGCjNl0VtNHFotlef5pGuGfadFoVwMq/lEjRzz9z4jHefIHptrDX3DsxhpjH5EnjWuhbYjcZOkGr9+vk8GOGfs3EGH+cmzG/TMXKRa8M0wfMK8MpTRu/1BxsSs7VLL540jzDealjGfK03FIX5CPwpICekFG3i7QLKC6uXc5yeFkwPGTIthT5LPWVZWo+OE6LLGqASJ11Ik0oyVdFm+AL0A6+bzYbrT2z0mub6YDVRSMy2VZUfBEBTasXYIZItAxqEtfymzkfb0IZffLuelWUPovvJ70OPENN3xWGxHoxBF/QBw+R1RXLorZVnppRn2ZijIb825B+8k+JM1ZQy/VUiBAeay59KLoV60hnzQMr0lCYppykd6g3zhbYammp5d8CUuyhWb61FMj+h29nmaL9Q3RROfN6RQ6qVsLml30Au2cYmxcqlg1vWlf9qNcWH1uHN6hplN/3XjtbY9kW5X0joVUb0pf9P0FuF1Nov7G04yD0g/E1xwWTI/W0EdnU7J9WJH3/eD+uGZOAjxvtSoBpg+XryQgfZ7ShqIuP8lFhuZGRaqOjx5jTLJQOrVyI/s1ttk+WO7Oo2U5ZX4fAnrypHoZewm9L/LMRmlWcGQamMs1Wj2xuxnHP7Rgznc2wjFDLtNyfzEe+9H36WtfIngJ3jonp2P+ikKsX+X3rBhQK023YZI/uyMPZVp/VknLPBI8eEt6/ylYXvBRmH7a60Q3ra3PmjMVnceUoPTEa+i6QJMgd9H7K++2BomJ3m+b8MNBJYgDHV0llkmYs1bLsgzleVb4/pNeQBbZzKQR6TRbZB8vvgS1BVUldk0OeTdyWynJJ2Ug1z8O0ji37jHkirXnx9qkBMb2JftEy9ziwBg0owDr87LoXbCeEQT2olhqj2Pdsu9S7Uz4uhU5sE64EFjyNVq/RcvFDr/rg9WWQePskfDvne3qwOmL1EceKcNipY9Yl27Eygwxs6Busn+2zF0f5J+LN5Tj+yvmS0GyqfZQxdF3n0Y7JqqijNuwCR2dPkhtmKv0a/ri1caCTCRF80RmBLat6jjS38jjvrFU9+9OwPM5igUr6QV7aQwUsV4ZFgwbJI1kGbd/qITYlR0q2fzx9TdzTx2j7jeZqPxGIapfWonBK/SPB9Dnq7pfr5MdbC+tv69PwGOP0FccnqMvg9DgpF7fLGZXKJxo2JdHy3KKUPvSahqw48mXu3Cagu30mx10XXZ85hGGT+ndVYf6KY9h3ZIy1C4plcqK93WjbSstq5GyGdSljl5s+2kZHD+oxXxRkThZ1107nJQ7X79gmvnt+oYNqZ3tRCrG26E2vLXChrxv12InTQl5Dq2hpVBGvOnVzWe3YGrFY1jxUCmql5bSiwhe+qTnUXjosX/krRFNh7KwIbccOxeKhqTvZ7/nwlkfrStX431qz7bjK2HLFe1ZROu7D2BN+bbIYsNcHbmeYQSGOd3mdCOnkF6ifclOLGiZ1V+TPfzjL9BEjFauqcbOv5TrOvghvdzkt5VgYe5tNdg1tRKr6ca1dpV8rY8CoeO9+UhVkjp37EUeLcspem4nVguRNAPhOk03uPR1i6gsfTQ2FaY/eg7Rp2e3qbNg1M6vz0bZQ9SGO4tI+0F6jN6Gjp58zNJWu43W0tINiv3xnbDTJ3DdvyqF3Ke1iUzsh9FJ+BBZHr3svKMN1evps48181FK9xTxdKPhPbYLDTRLtzCX1tnSTdLobibHXk+xzKa2tgnlG1ei+Gc7USRsYAKxPb4Lm/3sNXrsrsOuO4RNkQ1+nW7kadY/ntYjt70gha7Q9WeXPHDurME2zaynRqJmN1w/pc/idtFnbZPo/aBdanK6ef2DFwuytOdG7rd19Q7yw2q56q++rsNYxgs7bUUdLdWSNx3ew9KoZci/7og+vkT6GlfyRXp8F7oZtJWUvKcDHZ+nmzEaB8vECeozot/VqevLDftBwHevpDFo53phQPSUhvxM/bPtUhEj+ePd8QvUT6RxUbEzIXOQdG18Xn4i5I2R32o9Tu/N2FJx6mCkkZCWvm61oPpRB0p/ZgeNTgDZdAdNkiXaA7Vz6fpnF3ZVb5OfPpppj4C4UYyJGiFi10QbttI7exYRR6yvhn095aF36TxHD8I9JSdEWKTD6G07krTI18yM+5ElSFdPbEPNvySj8i8KUPmcWKBFW18nWo97kO+PH+TTRn8N2z9UQAzLDhVt9vhzt9xyy/+YTXytpRNLbdIShMOiL8XoKCc9fp5Cb2Uf0fsX1sTymDRM/LgTHW4KeMZ0Ey81ZiDxYviyItZFevxHMwlmdF1Vhe2rk3D05xvlLwWMRb3oBVf7rTQDFMI1Mu8QRWbTm/JPzIL3JQrQ9odcCz1U6j/koS/4nAm9qB6ry506lH8VUT0/yt9o9IyqKNkm4s+H1ilKu5TYJGKgM3y9Jdua2DesvUyrGyObkuzjpqGw/RUm6iJ09i8rETOAo9yMbFbWWYwJ4fmOUgVT2Uetp+izNKCF85XBSsg2mOCjwF2XsWy7SUPhrgdLCz4abT+Nsn8EFW7sh4OS03NGeQllSNtLLCdGtgkzabSFhfPxq+kpkfU1+tesxYSO3qbfVvmV9FWspCPyREcYf62VZmRfZvumVqbxvqw7wvj10fqtgqe2ozDpKDb/rZkvctETZRFPwMimI+tMUqS4InzfiUBllGONYRtG5QMi6BmtbUcQFfGSqXE/ogTlYrT9PpJMo/YPzRvLskNlRz6+roP7yFX7LF4Vn32rpVnZNmzc1KBZF3s1WVhQVL0FjolHUf8Pdco/NEbLk556EoWpXfKs9dVUz1/29aKnX+Fx2rkWbWqcqs7FMIGrSiAf5c/n4EL9JhNPRoIVDQrugy99No5S6Bv09IlWBL2vda1Unceaa6UlbmQ9rsNlOTdyc4yybvNo/Wu47/mOUvTIs3vpcesupG1aTUsctktLHMTyIvlxv7o8aeTSY5fzetEzdjU2JematClTmnMiJnCdE3gTDdX0dSbNi+jXeYXGTf2sb9G/hn65k14OH+un8iOpEo81I6HGeaIjwDP30fHi1KMgIC9xmEjrzI0efY6ikBhkvV70jEFVWQQTYAJMgAlcJQI81lwl8J+BYjm4/ww0MleRCTABJsAEmAATYAJM4LNB4Pr7FOZno124lkyACTABJsAEmAATYAJMIGoCHNxHjYwzMAEmwASYABNgAkyACTCBa5MAB/fXZruwVkyACTABJsAEmAATYAJMIGoCHNxHjYwzMAEmwASYABNgAkyACTCBa5MAB/fXZruwVkyACTABJsAEmAATYAJMIGoCHNxHjYwzMAEmwASYABNgAkyACTCBa5MAB/fXZruwVkyACTABJsAEmAATYAJMIGoCHNxHjYwzMAEmwASYABNgAkyACTCBa5MAB/fXZruwVkyACTABJsAEmAATYAJMIGoCHNxHjYwzMAEmwASYABNgAkyACTCBa5MAB/fXZruwVkyACTABJsAEmAATYAJMIGoCHNxHjYwzMAEmwASYABNgAkyACTCBa5MAB/fXZruwVkyACTABJsAEmAATYAJMIGoCHNxHjYwzMAEmwASYABNgAkyACTCBa5MAB/fXZruwVkyACTABJsAEmAATYAJMIGoCN1BwX4zqF2tRvjRqBmEyOFD+/HbUPu4Ic/16Px1rXtc7j5Hqzxz1yDker8X2nxbrXRr5uXXV2P58OSL3yKvfHmNS95FTk3JeizqBWlL42Op1o6xczLJH0ifStVgocB2MN/OKUPl8PXbu3In6JyL3wlgQ+UzKED7uxWoUfyYrP7JKX5u+bWR1iWWuGyi4j0PcpETEx6xGA7jwkRd9/QOx5H0NyYo1r2uoaiNQJb9sC7aM6EaOOerhjp9MfXFynN4l6dyIeE+MQ3xCPOLDShUXRtIeNhQ9VYeqGAWZRnWPqP4YXbwWdQK1pGjPuIljVOmoxUbSJ9K1qAvSyXDtjzcFKxyw4STqn1yD0p+36dThOj61rAxbaowmDqKp3wh9St95eM+fx4VoirrqaUdY1xjpfW36thhVbhRiwo++oxB6Y2R1YtvTzhujKlwLQwK3p6chuS9y2GgohBOYJnBt8Z6BGdOTkHDOtPqckAnEmMC1P95YpsTDd74T7WdiXPVrQdx0K9KS+g0mDqJRdIQ+ZXctKnZHU861kHaEdb0WVL+Bdbhug3vr0jKsW54F6xSQwzmFwy2+Yc1kub8Qaxx2zEqfirgrPpw9+RqaalvgopQFf1ONnIku1DzbBK8/J92BPlGMGed+jc3bJ6LkqZX44tsVqPV3tiwUbCzEklm3I2HCZXjfOYDmf26Es1cVYIWjZC0cc9JhSYzD5Y9O4/D+rWh4PVCC0Pt7K7Jwu7h+sRuuvdtRt79bFRD4TbGj6JGVyLvbIunu7TwcKGvVRmy55xM0P70NgduPAmx8Zi4+2VOFbYdUMUb6inSaNPBBlNO4pVFipEoJ/Cr1mz8TFoqDJf1frUOdv350/dHvYeU8mU9/lwut/6cObTqDgeX+IhR/Iw+2m4nDgBenjjSjYYdTagt7SRVWfvEt1JyYhrI/V9rY40Lzi3Vw3abJ95EbB35Vg8ZjqoYG+inc9jonYUkBtcF/n0Jj+xAc2alIvBlImOLAlmdyyaBOyWz96S8jZ2kOZkq6noVrzy912syIowX2tcVYmZ0p28awtrcr9laDk0nrSSfB+DIkhr8khn4bA6xLS7A2by7Sb01A3KAXp4+0Yev2Nr8dR2KrkpJ/SafVa7Aid5Zsj6IdnI2o+ZXoIWJTbaoZ3vmK3evZiGKrORkWJFzpR/fxVrwlCxj+VzANxxsG7adKI9sp99tOuPZQE9Mv6Vf47SWw323FVGLq85zEazSItpDdSLY2MwnJk2jO/x56evMMpT93GBXkJ8xz1JSl2bU8VIz1qt2I9g7qKxHYLyhG5V+ko3cf9eWDGoE0u1j9wEQc2US602kjO9Dk9O8G+R/Rf37TgMbfK/7Jb++a/rGhBmKOVmJRkINMyebkNt7+QhsCnsu47bQyINm/jpVEaCupEoqOzXu8WLhqCWalJQDD7JZSGskJqVNYfaRCtX8scKyL3D+19YwbHM5K9W+NvZkoyrXB4j2IdX93Kmi8ke2S6ha0+XDK79+Fr12H/DmKTUtjoKYtTfZdUzau02d7johxUfVZjTifUSSNVd431mHTdqF0FP7utjK5HhNojD7WjF++4EKa8JWLiA31VzHOhh+TjPqBkQ8T13OQmmgBJiXD8cwW5JKPUzlHiiFELfXasr47HSvD+BTSVo4Rwo2hqn0rY7sqv+ZEcnhfoubZ40NOodxHofbtc1ko+85KZEn9hHxlyy8047Xo1+FjJG39wpUv26m+/xT5A5vJepvo1yIuMjXWBAr/TO5NSEhIqLream5ZUYmfrJ2Nye8fw+v7/xXdX7gHX1uegSlx/42P/+NVvHGaajSvBFXf/zN8adCNtj2voqPnC8i4bwm+mnMTOl8/hnfv+hoKH7gD/+vU/0XHeYVAbjH+etmt+Oj1eji7v4Jla3Ng6fsN2v5dXM9CSc0GrPjSp3j79Ra8euITfGnuYnx1oQXdbcdwjpxZfuVP8FdZCejt2Idft72DwbQsPPDQEsz+L0Wn2WX4yQ/m43/+/RU07j+GD5O+gtylDyLzo71UnqKD8lPw+NNYlXYW7b/5F7T94QpmLlyC3DmT4fzt2/A9+A0UfzkOp199A53+bA/gG+u+jLh3lbIM9Z0HBwUQt8+4D5lx7+F3e1/FyYu348sL7sO9d3yMvb/v8ktWdxY/Xo3vzp+C3iOtcv2mz8eDi76Cyf/2W7xNq5dsZT/B38z/Hxx7pRGtxz9E0uxc/NmDmfh4rxPB0gpQ8fQqpJ1tx6+b23Dmykzc78jFVxKc+O1/+PCVZWuQk5mJ+2ZPgpdkN7suwJr1IBbf/yDuy07H0MnfYe+h05iYYceDCwLyjfSD4DZ7Jr5suwm+M2/j3fc68R89l5AcPwTcNB1TBjrxn10fov/jD/COqxNeKf3duOcrt+LiCbnMoeS7MP9reZg9+G9445S4oTTDUdiGwk6xDd/NX4b9q3+GnJs70XZMBFeyvWXecR/mWD6F67Vf41B3PNLn30cclHanVLLtZ9Es85vY95v9eGfwS8h64GtYYruEVw8Ja4jMlhL4N8vaJ/HjP0/Hpyfa0NLagZ6ppNODCzT2KGzqHsy8O5KNUL+o+j6WpPnwzhttaCZDuHNhPu67fTIm+LrwG+obQVvKl5AZhvcsA/vCvQ78xZdux51ZafjUHak9puGS6gdEPyD9/uxLQ3D/jvrtv/fgC3fehyVffQA3/aENnXHpSP6fK5h0+234XO8JnPb0o9/7PjpOzoloo0F1CjnIfPDruOe2abhvzs341PUafu08g3jrfNx3H/kspa9EZO9Mwn2rHLj3litoOfiuIt2C4u+UkrW5Uf9bFxIlHxjJDoKVUnW61zYJ534v+lQvEqfNxYO583DT+204dpbS6/UP6gegsqq/uwBTVJv75FZ8eZEDf3a/7EuF9Rr2PckfL8G0gXdwuK0Z/zFwJ+5ddh9S4yfA90eNj43QVseEn1Z0nL0wExO7fodXW0/ik9Qv4/777sWdfj8auc0lOab00TLMxINfvwe332bcP41Yqf5t7ozJ6D15Au+d6SR7+19B482UVGGXPvT3kz3S//Fps5D+v3rx+13k8wfEWPRjrJoRsOm4aVn42kOLceenNJaI8Q9m+q5JX6HTZ3v/2IGTyhiZmTEXM+J7cfLt99B5SpyPzt/NmuxFx++a4eqzYm7uYtyXSz5v+hD+81/3ov0PE/Fl8vsLZuqPScb+0IjDJXwpIx5DE5Iwfcqf0Onuxof9XnxwyoXOaZFjCMlrK2OVti3fuYAwPqXLuJ8I+9aM7aqtRPIl/j5xL/nFdw7i/6pj4305eHDxVzCl59/w21dcuCD6u2a8NoqRtPULV37X1HD+s0vbeczVm8ZmM/3a9FgTpMFn7+A6nLm3o3iZDXGnW7DpaWXWfX8bDjxcjdqldPctbTQQrs5D2p86UPPjWmUW2om2c+WoWz8X+TQ5W/PSEXQuLkQGzZzghFvKtZgCx6ReN1q1s2WKRKwtRF5qPzqepRkLJV5xHvGh6mcL4VgKuD4txnJbHDp3b0LVLtEtAOchJy5X18LxQDEs+xrgpUf/iVfo7vk3LfJs/yEPBtblIVEtQ/MrHoH2dR9Gw34xN++Es/9PKLtjgG4h4J+h1SQfvmuk736Rhda79rag4u/Vpxekb0o9im6bSdfaRYKgbeqVAbh/24DNO2RezkMWZO7Mxox5lGwfMCOJanLOhaZX5Bl4p2cAxQ/o1g4Jk/rQdagBbeIpA3Hqv1iG9AFN7RIG0Klh3Zk2G7WLpsK7u8LPt21iBuq/bYGqrZF+UmUmxcGjaSNxzk3tXVJjR1qfG3UvtErJ/H8mAd27qwJl7j+AYtGmXy2EbU8dhVpiM+C4SM82WtBVUYdSeyEKtlVJM7FCUsKlTtRsCNis66Za1M6bgYV0rRWLh9s+sXMOku0/lIPilFY09NLsuRFbURBtGZMHcdbZjE11Sp0PxSOjvgiWu+iivw8Y1E3Pzl45jfK6UgqrdbaDTagLwzvDwL4kaSHt16bbHoFyLQ/r9Nv95yX95i5fjG1bGqgN81E5j7T10FOorWreEtMc1RxBv5L9bgz4CpcFtc9l+ftKZPbtaHXTbNu9c+lWrUW2jZR8ZE4bJP9CfoTsoDzUBw6zgyBt5IOQPuV8pUvikLOiANuOiWcBtIXwpblJ3bJauoUvzUHhqm2o2g0Y9b0iHX/c0ilkBKzEqK1wol1SUdYx4Adw6DJSNHZrRo4ZfeTCgv9G7p86YxO1SygrSSK1xclnA/YBskHt5t4j7FLebCVbUH6TD+5fbUWreIKn1+eoHwwIv+Qog22fSb9Eo4kpXxGhzwoNE3wnUfO3qs+iE9H6O/8Y3YlptlrYk7xoeaIKTdLTyjbEzww3Jpnxh0LDSD5sG5peaAfWb4Gdxnf3C3XkZ8VGMUR15BhCjBvSNqwtaUzR9SnG/USRGPxj4EukxCH9Vh4bKbY5UoOKf3TJ8jqnYbbfBxnHSNr6dWps1anxZY2Sner5z+AqGPmHQB3C92tdu4801gSr8Jk7ug6De3pUlzSI7gNqQCq3mfel9+DxB/cLkWah1RXnhpDzaBlyNM06cClJCV5a0P7OEpTa8mmodFMoW4DFdyehu73J71Q12ZBvJYG9LuzUTkT2NqKqtFFOtt6CpMF+9FgKUfaoJudQH5CaJgdnx1zoKiiC4+d1sP3BjaPOAziwvU43WD/a6UFObinqn1+MU//+FtrekIMijeSIu4b6KrnPdgZzjCS0pbYCLTOy4PhWCTKt02C1WKSbjX4l05vHu7Dy27S05Z9sOO0+isMHD6DhBa+OyKM41ZODvO/Wozb3FFwuujl7uS74dqLPgzc1rL1XBoFL3XArN06S0CvBoo30k/OcxSmtjGARw49Cy6TWaujywLEoTQpe1QE4Ikcb2YbvNPaGlNvu7MI352RiNt0ctkg3W0DfH99UbkZlVaR6+7WipTpk+/0fWFBIdh3YBtE3IQ1p0k2WCbZKRifdVDhTbFjw9WIspHcO0lKpPRMw7GWuSHWT7OxDWuaiaStxY+juWYOspICGZvZMtZ/J9lDLWzid+u1FL4ayy1CWrZ6lX98gkizqbaHmvH/XPEd/Fu1OiP2i9xLIgv2bEXv3Lhe6sx3IftiClpe8sK2m5WkXadaeAmnQ7ayxHfiLCux82KXfTqmZFMKLKQTaaPIhuH8If+vD6X0hfuLgYXQVZiHzbvHVFHryE9E35GMGNYP37deCbBsH3ehZm4WpolzaTLfVMB3l/OpfYzmJpvRR5Wl/I/dPc6wkeaH2oS1Eu09PGIpz0uA7Vo/NtGRBbLq+XfglmnV2LLNKbWnKL2GUNq7oGcoEI/Z3Xlwinz74vlsJ7JUCwv6Y7weRfJi+eDMxhAogeKzSlyefjdxPwuQMtZUQXyLlCu0T0tjoRdfvlMBeJArKN4r6BckJo3PIaVP1Dq1DiIxYjjUhom/Iw+swuBftcBlDA8btEZdkhTX0SwznPehR4s32vW6sfCILOcsoHLk5Gxm0yKWJBtKw25VLuoG4P/2ERFistAbSf0LsDMDzfq8cMPW2YvPfX0AhrReeb8vCsnV2FKx2o/HpzfKMjCafayvdwXYXozCbBtC8QmQtXQnPwedRsVXTWTXpkTKJ5idCNiN9aW3hwEcheSIcZtHsxgYKai9f8MDj6Ub320OIp8fH6ubdsxmbPipE4VfnwzZvGUoXFeCbJ+gG6OetIdxc2FZehW6aVc25NxO5FLg4Vnlw4J8qaAZRkea7oHmfQDl3ZYhoht+M9JNyXhqAejMSXpLmSrgyJ8SB4mBli46jmgt9QxgSB5/3n8HARSnECpwYthePRAvZdbCRYeB9D3ovisQm2CoyxSPtqkIbEvo9OHuuB57TdCN6M73jEVSmiboNfqJ7QxwkxsSBqfYz1R4hhcVPhdUaXCtc8cJzLkJfj4JjSGnyoZ79ahIasu9twJHTuSi8p4BuoGkekAImr3sr3Tapm5EdqOk0v+HaaQLJUpOF6x8hN9J0G4qhy5Tp87LXMdN2g5+qIadamM6vmbYKp6NWnAk5pvTRyqR94/5JiQxYSSIN7EMulp7QfDcPlg8P4Pln2+VT6l893/7pIN1Aau3cqO+a9xVqsXq/ppiIjCb93eXBSF4+VAMz/cCIQ6jMwLFRDCGlNNWWskwz/SRQurJnRr5unxjEJyeGSQs6Eev6BQnXHJiqt24dNELEbjgfFpKMD8V346677U/wXUqAJYMeOe3TDBa5ydIAJQduZ9AnAp2LR6UlJ4EqWpG16FYMdipnTjTB1W1H7oJCFE+2ou+dev/yiEAeee9MHzmcO6ehkA6b/BcXo+QnSzDJuQl1Xh8GaZDs2kHLdjQdymJbQMsfzkuBqn11CWxXjmLbC5tlGfSovfJnRVi+1o7WZzVB3cx8FDumwvObBtQoM7pZj9I3/BcVooiC+0Z/+ZqdByzSTYUarhjqq8jVSDDYLUIhBfZnX9+ITf4boBJsWZqu5KOXFtfbcOnoNtRtlgmJAKb628tRvKgVNYcC4jOWFWNJkodupOhlvZfEeXrp57ly5K0uouBet3aBzGH3jPQLmzHyhQQLMmZTEk2bLhbLj/q6zAe0wjYSUpEhZtbVmxfatcy7FRYKMt+kJU3mNi/ZPj1k7mqgR60a2xez77Ru9DwxNs9WXkKAE/VYt6VdKZ7sMdsecnMaWbMzF/X6BT0BSEyInHHYVZPtF2V7SP2AAtGjP6bH/JoyrfPsuPVT1RFoLii75jkOz2t8xhz7FprZXrJ+NgpXJCN9Sjc6dqltbmwHujrcHOq/lHb6+Iz00qxuHrotF/429a4s8reaiYWUhbg1mWbjO1opm1HbncGAj543pAV7T6RYkEjL3tRtpG2l5ld/jeVYTOmjyjP/a4aVWWli3To9/UqgSY8XtgU98ZB9+x0oSgEapaUrsszFd1gQH4VfGjMbj5m/M2I1wn5gJFa6bjKGMCVLTWTUT9R04/E7FvULp3ds6h27sSacnjfWec2c4fVSsSZ0dPpgmVuMslyrrPQMBzYWZCLJP2NCj/WcNHDPdKCKAmeLlMqKgicqsGHtEszwO0R6lNkh0i1D7jQv3Hvbw0Jw73oT3Z/LgKOygN53Fxt9DeDR5cj5Ei1jEGPe7mYc/9CCOd/ZCMcMKQG9iV6Mx370ffp6DAWDtPWlzEbe14tQdr+sEd2GSv/JqTV/T8chfUE+CkvUsqgMmpXxbz6aMktIR9YKWY744kFVXkbQzL2hvn5h0e0kJKYpGejt942zFbbiVB8sd+fRspyy/5+9t4Grqkz3/n8zIvjA9AerLQXpxo5QoSaa6AR60Eb0k/CEmjGP4CksdEymI1Z4SmYKp5HxyL+kmUM5Yul0BE8cS5zx5WM4haNwjmKGo+4pcBIsfGFPCmPwJOL//K97vey99t5r7702oLL1Wn1yr5f75bq/1/1y3fe67gUSaNCRju/0i9c4KArjU9OxaLaiP3qv0aEpnhK7Rz/u5fOcXOcVQnoHMXUJ5qhT8+x8PDEqDNYvqlzfLLjEVW5IdSMMY+Zr60YO8qaa0fkX+jqRu3gu97fTRkgr1f1FyJ2hsKOvgmQtzcOS1PHS5NZXtoED6W2TlI/4ukU8ony0yS0fH0eL1C5oD4Kkd5FODuLvdhHe4YY73t7155s+LFtr6X0ctduVGbZ6KXS4/LkFmG5Wp8IX0UX1b7ApxVafPXMUXwmhL+vkpjmUydcLr+z37YSF9lCMf5zerpw8SPsp1By81wM1pMNvUDSSbBxITwuWIclMfvxHqhyCOV7IeYWNyXKoczkvJsHcaUHNZnto97qz4KNjLVJ/nD+XXFdEFKq3GUvioa0mxnRlz8/dmfd0jMnjLn33942zcp+G/MSUugizYsl3+4MibNAsLIincvnMmLrEsU5njglGy2c7DfdLnuu4Nwk9PO+z/s5DHtKjHrYDvWTFmBpkQpRYgJEOozaEGt7517VPUUO4bydqiOvx29vyaWV0X1ZtqN6Wu6djjVaGW+ncD1fuaWMh+aybXstB8qJCJCwidZE/dsvhfbDclmjTnXVrCUpvW4YF03NQPH0hmdH0R0g6m1G1nlxgbKHoZBv5B0+jzX/ttBHUqRPVBgP5169dH4hlT6ej8L1ZcnrdLagrW6usntSjuLgCebmzkPXLMmSQsRA4oAvWo1uxaoO84mYpoQ2kQu6fFmP8QgoQECjNDLZurnXIijywUfJhDPLnKHldJdnpM2HNe0tkQ3BzBaruo3TmFaNsHkWlzyFaPqpDS+pIezpe5bUHNXZWjooDcVialIeyCaJw9M3jL+txtpN8ZiV7nzajbq5C4aJk5BSNx0LqKwNpVc56ZCs2aVbtpby2lWDrvfmYO7sQZY/Rq2R64xFIvtRVbxs3c11l9iafawztnapaC31GjDYPvpdA/tjkKrVYqSd0frglChmk0ywpAunUQhtX1U1K2kTcnuvUjUA5nRJyWfLlqP/1WlQsX4ZZmcTu/8h66PpbPbYWbpDfJBhmW4tNu6eSW04Git+bK9VnMUs9SQZk1B2yH7UhuY5vQNEHg+nTjWnIf0Mxdtsa6WtJLUiR6oV+Knq8PdcvJR1f9XGe9qqUBmPZUyn0digFotmpbWnVblU22mx/dBZikwSLDPJN/QSZeZ7qaArCh9IehTZ5WqSmYvzXKHsagOubkTAjFPX7tjsk77UeOIRWLs7Uoe77UyUOOeIWfR645UA5Spz2gjhH1c+LPjxg60u9tz3LhiJsDRVtPh/Fs+Uc2r7YiaPnUxChZmhIV2pgD78G0jEkj4cs3D3yzspdTMf7afShBzHPjlX7eOVxy75Mcs3Ur9NCl0XKWOOYmpsrw32Fm/hub/ddf+c2C+WBPm9Nf+gtAfV5VQ0stEiW8EIZEqhdWLYsxCqjNoSahsOvXp9Cm3c9jqEOCVzzC8M2kldJ9Mtqj+a9f7CH9XDWw7HGQ4o39aPv3Xnnnf/jtyWkzZ0JZEC0HKDNZ24LYULsxGiEXKLPjVnUlTq3gQ09EK/0I9GC2iNucvUml+RGEQZc8C6TlFewGIRdyyi5/NxGX5U5aHHyaXcshld5HYN7vlJkv9JSi/pT+kEluW6ntfzGOlp51A8j3xVuUpH0tQUPLD1F13tmQD69aPI9ua4Etiploz0GZfHtKF9Ihr7N9cVVD+7T03ki1Y2BBtjoxHW4JbODWz0YZSuHG2igLjpk73LRk3bmxFukaVR/PdCH9/YiWAi3PW29dcNxFH2vP6MVy1f0ZkLaF+zlNNzXAxdF0WetqN8cQiv2XvoN15he5DWiOylMCDocGLvm5F1XrnH07nhNx6A8eml7vueFlefIhp/Kfe0V3fHBcCL0LrrP+2E18z7r79QE3f32oB3oJCXxFG60DmN7T/o2NXEhl1OfYqSdqNGvy29vyqcVUKes2sd9Vu6+klcr3M137t/G/c2nDy5RfyKgNe77k1wsyw0mEIvswkUYvD8XRbbV/xssEmfPBJgAE2ACTEAh4JduOaw9JsAEmMCNI0Df4X4zF1aPb6VunHScMxNgAkyACdzaBHjl/tbWP5eeCTABJsAEmAATYAJM4CYi4Idfy7mJ6HNRmAATYAJMgAkwASbABJhAHxJg474PYXJSTIAJMAEmwASYABNgAkzgRhJg4/5G0ue8mQATYAJMgAkwASbABJhAHxJg474PYXJSTIAJMAEmwASYABNgAkzgRhJg4/5G0ue8mQATYAJMgAkwASbABJhAHxJg474PYXJSTIAJMAEmwASYABNgAkzgRhJg4/5G0ue8mQATYAJMgAkwASbABJhAHxJg474PYXJSTIAJMAEmwASYABNgAkzgRhJg4/5G0ue8mQATYAJMgAkwASbABJhAHxJg474PYXJSTIAJMAEmwASYABNgAkzgRhJg4/5G0ue8mQATYAJMgAkwASbABJhAHxJg474PYXJSTIAJMAEmwASYABNgAkzgRhJg4/5G0ue8mQATYAJMgAkwASbABJhAHxJg474PYXJSTIAJMAEmwASYABNgAkzgRhJg4/5G0ue8mQATYAJMgAkwASbABJhAHxJg474PYXJSTIAJMAEmwASYABNgAkzgRhJg4/5G0u9R3lkofHcjChf0KLLxSAsKsfHdQmQZj8EhmYALgeQXirHxtSyX+zfuRjLy3rwO7UcqoJxX8QvJxorLbc4YJw7FBJgAE2ACHgmwce8RT398eBGtrVa0tvWhbI/mYE1RHhxMkLZWWFtbcbEPs9FNSi9v3YB80x8JBA4KQeCggH4keiACgwMRMLCPRRqVgYLfFDhNhjtw8Rsr2to7jGWm0+ZSctZgjdHJgbFU4LCPAABAAElEQVRcOBQTYAJMgAnc5AT606h7k6Puq+JtR/FL2/sqMTmdoWZEhrUjUJvqtmIs36a9cY3O9fK+RllxskzgmhEYOhyRtwfja4cMarHhF7UOdzxe6LS5u6MiMbjNoWV6TIIfMgEmwASYABPwW+PeNC0Li2YkYsQdAejuOIv6Hb9FyZ5mu0aHJyPnn1IQFxWKgKudsDbWoPJ35ag9LwdJyC7ArB98hqLj9yDnf8fBfBvQ2VKPyndLUH9XBrLmTEWsSPsbCz7ZUoTyI0rSs3OxZvS3qNzRicT0RMQMCQZEmA83ofxcHHKenoW4SLonZNq+FiV7rXJENd4vNsA+3Kchd/VYfLujABsOUDA1zA4rJsyejpFSOlY01JajaEu9IoBTHHF3HN1Twgd0WWE5UIlNm2uh5AzTw+nInJkkpaeyKF9TjnqItBIREWICggYjefUaJKETDUIek1JOrbxemBqTXymGp7wFC295qcnYfuOQlpuO6SPvRvCAblg//8RB34AJCfOzMGtiDEwhpNdLzajftVFTZxKQ/cos/OBYEU7clYOUMWaEDujE2SOV+O3b9YgUcSfFwhQopy3zE5n3NJ6Ia0Zy9nwkj4mSZfrmJGr2rMcmtc5IjKh+7K5B0DRRr66g4f1cFO2h0nip/5LOkxMwUqn/Z098hIri7aRzvYPYzM1EatJI3C3YdDjVOUP1ktINT0DGU7OQGG1C8NV2NB/dic/0slPuqW2wvHk40h9R8lbb0n+ptVep7zoMjNQR08PUltOUdirp3FkinfZE8qXlrsHYbytRsEFtre7ql6z/mLDBCEYAxlIbWkPxzxxcjuJtat0Q5/HIyn8CUdZdKFhfrRAQPynIeS0RA+tWoHiAps0J5hMjEHIHEHxbMtasTqIOqgGV71O/syAGF3dTG92nSYbegBVOHoiDK4rRx1N/TSZ8ygSYABNgAv5AwC/dckyp+eRznoSISwfJGC9H1V8DEJf5M+SnkpEqjnHZWPNKFuKCm1D1finK91rQbaZB9JU8GkrlY3B4JCJHpqLgx2Z0fLoDpZUH0W5KQNaLxShYmIiQL6tQ/v5uNAyIRcozeZiixIMpApFRE7HgWQrTvA8VapinC1D883SYL9Vhx7uVONhGBlPmMmSEKxFFvKHhGKymI/2aEDE0EuE0sZAvlbR/moqIbyhtkc6FEMSlLkQeje1KIMc4oqzPpWPkwEaprJWHOxH1Iwq/KE4OHp6BZYvSbM/L9zYh8IEULHxhCj1vx5nmZjRf6AS6L6JFnDc34WwbPXKW1wBTGxuP8stieczbSF5qMtJvHLKLliJ9ZAAa95ZLuuwcmoyFL2ZDpmBCSn4hcn4Uhc6jpGviWnMuDOMzC7AmO1ZJaTDCSRcjZxQg3dxBhn8pKg+2wzQpC8vfLMDCiSFo/qQc5XsaNPxE1J7GEzL9DFmJETaZDl6KQBL5Xec/qohEE5IIerMxcX46YtGE+rp6WFpINQbqf57Qua3+NyJgZDqWrs6mdFwP0/xlWDh7JAL+SnVetKevAhGrrXNqnfeoV9LBiwuREg007a9E6a7jwP0ZmDWCJrpuDqkNPjgLOTMjcLFOtMF9aLgag5RFecgep0bSZ2CkjYsweYtSEEPsaipLseMYEP3jWRgRpKYtfp3aoPLIFEn9Q7jaWj3Vrzac/YrazbmL6KKJsVVqQ804c0EkJNeNCKlbqkPTlRBE/3AKTdnsh+nJRCSYgbaDdE/b5i6cobbYDOv/BboutUjnzV+dRdsX9egMjEbijAySXD1MyJqcQFPFNs3CgfqMf5kAE2ACTOBWI+CHK/dkgD8ai4CT27HiFxXy6vSBKrTmFuOpiSkw7diE5LlTEfn3OhS9VKysVNaiqroDhUXJSM6Jxc4Si6zn4A40vk6rasqqfGPkKBRPCoV123IUbJVXDqsGRqN0ngkjKEa1WjuCAtCybYVTGDKbDhZh+a+VtdHGezDqjTgMF0bKbjWigV8pbXv+ONCN8FIayO+juNqVOiWpDJ2y1n5XgMJ4KiuVvio6GF1f16Ly5yXYKcWpReCIUmTcJUq0ARVvVwOL1iAhoh2Wt9Uw9ChBCmz7Ry8fXaaG5a92m3dGoUH9qdKR8TuV5K/T6LL2YCcKfjkByTOA+o4szIwlw1+js9oD29G0vAQLE9KRtqHAttoZfLlRU28acU9sMRLCrNj+cgEqpLc+VRp+1aoE8Dlekp5MteguLEby5CyYdm9S3ryQf/iZ3VjxqlLXSTF5z3qq/zuRolMnqs7loWTRWKTQJNHiVI+iB3XhbG0lVpTINQQHAhHtXOe86VVPB78/ibyShcoEy4bK8SSoHSe0evt9kxQnMTUNG45sV8I6MwCM1BG9Oru9UXBQJr6Okri/0iubrX5tQNFG6k8ezUfpGOBrakMb3KRUvcuCWWPGY+xsYPs2EYgmePeb0XWyApuUN4q2qPsqUEJ6yi5KQGSbBSVvK7qhANb6ZiTMmID0UeUooTkURqUjztyFxq1qnbGlwidMgAkwASZwCxLwQ+OeXCPCOnFyt2rsyFqrLs5VjO8UDDfRAHikzNEF4fwmHP86GSlDhdWqGPdtLTikutvQXevVLuByMyyKYS+lfFVO3+Hfq2fR4BLGiqaPFcNeBD5/mVbyenA4p+0xCf2yWjfTSvNmJeKBDSg4YELsxDRkjSO/4IgImO6i1dQ2jwk7PdTPB3pMfZLfKRvp0oe8lOgpZlL4+XqUaXSJ8+X0BqZcDrHIhLDOk9il1Rk9qa5twhNjYjCKJgDbydVFHG2nD2nqjRWXSf9dX1kUw14Oo/evz/HuI5m66M2JKR05z2pSvEKKiYjEBLqlmnNnG7V13Xv9jyQcneeuIPHZHCRqku64HKY7SaylyU1teCziH8vCBPLxjqSlZhNVkYuauPCiV0kHfzuBj7Q6oBZpOZOJuDBtQk7nf2vSjxMRI80va5XgjgyM1JHhcj9w7CONPimxfRacmR+HUCcxPF16rV+eImufHa9AfXMCkuNp8raNDHHJKG+DZb06idEGdn9ufa8GlskZiJ05BThejdikaJhoAlApTRjcx+MnTIAJMAEmcGsQ8EPjXlGMntGt0VnXVdVn136z+wqZ22S02I7Oi66vsa9eQYctgJuTyx3k0OJ8dOFbsYrmyxEehEDn8LppOwdyvNYrqy1EeAryXyFD4H+1oaXlDM6caSC7fjBMg2whDJ/o5ePCtAfy6wlgKC9txKuXbXsMtLc9nrddwRURQOOc1nFJNSftMbu7vNYI9CjegBCYzOTbb8+KzjrQ8tV5jWHdiY5vHALIF17qf0CYGWbnL8K0tuCMa7OQ3HwK0mMR3N6Cs+fOoOUkTTDuMJEHueYwoteub9Vpsyail1N3cQYEIsQWVZ+BkTrS9Z0ykbelZeTEhKABTuF6Ur+ckqDlA2yqa0TS3FikkbueZQZN1M5bsN7pTYpLNJcbO7GtPhn5D8kuPjGxJlgt62kqxQcTYAJMgAkwATiO3/4BxIrOy8EwRceSu4t94Db9OA955haUrqlH2yVgxFDhk1quMfimwHxnINq+tMe54eWdbJIMOx17y6Bop+SyRqZT+Ap7nKRsFEwLQg254nTMn0l+1vUofbrINvin5E9Egk/GvZLPdWHqe16n2sj4/od74EhhCrJXTkdQ7QqUWDvRFRyBaOEipVlZNo0bAhNNAg/54jZlp9y7MyETGbBNm8ktTDMpNMXGI3pQq+uk05absfqPS4exnFx57IcZcZOGoKvRfkc+k93ccLwUC9ZUKw9pQjgxwWnS4RzP8frUJT0d0BuAEO1s2jGOdHWHs96UOBdOoUonuHzLSB1pQ0cn9QPObSPchBAHn3u9TKbS20G6r0yqvNYv5a2PXkou97bR24xpCzFqbgoG3xuG5oMVvk+IKFHL1no0T0zGxHzg7tuasW9rP+rXXArNN5gAE2ACTOB6EtCsWV7PbHuT13ZUn2iDaWwWch42yQkNT8OiqXEIuXoGjTRUVtSSBXPvVOTMT1A2nZmRlk/uAcEt+GyP68psb6QxHLezm94aRNHmWFlm8RWPgqnRriv3hhMUAamsR5rJgqFVvNm0K08c9MWSnNREmAdctLsjBNIqKK0UikPkGz/UyeASsgWZECWMX93jGjJ1ydv3vCxbD6H5e9FIzk+jTYXioM3Mz85E4jByLamny22VOPq3MIyZn4vk4VIA4pCDvKlmdP6lhqaAN+CQZDJhzNNambKw7MUlmDXOvmbtKpnB+k91okBb/19ejqXzp2O4s2+3kkHgQHqLIJ2LrwrFI8qpirjK4XjH8vFxtEg6oM2/Ul0T6eQg/m7HcC5XQdFIWpmBBDXOgmVIEv7jR9yb9lK999rGLfjoGO0+Fm2DVsqlsomv+SyJh6NInei+Gkx1n/brCOFEmJVJiNZMALzWLxHvUhe54dEGWnVTv7ine1Rjp8UK0/i59DatEQff8zy177xC3cYd1G84p0UucTVfdMIcSzuYTx60+ewnZNMm8dW5Dpt2naPyNRNgAkyACdzcBBzevPtLUatfX4PQ5csw66fFKFtErjZkvLZ9sROlr1dLRbBuLUHpbcuwYHoOiqcvpEGX/nDN5RbUlhVhg2aV9LqWd3MFqu7LQfI8knke5Sw+WflRHVpSR/ZKDOvmtSgdSGWdXYiyx2QWXWfqUP6m/NbCunkXppJbTsYbZZgrHtO7jPqTZFDQl3uSKWfJhKoiH14y+hNeKEMCfTbUsmUhVjlJdc2Y6uXtq/7Iv37t+kAsezodhe/NkvXd3YK6srUol4zZehQXVyAvdxayflmGDAlTF7ky7ETJr3Y6lfR6XerINIBkOroVqzZ4XoXtUf3vbEbV+lU2P357KWuxafdUFKRnoPi9uRI7MSM6Sdyi7rDVEHtwd2fHaWPpB4OR/3ga8t9Ik0O1NWLn0RakRLqLRPeprtZ9nybib9DXrEQwqn8tB2ijqNP+COcUjNRHy4YibA3Nx9zZ+SimTaziEP3E0fMpiJAv6d9yVOwdhZxpVP6yDLoW9aIKdWdSYGuZXusXRaNN/Z+lxmKqaN/0CqnlQCaWr7dl4nCirrqHHq+2beR2CKC5qKq10Cd3aRP1ewm0kcKC8sV2He482oRZsRFo2Gf32Ze+QESTd3mipkmIT5kAE2ACTOCWIfC9O++883/8trRiE2B0CDoa62DRXZEUG0mjEXaFDHuxwt0PDsnt4jb6Ss9Bi8ZlqC8EE24XZEW11KL+lGt65nH01Y2BbR7ztbmEeGR1bZjq5+17XlI54UHfw+OQEDkQbW7rjCu7a35HkkkYhORq4UtmBut/yKVG1NFqsedDrj8DLxgJ6yklWWdG8kzJp682hR1EZh59X0YwGEIr9j63CwN1xCsnKo+RMBTMUP3qUTm8Mw1sdWzbaa9sRHrYYax6vqRHrj2ecuRnTIAJMAEm4L8E/Nu491/uLDkTuOUJOBj3tzwNHwGEZ0mf9sXeXKzw4trjY8ocnAkwASbABPycgB/63Ps5cRafCTABJtBLAnE/pr+q3e3dZ7+X2XB0JsAEmAAT8EMCvHLvh0pjkZkAE2ACTIAJMAEmwASYgB4BXrnXo8L3mAATYAJMgAkwASbABJiAHxJg494PlcYiMwEmwASYABNgAkyACTABPQJs3OtR4XtMgAkwASbABJgAE2ACTMAPCbBx74dKY5GZABNgAkyACTABJsAEmIAeATbu9ajwPSbABJgAE2ACTIAJMAEm4IcE2Lj3Q6WxyEyACTABJsAEmAATYAJMQI8AG/d6VPgeE2ACTIAJMAEmwASYABPwQwJs3Puh0lhkJsAEmAATYAJMgAkwASagR4CNez0qfI8JMAEmwASYABNgAkyACfghATbu/VBpLDITYAJMgAkwASbABJgAE9AjwMa9HhW+xwSYABNgAkyACTABJsAE/JAAG/d+qDQWmQkwASbABJgAE2ACTIAJ6BFg416PCt9jAkyACTABJsAEmAATYAJ+SICNez9UGovMBJgAE2ACTIAJMAEmwAT0CLBxr0eF7zEBJsAEmAATYAJMgAkwAT8kwMa9HyqNRWYCTIAJMAEmwASYABNgAnoE2LjXo8L3mAATYAJMgAkwASbABJiAHxJg494PlcYiMwEmwASYABNgAkyACTABPQJs3OtR4XtMgAkwASbABJgAE2ACTMAPCbBx74dKY5GZABNgAkyACTABJsAEmIAeATbu9ajwPSbABJgAE2ACTIAJMAEm4IcE2Lj3Q6WxyEyACTABJsAEmAATYAJMQI8AG/d6VPgeE2ACTIAJMAEmwASYABPwQwJs3Puh0lhkJsAEmAATYAJMgAkwASagR4CNez0qfI8JMAEmwASYABNgAkyACfghATbu/VBpLDITYAJMgAkwASbABJgAE9AjwMa9HhW+xwSYABNgAkyACTABJsAE/JAAG/d+qDQWmQkwASbABJgAE2ACTIAJ6BFg416PCt9jAkyACTABJsAEmAATYAJ+SICNez9UGovMBJgAE2ACTIAJMAEmwAT0CLBxr0eF7zEBJsAEmAATYAJMgAkwAT8kwMa9HyqNRWYCTIAJMAEmwASYABNgAnoE2LjXo8L3mAATYAJMgAkwASbABJiAHxJg494PlcYiMwEmwASYABNgAkyACTABPQJs3OtR4XtMgAkwASbABJgAE2ACTMAPCbBx74dKY5GZABNgAkyACTABJsAEmIAeAT807lfj46av8TX9//EapyJlb8Gn0rNPsSXb6Zmvl7a0PsZqX+P2Ivyw4cN6EdvHqM5lXPwhTlqtsFpP4sPFPqblU/BnsOWIrEOhx69P7sJKp/jLtp2QdCw9b/JNn6urlLSrPGjOpax2mT7d/IyTNL5fTi6pscn/6TuP+55Aj2PY24fMTmZx8mgNPt5WjCWTrmP9spWhb9naku2PJ9R+bwTh/oiCZWICTIAJMIEbQ8APjftBCAoJkv8f5AQtIAih0rNQBAU4PfP10pZWEJyz8TUpI+Env7QFNV9Y8WnZ80aC902Y61xGu9Ckv/9H0aHQV+iDiH/J/hRYgsmjh9j1HOKbPgep9SPEF83ZZRJ1qHfHZDz9cIxN/mE/nIvM3iXoQ2xN+7BxoHYREYPRkzKxclstPt285DoboH3J1gcU1zPovGJ8fPRrWKuKkXo98+W8mAATYAJMgAk4EfBD496pBDfJ5eiJ8Yi5/QYX5vO92FrxAT6o2Iq9n19PWYIQM3GJPcP0ybgvlC677bf6/OxaljV9CSYMFfJfxmUh+JAHkTqvz0vgNcGGLSaYTPL/j/zzWuz4SzvFCcKwGSuw5dfTvMbnAD4QeDgeoyN6Oyn0IT8OygSYABNgAkzADYGb27hPL8auP9Wg5k+7UDzvGazb8SlOCjeQL2qw5bXHNauXw/D4a7RyfvQkuVKcxIk/bcHKcD1io/FMyS58+oXd1cEhHW1+P12JLbWU3pEtEE4eo7PXYdcRkb6IexKf7liHZ+JEHsuwkWR8JlZYs3REJJO8JPOmZfI1SWmXjeKePIGa/1iJx4crj7V59raMQ2Lw4OjRGD36QcQMEek/juIdgl8Ndr2RqSn7SUcZKOSwOVTeP52Q+AoXkC2vLrHF3fiCIqvOT/tXpyUDODRmMuUmH5NnxEBk336qAcIcdT5GZxfjQyUvmeVGrJij5wwxyEFmO3NK0aWszrko18Mfx8r/qMGJk4rOj+zCuuzRbgLLtzPnPCjJj883Y0ejuDcE8WTwOxwvbJT1/CeSfYG9bpx0Sn/ZJpl/zaYV7svikLD+xbEthVjwj4vxwSnxnCZTjz1PNU85PJTxmZKPZTl3FNv0I96srKuS5dryaryUiFb/jvVbzcT1d9icFdiotkmp3X2IYi1bnxktw7RXNe24itoYtZNplM7HatsW96R2p8rjpU1rZFg2Q1vHP1bqgdJGksxygiEP4hnRfh14qXnxLxNgAkyACTCBa0+gt84r117C3uRw+zDEPBCDUDIfw1+LR6hiPyMkBtMWv4l1bR9g5us0+P96C96cR24USl5DHpiGJfdKa66a3Jdg49EVSFVW5y53XJZcHaYtXoePR4Xjkdlv4bQtP8D8UjyCRILt5JJA/t3bXptMcgAiHgJCMWzi41hdOQzhUxskGW2macgQuibTNkA2FjI370bxDMnSluIGhdLzHy3Bm78LRes/5mK/Lc8+KKMtrXacl94ihGPY/TGIIcEvR6xEvA0gGYdCht+04YPUtcCMYloJzkSMClDw/ekKXO6msosaVq/B6Hza/Gf8mfKNJ2M7dQrwQTVNZh4QNC6j4S/nERMd4xAj87ef4l/nDLPpSlqJnpiKZQ9NwPiIRzHn307bww9LxcpokkG6QyvWgvn75O5z3xy85VJWezTb2ZSV+HjDEowWihOr8FfJvWVoPB7/1W6MfjALif+81xbUfpKJVHIpEsex/34LZbcn4/HoYQgdSzLiLRAt+TATV6qbAP0W0o/SEoNCRPrbMCRgBOaso3oUQ8+j6TlxWG1rrU5lkVM08O9eLP6wDqkvUN0kHU3OBtae9FLGr77DyvTRxDAMc9NJPxWUzUupSI0T7eU0jr1Sh8mvfYyNi0dL9RuXidMApX7voIniM4nI3eMq2uSXdmEjySHQykcQhjwwGZnENl5l6yujYS9gU4qqb5pSxdHErDIe30UQfyUXcW/1W9+hIYHaDk1SvLZpmwxm5JSQ/tWEQkaTnjYBJ9/BEKWNSFmItv0ABWo/D931AUUO/mECTIAJMAEmcK0I3Nwr9zZq5Dd/YQdeSjbhoZ98gNOSuwcZqD8Ua+rL8PxjimF/YT8KKYwpuRD7O1RLVU5k8m+fkQ37yw0om2/CPVH34JF/OyavOk96Bium2DKTToK+a8Be4eLy4V6E/PA+2bg49QEepXj33JOLssMNaCA7dEh8LhLJdeLVA8oadWOZ7EpBxodYOY8PayMjl9IqfkjK8yElz6AHyAh0yLL3ZXRIzukiaFA7drz8CEwT1NVfMqujJ0tvJZY9N1c27LtP44OfPETyP4TFFecN7nuoQ520mjwMD/7TZGD484gXxmx3A+rqnISYsg7PK4Z9e/1bWDyB9Dl7LfZfoHABQzD52X919G0P+g6HXp+Dh0yPILeiQdIVbicD8te2qZRTBo6Xy158RjbsqV68miD0RuXaKSYPTivf2miLSWfCtu8+hkPrT2P/ljoygemgFd1kN28w2v97LeZQWR755w/QIM0pQzH5yWLNmyWKH9CO/b0oixBBOtq+w3fqOU0WvJZxdRX+3CEiDMGDj8k1bkXSg/KE6XgVCquX4eV/kg379gOv4qF7iFPCYuz4iqIExWDuc7b3A2qu9EtxFiuG/VdyuzQl5+KDRlF4YvvECqxW30wpsQwxCrHr+52/yBGDIsJxvmIx1YGH7G1s+IOYRo99a9PUHzTKde6R1XXKG6VhGP3YW5gzgvqMLQ1yhu1UV4Qr1AiaQCqy8w8TYAJMgAkwgetJ4BYx7ttx6L0FeIdWkE9/+Gc0S8YKYaYNpUifAHOIjPxYxRysFavM9WRsVRxz0MPjoxWDsDsM8fmyS8K6H6lrc2KQ1wa/jLoNiZiXsxiLl7+FomPNsmFJ7g8f09dovj65AvHf1eHdf55JRqc2nvP5B8hNTcTit3fi/Oh1knvEbjKkHKcdapzel1FNSe+3ve4dLNhATGiC8ucWZSIyQJhiz2AyrY6L43L9B7QyLExZMvJzPkCdyll66v6fd47JhtGwB8hV6mlyCRJBPz+Ed5yjzBmtGLxkNK96VXIxOX2gELl7JfOZ7E9ajdYahaf2Inf1frG+jLKcMhxSxA4famTLI23qvV8lbUbm74TOt+B51X1KWfl2FnFZ6gRlIteAY/GP4/Ehf0bDGREqCA9OW+EcnK5PY+/zNJmkCc6xLYtRVqcIOWSY48bMXpVFk23YIM0GcSNlXIuy/26VEhgydi5NKFdg0gMyF/Fm4vTiyYhR2g8iM8k1izj97nk8qNxTJ4AaCQBbHGonFXK7RH0ZFpcfko3mAHrjlqKN4Tuj098oHNsPke5pQk//vfXVeTlRsZGcznxr0yTDErnOHXu9AUpKtjcuWmn5nAkwASbABJjAjSRAa3f+drSTuwfJTJIPGiAMbsWwE8WwlYZcA8RqrnaDqrvNmberr/Hb0WYbsSnu+TbJ0FDfwovkpSMoFOZhmrvkZiPWGyWZlCCgtdHv2mwXwOszkQXyrX5yMm26oy+/CNca+nLJ6h0PYtjkR/CqtHKtCW87HYYl/7kbK6fQUrBwC/n7eTRfaMcQm2+ALaB80ldldEr2Wl+e/rABp8ktahitqBaPl0x7NBwjwxHFbrL+Du3V9keniYl8DEIouYDbVqa7v9PWDnsEX89Cwknn9kiSaxXVDmmR3X6bzpYheZQyIYgmX+wSeaVbDRIUN40++VmIV9Ub0i/VFbf61wTsk7IMw8oZyqo7vWU5Rm4/o19U8vBQxrJ1+/H8j2jiRRuD574RKhvuHXX4w8vU9hbbZRw0xAyz7ZLqq5jcCTc0t4dTO2mV2xLI9A5T581S3GvMyFObtvUpBmVwW1Z+wASYABNgAkzg+hD4/vXJpi9z2YsG8cqfjmHT6LvdtpXaaSjOUFZNO5pxyOOKuBxf+nfdaWUVjowW8iOXbTgyqn/0oLwCqwRtOK8YkK1VyBKuNdL/jyJr+VIsXb4Yr76tSdPhNB5LfrUOc8mHf+/qEZLLypxn1kJaoA0ajWnPOQSmGQu5ZKi3yOf7GWHYkyG5fxXled9DmEduIZ7MJTWqw6/BMjrEMXzxDo5JK9O0Nj06hfYHyBGn/TrFtnrrNanqHWgQi8MBozF5vDCOT6NBegPgFNNyXl7ZpbX9ySXTlIdksE6SJwRw1jtNFmzuHTPiYVbmZO0XHN/KOOWiXO7AaXnBGpf/8g4SVJ1PnUdvY4TO/wWFG5xivpQsl7m7HafJlUq4U8n/n5blFuX7lWaWIEWnTcy2e9MQrwr593Z636A5elUWSmf4ZKz4j914Rpl8tP7xHZpkGCxjNb1ZUDYGT6bNwkJDrf9dJu8f2KO2H9ojsTFBaRf3IGH+YmJEnF4udH0DY4tDbW6G2uaAzMeUjchC/3/UlJ30bYiRNoqB8563aQ+JBwyi3Ql8MAEmwASYABO4cQRs61I3TgRfcya/+Pf201cxaIMq+U+vrP0az7eS4X3HEIRKi6ZkZPz+DfvGRa/Jv4G9x8lnnIye0EkrUfvFM2j+LhwxTp+1e2vdDmTG06bRiFRsOvEx9v93G4b9cAJ9VYYybSX3j5E73ORUR0bvNjw+kcLNoA2Gk46RoTcE4dIn2C+jvUWOdkyUQUwnyGVk45EanG/Yi0RaWZUPMoKeJneH9EEIp82ZUjHJuWKQbWKjhnP3a6yM7mJ7u//q+/uROYr0QT7WmZutmEuzj6AgWoVV3rB4i0/bNLG/4V8xbYhifbc2YEc1xbrfKeY6+pwjTeAyyS1kWPoWnHyYvqZD7jHDpDc0dr3b1vvJmH6m9iSST9Fm4+G0kVYkR3sm9v/7fkp7mVPizpen8Ub5fqSKeha3BB/Xjsb+04Pw4Ph4iBc3l4+/hYSKvQ6RVtIEQsrj862YPfUlzVuDyVh36EPpC0ejfyiMWe0z8SUl+orTDNoTcDt9JUhyZ6GyVL9LGz7Frgvl8FQWNYzTb8wc+sKP4i4m/jaEerQffwdL55dJl8bKSCz2HUNmNLmESemcxqF1cnycegNlB2jj8qRQjF5MX9aJIzeogfR3Cx6iTawBl+ntQAI+2KPmrPyeoj0n1RRnSqjc5o5mopnW/NU2137gHRRWU9g5Snj6McTIHtzQWc/btE7yzfKbHLEhesmJGqScPoZ3H13sOrHRicq3mAATYAJMgAn0JQE/XLmndd1/m4PF/0ZGhHjtL/xnIxTDnlZMGypexTzdr5i4w3Yarz5diL1fyevhQeIrKkO+w7E/CiNcc+zJxbyf04ZHcvcJGkIr7o+RrzEZ9pe/2o+3np8HxdTRRLCfrn1uKfn7U2qh9BWZdPLDpu+4DxtwGaf/+Dr+hb7WI479q9+xyRA6lL6QIizI6lfxTrW8fCzdiw7F6X+n1VYpRiiGOPglSzfd/GOwjG5ie729bg5mv/wBreCTgSPcMDpoA/C/vYNDBn3uRfpv7fmzjXd7w34y9/WO/ch9SmFJjwUTybB3p/dT+2mzLX29JJoMezGNvUx+06vnIbdaL23Xe9p6Fkqbh1N/JBv27X/5gOrMqxrjneIOX00++nIaskuRNr39KDsmaw00CXreYVJG+wdIx6IsqmF/ek8h5j0vTHvN0ZOy0Oea1D/4Jty62s8cw47XF+MRmnio0xKjZTz98h/seyhO0X6RalU28mWfvRhvHRBvlELJ3SwV0yaKr9PIbTHr50q51eDK71tPzEbhHykOTQCD6A9sSYY9yXj6AG1aFV+ecghvkJFDHAMXvWjTLqm//gY2izZORxDt/YgRdc4lEN9gAkyACTABJnDtCXzvzjvv/J9rn801zIH8mB+nbzVePlOHHWRg9OqQ0gJNEPY6ukQ4J6rk2d7wAfbWOz/0dE2TgnT6NOd3raj7vdjo6XoMI+MoPoJeBtTtkDZZSiGMyuWanOudvkxLSV2WmUyZ9gZapVWcSWZsxInNqfSOgjaKrqMvwfzcVZTe3VFYavN0k+DoGY+TY4dGNjfhPN3W1YunCN6e/boGVtpnQLUNZSb6XKQbvRTXWmnFnIKJryjRF5T6oizuROt9GYdh8mPxpHP39ds1bw9xDDJyTbMHd3rcpp3y6qt0nJLlSybABJgAE2ACRgn4v3FvtKQc7poRGEbfOa+l75yLlcrL7a04T58RDScXG2m1nDZerp06E4VGNo1eMwn7YcLOhqsbEZ2NezfBbs7bBhndnIXnUjEBJsAEmAAT6BmB7/csGsdiAnYCp3+ehVfpO/LtwsWCvgQ0THwRSLjB0MbVd55fzIa9HRWfMQEmwASYABNgAkzgmhLglftrivdWS1xxlaFi94mb1K2Gj8vLBJgAE2ACTIAJMIFeEmDjvpcAOToTYAJMgAkwASbABJgAE+gvBNgtp79oguVgAkyACTABJsAEmAATYAK9JMDGfS8BcnQmwASYABNgAkyACTABJtBfCLBx3180wXIwASbABJgAE2ACTIAJMIFeEmDjvpcAOToTYAJMgAkwASbABJgAE+gvBNi47y+aYDmYABNgAkyACTABJsAEmEAvCbBx30uAHJ0JMAEmwASYABNgAkyACfQXAmzc9xdNsBxMgAkwASbABJgAE2ACTKCXBNi47yVAjs4EmAATYAJMgAkwASbABPoLATbu+4smWA4mwASYABNgAkyACTABJtBLAmzc9xIgR2cCTIAJMAEmwASYABNgAv2FABv3/UUTLAcTYAJMgAkwASbABJgAE+glATbuewmQozMBJsAEmAATYAJMgAkwgf5CgI37/qIJloMJMAEmwASYABNgAkyACfSSABv3vQTI0ZkAE2ACTIAJMAEmwASYQH8hwMZ9f9EEy8EEmAATYAJMgAkwASbABHpJgI37XgLk6EyACTABJsAEmAATYAJMoL8QYOO+v2iC5WACTIAJMAEmwASYABNgAr0kwMZ9LwFydCbABJgAE2ACTIAJMAEm0F8IsHHfXzTBcjABJsAEmAATYAJMgAkwgV4SYOO+lwA5OhNgAkyACTABJsAEmAAT6C8E2LjvL5pgOZgAE2ACTIAJMAEmwASYQC8JsHHfS4AcnQkwASbABJgAE2ACTIAJ9BcCbNz3F02wHEyACTABJsAEmAATYAJMoJcE2LjvJUCOzgSYABNgAkyACTABJsAE+gsBNu77iyZYDibABJgAE2ACTIAJMAEm0EsCbNz3EiBHZwJMgAkwASbABJgAE2AC/YUAG/f9RRMsBxNgAkyACTABJsAEmAAT6CUBNu57CZCjMwEmwASYABNgAkyACTCB/kKAjfv+ogmWgwkwASbABJgAE2ACTIAJ9JIAG/e9BMjRmQATYAJMgAkwASbABJhAfyHAxn1/0QTLwQSYABNgAkyACTABJsAEekmAjfteAuToTIAJMAEmwASYABNgAkygvxBg476/aILlYAJMgAkwASbABJgAE2ACvSTAxn0vAXJ0JsAEmAATYAJMgAkwASbQXwiwcd9fNMFyMAEmwASYABNgAkyACTCBXhLwT+N+QSE2vrsRpSszYHIDIPbZNVKYja9luQmhdzsZeW9uROECvWf2e8kvFGPjm3lIlm4Zi2OP3c/PBFtb2a6PrBLP17KuT2b9MBfTtBysWbcRZWVlWJPdDwW8JUWKQ0Z+MUrfK0PZunylreuDcOwP9MP0m7vjMpD/ZqlU10pflnuwfiPbNRTEWUc3vs/JQuG7xcib4a7QxuufuxSu/32DY6E0fhciSxHwmuiiz8cxoS/vtsH1Z66XY1/J2lfp6MnYX+8ZrMP9VXyNXP5p3A8MQGBQIIJHxCEtXFMa2+kUpIyKlMIEDgqw3fV+EojA4EAEDPQcsqO9DdZvLqJDCmYsjucU+9FTwZYYBF5HkQIHhcA3PV1H4XqVVSwyXilBgcfJYizSZybAZK3CquczsXxDrzLkyH1FYPYsJMcCJ95ZgczFq1ClpJuSswZrXnA0ih37g74S4Nqkk5aajFicQOnPMrHwV0qpRmWg4DcFNmPr2uTcV6kaaVOueTnr6Mb3OQEICKJ+z90I7Kb+uZasP90xOBa2tcLa2oqLiujXRBd9Po5dRGurFa1t/Ym3O1n6Sta+SsednOr9nrVpNXbf/hqsw32b6TVJzRfL95oI0ONEO1vQgkiMmksjcInFMZmkeETd1ozm82aYHZ/0yVXthgLU9klKnMjNTWA4hg8NQ/A5T6UcjrDbAOvn5bCc9xSOn11XAqZgBHZa0biv2SHbu6MiMbjNcerrT/2B6bZAdLY2ovqUplhDhyPy9mB8rbnVf0+NtClX6f1JR5L0buqfa8n88M62Yizf5m9yb0fxS9v9ROi+krWv0vGGrWdt2luqt/pz/zXu0Q5LYwitrqUgARYHYzstKRZhX1fhs4HOxr0JCfOzMGtiDEwhAei+1Iz6XRtRssdxAAdNCZKf/QlmjbsbwQO6yfD6BJW/K0etYnwlZBdg1g8+w/Jid42d4mfPR/KYKDmfb06iZs96bNpr1a1vpofTkTkzCSMjgxFwtRPWxhqUrylHvRQ6AdmvzMIPjpXjlDkd00d6lqm8eTjSHxmJu0X5vrHgkw83ofy/9POVy7kAKWPMCB0g51t5yVVE84xszJ86FlFDSL4uK04erML6jVWwIh5Z+U8gyroLBeurNRFTkPNaIgbWrUDx7wGpfMkJGBkVKpXv7ImPUEHs5PJpotlOvenJGBPMzsWa0d+ickcnEtMTEUPyQ2VyLg45T89CHDFHx1nUb1+LEo1+vMms1oGi44OxaEYiRtyh1Kc/lEjpSM9HhGFwEBAwmlZ7V1PhztU41BnXMJ1o2FGADQco7PBk5PxTCuIUZqJOaOughGpcGnJnT5frDenFcqASmzbXkl7oUMv+iw2atkHhV4/Ft2oeTvW8vakeO/+9BFUaw8+97iUJYJ6Rg5+kxsn1zW17ksN6LZMq8w4rJijlQocVDbXlKNrirrbQ27tcd+3CXk9aozMw9X4TrPsXYMVGpU7qtjnBKBERIeTwFzQYyavXIEnojdrVmokRCLkDCL4tmfSZBHQ2oJL4ItuxP/BWNxQaErsFM+Ngvk1tq3UITp4CfKzUATWg8mt6OANZc6YiVtQ1weWgRt8ijKc6I9g6yX+G4n87ehZiwgaDWjbGUlnXUDJnDi5HTVg+nri9EUWvV8j1iXpZ0Q8N/qIIRe8r/cmkbBTM/AE+W1GM7eQgmTA3E6lJSt/jojel7u2uQdA00e6uoOH9XBTtoV7Ibf+iFFz5cW0v9EBtU1T27IxkTPwHE5WkG1Jd/i3VZcN9tvE+R7cueenfRDuRdU3VprUBNds7HQtnu3JT/6Sxpucy2pJX9PiDY0U4cVeOre8/e6QSv327HpFifJwUC1OgPO7ZxyE5BakOpsl9aUBXO5qP7sTGt6vgOIJ6Hj/1+ya7hNK45MP4eX3GMee+k+T11P+K4oQnIH3edCTcT+Mr8exsOYGPaGKz/YhaVkdOev2vGtLx12Bbs/XzquyV6EzIQGK0CcFX1fGiBXGqrYNOiHqwlvQpt3A1ntIfGe2fqdwZT82S81HS/O25kcgxn3IY/0SZPLZp0aeI+ujVXrPT8dyXqOMB1f2wRUieOEKq5859hZyaCckLPIVRbLzxIg3ItqQy9kvxjbKCp/FLpOSbLSnLLv/r7qWgNky/PbfWNqEtLAqJNM7ajzSMjQIa68rtt6QzE1LyC5Hzoyh0Ht2B0ncrUXMuDOMzC8jPmVb/NcfgccuRbr6Iuj+UorK6AYhOwcIXs0kN8jE4PBKRke68/UU+P0NWYoQtn4OXIpBEPoD5j2oyUU/DM7BsURpGDmxE1fulKN/bhMAHKL8XpighBiN8aCTG/O8cpN7lRaYHZyFnZgQu1lH5Kveh4WoMUhblIXucmpn2V5FzggltR3ejfOs+nLl9KhbStfYwpebjZ0+SsdP5GXa8SzwOdyLiH8kX7+UUClaHpishiP7hFKRpIpkofIIZaDtIN8dlI0+UL7hJKV8jAkamY+nqbHIP0DuM6MkYE5giEBk1EQueTURI8z5UvL8bDQNikfJ0AYp/ng7zpToqUyUOtlEnkrkMGaqLlwGZpTowMhUFGXEY+AXxprRPdJlt6bSda0JzcwsudtNgfoHeIjXT/2fbHQrsGqYJZ9tkZmteyUKcjZkF3WaaML2SB0FdOkjGNc+l2+qN0EvUjxYSa6WWirIPDcdgNbz0a0IE1aVwelMgjticZciKD4CF6nnp+1VoCRuPrBfzMEV6SgawR91ToFE5WPbkeARYRHsqR1ULtacnlyPPoT0qiQl5vZVJ1ddPUxHxDelL6OZCCOJSqVx6aVKLzC5aivSRAWjcW051/iA6hyZr2qpcT0bOzMHUu9pxou4w6r8keTy2uXacEbq6QMZX90W0qHq7cEbSofX/Al2XWmR9fnUWQl3O/YG3uiGImOYXooDYmb6px+73id2XIUh8+gmM1ehHhLMfachZmIKoNpr4UzvccbQbMY8uxLL5Snv1xldH/jMX2nD2KyrruYvookHYKspK/5+5QC370kCYxsTZ9xqMmoBR90UibkyKbZ9T7LhRiA6hvpaENM1fhoWzRyLgr1UkH5Xnq0DEOuhN1D0zJs5Pp3bfhPq6elhaDNQxOwC4the1TU1B3otZSLyrEwcrqS6LehBBBsZS+54sZx1pkhXSGxgb3NQlA32F3I5UXVdg3zkTpi6ka0chlCs39a83Mjrko5RjRgGNcR20uEV9+sF2mCZlYfmbBVg4MQTNn5SjfE+D0zgk66rwp8mIUseCWivCJmShwKkv9zZ+Sv2yS9+kCqmMS0bHT4kLjbfXehyjfLR9pxjXPPa/om96cSHSRgajiXiK/rVx4EikP7cG2aPksnrrf1Uizr/G2pq9nxf1W257OUgc1Ix9W8ux+0tqn48uQAHp3GbrSPWA7BG1T3Eus6H+eQpyf0aTxmigaX8lSv9Qh4u0KLl8WrSuzeS+TRtpk45kvI5XNBoKW2ok1f2MuIFooLpfvucEuqIc+wqR6uBxnsNMeWG5bOMdpjKKcervkbaxX5LKECtv45evbcGRhx+v3FNBDuyEZU4+4iaRybNvp1yy+RMRTesIFfTaz5SgKSx1XjNjyQjYtgIFW63Sg9oD29G0vAQLE9KRRq4225XgwZdpxeqlYmVluRbbm/NQsigRs2ZvQL2314lJevnUoruwGMmTs2DavUmZFSuZRQej6+taVP68BHIJahE4ohQZd42gANVKICDw0gm86U2mIDJgXl+OYmVloPb3TcgrWYjE1DRsOKKWTklSh0fVnk+QJeQ0qdlOQdajsQg4uR0rfqGs4B2oRW1XIYqnJSIrfCc27bJg1pjxGDsb2C6xoQpJKxVdJyuw6bwJWUunIvLvdQ48q84JnmORQgabZZ+al3u53OnJGJMAtGh0XjUwGqXzaFpxsAjLf10vZ9p4D0a9EYfhYhK0m2Sea1Dm4A40vp5r511vQrGSTvmOTfQ+KQX548jYbqHV/PVO5aRLi5swGYU6+Vd3oLAoGck5sdhJbmgZOjLWfleAwngKQzVX9RF3zdV+Z3gYWWbn6lHxe3m1v7alA1mT6Z50GNA9uRyFXKW3Hh9ul99qHWhBx4KpUFOw5wRdeaucyiSFDxL6Wm5rozjQjfBSMtLuo6fOdYUMxakR7ajT1vmDnSj45QQkzwDqaVVYHMGdJ1D0vNqe6cYkT21uAyrergYWrUECpW15W22X5P1H+WcXJSCyzYKSt5X+hpIbTv+7HB7qBnYnIOthM0DtqkBtV6SxT+bSQsPsSJek5Bu02hbUhqYDm1Al3uxQO2y/lIOoDtFYrQb4VujLv49cGh/NR+kY4GsqK72HUI4GnH0sGTFz6XIrTQQfiYLpb1a03UMLBjQJFm07YSgtDJyuoHpOK3CDunC2thIrShQuBwIR7aI32s90ZjdWvKq+DSCj/Fkv/Yuy8i6EctdeQEsLVy5ZULV5FcqPi5DUR90Vg7L44ZhAV3ZNiWc6h05f6K7PcaxL1FfotVWH/o107dyH7iFdP0l96AyhO+ejWr/+TcozPn4513fnLOjacYxrxD2xxUgIs2L7ywWokJhXOY1DOuWgOqiOjek0NhYoY6Nj2vYw12T81NFd349jrgC99b/1T+r0TXtapfF47MwpwPFqeO5/XfNU70QbamtqaPWX2t55antqf7NHbp+xtEBnt3XkehBn9tBqvPXP86cj/narY5/8+3rkvplH7/ldD7dt2of6LqdqYLxS+hKpfi5Vx4Na1N9ejOJxjn2FtzChVztg+eMmrNosej/qcQ6YEFM2UbEhZInglZVOHdGOX9/5aEsq2ao//m3c07BS8XkLEn4YT937TunVcFasGW2fl0qGerZaSvEba0JY50nsUgx79VF1bROeGBODUWQMbFeMAetfP1IMeyUUDYBn5sch4l4xW6hVo+r/3kf50OvKM6Z05DyrCXKF1vgiIl0HmwPUKVLFiJ2YhiyqYJERETDdFUzL3pq4dGpIpr814SPbKz8RvxqWM5mIi4ihl7FOkgsel8Us3ioCKocVm5paNMY9vXIK60L71yakP5ujBqLfLrQNoLcXkjFcgfrmBCTH08RlG01cRqUjztwGy/rtFC4F4gVH57krSKT4iZoUOi6H6Rtsfa0nMj4btGW8KoSwounjers05y9TidRjgnGZ21pwSMvbIR01PV9/UzCcmFmPlDnWwfObcPzrZKQMFZokH0WdMNbNtPK22Xh+h442YdY8cjH5TSxOWg6jZt8n2PS2Wh8M6P5IPZrSMpD8qxLE/tWCw7Wf4JONJY6TV0kcI2WSO0k468tDcVLMBOF8PcocdFCOgoXlDrHaTh9yZGmwzTkk4uuFx7pBbg/Urpo/UY1cOXHr1q9hdWvcH0bDmURMfaYUxUkNqK8nA/H9EmX67wNfw+Uop/qWgqn3pVCMU5hO7i7NdavQGp+PGGGUvpeMe8NpsrFd7g8ln/bwWMQ/loUJtC8hMsIEchu3bZpUsz3bqC2zgTq2W43p6Vf2DTaPS0Z6dgzMEWaYwklGct00dPjQ5zjWJSN9hRtdv/clWnSNezcS91hG/fQcy2HFZeoXu76i8VQzmXKMKcrRiZO7tfqjEPtq0JQeh5j77ZvMDY1Vjonbr3wdP6/LOGYXTz7Tb2/a/jeFJr64ZMWViTnImaiJ39mFMNMIulENz/2vJo7TqdG25hQNjm1PfuqoK7keOMdzuPbSP0t98t/I/UjbJ1Pv29jaifgwh5Q8X/hQ3+WEjPcljnWfxtqr9tFfFcpbmO3Fy7F9OL3Z/HE2Ysz3wGyi/o4iO/Q4Rlh5Gr8W+WhLqsIrv35u3JNitlvQPCkJY2mFafv+NMSSYdm0p9qpmB4u267giniscVDq+k4xNJyiBQaGON1xczkgBCYz+dk5PO5Ay1fnXQY7hNPq7isZiP1fbWhpOYMzZxrIrh8M0yCHyDAkU9e30iqaY0y6GhCou5qKq1fQ4RLY+QbFNdHeBcfCoOOrFpyX/PNpQlDXiCTa2Cy+XGSZQYPAeQvW0yqnegSEUfyB6pXy29qCM6od6fRI97Knerrc4djgpMS78K20wqebk3TTkMydF71N9dxn4OVJF/lEOh/dV6gTIoNJPfTCqM90f8ODEKh5YN2xCiu+Sac9GuMRO+5RLJyUhieOk3H8q52Kge5F9+d3YtWrF5FOfuDjY+Pw6IIEpM21oPwXq7BTx0jQk9e5TNDVl0Zo59Orl3UmE46BOi7JBqjtrsE2ZwvfkxOvdaMbV77zJeF6bMgrQDOtCCY+FEPtjQaW2S345DfL6a2cnI4hvj5kWfV5M1ImxiJhVDSiBjfjEK1S1dOqXP795JozNwp3Xz6DmgNyguKVeEF6LILbW3D23Bm0nKTViTuE/7v26ETHN9prce6ljjkH172m19url9JbHPITP0MfWiDXIsuVQETeqxvY+E2dPselLlFq3vsK0rX3jta4XNqQBmXURhHneuXo7jIgpLQ4ok2tDVfI9RDft/cshsYqbRLO576MnyLudRrHnMXUa28OYQJDYTY7tgBQv95yTu7bvfe/DqnZLoy1NVtw5USv7dGEzo2t4xzbdm2kfyZ9uI5ethR6d6JT3+0JGutL9Oq+PQ35zFuYOHqzu3RSJHluUn/TQu6Bx64gMCLKMRlDrLyMX762BY0ETjVP88RfTtUVzXHkoxw+CpF/a8QmjWFpK4a1E13BEYgWq82aWaVp3BCYqMEd0qwQmSLTKVCFLSpoFSgkiCYSX1XZ77k7E/mQMd20mdxjNAakKTYe0YNaXYzBhPkzyQe1HqVPF9FcXj5S8ifSa27HDAzJdMc9cJScZpMhZA1eOOXqpkE+xV3BJkQL/z+NnFOEq4bNHLai8zINv02byIVFM+ERK3TRgWhVBnZsozcE0xbSl4tSMPjeMDQflF/VixW/NjEBuHQYy+lVvP0wkyvVEHQ12u/Yzq6XnmwZOp/0QGbnJHp1Lec/YqjwFy7XdJJTYL4zEG1fCj20SVxHONfTJNrgOC0INeTipVtTJ5ukCafc8dJmr0WxuHx4A0pWyboRg0bhvJnImrQTRQe86z5hLu2buHoYG95eJbcWYTT/MgMz5ydg5+tag9pImXyHdqqNjJF/cK7zU5C9cjqCalfQRnn9NI22Of3YfXFXsA1GROwUYEe1PcHZ97iu/ihPox/NwvSwFlS8V4Sq98RN2hD+Rh6mzs0g475erg8e64w9G6Nn1j1idXkUEmeSi+PXh6g20vFxE6zLY5BF7kDdTZWKy4vssoHjpViwplpJnurCxASnBQ7lke3Hex2zBfV0IrlnnUVV3gpyF1IC0uCbbNS496HPcRTDSF/xd0nXpuhYcvnT9KFJg6UFF4eVPsfEHa96LKNjMj2/UursfXFUDs1bz/AJGDKYxsa6nZR0ipS8obHKnSA+jp+4LuOYs7BKf+ah/5X6JuqnD79Ebk6a6OZxCRjynRj4vPW/mkgOpz1taw6JXLMLqdz3RSque2o2sYi6I5gmYeq1gV+f63sf9SUGRCMnU6STYX92by5WvKdOY2gPxowoQ7HVQF7HL1/bgpqw8qtZr3Z64keX5bRy3GWOQ5b4GkbDR/qr19sqcfRvYRgzPxfJw+XCmR7OQd5UMzr/QpvUNOUNHJ6EAjJQTOJeODWmpUkwdzeC3oR7P6R8TBjztDafLCx7cQl9fUcYzjpHIM04adVbHOJrBPFDqSE4HYZkCopGEv1hkh9w5wAAQABJREFUrwQpLfKJXbAMSeYuNB7REXxrHU5eIjmfysEUhYd5Ri5mRWvfnW1HZb0VprGLkDuDfITFIfHIw5LU8Zq3AdXYaaFw4+fSG4hGHLRVeHrNW0sd2YhkO0/a/Z328nIsJd+84epALKcs/3u99KTN0+G8BzI7xNde0EZFWmwfbKKVTu1tj+dK/vdORY5aBwWzfHKvCm7BZ3uE0UxhjjRLXPNn2/WSk5oI84CLsgtKJy2nBUfRZlQ5Z1GvCqZGa1bu22C6fyq55eQo9YWSpZVk+wtK77pvo8n01McykPOwWjqKbU9AU0ojZdIEN3hq2XoIzd+LRnJ+GhESB9X5Z2cicRi5g2jsD93kDLQ5vXidVwjrHcRV76Hhe9tRfaINYWMyaVMtTdoonjmJNiY+YtboxzGxxkFRGJ+ajkWqvukdYIeNdS/5XuoitdFmM6Wu2HI+X0ufEzbRJtpQ6kOUHvL4R2i6SJPz+2hvxBc7bUHFSeDAEKWekx7m0+eIXbsxh/D0rtVg/6KN5q5NBSMkUglHX87JpbHA8OFDn+OYpsLdY/9WgbrGTupDs5CTpLRVIV9aDMJ8MXZ6LKOjxD2/knUVNibLYSzIeZHGxk4LajbbUzY0VtmDO575On5el3HMUUQj/a9lay1tNKe+yTYeUxufnY/lzy3AdLMwCD33vwnZtP9mda7Dhyq0Uvje1rSxr9251CdfNSPpX3KRQq41oIXAlNxFiLvTU546bdrn+t6TvsSTTN6fBds6HPqiTe4oH8Z4OW2v45evbcFJZP9fuRcF2kaG6kxybbmdXlNv1ayOOBS2HsXFFcjLnYWsX5YhgwbGwMAuWC07UUJuCNqj5UgdApNyUPxojnybvqlfW17iwR9RG1snnwGUz9GtWLXBVbbazbswldxyMt4ow1whE63V1p+kxk9fExBejKpZbkimM3Wo+z4ZhW/Ql1WESPRZzZYD5SjR+pzbRCWXivUmFD5LXxf5ZQIWivuXW1C334KQBFsg1P96LSqWL8OszEKU/R8JGrr+Vo+thRscJlGWrfVonpiM0OPVto3JIhXr1hKU3rYMC6YTz+kLyYigPxLR2Yyq9eS6Yc9Gc6bD75roSZOl06nvMjslYLusRdXRWYhNykDxexnkH/4JMvM22J66O9HNn3RTW1aEDcpbFuvmtSgdSFxnk14eU/RC+i9/U1nt31yBqvtykDyvGGXzKCfxqcyP6tCSOlLJljaFbq5C4SL65GbReCykuUCgeDt1ZCs2KW9kvOq+hDZ3vkZ5/LQY4xeSDAGBklW9dbOYgDgeRsrkGMPA1flyrF0fiGVPp6PwvVly3eqmOly2FuV6E0clSaNtTk+CqloLfVY1AXnvJdBmEnJBoj9w1ZOj+vU1CKV2lUpvvApnUOujb+rX7zqMFnK30T22lWDrvfmYq+hbvB0MpD0zVW/LRnev+B6gzwanxmKqqCvptP/7AP0xtfVCCvqUbpOVNlrSHpqtqlQWfPRX+ghunPZeLTbtnkpuOaKez5X0IGZXJ0kHUXdoezE1Dfuv1zpmD6qc6bWpCnwyitxyXijDeNEU6LO+zcfPojM8FHe7xNe7YbzPcY6ty92pf9tJe1JMop0sKkTCIkqBfHxbDu+D5bZE5+Q8XPdcRg+J+vRIX1cW7HTqyw2NVW5z1imnh/FTbJe+HuOYs7he+9/ztIG9NBjLnqKxmMZj0T1K9XJvCVZJXgKe+98JSbRvhRb5XKeoPW9rzmW4Jtdqn/xUEv2F73hkUF3vpC/VffJFIlLC3OWo16Y3GLbX1FT166erraKG7/lvOSoOxGFpUh7KJgjF0t8O+bIeZzvjEKouMBhJXGXldvzytS04Zvq9O++8838cb90CV7QRIiFyINoa6zz+4SD1FVodrUr36JDyEYMlGb5eEhB5RQ5sQ+NBi8YVQ0Si19v01YnQOnnAdSdTSj59YSfsoGw8inyH0Iq9S1r6Qkh5g4xHsRrs9hCuNFRzW2h3+Sm3gTw8EJuGoxFyqRGGebrVkzEmHoQx+KgHMuumrLohea5vrlHl/MOueNKNZ71I7mC30Vd9PNQFKczttJbktj14zkOszsSLNz4XjOjWSJlcSXi7Y6wOO6bivs05hnO9kssQ2NrTtuCaonRnVC6KXx4J63sLsWqPmzC0zi/aYbBYcNBtr73g62O/4SqhLNtAQ/XAObaXOuYcXOIgXPvsbUqux1cM9bcuyak33PY5agB3vzJ3j/2blLax8cBdLtL9HsvoMVUfHhrTs7uxynBGPvIy1gf4Ws+8Ses9PW99sH7/G4vcovloJVczefruLIcxHTjHulHX6Ss3Ii2oBpkveVrcEmVybNOSvD7Xd+866RMOyrh3pcc2kV0Kr3XXx7YgUr41jXs7Uz84czRk3QnsYNy7C3TT3DfG5KYpLhfkJiNgQkYh+YQPPIzS/7dE+eN45Hr1ys+QHtEkvQ3Qf6t1k2Hg4jABJqBLIDa7EItur0HuGj/rCWg1u+SZGJzZ9kus2iYvFgr35/xnx6PrT/T5aR3vBV0AfLPXBG4Ot5xeY+AEmAATYALXi4CV3Ke2InLFXHKJ2ii5RAmXJtnNxp272vWSjfNhAkzgRhOw/mEtcs/30GPgRgq/rwilZvpjoar7IPmFqO6eRWzYX1fN8Mr9dcXNmTEBJsAE7ATkV/IDyefenZuNPSyfMQEmwAT8g4DsGhNMHxp37+7pHyXxVynZuPdXzbHcTIAJMAEmwASYABNgAkzAicBN8SlMpzLxJRNgAkyACTABJsAEmAATuCUJsHF/S6qdC80EmAATYAJMgAkwASZwMxJg4/5m1CqXiQkwASbABJgAE2ACTOCWJMDG/S2pdi40E2ACTIAJMAEmwASYwM1IgI37m1GrXCYmwASYABNgAkyACTCBW5IAG/e3pNq50EyACTABJsAEmAATYAI3IwE27m9GrXKZmAATYAJMgAkwASbABG5JAmzc35Jq50IzASbABJgAE2ACTIAJ3IwE2Li/GbXKZWICTIAJMAEmwASYABO4JQmwcX9Lqp0LzQSYABNgAkyACTABJnAzEmDj/mbUKpeJCTABJsAEmAATYAJM4JYkwMb9Lal2LjQTYAJMgAkwASbABJjAzUiAjfubUatcJibABJgAE2ACTIAJMIFbkgAb97ek2rnQTIAJMAEmwASYABNgAjcjATbub0atcpmYABNgAkyACTABJsAEbkkCbNzf1GpPRt6bG1H8QrIfl1IuQ+ECPy7CdRQ9+YVibHwzD/1N46ZpOVizbiPKysqwJlsAyULhu8XIm+EDnAWF2PhuIcX0dPQgXU/JGX7mKV/xbCOuWx02xAnor3XFO3JPrNXYzn2fkThqXH/9dS6zb+XoN/VhXAby3yyV+orSl290Tya33Y3Uft3+/1qWBFrip5xLN/gfJnADCQTcwLw562tOoAMXv7EipL3jmud07TIIRGBwIAIGXrsc/DPlWGS8koOYr3JQsNFego72Nli/uYj+pfFYpM9MgMm6E6teLYflvJA3AAFBIQj0ZXmhrRXWVuCivbg6Zz1IVycV3295yvciWlutQJuPqT5KE6JHglGVV4QqX6K6cPKnumKkoJ5Yq/Gd+z4jcdS4/elXX3f6EjqXWT+Uu7s96jtGZaDgJzFoeq4Am9wl7OP9tNRkxOIoSn9WjOpTPkbu8+CfoOLdBgSr6Y5LR85EoO7tChxS73W2SGeBg6g/G8QmlYrl2v760i56IElP+94eZHWtonBNvFZk+0W6tdjwi9p+IQkL0dcEhmP40DAEn3NMt3ZDAfqfxocj7DbA+rlq2DvKbPhqWzGWbzMcuh8F3I7il7b7Ls9QMyLD2hHoa0wXTv5UV3wtrLvwN0vfp687/VL3rsw96juGDkfk7cH4Wl+gHt013RaIztbGfmDYC/GbUX+g2V6O2FnIoatvD9T2w37WLubNf+ZLu+gBjZ72vT3I6lpF8UvjPiG7ALN+8BmWF2sGzEnZKEj9AT57qRjS3fAEZDw1C1PvNyHgaiesjTWo/F05aqVVQ8JJz9PnTUfC/WaEBnajs+UEPqJBcfsRBfXsXKwZ/S121QZheloc7v7/GlC+1HUFzfRwOjKTEzAyKlTK5+yJj1BBctWLZCZmIX92DDoOrEXxDlq5EwetdOTPH4Wuzzai6P1GqGUpbx6O9EdG4u6QAHR/Y8EnH25C+X8pcSiax3zouS2d8zHISIqlVdJ9WPDzBmS/Mgs/OLYcxapRZLDclSTvhNnTMTKS1iw6rGioLUfRFqlUohTAuDTkKs8DuqywHKjEps21sEnsLR+YkfzsTzBr3N0IHtCN9qZ67Pz3ElS5XalxDG/9/BO7PmfkoHBqMOrXFqFC1S+JGDs/H1nmFvznqk2oEzKrh0233UickYgRdxDzjrOo3/FblOxRO3Iq3+qx+HZ3DYKmzUJc5BU0vJ+Loj2AeUY25k8di6ghwRBlP3mwCus3VtnKbno4A1lzpiJWSpfYHXRkY1SXRccHY5Eq3yUaZP5QgpK9VlnXI8IwOIjWv0evwZrVVLBzNVJ7UOuB3DYSFP0X4UTYIiRPHAET1XWJ9W+JtYaVmRgumBkH821q/atDcPIU4OMCbDiggrP/SmWYmSTVD7V9la8pl+u9PZiOrJ1o2KGTpqKTyl9s0Ayaig7U8Dph7HKDDIIG1Gzv1OSuczo8GdkZyZj4D9QvwJlFT3gZydepHFCvK2Edn47pI6kNQO6jZIbieSIiQkxA0GAkr16DJHoucTPJ/ZJRTsimvtJAXUn750IkDqxH0esVtnpMLQgZL2dh+Ln/xKqN1IK8tmktb3sZOxMykBhtQvBVtZ9oQZza9qlcZ49UYu3b9vZDLYz6hgVIGaP0zZJeHftDKacB1Mcvt/fxIp3fUjpyC1Z1qen7tOKJc5/K4xyZrr30gdejnZd76+8Rh7RcpY5RP+vQbzoVybe+Q+YbEzaY6m4AxlIdXUPpnTmo8PbCVs3LQf4jYVgzMQIhdwDBtyVTv5ZkS897f2NC8gJ7H9fZUo/Kd7XjCdWp7PlIHhMFkzTGnkTNnvXYRP1pXx+maVm6/baaj7d6Ieplr2wXNSPl1zM7tZ2U45TZfT2x6cujneI4Rnsb0x04uYy/ir7GizEL6DY4/kl9h0c9K/2Szrgu4/LQ94pxkMaPnH9KQZxi77nYlT6xdwrcx5e+vBTv46x7ntzg8EhERtLApz1uC0fk0Aiod9N+shAp5nbUvF+K0j98hu57U7BwaYbyPA7ZLy5E2shgNH1SjtL3q9A4cCTSn1uD7FFKoqYIREZNROaPY4Gv6nG43gL55Zsm03HZyFuUhpHBTaiifMr3NiJgZDqWrs6mYZGOgztRf8mE+LRFSAkXNyjfp5IxYsCXFL5R3IBUlgdpNWBmBC7W7UBp5T40XI1ByqI8ZI+TgtAg4iUfNZ2Rqch5JBLtlsM4fLxJ3EX40EhEqFBE/gbLveCnqYj4Zh+9kqzEwQshiEtdiLwkuzxrnkvHyIGNUrkrD3ci6kf0fFGcEsB7PrE5y5AVHwDLH0g/xL8lbDyyXszDFCUF55/B45Yj3XwRdRS+sroBiCZ9vphNJaJjz9foGhKHpPlTNNGmIOXhWIRcaXI07EUISbeJeCozHgO/rEL5+7tRbw3F+Cd/hvxUFZYJETR7nzg/nXTZhPq6elioAphS8/GzJ8nw6vwMO94lWajsEf9Ifpkvpyh5pyFnYQqi2mpQTs93HO1GzKMLsWy+kq4PuizIiMPAL6hOkHwnusxIyFyGDKpHbeea0NzcgovdZFheaKZz+v9su5S/Y9uQ9T9yRgEy4gaiYRfV0T0n0BVFg4etLVCZ5hei4MnxMH1Tj93vl6PqyxAkPv0ExlLdCacVd5cjPAPLRL1X9F++twmBD5A+XpjiEtRV1iacbXMJJutkaDjVWO0hdKCRQehNE0bWhSp3BfadM2HqQrrWJuFwPgV5L2Yh8a5OHKykeld5EJ0RWhYGeUl1wJd8ncpBEsp1aylS72rFvq1Ujw6S+9wolWE7zgidXqCJSvdFtIjzZoWbEwO5eE7pa8K48tevK7Wkk8hxtOCh9n8i4aQUJI4KQdeXYmrsvU3Lsqj/qmXMQeKgZipjOXZ/GYjYRxeg4M0Ce1s+2A7TJKpPavsQ+RQVIGucvW+2XIlCyrMFyHtUTVv8BiAqdYGUdhXV2d1HrAj9/9l7H7CozjNv+NeKmIV6iUkmJBB30ApJR/s6WpUNmCLdjF6Kb8GunW7QTTAFupb2FTeBt5E2pWmkeWGTkPbiy1fhitRP6BXWrdBKvAzpilud/QyujlfMbCs2gU0G/0wSoZbZCPjtdz/nz8w5Z87MOTMOBvE516Vz/jzP/ed338/93M+fc1hZgu/XFEj218Y+ZV12Hq0+mvrUjiPGwJvRzs3E+4btcC5KQP+b1M8xf5/nCMZNjUrRxY5hXHiffOniFYyxgango4MY+tgctgIvrfwfDwmxzPdfwNhVr3Au0DOMNxYU1NC7OF9Og/9kp9Sf21Hyv2ukfpc9/z5Kcun5GYqnrE+7moY8ejelRuVTGkBiuUzJRri4LZAz4Rc3nLso5TbETmwnS/5nBcWiMP0r0TOTp0TTp7PYXbc1D2lXT9AgjPqcPybAvjnY/65+slq0F7Mns9ef0k30f2bsLMcldb8ehCxC7GVt/pkS2AP5ngcT1gJUPFMFufcP0qEzQ+xVpeN+cUvO3JtBgS3tDQ8eR+thtkmBltBG/oSKBaNi4H/Mify0EfS9QLMM0ky96/BlVDWVYen61cDZXpHFrAR4D+xE7X690b0FJZvykf6nPjTQaoFbqOFCz8UqNJUvRQElwp6jPnTvakImveC4iZKpK++vRH7KebR/v0U9wzlrBO8oZfn1gCBL7oZCtJxymeAjioukUaJTGdAJGpezRKV3dVDvYxNIbaaB0QPE5yhQrKO365Na1K1w0IucbrhN8JmfkkyzzW50/Fqc7Xd5R1HyMN0LcyRd61fh3DXIcM5F0UbC8kAXen+/BmWLVtOcaK+4crNxNWwpPpx8pVef4ixacD1QG9Cx5/ARlNQ1wvEVavQHm+ARatFe/6FD2PlDeTaTksNtNiSc78LOZ6V7bHl2rA6Nj+SiJLUbrZdohnLWMAaOtaKHjfTp+cjVCmSMiimnsc9I4pIt+xW2dLktaHzRjvk04Gs/2EryFaBmGQ1tvDSbv1tfRfmugN32oI+672xE47L5WEkFupGDkoesAOlUK+tEO7yPbKpF/cZ0mYT6NzMJYx+40PmDJqrPDhcSFzaj+N6FdN7LbgQOT5SyBioanpDc6zS2OExyP0a2WCtiHUpiDsavetCzbxfaz7KnZLt7s9C2QsZCrGGIV9R8QyUBbbZJuNSF6oBvuTCRKmPYgg7mt+X1yKE45XlFxpno5OjRCn/PLP6+vSfQv9qJTFr1w1nR+1dnZyDlkgfd1OZNxw6VKExHaj+yXx1ORCbFERsNt4Mxsx/32xpht4reCBpMh8bmIxhlbdNRAdshRdtU0mY+O8ps76ABSjeaBPuqhFFdxKZPkETkGOhFuk6MVPcNEq0baecG8V4XyxN+1D63Eo61gPtwUJ9wZ+HbQju695CfrKtB8xLgA/LRFomIaWxD5AeayNdKG3KQPuxB0ytidMEqg3izqgTrbTSAUfTVrD+vfPlx5K63oPtdnecUlyeYTz1cAsuhVsVqVTgkTN6PYE8cMpMzUFuLR+4ii2syVidefQcvK/IYdf8qEYuYp3TBfJ+uE7uP9eByZSMez6bBOfUZc66PwvPbVuzaJ8Yi1zELstqyI/d/eVWhfqBrZ22/LoPFfnvDxt7iOp18r3cUdQ2U91TY0N0kyhqgZhL7QPk4n0zb5P5kvxe5eWVofnk1zv37afT8rkMIHAy/gnnU+V/1YTy7Qng5JoCpfwwpFkWCcv0Czukm9qzGSrDFA//FceRuo9mpABHaxXItJZAIUwhF4y+O0CwPjfDu98PTsQvdiu0QQrUPB/CGvB1IuNELz9Bm2NOyqC+fMMmHKg578ZaKjkIoOl0ZF70LMJ/09p1qUw1QfPtqUbZP5GcG37fODKDoUVp6/ZkN52ml4fjRI2h9xacWWHHl++MbKn446sHQFjvSFrBsx4Xe109j/eJ8ZD9mQddeHwq/aEXiIK08hOvkrw3Co7KtD60DXjhWpdOcHg3MJN4X+uXEnt2gJcKUMYx8YIGTbB48xjA8g1aT2ErLoZM4N5SL/G82ozHvHNxuSjpea5JS3oLYbXnpGs2QxXYM/+dbKux815WUaAsX6TR4RKkn2Xf/B/CFS+6PtaCWgq0tu5BmWGnPbRqtmN2bFP0Lo7GpI9UKI/fed+ENm9yLe9+tyygBLM2CNc0KSyo5M0ZUksSEV0S+KvKBC7VvBW5/SifSANlWQKtnHvLXQqx+MAWDvR1CWzDTpvUE19NR3ZZ9uHY9WLPASva45EabKo5R2/QMwrGOVq+oqNg2yWff1visYAPqgFkDDtfuJVbGsXBM2NKWRW6tPMRtJ0YxkAbepvoGoqyN2dG0c21dpaB0rovlpXbUlrVrSoa/jNwW9OsZY9srVjSQP0DdKN7YLEjxn8frqnjei8btEp9yej5GM7IWehl2W4AqMD4MpKVLkxyK+zdyqtVJZU9zOUNcchdZByPspHLqNkk3Nf2rUCxingKY79NZ7Pbj/CF1++1trJT6SaCrsRpd8+1wfKMUWdb7YbVYhIlZdaSWlZR+HzBvZ724pKGmudRv87jUirMfOCinDEamQEWT2AfKx/lk+iT3M9TIuHfTzPNgCZzZdmTlO2FfWwTv0ZdRvdstFkycA6tVoz7tCfVeVCSY10Y13b6aB7tKSLHCOlNz/7IXQwoygafXr+CS3oOxPweSyUBZdjIjEcnSDVN8/FcozTU44qT3GGEV8TDg4zu4Czs/ctJ7BsthW7YOZasK8fWz1PH8pFt3FmXsEzndVnNNTJQQOtuC4+dz4bTTzPvhUdD2cprJiTAjc30co2pS4tWMhOCXEWi5efQjbSGyiYVsPkd9f/R9Ly5dZffcaKmqxSCtXuR+KQt5myhAbfTiyM+qaRVGrBM3W6pFCHs1etXIKyYw/knY6qEPUil5eYZmYP9iGF7vEIaGztGHYObCckdo0Ru6kzqL5rcjHSS3rhHD1aGtGM9vp5lh2ns85BW2u3jGE5G+QF3eFF5R8VXTF6/0fEuvnIl7hjiZoEFFel/3oOhpO3LX0fld2chEPzpooBw4DNp0oFzgRF/HcG05UO36tdAY8MkYDW6V8Tq87RPM+mFEfcRtJ7M0tHwfB6SEUQyc9HZuJt7rYRlUwfDMuC2EIRERW6mOGflZ0XjEmxnJsFjpHQ6VuKPwvn/J4OtbqgrGFyZ0MvKLuOQusqQmsQvXJgP9K6NnkKdE26dDMaiXxZV/7bRquZ0m2iauUJz20vavt8eRmJYhPw7/a8rO+nEpPNHgE702PzFOk2WaSQChhknsg9Tje6aMlvGlfJOp2RbQdgh5bnNhAUocc+D9VavwAiQTxb6Nvqm9yoliSu7dw6xnHsbJ79WiQyGnlfac3vNJv+JOpNP3MMySuasnhaX1YEkr7KvuwViAjB0VW3Ix93wH8doA5zercP5UQ2CEKtS763446SQoC41Sk8lbPn6PFpvfQ5YpPkEJwp29F0e9F6arJUYevdD8yCwcp60axnxob2+5DddOtqBpl6i1sAfv0fUoWdWNhmOhGli0/GjGNZm21vje7wkU7qLZhjVEd2PpOKy0/aL5QOBR6EmSBZlsf7Fihm812yo0PKA/0BIo+OC/RhsqBlpR/VPFYCPVhhWZibhMcmeuK8GaFC8lRfTy9V5Wiez/YhXyNxVTcu826TMCs5v0H9MpCWm21cDB3iDPjfeHnSnJ2bKetla40fxE0I8LarKRo0mEgsRiPHvYInTGivRSQehPgtyWTButlihskTdXGBDrzvAIWz4u0Kcld9L2KYkUdSIOTXKvYKJzGgNfHSpxvRURpyg4ne2AezAHeSucKLnDiuHfN4tb3IiEcZuOgk+EogKfzy8Q3i1pl21E5VdTfE9Utc0k6NuetsT9PgID6ZGxPrSlkm070T3E2B8+Bh6ZEu1cxFLbt6xG6Y/WYJZrJ308QFe5G75pjG10LAzjjc+PsZB4TqurT1bBOtSMBvacJsoG9tE2XEW8t9hWIPOOy8YTYtGJG6G0iZwhzrmLIXaStGb6V0TMU6Lp08U+R9t+Ld+oQhV9AKO5HnBSYn/hzUrsDEwu0H73tRkRsKVHk2pnqc3PY+9ttismH1bDejdtAX83NFaYxT6yUrE//WzsVT+9mldoFgd3ZwVeOLWurUT5UktQoPP0stWKAlp6L6TvLoiHUEc69+x30ZxUJhw/KkZOqnjTurEG1d/dijVW/VRCqqr48aDDRRn8Qgdqt+QIiRB7U7vw6Wps37IG84WOib3gUYGcpPPobOlCV0snPDPs2Bx46UsiNysTeQFZLMjZugN51jH0n2KJqxk+CrEinMZN71ODgt41GyV06e3+ig25sM64Imz/MOYzDMuD+bQth7CR8AfNHJNVwx6J8/OCOBO/ku15sE70g3a9BI+j3Tg9lAIbLdP6PN3qAVSwlHRmwZInKuGYL14y+399cQp8f+iJEOy70On2wbK0HJVrg7qXbK/CtzcsF5LK/jsysHyDE+UyNjQvNBpQLH62ZF97HyO6cy3yC4QhCpq8Qdsx3hlGypLN9FItBSqqZc0rQe1XaFtTJAqJtIIh2Y59HWjFvKRIpY2f+Sdo9iODXtwW2zGjWZufGUGGDvT1+8kWJajIk2xBXzKoLMxCSoQZITbFkpwuicPK09e0ojti5RsdF6E0w2SWBRlsu5d8RI0Tq2jWV2j7Sx+LaeuQdz992eb1XpkrbWGLR8wMkAt7IvKxIv/b6ti8eUkSvKe7VW1T1Q7nF6LGaUfKh/SSv87kgJbhjelD7ThiDJwa7dyz/y0Mfob6uRq5H6S+Zdt65P4leYS0gK3FJerrq2xFhV7KDHyIgHqsyfCVSPHmQC88wxTPHw/2J9aN9OWcJTRZM0T+fKATZz5Ux3vLQyXY8dS36WttVIY2e5U+Q1/7qSyMWv3oKpjwi8nIXSJhJylgqn+NmKdE06eLfY4Qux+S4i+13/J8O5KvD1FuJh5JgUBNX86pXCzlWDLiOjHN0M5yXRO/IbFXst2CfJqsVeR7NbR9OsmL08K7nTp0TWCvUysut27JmXvXvteRu3MT8p9sQz6Dgf6IhOtfPUh+RF5060LTr7JQ8zUn6vYW0fIp/SGkGX4MvtlEYy46LtH+++Yk7Hic9sG/SF+ooCRJfr7rECtg7vDtb0Lz7B3YuqYCjWvKKMgRH/8genbTvnoiYS+nF2kfGIWrUd5nT3/Ep8uO5i2bsOPRs9j5S0qS2THUh77PktOQLBXsmj7d6T3WjiZpD6ERH1bF1BEvvfe9hOaZpPfGOrR9lYGXiDHSof1laURryIdeltrXg7py+qxUw3KUUQ6TyGbhT+1Ha5iO2XuqD4l5hDP9cQnhYDZvb1J9+pINhLre9SE/1Q/3/tCRtAojvwcnvRkofq5N+ounY8KAoPWnkXs9909fQkf1DhRtJt3/VtL9Qzf217WIM/4HmrB/QQ02SdiwGaNE2t/f84rgebSXPbLPqGSMeEEvb58pgi2vGI17i8mnj2BzVUvEGuEe9r5Qjzmk04ZHylC3tozakw/u10/CS1uK9A7W/vJpW07xi23YxCCgeQz3eR9AX7JxUIUevUpG9/Z1oOeBCjgebUTbo1R4jJLLN/rg3bAobM3unzTB8mOqU16HnHIqRu8SeE8ehWd2rn4d4nFkMW3LobixnMnNYsLZC/CnzsF9+jV070bNV5eKiZs9x+GhQU4OyZtDMcHzyzJ6wSx6nNg7KaZ9hSVK5Af2EXrZXTHLGa+Yaah1mNjB4mFDi7JNEx5veZHxt9QOHxOpjn1IL//+Qn5x3IBTGD6sjzDTB/iMYuBUaOe0v/6l3YnY8YTUD7L+acKLvraXoFwVMUAq8mN6EfL0BhvyWbt10vv9xzbT1tf49K8yY+N404uGf5yDqkr66hzFJLE/H0b/IZq1P8qo0HtvjR3C8xKK98VC26d4f2Y/dgk+VSB8VS6dBgiTfRjH//jmLsbYiRqb6l8j5im+qPp0uc8p+g75TTkzCM1+/6EbzS/0CgJ1HLNjO70g27ZSfOZ/140LfjvmpMsW0o9pke0s1zXxqxd79dr0NcpD2hrQooyVEnmz2JuQJqYin7n77rv/O6aaU6AS20aTDgKXzaKEOYQySSxZdkvfP1YXFJbmZtOXSU54FEst6jLGV+zlwkwkX+1Hn4eSnCiOghr6QkbKCTExoxdIcu6hGfuwssTORytSfPRmW5CotXldcL+n5SBeG/ERnt9Ju2H6+6S/XKpPR74rb53Sx9lGwb0Gy4c7sPXZLrlK6C9txWhbMYL2Mhp0BbbU6PtHaGX5jpHu4vMkNgjR9c942VLeBmYOP1l6w9/F9NWlpxfBt5cSyjDL90LbmkmdaFh/NeQSUsDIX0IqsBus3TA3DNPGtXVEnxs3XV5bP3AdJd9AvShPBHnZ9gGFH8WEE63LiFsGb8xXYuMdpdJU3JydxHaUeDl8DDLifGP6GMWBqdHOzfSVRjhFfB6m77oxbNUczcQbQ343qc2qJde7MvYLQd845S7hsaP3p+gLVnP62KCMVm2lrcna/jWaPEVstyb7dKH/TcaoXv8vPEvBeIT8gu2W0I1pcbKzoIsm9lJkEvK9lPFwfbva3uGxV5eL99UtndzHG4xPg56q0XwaAkwnnjTSbyrPwMDuCmnGJoxyyuQ+TJHb57YFxXW073zmSTT/Y5P0R95oe9kz34czbQDtfy+uQt0+eHBNOQIcAY7A7YKAOrkPpzXPU8IhM3Xv35LbcqYunFyyTw8BeoHqKzb6LvdJ4bvcn54ctxpnH22n2o902uZW0bBH2CKFBHkrEU/sbzVrcnk5AhwBjgBHgCPAZ+65D3AEOAICAuJyKn3XNexWIg4UR4AjwBHgCHAEOAJTHQGe3E91C3H5OAIcAY4AR4AjwBHgCHAEOAImEbglP4VpUjdejCPAEeAIcAQ4AhwBjgBHgCNwWyHAk/vbytxcWY4AR4AjwBHgCHAEOAIcgemMAE/up7N1uW4cAY4AR4AjwBHgCHAEOAK3FQI8ub+tzM2V5QhwBDgCHAGOAEeAI8ARmM4I8OR+OluX68YR4AhwBDgCHAGOAEeAI3BbIcCT+9vK3FxZjgBHgCPAEeAIcAQ4AhyB6YwAT+6ns3W5bhwBjgBHgCPAEeAIcAQ4ArcVAjy5v63MzZXlCHAEOAIcAY4AR4AjwBGYzgjw5H46W5frxhHgCHAEOAIcAY4AR4AjcFshwJP728rcXFmOAEeAI8AR4AhwBDgCHIHpjABP7qezdbluHAGOAEeAI8AR4AhwBDgCtxUCPLm/rczNleUIcAQ4AhwBjgBHgCPAEZjOCPDkfjpbl+vGEeAIcAQ4AhwBjgBHgCNwWyHAk/vbytxcWY4AR4AjwBHgCHAEOAIcgemMAE/up7N1uW4cAY4AR4AjwBHgCHAEOAK3FQLTN7nfWoc9L1fBccPmLEHdq42oWnvDhG4iAQsc2+rRvKcNbW31KL2JnM2ycjzZGCf7mOXIy91yCLA2/GodSqaa4HGLLXFQbFIxcqDq5T1ofPLGo6hSU6Ht/7hEeSvGc01snlQsZBFFTOq2yteT+VuK+rZm1KwLx2Ny7BOOW/C+BvfggzifmeQzldpjnBG4tch9Wv54a6EUWVqTPh+ZiPB0+ib3MxOQmJSIRBMgBIosLkbtz2o1yUQCEmYlI/FWQmqxEwWrLPD9dhcqN1ejJaDg1DkZHRmG76MrGJ06IsUoiQ3FzzSh9qZ09jGKeKtWG74M3+XLuDLV5I8ltkyWDpOK0SiufOTD8Eh8W2niHRRP70iIAyKa2DypWMjiUp9C/UrCTPn60/ydHPsYa6TB3bhCjCVC+RRU1KNeO9icSu0xRk1vtJouLjdCVDcXMiL4afmjkVwGz2PS1YBmzI9DfT5WUvGIsLHynnr15s1H+p1J+GDqSRadRPNSkAwfzu7z0P9T83C11MI1NUWLUqr5mE94J12MshovbozAgUZUHzAudluXmFSMXGh59hZqpZOKxVT0slvMPnGA8L6MdMwdjmrKLg5cpz6JuOMSUy50i/pjTLpOfZ+4JZP7nNJaFH3uNNoH58P5lUW4LzkBEx95cORXrWj/t/DprHVtKbbkL0XGPUlIGPPh/Ike7N7TQwlwDkqfKUJWylzQEyx9nmYHyHZDJ6rRGEgu7CisdGLNovuojB++/uNor2+HO2BjC3K2lKAoOwsWJs/VQbhf34Omw4NSCZHH595ux+XMYuQ/SDPrv9uKnXuo3qbN2JAn6THqwzlXOxp+GaQcYCGcROKjo4f/HDqfbdEk0oWofH4p/nzoOGY9UgR7+jjOvVaJhsNAeIxkKay05WcrCpZYMWeGiEPniSSsyQPekPjI9qlu7JIrAatKUbvhczj9vUawu9oy8nX7pSwU59lg8R3F1h+0Aqk5cD66BjkPEr/ECfi97+AN6sS7TkmkN1ai/ot/RudBP3Kducgi20L2hYt2VDzB9KN7oxfg7noJTW8G/cPykBObHTlYlDEHCdf9uPDOG+ggmWXkZZkazs5F+dpcLLxLsutvmgQ6wvOFKZg7C0j4IvnM8yTTxeNgelseKkbJ1/JhY3WYTU90onWfS2ewZcb+Ct+bMQHf74+g8xftcF1iGITzK/ZMYSuG3eVzON6lbiPWtRX41ga72Ia0PkvYFz9eJPgqw4f5fJAvo8+OFSip+ToyfK+jdnevcEf8rwAVP87FzL6daPw1CA/Cen0eFpEtZFrB9hNGh2HJtkr/ne9Axd8VwC7ZLEQm2R+UdSD5+8FatBxj0jFcvoWiZdSWCc+RATe6/58m9LynED9wqsBQ9vergYeBE8HehaL/JYyNYPBMN/a80oNA6y8VY1bD2ftR8T/tsM4G+bIbna82wX2vwleY7/6yAe2yfzNZS7fAsXwhLJTTCHFF8j+BuUZfI58VBTarv2wXOQ7KOHbCtzxyLHRsLYcjm8nM2qyopz6+obFAkFETL9g95qtb10vYCb7sF9WR/48JC+abhL9kOyFOHPw5PvhCBeYPynrLDJS/agzVbZKVM2jXsqwHfVi5cY3QLmAY+wH7YzUofnAmBl1taDpoEfqtz70ty2nWPgqfJvsIsmtiuFLT8OeKuKTXJxrFbiOMlIwZXtlpSL4LSJrtoFhLHY62b1tG+kfCUvGc9f+eY+qYHFOM2iPFtgj9iFKN0HOpfS/JEPOGj87j+OHdaJX7KSM/McAlcn8ut29lTtKMd+dFyIUo/pYWO5D9eQtlSlLs/DnFTlVfJPujTL8B76QE44EQbwN1gu0/+tholK8Y8RefR877Qi0m3DGFQ2S9GR3DmBaGvZnbt9Jmk4A+c1PTkf4/ilCxPg1X+g6iufMozl3PQkF5FUqXBYqpTiwbavD9x3KR5j+Ng682o/OkH2lfpv1NTxdQuWFceH8QgxevYIwFqUE6p39DH8skEpBRuB0b7r2Mo/up7gkfkhcXoOzJ1VIBCwpq6lDx1xnwnyF5Xu3E8YspWL65FvWlNqnMXKTOS8ei9RXIv3cE7/SdhPtdCgxbdqBs4yIk/LEH7a+2o+f9RNg2lKGKYlfoYcRHR4/3L5B22sOCtHlWZG9xwoYBuPvc8HhJlogYMRqM//dRstKC4TOH0L7/KIbuzEeZcynS56VirsRGsE+6Rc10diqVSSMK4qEtI1wv2oCKr6RjxHMSJ88OUEE7Sp8qQ+GiJAwcaUfzaz3on7kIzu/SewSLJUKWNKRnZGPrtlwkDx5Fx2uHcG6GDQVP1KLxB05Yr/aRvTtxYpg62807UJwq1VtWiqryQixKGkDPa81of7MfCYuc2P58KWEiHrJMtcV2zPwD2ZVovzNmDdAZvjhAfuLFlQnqZz4WfWbwwghVLkRFWQEyhmkASL528MwEstaVYccWWXuJAf0Y258waNgO56IE9L9JGHSegH+eA2VPlRI67ND3KwG7BtpitiyInWc8AwXbalEl7+FdXIEdjy1Hgof5LPmel3z2seqA7xV+qwwF1hEcJ3yaf3MaEwvI57cXB2wosEcfBsaTkflXq0nr4GGhtpZjpZZ1gu6lFmMHw3pmv4T1ABK/oGw/YXRgtlX4Fchm9c+UwB6wmQcTVhpEPFMF1oqFQ1tHvEn+no5USqjZYavYgZIVCfD8hvQin/KmLEfJU1VYLTxV/hfG38n/lQdrN3XfcSBDji0uH1JWlqBWz5e+YcXov7OYdQIjlhzi24jaMvLdd6n9y777zaAsq5+sRkluGvwnO4W4cuJP6QH/E2TQ6Gvks6yOef1Fu6QF1JXjhnEsLPmyJLPQZu0o+d81KJDbnhI8OtfGAuGxJl6IsWk5LB+5cei1Dhy9aEF+GV0racWABfIqUbutAFkUB493UlvtuwLrpmqsyUxHUG8lE/F87rJqOK1X0Ec+1Nl7Dsgkfw60SRPtmsnK4tZ3NiDtI4pbLEZ9nAx7hNifQ+9RbV+bgYnfd1Ji30+CxGaf4h9TXJBjONln8I5cbNXE8FCNtXeM+kTj2G0c+xQ8Px4S+mTffwFjV73C+aCyb5uRgaJIWLLY8V1nIAax/j/jr6mfLRejaMwxykQ/otBCcyrFF9a+pbzhxNU05NE7BIH3LIz8JAIuxv25XtzVySECudBqVD1Vgtx7/ThBbUXoi9JoAijQJ2j9UaK/thbF9pk49zr1s4ffwViGso7U/qnvr40yNprWLyz/SLpqTKW6NIfDorB8RWKmYpqKb3QXt+TMvaDiLEqQX6ARojTD5fr1AKqaypC7oRAtp9jcsPJYjZJ1NiSc78LOZzvE2dNjLrjG6tD4SC5KUrvRuscDrKtB8xLgg1eaNPvUaY/lpS5U/1CqS/PgE6nNKL53ITHppVnpEqy3UfJ1YCdq94szw65jXRiobkJZjhOFtAVFlijJ/w4a/qFRMTs8hguuTuxs6hYFPpaIzGZKoB6gy6PircD/ZvhE1CNAiU5Ip6FD2BnQiRx2mwFGmaF69hw+gpK6RjgsQ0risZ0njZJNKwM2tTxWh/y0EfQp7Xz4smDnpetXA2d7RT6zEuBVYN8zMxPNj1KKfqIB1T91i2X678fiF+2YzwZ/hywo2ZSP9D/1oYFWEsQSLvRcrEJT+VIU0MDKI2NPMvUrZHK5LWiU6LQfbIWH0sqaZdRBeGk2f7fICvQKc9KsYQwca0UPmykmXxu5WoGMUZaKBFcOWOnMOwzsTwOwEAxO+FH73Eo41gLuw4wKzWZp/Ap69chWo8xWjgrYDjXBw7ZvXacVjV91iasAx7wY3ZpPW7rEwzI7EcODx9F62EU3qL2M/AkVC0aFhEqpRe/rHhQtWY6lG4GuA6wudVq00jJ2vgOtbEZnVRLGPnCh8wdNEL3chcSFivbDqtARogNrA4qjWM9mvaOoa3DAUWFDdxO1YRPH/BTS8KIbHb8WV1Jc3lGUPCxrrSCg096C/i6XowRdJ7Z0DTJfyoVzYwtqBUyovOBLwZjVn74YjavmwHegOhA3RN+1QIosmHN9FJ7ftmIXbbFjh+uYBVlt2ZIfC7dC/4vgszgEmNY/lDLdiSEWUputfPlx5K63oHuP0nN0Gejc1MH4cA+OUHxoXMvaVITDAIvitSuQckUdB7rOUgx6ckUEomTKa/2q2CHbu4js7SZ7G7ZrRl2IW0Hb49gEUnVjP30g4X/RjP3ymTi//znsOiCvB+mJaGyf3AWgvqo26HMUF5w/qkdhmh69cPci87E8phO3NLHbFEYy+6MdaKKYXNqQg/RhD5peESOJ/NgIS73Y4fqkFnUrKHZQD9CTGUuMon6kzmQ/EhBUcZIX2p+6qK+YYDH64RJYDrWKvUUkP9kdDhfqz3XikirnEWbbdeLu0XC50ByMX/WgZ98utJ9lelCfcG8W2lbMx0q60lgkoKjQVrYH+1n3nY1oXKapE3VsNJHTyfqxtqrLv53iUThdA+LrnJjDIbLeNxDTdCTSu3XrJvcfDuCNwNI1U60XnqHNsKdl0UYF5nbKg5aHU8Yw8oEFzm0VigdjGJ5BqwBCwqe4rXN6oV9O7HUe2ixI8Z/H61JiL5fodQ3g60uysJiSsC4pCRv+z7cCiT0rJ+w9T7VhxVdLsJL2E6bTdJGFdpFckYkof6Pgo6wW7lytkwmM5pGe1wZp9ULZQfvQOuCl5D4clyjuD3vxlsKmK4kfrvownl2BimwFHf8YUixy+kP3KUE9p5TpOivrw8C/SIk9u7x0jVZl5GMl2MKC/+I4cskfcuXb9Dt6LUU9sNLIpKajqKg6PYlzQ7nI/2YzGvPOwe2mROS1JvLQ0MPI/gVWEvSSG20KXHCpnWZ721XEtH6lW48wafUMwrGOVh+otueUGwOFxXD8pAm2P3pw0nUER/Y0BYYfJ/u9yM0rQ/PLq3Hu30+j53diR6JizC7OdsA9mAPHCuqQDlCHtNgJu3UYnt3SkPYYJbiUlNqyC2klgd5rSaMVnHvJyYfVlLQ6qJ8WYD5B4TvVpmo/uNSKsx84UDBP0EhdJczVW2cGUPQoLe3/zIbztEp0/OgRtL6i9GmpImtvhv5OW8hS/Dh/SBMfjh7HgNOOrAfZl2Z6RIIaX/JdJ48k+p4Q3w0K3tVYja75dji+UYos6/2wWig+0OORYJHQMw0frc+a1j+UsnBHHTc0hXRjVC8at/dqCkZzyTAew+ARNca+ve/Ca5TcR8RC8qm331D71Kl++PwrMCeCiL4/aupQQjS0xY60BcwPKelh7xQZxXVt3ArDz5JHM+2p4+jbS6uR8naNMGXZbUP76Ph0h9cXZXIfmY+Z2G0Kowh6qh5FxFI/dvj21aJsn0QlphgVRT+iEla6eIDiC23hG7I4UbFNUWCcAmNaejBhjqibop7q1ER/TgN9dkSOu2IZ8f8uNH6vC9ZlDjhLs2BNs8KSahiNQugLcU9Jlp1r2qlxbIxdP13+WnkiXpvDQYurmu8NxLSIsgUf3rrJ/difadZU55iRGJh5VD+l+xYrrJqIPfq+F5d09tCq6/ox+pH6jqmr4XGMs4KfDZYevaoedrClmVqnDUkjXly4OATveWrYd7H9bFEcOnyMa+vpZAKj6+MYNSYeWmJG6K2QO/4rmkEZlUicA6tVg8Z1H7wXFcnYtVGdZGcMfxZmF0K4BG4kpJA/aL96cdmLIQVp6MkUoBDuxI2WqloM0uxV7peykLeJkrONXhz5GX25SJmkU3VT9r9+LZBwh+Oo9SuhnF69T8ZokCPheakbu354BU56N2C5zY51W3NQuMmD9md3oZtmPdy7aVZxsATObEpS8ylhX1sE79GXUb1bMWgSGNGgoa+f9LShMJUGDWspcF3yYDfNtAlHKq1uPFMM218Mw+sdwtDQOcrr58Jyh/Rc+tHVQV0EY2R77TExTkkyjRXCHqmzaL45ePgO7sLOj5z0vs5y2JatQ9mqQnz9LA2YftIdirNZfxcGlEEebOQyTtu18FkFZz1fMqBvL6etGKvSMXHFS9jR1q+3x5GYlqFkFHqux0dRKir9FfXEU724EVLoxm+ExIsJjMcSeAywEAQdD/UpIwXGPtHtfZCYmCxUNdWudeOWljO1VcGFhJ5E+1Dn2oR9DHxOh6jOLRN8DGK3KYx0OOveMoGlXuwI0LqBGGWqHwkw0pzMSIbFSu+TqW6Pwvv+peAEnwndVNUDFyb6cyprJu6KJGmr1fPbaSWZ3tMYonhE23U844lIp5WgSIcp+nrt1NBP461fJC2Uz8zhYKx3jDFNKUqEc03WFKHkVHt01/1wkkwdAbloRiuZeviP35PnyQJP2Cyu/xrFyIFW2qahCMpsZiUzEZePKYrGcurzYywpDZlsBUCRvFmW3QMLJSNvSSPkUNLi0gzONmNrfa/0mBKh7BxNY5cexcwnlHPoHRMY0V67sSQLMtl+d0XivJptc9BJr5U8bAsslH9REhbF8d4w682HcfJ7tQo700soy3Jwzyf9UVDSFn0Pw2xAd/WksNUq+NQK+6p7MHYjpIlY5roSrEnxomNvA3r2Mur0Yu+LVcjfVEzJfXuQHc2fsy0dkewvYPB5ra+vRumP1mCWaye9sK0gpzgV6y0Q3jFol5Yn2ePVZIfE4QFhYJyzid4vuH4SLa/sEvFlHdxzxVi/JQfdXXNR4pgD769ahRetWV37Nvp7D6ucKKbkXqkFe4YDtHL2SBkWbyrA3AUpGDzRERh852xZT+8xuNH8RAN6hcKgdzeykaNJ7qVHYX5Emy2cx/b8tyuS8NWw3k3bh95VtGsthYctQnsSUzh6QbvchmsnW9C0S4weLMmoe3Q9SlZ1o0EZCz424++s3SQh7QE7bfdSDHpSV+KeuRR5+rq10kRxXQwnJfYX3qzEzr2i9GzLV/3ajChoaItGob+2qplrIUZpYwStmD5ZBetQM30owFzjUseLPwkYWzKprRxS2DlvrjCRE3EVI6LMok/Z5hWQT9GKk1x2cYawehopWlnS1b0PaAYzeRbZ+/0eomLcrmVWxr+USPU8hyPLvg/n5lpU3VGLBnoJN+ZD6kNstPWwWx58E7HCey30f+xIauUxjt3xxEjLXXstxQ6tzfLoIw+PzMJx2i44GlOMusF+hNmCJiMH9tFWPUV/arGtoG1dl0MnurRqRbw20Z9HrK/zUNjqeQE9VTvF7ZasCE0+OAySex1Kcbg1CfqZlSouOExWTAsq8dng6S12NisTeT8qRg7NFNL8J3K27kCedQz9p1hw1R5d6HT7YFlajsq1VvFhKgWX7VX49oblwZn+q2xWk14C2cACXRTHgU6c+TAFS7ZUwjFfrGd5qAJV+Vb4/4NeqjQglTiTRu9CGdJjywpkJIWpcIN8wlCVbpvAaH8fzl+1YMnjFVgt6WldW4miL6SoSF+h2WHcnRV4uZmVKV8aJaZE0bPfhX5kwhGwMyX2G2tQ/d2tWGO9gQ6O0s4OFyUZCx2opURWlMyKwqersX3LGsxXJMMqxXQv6CVsUneuhSUI4tF/RwaWb3CifKPkazQHMxohU4hkf8/+tzD4GcKgppC+m8IO8pFt65H7l7R1S5FLipyD/4vYWZH/bbmNiNhtXpIE7+luoeMYTl2M/K8Wo+IhWXISUpbzPL0wt6KAll9lvsSP2TXs0YtuD7Wx5Ztohr4fJwLJqFQhkWZZhLZKGtDXSVbMC+fk4RhINluQjwqlzWpoK16SF6eF9wKorp+my5My6MVEUSfGqzY/UzFzPwzLg/m0LadCih1U55Og2iru4fw9U+nvYrtJWVKiii0VT+XB6vfg+D4VxZgukpLTpXr0ZY3KxQE/i4kYDZZN6x8LAzbIGxZjhBibmd/RlzKWJNPnx6jN6RzG8aIDff1+it8lqMiT2hR9raKyMAspISsmOgzC3iKfOjWIMWseaioLYCP/tNgKUPmEnSZlwlYSHiTOzwvGDqEvIXtP9IN24AWOSO06UMjUySC6dj2HjvOJsDtrURNt/6TkIdgnBfZHaauPgKUVqx+rxZr5icpSwtfM6p+vVL0krypgcGE2dkeLkX+cmvdd1L4N+Ksfi3Zm8b5Gjslks4oNubDOuBLckhV1jDLRj7Cv2Txfi9JVaomEK6E/p7byhDJvKMGOp75NX/Ki9hLFEYqLif48Ev2wuVASAuGItUH66t+nc9ygfkqh9XSNZDeh7o3iMFkxLajYrTtzP9SHvs9SR/8ifS2D6UOf6vMea0eTcv9qUE+4f/oSOqp3oGhzHdr+lpIUashjH7qxv64lMMOIYz04vcGG/Ecb0dRe1EQAAEAASURBVEYTM95jm2kLgoJI2FM3Ghs7UFVZhJLn2lAskB+Dz9ONJlrqD3+40Hoon7blFKNx7ybKqyjAUsZ2npLLjLsUe3UDBGLlEyAQ8cQYI9rGsduCum30tZbnclDGqF3zou8/KKnLDJJ27XsduTs3If/JNuSz234vXP/qQfIj6sXHYI0wZ5doj3dzEnY8TjYmO5cxXOlzhINvNmHXoTB1TN727W9C8+wd2LqmAo1rygTsE/2D6NlNW1JM0hCL0Yu4Z4pgy2M2LKb98UewuaoJ+xfUYNNG8rWv0oCRZmcSaZ9rzyvaYZ4J+9P++pd2J2LHE07U7S0S5ZwgzNtegnJGPkTkMNixNtLQIs5+eprohd8fV8DxnUYsZ+AmiP63f59LINf0qyzUfE3ie510kLDXaiHz9ux3YzDbgTlnewMvkLNnzB/yaVtO8Ytt2MRsSHOk7vM+gL6Eo+flMj3tr67NyP9cbQ1okWe+9nWg5wHSibXhR4kC++TdG33wblgkkaOX8fb1oK6cPqnZsBxlNBZIZDOup/ajVTlrL5QO4++/I1/OCUqn32486I7al4I0xbN2dByzY3teFdpWMuAS4X/XjQt+O+bI+b62iuF1NPobEtMp0IuGf5wjxMIKsrfYZofRf4hm7RUzxcqKZuJFN70XYmG+Wl6HnHKqTe8reE8ehWd2rpJU1Oe+fS+heSbFgS8Xo2ZFMfkLxZd/PQJPToH+6qnEwXuqD4l5FDvWCb2PGOPam9BBsZs8Psq4bkZsluDvxMTT9OURluDPrKcXa83U05aR7bNBwNJBWPqpHzz4lhfOZcGywheMaAAec+oWJv4EY3dsGPW4PPTJ4xxU7aUGSIPn9r83F68DdpZistD/Uw7R/rK4CuiLMUbpxiRlPyJ8wWkuRqQvdQURZmc6/fkMyhvO7McuKUary4e/0sXFTM4TjqRuLtSBI4tpWw7168tZOGL9wdkL8KfOwX3h6Eziff24q8npzPDX0xXsS21h7EZ9TDxwmKyYJqv8mbvvvvu/5Ytb5beghr60kXKCkqgW+vSDHTn30Iz9CU9wWTWiImzrBfWMXhfc74UpGDVNBR1WN30mhvv74BECveJZ2FNRppkf96OPZj9NHTHxMUWZChljxLbGpIMSK5r5YktzbStG0F6mDrSqMmZZhyknLFXOpi/XmLZzGEIht9mLnplIvhoF9iE02A15S4/S7iKOSWxww3AKe5izf6x4CtjdOU6DVUq+9WQQtqfRbHQY/xP4JrHBc5j6ejR17gl0ZlKid8M2FG2WMh4eVzP+IuJCG79MtFVz2Juzow40kW9J9hmPFLMiU9B9Go3+ugQMbpqxgZKEKYyFuMcmXm7MF5V8Q8+dqH21EEkumtyhLibSwWRmWwT14/Yk+UMkgWJ8Zvtfjaix0bszlCz3CDRsqGzYgsu0BSPcYN4sq8h+EAtGYvtPvByhDw8rnMgvXP8fe4wK34+wLxFZe6rVW/608sXFr8PhEllnrSiqayaXJr8S40aE/kRF4GZc3IB+SvE0uhrZLW44xMX2SkXE81s/uQ/Vid+52QiESe5vthicH0eAI8ARiAaB1U/S54ozh9Dxf3ahS5jsYdvealBBKyVH6BO8gRWhaIhO5bKpxah73oGEt2gl5RXxU7CYX4janU6kv9uOMmml2VZah/I7j6OyPrp1zKms+qci27oqND58Bbt3KnYIfCqCcKZRITAN7HbrbsuJylK8MEeAI8AR4AhwBNQI9L7QjAza7uOk7ZRF12ivwWdo+xnbNvbPiq1e6iq39hXb5vfP6aj5G9pStJK2I9K6feIstt2rR7WF1Pebl1B5yeQq8q2NyORKf4r+RsUhn8ldBZMrCqceBQLTwG635Mx9FCbiRTkCHAGOAEeAIxAZAWFpnF7ypm+M3/i2scispsZTaWvbTPa6QCzbW6aGFlwKjgBHQB8Bntzr48LvcgQ4AhwBjgBHgCPAEeAIcARuOQRu3U9h3nJQc4E5AhwBjgBHgCPAEeAIcAQ4ApOLAE/uJxdfTp0jwBHgCHAEOAIcAY4AR4AjcNMQ4Mn9TYOaM+IIcAQ4AhwBjgBHgCPAEeAITC4CPLmfXHw5dY4AR4AjwBHgCHAEOAIcAY7ATUOAJ/c3DWrOiCPAEeAIcAQ4AhwBjgBHgCMwuQjw5H5y8eXUOQIcAY4AR4AjwBHgCHAEOAI3DQGe3N80qDkjjgBHgCPAEeAIcAQ4AhwBjsDkIsCT+8nFl1PnCHAEOAIcAY4AR4AjwBHgCNw0BHhyf9Og5ow4AhwBjgBHgCPAEeAIcAQ4ApOLAE/uJxdfTp0jwBHgCHAEOAIcAY4AR4AjcNMQ4Mn9TYOaM+IIcAQ4AhwBjgBHgCPAEeAITC4CPLmfXHw5dY4AR4AjwBHgCHAEOAIcAY7ATUOAJ/c3DWrOiCPAEeAIcAQ4AhwBjgBHgCMwuQjw5H5y8eXUOQIcAY4AR4AjwBHgCHAEOAI3DQGe3N80qDkjjgBHgCPAEeAIcAQ4AhwBjsDkIsCT+zjg63iyEXt+XGKO0tY67Hm1EZV5OsXXVqGRnlWt1Xk2JW6VoC7O8kWFXRQYTBZdIxEsj1Sg/v/eg7a2NtSXGpU289yBqpf3oPFJh1RYYwPBn+pQYoYUL3NzEGA2ebkKssVuDlPOZbIQEGJJ1Pa0wLGtHs172igW1CMuoWCyFAyhq405IQUm4YYmrk0Ch9hJMtn2oG6rAYWY2v2t7CcGeIR7rMFJ274KaprR1nBrtRhodAqn+s28f4sm9zYUP9OEWqPGdpOQTLwjGYl3JJjjNjMBibMsWPFoDQq0NT6biORZRCtKqxRU1KM+kPxpicbzOgEJMcgXSYKosAtDSE//eNANwy7CbRuc63Ng8fVg1z9sRnVLhKKmH43iykc+DI+MSjU0Nhi+DN/ly7iioKeHh+JxmNOp1abCCDn1bq+jwVyDJpFnbTwpEYlTT9rbTKL4+PToyDB8H12B3AJNgbjYiYJVFvh+uwuVm6sRl1BginG0hfQw0sacaGnGUl4T12IhIddZXIzan9XGccLjCi5f9uHysMyAfuPV7ifLT/TkU4j/qZ5q4mNM7etTVUCHuUYnnRI3/ZbJjPSmy2XAcD7mz0tB0kWDYlP18TU//LNsKHq6AN0/6b5hKe/LSMfc4ds3lZg6+s9HymzA9/t2eC7dsFklAi60POsKT+xAI6oPqB/Hhsct3qbUENy8q3lWpKeM8ET+5iEeBaf4+LSrpRYRWqC+PNQ/JcOHs/s89P9UPvQwMog5U1kdJtu8+Ui/MwkfxE3OLjR+r0tNLV7tfrL8JF7yqbWelKuY2tekSDK9iN5yyX1OaS2KFqZg7iwg4Ys0Y/08GeTicVQ3+lD6TBE+93Y7LmcWI/9BmjX53Vbs3ANYHnJi8/o8LEpPQsJ1P3z9x9Fe3w73ihLU/E0GLh2qRctRhWFp1Fv38Eyc2NkI1qSF+o4cLMqYI9S/8M4b6GjsgltRJarT6wPoOTEH6/KLULPhLew6GCH8z3eg4u8KYJd4M9k7f9EOF0seN1aiPjsNyXcBSbMdhAXt9fGfQ+ezLaGdUSQ6THhG64t/RifJsnLjGgErjPpwztWOhl/qaPpAMaq2ZuGKAXYqXFJzUPx4EXIzLUi6PoLBM904rSogXlgeKkZJYS6y7iF7jYnl9rzSg0Ft2Qj6y0Utj5SgfG0uFt6VgImrg3D/pglNbwbxjmRbx7Y6OJLcaHihQ9FB00zX0yWYf/GfsGtPn8wGoX7px7mD5FfHLMjZtBkb8hbhvmSSQRdTOwornViz6D4kzZigwcGRoI2RI/l1NRo1SbzAXLYbs3kEPFywwlG6BY7lC2GhcaASi1DZibLQppj3S/WWZMDC5P/oPI4f3o1WBYYBEIQTo/LGeFjXVuBbG+wiXsxmr+9B0+FB2uZg3h6yTEa+JOj+udNoODs3op/I9IK/hah8PhdpyRZg1lw4nq9HHiSby4WWUZlIbYnag/PRNch50Io5iRPwe9/BGzRY6zolE4j8q9QNoxfgPvhzfPCFCswfVPoK2WPbVhQskXhcPofjXa1o/7dgG1BxoThRWuxA9uctIGtjZMCN7p83oUcxWFW1KYkvs0/gUOidMOaD51gnWve5Am0oUpsTaEhxgsVwOV4HYh4VCOcfAf50EtmnyQe3lKAoO0v0aYWPKWnI57KPVFPMJ8pSe2zAOynlcGSz9qTESXyelTIXFL2wlPyiXhGTlTbTi20yr/ZLWSjOs9Eq4FFs/cG5IM97K0RbzvDjwqlO/PwVN9KZLquoLMnBYofQt8nCy+03qnYv96XR+BFrD0vx54Od8C2XYhm1h0BfG5DH4GQG9RHVRUL/zWwv6ijHfhl7pVySrakNyzmACntiN3RCXR5Cv29B/0sN6JD8WsB9jkcR6xmvDficeycafy3rxuJ5HNq9AEFkP7GuLcWW/KXIEPpAH86f6MHuPT3qNqSX0yCCfILszEZMj6AdCivrsfTPnahtYUNYSddDxzHrkSLY08dx7rVKNBxm7c5IJuq3v5YPG+trWT93Qt3ugxzVZ7LPi+1L/Uy4Si1A5XfycI/fjQM/aUef7NOm+qSgPhOrHMhlcS3Er5Q+pBjErSpF7YbP4fT3xDwQBnFJkFUR+yLmTzpqxvtWlBtA4s0+enrDFwcwOOjFlQnKYz8epHP6d2GECM1F6rx0LFpfgfx7R/BO30m436XbqcXYUV6IRTP70fNaM9rfHEDiFwpQ9uRqoG8AY7MzkZtXqBDEgpKHc8h9hsUEeVkpqlj9JErIhfr9SFjkxPbnS2FT1Ir2dLSlFcffT4BtQzkKUsPUJt71z5TAHuDtwYS1ABXPVIlbej4eEvT3/RcwdtUrYvH+BZJccxjRYcUtaUjPyMbW72xA2kdH0fFqJ058nAz7hjJU0Zgh5PiDG/5Ewm5tMSi9kQ4NdvJt4deO0qfKUJAJDPyuE82vnwUeLKaBWpKqlGVDDeq+40CG/zQOvtqMTpcPKStLUKuHt5H+KdmoLbZj5h8Oovm1Q3hnzIqczTtQLONtYNuei2OwLMtDiVL/vALkLk7G2LvBxJ4pEOqXA7hAhrBs2YGyjYuQ8McetL/ajp73E8nmSkwJl4btcC5KQP+b7WjuPAH/PAfKniqFXUBG9Ou0IMgqvAS7zUsl76cjAh6rn6xGSW4a/CcJe2bbP6UHsAiVXW5TFhTUfF+sd4YwZPWupiGP9hfWrFOLIV4ZlzfEY3EFdjy2HAkexo/w8qZg+WPVgg9GYw8mjxlfmpuajvRFGyL7iZ6qGMEQiz0f+2mkdAVedj4o2lwoPiMDRRHbktgeChclYeAI2f21HvTPXATnd2l/9mJdhuqbeZWo3VaALAzgeGczDvZdgXVTNdZkpiPoK8y3aHvCsiAPz3gGCrbVokrXfqtR9VQJcu/14wTRFHwxjZKt7cE2LmC6NQ9pV0+gk9nnjwmwb/4+TVJIDspizXedgXjbedKPjL8mfy8XvRkGbY4pWfgtihPWERyneNv8m9OYWEDxWpYhgn8oAYrs03Wo+OsM+CWfPn6RfGxzLb0jox/RBR9Jlxug1M+srUWxfSbOvU59yuF3MJYh4zSMC++TL1y8gjGW3DK/kGJyNP5Y8ZV0jHhO4uTZAVIryNNpHaXBLsXFEyOwrCpB9cu1KMtOxiD5UPvhc8G+TQIjtnavjTlm/MiCNJotzt6yHRvuvYyj+5mMPiQvlvpapXHCnicgY8NW5N4xSH1tOw6d8mHOyhJ8v6ZA6mO0comEgvbRwZ7wH/pYw7DPj5n32GEPvBRjw8ovZiJ9iT3YFy9eicUPUN/Ecgjinka5RSqtyuKG2z2jwQ4dWRV+8v3HaOJA7gOpDaV9mfb900q/cETKaSLKp9RDJMX+t6RTDEwVehB2JdnRSfnNANx9bni8YiyNKBMNCirKCpAxTBOn1G8fPDOBrHVl2LFFbjdBftqzoP20T+h6fiFqflSMJSk+HKd400fyRdsnMb/MfbwYK2aE8ytqYawfCLRxSY7ZqUiflyb5nkFcYlUMY75E9yb93HIz956DrfBQaluzjDoLL83C7paREh0/yf8OGv6hMTirvioJYx+40PmDJnQLRV1IXNiM4nsX0lULuj00Ov3SUnLNLmGWHjRKzLp/DP0HWmmUTMnqpnyk/6kPDTR6c0v1ey5Woal8KQoo6fMoZ/xlUUz9etDyUg8WPF+AotICvLWrOzAql6sX6/HuHUVdgwOOChu6mzrQRPxLG3KQPuxB0yuihnJ9+deYjkcsOisB3gPVqN0vzeodm0BqM3XsD9DjED096HAPImftSjgXt6OJcnXQ/kG7lbDbz7DTHFucyE8bQd8LNIsizUy6fn0eVU1lUhLLyuegZJ0NCee7sPNZabb8mAtdgwzvXDg3tqBWOXt9NLz+8xm5pFH0v1AZ5Oe2oPFFO+Yvo2eHTNj2QC88j5TBxgZ/R7sYRRTSbFrKpZPo1uARzi9z/moMF1yd2Nkk2eZYIjKVmOrhcsKP2udWwrEWcNOMiekjAh6Z10fh+W0rdtE2AXa4aEUhqy1bwKI9XJvKq8J6Gw06DuwM+ISL7DFR1wjHwyWwHNLYOa/EsHzmHQZ4sGXq6zQL/asucXXqmBejW/NpiwMdUdgjKl+K6CeMsd7Ri45XeoHyeuSQX3tekeMLlc2hfwZtyfKYTns4fFloD0vXrwbOEu0IR/HaFUi5oo5LXWfJ159cEayl51uHj2CU2c9RAduhJoqlymMOxq960LNvF9pZe6bpDde9WWhbMR8r6apbt3324HJlIx7PpgSM/MihE7Ncn9SibgXFLHiRrvNcG08tsxMxPHgcrYfZTCLJMPInVCwYFTpZXyT/YCJLR7j2iFV6Pt2FgeomlOU4UUhbcMSWLlPS/0261o+G7cE+wX1nIxqXMZza0b2HUF1Xg+YlwAfkF+J++xwaUJmMbeSP7yjiFqS3swSegX6oH/fbGpFDSU/X07XSDHSPom/rFQSfE0u7174NZtqPEpFwqQvVP5RXOilWpMp9rSiPPpryXVb/UDD2owdHRuvQuNZBfUy32MfIRXV/PWGw1xbuwLmLhXBkOulBB/Vba5Ax1wffVSuy1lqAvdTz51BSN+xFh9AOlPVvrN0HKYWTlQbYOn7iGiMcHslFSWo3WjMj5zRh41KQucEZ2WGI7BCwI8m0LdR3VTJdotX4WcMYONaKHrYqQP3EyNUKZIwSnqHZgAF/6fEyeneivADWYReaX2oS+wMTfUxI7sE2Tb7fhVo5p4jar0R5IsYlVsQg5kta3bSfWy65N0Jm+D/fCib2rPAxSggpkbFlF9IMFu3FS6NGey+NyIdFSp79bgxm0zL0YxZ0UaO2bbLDSh1cs5BErgQbzPkvjiN3WwVyFcxHr6WESXoVhYxOL7Xjpd8uRv26IpSz7TnXlRUKMJ94+061qfW51IqzHzhQMI9lEOquWVk7eB4FHUqqzsmJfZBA2DPf3uPwPFwMm5SM2PIyKSB60KlMwKXaBVZS5kPadqDackDJ89Bm2FNkFrS0nOLH+UNy5yDdP3ocA047sh5kUy09cmHjXwrObyn5XbpGs2nyYca2veg+sx72VdkUVLvQeqkQSzMSMdjbYQp5xknYT5hqw4qvlmAlvRuRTtOqFnK/K5IYAi6X3GhTydmO2rJ2WdC4/HY1VqNrvh2Ob5Qiy3o/rBaSgyiPRKL+gAUptC1qyOJExTZFwXFqPGnpUsKnuG+mPNu/HAEPnHJjoLAYjp80wfZHD066juDIniape4jGHlH4UkQ/kZa5FWpSRJC2XKluqi8M2tLKeYT+VR/GsytQka2o6h9DioVNPIwJWzGyyFeUh7jFQGrTb7+hjg2n+uHzr8AcqYKubxGSrR7a4rSOVrGonDqCiHuLrcsomSrNgjXNCkuq0kv0Me1trESvwFM/1vj20ezyPlaAJmWInFE8PdnvpdXUMjS/vBrn/v00en4nDuIFFhH9QygR+T8b+bT/PF7XxLle1wC+viQLi2lA3WViQK3tZ3zXg5FFXwB97KAX27T+KBFU8/ThGvUXY+/TJMslfY7sbkztXkMuGj+60K+J3RpakS/HMPi2ur5v77vwrqUJNjvVDEm0I1OL9LSd2kAB9VcFVOi9r2TA8gH1vxdXouZBGqSCBqkUq4ff7RRX7yMR0j4zaPfa4qHXtM0rZQwjH1jgpJwjeIxheAb1H8LEVOScJlgn9jO1Hc3IdBLnhnKR/81mNOadg9tNA7PXmqS4EIMcd2TRCiC9S/if3Xj5h7SFWiZhpo+RywZ+4+NXEeMS43XDtg8IHJeTaZfcj151qYGhmfiaZygB/YtheL1DGBo6R3n9XFjukIpRsnzifB6cXyykRk1rAhT8fZ7dKqdMSLHCOlNNFpe9GAodImoKGV/69r2EQ5n1KCyk7Tk6U0Zj10OZTIxTR6Lp9I04maJzbTRyshfCpBsH3A7UfGk1rXwAWTrYqaqM/VmTTKieBi9Ugxx2exjjE/Tz2cRgGTNn/iuGwdnItp7dx9H/V7QisYk656vZyEQ/OmgQaPZgS/G1ThuSRry4cHEI3vOUGN/F9jMrjuvXYp3bUBCJfGqnGebtq9JpB4mX2gFtFXh7HIlpGZErsaczkmGx0n5tVclReN+/FBigqB4ZlDfE41I3dv3wCpy0d3O5zY51W3NQuMmD9md3oZuSmKjtYcaXIvqJuP1mXKXkqLDlSnVLe2GmLSXOgdWq8gTqIHzwXmT+JS7bz5LjlETf97GC0bgJP9TzrU/GaOig4SuQpe0Xz2+nFTbauz1EfjI4CM94ItIXKHiy0xBM1c/1Yo2yhFGbc++m1cPBEjizaUCfT21vbRG8R19G9W7q4g38Q8knqvPhcQg2/qy5WiH9jLlqOtjpxLYw/qjHc2JsNCLnmNu9lqopP/Jj9CNtxWiuJzAeRp0ETTuIhqpu2Z5zGFyzAjZ6VyGT9mEP9tFHENz3wFedRVtznMigrWlDv9PkErqENDfNtHtNldBL+mqehXIOddDF6PteXLpKpY1ymlCCEe5YMGuG9rGeHQ1kovS7paoWg7QimfulLOTRJKljoxdHfkZfilJOXGlZhbumvj5sb2/Qx4SSjNGvNLhEjEuMaVxsHyp9rHf0InystKZkvZwt62nvmBvNTzQEEvaCmmzkKIJF11EP1pQvhnPDXGTMHkTffnk+6z0Ms8Z09aSw1BhU0EqzufdgrD94J/YzHzr+r0Ow/aQQmxw+eoVNPkTeC+fRthha6g1246thvZuWrd+VZZTLh/uNFx19+oGVjxrgPsLuaAA7dfn3rlLU/vz9cNLtjsAjmj1OVo5SfPBfS0LaAzRNcygwVqdgthL3zKVVjL7uQM0bPzFr2y70/n4NymwbUX7NiuHfN5tathflE7cZ4Wwzttb3SiLTYDM7J5Asvzesh8tqlP5oDWa5dtKLpDeuKVAMJyX2F96sxM7AwIT2Rq/NiEzc58fYjEQM7KOtVIpZM4ttBTLvuBw6cDIsL25NiIRHziZ6l+X6SbS8skv0E9aRPVeM9Vty0P0C62zN2iNeviQtw0dGKuqngt0pgT/5vVpFe6CX1pbl4J5PWGDxiVsMdCmLvmubJ84yBmLDYpqBpOYkzyGLvrVAeMekXTG7u3qBBYnDA6EDbWH7xQX0VO2kVSqJMQ0KHYHkXsTUkmmj9hmMP5ZvVKHK6kVzvVuIlwvT1a0cefRi2iOzcPwHR4zj6cIClDjmwPurVuElPiaFfRv97Y9VThRTcj9g6B+6gAVvMh9NSkMmmwFVJB2WZffAQgOrtw4Fi8b3LF7+GI1UMbZ7DYuo/UhT3/xlErS+hby5tCWPtnv8PhwVSs7ppdOA04crpr1Pg8R3LzmwOKeANlwP4q19rMAbGLhSg6zHaQvY9QF0TpovaIVRXjM/ARIHWlH902AbA1vtzEzE5WO06+9J45xGSTHyeT6tFFCJiIMyY5ky15VgTQptY9rbgJ69jKMdFS9WIX9TMSX37ZFF0HvqP0tbSGfRuzr0jmFdIpp2toqz94Z9jB6xWPwKsFGcpA1QIkGDuBSDhnqCxvWeyXmKuPKMAzF6WYkwn2thnZuJI5FGnaliOfa1ghXzKBgoj6Pd9OlCC5b/Dc2wnj8R7Nio++twUUe70IFaSi5EXlYUPl2N7VvWYL7cASpp0WJ36TP0hYRKNpdt8rhEy86/opdl72bOJB8S7wX5qFDyrqFtLElenBb2o4pl/eM0kX9XhmLvukyD/Zqno6xl+pxWPo7/wQ+rLRP0Sr8COzUFz7+chfczmXDU0Is6gi3YFysqsOI+ZbkudLrpBdolJahcaxUfpOag4qk8WP0eHBcCsLK8eB5Z/9Dy4h3ztu19/TS8s20kN3354/XecATD3k+cSbPfwlOm8wpkBI0Mz/63MCjgUkgvcbODymxbj9y/pK07ivGN8Mjkf+HwSEpOlyjQF1QqF2vajk6bOtCJMx9asOSJSjiElxhIuodKsOOpb6NoWXKoNCbLR8JjOHUx8r9ajIqH5JZNDV2KrzJDc/aIzZdkHqZ//TQcn2VBBksWozg8+120BkTtgV4Wy5Fik3VjDaq/uxVrrIF0PQxF8t1Tgxiz5qGmskBoTxYbfVHiCTslJcEqIg8r8r+t5rF5SRK8p7tDB2dC1SQE3IS+nFNJX6wJHjSwemcYlqUlQfvQC2/l+XZ6T2KI9BHlYvGyZqOi/W7IhXXGFeqcTbS58/RS5YoC2hYktwdqB7TSIB9m/EMuyza/hfQTgo+mYMkWpU9XoCrfCv9/0MuAwcpxPrtJ/qgjddTtXkMjNj/SEGGX7Gtez9eidJXOM+mWZWl5MPazlylpO2bKh/QxDEpqZXtaMuWPDbA4Vo4ld2voXWUrU/Ty7Qal72rK0ODZNeCDZYkdc95zS3b34I0/+mBdTPvLh/qld/S09aTrGNt9GGqK26KfqHCgPrBkexW+vWG5+O4RK22U0+jK58fE9SSKVVLeRHSLf5SHzFkK9rqnxjL135GB5RucKJfbPbW90WCz1aVqdNP3b01o2O3ClfscwgdM7KyCyT5GS1uFZ4hfSTHm7iyUSnHcurYS5UsV/mMQl7T8psJ1wlQQInoZXOg5U0QvOhajcW8xLdUeweaqC7pkXPteRz5tyyl+sQ2byNkSqVG7z1PnSV8YcVCNHqEWdTrCy6Fz4JZenJSJ+fY3oXn2DmxdU4HGNWUUNGi5yE9vXe+mbQJyIdWv+EZ/+rDCMVTP9S98B3ejc0kdim3B57q8r3nhamtAi2ImtcflQa6TZkX35tCGVtrC8Pdq2czSCXKO7qz7zACKbGk4p8FOReVsCxr+eS59epQC9ovSwGeYAugZLwrknJMquH/6Ejqqd6Bocx3a/pYZLBFjH9LLR2HxJhvq6K/iHeZCFxc9257twuCHtO/zE7fOC1ZhiAu3XWg9lE/bcpifbhJ8h2Xs52lQmHGX5H3svYvdidjxhBN1e4tE/5rwoq/tJShnWyNx0T7Tw6PjmB3b6QXZtpUipv533bjgp44tgL1em2pBY2MHqiqLUPJcG4pZ1Rlj8J3Zj10tilmlgABuw/JGeHia6IWsH1fA8Z1GLC8jhgmJFHnd2L/PFeACk/aIxZeCTEye9dB7JzRhkPNkG3LoE2ueX5Zhl5mqbEDfnIQdj9PM1Iv0RREBWz8G32zCLhMzhmw7X/NMiktfLkbNimIaAFHdfz0CD81EBlbzw/DwHqPP2+rZb18HjiymbTmky3JZnrMX4E+dA3kM3vtCPeaw9kn2aStnhWgV8Q/daH6hV9A6INdGar9fFZ+PDfWh/WVp9dEwnnbRREcWar4mtYfrFG/ps48MFyHxNuMfAfxN+nQi+bSHXtiMw98cCbDWObkp/qji247Y2r2mL43Wj1QyKC7YF9nmzcXIbMU91Sm1n7e8yPhb8p3HxAdC7P9F8MXl1kO51Ifko6otXyjgf9+Fo55kOFIUhI714PQGG/IfJR+lRSTvMfqDgrsVz6VTz9EB+HLmYJj2+cuH51/oXrb6nvxM9Rtru1cR0b/Q9xOKgXUtNDymw0xOoyffIfKHNxej4hHqj9qKiRDz+x70DRVgkb4ogbuGMh1owv4FNdgktXu24pt4jfKkV4RWG6AT7QlL8KuvXaP99/mU4M8SXqyNrk9iHI38CmB5Yu7OTULsEzzLT3nWv3qQ/IgcTQ3iUrSK3YTyn7n77rv/+ybwmSQW8vaYPsM/GsSWu9NnDqP/hIfS+1gO9lJuJpKv9qPPExuFWLiKdUTeKePkcDRjp3+IZRIvu+B+T78EmxVmOkSmE65u+PuFz+yBM+Uk/VVW7dc39OqYxZHZNh0zPzaLtxn99eRh9wxkos/vNT69HMP7t6q/1hOOXMh9c7oIPkpfFAlv4xDCEW7o4CEs7aZg3BvJR8K0KXoZN4cGAt5j9AJ6BK6BRxHLm8BDkhV69o/aHib4BQSP7SSwVSls+wxPV6g7m77sFHNskmk7UftqIZJcoX8dWeBx57gp+5kqK9gnGaP94WKviDnC+ppBmyOVhPaQ5NeXOZJ/yHAEfiP59EwMh9UhQCDOJ5PvjyqBb6TdqwhRpGRb8kz6kaaqcOn8UT2sPdVoEGbi9UqwezqxS1XUyLekwiwG3UNfb7vhdqVirroQ8GBbFGNo9ypCuheR9TST0+jKZ9h2dYWRbkaWiVqt0G8nseR4UjBRyBaxj5HL0fZT+ircyD6adKEv5LH8J1KOZKYPjhiXZLZT4PcWT+6nAIK3uwip9P1d+jQnVPu5pxcoq9ln8qwDaK4IvrcxvTS8tbTh9gBWP0k+mTmEjv+zC13CYJ5t56pBBa3MHKHPzSpX9m4t63Jppy0C66rQ+PAV7N4pzUBPW0W5YlMHAWVyP3WkuhmS3KLbcm4GNJyHGQTs36BPh05E9wUZM3SnTBn6csLqB1Pg+/du9E4ZoW5jQbg9BOP3vtCMDNq+5KTtUkXXaPvLZ9jXJWjL4T+rt+zdxp7CVZ9qCJyiv7NxiL4nP9Xk4vJwBKYhAnzmfhoalavEEeAI3CYICEvT9IY2/e2Bydx+cJugydXkCHAEOALTAgGe3E8LM3IlOAIcAY4AR4AjwBHgCHAEOAL0Z4E4CBwBjgBHgCPAEeAIcAQ4AhwBjsD0QIAn99PDjlwLjgBHgCPAEeAIcAQ4AhwBjgCfuec+wBHgCHAEOAIcAY4AR4AjwBGYLgjwmfvpYkmuB0eAI8AR4AhwBDgCHAGOwG2PAE/ub3sX4ABwBDgCHAGOAEeAI8AR4AhMFwR4cj9dLMn14AhwBDgCHAGOAEeAI8ARuO0R4Mn9be8CHACOAEeAI8AR4AhwBDgCHIHpggBP7qeLJbkeHAGOAEeAI8AR4AhwBDgCtz0CPLm/7V2AA8AR4AhwBDgCHAGOAEeAIzBdEODJ/XSxJNeDI8AR4AhwBDgCHAGOAEfgtkeAJ/e3vQtwADgCHAGOAEeAI8AR4AhwBKYLAjy5ny6W5HpwBDgCHAGOAEeAI8AR4Ajc9gjw5P62dwEOAEeAI8AR4AhwBDgCHAGOwHRBgCf308WSXA+OAEeAI8AR4AhwBDgCHIHbHgGe3N/2LsAB4AhwBDgCHAGOAEeAI8ARmC4ITM/kfmsd9rxcBceUs5IDVS/vQeOTU0+y+EJVgrpXG1G1Nr5Upy61T1tfxn8P6raaRSiSvNHSMstzqpSbOvo5nmzEnh+XTBVgRDkmPXZa4NhWj+Y9bWhrq0fp1NJeVxrBTlOyP9EVd3JuTrpfTI7YnCpH4HZFYHom9zMTkJiUiMR4WHVxMWp/VouSeNDCKK585MPwyGhcqE1dIglImJWMxBv1rnUVqG+YioM0LfJx0ldL1vT1FVy+7MPlYbMVIskbLS2RZ0FFPeqn2qBV139i088ssuHK6eGTeAe1kTsSwlX5dO7HM3bqabDYiYJVFvh+uwuVm6vRolcmlnu6to6FUGid0ZFh+D66QtH7Nj4m2y9uY2invuo2FD/ThFrTk0dTX6PbQcIp1rNMQcjnzUf6nUn4IC6iudDyrCsulG4LIvOsSE8Zic8gbVoD1oXG73XFScPYaN2XkY65w3EZTsdJDyKj6z+x6XejQk1JfG5UqVjqz0tBMnw4u89D/8fx0LV1fOi7WmrBo3Z8sORUbkUE5mM+tduki7ei7LevzLdocm+Fo3QLHMsXwkL5xMTVQbh/04SmN8N3F9a1pdiSvxQZ9yQhYcyH8yd6sHtPj9TB5KD0mSJ87u12XM4sRv6DNLP0u2a8O68IWSlzQTWw9HmamSQ/GTpRjcYDgHVtBb61wY77khNE/q/vQdPhQQNPkvmINIBCVD6/FH8+2AnfcifWLLqPePnh6z+O9vp2uA2oARbkbNqMDXmLRDlGfTjnakfDL6WaGytR/8U/43XXBHLX5mLhXSTr6AW4D/5cIassUzves0oyzJiA7/dH0PmLdrguhRFiGcm+cQ0WpYt4eo51onWfS9Nh21FYGV4vy0NObF6fJ9K4rtSb4ZKLtGQLMGsuHIR9HuFy7mAtWo7Fij3pMd+B0mIHsj9vIYtOYGTAje6fN6FH0jGntBZFnzuNhrNzUS7jpeNbzPZb19thnQ34L5/D8S5/GJDE25aHilHytXzYBPzJRic0WJFcFX9XAHvGHCRIOIRgHxFv2Y9EfAz9IqK0GlqSD3Ue9GGlZG8o/Yw9z05D8l1A0mwH6p/PI1DOofPZFiEhitzumCDUlrdtRcESK+YkSn53IglriMwbEg3ZLu2XslCcZ4PFdxRbf9CK2PxHox8TwQh/IwwYjXBHBHzkKpZHSiL6m6CnIweLJP+48M4b6GjsEuKDY1sdHEluNLzQoWh7NNP2dAnmX/wn7NrTJ7ORfqOMnak5KH68SIiJ+r5JMWhLCYqys2CJGAvFOKOKpwo/EdpIYS6yhPg8gsEz3djzSg8CETWsHEaxItq4vxU796ghk/2vmjAH5HjZgHdSyuHIZn1QaCxhFFR21cZdyaded83CmkLqR/6/c2jf3oAe1h5Y37YkQ8Tzo/M4fng3WgN9m0HMJ75GfVMkf2Jyq9rkDDEud14Vn+j+L7cPqb2KZULbmZFckWOFjLuyjw61lSB7RPxkuYz6XOO4FOAVIQ9R+jUkH/jgCxWYPyjnAIQW+bbz0TXIeVCMgX7vO3jjQCO6Tkloy/ge9CPXKbYRfOTBkV+1ov2iHRVPFMFO/bBAv+slVR5kZGvZt8P1ecLzhSmYOwtI+CLlQM+TTBePQ2wLknz8Z0oiMCMpKal2SkoWQajVT9bhm8tn49KJbvxTz+8xNm85vrzqf+CO//e3eJutnX7Jgb9Jv4a3f/M79NOl5f9v7/yjojrPPP7NEUeDh4omIwaiA1ZInCURjShCFEiCRrFBW0s3xLbYiqcJ7YZsCttKd0vSSlvZNKR7ODlHPFtOjrJniTXSBLOGJGKD01aMmUSdGiEKTQaDWB1CoQLa7HN/zdx7uTNzGdBC8tw/mPvj/fG8n/d5n/fXcy/rSvHUpiSaeR7Fq/sO4vTgXCStuB+r7AN4uVkIcTfWbKJGE78IcZYunDpxFq1nTuPSpBm46dMpiJp9EzpPtKGzpwddf27BqYhCPPXdJfj07d+i9uBxXIy8G+mrVyLhLwfg8PZGRgWQ8rF69qHxbeH5Cnx5812Yf2cKEsLO4s0DL+NU721YkJyCe+ZdwoHftwuB/B7WTT/CD74UiysnG1Hf0ILO6QuQujLZJ8fKLyM/8U7cdfcs9J58Ewea2zA04w4suT8TiYN/wFtnhEGpJJP9zkWYf5Mbf3hjP5wfT8PcRSuxYvFMdDQex7AJ++It2PG9dZj7txNofIVk7puLe9LvQ3JUB5VLCL0YWV+JxW1xAcoVlYcf/duXECun0dL5BSxYvhLJ84VyD2BuvAVDkyIxJ+ITtLo6cLGnGx+dcaJ1VqjsM1C8/du4Z1oXfn/gRRw8PYi4xSuRunAqHG+coKkDkVjzCNISEpCy8BZccb6GFx3nYLEtQUpKole3JF2i6w+P4/WDv0PHzXfh/rXxiAj7Oy699zLeatNXVw5Knt6AmPNNeHF/I85dm4/lWem4O9yBN96jXAWWJRsQN+gSWbZ0hsG28H5kpX8RAwccov6KYQLyFvRoAcLel/IPqhdi/dyOAUN5tWlB1KH5SFyagMntb+LlhlP4a/QCLE+5B18U9P1vc5FgGQJmzkFEXyv+1H4RPZc+wmkntaug7c6KvJ9sR+4CCzqPv076eRZhsSuwZtlt+MLMT9Eht1+lXhbFTUXXqZM4e64VLRdTQ9OfC7rymeEfjEGgNh/ln8+MlQ/hrtm3B9Q3oe7LHnsQc736cTPiU1bhvrSZaH39OP44ZwXy7rcjRm170vPxnTWz8JfXq4fZo5Hazpwnn8aGmPNo2vcbNH5wDfOXrkK6t81YkV0q2+KWV0Vb3H8L2aD7HkTaLa1oPK5ebInAbfN09lSlJ+XfTkaEYp//OgsL7s3Cg8ulMgqp+JfjIm71Yys8S0Ox+2TfdfUp6t+sy9hHtlCxlwnzUrDQegXO115Ec4cFsUtSkJLosyWCnSj/+mKEd/4eDfuayU7E0wLLatw9JNtdWacW2Gei/9wJvH+2Fe85PVha+hS+nhSOLpnnYEwSVjywCol/M9m2E4PYxyD61E0LRtmCDHdNldrkkQ7cbL8fa++IwKS/X/L2qRorJ5RlQRja5PYqPdO1syByhdZH6+tKlj0AP3N9rjm7FLQtpRehYmsGZvWexpHG/XjvkhV3rcnGgshZmNqrjAGSsKXsMTw4dwiuN+vx8tuduPmLKVh13wrM/KARxy8QTcX+3BODK6cP4/+oH58cn4qVKWlYmXE3Ijr/gDd+68Tl2xdpx0FB6zp4n9c+PRYzPr2GKbfNxk1dJ9Hm7kFP94doOdWuUQG+GH8EJuTK/fRrfXC9UYPttLUrHI5mKxL2LKPBGl28Kt5S/clA/ho7wtrqse1peXWr2QHHYDkqH0hDflQDauSV2/D+U6j410rfivlhSn9NKaoXAh89X+XzD11DW8vXaAV8X720st3sRt/mTNpuDuWwIKyrHiU/VlbeHLgaVY282fMpsaaACcZPHcR5x35sq2qQwjVbEF+dB+sddHlYjkoz7o6XylC2V+poGw8eQn55JbLuy4X9lSpIBAFL7yk89wOl7A7UdxSjamsa1m/YBSftVKiPvI2ZiPmkBRWq8I4rZShPzqKXmJ20+iQcQcoVH47BjxzY/+9VkKR3wDJfKfcu1D3fBGzdgdToHriIvVxCqo9Q2U/HUC8NoHdvR+1JQT7SgdkJ2JMch6V05U0/vA+tzxShUl41cTitqPxlkqxbqcN16WAjDn2DdGm1VUjU4LAifIoH7c01aKRdB5Du9fQWIrZPCN8NI5aNTX0oryCWhXY0VLkMwwzn7cvalF74ggc/mxIG90slXh1C81VEKXq2sw5VpGtbKlIR43Gh6nmFJE2mgrW7+HykzQNadfqZ+9QO5ETrxKJ6OaWqF9y7JTT90SVrhr8YJRADpa3p0hYvD/vjQxsGQoCA+mZFvkFba/xYaJuLkE27G66XmuB6oAD29Bxq85JrVg7tbkR2HUODgVwjs520MBJhgafjCGoOCo4p1GZ6PkHhvD4aApL23puPtfYwqr9tXt1wNNejvaQKBam5yCF3Fp+zmAsNvzayp6mGeqLYn1yyP2Vkf/zL0eTHVpD+PRqi3RfqJcgRPtCKisd99tI5sxKVixVbYmAnmhtxoagS31yWDesrNdIui6hTPnZIL0bhMJ7UHwj2ekU+rK/WIGjbFtye/PZNJvTp2vA69fYZ/kxcEFbi44ByjaKPVudNk9rh+qjlJ/WCQfom0mszdilYW8pbnYzIy9p+sv4k9S1PJnultn4jF5nUx7U8Qyv5Sp9z8AKKqwqwaG0GcLJJCqvTlcbJ8ah+2A78sQIlv5J36ltvR6K3rzJR14p9CGCDaklXXchG6eIkwE3eETu9ovPJOCcwIQf39ZUlqI9LQtbXtiDBdjtsVqvY2fQYwqZt08hB9HxkRe6jhaoQg/BMikGMakLg+fNR38BeFXLY6XEn2nPykPWzKtg/cOGY4xAO/bpKtS0+LEbAG+dblYH98GDSthhtuakPeVtM9AWNsiP5oXwsJZ/nmGjiQEEvq8MOdMAlD+yl292oaXcj694YUHP1Du67P3hNW3aa2HTSbkf0vFQKJXTsypGNODLy3cf3aMJ37y5DwW4ljPQbqFxopk6bJmX2ZTnIp04xJjoa1tkkvEebxrCrkNlLvta2xVnI3ZIAW7QN1iiht9JpjceNo7KRFfPuGsCgVwhyCSFd6jikra/uF87C7XdwfwxnOtOQ+e1qVKafgdNJk4H/rZKnbcYs0VWDkx9lIXuOwJ78HU3yVsQ0pRdKYDO/NFg4o9EhM5FMtLs5VkSSfh7WpN2NOnf38MG9vl5C1R+N6Gb4y9PfkBhoMjO+0JdLo29LEUN13//xENLIdqWpUugbiJQn8U1oeHctku5dRgsV9bRQkYNFsRZ0NNV527YqGkZmO4FjrW6kpReg+rkMnHn7HTS+JU1WxDTtVH/9bTigqT9aknC046sLE5C4Gqg/qM7d6FxoU/1oe1XbpnD4CNpzk5Bwp/BlscbAchglCxP6Jy8Embb7qnz0cbqv+awEYFympsoiud3LCel16g7iOdiDTmsuCh9VZTZERjE6RlqEEPz/A9n8gPbRhD5RT2rUJsU+QzCXoR4B5RqjujLDT5Y/YN8k6LUJuxS4Lcm25YSuXz3eiu7+ZEyX5VhKNhC93RhaVojCZSq4/YOItKoW+PS6ck0I2432N52+SCO2HXLUgDbIlzyfTSwCE3Jwn0Qruo/T4PTqZTfc7g50nBiCJTo2AHkLplltsCktSg7Z96EbXSpfwr5e9SA2QHJdDdj+48vIJT/qJfYkrNmcipyNLtQ+vR0N8i5AgNi6R/3o+4vulurS83E7OiZPU92h00vSgFTYyizLtSO8x43zH3fC3UadwC2CP7nquDaEPtWl93RSGPn3+47BK8oavu+ecGax6PKWHw9ek9ZAtKHVV4HLhShaDfiPPNhv9lAddqKz8wyN62fAOlWdhsF5yOxp+/Pnj9MqCfl1d5LedNCkZ8iCGFo51hz9lzVTGc0z8eIqhgyBDg8p3XFiV3EZOmiFJu2eBKRvpEnpBjcO/Rd9KUSeRBixvDpEgwVVBRmF8ZejKb3wF9no/kCffgpkFMrgnol2508/9anp6yVU/dGnS9dGbPX8ETIDgwzVt/TlUj+Tz8MiyXZN1j244Ean3ARdO4+gNSUXSRtpUNm7DPHkzFX3gnH7HKntdO6kHZuOfOQuo4F2JuWxej3ch59DyU7VoEInGjxDGBLujeRrWeJgRZ2QB0NXhTQs4s2Q5KDdwzG1+yrxTPUVw8qkSkA4NdKpSdNgtZHvtSZoH9wfdomLNkHbtgn7GFCfhAG82TapkVF3ETWF6KuOoHKNUV0F4SdJFKRvEgKZYGCqLQ0Zt0MVGepkp8Nm0/TalH833B+r4hrpCi07/VXchdakprkIWNdKSBM2SAnKvxOHgE6jJoLgecilgf3514uwzduBkd/y6lg/wnejf4DaT3sNbV+pBrDC6gf5al5o9hMtwO3UjVtgv3YMu57fjjohnDDQ+Gke1m5KRcMzJicIAdJXP3K9ImyLGR3S1i9OVmPzjiY5AMmxLFXbMYRbEZ9Ij1VGICNyGq2Qt2vStcbkUiCxNFJatKo9jVx6uj+UnGzkDOjnHDw0IZqvD59OvsEPTMERcrPRx/DF9Z2lblpL61tOVH+rAk3y7ezSZUgNMrgPmf0mYfvzPBqLt3ndsAS3nyz94N4nosHZJ6RL4bDG28n9S1Ur6TNElyzdHoAYP35NPlZFummwRS/LvSDcohegflmMzI15NLh3SiznkCsValU7Pxmw3UruEGeFPDwj5G1SL0TprucfE+3O2o/B8GhyKSG3KGWLmETKmS2MMIxo+uQNVX98KQhnsi4H5K+NcWOvJPnQe0x02/PlbaOV+lkYbFXu1KPp9CoU2Ddg64ANntPVKncYJYzwO0LbOT8b+VnT4d5Xgwp5BT7pUfr/FffmIo8G97XdUv3FC7ufqt0u6+JZsNLg5OgwF0m1LMq5oCfhiL4jidqUasIQtRSzZpD9aWkgYxNEDiUpza8J/dOEH8sLqUx6O2H9WjGKbW5U08cSvFWnzlbgOcmC9t3koqGy11Z7MrnjXKBFB8mFKZDND2wfTejTCqFO/fQZQdqkuihYYRX7IWV4GliuMaqroPw0Evq/kPU6sF0K1pYk1vY55IaFGp9tT4wVd9eVfZ5zHmGlyINjPyhT976wLU7FrCuGWuJfbs0TE3WtCc8XnzUCI1lbGVdlD58WI8tDb7UXJYpuOcYC1mO/k14TWrQVRattUpAoGgA9XozH1i0J7iffO0jz4xmIWicMOKTDE5WIzIfyULhcuUdNVWmt4hdwdqBsS6oS/Lr+WmhVX5JC+GpFMmLD9dlZsfBbRciKk+7bNpTiq4mR6H6/UbNCbYlLRxlNTsS0RD7psF1tBXmR6A4X6o53UIebhdINPp6F69Jgm3RZ46qjizj80kKrNVHSbeGrAslzdML309LdFCtihcGDfIyOfTi8akNfSCmiryKN7KhDS2s/6VI+CtPlsgvp5CQg0s8qXevUWCxZl4utCitaf+vz6gqxdJABn5eJQoU9fS0jp/QRJIW78Y7o5xwa7+B6MbKSBwvdP0QbDbfEiq5eUlgT7U7wF/dEIulh+j8SIk8bMr5RhlVxmjU//1mHoD/axMzw18bwdyW4z+34eRG1fuNjOB/jcNq7snzU1rxtU9CPH5bg8U2rEKfaJWw68A7cEXbYo7rhOtCkTUZ3Zdp2toUhNjmb3NhyKFfpuHzFq7zAS/vx7sVILNzksy/W5YUozrSh/0/0xS9dvsaXkp5ELszX2OfC75P96XfhyG6KFUwOIeFhtsKE/hkLNAZ3abJ1yiPZCaWPiMvB1swk8ofvNB7YC7mKPLX22ro8H098/zGsX0wLMvIRqG0Hto8m9GlvC9p6SYZvFiJD6TNWF2F9fKSS/fBfgX04tX25jxRseVlmvGblPrBcY1RXJvkNL4Duzgjskv+2JNntQVs6SouyqV3SeyP2bBR9K4kmvr78XHuFjybEI+upPKTKfaHQR5d8bzNW2ZSpkS+8+TMTdW06scsYpGY/wypMVJRD+HoRfT2nyJ/FU8Lx7z+KwARcua9FXXMSHqeXj/YsJY2jDr7/rBPn+5MwXRnv62g6f/Us6kqewPpHyrHnn6U4gxed2Fu+S7N6rYsmXdKLUO+ssyPz4UrsocVtd/MjKKmilyN/Uois71ZiSQGlF0aDkcuU3m4HxdmC6Dn0ze9eWna6rocDNa9mkltOHipf2EhzC0mGNurwY2+R/FTF7KmDPOaORd5P98j/iGsQ3S56iVh5CUeW0X28BZb0QlSuKZTu9LvhqK1CnWoAoRSne/ezqJ78BDZvIJ4PyTw7W1D7nHr1WQlt/OvYfQCZ5JaT98s92CgkQWsbzjYyZnOixP8sLM4pGo/ARR1F6pN7kEqfiHT9TwG2h8p+dx0OJZJbDqW1RMiPPvHWcfI8+qOm4zZjEQ3vNtB7Flah7reWI3UrBSFfW/exw3BFpBmGx0tV2DuvFBtlVsLKnIX8ORufrxXDd++tQnUEsVxF7FcViPVoGSD2eyqwS169Gxlvk3phLG3IdxsdLvpMG60svpBKAy1yUfsOuagFbXdNqPjP6SguWifyzCKe/dQuXznqRq5qQmckVMj6o1tNNsPfKH/9vRlR9M4LTU59nZ82hBEfbQjjK0P5+kl/dhJfdZST9ei4SC+6X3GiTrXqqw4CGm6PzHbWo2pfAkq/nIvyF9aT+xLprtBsW8kOAAAFpElEQVRuXq+SB+5OVFbWUf2tRz7ZlzzRFEj2pepnGum0YuiujO0zvYDrLWMwOShBI1sRVP90gozhZdMzOzBd6HOoj9izVQQDz/sNqH6mKUAuBjwnEc9392L7LmmnMJjNdwW0j7QTYmRvNPpELqc7rSh/NAsFP01FgSAt2aOWt1yYRk3b8CDb2ngH2UShj3yYQtCnpl2vtcC97p+8wYPJZawDJvtoby7B+XmDBjwxY5eCtyWv3V6Zh9LkPOJCbed3h+BKzfbtrnfROyzV4Xjim9m0o5sNYTihtLHtOlsVUGSDh8Hr2iCS4S0HGt9dTzuswliDytF1CI8Un0cUjXNiPP4snmFCfPMGErjp1ltv/fQG5jd2WYluNZEYcjvgPGc2WWE7m2YAI4ojp00v8KbOGkTrH1X/fEWWAZfo03wuGpgqx0ZaxbO9hpIxdtFRktf+SmWarJdBCERuJ3uSe1BbQAMBrxuS0/ftaDEhcuWhL59Mb6FJy076cq+8HagpjzZD1dUoeMqpCPnFTPZouapyEE6929LCjoFyhMheTGvmEE3S9ByUhE3+CvogqJLpdCRW4cKkSV0Ob3bCy8XxiBzy91wIOBLeAfTCm+dYn0hlsFzQt8mRyE2vI/5LJUrt9OI3TRDESV4AMUPWn2FpmuE/LJLqhh1FFZtwgdy+pGmb6pH31B8fb4AAJ1Lcab06W6PEoE8NVv5wCTx7N4tfl1FuG/6GYDtFzuH9/vVdbA+T4WltgctgQcBQjmE3g+tsMDkMbcWI2s0woUZ3Q2Q9DX0j5RLQvgTnBH/20VuaIPpE4UTWCGSPvImJJyL7CPramLqP1AYhF1bBHTaS3hvzo8djVVcB+emFMndtaJdG3JZyUfbfOQh3UH+7S5uvKX7aKCavgte1uYQEvRPcAUfTxs3lxKFGT2DiDu5HX/brlEI2ip9Lw+Xqbd6V1+uUUfBk1YN7v6G1g3u/wSbEg3HEfkLw+gcLSf/roPznWQg7Wo2K5+V/gEbuC2XbchFzthYFI1j9/QeXBPYt5dg68wiKdphfsR5LmTOEz0/a2lFd6HuHZSzT57SYwOeGwBjZpYwnqU3Gd6LuF9tRLy5Akuvso6UoJI+DQ/TpS2Vn9nPDlQt6QwlMQLecG8onhMyOoqa8Ad0hr16FkCVHkQkw+wmlCl21ePY3MSj9Cq06LyWXJNpDtEwR3OwaMRK3jvFQ5u6Xn0VRl2r37kYKFZWLjDvpPZq3G9B0I/PlvJjAZ5HAGNmlpmeqEUsunLnksrZ+gPxtbiK3NsH99Dc+l8vPIj4u0/ggwCv346MeWAom8DkmIG0bR04mn/tQXOY+x+S46EyACVwvAmNkl0QXIfpYBP2/goAuS9erGJzu55IAD+4/l9XOhWYCTIAJMAEmwASYABP4LBKYsJ/C/CxWBpeJCTABJsAEmAATYAJMgAmMhgAP7kdDj+MyASbABJgAE2ACTIAJMIFxRIAH9+OoMlgUJsAEmAATYAJMgAkwASYwGgI8uB8NPY7LBJgAE2ACTIAJMAEmwATGEQEe3I+jymBRmAATYAJMgAkwASbABJjAaAjw4H409DguE2ACTIAJMAEmwASYABMYRwR4cD+OKoNFYQJMgAkwASbABJgAE2ACoyHAg/vR0OO4TIAJMAEmwASYABNgAkxgHBHgwf04qgwWhQkwASbABJgAE2ACTIAJjIYAD+5HQ4/jMgEmwASYABNgAkyACTCBcUSAB/fjqDJYFCbABJgAE2ACTIAJMAEmMBoCPLgfDT2OywSYABNgAkyACTABJsAExhEBHtyPo8pgUZgAE2ACTIAJMAEmwASYwGgI8OB+NPQ4LhNgAkyACTABJsAEmAATGEcEeHA/jiqDRWECTIAJMAEmwASYABNgAqMhwIP70dDjuEyACTABJsAEmAATYAJMYBwR+H82nJwMIh/h4wAAAABJRU5ErkJggg==" class="kg-image" alt loading="lazy"><figcaption><em>Screenshot from start-smart.io with common AI repetitions, such as “In today’s fast-paced world”, or “Understanding…” used as a subheader. The text repeats the same idea (almost word-for-word) across sections and has an overly formal, generic corporate tone. Plus, it lacks regional variety in spelling, tone, or idioms.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABRUAAALjCAYAAACMFOL5AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFFaADAAQAAAABAAAC4wAAAABmXXcfAABAAElEQVR4AezdC1xVZb4//o96hMYLOSpOf9KU8DJBeZuYRPobOBpmR8hGaCaoMS9NwUwRc6TIS2QaJTOENZAzXrKEziSdCvpnko4wHhEbPIoWlBdSU/k3gkao/QIP+vuufWNf1lp7b9gbQT7rFbH3Ws/zrGe9n8Xe7u9+Lj2u1Oy5Am4UoAAFKEABClCAAhSgAAUoQAEKUIACFKAABVwU6OliOiajAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKGAQYFCRNwIFKEABClCAAhSgAAUoQAEKUIACFKAABSjglgCDim5xMTEFKEABClCAAhSgAAUoQAEKUIACFKAABSjAoCLvAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUMAtAQYV3eJiYgpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIBBRd4DFKAABShAAQpQgAIUoAAFKEABClCAAhSggFsCDCq6xcXEFKAABShAAQpQgAIUoAAFKEABClCAAhSgAIOKvAcoQAEKUIACFKAABShAAQpQgAIUoAAFKEABtwQYVHSLi4kpQAEKUIACFKAABShAAQpQgAIUoAAFKEABBhV5D1CAAhSgAAUoQAEKUIACFKAABShAAQpQgAJuCTCo6BYXE1OAAhSgAAUoQAEKUIACFKAABShAAQpQgAIMKvIeoAAFKEABClCAAhSgAAUoQAEKUIACFKAABdwSYFDRLS4mpgAFKEABClCAAhSgAAUoQAEKUIACFKAABRhU5D1AAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKuCXAoKJbXExMAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKMKjIe4ACFKAABShAAQpQgAIUoAAFKEABClCAAhRwS4BBRbe4mJgCFKAABShAAQpQgAIUoAAFKEABClCAAhRgUJH3AAUoQAEKUIACFKAABShAAQpQgAIUoAAFKOCWAIOKbnExMQUoQAEKUIACFKAABShAAQpQgAIUoAAFKMCgIu8BClCAAhSgAAUoQAEKUIACFKAABShAAQpQwC0BBhXd4mJiClCAAhSgAAUoQAEKUIACFKAABShAAQpQgEFF3gMUoAAFKEABClCAAhSgAAUoQAEKUIACFKCAWwIMKrrFxcQUoAAFKEABClCAAhSgAAUoQAEKUIACFKAAg4q8ByhAAQpQgAIUoAAFKEABClCAAhSgAAUoQAG3BBhUdIuLiSlAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEGFXkPUIACFKAABShAAQpQgAIUoAAFKEABClCAAm4JMKjoFhcTU4ACFKAABShAAQpQgAIUoAAFKEABClCAAgwq8h6gAAUoQAEKUIACFKAABShAAQpQgAIUoAAF3BJgUNEtLiamAAUoQAEKUIACFKAABShAAQpQgAIUoAAFGFTkPUABClCAAhSgAAUoQAEKUIACFKAABShAAQq4JcCgoltcTEwBClCAAhSgAAUoQAEKUIACFKAABShAAQowqMh7gAIUoAAFKEABClCAAhSgAAUoQAEKUIACFHBLgEFFt7iYmAIUoAAFKEABClCAAhSgAAUoQAEKUIACFGBQkfcABShAAQpQgAIUoAAFKEABClCAAhSgAAUo4JYAg4pucTExBShAAQpQgAIUoAAFKEABClCAAhSgAAUowKAi7wEKUIACFKAABShAAQpQgAIUoAAFKEABClDALQEGFd3iYmIKUIACFKAABShAAQpQgAIUoAAFKEABClCAQUXeAxSgAAUoQAEKUIACFKAABShAAQpQgAIUoIBbAgwqusXFxBSgAAUoQAEKUIACFKAABShAAQpQgAIUoACDirwHKEABClCAAhSgAAUoQAEKUIACFKAABShAAbcEGFR0i4uJKUABClCAAhSgAAUoQAEKUIACFKAABShAAQYVeQ9QgAIUoAAFKEABClCAAhSgAAUoQAEKUIACbgkwqOgWFxNTgAIUoAAFKEABClCAAhSgAAUoQAEKUIACDCryHqAABShAAQpQgAIUoAAFKEABClCAAhSgAAXcEmBQ0S0uJqYABShAAQpQgAIUoAAFKEABClCAAhSgAAUYVOQ9QAEKUIACFKAABShAAQpQgAIUoAAFKEABCrglwKCiW1xMTAEKUIACFKAABShAAQpQgAIUoAAFKEABCjCoyHuAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUcEuAQUW3uJiYAhSgAAUoQAEKUIAC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SKAqAS7UUpUJz5AACZAACZAACZAACZAACZAACZAACZAACZAACVRDgHMqVgOHl0iABEiABEiABEiABEiABBoYgXqeU7GBeUtzSIAESIAESMA1AvU4pyIzFV1rGpYmARIgARIgARIgARIgARIgARIgARIgARIggWZHgEHFZtfkdJgESIAESIAESIAESIAESIAESIAESIAESIAEXCPAoKJr/FiaBEiABEiABEiABEiABEiABEiABEiABEiABJodAQYVm12T02ESIAESIAESIAESIAESIAESIAESIAESIAEScI0Ag4qu8WNpEiABEiABEiABEiABEiABEiABEiABEiABEmh2BBhUbHZNTodJgARIgARIgARIgARIgARIgARIgARIgARIwDUCDCq6xo+lSYAESIAESIAESIAESIAESIAESIAESIAESKDZEWBQsdk1OR0mARIgARIgARIgARIgARIgARIgARIgARIgAdcIMKjoGj+WJgESIAESIAESIAESIAESIAESIAESIAESIIFmR4BBxWbX5HSYBEiABEiABEiABEiABEiABEiABEiABEiABFwjwKCia/xYmgRIgARIgARIgARIgARIgARIgARIgARIgASaHQEGFZtdk9NhEiABEiABEiABEiABEiABEiABEiABEiABEnCNAIOKrvFjaRIgARIgARIgARIgARIgARIgARIgARIgARJodgQYVGx2TU6HSYAESIAESIAESIAESIAESIAESIAESIAESMA1AgwqusaPpUmABEiABEiABEiABEiABEiABEiABEiABEig2RFgULHZNTkdJgESIAESIAESIAESIAESIAESIAESIAESIAHXCDCo6Bo/liYBEiABEiABEiABEiABEiABEiABEiABEiCBZkeAQcVm1+R0mARIgARIgARIgARIgARIgARIgARIgARIgARcI8Cgomv8WJoESIAESIAESIAESIAESIAESIAESIAESIAEmh0BBhWbXZPTYRIgARIgARIgARIgARIgARIgARIgARIgARJwjQCDiq7xY2kSIAESIAESIAESIAESIAESIAESIAESIAESaHYEGFRsdk1Oh0mABEiABEiABEiABEiABEiABEiABEiABEjANQIMKrrGj6VJgARIgARIgARIgARIgARIgARIgARIgARIoNkRYFCx2TU5HSYBEiABEiABEiAB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Z9vcoCjZSq/IGts+9nDprI0sdKvuKccSj6telnk5GfMWqL2C0mrxUBpyLwPqKR1JPUmABEjgHiXA99g92vFsNgmQAAmQAAmQAAn0LgItLNztXY3smtbI8qb5svR4jyw9lhh96coyGlk+auPogrDpQ2W5S3uTA7yHWyL++0PY6BKKKNmpV7Uy+cYVnDh2FHGnquAybVYX7QraXp3vcDlXV4mTmIr4uBTYPxwIP83S7Yri09h9QOIw9h2B6MkdiWF4h9vD6kiABEjgLiJQdqEE9QOsUHQkX2LDDUbYiLtIud6iCt9jvaUn2Q4SIAESIAESIAESuKcJ0KjYke7vY4vgqAUI7ogMI2UDIhdg1aBD2HFYE29OySMx+5ycnBG+aDYideMsGinf6y8pMb2i+0vMPonnti0L1UrcN0kW1mKQ9Q/B2pk+cOHIVkPhvyRAAiRgJoGi4wnYmClxHvtJ3MeZsxDewr4UZopldl0CfI/p0uAxCZAACZAACZAACZBADyXAmIo9tOOoNgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAl0FwHGVOwu8qyXBEiABEiABEiABEiABEiABEiABEiABEiABHooARoVe2jHUW0SIAESIAESIAESIAESIAESIAESIAESIAES6C4CNCp2F3nWSwIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAI9lACNij2046g2CZAACZAACZAACZAACZAACZAACZAACZAACXQXARoVu4s86yUBEiABEiABEiABEiABEiABEiABEiABEiCBHkqARsUe2nFUmwRIgARIgARIgARIgARIgARIgARIgARIgAS6iwCNit1FnvWSAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQA8lQKNiD+04qk0CJEACJEACJEACJEACJEACJEACJEACJEAC3UWARsXuIs9673ICedjw5keIOXj1LtfzXlavDtkH/42X/vQRnpO+eu7P/0bidQMeZccRI/dWf1aIaoNbbZ2Wpe3F6veSkF6rzckxoSXBTxIgARIgARIgARIgARIgARIgARLoRwTtJJC1D8/tKUfYksVYPMK4jPyEWLyZPgjLfvkIgq2M5+FVEiCB9hGoPnkA61PK4TfjEfwmwAYVF2/DfYCurCokfJGBMsdxeHW+B2x0b5ly3HAT1TVVqKiXzJy/phBjHhIgARIgARIg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B18Z9zDmrD1XJ3aiQO2uwocG4ozVt8c9l04MmV7a/lh0HUuB2l/SnXonHjfF32/vqsTmtxbH/Xcvn9GdcMMbv/SfGevvXx1XTvE9Zb41GFs37433l7fHppWT3MlaJoquCRAgQIAAAQIECBAgQIAAgZNUwOPPJ+ng4vPPYyjdWTX/zImBYqQ1Dz84lhprWvCDA8W0dUoM/mcoWq6a4aO1J6uj8yZAgAABAgQIECBAgAABAgQIEJi2gMefp002Sw5Ij+8umXMwBnp2x4VrLo/LzhoJFz899k5Uq/vjpf+ndevWTmfn3PQI8Z1/nNFj2LNExGkQIECAAAECBAgQIECAAAECBAj8TAJCxZ8JOvvXpPX91v9pdTSntQKfSevzVcbWoxteo7E1NqxbGq1TrkOY/YwUJECAAAECBAgQIECAAAECBAgQKETAmoqFDFqbBAgQIECAAAECBAgQIECAAAECBHIJWFMxl6Q6BAgQIECAAAECBAgQIECAAAECBAoRECoWMmhtEiBAgAABAgQIECBAgAABAgQIEMglIFTMJakOAQIECBAgQIAAAQIECBAgQIAAgUIEhIqFDFqbBAgQIECAAAECBAgQIECAAAECBHIJCBVzSapDgAABAgQIECBAgAABAgQIECBAoBABoWIhg9YmAQIECBAgQIAAAQIECBAgQIAAgVwCQsVckuoQIECAAAECBAgQIECAAAECBAgQKERAqFjIoLVJgAABAgQIECBAgAABAgQIECBAIJeAUDGXpDoECBAgQIAAAQIECBAgQIAAAQIEChEQKhYyaG0SIECAAAECBAgQIECAAAECBAgQyCUgVMwlqQ4BAgQIECBAgAABAgQIECBAgACBQgSEioUMWpsECBAgQIAAAQIECBAgQIAAAQIEcgkIFXNJqkOAAAECBAgQIECAAAECBAgQIECgEAGhYiGD1iYBAgQIECBAgAABAgQIECBAgACBXAJCxVyS6hAgQIAAAQIECBAgQIAAAQIECBAoRECoWMigtUmAAAECBAgQIECAAAECBAgQIEAgl4BQMZekOgQIECBAgAABAgQIECBAgAABAgQKERAqFjJobRIgQIAAAQIECBAgQIAAAQIECBDIJSBUzCWpDgECBAgQIECAAAECBAgQIECAAIFCBISKhQxamwQIECBAgAABAgQIECBAgAABAgRyCQgVc0mqQ4AAAQIECBAgQIAAAQIECBAgQKAQAaFiIYPWJgECBAgQIECAAAECBAgQIECAAIFcAkLFXJLqECBAgAABAgQIECBAgAABAgQIEChEQKhYyKC1SYAAAQIECBAgQIAAAQIECBAgQCCXgFAxl6Q6BAgQIECAAAECBAgQIECAAAECBAoRECoWMmhtEiBAgAABAgQIECBAgAABAgQIEMglIFTMJakOAQIECBAgQIAAAQIECBAgQIAAgUIEhIqFDFqbBAgQIECAAAECBAgQIECAAAECBHIJCBVzSapDgAABAgQIECBAgAABAgQIECBAoBABoWIhg9YmAQIECBAgQIAAAQIECBAgQIAAgVwCQsVckuoQIECAAAECBAgQIECAAAECBAgQKERAqFjIoLVJgAABAgQIECBAgAABAgQIECBAIJeAUDGXpDoECBAgQIAAAQIECBAgQIAAAQIEChEQKhYyaG0SIECAAAECBAgQIECAAAECBAgQyCUgVMwlqQ4BAgQIECBAgAABAgQIECBAgACBQgSEioUMWpsECBAgQIAAAQIECBAgQIAAAQIEcgkIFXNJqkOAAAECBAgQIECAAAECBAgQIECgEAGhYiGD1iYBAgQIECBAgAABAgQIECBAgACBXAJCxVyS6hAgQIAAAQIECBAgQIAAAQIECBAoRECoWMigtUmAAAECBAgQIECAAAECBAgQIEAgl4BQMZekOgQIECBAgAABAgQIECBAgAABAgQKERAqFjJobRIgQIAAAQIECBAgQIAAAQIECBDIJSBUzCWpDgECBAgQIECAAAECBAgQIECAAIFCBISKhQxamwQIECBAgAABAgQIECBAgAABAgRyCQgVc0mqQ4AAAQIECBAgQIAAAQIECBAgQKAQAaFiIYPWJgECBAgQIECAAAECBAgQIECAAIFcAkLFXJLqECBAgAABAgQIECBAgAABAgQIEChEQKhYyKC1SYAAAQIECBAgQIAAAQIECBAgQCCXgFAxl6Q6BAgQIECAAAECBAgQIECAAAECBAoRECoWMmhtEiBAgAABAgQIECBAgAABAgQIEMglIFTMJakOAQIECBAgQIAAAQIECBAgQIAAgUIEhIqFDFqbBAgQIECAAAECBAgQIECAAAECBHIJCBVzSapDgAABAgQIECBAgAABAgQIECBAoBABoWIhg9YmAQIECBAgQIAAAQIECBAgQIAAgVwCQsVckuoQIECAAAECBAgQIECAAAECBAgQKETgGwOMJlhuNhC9AAAAAElFTkSuQmCC" class="kg-image" alt loading="lazy"><figcaption><em>Screenshot </em><a href="https://sapinn.com/">from sapinn.com</a><em> with common flattened cultural nuances such as “suena muy bien”, which is an English calque (better expression: “Parece sencillo”). Another hallmark of AI can be found in the sentences following the same length and structure, a safe vocabulary of mid-frequency and high-probability, or a lack of metaphorical anchors and region-specific personality.</em></figcaption></figure><h2 id="how-to-stop-an-llm-from-repeating-itself">🪄How to stop an LLM from repeating itself <a class="markdownit-header-anchor" href="#how-to-stop-an-llm-from-repeating-itself">🔗</a></h2><p>AI repetition in localization is a common issue, and the online world is full of examples such as those above. One way to avoid it is by introducing <strong>an LLM repetition penalty that discourages models from replicating the same words</strong>. It modifies token probabilities <a href="https://arxiv.org/abs/2206.02369">and leads to more unique results</a>. Another effective method is <a href="https://openreview.net/pdf?id=WjgCRrOgip">to penalize repetition in training data</a>.</p><p>Such upgraded models may or may not see daylight, so instead of waiting impatiently with high hopes, there’s something else you can do right now. And it doesn’t involve dropping the AI altogether. All you need is your wizard hat and a bit of magic in the form of verbalized sampling. 🎩</p><h3 id="using-verbalized-sampling">Using verbalized sampling <a class="markdownit-header-anchor" href="#using-verbalized-sampling">🔗</a></h3><p>What is verbalized sampling, and how can it help you?</p><p>According <a href="https://arxiv.org/pdf/2510.01171" rel="noopener noreferrer nofollow"><u>to the paper “Verbalized Sampling: How to Mitigate Mode Collapse and Unlock LLM Diversity” by <strong>Jiayi Zhang, Simon Yu</strong></u></a>, and others, verbalized sampling is an inference-time method that improves diversity in LLM outputs. It explicitly asks the model to generate multiple candidate outputs along with natural-language justifications that explain how likely each candidate is. <strong>This simple act pushes the model to investigate options it would normally ignore</strong>. And because this process happens at inference time, it restores diversity without retraining, fine-tuning, or touching the model weights.</p><p>The experiments conducted by the research authors demonstrated that verbalized sampling significantly improves performance in creative writing dialogue simulation and synthetic data generation without compromising accuracy.</p><p>It also adds more variety to translation. <strong>The model pulls out lower probability but valid choices that standard decoding would overlook</strong>. This means that your results may contain alternative sentence structures, different tones, regionally distinct phrasing, and more creative, but still faithful paraphrases. </p><p>All in all, using verbalized sampling for localization and translation can lead to more natural-sounding content that engages and converts.</p><h3 id="a-quick-example">A quick example <a class="markdownit-header-anchor" href="#a-quick-example">🔗</a></h3><p>Let’s see it in action. For the following prompt:</p><pre><code>Provide 4 alternative translations from Polish into English of the text below. 

For each version, write a short explanation of how likely that translation is (high / medium / low probability) and what linguistic factors influence that probability (syntax, tone, idioms, regionality, etc.).

Source: “Odkryj świat, w którym granica między rzeczywistością a fantazją nie istnieje”.</code></pre><p>GPT 5.1 presented the following results:</p><figure class="kg-card kg-image-card"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABBQAAAP9CAYAAAA98z5YAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEFKADAAQAAAABAAAD/QAAAAAaJfD7AABAAElEQVR4Aey9DVRd1Z33/5tZWUu6HEKsTyBPTaR/G4IvCejIi5oUHo2SSQWsDcQ+DUPbYHCmQNoxJNUgWoN0xhCdBEgfwebRIF0TIVMHaE1D0lGYLi3E0YA1zY1/s4J/dXFdzQx06crNMmud/2+f133OPfdy7uUSbsL3rAX3vOyX3/7s3377nX32/guFD8IBAiAAAiAAAiAAAiAAAiAAAiAAAiAAAhEQ+MsI3MIpCIAACIAACIAACIAACIAACIAACIAACKgEYFCAIoAACIAACIAACIAACIAACIAACIAACERMAAaFiJHBAwiAAAiAAAiAAAiAAAiAAAiAAAiAAAwK0AEQAAEQAAEQAAEQAAEQAAEQAAEQAIGICcCgEDEyeAABEAABEAABEAABEAABEAABEAABEIBBAToAAiAAAiAAAiAAAiAAAiAAAiAAAiAQMQEYFCJGBg8gAAIgAAIgAAIgAAIgAAIgAAIgAAIwKEAHQAAEQAAEQAAEQAAEQAAEQAAEQAAEIiYAg0LEyOABBEAABEAABEAABEAABEAABEAABEAABgXoAAiAAAiAAAiAAAiAAAiAAAiAAAiAQMQEYFCIGBk8gAAIgAAIgAAIgAAIgAAIgAAIgAAIwKAAHQABEAABEAABEAABEAABEAABEAABEIiYAAwKESODBxAAARAAARAAARAAARAAARAAARAAARgUoAMgAAIgAAIgAAIgAAIgAAIgAAIgAAIRE4BBIWJk8AACIAACIAACIAACIAACIAACIAACIACDAnQABEAABEAABEAABEAABEAABEAABEAgYgIwKESMDB5AAARAAARAAARAAARAAARAAARAAARgUIAOgAAIgAAIgAAIgAAIgAAIgAAIgAAIREwABoWIkcEDCIAACIAACIAACIAACIAACIAACIAADArQARAAARAAARAAARAAARAAARAAARAAgYgJwKAQMTJ4AAEQAAEQAAEQAAEQAAEQAAEQAAEQgEEBOgACIAACIAACIAACIAACIAACIAACIBAx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x58btPNyhx4XBZyjCoFkgwAIgAAIgAAIgAAIgAAIgAAIgIAXApfhGgpj1H7fBupPXUMFd2aq2yCe/7Cf2lo7aNifRPk/a/W0KKAXeHADAiAAAiAAAiAAAiAAAiAAAiAAAnOVwGW4hgJvD7m3jB5uHaLRj/WNIPVFBWt+yosCZnhbFHCuKgTSDQIgAAIgAAIgAAIgAAIgAAIgAAJeCFyGBgUvyYYbEAABEAABEAABEAABEAABEAABEACB6RCYO2soTIcS/IIACIAACIAACIAACIAACIAACIAACNgIwKBgw4ELEAABEAABEAABEAABEAABEAABEAABLwRgUPBCCW5AAARAAARAAARAAARAAARAAARAAARsBGBQsOHABQiAAAiAAAiAAAiAAAiAAAiAAAiAgBcCMCh4oQQ3IAACIAACIAACIAACIAACIAACIAACNgIwKNhw4AIEQAAEQAAEQAAEQAAEQAAEQAAEQMALARgUvFCCGxAAARAAARAAARAAARAAARAAARAAARsBGBRsOHABAiAAAiAAAiAAAiAAAiAAAiAAAiDghQAMCl4owQ0IgAAIgAAIgAAIgAAIgAAIgAAIgICNAAwKNhy4AAEQAAEQAAEQAAEQAAEQAAEQAAEQ8EIABgUvlOAGBEAABEAABEAABEAABEAABEAABEDARgAGBRsOXIAACIAACIAACIAACIAACIAACIAACHghAIOCF0pwAwIgAAIgAAIgAAIgAAIgAAIgAAIgYCMAg4INBy5AAARAAARAAARAAARAAARAAARAAAS8EIBBwQsluAEBEAABEAABEAABEAABEAABEAABELARgEHBhgMXIAACIAACIAACIAACIAACIAACIAACXgjAoOCFEtyAAAiAAAiAAAiAAAiAAAiAAAiAAAjYCMCgYMOBCxAAARAAARAAARAAARAAARAAARAAAS8EYFDwQgluQAAEQAAEQAAEQAAEQAAEQAAEQAAEbARgULDhwAUIgAAIgAAIgAAIgAAIgAAIgAAIgIAXAjAoeKEENyAAAiAAAiAAAiAAAiAAAiAAAiAAAjYCMCjYcOACBEAABEAABEAABEAABEAABEAABEDACwEYFLxQghsQAAEQAAEQAAEQAAEQAAEQAAEQAAEbARgUbDhwAQIgAAIgAAIgAAIgAAIgAAIgAAIg4IUADApeKMENCIAACIAACIAA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JpoAVyhMNHGmRwIkQAIkQAIkQAIkQAIkQAIkQAJTgAAVClOgEJkFEiABEiABEiABEiABEiABEiABEphoAlQoTDRxpkcCJEACJEACJEACJEACJEACJEACU4AAFQpToBCZBRIgARIgARIgARIgARIgARIgARKYaAJUKEw0caZHAiRAAiRAAiRAAiRAAiRAAiRAAlOAABUKU6AQmQUSIAESIAESIAESIAESIAESIAESmGgCVChMNHGmRwIkQAIkQAIkQAIkQAIkQAIkQAJTgAAVClOgEJkFEiABEiABEiABEiABEiABEiABEphoAlQoTDRxpkcCJEACJEACJEACJEACJEACJEACU4AAFQpToBCZBRIgARIgARIgARIgARIgARIgARKYaAJUKEw0caZHAiRAAiRAAiRAAiRAAiRAAiRAAlOAABUKU6AQmQUSIAESIAESIAESIAESIAESIAESmGgCVChMNHGmRwIkQAIkQAIkQAIkQAIkQAIkQAJTgAAVClOgEJkFEiABEiABEiABEiABEiABEiABEphoAlQoTDRxpkcCJEACJEACJEACJEACJEACJEACU4AAFQpToBCZBRIgARIgARIgARIgARIgARIgARKYaAJUKEw0caZHAiRAAiRAAiRAAiRAAiRAAiRAAlOAABUKU6AQmQUSIAESIAESIAESIAESIAESIAESmGgCVChMNHGmRwIkQAIkQAIkQAIkQAIkQAIkQAJTgAAVClOgEJkFEiABEiABEiABEiABEiABEiABEphoAlQoTDRxpkcCJEACJEACJEACJEACJEACJEACU4AAFQpToBCZBRIgARIgARIgARIgARIgARIgARKYaAJUKEw0caZHAiRAAiRAAiRAAiRAAiRAAiRAAlOAABUKU6AQmQUSIAESIAESIAESIAESIAESIAESmGgCl69C4UwjsmfMwIwZ2Wg8M5bYu1GmxzsDZQfjizd4phO1W2rR+X7Y/8BT2SKbyHd7IwYs5w/60fyNajQfG7JcJtVfr3wmmgFPLolGQv8kQAIkQAIkQAIkQAIkQAIkQAKjJnCJFQoDaLxdvdS7/81Cem4ZGg8PIDjqLCZ7BAN49ssl2PXCLpR82aY88BC7+xsrUbWnEVUrqtHt8XxCnA6WmeVVFl0Gy49dGSJqkXjzOSH5YCIkQAIkQAIkQAIkQAIkQAIkQAKjInCJ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x5H/eYvKhElR0SgkCZAACZAACZAACZAACZDA5UiAKxQux1JnnkmABEiABEiABEiABEiABEiABEhglAS4QmGUABmcBEiABEiABEiABEiABEiABEiABC5HAlQoXI6lzjyTAAmQAAmQAAmQAAmQAAmQAAmQwCgJUKEwSoAMTgIkQAIkQAIkQAIkQAIkQAIkQAKXIwEqFC7HUmeeSYAESIAESIAESIAESIAESIAESGCUBKhQGCVABicBEiABEiABEiABEiABEiABEiCBy5EAFQqXY6kzzyRAAiRAAiRAAiRAAiRAAiRAAiQwSgJUKIwSIIOTAAmQAAmQAAmQAAmQAAmQAAmQwOVIgAqFy7HUmWcSIAESIAESIAESIAESIAESIAESGCUBKhRGCZDBSYAESIAESIAESIAESIAESIAESOByJECFwuVY6swzCZAACZAACZAACZAACZAACZAACYySABUKowTI4CRAAiRAAiRAAiRAAiRAAiRAAiRwORKgQuFyLHXmmQRIgARIgARIgARIgARIgARIgARGSYAKhVECZHASIAESIAESIAESIAESIAESIAESuBwJUKFwOZY680wCJEACJEACJEACJEACJEACJEACoyQwpRQK3eUzMGOG/CvvHiUWBg8ROFgmTLPReCbkwhsbgYGnsoVPGSZVjbvYj+p0aScrmvF13mwAAEAASURBVDFgy0tCt++3oOCaGUjf0o1gQgET9TyAxtvZphOlNn7+u1F2GfWx/d9Ix4xrVqKZ/d/4VSnPmC+fdm+MIRM7xl6KND2LOUkcJ+U4Pgy7y7WM2WcPUzEm8HGgtUDmx+nYfHh8Z4kTmCUmFYPApVMoBOSFRE1M5V/BCwEPEftRNct4PmN9u8dLy3HUqpciCZ/91IhfizzSHZlTz8OzRJZFqH07Vvgg2jcomUvQ/mEsf3xGAuNI4KNBDI02+o+CuDDaOBieBJKaQBCD7KeTuoQoHAnESyDYXoQZ+S1Qs037fbzh6S8xArpCI70WxyWY/wn58GLeJxZLor6nXp9tr6v2+0TJXAr/wQ/Hf5aof0g23xE7N8r7lef74qXI/eWX5qVTKPhykXeTAbznNdXluK43DqHDUmod/Cl6L7qev9eLQ7oewofCnDTXw4n/mVtcihT53tv2kj964h92oaNLHhesRcGV0b3xSaIEAuiuKcCibeO1TuA4WtYv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IPkIUKGQfGVCiUiABEiABEiABEiABEiABEiABEgg6QlQoZD0RUQBSYAESIAESIAESIAESIAESIAESCD5CFChkHxlQolIgARIgARIgARIgARIgARIgARIIOkJUKGQ9EVEAUmABEiABEiABEiABEiABEiABEgg+QhQoZB8ZUKJSIAESIAESIAESIAESIAESIAESCDpCVChkPRFRAFJgARIgARIgARIgARIgARIgARIIPkIUKGQfGVCiUiABEiABEiABEiABEiABEiABEgg6QlQoZD0RUQBSYAESIAESIAESIAESIAESIAESCD5CFChkHxlQolIgARIgARIgARIgARIgARIgARIIOkJUKGQ9EVEAUmABEiABEiABEiABEiABEiABEgg+QhQoZB8ZUKJSIAESIAESIAESIAESIAESIAESCDpCVChkPRFRAFJgARIgARIgARIgARIgARIgARIIPkIUKGQfGVCiUiABEiABEiABEiABEiABEiABEgg6QlQoZD0RUQBSYAESIAESIAESIAESIAESIAESCD5CFChkHxlQolIgARIgARIgARIgARIgARIgARIIOkJUKGQ9EVEAUmABEiABEiABEiABEiABEiABEgg+QhQoZB8ZUKJSIAESIAESIAESIAESIAESIAESCDpCVChkPRFRAFJgARIgARIgARIgARIgARIgARIIPkIUKGQfGVCiUiABEiABEiABEiABEiABEiABEgg6QlQoZD0RUQBSYAESIAESIAESIAESIAESIAESCD5CFChkHxlQolIgARIgARIgARIgARIgARIgARIIOkJUKGQ9EVEAUmABEiABEiABEiABEiABEiABEgg+QhQoZB8ZUKJSIAESIAESIAESIAESIAESIAESCDpCVChkPRFRAFJgARIgARIgARIgARIgARIgARIIPkIUKGQfGVCiUiABEiABEiABEiABEiABEiABEgg6QlQoZD0RUQBSYAESIAESIAESIAESIAESIAESCD5CFChkHxlQolIgARIgARIgARIgARIgARIgARIIOkJUKGQ9EVEAUmABEiABEiABEiABEiABEiABEgg+QhQoZB8ZUKJSIAESIAESIAESIAESIAESIAESCDpCVChkPRFRAFJgARIgARIgARIgARIgARIgARIIPkIUKGQfGVCiUiABEiABEiABEiABEiABEiABEgg6QlQoZD0RUQBSYAESIAESIAESIAESIAESIAESCD5CFChkHxlQolIgARIgARIgARIgARIgARIgARIIOkJUKGQ9EVEAUmABEiABEiABEiABEiABEiABEgg+QhQoZB8ZUKJSIAESIAESIAESIAESIAESIAESCDpCVChkPRFRAFJgARIgARIgARIgARIgARIgARIIPkIUKGQfGVCiUiABEiABEiABEiABP5/9t4GOK7izPt99r2uYlLEHj6uNb7BRrzEQkBsCYIlEXCkN8HI60USIZYMFysKWFjeRJLZtWUICIVgoezGMiy2ZC6W8RsslF2QnBBJBK9l8wYJCpCcBX8Ex2MXXuTglMYVdi0qlCeFq859+nxNnzNnRmdmpBkN/p8qac6c6dP99K+7n+5++gsEQAAEQAAEpj2BGamU8Pjx46kMHmGDAAiAAAiAAAiAAAiAAAiAAAiAQFIIXHPNNUkJJ5mB/I3CVzIDRFggAAIgAAIgAAIgAAIgAAIgAAIgAALpTwBLHtI/DREDEAABEAABEAABEAABEAABEAABEEg6ARgUko4cAYIACIAACIAACIAACIAACIAACIBA+hOAQSH90xAxAAEQAAEQAAEQAAEQAAEQAAEQAIGkE4BBIenIESAIgAAIgAAIgAAIgAAIgAAIgAAIpD8BGBTSPw0RAxAAARAAARAAARAAARAAARAAARBIOgEYFJKOHAGCAAiAAAiAAAiAAAiAAAiAAAiAQPoTgEEh/dMQMQABEAABEAABEAABEAABEAABEACBpBOAQSHpyBEgCIAACIAACIAACIAACIAACIAACKQ/ARgU0j8NEQMQAAEQAAEQAAEQAAEQAAEQAAEQSDoBGBSSjhwBggAIgAAIgAAIgAAIgAAIgAAIgED6E4BBIf3TEDEAARAAARAAARAAARAAARAAARAAgaQTgEEh6cgRIAiAAAiAAAiAAAiAAAiAAAiAAAikPwEYFNI/DREDEAABEAABEAABEAABEAABEAABEEg6ARgUko4cAYIACIAACIAACIAACIAACIAACIBA+hOAQSH90xAxAAEQAAEQAAEQAAEQAAEQAAEQAIGkE4BBIenIESAIgAAIgAAIgAAIgAAIgAAIgAAIpD8BGBTSPw0RAxAAARAAARAAARAAARAAARAAARBIOgEYFJKOHAGCAAiAAAiAAAiAAAiAAAiAAAiA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EAABEAABEAABEAABEAABEACBeUgACoV5WOjIMgiAAAiAAAiAAAiAAAiAAAiAAAjESwAKhXgJwj8IgAAIgAAIgAAIgAAIgAAIgAAIzEMCUCjMw0JHlkEABEAABEAABEAABEAABEAABEAgXgJQKMRLEP5BAARAAARAAARAAARAAARAAARAYB4SgEJhHhY6sgwCIAACIAACIAACIAACIAACIAAC8RJYEG8A8fg/depUPN7hFwRAAARAAARAAARAAARAAARAAAQuCALLli27INIZSyL/SOFPLB7gFgRAAARAAARAAARAAARAAARAAARAAASw5QEyAAIgAAIgAAIgAAIgAAIgAAIgAAIgEDMBKBRiRgYPIAACIAACIAACIAACIAACIAACIAACUChABkAABEAABEAABEAABEAABEAABEAABGImAIVCzMjgAQRAAARAAARAAARAAARAAARAAARAAAoFyAAIgAAIgAAIgAAIgAAIgAAIgAAIgEDMBKBQiBkZPIAACIAACIAACIAACIAACIAACIAACEChABkAARAAARAAARAAARAAARAAARAAARCImQAUCjEjgwcQAAEQAAEQAAEQAAEQAAEQAAEQAAEoFCADIAACIAACIAACIAACIAACIAACIAACMROAQiFmZPAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAhQJkAARAAARAAARAAARAAARAAARAAARAIGYCUCjEjAweQAAEQAAEQAAEQAAEQAAEQAAEQAAEoFCADIAACIAACIAACIAACIAACIAACIAACMRMAAqFmJHBAwiAAAiAAAiAAAiAAAiAAAiAAAiAABQKkAEQAAEQAAEQAAEQAAEQAAEQAAEQAIGYCUChEDMyeAABEAABEAABEAABEAABEAABEAABEIBCATIAAiAAAiAAAiAAAiAAAiAAAiAAAiAQMwEoFGJGBg8gAAIgAAIgAAIgAAIgAAIgAAIgAAJQKEAGQAAEQAAEQAAEQAAEQAAEQAAEQAAEYiYAhULMyOABBEAABEAABEAABEAABEAABEAABEAACgXIAAiAAAiAAAiAAAiAAAiAAAiAAAiAQMwEoFCIGRk8gAAIgAAIgAAIgAAIgAAIgAAIgAAIQKEAGQABEAABEAABEAABEAABEAABEAABEIiZABQKMSODBxAAARAAARAAARAAARAAARAAARAAASgUIAMg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BEAABEAABEAABEAABEAABEAABOYDATgU5kMpI48gAAIgAAIgAAIgAAIgAAIgAAIgEGcCcCjEGSiiAwEQAAEQAAEQAAEQAAEQAAEQAIH5QAAOhflQysgjCIAACIAACIAACIAACIAACIAACMSZABwKcQaK6EAABEAABEAABEAABEAABEAABEBgPhCAQ2E+lDLyCAIgAAIgAAIgAAIgAAIgAAIgAAJxJgCHQpyBIjoQAAEQAAEQAAEQAAEQAAEQAAEQmA8E4FCYD6WMPIIACIAACIAACIAACIAACIAACIBAnAnAoRBnoIgOBEAABEAABEAABEAABEAABEAABOYDATgU5kMpI48gAAIgAAIgAAIgAAIgAAIgAAIgEGcCcCjEGSiiAwEQAAEQAAEQAAEQAAEQAAEQAIH5QAAOhflQysgjCIAACIAACIAACIAACIAACIAACMSZABwKcQaK6EAABEAABEAABEAABEAABEAABEBgPhCAQ2E+lDLyCAIgAAIgAAIgAAIgAAIgAAIgAAJxJgCHQpyBIjoQAAEQAAEQAAEQAAEQAAEQAAEQmA8E4FCYD6WMPIIACIAACIAACIAACIAACIAACIBAnAnAoRBnoIgOBEAABEAABEAABEAABEAABEAABOYDATgU5kMpI48gAAIgAAIgAAIgAAIgAAIgAAIgEGcCC+IcX0TRnTlzJqLwCAwCIAACIAACIAACIAACIAACIAAClyOBG2644XIUO6TMfyXxL2QI3AQBEAABEAABEAABEAABEAABEAABEAABCwF88mABglMQAAEQAAEQAAEQAAEQAAEQAAEQAIHwBOBQCM8IIUAABEAABEAABEAABEAABEAABEAABCwE4FCwAMEpCIAACIAACIAACIAACIAACIAACIBAeAJwKIRnhBAgAAIgAAIgAAIgAAIgAAIgAAIgAAIWAnAoWIDgFARAAARAAARAAARAAARAAARAAARAIDwBOBTCM0IIEAABEAABEAABEAABEAABEAABEAABCwE4FCxAcAoCIAACIAACIAACIAACIAACIAACIBCeABwK4RkhBAiAAAiAAAiAAAiAAAiAAAiAAAiAgIUAHAoWIDgFARAAARAAARAAARAAARAAARAAARAITwAOhfCMEAIEQAAEQAAEQAAEQAAEQAAEQAAEQMBCAA4FCxCcggAIgAAIgAAIgAAIgAAIgAAIgAAIhCcAh0J4RggBAiAAAiAAAiAAAiAAAiAAAiAAAiBgIQCHggUITkEABEAABEAABEAABEAABEAABEAABMITgEMhPCOEAAEQAAEQAAEQAAEQAAEQAAEQAAEQsBCAQ8ECBKcgAAIgAAIgAAIgAAIgAAIgAAIgAALhCcChEJ4RQoAACIAACIAACIAACIAACIAACIAACFgIwKFgAYJTEAABEAABEAABEAABEAABEAABEACB8ATgUAjPCCFAAARAAARAAARAAARAAARAAARAAAQsBOBQsADBKQiAAAiAAAiAAAiAAAiAAAiAAAiAQHgCcCiEZ4QQIAACIAACIAACIAACIAACIAACIAACFgJwKFiA4BQEQAAEQAAEQAAEQAAEQAAEQAAEQCA8ATgUwjNCCBAAARAAARAAARAAARAAARAAARAAAQsBOBQsQHAKAiAAAiAAAiAAAiAAAiAAAiAAAiAQngAcCuEZIQQIgAAIgAAIgAAIgAAIgAAIgAAIgICFABwKFiA4BQEQAAEQAAEQAAEQAAEQAAEQAAEQCE8ADoXwjBACBEAABEAABEAABEAABEAABEAABEDAQgAOBQsQnIIACIAACIAACIAACIAACIAACIAACIQnAIdCeEYIAQIgAAIgAAIgAAIgAAIgAAIgAAIgYCEAh4IFCE5BAARAAARAAARAAARAAARAAARAAATCE4BDITwjhAABEAABEAABEAABEAABEAABEAABELAQgEPBAgSnIAACIAACIAACIAACIAACIAACIAAC4QnAoRCeEUKAAAiAAAiAAAiAAAiAAAiAAAiAAAhYCMChYAGCUxAAARAAARAAARAAARAAARAAARAAgfAE4FAIzwghQAAEQAAEQAAEQAAEQAAEQAAEQAAELATgULAAwSkIgAAIgAAIgAAIgAAIgAAIgAAIgEB4AnAohGeEECAAAiAAAiAAAiAAAiAAAiAAAiAAAhYCcChYgOAUBEAABEAABEAABEAABEAABEAABEAgPAE4FMIzQggQAAEQAAEQAAEQAAEQAAEQAAEQAAELATgULEBwCgIgAAIgAAIgAAIgAAIgAAIgAAIgEJ4AHArhGSEECIAACIAACIAACIAACIAACIAACICAhQAcChYgOAUBEAABEAABEAABEAABEAABEAABEAhPAA6F8IwQAgRAAARAAARAAARAAARAAARA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iAARsEuAFAp2SZE7IkAEiAARIAJEgAgQASJABIgAESACREAjQAoFDQVdEAEiQASIABEgAkSACBABIkAEiAARIAJ2CZBCwS4pckcEiAARIAJEgAgQASJABIgAESACRIAIaARIoaChoAsiQASIABEgAkSACBABIkAEiAARIAJEwC4BUijYJUXuiAARIAJEgAgQASJABIgAESACRIAIEAGNACkUNBR0QQSIABEgAkSACBABIkAEiAARIAJEgAjYJUAKBbukyB0RIAJEgAgQASJABIgAESACRIAIEAEioBEghYKGgi6IABEgAkSACBABIkAEiAARIAJEgAgQAbsESKFglxS5IwJEgAgQASJABIgAESACRIAIEAEiQAQ0AqRQ0FDQBREgAkSACBABIkAEiAARIAJEgAgQASJglwApFOySIndEgAgQASJABIgAESACRIAIEAEiQASIgEaAFAoaCrogAkSACBABIkAEiAARIAJEgAgQASJABOwSIIWCXVLkjggQASJABIgAESACRIAIEAEiQASIABHQCJBCQUNBF0SACBABIkAEiAARIAJEgAgQASJABIiAXQKkULBLitwRASJABIgAESACRIAIEAEiQASIABEgAhoBUihoKOiCCBABIkAEiAARIAJEgAgQASJABIgAEbBLgBQKdkmROyJABIgAESACRIAIEAEiQASIABEgAkRAI0AKBQ0FXRABIkAEiAARIAJEgAgQASJABIgAESACdgmQQsEuKXJHBIgAESACRIAIEAEiQASIABEgAkSACGgESKGgoaALIkAEiAARIAJEgAgQASJABIgAESACRMAuAVIo2CVF7ogAESACRIAIEAEiQASIABEgAkSACBABjcDEVSicq4OMxERITMyAunMajzhceGGt7G8irD1kz7vguTao2lAFbRd09/7tGRg3jN+COvDz25/1QMOTFdDQO8Dv0PnQ2lBOVwagp74CKup7gEiRiBABIkAEiAARIAJEgAgQASJABIaHwFVWKPihbgEb1Jv/kiEley3UHfZDcHjSPYp89cPuBwqhZl8NFD4gKA8sYuh9cgmU76qD8sUV4LV4PiK3+ABezrNkKO+KHKqveo6ev6JyJPJrQ3t6+FFYsqkO6jYtgYrDQ/NqpN62VCCNVOAUDhEgAkSACBABIkAEiAARIAJEIAYCV1mhEC7GQQgcbYGKFXNgzo+84/wrsxPcmU4ZROZKD7jCIcH77jsy5afOwjyYL7gLnmmBqlWLYNqGkVYzBKGhviW80udKJ+zers2vEGI8zJfu+ZA5CcNwFkGegmyYAyTviQARIAJEgAgQASJABIgAESACE4/AqFEouKtOwqVLl5S/iyeh6X5laB1o2gg7To3njHGAZ8dZOd1HStwRE+paf0R2d/ZFDyQJLgOHtkLNoRMwcDWmc7TXQ6OwVEOIFgRf2w0NGCenU1GYiM+G9Xp6MRz5O8rS2Z3gEUENa6DkOREgAkSACBABIkAEiAARIAJEYGIRGDUKBQN2hwvyXtwGBfJNP7Th0gc6RhsBD+Tlsjj1QPMbAYvIBaB5fxved8H8zOssntMtIkAEiAARIAJEgAgQASJABIgAERjLBEanQoERneSGubNMaEVDimcC0FKcoqzPx2UR/GAGDityMmDaDdwug2KPoeH9SOb5mBG/tbAoWX0neQ4UbkeDfle4r8p54ESj7HcKd5fI/C41GFM0vgEQaK+A3NtUf2+YBos2tIHfNJPAW6w+L9bTYfaH/Q5ZZ6/ymFPpU5y/mq/aK0BDk94qmCPbOUiBqqNm3wLQmKOEuaSeKQP80LCY/U6B0kOROIn+JMHK9cXgwFs9dQ2gxkB3cKEVGrvw56xiKIqw7GDgVCOUZqdAMrejMW0RlL5mZTtDzaNpnGWKkkd6iPqVKCfc4KZ2b22I/QmNq8Bfu4d2H3wX2jCO0xS2LA+fxGU4TDYGeqBu9Rwt7tMGkQU9gkO7siXjWnrNRkd7oFyV30W7REUdt2eCdjHeH1r86G0iQASIABEgAkSACBABIkAEJgaB0atQGOiETnWpg+troVPmOyuXwNpX1S/j6sB/AA0GpswthLouH9pdSALnTU5ImqTYYyhfNhtym8QBlJ7Bx35+NxrxawH/jU5wshFyEGdFoP+z0SaBPvb3wqOLStFv9OPGVMjOcqt+N0LhPBykfq77x68GXlsL6avroPsK+sum3uPuAyf2FcKcZZGNL/L3Bz1PugZcmEY5zszxJCXNzptccM2tK2HlzewmKg/ajrML/eCDfciElTnIFpUwu3vZY3T7WrfubpArR9b3oYxlzcd1sJspD4TDt68O5y4AZD60EsIt5GD5NXtBKTQeDcA18zxQkOUCx8AJaPzBHFiyXVRRDIC3eLacRyeYviMJ03zjgJxHS549IYQ6DJefHYC1Cwqh8ZxD4czycFc+LKpugbo8NPp4qB+jw4QG9QtHURaWVYUqV+IYLdsyPj0L8uRi44PO/9GlGI52QKv680RXjy7fgU7wyuUtFzwZcYwweUUEiAARIAJEgAgQASJABIjAuCUwChUKQRg45YXyvFLlS7KjAIq/qwzY9FzwgfdQElS+e1GxudDgAbiAg7lVLbIBx9SNR+CTi5/A2T+flc9HNqbiqwPQ+aMKaAkZ+Pug5b0FcPAvl+ATdH/24kXofYa5xzeathrsA9xa2AQn8fnZP78L7W/0wid/2QsYMiogWqDht8Kgjd3Dw/v6RXjsDxfh4ln09xP0/5cFiu2Do1WomFDcDOn/zcVwEON8pEIdsufvldN89s8HofhmNxSXKVMDAk1tIKoUAm80y4N9yF0PRTdhDKbnwTp5EOmEovvmRxGlNFj5ILN1gcYZm4TZFZoxxjxYXyiPakP91PLLDWVvfgKfdB6EvW+chIt/rJQVECcqS6CB22boqoLCV2VNAhT88hO49AnyPIt5/+e94L4gKh5CgxnynQAqLMp7lTD/+gk05Suy6N+2FiqgEnrxHosLy1v5yceN0BwyI2TIsVA80JgBDC7jaZCnsvce1oXN39WGaiMHOFhkD3WC9uQDVOCxUHK/A1nMoCUdRIAIEAEiQASIABEgAkSACBCBQQiMGoWCr5JvL5gM0xbkQ4M8KHNB8cHnwXNtaCo8L/5f2JSqKxr8B+uUAdHNm2DvM5k4e0B9B7/aZ1ZUQ7HstA0OhAz8HVD8Yi14buRhOMC9cRdsksfBPdB+mNsH8MCmF/PApQeJX8pzYdVy5T3/X7k77g9+na/aA2Wz9BeScnfB87L7IDS2s+/3w3s4C9dDHgsi0Aht2iA3AK3NLGxM93p1EIx2DorfZAYxz8LO5Wwqhf3D/WAZznPA49VGTVnDjTE6Hl4HBRZ5x5xr+XV/NVRnCGHOXAlF8lKXHvC+pyhpvK82KF/Sc5+HXbmC25sKYM/zskqHeTk8h3MT7HpEVdigLOWtK1IUB4xf1SZwq9mblLsKVsoxCMD5vuGJisbMpoynee5R4vq6V1EgoSqh8zAqYGZVQmU+i2MHdKtycbxHUS147s1V0zc8aSBfiQARIAJEgAgQASJABIgAERg/BEaNQgEcOI2dTd+X/1LB8/hOeOcvJ6E2SxhAatzdkH2X8b7vQ+VLtWP5stAp9pOyIStHeTl04O8C11TNY/UiDdK+qVz2iVsnfI7Tx/dUQekGnPJ+WwqkJCfD2kPmd/XfrpvNX+cdkJqpDE6DA/26w+G6urYA1j3MRrzCsodzzcryBkcR5N4Vh4BvKoL1snHGNqhvYkoVbozRAUUF2WED4PkFmt0H1TZC4hyokKfeo9JBVtL4wfeB4k320qyQwa7jq0Y5CBtgrA9uvA4MJiWdKC+yX1kw/w7RUze4ZUWIek+zYcDTFeaMNhqsF+KIfivXnJltGc/wgJw1wU7oZrYkPu+CNtQbOJdnwbpvMUVMADreY6H7oesQy7tsyMvSFWB4gw4iQASIABEgAkSACBABIkAEiEBYAvw7flgHI/XAXXEEeh9RhmpDCTPpq9cM5XX1XT/4PzJ6E3y/AjK47QNcw+9Oy4JlS78C/t83QufHRreRfvk/GuYp+qbAsx8uA9eeGvC3tIHvmTRwtDfKa/xdj6yD7LjkvgMK0DhjSXsD9LzcDP6caxRjjDeXwbo7TZGx+jkrD402GobsmiuXPLtDX0pyzbXDrDzQQrZzkQRJYWZfyG9f68blIEWDKwtucstKEj2Vg4dtW8YnZcF3UKPQ0o5LhLoCaO/id7iMCGdWeFAOcJlLNv7qZHYUHgTFXsksD2SbdWCDR4dcEAEiQASIABEgAkSACBABIjBBCcRlSDka2Lnc7Mu/DwJd3fjdNQ0M46IrPdD9jhLLUAOP/dDPlueLx+fo/qhyY/4spuTAr+7Vypdk9zO90LtRnQKPE/FbVoVXKAz8kw0TxS++PuhWZpZDahr3Qwx4GK5nMeOMNVDzcTM0n8JJ+buZQiMTyh6MY/iyccYGqDnVABWPORRjjGXFoTNFhOTx/ALXPVC7gy+9EBxol0GYwrIAZy10vd8NYJr14Psg2qUjJ8CHX+s907UA4PjxYVDyOHGJzA77yzHszFLgzOzLuANy78U4tKPi4L3j0JnUjuKIM1OYvQyctePBGRWdzI5C12XZXon7P3BJj46FrogAESACRIAIEAEiQASIABEgAhEJ/GvEp2Poofu+ImUA21sOK7b5lDX3LP5olb+n+lGoYzO6LQ08BqDmxzXg45+I0X3bfz0KbexdRzEUfItdoKHIv7EzgMs5RbnA/8FTdbA1wpIH76Ml0PYZdx4EHxryq5FnM2RC0b3DMHR7rxuOm7a6BKSiGGf0o1KkCtpY+FlFcA8zxqgdsWwbqb2MF9w4I+6OgV/DAS03hDXGqL7mXq4OXg89Cg/j7hscv/z4sx6o2tCgft13QNa3M+XbwT0VUNWra3+Cp2pg7S/sDMXxdTRSqZja9EHDy/ruBgO96OdBNVKj/BSLjDuy2EwEPN5qgLq3kDIqGJSZKS7IWs7Ubt3QsKcLz05c7jAMMsnCpoMIEAEiQASIABEgAkSACBCBcUlg3CgUYHoZNP1MGXieeDYDkm+YBilo52Ba8jRYso1tLRjOwKMDks5VQQbaQ+DutR0F9leqgy9c4qAagPT+aBpMY/YTbpsGyctOQ+rS8HKRhN99C7+eqLhH/zPULQ5Tq3ZBsWFAH94PO09cM5WhMnxcA9/8GsYtZQnUsTXz6sGNM/rbcdkD3sv7wUrjDI4Yt43k/rOzZpyR/ci9B3IjLQdgbtAwYNPjbACLCpwfzYHkZMaUxT0ZEr++BGp6vmCu5MO59qfK9pRwAmoWI/cUxV3ygh0wt9DmLIBJHli/Xlky4d++BJKnKX5MW+yF1Pw4ztbgkY71fKoC5iSG2luQbXXEIuNOZSYCBLzgPYMzM9AOBT8Uo424HIIZHnXcA8vm8Sd0JgJEgAgQASJABIgAESACRIAIDE5g/CgUMK3uEtwusqMWCuY5wYEzDQIXAjhcTYJU3Eng4LHeMAYeXfBYRy/svH8mDDD3+IWfrS+v7vgT7NV2PHCAZ8c76CZVXsAgu7vxHmj6w15Ype0OEQrb8+Kf4ODj2eAIBCDAPsEnpULR/pNwhO8aEPpKbHeWPw/tJanKzhZBDGtgCkwRB/SacUb0HmddrLtPXIaB92LeNlKIrmacUdw9QnhucZlW0Qsn95dB9kwc6LN4I//AgJpf/71On34/KROq/3gEalX+QeQ5cK1HzqOd4q4PFmGItzJ/9kdoelDlNIBhoZKh+s0j8HSa6Gp0X0cv4y7I+w+uMDEZXczIUow2YpIdhbnKbh2jO/kUOyJABIgAESACRIAIEAEiQARGEYF/kfAYRfGhqAwTgc5HkyF3TxAc64/AxRplJscwBUXeEgEiQASIABEgAkSACBABIkAEiMAEIDCuZihMgPyKLYlXvNCIygS27KPsIVImxAaR3iICRIAIEAEiQASIABEgAkSACBABkQApFEQa4/IajVI+WwEtLG3Ln4YNaNmfDiJABIgAESACRIAIEAEiQASIABEgAkMlMG62jRwqiPH3vhdKk0ugA7e8lO034DaBO58vQIsSdBABIkAEiAARIAJEgAgQASJABIgAERg6AZqhMHSGo9cHZugQVzokzSuCppPtUBTHnSVGb6IpZkSACBABIkAEiAARIAJEgAgQASIwEgTIKONIUKYwiAARIAJEgAgQASJABIgAESACRIAIjDMCNENhnGUoJYcIEAEiQASIABEgAkSACBABIkAEiMBIECCFwkhQpjCIABEgAkSACBABIkAEiAARIAJEgAiMMwKkUBhnGUrJIQJEgAgQASJABIgAESACRIAIEAEiMBIESKEwEpQpDCJABIgAESACRIAIEAEiQASIABEgAuOMACkUxlmGUnKIABEgAkSACBABIkAEiAARIAJEgAiMBAFSKIwEZQqDCBABIkAEiAARIAJEgAgQASJABIjAOCNACoVxlqGUHCJABIgAESACRIAIEAEiQASIABEgAiNBgBQKI0GZwiACRIAIEAEiQASIABEgAkSACBABIjDOCJBCYZxlKCWHCBABIkAEiAARIAJEgAgQASJABIjASBAghcJIUKYwiAARIAJEgAgQASJABIgAESACRIAIjDMCpFAYZxlKySECRIAIEAEiQASIABEgAkSACBABIjASBEihMBKUKQwiQASIABEgAkSACBABIkAEiAARIALjjAApFMZZhlJyiAARIAJEgAgQASJABIgAESACRIAIjAQBUiiMBGUKgwgQASJABIgAESACRIAIEAEiQASIwDgjMK4UCt7iREhMxL9i7zjLpomQHC+sxbzL2O4fNYkNNOWiPKVA6eHgqIkTRSQKAhcaIfeGREjZ4AXKwSi4xexUKcNU/8YM8Oq9OGrLytVuF/xQt4D6FLYE89BabC8zoO6cLdcj52i0xssGgZ4nUyDxhiXQMNqYhon76IgvtUNhssf+7TFcZuwnklzGm8DVUygEsLPPBv/4l7svYJGuHihPVhUEq1osBgTHoSpFeT5qBqHn6iBDTZOs2DBcrwVSc1hk8yi+Ffz88iiO3ViKWhBaVvFyLl4Pcxq+CMK4ycErSicpvwVVI1faZOWbfD3MCMn7CUJgPJSVo1WQklwOPSzLxOuxloVyPyIFqo6OtYjHHt9A/RLsCxZCy+ex+zGa3pQ/bln2W6OJZRD6xxSPsRVf//YMSEypguOYJb5t+vVgOTTwfgOU5mTANPxYIfbzl+wZPR/DBksDPScCw0Fg0nB4astPZzZ4ZgF0nsK/97BIP+gxvna0A1r5Z8VDv4OuKwXgEWP7cRd0yHoIJ+RluYzvXuVfzvxa2JY7xRQLF6SZ7tDP0U3Atf4IXFo/uuM4JmIXaIbGQ27w/MwJ8HkLHODXwx356cVw5O/Fwx3KyPjf64V28MCu7zoAerv065EJnUIZLwRONEJ+WQt4Xm6H4ulCosZBWen57zoI3NsEmZis422NeL1LvhZSOYouA+CtfBg2BsvgZI2x7xPo8oLPWQR580ZRdIc1Kj5oqOsBx8PtUHDtsAYUX8/DlSVUaXlfB/DsygWsrYdwOMCz4yxc2jEEL0b01bEU3wB0HvaBszAP++UBaHyLX0cG5tu+CDIqTwDclA0F64vgO5nXwOm3TsD5c53g/0J4N6xsCG7okgiMMwLiEH2Ek+aCrOU4wDiFWoHXvdDT4DE0/v6uNizm/OiC7pNYQQsNbLC7E7BYAzjugWXCff7G1Txfl7YM8u4bXUqOq8mDwp7YBAKHWqDTkQ2VOIAJ7GsErzNPvp7YVKJL/XFvKwSX/xRyscMtXkfnC7me8AQudIL3aB9kjzsQPdC8PwjZW5navgde2RXAAV3WKE5lEHyHcRCSWmaKYxC6DnXiQOe5ifMBoms31H3sgrKHx5hUhitL8scwD/yUKX/pGJ0EPu+Cti4nFFVhfYEfObTrSLHFWdXlqExIuv8g/AnHK0nc7X38QjiHkw3BCV0SgfFG4OoteUCSaZ57FA1usBO6DWvEFO0hgBtSZWVBAAu8cTrRiZ4uJS/uNSoixlsGUXqIwNgmEICOg50AcjlVrh33Lps4neW4ZF4AjvfiACmfffHyQ9fv+XVcPCdPiMDYJ/A+zoIK4iyoLPxIIV9n48zFsTigOwHdb+FAJ2+izGfEJXD1DRDMKINinLE6Ho7A8R4ILF8lK3/HQ3rGZRpOdEMXnwX0HipZ+XWkxH7QCdiTAc99gjIhknt6RgQmGIGrqlCADA/kysB90Pk/fH0D3pC1h3jGr5qPPKRorZk2X5+xgO7fUtx7lob5CnGhDUqzp6lrnJJhzuoG8PEgTlXBHNm+gdU6RZz+lKOsjVpSjyGea4AlbK1USil4B+IjHfLarUS0qTDQA3Wr0egOi4toSBLvNxQv0tdoTVsEa+t7ICT4K6hoeTIX5nBbE8lzIPdJnNlxRYynblRqoLcOCm9T0rb2kOjGdM0NspxB/zcsgmQWvwV1OJRRjyjDBVN6kufmQkW7npvcW34OnjPnXR30GBI/SJqCfplLxjQlrYmJLP/NfmBoKCMV4lo4xq/+OI8GAOcgKru0e0Hwv1YKi3gY+G5hvc/C1gdzVwG5c5M1WVxU3Ai+U4q9Dd3+RxC8P0J5tWGASV6fKeaHFmNrA2YDvQ2wNjtFyUeWlyhP5YdN/E15xNyEytwA9NSvhUUpPC2JMC27HLwmr7ToyBfYOX7jElxCjT6Acn2xhk1K1o+o0hMVf5EHdlxXM3mwXqcbbCnEZ8lQruop5djZYsLD8EGgHeVBLovcMJk9Xkr+8LqKMV0LDb2iwCvcDhawARJ+yeu8BMq1zjDcFVvvac770pCyx9Pgh9CyJ9SbQiCKv3qcU3KqwPsZr2AFh2Ev1XKRrvuRPLcQ6gzpDvuy8uAzpZ5M4fUfK+c5DfKaWO3NkLoA+aZb1T96nQLob93qOVp5mZZdgWnjPvqgajbK0ewq8PFbwtlXPQflCI2oXdBvBtqN5X9OTgW0Cc+Zy4htglrfGuozczrNLG6YBos2iG2BkseJuK4bVwxDxVy1btTqEV0G9Jjj1ZVQGU5OsaobhDSwd7YX6u0S1iUVh0V5VkKwJ5uG2IT/cWctXLzUC2XT0Yl83Q5FqFtgR88mVl/lh6zPV5hjmX9fccf/y+upLdyHykVpSD4CtgByfR9BrpVw50AFLveEV/MxbkpeKG1yJtRePAuV83hs1PNgbZXJufKT56lV3aS4sCObdtJkGbydm2gMtL4dIO+HRdg6hDlUe1spzwptM3Oq2pVJzMHlLeKrqo2ZEPdy3pja7O0W/aohliXng+1w6UCBcbmDnTIspkG91uoF4Zl2j/mJ/TO+lj+F93FN95MXWckpgO3yp9ahej8Ty3+TD3zMBoHJCKcWN8v42qsXQGWlh2fVr1UCiLkdYnXE2Urlw8bSnXCJXwvxDrl03YKtL9YnPSY5NDi0W8+GL5Mh+ZKcAouKG0x9YAw0qr4Qi6TdvqghQfJ7St8pFxoNBU11p46n5PGS+VX6PbEISFf1uCw1r0yQEhLwb12HHpPfrtHvfbRDSmfPE9ZIHV+qTvr2SznyvRxpf5/+Wsc61a9v5yjPp86QZkxV7zH3DzRLl2Xnp6Uttyv3Z/zkmO4Bu/q0Xlos+71Yqv9Uks6/kK7EBe+t+a3RacgvNa7pL5wPeSTeUPxcLOXkLZa2vNcvPpKk/g5pDYvz1MXS5t2tUutvWqX6MiUOU8u7dbdfnpZ2ZLE0zJZWv9Asu2t+boU0g8X97v2SjuW8tGM+3mNMvr1F6v6b7kXYK5l/upRzd7q0+pXzKjPVdbThPrQV4zlZSl+3Q2rGtLT+aoe0Oo3FeyryFNOO6ca4pz+0Rlo4OV0q4Wn/z9kK/5XNku46cppkObg+XVqjccmRpjIuWTskLWc+VWXojhKpnsXrN83SjnULpcn/aZbDdGnHRwIplc0a5lZ7t14qkdOUIK1uViSMv3H6hYVy/Gd4Nqvh1EubPTMwf6dKk1l6NVm5LHX851Qp4XqUOzE87pFwltM3X0iL9kxlqPmJD97bKKd9xve2KPx/g+HfPUNaLLqxKXPd5Ri/hBnSiucUeWvdvVnKuXWxkY8WF/sXUaUnKv4mHp0bZeYrTHkkoYTL9dDtW6TTPNo2mUiSGsbdOVL6A/ul80L22+HVj+lhsjn127p8lNyhlI+N7/HIxHhW6yNR9hQ5nSqVeIWI8jSEK3tavanEg8c54Y410o5f8bKDdRTKtFzOxLo8XNTlfET51+qFLVKOXFcvtCdPvh3SQlamhXLO6pY1CzdiatQD87BkBmOJ8v5EvVxHym5kvgnSwhe03MYX1Drle2ukNTN0GW9+Tq07BNnoe2mx7OeWD3hA/HxM2sLCE3jx8j+7iNd/W6QVcpyw7cL2hR/h24Q+af/dSjp5ndj8AqsjS/R08rjPENoMtd6civWZktN90jFWzz2lxH3NSyzf8O/N0+pzU1lhEWN1/bcZPyGfWP3B6i8ms5jPep3M28oV0pp12O7y+uZXPF9nS1s+5KnFc7SyKdZXgje2LtVyb2y/Va6YDmMfQL2P7Y3CbXC5OMb7JSwyNuT6su9tZF+PcoZssV2Q8wHz4pggD4Z02WmrDC/wH+HrJubCrmzaSZMcolo3G9pLHpUw59PPYfs+eaP0tsgwxG2fVM/k0NzmYdvG2tCEhBVS8z+Fl+T7MyStfKrxCtdmr2g2SLHSXxpSWRLiIl/aKcPmd5TfSr2AfV/hsXJPKWfpZUq9xvuIk9ftl5rXYT2cp7b3u0uk2YzR1I1St8jYbvnT+ntCHYrt/mKU3alTJyN7Y/9osPgOWi9o4Q3Wr8WuMuar3N4MpR0SuA5+2S91IFtW980oqpeOWfalbdazFv0FFv7pnax+xvzS0oT9/ycWK/36qSgHoqgOItex90UxIuayrNahOS/rIwvOq7ucycFqYxnkD+k8oQjA1U5t38s5SgGasUU6pkZGEdAESen4q520hMmS1sFuUxUOpgZGUyjgYHV1Mxf8y1L3U+qgVGh4lE4hFlwhXBa8dp93Cj9CBcP1zB124MTCbAVOraTlCkFu6PA99awPHHnHK0Fa/BKPI/cMB5XrsHBOXiO1msI6XcuUCroCRam406WtPv6ucu5HNpNFVryzmaAoSIyuw/ySK5MEafJ/vR3iIPpwJ0tr2kyJ+RLzlCl0sCOhq0iUzk9CAg4oDGnqV5VOetq1zn+YNHXsRMWJKcjup1gnWOd1ficb6Ou/eUIvXxYGWuZKlTlS2TDlxGmxge5vllawvBaVOao8mDve2BRqDZMoFzwOg52jGYB3/CeTQZQnMa4YgJ5MuzKHgzOWvodajdH78rJ02eS30cHgv6JJT1T8sRsmK6m0wUi3tHGyKY9Y9FQFpZ4Xdpmwl1W5DekU2+D1T3wX4zMZmRrEFTtVW5kSUJQlFlS0x0f7pS1aPai+3L9fkVNDPkZR9tQ4h8g/en/+JbUut6NQ8O6QtvQYUi1JPZvljlN6rTjQt0j0l5iPstLV1MEyOFXzMKQ+YY54+RPrRHXgGKLolKRjP2Hth9D+qPIyWVTwMm/VAY42cFXLf0h6+luVfBfeV+pVizbBryhOQvzAAqzXVOel/ajk6zOUw35p//csyr5VncbiHlJWeDtlVvzKjtXBKDLpVH6z/zwNIfXdB1vkQY2BV5SyqZdNPTzbV18q8m0IX85DpjTH9lbsR/xTqcf1jnMUcsEiZFuuVX9tlBVbbZUljHB1EzqOQjZtpymsbFlGDhVWb8v18eznBinv+LoiW2IfQJLkfiIOzNgHIK3ModtjP8G2XuxbRNNmY39p6GXJlF5bZdj0jvpTSbeVQiFBmm34GMbrOyzzpr6J0qcV6i/mt83yp4RvUQdwhbtthUKoAlKyqBeU8EL7ZSH92ni1Q9bYw9/9EtuOJ/hHxsnSwrL91oqFsGVh8DIZUn+y2KgKdEOfPBq5jrYvGhJ/9SPst+uFj5UYL7UMG+IVnh49GecEru6SB5wM4szyoKUEPAJt0CVPLT8OHa+zqbN8DWQaLLuXTfUNQqtXmWrU04Vz5PBwLs+SpyDJP8R/GZWwrYBPoHNA5veLlDBw0n6fOmXHWbge8tg7OJ2u7Sh/OQCtzWzTKQcUr1enrMnWr3HK9tmd4NGssHD31me2y0PT/ibDXy0zQGk43LDsW6Z7n7dDw6tBcJZsgDxTWO7clZgGXMP1AfPkODTuxAm3yx+DspkGTyFp+T24jCQInT3aAgXFwcxlkH2T0e1gv3K/ZTaSFEO4zjLYkGtKzKQ0KC5Hv9F2RucZUyzyzWlKgtx8Nl2+DwbMWyiFSZOnpBIyTUFm3pWFfvjg9EdKeM7kW+Tfre3GZQoOh711twXlZeAWTZomZeGaXfQSBaxfCQL87bi0AU2NVj5jXnOXBJ7yDapMqo6H6eS6iU3S80LroQFDCFoybcucC5w3oxeHW6FNm/6Nvyc5wCFyMIQyfD/s8A8NPRPWPYI8uhqhVZhyHni9EUsWPstnrPCwzURxLv/PyYJsA4fBeQV/2wAtQSeUleXpBp6YZ5PckFeAtWJXp3H6vhCcrcvpRVCp1YPqG0nZkM3WKp/y60uYuGcWZS9rOZZTLHsBLj6/P4BxxvqxyiT/6Mq1dh0UcL8GOy8tg8oMUyHNyAa5lPpMdZfZr8P10DCAcfjl3vB1spqHjoerQ+pIQNqeJx7D8tcDja+bwpq5AR5bboxXmmcZtghB+Mff1Ig4V0IRrtUL7m+GTmF5WWdLIwQdxVC0VHF3/JUdWP498NgP5RZOT0VSHtyTg++/023KA4s24cYpcAu+6Wtr05fsMZ+wAOs1lQuKKgrAaZC/JMjOYuGeAP/H7IVoD7Wux7b0pyYezCd3ydOY10Fsr8ybIbthQ7mpvpu3DJZhZIOf9emRiFY29Tejv5qUBd9h+fV6h1aegmj0uZMZhy3BB6e80Mmn8nb9DmvLTMhdamqbreQibyVO00e54BU+i9lQ5DpMyobaVkFI3YQ9iGhkcxjSxJIafG03NAQzoexBU/mw4OBamod9vU60pcWXVSn9RM8PnoN7sD5r/z3rt7EDbcwcCoCjMNdg5Js9CW0zcmHVcnzwtwHMRX4MQ1myVYZ5+HbPbij6jzTBsQOy1OW/ntJ1hr6J81vLsK5DI6A+LuT4mq3yh0tHf4X9TKs6IAnrtR8Pnm96BO3UC1H0L+PVDukRtHc1CduOn/XCpb8cgdr7XXBiXyl88+spUNgisLXjU9gyadVfRA9nlsHT92OZ2dMSsv18qFwPR18U5W0d5ndvs6HvBIcbsQyPQYOqdvKI3ERN4KorFGB+2eY6AABAAElEQVQ6Cr/cdqt2FM6h9VVWNmd5IFtt0zO/jY0+HoHe47hWzg/d77Dq3wH3eMQKVXai/PvGLcb1eDPTIFV4LF9eWwDrHmZdMrSZ0KauiTrXDLt78ZajCHLvMr9g/7eyy0Me7vSg/2XP1Lt/ik+p4J5u8jPQJ3cwA9u+qa2r5OsrE9OVNbsnzrAOcADOM0a4hkq2b6CuwZTd3oBrxPGR70PTCt9Ud5QDWDfcGtJexBDuN9MsDfA5ncksltoAH3/Ih/v2kEDB8VXWwffBMVOSIFyarmDj2dUAVRtKIR9tB6Tchuu05bXDaiB4ctxXCTux03ji2QxITsY1gdtxqy6zwkJ3brpyw9zbTbdQ4qZ8De+dOa0NEuQ8wO1R51spcnAgPhKHu3QnDqgG0H4AMrgN1443YRnSe08oSnZlDjsEL+IgEi0iF349EVJwHXjj0YDQERuJ1PAw7PHnrsWz+z+K5YFk8xu8A+CH5pexM5q7Hop4PtlmovscKreD8wr8VSnLNdnqenahHGc8y4T9BPjO6WHEchUMHIe27RVQuiYXMm7DsoC2PuS12xaeudNC61NzOfWfY3vrZMH8Oyw8iFKmg2c6oaG6FEpXLcIymoJrgXGdu4W35lv+MxHiwB2reZh153x+x3iejgZ/8c4Jcz3572mh9aTTJSuuT5zjygcHFBSi6iTYCO3vqd7ieu7GPUFwPbJOUywFLjAZwzW1/xaav4UH8dGpY1iriYdFm4DtVOUODziPVkFGcjKupa0D7xmxAKvvB9Fw52t1ULFhLeSmYz6jnZM5lUbfxZAGv1bqemfWfGNbyl9EpddcpphCfpyK8igV0kxKbmY7xcXaOpMSKxrZ5MHGdnZALhqF1T9aBKH9oFfeMi4z6zuo8tEHqj2/x48Vs3DnKF4X8ACt2pqk6+A6fK60ydwhikWMcq37YLwaWluFyh+LNjVa2Yx3muR+10ttxnrXmGzjr1l5sBL7g97DXcr9o224ntsDq76bJu8WpimLAmhgD21T5C5lilDxsOrPOCCJdS3M5TDeZcluGRajO+h1aDlT+kmoLv2qqW+h1st9A8Z6Y/Dyh30uZBmuDojuQ0JofEPrBfv9y3i2Q4OitnJwYyYUN/SiHYZ22JSBtizWpkDuPt6nsHrBeC9smQzXX8TXlXewzfhY9MteXygefVFX/jpU0vXA7oO8xke7VE3YYs9CJTprC+iY8AQM3zSuDg1lBkJNPRqlw8Yi8DkO7DAihtkHcqOPmjn8qtB14SvQyYwZ4Xd4T8bQYpz9cBm49tSAvwW//jyTBg75izJ+aRM6hUMLIfLb4Srk1JK98Bjub2t1JN3OtCxKRzHpvmrYda/6VdXs+BbT4CDKzj7zLlz84heuA65nPTLxiCaeVm4HvFCano+dDQe4snIh+64NsCrTBUlncP/1auFrGnaIi359FlaeaYOayq1QV4mDmUo0fnfgj7DT4oucGMWorpPEL4lRvRkfx/hFuvqPF2EDfpWv2loDdT/6JtRtyITqPxwxfLkdXOawo5JVDb1/3QCd+6ug9oU6NHqKfxl4ryP0a3V8Ij8MvkxfCesyKqC8uRUC64vBeQo17Kfwa/dWkxEtDNoOEy2GFrJoj1cqlO19DOZb1sRJ4FaVqlo4UVz4di2BjCdRWZKUipap50LexnWQdmM/eHEQ3xiFP6FOk+Aa6+op1KnlnQE0QJoO+U34JXF6NuRmZcOGZ+aD60YfNK5A446W75hvDjUOZv+i/L20CIodLTjDoRNqMf7B1xpRGYIG9R40KURvzIPq51daz6TDu6Za2rLOdT94EM4W+KDthQrYisqh/FcrcDB8EP74ojoT4EwdLFlQgV29JEhdeg/MvW8TrJs1BfrfqoLSfVGma4ScD59sWifAkZWHcx7RsHJXAMpuPg6/O4QfJH6M9K+dIs8sK2UD1QL8Bv4WzhDMtZj5aFG+Q0OKh1yH+spmLA2prQoXd1uyOUxpOtWABlix3n0jtN61IIC31H7ifmWLcSf2BQNZZZB1LfYV2W5h29gMVzSy9yGzxO+BvWyqk+kI158xOBumsjRoGTZEYvh/RFP+rjMrKIY5evb7l1e5DUAODlQAVHb0gmNRBlQ9VgM9D9aGzIyxxBWuTFo6jtPNofZFbyqC9bnlsHY3zrx9pBI/LrXDAdS/ZtaEa9/iFG/yZswQsOzGjnTs5RkI9ajpessLNQOdGLxp9sG1yhQebxdOTfzFFKXDufw7kDXU2M9aCStvroGaj5uh+dRKgN1soG5vCt6wMLo2Caagx6cdM3F2g7mrKYZ4HVyPSuiB4BQcKOQJU19FN8NxHUO4J9gXLE9Ih/q4vO3nfEidHt94+vfhl/OAGyr/2AubxC9l7a2WATlm4rTXA/iHlp0r7l4Cdasehby/41TqocoWC435caYbTuDMBzd2fAzHQL+8NMKsTzG4ifTjFFpZxucGddI5H37Ttjoc+JWhGHbiX+25RihcUAoVRXWQ9wdUqNmWOdVfhxOy1+/Ev1rw7yuEjA0VULgrD3rZUoKhHFGlZygBodLohx4oX7sbms8VQxZOU/ffXAbrxA5otEwiRScCL0eSXNrBMQNnMs2L5EkMz/CL+VZUJjjym+Ds/xGXVKDcVMfgn/qKEucuOH4SLbOb4/z5QOhONFZBoQxWoDLB/Uwv9G4UBuBond26lBo9UeLQDl29GIc7jc+0X84pctnoer8bB4rmr5XoSi0r2ZmR6lnNt9CLSdnw/RInNGxrBO/W+TBwkH1t3avPcsE3rsMOHODOF1M8mL/m8h/qY+Q71+IymIqDkPc4Wkp/dgks2Z4Pj+Zegr3L8attLSoTJhVA09m9hqVyvnNVkf2M+NQJt6Ayq6WrG+fDpYXOUriifL10rEdFUER/LB4Ok2xahKTfci6DAizjpYe6YMD5O2jBWYhHZNlxwrJ8lI/HcKBalQpdZ7B+iHXLxiHKtR5Z66t4tlW2ZXOY0tS5B3eNMte71snW7mZ+rwgc9a3QcbQMrsOp+Nk/XKbI5Z24BMnRICuL5n+II5zlu2LesnF4ypKahAhlWEvkSFxEUf6+gvHx9ZzAmYjukH5mfz9b6xNzD8Yipfb7l3FphyxiENMttkTxPhdUVf9DW+4aiz/Om7DCxRk23RdQMWaeIYUeyrMMcEnd/Jtj8D0ufVGcmYcfYUpy2HipEorfqcexWB7sLRzCV48YkkKvjF4C/zoqoibPQMCYBFqhVbYRYJ59gIOYpUrHs3Gf8m0tG+0nmCZ2xZAUNxSXZeJ7OO25ugraPsbLrCK4RyzMw7BtZNiIYqcnF2ddBHbtgLaBsK7wAa7xLMTUH8Iv62ciuYv3sxjCxS8RDb3GqXYw0AJV2wLIugCWxbku8vnYMNs8dRin/LOpWeIRNMUJp7AVsXXrcBH6PhMdxn6d9a08fBkHdi+xOAkHbqvW+PMa7KjHdsgND36H6T5qfP/4K7jFn/EWBE3pdODaySJcvw04fVsO37bMBdEv0XOcAVKIS4Pwlv/TWFOi+BdNesQYxHrt+O4qbAbxazjOSHplFw5s13EbK6qPtplEisHgvJxL2TrfANTVtdkbiEcKzvzsr6rCCac7J4nPjjZD4xDqDMXmjVWcg9Dz8y32Zhd8pMQtdaagTMA4Dshf+cXIWl877ytCFSWu33+iDnyCDQOD62txfTQKZ3BPhUUdiV9df74VJSAbCsxr5Q2eRP6RVlCEg+kWONDUCI2HUG+ByyDENikzFwdAVuU/srfGp7h8KyimEdfwZn6f2dPBmirAyp0f10bj6eZbwS1m9JXjuJTHXBtwr5G/akuG3wk9p8HKB1FV0FsFm032V5hb364tmPIkKPoeaz+jPIZJNiPHQu1DHOqErbisQVxjL8s02vNp3Yl2FRy43MGsKIvssf40FrnGzOMTiHWPTFfGihcgDm2VbdmMJU2m6If8xGVzu3F5UGYZW34WxSFvMx6AjmZUHpwS7VxkgudegM6uHdCK9rdi7xsOU1katAxHwSAeTm2XP7QLxBp4q37mZzjjkfXh4nrY71/GpR2KNu6Ha6Ac7XMYukHMD1Sutr2GpfhmZVtJ3Vs79azuWmlPeqDqWW9ofwBnzmx5FScb/mClvRkQurfyVdz6onflovLOD40tLfJSUcfDaDdpqMpyU1zp59glEI/vsENPvTYDIQByHwmnkKaZYubKzMbOGTeg5wZPVnxGorJxxk090NaOX5jwyMMCK/rsb98NPaxDh8YbD7yHhhmXy86G6Z8Tiv93NTSm41ffr5+Agmceg3tuvgbD+gL8PQfgwAfZ8EucXs6+CGU/0wQFLflQhetlO0o2wYbMKXKc+k61QnvTV6DszxjXYYhl1OHOSoLOZXMgf+NPcZ0VpuUzL04NY8YKU3EqcIS9p2OMu1xxovKgZNkU6CudjzM++nCK91Pgn8I6vjj9Wz389TgdvAVnMpTeAy6GmMWrGjvgaOjyHlEA+AsxnB0F1VCNndQKtNMw50Q1PI3LU675wg+ttWgP498LsDNlVHKw/dKXvF4G7wyyJ3La9zdA6rYKqFmcAYGtleC5EeXj9S1QEcRygd1TsYPatSEZSv5aBpvWMhYoSTjFfzOu33Zt/L7aMNmVuS4o+VoJXFyP06llWfsCjjdtxhS4YNMDMQwqBJ7RpEd4LfZL2X5KCeTil90+NApWyY0xaj7aZaK9YHFhg9dNxbCrqhFtXhXCtBMFUF2uyiLKSPdrB6A765dwpISV9hiOmz2w7GaUkWfzoXDS0zgT6xol7/d9AbfizB1RRqLyffo6qC7cissVCmG2Hw0rqmWs+6UaaHZlyfI36JKFu9DgLi66aPnREpgS2ADzb0Szjzg9/6lzU2SZ1EtpmJglFcDeA7+D2asq0C5EK5Q9rvgBn6FRr30DUPxuLcYDv6a8eBB+15UPFVhHtvI6Ui5/FdByJgkKDjQZZhSECS38bVw7WpZRA09VVsnGGNtVY4zaC1mV0HT/AcjH8p/ixTL4Q6UMsni2oiHQr5ScxeVVmmvri49343KGA+CueERtC1h9xuzpoFG0+5SKyuNxQcUvqiD/Bw61jkEOlY3whRuHa0xJLh7uuXK90/hcOWT/Mwv6TvXjzAemGAk93I8fhGpvBlSsmgYn7q9GY5VYf2F9yvK67v0ApFb1Qu2doe8Neme4ZHOQgF2o4HFXooKpHpU/B7J117IdJ3YfS8W9xTF12GXPopJrF7iZEY9Xt0LFdhfaB+gC/421UGaWIXQyLG2VXdmMKk060khXgaZ6aIvly+YktJlwP0D+rjpct10NO4UPP1lLsbdTsht2YxtYGXPf0AXDUpZslOFIvOL+zHb5wzq0qhq2t1dgP3MOHK9S25GPW2Er9pVS87F+YbZg4njY7l9G2Q4FD5dCyopGcNechCPrrWo7G4m4choaVqVAg7yEcBl4vnUrfNHzO2g92AI9AdaebNAVZFHUs1rIsyrhYFUH9gfyYdoHen+gr2cH1OzqgcA8XF76s9j6WtH2RbU4mS9wZh4zbN3w0qOwdQCNMf4foR41u6XfE4/AaNnFQtkuhm1zhXtea9u8CbFTt36St2EUtwQSnGjbRoZsxcS3RTPumctfffu/2D6qGHbI1m/oIoZtIy3jzwPDs9VWQMJj6fJHrdLmu2ereyxjvK6fKs3Iwj3f3zRtM/m3bql+3UJpKtvWksUftzabcUeOtPmV08I2dPa3p9LiELJljPZEuYgy3Msf7sf94VXGGMfZd+Pe2yF7bit5ZMlO3R5H3xoqUpr6pe4XVkuz2faAcp4ulNYgj8smPy6/t1XKuUPZU1h2NzVdWv3c28at16w4WN1T8SjyZ9ziSfqyT2p9IkePz1SMz0vdUj/ftkuTdSVNhq3NTNjFn/09O6TVaTrThWWtGPdQhuebcc/6GdwdblE4Y6FUYpAPxdfBZe487m+9UJrBuTJZyyqR9n9o2vpPjGQU13bTE7I/shBGKP9QHppzdV/lBL49rPZAvxicCXMbLgy7vC5L53+zWcrR8hLlduoMaeG6HdLbIWVEj5utq09bpZIsXcZn3L1F6vjbaWWfdXGrvLBpwFBM5UYJF8vYSyhXbOtGuYzNlnKe0OUvIaT+DY1tSH7j/umnLyss7bzPfOx/r15akzVDryexDOc80WHc1qr/tLS/zCi3rP4JldsIdUpIWdXTw7cZDrv1HW4zZmCFvCbPYPHE9ApFJ2yb8M9uaevd6Xodj21B+gNbjLLB6hhMo9YO3JojbfH249aObHuz0Dbv9MurpRlqmzEZ5V9pVcLIMfr99nOrpXSe1xj/qVZtESIJmwa+dbEoc/GQTT0bbF7xLaixjjZssaluQYhp09sY7mV0chGVXPe/LW3m7eL1M3AbVR6m8WyrrTK+ov4Kk6fcrU3ZtJ2mCG0jD1KSlO3nYt1m7nLzCrnOCeknqFu5GrYA5YFGiFdImxGXssQDVs92yrDpFf7TqkxZ3ZPdW9bV+MSq/rJd/vB9dCv2R1n5r8ctf5V4GOsXq7hZ3VPSp5YtsV5gD2z1L5lDU906OXw7dNlbIk3F8r34pfPsxdgOLC/HXtkirRDbnMnYVq/cIrV+pG/iyz2Pqp7lL+G5780t0mpD3xT7jC+Y+qbMfTRyzdzb7otG9lv6tF7eqjXh9i1YmukgAjqBf2GXE0+NYkxx56PJkItT8Bzrj8DFmtg0gEYf6Rf7Blq3AC3Kpx6ESw3DMVdijDM+UwMZuHPHNT87Ce+yr9A4DTT/30rglo6LsX31G+M4KPpEgAgQASIwzgl0lUNyTgeU/eEkVJJl+DGd2b5tGZDx7DVQ/ad30dDpmE7KxI68uS86GI0LDbDktnKAmrM42yNO03kHC5OejwkCo8OGwtVEpW73xczblT1EyoSrmRUTKezAWx04bdkBC/5dnX53ohu64rBzyURiSGklAkSACBCBsUIAt5mrb4BgRhkUkzJhrGRamHgGoPO3uETUsSA2I4FhfKXbI08gpC86SBR8++pw8XAerCdjjIOQmniPTZYKJhoAZjEb19OyZC9/GjZQIzfRBODqpBe3ttz8HK4UTyqGlerWp773OiGI65TjsrvE1UkVhUoEiAARIAJEIAwBXJP/y0tQEOYp3R47BAYObQY0oQJJ62MzEjh2UjrOY2rRF42Y4iudsHu7HxwP7yRjjBFBTcyHE1Sh4IXS5BLoQAvrAWayFQ2N7Hy+wGgNfWLKA6U6rgS8UD63Dv6x3APfyWQGzdD4HBpF3L3Ni9bpcUZMx3OQqZZA98ZeuBTXsMkzIkAEiAARIAJEgAjESOBwOczZ/g/IW/odnIkg92Dg+Ku7oeYQzk6YXgZHfkKzemMkO8Kv2e+LWkXM34S74F3rxC2ny9GcMm5R/AwZY7TiNNHvTVCFAmZ7EJUJeEqaVwS7/nsn5AkWgye6UFD640XADfNx7/OtB6ugZRfTXOHhcKJ15Go4+MQ68EwXN5lTHtN/IkAEiAARIAJEgAhcdQLfmI+b627FbdVboE7rwqTi7g8H4en1HnBRF+aqZ5G9CAyxLzrQARU/OgFwUx7sfHcv5IlbFNuLALmaAATIKOMEyGRKIhEgAkSACBABIkAEiAARIAJEgAgQgXgTIKOM8SZK/hEBIkAEiAARIAJEgAgQASJABIgAEZgABEihMAEymZJIBIgAESACRIAIEAEiQASIABEgAkQg3gRIoRBvouQfESACRIAIEAEiQASIABEgAkSACBCBCUCAFAoTIJMpiUSACBABIkAEiAARIAJEgAgQASJABOJNgBQK8SZK/hEBIkAEiAARIAJEgAgQASJABIgAEZgABEihMAEymZJIBIgAESACRIAIEAEiQASIABEgAkQg3gRIoRBvouQfESACRIAIEAEiQASIABEgAkSACBCBCUCAFAoTIJMpiUSACBABIkAEiAARIAJEgAgQASJABOJNgBQK8SZK/hEBIkAEiAARIAJEgAgQASJABIgAEZgABEihMAEymZJIBIgAESACRIAIEAEiQASIABEgAkQg3gRIoRBvouQfESACRIAIEAEiQASIABEgAkSACBCBCUCAFAoTIJMpiUSACBABIkAEiAARIAJEgAgQASJABOJNgBQK8SZK/hEBIkAEiAARIAJEgAgQASJABIgAEZgABEihMAEymZJIBIgAESACRIAIEAEiQASIABEgAkQg3gSurkLhSg9UpCRC4uIG8NtJ2bk6yEhMhIztuutAUy4kJqZA6eGgHR9GtZueJ1Mg8YYl0HBuVEczbOT82zMwLzKgbozGP1zCxly+XGiE3BsSIWWDF8Z+qQiXK+J9L6w11Qvi07heTzC2gfZSWJSMdTTyXbRLr3fjypQ8G/cElLZhLXhHeUrHaxs2yrGPQPQGoGd7IaRgu8jqstLDIxDksAcxgu1eHNMSjz77iPXJDq0dl33aOGZnlF4pMptYPNpbgiiTRc5lApOuKocv+mFgiBEIfn55iD6MlteD0P/5aIkLxUMnMLryxVucCPmv6rETr9xVJ6H3ERfAF0EYL6VCTN+ouJ5IbN8vh/TVjQDf2gR7H3RC36jIAIoEESACRCA6AoF9hbCkshNchbXQlBWA/uuie59cx4/A0Pvso6tPFj8y5BMRGNsEru4MhWs9sPPsJbj0ZjHgMCimw7X+CFy6dBZ2LnXE9P7IvxQAb2UuzNlk1tA5wLPjLFz6+xEonj7ysaIQx1K+ZELZ/iZoMv3VLncq2Ti9GI78/RKc3eEBvVSESx/lvCWBE42Qn50bOlvIkq2lD2P+pveVBlT4FsDeX1dCwX3FUHZfrLW0HRTHoXHVIsitp1kQYWmFk8mwL8T6YKzVFRNbdgKHKyB3bvmon/0RqzQO/T0/NL/cCTCrGt54sRjy7q+Eooyh+zpiPoxYuR+ZFA29zz46+8pUDkdGfiiU0Uvg6ioURi+XYYxZEHyHO8E/1KkZwxjDien1WMoXF2Tflwd5pr/smbr6IDQPx1L6QmM/4ncudIL3aB98MeIBj5YAA9D3McZl1lxwj8g8tgB0HjoBfRNjjU5smTxiMjnW6oqJLTvBU17oPPeP2GRqQrwVAP+fMaGp7pg/XF1VTCNW7q9qKsd84FQOx3wWUgKGSIAUCkMESK8TASJABMYfgSAM/G38pYpSRASIwEQj0A//IEXlRMt0Si8RIAIjTOAqKxT8ULcAjeSEGOgIgv81No0vWTagk5iYDIuKG8Fn1SiEM5pyBY3w1K+FRSncj0RITlkEa+t7Quw2aAajrgSgbcMimKYa7klZ3aCEabqfvKgU2i6E5tTA+w2wNjsFktHoDzP8kzhtEZS2BzSHSjhzoOIU3no1X01bIqw9pDjR4qG9oV5YpWUuTsc+YXZo+h30Q9uTuZAxTY0Pcpyzug56DLMjhDz4rAfqVs/R4j8tuwK8n5n8ZD9Vf+eoxtoSk5Frky9qA4DBc21QkZOh8U68YRosetQLCjE9XgO9dVB4m5IGzopFI9BulJE5ORUW+aLKUvo0jXfy3EKo69UhRJUvp6pgDubtnGofi4Lp8EHVbIwnGhnVc91uPE1eDemn0VjTYOkDJt9mOclpgOODxEGTV1P5iHe5UaLB0+TDfOeGAiMZAB0AbzHL82mQu0/IKzWtuuzOgdwn2yBwhSdWNRq0qgVv+KBirlp2FtSphmN5PMSp+fo9JtOl2VzWWHlT6xDuvXpW6gruDg1o5lRhWWuTjUuG1oeml/nPkPKdCNPSc6FCqHMUp4OXJe4lOxvk5VSFLO8GY6tYTzQUL4IUXv5Zud0gMmS+2GfC7IIkJuaDTLxyjlpOhbwNSadVPYZBhpXjILSsZmHkQqNYMFk02aGW6SX1Vg8VJ/x/5DpLcWXlJsOybrLLSHGXGFYmlXAHqw8D+5gBY7TB0qLXfezN4OFSmIb3c/fhl1zZsG74Nio84/+/vfMBqqs88/+zO5mRjkViHXKzFb1uSnK1JqArf6yxMJp4s6lAmgrRn6FUQYhbQtwaEjVXtILsVsD+EiD+AjGrIG4ToLXAr2aDug1p1y7Enwa6ZrnJmAmOOtCpv0LHTsjozNnnPX/uPefcc7nncCGAfM8M3PPn/fO8n/d5n/c57znnfRUZIv9X+2WtT1pmbn8ihSCXkPRM/X1E3QlJQD3htA+bUHRe8w1E3x7qS+jk/lj0bfq+tIiadX2OJlYkn0EJp6Vrsn19yiTVayqEfeugXOFziL+APxXqA12TyZ9GRFLzAGNlIkPNVi67XfMHjOevuMHYn2plE78h5Vu2kn25ZpMPotkcnrSTOTds5cmpDeUQCdnhr89Z2dfrR9DnUicH1cp5RvH7ZL8tYOc5vpXfNcs+pLEE9tq9iBPa75j9PCXliZPN7KMG+51rMq310ihH8Mi5bTPprJiwW+Nunrw7TJv0W0z2HfA9AqIF+ziy5cdG9gsDSUfaUSeLD98OlQQctwWhfzyRqNb+hM3xvWG03ZpokWy/Fs7qN0Qu032LEkezQSMWuubEx7G6ibOSCucWJAFpTrfzUn16rBRbfMwgxfDetVJsbKyU6N0jNf2iS+r6RZO0x5soxSYkSPF8PmXv+WD41ws5bIpU/0HwlPT5sFR/J6crwhbXS+36NPhcAuc3rgt+fm8Kh71HKixOlFLKmji/LqmpTJyLleKLW6T24gQpIadSSedgqbSaz8cm7JT6P9cl8kG9lMLn9TKXJgsZEqTS3gtywAv+43JZChP5PJdN5CP+Tn2kpKPIUSgZaIiyZJjL0i7VF6+Vdvbq8rfYPVbM8a5MkQr3tsv5tD+bJSUI2TPqpSBBtQ6+VygVJiZK9zxrCntjpTSsTzsgT6K07nGFVdfBPdI6LlNCQjyX11QX+ri6/XGuN1mWxHXSnoMKB5FO1v1NqmyqXHdmSVl3Vkr9f9RF5l1NR1YXqPX7s0rpHsE1NktqUXnKMWT90OkBh8tKEOHWBnTGWb2MSk1CtxIrpVNGkSTp3UopkflubVfqW1y2Lac5rTDHcp3GmnQkJOwxqZDl0NrJ1OUblVru5vKwnpSq9dC+t1BaG19q1MOQPCTpUrUbJWu1THdnSSn3t0jng4j5srG8Erfu/h8rNmRdo057A7q7WtoaaBP3yHUWe3eLNCpnNCqdEu3yyXWsI4lS4QFVN98alpQszXmJSOq5BwW3IMemf1jNaTDb+9vVuHIGUkD3bymU6n8m0hftme0N2ze5TZjsoRLL9H/8mFQq67uuHf6sXiq8Reh2rLR2r67c3KJkOxumLZlSlgz6klio2uDj0vBnIqSalq7dauVM+IdjunLaZzL6rmDANoTlTnxQtSm/0PJjurbsWAQ97tsp9x1ZLym1rC9zf7mwW1uldrl8+ivG/UC96cputFmsea+XKvqkCyPaU8qVol7Y5vj1adplFEkn7doZrjvRl+j7rs9PSZU38jlV/w11H9JHRWCsL5ppX+vbarhvj9frfYHSRox9slUbUxM09feRdMckhnIYsAO6tjNVH8ZtrVD0GQnBvkrzDxLK+3VZqHI/ye2Q+1JD/6j1Ofr6t+EzKImr6Zpt32fD0nG2VU0Psm8Uy7IJuyX+3lV0vL88gc8H+3RZV69fF+j3dIIbd1XGhcXrpMTvKX5P+7OqnUyvkbqEf5ZcqtiFQH9q6nc5xeFGYUOZW6C+WdbHOU1xLoH7MJ0TpujHOikrZ51U+bbugpDMNn9jMcSRXj+CPtcpxdar5cy6O0Xa+sp5ne3iiEJHLrUPGSJ+pHav6kW4fmdLu8HP1exXwp1Bv7pU7i8SpJ1vh2QecmJats2ssyJVUxuWM3LYJjV7EvSV1X7Jrh8ryzC1XyjLZSWrfEH3L0I7FCGdtwXlfkRrf12BdrZaqnxfl7dIW71fiugLG6MpR05tUDhdmw0fx0penJvXBGhupVONgN6BVhXc6GAIKS9Ix38kOsjgjZIsu0WDV4xNglT4uqlj4ghK44uXdvbJseV/SvhYafWP9beIF9iRFY4md358Az6sGzwYPSA6Sk5Db4Q/aJEq203O6niLdI+I/2BXMDPNIdeXWb0aaiQlSXEKrMuiS9Ry91gj34ibEPQ/KZyPFKkm4NiodcADH2Zep34snD1jOcOyvXBc2ik7TTYGFD5qkbIsuBoLocm1TmrSDxCIQKqOpNTpb5r4/HiXVBjPg0B6J6+3XqocMEEY2CM7Ncb4FrqoCmSul9GXskK4iKDKjQk7SpquOJFTzSvSjzKgwDol+Bn+9IMMqqOhH3gLp3cj9dJaTsfIgqW4cMHoYFkIdmnbjVKm2Pid0nGNb0AmY3m1DtZ4U60NgOh1X0lgvLuQbzaNem7p9MjBjXkpKaiyhdwwjkvtW0Q9sbOtmYbPOCzrqNmmiHQ0uc0DrEoe+v+abTLfoIow42y3hJ3Ut5sp2pI+WcO+GiddP/goApyXWnjQcdRQB+NSy/dEOQulrsB5B0zkfK24KgLZsmMR9XhYuXG+s0kdOFLSlj5nuyVsxo+OqyfC/NixWVPUbeCmyJC/Q0YWfZ0srRM741fbu2oblDZsvhkMYwsjMg7Djk9rtiKe+0KTNZaUfiZB2jOgxQ+vC9btcorwWpK6X0WW0P5OsuzD1LYWz7ptEny4Tjx00LVtdWDR2L+qGY+3K75AYOCSz9v2GVQ9sbR9Glu9/Rd58oCj6B8Mvgef/pzteqCNinAWm3qzFWu6IdXq0DwYIFkN1oX14zg/VQf1bU5Le90BzVBqcjnhr8Ux/6r8zD6XWk69HFrMsDrCAWbNh9QyN/+Ga/cBfTP3A+H7nZD2xzfyNeKhnl4vzfmL4+naNiudtShPWN7aYJLpQZUSXq/zWh8X2q6t/FjJrl9oIasVHnEuVCY15DTbQsg9ED+wEg8zDf6tE9tvJbhTGxSlj3P+gPCdWd/MbdFKNpxbcATm+JOH0Jc6/K/xpw2URhVPeynOcDmGMh/eQR7DOasDnvG5kV8BTK2gf9poTEGE9pQ+xfOWT1LzYfMqCx4q+F/JugRjKOOuDPnYu73YMDGZ644NLAdPXOXXvTu4ooAq8tRZ9rVU4jIp85t8cHpEfV1au2Dz94teamqaoJiH2uiQRVkipeItraA0E4K020SZ/DT8gSn2qh2025RHsncDrxIwSX8KfEvtp/ZXwrCNyaTif4xcOyLXkc4G6uM6rvvXMgNXk0TK4aoNlHm18crgK/VcAi/tftiUX1wObcri1/9+0x/kfVcZVaSaIKRmkkzBr39t3ZjHVEeuvALKYS6tHTxztLZ90UftLZNcVwXkVSexcySnlo6tX6tVHnaQXnttJSMCXbWcruMff3e38ZOimBjdChEiYLjtErebrAzKDDtJ4CSNdYjlwYYo6emT9OYjev1Q7cLG3VS2yliWuI2bKJvrs29gevoQSC3XnHYcZWzM5MujNKa9qXjiCHVMxlBJVajue0p3s22ysf2lh+2X0LXqkLIQW03v47vZPg1Q6y9N5bFoSzZyMwVxU4Evj1yGOoijzAzBeohGxESO+s0OE314i31bdiyiHrOeFrOMJ9upS/+52hut1DzpprKHRD2F3+zYrMnXm8PWLcV56alykX8rtc8wI0d2ZlUZHXraQ/6KndRxupW28+vymfUvUoHJxlqSiMjYMpbupIvKynJM/TpR8sO7KJM/ROw9ofs0SRdrZncd9mFqW3OV7qAcUzfiyd7C7ayP+t41SWhhYyguj3Zv40lzT/RRv/Z5lVOfYUrbZ5KBpx90Xcvn3uiibv1ni0vYrhvarjle8DgvP89QV+6MHBIejuuhHeTVs2CfIpvP978ftDeKTlr5cRyQdfCp+7iffrHDtDKFhzbcYfKhpsM/WARbe9l3mNv+HPmQtqS1CGRhY7NzvRxwlCbUpcgV22TR/pZ4KCeP7RLr5VSfOE7bttnSWf4092dh/Eq2m7tt+pUyGVt+LIecBb/QombkU9NtCzvKTfdAN2+gDWxCJj8dDWTlyPYHYul2nNogC10L8XH+PbyP4y4qtufj6ETE7sIhYLNruXQFGvGzYXHtonQrB4c7w8jbGJ3n+3xXfrrc+YWEZwN6E9/kd7zv55tOr27W3yRKNt1oxHxV6TXjvmrKV5VjdML4PdDk2CD1Hm6n3sEh6v/dMI1/OkZjIogYVJjO9qGfXXSijG+lTyc2fwPIgx5vswPbOUSDg8do8A98w/WxdmdjSvLvkkMHa1xumc/QOeEoiCXjRmj4DLPdac3WrqPiZ/Zh69gklpiZWdyq6Lexj8VADn/T9Tc8/4T+QmD/FA84KBKLU5Nn+vjmv4OGhk7RsaExmhwbC5lHIxDVzs7leVRwXxF1t/VQXw0PGolWpN6Y7NLdmDiV007WShhllQfhMkS9cVkq6o9Q/44qSl1WS0m8pNZT5cXknXLFCH2ul7bdeG40a0NQlvFfFFHKe0O09KEe+tVOj2lARLEL4vvNZVdYaw0JvdRZhGDK9vY8yaFDOi7XMo7cpwzgsX0ZOSO3aEq/xSJNW/aN442NygNmYe3CCg8lcTBh4wzlsWhLFlJEPjU5RoNH26n916do6O0TNDwxQWOyoQutGztMImZox47Z0GN3bjGlVZTTwc4RKnlE2DOeW6GNZ27g5eQKIthoOzZr7BNhJzOs65avuFfJtcID0XwgbvbULVpGTu2M55EXaddL36aiW3lQPaORzj5guonTBDP/2mBsjmI8zqDkNcYz8pFrOcmtRB7gDdUhixhRnHLYh6ltbez5b9MVz4fJ9gzX+0ahT8rmSUsy2R7lvCtBhFEH3VYo55z4DFPZPiU1/X8P7XihjLq/y/MP/W0HuTJ4YL1qB2252WUpmz6mss9+0o2ms3FLaak4tVT+H7yo2q3JifHAOVknXQXWfhyHUsrC/TQPrnkDbSGJPCqXYEKKrXPCPxDX1o6Hrg9RubnzIW2JbApkpReK7+qnU8LWMFPFNo1RbeYVVGuKrx36z3FdmPmrF6dt26bor7V8xQOuUzyvWLR+pZyeLT9WyXnG/cJggQx7020L5vsRJkRuUT/qA0phTZzafoNg6oEjG2THxzk3Az6OlaA4N+8JzLsBBZlYnN2no/OHr3//ekp9YoAfECaRd/NNlLOzmJKvGqfe6u3UGqWYcfy02PE20UvbU3J5ErIYcmdkU+ZtO+jeNDfFnWml3Grz2xnOUl9qHmBxFl0JbbeOw91kXZVD1T/dEub2z60+reenXj9Mody2MYpZkUnZGZm04+l0cl/lp9Z7eBK86citxvHml1DM4VbqebuOn86qNyapdVRivjGxJWcUgsxAVM8DnXQ2z0/de31Us89HuYd9PCDXSe+8YBohn4G8zEk4bjfh9IETXvqNW2k5d2Z9/95DpyZ4oEf/FE3NOG5zNe3/btD5N8hzXeiAgOH6jB3E0WWXzVhi9hOagp3tRM400Ppbffz+Qxwl3bWJbtq8i4q/uZzGf11F21+2nYr9gA7sWEQ9vrqAtmWXU9FBfgvukQry8NPPIz1EabXh7IhJTLs2yxTtkhw6sTNL+MbwKpbqQ6KYZUtt3mAqpYjIOEJhpxp0juEb1ku1Oe3DkkoP0e4060Ybd6NpQGbKdrac4i5XSjmTts+KW1xGNZ38ZAf1tVRR3d4GniyW/1L53LHQt6Os4s/FuXD64Yi/Q8HD5ekwmbkLPqW+6cVKorJDuynd0uuPI49JjfUxp71vWzbuv2fCr7Ql6Oz5hbayn+lATmy/KW/HNsgUP/zhHPk44QXClUtAwNK0XIJ8w2axlJ02OtNPQ/yqlkfteAOBeQRcjIFP7Xa46Do2jB0n+nmm/eTQtxS+UEZDY7bxjWUg4Sh3+NOEGh5MiMlto7P/on+l00/+6ijSvjyOlnP0nhM8UJGd5iihkZd9PJjgoYp3TtIu/ZsXPV2O0jEGXkpXcvX4B4b42Z75CTDR+Hjk2hHpKXV8gvrHdk2rE5PjfzpJy705lGPWEb3A51rJx4MJHn79/SQ/sQ5sX3RTNBTkdDK+T2WuZqpt66W6WybkG5OcQwUGfbMtZ0CwOdy5nF999HVSzmM8s/Az62n9vlx6NPvP/KnNLMo00+0muYx6HnfT7Sm8+keOix1n1q/AWJyiuxOTy3nAL8fRTdSMElgibkpO0ODviXJuNqX8lwl7b87wE11hu078rp8oL9OUCB+eU95sykyb+QGS3joeTFiSR21nDxleAfefqwqVYwbOOLZjU+pxDOVtK6HSLH674nQFlfymiQcVc+hQfmRP2o7Ncn1drhXq/39cLRmhhVfeTskkfoA9o5tTO+Pft5V872VSXbOHqkoeokc3n6VD2Rajb+GknJJxuEji/BBZPgV9r59bBFH6jcYe2S+/ymE8pzCcKo9I1xz2YWofPByzinI222tP8tssId7FJA28zY+L+dPA64W6zbTtC1fsGBdlbmvkvzoaeTmfUnf4KH9/Dp2U39AJFyn6866ruZBj/HnHxxWUbPG2qcwopoTSA28nhMlzGvzDpOTg9Bz4kA6km07QmDjhSQ5TTCL7TOZ+x0aCs23bvsIyROtX2iiGEmQ2/UILIWasLVik7dT2G5KYJRuk6FqUPo5BUBwsFAJ/Pd8ETbtTfI3HN+gHxLtauo2XUGn9SS0PEkTakmnLA+yEnKyiPUcnQgL791fyAktxVPA9ZzfoIQnpT3zCAwd87ObXuwxu2Xvt1MqfCFhu7CwFvzi0DMFvOG2iAr6hm2x6lBrCpRMmquKMmV8hnFBe8Q0TJ/LpNPJ+l0MdrQmV59NWqno+cu2IPNLuL2N3q498Fb32bqBMgqVlF/ANoYWOmMLRB0q9JK3SDSZwmAmep6PDHFY7tlMvclhVzw4foda2VpaGP4PYHLh7lUPYllPL+1L8msvHr5NPat/0ivyXxFHa98W3wUR/4E9DZnWbTruJJBB/n/urIzyw8x5/wrGhgfyBsqVRdj7Xj5Xuhk2T9cc810jYsPYuuHn+FTdbsYaGbpPu8w3HTypZj2xsl2fTvWwmJ1/0hbZDTrX3JzVsjzIp767IN8o2ctMFGVFf17+ePHpD98Ugtb9kste6WE52FbsVjGHbjtnV49uyqSBmRP4Eqv0lHgR+iL/pnGpQUhXFjs2K+c698twqzRV6vVMT4DctKuuYUUYebYiqWkJ10pGd4TdMisQcI//cSCX8edP+XB58L3qUukO7SvbwTX2UXcbB6jPt+amZmRs/FOQ+Se7X9fqq3NARPxQYDLRfTor1rPVgeD0z644pc/XQYR/m2kDZqXxvvL/empFVJoebqfVT04X3aqnyKL/A+IMtPHsQbzNu+1gv+I2T4MZ23QCa31TML5DnOhj5aJbtOguRzPMMufk9pqpnLPp41sHKwzoWQaFD96bDPzQVh2fmwIeMKGFou48YRRfAdVc2651Vv6MLNMXu7No2nhdJuP1WfbMDv3IK8Y2XpuMXGlOY4sjcDmewLVjk6sj2m+PPuA1SMnBleNl/tNI1Bz6OWVYcLwgC8+4NBdr4FFXf3EG+Z1JpzVA1PcWvJ192cYS66qrI/3d5rKhhbwUDwD2PdVJ1byr57r2Ghu6r5skGOQ2eoKb/QC01/G6MkqpOUt23AsGj37nWSxuu9VHtM7mUv+Qp2nLtZXSRJ7za8/JFul58N23IwU0e8YTqcA359rlpi+sEjVxVR2V3GQKpB3GU19xJ/7Y6l3wpK6mrdBftSBMjzaM0yK/bTzz0W6qzjMd+6x05RPx9cOmG5TS6PZ3fdBjlzy+epJHlwp3hNx6muXkfr6YkfiW+KmUNDVapZf2wi2qq/ZSUy7ehnTYSvrmCOquO8byZuXTNu3lUXb6J3Pzg9uKHvdQ6kESNr5awMzLFllFBbfcdoVzWkZW9ZbTrYVE+3j4dpK5fttJXSs9SIw/E0G2Z7ODz4MEP19PysR2Uzq/5jvKr2U+eWy47dUYKTupFkc3zQBmlPfck+Z4VE+T1BCZjVK7yf7tysoY0ZPLa758UUOepRvLauMEJ5GF7J0z5vnGQX2E/Qh7fI7SJ9VboVm81tzUx6eXmqO58IkvmqN1ETk4LEbexkd45coFW3+uj1HU8tviW8opv5tNtlNeRy7q7ko4F2hKX+HQX9bR9hcr+m9lriXhukm1N67PllPlZBocZ5zc4hJMc5fbNXfR8fjN/hpNPq0f4u2a1bQrb1O7O4PxHbAwq8JP2F9gunDDZBdlO+qjjDNuNI232JtpzVBw3eb1u8j1XRbk/iFFtM9/kVbTSRQ+3fcMNjaOEObA6t01bJZXzJ0QZPB/NeHYFbbFrxz60qcdLePJYfjrbfOBRqpngyRj/JdOeoHZsFs8xsP/Iv1Gf0LsbuqjsMcXmXBT28ZkO8vP1zleNbzHZy1wNFU4n7doZfjuvtsBHQ9+soJPbFE3O+d/7ydtZRA/9aJPu7brZshU84H5iPa25Zxf9U36y3Cf3VpfLg+5JVXU6fU2mgn9Motonaunbt45Rnc9Ly1m323/io8kbuYV+aOxRw+lOwQprus76MBeV/J9qauW3nvL/dojynt6t2smLNDJwhI68m0mv8icEervgunmUfCtTaaCmgrzc58i+wHO9NMYTM3Y+qT7ImEHbp83NUfNEA7lzl9OJT+KorpSo9Oul9Idt/EmS7DNcpMG2Pew9uWnX/TP4MMUaMc9LYt3Hjw7UU+3+ARq7mT+9+Gc7cjjnH04kJ+cvuQ85lXDh2v1UcczXri6h/VWt7HPl0zVDQZ+LuF31v8ZzKGW8Sm+W6rXYlMCs2jbuz6qqaV9PlH6lSeSwh478wrCphFywbodsr2asLYRk6cDHtIg7gzbIkPqKYqrOr4nSxzGkiIOFQmBu16UIszzV56NS1+NZ0mqxvJpYYiRhLa8H3y+Na0uk6JfDC7esC6dx/NmtUoq8lKGSTkIGr/v+lnlZoimWe5HTjuXlFE2UrOT4qEsqzVCWtRQyJ95dKR37I69lLJbkMS+9Nn5c2rNWXZLyykRe1lBJP+yyM3/sl5qK10qJGo8rE6SUu/dIx8zLKRrEHJf6924NMoxnhq8MSxdCyhSmDkRaVuUU57mse+5eLa/rLsoquDbx0oyK/DaWjRRp8KKE53nt+axbgsziE1nGl06pyxVOIZeI/jmX70ChtFZXv/GJKVLW4y3SsG55r/GBemlrssqalwZcW8zXL4RZRsppvfACdE3yWtWhawMLEeXNlpxcVrE+fGKpdOwzLaL1r7JspH65JKtwYZZRsyrfZ/1SDa/DnXCl0kZihW7dXykdn1K3lDzD6muIjqkyWumT7XYTpkxy0tbXAms/36lb9lVtS4Hysk4k3pIl7eG2oVMbOdXhl7ZKiSqXeF5nWbEcVnlZnVPLbMnCpLvxq1lvu3gpRiUd20sqjQ9LLWU6u8BlWc12oeV9c0kitCVVVOOPGsdsu4Rt5jwD/K7Pkip7x3kpNbGEnr7tO2XCuftbpK3Xq3oYv1VSVuG1acec6PFHTdI60a/cWCmZFp41Igg5imSzlAjj77dwX5AYsI+xcv0a7ZIS0jkja53k1GzYGWX5NLZV7xoLdr5xLdddvFTYrdOb2bIVF1hnuS+LF/z5Lz6Z2153aJ8slj8191+lIpzcnvR6ppbFUneM5TQcOezDLnxg7POEnUwM8Se0+mRb0lspZWm6zGHXFjeFLOEs+lF7PoOW7nlDEYIH49Lxx4NME5/t50vnpXa9zyDsXEaphW0IphLYC8fYyn7LkRT5rOzW6FuV0lZdHy/7cnuPm5adncIHU4Wyxz9QAtNOGPnClVOLfal9SC1fi1/rdj+FXlj2O6r9CvhD3AYTElk3623190KsmbNtFm3YQZsM9T2m6OMs9Na2XxhJRwx1ZdUOgwGibwvh+mSTPyHsqoUvHJREtzcTNshS10wyTdfH0YmK3flP4K+EiAtl8ANyggAIgMCXlgDP7VH0tXzq4Akx/8wTYmKbJQIfN9P6G8qJas/Sm9tm+S2cWSoCkp2PBHjloStyaajq97M+R8F8LD1kAoHZIOB/PpVSn7mMqv/rt1QWac6N2RAAaYIACNgiMO/mULAlNQKBAAiAwJeNAC/B2MNlmo3JFL9sqKIpj//lBv7oK4e22ZiMMZp8EBcEQAAEQCAaAmPU9zrPmxJza+QJPKPJBnFBAASiJoABhagRIgEQAAEQiJIAf9/eUNHME9bpJ6eLMk1EDyXwRR8d3DdiezLG0ARwBgRAAARA4FIQmDi6h3jKs+BkppciU+QBAiAwLQLzb1LGaRUDkUAABEBgIRAYoeZNW6nXvYG8dyTLk4mKyUibGltpYCyOMl9o1E1OtxDKszBkHGmrou7LXbyML08CyCuytD2duTAEh5QgAAIg8GUn8EY5rdn3J8q56+/5TQRlcujBwwep9ii/nbCijN78sZ0JPL/skFA+EJjfBDCgML/rB9KBAAh8qQi46CbvcmptbKbyl9W1+nipTs9tZdT4891UkKRfj/FLVfC5LczEMfL9cIjo6hxq/O0hygHmua0P5A4CIAACGoFvpPO7eTXUXt1BDepypzGuJF79oZOe2uYlt3FFbi0WfkEABOYRAUzKOI8qA6KAAAiAAAiAAAiAAAiAAAiAAAiAwEIhgDkUFkpNQU4QAAEQAAEQAAEQAAEQAAEQAAEQmEcEMKAwjyoDooAACIAACIAACIAACIAACIAACIDAQiGAAYWFUlOQEwRAAARAAARAAARAAARAAARAAATmEQEMKMyjyoAoIAACIAACIAACIAACIAACIAACILBQCGBAYaHUFOQEARAAARAAARAAARAAARAAARAAgXlEAAMK86gyIAoIgAAIgAAIgAAIgAAIgAAIgAAILBQCGFBYKDUFOUEABEAABEAABEAABEAABEAABEBgHhHAgMI8qgyIAgIgAAIgAAIgAAIgAAIgAAIgAAILhQAGFBZKTUFOEAABEAABEAABEAABEAABEAABEJhHBDCgMI8qA6KAAAiAAAiAAAiAAAiAAAiAAAiAwEIhgAGFhVJTkBMEQAAEQAAEQAAEQAAEQAAEQAAE5hEBDCjMo8qAKCAAAiAAAiAAAiAAAiAAAiAAAiCwUAhgQGGh1BTkBAEQAAEQAAEQAAEQAAEQAAEQAIF5RAADCvOoMiAKCIAACIAACIAACIAACIAACIAACCwUAhhQWCg1BTlBAARAAARAAARAAARAAARAAARAYB4RwIDCPKoMiAICIAACIAACIAACIAACIAACIAACC4XAAhhQGKPeimxas6t3zpmOveGj7JvKae4lmXMUEAAEQAAEQAAEQAAEQAAEQAAEQGCRE1gAAwqT5H+jj0Ym5r6mJk/3Ut+5P829IJAABEAABEAABEAABEAABEAABEAABOaYwAIYUJhjQsgeBEAABEAABEAABEAABEAABEAABEAghMDcDyh83E2+rFS65mtX0BVX8N+yNZTdNCgLOrIvlc+tId9pPjycq1znMEVHlXIo14uod2KAGrauVK6XKB8k9JZwWrc20EhIkXupiNNI3We+Mkkjr/EnDSnXBPK54prbqfyNMaJzDZTKcdZU+Dm1DsoVcoo/Na+AHCF5jVDDrcFwymUtfz+N9Wyn25eJtFKp4Vww8liP+LRimSrHMlqT5aPuj4PXsQcCIAACIAACIAACIAACIAACIAACc01gyZwK8HErZd+wnfpWFVDdoQpaThdp5Og+qhrkm3jeXBvrqO1aP3XtLqeOFWXU9nC6fN6dJP+o//imvWAPpT3+Dv351Tj9BQf7E9RbsppyD0+Q61tlVNeSzrIQjQ4cpBPnJolu8/I5N/l7dlJ5p5vKWnaQLMl1yQ7yMAV9o5yy4vKo88NGcscEr/n33U6pFUPk3lxNh55202UXB6m1opbybxiixv/uoYKrg2GxBwIgAAIgAAIgAAIgAAIgAAIgAAJzRWBOBxRGftlMfeShin9tpJJVKoLNeVQ8yTfxvMWsyqScVdfRyHM8oODmRac1/QAAB1hJREFU/c1eNZD+Z4AufOcsVXxruoMJRGMv58uDCUlVJ+m3j3iCiW/OoRL1KHOzh677sEoeUMjk81aSBCNG3vMPeKjnkwJy62uA34TI58EEz9Mn6eROTY4cytmYTEUr86l87wAV1KZFThwhQAAEQAAEQAAEQAAEQAAEQAAEQGCWCczpJw+uZddx8fgNhB4/KUMISmljYnSP7CMC8NCGO1wRQ4UPMELtB/qIUuvo5/rBhPARZuZKVgZl6gcTONXBV+qZhpd2P6wNJqhZxeXQpiyiyd/0W3zCMTPiIBUQAAEQAAEQAAEQAAEQAAEQAAEQcEJgTgcUYjZXUONdLhp6JpWWLbudivb1kv8vTsQXYZPIs8JpHH14P53iORpcGekUzbCEPkU7+54bTYMGHGnsY/GpB8+x8DfqHA3aXA38m9/Jl06f4gEHbCAAAiAAAiAAAiAAAiAAAiAAAiAw9wRMz8gvsUBLPFTw87O05Uw31VbUUENFLnVUuKjgyDvUuNH+JwwxM1CKpV918lbEDHBaEia/q3Ko+qdbyG2ZhZuimLXBMkWcBAEQAAEQAAEQAAEQAAEQAAEQAIHpEJiBW/HpZGuME7MqhyqO8N+nA+S7ez013Pso5fz/Q+SNVrrTfvmJvuHm/JyfhgzZL6Ur+d7e/+t+GuN5C6b/lgLn9SGR91pd4l8obz/wSxS2tqVxLMink7Tcy/MmXG4rCgKBAAiAAAiAAAiAAAiAAAiAAAiAwJwQmNNPHkidfDFQ8qvSqCBPfArwBxr9NHBW2fH7Hc0f4LpaDA30Uf97xnQGX2k2fTaQRt8v5SGHEz7ac3TCGNjySBk40F9yfV0MWQxRX78x/sRrzbzIpP0tLbuAYviTh5oD+LDBPjWEBAEQAAEQAAEQAAEQAAEQAAEQmAsCczqgMNK0npbdXkQNh7up+zX+e3E75VfzzfTGAtoUeFXATR7xhP+9GvLt4zCHy6nhjciokr+/g18MGKHadam0/UWRfgc1/GANffu0J2SFhmRfJ1XfPEEd915DqSUN1CFkEeF3ZFN+00ggM/cqIcgQ1TzRIF8v398rX4v5TgkV8BcavUUplFvdIZel+Yn1tPoZfmNBW70ikMoUOxkV1HZfHPl5TomVG3zULMshuFRRUdZK2n5Ui8tLZWbyPAsrt1Ov4zkntDTwCwIgAAIgAAIgAAIgAAIgAAIgAALTJxDtRwXTz5ljutI2UTqvbOArUZ/jx3koZ2cP/d/HMkk/g4K3tofKTufxHAv51L3ERbuO1UXOd0UZ/eototLiKmp9NJ9a+dl/0gMv0tlDMbTna8pAQCARnsuh7Njvyf3Mdqpq81HRYXElhlw3Z1PFg4GRDR7o+Cn1lPopb7+P8ntY/sfeJFmSy73U+J9tRPeXUutzRfyOAV/Lrqaf/0cO9W9YIx8H8ppyJ468L/wXvXnLo/Tosw1U/oMGOXSMy0PpuRVUd9uUkXERBEAABEAABEAABEAABEAABEAABC4Zgb+SeLtkuSEjEAABEAABEAABEAABEAABEAABEACBLwWBOf3k4UtBEIUAARAAARAAARAAARAAARAAARAAgUVIAAMKi7DSUWQQAAEQAAEQAAEQAAEQAAEQAAEQiJYABhSiJYj4IAACIAACIAACIAACIAACIAACILAICWBAYRFWOooMAiAAAiAAAiAAAiAAAiAAAiAAAtESwIBCtAQRHwRAAARAAARAAARAAARAAARAAAQWIQEMKCzCSkeRQQAEQAAEQAAEQAAEQAAEQAAEQCBaAhhQiJYg4oMACIAACIAACIAACIAACIAACIDAIiSAAYVFWOkoMgiAAAiAAAiAAAiAAAiAAAiAAAhESwADCtESRHwQAAEQAAEQAAEQAAEQAAEQAAEQWIQEMKCwCCsdRQYBEAABEAABEAABEAABEAABEACBaAlgQCFagogPAiAAAiAAAiAAAiAAAiAAAiAAAouQAAYUFmGlo8ggAAIgAAIgAAIgAAIgAAIgAAIgEC0BDChESxDxQQAEQAAEQAAEQAAEQAAEQAAEQGAREsCAwiKsdBQZBEAABEAABEAABEAABEAABEAABKIlgAGFaAkiPgiAAAiAAAiAAAiAAAiAAAiAAAgsQgIYUFiElY4igwAIgAAIgAAIgAAIgAAIgAAIgEC0BDCgEC1BxAcBEAABEAABEAABEAABEAABEACBRUgAAwqLsNJRZBAAARAAARAAARAAARAAARAAARCIlgAGFKIliPggAAIgAAIgAAIgAAIgAAIgAAIgsAgJYEBhEVY6igwCIAACIAACIAACIAACIAACIAAC0RLAgEK0BBEfBEAABEAABEAABEAABEAABEAABBYhAQwoLMJKR5FBAARAAARAAARAAARAAARAAARAIFoCGFCIliDigwAIgAAIgAAIgAAIgAAIgAAIgMAiJIABhUVY6SgyCIAACIAACIAACIAACIAACIAACERLAAMK0RJEfBAAARAAARAAARAAARAAARAAARBYhAT+ByOWCnqy5jR+AAAAAElFTkSuQmCC" class="kg-image" alt="A screenshot of a computer

AI-generated content may be incorrect." loading="lazy"></figure><p>As you can see, the model went below the safest choice and <strong>generated less probable but more creative translation</strong>s. My personal favorite is no. 3, and yes, no. 1 is the most literal, word-for-word translation that you’d receive from most machine translation engines or AI without tailored prompts. In other words, that’s the result you probably want to avoid.</p><h2 id="tips-to-get-better-outputs-without-retraining-ai">📬 Tips to get better outputs without retraining AI <a class="markdownit-header-anchor" href="#tips-to-get-better-outputs-without-retraining-ai">🔗</a></h2><p>Verbalized sampling is not the only cure for the natural language generation repetition. To take the repetition spell off your model, you can call on these superpowers as well:</p><h3 id="1-use-role-prompts">1. Use role prompts <a class="markdownit-header-anchor" href="#1-use-role-prompts">🔗</a></h3><p>When life gets boring, role-playing may come to the rescue. The same applies to AI. According to the paper by Zhang and Yu, repetition often stems from <strong>typicality bias</strong><em>.</em> </p><p>The model (and its human trainers) prefer outputs that sound “familiar” or “safe.” When you assign a specific role (“You are a cultural strategist,” “You are a brand tone coach,” “You are a localization strategist”), you encourage AI to sample from a different internal distribution. This small change helps the model access less typical, more contextually diverse responses.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text">For example, instead of “Translate this slogan into German”, try “Act as an English to German translator specialized in creative marketing texts. Provide three versions of this English slogan in German for the Austrian audience.” This small change in wording won’t affect your AI translation accuracy, but it will take creativity and local relevance to new heights.</div></div><h3 id="2-adjust-temperature">2. Adjust temperature <a class="markdownit-header-anchor" href="#2-adjust-temperature">🔗</a></h3><p>Default settings create comfort, and comfort quickly turns into monotony. The same goes for low temperatures: they keep your model cautious and predictable. To spice things up a bit, <strong>move the temperature upward</strong> and let the model look into alternative completions. Higher temperatures lead to less likely and often more unique results.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text">With temperature set to 0.3, most LLMs will behave quite predictably, generating obvious sentences such as “Localization makes content global.” Once you set it to 0.9, you can expect creative structures such as “Localization draws the opening scene for your global-ready story”.</div></div><h3 id="3-add-constraints-to-your-instructions">3. Add constraints to your instructions <a class="markdownit-header-anchor" href="#3-add-constraints-to-your-instructions">🔗</a></h3><p>Freedom without limits might be destructive. Your AI model needs some constraints as well to mitigate the LLM repetition problem and stop damaging your content.</p><p>Research on creativity in LLMs shows that <strong>explicit restrictions push the model to explore its internal diversity</strong> instead of defaulting to the safest phrasing. This strategy limits LLM’s ability to copy text from its training data and <a href="https://arxiv.org/html/2410.04197v1">breaks the repetition loop</a>.</p><p>In localization, this means that you’ll need to tell an LLM what dimensions to vary, e.g., tone, format, region, or emotion. In this way, the model can spread its responses across those new axes rather than collapsing onto one “typical” answer.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text">To start addressing AI repetition for local content, enrich prompts such as “Translate this tagline into Spanish” with specific instructions on tone and region, such as: “Translate this tagline into Spanish in an informal, playful tone, adapted for the audience in Mexico.” These extra constraints will help to improve AI translation quality and create more compelling content.</div></div><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/12/AdobeStock_1845598653.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/AdobeStock_1845598653.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/AdobeStock_1845598653.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/12/AdobeStock_1845598653.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/12/AdobeStock_1845598653.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-provide-iterative-feedback">4. Provide iterative feedback <a class="markdownit-header-anchor" href="#4-provide-iterative-feedback">🔗</a></h3><p>If you keep doing the same and hope for a different outcome, you’re essentially running in circles. And no one enjoys that, especially when interacting with AI. The model keeps behaving the same, your prompts stay the same, yet you still expect something new to happen. At some point, someone has to step off the treadmill.</p><p>That’s where feedback comes in. Your AI model doesn’t “know” it’s stuck in the same place. You need to enlighten it.</p><p><strong>Iterative feedback </strong>is a powerful strategy <a href="https://arxiv.org/html/2504.01931v2">both for agentic and generative AI</a>. It acts as <strong>a micro version of verbalized sampling</strong>: you push the model to re-sample from its wider range. </p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text">For example, you can tell the model: “That’s too generic, write text with a more regional flavor” or “Provide me with three different versions that sound less formal and more creative”.</div></div><p>With these powerful techniques, you can move the model out of its highly probable comfort zone and into uncharted terrain. And that’s the perfect space for AI exploration and human imagination to work together. Unique, creative, and full of unexpected twists.</p>]]></content:encoded>
            <author>Dorota Pawlak</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/12/localazy-AI-series_09.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Bridging the gap with Localazy #4 | 2025 in review]]></title>
            <link>https://localazy.com/blog/bridging-the-gap-with-localazy-4-2025-in-review</link>
            <guid isPermaLink="false">bridging-the-gap-with-localazy-4-2025-in-review</guid>
            <pubDate>Tue, 23 Jun 2026 20:31:02 GMT</pubDate>
            <description><![CDATA[We shipped style guides, taught AI to understand your brand better, and welcomed new faces to the team. If you missed what happened in 2025, here's the full recap. Spoiler: unfiltered moments ahead.]]></description>
            <content:encoded><![CDATA[<p>Well, we just wrapped up a crazy year. AI has been in our faces. Lots of brands have been shipping winning and flopping products. And we've tried to keep up with what our users want without drifting from our core product-building mission (or turning ourselves into an AI wrapper). A real rollercoaster for sure, but with a lot of fun and breakthroughs nonetheless.</p><p>Between the event hopping we've done, our two hackathons, new product updates, and welcoming new faces to our growing team, we've been busy. Let's catch up on the product wins, team growth, life behind the desk and away from it, and what we're building next.</p><h2 id="tldr">⚡ TL;DR <a class="markdownit-header-anchor" href="#tldr">🔗</a></h2><p>🤖 Localazy AI &amp; Style Guides launched: context-aware translations become more accurate / 🎨 Major UI improvements: Dark mode and revamped translation interface / 🔌 Webflow &amp; Strapi v5 integrations / ⚙️ Automations went live: Rule-based workflows for all Autopilot tier customers / 🎙️ 18 podcast episodes across two seasons covering everything, from AI to accessibility / 🎪 Multiple SaaS events &amp; two hackathons  / 👥 Two amazing new team members, Dorian and Michaela / 🤲 Professional translation support expanded</p><h2 id="our-2025-in-numbers">📊 Our 2025 in numbers <a class="markdownit-header-anchor" href="#our-2025-in-numbers">🔗</a></h2><p>This year, we've served thousands of projects across hundreds of languages, achieving <strong>over 200 million processed translations</strong> for 38,000 projects through our platform. Our community has been incredible, from solo SaaS founders to enterprise teams, and we've been fortunate to connect with many of you through podcasts, events, and countless support conversations.</p><h3 id="the-most-popular-target-languages">The most popular target languages <a class="markdownit-header-anchor" href="#the-most-popular-target-languages">🔗</a></h3><p>Our team is deeply focused on product work, so we haven't had much time for analytics. Last year's recap was light on data, but <a href="https://www.linkedin.com/in/david-vaclavek/">David</a>, our full-stack magician &amp; AI engineer, has been working on QA improvements this year that required crunching numbers, and the results are here!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Top-Target-Languages-1.png" class="kg-image" alt="Screenshot 2026-01-05 at 12.51.13.png" loading="lazy" width="1200" height="721" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Top-Target-Languages-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Top-Target-Languages-1.png 1000w, https://ghost.localazy.com/content/images/2026/01/Top-Target-Languages-1.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>When we look at a small sample of translations flowing through our platform in 2025, the data tells a clear story about where teams are expanding now, and where they're heading next.</p><p><strong>European languages dominated at 47% of all translation</strong>s. It turns out that expanding into Germany, France, and Spain is still the go-to move for most teams launching internationally.</p><p>The top 5 languages by translation volume so far are:</p><ol><li>🇫🇷 <strong>French</strong> - 28% market share</li><li>🇩🇪 <strong>German</strong> - 9.8%</li><li>🇪🇸<strong> Spanish</strong> - 8.6%</li><li>🇳🇱 <strong>Dutch</strong> - 3.1%</li><li>🇮🇹<strong> Italian</strong> - 3.4%</li></ol><p>Not very surprising, perhaps. But it gets interesting when you look at the rising stars:</p><ul><li>🇸🇦 <strong>Arabic</strong> jumped to 2.9% market share, signalling serious Middle Eastern expansion plans</li><li>🇵🇱 <strong>Polish</strong> hit 2.8%, confirming what we've been seeing all year: Central Europe is heating up</li><li>🇯🇵 <strong>Japanese</strong> reached 2.6%, showing that Asian markets are becoming harder to ignore</li><li>🇨🇳 <strong>Chinese Simplified</strong> held steady at 2.7%</li><li>🇮🇳 <strong>Hindi</strong> claimed 2.2% of the pie, as India moves up the priority list</li></ul><p>The shift is unmistakable: even though Europe is a major market, teams are looking outside of it as well. If you're still only translating to French, German, and Spanish in 2026, you might want to reconsider your strategy.</p><blockquote><em>🤓 <strong>Throwback:</strong> Back in 2023, the most popular languages on Localazy were German, French, Spanish, Arabic, and Italian, in that order. French has since taken the crown.</em></blockquote><h3 id="industries-we-served-in-2025">Industries we served in 2025 <a class="markdownit-header-anchor" href="#industries-we-served-in-2025">🔗</a></h3><p>Looking at a small diverse subsection of companies using Localazy this year, here's how they break down by industry:</p><ol><li>💻 Software / IT Services - 39.97% (by far our largest segment)</li><li>💼 Finance / Legal / Business Services - 16.46%</li><li>🛒 E-commerce / Retail / Consumer - 10.49%</li><li>🎨 Creative / Design / Digital Media - 10.01%</li><li>⚙️ Industrial / Engineering / Energy - 8.01%</li><li>🎮 Entertainment / Gaming / Culture - 6.48%</li><li>🏥 Healthcare / Life Sciences - 4.51%</li><li>🚗 Automotive / Transport / Logistics - 4.07%</li></ol><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Localazy-Users-by-Industry-1.png" class="kg-image" alt="Screenshot 2026-01-05 at 12.48.29.png" loading="lazy" width="1200" height="721" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Localazy-Users-by-Industry-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Localazy-Users-by-Industry-1.png 1000w, https://ghost.localazy.com/content/images/2026/01/Localazy-Users-by-Industry-1.png 1200w" sizes="(min-width: 720px) 720px"></figure><p><strong>Software dominated at 40%</strong>, and for good reason. Digital products need localization from day one to scale beyond their home market.</p><p>The rest? <strong>Fintech companies and banks</strong> (16.5%), where getting "confirm payment" wrong costs companies real money. <strong>Online stores</strong> (10.5%), where users like<a href="https://localazy.com/case-study/digismoothie" rel="noopener noreferrer nofollow"> Digismoothie</a> found out that checkout buttons need more than word-swapping. <strong>Gaming companies</strong> (6.5%), where bad translations tank your app store rating. And <strong>healthcare apps</strong> (4.5%), where projects like <a href="https://localazy.com/case-study/ifightdepression" rel="noopener noreferrer nofollow">iFightDepression</a> learned you can't run medical content through Google Translate and call it a day.</p><p><strong>HR platforms</strong> like <a href="https://localazy.com/case-study/bryq" rel="noopener noreferrer nofollow">Bryq</a> and <a href="https://localazy.com/case-study/crewplanner" rel="noopener noreferrer nofollow">CrewPlanner</a> also proved localization makes it much easier to provide fairer candidate assessments and efficient team management across 20+ locales.</p><blockquote><em>🔖 Want to read the full stories? Head over to our </em><a href="https://localazy.com/case-study" rel="noopener noreferrer nofollow"><em>case studies section</em></a><em>.</em></blockquote><h2 id="product-updates">Product updates <a class="markdownit-header-anchor" href="#product-updates">🔗</a></h2><p>We shipped a lot of small and big improvements (you can quickly check all the release updates of the year <a href="https://localazy.com/tags/release-update">here</a>). Here's a recap if you missed them!</p><h3 id="ai-and-translations">🤖 AI & Translations <a class="markdownit-header-anchor" href="#ai-and-translations">🔗</a></h3><ul><li><strong>Style Guides</strong>. Remember when you had to email translators a 10-page brand voice doc that they'd ignore half the time? <a href="https://localazy.com/blog/release-update-ai-translation-that-understands-your-audience#:~:text=all%20out%20below!-,%F0%9F%93%9D%20Style%20guides,-%F0%9F%94%97" rel="noopener noreferrer nofollow">Not anymore</a>. Set your tone, formality, and rules once. They'll show up automatically for translators and feed straight into <a href="https://localazy.com/blog/a-practical-guide-to-translating-with-localazy-ai" rel="noopener noreferrer nofollow">Localazy AI.</a></li><li><strong>Localazy AI with brand context</strong>. <a href="https://localazy.com/blog/release-update-ai-translation-that-understands-your-audience#:~:text=the%20documentation.-,%F0%9F%A4%A9%20New%20Localazy%20AI,-%F0%9F%94%97" rel="noopener noreferrer nofollow">AI that actually understands your brand</a>, not just word-swapping. It reads your style guide, follows your glossary, and learns from your existing translations. Not a MT that translates in a robotic tone without considering the context. $0.005 per word for Professional, Autopilot and up.</li><li><strong>Machine translation credits.</strong> <a href="https://localazy.com/blog/release-update-introducing-more-transparent-machine-translation-usage" rel="noopener noreferrer nofollow">Goodbye, mysterious MT caps</a>. Hello, clear credits. You finally know what you're using and what it costs.</li></ul><h3 id="automation-and-workflows">⚙️ Automation & Workflows <a class="markdownit-header-anchor" href="#automation-and-workflows">🔗</a></h3><ul><li><strong>Automations</strong>. <a href="https://localazy.com/blog/release-update-may-2025#new-automations-for-reducing-manual-work:~:text=into%20what%27s%20new!-,%E2%9A%99%EF%B8%8F%20New%20Automations%20for%20reducing%20manual%20work,-%F0%9F%94%97" rel="noopener noreferrer nofollow">Set rules, walk away</a>. Pre-translate new strings, copy between languages, auto-tag content, delete deprecated keys. Available on Autopilot and up. Because why do it manually when a simple automation does it for you?</li><li><strong>Translation priority and tags</strong>.<strong> </strong><a href="https://localazy.com/blog/release-update-january-2025#translation-priority-and-tags:~:text=platform%2Dspecific%20capabilities-,%F0%9F%A7%AD%20New%20navigation%20layout%20available%20for%20a%20test%20flight,-%F0%9F%94%97" rel="noopener noreferrer nofollow">Tag strings, set priorities, filter for focused sessions.</a> Works with Automations so critical updates get fast-tracked while everything else runs in the background.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/01/image--2-.png" class="kg-image" alt="image.png" loading="lazy" title="Set priority levels and tag your source keys (For Autopilot plan users)." width="1465" height="1065" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/image--2-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/image--2-.png 1000w, https://ghost.localazy.com/content/images/2026/01/image--2-.png 1465w" sizes="(min-width: 720px) 720px"><figcaption>Set priority levels and tag your source keys (for Autopilot plan users).</figcaption></figure><h3 id="integrations">🔌 Integrations <a class="markdownit-header-anchor" href="#integrations">🔗</a></h3><ul><li><strong>Webflow</strong>. Finally, we built <a href="https://webflow.com/apps/detail/localazy?category=localization" rel="noopener noreferrer nofollow">an integration that connects to Webflow</a>. You can now translate your Webflow site directly without copy-pasting or breaking your <em>Collections</em> structure.</li><li><strong>Strapi v5</strong>. <a href="https://localazy.com/features/strapi-localization-plugin" rel="noopener noreferrer nofollow">Plugin updated</a> for teams running Strapi's latest version.</li></ul><h3 id="localazy-ui-improvements">🎨 Localazy UI improvements <a class="markdownit-header-anchor" href="#localazy-ui-improvements">🔗</a></h3><ul><li><strong>Dark mode</strong>.<strong> </strong><a href="https://www.linkedin.com/posts/petr-hodny_pov-watching-localazy-users-work-late-into-activity-7391557360093126656-5Zzu?utm_source=social_share_send&amp;utm_medium=member_desktop_web&amp;rcm=ACoAAC0-MjoBWPRop-4_V03JFJEoX9gpn-RV9kI" rel="noopener noreferrer nofollow">Perfect for winter workdays</a> and night owls. For a product built by devs and for devs, we sure took our time shipping this one, but now <a href="https://localazy.com/blog/release-update-dark-mode-available-in-beta" rel="noopener noreferrer nofollow">it's here</a>. 😬 The interface is now comfy on your eyes for late-night translation sessions.</li><li><strong>Navigation redesign</strong>.<strong> </strong>Less blue header, more breathing room for what matters: your actual translations. And we're soon shipping another major redesign to make the interface more intuitive.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/image--3-.png" class="kg-image" alt="image.png" loading="lazy" width="1284" height="695" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/image--3-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/image--3-.png 1000w, https://ghost.localazy.com/content/images/2026/01/image--3-.png 1284w" sizes="(min-width: 720px) 720px"></figure><ul><li><strong>Better progress tracking</strong>.<strong> </strong>We’ve added some useful language bars that show word counts on hover, and clearer bulk action results. The small stuff that adds up when you're managing 15 languages.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/image-8-1.png" class="kg-image" alt="image.png" loading="lazy" width="1040" height="683" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/image-8-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/image-8-1.png 1000w, https://ghost.localazy.com/content/images/2026/01/image-8-1.png 1040w" sizes="(min-width: 720px) 720px"></figure><h3 id="organization">🏷️ Organization <a class="markdownit-header-anchor" href="#organization">🔗</a></h3><ul><li><strong>Ambassador program</strong>. You can now <a href="https://localazy.com/ambassador" rel="noopener noreferrer nofollow">earn points for sharing your user experience</a> (through G2 reviews, LinkedIn posting, case studies, starring our GitHub repos, subscribing to our newsletter, etc.). <a href="https://localazy.com/blog/localazy-ambassador-program-free-localization-features/">Trade them for premium features</a>, donate them to projects you care about, and soon you'll be able to use them to get free translation credits too. We figured, why not reward people who take the time to share their experience with Localazy?</li></ul><h3 id="professional-translation-improvements">🌍 Professional translation improvements <a class="markdownit-header-anchor" href="#professional-translation-improvements">🔗</a></h3><p>We've expanded our <a href="https://localazy.com/features/human-translation-services">human translation services</a> with four more languages this year: Somali, Tigrinya, Punjabi, and Bengali. Not the usual suspects for localization platforms, <strong>but that's exactly why they matter</strong>. Companies expanding into East Africa and South Asia now have native translators ready to go.</p><p>Between human translators covering more languages and a smarter AI that references your brand guidelines, getting quality translations across multiple markets will take you less and less time.</p><h2 id="event-hopping">🎪 Event hopping <a class="markdownit-header-anchor" href="#event-hopping">🔗</a></h2><p>Petr unofficially has accepted his fate as the brand's face, and you'll see him popping up at events more often. In November, we sent him to AppParade vol. 37 in Prague, a community event all about practical AI applications. He <a href="https://www.linkedin.com/posts/petr-hodny_yesterday-i-presented-localazy-at-appparade-activity-7394795959227932672-5dsM?utm_source=social_share_send&amp;utm_medium=member_desktop_web&amp;rcm=ACoAAC0-MjoBWPRop-4_V03JFJEoX9gpn-RV9kI" rel="noopener noreferrer nofollow">showed how our AI handles translations from start to finish</a>, met other app founders figuring out localization, and naturally, we have a picture to prove it happened.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Event-hopping---Petr.jpg" class="kg-image" alt="image.png" loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Event-hopping---Petr.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Event-hopping---Petr.jpg 1000w, https://ghost.localazy.com/content/images/2026/01/Event-hopping---Petr.jpg 1200w" sizes="(min-width: 720px) 720px"></figure><p>We also sent him to <a href="https://www.linkedin.com/posts/petr-hodny_saasmeetup-brnotech-activity-7323294320550178819-VdbW?utm_source=social_share_send&amp;utm_medium=member_desktop_web&amp;rcm=ACoAAC0-MjoBWPRop-4_V03JFJEoX9gpn-RV9kI" rel="noopener noreferrer nofollow">a SaaS meetup in Brno</a>, in an <a href="https://www.linkedin.com/posts/petr-hodny_localization-is-easy-right-just-let-ai-activity-7343186221424107520-saKn?utm_source=social_share_send&amp;utm_medium=member_desktop_web&amp;rcm=ACoAAC0-MjoBWPRop-4_V03JFJEoX9gpn-RV9kI" rel="noopener noreferrer nofollow">event on localization</a> by the Czech Innovation Platform. When <a href="https://www.digifest.cz/rocnik-2025/program/konference/lokalizacni-plany-ktere-rostou-s-vami-pomoci-ai/" rel="noopener noreferrer nofollow">we attended DigiFest.cz</a>, he was supposed to present on ditching Excel and ChatGPT for proper localization tools but caught a cold. Luckily, our Solutions Architect Dan took the stage and delivered the presentation... with a racing heart. There's no better proof of how passionate we are about the work we do that <a href="https://www.linkedin.com/posts/daniel-charvat_digifest2025-localization-activity-7383459855799578625-w_L-?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAC0-MjoBWPRop-4_V03JFJEoX9gpn-RV9kI" rel="noopener noreferrer nofollow">his heart rate</a> during that presentation. 😌</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/image-9.png" class="kg-image" alt loading="lazy" width="1040" height="683" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/image-9.png 1000w, https://ghost.localazy.com/content/images/2026/01/image-9.png 1040w" sizes="(min-width: 720px) 720px"></figure><p>But that wasn't all. We also had two amazing hackathons that were not only fun but also a great time to talk about the product vision in person. The first one was in April at a mountain cottage in Kolštejn, tucked under the Ramzovský saddle in the Jeseníky Mountains. Board games, brainstorming sessions, and plenty of chatting about where Localazy is headed. David couldn't resist a bike ride and Jan, being the runner he is, couldn't help going for a mountain jog, so a few of us tagged along for an intense exploration of the trails nearby too.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/image-10.png" class="kg-image" alt="IMG_4665.jpeg" loading="lazy" width="1061" height="762" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/image-10.png 1000w, https://ghost.localazy.com/content/images/2026/01/image-10.png 1061w" sizes="(min-width: 720px) 720px"></figure><p>The second hackathon happened in November at Vlaštovička in Sobotín. Petr showed up with an entire board game arsenal: Wingspan, Crown of Ash, Dune: War for Arrakis, and backups (he takes his board games seriously).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/01/image-11.png" class="kg-image" alt loading="lazy" width="1055" height="706" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/image-11.png 1000w, https://ghost.localazy.com/content/images/2026/01/image-11.png 1055w" sizes="(min-width: 720px) 720px"><figcaption>Of course Marta brought her polaroid. Some moments deserve analog.</figcaption></figure><p>Between games, we realized our <em>About Us</em> page wasn't good enough. It needed a full revamp, better team intros, Localazy's origin story, updated stats. We left with a plan to make it happen, and now it's about to go live soon.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/01/image-12.png" class="kg-image" alt="image.png" loading="lazy" title="Little i18n-related quiz (it has become a hackathon ritual at this point 🤭)" width="1055" height="706" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/image-12.png 1000w, https://ghost.localazy.com/content/images/2026/01/image-12.png 1055w" sizes="(min-width: 720px) 720px"><figcaption>Little i18n-related quiz facilitated by Ondra (it has become a hackathon ritual at this point 🤭).</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/01/image-13.png" class="kg-image" alt="image.png" loading="lazy" title="Quick brainstorming session." width="1055" height="706" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/image-13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/image-13.png 1000w, https://ghost.localazy.com/content/images/2026/01/image-13.png 1055w" sizes="(min-width: 720px) 720px"><figcaption>Quick brainstorming session.</figcaption></figure><h2 id="team-updates-welcome-aboard-dorian-and-michaela">👥 Team updates: Welcome aboard, Dorian & Michaela! 👋 <a class="markdownit-header-anchor" href="#team-updates-welcome-aboard-dorian-and-michaela">🔗</a></h2><p>Our team grew by two exceptional people in 2025. </p><p>We’ll start with <a href="https://www.linkedin.com/in/dorianmarsalek/" rel="noopener noreferrer nofollow"><strong>Dorian Maršálek</strong></a>, Account Manager &amp; Content Marketing Specialist. Dorian's path to Localazy sounds like that of someone who kept saying "close, but not quite" until the right door opened. He studied English literature and music at Masaryk University in Brno, somehow ended up in sales at BVV Trade Fairs, then worked for two localization agencies before <a href="https://localazy.com/blog/translation-stories-ai-spreadsheets-lessons-from-rebuilding-a-localization-workflow" rel="noopener noreferrer nofollow">landing at Survio as a content and localization specialist</a>.</p><p>Five years later, this September, he shook hands with Vašek and Jakub to join Localazy. When we asked for a photo, he sent two: one with his family, one playing music. "These are what I love the most," he said. Makes sense: he's been playing piano since age 5 and his rock band is about to hit its 20th anniversary. He also loves inline skating, tennis, swimming, biking, and skiing, though he admits family activities are now taking over his sports schedule (half the team nodded in solidarity when they read this. We're a family-oriented bunch, what can we say 🫣).</p><blockquote><em>"Switching to Localazy simply felt like putting on a new coat. The product is great and what makes working at Localazy truly a joy is its team. We work hard but also celebrate wins as friends. I can build on my skills and experience while taking on new challenges that keep broadening my horizons. Everyone is helpful and open to sharing what they know, which makes the work both interactive and enjoyable." </em>Welcome, Dorian!</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Dorian-2.png" class="kg-image" alt="358015525_3548191398758882_4867686789802806774_n.jpg" loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Dorian-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Dorian-2.png 1000w, https://ghost.localazy.com/content/images/2026/01/Dorian-2.png 1200w" sizes="(min-width: 720px) 720px"></figure><p><a href="https://www.linkedin.com/in/michaela-havlikova/" rel="noopener noreferrer nofollow"><strong>Michaela Havlíková</strong></a>, Front-End Developer, joined us this year too. How she got into this field makes for a nice story: she started with making jewelry and sewing home accessories 🧵, creative outlets that eventually led to building her first websites. What began as personal projects turned into a self-taught journey through web development, courses, and more self-learning. She loved working with visuals, details, and user experience, and that naturally pulled her toward front-end development. </p><p>When we asked what she values most about working at Localazy, she didn't hesitate: </p><blockquote><em>"At Localazy, I work closely with several colleagues and truly value the open and friendly communication.</em> <em>My teammates are supportive, helpful, and always willing to share their knowledge, which makes the work both effective and enjoyable. The work itself is diverse, engaging, and meaningful to me."</em></blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Micheala-1.png" class="kg-image" alt="IMG_0316.png" loading="lazy" title="A sightseeing trip around Sicily " width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Micheala-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Micheala-1.png 1000w, https://ghost.localazy.com/content/images/2026/01/Micheala-1.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>She also mentioned our last hackathon in November 🏔️ (the one where Petr brought his board game arsenal). "It was a particularly memorable experience. I met most of my colleagues in person for the first time, and it only confirmed what a human, supportive, and open team we are."</p><p>Outside of work, Michaela reads constantly 📚 (you'll almost always find a book with her), loves traveling, and takes full advantage of remote work. During summer, she often works from Bulgaria by the sea. She also attends tech events and meetups to follow new trends and connect with people who share a passion for technology. Welcome, Michaela! 😄</p><h2 id="word-of-the-year">📖 Word of the year <a class="markdownit-header-anchor" href="#word-of-the-year">🔗</a></h2><blockquote><em><strong>Context</strong> (n.)</em><br><br><em>a. the circumstances that form the setting for an event, statement, or idea</em><br><br><em>b. the parts of something written or spoken that immediately precede and follow a word or passage and clarify its meaning</em><br><br><em>c. the interrelated conditions in which something exists or occurs</em><br><br><em>d. </em><a href="https://localazy.com/dictionary/context" rel="noopener noreferrer nofollow"><em>Information […] that helps […] produce accurate and meaningful translations.</em></a></blockquote><p>If 2025 had a theme, this was it. From Style Guides that give translations brand context and podcast discussions about better localization quality to notes about our vision, <strong>everything came back to this word</strong>. And we bet it's gonna keep being relevant for a long, long time.</p><h2 id="meanwhile-in-real-life">🎉 Meanwhile, in real life… <a class="markdownit-header-anchor" href="#meanwhile-in-real-life">🔗</a></h2><p>Between shipping features and attending events, the team hit some personal milestones. Two weddings, one baby, some travels — the usual stuff when a year flies by.</p><h3 id="vasek-got-married">Vašek got married <a class="markdownit-header-anchor" href="#vasek-got-married">🔗</a></h3><p><a href="https://www.linkedin.com/in/vaclavhodek/">Our CEO</a> got married on July 5th, and of course, the entire team was invited, even though they couldn't all make it. It was a special type of celebration mixing Czech wedding traditions with summer welcoming celebrations: lunch with family, swimming (people brought swimsuits), beach volleyball, activities for kids... There was no formal dress code or making sure we kept a straight face for the sake of it. We're all about substance and less about making it look good. Instead of stressing over gifts, Vašek just asked people to show up and celebrate. That was the main thing. Classic Vašek, practical even on his wedding day.</p><p>And oh, <a href="https://www.linkedin.com/in/martagcoloma/">Marta</a>, being one of the artists on the team, sang the first dance song, which made the special day even more special. 😄</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/K-K-b-transparent.png" class="kg-image" alt="Vasek Wedding.jpg" loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/K-K-b-transparent.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/K-K-b-transparent.png 1000w, https://ghost.localazy.com/content/images/2026/01/K-K-b-transparent.png 1200w" sizes="(min-width: 720px) 720px"></figure><h3 id="more-weddings-births-and-adventures">More weddings, births, and adventures <a class="markdownit-header-anchor" href="#more-weddings-births-and-adventures">🔗</a></h3><p>This was a good year; so good we didn't stop at one wedding. 👀 Our Product Manager <a href="https://www.linkedin.com/in/xbilek18/" rel="noopener noreferrer nofollow">Jan</a> also got married, and we were happy to celebrate with him. It was an eventful year for Jan. He <a href="https://www.linkedin.com/posts/xbilek18_this-is-my-last-week-at-localazy-ive-activity-7403749938016190464-LZp5?utm_source=social_share_send&amp;utm_medium=member_desktop_web&amp;rcm=ACoAAC0-MjoBWPRop-4_V03JFJEoX9gpn-RV9kI" rel="noopener noreferrer nofollow">got an offer to join Snowflake</a> as Product Manager, and the team could not push him to take it. We'll miss him at Localazy, but it's not a forever goodbye. He's part of the team as a friend, not just a colleague, and he'll still show up at our informal events (and hopefully our hackathons, too!).</p><p>Jan spent five years at Localazy, and was with us from the very first line of code, helping make the product decisions that made Localazy the powerful platform you use today. Among his final contributions, he left us with <a href="https://open.substack.com/pub/realproductwork/p/05-moving-to-modern-data-infrastructure?utm_campaign=post-expanded-share&amp;utm_medium=post%20viewer" rel="noopener noreferrer nofollow">data infrastructure</a> we couldn't be prouder of. Good luck at Snowflake, Jan. 🎉</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Jan-s-wedding.jpg" class="kg-image" alt="image.png" loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Jan-s-wedding.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Jan-s-wedding.jpg 1000w, https://ghost.localazy.com/content/images/2026/01/Jan-s-wedding.jpg 1200w" sizes="(min-width: 720px) 720px"></figure><p>And then <a href="https://www.linkedin.com/in/daniel-charvat/">Dan</a> became a dad for the second time. Our Solutions Architect welcomed a baby boy this year. Tomášek came a few days earlier than expected and made his presence known immediately with a "a mighty roar," according to his dad. The team sent love, congratulations, and zero useful advice about sleep.</p><p>And the rest? Our CMO spent the year <a href="https://www.linkedin.com/posts/jakubdubec_localization-ai-activity-7312473266302963734-8XF8?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAC0-MjoBWPRop-4_V03JFJEoX9gpn-RV9kI" rel="noopener noreferrer nofollow">building his own house (literally)</a>. Dan rented an excavator for reasons we're still not entirely clear on. <a href="https://www.linkedin.com/in/ondrej-pucek/">Ondra</a> moved around Europe and attended the Estonian Song and Dance Celebration (Eesti Laulupidu) in Tallinn, that occurs once in five years. <a href="https://www.linkedin.com/in/tibor-panak-2641b7247/">Tibor</a> came back from his long adventure in Vietnam. Jan and <a href="https://www.linkedin.com/in/david-vaclavek/">David</a> hiked in Austria. <a href="https://www.linkedin.com/in/gledjan/">Gled</a> flew in from Albania to join our hackathon and explore Czechia and Austria. <a href="https://www.linkedin.com/in/avishagbukai/">Avi</a> went to Japan. Marta premiered her own music project and played enough concerts this year to make the rest of us look lazy (she took the "loca" in Localazy a bit too seriously, especially after she also went <a href="https://www.linkedin.com/posts/martagcoloma_im-exhausted-exhausted-of-looking-for-the-activity-7399536182960734208-Mcfz?utm_source=social_share_send&amp;utm_medium=member_desktop_web&amp;rcm=ACoAAC0-MjoBWPRop-4_V03JFJEoX9gpn-RV9kI" rel="noopener noreferrer nofollow">LinkedIn-viral on accident</a>.🫣)</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Travels-1.png" class="kg-image" alt="image.png" loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Travels-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Travels-1.png 1000w, https://ghost.localazy.com/content/images/2026/01/Travels-1.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>Some other fun stuff along the same lines: Ondra did his third halfmarathon in Tartu! And Vašek <a href="https://www.linkedin.com/posts/vaclavhodek_gladiatorrace-ocr-obstaclerace-activity-7314942360151359488-rjJ7?utm_source=social_share_send&amp;utm_medium=member_desktop_web&amp;rcm=ACoAAC0-MjoBWPRop-4_V03JFJEoX9gpn-RV9kI" rel="noopener noreferrer nofollow">completed a Gladiator race.</a></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Ondra---Vasek.jpg" class="kg-image" alt="8ac5c1fc177eaef3cc7079fd5164d9cd.jpg" loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Ondra---Vasek.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Ondra---Vasek.jpg 1000w, https://ghost.localazy.com/content/images/2026/01/Ondra---Vasek.jpg 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="top-slack-moments-from-2025">💬 Top Slack moments from 2025 <a class="markdownit-header-anchor" href="#top-slack-moments-from-2025">🔗</a></h2><p>Slack is our big digital roundtable where almost all the conversations about product and life happen. Normally, you can find everything in there, from language-related memes to news articles and research papers. But here are five moments from 2025 that gave us a good laugh. 🤭</p><h3 id="1-the-translation-fail-that-keeps-getting-worse">1. The translation fail that keeps getting worse <a class="markdownit-header-anchor" href="#1-the-translation-fail-that-keeps-getting-worse">🔗</a></h3><p>At the start of 2025, <a href="https://www.linkedin.com/posts/jakubdubec_a-v%C3%ADte-co-j%C3%A1-u%C5%BE-si-posledn%C3%AD-m%C4%9Bs%C3%ADce-myslel-activity-7291941058953826304-cnlT?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAC0-MjoBWPRop-4_V03JFJEoX9gpn-RV9kI" rel="noopener noreferrer nofollow">Jakub wrote a heartfelt post in Czech</a> thanking people who helped him through a rough year. When non-Czech-speaking teammates went to read it, they found that LinkedIn auto-translated a part of it initially as: <em>"It is important to have your Philip, as they say. Heaven itself sent you to me. I hope to pay you back all this one day, including interest. Your insight, a pat on the back when we f*cked."</em> That was supposed to be <em>"when I messed up".</em> 😆</p><p>At the moment of writing this article, we thought LinkedIn might have fixed it. Nope! It got worse. The new version reads: <em>"I've only been sent to heaven by you"</em> and <em>"a pat on the shoulder when we farted."</em> 🤣</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/bukake.jpg" class="kg-image" alt="image.png" loading="lazy" title="Feb 2025" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/bukake.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/bukake.jpg 1000w, https://ghost.localazy.com/content/images/2026/01/bukake.jpg 1200w" sizes="(min-width: 720px) 720px"></figure><p>If this isn't enough proof of why professional translations matter, we don't know what is. Imagine Filip was your client and you translated a piece of communication like this and sent it to him. Yeah, not ideal for business. 🫣</p><h3 id="2-the-kuba-ai-benchmark">2. The "Kuba" AI benchmark <a class="markdownit-header-anchor" href="#2-the-kuba-ai-benchmark">🔗</a></h3><p>After this blooper, Václav dropped a new AI benchmark in Slack. And it's totally valid. We have yet to find a LLM that replicates Jakub's style of writing. His <a href="https://substack.com/@jakedubec" rel="noopener noreferrer nofollow">neurodivergent thinking</a> remains unmatched.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/KUBA-AI-BM.jpg" class="kg-image" alt="image.png" loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/KUBA-AI-BM.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/KUBA-AI-BM.jpg 1000w, https://ghost.localazy.com/content/images/2026/01/KUBA-AI-BM.jpg 1200w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-jans-data-driven-wedding-planning">3. Jan's data-driven wedding planning <a class="markdownit-header-anchor" href="#3-jans-data-driven-wedding-planning">🔗</a></h3><p>Jan shared a weather analysis graph comparing July 12th vs. 19th temperatures and precipitation from 2014-2024. Because why trust intuition when you have historical climate data? Best part? It rained for a while during the wedding despite what ten years of patterns predicted. 😂</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/image-16.png" class="kg-image" alt="Screenshot 2025-12-26 at 16.54.08.png" loading="lazy" width="882" height="768" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/image-16.png 600w, https://ghost.localazy.com/content/images/2026/01/image-16.png 882w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-our-ceo-became-a-spam-magnet">4. Our CEO became a spam magnet <a class="markdownit-header-anchor" href="#4-our-ceo-became-a-spam-magnet">🔗</a></h3><p>Vašek's inbox had a wild year. But we'll show you three handpicked examples: an AI-generated sales email asking if Localazy supports "Esperanto" before pivoting to processor penalties and card disputes. 😳 </p><p>Then someone tried impersonating him to convince an investor to send free AWS credits. At least spam is getting creative? Yet, these AI generated versions aren't yet there. We'll see what 2026 brings.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/AI.png" class="kg-image" alt="Screenshot 2025-12-27 at 15.13.34.png" loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/AI.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/AI.png 1000w, https://ghost.localazy.com/content/images/2026/01/AI.png 1200w" sizes="(min-width: 720px) 720px"></figure><h3 id="5-marta-went-to-prison">5. Marta went to prison <a class="markdownit-header-anchor" href="#5-marta-went-to-prison">🔗</a></h3><p>Marta casually mentioned she went to prison in May. The team had questions. Many questions. Turns out she went there with her gospel choir to perform for the inmates. Getting clearance, going through registration, and preparing for the visit took longer than the actual performance itself. 😅 But standing on that stage and singing for people who rarely get those moments? That made the entire process worthwhile and meaningful.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/image-17.png" class="kg-image" alt="Screenshot 2025-12-27 at 13.17.42.png" loading="lazy" width="600" height="733" srcset="https://ghost.localazy.com/content/images/2026/01/image-17.png 600w"></figure><p>To wrap these Slack moments up, we sure have to mention some of the recaps from other tools we're using. Firstly, we have Riverside, home to all our video assets. 😌 Ondra was the star of the recap as you can see: </p><figure class="kg-card kg-embed-card"><iframe src="https://player.vimeo.com/video/1152145878?app_id=122963" width="240" height="426" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin" title="Riverside 2025 Rewind Top Words: Localazy"></iframe></figure><p>Then, Granola surprised all of its users with their spicy Granola Crunched. Many were impressed. And we were no different. These were some notable recaps. 🤭</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/01/Granola.png" class="kg-image" alt="image.png" loading="lazy" title="From Marta's Granola." width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/Granola.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/01/Granola.png 1000w, https://ghost.localazy.com/content/images/2026/01/Granola.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="our-favorite-content-of-2025">📚 Our favorite content of 2025 <a class="markdownit-header-anchor" href="#our-favorite-content-of-2025">🔗</a></h2><p>We spent a lot of time on Riverside this year. Eighteen podcast episodes later, we're still surprised at how much we actually published. You'll surely find something to listen on the <a href="https://localazy.com/tags/podcast" rel="noopener noreferrer nofollow">full episode list</a>, from AI translation hype to localization metrics and remote work tips, but a few episodes sparked the most internal debate:</p><ul><li><a href="https://localazy.com/blog/automation-should-work-with-your-team-not-against-it-bridging-the-gap-podcast-s02-ep10" rel="noopener noreferrer nofollow">S02, EP10: Automation should work with your team, not against it</a> - How to effectively automate workflows without messing your teams' work.</li><li><a href="https://localazy.com/blog/most-localization-teams-arent-ready-for-ai-workflows-bridging-the-gap-s02-ep08" rel="noopener noreferrer nofollow">S02, EP08: Most localization teams aren't ready for AI workflows</a> - The uncomfortable truth about AI adoption in localization from the perspective of a software engineer and localization specialist.</li><li><a href="https://localazy.com/blog/s01-ep-03-bridging-the-gap-podcast" rel="noopener noreferrer nofollow">S01, EP03: Can LLMs replace translators?</a> - The question everyone's thinking about as AI's capabilities grow further.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/01/image-18.png" class="kg-image" alt="Screenshot 2025-12-28 at 01.47.30.png" loading="lazy" title="The architect behind those 18 podcast episodes, 70+ blogs, and other countless pieces of content. " width="934" height="682" srcset="https://ghost.localazy.com/content/images/size/w600/2026/01/image-18.png 600w, https://ghost.localazy.com/content/images/2026/01/image-18.png 934w" sizes="(min-width: 720px) 720px"><figcaption>The architect behind those 18 podcast episodes, 70+ blogs, and other countless pieces of content.&nbsp;</figcaption></figure><p>Between recording sessions and improving our product, we also collected some solid reads that ended up in our <code>#reading_club</code> Slack channel. The <a href="https://open.substack.com/pub/kylepoyar/p/ai-messaging-study" rel="noopener noreferrer nofollow">AI messaging study from Kyle Poyar</a> touches on the AI bubble and why customers don't care about your AI feature as much as you think they do. We also nerded out over <a href="https://arxiv.org/pdf/2302.14520" rel="noopener noreferrer nofollow">research papers on multilingual AI</a>, <a href="https://arxiv.org/pdf/2410.16246" rel="noopener noreferrer nofollow">machine translation evaluations</a>, and <a href="https://arxiv.org/pdf/2406.07970" rel="noopener noreferrer nofollow">cross-lingual models</a>. The <a href="https://www.mckinsey.com/capabilities/tech-and-ai/our-insights/the-economic-potential-of-generative-ai-the-next-productivity-frontier#industry-impacts" rel="noopener noreferrer nofollow">economic potential of generative AI from McKinsey</a> required multiple breaks to finish, and <a href="https://ai-2027.com/" rel="noopener noreferrer nofollow">AI-2027 predictions</a> were either terrifying or exciting depending on who you asked in Slack.</p><p>Jan's <a href="https://open.substack.com/pub/realproductwork/p/02-team-productivity" rel="noopener noreferrer nofollow">team productivity deep dive</a> about what to do when nothing seems to get done was a much needed reflection. Probably because we've all been there. <a href="https://open.substack.com/pub/fakepixels/p/jevons-paradox-a-personal-perspective" rel="noopener noreferrer nofollow">Jevons Paradox</a> made us rethink efficiency in ways we didn't expect. George Mack's <a href="https://www.highagency.com/" rel="noopener noreferrer nofollow">essay on high agency</a> became required reading; the kind of piece you bookmark and return to when you need a reminder that constraints are often self-imposed. And Jasmine Bina's <a href="https://www.canva.com/design/DAGlTRR_xBg/wIQYizT0cIZq8UH1PwZJUg/view" rel="noopener noreferrer nofollow">90-slide report on psychotechnology</a> is simply a must-read musing on how to think about brand strategy in such unpredictable times.</p><h3 id="our-own-hits">Our own hits <a class="markdownit-header-anchor" href="#our-own-hits">🔗</a></h3><p>We published 70+ articles this year, but we'd like to highlight only a few. <a href="https://localazy.com/blog/how-multilingual-content-improves-share-of-voice-in-generative-search" rel="noopener noreferrer nofollow">How multilingual content improves share of voice in generative search</a> touched on GEO (Generative Engine Optimization) and why localization matters more than ever in AI-powered search. <a href="https://localazy.com/blog/biggest-localization-myths-i-believed-as-a-software-developer" rel="noopener noreferrer nofollow">The biggest localization myths developers believed</a> was a realistic confession of our founder. Our <a href="https://localazy.com/tags/locales" rel="noopener noreferrer nofollow">locale guide series </a>expanded with more expansion advice pieces for markets like <a href="https://localazy.com/blog/entering-the-vietnamese-market-localize-to-convince-in-vietnam">Vietnam</a>, <a href="https://localazy.com/blog/master-japanese-localization-and-adapt-your-brand-to-this-unique-market/">Japan</a> and <a href="https://localazy.com/blog/expanding-to-poland-complete-guide-market-segments-strategies-polish-localization">Poland</a>, just to name a few; and <a href="https://localazy.com/blog/the-future-of-localization-is-lightweight-the-vision-of-a-veteran-localization-engineer" rel="noopener noreferrer nofollow">the future of localization is lightweight</a> laid out why less is often more when it comes to translation tools.</p><h3 id="useful-and-ridiculous-tools-we-found">Useful (and ridiculous) tools we found <a class="markdownit-header-anchor" href="#useful-and-ridiculous-tools-we-found">🔗</a></h3><p>Not everything has to be serious. We came across some fun and some useful websites this year: <a href="https://kickassapp.com/" rel="noopener noreferrer nofollow">Kick Ass</a> lets you literally destroy websites (therapeutic after debugging), <a href="https://meowni.ca/emoji-translate/" rel="noopener noreferrer nofollow">Emoji Translate</a> turns text into emoji madness, and the <a href="https://cmotranslator.com/" rel="noopener noreferrer nofollow">CMO Translator</a> decodes marketing jargon. Could these be the productivity tools you were missing? Debatable. Worth bookmarking? Absolutely.</p><h3 id="bonus-old-school-commercials-that-slap">Bonus: Old-school commercials that slap <a class="markdownit-header-anchor" href="#bonus-old-school-commercials-that-slap">🔗</a></h3><p>We're all obsessed with language and translation, so when Jakub and Petr found these vintage commercials (plus a good ol' Vine) in the wild, we couldn't resist sharing them. A bit harsh for today's marketing culture, maybe. But totally memorable! 😁</p><ul><li><a href="https://youtu.be/7nQ9lmriWOc?si=9XnzY3IYKTPndjA8" rel="noopener noreferrer nofollow">Commercial 1</a></li><li><a href="https://youtu.be/xacdDrylrek?si=9f-Osf_EozspIG-Z" rel="noopener noreferrer nofollow">Commercial 2</a></li><li><a href="https://youtu.be/LR4YV--4PWQ?si=4rV59ln0CWeVVzHq" rel="noopener noreferrer nofollow">Good Ol' Vine </a></li></ul><h2 id="whats-in-store-for-2026">🤔 What's in store for 2026? <a class="markdownit-header-anchor" href="#whats-in-store-for-2026">🔗</a></h2><p>This year we shipped Style Guides, context-aware AI, and better automations. We welcomed Dorian and Michaela, attended events, ran two hackathons, and published 70+ articles plus 18 podcast episodes.</p><p>But we're far from slowing our pace. Because our users needs are evolving and Localazy keeps evolving with them too. Besides focusing on faster translations and stronger integrations, <strong>we are refining translation accuracy and our QA systems</strong>. There's a lot coming in 2026, and with an airtight data infrastructure, growing team, and clearer vision, we're confident we'll ship more features worth the wait.</p><blockquote><em>"With LLMs, good translations got cheaper. More teams went multilingual. Good for users, good for revenue. But the process is still tedious work, and achieving translation quality at scale is not easy. In 2026, we're laser focused on our mission: help teams ship multilingual products with confidence",</em> says our founder, Václav Hodek</blockquote><p>For now, here's something we held back from last year. David <a href="https://www.linkedin.com/posts/david-vaclavek_localazy-timessquare-merrychristmas-activity-7270073776380235777-k-z3?utm_source=social_share_send&amp;utm_medium=member_desktop_web&amp;rcm=ACoAAC0-MjoBWPRop-4_V03JFJEoX9gpn-RV9kI" rel="noopener noreferrer nofollow">surprised the team with this Christmas gift</a>: Localazy lighting up Times Square. We didn't use it then, but it feels right to close this recap with it now. Here's to 2026. 🎉</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/iK8CyDLgx5U?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Localazy on Times Square"></iframe></figure>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/01/BTG4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[A practical guide to translating with Localazy AI]]></title>
            <link>https://localazy.com/blog/a-practical-guide-to-translating-with-localazy-ai</link>
            <guid isPermaLink="false">a-practical-guide-to-translating-with-localazy-ai</guid>
            <pubDate>Wed, 25 Feb 2026 09:15:58 GMT</pubDate>
            <description><![CDATA[Stop wrangling prompts and constantly debugging custom GPT integrations. The new Localazy AI is the result of months of research into what makes LLMs perform better when translating content. Read how to get the best results and translate your software with confidence that nothing breaks.]]></description>
            <content:encoded><![CDATA[<p>What happens when you try to build a custom LLM integration for translating your strings? </p><ul><li>You spend hours refining prompts with your glossary terms... only to have the model ignore half of them. </li><li>Translation quality varies across batches because you're writing a new context prompt each time. </li><li>You end up managing prompt engineering on top of localization, and the cost savings disappear when you factor in the time spent maintaining your integration. </li><li>You're constantly looking out for mistakes and don't have an easy way to fine-tune the results later. </li></ul><p>The solution doesn't lie in trying a different AI model when the results don't work as expected. <strong>What makes the difference is the infrastructure built around it</strong>. </p><p>Our team <a href="https://localazy.com/blog/release-update-ai-translation-that-understands-your-audience/">has spent the past year </a>researching what makes AI a reliable companion in localization. Instead of immediately translating text like a direct API call to an LLM, <strong>it reasons first</strong>. Before touching a single word, <a href="https://localazy.com/dictionary/context/">it collects context from your project</a>, processes that data to understand your specific needs, and then plans the translation approach. And it is an integral part of the translation management platform, so you are always in control of the results and can intervene at any point.</p><p>Read on to learn how to use <a href="https://localazy.com/features/localazy-ai/">Localazy AI</a> effectively as a part of your translation process.</p><h2 id="context-is-still-king">👑 Context is still king <a class="markdownit-header-anchor" href="#context-is-still-king">🔗</a></h2><p>The quality of translations depends on how well the translator understands the source text before they begin. Localazy AI is no different from a human in this regard — <strong>both need context to increase the accuracy and quality</strong> of the resulting translation. </p><p>Localazy AI uses your glossary, style guide, key names, translation notes, comments, and previous translations to reason about what you're translating and how it should sound. Before you translate your strings using it, prepare at least the glossary and style guide to improve results. </p><h3 id="start-with-a-glossary">Start with a glossary <a class="markdownit-header-anchor" href="#start-with-a-glossary">🔗</a></h3><p>Add your product-specific terms and how they should be translated in each language. But don't just list translations. Include descriptions that give the AI and humans a deeper context.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/12/Sni-mek-obrazovky-2025-12-30-v-15.16.02.png" class="kg-image" alt loading="lazy" width="1160" height="720" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/Sni-mek-obrazovky-2025-12-30-v-15.16.02.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/Sni-mek-obrazovky-2025-12-30-v-15.16.02.png 1000w, https://ghost.localazy.com/content/images/2025/12/Sni-mek-obrazovky-2025-12-30-v-15.16.02.png 1160w" sizes="(min-width: 720px) 720px"><figcaption>Glossary term in Localazy.</figcaption></figure><p>📝 What can you include? <strong>Brand names, abbreviations, feature labels, or industry-specific terms</strong>. The glossary lets you define these terms, whether they should be translated or kept as they are, and their target translations in multiple languages.</p><p>The AI uses this information during its reasoning to avoid misinterpreting your terms and to maintain consistent translation.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">📚</div><div class="kg-callout-text">Learn more about the <a href="https://localazy.com/features/glossary">Glossary</a></div></div><h3 id="add-a-project-style-guide">Add a project style guide <a class="markdownit-header-anchor" href="#add-a-project-style-guide">🔗</a></h3><p>Tell the AI whether you want a formal or informal tone, how to handle gender, and what level of technical vocabulary to use. During the reasoning phase, <strong>the AI will consider your style requirements</strong> alongside the text itself.</p><p>Your French marketing copy probably needs a different voice than your German button labels. The <a href="https://testing.localazy.com/features/style-guide">Style guide</a> helps Localazy AI plan the right approach for each piece of content before translation.</p><p><strong>👇 Watch the video below to learn how to set up your style guide</strong>.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/_pOeT36Ls4A?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="How to set up your Style guide in Localazy?"></iframe></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text">The Style guide is also helpful for human reviewers and translators! It's always a good idea to complete it, even if you will rely solely on human contributors for your project.</div></div><h3 id="key-names-and-translation-notes">Key names and translation notes <a class="markdownit-header-anchor" href="#key-names-and-translation-notes">🔗</a></h3><p>A key named <code>reservation-button</code> tells the AI this is a button for reservations before it even looks at the text. <strong>That implicit context helps it reason correctly</strong>. If your key is just <code>book</code>, the AI has nothing to work with.</p><p>Add notes when specific strings need special handling, like: <em>"Use imperative form"</em> or <em>"This appears on the checkout page, keep it short and action-oriented." </em>These notes inform the reasoning process, helping the AI understand not just what to translate but also how the translation will be used.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/12/Sni-mek-obrazovky-2025-12-30-v-15.14.56.png" class="kg-image" alt loading="lazy" width="1174" height="912" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/Sni-mek-obrazovky-2025-12-30-v-15.14.56.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/Sni-mek-obrazovky-2025-12-30-v-15.14.56.png 1000w, https://ghost.localazy.com/content/images/2025/12/Sni-mek-obrazovky-2025-12-30-v-15.14.56.png 1174w" sizes="(min-width: 720px) 720px"><figcaption>Source string with translation note in Localazy.</figcaption></figure><h3 id="conversations-in-comments">Conversations in comments <a class="markdownit-header-anchor" href="#conversations-in-comments">🔗</a></h3><p>When your team discusses a translation, those conversations also become part of the reasoning context. If someone asks, "Is this a verb or a noun?" and you clarify, "infinitive verb, please," <strong>the AI takes that into account </strong>when handling similar strings.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/12/image-1.png" class="kg-image" alt loading="lazy" width="1598" height="746" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/image-1.png 1000w, https://ghost.localazy.com/content/images/2025/12/image-1.png 1598w" sizes="(min-width: 720px) 720px"><figcaption>Translator asking for clarification in comments.</figcaption></figure><h2 id="how-to-use-localazy-ai-in-your-project">💡 How to use Localazy AI in your project? <a class="markdownit-header-anchor" href="#how-to-use-localazy-ai-in-your-project">🔗</a></h2><p>When your context is ready, you can start using the Localazy AI in your translation workflows. </p><p>There are currently two ways to do it, and you might want to use both of them in different contexts. But first, you should top up some <a href="https://localazy.com/docs/general/localazy-credits/">Localazy credits</a>.</p><h3 id="top-up-credits">Top up credits <a class="markdownit-header-anchor" href="#top-up-credits">🔗</a></h3><p>Each <a href="/pricing">subscription plan</a> includes a monthly credit allocation that resets at the start of your billing cycle. The credits included with your subscription help you with day-to-day updates of strings, but if you expect to translate a whole new language or start a new project from scratch, you might want to top up additional credits to cover all of the new words and languages.</p><p>Navigate to the billing section in your organization settings and add credits to your account (<em>Services &gt; Overview &gt; Available credits &gt; Increase</em>). The credits are used to pay for professional, machine, and AI translations altogether. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/12/topup.gif" class="kg-image" alt loading="lazy" width="1280" height="720"></figure><p>Start with $100 if you're testing (that's about 20,000 words), or add more if you're translating larger projects. <strong>Purchased credits don't expire</strong> and work across all your projects.</p><h3 id="translate-in-bulk">Translate in bulk <a class="markdownit-header-anchor" href="#translate-in-bulk">🔗</a></h3><p>Once you have credits, navigate to the Translations screen, select the language you want to translate, and choose "<em>Use Machine Translations</em>" from the context menu.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/02/image-2.png" class="kg-image" alt loading="lazy" width="1206" height="748" srcset="https://ghost.localazy.com/content/images/size/w600/2026/02/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/02/image-2.png 1000w, https://ghost.localazy.com/content/images/2026/02/image-2.png 1206w" sizes="(min-width: 720px) 720px"><figcaption>Bulk AI translation in Localazy.</figcaption></figure><p>Select Localazy AI as your translation method, and the system will process everything with the context you've configured (glossary, style guide, notes).</p><p>This is useful when you're adding a new language to an existing project, translating a batch of new features, or doing your initial translation run.</p><h3 id="automate-it">Automate it <a class="markdownit-header-anchor" href="#automate-it">🔗</a></h3><p>AI translations are most valuable when they happen automatically. Set up <a href="/features/automations">Automation</a> rules: <strong>when new source strings appear, translate them immediately </strong>into your target languages. When a source string changes, retranslate it. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/12/automation-ai.gif" class="kg-image" alt loading="lazy" width="1280" height="720"></figure><p>This pairs naturally with the <a href="/tags/ci">CI/CD integration</a>:</p><ol><li>Your developer merges code with new strings. </li><li>The CI/CD pipeline uploads them to Localazy. </li><li>Localazy AI translates them within the available context. </li><li>The translations get pulled back into your build and can be optionally flagged as "Needs improvement" so a human can review them. </li></ol><p><strong>The whole process runs without anyone thinking about it</strong>.</p><p>You can also set up automations that route specific languages to professional translators, while the rest is handled by AI. Maybe your English-to-Spanish content always goes to humans, but English-to-German uses AI. The Automations handle everything according to your rules.</p><h2 id="review-what-actually-needs-review">👀 Review what actually needs review <a class="markdownit-header-anchor" href="#review-what-actually-needs-review">🔗</a></h2><p>Localazy AI handles the bulk of the work. Your thousands of strings get translated with consistent logic applied across all of them. Translation memory suggests existing translations for similar content. The AI maintains consistency automatically.</p><h3 id="use-priorities-and-tags">Use priorities and tags <a class="markdownit-header-anchor" href="#use-priorities-and-tags">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/12/Sni-mek-obrazovky-2025-12-30-v-14.57.20.png" class="kg-image" alt loading="lazy" width="1296" height="394" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/Sni-mek-obrazovky-2025-12-30-v-14.57.20.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/Sni-mek-obrazovky-2025-12-30-v-14.57.20.png 1000w, https://ghost.localazy.com/content/images/2025/12/Sni-mek-obrazovky-2025-12-30-v-14.57.20.png 1296w" sizes="(min-width: 720px) 720px"><figcaption>Source key priority in Localazy.</figcaption></figure><p>You can set <a href="https://localazy.com/docs/general/priority-and-tags">priorities</a> for your strings based on where they appear, leaving you to review what actually needs attention: customer-facing marketing copy, onboarding flows, and anything where brand voice matters significantly. Technical strings like error messages often ship fine with just AI translation and <a href="https://localazy.com/docs/general/qa-checks">QA checks</a>. Your "File not found" error doesn't require the same level of review as your landing page headline.</p><h3 id="set-up-language-permissions">Set up language permissions <a class="markdownit-header-anchor" href="#set-up-language-permissions">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/12/image.png" class="kg-image" alt loading="lazy" width="594" height="371"><figcaption>Set up language permissions for your reviewers.</figcaption></figure><p>You can also set <a href="https://localazy.com/features/language-permissions">language permissions</a> so your French expert reviews only French, your German expert reviews only German, and so on. They see the source text, the AI translation, relevant context (screenshots, notes, key names), and glossary terms. They can quickly approve good translations and address any adjustments needed.</p><h3 id="review-inside-localazy">Review inside Localazy <a class="markdownit-header-anchor" href="#review-inside-localazy">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/12/Sni-mek-obrazovky-2025-12-30-v-14.53.30.png" class="kg-image" alt loading="lazy" width="2000" height="929" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/Sni-mek-obrazovky-2025-12-30-v-14.53.30.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/Sni-mek-obrazovky-2025-12-30-v-14.53.30.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/12/Sni-mek-obrazovky-2025-12-30-v-14.53.30.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/12/Sni-mek-obrazovky-2025-12-30-v-14.53.30.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>You can also review your AI translations inside Localazy.</figcaption></figure><p>The review interface shows which strings changed recently, which ones have issues flagged by QA checks, and which ones have comments from other team members. You're working through <strong>a focused queue of content that needs your attention</strong>, not sorting through everything.</p><h2 id="ready-to-try-it">✅ Ready to try it? <a class="markdownit-header-anchor" href="#ready-to-try-it">🔗</a></h2><p>I hope this practical guide helps you understand why Localazy AI is different and how to integrate it into your current localization workflows. Go ahead and try it with your content! Remember to set up your style guide and glossary first, so you can see the localization reasoning in action, and let us know what you think.</p><p><strong>We want to hear from you</strong>:</p><blockquote>What's working well? Where are you still spending too much time reviewing? What context would help the AI make better decisions? Your feedback helps us improve Localazy AI for everyone. Reach out through the support chat or share your thoughts at <a href="mailto:feedback@localazy.com">team@localazy.com</a>.</blockquote><h2 id="faqs">🤔 FAQs <a class="markdownit-header-anchor" href="#faqs">🔗</a></h2><h3 id="how-much-does-localazy-ai-translation-cost-per-word">How much does Localazy AI translation cost per word? <a class="markdownit-header-anchor" href="#how-much-does-localazy-ai-translation-cost-per-word">🔗</a></h3><p>The pricing uses a sliding scale where the cost per word decreases as the string gets longer. The price per word is determined by the number of words in the translated strings. A 1-word string would cost $0.008 to translate, while strings of 100 words or more cost as low as $0.0035 per word.</p><h3 id="what-is-the-cost-comparison-with-other-translation-methods">What is the cost comparison with other translation methods? <a class="markdownit-header-anchor" href="#what-is-the-cost-comparison-with-other-translation-methods">🔗</a></h3><p>For context, professional translation via Localazy averages $0.15 per word, which is 30x the cost of AI. While machine translation providers like DeepL and Google Translate are much cheaper per word, they don't work well with software strings, so your placeholders or code markup can break much more frequently. They also can't account for your project context.</p><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th></th>
<th>Localazy AI</th>
<th>Professional human translator</th>
<th>Machine Translation</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Price per word</strong></td>
<td>$0.0035 - $0.008</td>
<td>$0.15</td>
<td>$0.0004</td>
</tr>
<tr>
<td><strong>Cost</strong></td>
<td>💸 Moderate</td>
<td>💰 Highest</td>
<td>🥜 Lowest</td>
</tr>
<tr>
<td><strong>Speed</strong></td>
<td>🚀 Fast</td>
<td>📆 Days to weeks</td>
<td>⚡ Near instant</td>
</tr>
<tr>
<td><strong>Quality</strong></td>
<td>🏅 Context-aware, brand-consistent</td>
<td>🥇 Highest, nuanced translation</td>
<td>🎣 Can be good enough for general content</td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><h3 id="when-should-i-use-each-translation-method">When should I use each translation method? <a class="markdownit-header-anchor" href="#when-should-i-use-each-translation-method">🔗</a></h3><ul><li><strong><a href="https://localazy.com/features/machine-translation/">Machine Translation (DeepL, Google Translate)</a></strong> is the fastest and cheapest option for entering new markets or testing localization. It's useful for assessing whether a market is worth pursuing before investing heavily. The translations need significant post-editing because MT doesn't understand context, breaks placeholders, and produces inconsistent results. But for a first iteration or testing, it gets content out there cheaply. Be prepared for feedback and iterate often. If you are not afraid of the potential risk of misunderstandings, you can just fix the validation issues and ship quickly by using machine translation.</li><li><strong><a href="https://localazy.com/features/localazy-ai/">Localazy AI</a></strong> is what you use for initial iterations and for testing new markets when you want higher quality than basic MT. It reasons through context, preserves placeholders, applies your glossary and style guide automatically, and includes QA checks. Humans can fine-tune the results, but they won't have to fix nearly as many mistakes as with traditional machine translation. The translations come back consistent and context-aware, so your post-editing effort drops significantly. Use this for 80-90% of your content.</li><li><strong><a href="https://localazy.com/features/continuous-localization-team/">Professional human translators</a></strong> are recommended when quality is critical. Use them for customer-facing marketing copy, important landing pages, established markets where brand voice matters, or content where mistakes have consequences. Humans are also still better at understanding cultural nuances and creative wordplay that AI doesn't fully grasp.</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>The practical approach:</strong> Start with Localazy AI for your first iteration. Context-aware translations require less post-editing than basic MT, so you can launch faster. Then decide what needs human polish. Your UI buttons and error messages might ship as-is after quick review. Your homepage headlines and key marketing content get refined by humans. You're testing markets affordably while maintaining quality where it counts.</div></div><p><strong>Remember that you can mix methods within Localazy</strong>. Set up automations that route specific languages or content types to professional translators, while the rest is processed by AI. Automation filters handle routing according to your rules.</p><h3 id="can-i-bring-my-own-token">Can I bring my own token? <a class="markdownit-header-anchor" href="#can-i-bring-my-own-token">🔗</a></h3><p>Currently, you can’t connect your own OpenAI or other LLM provider keys to Localazy AI. The system is built as an integrated service, not an API wrapper.</p><p>If you connected your own tokens, you'd encounter unexpected errors and unpredictable behavior:</p><ul><li><strong>Rate limits vary by tier</strong>. Your OpenAI account might be on a tier with strict limits. Rate limits change between tiers, between models, and based on your usage patterns. This doesn’t apply to Localazy AI.</li><li><strong>Models disappear or change</strong>. If OpenAI deprecates or changes a model's behavior, your integration could break. You will need to update the model manually, regenerate the token, etc. With Localazy AI, we handle model updates and ensure translations remain consistent when underlying models change.</li></ul>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/12/Localazy-AI-in-practice.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Your Korean users can tell you're not Korean (and it costs you 10x revenue)]]></title>
            <link>https://localazy.com/blog/your-korean-users-can-tell-youre-not-korean-and-it-costs-you-10x-revenue</link>
            <guid isPermaLink="false">your-korean-users-can-tell-youre-not-korean-and-it-costs-you-10x-revenue</guid>
            <pubDate>Thu, 18 Jun 2026 13:17:23 GMT</pubDate>
            <description><![CDATA[Details matter in Korean localization. After helping dozens of SaaS companies enter the country, I've seen 90% churn rates driven by seemingly small mistakes in honorifics, punctuation, or tone. Here's what actually works.]]></description>
            <content:encoded><![CDATA[<p>When I first moved to the United States from Korea as a middle schooler, <a href="https://hub.localazy.com/en/regions/kr-south-korea">Korea </a>was not a very well-known country. People thought <em>kimbap</em> was basically sushi, or they didn’t really understand the charm of Korean culture. But starting in the 2010s, Korean culture began making its introduction to the world — from <em>Gangnam Style </em>and<em> </em>BTS, to <em>Parasite</em>, <em>Squid Game</em>, and more. Thanks to these cultural products, <strong>Korean consumer goods also started gaining global attention</strong>, from skincare to food, fashion, and beyond.</p><p>In addition, Korea has attracted significant attention from global companies, especially online services. The country has <strong>a population of <a href="https://www.worldometers.info/world-population/south-korea-population/" rel="noopener noreferrer nofollow"><u>51 million</u></a><u>,</u> with 99% of it using smartphones</strong>, according to Gallup Korea. <a href="https://www.inews365.com/news/article.html?no=801395#:~:text=13%EC%9D%BC%20%ED%95%9C%EA%B5%AD%EC%96%B8%EB%A1%A0%EC%A7%84%ED%9D%A5,%EB%A5%BC%20%EC%9D%B4%EC%9A%A9%ED%95%98%EB%8A%94%20%EA%B2%83%EC%9C%BC%EB%A1%9C%20%EC%A7%91%EA%B3%84%EB%90%90%EB%8B%A4." rel="noopener noreferrer nofollow"><u>Another study</u></a> by the Korean Press Foundation reports that 28.5% of children begin using smartphones at age five or older. This alone shows how early Koreans are exposed to online services, making the country <strong>a highly digital-native society</strong>. Many of my foreign friends often comment on how fast our internet is; perhaps the smartphone penetration and early exposure explain why.</p><p>However, despite the beauty of Korean culture <a href="https://www.weforum.org/stories/2022/01/startups-in-south-korea-are-thriving-this-is-why/">and the country’s active technological environment</a>, entering the market comes with major challenges. Korea has been <strong>a largely homogeneous society for a long time</strong>, and despite the number of foreigners <a href="https://www.koreatimes.co.kr/southkorea/society/20250303/foreign-residents-in-south-korea-hit-all-time-high-account-for-over-5-of-population">hitting an all time high</a>, Korean society is <a href="https://www.hypeman.com.au/stories/south-korea-a-country-with-one-foot-in-the-past-and-one-in-the-future">still learning</a> to accept diversity as part of everyday life.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/12/AdobeStock_1045085132.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/AdobeStock_1045085132.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/AdobeStock_1045085132.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/12/AdobeStock_1045085132.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/12/AdobeStock_1045085132.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>After helping dozens of global web and SaaS companies enter the Korean market, I’ve come to realize that most companies treat translation and localization as the same thing in the Korean market. But it’s not because of a lack of respect for their users: it is due to <strong>limited market knowledge, lack of resources, or an unclear localization strategy</strong>.</p><p>So what should you do to avoid turning potential fans into enemies?</p><h2 id="a-brief-note-about-the-korean-language">🇰🇷 A brief note about the Korean language <a class="markdownit-header-anchor" href="#a-brief-note-about-the-korean-language">🔗</a></h2><p>Before diving into the localization tips, let me quickly summarize some basics about the Korean language. </p><p>Modern Korean originated in the 15th century, when King Sejong created <a href="https://en.wikipedia.org/wiki/Hunminjeongeum">Hunminjeongeum</a>, a scientific writing system designed to increase literacy among common people. Over time, this system evolved into <a href="https://hub.localazy.com/en/scripts/hang-hangul-hangul-hangeul"><strong>Hangul</strong></a>, the script used in Korea today.</p><p><a href="https://hub.localazy.com/en/languages/ko-korean">Korean</a> is the official language of both North and South Korea, but <a href="https://www.bbc.com/news/world-asia-47440041">the two versions differ</a>, especially in vocabulary. South Korean Korean (<em>Hanguk-o</em>) frequently uses English loanwords, while North Korean Korean (<em>Chosŏn-o</em>) replaces them with purely Korean alternatives. A simple example is 🍦 <em>ice cream</em>: 아이스크림 in South Korea vs. 얼음보숭이 in North Korea. It's also important to note that, in South Korea, there are several <em>regional</em> dialects, but the <strong>Seoul (<a href="https://en.wikipedia.org/wiki/Gyeonggi_dialect">Gyeonggi)</a> dialect</strong> is the standard for business and formal communication.</p><blockquote>The most common type of Korean used for commercial relations with the 	South is Hanguk-o, specifically the Gyenonggi dialect from Seoul</blockquote><p>Another key concept is <a href="https://www.wired.com/2016/09/beauty-perils-konglish-korean-english-hybrid/"><strong>Konglish</strong></a>, or Koreanized English (some examples of its use <a href="https://www.youtube.com/watch?v=LnEsyY5PFrw">here</a>). These are English-like words used only in Korea, often seen in business settings, especially in job titles such as <strong>프로젝트 매니저 (project manager)</strong> or <strong>소프트웨어 엔지니어 (software engineer)</strong>. While familiar to Koreans, these terms may not translate directly back into English, which can lead to confusion if not handled carefully.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/12/AdobeStock_140203262.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/AdobeStock_140203262.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/AdobeStock_140203262.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/12/AdobeStock_140203262.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/12/AdobeStock_140203262.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Korean is culturally rich but <strong>layered with dialects, loanwords, and honorifics</strong>. This complexity is exactly why localization (<a href="https://localazy.com/blog/localization-101-basic-concepts-a-beginner-needs-to-know#1-translation-localization-and-transcreation">not just translation</a>) is essential for foreign companies entering Korea. Once you understand the patterns behind how Korean adapts foreign words and expresses hierarchy and context, creating a polished, natural local experience becomes much easier.</p><p>Now, let’s move on to five common localization mistakes foreign companies make when entering Korea.</p><h2 id="the-5-korean-localization-mistakes-i-see-the-most">💬 The 5 Korean localization mistakes I see the most‌‌ <a class="markdownit-header-anchor" href="#the-5-korean-localization-mistakes-i-see-the-most">🔗</a></h2><h3 id="1-leaving-english-text-unlocalized">1. Leaving English text unlocalized <a class="markdownit-header-anchor" href="#1-leaving-english-text-unlocalized">🔗</a></h3><p>In Korea, using English is just not enough. It is important to remember that English is not an official language in the country, so it is very dangerous to assume that every Korean user will fully understand it. ‌‌‌‌In addition, Korean users tend to be highly influenced by early feedback and reviews. <strong>If your product is entirely in English</strong>, chances are you will not only experience a high churn rate but also <strong>receive a significant amount of negative feedback</strong>. And once your first few reviews are negative, turning those detractors into fans becomes extremely difficult.‌‌‌‌</p><p>I've experienced this myself. The CEO of a Korean reward app once called me at 8 p.m. because <strong>they got too many complaints that their products were not fully localized</strong>. Despite having translated most of the basic information, we had left some sections unlocalized, including the original game title. This was not acceptable to the client: they communicated that they would end the contract if the problem was not fixed within that day. As a result, I ended up staying up until 3 a.m. to correct every issue. 📝</p><blockquote>In my experience, companies with properly localized services generate up to 10x more revenue in Korea than those that do not offer them</blockquote><p>‌‌Take another example. One of the companies I worked for managed several Korean advertising campaigns, and I remember one specific product based on a famous American animation IP that performed exceptionally poorly. When I looked into the product, I realized the problem immediately — the texts were not localized at all. The fame of IP could not stop users from leaving, and <strong>this particular product had a 90% churn rate within two weeks</strong>.</p><p>This 90% churn rate and termination of contract could be your data if you don't take Korean localization best practices into account, or if your localization is not done at all (or done poorly).</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/12/Transparent-1-1.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/Transparent-1-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/Transparent-1-1.png 1000w, https://ghost.localazy.com/content/images/2025/12/Transparent-1-1.png 1200w" sizes="(min-width: 1200px) 1200px"></figure><p>While this is less common, some companies offer Korean services with Japanese text. 🤯 Above these lines you can see an example from the fintech app <strong>Wise</strong>. This screenshot, taken by a Korean user based in Korea, shows that the interface appears in Japanese. It is crucial to remember that <strong>Japanese and Korean are very different languages</strong>. Obviously, if the app that is targeted toward Koreans is in Japanese, Korean users will leave as soon as they open it.</p><p>These shows how poor localization can directly impact your reputation in the market. And in my experience, companies with properly localized services generate <strong>up to 10x more revenue</strong> than those that do not.</p><h3 id="2-wrong-or-inconsistent-honorifics">2. Wrong or inconsistent honorifics <a class="markdownit-header-anchor" href="#2-wrong-or-inconsistent-honorifics">🔗</a></h3><p><strong>Honorifics are one of the most common issues I see </strong>when English content is localized into Korean.<strong> </strong>Because English has no grammatical markers for honorifics, the same sentence, like “<em>How are you?</em>”, can be used both for a close friend or a senior manager. But in Korean, this distinction is essential. <strong>The tone you use for a friend must not be used for your boss</strong>, and being <em>too</em> polite can be just as unnatural as being too casual.</p><p>‌‌The same applies to user messaging. Unless you’re targeting teenagers or trying to give a next-door friend vibe, <strong>it is safer to go with a formal version</strong>. Let’s say that you are a UX copywriter for an e-commerce app targeted toward women in their 30s‌‌. Generally, if you’re dealing with adults it is always best to choose the formal register. For example, if you have to translate: "<em>Want to get this later? Save it on your list</em>!", this would be the wrong way to do it:</p><blockquote>❌ Want to get this later? - 나중에 사고 <strong>싶어? </strong>(casual)<br>Save it on your list! - 리스트에 이것을 <strong>저장하세요!<strong> </strong></strong>(formal)</blockquote><p>Why? Because while this targets adults, it uses an informal tone that is not appropriate in the context. How can we make this sound more natural?</p><blockquote> ✅ Want to get this later? - 나중에 구매를 <strong>원하시나요? </strong>(formal)<br>Save it on your list! - 리스트에 <strong>저장하세요!</strong> (formal)</blockquote><p>In this case, <strong>the formality is consistent</strong> - which makes the whole UX flow more naturally.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/12/Transparent-6-1.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/Transparent-6-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/Transparent-6-1.png 1000w, https://ghost.localazy.com/content/images/2025/12/Transparent-6-1.png 1200w" sizes="(min-width: 1200px) 1200px"><figcaption>Sign up page of a reward app.</figcaption></figure><p>Now let’s look at this real world example from a reward app’s sign-up page:</p><blockquote><strong>❌ 거의 다왔어 </strong><em>- Almost there!<strong> </strong>(casual)</em>‌‌<br><strong>당신은 어떤 성별로 생각하시나요? </strong>- <em>What do you think your gender is?<strong> </strong>(formal)</em></blockquote><p>Just like in the example above, in this instance honorific levels don’t match. This inconsistency <strong>immediately signals to Korean users that the product wasn’t created by a Korean team</strong>, and it creates discomfort at the earliest stage of the UX flow.</p><p>How could we fix this?</p><blockquote><strong>✅ 거의 끝났어요 - </strong>Almost there! <em>(formal)</em>‌‌‌‌<br><strong>당신의 성별은 무엇인가요? - </strong>What do you think your gender is? <em>(formal)</em></blockquote><p>The good news is that honorifics in Korean UI writing <strong>have a formula</strong>. In most app contexts, you can safely follow these patterns:</p><ul><li><strong>Commands</strong>: ~하세요‌‌‌‌</li><li><strong>Questions</strong>: ~할까요?, ~하시겠습니까?, ~한가요?‌‌‌‌</li><li><strong>Statements</strong>: ~합니다, ~해요‌‌‌‌</li><li><strong>CTA buttons</strong>: Verb-noun forms like <em>시작</em>, <em>가입</em>, <em>홈으로 이동</em>, etc. ‌‌</li></ul><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/12/Transparent-5-1.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/Transparent-5-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/Transparent-5-1.png 1000w, https://ghost.localazy.com/content/images/2025/12/Transparent-5-1.png 1200w" sizes="(min-width: 1200px) 1200px"><figcaption>"My trip" page from the MyRealTrip app.</figcaption></figure><p>Here’s a well-done example from <strong>MyRealTrip</strong>, a Korean travel app similar to Agoda or Booking.com. The microcopy below the palm trees ends with <strong>-요</strong>, creating a tone that is polite yet friendly, perfect for consumer apps. Meanwhile, the CTA avoids a literal <strong>“<em>go home</em>” </strong>translation (집으로 가세요) and instead uses noun forms like <strong>홈으로 이동 </strong>(<strong><em>"move to home"</em></strong><em>)</em>, which sound much more natural in Korean UI design.</p><h3 id="3-awkwardly-translated-subjects-especially-you">3. Awkwardly translated subjects (especially "you") <a class="markdownit-header-anchor" href="#3-awkwardly-translated-subjects-especially-you">🔗</a></h3><p>Subjects are one of the most mishandled parts in Korean localization, partly because of the level of importance a subject holds in a sentence. In English, you need a subject to form a sentence. In Korean, however, <strong>the subject is often implied</strong>. One of the most common mistakes I see is translating <strong>you</strong> as <strong>귀하</strong>. While politeness matters, <strong>being too polite often creates awkwardness</strong>. 귀하 is used only in official documents, such as terms and conditions. Apps, however, are not meant to sound official; they’re meant to interact naturally with users.</p><p>So how should you approach translating <em>you</em> into Korean without sounding awkward? Two common options:</p><ol><li><strong>Skip the subject entirely</strong>‌‌‌‌.</li><li><strong>Replace “you” with a user-appropriate role</strong> (ex. 고객님, 멤버님, 이용자님).</li></ol><p>Let's take the example below, which is another app sign-up page:</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/12/Transparent-4-1.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/Transparent-4-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/Transparent-4-1.png 1000w, https://ghost.localazy.com/content/images/2025/12/Transparent-4-1.png 1200w" sizes="(min-width: 1200px) 1200px"></figure><p>Do you see the text <strong>“귀하의 이메일”</strong>? This is meant to be <strong>“<em>your e-mail</em>”</strong>. In Korean, a more natural way to phrase this would simply be <strong>“이메일”</strong>,<strong> </strong>which translates to<strong> “e-mail”</strong>. It is already clear that the app is asking for the user’s e-mail address, so explicitly saying “your” is unnecessary.</p><p>The next example shows a better approach from <strong>LinkedIn</strong>. Here, <strong>“you” </strong>is translated as <strong>회원님</strong>, meaning “member,” which fits the platform and sounds natural:</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/12/Four-transparent-6.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/Four-transparent-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/Four-transparent-6.png 1000w, https://ghost.localazy.com/content/images/2025/12/Four-transparent-6.png 1200w" sizes="(min-width: 1200px) 1200px"></figure><p>At the end of the day, <strong>translating “you” into Korean involves understanding how Koreans communicate</strong>, even if you have accurate grammar. If you get this small nuance right, your entire product suddenly feels much more welcoming and familiar to Korean users.‌‌</p><h3 id="4-incorrect-terminology-lack-of-transcreation">4. Incorrect terminology / lack of transcreation <a class="markdownit-header-anchor" href="#4-incorrect-terminology-lack-of-transcreation">🔗</a></h3><p>This is another reason why I strongly discourage companies from solely relying on AI for translation. <strong>While many terms can be directly translated, many others cannot</strong>. In Korean, companies often use abbreviations of English words (e.g., CTA), transliterate the English term into Korean <strong>(e.g., 캐주얼 게임 for “casual game”)</strong>, or create entirely new terminology for branding purposes. Tying this back to what I mentioned earlier, what you find in a dictionary is often <em>not</em> what is commonly used in real-life contexts. And AI cannot reliably catch these nuances. This becomes even more complicated when the content is an internal document, where only an expert can judge which terminology is appropriate.</p><blockquote>Korean terms found in dictionaries are often different from what's used in real-life contexts. You cannot trust AI to catch this: the best solution is to consult a native expert or work with a linguist</blockquote><p>Let’s assume you are translating a sentence for an HR company and encounter the term 🧑🏻‍💼 <strong>“career coach”</strong>. Many times, I see this translated as <strong>“경력 코치”</strong>.<strong> </strong>Is it technically wrong? No. But is it widely used? Also no.</p><p>Then, how can you make sure your internal terminology is correctly localized? Unfortunately, there is no one-size-fits-all answer because each company has different branding, tone, and market context. In these cases, <strong>it’s essential to work with a linguist or native expert who has strong industry knowledge </strong>and can guide you toward consistent, natural terminology.</p><h3 id="5-abuse-of-puntuaction-marks">5. Abuse of puntuaction marks <a class="markdownit-header-anchor" href="#5-abuse-of-puntuaction-marks">🔗</a></h3><p>Korean writing uses punctuation just like English, but not all punctuation marks appear with the same frequency. Two marks that are relatively uncommon (especially in UX or app environments) are <strong>exclamation marks</strong> and <strong>semicolons</strong>. Semicolons rarely appear in Korean interfaces, so let’s focus on exclamation marks.</p><p>I generally recommend that non-native Korean writers<strong> </strong>avoid overusing exclamation marks. They are not “incorrect”, but they must be used sparingly to <strong>avoid sounding overly emotional, unnatural, or foreign</strong>. Korean text is highly context-sensitive, and when an exclamation mark is used in the wrong situation, users can immediately sense that the UX was not designed with the Korean market in mind.</p><blockquote>Korean companies do not use exclamation marks nearly as often as Western companies. Abusing them in your product's UX can sound unnatural</blockquote><p>Below is an example from the <strong><em>Just Dance</em></strong> app:</p><figure class="kg-card kg-image-card"><img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEeKADAAQAAAABAAAC5wAAAAD/wAARCALnBHgDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9sAQwACAgICAgIDAgIDBQMDAwUGBQUFBQYIBgYGBgYICggICAgICAoKCgoKCgoKDAwMDAwMDg4ODg4PDw8PDw8PDw8P/9sAQwECAgIEBAQHBAQHEAsJCxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ/90ABABI/9oADAMBAAIRAxEAPwD+f+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK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rbf/ABqplwVX/nX3s0/1modn+H+Z+mLA+tR8+tfmW/x++LT9dfb8Le3H8o6qv8c/itJ18QzfhHEP5JR/qViP51+JX+s9D+V/h/mfp0c4qFq/MCT4zfE+U/N4huR9CF/kBWZN8UPiLcg+b4kv8HrtuJF/9BIojwNV+1NfiTLimj0iz9T2PBLHAHJNcXrXj/wToCn+19btYGH8Hmh34/2Ey36V+X17r+t6nkajf3FyO/myu+f++iayM88nNdtDgWH/AC8n9yOarxa/sQ+9n3B4s/ac0K0RrfwlZPfzY4mnHlRA+y/fP47a+U/FXjzxN42u/tfiG9acKcpGPliT/dQcD69feuL49KQV9Tl+SYfDa04693ufP4zN61fSb07dBKKKK9Q8sKKKKACiiigAooooA//T/n/ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/1P5/6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9X+f+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/Z" class="kg-image" alt loading="lazy"></figure><p>Take a look at the two texts with exclamation marks: ‌‌</p><blockquote><strong>❌ 위대한 댄스기빙! </strong>- Great Dance-giving!<br><strong>추수감사절과 블랙 프라이데이를 즐겨봐요! </strong>- Enjoy Thanksgiving and Black Friday!</blockquote><p>In English, this sounds perfectly fine. In Korean, however, <strong>it feels awkward</strong>. Why?</p><p>First, Korean companies do not use exclamation marks nearly as often as Western companies. If I had to quantify it, the ratio of sentences with exclamation marks versus those without is roughly 1:9. Exclamation marks may appear at the end of a sentence, but even then, they are not common. Given this, the “<em>Great Dance-giving!</em>” line would have been more natural without the exclamation mark:</p><blockquote> ✅ <strong>위대한 댄스기빙 </strong>- Great Dance-giving<br><strong>추수감사절과 블랙 프라이데이를 즐겨봐요! </strong>- Enjoy Thanksgiving and Black Friday!</blockquote><p>‌Another example comes from the global fintech app <strong>Payoneer</strong>. Take a look at the CTA<strong> “시작합니다!”</strong>, which corresponds to <strong>“</strong><em>Start!</em><strong>”</strong> or “<em>Get Started!":</em></p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/12/Transparent-3-1.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/Transparent-3-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/Transparent-3-1.png 1000w, https://ghost.localazy.com/content/images/2025/12/Transparent-3-1.png 1200w" sizes="(min-width: 1200px) 1200px"><figcaption>Payoneer sign-up page.</figcaption></figure><p>Again, the translation is not incorrect. But, as mentioned earlier, <strong>CTA buttons in Korean typically end with noun forms</strong>, and exclamation marks are generally avoided. In this case,<strong> “시작하기”</strong>,<strong> </strong>which means “<strong>Start</strong>”, would sound much more natural without the exclamation mark.</p><p><strong>The use of punctuation in Korean is highly nuanced</strong>, as shown in these examples. This is why, again, it is crucial to consult with Korean linguists<strong> </strong>who can provide guidance on when certain options should or shouldn't be used.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/12/AdobeStock_1688882939.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/AdobeStock_1688882939.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/AdobeStock_1688882939.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/12/AdobeStock_1688882939.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/12/AdobeStock_1688882939.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="nail-your-messaging-to-succeed-in-korea">🫰Nail your messaging to succeed in Korea <a class="markdownit-header-anchor" href="#nail-your-messaging-to-succeed-in-korea">🔗</a></h2><p>Korean is indeed a very beautiful and culturally rich language, with so many options to express the same concept. At the same time, it is also a highly nuanced tongue, which means that some might find it daunting. However, Korea is <a href="https://data.worldbank.org/indicator/IT.NET.USER.ZS?locations=KR+">one of the most digitally native countries in the world</a>. <strong>If you get the translation right, you are already one step closer to succeeding</strong> there.</p><p>This article mainly discussed some dont's for Korean localization of apps and websites, but in an upcoming article, we'll take a look at some do’s for Korean SaaS localization and discuss the importance of UX in your strategy, including the use of <strong>Naver</strong> and other popular digital platforms.‌‌‌‌ For now, if you want to get your messaging right, I highly suggest <a href="https://localazy.com/features/continuous-localization-team/">taking a look at Localazy’s professional translation services</a>. You can directly order help from a native Korean linguist within their UI, and the rest of the localization workflow can be handled all within the platform, which I find super convenient.</p>]]></content:encoded>
            <author>Joanne Kim</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/06/localazy-locales-Korean.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The future of localization is lightweight: The vision of a veteran localization engineer]]></title>
            <link>https://localazy.com/blog/the-future-of-localization-is-lightweight-the-vision-of-a-veteran-localization-engineer</link>
            <guid isPermaLink="false">the-future-of-localization-is-lightweight-the-vision-of-a-veteran-localization-engineer</guid>
            <pubDate>Tue, 09 Dec 2025 18:03:16 GMT</pubDate>
            <description><![CDATA[The localization industry has quietly split into two camps: comprehensive TMS platforms built for enterprise complexity and lightweight API-first tools designed for developer velocity. How can you identify which philosophy matches your team's structure?]]></description>
            <content:encoded><![CDATA[<p>I've spent over 15 years managing localization, from Red Hat's enterprise documentation ecosystem to building real-time AI translation at <a href="https://www.reservio.com/" rel="noopener noreferrer nofollow"><strong>Reservio</strong></a>. And here's what I’ve learned: <strong>as tools become more feature-rich, they often become less useful</strong> for the teams that need them most. Let me show you why, in localization, less is often more, and when it absolutely isn’t.</p><h2 id="how-i-accidentally-became-a-localization-engineer">🧑🏻‍💻 How I accidentally became a localization engineer <a class="markdownit-header-anchor" href="#how-i-accidentally-became-a-localization-engineer">🔗</a></h2><p>My career as a localization manager started at <a href="https://en.wikipedia.org/wiki/Red_Hat" rel="noopener noreferrer nofollow"><u><strong>Red Hat</strong></u></a>, where I coordinated translators and managed vendor relationships. Their culture demanded technical fluency: everyone had Linux backgrounds, open-source mindsets, and at least some scripting ability. I'd already been writing bash scripts and tinkering with HTML and PHP, so when technical challenges came up that required coding, they landed on my desk.</p><p>In fact, I didn’t set out to become a localization engineer. The role found me as I ended up straddling two worlds: <strong>classical localization management</strong> on one side, <strong>engineering and automation</strong> on the other. My official title never changed, but my actual work shifted dramatically. Instead of assigning translation tasks, I was building <a href="https://about.gitlab.com/topics/ci-cd/" rel="noopener noreferrer nofollow"><u>CI/CD integrations</u></a>. Instead of reviewing translator output, I was training machine translation engines and writing scripts to sync content across platforms, and so on.</p><p>At the moment, I see myself professionally sitting between classical localization management and IT engineering. When you’re processing millions of words across large projects, you can prompt AI quite efficiently to use glossaries and make it translate the way you want. For automation, you need someone who can write scripts to integrate localization tools with code repositories, publication platforms, and dev pipelines. And honestly, I think <strong>this</strong> <strong>blend of localization expertise and engineering mindset</strong> <strong>is the future</strong> of how most localization teams will operate.</p><h2 id="localization-is-splitting-under-the-radar">🛰️ Localization is splitting under the radar <a class="markdownit-header-anchor" href="#localization-is-splitting-under-the-radar">🔗</a></h2><p>Nowadays, we seem to be doing less and less of the usual localization management we used to deal with. Vendor coordination, human translator assignments, quality checks on every string… The traditional workflow is increasingly reserved for specific content types that genuinely need it.</p><p>Marketing campaigns, brand messaging, content that requires transcreation and deep cultural adaptation — those <em>do</em> need seasoned localization managers who know their translators and can guide nuanced creative work. But product documentation, support knowledge bases, or mobile app UI strings that update daily end up being handled by automation. <strong>It simply wins on every metric that matters: speed, cost, and scalability.</strong></p><blockquote>We're doing less and less of the usual localization management we used to deal with. Traditional workflows are increasingly reserved for specific content types that genuinely need it. Product documentation, knowledge bases, or mobile app UI strings end up being handled by automation</blockquote><p>The industry is quietly splitting into two camps, and most people haven't noticed yet. One camp still needs comprehensive TMS platforms with extensive vendor management. The other thrives on <strong>lightweight and API-first tools that integrate seamlessly</strong> with development pipelines. I've worked in both, and the engineering approach is spreading fast.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/12/AdobeStock_191981503.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/AdobeStock_191981503.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/AdobeStock_191981503.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/12/AdobeStock_191981503.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/12/AdobeStock_191981503.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="why-heavy-tools-started-driving-me-crazy">😬 Why ‘heavy’ tools started driving me crazy <a class="markdownit-header-anchor" href="#why-heavy-tools-started-driving-me-crazy">🔗</a></h2><p>A short recollection of <a href="https://en.wikipedia.org/wiki/Memsource" rel="noopener noreferrer nofollow"><u>Memsource</u></a>, now <a href="https://en.wikipedia.org/wiki/Phrase_(software)" rel="noopener noreferrer nofollow"><u>Phrase</u></a>. When I first started using it, I loved it. Clean interface. A well-documented API that looked like a customizable sandbox for my own use case. A simple spreadsheet view with source strings on the left, target strings on the right. Lightweight, fast. Exactly what I needed.</p><p>Then came the evolution. Plugins, proprietary machine translation, integrated AI. Each addition made the platform more "complete" and significantly more expensive. They forced customers toward their own MT engines, <strong>limiting access to alternatives</strong>, and every new feature came with hidden costs and opaque pricing.</p><p>The pattern repeats across the industry: tools add integrations to create value, but each integration becomes a <a href="https://vidyatec.com/blog/why-do-most-integration-platforms-fall-short-of-expectations/" rel="noopener noreferrer nofollow"><u>potential failure point</u></a>. And here's the thing that drove me up the wall: there are always edge cases where integrations don't work.</p><p>That's why I prefer to write my own integrations now. I'll make exceptions for truly excellent connections, such as <a href="https://localazy.com/features/figma-localization-plugin" rel="noopener noreferrer nofollow"><u>Localazy's Figma plugin</u></a> or <a href="https://store.crowdin.com/github/">Crowdin's GitHub integration</a>, both working beautifully in my experience. But for custom CMS connections or publication workflows? I'd rather control it myself.</p><blockquote>Localization tools tend to add integrations to create value that become potential failure points. They also make their platforms more "complete", opaque and expensive, adding features with hidden costs</blockquote><h2 id="lightweight-in-localization-properly-defined">🪶 ‘Lightweight’ in localization properly defined <a class="markdownit-header-anchor" href="#lightweight-in-localization-properly-defined">🔗</a></h2><p>So, as a localization engineer, what am I actually looking for in a localization tool?</p><ul><li><strong>Documented APIs</strong>: If I can't programmatically connect your tool to my development workflow, it doesn't matter how many features you have. API-first architecture is non-negotiable.</li><li><strong>Selective integration</strong>: Do a few things exceptionally well rather than attempting to support everything mediocrely. The best lightweight tools excel at core workflows, not everything imaginable.</li><li><strong>Transparent pricing</strong>: I need to know what I'll pay when processing millions of words across 20 languages. No surprise costs for volume. No forced bundles of proprietary engines.</li></ul><p>Here's what changed my thinking: AI reduced our dependency on traditional TMS features. You can now <strong>prompt AI tools to use glossaries effectively</strong> and you’re done. Previously, it required sophisticated term bases and translation memory systems. Now, a well-structured prompt achieves the same result.</p><p>In addition, <a href="https://juliadiez.substack.com/p/vibe-code-like-a-linguist">vibe coding</a> made programming available to anyone with a basic technical skillset. You can now build your own basic integration, write a Python script to process large data sets, or create a bash script for a server to communicate with your Slack channel.</p><p>TMS tools, however, are <strong>still essential when you need to collaborate with human translators</strong>. At Reservio, even though AI handles initial translation, our TMS provides the interface for human QA. Translators see strings in context and can correct them directly. That workflow still needs a proper platform.</p><h3 id="the-tools-that-actually-work">The tools that actually work <a class="markdownit-header-anchor" href="#the-tools-that-actually-work">🔗</a></h3><p>To me, the lightweight philosophy is embodied perfectly in <a href="https://localazy.com/" rel="noopener noreferrer nofollow">Localazy</a>, together with a couple other tools, like <a href="https://es.wikipedia.org/wiki/Crowdin" rel="noopener noreferrer nofollow">Crowdin</a>, that excel at what matters: <strong>documented APIs</strong> that let engineers build custom integrations, <strong>selective excellence</strong> in core workflows rather than mediocre support for everything, and <strong>transparent pricing</strong> that makes sense at scale. And implementation is fast. If you need to switch tools or add a second platform, it's a week of engineering work, not a migration project.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/12/Easy-Automations.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2025/12/Easy-Automations.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/12/Easy-Automations.png 1000w, https://ghost.localazy.com/content/images/2025/12/Easy-Automations.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="my-choice-a-split-strategy">👉 My choice: a split strategy <a class="markdownit-header-anchor" href="#my-choice-a-split-strategy">🔗</a></h2><p>My advice is that you don't have to choose one approach for everything. I use lightweight tools for product documentation and UI strings and traditional workflows for marketing campaigns that need transcreation. <strong>The content type usually dictates the treatment</strong>.</p><p>Before choosing tools or workflows, it is important to answer the following questions:</p><h3 id="whats-your-primary-content-type">What's your primary content type?  <a class="markdownit-header-anchor" href="#whats-your-primary-content-type">🔗</a></h3><p>Technical documentation, knowledge bases, and UI strings? Go lightweight. Marketing campaigns, brand-critical creative content, or highly specialized fields like legal or medical? Traditional workflows will likely serve you better.</p><h3 id="whats-your-update-frequency">What's your update frequency?  <a class="markdownit-header-anchor" href="#whats-your-update-frequency">🔗</a></h3><p>Daily deployments? Real-time AI makes sense. Monthly releases? You have time for human cycles.</p><h3 id="whats-your-volume">What's your volume?  <a class="markdownit-header-anchor" href="#whats-your-volume">🔗</a></h3><p>Millions of words across dozens of languages? Automation becomes economically necessary. Tens of thousands of words in 3-4 languages? Human translation and/or review remains cost-effective.</p><h3 id="whats-your-team-composition">What's your team composition?  <a class="markdownit-header-anchor" href="#whats-your-team-composition">🔗</a></h3><p>Engineers managing localization? Lightweight tools align with their workflows. Traditional localization managers? They'll need comprehensive platforms.</p><h2 id="build-systems-that-scale-not-just-survive">💪 Build systems that scale, not just survive <a class="markdownit-header-anchor" href="#build-systems-that-scale-not-just-survive">🔗</a></h2><p>A common pattern I see is treating localization as a translation problem when it's actually a system problem. Your localization workflow should match your actual constraints, not some idealized best practice. The hard part isn't choosing between lightweight and heavyweight tools. It's <strong>recognizing what your content actually needs</strong> and having the courage to build different workflows for different use cases.</p><p>And it’s not about doing less work, either. It's about <strong>doing the right work at the right time with the right tools</strong>, where AI acts as a force multiplier, not a replacement. Its job is to handle volume so humans can focus on nuance. It enables speed so quality assurance can happen thoughtfully rather than frantically. It reduces costs so you can afford expert review where it actually matters.</p><blockquote>Your localization workflow should match your actual constraints, not some idealized best practice. You need to recognize what your content needs and build different workflows for different use cases</blockquote><p>Early in my career, I thought success meant finding the perfect tool or the best translators. Now I know it's about <strong>building processes that don't break under pressure</strong>.</p><h3 id="a-note-about-localazys-lightweight-philosophy">💙 A note about Localazy's lightweight philosophy <a class="markdownit-header-anchor" href="#a-note-about-localazys-lightweight-philosophy">🔗</a></h3><p>In the words of the Localazy CEO, <a href="https://www.linkedin.com/in/vaclavhodek/">Václav Hodek</a>... ⬇️</p><blockquote><em>"We build Localazy around a simple principle: <strong>AI handles volume so humans can focus on detail</strong>. A functional TMS shouldn’t be a bottleneck. It should drive the localization process forward. </em><br><br><em>The real value of localization isn’t in handling files or running automatic translations. Any modern TMS can do that. The real value is enabling collaboration between translators, developers, and reviewers to deliver translations your users can trust.</em><br><br><em>Localazy takes care of the entire localization infrastructure. Configure the workflow once, define quality gates, set translation triggers, specify who reviews what, and Localazy runs it automatically. Your localization team handles context, nuance, and quality, while you stay focused on building your product and shipping features without interruption. This gives you translation management that doesn't slow development and full control over the automation. Tools coordinate both AI and human translators without requiring your attention. </em><br><br><em>Lightweight doesn't mean fragile. It means intentional."</em></blockquote>]]></content:encoded>
            <author>Luděk Janda</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/12/The-future-of-localization-is-lightweight--the-vision-of-a-veteran-localization-engineer.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Guide to translating Angular apps with ngx-translate | Part 2: App logic 📲]]></title>
            <link>https://localazy.com/blog/guide-to-translate-angular-apps-with-ngx-translate-app-logic</link>
            <guid isPermaLink="false">guide-to-translate-angular-apps-with-ngx-translate-app-logic</guid>
            <pubDate>Tue, 02 Dec 2025 14:59:31 GMT</pubDate>
            <description><![CDATA[After setting up runtime i18n, translation loading, and Tailwind styling in Part 1, it’s time to bring our Angular invoice app to life. We'll create, edit, and manage invoices while keeping everything translation-ready for full localization with Localazy later on.]]></description>
            <content:encoded><![CDATA[<p>Now that <a href="https://localazy.com/blog/guide-to-translate-angular-apps-with-ngx-translate-foundations">the groundwork is done</a> and i18n is configured, Tailwind is in place, and our Angular app is ready, it’s time to make things happen.</p><p>In this part, we’ll focus on functionality. <strong>You’ll build a complete invoice dashboard</strong> where users can create, edit, view, and delete invoices. <strong>We’ll also add handy features like printing, exporting, and importing</strong>, all while keeping the app clean, reactive, and localization-friendly.</p><p>By the end of this section, your app will display placeholders and will feel alive, interactive, and ready for multilingual support when we integrate Localazy in the final part.</p><h2 id="1-step-1-build-the-dashboard">1️⃣ Step 1: Build the dashboard <a class="markdownit-header-anchor" href="#1-step-1-build-the-dashboard">🔗</a></h2><p>You’ll scaffold a dashboard screen as the app’s first view, then plug in a minimal Tailwind/i18n template.</p><h3 id="1-generate-the-dashboard-component">1. Generate the dashboard component <a class="markdownit-header-anchor" href="#1-generate-the-dashboard-component">🔗</a></h3><p>Run this command from your project root:</p><pre><code class="language-bash">npm run ng -- generate component features/dashboard --standalone
</code></pre><p>Angular CLI scaffolds the component under <code>src/app/features/dashboard/</code>:</p><pre><code>dashboard.component.ts      // Component logic (TypeScript)
dashboard.component.html     // Template for layout &amp; i18n text
dashboard.component.scss     // Local styling (will use Tailwind classes)
</code></pre><p>It also wires the component for standalone use.</p><h3 id="2-implementing-the-dashboard-component">2. Implementing the dashboard component <a class="markdownit-header-anchor" href="#2-implementing-the-dashboard-component">🔗</a></h3><p>Next, let's implement the component:</p><p><strong><code>src/app/features/dashboard/dashboard.component.ts</code></strong></p><pre><code class="language-tsx">import { Component, ChangeDetectionStrategy } from '@angular/core';
import { RouterModule } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';

@Component({
  selector: 'app-dashboard',
  standalone: true,
  imports: [RouterModule, TranslateModule],
  templateUrl: './dashboard.component.html',
  styleUrls: ['./dashboard.component.scss'],
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class DashboardComponent {}
</code></pre><p><strong><code>src/app/features/dashboard/dashboard.component.html</code></strong></p><pre><code class="language-html">&lt;section class="max-w-5xl mx-auto p-6"&gt;
  &lt;header class="flex items-center gap-3 mb-6"&gt;
    &lt;h2 class="text-2xl font-semibold"&gt;{{ 'dashboard.title' | translate }}&lt;/h2&gt;
    &lt;a routerLink="/invoice/new" class="btn ml-auto"&gt;
      {{ 'invoice.actions.create' | translate }}
    &lt;/a&gt;
  &lt;/header&gt;

  &lt;div class="rounded-xl border border-dashed p-8 text-gray-600"&gt;
    {{ 'dashboard.empty' | translate }}
  &lt;/div&gt;
&lt;/section&gt;
</code></pre><h3 id="3-invoice-edit-component">3. Invoice Edit component <a class="markdownit-header-anchor" href="#3-invoice-edit-component">🔗</a></h3><p>We’ll now create the <strong>Invoice Edit view</strong>, wire up its template, add the needed i18n keys, and define <a href="https://angular.dev/reference/migrations/route-lazy-loading" rel="noopener noreferrer">lazy-loaded routes</a> for a lightweight Angular app. Generate the standalone component first, then replace its files with the code below.</p><p><strong><code>src/app/features/invoice-edit/invoice-edit.component.ts</code></strong></p><pre><code class="language-tsx">import { Component, ChangeDetectionStrategy } from '@angular/core';
import { RouterModule } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';

@Component({
  selector: 'app-invoice-edit',
  standalone: true,
  imports: [RouterModule, TranslateModule],
  templateUrl: './invoice-edit.component.html',
  styleUrls: ['./invoice-edit.component.scss'],
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class InvoiceEditComponent {}
</code></pre><p>Like the dashboard, this component uses Angular’s standalone API, importing both the <code>RouterModule</code> and <code>TranslateModule</code> directly. The <code>OnPush</code> change detection keeps the UI performant as the project scales with invoice forms and API data.</p><p><strong><code>src/app/features/invoice-edit/invoice-edit.component.html</code></strong></p><pre><code class="language-html">&lt;section class="max-w-3xl mx-auto p-6 space-y-4"&gt;
  &lt;h2 class="text-2xl font-semibold"&gt;{{ 'invoice.edit.title' | translate }}&lt;/h2&gt;
  &lt;p class="text-gray-600"&gt;{{ 'invoice.edit.placeholder' | translate }}&lt;/p&gt;

  &lt;a routerLink="/" class="btn-secondary inline-flex items-center"&gt;
    {{ 'nav.back' | translate }}
  &lt;/a&gt;
&lt;/section&gt;
</code></pre><h3 id="4-add-translation-keys">4. Add translation keys <a class="markdownit-header-anchor" href="#4-add-translation-keys">🔗</a></h3><p>Place these in <strong><code>public/assets/i18n/</code></strong> so <strong>ngx-translate</strong> (and later Localazy) can sync them.</p><p><strong><code>public/assets/i18n/en.json</code></strong></p><pre><code class="language-json">{
  "app": {
    "title": "Welcome to Your Invoice &amp; Expense Tracker",
  },
  "dashboard": {
    "title": "Dashboard",
    "empty": "No invoices yet. Create your first invoice."
  },
  "invoice": {
    "edit": {
      "title": "New Invoice",
      "placeholder": "Form coming next."
    },
    "actions": {
      "create": "Create Invoice"
    }
  },
  "nav": {
    "back": "Back"
  }
}
</code></pre><p><strong><code>public/assets/i18n/fr.json</code></strong></p><pre><code class="language-json">{
  "app": {
    "title": "Bienvenue dans votre outil de suivi des factures et des dépenses",
  },
  "dashboard": {
    "title": "Tableau de bord",
    "empty": "Aucune facture pour le moment. Créez votre première facture."
  },
  "invoice": {
    "edit": {
      "title": "Nouvelle facture",
      "placeholder": "Formulaire à venir."
    },
    "actions": {
      "create": "Créer une facture"
    }
  },
  "nav": {
    "back": "Retour"
  }
}
</code></pre><h3 id="5-define-routes-with-lazy-loading">5. Define routes with lazy loading <a class="markdownit-header-anchor" href="#5-define-routes-with-lazy-loading">🔗</a></h3><p>Create/update <strong><code>src/app/app.routes.ts</code></strong> to lazy-load screens. See Angular Router docs for reference: angular.dev &gt; Guide &gt; Router.</p><pre><code class="language-tsx">import { Routes } from '@angular/router';

export const routes: Routes = [
  {
    path: '',
    pathMatch: 'full',
    loadComponent: () =&gt;
      import('./features/dashboard/dashboard.component').then(m =&gt; m.DashboardComponent),
  },
  {
    path: 'invoice/new',
    loadComponent: () =&gt;
      import('./features/invoice-edit/invoice-edit.component').then(m =&gt; m.InvoiceEditComponent),
  },
  {
    path: 'invoice/:id',
    loadComponent: () =&gt;
      import('./features/invoice-edit/invoice-edit.component').then(m =&gt; m.InvoiceEditComponent),
  },
  { path: '**', redirectTo: '' },
];
</code></pre><p>This routing setup ensures that:</p><ul><li><code>/</code> loads the <strong>Dashboard</strong> (your main screen).</li><li><code>/invoice/new</code> opens the <strong>Invoice Editor</strong> for creating a new invoice.</li><li><code>/invoice/:id</code> reuses the same component for editing an existing invoice.</li><li>Any undefined route gracefully redirects back to the Dashboard.</li></ul><h3 id="6-run-and-verify">6. Run & verify <a class="markdownit-header-anchor" href="#6-run-and-verify">🔗</a></h3><p>Start your local server to check that everything works:</p><pre><code class="language-bash">npm start
</code></pre><p>Then open <strong><a href="http://localhost:4200/">http://localhost:4200</a></strong> and verify that:</p><ul><li>The Dashboard loads with a localized title and <strong>Create Invoice</strong> button.</li><li>By clicking, it opens the <strong>Invoice Edit</strong> screen with the <strong>Back</strong> button styled using <code>.btn-secondary</code>.</li><li>Text is updated when switching languages, confirming that <strong>ngx-translate</strong> and <strong>Tailwind</strong> have been correctly integrated.</li></ul><h2 id="2-step-2-set-up-the-invoice-models-and-store">2️⃣ Step 2: Set up the invoice models and store <a class="markdownit-header-anchor" href="#2-step-2-set-up-the-invoice-models-and-store">🔗</a></h2><p>Define the app’s data layer so the UI and i18n stay clean. We’ll model invoices and line items first, then wire a lightweight store next.</p><h3 id="1-create-the-models">1. Create the models <a class="markdownit-header-anchor" href="#1-create-the-models">🔗</a></h3><p>Start by defining the core data structures that your invoice app will use: invoices, line items, and their statuses. These models form the foundation of your store and components.</p><p>File: <code><strong>src/app/core/models/invoice.model.ts</strong></code></p><pre><code class="language-tsx">export type InvoiceStatus = 'draft' | 'sent' | 'paid';

export interface LineItem {
  id: string;
  description: string;
  quantity: number;
  unitPrice: number;
  taxRate?: number;
  discountRate?: number;
}

export interface Invoice {
  id: string;
  number: string;
  clientName: string;
  clientEmail?: string;
  issueDate: string;
  dueDate?: string;
  currency: string;
  items: LineItem[];
  notes?: string;
  status: InvoiceStatus;
  createdAt: string;
  updatedAt: string;
}
</code></pre><p>These models define the structure of invoices and line items, ensuring consistent data handling across components and simplifying integration with the store.</p><h3 id="2-create-the-signal-based-store-with-persistence">2. Create the Signal-based store with Persistence <a class="markdownit-header-anchor" href="#2-create-the-signal-based-store-with-persistence">🔗</a></h3><p>Use Angular <strong>signals</strong> to manage the invoice state without extra libraries. This store exposes reactive selectors (via <code>computed</code>), persists to <code>localStorage</code> with an <code>effect</code>, and keeps your components lean.</p><p><code><strong>src/app/core/stores/invoice.store.ts</strong></code></p><pre><code>import { Injectable, computed, effect, signal } from '@angular/core';
import { Invoice, InvoiceStatus, LineItem } from '../models/invoice.model';

const STORAGE_KEY = 'invoice.store.v1';

function nowIso() { return new Date().toISOString(); }
function newId()  { return (globalThis.crypto?.randomUUID?.() ?? Math.random().toString(36).slice(2)); }

function calcLineTotal(li: LineItem): number {
  const qty = Math.max(0, li.quantity || 0);
  const price = Math.max(0, li.unitPrice || 0);
  const preTax = qty * price;
  const discount = li.discountRate ? preTax * (li.discountRate / 100) : 0;
  const afterDiscount = preTax - discount;
  const tax = li.taxRate ? afterDiscount * (li.taxRate / 100) : 0;
  return +(afterDiscount + tax).toFixed(2);
}

function calcInvoiceTotal(inv: Invoice): number {
  return +inv.items.reduce((sum, li) =&gt; sum + calcLineTotal(li), 0).toFixed(2);
}

function load(): Invoice[] {
  try {
    const raw = localStorage.getItem(STORAGE_KEY);
    if (!raw) return [];
    const parsed = JSON.parse(raw) as Invoice[];
    // basic sanity
    return Array.isArray(parsed) ? parsed : [];
  } catch {
    return [];
  }
}

@Injectable({ providedIn: 'root' })
export class InvoiceStore {
  private readonly _invoices = signal&lt;Invoice[]&gt;(load());

  // Persist to localStorage on change
  private readonly _persist = effect(() =&gt; {
    const value = JSON.stringify(this._invoices());
    localStorage.setItem(STORAGE_KEY, value);
  });

  // Selectors
  readonly invoices = this._invoices.asReadonly();
  totalCount = computed(() =&gt; this._invoices().length);
  totalByStatus = (status: InvoiceStatus) =&gt; computed(
    () =&gt; this._invoices().filter(i =&gt; i.status === status).length
  );
  byId = (id: string) =&gt; computed(() =&gt; this._invoices().find(i =&gt; i.id === id) || null);
  totalAmount = (id: string) =&gt; computed(() =&gt; {
    const inv = this._invoices().find(i =&gt; i.id === id);
    return inv ? calcInvoiceTotal(inv) : 0;
  });

  // Mutations
  createDraft(partial?: Partial&lt;Invoice&gt;): Invoice {
    const id = newId();
    const created = nowIso();
    const number = this.nextNumber();
    const invoice: Invoice = {
      id,
      number,
      clientName: partial?.clientName ?? '',
      clientEmail: partial?.clientEmail,
      issueDate: partial?.issueDate ?? new Date().toISOString().slice(0, 10),
      dueDate: partial?.dueDate,
      currency: partial?.currency ?? 'USD',
      items: partial?.items ?? [this.newLineItem()],
      notes: partial?.notes,
      status: partial?.status ?? 'draft',
      createdAt: created,
      updatedAt: created,
    };
    this._invoices.update(arr =&gt; [invoice, ...arr]);
    return invoice;
  }

  update(id: string, changes: Partial&lt;Invoice&gt;): void {
    this._invoices.update(arr =&gt;
      arr.map(inv =&gt; inv.id === id ? { ...inv, ...changes, updatedAt: nowIso() } : inv)
    );
  }

  remove(id: string): void {
    this._invoices.update(arr =&gt; arr.filter(inv =&gt; inv.id !== id));
  }

  // ---- Line item helpers
  newLineItem(): LineItem {
    return { id: newId(), description: '', quantity: 1, unitPrice: 0, taxRate: 0, discountRate: 0 };
  }

  addLineItem(invoiceId: string, li?: Partial&lt;LineItem&gt;): void {
    this._invoices.update(arr =&gt;
      arr.map(inv =&gt; inv.id === invoiceId
        ? { ...inv, items: [{ ...this.newLineItem(), ...li, id: newId() }, ...inv.items], updatedAt: nowIso() }
        : inv
      )
    );
  }

  updateLineItem(invoiceId: string, itemId: string, changes: Partial&lt;LineItem&gt;): void {
    this._invoices.update(arr =&gt;
      arr.map(inv =&gt; {
        if (inv.id !== invoiceId) return inv;
        const items = inv.items.map(it =&gt; it.id === itemId ? { ...it, ...changes } : it);
        return { ...inv, items, updatedAt: nowIso() };
      })
    );
  }

  removeLineItem(invoiceId: string, itemId: string): void {
    this._invoices.update(arr =&gt;
      arr.map(inv =&gt; {
        if (inv.id !== invoiceId) return inv;
        const items = inv.items.filter(it =&gt; it.id !== itemId);
        return { ...inv, items, updatedAt: nowIso() };
      })
    );
  }

  setStatus(id: string, status: InvoiceStatus) {
    this.update(id, { status });
  }

  // Utilities
  private nextNumber(): string {
    const seq = this._invoices().length + 1;
    return `INV-${String(seq).padStart(4, '0')}`;
  }
}</code></pre><p>This setup lets you handle invoices in real time while keeping data in sync across sessions.</p><p>Because it’s based on Angular’s built-in reactivity, <strong>the store stays small, fast, and ready to scale</strong> alongside your localized UI managed with ngx-translate and Localazy.</p><h3 id="3-add-i18n-keys-for-statuses">3. Add i18n keys for statuses <a class="markdownit-header-anchor" href="#3-add-i18n-keys-for-statuses">🔗</a></h3><p>Before displaying invoice statuses in the UI, define their localized labels.</p><p>This ensures values like <strong>Draft</strong>, <strong>Sent</strong>, and <strong>Paid</strong> are translated dynamically in any language your app supports.</p><p><code>public/assets/i18n/en.json</code></p><pre><code class="language-json">{
  "status": {
    "draft": "Draft",
    "sent": "Sent",
    "paid": "Paid"
  }
}
</code></pre><p><code>public/assets/i18n/fr.json</code></p><pre><code class="language-json">{
  "status": {
    "draft": "Brouillon",
    "sent": "Envoyée",
    "paid": "Payée"
  }
}
</code></pre><h3 id="4-update-the-dashboard-component-to-read-from-the-store">4. Update the dashboard component to read from the store <a class="markdownit-header-anchor" href="#4-update-the-dashboard-component-to-read-from-the-store">🔗</a></h3><p>Now that your store is ready, <strong>update the dashboard to pull invoice data directly from it</strong>. This step lets you display stored invoices, totals, and statuses with live updates.</p><p>File: <code><strong>src/app/features/dashboard/dashboard.component.ts</strong></code></p><pre><code>import { Component, ChangeDetectionStrategy, inject } from '@angular/core';
import { RouterModule } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { CurrencyPipe, DatePipe } from '@angular/common';
import { InvoiceStore } from '../../core/stores/invoice.store';
import { Invoice } from '../../core/models/invoice.model';

@Component({
  selector: 'app-dashboard',
  standalone: true,
  imports: [RouterModule, TranslateModule, CurrencyPipe, DatePipe],
  templateUrl: './dashboard.component.html',
  styleUrls: ['./dashboard.component.scss'],
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class DashboardComponent {
  private readonly store = inject(InvoiceStore);
  invoices = this.store.invoices; // signal&lt;Invoice[]&gt;

  // demo: create a draft quickly
  createSample() {
    this.store.createDraft({
      clientName: 'Acme Corp',
      currency: 'USD',
      items: [
        { id: crypto.randomUUID(), description: 'Design work', quantity: 3, unitPrice: 120, taxRate: 10 },
      ],
      status: 'draft',
    });
  }

  total(inv: Invoice): number {
    // Avoid recomputing across the list by using store.totalAmount(inv.id) if you prefer computed-per-id
    return this.store.totalAmount(inv.id)();
  }

  statusClass(status: Invoice['status']): string {
    switch (status) {
      case 'paid':  return 'bg-green-100 text-green-700';
      case 'sent':  return 'bg-amber-100 text-amber-700';
      default:      return 'bg-gray-100 text-gray-700';
    }
  }
}</code></pre><p>Now update the file <code><strong>src/app/features/dashboard/dashboard.component.html</strong></code>.</p><pre><code>&lt;section class="max-w-5xl mx-auto p-6 space-y-4"&gt;
  &lt;header class="flex items-center gap-3"&gt;
    &lt;h2 class="text-2xl font-semibold"&gt;{{ 'dashboard.title' | translate }}&lt;/h2&gt;
    &lt;a routerLink="/invoice/new" class="btn ml-auto"&gt;
      {{ 'invoice.actions.create' | translate }}
    &lt;/a&gt;
    &lt;button class="btn-secondary" type="button" (click)="createSample()"&gt;+ Sample&lt;/button&gt;
  &lt;/header&gt;

  @if (invoices().length === 0) {
    &lt;div class="rounded-xl border border-dashed p-8 text-gray-600"&gt;
      {{ 'dashboard.empty' | translate }}
    &lt;/div&gt;
  } @else {
    &lt;ul class="space-y-3"&gt;
      @for (inv of invoices(); track inv.id) {
        &lt;li class="rounded-xl border p-4 hover:shadow-sm transition"&gt;
          &lt;div class="flex items-center gap-3"&gt;
            &lt;div class="font-semibold"&gt;{{ inv.number }}&lt;/div&gt;
            &lt;div class="text-gray-600"&gt;•&lt;/div&gt;
            &lt;div class="text-gray-800"&gt;{{ inv.clientName || '—' }}&lt;/div&gt;
            &lt;div class="text-gray-500 ml-auto flex items-center gap-3"&gt;
              &lt;span class="px-2 py-1 rounded-md text-xs" [class]="statusClass(inv.status)"&gt;
                {{ ('status.' + inv.status) | translate }}
              &lt;/span&gt;
              &lt;span class="text-sm"&gt;
                {{ inv.issueDate | date:'mediumDate' }}
              &lt;/span&gt;
              &lt;strong class="ml-2"&gt;
                {{ total(inv) | currency: inv.currency:'symbol-narrow' }}
              &lt;/strong&gt;
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/li&gt;
      }
    &lt;/ul&gt;
  }
&lt;/section&gt;</code></pre><h3 id="5-update-the-root-component-and-language-switcher">5. Update the root component & language switcher <a class="markdownit-header-anchor" href="#5-update-the-root-component-and-language-switcher">🔗</a></h3><p>Wire up the app-wide language controls so every screen (Dashboard, Invoice Edit) updates instantly with <strong>ngx-translate</strong>. This uses Angular <strong>standalone</strong> components and a small service to manage runtime i18n.</p><p>File:<strong> </strong><code><strong>src/app/app.ts</strong></code></p><pre><code class="language-tsx">
import { Component, ChangeDetectionStrategy, inject } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { LanguageService } from './core/language.service';

@Component({
  selector: 'app-root',
  standalone: true,
  imports: [RouterOutlet, TranslateModule],
  changeDetection: ChangeDetectionStrategy.OnPush,
  templateUrl: './app.html',
  styleUrl: './app.scss',
})
export class App {
  private readonly lang = inject(LanguageService);
  setLang(l: 'en' | 'fr') { this.lang.use(l); }
}
</code></pre><p>In <code>app.html</code>, the header displays the translated title and language buttons, while <code>&lt;router-outlet&gt;</code> loads the active view. Each button calls <code>setLang()</code> to toggle between English and French.</p><pre><code class="language-tsx">&lt;header class="flex items-center gap-3 p-4 border-b"&gt;
  &lt;h1 class="text-xl font-semibold"&gt;{{ 'app.title' | translate }}&lt;/h1&gt;
  &lt;div class="ml-auto flex items-center gap-2"&gt;
    &lt;button type="button" class="btn" (click)="setLang('en')"&gt;EN&lt;/button&gt;
    &lt;button type="button" class="btn-secondary" (click)="setLang('fr')"&gt;FR&lt;/button&gt;
  &lt;/div&gt;
&lt;/header&gt;

&lt;main class="p-4"&gt;
  &lt;router-outlet&gt;&lt;/router-outlet&gt;
&lt;/main&gt;
</code></pre><p>The <code><strong>LanguageService</strong></code> registers available locales, remembers the last selected language, and updates the <code>&lt;html lang&gt;</code>attribute. This keeps translations consistent across routes and sessions.</p><pre><code>import { Injectable } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';

type Lang = 'en' | 'fr';

@Injectable({ providedIn: 'root' })
export class LanguageService {
  private readonly storageKey = 'lang';
  private readonly supported: readonly Lang[] = ['en', 'fr'] as const;

  constructor(private t: TranslateService) {}

  init(): void {
    this.t.addLangs([...this.supported]);
    const saved = (localStorage.getItem(this.storageKey) as Lang | null) ?? this.matchNavigator();
    this.use(saved);
  }

  use(lang: string): void {
    const chosen: Lang =
      (this.supported as readonly string[]).includes(lang as Lang) ? (lang as Lang) : 'en';

    localStorage.setItem(this.storageKey, chosen);
    document.documentElement.lang = chosen;
    this.t.use(chosen);
  }

  private matchNavigator(): Lang {
    const base = (navigator.language || navigator.languages?.[0] || 'en').slice(0, 2) as Lang;
    return (this.supported as readonly string[]).includes(base) ? base : 'en';
  }
}</code></pre><p>Together, <strong>these three files finalize your localization flow</strong>. When the user clicks <strong>EN</strong> or <strong>FR</strong>, the entire interface Dashboard, Invoice Edit, and all status labels updates instantly.</p><h3 id="6-add-locale-aware-formatting">6. Add locale-aware formatting <a class="markdownit-header-anchor" href="#6-add-locale-aware-formatting">🔗</a></h3><p>Next, create a <code>src/app/core/locale-format.service.ts</code> file to handle <a href="https://localazy.com/blog/number-localization-guide-currencies-dates-measurement-units/">language-aware number and date formatting</a> across the app. This service listens to the active language from <code>ngx-translate</code> using Angular signals, so<strong> all amounts and dates update automatically when users switch languages</strong>. It exposes two helpers: <code>currency()</code> for localized prices and <code>dateISO()</code> for readable dates, both used by the dashboard and upcoming invoice views.</p><pre><code>import { Injectable, signal } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';

@Injectable({ providedIn: 'root' })
export class LocaleFormatService {
  lang = signal('en');

  constructor(private t: TranslateService) {
    this.lang.set(this.t.currentLang || 'en');
    this.t.onLangChange.subscribe(e =&gt; this.lang.set(e.lang));
  }

  currency(amount: number, currency: string): string {
    return new Intl.NumberFormat(this.lang(), { style: 'currency', currency }).format(amount);
  }

  dateISO(isoDate: string): string {
    return new Intl.DateTimeFormat(this.lang(), { dateStyle: 'medium' }).format(new Date(isoDate));
  }
}</code></pre><p>Now update <code>src/app/features/dashboard/dashboard.component.ts</code> to use this service. Import <code><strong>LocaleFormatService</strong></code>, inject it inside the class, and replace the currency and date pipes with the new helper methods. This ensures that totals and issue dates reformat automatically whenever the language changes.</p><pre><code class="language-tsx">import { LocaleFormatService } from '../../core/locale-format.service';
</code></pre><p>Inject the service inside the class:</p><pre><code class="language-tsx">private readonly fmt = inject(LocaleFormatService);
</code></pre><p>Use <code>this.fmt.currency()</code> and <code>this.fmt.dateISO()</code> to format totals and issue dates:</p><pre><code class="language-tsx">import { LocaleFormatService } from '../../core/locale-format.service';

private readonly fmt = inject(LocaleFormatService);

{{ fmt.currency(total, inv.currency) }}
{{ fmt.dateISO(inv.issueDate) }}
</code></pre><h3 id="7-run-and-verify">7. Run & verify <a class="markdownit-header-anchor" href="#7-run-and-verify">🔗</a></h3><pre><code class="language-bash">npm start
</code></pre><ul><li>Open <strong><a href="http://localhost:4200/">http://localhost:4200</a></strong>.</li><li>Click <strong>+ Sample</strong> — a demo invoice appears instantly.</li><li>All text and status labels translate dynamically through <strong>ngx-translate</strong>, confirming your <strong>Angular localization</strong> and store setup work together correctly.</li><li>Toggle <strong>EN/FR</strong> to confirm translations and status labels updates.</li></ul><h2 id="3-step-3-refactor-the-store">3️⃣ Step 3: Refactor the store <a class="markdownit-header-anchor" href="#3-step-3-refactor-the-store">🔗</a></h2><p>To keep the store maintainable and modular, we’ll extract helper functions and logic into smaller dedicated files. <strong>This makes it easier to reuse utilities across the app </strong>and keeps the core store focused on state management.</p><h3 id="1-create-an-id-generator">1. Create an ID generator <a class="markdownit-header-anchor" href="#1-create-an-id-generator">🔗</a></h3><p>Start by creating a small ID generator in <code>src/app/core/utils/id.ts</code>. This helper provides a lightweight, consistent way to <strong>create unique identifiers throughout the app</strong>.</p><pre><code class="language-tsx">export const newId = (): string =&gt;
  globalThis.crypto?.randomUUID?.() ?? 'id-' + Math.random().toString(36).slice(2);
</code></pre><p>Next, open <code>src/app/core/stores/invoice.store.ts</code>, import the helper, and remove the inline ID logic.</p><pre><code class="language-tsx">import { newId } from '../utils/id';
</code></pre><p>Replace every reference to the old generator with newId(). This simple change ensures that <strong>all IDs follow a single standard</strong>:</p><ul><li><code>sanitizeItem(...)</code></li><li><code>sanitizeInvoice(...)</code></li><li><code>createDraft(...)</code></li><li><code>newLineItem(...)</code></li></ul><h3 id="2-set-up-a-shared-time-utility">2. Set up a shared time utility <a class="markdownit-header-anchor" href="#2-set-up-a-shared-time-utility">🔗</a></h3><p>Now let’s move timestamp handling into its own utility. Create <code>src/app/core/utils/time.ts</code> with:</p><pre><code class="language-tsx">export const isoNow = (): string =&gt; new Date().toISOString();
</code></pre><p>Then remove the old local helper entirely:</p><pre><code class="language-tsx">// const isoNow = () =&gt; new Date().toISOString();
</code></pre><p>Next, import it into the store and delete the inline version to keep date logic consistent and easy to test. </p><p>Now extract all financial calculations into a reusable module. </p><p>Create <code><strong>src/app/core/utils/money.ts</strong></code> and add:</p><pre><code>import type { LineItem, Invoice } from '../models/invoice.model';

/** Calculate a single line item total (after discount, plus tax). */
export function lineTotal(li: LineItem): number {
  const qty = Math.max(0, li.quantity || 0);
  const price = Math.max(0, li.unitPrice || 0);
  const gross = qty * price;
  const discount = li.discountRate ? gross * (li.discountRate / 100) : 0;
  const afterDiscount = gross - discount;
  const tax = li.taxRate ? afterDiscount * (li.taxRate / 100) : 0;
  return +(afterDiscount + tax).toFixed(2);
}

/** Sum all line items for an invoice. */
export function invoiceTotal(inv: Invoice): number {
  return +inv.items.reduce((s, li) =&gt; s + lineTotal(li), 0).toFixed(2);
}
</code></pre><p>The store now relies on a shared time utility, keeping the codebase cleaner and easier to maintain.</p><h3 id="3-centralize-the-stores-financial-logic">3. Centralize the store's financial logic <a class="markdownit-header-anchor" href="#3-centralize-the-stores-financial-logic">🔗</a></h3><p>Let’s <strong>clean up the financial logic in the store </strong>by moving all money-related calculations into their own utility file. Start by creating <strong><code>src/app/core/utils/money.ts</code></strong> and add the following code:</p><pre><code>import type { LineItem, Invoice } from '../models/invoice.model';

/** Calculate a single line item total (after discount, plus tax). */
export function lineTotal(li: LineItem): number {
  const qty = Math.max(0, li.quantity || 0);
  const price = Math.max(0, li.unitPrice || 0);
  const gross = qty * price;
  const discount = li.discountRate ? gross * (li.discountRate / 100) : 0;
  const afterDiscount = gross - discount;
  const tax = li.taxRate ? afterDiscount * (li.taxRate / 100) : 0;
  return +(afterDiscount + tax).toFixed(2);
}

/** Sum all line items for an invoice. */
export function invoiceTotal(inv: Invoice): number {
  return +inv.items.reduce((s, li) =&gt; s + lineTotal(li), 0).toFixed(2);
}</code></pre><p>Next, open <strong><code>src/app/core/stores/invoice.store.ts</code></strong> and update it to use these new helpers.</p><p>Add the following import near the top of the file:</p><pre><code class="language-tsx">import { lineTotal, invoiceTotal } from '../utils/money';
</code></pre><p>Then remove the old inline calculation functions entirely:</p><pre><code class="language-tsx">function lineTotal(li: LineItem): number { /* ... */ }
function invoiceTotal(inv: Invoice): number { /* ... */ }
</code></pre><p>This refactor keeps your store lean and focused while centralizing all currency and total calculations in a single reusable utility.</p><h3 id="4-set-up-serialization">4. Set up serialization <a class="markdownit-header-anchor" href="#4-set-up-serialization">🔗</a></h3><p>File: <code><strong>src/app/core/persistence/invoice.serialization.ts</strong></code></p><pre><code>import type { Invoice, LineItem } from '../models/invoice.model';
import { newId } from '../utils/id';
import { isoNow } from '../utils/time';

function num(v: unknown, fallback: number): number {
  const n = (typeof v === 'number' || typeof v === 'string') ? Number(v) : NaN;
  return Number.isFinite(n) ? n : fallback;
}

export function sanitizeItem(raw: unknown): LineItem {
  const r = (raw &amp;&amp; typeof raw === 'object') ? raw as Record&lt;string, unknown&gt; : {};
  return {
    id: String(r.id ?? newId()),
    description: String(r.description ?? ''),
    quantity: num(r.quantity, 1),
    unitPrice: num(r.unitPrice, 0),
    taxRate: num(r.taxRate, 0),
    discountRate: num(r.discountRate, 0),
  };
}

const VALID_STATUS = new Set&lt;Invoice['status']&gt;(['draft', 'sent', 'paid']);

export function sanitizeInvoice(raw: unknown): Invoice | null {
  if (!raw || typeof raw !== 'object') return null;
  const r = raw as Record&lt;string, unknown&gt;;

  const itemsRaw = Array.isArray(r.items) ? r.items : [];
  const items = itemsRaw.map(sanitizeItem);

  const status = VALID_STATUS.has(r.status as Invoice['status'])
    ? (r.status as Invoice['status'])
    : 'draft';

  return {
    id: String(r.id ?? newId()),
    number: String(r.number ?? 'INV-XXXX'),
    clientName: String(r.clientName ?? ''),
    clientEmail: r.clientEmail ? String(r.clientEmail) : undefined,
    issueDate: String(r.issueDate ?? new Date().toISOString().slice(0, 10)),
    dueDate: r.dueDate ? String(r.dueDate) : undefined,
    currency: String(r.currency ?? 'USD'),
    items,
    notes: r.notes ? String(r.notes) : undefined,
    status,
    createdAt: String(r.createdAt ?? isoNow()),
    updatedAt: String(r.updatedAt ?? isoNow()),
  };
}</code></pre><p>Then update the store to use the serializer. Replace the store file with the version below. Behavior stays the same; the only change is that<strong> parsing/validation is delegated to the serializers</strong>.</p><p><code><strong>src/app/core/stores/invoice.store.ts</strong></code></p><pre><code>import { Injectable, computed, effect, signal } from '@angular/core';
import { Invoice, InvoiceStatus, LineItem } from '../models/invoice.model';
import { newId } from '../utils/id';
import { isoNow } from '../utils/time';
import { invoiceTotal } from '../utils/money';
import { sanitizeInvoice } from '../persistence/invoice.serialization';

// nstants
const STORAGE_KEY = 'invoice.store.v1';

// load
function load(): Invoice[] {
  try {
    const raw = JSON.parse(localStorage.getItem(STORAGE_KEY) || '[]');
    if (!Array.isArray(raw)) return [];
    return raw.map(sanitizeInvoice).filter(Boolean) as Invoice[];
  } catch {
    return [];
  }
}

// store
@Injectable({ providedIn: 'root' })
export class InvoiceStore {
  private readonly _invoices = signal&lt;Invoice[]&gt;(load());

  // throttle persistence to avoid excessive writes
  private persistTimer: any = null;
  private readonly _persist = effect(() =&gt; {
    const snapshot = this._invoices();
    clearTimeout(this.persistTimer);
    this.persistTimer = setTimeout(() =&gt; {
      try { localStorage.setItem(STORAGE_KEY, JSON.stringify(snapshot)); } catch {}
    }, 120);
  });

  // precompute totals map for O(1) lookup
  private readonly totalsById = computed(() =&gt; {
    const map = new Map&lt;string, number&gt;();
    for (const inv of this._invoices()) map.set(inv.id, invoiceTotal(inv));
    return map;
  });

  // selectors
  readonly invoices = this._invoices.asReadonly();
  byId = (id: string) =&gt; computed(() =&gt; this._invoices().find(i =&gt; i.id === id) ?? null);
  totalAmount = (id: string) =&gt; computed(() =&gt; this.totalsById().get(id) ?? 0);
  totalCount = computed(() =&gt; this._invoices().length);
  totalByStatus = (status: InvoiceStatus) =&gt;
    computed(() =&gt; this._invoices().filter(i =&gt; i.status === status).length);

  // mutations 
  createDraft(partial?: Partial&lt;Invoice&gt;): Invoice {
    const id = newId();
    const created = isoNow();
    const number = this.nextNumber();
    const invoice: Invoice = {
      id,
      number,
      clientName: partial?.clientName ?? '',
      clientEmail: partial?.clientEmail,
      issueDate: partial?.issueDate ?? new Date().toISOString().slice(0, 10),
      dueDate: partial?.dueDate,
      currency: partial?.currency ?? 'USD',
      items: partial?.items ?? [this.newLineItem()],
      notes: partial?.notes,
      status: partial?.status ?? 'draft',
      createdAt: created,
      updatedAt: created,
    };
    this._invoices.update(arr =&gt; [invoice, ...arr]);
    return invoice;
  }

  update(id: string, changes: Partial&lt;Invoice&gt;): void {
    this._invoices.update(arr =&gt;
      arr.map(inv =&gt; (inv.id === id ? { ...inv, ...changes, updatedAt: isoNow() } : inv)),
    );
  }

  remove(id: string): void {
    this._invoices.update(arr =&gt; arr.filter(inv =&gt; inv.id !== id));
  }

  // line items 
  newLineItem(): LineItem {
    return { id: newId(), description: '', quantity: 1, unitPrice: 0, taxRate: 0, discountRate: 0 };
  }

  addLineItem(invoiceId: string, li?: Partial&lt;LineItem&gt;): void {
    this._invoices.update(arr =&gt;
      arr.map(inv =&gt;
        inv.id === invoiceId
          ? {
              ...inv,
              items: [{ ...this.newLineItem(), ...li, id: newId() }, ...inv.items],
              updatedAt: isoNow(),
            }
          : inv,
      ),
    );
  }

  updateLineItem(invoiceId: string, itemId: string, changes: Partial&lt;LineItem&gt;): void {
    this._invoices.update(arr =&gt;
      arr.map(inv =&gt; {
        if (inv.id !== invoiceId) return inv;
        const items = inv.items.map(it =&gt; (it.id === itemId ? { ...it, ...changes } : it));
        return { ...inv, items, updatedAt: isoNow() };
      }),
    );
  }

  removeLineItem(invoiceId: string, itemId: string): void {
    this._invoices.update(arr =&gt;
      arr.map(inv =&gt; {
        if (inv.id !== invoiceId) return inv;
        const items = inv.items.filter(it =&gt; it.id !== itemId);
        return { ...inv, items, updatedAt: isoNow() };
      }),
    );
  }

  setStatus(id: string, status: InvoiceStatus): void {
    this.update(id, { status });
  }

  // utilities 
  private nextNumber(): string {
    const seq = this._invoices().length + 1;
    return `INV-${String(seq).padStart(4, '0')}`;
  }
}</code></pre><p>The goal is to <strong>keep the store “loose”</strong>: state and mutations live in one place, while parsing/validation and core calculations are modular and reusable.</p><h3 id="5-register-and-connect-the-new-repository">5. Register and connect the new repository <a class="markdownit-header-anchor" href="#5-register-and-connect-the-new-repository">🔗</a></h3><p>To finish the persistence setup, register your new repository provider inside the app configuration. Thanks to this, Angular will inject the correct implementation (<code>LocalStorageInvoiceRepository</code>) wherever the <code>INVOICE_REPOSITORY</code> token is requested.</p><p>Create <strong><code>src/app/core/persistence/invoice.repository.ts</code></strong></p><pre><code>import { InjectionToken } from '@angular/core';
import type { Invoice } from '../models/invoice.model';
import { sanitizeInvoice } from './invoice.serialization';

export interface InvoiceRepository {
  load(): Invoice[];
  save(data: Invoice[]): void;
}

export const INVOICE_REPOSITORY = new InjectionToken&lt;InvoiceRepository&gt;('INVOICE_REPOSITORY');

export class LocalStorageInvoiceRepository implements InvoiceRepository {
  private readonly KEY = 'invoice.store.v2';

  load(): Invoice[] {
    try {
      const raw = localStorage.getItem(this.KEY);
      if (!raw) return [];
      const parsed: unknown = JSON.parse(raw);

      // Accept v1 (array) or v2 ({ version, data })
      const arr = Array.isArray(parsed)
        ? parsed
        : (parsed &amp;&amp; typeof parsed === 'object' &amp;&amp; Array.isArray((parsed as any).data))
          ? (parsed as any).data
          : [];

      const out: Invoice[] = [];
      for (const it of arr) {
        const inv = sanitizeInvoice(it);
        if (inv) out.push(inv);
      }
      return out;
    } catch {
      return [];
    }
  }

  save(data: Invoice[]): void {
    try {
      const payload = { version: 2, data };
      localStorage.setItem(this.KEY, JSON.stringify(payload));
    } catch {
      // ignore quota/security errors
    }
  }
}</code></pre><p>Update <code>src/app/app.config.ts</code> by adding the provider below your existing imports and configuration:</p><pre><code class="language-tsx">// ...existing imports...
import { INVOICE_REPOSITORY, LocalStorageInvoiceRepository } from './core/persistence/invoice.repository';

export const appConfig: ApplicationConfig = {
  providers: [
    // ...existing providers...
    { provide: INVOICE_REPOSITORY, useClass: LocalStorageInvoiceRepository },
  ],
};
</code></pre><p>This registration <strong>connects your dependency injection system to the repository clas</strong>s, allowing your store and future services to interact cleanly with invoice data through a unified interface, rather than hard-coding persistence logic.</p><p>Update the store to use the repository <code>src/app/core/stores/invoice.store.ts</code>:</p><pre><code>import { Injectable, computed, effect, inject, signal } from '@angular/core';
import { Invoice, InvoiceStatus, LineItem } from '../models/invoice.model';
import { newId } from '../utils/id';
import { isoNow } from '../utils/time';
import { invoiceTotal } from '../utils/money';
import { INVOICE_REPOSITORY, InvoiceRepository } from '../persistence/invoice.repository';

@Injectable({ providedIn: 'root' })
export class InvoiceStore {
  // repo abstraction (can be swapped via DI)
  private readonly repo: InvoiceRepository = inject(INVOICE_REPOSITORY);

  // state
  private readonly _invoices = signal&lt;Invoice[]&gt;(this.repo.load());

  // throttle persistence via repo to avoid excessive writes
  private persistTimer: any = null;
  private readonly _persist = effect(() =&gt; {
    const snapshot = this._invoices();
    clearTimeout(this.persistTimer);
    this.persistTimer = setTimeout(() =&gt; {
      this.repo.save(snapshot);
    }, 120);
  });

  // precompute totals map for O(1) lookup
  private readonly totalsById = computed(() =&gt; {
    const map = new Map&lt;string, number&gt;();
    for (const inv of this._invoices()) map.set(inv.id, invoiceTotal(inv));
    return map;
  });

  // selectors
  readonly invoices = this._invoices.asReadonly();
  byId = (id: string) =&gt; computed(() =&gt; this._invoices().find(i =&gt; i.id === id) ?? null);
  totalAmount = (id: string) =&gt; computed(() =&gt; this.totalsById().get(id) ?? 0);
  totalCount = computed(() =&gt; this._invoices().length);
  totalByStatus = (status: InvoiceStatus) =&gt;
    computed(() =&gt; this._invoices().filter(i =&gt; i.status === status).length);

  // mutations 
  createDraft(partial?: Partial&lt;Invoice&gt;): Invoice {
    const id = newId();
    const created = isoNow();
    const number = this.nextNumber();
    const invoice: Invoice = {
      id,
      number,
      clientName: partial?.clientName ?? '',
      clientEmail: partial?.clientEmail,
      issueDate: partial?.issueDate ?? new Date().toISOString().slice(0, 10),
      dueDate: partial?.dueDate,
      currency: partial?.currency ?? 'USD',
      items: partial?.items ?? [this.newLineItem()],
      notes: partial?.notes,
      status: partial?.status ?? 'draft',
      createdAt: created,
      updatedAt: created,
    };
    this._invoices.update(arr =&gt; [invoice, ...arr]);
    return invoice;
  }

  update(id: string, changes: Partial&lt;Invoice&gt;): void {
    this._invoices.update(arr =&gt;
      arr.map(inv =&gt; (inv.id === id ? { ...inv, ...changes, updatedAt: isoNow() } : inv)),
    );
  }

  remove(id: string): void {
    this._invoices.update(arr =&gt; arr.filter(inv =&gt; inv.id !== id));
  }

  // line items 
  newLineItem(): LineItem {
    return { id: newId(), description: '', quantity: 1, unitPrice: 0, taxRate: 0, discountRate: 0 };
  }

  addLineItem(invoiceId: string, li?: Partial&lt;LineItem&gt;): void {
    this._invoices.update(arr =&gt;
      arr.map(inv =&gt;
        inv.id === invoiceId
          ? {
              ...inv,
              items: [{ ...this.newLineItem(), ...li, id: newId() }, ...inv.items],
              updatedAt: isoNow(),
            }
          : inv,
      ),
    );
  }

  updateLineItem(invoiceId: string, itemId: string, changes: Partial&lt;LineItem&gt;): void {
    this._invoices.update(arr =&gt;
      arr.map(inv =&gt; {
        if (inv.id !== invoiceId) return inv;
        const items = inv.items.map(it =&gt; (it.id === itemId ? { ...it, ...changes } : it));
        return { ...inv, items, updatedAt: isoNow() };
      }),
    );
  }

  removeLineItem(invoiceId: string, itemId: string): void {
    this._invoices.update(arr =&gt;
      arr.map(inv =&gt; {
        if (inv.id !== invoiceId) return inv;
        const items = inv.items.filter(it =&gt; it.id !== itemId);
        return { ...inv, items, updatedAt: isoNow() };
      }),
    );
  }

  setStatus(id: string, status: InvoiceStatus): void {
    this.update(id, { status });
  }

  // utilities 
  private nextNumber(): string {
    const seq = this._invoices().length + 1;
    return `INV-${String(seq).padStart(4, '0')}`;
  }
}</code></pre><p>Then bind the repository in the app configuration:</p><pre><code class="language-tsx">import { INVOICE_REPOSITORY, LocalStorageInvoiceRepository } from './core/persistence/invoice.repository';

export const appConfig: ApplicationConfig = {
  providers: [
  
  ...
  
	// Repository binding    
	{ provide: INVOICE_REPOSITORY, useClass: LocalStorageInvoiceRepository },
	
 ],
};	
</code></pre><p>The store now depends on an abstract <code>InvoiceRepository</code>, <code>LocalStorageInvoiceRepository</code> implements it, and the app config provides the binding so Angular’s DI injects the correct implementation everywhere. This keeps your state layer <strong>clean, testable, and ready for future backends</strong>.</p><h2 id="4-step-4-invoice-editor-form">4️⃣ Step 4: Invoice editor form <a class="markdownit-header-anchor" href="#4-step-4-invoice-editor-form">🔗</a></h2><p>Now it's time to replace the generated TypeScript file with this implementation (strongly-typed <strong>Reactive Forms</strong>, Tailwind-ready, i18n-friendly, and using your shared money utilities): </p><p><code><strong>src/app/features/invoice-edit/invoice-edit.component.ts</strong></code></p><pre><code class="language-jsx">import { Component, ChangeDetectionStrategy, inject } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import {
  ReactiveFormsModule,
  NonNullableFormBuilder,
  FormGroup,
  FormControl,
  FormArray,
  Validators,
} from '@angular/forms';

import { lineTotal, invoiceTotal } from '../../core/utils/money';

// Strongly-typed item group
type ItemControls = {
  description: FormControl&lt;string&gt;;
  quantity: FormControl&lt;number&gt;;
  unitPrice: FormControl&lt;number&gt;;
  taxRate: FormControl&lt;number&gt;;
  discountRate: FormControl&lt;number&gt;;
};
type ItemGroup = FormGroup&lt;ItemControls&gt;;

// Root form controls
type InvoiceFormControls = {
  clientName: FormControl&lt;string&gt;;
  clientEmail: FormControl&lt;string | null&gt;;
  issueDate: FormControl&lt;string&gt;;
  dueDate: FormControl&lt;string | null&gt;;
  currency: FormControl&lt;'USD' | 'EUR' | 'XAF'&gt;;
  notes: FormControl&lt;string | null&gt;;
  items: FormArray&lt;ItemGroup&gt;;
};
type InvoiceForm = FormGroup&lt;InvoiceFormControls&gt;;

@Component({
  selector: 'app-invoice-edit',
  standalone: true,
  imports: [CommonModule, RouterModule, TranslateModule, ReactiveFormsModule],
  templateUrl: './invoice-edit.component.html',
  styleUrl: './invoice-edit.component.scss',
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class InvoiceEditComponent {
  private fb = inject(NonNullableFormBuilder);

  // Build a new item row with typed controls
  private createItemGroup(): ItemGroup {
    return this.fb.group&lt;ItemControls&gt;({
      description: this.fb.control('', { validators: [] }),
      quantity: this.fb.control(1, { validators: [Validators.min(0)] }),
      unitPrice: this.fb.control(0, { validators: [Validators.min(0)] }),
      taxRate: this.fb.control(0, { validators: [Validators.min(0), Validators.max(100)] }),
      discountRate: this.fb.control(0, { validators: [Validators.min(0), Validators.max(100)] }),
    });
  }

  // Root form with strict types (non-nullable where appropriate)
  form: InvoiceForm = this.fb.group&lt;InvoiceFormControls&gt;({
    clientName: this.fb.control('', { validators: [Validators.required] }),
    clientEmail: new FormControl&lt;string | null&gt;(null, { nonNullable: false, validators: [Validators.email] }),
    issueDate: this.fb.control(new Date().toISOString().slice(0, 10)),
    dueDate: new FormControl&lt;string | null&gt;(null, { nonNullable: false }),
    currency: this.fb.control&lt;'USD' | 'EUR' | 'XAF'&gt;('USD'),
    notes: new FormControl&lt;string | null&gt;(null, { nonNullable: false }),
    items: this.fb.array&lt;ItemGroup&gt;([this.createItemGroup()]),
  });

  // items helpers 
  get items(): FormArray&lt;ItemGroup&gt; {
    return this.form.controls.items;
  }

  addItem(): void {
    this.items.push(this.createItemGroup());
  }

  removeItem(i: number): void {
    this.items.removeAt(i);
  }

  // totals
  lineTotalAt(index: number): number {
    const g = this.items.at(index).getRawValue(); 
    return lineTotal({
      id: 'tmp',
      description: g.description,
      quantity: g.quantity,
      unitPrice: g.unitPrice,
      taxRate: g.taxRate,
      discountRate: g.discountRate,
    });
  }

  grandTotal(): number {
    const v = this.form.getRawValue(); 
    return invoiceTotal({
      id: 'tmp',
      number: 'INV-TMP',
      clientName: v.clientName,
      clientEmail: v.clientEmail ?? undefined,
      issueDate: v.issueDate,
      dueDate: v.dueDate ?? undefined,
      currency: v.currency,
      items: v.items.map(it =&gt; {
        const row = it;
        return {
          id: 'tmp',
          description: row.description,
          quantity: row.quantity,
          unitPrice: row.unitPrice,
          taxRate: row.taxRate,
          discountRate: row.discountRate,
        };
      }),
      notes: v.notes ?? undefined,
      status: 'draft',
      createdAt: new Date().toISOString(),
      updatedAt: new Date().toISOString(),
    });
  }

  // actions
  save(): void {
    if (this.form.invalid) {
      this.form.markAllAsTouched();
      return;
    }
    // For now, just demo; next micro-step will persist via InvoiceStore.
    // Typed value:
    const value = this.form.getRawValue();
    console.log('[invoice-edit] value', value);
    alert('Form captured (no persistence yet). Next step: connect to store.');
  }
}

</code></pre><p>Update the <code><strong>src/app/features/invoice-edit/invoice-edit.component.html</strong></code>template, which lays out the client details, line items, and totals for the Invoice Editor using Tailwind utilities and ReactiveFormsModule bindings. It supports adding/removing items, shows each row’s computed total, and displays the grand total with simple, accessible form controls.</p><pre><code class="language-html">&lt;form class="max-w-4xl mx-auto p-6 space-y-6" [formGroup]="form" (ngSubmit)="save()"&gt;
  &lt;h2 class="text-2xl font-semibold"&gt;{{ 'invoice.edit.title' | translate }}&lt;/h2&gt;

  &lt;!-- Client block --&gt;
  &lt;div class="grid grid-cols-1 md:grid-cols-2 gap-4"&gt;
    &lt;label class="flex flex-col gap-1"&gt;
      &lt;span class="text-sm text-gray-600"&gt;{{ 'invoice.form.clientName' | translate }}&lt;/span&gt;
      &lt;input type="text" formControlName="clientName" class="rounded-lg border p-2" /&gt;
    &lt;/label&gt;

    &lt;label class="flex flex-col gap-1"&gt;
      &lt;span class="text-sm text-gray-600"&gt;{{ 'invoice.form.clientEmail' | translate }}&lt;/span&gt;
      &lt;input type="email" formControlName="clientEmail" class="rounded-lg border p-2" /&gt;
    &lt;/label&gt;

    &lt;label class="flex flex-col gap-1"&gt;
      &lt;span class="text-sm text-gray-600"&gt;{{ 'invoice.form.issueDate' | translate }}&lt;/span&gt;
      &lt;input type="date" formControlName="issueDate" class="rounded-lg border p-2" /&gt;
    &lt;/label&gt;

    &lt;label class="flex flex-col gap-1"&gt;
      &lt;span class="text-sm text-gray-600"&gt;{{ 'invoice.form.dueDate' | translate }}&lt;/span&gt;
      &lt;input type="date" formControlName="dueDate" class="rounded-lg border p-2" /&gt;
    &lt;/label&gt;

    &lt;label class="flex flex-col gap-1"&gt;
      &lt;span class="text-sm text-gray-600"&gt;{{ 'invoice.form.currency' | translate }}&lt;/span&gt;
      &lt;select formControlName="currency" class="rounded-lg border p-2"&gt;
        &lt;option value="USD"&gt;USD&lt;/option&gt;
        &lt;option value="EUR"&gt;EUR&lt;/option&gt;
        &lt;option value="XAF"&gt;XAF&lt;/option&gt;
      &lt;/select&gt;
    &lt;/label&gt;

    &lt;label class="flex flex-col gap-1 md:col-span-2"&gt;
      &lt;span class="text-sm text-gray-600"&gt;{{ 'invoice.form.notes' | translate }}&lt;/span&gt;
      &lt;textarea formControlName="notes" rows="3" class="rounded-lg border p-2"&gt;&lt;/textarea&gt;
    &lt;/label&gt;
  &lt;/div&gt;

  &lt;!-- Items --&gt;
  &lt;div class="space-y-3"&gt;
    &lt;div class="flex items-center justify-between"&gt;
      &lt;h3 class="text-lg font-semibold"&gt;{{ 'invoice.form.items' | translate }}&lt;/h3&gt;
      &lt;button type="button" class="btn" (click)="addItem()"&gt;{{ 'invoice.actions.addItem' | translate }}&lt;/button&gt;
    &lt;/div&gt;

    &lt;div formArrayName="items" class="space-y-2"&gt;
      &lt;div *ngFor="let g of items.controls; let i = index" [formGroupName]="i"
           class="grid grid-cols-12 gap-2 items-center border rounded-lg p-3"&gt;
        &lt;input class="col-span-5 rounded-lg border p-2" type="text" placeholder="{{ 'invoice.form.item.description' | translate }}"
               formControlName="description" /&gt;

        &lt;input class="col-span-2 rounded-lg border p-2" type="number" min="0" step="1"
               formControlName="quantity" placeholder="{{ 'invoice.form.item.quantity' | translate }}" /&gt;

        &lt;input class="col-span-2 rounded-lg border p-2" type="number" min="0" step="0.01"
               formControlName="unitPrice" placeholder="{{ 'invoice.form.item.unitPrice' | translate }}" /&gt;

        &lt;input class="col-span-1 rounded-lg border p-2" type="number" min="0" max="100" step="0.1"
               formControlName="taxRate" placeholder="{{ 'invoice.form.item.taxRate' | translate }}" /&gt;

        &lt;input class="col-span-1 rounded-lg border p-2" type="number" min="0" max="100" step="0.1"
               formControlName="discountRate" placeholder="{{ 'invoice.form.item.discountRate' | translate }}" /&gt;

        &lt;div class="col-span-12 md:col-span-10 text-sm text-gray-600 md:text-right"&gt;
          {{ 'invoice.form.item.total' | translate }}:
          &lt;strong&gt;{{ lineTotalAt(i) }}&lt;/strong&gt;
        &lt;/div&gt;

        &lt;div class="col-span-12 md:col-span-2 flex justify-end"&gt;
          &lt;button type="button" class="btn-secondary" (click)="removeItem(i)"&gt;
            {{ 'invoice.actions.removeItem' | translate }}
          &lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- Totals + actions --&gt;
  &lt;div class="flex items-center justify-between border-t pt-4"&gt;
    &lt;div class="text-lg"&gt;
      {{ 'invoice.form.total' | translate }}:
      &lt;strong&gt;{{ grandTotal() }}&lt;/strong&gt;
    &lt;/div&gt;
    &lt;div class="flex gap-2"&gt;
      &lt;a routerLink="/" class="btn-secondary"&gt;{{ 'nav.back' | translate }}&lt;/a&gt;
      &lt;button type="submit" class="btn"&gt;{{ 'invoice.actions.save' | translate }}&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/form&gt;

</code></pre><p>Then replace the <code>src/app/features/invoice-edit/invoice-edit.html</code><strong> </strong>with the version below. It binds a typed Reactive Form, uses Tailwind for layout, supports add/remove rows, shows each row’s computed total, and displays the grand total.</p><pre><code>&lt;form class="max-w-4xl mx-auto p-6 space-y-6" [formGroup]="form" (ngSubmit)="save()"&gt;
  &lt;h2 class="text-2xl font-semibold"&gt;{{ 'invoice.edit.title' | translate }}&lt;/h2&gt;

  &lt;!-- Client block --&gt;
  &lt;div class="grid grid-cols-1 md:grid-cols-2 gap-4"&gt;
    &lt;label class="flex flex-col gap-1"&gt;
      &lt;span class="text-sm text-gray-600"&gt;{{ 'invoice.form.clientName' | translate }}&lt;/span&gt;
      &lt;input type="text" formControlName="clientName" class="rounded-lg border p-2" /&gt;
    &lt;/label&gt;

    &lt;label class="flex flex-col gap-1"&gt;
      &lt;span class="text-sm text-gray-600"&gt;{{ 'invoice.form.clientEmail' | translate }}&lt;/span&gt;
      &lt;input type="email" formControlName="clientEmail" class="rounded-lg border p-2" /&gt;
    &lt;/label&gt;

    &lt;label class="flex flex-col gap-1"&gt;
      &lt;span class="text-sm text-gray-600"&gt;{{ 'invoice.form.issueDate' | translate }}&lt;/span&gt;
      &lt;input type="date" formControlName="issueDate" class="rounded-lg border p-2" /&gt;
    &lt;/label&gt;

    &lt;label class="flex flex-col gap-1"&gt;
      &lt;span class="text-sm text-gray-600"&gt;{{ 'invoice.form.dueDate' | translate }}&lt;/span&gt;
      &lt;input type="date" formControlName="dueDate" class="rounded-lg border p-2" /&gt;
    &lt;/label&gt;

    &lt;label class="flex flex-col gap-1"&gt;
      &lt;span class="text-sm text-gray-600"&gt;{{ 'invoice.form.currency' | translate }}&lt;/span&gt;
      &lt;select formControlName="currency" class="rounded-lg border p-2"&gt;
        &lt;option value="USD"&gt;USD&lt;/option&gt;
        &lt;option value="EUR"&gt;EUR&lt;/option&gt;
        &lt;option value="XAF"&gt;XAF&lt;/option&gt;
      &lt;/select&gt;
    &lt;/label&gt;

    &lt;label class="flex flex-col gap-1 md:col-span-2"&gt;
      &lt;span class="text-sm text-gray-600"&gt;{{ 'invoice.form.notes' | translate }}&lt;/span&gt;
      &lt;textarea formControlName="notes" rows="3" class="rounded-lg border p-2"&gt;&lt;/textarea&gt;
    &lt;/label&gt;
  &lt;/div&gt;

  &lt;!-- Items --&gt;
  &lt;div class="space-y-3"&gt;
    &lt;div class="flex items-center justify-between"&gt;
      &lt;h3 class="text-lg font-semibold"&gt;{{ 'invoice.form.items' | translate }}&lt;/h3&gt;
      &lt;button type="button" class="btn" (click)="addItem()"&gt;{{ 'invoice.actions.addItem' | translate }}&lt;/button&gt;
    &lt;/div&gt;

    &lt;div formArrayName="items" class="space-y-2"&gt;
      &lt;div *ngFor="let g of items.controls; let i = index" [formGroupName]="i"
           class="grid grid-cols-12 gap-2 items-center border rounded-lg p-3"&gt;
        &lt;input class="col-span-5 rounded-lg border p-2" type="text"
               placeholder="{{ 'invoice.form.item.description' | translate }}"
               formControlName="description" /&gt;

        &lt;input class="col-span-2 rounded-lg border p-2" type="number" min="0" step="1"
               formControlName="quantity" placeholder="{{ 'invoice.form.item.quantity' | translate }}" /&gt;

        &lt;input class="col-span-2 rounded-lg border p-2" type="number" min="0" step="0.01"
               formControlName="unitPrice" placeholder="{{ 'invoice.form.item.unitPrice' | translate }}" /&gt;

        &lt;input class="col-span-1 rounded-lg border p-2" type="number" min="0" max="100" step="0.1"
               formControlName="taxRate" placeholder="{{ 'invoice.form.item.taxRate' | translate }}" /&gt;

        &lt;input class="col-span-1 rounded-lg border p-2" type="number" min="0" max="100" step="0.1"
               formControlName="discountRate" placeholder="{{ 'invoice.form.item.discountRate' | translate }}" /&gt;

        &lt;div class="col-span-12 md:col-span-10 text-sm text-gray-600 md:text-right"&gt;
          {{ 'invoice.form.item.total' | translate }}:
          &lt;strong&gt;{{ lineTotalAt(i) }}&lt;/strong&gt;
        &lt;/div&gt;

        &lt;div class="col-span-12 md:col-span-2 flex justify-end"&gt;
          &lt;button type="button" class="btn-secondary" (click)="removeItem(i)"&gt;
            {{ 'invoice.actions.removeItem' | translate }}
          &lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- Totals + actions --&gt;
  &lt;div class="flex items-center justify-between border-t pt-4"&gt;
    &lt;div class="text-lg"&gt;
      {{ 'invoice.form.total' | translate }}:
      &lt;strong&gt;{{ grandTotal() }}&lt;/strong&gt;
    &lt;/div&gt;
    &lt;div class="flex gap-2"&gt;
      &lt;a routerLink="/" class="btn-secondary"&gt;{{ 'nav.back' | translate }}&lt;/a&gt;
      &lt;button type="submit" class="btn"&gt;{{ 'invoice.actions.save' | translate }}&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/form&gt;

</code></pre><p>Don’t forget to update the translations:</p><pre><code>{
  "invoice": {
    "form": {
      "clientName": "Client name",
      "clientEmail": "Client email",
      "issueDate": "Issue date",
      "dueDate": "Due date",
      "currency": "Currency",
      "notes": "Notes",
      "items": "Items",
      "item": {
        "description": "Description",
        "quantity": "Qty",
        "unitPrice": "Unit price",
        "taxRate": "Tax %",
        "discountRate": "Discount %",
        "total": "Line total"
      },
      "total": "Total"
    },
    "actions": {
      "addItem": "Add item",
      "removeItem": "Remove",
      "save": "Save"
    }
  }
}</code></pre><pre><code>```tsx
{
  "invoice": {
    "form": {
      "clientName": "Nom du client",
      "clientEmail": "Email du client",
      "issueDate": "Date d'émission",
      "dueDate": "Date d'échéance",
      "currency": "Devise",
      "notes": "Notes",
      "items": "Articles",
      "item": {
        "description": "Description",
        "quantity": "Qté",
        "unitPrice": "Prix unitaire",
        "taxRate": "TVA %",
        "discountRate": "Remise %",
        "total": "Total ligne"
      },
      "total": "Total"
    },
    "actions": {
      "addItem": "Ajouter un article",
      "removeItem": "Supprimer",
      "save": "Enregistrer"
    }
  }
}
```</code></pre><p>Now wire the Invoice Editor to the store, create on <code>/invoice/new</code>, update on <code>/invoice/:id</code>.</p><p>Only one file changes. The editor now loads an existing invoice (when <code>:id</code> is present), patches the form, and saves either a <strong>new draft</strong> or an <strong>update</strong> to the store.</p><p><code><strong>src/app/features/invoice-edit/invoice-edit.component.ts</strong></code></p><pre><code>...

import { lineTotal, invoiceTotal } from '../../core/utils/money';
import { InvoiceStore } from '../../core/stores/invoice.store';
import type { Invoice } from '../../core/models/invoice.model';

....

@Component({
  selector: 'app-invoice-edit',
  standalone: true,
  imports: [CommonModule, RouterModule, TranslateModule, ReactiveFormsModule],
  templateUrl: './invoice-edit.html',
  styleUrl: './invoice-edit.scss',
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class InvoiceEditComponent {
  ...
  private route = inject(ActivatedRoute);
  private store = inject(InvoiceStore);

  // when editing, keep refs to id + current invoice
  private editingId: string | null = null;
  private current: Invoice | null = null;

  ...

  constructor() {
    // detect /invoice/new vs /invoice/:id and hydrate if editing
    this.route.paramMap.subscribe(p =&gt; {
      const id = p.get('id');
      this.editingId = id;
      if (id) {
        const inv = this.store.byId(id)();
        this.current = inv ?? null;
        if (inv) this.setFormFromInvoice(inv);
      } else {
        this.current = null; // creating new
      }
    });
  }

...

  // ---------- hydrate form for edit ----------
  private setFormFromInvoice(inv: Invoice): void {
    this.form.patchValue({
      clientName: inv.clientName,
      clientEmail: inv.clientEmail ?? null,
      issueDate: inv.issueDate,
      dueDate: inv.dueDate ?? null,
      currency: inv.currency,
      notes: inv.notes ?? null,
    });

    this.items.clear();
    inv.items.forEach(it =&gt; {
      const g = this.createItemGroup();
      g.patchValue({
        description: it.description,
        quantity: it.quantity,
        unitPrice: it.unitPrice,
        taxRate: it.taxRate ?? 0,
        discountRate: it.discountRate ?? 0,
      });
      this.items.push(g);
    });
  }

  // replace the previous save() placeholder with create/update via store
  save(): void {
    if (this.form.invalid) {
      this.form.markAllAsTouched();
      return;
    }

    const v = this.form.getRawValue();

    // rebuild items; preserve existing IDs when editing
    const items = v.items.map((row, idx) =&gt; ({
      id: this.current?.items[idx]?.id ?? this.store.newLineItem().id,
      description: row.description,
      quantity: row.quantity,
      unitPrice: row.unitPrice,
      taxRate: row.taxRate,
      discountRate: row.discountRate,
    }));

    if (this.editingId) {
      this.store.update(this.editingId, {
        clientName: v.clientName,
        clientEmail: v.clientEmail ?? undefined,
        issueDate: v.issueDate,
        dueDate: v.dueDate ?? undefined,
        currency: v.currency,
        notes: v.notes ?? undefined,
        items,
      });
    } else {
      this.store.createDraft({
        clientName: v.clientName,
        clientEmail: v.clientEmail ?? undefined,
        issueDate: v.issueDate,
        dueDate: v.dueDate ?? undefined,
        currency: v.currency,
        notes: v.notes ?? undefined,
        items,
        status: 'draft',
      });
    }
  }
}</code></pre><p>That’s all you need to switch between <strong>create</strong> (<code>/invoice/new</code>) and <strong>edit</strong> (<code>/invoice/:id</code>) with the store, without dumping the whole file.</p><p>Let’s make rows editable and add inline actions.</p><h3 id="1-make-invoice-number-a-link">1. Make invoice number a link <a class="markdownit-header-anchor" href="#1-make-invoice-number-a-link">🔗</a></h3><p><strong><code>src/app/features/dashboard/dashboard.component.html</code></strong></p><pre><code class="language-html">- &lt;div class="font-semibold"&gt;{{ inv.number }}&lt;/div&gt;
+ &lt;a [routerLink]="['/invoice', inv.id]" class="font-semibold hover:underline"&gt;
+   {{ inv.number }}
+ &lt;/a&gt;
</code></pre><h3 id="2-add-row-actions-edit-mark-sent-mark-paid-delete">2. Add row actions (Edit / Mark Sent / Mark Paid / Delete) <a class="markdownit-header-anchor" href="#2-add-row-actions-edit-mark-sent-mark-paid-delete">🔗</a></h3><p>Go to<strong><code>src/app/features/dashboard/dashboard.component.html</code></strong> inside the same <code>@for</code> row and append this to the <strong>right-side info</strong> block (after total):</p><pre><code>&lt;!-- actions --&gt;
&lt;div class="flex items-center gap-2 ml-4"&gt;
  &lt;a [routerLink]="['/invoice', inv.id]" class="btn-secondary"&gt;
    {{ 'invoice.actions.edit' | translate }}
  &lt;/a&gt;

  @if (inv.status === 'draft') {
    &lt;button type="button" class="btn-secondary" (click)="markAsSent(inv.id)"&gt;
      {{ 'invoice.actions.markSent' | translate }}
    &lt;/button&gt;
  } @else if (inv.status === 'sent') {
    &lt;button type="button" class="btn-secondary" (click)="markAsPaid(inv.id)"&gt;
      {{ 'invoice.actions.markPaid' | translate }}
    &lt;/button&gt;
  }

  &lt;button type="button" class="btn-secondary" (click)="remove(inv.id)"&gt;
    {{ 'invoice.actions.delete' | translate }}
  &lt;/button&gt;
&lt;/div&gt;</code></pre><h3 id="3-add-the-handlers">3. Add the handlers <a class="markdownit-header-anchor" href="#3-add-the-handlers">🔗</a></h3><p>Add these methods inside the <code>DashboardComponent</code> class <code><strong>src/app/features/dashboard/dashboard.ts</strong></code>.</p><pre><code class="language-tsx">markAsSent(id: string): void {
  this.store.setStatus(id, 'sent');
}

markAsPaid(id: string): void {
  this.store.setStatus(id, 'paid');
}

remove(id: string): void {
  if (confirm('Delete this invoice?')) {
    this.store.remove(id);
  }
}
</code></pre><h3 id="4-update-strings">4. Update strings <a class="markdownit-header-anchor" href="#4-update-strings">🔗</a></h3><p><strong><code>public/assets/i18n/en.json</code></strong></p><pre><code class="language-json">{
  "invoice": {
    "actions": {
      "edit": "Edit",
      "markSent": "Mark as sent",
      "markPaid": "Mark as paid",
      "delete": "Delete"
    }
  }
}
</code></pre><p><strong><code>public/assets/i18n/fr.json</code></strong></p><pre><code class="language-json">{
  "invoice": {
    "actions": {
      "edit": "Modifier",
      "markSent": "Marquer comme envoyée",
      "markPaid": "Marquer comme payée",
      "delete": "Supprimer"
    }
  }
}
</code></pre><p>Now <strong>the invoice ID are clickable, rows have clear actions, and status transitions happen with one click</strong>, all persisted via your repository-backed store. To finish off this step, run a quick check with <code>npm start</code> to test that the edit, language switch, invoice status and delete operations work well. </p><p>Let’s enable PWA support cleanly in the next step.</p><h2 id="5-step-5-feature-core-pwa-scaffold">5️⃣ Step 5: Feature core-PWA scaffold <a class="markdownit-header-anchor" href="#5-step-5-feature-core-pwa-scaffold">🔗</a></h2><p>We’ll enable installable, offline-first behavior and<strong> lay the groundwork for small UX helpers</strong> (online/offline signal and “Install app” prompt). The idea is to keep it minimal and production-ready.</p><h3 id="1-install-pwa-support">1. Install PWA support <a class="markdownit-header-anchor" href="#1-install-pwa-support">🔗</a></h3><p>Run the Angular schematic via your project script:</p><pre><code class="language-bash">npm run ng -- add @angular/pwa
</code></pre><p>This adds <code>@angular/service-worker</code>, creates <code>ngsw-config.json</code>, drops <code>public/manifest.webmanifest</code> and icons, and wires the worker.</p><h3 id="2-test-in-production-mode">2. Test in production mode <a class="markdownit-header-anchor" href="#2-test-in-production-mode">🔗</a></h3><p>Build and serve the production output so the Service Worker can activate:</p><pre><code class="language-bash">npm run build -- --configuration=production
npx http-server ./dist/invoice-pwa/browser -p 4200 -c-1
</code></pre><p>Open <code>http://localhost:4200</code>. In DevTools &gt; Application &gt; Service Workers, confirm <code>ngsw-worker.js</code> is <strong>activated</strong>. Toggle <strong>Offline</strong> in the Network tab and reload; the app should still load.</p><h3 id="3-create-a-tiny-pwa-service">3. Create a tiny PWA service <a class="markdownit-header-anchor" href="#3-create-a-tiny-pwa-service">🔗</a></h3><p>This service exposes three simple signals you can bind to the UI: <strong><code>canInstall</code> </strong>(show an “Install app” button), <code><strong>isOnline</strong></code>(online/offline badge), and <code><strong>isStandalone</strong></code> (running as an installed PWA). It also provides an <code>install()</code> method that triggers the browser’s install prompt.</p><p>File: <code><strong>src/app/core/pwa/pwa.service.ts</strong></code></p><pre><code>import { Injectable, signal, computed } from '@angular/core';

type BeforeInstallPromptEvent = Event &amp; {
  prompt: () =&gt; Promise&lt;void&gt;;
  userChoice: Promise&lt;{ outcome: 'accepted' | 'dismissed'; platform: string }&gt;;
};

@Injectable({ providedIn: 'root' })
export class PwaService {
  private deferred: BeforeInstallPromptEvent | null = null;

  // shows the “Install” button when true
  readonly canInstall = signal(false);

  // are we already installed?
  readonly isStandalone = computed(() =&gt; {
    // iOS Safari
    const iosStandalone = (navigator as any).standalone === true;
    // All modern browsers
    const displayModeStandalone = window.matchMedia?.('(display-mode: standalone)').matches;
    return iosStandalone || displayModeStandalone;
  });

  constructor() {
    // Fired when the browser thinks the app is installable
    window.addEventListener('beforeinstallprompt', (e: Event) =&gt; {
      e.preventDefault(); // don't show the mini-infobar
      this.deferred = e as BeforeInstallPromptEvent;
      this.canInstall.set(!this.isStandalone());
    });

    // Fired after a successful install
    window.addEventListener('appinstalled', () =&gt; {
      this.deferred = null;
      this.canInstall.set(false);
    });
  }

  async promptInstall(): Promise&lt;void&gt; {
    if (!this.deferred) return;
    this.canInstall.set(false);
    await this.deferred.prompt();
    try {
      await this.deferred.userChoice; // optional: inspect outcome
    } finally {
      this.deferred = null;
    }
  }
}</code></pre><h3 id="4-update-the-component-class">4. Update the component class <a class="markdownit-header-anchor" href="#4-update-the-component-class">🔗</a></h3><p>File: <code><strong>src/app/app.ts</strong></code></p><pre><code class="language-tsx">...

import { PwaService } from './core/pwa/pwa.service';

...

export class App {
  private readonly lang = inject(LanguageService);
  readonly pwa = inject(PwaService);

  setLang(l: 'en' | 'fr') {
    this.lang.use(l);
  }

  install() {
    this.pwa.promptInstall();
  }
}
</code></pre><h3 id="5-add-the-button-to-the-template">5. Add the button to the template <a class="markdownit-header-anchor" href="#5-add-the-button-to-the-template">🔗</a></h3><p>Add the install button next to EN/FR in <code><strong>src/app/app.html</strong></code>.</p><pre><code>&lt;header class="flex items-center gap-3 p-4 border-b"&gt;
  &lt;h1 class="text-xl font-semibold"&gt;{{ 'app.title' | translate }}&lt;/h1&gt;

  &lt;div class="ml-auto flex items-center gap-2"&gt;
    &lt;!-- Install button appears only when available and not already installed --&gt;
    @if (pwa.canInstall() &amp;&amp; !pwa.isStandalone()) {
      &lt;button type="button" class="btn" (click)="install()"&gt;
        {{ 'app.install' | translate }}
      &lt;/button&gt;
    }
    ...
    
  &lt;/div&gt;
&lt;/header&gt;</code></pre><p>Add translation key on <code>public/assets/i18n/en.json</code>:</p><pre><code class="language-json">{
  "app": {
    "install": "Install app"
  }
}
</code></pre><p><code>public/assets/i18n/fr.json</code></p><pre><code class="language-json">{
  "app": {
    "install": "Installer l’application"
  }
}
</code></pre><p>Now test the button. Make sure you’re on the <strong>production build</strong> served over HTTP(s).</p><pre><code class="language-tsx">npm run build -- --configuration=production
npx http-server ./dist/invoice-pwa/browser -p 4200 -c-1
</code></pre><ol><li>Open <code>http://localhost:4200</code>.</li><li>You should see the <strong>Install app</strong> button when:</li></ol><ul><li>Not already installed.</li><li>Browser deems it installable (has manifest, SW active, visited at least once).</li></ul><p>3. Click <strong>Install app</strong> &gt; the native install dialog appears.</p><p>4. After installing, the button disappears.</p><h3 id="6-add-connectivity-toasts-offline-and-back-online">6. Add connectivity toasts (offline & back online) <a class="markdownit-header-anchor" href="#6-add-connectivity-toasts-offline-and-back-online">🔗</a></h3><p>Here you’ll display a small banner when the app goes <strong>offline</strong> and a quick green flash when it comes <strong>back online</strong>. This improves UX by giving <strong>clear, instant feedback about network status</strong>. </p><p>It only takes four lightweight parts: a network status service, a toast banner, a quick wire-up in the app shell, and two i18n entries. Follow these steps:</p><ul><li><strong>Create the network service</strong></li></ul><p>Tracks <code>online</code>/<code>offline</code> state using signals, and flashes a short <code>Back online</code> message after reconnection, too.</p><p>File: <code><strong>src/app/core/network/network.service.ts</strong></code></p><pre><code>import { Injectable, signal } from '@angular/core';

@Injectable({ providedIn: 'root' })
export class NetworkService {
  // true = online, false = offline
  readonly online = signal&lt;boolean&gt;(navigator.onLine);

  // flash "Back online" for a few seconds after reconnection
  readonly flashOnline = signal&lt;boolean&gt;(false);

  private timer: any = null;

  constructor() {
    window.addEventListener('online', () =&gt; {
      this.online.set(true);
      this.flashOnline.set(true);
      clearTimeout(this.timer);
      this.timer = setTimeout(() =&gt; this.flashOnline.set(false), 3000);
    });

    window.addEventListener('offline', () =&gt; {
      this.online.set(false);
      this.flashOnline.set(false);
      clearTimeout(this.timer);
    });
  }
}</code></pre><ul><li><strong>Expose the service in the app shell</strong></li></ul><p>Expose the network status in the app shell so the template (and the offline toast) can read it.</p><p>File: <code><strong>src/app/app.ts</strong></code></p><pre><code>...
import { PwaService } from './core/pwa/pwa.service';
import { NetworkService } from './core/network/network.service';

...
export class App {
  ...
  readonly net = inject(NetworkService);

 ...
}</code></pre><ul><li><strong>Add toast banners to the template</strong></li></ul><p>Place the toaster exactly at the end of <code>app.html</code> after <code>&lt;/main&gt;</code>:</p><pre><code>&lt;!-- Offline / Online toasts --&gt;
@if (!net.online()) {
  &lt;div class="fixed bottom-4 left-1/2 -translate-x-1/2 bg-red-600 text-white px-4 py-2 rounded-lg shadow
              flex items-center gap-2 z-50"
       role="status" aria-live="polite"&gt;
    {{ 'app.offline' | translate }}
  &lt;/div&gt;
}
@if (net.flashOnline()) {
  &lt;div class="fixed bottom-4 left-1/2 -translate-x-1/2 bg-green-600 text-white px-4 py-2 rounded-lg shadow
              flex items-center gap-2 z-50"
       role="status" aria-live="polite"&gt;
    {{ 'app.backOnline' | translate }}
  &lt;/div&gt;
}</code></pre><p>Like always, add the translations:</p><p><code>public/assets/i18n/en.json</code></p><pre><code class="language-json">{
  "app": {
    "offline": "You’re offline. Some features may be unavailable.",
    "backOnline": "Back online"
  }
}
</code></pre><p><code>public/assets/i18n/fr.json</code></p><pre><code class="language-json">{
  "app": {
    "offline": "Vous êtes hors ligne. Certaines fonctionnalités peuvent être indisponibles.",
    "backOnline": "De retour en ligne"
  }
}
</code></pre><p>Now let's test:</p><ul><li>In DevTools &gt; <strong>Network</strong> &gt; set throttling to <strong>Offline</strong> &gt; the <strong>red</strong> toast appears.</li><li>If you switch back to <strong>Online</strong> &gt; a <strong>green</strong> “Back online” toast flashes for ~3s.</li></ul><p>Next, we’ll extend this feature core by adding new version available, <strong>search, filter, sort, and CSV export/import logic </strong>to the dashboard.</p><h3 id="7-new-version-available-toast">7. New version available toast <a class="markdownit-header-anchor" href="#7-new-version-available-toast">🔗</a></h3><p>Here you will show a small toast when a fresh build is ready. One tap, it reloads into the new version. Note that this runs only on production builds.</p><ul><li><strong>Create the update service</strong></li></ul><p><code><strong>src/app/core/pwa/update.service.ts</strong></code></p><pre><code>import { Injectable, signal } from '@angular/core';
import { SwUpdate } from '@angular/service-worker';

@Injectable({ providedIn: 'root' })
export class UpdateService {
  /** Show the “Update available” toast */
  readonly updateAvailable = signal&lt;boolean&gt;(false);

  /** Disable the button and show progress text while activating */
  readonly installing = signal&lt;boolean&gt;(false);

  constructor(private sw: SwUpdate) {
    // SW is only enabled in production; guard in dev
    if (!this.sw.isEnabled) return;

    // Listen for version events; when a new version is ready, show the toast
    this.sw.versionUpdates.subscribe(evt =&gt; {
      if ((evt as any).type === 'VERSION_READY') {
        this.updateAvailable.set(true);
      }
      // Optional: handle failures
      if ((evt as any).type === 'VERSION_INSTALLATION_FAILED') {
        // Could log or surface a subtle warning if you want
      }
    });

    // Also check on app focus (useful if the tab was idle)
    window.addEventListener('focus', () =&gt; {
      this.checkForUpdates();
    });

    // Initial check shortly after boot
    setTimeout(() =&gt; this.checkForUpdates(), 5_000);

    // Periodic check every 6 hours
    setInterval(() =&gt; this.checkForUpdates(), 6 * 60 * 60 * 1000);
  }

  async checkForUpdates(): Promise&lt;void&gt; {
    if (!this.sw.isEnabled) return;
    try {
      await this.sw.checkForUpdate();
    } catch {
      // ignore network errors
    }
  }

  /** Activate the new version and reload the app */
  async activateAndReload(): Promise&lt;void&gt; {
    if (!this.sw.isEnabled) return;
    this.installing.set(true);
    try {
      await this.sw.activateUpdate();
    } finally {
      // Reload to load the fresh version (even if activateUpdate failed, reload is harmless)
      document.location.reload();
    }
  }
}</code></pre><ul><li><strong>Expose it in the root component</strong></li></ul><p>Inject the service and add a tiny handler for the button.</p><p>File: <code><strong>src/app/app.ts</strong></code></p><pre><code>...

import { UpdateService } from './core/pwa/update.service';

...

export class App {
  
  readonly upd = inject(UpdateService);

 
  reloadApp() { this.upd.activateAndReload(); }
}</code></pre><ul><li><strong>Add the update toast</strong></li></ul><p>Place the code below at the very end of the template, after your offline/online toasts.</p><p>File: <code><strong>src/app/app.html</strong></code></p><pre><code>&lt;!-- Update available toast --&gt;
@if (upd.updateAvailable()) {
  &lt;div class="fixed bottom-4 left-1/2 -translate-x-1/2 bg-blue-600 text-white px-4 py-2 rounded-lg shadow
              flex items-center gap-3 z-50"
       role="status" aria-live="polite"&gt;
    {{ 'app.updateAvailable' | translate }}
    &lt;button class="btn ml-2"
            [disabled]="upd.installing()"
            (click)="reloadApp()"&gt;
      @if (upd.installing()) {
        {{ 'app.updating' | translate }}
      } @else {
        {{ 'app.reload' | translate }}
      }
    &lt;/button&gt;
  &lt;/div&gt;
}</code></pre><p>And don’t forget to update your translations!</p><p>File: <code>public/assets/i18n/en.json</code></p><pre><code class="language-json">{
  "app": {
    "updateAvailable": "A new version is available.",
    "reload": "Reload",
    "updating": "Updating…"
  }
}
</code></pre><p>File: <code>public/assets/i18n/fr.json</code></p><pre><code class="language-json">{
  "app": {
    "updateAvailable": "Une nouvelle version est disponible.",
    "reload": "Recharger",
    "updating": "Mise à jour…"
  }
}
</code></pre><p>Build, serve, and then watch the toast appear.</p><pre><code class="language-bash"># Build v1
npm run build -- --configuration=production
npx http-server ./dist/invoice-pwa/browser -p 4200 -c-1
</code></pre><p>When the app checks for updates on focus after approximately 5s periodically, the <strong>blue toast</strong> will show. Click <strong>Reload</strong> to activate and jump to the new version.</p><p>Up to now, the app allows you to <strong>create, edit, and manage invoices</strong>, but there’s no dedicated way to <strong>view</strong> a finalized invoice in a clean, print-friendly layout. Users need a professional, read-only page they can show clients, download as PDF, or print directly from the browser.</p><p><strong>So now, you will create the invoice view</strong> to display the selected invoice with proper formatting, localized currency and date styles, as well as optional notes.</p><h2 id="generate-the-view-invoice-component">🧾 Generate the view invoice component <a class="markdownit-header-anchor" href="#generate-the-view-invoice-component">🔗</a></h2><p>In this section you will create the invoice view to see the detail of an individual invoice when a user clicks on a specific view.</p><pre><code class="language-bash">npm run ng -- g c features/invoice-view/invoice-view --standalone --flat --skip-tests
</code></pre><p>Add its route: <code>src/app/app.routes.ts</code>.</p><pre><code class="language-tsx">{
  path: 'invoice/:id/view',
  loadComponent: () =&gt;
    import('./features/invoice-view/invoice-view').then(m =&gt; m.InvoiceViewComponent),
},
</code></pre><p>Create the View component (read-only, print-ready):</p><p><strong> <code>src/app/features/invoice-view/invoice-view.component.ts</code></strong></p><pre><code>import { Component, ChangeDetectionStrategy, inject, OnInit, computed } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Router, ActivatedRoute, RouterModule } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';

import { InvoiceStore } from '../../core/stores/invoice.store';
import type { Invoice, LineItem } from '../../core/models/invoice.model';
import { LocaleFormatService } from '../../core/locale-format.service';
import { lineTotal, invoiceTotal } from '../../core/utils/money';

@Component({
  selector: 'app-invoice-view',
  standalone: true,
  imports: [CommonModule, RouterModule, TranslateModule],
  templateUrl: './invoice-view.component.html',
  styleUrl: './invoice-view.component.scss',
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class InvoiceViewComponent implements OnInit {
  private readonly route = inject(ActivatedRoute);
  private readonly router = inject(Router);
  private readonly store = inject(InvoiceStore);
  private readonly fmt = inject(LocaleFormatService);

  // signal to the selected invoice (reactive)
  invoice = computed&lt;Invoice | null&gt;(() =&gt; {
    const id = this.route.snapshot.paramMap.get('id');
    return id ? this.store.byId(id)() : null;
  });

  ngOnInit(): void {
    if (!this.invoice()) this.router.navigateByUrl('/');
  }

  // formatting helpers
  date(d: string) { return this.fmt.dateISO(d); }
  money(amount: number, cur: string) { return this.fmt.currency(amount, cur); }
  lineTotal(li: LineItem) { return lineTotal(li); }
  grand(inv: Invoice) { return invoiceTotal(inv); }

  print(): void { window.print(); }
  back(): void { this.router.navigateByUrl('/'); }
}</code></pre><p>Add this code in <strong> <code>src/app/features/invoice-view/invoice-view.component.html</code></strong>.</p><pre><code>&lt;!-- Controls (hidden in print) --&gt;
&lt;div class="no-print max-w-4xl mx-auto p-4 flex items-center gap-2"&gt;
  &lt;a routerLink="/" class="btn-secondary"&gt;{{ 'nav.back' | translate }}&lt;/a&gt;
  &lt;button class="btn" type="button" (click)="print()"&gt;
    {{ 'invoice.view.print' | translate }}
  &lt;/button&gt;
&lt;/div&gt;

&lt;!-- Printable page --&gt;
&lt;section class="sheet max-w-4xl mx-auto bg-white text-gray-900 shadow p-8"&gt;
  @if (invoice(); as inv) {
    &lt;header class="flex items-start justify-between mb-8"&gt;
      &lt;div&gt;
        &lt;h1 class="text-2xl font-semibold"&gt;{{ 'invoice.view.title' | translate }} {{ inv.number }}&lt;/h1&gt;
        &lt;div class="text-sm text-gray-600"&gt;
          &lt;div&gt;{{ 'invoice.view.issueDate' | translate }}: {{ date(inv.issueDate) }}&lt;/div&gt;
          @if (inv.dueDate) {
            &lt;div&gt;{{ 'invoice.view.dueDate' | translate }}: {{ date(inv.dueDate!) }}&lt;/div&gt;
          }
          &lt;div&gt;{{ 'invoice.view.status' | translate }}: {{ ('status.' + inv.status) | translate }}&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- Minimal “Bill To” block --&gt;
      &lt;div class="text-right"&gt;
        &lt;div class="uppercase text-xs text-gray-500"&gt;{{ 'invoice.view.billTo' | translate }}&lt;/div&gt;
        &lt;div class="font-medium"&gt;{{ inv.clientName || '—' }}&lt;/div&gt;
        @if (inv.clientEmail) { &lt;div class="text-sm text-gray-600"&gt;{{ inv.clientEmail }}&lt;/div&gt; }
      &lt;/div&gt;
    &lt;/header&gt;

    &lt;!-- Items table --&gt;
    &lt;table class="w-full border-collapse"&gt;
      &lt;thead&gt;
        &lt;tr class="border-b border-gray-300 text-left"&gt;
          &lt;th class="py-2 pr-2 w-7/12"&gt;{{ 'invoice.form.item.description' | translate }}&lt;/th&gt;
          &lt;th class="py-2 pr-2 w-1/12 text-right"&gt;{{ 'invoice.form.item.quantity' | translate }}&lt;/th&gt;
          &lt;th class="py-2 pr-2 w-2/12 text-right"&gt;{{ 'invoice.form.item.unitPrice' | translate }}&lt;/th&gt;
          &lt;th class="py-2 pr-2 w-1/12 text-right"&gt;{{ 'invoice.form.item.taxRate' | translate }}&lt;/th&gt;
          &lt;th class="py-2 pl-2 w-2/12 text-right"&gt;{{ 'invoice.form.item.total' | translate }}&lt;/th&gt;
        &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
        @for (it of inv.items; track it.id) {
          &lt;tr class="border-b border-gray-100"&gt;
            &lt;td class="py-2 pr-2 align-top"&gt;
              &lt;div class="font-medium"&gt;{{ it.description || '—' }}&lt;/div&gt;
              @if (it.discountRate &amp;&amp; it.discountRate &gt; 0) {
                &lt;div class="text-xs text-gray-600"&gt;
                  {{ 'invoice.view.discount' | translate }}: {{ it.discountRate }}%
                &lt;/div&gt;
              }
            &lt;/td&gt;
            &lt;td class="py-2 pr-2 text-right align-top"&gt;{{ it.quantity }}&lt;/td&gt;
            &lt;td class="py-2 pr-2 text-right align-top"&gt;{{ money(it.unitPrice, inv.currency) }}&lt;/td&gt;
            &lt;td class="py-2 pr-2 text-right align-top"&gt;{{ it.taxRate || 0 }}%&lt;/td&gt;
            &lt;td class="py-2 pl-2 text-right align-top"&gt;
              {{ money(lineTotal(it), inv.currency) }}
            &lt;/td&gt;
          &lt;/tr&gt;
        }
      &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;!-- Notes + totals --&gt;
    &lt;div class="flex flex-col md:flex-row gap-6 mt-6"&gt;
      &lt;div class="md:w-1/2"&gt;
        @if (inv.notes) {
          &lt;div class="uppercase text-xs text-gray-500 mb-1"&gt;{{ 'invoice.view.notes' | translate }}&lt;/div&gt;
          &lt;div class="whitespace-pre-line"&gt;{{ inv.notes }}&lt;/div&gt;
        }
      &lt;/div&gt;
      &lt;div class="md:w-1/2"&gt;
        &lt;div class="flex justify-between text-lg font-medium border-t pt-4"&gt;
          &lt;span&gt;{{ 'invoice.form.total' | translate }}&lt;/span&gt;
          &lt;span&gt;{{ money(grand(inv), inv.currency) }}&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  }
&lt;/section&gt;</code></pre><p>And add print style so the PDF looks good:</p><p><strong><code>src/app/features/invoice-view/invoice-view.component.scss</code></strong></p><pre><code class="language-scss">/* Hide elements with .no-print when printing */
@media print {
  .no-print { display: none !important; }
  html, body { background: white !important; }
  .sheet {
    box-shadow: none !important;
    margin: 0 !important;
    width: auto !important;
    padding: 0.5in !important; /* print margins */
  }
}

/* On screen */
.sheet { border-radius: 0.75rem; }
</code></pre><p>Now, update your translations:</p><p><code>public/assets/i18n/en.json</code></p><pre><code class="language-json">{
  "invoice": {
    "view": {
      "title": "Invoice",
      "issueDate": "Issue date",
      "dueDate": "Due date",
      "status": "Status",
      "billTo": "Bill to",
      "notes": "Notes",
      "print": "Print / Save as PDF",
      "discount": "Discount"
    }
  }
}
</code></pre><p><code>public/assets/i18n/fr.json</code></p><pre><code class="language-json">{
  "invoice": {
    "view": {
      "title": "Facture",
      "issueDate": "Date d'émission",
      "dueDate": "Date d'échéance",
      "status": "Statut",
      "billTo": "Destinataire",
      "notes": "Notes",
      "print": "Imprimer / Enregistrer en PDF",
      "discount": "Remise"
    }
  }
}
</code></pre><p>Then add the“View” action on each row in <code>src/app/features/dashboard/dashboard.ts</code>.</p><pre><code class="language-tsx">view(inv: Invoice) {
  this.router.navigate(['/invoice', inv.id, 'view']);
}
</code></pre><p>Drop the button in your actions block in <code>src/app/features/dashboard/dashboard.html</code>.</p><pre><code class="language-html">&lt;button type="button" class="btn-secondary" (click)="view(inv)"&gt;
  {{ 'invoice.actions.view' | translate }}
&lt;/button&gt;
</code></pre><p>And translations in <code>public/assets/i18n/en.json</code>...</p><pre><code class="language-json">{ "invoice": { "actions": { "view": "View" } } }
</code></pre><p>...and <code>public/assets/i18n/fr.json</code>.</p><pre><code class="language-json">{ "invoice": { "actions": { "view": "Voir" } } }
</code></pre><p>Finally, run a quick test by starting the app with <code>npm start</code>, then open <code>/invoice/:id/view</code> to verify that the page displays and prints cleanly. From the dashboard, click <strong>View</strong>. It should open the same screen where the <strong>Print / Save as PDF</strong> action is working properly.</p><p>Our last step today will be adding <strong>Search / Filter / Sort</strong> to the dashboard.</p><h2 id="search-filter-and-sort-feature">🔎 Search, filter and sort feature <a class="markdownit-header-anchor" href="#search-filter-and-sort-feature">🔗</a></h2><h3 id="1-dashboard-component">1. Dashboard component <a class="markdownit-header-anchor" href="#1-dashboard-component">🔗</a></h3><p>In your <code><strong>src/app/features/dashboard/dashboard.component.ts</strong></code>:</p><pre><code class="language-tsx">import { Component, ChangeDetectionStrategy, inject, computed, signal } from '@angular/core';
import { RouterModule, Router } from '@angular/router';
</code></pre><p>Inject <strong>Router</strong>:</p><pre><code class="language-tsx">private readonly router = inject(Router);
</code></pre><p>Add <strong>UI state signals</strong> for search text, status, sort:</p><pre><code class="language-tsx">type StatusFilter = 'all' | 'draft' | 'sent' | 'paid';
type SortKey = 'dateDesc' | 'dateAsc' | 'amountDesc' | 'amountAsc';

readonly query  = signal&lt;string&gt;('');
readonly status = signal&lt;StatusFilter&gt;('all');
readonly sort   = signal&lt;SortKey&gt;('dateDesc');
</code></pre><p>Derived view:</p><pre><code>readonly view = computed(() =&gt; {
  const q = this.query().trim().toLowerCase();
  const st = this.status();
  const sortKey = this.sort();

  let rows = this.invoices();

  if (st !== 'all') rows = rows.filter(r =&gt; r.status === st);

  if (q) {
    rows = rows.filter(r =&gt;
      r.number.toLowerCase().includes(q) ||
      r.clientName.toLowerCase().includes(q) ||
      (r.clientEmail?.toLowerCase().includes(q) ?? false) ||
      (r.notes?.toLowerCase().includes(q) ?? false)
    );
  }

  const byAmount = (r: Invoice) =&gt; invoiceTotal(r);
  const byDate   = (r: Invoice) =&gt; r.issueDate; // ISO sorts lexicographically

  rows = [...rows];
  switch (sortKey) {
    case 'amountDesc': rows.sort((a,b) =&gt; byAmount(b) - byAmount(a)); break;
    case 'amountAsc':  rows.sort((a,b) =&gt; byAmount(a) - byAmount(b)); break;
    case 'dateAsc':    rows.sort((a,b) =&gt; byDate(a).localeCompare(byDate(b))); break;
    case 'dateDesc':
    default:           rows.sort((a,b) =&gt; byDate(b).localeCompare(byDate(a))); break;
  }

  return rows;
});</code></pre><p>Add row action handlers:</p><pre><code>viewInvoice(inv: Invoice) { this.router.navigate(['/invoice', inv.id, 'view']); }
edit(inv: Invoice)        { this.router.navigate(['/invoice', inv.id]); }
markSent(inv: Invoice)    { if (inv.status !== 'sent') this.store.setStatus(inv.id, 'sent'); }
markPaid(inv: Invoice)    { if (inv.status !== 'paid') this.store.setStatus(inv.id, 'paid'); }
remove(inv: Invoice)      { if (confirm(`Delete ${inv.number}? This cannot be undone.`)) this.store.remove(inv.id); }

// top-bar inputs → signals
onSearch(v: string)       { this.query.set(v); }
onStatusChange(v: string) { this.status.set((v as StatusFilter) || 'all'); }
onSortChange(v: string)   { this.sort.set((v as SortKey) || 'dateDesc'); }</code></pre><p>Then update the dashboard template on <code><strong>src/app/features/dashboard/dashboard.html</strong></code>.</p><pre><code>&lt;header class="flex flex-col gap-3 md:flex-row md:items-center"&gt;
  &lt;h2 class="text-2xl font-semibold"&gt;{{ 'dashboard.title' | translate }}&lt;/h2&gt;

  &lt;div class="md:ml-auto grid grid-cols-1 md:grid-cols-3 gap-2 items-center"&gt;
    &lt;!-- Search --&gt;
    &lt;input
      #q type="search"
      class="rounded-lg border p-2"
      [value]="query()"
      (input)="onSearch(q.value)"
      [placeholder]="'dashboard.filters.searchPlaceholder' | translate" /&gt;

    &lt;!-- Status --&gt;
    &lt;select
      #statusSel class="rounded-lg border p-2"
      [value]="status()"
      (change)="onStatusChange(statusSel.value)"&gt;
      &lt;option value="all"&gt;{{ 'status.all' | translate }}&lt;/option&gt;
      &lt;option value="draft"&gt;{{ 'status.draft' | translate }}&lt;/option&gt;
      &lt;option value="sent"&gt;{{ 'status.sent' | translate }}&lt;/option&gt;
      &lt;option value="paid"&gt;{{ 'status.paid' | translate }}&lt;/option&gt;
    &lt;/select&gt;

    &lt;!-- Sort --&gt;
    &lt;select
      #sortSel class="rounded-lg border p-2"
      [value]="sort()"
      (change)="onSortChange(sortSel.value)"&gt;
      &lt;option value="dateDesc"&gt;{{ 'dashboard.filters.sort.dateDesc' | translate }}&lt;/option&gt;
      &lt;option value="dateAsc"&gt;{{ 'dashboard.filters.sort.dateAsc' | translate }}&lt;/option&gt;
      &lt;option value="amountDesc"&gt;{{ 'dashboard.filters.sort.amountDesc' | translate }}&lt;/option&gt;
      &lt;option value="amountAsc"&gt;{{ 'dashboard.filters.sort.amountAsc' | translate }}&lt;/option&gt;
    &lt;/select&gt;
  &lt;/div&gt;

  &lt;div class="flex items-center gap-2"&gt;
    &lt;a routerLink="/invoice/new" class="btn"&gt;{{ 'invoice.actions.create' | translate }}&lt;/a&gt;
    &lt;button class="btn-secondary" type="button" (click)="createSample()"&gt;+ Sample&lt;/button&gt;
  &lt;/div&gt;
&lt;/header&gt;</code></pre><p>Insert the result count + empty states above your list:</p><pre><code>@if (view().length &gt; 0) {
  &lt;div class="text-sm text-gray-500"&gt;
    {{ 'dashboard.resultsPlural' | translate : { count: view().length } }}
    @if (query().length) { — {{ 'dashboard.searchTerm' | translate }}: “{{ query() }}” }
  &lt;/div&gt;
}

@if (invoices().length === 0) {
  &lt;div class="rounded-xl border border-dashed p-8 text-gray-600"&gt;
    {{ 'dashboard.empty' | translate }}
  &lt;/div&gt;
} @else if (view().length === 0) {
  &lt;div class="rounded-xl border border-dashed p-8 text-gray-700 space-y-1"&gt;
    &lt;div class="font-semibold"&gt;{{ 'dashboard.noResultsTitle' | translate }}&lt;/div&gt;
    &lt;div&gt;{{ 'dashboard.noResultsBody' | translate }}&lt;/div&gt;
    @if (query().length) {
      &lt;div class="text-sm text-gray-500"&gt;
        {{ 'dashboard.searchTerm' | translate }}: “{{ query() }}”
      &lt;/div&gt;
    }
  &lt;/div&gt;
}</code></pre><p>Use the filtered list (<code>view()</code>) and updated actions inside your existing list:</p><pre><code class="language-html">&lt;ul class="space-y-3"&gt;
  @for (inv of view(); track inv.id) {
    &lt;!-- … existing row header with number/client/date/total … --&gt;

    &lt;div class="mt-3 flex items-center gap-2"&gt;
      &lt;button type="button" class="btn-secondary" (click)="viewInvoice(inv)"&gt;
        {{ 'invoice.actions.view' | translate }}
      &lt;/button&gt;
      &lt;button type="button" class="btn-secondary" (click)="edit(inv)"&gt;
        {{ 'invoice.actions.edit' | translate }}
      &lt;/button&gt;
      @if (inv.status !== 'sent') {
        &lt;button type="button" class="btn-secondary" (click)="markSent(inv)"&gt;
          {{ 'invoice.actions.markSent' | translate }}
        &lt;/button&gt;
      }
      @if (inv.status !== 'paid') {
        &lt;button type="button" class="btn-secondary" (click)="markPaid(inv)"&gt;
          {{ 'invoice.actions.markPaid' | translate }}
        &lt;/button&gt;
      }
      &lt;buttontype="button"
        class="inline-flex items-center gap-2 rounded-lg border border-red-300 bg-white px-3 py-1.5 text-red-700 shadow-sm hover:bg-red-50 focus:outline-none focus:ring-2 focus:ring-red-400/40"
        (click)="remove(inv)"&gt;
        {{ 'invoice.actions.delete' | translate }}
      &lt;/button&gt;
    &lt;/div&gt;
  }
&lt;/ul&gt;
</code></pre><p>Then update your translations:</p><p><code>public/assets/i18n/en.json</code></p><pre><code class="language-json">{
  "status": {
    "all": "All",
    "draft": "Draft",
    "sent": "Sent",
    "paid": "Paid"
  },
  "dashboard": {
    "resultsPlural": "{{count}} result(s)",
    "noResultsTitle": "Invoice not found",
    "noResultsBody": "No invoices match your search or filters.",
    "searchTerm": "Search",
    "filters": {
      "searchPlaceholder": "Search by number, client, email, notes…",
      "sort": {
        "dateDesc": "Newest first",
        "dateAsc": "Oldest first",
        "amountDesc": "Amount: high → low",
        "amountAsc": "Amount: low → high"
      }
    }
  }
}

</code></pre><p><code>public/assets/i18n/fr.json</code></p><pre><code class="language-json">{
  "status": {
    "all": "Tous",
    "draft": "Brouillon",
    "sent": "Envoyée",
    "paid": "Payée"
  },
  "dashboard": {
    "resultsPlural": "{{count}} résultat(s)",
    "noResultsTitle": "Facture introuvable",
    "noResultsBody": "Aucune facture ne correspond à votre recherche ou à vos filtres.",
    "searchTerm": "Recherche",
    "filters": {
      "searchPlaceholder": "Rechercher par numéro, client, email, notes…",
      "sort": {
        "dateDesc": "Plus récentes d'abord",
        "dateAsc": "Plus anciennes d'abord",
        "amountDesc": "Montant : élevé → faible",
        "amountAsc": "Montant : faible → élevé"
      }
    }
  }
}

</code></pre><p>Try typing in the search box and observe the list updates instantly! Play with filters or sorting to see invoices reshuffle, then clear everything to get back to your cozy “Newest first” view.</p><h3 id="2-add-an-export-method">2. Add an export method <a class="markdownit-header-anchor" href="#2-add-an-export-method">🔗</a></h3><p>Add the code blow inside the <code>InvoiceStore</code> class in <code><strong>src/app/core/stores/invoice.store.ts</strong></code>.</p><pre><code class="language-tsx">/** ---- backup/export ---- */
exportJSON(pretty = true): string {
  const payload = { version: 2, data: this._invoices() };
  return JSON.stringify(payload, null, pretty ? 2 : 0);
}
</code></pre><p>Add this helper in  <code>src/app/core/utils/files.ts</code>: </p><pre><code class="language-tsx">export function downloadText(
  filename: string,
  text: string,
  mime = 'application/json;charset=utf-8'
) {
  const blob = new Blob([text], { type: mime });
  const url = URL.createObjectURL(blob);
  const a = document.createElement('a');
  a.href = url;
  a.download = filename;
  document.body.appendChild(a);
  a.click();
  document.body.removeChild(a);
  URL.revokeObjectURL(url);
}
</code></pre><p>Next, add the import at the top and then the method inside the class in <code>src/app/features/dashboard/dashboard.component.ts</code>:</p><pre><code class="language-tsx">// add import
import { downloadText } from '../../core/utils/files';

// inside DashboardComponent
exportBackup() {
  const json = this.store.exportJSON(true);
  const stamp = new Date().toISOString().slice(0, 19).replace(/[:T]/g, '-'); // YYYY-MM-DD-HH-MM-SS
  downloadText(`invoices-backup-${stamp}.json`, json);
}
</code></pre><p>Add now the export button in <code>src/app/features/dashboard/dashboard.component.html</code>:</p><pre><code class="language-html">&lt;button class="btn-secondary" type="button" (click)="exportBackup()"&gt;
  {{ 'dashboard.actions.export' | translate }}
&lt;/button&gt;
</code></pre><p><code>public/assets/i18n/en.json</code></p><pre><code class="language-json">{
  "dashboard": {
    "actions": {
      "export": "Exporter en JSON"
    }
  }
}

</code></pre><p><code>public/assets/i18n/fr.json</code></p><pre><code class="language-json">{
  "dashboard": {
    "actions": {
      "export": "Export JSON"
    }
  }
}

</code></pre><h3 id="lessbrgreater3-add-import-json"><br>3. Add Import JSON <a class="markdownit-header-anchor" href="#lessbrgreater3-add-import-json">🔗</a></h3><p>Here, add a simple way for users to <strong>restore saved invoices</strong> by importing their JSON backups. They can either replace all data or merge it with existing invoices</p><p>Add these inside the <code>InvoiceStore</code> class in <code><strong>src/app/core/stores/invoice.store.ts</strong></code>:</p><pre><code class="language-tsx">/** ---- restore/import helpers ---- */
setAll(list: Invoice[]): void {
  this._invoices.set([...list]);
}

mergeAll(list: Invoice[]): void {
  const map = new Map&lt;string, Invoice&gt;();
  for (const inv of this._invoices()) map.set(inv.id, inv);
  for (const inv of list) map.set(inv.id, inv); // imported wins on id collision
  this._invoices.set([...map.values()]);
}
</code></pre><p>The <strong><code>setAll</code> </strong>replaces everything in one go;<strong> <code>mergeAll</code></strong> keeps existing invoices and lets imported ones win when IDs collide.</p><p>Add these imports at the top alongside your existing ones in <code>src/app/features/dashboard/dashboard.component.ts</code>:</p><pre><code class="language-tsx">import { ViewChild, ElementRef } from '@angular/core';
import { sanitizeInvoice } from '../../core/persistence/invoice.serialization';
</code></pre><p>Add a reference to the hidden input inside the class:</p><pre><code class="language-tsx">@ViewChild('importInput') importInput?: ElementRef&lt;HTMLInputElement&gt;;
</code></pre><p>Include these two small methods with your other actions:</p><pre><code class="language-tsx">triggerImport(el: HTMLInputElement) {
  el.value = ''; // allow re-selecting the same file
  el.click();
}

async handleImport(files: FileList | null) {
  if (!files || files.length === 0) return;
  const file = files[0];

  try {
    const text = await file.text();
    const parsed: unknown = JSON.parse(text);

    // Accept v1 (array) or v2 ({version, data: []})
    const rawList: unknown[] =
      Array.isArray(parsed)
        ? parsed
        : (parsed &amp;&amp; typeof parsed === 'object' &amp;&amp; Array.isArray((parsed as any)['data']))
          ? (parsed as any)['data']
          : [];

    const imported = rawList
      .map(sanitizeInvoice)
      .filter((x): x is NonNullable&lt;ReturnType&lt;typeof sanitizeInvoice&gt;&gt; =&gt; !!x);

    if (imported.length === 0) {
      alert('Import failed: no valid invoices found in file.');
      return;
    }

    const replace = confirm(
      `Found ${imported.length} invoices.\\n\\nOK = Replace ALL existing invoices\\nCancel = Merge (imported overwrite by id)`
    );

    if (replace) {
      this.store.setAll(imported);
      alert('Restore complete: replaced all invoices.');
    } else {
      this.store.mergeAll(imported);
      alert('Restore complete: merged invoices.');
    }
  } catch (e) {
    console.error(e);
    alert('Import failed: invalid JSON or unreadable file.');
  } finally {
    if (this.importInput?.nativeElement) this.importInput.nativeElement.value = '';
  }
}
</code></pre><p>Let hide file input for import button in the header actions (next to Create / + Sample / Export) of the <code>src/app/features/dashboard/dashboard.component.html</code>:</p><pre><code class="language-html">&lt;!-- Hidden file input for import --&gt;
&lt;input
  #importInput
  type="file"
  accept="application/json"
  class="hidden"
  (change)="handleImport(importInput.files)" /&gt;

&lt;button class="btn-secondary" type="button" (click)="triggerImport(importInput)"&gt;
  {{ 'dashboard.actions.import' | translate }}
&lt;/button&gt;
</code></pre><p>Add the import text on <code>public/assets/i18n/en.json</code>:</p><pre><code class="language-json">{
  "dashboard": {
    "actions": {
      "import": "Import JSON"
    }
  }
}
</code></pre><p>And on <code>public/assets/i18n/fr.json</code>:</p><pre><code class="language-json">{
  "dashboard": {
    "actions": {
      "import": "Importer JSON"
    }
  }
}
</code></pre><p>Open the app and run a quick test to make sure the import works.</p><p>Let’s round out backups with a clean <strong>CSV export.</strong> No need to use libraries: just two neat files you can open in Excel/Sheets. <strong>One for invoices, one for line items</strong>.</p><h3 id="4-export-as-csv">4. Export as CSV <a class="markdownit-header-anchor" href="#4-export-as-csv">🔗</a></h3><p>Let’s make it easy for users to work with their data outside the app. </p><p>With a single click, they’ll be able to <strong>export all invoices and line items as CSV files</strong>, perfect for quick reviews, reports, or even Excel and Google Sheets.</p><p>Create a CSV helper first:</p><p><code><strong>src/app/core/utils/csv.ts</strong></code></p><pre><code class="language-tsx">function csvEscape(value: unknown): string {
  const s = value === undefined || value === null ? '' : String(value);
  if (/[",\\r\\n]/.test(s)) return `"${s.replace(/"/g, '""')}"`;
  return s;
}

/** Build a CSV string from an array of plain objects using the provided column order. */
export function toCsv(columns: string[], rows: Array&lt;Record&lt;string, unknown&gt;&gt;): string {
  const header = columns.join(',');
  const data = rows.map(r =&gt; columns.map(c =&gt; csvEscape(r[c])).join(','));
  return [header, ...data].join('\\r\\n');
}
</code></pre><p>This tiny helper <strong>takes any list of objects and turns it into a clean, spreadsheet-ready CSV file</strong>. It automatically escapes commas and quotes so everything opens correctly in Excel or Sheets.</p><p>Add these imports at the top in <code>src/app/features/dashboard/dashboard.component.ts</code>:</p><pre><code class="language-tsx">import { toCsv } from '../../core/utils/csv';
import { lineTotal, invoiceTotal } from '../../core/utils/money';
</code></pre><p>Then, inside your <code>DashboardComponent</code>, add this method:</p><pre><code>// ---------- export CSV ----------
exportCsv() {
  const list = this.invoices();

  // Invoices CSV (one row per invoice; totals are raw numbers in base currency)
  const invCols = [
    'id','number','clientName','clientEmail','issueDate','dueDate',
    'currency','status','itemsCount','total','createdAt','updatedAt'
  ];
  const invRows = list.map(inv =&gt; ({
    id: inv.id,
    number: inv.number,
    clientName: inv.clientName,
    clientEmail: inv.clientEmail ?? '',
    issueDate: inv.issueDate,
    dueDate: inv.dueDate ?? '',
    currency: inv.currency,
    status: inv.status,
    itemsCount: inv.items.length,
    total: invoiceTotal(inv),        // numeric, not localized
    createdAt: inv.createdAt,
    updatedAt: inv.updatedAt,
  }));
  const invoicesCsv = toCsv(invCols, invRows);

  // Items CSV (one row per line item; includes invoiceId)
  const itemCols = [
    'invoiceId','itemId','description','quantity','unitPrice','taxRate','discountRate','lineTotal'
  ];
  const itemRows = list.flatMap(inv =&gt;
    inv.items.map(it =&gt; ({
      invoiceId: inv.id,
      itemId: it.id,
      description: it.description,
      quantity: it.quantity,
      unitPrice: it.unitPrice,
      taxRate: it.taxRate ?? 0,
      discountRate: it.discountRate ?? 0,
      lineTotal: lineTotal(it),      // numeric, not localized
    }))
  );
  const itemsCsv = toCsv(itemCols, itemRows);

  const stamp = new Date().toISOString().slice(0, 19).replace(/[:T]/g, '-');
  downloadText(`invoices-${stamp}.csv`, invoicesCsv, 'text/csv;charset=utf-8');
  downloadText(`invoice_items-${stamp}.csv`, itemsCsv, 'text/csv;charset=utf-8');
}</code></pre><p>This exports <strong>two CSV files</strong>: one summarizing each invoice and another listing all individual line items. Keeping the numbers raw makes them easier to analyze or chart later in any spreadsheet.</p><p>Let add the UI button in <code>src/app/features/dashboard/dashboard.component.html</code>  in the header actions (next to Create / + Sample / Export JSON / Import JSON):</p><pre><code class="language-html">&lt;button class="btn-secondary" type="button" (click)="exportCsv()"&gt;
  {{ 'dashboard.actions.exportCsv' | translate }}
&lt;/button&gt;
</code></pre><p>Update your translations:</p><p><code>public/assets/i18n/en.json</code></p><pre><code class="language-json">{
  "dashboard": {
    "actions": {
      "exportCsv": "Export CSV"
    }
  }
}
</code></pre><p><code>public/assets/i18n/fr.json</code></p><pre><code class="language-json">{
  "dashboard": {
    "actions": {
      "exportCsv": "Exporter CSV"
    }
  }
}
</code></pre><p>Open the app, hit <strong>Export CSV</strong>, and voilà! <strong>Two neat files land on your computer </strong>(<code>invoices-YYYY-MM-DD-HH-MM-SS.csv</code>and <code>invoice_items-YYYY-MM-DD-HH-MM-SS.csv</code>). Drop them into Excel or Google Sheets and play around: sort, filter, or build quick reports in seconds.</p><h2 id="whats-next">➡️ What's next? <a class="markdownit-header-anchor" href="#whats-next">🔗</a></h2><p>This wraps up the second part of your journey where we built the foundation of the app and set up translation services to make it bilingual and user-friendly. In the next part, <strong>we’ll take things further by integrating the Angular app with Localazy</strong>, unlocking the real advantages of localization: faster translations, easier updates, and a smoother multilingual experience for every user.</p>]]></content:encoded>
            <author>Kevine Nzapdi</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/11/technical-article-2-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Small adjustment to Localazy pricing coming in 2026]]></title>
            <link>https://localazy.com/blog/pricing-update-january-2026</link>
            <guid isPermaLink="false">pricing-update-january-2026</guid>
            <pubDate>Mon, 01 Dec 2025 14:31:42 GMT</pubDate>
            <description><![CDATA[Starting January 1st, 2026, we're adjusting our pricing across all plans by approximately 5%. Below, you will find the most important information you need to know. ]]></description>
            <content:encoded><![CDATA[<p>Running a cloud SaaS platform means paying for infrastructure, APIs, development tools, and other services. It also means supporting the people who make it happen and paying them fairly. </p><p>Over the past two years, all costs have increased while our pricing stayed the same. Now we need to make a modest adjustment to maintain the quality and reliability you expect from Localazy.</p><p>The average price increase across all plans is +5.4%.</p><h2 id="what-this-means-for-you">🧐 What this means for you <a class="markdownit-header-anchor" href="#what-this-means-for-you">🔗</a></h2><ul><li><strong>Annual plans:</strong> Your current pricing is locked in until your next renewal date.</li><li><strong>Monthly plans:</strong> The new pricing takes effect with your January 2026 billing cycle.</li><li><strong>Enterprise plans</strong>: Your pricing stays the same.</li></ul><h3 id="localazy-ai-is-coming-to-professional-plan">Localazy AI is coming to Professional plan <a class="markdownit-header-anchor" href="#localazy-ai-is-coming-to-professional-plan">🔗</a></h3><p>If you are on the <a href="https://localazy.com/tiers/professional">Professional plan</a>, you can look forward to getting access to the <a href="https://localazy.com/features/localazy-ai">Localazy AI</a> in your tier. </p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">🧠</div><div class="kg-callout-text">Learn more about Localazy AI and how it works in the <a href="https://localazy.com/docs/general/localazy-ai">docs</a>.</div></div><h3 id="you-get-more-credits-too">You get more credits too <a class="markdownit-header-anchor" href="#you-get-more-credits-too">🔗</a></h3><p>Each subscription includes <a href="https://localazy.com/docs/general/localazy-credits">free credits</a> that renew every month (or year, depending on your billing period). And we are raising these credit amounts for you too, it's only fair. </p><h2 id="new-pricing-overview">🧮 New pricing overview <a class="markdownit-header-anchor" href="#new-pricing-overview">🔗</a></h2><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>Plan &amp; Source keys</th>
<th style="text-align:right">Monthly Price</th>
<th style="text-align:right">Annual Price</th>
<th style="text-align:right">Free Credits</th>
</tr>
</thead>
<tbody>
<tr>
<td>🧑‍🚀 Professional (1,000)</td>
<td style="text-align:right">$41</td>
<td style="text-align:right">$408 <em>($34/month)</em></td>
<td style="text-align:right">$6</td>
</tr>
<tr>
<td>🧑‍🚀 Professional (1,500)</td>
<td style="text-align:right">$52</td>
<td style="text-align:right">$516 <em>($43/month)</em></td>
<td style="text-align:right">$8</td>
</tr>
<tr>
<td>🧑‍🚀 Professional (2,500)</td>
<td style="text-align:right">$73</td>
<td style="text-align:right">$732 <em>($61/month)</em></td>
<td style="text-align:right">$11</td>
</tr>
<tr>
<td>🚀 Autopilot (3,500)</td>
<td style="text-align:right">$94</td>
<td style="text-align:right">$936 <em>($78/month)</em></td>
<td style="text-align:right">$16</td>
</tr>
<tr>
<td>🚀 Autopilot (5,000)</td>
<td style="text-align:right">$125</td>
<td style="text-align:right">$1,248 <em>($104/month)</em></td>
<td style="text-align:right">$21</td>
</tr>
<tr>
<td>🚀 Autopilot (7,500)</td>
<td style="text-align:right">$167</td>
<td style="text-align:right">$1,668 <em>($139/month)</em></td>
<td style="text-align:right">$26</td>
</tr>
<tr>
<td>🌍 Business (10,000)</td>
<td style="text-align:right">$210</td>
<td style="text-align:right">$2,100 <em>($175/month)</em></td>
<td style="text-align:right">$34</td>
</tr>
<tr>
<td>🌍 Business (25,000)</td>
<td style="text-align:right">$315</td>
<td style="text-align:right">$3,156 <em>($263/month)</em></td>
<td style="text-align:right">$51</td>
</tr>
<tr>
<td>🌍 Business (50,000)</td>
<td style="text-align:right">$420</td>
<td style="text-align:right">$4,200 <em>($350/month)</em></td>
<td style="text-align:right">$67</td>
</tr>
<tr>
<td>🌍 Business (100,000)</td>
<td style="text-align:right">$525</td>
<td style="text-align:right">$5,256 <em>($438/month)</em></td>
<td style="text-align:right">$84</td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p><em>All prices in USD, not including VAT.</em></p><h2 id="something-to-look-forward-to">🤩 Something to look forward to <a class="markdownit-header-anchor" href="#something-to-look-forward-to">🔗</a></h2><p>Now for some good news. 😅 Our team continuously improves the platform based on your feedback. Here are some things that you can expect in the year 2026, in no particular order:</p><ol><li>Glossary refresh for better management</li><li>New QA tools and QA agent</li><li>Localazy AI translation API</li><li>Organization-wide glossaries and style guides</li></ol><h2 id="questions">🙋‍♀️ Questions? <a class="markdownit-header-anchor" href="#questions">🔗</a></h2><p>If you have any questions about the pricing change, upcoming features, or your specific plan, reach out to me at <a href="mailto:support@localazy.com">petr@localazy.com</a>.</p><p>Thanks for being part of the Localazy community. 💙</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/11/pricing-2026.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Mythbusters: Users will tell us if something’s wrong with our localized UX]]></title>
            <link>https://localazy.com/blog/mythbusters-users-will-tell-us-if-somethings-wrong-with-our-localized-ux</link>
            <guid isPermaLink="false">mythbusters-users-will-tell-us-if-somethings-wrong-with-our-localized-ux</guid>
            <pubDate>Wed, 26 Nov 2025 09:57:12 GMT</pubDate>
            <description><![CDATA[Don’t wait for users to report localization problems, as most won’t. Discover how to fix multilingual UX issues early and cut churn with localization testing.]]></description>
            <content:encoded><![CDATA[<p>“Surely if our localized UX is acting up, we’ll hear about it soon enough?”</p><p>Not so fast! </p><p>User feedback is great, but waiting until enough people complain about localization issues isn’t a winning strategy. <strong>Do you really want to hear about problems days, weeks, or months after launch?</strong> Just think how many users will drop off before it comes to light.</p><p>The truth is, most people won’t bother to complain. <strong>They’ll just drop off</strong> without a word.</p><p>As <a href="https://www.linkedin.com/in/joespeck/">Joe Speck</a>, Global Web Platforms Manager at <a href="https://www.wallstreetenglish.com/" rel="noopener noreferrer nofollow">Wall Street English</a>, puts it, “We can’t just rely on site visitors to flag problems. Consistency across 35 sites is already hard enough to manage. If a localization error slips through, we might not see it until much later.</p><p>Those first impressions last, so it’s unlikely you’ll get a second chance to impress. As research shows, <a href="https://www.forbes.com/advisor/business/software/website-statistics/" rel="noopener noreferrer nofollow">88% of users say they won’t return after a bad experience.</a></p><p>With that in mind, if you’re launching in new markets or updating your website or app, <strong>can you really afford to neglect localization testing</strong>?</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/11/mythbusters_08-infog.png" class="kg-image" alt loading="lazy" width="1200" height="643" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/mythbusters_08-infog.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/mythbusters_08-infog.png 1000w, https://ghost.localazy.com/content/images/2025/11/mythbusters_08-infog.png 1200w" sizes="(min-width: 1200px) 1200px"><figcaption>Sources: <a href="https://insight.croud.com/hubfs/Croud%202022%20H1%20Localisation%20Report/2022%20Localization_Report_Croud%20US.pdf">Croud</a>, <a href="https://www.performancemarketingworld.com/article/1754038/lost-translation-poor-localisation-costing-customers">PMW</a>, <a href="https://www.accelingo.com/continuous-localization/">Accelingo</a>, <a href="https://prg.ai/wp-content/uploads/2024/02/2402_DeepL_Report.pdf">DeepL</a>, and <a href="https://journals.sagepub.com/doi/10.1177/21582440251386954">this report</a> by Jiang, Wei and Al-Shaibani.</figcaption></figure><h2 id="localization-errors-are-a-churn-trigger">👎 Localization errors are a churn trigger <a class="markdownit-header-anchor" href="#localization-errors-are-a-churn-trigger">🔗</a></h2><p>We’re imperfect humans living in an imperfect world. Until that changes (which it won’t), most new UX releases will have at least a few localization issues that don’t get picked up during the development phase.</p><p>That’s why it pays to test baby, test! Don’t mistakenly think that fancy new automation tools will pick up all the bloopers.</p><p>As useful as AI is, it <a href="https://localazy.com/blog/mythbusters-we-use-google-translate-and-gpt-to-manage-our-localization/">can’t catch all localization bugs</a>. Robots don’t understand cultural nuances like we do. You need a real human translator to cast an eye over it if you want perfection. As well as missing cultural nuance, automation tools don’t pick up on other common localization problems, such as…</p><h3 id="clunky-translations-that-sound-unnatural">Clunky translations that sound unnatural <a class="markdownit-header-anchor" href="#clunky-translations-that-sound-unnatural">🔗</a></h3><p>A funny, but slightly cringe, example is when <strong>KFC</strong>'s slogan “Finger-lickin’ good” <a href="https://thedrum.com/news/lost-translation-10-times-brands-got-it-wrong-when-going-global">was translated in China</a> as the darkly sinister: “Eat your fingers off.”  <strong>Coors </strong>messed up too, when their slogan “Turn it loose” was translated into Spanish as “Suffer from diarrhea.” Not a great advert for their beer! 😬</p><h3 id="badly-translated-idioms">Badly-translated idioms <a class="markdownit-header-anchor" href="#badly-translated-idioms">🔗</a></h3><p>The English idiom “it’s raining cats and dogs” is meaningless if translated literally in China. They would probably wonder why cats and dogs are falling from the sky. In instances like these, <a href="https://localazy.com/blog/how-to-translate-idioms-the-right-way/">idioms can lose meaning</a> (or even change it) across locales.</p><h3 id="cultural-slip-ups">Cultural slip-ups <a class="markdownit-header-anchor" href="#cultural-slip-ups">🔗</a></h3><p>This encompasses words, colors, symbols, or images that confuse or offend.<strong> Nike </strong><a href="https://www.dailymail.co.uk/news/article-6640481/Muslims-demand-Nike-withdraw-insulting-Air-Max-trainers-Allah-written-sole.html">faced backlash</a> in 2019 after the sole design on its Air Max 270 resembled the Arabic word for “Allah.” In Arab culture, showing or stepping on the sole is highly offensive, so this sparked outrage and led to a petition with over 48,000 signatures. The brand apologized and clarified it was unintentional, but the damage was done.</p><figure class="kg-card kg-image-card"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnoAAAG/CAYAAADPZ3qWAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACeqADAAQAAAABAAABvwAAAABJY0nEAABAAElEQVR4Aey957Ndx3X22SfcjAsQkWAGSDBHkSZFWqJIWcGWrNFrS/6gKpfL5XJNeP+EmZqaqZma+Qdeu2Y8881la15bloMsmcoSFSmJCswBJEgwAUQkAdx44jy/1Xuds8/BTSBACrhcDey79+6wevXTvXs/Z3XYla5cChcIBAKBQCAQCAQCgUAgsO4QqK67EkWBAoFAIBAIBAKBQCAQCAQMgSB60RACgUAgEAgEAoFAIBBYpwgE0VunFRvFCgQCgUAgEAgEAoFAIIhetIFAIBAIBAKBQCAQCATWKQJB9NZpxUaxAoFAIBAIBAKBQCAQCKIXbSAQCAQCgUAgEAgEAoF1ikAQvXVasVGsQCAQCAQCgUAgEAgEguhFGwgEAoFAIBAIBAKBQGCdIhBEb51WbBQrEAgEAoFAIBAIBAKBIHrRBgKBQCAQCAQCgUAgEFinCATRW6cVG8UKBAKBQCAQCAQCgUAgiF60gUAgEAgEAoFAIBAIBNYpAkH01mnFRrECgUAgEAgEAoFAIBAIohdtIBAIBAKBQCAQCAQCgXWKQH2dliuKFQgEAoHABYJAJ6WufnNXdF7Rxe/yFeGJwEAgEFgSgSB6S8ISnoFAIHC+IdDpdFKz2Uy1Wi3V6/XU7XZTpVIZULPbbQ/cE95oNNLo6Lid6yOjSpcSsur1alpYaKSRkZHUbrd1rqdOu5UOHTqU9u3bl/bu3Zt2796drr/++nTZZZeZXPL3fJFdrVdSq9VKo5Lb6XZSu9ky2eNjk5LVTlXpynlhYSFNTk2JzKU0NzeXxibGU6dFnrV08sRb6Zc//2X667/+L+m1115L09PTps/o6Gian59PmzZtSn/0R3+U/tv/4T9b3vgdPXI8nTp1Ku2+5mrTHzwoE0e1WjWMBoCIm0AgEHjfIhBE731b9VHwQOD8RwDi4sQKAjM2NtZTGoIFScMRZzkHMcSRHl7YbmM5q4oUJcnLxI/05q/zxo0bjdxt27YtTU5Opi1bthihJD/csLxOwTXRFVcmny0RQ/IdHx+3MOIQDrGsyUDXlsxKp6s4FiweqGvJU6lVqE4aqdcUT77Sq9NsyPCXSS46IhNdkB8uEAgEAoHlEAiitxwy4R8IBALvOgJO0MrkqJypkxgsaVjmIHZOtLhegd/1xBCffIzoyRcL2+hI1dLijxWwWumKVEGYqhYPq9rWrVtNBtYySB4HstA1p5NFEWomy1yrkkkgcSFxDMOKOopMds36qERG6vBF71YnWxC7In4TExNmxZuSxQ/yxr0RQeWFJRCZvXylEfdT0xuS7IOmS1kfU1h/VsPV48U5EAgE1j8CQfTWfx1HCQOBCxaBPOw6auTIrXeQIA6GNldzEB6IEETR02c/kSElbslKBnHicOckCWLIgRUOkoecTC6x/g0OERuJVLhshhYfWaQb0ZAuJA+3uLiYxicnTOaJt06mBXnXReY0+muyyRc9OUjrekDyyLcC4YNYKh7aow9hOI+Pn+vi6S1C/AkEAoH3LQL93u19C0EUPBAIBH6bCEBOlnMQGUiMx3EiQ3z8scDh+iJ8GDOn8bSQnr6MbmpoLt3MzIxIUUoXXXSRkScfmiUNB2mc0KGHk0HXwUigrHb41yrM91swqyP6MLRKvIoywGqHBa+mOYCkId5LL72k+XyNdM3VV6cxDc+SD/lDBpnDR/6QO86uA3JxWbd8zd8yobM8CzC8vP2YcRUIBALvRwSC6L0faz3KHAicJwisRkYgWFj1cG6RIw3+ECAneGUit1TRIFg44nG8/vortvCBOX+33XabzcWDaGElRDZxSOPnsp5OApFnhKyeF3O8/PLL6ejRozYMe92119p8Qp+jhxyfX0i8Z555JtU19+4GLfRgTh7h5MHBNXI5KDuHkVD5t+WHQzfX0zz0p6yj+8U5EAgEAoEgetEGAoFA4LxCAKJTdhAYJ3knT5400rNhw4ZMsrQWwwmOkyXSlv3wZ+GDaJmsa+3UWJxPTz/1RPrlL3+ZduzYkXZddUWamtKQqubpZT6IJS+vXiUVzsmXkytIGNdKwmBtOnLkSHrkkUfSiy+8kK6WlW6zrISs1G21m2l8dCJVFhGiFbfzc+npp59Ob775Ztpz9W4jf41GtgQiE9bHPD4fvm2zkleHhUlEj7AySCxc8MeP62Hc0DtcIBAIBAJB9KINBAKBwHmLgBMszmw98rOf/cx0/Z3f+R3b+gSiQ5gTu+GCEIblrwaD0zXxGR5l6BSid/vtt2drmRI6mXIZECgsaU6iPB8ne61WtjRiZcOS9/jjj6cndLD9yV133ZUuvvjiPjEjbxG2w4cPp1deecV0uuKqK9OEVvV2OjkP8sPqh1Wx1WiaGuSJI09IILMAcZ12Lovd6I+Xn/iup4fFORAIBN7fCORe4/2NQZQ+EAgElkHAiYYPn0KGnBANzx0jLmGexu89TflMWA5v6czCBoYk81GRmQzy05Y1jIO95vA7duxIeuihr6V/+Zcvp5/85EciV4dN67JcSBykZ25uQWFVmz/HHDnXC7nPPPNUevzXv0pHD72ZTr51PL30wl6T44s7GG5ljz308Xl5kDCusbSBhZeRxRQv7n0h/eDh76VnJbfbaqY333g9fevr30jVkmGyplW+i7IkHjp0MD32xG/SlVdembZv355OyUKJXOSDJ8TScBWpa2pPP+7RvSlLpDK1+X4oSxk5SOckz/0Id/24DhcIBALvbwSC6L2/6z9KHwisiAAkA+fEgTPkAscZ4gMxwd+JBtekcyJCvOHD4+LPNc7z4BoLFnIJg1jNzs5aXuxtd+LEifSDH/zAhkA9LvEgTC6La+QtauHDCBaygjC9/vrr6Uc/+lE6cOCAyT9+/LhZ45CDLi5PiY1YmYf+oANl5UCurYJVnljnHn744fTTn/7ULIXIePXVV9Pzzz9vmy57erMo6oZh2Lfeeis98cQT6QUN8x448LrdI5/yIh+yir7k44fLUQHtknJ6WXthcREIBAKBwBIIBNFbApTwCgQCgUEEnDg5GYKA4CA87ucp3Hrm9yudITQ45Dlh9Pjcky+kj/3lsIJ98pOfTFdccUV67LHHbOiVuXHk5zrYEKcEjGqBBF+eqFU1iU+fFxut1WW9ezv9/KePpJ/95KfpiKyBWigrK+ExGxJenJ1RPJFaHZrtZvpkkgthzSSWPMrkiqHk73//++m73/1uevKxx1NjfsF0efvtt0UAX1bYd9OrL+9PcwVJpTzMLaQsTzzxmJFV5hwy1LugFbgcEFpWA+MHNqRZEk8RvZLB0CGLcyAQCAQCpyEQRO80SMIjEAgEHIEygXIrEqSMLULcQUQgJPgTx9NwzzHs3J8zaTk8XTk+hAgLF4QHAsectw996EPp3nvvNbnMsfv1r39tupDe45Vl1EVEZ/SpMIjTr3/9y/TNb34zHT5yqGcx4zNiWPewEkqR1JI1zR2fL3MHoYV0OuGFjP3kJ4+kf/u3fzPLHHiwLQryGALm/utf/7pZ97RU1qyK+O+5+pr0uc99Lt1zzz3p0ksvTZu3bjHyh1z0x5rn1kPH1HUon4Vs+TauA4FAIBBYFoFYjLEsNBEQCAQCECgIB0TLCRSEBGJCmBM1wtzixZl7wtzC5mn97Mj6ECj3pCMviI4TP9KTH44zX4+48847bUsUhj5/9JMfpptvvcnIEqTQiRhynHAia+/ze9PXvva19BsRQ92yZjUtzM2m7phWzB4+lI4fO5p2bN/WK6NlqD98oqymsuLIH/05ZmbnbWiWBRgVzZ9jEQVEDx34Ni1Ej+HZ3/zmN/Y5tcmN01YuyOsf/MEfpLvuuTtNT06lTRs3pBFZG11vdHWsHSvO+Jvi4nemAwrhxTlcIBAIBAIrIBAWvRXAiaBAIBDoI+DEA1ICQeMeMsU11iruITpuoXOS5xLwdxn4QV448IPc+UIKZCEXP87c4zzt7t2704MPPmhhTz31lM2TI9yJncdDNsOmU9OTtsr2ySefFBmbLYZFc37oy/Atc/e4piw4kyG9IHks5sChD/6Un2/gsjXL5s2bjQCSFnIJ2WM4Fgsh8R/W/D2sjvPyRzZlZIPmXbt2pZ07d/byIz1EEp29HNyD2bBDBz+Gw+I+EAgEAoFhBILoDSMS94FAIDCAwLCFCTKCgzhhtWLLEEgODnLCUXaQEggLB/HKhA+Cw1w39qBjrhvEDTJEnljJnPyQBoJFer4Fe/fdd9tcPbY1YeEDFjQIIfHJzwhat6K5erLGyQpGGkgZcYjLgSMuc+rYboVhV7Es869qrh4raHHIhHyhE2SN84YNU+nWW2816yKyKQc6suiCVbsQu0n5v/rq/vTDHz6cnn32WSsPFkk2SalX6z0cHBfyccLHNQdhHGUH/n6U/eM6EAgEAoGlEAiitxQq4RcIBAKGAGTDrUeQLO6xVLFylDly//iP/2h720G4IB8QKYgQ5IS4OCd6TvI4Z7+Wkbxf/OIX6Ytf/GL6q7/6q/SlL30pPffccz0SBMHiIL5bupB/3XXXpZtvvln7zbXTa6+8blY68ocoEZcxTbZtqYsszmqhxVXaFJk07EWHXpBJHDLnFxfSwYMH04lTJ1MXIiqS1yF9Nc/RWyjiQjyJT3q4Lhsi79mzx76EgSzyRgfIIOUnLhY+Vgh/4xvfSCdEKMGuoUUXdLw1yR8dGTfMILE4sHF8SI8cymNlshj9PxDGcIFAIBAIrIZAEL3VEIrwQOACRmA5krDWIuUVp5CsbOxiT7vR0bq+5bpBQ5Rvp6899NX0P/3P/2P6X/+3/yX9/NGfae83DYk2Fyz+/PysSBGbCne0kvSkVpsyvMtKWu1JV6ukxzR/7f/5m79J/+f/8b+nH/7g+9ps+DfpeZG8vbLQQXKgMegPsYLc4aqyhNVqfHKsK2va76RbbrlNFsWjIlAtWekaRpogSriFxqLWQTTT1IbJtEXz72685eZUFaGSoS+NT07Yme1OuiJnL760z86LsuJVJV8ltrNyTJMbpu1btXyvFn0gcgznXn75pem++z6Ybr3j9rSor1ts3DQtueMq/2LatmNb2nPdnvTffPYz6Zo9V2srmCc1R/DfjcSNjozqCxkL+mpGJtHs+QehgyRKHTvcssfGyHXpw9y+jspFnF5cacl92XHvR9k/rgOBQOD9i0D+Gfn+LX+UPBAIBEoIDFuOIA2sMIVoYHWCZECk9u3bZ0OmWMYYBsVqRbwvfOELia9WTI5P2HAp6VnxyrApjrQMkf7y0Ue18fG/aLHCr+zzYcgnLtuPcIhRmdxJDXU6cSNviBcOssU2Kzdcd33av/9Vs5ThT1xIImtSxyZG8xYrIolT0xvSzksvsXl17J2HZQ0C2RSRauh8QJ8kYwh3x8WXIkbZaPGJTr66Fd1wfXwyMWPLl2uuucYWYEDOIKRu+aPcN954Y/rABz4g8teycjEf0OfmQeAqIr5l2cgfOEwLyzr+BAKBQCDwjhAIoveOYItEgcD6QKBPXJYuD6TJiJeCiQt5efnll9Pf/d3f2XnLli02PMniA4Zgr9tzbbr5xptMGHGnp6d7RI30kMLvfe976Z+//GWbj/fWW8eMHEF2CCcvZIr9mHUOQUbcFJYJUR6ehegxdHrTTTfpaxOHbCiW9Ppv8TtdzavTRnmipfLLBPLyyy+XFe7y9OKLL2rIlw2K2btvITVFVpknyJ58V1+TrWwV0mLt6+VrRbI/2S/nw5YvkLkdOy8R4dwvgjtmZJiyU1aGbj/ykY+kLdu2G5GE0ObyZBJJmcpEz4k0Z+Jh1uTsFs2+FnEVCAQCgcDaEIih27XhFLECgXWJAKSl7Jx4+BmrF2QFaxd+LCaAELEfHWSGe4gIViysVWwn8sYbb5hI/JDPClWsXexXxwbDf//3f2/z+pjn51Yw8kHWJZdkqxsCIDf4OxFynSBB+LMIAuJ27bXXmrWRcAggZyx7EDWskOTBfDasish3yyTyiYuOlA9LH+k4fP4bYRzEw3Fddsi6+uqrbQsVt+QRx+cx8m1eLJjbtUL3qquushW34EUZ0Avnefi1eRZ/0JEykY8RP/mjC/+GdSmni+tAIBAIBByBIHqORJwDgXWIgJGCgsw4oSifncB40T3M7yEYEDW2BMG59QxrFRYsLGEsxOArFNNTGywuJAcSA0FhaBcZkEMWJDAnj73sII9O7iCMHE7a+MwZK1eRA+ly57qVrVtsccImyuxdR1nc+uVx8CMfHMSQTYqxqiELh26+Whfiib4ehkXQnftxX74mP/RmeBYdyAudkQvxY4jbVibL6uiOOOjFXD3m+pXleRwvC/LBkUOJLJgwnJ/tJv4EAoFAILAMAjF0uwww4R0IvB8QgCw40Sif/ZqFEzgsUJA74kM6sI5BZK65Nq86nZqYNKLz8Y9/XAskbjHCQ1xIFZayb3/72+kf/uEfEhsMQ4SQx5Dm9PRU+vnPf26ymeuGxc3n6yG/VRA94iOvowURkCgcciCgkL1KLX93F390J+6wQx7z+tD9uMgphAs/lwdhZZ7h9u3bh5PavcnVFbK7rJoorhmeZgUwuhw6eMDkQiqRC4Hlc2033HSzFm7cp8+u1fN8Qs0BRMNOQTiRWT4geBw4zk5czSP+BAKBQCBwBggE0TsDsCJqILCeEHAyR5n82s9OlCA+kCHuIUZ8jeKf//mfjaj9xV/8hX2ODKLjFjzmqzlBQS5binz7W99K/wjJE+FBDkO0bEvyh3/4hxruPWLkD/LIfDtIW9l65SQMooe/Ez5kkw/WRnNV5tvlTY3NQqcbwrHbuT7Iuuyyy0XkdmhLlld61jvC0YuhZ4ZZ7V7pwMJkQMY6Io85J/vLtVnjtDgE8sbwMST1pRdf6GHphJa9AZkXyKfbSIfMqrZ5WVycTyPSibyzXyZ33Ns/ncGcMnu9cOZQULhAIBAIBNaEQBC9NcEUkQKB9YWAEwdIBA5ygYNw4PyexRHMrWPDXyxvDEVCmP7sz/4sYb2DsDkZs4T6w7AsBIxhUPba45uvkB3yJIxFFH/+539uFsC9e5+zDZdZiYosyBIsBhJlQ6AMWcq5vj3iVfih7qmTM2l60wYbgmW4F0e5iEs5ytYwhlc3btxoVkPku1zSQPIWZIEjDelNRj1/+s3jOT4wSPwqygP5l2n4Fmvhls1b9Xm0UyYDCyjYvCJSyYbMDF9vVnhbst3iR77kx+H6cu2LbZ3ooQuYdNgbhjT2N/4EAoFAILA6ArlXXz1exAgEAoELEAGIAoeTCYoAaeAeogJJ4QzJgPhAzgiDpDD/jsUEbIPyt3/7t+lXv/pV2rp1a/r0pz+dPv/5z6cbbrhBRKaqPeTmRUCYBycyolWutbqIku4PH3kzfec73xJBfESymbNXE8EaTZ/61O/re6+fTG++eSB9S9Y+LHDItc2HRcKYnweBQg/0cZ05o6frj77ElZc57s0aqDvmv1FuI2MQJznCIViQyVZTiy5amQwSbwvDrppHxzBzVfHJA2zaTX3Xl61WhBHO5aFHXSQUmVzPzy+mj37s99LF2sKlofmKWDjxRwZl2K99+vbufV5l6qbxsREbvnXsIYPkhx6cSUc5kOF64IcjDUe4QCAQCATWikBY9NaKVMQLBC5ABMrWNogDxIQ5cDiIFA5/rrG2zerbsBxPP/20Pt/1qsjdo0Zu2PLkox/9qA0/7t692yxVWMCYY+ckZH5h3q4hbixs+OEPf2hbrjBPDUsbZI6hXfbZg9Rg6SIepIYFDT4MC4HCQaoYNiYtMnEQHydXnEfHNReuIEWUgbJAhCriQk6kSKcBTysj8rBSkic6jGjzZ/LheqEoPyS3Vs/5OalyAglGODZ8RpcR6UW+YHrJzsvMqsf2M7P6ygb+6I7sN7VP3z4Ne99++x2Wv2NG3hw48urrnPWty6Lo/pDfcIFAIBAInCkCQfTOFLGIHwhcwAhAMCAWkBnmpEFWTp7Up7/kB7GDfGHZ4ho/Fi6w0IBvy7KNCGQMAgP5sD3y9OUJZLJCFVJZ01lGq/T8s8+lf/6nL9vnzAgnDZa0z3zmM0b0Dh04mJ5/5llb/MCQ5/XXX2+yGZ6E0NhZadABouRED3KHzhA6yNWMyCZboxw5dtSsdVgMWUwxNpE3YGYIlLy7+qZZtVK3NCyaIC1ypZnCZIfUxsXMR7ThW2GzYTrPSyQteUH0IKxPPPa4Lbq48ioRU801bMkq2Gx39E3dmpFVyvFrrSo+duSwlQd9wYXvATN8/fuf+rThVtccPSygyKc8lNNwVNntXmE4/MCa87AjjQQMe8d9IBAIBAIDCATRG4AjbgKB9YUAJMXJglul8IPcscp07969RpScOEGSsNh94hOfsI2Ld+260ogGhATnZIRrrFX1kUxA2loNO1KXJU7kY7+2XfnRj35k8/PcQoU1D8LIggTmyX3r69+w/fbQyYdtuYZ8YSUzgqR78nBLH5bGqalpI134ozNl4Du53/z2t8wSef/9H0p/+Zd/mW6+9RYLZ9jViF5BpMgDix7EEaLkYZwhv1jskF0mVlyjz/P6NNvDDz+c7rjjjnTpZTuBwNK3pXNHxA1SzMphrJ8v2jBtJnGQSvBmIQvkGozBBURrIoHK0MidCdQf9AJPdKqKNRuh88DSmfBwgUAgEAishkAQvdUQivBA4AJGAGJTJgpuPYJ8sF8dCxOwZEGiWPHKHDbmlGH1Ii2EyId/kYNVC4LBEGi2srFAoJMW9e1WLFx8IePHP/6xESKIE/KRzXy+Bx54IF13zR6zbjHfj3z9Sxjsb0c+TrDQEwfxY3gXSyME7Nprrzc9yfvJJ5/UFza+ZPlhHTt69LBZIln0gEN/5thBqpCHbL6SUdewbEVju5TH8yEOxBGdOROXMMrKgdWQBSnMW2SbFPKH/PHd3RHxrba+W0saFpqAo6dHFnGRy0bSlIO5iIT7UKzrQX5+eJ1RfvJxPd0flsjK3HCBQCAQCKyGQBC91RCK8EDgAkcAcsABYeEMqYGAQbIgUZA2hlV9/7hsOZuyUs/NzeQhThETyAlE0OVAQliMgUzCcBChRx55xEgRxA1iSF733HNPuv/++9OICCZx2G4E8lMfHTELH6QTYmYWLslxea+//nr6yle+YnvRoefNN9+aHnzwQZvrx4peFotgQbvvd3/XVrYy1497SFCzpcUMIknIctLmpIkzenfYNgXSpD8QXJ9PSFlIQxkgaxC05557zrCAlELemip/o9FK48Kk0cyrfcmbcHDK+NTtTF7IZ/Xt7/3e7xlpRTbpieeYOqEjf9IwuzBcIBAIBAJng0AQvbNBL9IGAuc5AhAHCAPkjjOHkygIDHPHIFOQE/a3g3xAUiBChPuwKfc4l8E1cnyIEZLGfLlHH300PfPMMzYEChnC3XXXXem+ez6Ydup7sHOKwxAoQ64MZ27dsd2IHhZEyA6O+XnooczsqxL/9E//ZNu6YIV8/PEnbQ4hmy1D9CClf/qnf5r+6I//2Agk+iELx1ByQ/Pnhh1xvDw5z0ymnOhRbhzx3GElZJHFzMlTZjU8dvxImhJRnp7elK7cdZVFQyZ586kzhqMh0WAAeQR/8Hrl5Zck40Q6ejx/hWPbth1GtAmnzI6B11FVlkeu/Z7wTFpdszgHAoFAILAyAkH0VsYnQgOBCx4BSAQOgoD1iHtICUSL4U9IDOQEixnkBlJBvLxgIVuqSOMkhLA++cCS1xGhahoBYq89iCPED+KC1ZB5eWwojCNsv+bwMRfupPa/23bxDosDySRvtkvhzDw9XRh5gxQii3xZJPKw5skxlMqcN/RmoQgLQ7h2OeQ1Nz+nRRIjpqvr7uVwEpe5pex/4nQQvHZjsSCBeagXOZA1ystCjf2v7Lfv9aL/Vbt3pd+VJfGyKy7v5YH1EusoRA/iiEzOYInDmgm5fvb5vYb7/fc/YHP7kO+6ma7FqCx+fpiA+BMIBAKBwBkikMdbzjBRRA8EAoELAwEIhFuvIDeQOUgYxAPr229+8xu737VrV2+okpL5ECLz2ar68gNz22TDs4N5acxx67muLE46vvnQN9PeZ/fKajeXKlrl2phvpJuuvyk98OEHNHftCvigyM0xDcM+YUOWWA4hUZAizkYOtdeeRVTkrlbC8h3bj33sYzYcy/y32267RWkX0kMPfS0dPPhGulwrdrGs4ZAHsYIondRcQT7Lxt593Q6rdjUEq3SCQzocSi3t8weB6mrPu0mt1G03mmnDpMim8l1YYAsVkVfF12YuWpHbSnuuuzb9pz/+o7R565b0xf/6/6Wvf/Mbtuce5JKVuzgwY6sXhm/3XHed9tNrpVlZ8yal3xi6iVwfeONgeu7Z59M3/uOhxMrjmrZp2bp1s5FYiCT5t6UvdcXRbDXS9Mb8DWF5mB91Gi4QCAQCgbUiEBa9tSIV8QKBCxSBsjUL0sc9JIIhVDYIZjUsRAuSBFmBSNjQ6arlFeHQQoyO0mGlYluRgwcPGrFEDmSSPfMuvvhixnnTW1pxihWO7VsIh9hBPCFoXLueTmTQkYULfEWDeW2s1iUuMr785S/bwg/m9mE1xFE2DmRRHhxz9JCDg9hhiWO4l/w7IpLEhaiRJ4s9WFSiQln8kdGa+Y2NjlkZGC5GLmVsLrbSBz/4QdMHuRBD1x89IaXki1wO8uW+q+1YWOkMXhA75uxxTZnIn6HybEntL8JAvstGhl+bkvEnEAgEAoFVEAiitwpAERwIXOgIQDQgQGbBElFgCBSC9/jjjxvpYVsQJw9GRgqCslZSAYnh02gMAzMcTD7kyRAm8/NszpzIJQSLeAzFOimD6NncwJExI2UVWQ6xIGI97IpEMiTL8Ch5ZGI4oT33btTCiL1GuLAGQv4gbjgvhw9D9/wok/RipS9D1U40ie/YNLXhM8OsLqOXVhcQvN27dttKZZvLN7ugOYdssZLzRR7lZujZLHoiqK4TeqM/95A7cGL+3n4NYUNYfbjZ9TA5qiPOEG4OrnFeP13GmuVi5a3BEH8CgUBgBQRiDGAFcCIoEFhvCEDAsNyxgpT5bpALiAkOEkG4ExTul3JONghjWxFIC9Y8SBSkBmICQbv99tvTlVde2bMOQnbYYsQXJyCH+BA1HPfoUyZa6IJOWO0IIw5WPOb8sWULJMl1hgwhz9P4fnhlfbGeMU/Q582BxYLm5TmRaotc1pWfMjJCzBw/HCuEcdMbptO2rdv0BYzLRf4yCUM+OqMHOkKc2VwaHNDF9SrP04P8Uu4f/OAHtkKZOGAGCUdv0iHTiR6y5WE6kF+4QCAQCATWikBY9NaKVMQLBC5ABJyEQCQgIRAGSMtjjz1mxAyrmw99UrwyyVpLcSFKb7x5MP34kZ+m6oi6ExGlRcm/THPZ7v3Q76btOy9OXW0mvLi4kA4dPZJeO/CG5sd10pQ+XTayOCZ96iJnY72s+IKFmJEMZVopXNVwrsKb+i4tBM7jUZYrrrjKdIVU4SgnZePsi0VcqJMt7iF5DL1C9EbARPPhKgWBpOyUh8NxAzPI1khNK2KV3gmYeJjF8e1l0AlnhE0LMhiuZrsaSC0yHFd0hBAzDIx7+rlnjbDu3r3bVvW+Kv2RUZZHGk9PmnydSR/34QKBQCAQWAmBIHoroRNhgcA6QwCigmWNrUKwHDEk6QSpTCac6AwXH393XCOPlaR83ov0kCSIEcSFvfP8k2kQHr4KwWpZz89lcY8jfXkTYa6r8iOtWwrJj3QsgpiYGLO5cJAi/FwfiB7xnSxZuSTnbVkemRMH0fL8iMMoKOQTQsbwMjoiC2teU3Pq8Pc5f/ibnpLHQgrPsyiClQ3ZWOuYX8hQNjJxEGzKg7xbbrklXacFGx+bOWWLUfgWLmXDoTvOLZJloud592vBosafQCAQCASWRSCI3rLQREAgcOEj4MQEEgGpgTxw+BAh12ULFiWGTJDOCZijgB/Oz8TjSxiQJ+b8MfRIGuau3XTTTfY5MCdhkByGeJ20QXY49KUvO5IseaJOWgaR8zCyViyocEse+bXbImAaMmVj5Msuu8RIEXk6AXRdvbywOAtXXj6PEF0gU11lTpiXl3JRHhaLgAtDrY7ZxIS+soG+BY6eD2kyHr6/Xba0IRcMmIfn8xYp0+TYhBE+ZDO8O7Vx2ogx8wapB/zRh3xcN+65xnEdLhAIBAKBM0Eg9x5nkiLiBgKBwAWHACQD58QESxvEBeIFqXFSgR9kYi2EAlkQFCx6EBPSYvlixSlz80bHNDRbDEOSD0QPayJ5cUC2SMfh+jmwyMr6shCibgSPe9cLqyHDtpDLTLQsek826c1fOiIfqxpf42DFK0QPOWx3wpw8dHEZ6AlpJQ4yIHquC2nIF9fUp9Uk2tIShzBkuEUSmbt27bJVxZTN45AeDMCC4WNLo7TUAWGUx8uIVdCxcr9cyvzXSXHZL64DgUAgEBhGIIjeMCJxHwisIwQgChAVH3qEMHCwiAECxCfO2FeurQ2PmW+m6HIsBGBhBHPVIH5YrSBe2Z/7DnPbdIYUMe8NIgNJwiLFIgyfg8ZXLnCsNiU/dGHoFFIDyUE/rGjcQ5KIg+vrCzk1L4Ulxctz4Vx/rGBOyJDlpAp9CONgbzu2kvn6179uBAsyxWII4uBm5mbtU2wjY6NWHqxwRw8dNl3Qf0JlIg/05cBl8pl1dX90b4qw4SBpDC+zgTKOvDjAC91ZeQzRG5NscCOM9ODk8ZFLXYFNtkDmBRqug58tQfwJBAKBQGAZBILoLQNMeAcC6wUBJwSQFScOkCKseli6sMrh78TIyw35wJ8DhxzIiMuAVDHMyUpWiAhbmjBsu0uWLKxtkB5Lq/Tkh3zicXCNg/QhA1nseed5ceYep0ulR4987X7EQRZECL1cN/w50J8vbBxV+X7xi1/Yp9nIhzyZP3f99ddbvuiGRY00kC+IK3MO+YQajvBaNRM1rsEBvgcxxpEvDl3I06937NhhK4Qhv5SXtGBEPuhscREk5zpzneUX7BaPZRxpwgUCgUAgsBoCQfRWQyjCA4ELHAEnBG75guCxRQlkjIUHbLMCwcFBRjw+BMZJ4jAR4Z7hRxYRsMgC4kJchm3Z+mSjNg0mDnnCisiTOBAdrHUQLtzc/Ex689CBNDt3KrXa2RqGP7IY9u3nn0ke906skI8cSBTXrjvhboFrK/xXv/pV+vGPf5wOHDhgabHoffrTn7Y9/pRI5jZZApWmovzAgc2L2fbkmAhiR0O0OOR0i+/mIn9xsa8r+Xt5uGbVMXHIh4NyY7VDP8igx0Uu5eFAfw6/Jwzn/vku/gYCgUAgcOYIBNE7c8wiRSBwwSAA4XArE4QD4sDQIQsFGL6EgLzyyiu2UIF4xIGIcBCXs5E1lXiYdLAnHuQJckRawhmuZKGEO4gLMtjYGAsXhA/Cw0EaLGnIefbZZ3uEZ15z2Jx4oj+HEyC/72j7FfwYQva8PU+38nHGkve1r33NPvUGCcOad+ONN6bf05c20BUihhwniVyz/Qrk8Ec/+pHhU6lkXdGJcMdJl+a4J73rSb4c3FM+nKfjGjzA2ePgV8aWuO5cNuHuyuHuF+dAIBAIBJZDIIjecsiEfyCwjhCAdEBGIG0QDIge88fwx6L3k5/8xEgNRYZIcDi5cALjcLg/hOgFLXBoQ8QUuFVWwus0HHpRsbddRzKYH9dSnptEKi8TAZwUyWyK6NREdDj4ruy+fS/Y/Dnm6lXrGnLVoY/lSldIEsOi+WCeYJ/k5OFSrIOUCxLHAgp0xXFNuf793//dyB7Dw5AriOYDDzxgi0V2awuYSy671PQnDdhArJCFpfKrX/1q3ghaegkMwwOy53m0ZeFz8kd60qELlkgwYkibOXk4LJmkIw90wJoK/o51v1yZ9JEGGU70kOu4E4Yrp8k+8TcQCAQCgdMRCKJ3OibhEwisGwScHDgpgGhwzYa+zKeD/EBqHn30UbOsEQYRhFhwTTgynOz5GYBIhzWOeJCca665xqxkkC/8fEGFEyM2EMaqR5hbCgmDEH3/+983q9tJkSpW606IDBHm+nuFcF/2Iw6ycOQHMWIomaHaL37xi3ZmeBp/iBXf3v3Qhz5k5WOO3q233mr+4IIcyk35KQ/WwH/913+1M1ZGFk4Q5vmTN+m4d0IGXjgWWzzzzDP5u7iSBdGDfCIfS+IVV1yRJvS1D7DgQBYHzsvImfgcnifhxA8XCAQCgcBaEYh99NaKVMQLBC5ABCAIEAOICESCM/f4s2EvZI/tUSAlDz/8sBGZ3bJ04SA7TtacXCDD5e3X6lSscJAdHKttkVcmJsTlHsfw7c0332zDtFi6jFiNZH1eeeXl9KUv/YNI35vpvvvuMzKErq5/nwSZKNMBvoM/cYjrW6gw7Przn/88Pf300+mgvsTB8Cl5s28dc/MoH2WDePId3eeffzY98diTJoeyQNbQG4KIpROC9ubho+m2225Ll+nTZ5s0/7CmhRgasBU+3oV2DLtFWSjf1ty+Rx55JH3ve98zEkv+DBGzrcpFW7enO++803SgJOXy9cvYn2+YSztI7kiDq2pIOVwgEAgEAqsh4L3UavEiPBAIBC5QBCAQECGIlRM3/CA8HAxxvqbjW9/6Vtoh8oO1b7Sw6rHyFfLDFx0gGFCMRREXFidAECFXkCYsVnztAYsdeeEgNuSHFQzixDd1IXrMffMhTdJu2DClYeMFDbN+xeb8dbW3HcObfJ5NKyBgOdrc2K17WQ/iIBN92q12OnliNj355JMabv2P9H0R1iOyEkIw+XoGRA0LGkT0ox/9aNoi0ieapGHimpG3XbuuTk8+/pTp3ZY+Rkwlm/Orr+5PEFq+5fuxT37C5vZRhq3bdqhcKqcwYfEFX8kAJ+YsPvXUk+nb3/xmeuihh6zsYA0+EEjwYdgcQkwZcJSDOJxxhnNB5rh3fyuvCuxEj7BwgUAgEAishkAQvdUQivBA4AJGAHLgxMuHFSkOBAvCcbusVPte3JuOvHnIzj/43ndFyC5KH7r3vlQREcJm1G41NGw5oSvN8xM5GR8bSQ9965vp+LEjRvSwcEGksBCywAMLFqQSsoZzEgPZ+fCHP2xf0mABiHbqk3xtSNzUYg4RGKxkr+5/Of1ff/1f0le/8hWztrn1C/IJkXKLGySS4VG2QoGE/fKXv7TPuh0/9hYf2dC3dMdSo90S2VwQyZpIH7jzd9J/99//57R5yzbpPK8FKdMqV1fE6+L02c/+p/TUE08ZSRtXOY2gSpeOvpwxNTmhc1dbtBxKX/6H/5q+8bWvGjm+9to9RlxZ2MJ+gm+9dcIIIaT58NEjaX52Lm2SFW/m1GzarjyPH39LeoynO+++J9334fvT2NSG3vYxo/qObldkdWJ0LI3raGulb11YcW6JNFOHlBsctUA4E7+KhoyN5oZVzxpZ/AkEAoFlEQiityw0ERAIXPgIuPXHyYITP6xsF120MV152eVp5/YdRvSqMig9/vjjZgE7IWLyqU99KnVlWZqcnIKtpa6IB27f3hfMKscChymROd8k2RcX+Bw3iImRk8LCh4UMUohFDOvar379aOqIEI6I5Y2O5hW+LM7Imzgf0fy2N9L3v/sds+xhAWMTYsoDSWXImO1dOPbL4nboUN4LcFQETzPabJEEeV+0ZasRxt///d+31cD1+qgRUWxnFbGmsdG8sfHHP/7x9B//8R9maSSfuvbtY4Wu1h4bsep2WfDRSIsimPPyf+XlF83iB3nGstfSN3Gxbs5rsQYLNBYX85YvW7Zu620WfcMNN9iwLVvb4OxbvjJYeh1B5nyeIPWE/hZPZSaOx8OP8PK9RYw/gUAgEAgsgUAQvSVACa9AYL0iAJGAQEBQsLhBPiBdzz33nH2Tle1WIBwQCTZSvuuuu9KuXbvsHnLFcC0LJ77zne+kucUFI3nMf3vwwQd7q3jdgkg+kDLukQkxgUTdcccdCWJ17PgRWfD22yrcUVkPIWHEJR7pjsk6d+TIsfTCvpdEBvN2JNQLsgh3IoQFDn2NoI2OmEWugYVMed1///3pC1/4Qrr7nnuszKRHflvWurpkQk6Zu/f5z3/eLIQ//elPbW5eUytqsUB2JAeCyrWVo5G/tnH0yLyGsPPeeISjk8VTnhDf8fG8jQx4clx19e70iU98In3wgx+07W2IjzwjnNIH/SkT1lDqhrJxOKFzXNA/Oy2WKWx67hPnQCAQCASWQiCI3lKohF8gsE4QgCxAbDggEBA9SAYOS9Qll19iCx/Y7uPkyZNGaLDUQepYVYvfBq0OJS3Ws8cee8w2FGalbF2fDJvasNHI4t13323ExWEjP5wTFCdlEJdLL73UiOGRo4fSv/3Lv0rucZNPGt+uhPwgTBAfCBDDmJxJTxk4Q6wIh4RB6twxnHqVhmSdwEGu+EIGFjqGcdFJFMr+MfxJehZa/Mmf/InJZbPko4cPGRFmjqETMCuTCCDpIckcbPjMPfpwrhYYY9HDNUUUWWXLIhCsigxxG9ku4rvO4IM/B/lwTz15OSlruEAgEAgE3gkCQfTeCWqRJhC4gBCALEAeOIzkFJYiiAQLJG6/8450z30fTFizjFiIAHY07+zVN15L//f/+zdGkPCHEEFEIIWbNI+vJRLD3Ll7773XhkWxrEFIIClOTHzxB/mSP8QMAsfWJpCfuZlZ5fsTmx/HkO9GzfEjbVe6cYbw4e/6c/byEG5xpRvElKHT7VokwaKQD33kfttK5YYbbjKSR1nLC0MqmncHeWzInz376po/xybKTiYf/dnP7dNsWv+aFDVhcXTSR5yFuTwPcUzzFUeEy8hI/rQZYcwLXNQwL3pDINm377N//Dlt1HxzrxwjKheO8qAbB7hRNr/nGj/iUE7OnoZNnKGq4QKBQCAQWA2BIHqrIRThgcAFjAAEAQdpcOeki5WiohpGRj772c/a/LSXXnrJyA7psOYxtMkCCyxt+EHSIDCsmsXSh7WMw4kIZASyA0EjTycr5InjnnBk3HrL7WmD5v9t27bVtjFhYYWTxVpBbrCauWxIDweOfDggRchm3huLQW679XbbJ++Ou+5Ml+pzbKyuZYUwmzo76WQVLvkzVFyt8mWNSmKfPPbuwzKJdfDqq3alH/7wh7ZPIPFFLy2Nky10ykdezYwFj3LhxrWAY/c1V5sl7xMf/6Thc/3Nt1gYK3TRg/l5pntRBk+LTBxhXmeeV77PmCpZuEAgEAgE1oRAEL01wRSRAoELGwEnRZAFiAP3bO/RkuVJ9Ct94AMfsAJ++9vftj3gGKbFWsdeciygIL4TDixnkBXm7zEcuXv3biNgTqScDCEQCyCOtJAXz5trLITMEWSPudtvv8Pm/WFVZG5gW/FHtQK2JXMafHS0Koua4qM/Mp3wzc6csqHg2+/8gFkW2QCZ4VHmyDVEvvx7uaTjaGslbhkDJ6BamSGipi94bNosS+A99s3e3XuuMZ1YSXvgtddtUQWElzSQwUntodcjZNKprvmBG6c32Vc3IIyQTSx6DFXjIJMCUhZCkW4nclWG0/OwLdjU6yMms2fJk141xXE9vRzB8wzS+BMIBAJrQCCI3hpAiiiBwIWKAIQBAoGDgHHvZIHvxDJ3bWFeW4HIavfggw8aqduzZ499UYIvTGCZO3XqlB1Y9zjYCw7r2ec+9/l0vYZGseyx4MDnyUFKyANXzhurFWSQcKxknCFXfBqNzYsZRoY8Yi3ct2+ffYMXYoWVr7XYMFk+Hw/yiaURkok174abb7I5eYR7npzJE718rt/o6LiVCd2Q3W43zUpJHHSqSz+sfdcIA/bxY4UwuuzXghDwQDcfJiZ+VSyUOYHggh4X79hpRO+W229Le669VmRTllCVkzOY+PA3ZJV0jL5SJxBGJ9NOHv2ecjh5Ji6OYdtct9lSap7xJxAIBAKBJRAIorcEKOEVCKwXBJz0UB7Igg+pcg/RMiIia1lL89UI+8AH7hRRuUpE7vr0or5jywG5wbIHAYL83HjjjWapgmRBcLrdilnQCm6nfJiPRw59RxhWNhzXLIqwDYMVsd3W59J0f5csaXd84C6z6O1/+WWbt8eCEIgVpAqHjljIIEzkD+HEIsiQMgQJ8gOJWmzMGQHlu7r4oXsmSR2T5YSvrv3yiA8B9cUf5KF9ZfRd3mmbV3fttddr/t8pI3osVGH/PqyapGNoGdnoAAHeufNSI6B8xxfH3D32ReberYvId334ugUEkGFyJ8iEQVCRSVwsq9OyFMLxGG7GNVoa/pb1L1wgEAgEAqshEERvNYQiPBBYZwhA+LLFTcOjIlhshOxfwICQbJVlim/CMqyKNQ1rHcQDAoLlyy1YdUiMCNE7d/m7sqTPJCyTT4jNFi34wJoGwXNrF3o7QYIUYdVDN0gfzBJSi/6EtQrSRxj+kDLKAJnD4UeebIaMAw/Ph3uukcVcOqyeF41uThdJJ181S3z0QSayIGRmrSyIGDJwjjVnjrLze87I4IzuTvi4R18wRzZx3Hlav49zIBAIBALLIRBEbzlkwj8QWAcIZEJ3ekGcKHQ0Zw1LU1UbBBsZauTh3DFZ3zj4WBifH8NBenDcQ5JY5FCtnZ1VqRAtYpXn0JGFkSYRUEjo5FQxpCnLF/lBvmY0lAyB6+oTGCygoCzojqtLAOUZ1eHk1EmcW/xy2bH8NUSgsiUQKyRfwhgZ0UIJyWu2NeQqMtdbHGIYidCJ3GZybNkt+ScTyDxETlkk0D4hV47cqxfHVvmzcAQy52SWOL6NC0QPuRp8tziUnS+A8KWMcIFAIBAIrIRAEL2V0ImwQGCdIeAEz4uV7Vm6ExmpM7wpSxaEinh2iHhwhmToj5E9CF9NB05c5Kwd5KZsrXKiBDGD0FnelpcyK8gPZM6ctkZx0oSebpVzwkQYB+QJP6xlLq98xt91gDR6+W0e3QolZO4f6ThI47oYwVshHXFxEG3X0fVBF8K5x2qJDuhPPOpnMK9BK+EKWUZQIBAIvE8RCKL3Pq34KHYgAAIVrejU3x4YFVn2uHMiQkBHk8w6DNGKZ1VENnCEZ8Jht+/8D+RoKDVEEsschAciBXlj+LKqvezmFubNykWiWW2AzH51WLtYEIJjqJf5c+jH4g6bB6gSSZzpC4kjDsSJYVEWmjD/kK97QKwIIw4LPdh2xUmYUDCZjovBAYGURRDnCCrbZVy2ig4HQlhdpmPqRI+4lIG5elgyIXlaM20izgn2w8rEfSAQCKxLBILorctqjUIFAqcj4ISiHGJWIhEczji3FnGNn5MP/D0OYUvJwv9MHSQSh2wO8mGBAo48/GAYFhLGXntXXnllGh8dS0ePH7MFG2zgzHxCHAs39uuzaszdY54hBNHlkp6tW4jD1yogUNyzdyBf0YD8sdgCwseQKXlDurLrbzpdeKyIATLIt5/eUw2dYaByxMc5/uTNNWWjDEu55UnlUrHDLxAIBN6vCORe5v1a+ih3ILDOEXCixHkpB5mAjDDUyOFEA97BvLmljrNbgDGoBaSOo6aVv3x71kketLOl/NlXbkxfrThx4pS2W3ktPf74k+k3v3lcjKgma9ysrQp+/cAb2m9PQ84ijVjo+B7v3r17jTxBtnxuHmGQuqeeesrIICtdIYTIZSUtn0h744037NNvns7xwZoo5ezTaaJwg4XQHT7lw9P1I9LVLt3dQmLZ6gVLIoSPMzrjWNWMxdKd12Muk/vGORAIBAKB5RFYuudZPn6EBAKBwDpCQDxIlqdcIM4QPDbwzdao3D2wUINhTLYi4YAzeryzhYJ99Dx/ZCHXdYLUNLXtC/dY4Q4cOJBe1rYrzz77rFnTWChx4tRJWzABUYQkQpSw3EHgIElOjDgzDIwFjw2QDx48aOQRcstQrw8RQwaR66TXy8eAdh7Udp98botgsqfdag48y4fHZ2h5cXHeiF6zuahv4+qzbCJ+RvZUFp+fR3zII4ddqzyxEMOgiD+BQCCwCgIxdLsKQBEcCKxnBCBt7rjmcDKBf/5MmsfI56XiDcZY+92ovqsLAYIrQcacvJifPEf19QlI25tvHhBJO5Suvfaa9Nhjj2lD5x/mvedE7vRZXpsjh5ULgoSFkgPyhkxkPfXUM0YWL730cs2/2yLL4OMqZ1373u3U/D6tMNaiD+bpMTcP4keeDJs6OaNEyOIbs37NWbx3RUf6nM6B9s2kuWfenwigZBw5fiTNaOPq4yfetrmD41r9O7VxOl16xZVpw6aLhE/V9jys1TQcjOW1NytwxewjMBAIBAKBFEQvGkEgEAictwhgYYN4QcBuuukmI0FY25zMsQgDcse8PIY/+XQbc+2Y18Zmy6RlLh6ECwsf/hBAhmpdBgTP5+R5HMguZM/nx0HW3i2HbnyajYN8KQdnNoaGbFIeHPq6HlhZzZD47qn1bhU35AYCgcB7jEAQvfcY8MguEAgE1o4A89Mge6w+xerGUCakj+FVCBqLKLDk+Tw2vtzBAcGDpDGUyxYlkCQIkw+FQhC55yCMr1ogY9euXaYc5JC5czgnV3azxL37r+UMqRt2kDocelBGdOcLGHfccafpBbHFoQflyfooDZZMXytiMeJPIBAIBAKnIxBE73RMwicQCATOEwQgPpAySBCOe76cgdULAgRRY04eDhLlfpA/iBokDwJHej+IwxcucBAnrGZOphjKhXhxz7lM8srXlvgs/qArRkLKwUEZ0Ddb99qm92233WbfAKaMOM8fndHNZMQQ7lnUQiQNBN4fCATRe3/Uc5QyELggEWBYFnIHWYMMQW7wc2sdhYKUQX4gcoQ7EeLsBI4zhIm0TqicOBEGMTTiBPuSY3i3TPQ8rgWe5R/PhzOreds6z2qYuCHdWNm7eeuWdMutt6bbbr89TWu42UkuYVX7jjA6Km2h61mqE8kDgUBgnSOwylTidV76KF4gEAic1whg7YKgQbQ4Q94ga5whY5whQoRBzCBs+EOiIIgejzjIgNRxJpxrl+dpuCfMw4nL8U7dcmmRjxupj1l5WFVMudjEmbmIH/vYx2y/QE+PXpSNMuK4DxcIBAKBwFoQCKK3FpQiTiAQCPxWEID4+DAlZM2teZAen5fnZAzyQxwIHI5rJ3+cseSRDn+IFul8WJc0ZUIJSVzKOfFaKmwtfk7wPC7lYQHJ4UNH9ek5LRiZvijdcfud6b777jNd2X6G/fec6JEOGaQLFwgEAoHAWhAIorcWlCJOIBAI/FYQgJS5lQ6S5QQNogN5gwDhx0E8CJsTPb+HzDlBI8yvKZBfIwtXtpS922TKN54mHw4WirCQ5Oabb0579uyx8rg+6EcZca6r3cSfQCAQCARWQSDm6K0CUAQHAoHAu4uAk61yLvi5P2SPA4eFD+fbnjipw88tfFyXyZCnxWLnzuUMxy37l2V7undydnLqaSFv6Mdx8uSMvtk7b3sCbt++PX34wx9OH/nIRxS1qqHniV65iVvWbTmLo+cR50AgEAgEHIGw6DkScQ4EAoFA4BwjMEzyIK8QTyexnPl+L/v43XvvvTZky6piHBbJcIFAIBAInC0CQfTOFsFIHwgEAoHAGhGA2DnJYwHIkSPH0v79r6Zrrrk2feYzn0333HOviOCIzSd0S+QaRUe0QCAQCASWRCCI3pKwhGcgEAgEAmePgM+rQ5LPJ/RriN4rr7ximTzwwAPp7rvv7q0UZuFIED2DJv4EAoHAWSIQc/TOEsBIHggEAoHAWhCA6GHNg8AxLMvBPno33XKzvoJxh+2Zt9BYNFG1kbp94Ww1ue9845fVJEd4IBAIrBcEKvrFefo3edZL6aIcgUAgEAj8FhHwOXqcIXY+dMsqWyx6x99+y76MsWvXLlucgd/42LhIXrGKuLbyb/Eger/Fyo2sA4ELBIEgehdIRYWagUAgcOEi4NukQPQgfRzmV3zpolarpPn5Ra0mzvv3tTt5IUatuvLHbIPoXbhtIjQPBN4rBGKO3nuFdOQTCAQC70sEIHU4tkhxix7Dt77dCyQP52QQksfnYr4LiAAAQABJREFU3lYjeZYo/gQCgUAgsAoCYdFbBaAIDgTWCwJOOPxcLhcEBOfnclhcBwKBQCAQCFy4CIRF78Ktu9A8EDgnCAS5OycwhpBAIBAIBM5LBILonZfVEkoFAu8eAmVit9z1u5d7SA4EAoFAIBB4LxGIodv3Eu3IKxD4LSOw1LAtKpUJ329Zxcg+EAgEAoFA4BwiEBa9cwhmiAoEzncEhgkd98N+53sZQr9AIBAIBAKBtSOw8iZNa5cTMQOBQOACQSCI3QVSUaFmIBAIBALnAIGw6J0DEENEIBAIBAKBQCAQCAQC5yMCQfTOx1oJnQKBQCAQCAQCgUAgEDgHCATROwcghohAIBAIBAKBQCAQCATORwSC6J2PtRI6BQKBQCAQCAQCgUAgcA4QCKJ3DkAMEYFAIBAIBAKBQCAQCJyPCATROx9rJXQKBAKBQCAQCAQCgUDgHCAQRO8cgBgiAoFAIBAIBAKBQCAQOB8RCKJ3PtZK6BQIBAKBQCAQCAQCgcA5QCCI3jkAMUQEAoFAIBAIBAKBQCBwPiIQRO9c10r3dIFLeKWE55IBp6e/0Hy8WH6+0PS/UPX1JtVNHRXBj6I0p1XGUPh5XOh+uc4PJU+D8vxQ6+y08EKd6fnsco3U6wABbzLnb1Ho6/ru/Ne3r+u5ulrDJ9AGQTo947PjisuBXhnKaKl4FmepANIWArpF+LLRhjMayne124q9UBWrW+DgGXn+Curon6NU4Yo4Ho8MltChHEyU5dwSSZeLuoz/YP12e5oORu/l44pV+uncy1MQUtW/fO779mS4l50dmQHPNd8M573mhMtEXFpHRSYjAstnl1H2d7+h87nW08V7++a+UyEXUM/tDbX65SnaXVFvmQwqggR0S0Kq1X594N//XFrfX6nOwPXbyVKJenAO5JVjkn+3ktuRp0ULK2bhUdENMvhbSTWPZmeKpU/5Drh829dpsIy5erMsT3h6ucvt2mMNZGI3/TxOD1vJ5/T8Vop91mGA586vz+DcXQaAXr/osof6Fc+iF7zMxelyBiMu118Nxlr+ztVfqz7Dks40vccflvNO75fT++zzWVv7Jf/y85Cfxn5pKv5eLLzKz655VZcrQV/G4NXg85H7sUG/wfhoN1gWekdPMYzTatr04w/KXK0d9tOhXTmtazKo9bm+WwPRO9dZvgfySqgOd/TvTu5UXKnCvLWU9BiK8e6ocQ6korKrv6I4IpXKNxzXm7KfS+jkqJ7ez8MC4n5NCJTbd8UqhErhCuJTVNAKFdoncpCiwQrl3kngUNCadFtrpF4TgJm5zkViylDWyq71p//CIA2tjBKXylykP9PT8ItqOL23Z86ntenhyCvc93Etl26FBOdx0DvBglKv0CzXXNrzTc6w4tak5fluPT/nqvzDep/pvT8Xw615uE85Xe7KreDcPSeuYX5q30mb7evusvo+a7/ytH4+m15k7bm+R0TPYfXC9RU0C1fv9vRwDxpsQMuAMxhpxY7ENUL+UDLPcuC8cnMciHpmN1gtBn4TDSZf/UEZjH/2dx3DY7VfKPk1l+sr/+qu9vCmdrBi4vy3U6+ey0CWry32mf9ZS92dudRlUri+fiaaK+DnZZKuErxMquW9cwfYJ0GnW1bKOapG0LnsVRKd29gyz1RRq++8w11OrlQykxvtH4I27Koic1L69IDhiBIEDjmf3guV8paTD8gp6zQIjOVZ5GBEdyi3csqhoKFbjznYpzmOQ5FLtx7f05eC3o1Lx8VhONOzdCprmsV5GcoKF34lC0+vrsrR3sG1F+EdJB14LgblDJehXMrTcxpMWw4HULnitLYGnZOs+rfIdPm8SxJ6+Zf8uFw2sZd3GIeh9L0ePvv7D6XeD7Fl5Q/L8XvP1++z4ssRZn/uPXYP54F8kdnpBQ2PNeUfijnfgWQIJfvTPAnA9WXme/4uI6cf4bdyddZEb+WOS6TBnmZvLH5eEb01AOFyIBelFly+LCqn/ypcWuyydVhE9/Kd/iLtRdAFubTVKEqNVAnsFaahMlfLzmqx9hCYQPlUvSxL6+f5Lx2qnM9Vb7lMBj18i0L0HmCLnz27eBZPouMErpRs5fSKUF2tBiyjd/xnNfyylogv1d0SuQ2WuxRhFfxXy3+t9be0HPDP+PGXDqzfmorydAihfgqdVU9WRypQPzXVlyOU9XG/IqWd8FsqDn7D8ZfyK8vi2rTv6VYOdc9cM/1yleMsf10Ux5tlKWJfrnsOl8n9Offbb8a5HJavT5dXjlNuHsP4lOMtd718Gtdn5fyXk7ukv4sqnXt17dkNnTM+1A7tTWdPW2Tg0fv5qZ/E0VcSF4BOj2RR3rM/pkc5t35r6+OP3uU+AqWHClsWsdw1DbPcKJaL5/7ekP2+fJao7rKysm69+iunO4fX7xCFngZ9fN1rZUyJXy5TP/1QIzIx/CnkFR1473nmfY3rZbd0/Zbz6r8rSJjbSF+eCyrOxYtw2epBxEB7Mo937c9ZE73TNes/JEkkp2MNlcLj72CI/GjuDdiv9p7vA5lzKr9wPczJxem6KNehB8Xeex6R/NXLDDURC3VNPepy517eSlBh/lMvYdHxnZZQcezpyJ1Gv6EWDW8o/mBDGwq026W0Xyremfn15sb08Ct3coOyqJNuMffLimbBbssbjOsdU7keB2MM3vXxGfQ/93eldlsS3kO3d1EKtMtlA4qIvQZR3A/i2O0uXe/DuZTvHRPLufhx0eEHhTx67Zv2qGMwt7KUfG2ylKjbzT/KeKZoc/hzlNtf77rXJiSjFMfaQRHmcVeqZ/Tt2gOk/DrKy1TKf+k70EVqnVYuovWn9hTxlb6cXIqjGqchlz34ceL60gdYZGJ62dQxWfmX7B36Iq18Rdvv+5auCrXwcVUM8yKKPzcDPxItbLl24TVaElzIeienXv+1TGLqYCVXoYIo/zLR3NvLnmUVz5p7eqSlMjq9AodiFbKGfNd062STyF7vA3WZRzcsGF0H9PR6IPR0HXpFc7mKlZ8JpSv5lRoygpZwA5kuEV7WY4lgTz5QrlK8XodR8itfrvAAI5rq8bJaMs+vkNHpnI7NgHjxgJVc+VnxPmXAr8jPjA0rCSrCeu81j1tWfkB39EJ35v0Ol6F8P2wf9LCiXH7by88zIWNdl/P3OO/C+ayJXhn0rF9RkOLh5wUy4K8btwARc6lqxr+AQZFltZMsx8M7Ju9gO/a2yDks9XdYv0I7i2rP2xIdyWAcdXU9ZXIOPBu8aPwZ4Zo06NTTU78Y8LPSFy9j/81AvN5Ap5fPz0pjsorzQKcgv7IjXnUJ/ctxzvYa/Ci/D2mRZ3aqOQXw4OT6dP987r8gihS9hAVCxb3jNZj63N0N1//pknuKnR60Bh/vfJaLenr+g/mdafWV5dl1p2VZU0e0x7wMo+h8yEqNs9cude91ZfVDu1RCl8mZ8nD2o1w+Dy+XdTk/4riscvzyNa0HvU1GOaB0zYuiTSdRwMbzZM9bcV+r1ZR+6R9riLFnnIshR/kLePoPbSmOl2u59DmqtDE9CmVK6f2yjB9+yD0Td3r8M0u/Wl6rSRvWf1AeZFy9mgkpiKn1Y8Tq9+y0P6an9J912mTuHyuVwQU0g/Lfyzu0K6OR31vgTxvtlbEoH/2h+ZuKOR3ldMdlv7zZ19qUR/Azz+ByJExxTq9/T+jaljLtB/WuVq6/XrTlL1bRb/mEOWQl/VdLOxxu+A11mC5/eRSoBZ7TUm0sizdt2dttbs9mvBlWpGjb5NkuMs6n3GYsevGcL98znSb0XfU4a6LX165UyL5n70qPdu+6vybQGysPRY/6UC0GJWcaqt/3BHChyvLKLa+iKaiVvdws/lDDKI/p5yC9bAYED7YJXgdWslLjID4v1Zyumtq6RktrIqcJg6h641E6hVcly2RKDg0VbOylx1+F0yb9bNaGIf2Gb4ezHA5f+T7rRu0sJQddMv79MvTl4Uc9LBXWj8XVcnHI92xc+fldSs5SZRqMN6h7ubMmXj99rrGl9O3HGZSc7wblLxVjrX69Tq3XifB85NwrWMg57DnKWpaxKVpxP6uiQ1vpRbBUmOvQC7PnEIJIOdWW9cMut+jctXh8Mu6lKbSwsOL55HogXMqb9VeWNUozWBZk5Wck9xSUrkjvFSSCOJyObHtyeh26Ug7lXdYrt35SDtajoe55Ebysy+lMpsUpJyqRH+9fenotK3AgoFeeAd/3/ia3QpVV7SA/KX287Moqo+j1yhBI1eX6BkqRa3+wPOQ1JGIwwlrvJCTr3U8wLLeHr+rFrovy+a4C/ZT06+U7ldWE93EglL4el5s9bZa7wTj4uBvWz/375/57s++nK29PPZ2WzqNXvoHEfuO5L512OBb3Xj4PGwKl5+0X3eXau+vvEYszfQuOvmKwr85tq1+ess7l60JQ0UpPw77Aa1A25TpdRtGarV34gEI/lrf1XgXkjIfLOxTs2p3r8zkkekOqUSBVFi8AqoYXUEGFuOnB3PNTHG9WSIJPG1TmWcvXStevgIyQkSjFcdCpOHKyiiF/KohEagGQs5yKHHJ+LQVhIXBnVrrSvTVcS0QVQtDy2RsI+SKeVywvOUJx+JsO5GvX+Ob8q8IGkeRr+VkIf/Tr1hW0s5p17gkGdOxF10XxO7rsdU6v29Kfh6ePbxbv9VCpLtWEyrELRIpyOdYGsfxKUC+pt1lslwwpPFcT0AN0eSHUwYBeioq6iC6fkeDZFU1KPl7jhC7lHItyu8HvndxT26Tzs+SofVA/tB3/QdHTkZi64QXEc2DDbGp7OT5p5AiUh5fHz9Y2VevdAhy2STDLuuRZen6gkJRwmi3hZt3hXGigIBzxCM9PD3pyX/jnGPIjXdF5K5xrpl102e7F7vGzS0vPDY+G/lvcnCfPIEUqdIPAWQzLJKfjUrq4o4eALCPHyCLBhdwcpx+3l78nLjChTnrlUaRy+bjJ6fyMvllvy8908TaCYDQpueL57/mUdDc/CfP2e6bnnswVLsBzWUfbo7ByuefLdYgeVkidUD9HEUaq4/ycUd5cZtJ7LTku5SwHyZOS9VLm637t5Psz/esv6JyO1uJDdflM+bP+tEeVz8qW+/R+reVycZ/RoASkV8vQ5cAPGPP1fruSluo9iyh2WopglMMN67JH7zojsxo+g+XvJS4ucmmGfcv31A/lJh8v/2A71HOvONafLHHmuVk6PKerSMGuMsnp1cpUB0xTqSoRKGennGlHkEPCzTPrDvbEI5++t2ur6Llyi8CcklCPDpvw6xxaRC3iWJj+cM4cByz6MftTc3JN+MgYUnKarCf376ZbrZ2tmndHQ0f1OmIEiJ4KhloYTsmunprtVmqp3Jjo6/X+A8KriiI6UaHQHDi/Bq5WMymdjoyTQdhWIiqAd0ANITo4kY6wdodORXEUgTgdNQqmCnDN4fk0iszNHwFylrf+eAeHDgQhj1xzWgkpHOEqllwlNZWvMpe+NX7YmptvpDQ2lq/nFlKaHLeo6dRMK01vyPC3pEdLI3DoQVnt3atorVYljSBH8iGk5J316J97+ims7PCnDC7Lw7xcfu8VMCyXe3sAJaCpOgA/001Vy7V3ELnsZJYlmnwV3p65wo/m4HoInqyXykV5XU/SkafrgTTzo/yFI1+PR9qlnOtFmMkrRSrUsfp0b2tLkkUYdUAaymkdEDKIiF7Wvvu6E069oQdl6ijjqgpZK+mFLrTTfrk8kGcFwTmMlwJlM4ucAcBwJPqoQ1MGbSmJ98hIbi+kIwz5jHw1dV1RvIqCwRPHM0du4M6h/6ndzM9ofUR3SttQpNHRrD8JayOkzOWifDU1PvSwfHSmUVeLRxt5pmOn3dMLHMipRvsnXEdV1/i3xTitT1UAz4bLBS8nAM2GqI8CRkdpMAhQ2+O5kF5NySD9qA6yach/vPA3GZZjURfKqyZP6qal/sf6AcsUPTQULM28rlrqBGzvQAMJ5TJeyqLnWnr40KuiTogXTotrVQjtmnbhDr0KtXP5szjT2140fq94utRRgKlUBm8hqC3Aa+gj522suO3VL2G0CWbGNKVfDX1oHjlZrjNdgz1Fx58g6pIDR3r0Aqey8+cMP67t+R2Kk+NXk6rMygfRQ77lpTN1RRukf+bHBmfHpql+jTmZI2pMdWGqaImpqnBY+pNCPcubfGgrdijMyqx79OIYK9qsx8GPOJSJszv8iXOavyIYDh7XMs/PJWXCgRdp6Q8tGPk6PAmvEcprYcrHIuoEtqPSD38L05kLKwPXcqTF5Wen0C97WRrEmc6FH/Eoizu6BC+7+aFXSbdSVE9i8bkhXRkj7t0/X+W8RkoY4+9peC/wPFB2ylo+G2byp/3WwUDXiOc5pg/h3hz1pAvC7NCNySe+PCr2gs/x+dHPs0G10M5MhNpSVQLz462+Jks1YZSdPj33MVkewYYPhFARrK+XX6MJd1GfMpb7LnumlDc6wRPaasz1UT3/yrSHP81D9153vKvRqS1ZPJjWtovI/JismlHEtLaEfqWbd935m+OsM6IjXFxcFLB0rHWBqZeVpI6Oj6XZmfn09skTuZIqI0Za+LVOZ1kvSGF+mGQTUGUiy37h68xLDiJZL3q6brspoEUmdW8dNHmoh4Nc0l2SloodHxnVC0gVzwtGfug1t9gQaVHrNNKpNHpKqMAOrVUOfThUlVkHpSMPGiUN2Vq1TshzR2c2qs6KPOtWHvTq2Mt3frFlDaitRsUvh1OzM4o7YqS1sTiXLr10pzWGxcV2ajQaVi57KfFk6wVFOTOJVm4AhMNKWeiJXuiKy3rbpf1xHR0jD3F/7rmuwQ56LssqxxkZGzfssNxUhVdXZHZubi7Nzs7rZdtME2OjenBVj6qjUYFQU09d031NT553+lYmPQI230qAIZ/2QbzFxkIPTy+7l4X4uF55lY60HB63Kx38mniuu5+pd/yJU3ZZDgAqrK4yKJj8PBbXpIW0k7Z3r05lrGDuzdaitXGXSxscEQ7IQj5pOGr2kEM8XHoOJ05L9T6inpSDe9o7Zy9zraa2pN6RH1SLSu8yyKvOW0QiT83PpOMnDqvNVfRs1fWCVVtRm6NDbS/Op60XTafNmzaokxJ24NVQPemZwVp2/Ni80qidqbJqkscv6GanaS/hET273BNOb9bWvzpl0MHZaocfUerYiLco2UbwhbcUTot61iZGJ5RK7YwukPahVNy31Xs22o0CYz3fyp/5pjWxOogBz9W8WF5Fz/CCfhQdO3Eyzc/PC6cxwwd5G6enU6e1oB9PY2lqYiLpkc/5K2230TRywfMOVhzk25FwLGnuV1X7xx+i0RTGXWXcLOqAeqWuaQcAzZMiLQ3fLuSbh16OOqbevO7wU0msDskHR51ml9P4PfXaVf/DPQeycN5m6Te8LeBPuKflnr6We9rFqOqPbOhLvN2Tv6cnDtfu6PZmT83Ys8vzS1zXwfOhXXqachktvvqDqt5u1FVTb/TFpupUbWFR7bUhJs4PEPJst9TG9axvmBpPGyZH1Qeq7epXBbqemFksytQvJzo01P+RH/HcWdtXo8ZKAkxmZFB7MYssv3ioWeGVrSiUFTzBntd/vrf3Ui89fWl+vomb5cpP7Z0yY0kaHx+3Hysj6tdolydnmuntE6dUvqbeCzktP4jG9ItpQgc/xmgWRt31TFAGnOPKc5n7bdqB+gbkKk5H+Fm7pN/kOdHZ4kkG7ELqWbi9B3RfFw7g0bK+Ibc/Gj9+A21O6bn3uqVdtPUOpXzEpZ440450Mv8ynvygpJ8G15bqEVfXM6nUpjf4UDYcZzukqTs4Ac+Qk54uzM/6AfapUD1jCdE9pB+8YQ0VtQ/e6fgTv9VVP4Bs6Uy/0+a6eN7GqqPSWWl4hmjbkgGHaNAe1cfUa5Npfq6RFhYa1qZ4r6pHS2PjNes30Bf96BUMN+lBm0Evb/eUAR5RkU60Fyd2YMY7kPbSQUeVaEw/oqcmx9L01Biq9OJmPCSYx09t4L125bf8O8obgCkkDW5hYUFkTw8ALZQHr1tLh/cdTC/ufzXte+nVdFKAV2tjglSQWFuopoXGouVLZwHoMHbrOBWH+1E9PFTAiFCzRiQLAmcsfPhPTUymiXE9ZOrox9RAIIBU3PTkRJqcnLROj4Y8P7+Y3jxyOB07elwNopo2bdqUNmzamE6emrUGTJ5ULB2b6tp0wA9Zqsbeg0be3gBQ3NKoQfJLYHpqQp3ZpD04J07OpuNvz6Q3D7+VTpyaTwsifbOzs7RdNRo1NDWIW265KW3bst1eYDMzM6arP6z2YCv/iYn8INE0ct79/Mmbh5MHpuzw94OyuyO9O78erentKJc7w5yHaqHw00OgF7XVpxo1nfuiynHk6NH05puH1emdSuN6uYyO1dPU1JTKP5WmNkykKb14x/VTm4fbHljkC0N7UehlYHkXOo6qY8TlsuhlakQp6+w6Us8cxKFOODyso06LMpbjII9wDjAfDsff5Kid1kW8IRcunzc+nSEEgYOOm/jWGSvfSbU12hVuoZk7AyAmvRE2OuD8blc6SBqEI5Muz4NyIBMH8aLtZmwX7RlCX/LAH5l0NMghDWmJC97jyvPQwePp+ZdeSk8+sy8dPHgsnZwVIZSZBX2FVpocq6abb7ou3aZj4/RUai7Mp6aIAF0qP3R4wdAjjarzHsG8R1lVznG1+0nV5Yg6t5aeOeK1hY1eQ5aOFw0vJO5tyESEryWCyBBtW+VuLCymOeU1JmLGC4z2TLdAfO47skK1pOOCfvBYuRROZz85uSGN6+jouik99r78cjp07Hja+9LL6cjhYyo/bWRUz/dU2r5tS7rqskvSls3Taef2bWnjpmkjd22Rv66eMeoS2eAOZiBubVln9wMne4Xq1FY/1lY/RnlJx8GLLJMm5UubVr8GEezwwjTZ+uGqa8gVdcQ1zgmE9R+0V+GDPBxna3/SqKEfOsTBUc/4oxtxuKes/mxwxhHm12bNKNoEZSR9ub24LG83xPE+gbhzM+qTirbr/t7WCaf/5UzZygSSdkn72SCyPS/Sc2pmzvq7o2+dSEeOnRAZmrF+DXIOJpOj9XTZpTvSNbuuSDsv3po2bZhS2+YdARbCE0JTOPJf7JHV4mGirVlfBsEQznrxttXe+KGan79M+KhfI880NrU0+n0Ph7BQL4Q31Q9Z3fODSBHAh37P/Gg75qiLkTQ5vUH92kYr5yuvvpH2vrAvHdV7pCkdJtTf86xuuWhTumjzxrRR9/RptHJ+/Iyrv8j1nesN/Wg3PSdyRp4QGjWR/INH6fnhA/FpzC/kkRUlIRxyDhHCkEFdkhZ8TW8JNQJYQEa9UTbqkPryNtVsLvIzRGEiKsKZOHW9B+oirLQFiBNPqhNkzhA+0iGDeqNd4uzHv/xyGYWbXuxcc+DqvBv1DHk7or9WBsqdqKofGQ1qKseo9LNRCflzHlN7GZERgX6E/gSCWxUppj/iflG40LYu3rrD6k5JFK4/0q0lHU6cWky8g1/edyAdPPSW6uuYtanG4oLCF9Jm1dWlO7el66/bk6bVL2Kw2LBhg34QbzQsZ2dOqp3o+ZB+i/xoUXvBcpHbD30FJdAPHD0X4NZpLqhfndco3XjavevSVNu5I01Oqe6FI+/0HFttgER+M3hJyLvmzp7oFZ0PDQ0wIHp6blUgMV9ZFw4cPJqee25/+vUTz6a3Ty3oZTIlvFSBajgtOhA9LJhkdWkV2FQlAbC8rbHQ8OwQONZ4EK6HiAZd14MLYdu4YTJt3LhRlSWCoQYypfHRLRdtVgXmFzQN+e2Tp9K+Fw+mV19/w+Ts2HlJ2n5xMx0WafFOGssUDdJeCmqodCi8UKwR6yWAXjg6BT/QjUY2pZfAlq0b046tatxquEePieQdOp6eePoFEcy308xsbpgqrTCaVYOYSI3uZLriikxGTr19whouDxUy3dI5Jrk83P7gQKzJO79gZU1UeQnrhRe6UWYO4rrzONz7NTi6QzecP+BcgwcNfHR0XB37mBr+QqKz27fvJZHYw6pPdfZ6QLZtvshevJs3bzLr0bTqBLIH+e5YR6EfA3RIstJY3pKZ2XMuD3qCGx0SeuNcR/zQA1zwQw51wVGx9pDrxMtcTn/y5ElLQ1rkkE+/HvXLcXRMba3AlHwls6EfH31iZY+mPfyk3QCZ35Ctr/ywgcyiN/qNaMiRenHIseTx0kVsrlM613KddO0l0eroBd+aFXGeSU3FHxPB6+pHklq5TC4if+qM2+pQqB2G6OrKqyLLeKqPp1Nz7fTGwZPpqWdeSc+/8Go6+ta8LMfqdNRBttqLacvGKXWoo+mSnVeo89yQZk6104m3TuqHrX4sSW8sJ7wAIRuUAXx54fHy2tigXeUXp72M1MFCtBgWpTyUJddlJifI4+BH35x+1M1K99HR/AyCZ5bRf3aoY1668/NzeqGBU13P7GLatFkvh6kN+p04ml49cCLte+WN9Oivn7Vnl46WHx9bLtqSLldnOiNr384dm1VfI2mbhqb1jqT3FbHSDwAhBvboVKsx/A3ZUnn0SNiLTS+Oo8cOmz+6EO7OrnX/9olFWagaVk6rY7UhykEbFFRqDxvNepB/5PbbDZZC8KnV9KK2tkpZ+y/B7EcbbqUJkR7y40cJ/tQF8vnx54QRvB1z5Ho7OnVyxvxp24SXnw/Kwj0yceBQjkc5OMibJ85iKS79MhYUnotJvaQhtrQ/2iEEl3hjyq8qeVt21OXf1Et1Jh068lZ6Xf39a6+/qb7vqPr7kyoDdTunH+Sj6bo9u/Q8jEjeaJrdrHrUj92u+nsjbpKb20duL1hk/Dm3OVrCEz29fFhSsLIwQmL6CxPOOOJw4MAQXHIbyG0WPJANYWjpnQWW5rg3PfKPKvx4v2zeOpIuEganZpvp+RcPp5//8oX02mtv2A+Cyalpi7NTbfESHZtF+MbVCLtYavX+oH8wXURUfJQqz7vOiHs/YxpIjxHpSqPlOQd/LFjE596ff8LBn3JhkfX+mrakG2mNhZey5h+yjEqMYO6WP+UzwqbnH4dujg8YGRYiJo4hYdSLvyPxh+h5f4yxBDyJY+1M/Ym3N/p3+kPaMz/ivJ6tviiPZGHF97MTPUmz9zuWUn4Q8gMM7gnRq5vFXz+s1E82ZHSodias3iGnVRkcRtSfL0qfw0dOpkMysjz7/IH04kuvpTdeP2RGpTkZJxYWZ9LFkLxrrxKZnkpbt2w0gre1BfZ6H6g9v6U+kro58dbb9nw3ZR3kpzPGK7iJG6bAkh//jNDNnDyq+hdpNP6xyere+iNDuvyHmqTG+/1NOfTduD5nRM8fQt67zImjittajtrpjgnYpI5fQ0JNmTNHRJzaslLoha/3gco7mlpUtspMB8MKViClHdoDorar14cqOBfffhHogbShJvKZFfB6QVTUmCp1dZhdvXArsuRVN+mYtl8UagkiVbU00xhPJxdEGBR/sbMxLbTF3jXM2qrIytGVkvyQk8WxizylQY9OdTI3ZBVMj6oiwM7V4PTCoWFi5aDDaaiRtDoaHqttUmObECnSi1qyu9Ut8tcLX51bK43rpashZP2oGVfcNLJd5dwoHKpmvWh2VB16yFQQPQD5oWvxy8EeXl6yXNM8yD8PnalrsPaSdROc0omDYbk8kV1pCmd46trPeDPfyMqEbDnVhMqFXwa8Iz34VVsXQR8dn5Cewqk+I2vWhIYM62myMpXGOtNq/5tTZXSb4mwWUcEqM6UHQEOSqjhM/hUNm+uPZEPUyScTzBb+cjV1BNQL1jXTX3p1VM88bNWKrAqqF8LAgprBWqPeVCb4bFGxl4K8JEV5ZOxsKFCdg4UJx7bwBUM6Is51dZZdyW7pRY4fnLerBtjQ0GZHcen4qGPDtJ5fCKOjk/KnTUCQ1JmKJCGHDgbChH50vFZXgtDmdajDJS6deLYqgDWNX0R6TNZB1XmTYUqFG268+PXLdU5Ekhch81wFhjo6lY3hA8WjTS3IctfqjmuelH40cHSxhGUC2K7Mqa5G06kFlaczrjQblf4i5YglDSuadABX6lOu1WL4Ov9KV9eqNj0mnUbU4Z1QWTIRJm2+pnzSSXpDcCgbv9oh/OPjmegtLsrypfQjIxOSDuHiRcDLPL8U/MWAxZS8sRVCvtCxy/Pbwsql9GPbVMbjaa6hKSCLGkZT3XZrUxom1tGdTrPzNYWNaJh3NM0v6te+niUmavNCUFR74YqG5vamZm39k8oBkebHaLOZ2yEYUGf9g3BxRpGbufms84iIySiTBOWYP0uPUNcPnWaTKQjqU/QyaDI/R472Tbvhiv7By8tzhfXK/HTGmlGV3uTbUDl4NqmHVlNyZUkw8k0/p/6GQxWpQunZpsNUmrfffltx+CHGbW5TlaLvIH+eH9o2cpsiwhxKZjo0yV/PNoQHiy2WTF6oWHiFop27wpEfHN2u4kmvjuqRptOQDpV2XdZWflCIpM4L/wb1oh8mnbk0rx8ZC+rgu1W1y6R6Vb4LzUn1gxv042KjsFJfAsmSzg3htrCQnwE1D9O1o3okT3SifdE3QPgoR7ut9q/+Fgw7aiP4ceC8/jL2qj/5o18TfZkbaHHpA3Stg7ITl3SQM/qKVos6yphNqJ+mj25XNqu+562MJ+fqeq4EuJ7FTmMyjbRULr1Pmp1NOqbV/qSb+hSGrAWUlFIeOumv5WP4qrOhHuZlBSL/bLhQWSQTfFtFffDcYzm3H+QqP/VD+KLwzPU7rn6Fa+mSZHWlLxMxGqmLXDHXVe9DrHEt1RV9D2mqtaZNs3BrHn1mW22mzY84/cM5phVhRBuijbdVLlwb7PVD0/418o9DSBxtHCJEWtWelRXC2db+SPSrTFECWwgofSGtdaP6DPq5lvq/mvrRUT0PXenPdJVF6T2mH7Nm3OCZUZ10VIcd+7GpkZUp9e3tTPSS2mVNelUVH+LYkFV/Zo7+8iLd64etWmGrqxFHdVtz+tNQO+wobEHPWaujPlNDvPWRaT1HapviAjK/WB9bE6dAU+Mk0oepSyqA1V1bbYW8WsK4ISvhvN7rE4uKK8wYuazLSkibwrGtFfVmnYrdm696BzzffXeWRK/oWKQnD0rvgVE1t3iI1DDmVPq5eRGdBg1AgKZJgYb5VR2/zosNVRZQqhIzU+bB7P8KNVOpKrarhsgLlEbAsIzBx8PTUoeuB228OZ7qbTUKvdRG2lNpVi+GpAeSToIGePxkRyRPHYRehrWxqdSpb1aFaihL8tSd6pg3HTqq+LZegD4ncFEvPHvoi18sPJzW8aih8wvNGmFXvwBhCRVZIUQuuxU1Nj10HTWsbkXziCoa0oJA1ng56qCRqwNsK2yhpRe1HupFWSDoE3glQd548EC3iuVGhJGOAoxx4MyvPJtzxYOpjgScTBck4KX0JLKzwunUKpIjBSWBB1Jn/OlZcSYbOX6Nlzo/6WMdvcpW0a8fvZWU90bhOKHOZjyNi1B3RSJSfasesi0q17TqcVLkBEsAv7CwPpGGR5+XnxVEuvtLNXcIdGQMBXmHZnrxAmrMKS8RzY6IvM50dEbAaT900iMiSl11qOpUefHqt7tAhMyrvalDgXjYEKs6CoYZyF7dDV2uyqMXl4rLDwzquG6dpTpF5CisoviTIrcQPhztj86IHwMsLFJXqo5Lw0d6GdZrantSrtXB+pOJOIsSJsbV8Qtqn7sIQdf/wuVhNtoTukxIV379QpqwBJ44ccLIk9RRx8H0gHELd+sEL8PZBT1b+gHV6kxKxrTqXqt9qup0eUFXZs06WK1uUJx60lRZvVBVfrXp/EMCefrxobYN8ZGdRjKUGZ2XOs2FBcmf5UXLs81BnMLRcSnq3ByEN79oIULK3F4sDT3vHRHNubls7atJr3qdeHrJ6Ncv6RY1jDI+QZ8goijCO71xs4akeX6Ujj5DeC+KLM4vQuL0jIrM1usT1vYaHUiFnvH6JpVZVgXIoX5MddQ3VAUwQ4UMyy/Mz6qT4EWTh5SN9KvSKxWmkWhOzZjarwriL3au7ccPL0eVr14RUVV98QMTvcCXDrtCP6Q4p07pJai21VqsqJ0pn5aeW4XXwFN1NqYhLtorbacjzFg1aHsZqpVh6W6L7HRVL1jQGkpL++aHpsTrrB9Raj/kR3tVwYQVLzqdlaeeXt3qR4FeblW1eXuRyJ+hvbr9INB82nlZtEkmfywS4mGWjhcvBHhcPyp4YTEPqi1SRd8yItzc8jen4TH6AesLUE51SMWrB9FJbeQUL7aq+vEREfERI+Tzao+L+iG4qHbVgjyBj0rQ7IoIqc9tqL+eVX1W9dxOaWqK9/tNtTkjGJTTyqq2yjxY62v1jFjHRsaCdkRY+o84e37lqQC3ODOFAJhq9kMjt1XKl39oqO4ohlLkvlTkw3DlnYTFUn2J6gZdZuaEx4ye5zHmWMuCph+3/OjoJFlsNMJRVXtM/IBSn9imX+QHPN2rjBlNtTkzUCgj8PL+tCLcjPRRH8KupnJV9bzmd0TGQFRH6XlWsHRLDj8I6EgKhyxGDMZGaP/UD32U+sGaDuGhgqtwepfRePV+oe7VS8myhr/wqCzIT32rwIfc6SeL2pveabrOMKud6n2xKCsNo248P5WaSBVlUb9b0XuXPp0+hR8uZAl5rqixYYVEVTAd0egEFYF10rZS0fNvP/Klr1kr04SeLf0I+f+Zu/dmO5LsPs/AAQ5u3T09M5QsRfgff/+P5Ag7wg7LYYsUhzPduB3c/D6/3AWAFEOkNSI5BdTZe1dlZa77WrnyUgWAT+MVmj4hX9kwx6umqOCDYfrpbj7rvsqNZBll+ljwyH6aJjOZLMHyKfp+yMY95FvfFJB/LB74WOfjoSDxXQHgB4F7ccB4ls1rAD54m3JVsMe2I1mZo65n22LgM/ZtNCMT3YxAqX6f2dlGLXXW7hu5uH/WMHSZ0y/FPehB7U55hb8d08dvP/9Vvh0P9j+gqcsY4PAXUXdUJyCCvc8RHhE5z7snPyUpFJkDyEDF8G03EjOjLCsUsW+Gt2J6I18wMqGVMBGZf8pAbE4Hxa2OD2XKSqA+esjoPSvIelcQcpeT2uTqBEva9a//8PDo1wK9xy9+/+jVb//q0bNX/y5BbTiyjtlTDIvZXzJ4J7A5wxIE6Di3AoEJaOoZfjI4zzZHwvfKPG6oq8zSTz/9Jsf6u/CitAn0XV61YO7p05572nc9PD0PK3sS0s+PygDe/2ZZgfvmUslkUI6r54Utz8uMIQr/S8u0f5ScNEab6MY5j475Fp9fA76uU6qZ5Suw44VSlgi6z9VbTedIgfvCQDoIJBrEtAS4+U9l9Z58IMwZuWe/72z+W0bu6bPflsn7q7IvXSuIvrs3zFvgw+E8p+g9kxx8KcgVKuy6gKfTHJoLn7vack27YOYIBUh3nJagDMwcVsbx9PgLBnKwDzoLZeE8J0h+nJFlTNP9lC+lTjo8Z86Hz48FGJ8LcLsyA/E5ZYX40w1vJGNoVLknHN7zH3N6R00YXRPNGcDn3XuSgzXhXCeE06yyGRk8uU9ewX0fnxckdXt8jYcCQmVg+b5hBFkieB8dQqFwCZkZi4zK9qbrt14743YFngIRenV3H4wFLHf3ZeoKqj8VOWzeUwR48bIAPBkTEDwtm/6yXvCnAgrZkMfx9S5H/P6zhTXJOCzigaDn7bsPj14XpD1kgAUt5K7/N7irLngdT57qAODJszL38aKMwhnmYXbL4jQJWp3TgSowZPxQFk129UvGVEdwOhVun+sYvI+PH4K7RNqjDwmiAO5z+vw4+J/ck7OfDk3DSWArGPpc585zgsrHOQRdx8xB9d43pJIGDNRcePo92HJ8DvQW0GS+h9d0SZv9xn99oCfh9vatAOHonmyS8g9loGSsPtQRYd9ORqwHqNbk0GcUza9yCp9liXqOfvdzvwVAePwmWnOgKW82LvwD7646H4X727cHnm3LEB5nUnp1B9yGHsuG3oe/oPqaSxnhsoUCwXibHbwm92/h2TJFwozgESDksD9kj2W9vnBa01B60fdgeN00hiOXIdWBRkd2+x7s5OuBIC4QTrayz+za46d1gNKbh48FijlL2Y1n2V524/FTHRK6+DGZeZc8lL2U1c1GnEa0hV58SDxIT4/ug7H2088LhtfJz1Gl8Iw+d+nLRBMTogF7OOL2WxCDBuwHJs0U9plmje70bPPNu/G5IDWWpzNlmJOxD9E4N9JngQn8WiR1/0Ig3lzD578J19/VOLxk4wM8f/Ek//L+3ZtxXOYHzNrcMcOb/hcoMbH3iexDDV6dJplhp9EDCGUJJz1HD6On4EJnto6mBRX06mxFJRNeXenPw6ZeyNIe2Y0l1Y+q4VGn5INgzT2doNqQg2i0FMH7jz5l4RqJM6r0tGD7aTbY9Y/xmjzL9j3NHpE0J7oLbOm7uXS+f0jnhJhZtOEhW32Gldl6WT72u/bBsExtdiCloA7qedxQqqx6pjf9BXlt5lfoNmLepWA4yHMt4/e+lmqbzXgkMfGkBVzJ3bMXRkB+6dm7Ry8L6n76+X9+9MNP/6H66hjf7PeC3a7ss2tNDAjX7GnfrB1g66scYP0OnmTkEd/RtSfB+erVT00rEe9E+/Qs0n49fN3Pi/9f7/zrfDke7L/ZFs4f4fjHik3hYtg5OKgEI0xl9DBmkzgzIpznR72ChO1dAvyQoX9SD/l9BEEYjBodEypEFCmrC7E45Md6Gxxkwk3odXmXFSzj4N9dUvxYJmPDwk0Ef9qKyRgi7cxB/81f/23zlwo4rEyLgR+q/+M7zGBEtHEUZYKfweG4BB4EkPILXBkCRkE6/PQyGaMEL8EyrKY3Yu5UupeDKdGfAWegBAGfakfgSVANmdUXy4ihrboM2xUc8aTd0QYjCpbPPIXAzHPgpFxplJXCFOVjKxdnM/JmC25oWzSsaEQNK8jhj2e7fo7DJ3VaJeqAWxJcUygRsjeeC2jXk77BNMHW+5vxzUkukIdDwdgyaeFRAPR0Wa/grD7O7DM6Vu0C1dpVHlwWHAhG4UKx3afonwqIHydAP7woGI62DAdHeA1lcqyTtfDvRs9p/8wllEWMGmHwZYt17gs+OFIrwD1/9+Z1fin5oJSAqzTD+WPzCh3397/svuzaD02uXqA3oTwZuLschfJO9ZpwLQuHZp9yWj49+/Jl8tD3Y5zjamIb5ZPTaEywu/e0Id970w6ik8wjR/TopUxgme+fK1Ix+oQWD8/rjuQMsocrz78yPuyNXqzhmQ8J3weBXPJFMAQ/smdNO6ntDHGZs7tnD4/e/tIk4+aE/fBTGTKOXmV6y3rEtWFYTfacUdUrXeeBHIWR4+AUqC/0juNVyEXSnpWpo4fl7aNPbOos1M5LfuPziya3F7gVaPzxT3/IaZj/FY6twLwvaC8yzXE2qf0FPWC06b4sbYtDcnxP1us2pFiwMP2lrzkMwyY16K0LT5Mf8TldR2vOziRtToXNoQtk7v/JLlz4kD/2YQ5muFogYYHZmaMHz0/RCG7mIL59U7YlvcXHsTM5Xlu4jmbV8afX8bTy42slXXO4JvC8Nx3iNrxq1WxEq+xxcjJrf9diMdlA3NNBIOfaI7ba+iU48PrDc4HsmUt12StZkJ9+rFOWTZCtYTOXuSsIMa1DUPS2zCmRY6vZACZIkCAgAOvjgnHHwW9f/VrbpnW8NeRax14G9m32VKfrc/bxsaGwOq938VXm7YlFJfFNUPwer9m8nKjAIvQ76f2pf3Yq+sFPR2aaEr8+C6wFNBkS9xxn5sfhpSB101Uil/tsjxEEsnrx9K6M5ILl7lu4J+S97A65+VBH6Wl4fbwLvmTqTqBVMEC2yc7b8HtfMOHzcdMTdA4N//v99n1WvYDkWc9tX0n+Lvkwjzhowv3o6mC76dGXpjbptMqgb/TqFuwmHuGg86IjRN+cAkH2qT/Z4Ls+2W/TJ0w/cU3HRceSbF1yZYX9fTix1cyY43PfH5etNjKxI14j6YdgD9RNp+IPsgBT+ceSG3Xa0RLRyW9YJj+s7OEHeflU2890zoM9B19dnflEMBimr+G+H1tPnnW86Pt9Ze4abv6ccXuoblnOkx2rsxYu72rHfGKL+7ixL8lds/Qe/fzTbyuXnMU78vu0rOOjaG5V7bN04uHhD+HEhtTp0AFK1vink3h68ejVy5+zYT92/jSbm8kmEQVt+Z107X3054+PpPBbpIxPPujN+Wb7ngXDkxIAhpPtDDB/FAnsuNFHx/m7r/8Gf1iNf8YByJuEfP08jxkmuRyDIawPDyYQ3zdJ+adH/+v/9p+aoPs3KUC9wrJconnzp6Q6n+hVxbTHFComSfkSomXqouKlqEf4E6AIRjGlUj377mNzkErrLzhsGOaJ+V9df58AkK/+s6YT/F9++eWRSfl6KD//8Nsyb82jS3AJmX22BBCECjOsfurXlO7MlSkLlZKY/IoGlbidvqcYBL4vUs9vXv+xlacH99+0UuvHH37dpPanz94+epIT0rt8aHXOlsRzppxfgiPYMVftSz2z58EBd4r6rF6w3s+yO7SwMxSmO4UZtSt1L2MU5P2ZEqZMC5TCaxO9X0p9F0zHvmMao02VqHeG3PXqNe9B3ZDiGERlhPtLWUiZqRcZPBOqp+AVXHYkB23l03pg1WGF1Id3KfRvnq9n8zxGfGjo7PF6t9WXfbKABu2hYyKrnjO4j7FNLuoZmdf3tp663vDb+PGqoOC+zKYU/9u2qDFn7WVDjj92/ZdfyyDMesX3cHouw8rQxVty9yrn+bGshOH+Tw2rWhzyvAwa16ke7arLYQUimjFceqNfCiIfGhp9eldvPtxkpeD6/v2fCkAbrgm237TKyoTvd8H1Q4GigHQT81sV9v6dLG9ZtPgLpvfNx2F8GbpjkFXx5dGP9YprLHmVWf7c8FCZ0qj/PKsjw3Pfcv2PWShDOW8KPH5skYs5oDpNm/QdH8gPnnB05ojqVH3gHHWSCgTe54T/8183VJPemD/0Plq8/RTvNrRaiQJLuL2OZnjMmKKNbXQuRzgiZUyP/OBZdMzJpy59TzbraAnmDY8JOt4W8CnrMLdQ4Lc5aYKVruMBR23fqTt2oOeXdenvF9eah2fxD21mPK30IytnK4uGuOksZ05fsw9Xp8KQ0Mccxuu2SLBqrjtA6P7EOvhqO7p/pBc5O3WaCvEA7jqOQbRr8H4rjZOumSv3Kdn8NYcj8LOyWRD5jGzEGyf6XbTidPxGD/plaA0tzEVid3yH08PgPAs2clHVGN8W+JnIL2iOLiMhHARYRjPos0Amx1aW9k+yonUsJ1MFUzJWgtoUoj6leXHBGx3ZS5mf1CQ4nVXcaIR6ZF4jQ7JaZjY79NmwasNm6pxcBQT+Kfu21dT4+7hnrTDVcX8Xr2XX0NwkeasS7wpU+9OZnlXOdkA6YzrmbJrpG29qd0Yn2rJTZM9wNh4cexVQHZc/0O7oerurQ4KWzkC74ZUzTt7uc76TZbZJ1qu6Pavs+JQtELxb2OG3ledafZcObP5gBHkfX5+/im8B80u4/VrgLst9l9w8bn6sDu3zOk8v0h8Lu/gO9oj+wgv/daLATc7QRPv44BpF80yKu44K++M4NrHOTDDvfsZTJ98o2TJc6TNbKisqYNrK/ur/PNodepFp0xAmf8EkK+W78zqMOGxYlM67x0h36LChlySJTuvT+EeuHpLNj9GSXDxPViykkt03jQgmfLBO/ad+z28VnD9k9+gpu9rlaN00lPRJdu11sgQaAetJEBnqZ3+z4z3zN3/7h8mMDrERQfWc4OrYk7QuG9Uiz3hnfrPsHHvxuODOsK7M2rts99vkTMZPFvxT19H/voDwWR2Zp3UWX/QdOWVYmeIsymzqi9rVSX2eHL/Mt8PtdaNQCUi6H62yteat22IF/fDaiN6zaIbMsWB0mTzMdiak8ZoM/Gse/8xA7x8DCXscAhFzHhLeKHQ+CYqJyW0pwsBEqKWVCWvCqIzh3S80swPS/t1FGRmyc3QlAVqaPgE/wpkSEYsIvMAxwfnQ9gSpUs825yAleH7rAa2WhAIcFgNoytYfP/5YehUT+s3gXorlPgFLGkCUIGSkOS9oVpn28QbDsg8JIsNnmCWmd/UcGfq+EJhkufLnGc+Fck7l6iUH/43R6hOA+nTN6ipNUlKHzFNadIxEleYuVq7OQwIZfqRp13xq85TFl0j9FT/VnSq/GU7lBeqDZc1ddVSWUera9ggMIUNY21/KM0Fo+HWOhfPOSFKMWjt0Qkf06nyC0N1S17ibIm5FccCAxxwq7R9acUK1FZ722rJ1S+FvwRujXe+yQMYqX4G+IXNDu68KhnVKP5aBmCHFF/SS1QuHdxkSKwXJgPNLK7OWidPTz0g+rRepfXLAedqf6XOZEPuDCaR/bPXnc0O+OUm9NHsFfgouK7vJFkG65zD6uuG7SKjdU+dxoOiMRicgEDizExwUetMHcnpklX481QtWqGMLMrp/9c7N2XyR8Xxatss0HDThvBx0Y5uKVi1HK6vEuMuuG164Vi+a/2Jej4w1o0nW1MEQcsTwscIanbaKvroDYXiZFD9eaSOjVui637Kugd53fCoo5RCCzepddLsLWEGezB84N4SGaP1edjd4Gfq76JCVHlwb7oo+g41jjGZP7gWR+Fl2ZwERGT/0Kyl07EV1Pc3A48GG2gN+pIYHvYkWPTK6v8uy8w2yOGi/IcLJsSwAG4GOAq4T3OmsfUi+LcaYYS/4BocFBQKVk61wT6B32qAOgiLwbI5Y8MmmfY4uVhVqU4DrU3bsIf56VgZIBoxFQNcTCHEmt/vhM5vV57I8yUYl91yU7JkyugVfFoAJKs7iuNor0IWbYJD+4y0HduSQLIAbMY8dRDNGTTn1cGbKmIP6EE/U615M28kmrfMfTU7GWZkj33QGP7VljpeODmDmN7oHN/P6Tl3qPDZTec+tk7xr8ENXbWocDMr4rg00qxbypa0u+7zK7fdF4z1fAN/Fh/j8usBAh58OhOrksrgnWH0/MnKG99Kv2t0iwuriOsgGIQuSr3gdfI98t6ZrehQggw9djh0A44H/G7xVMXzQyxN+H3q4LhMo0BZkqYweK2bU4tQRlI2yTO66IQD1PIq5ds54AO7+kB3BsYNttTdiCntkpTJ0U0Jm863B6rb7N37qzGZ8uxbNK8/2vGykA891LvG2mvtd8FfHwJw5o2A6/AJI+s5OCoRq5pSPf4J2vvaCyyfbxebYnm1+vC7SY9NE5GNqX+wxWSJPN5kL3NWd2hXkNUJQ4ZcF6ZIlAmViZ4Boc7+jqaSL7ZY0vdHIaIi282uoGA3v7dpeG4JSQ88ypMOhpiKLIn8Rx58R6B34j/JEgAnpETB3MFdv4OwPR3G/Hdczl9BGjvNvwncMFCEk3D4d17wMvznSLe/OgdlnSB7kS6teOKUz2Z1AgimhyimYuPlT+z393GRvQxkE501R+ZuyFQIGwocpHMhjhseVLjifETxKS4WqFDhH8BK+lILwZwM7T5CSXHbfKYUdLjlSx1GqCgb7cYgHL3PQzFmkJGc3/4O334IePStOgcFyf8MwCEOT+rhoiCZ/r51uMp56/1fb5/MY9ItfsqTXc/hwvstM1H7Ox9AdweX0v28DfK7Z0sanMpRFEKd3djaxzhjgFyWqbooPhqu8Hv2X5uasLcFAOOBbf1cGjzlRdVfF6K+MAJNxZCCW1emW7TMO7De6RivzOMjgBbfvnLbgw/OXHLovGLFyzOE6OLV7snFkEo+O3LkPhhNo2GtMqh6Ax1DJBGvr7btrD78Dk+ecH8uAfIkvZOU48JxAxkImRJuOrRgOJ47UwRCvvTo098/fZcus8E5mM0QWA3A4l9NL6mcoPUeur3bVbaKwnrlpAuNTWTImnjhNzCM0+ba/4ib0JwMnmDwZI4H29o2qYvRfR4TsZwAFGwf+HGB6IYvy8iV5PviDZ/inZ+hkgsEAAEAASURBVHSVgb6PVp/CM7KsHLshxpgMRPMdDP9kOZ2MHAJMn5ydHrp5QIdO0aCKKmVp1eB+y2mrvLKn1kNf3+H9LocwI419ztFRcQSJLz17hqIbZmxY3jYVppDILjvMMUMfnVkBamKXLByegRk9BNDXQV/haGWwbNoJbKJfOq5K2ZJ3BRuboiGoqKrNU40vcemUj9aIhN8bkaiNbb9Bn8C74EvHp8nnDy1G6bnrGC/8DA5la3WyO5i6bJhMYOiQ5V9msO/rWEYTe4o5px/Zt2XK6n4usEymdBTcU9/owoHjKR6Mj32EO3bYuYCcjCZzyHUOwL6EQeSpHqfD8+pc+dFZxyF8qysw97k5kRwxm0uIKmf1Ke2Y/1BP5dnVONOv8Atf5DB9RpD25s3bZbG1+zL7scxbOvY+ApDX6UI8GT49d2A6wSvYBDFhR0irl+0mo/G1P4cG0ZvXHXzo0M3RAxRjS+V6PP7MRgUjdvvteSfYdOh8p8db5BOvkco9slQD/eh/uuxQlryDhR2ef4lONkMX0D3QgwCb+YmH7MlZlZ1d7LmNfhTI8HNrH3bRi93jowRTOkvI+ji+CCrZhh8alUAzdMJn8IJTnYJp86ZR7Nr5YMmD1fkNXzqkzbV7ydKwOvi6Dr/xItn91G/+/fVtD8ea7f6hAXgFjVYkLwtYICqgMwrwqSz92+o3WVF9B5ay7/Q5WVIP+sWlZC+fUYd/+9zq5CUjsvYCvfnKcFR+9LzBug98/zc4/uxAD8yIdxzdwQDhEZ2zM4yFaO5Tbsw+K/wqm7BSuEQnIhGAI0S+u9rtjv1ZHVPqlBTxxrDG3T+8OIZcpL1ea8KnHo4SQ6SAjbf//vf/7tFv21tvwyU5VEOOFNckf+UYQHCe1o4AiToIw+EtZoPzKCBj0u1F+wKVZfhSNpmo+J/wHEGagC7Y6zm2xznYboI3ISYQgjlOtp59NPJ9NOv7VX51DYaUOUjPMOOhxXWvWhHt6/F9Xeqr9d2Dq9P9Uz/8w7GjO107wYDfniO8lEOw6bjac31p9uplKCiHjKk5a8/Lsn1psrogVTsmB8t6fX0+I3MCqdpIAdYbZiBygA60YCScZ2uIMzxGUcGOfyNtZQ9uh6bKH5zMn7MaFmwnkAfH+BwZDkxnw9rhF+yfy/pRWG1PYXtQ+Suou/hEvg0L+i1w1I76/Eajvm7ri5dN1g660cY2GOiqHHiVZSTNe/xUZjiwu5fRoBdb0VVG1XBQ8Mu4WMX47m37q7U3m2fuGnYxZ+k4u37rzhoCDTd69T1N1MEQX6vZKJf7riO37PoJAjLgGa3PdZzOcZyhDCS41/vNAQbR5lGig3mgk7qyTyfjp25wyDbiCbNOvo7cLKiNd/j3rLcl3DWnUA1BkCHtAfOHKixzIBA+55Gv44zOnB9OHB4c7LanKaMVMDmjYKua8vVdP3AfOJL1rsEZTxxCnYrMaZ3rl2wHrMyXe53qkSlYx4wSw782zqrE6FWhQEkXjiOX+RAsGm4abRi/7ANecaybFuCTkw+e+wRZ9vFzzvFNQbA5m0+an8sZWi2e6okHllEwjWXTK5Iz21B4I4/AYbBW/v27ozP4S3Z1CC65va7hJX4s0AhC34u11nHFH7SY45TSip4ymfhjiJddlw2x8lVgOKM2GU/mVq52A/YEceiZLuk4WMCUzKsbH/k8cnH8wo3O7HgXUBg9M619JqOBYdEIPoPjWdMoZILBygi4fz7DJdz8PoGf1dJ+V2PlrKx/HB/OgrlkuxGntdNt+Mq6a4OfADdYvOGlrsRwt+UNGQVhLU8nyJZOh2BnOkx2GxWQIrKNiGBR3StftvtpDR7dpBPhD1487MCvwxsIHb655vB5aHfzt8mhVdH4K0PFLsIL0U6wl4yGixWjdD9QorZMMpsTjyKSIXcBHTj2Bhy8T5DA7DhwRpuufywdOZ2EH3kLbtn/yDPYrvJ4fHXCTDXZtJLomjjOpurAT77qdAsgh188UR/bPRm50eGy5VdsoBNy0cdzG53rE774qD76xTab9nFsKUE6NIPPfHQwWFBHj+g0eCQBtiVO3O7B5AQvriC170ZFyFWwSoA8M4VGYNfcv4+V7X98OHYdO1HQtaMfvvzbHf9igZ4ehyCPg3RgHiXAuA1HxBhENxy4jE/lE88IzjAgPKH0/TjJxO84gRyerSZOwNH6p7J0czYxmLFlIDFIdolwGGL7uR3zf9cGqy97iwbjY8yegbCC8TA0DaC6wWP4WN0ido5+c3NSWj0UGcLBHHCEjBBQ5KcN8Z7sCCES7J2hFGl1hgocjOXBK9yCr6dzFGWrBC3VvV3JExjKMKHLKgggGZsItOc3yToFG5yXsYpufp+yKAYuvY9vp/qmTKOnMt+OwcAChI8yTjA41CvLhQYnEBLEZKiD/6pfbHh6stE92lOcs+IKfw/fvf7IhPu6cUHHyTHSp4f8qvlxsoqLMbuut4kb2jZkSz6k/T+oI5yynoPx+v621D2YvgVlx/gu+AiXZ23fAP87+0gVgQs61DLhAmBtUkYZyFgRHDJN4dK1yRNB7Dj8Pm37rYdt9/6f2jD37O+X0zVPK+CftJhCVozRRRuBExlx7dRGJ45c6+kbskt0d97FTyZhAWDP/ftXrZhVOrn60lxUcuvVerZQuWsVeX5nz5+ML0dKvvS0u5Fx9zq+r3J34YL+0YZlfFfPd2RdI9GpZ9x7X+BJdxl2jsC+lwINPf/NtaKX4begsPsLWNKbUxcZaU7uthPqWvWZd4UW+CogMRfI9Avz4mx7gZ9z3JUJrHiRM3jmmZyn+/gxmuG17T+ay3lzxnvlUfUfPKNneK4TFC9dq4ropo1Th2scAJgthIGv+6PJqI0DBw4Bgvl+2rflgnOwpPvm5+JbIPcsx8lZoEF07NMQpg3gndtZgC7T+9req9jCC71DSwXBU51l88wrIn9PROA1ZtpENysH5lt7wdevlWUbH+NPn+ilvQ3LgrlD9RO84GNrfb82p6WLnkusOuJT7Q2fiHWGZYMrnWHDDFGa67SRk8B+cl9bstPBaRK/TOIZMjuB5px0MLCRHLJOnc2uF4yAClrRJM5Pn8w/Awd4IkdABihh2CedO5ntBSTRl42XUbwCGYZjFO4RJDvyWrifrRHobDoGNGs7SdzplW3kgaE2FLoOlMxW8mvLJPL93qpoc7Dhni0iq0lLoJHtYO3xs30IvlYFmzV5OzKFJ8vIBRBYUfyuoGKyWT3+V8WBI1jAvWH7tTPGHKjTHfoTAaunzx4UhN4ZOudHyqwSnDPt5vgO+/RtsYLRp56Z39wwPRp/avsYiyFQo+eDg54ffuvUlAQJR7/hOz87wjasDd7+1WLPa+ucfYHOoU8VGqWQdUaTzVOVYaQHaB5+7wpUH4OtrBr/YcjYFkm1viJ0f68Z65HhXj30FCwO8krO2IKeqK3O/Oh0ADNqh7zxEQf/M+Xo8mmkzeHeFqZU/0V7fGYD2WIyKRbp/9qRALLgwzSDoBl+fDyq4MQ/eiSzq+Afvfkve3F8+h/RxJTlVtEEOEacjB7FuDGp+1MEVuy7sozkEZTo0HeEOj0HPQAZN+xICKqHfKytKC7ge1UgN6fPYEV0CmOfHRNV6cKrjIvVjwKBi3HLBHXTBNr35uhUjvCoV9snqOFMOKyu3+5RLClv13wnlF4QX7HOhL4zkOhhn6f9UxZepw2YMAqn92eO2OkpE8TrBOf3ggl38O3su4Ngwo9x8v2iy0XZq/wK/yN/Dr1TyhRF2f6s1BFaNE4xwsNQhHYEooG6thS8np8i6AXnoI5SHIfue9ZudQtCwKgduM1W9GkV3UcT8BnArOXHniEfz0PmaXvKoQ0HcR3LriYfR8kF6k0cz/iq0+kY3LXlNxjJoO8CVvUtcK4cWLahaO3plTk5Yytsp9iVl8UBm2B8nYJ4d+h+aM6AuH46D6+bpvCn+HbfW1rao6nDHnU6FWc+DYNzZcf0bquzJf/gsMJRHCxrx/HLImyeVkbynYn2ld08KM5qTqAAz4Tisn4yetsuQmDUxHDZitP7PTBOc250H1D9OY5UOXvlNfs4GnAusrGPva0gLdKDl2FSOjaurM1CN9RZcEg+HWdu2tGds1CgsuRGRqCsY9oxel4823PRQUZHBmIrBjPUZOLqfcfNphTK9JXBXIZFpgSPKwNQ9iJzawW+QAH9BRnT32QVjVwTlJIRPfz8864JSnhmdZGLVwWNPvFoehBOPsHrOtovm9f1x3BqmGaBazBz3lY7L2gAVmUEcYgpAKjKBeV0PRebUwxu9+Ojj1qcnVtwGLwy2oaPbGfBaZlLt3340EZAz4kH90hb+wIeOvSuYP5DnZP75ElHC0xxFxUDCIxHzz8kZ14lyUhtw/f0o7uzYxwjR2svxKodPfDfNasgzVtFD4tDDs8tVDBkXtns4Lv4I4NiuyQ6KQDDMzzVwaEL7C2HTECW5eLUays2bSX0CSwDOTrCwLPgNx+4h9bhsJWLgNPUh/vkwApqPPqiI1W9HkE9dZiXaqWmw+b1p85sdiU+2f4q/E8mGDPYqNM5E+CZfoGvgvmMdfQ/eJGF0Opez3SogzwmdSdA6zr6kT/JAfQ7cuX+kQkVHB3tNyGJqSTasLdPOEwGq8hQPoEW1J7Pcx8v+BFPap28+a1uGcdaq3x6EYPuW2xgCzD2R7sLTsHXc4Y4ddwE4yM3ZgiM45k5cF8DqjB+qI6tbu3JZxVmM5HHgQdo8b3uTFXDZZ2Z7OoWj0QrWTd2XpJhK2ll1rLNwkl2rmpXl/pkgh3oGZajg3bXVrT6uzZ01+bLZF+nns58qLftGltBvkYXsFXDsnHzZXh98BM34Oi2bUk3sWTTUuIffzjc5sMYtoCjz8HAL7yPfhb6bZ5kNNnUkRplz/BFvX8Jx58d6CHohD1sCN9+952AcLLm6H1os9tCha/lIK6c8ovyYxh6XPX4dBY3TQBmhCu7YS0RUwo5+iHsel9xM0Uv75RgiNjLxMUE2Y1ty5HgzqHUM9euA/Mu4ayptecek0IAPOtTb2FztzJKZ16DgCcl4FDjpv4ohi4zubqDBS5JMjNaM9WtTWoVfaBaOfQxt8h9jfrceWzaDITntONQtedWF2uPZtQ5uqj3CmDQDV4zlX0/iijIooSeuWnmnuFqwNd1p+/+9VUd8H8crvA9OCt2YNAER+0Aw3jvM6PoFTIP7f9V/zefcgwdEuyscvUK/rS7Xv9NMZfiDx3XF3RECyv/0Ao/DI/q3b17/cvKuHcCgNPz8pxAC6x7vt9S+ILO63lwC/RZY0GAZ5zfywX4pBj1ZMnwSwFURm9Zm9GQDJT6LwiVkfs45/Yuo9kr0SwKqSwY9LBlqziw3Phoqu139taqzecFx5wLF7S4OCPojQ6CNb1Kz/7xT80jrS7ORGbpOLPmBzaRWdD1voyECeKT3IxUln4G7vD68Ab9xp/kZ3JwC5boygJVwYsyGTELkALglAvX0SpYz9ZBGdEcya+t2D3ywVGSIDwDb9KV8TZHB35ZwsGI/gv8Kzc5Ql/akbwIxnzO0Wm6OyczduSVgZ9jnfy6R+Zu8NUefGSvBMb0YMNXCRqH/L6V7vgKRrSqmejk2RtdOEV7LKrxkvfgRi+BimE8cmTxAXwEWmdz4SE6p3Fn2L1ayRMIVjc8asx1G9QKolKMtpRKImpHoFLksedtFWMB0ENTBkxIXwXoXzm4sSLLRlamatOnArme3+rdyhuKpEPmtj2rca8E6zGIdupYxFdYAgwfo71FMd4tSs6PU2u4uOAMb56VpbB1lPcWk1vt+cQ/fKJvW0CBvXsLQNNn4pGslyDPljO+g0l5tGSL1I2WZELnkbyxq+/qsLyr7rdW66YbngH/FdjoQFqxC1YwyDgJnFtUGV7RJ1mOO4lsEhS+1+KSGo1+3Yn+gzsY0c32Q6YUuOcUcBJVBLMQYXu9TpYLbNKLQqCEo/YqK2gi/4MxcmpfR0PwsLmJk2I0rfPa/bE9Agfa5OvIbW1qG54KjVEoVB39Mwx/MtKGIYMtUVFKUoPf4+8mZ9HA1lpSE36TE18EeYLLLWzsYfK++YEN0Z7KkqtK20lCNLKFJONVrQgEtbWAGW2PrQR/gpacHvs+P/w8i9MiBhugy9ZtVKaHTyatuggW+asOQeNs/kBMfuMBOdKhvjfPKXmnw5vf2PdtbB+/l1mMtoZrv8R79tciOwu6HGgoYJyuzJ+c7DB5teL/TbIjA3vaIm9kkU8+PlzAuJ07toiWfHdddjHanEBPIsfIxLlmzvddcHsjEWcGPln4kwyir4Mq1IO3f7OBXeL3Rli3d0SI/+rade9f5pNn+LOOI6yQPIGbzzGAUsUcjpYinBAqfI9WrU0KI8g515KmkBfcEU+H65jiBiVlARDQc65jvO8LiCpL2Qzr2I/KHLkFaz0uq2JuxX2Ock6zFgSPV099jd3+XG2ezwR3GaFb0BZwW+0TPuoe86qnb+eI8QQcwynT8Ovb4fStCDrBok+C9317vv/D01OuXZ8zB7ffp44UOCIeejAqVx3nuSPce3xtjsj9/Ht1anf0hAuaH7rDkSNbtqv7t2b3LMWd8c4obI7e7oPz8OQY+uZgpThnTubBAZxT+quHFB3AglZgZUiVITsCJsGUYEsgqz2p/N271cN5uO8aesyXBJs2nOpdMJnzUlbdgn7Xsxk7Thlz89DuGAFzPPX0OC/tzqDEylqBYllH9Wv7tMuY2BpG9sKWI4ZutHv1SGW31EHmHhiKjjDubzxr7kvg9I0RO6uF9cA/ZUTftopcp3ZzmgocbXUTlnNY9i2rmTkO0yE2JLjgIBlD175rU7CEtkIFHOZIr1epWZz0tgD1C5p4NjgENLJGM/QFSVYdLxMTtHB6V1aHs8R3sodud+hc3bIYnIitKvDv7Ws70jf8kYPWrrdj2GxWz5eTQUPBqde6DabqE8ytI5BT46g2ZKKd2+maWHWyNmcioGEHYBgOyW3NlWXCqxx2n7Y/2lZI+FrbhlfZ/YcCE3JiQvamYcRXk7kFXm8LHsFsThyH+1lQHRVPxiRowpEN8lvB1VuTs19d4tCfN+LQQ7XdAotoExizZWEYpE3zyHkwG2ef0fjSv62GDo4QWgArIynApKPouu5lD4H/WRky2Sav+npsykFUOfoUINGDA710i37A9ch9+lQR12SFPySTs0zhgf5Ojo/eybIIlhegkG3Xw6mplacsDlYXWVy2Jtw35WbPxpPqnG7Fv9Gp+x/mgM/CE8GbzO22qKmOyROznx2S0b6PV4bV4Ms++AQ3ZCUK+taF9MslncYxK37EKzoZdtGovwWWBEcQu9XOyd8ZMWA3s3PaTMfWQQuZJvgUWESP2qNbx6ZFzxqmI47hFZ8ENb5XbDRZFrUiRkzQ4shxOPTM6VR1bzhEjO4K7qwn00nyzLK1wTdaqF+wEf91OHUitql4tNimydUDZXaJlqgXlFXbhexRv2Uul7CojaqJnqctcFZgMKWWs3WcMF2bXUwHTgatMsHFrqnHhvDuwyWRWuPa1eHg78g3ALw9xiiBAJx/3pQFjNNu9kOng8bokCzwS57tTSjQJ0+CyJpZu1pZcTXXFrv2sl00HPYd1SF4vyBSZ7rFGC2s4ffnM4IdvJ675OvyM1bWG9l70bJ9HSGB26n/LEDjvwzls0lR3jToDnD5opOKPUcvFvylc1c7YfkXcfzZgR7D4YCYFWmPewuCHpfj6qGZtBj9R+g5zQyF3tLT9niiuFMOzN/Z3wTb6fcceF+va6J+aXsPaZMyT3BjAqN0GbWPCRsBqakjvCkIbWCUDzMIP0fTc9U1RxjcMlgEwOma4CAZWRmrdzm9MwTXUGWvU/l5L7lvT7eWWa9zEtzZ4ozpWU2qTQJhpRc4GZzd67u9/eD3qtdAyURsGLleDpgoU6I/2DfnwsMoEs6DP/zmAG+0Qh/0oNDfC3SXaldQcgIwZIWT8gyX/QFPgHV6ueudMEyri0KfnvReuO61MR2ex0cHOjnUR2kpm8CeYXqe0nrZs/fGPi+t/lOvnrmyvM+bL+ndqK/b41AwBQZO39576pTVIU8zru2RaF88AX3c67qA6uCrDk7+Y7wAA7kw7PghT/S4xQ988HjcPfIIbqdg7+96cfVf/e53w3VzfUZbzrDsYfDhEx49z8m9bK7cr697SXsvEQef/eUmI9GXgwI/p/Fy24m4byj37aPfqT+obdkAF8+8+vG3X+lvjtzffvzTfqPr82C22/zzl4Jam+XetshIgdD2ZW9VMZnbRsKCow/tyyiwnKyHa5wIv+iWNfrQCt1XPYMu8POC+QqPXgwg2bP9AfpVGSbWHl1gsOlruhNPODY9dbALxvo7fGXRyCJ6ypzzKxsm9WClJHzN6eK05ojI4J4O3lSYIa+qmi3Yq117gK2TEV7LlP6Kp+e7ouBA5xdtMsywb75YeGD79vFTf7b3s6A/nNLuE0Dl3Pmf4ziODG3oMJwmM5U0bG4DYIG8LRvs7eeVTBWJ7oLA8KsdGevNI7o5Y/uB0VVDbBwK2uCTTJuJ2bJAZDnDMnrbcJmeCAofWjTxoTdHbDjJfmztl2jxheEse4Ch24fkhi7RQ3psTpnrG+ItADOfbxvLVp8h/8+1d+mmrB+Zc7AVaA0fQ67DKzrTR/ZJ1uVpuGzFb3pWdZuovxXE8eBp2RtzpzZvtefAUss912hN/P74offAFjRfnWd8epMOyC79/PPPLYTr9YiVM8Jj/7mHJunTLYGY4BC/wTRbeyAO3mCGczceCpQ9TwZqfJ9wp6MyQDpUaGtOmH0DrWrOP/cpWAve6trqdB2zrgskTub8dDwF2jowJ0mBXgWMOQ8LW9juvbaOjsRXB/zQlvyAiy6hZaF4snyCCXwL1HDLkscXhwygAJae9asgkmRrzzX10p1Tv3qHX5W4x7Zf9n20iFhv65DwSS9btPXU4oAgEDDNbvY8mNg/unv2NTx+yNYxpsK8LevFjghw1m7t2LbrLuVlj1Kz8BOsO+nE8+0RF8DN78v2tPL+5av2ju2tELP9sx/hesNPRxh/m2776FPtrcM6vsL3y6M//Om8rcJozbMaY4v+9u+yuZW1Wb09A41s8F+IaU6ik9696p3qOnHmfuqYsLmbMhD8ZJxM4TnbhV54SjfYabjhjd/LICZD+LU5gfkG2y6tQ1chnQn4gNd0nx/blFndmzOf7uNRihfs4gU48q3JWZthE1e87enR9/qDn13+VzuO1P53N/cNUkS4jiO0GaOI4fq5dwT5pKyjcCL5/TNRKmJc9bkfc6IElY7DV9VfP/+rZ2PItj1YMFDWJ+HQY5WG1SugVIKY6yD46mWwzuEeYb797OMwKBgSIoZhj3Rd2+5t+K4ARhaR4luabTXvy21SnFIkRJeSXS8cV7vnteMZp13KHWuPUFzn1eDtGdevtk8d34D123F9zilX3ueEOeHzvCq/vyf48cwyQLfy6pmhiH/2a4uUg5Mxc/1qY+0xWrFNAHYZvwunMPsHNDgwROUZxo+1B6Zj2mojFPCKgj2pLbDt3bI1QFHxiz1CU86JUj/vDQoLkFJecKnvtC/4OwbPbyLQy04qQ8YoL4Xk4KO7BQvksTaQUdzjAUMMZPiNNyD0jl/t8RJ7wXp16KQYSjmboBriYWRlDMhR9ScXDB3ayCCoV695QX8tmpv14mWv8apRsBqG/dLmny+CCbqcOl5db66I8skiR1+HxDM5ojgU/SMKOJJlCxxmR/tNexh9OAuwNheyigU9ctTmuMHhGjbRu9ceapxKyjYVMMJlweRNPTeEHXwygOCG912yvp5wDlMgZM5cbrC2yIdechSma33nzE8TwVf5IwOHd9uuqPubjwaS8NhwvFWFzmh68fuFpajhHyjhIIDpWwH++B/v0L3uwui3FXOTN890SJ9Ef6CQLVmtjIYE4JxHACxj6T6HL8vn2FCh3qOj5gw9ouWC1fCT0bR9jndoC+DUR95PAHcWBQg0bCyLjzbCNkfqBH8CPxlI0Wp15nietnhBhgrNx6c+94YOPIyQdn64S1a3+COAcl/9Pe3aHsVwvElPUfEEOD3vrTrDadgfO1hNk4/PwayjRCYrWiM5rK7VypHtLso4ye48zrnVNRmvDZcJvMb3m96hq21fZneC6XQiZLTPgg7zw1BHuWV6anOfNff4FvCcYXMcrt3wPPrb/XX02KmwLXMp7SYYMRXg2Kho0OXN8U6H0YQNwKsId2xWOFgkRObIPcpdtg3MFk7EJNzrzjd/piyZ9Dk6gTt+h0Y0qqUeA+f0LcivMuRgnfPuL/COJwKYoPha5vv22bl/6hjtwkPn4IvVn8E9/OOFAM2hDHyiSA33G1p4xP8Ep3fLbjpBZb0NhHwkbXuWXE3QfRKD7py6wu+UmG14d9so+8LVFIX5vvR14qPG6CwbCS72kByzB2wNdssSs7E6zoj5+PHZrJ3em0JgDh1cdKzI0KcvdYTTI7yF6usCtG0UP37r4HoLi+DYKNDpQN1jziAnU2FTgIePwykawc9vPtO1u97IszZlsvmRSsDriSxlnRSb7Xt16p/+9LopRe3C0D+01TG0KPOw4LSlvXNUy9q6fv/Lf/6ZgR7BvkXbwXqElGBE/BzxFRjcJ0iINiGIUVOdrnXhn8RwdU7AbgqTUIzYtUFbZXlmiKr/auM49gSpe64lXUdwEuAxj8zeyp+hI3UnLGALJp/fH5i+TXjz0qdMGCa9XlEkEGDkeHBCxPCsh1odHP1J+RKao3SDJ8G82jlG6WTYvhe4A+cxJN/TafQIODTwfRk4hnvG4hKshJAwzrEGxwQZzHhzw3HzCC58PH8EePvmobdAJ95etFhAmBALXE4AD4doXp3ZhpUTXHNSm0OzGg+vGBEUpSayDnmzOSl1vyxbEmApBFjUc+h/l9a/efrw6MeyU+BA0/vqf3YLnuHuOpzuzZe7rdBUx7K+wY8XM7g3nipPSU/P7gyRmsy9IWriFF82wb5yYMQDMD40NIZuDlldr3qDk4npfl+BzPAsg8X1y9y6LutEPhlQk+yX3cn5BkW/e+/ibZ8p2Zd3GS897L37tLbBwiEw4nuLSsHJ517x9yzjJmP0ueEEL32Pc9FBrxxOubKbbPvcsGIlfNfr1cNFF2xgzuFvZeHksPuM8lnkMCWpzKEhOqjjOiLp6kj8awN1wtH3yIQOM4nJAnkQxJwhEUEewxw8o4XfQdFznLTqSYxVkoauzX+pZP/gR3bJx5ET3+mudg2tbkHKnDK5rYXojdaCv8HHgcUPdfWnVvCnkxzVvqyRrU3gAOZMv0JrD3z22nOc9o8soAcbBz+r7lU8HehaFfezAIuz7nMBYA0J2vJTy5qYP7Q5mvGuEsmDzJA5a2fVoQ7m+Bw1ezA4k9CaXrACl+ZT4iGmbX5ldXhnseQH5lgRCOzN2epiYFRNAV81RKoxa3JQO2AnjxzTGUbrS/Uabj7zz07QoTwd3ZBaz6TxC3bflqEjvyeIOwuzYkQT5F9ORwTndI8+orVtPZbt8dYa+hFc1dyZBFT/skjB281Aq9HR029lydqBednJ6PZUhwJeZLl2BVnHNrIvPVadbA/RCOzR59iJM3d2st19B1GbMw9eizg+xU9BCR059wUDx5dok0ywLe4bmgfZ6TTiD9Cjbe1CwZ9lp8DQcUaYzr3LtpP1Y6cqFK7sEj7rWDl8H6TkKrjgBO8T7IZnGU3wgAvdd1Toa51dkHk/mbowQNNO7euQkJMiscmH6Rl0FOzgGvm6n1U4bOkCf2CY26FN5b7k+8jPCZjiZ/W7ZzQOzP0f7nu9JDljmyLSOgzpQEVr42OjPtm0RGN7epIT+IYfvXucbr/o3ermhIKB7ugQ4QCa6+gsi5t8HByCGUx1rGThrmCuosESTQTLPY0n5AEefDy+6vwM/sqytdcc1yeNwHg7CNopZ0rI5HNEHEUmbr79Wx5/dqAHebZsvRfScDsImuExit8r574eE6aKTahXnlTddPmm6Fh8rqrvGJiVX8lvfyZsCH+75PcIXr3rsKeE5SyqnNSoKxW5KdHkMKbL+GEMY/NRl6Iym4sQ5wVnxt4piP2C1OMl0tpwTVD0uuGwO69RaZXoXcNt90X4jLcMnracDoLmOEKQ0U2Y1ON0TX1O5a/r12cXVsZvxz5vgnTV7zpeUBD1OXxqFy9cOs8fo8RA+c0QuH+1gR5bZDFlPApDibLOGRTb5Zznrja0ow3GlaJSksOX6FXwS6EZ2FwxG13w2/VoOm4AE32iF6sxx0thMwaPUzpZPUMPenkLnp+doU9ww/tsj3MUy+/BWesXTcDoeyI4XKesOUd+7aI3g6HXhkD+MUQyMlPucDG53aQMjv9pb9XYa/FS5m1su+EYgR9+3mhwS/nr2cF1DqcGoSrI2eBezwfFjIK5UettZqgNp+KfIVFwC1Q4VLifSeNRzSuw4tELBrz7soDjr/Z6ZrIniNdGBF8GgTzWw8SADWcwWgEk6JFBMbSxeWAxaw7splCM85yKZjvHrp4JkwUEc5Rd3fywghNZOI5CpmpVBI/XYz3DB4EQZ17DC2AJw2h+DOsyoOEOZzSQZdGowIU8kKEZ97aYMUTzqvcWy4y+6r2qhrIFLmBk6PHCXMbD+5OxTvpqLn6AsfuCXXRbxh9MwFn0Ezx9Kk/fNzcOnJ0Oz14nehrmPVv4WJSBjjm9DP62UwllcqBNQ7cCWPK1YeUF9joK8SC+b1V1dDtz6lA4eMmD8W+wjPrx4yZLX8Kdc4Zjf1c336yD/fEd3pPHM1VBJ6Nc/IEJLDtSTEe0ZjdKvSX37IRgETycHT1JdhBHwdohU1tpjA61LNB6k456LdTZY0+27syZDdkNq71qqN1wmeyJYw6z5x3T9VKcV0c46oduenIDU0cenUd+vO3Lsa8H94fejIRXn8OVTIt6lpnua1o0Hi/AD8dYftrO/nRjAefqvgV4AmL1P02fdeThyxN9P88RPwU/WbvReLgk8+agGp4VKuzZyUk13HQJP0bn8TFu9ltbH5Ifn9+fNbwDb6/jq8xdF/r0DDvmGL8XaJDrzuTANfZ9bd/aU95zDpuBkzM19PV2Hv+nY7PVq4HABjlkonecmC5MyBg+BEc0GQ7kJH4t0zZ6omG4Rv+Dg091+oOf0Zpe0sF6QHwvurtHLH2POvv0zMk2HxtBvp7+aCSH/utQmuPclk3NXVaL8mh42XqfT5tzSRav4Vt0IhfilKdtHdo0/p5NBqOho7vBdXR+9N7VI0d+v5dFLCbQjiHkH5t+8aphaG2Df+qWTn07Di5aOTr97c6/5Lejef+DW4Ak53U2LXzThMkk49aSew5EOt8hjiKYu1t/78/KZAAZuBnpqOdZwjMRWE8QI7oWQ8zTGF1vdZVxPe0QunphHNmZb3CUsOkNY9IlEEnSFPIKjhgLY/SERJVYRmFF7l6oLvthWGjDzJVjdJXj5F80hLsgYLhWfELdcwDUe6AQnVeGyTADwTj1V0nydlL8FN753ZEiOMD9jZbnPpr9wxNxTzmwo94x9D+0oe9eUfcd3kamjrFj2E859IA79nGO2nW46yycXpAnKzHShDPc6cvVa7Va6r4XnZ+Ug7qqbONYfVrtCS7pk3i1HmC02VyLnCP88ZdCcvhbXRlPFgBW/gQrJ0C6sgfwXS+75zyjzOP1WA8thgO5C67NX6kVxp75A7fgIhRu/LmG1+olBsNDvUir4p6UQUMJsmjYyLCDodtnbeYry7OAQ3Cr3q7PfniODNeGzMZ6gqG44SANXkdlar1/0SQqp1KPPjdUaO6dyfFP2jQWPZCHDDkFGBfvVaPXOhlBv3Bl1Obw1JwcbqJ2fBCsnaGVnP3uZXhvn2QUHJtQLWDZMBV46uTlSAT6JkEvG5qzoaecoU4SRxm659yXk7kSfOhc7SXlZDn60N29EQTGN90QNHBcDlKLj5cMoNsyhgUpT3qeDVm2qeJRQ+zyXQBI3pLNYCXLsqQ+X9RB4/AOhkcmP5DDrtFpDJucokC/F3d0b/eDZ++FbYsgiwFk69g94JJ1NgOtd4TPMjJY6fukRntn/uTnnNxE8cZHQdfHrtl/cUP9eBtCyxT1NF0gp1F97WhjgXewnSDltCHokc3qphLD4bIZ8AHsVnhXBK/g9cDhVnyT8JNH2UjXr1PA3s+O+F5ZWes3zSWU1buCPGpcBe1j2iumcqzk0IHmg3w0PrZvTt7VU+nKDbbzbdc3lB+8Z5HUwdHcLbWRJbCEXP/Zw6ND6pDReYwJ1U2+EVkzSKJz+qQseF9vR/J8u0cidvbobN+Nj/BwbrV4Mi8ysNL8kktTK9AfnIbUBfgapJeqgOPsL+XfUSASPckKvnylAf3o/nXN9+veoQ1cT6A33xQJ8JF8nPrR5PDTc+edt5WnGaNT8NUeOSKPU4DBc9qZ/nXZLd/JvWyYzoXvDvQRdLOdzwrm1YdWaMF2fsy2bS8+mCP67TAK5ICh1zMGdTDhB9iZ4/xtNFbudN67hm7Zncl4T5o+M6sb7aBg5Mx2J6386P3UXqJw4JtSkVd8h2YN4R+a+T4asI2V35SbYAmqrhx4Dctqhy333Ff+Jfds/euGa8GuLvMMzStcpyaTD/ZmTfy9A7aOJOLvXf+X/nELv/78ZhDsOhCDMdbztrfST32/l0mhhDPBB/sN14SwJ6erfY4QX4mDcQjDsHwzBL7/w4OA7HpSOOdcTRwTg6X0UtMT6n7E8elgZQ0fPCvKH9MFajemXcEWuNRxhEoj1VkvABM5GhNC58cTcKvHGLtnD/VeEzhvTLCgQDYDfbQBmuESwJ733XWCN+H7B0b123NHmHrg1HMjwTKSC15v9UKsA/yUjnPw/cILD/x2eBZu2ndWPL4ZvsohNCS51X8refsT7uoRSE3oU/w5d7g4a5vx3FnF5qNZcekds/gIl503Y3MZkNH6wusGy1V29Kn8HYeXci/jNrpZiJCbSw/J2l6kXttXT01Z+OPTMdTRIKNsiGNzydbeWdgx/GvDMfm8GQa82hwyn92WJTaEY8jW3CH0WTConZ4dzceXY1QGuzlzSbjnkH24ck+zABFzcsTAVR9jUp1zhQxqtAjMOY0NVUVTga/zrQ2Te0MGO/SVn19ljJzd5KW21YEGcPcd9xOzDrSB4xXYdiUeLosS1GT9ZARcP3LHDB4dQPuuYXJl6fKhN0p0JaO7Ibju1cR0Yxm16iFz1/yhxy1i8n1ZuOpeoF/TcO/G4FMfeaNLLDJY4OyT/pIVexGiL52SGWBpFiB17/vywxW/whO87l2nZ9VLrhxgELC4fx1xZdfHxy4fO9AwfplGx9kcNjCnkzoq5xV86tAe2nLsOkEWUay9+KlteFy2yHXBHkd84ac3ddXjvu+GwfBIGb9P2RM0+H6yJMf5gw9O7Ix7DsPV6lrQH3y4eX7j/5lvBO6K7KygEh6t7cfZuzbdbYGF83rbkOe3gXxDZPY5pZPaHV0LuuiyIODYP/Vy+NpQLxsRjYLRMxePLv8g+wNW93b0eeiQLLrQ76/3+skWCRKUuc7RqntdWnltbtgz20hWlT+8Om2YhrHrtYDWhv2s6vwKW51HdLRVh0DP6A/wbPuhzFWOLMEwSL7Cstdv0ftOh7LocMF6fV7XlIHfxT/Bl+O6vxW9o+Muj8bK/z2ef1f/aC4wFQXdDrpzHdqvxbVZqbVLdHY9+/DDjz+Mv4Icss0Wo6etsuCp4wPro48HdvBcPJIN499RZbY5OMC6aShd3pC0p4P5oqN3LLOTQNbBPKMm57mNLqVLG4YN9vmIGw8mb/EPnGwDO2sT/ev9tOxTLWJcdy4ZOxlB215Nn4JDnbZC2hSYfuO3xVKfJAwijvn8Xp26OXrdPwc6OtD2uqa9f53jzw70LoZdn5dgIgbFv/YxawHbmCv4isxfGf3/F031f9/WnE6EYyy8h093IzEq2NOG2v0qaPHD/Q51MNCE602T3/1+3oolTIpNfXbOoFCg41QohADhOgjdhya/ekOBnqLfnuV47ElVSmPZBOlcr7F68sSeR4T6GF2rSA1tX8ILJ+0PhZsiuPZfn4eOsILSnplTOXAqD9YpcK3Z++fKyrk3etw+PYtP8DVE4zh4HcV83CuObAStnMZ8yqQxdiufQmSSzlmbjLWT8pl/RNH1th+atC049jwldjIGOwqIBUv9H65poIRBZ0F35155Uz2eYAw3L+sWVMge2KdPRvLwU/1g8x5aq0x/WRPf7p229cAvp75tSdK7zfGqtOf01g0R6D2a9G2LHds/rKcWDpyHgBk8D606O0NbZCW6hxe8ZVJ4B9ktV/RWtwdYRgj9qvnQo0/t4YP3LndrnZ5lbKqiKqsGb0nOkTPfa36Tzb+USULL9awLbi95QWun+SzmTm37iviyAG98O/DiF1UAL+hJOClZFqjPZdxq0KKOLeyIP45lXCsokNezmmzt3nG8+UaTXmJnUwNiruwLfXMI8C/664FvL6rKeJxs3IfcY8PPRCRh0Fv3ujP3ZLkM17Etfgu2BU2y4VbecnRoSY/cxyMSijf0nCNw9FTB6KHX5RwexxsZEbAdWdeDB+95xnOykH47l12IBidTdKs/PE470TU+XcM6rqkXnWp29U9eItRX2G5tK+Oagz6u3O33dd29Uw4v+tE5W5VudGP1HzgPvb/aXLYimE+WPd0RpNzqfpKujo9VZ+sYmRqOe+1jXwe5Rw5w0YNfWhn9p1ai/9Lqebb+OHpzWe+3B6Z3jL9sOMs8WHuTbR+75r2hhczL44beNX/CtCNHYHDigX6rzgdcHIa/Lxj9ttLTAfce6Tjl9u32jGsXLZZsIF8USOnKLFuIKNqpngffc/i7V/vjQeXJkyDP6btV4lcG7diU7FPlxF4nqxpcN/pW8+Ae7Jq68Kl++N9YcGhR+5fsHv6TkYMjmK+6NzrVjYPbTY4SOvy66GfV8IH56AK9QHs6YthcxyfWHH0YAfG3xtCInZgi9zteuG11ugP440vDP2zlQ34vCMb/h/h6YDiB1gKrntfBGezhlxatno14REt0XEew8GsLJBYsk890eb7gBGY6hAE3GV5AlsziPTv7GRydv7QjwrUCfLL7HY3Qhf11boNkmUF4OYcYMegbPep42WKoS97wYmf021B9bRm5UNfjp+ctKvj2zz+0eOj5z3/mv6/k0ZL/rmejTMeJgk8FhGhHhL8WY3wow6VXGfVWFoMJDOafZN1BVgx1k/1bJT4wkIp0UMw9UN0TyARaRHDj0qWUilk5ZtKxW3vOxw047V+K4VNgxhmMWepNqBbkEa6e4dyOAU35EvylgLnu8OG8f/kvf+hVKE8f/dQSc+/Q+1gvOL89nN+9P+/ie7FeAwNw2pYJsTpNZobgzCMEY6oE0P6f08olBnp3INaBHtCaw1lxZXdrz61MeBFw+M0gsf23YLBvXT8n5bXrvd4HGlDC0WYZy4S6JgVNeLw5GNHEkKM69WAuBfAMLglO4KOnI7igL7/5sX3EYv/jxtDBLKjc63vQsuc2Cb5n2BaO3qdD3Qy9Ico5SG3Xrp4j3Dh67W2DZs/fcL0UTRD466+vK39W47puTh88P3yIR73sfXMKC0KfPMug3BwZ2G2JoU3tFGMsSPpkDl38flHQbh4ZXu8VYM1N2tsWyHw0WOYtXsHdUAqDYdK8Ce5WJfqEKPvSTX8WGL9pQu+Th+jaXAK47/l4v6BlAZysNkYvRBkdrbCVbRAModXkdvcPja1YFRTpVRti9Kne0TZ6CSA3Hw0dB8sx5iF0dCwebQ7bl6ZaywZmhA3r45My5JKBf1JG3KTqA8PhFwdCR168OItp0NOh7aM71RY8T+7qFAUH/rWd4DKdZNywF5lVHu8uvqIH3v+pwE6Qil5093NixnBTl7MgpWejyeaMVk79Tgc5jGKDV5kTeII3mJIlfLe9g1JXZsBzMlH3051wrE7yUGU9F6/jv+N8P50EOKOJ+tDd77UVbgLz6X3XPQRPx+zBLqX5PTv+j2anfmUueghyHqdnZBrinz+fYe7PybRARqYUbRzjefWNd/0+MJ0sybc2yRH6kYOjf8qhywIjz0eTZeyjE3k6myQXeDdy897Co64LvLX74mVbYJTRo7Ng3qsMdQySNlu1CDKXv2bboiv7o21lfTpdBwuZuY6LVgeum80KRr+djgu/yQbid6D9CfQIsGs3PZ281Vbe/nRw0tPx9Dxj+Pcs2Crz1r6gOj9gHY0qZ7rH6JQ8fLFgqqq9zo+/MrXAoex1LulQc/MD0exTUzCcDvAP/2TZIjPb1ri2jt/NXmhLXeajuh4awQ4G8otfBUszMCf7hAY6S/Rj2cleb7jVrcGGV8isdQHfRb/B0m+LxBx35lubZuN7RoAtUPbv2grl+I7qCC6jN8OhhMDkcu/3rnNDnqY7pxMDfocEC3yvTCScrtX1oDJNZgh2/SAavnRuAd6ZesGuBt3obnug1+0LejZLnkFJj9O3+HFo0GrYBes+jfo0TSG4PveKTLTJ6vc9akRLx6vm0JKJDyUHjm872ffT8U3WSyKhr62UPj2zHQ4+Hz584kBD82Dq76lzFf8r/5m7+afbPEJ4yiH4t2PLw4OfQUIIiwxQ/HWvg3r7poxKRufju5ZBJ1wjWFkwmSJExyCGxyT1MS61N7eFIkzh8FR9DH5EwmuvuvEvMduy8K0oi1GHooeQBG4T2Jso+rS2BJF6bQRvk+srbZI1mJ89fzmD/adfyhBUzXbLTpnvP6ZoHPRWxv1UObAYhkooY65AVg9CICQI+PX1CRh/7P4PpS9nUCb06JHhKLCQyv0o4CkL8/Nv/6p6yjq1qeNR2uY0vv01hUjQo4GeIZosoEsAr54sOkRkGETv4zyOst6MlvsZoSqdo+OQRrEMAjGmVGjMyNhQ8scff6PolBTdqmX/DEHhyzI+NWRPsR9/07yzgqWzj5198srGjfanbfy3nYbnzE2x+efrHADBNznXnIZc0VY97b2CkcaGutoVhL1C5CDw5ghOQ33efnF3dzbF3OrmXvt1195d1kicjCjnFmbx80nb1Nx/bHJ+gfXznMtv28PuD3/4wxTbJpzwXmYtOOyZBZ7HJue2GEOGcg6uhRfeFYvGm0tSEPW8uZafGeNJXYae40oizUsytLv5mdFhgWzlBVAWazDyP7zsPt/WsRWP1bugK5hlRxeAR6dn7ce4Mm1YgbuRJlgZL4FfxtgwexfRhEHfUEsXPnWPrC8L2YN2q0fGvTqsxTOCwblTYth9bxp4mz5696cg6QNdw382sTKCeu14Hd1W+kZTtBWg0kXDZpUcgIIowQ5yvX/HEZAx978FIw97OwW4o4NGOtDZ9gOGrT4UKF4OkHOlS48j2F30NiwsYOdcf/Pzj49++uMPZ95vwfX9szKs7bv1vonX9/dlh+JFj3eeXrf5PH7JqOO7XvrmVsZzGTyr5uwJ9pB+P0mYnjeELCMl+yg7qIP1uveAzohXFp9kpLyk/RzhGu0MtwuCH8rOO+iXoKA7tSmwP3CsbM73dBTr4ORArWi1inyegL7uPM40YkYvNDgmGl3dX4BBv9nClTnzPAUpiUKXez6+rBPU8yaps3v3W0hETzljsnmyLsqB9diUHq1qpzKm3ujMGB0hc2/C0SvXZII2ctFoyP/7n//L9A/ftidc5QT3v/nph0e/+/k3j37be8b5BJlv0N1FW3Q09YEdfW5/vtobQjfZCaTuk5UTTEyuwnX4o+3Kd3sMr91wWhamS5csGdI0ekTev9E1Z1wbdeN6lk6VTazebWSdXm0qUXXqjM6GDYLC/fimLocg4eff/tQio3ePfvnjyex4z+yUK9zRd5txF/DNB6TbRy+yCdHhS8ExP+LoJxT3KLlT912BkcPq+z/VUZ38V785vws2g099/BcKGYLkuGxg/KSgBK5nGkV4FfC9+OEsDHjzSytDPTHbnCwlJ88L/IIm/mSH2LHqw2d12LGiwo9++Km97G6+HdjzNcm4Hh9cvdmCrJhrDC72Y4EfMayVN227Qt8XZLYH6KvkkI5UODvZQp78gwxeGpruHRkHnczcpmCE10Y84tmCK3oT1BIN6rH5/ObrpcM2kfbu3nfZIm8O+pyfffNWG80fDY4aHGzs7qcWtfG3L35qJM+IX9guSB4RdDayCXX2XrTXL7obobLvo04mfJ5lO1+MDuQn2a4Ce+iV0Zj+WI0b6OlhduC240Y3cazT4fPIwX7+C/85VuS/2cgx3P/NIt38qmAJCWcQymMeaf6S4fY+uMd6BO32Xxw/o1QQPCMQz2OeJ25HgicVezTBNQ4N0VIi96rzLLqoLfLYQciqJPoR8COEcaQqCG04JKUESQbrmrNxevOeSznUISLMBny4MYbCpgLr3cn0bKVbv2VK9kxBx5cAA4+egJfNvylV/iJhpLQmqp/gMlHKUARB0sQQrLWeOIItQMD4KXBGVMkpTVcFFATfE5eghH3fc0UhL3jwtPKjgWLfHZTRcQxAECTsa2efpx00rfWvdZy2j0DOcEUfPpoxMiVr9wNor33bzl2HD+sxg2OWu+d7TrCCz2fxyjEmkStDdYwzx6cNAQwanB54afAWHHBCX41M9X5qohx04GKIiIHRc7Vib0HajJxynP1xaAfXk30Yc2vl1BHdMp7n3YiZpBzLNU9JD97CBc7CMLQjaMO7dqv3y82ogY0Bk+3Uvnq91s71Q/djsK7nBdcL0iqbxex/5i1jzCAKLA7djywsIxYdBdrVXgnX4R6vktOjb08b/pKxq5PFANKB28GQ79VAyaehcTjNePYJjsl69F3PPsA5cGybCuBPb1lYZvY2F+nw5wQycK2GtXR4EHzhM1zwP2rh792TdF5mdzJB2nUEe4wThlH8ussmHFyObChAL598NhzSnMt6Rx8L3l/kJJ7lJLy94n38hTMnyPjutWtsQjYmVkRjwVVaE5nP1jiH5wJi2Sh0+khuQhad8WJyHm2Q0IkWQBWsL0jr+9fJ4tg3PgRzMjHZK5hS71gLr8qr1/57rldseNba6oXzOnFXg8rvOLy9eAmuQx80VmB/VufkvPsLHOARDULhhkvfowO78/lpQXudziOjrkcrQ+O1vQw0GKL7ZLYKLn745Lg8R4bQWxYPzy3AkM3TrN/OKix4bgHGj3UKf3y1T856uMYPh2DfM7qU6iX9EaI7h/bufH8MptuFwXP7Dvbr3vffL9gv+p3i6h9Hbm0BdQzJfpMHNMXtU8bvSXG6c1+HyLHiSgQzm24ax0dbI9VxECg60fBroB/t8EdHYsdw9E19cNZmvOk5b5uwlern5nk+LTiBA91jc7XlVO/wZy/C/Rt+0bHfnxoOVyeZPzTwKdt0zVWujZuvcv/KSOqQquvTAtMjq6Ak80C01c/m0QUn3J/chm4JGvx6dJ+zV/1QL9in5+rpmvl1jge7F1THfXZnzyeDH8hocht28fPcv3tILmqfrESh8GAdD09Op/fwQMC2DsHwNh1GtWeDbbsR2Fppox7RFTyzK9Hx8EhAWj11IsHkwPfNi40fT6OnHQQ+vP/DAj36Qsb5dbyXcDIvk287vKiB+Mp+soNQ5tFwefK9DrIf/zbHPyPQ++cBhlhOxtPhu+wYxSUQiPTZfJxJBidwnAbD9PeOrwrx/dUcy5HjPa8Kk//nzJJsdXIuDgxdD28icgsAKBZQElYp4sEWw+8KxOaEqlxmUCPqTjSnuIZqXuRo9Cj05AnG0vZ6UeG3TA2OEsrq1av5pV7wy1beWM2lJ7DFGHostZfkHAGYgtRGgsxBToEDj2ITdjigmd70dSiHlo7RMBDATvwZPHUcgVuRQxN06RxfbvfVq/xlJI+y1mAC69r3dRDQZVoDTEbxelYLx1hw+BwQ4p72r7pPPSlsSg3GKRreZggo1ALO7gk6BINfCpr1mi5z9K3VAABAAElEQVSj9jENklWSmVq7KQ88yJFP1xiU+xfapm2HOjJMj+PXhpV6dkEbvjNYlTl06hEZvFRxmZXq7NaOC8fhF16nR32ML2P2qcBFMAc/sLzK2G/n9GpzzXC8TKEDz2UhXT/1BmbgEgXstLjD6jJGj/xOFyqgvBNNDU17gfY6PvBEy+o4JK/uAlFz3HDiCFCw9VtGa3Vou1s6OO+jA1o3o6B5hbUYQd7X8938PD10deNNeApqdubQ8fRy2GjvHLxdH7975i75cO3AzsT1vTYM2+nf9VQ4JOuDRzvKhGcfglj/YHe4yKx7ogO9MrrPM8iCPYEfnrx/92uP69lnnHMMnz96c8PJvKwDuUCsZ5Ylpk9HBtkR30EEdjIW0IP7M752LQTXsO+yV3DiwASSvptSceYah7FApuJO9R19qa3K4D+dJks0d7SpXaMVs2dgQfPuncN3sN3gqT76YUNvNAczvutYqsuxunxX5+0aG8JJjW9giE462uPJrTEwOXdQzo7Bhy21H2d9Ceez/Qe90imQydPJEujZToWsuz46BqMM/G9/+9u9DeOnn348dQbXFQhoQ2eH3WAU6IX2ruPC4frN2U8Xhz9xOPRTxzrM1bc6EbTjK04UbQe6HdyuewvkPNf1I799u9WjLN4aqVDD/alWydWtLXwl1wndo18/nXnAbAFctDFb7wnyQ74c2T73rpMh8N19nzT4yfs6BupIXy6c2EP3oQPimo+W+7NqTS3h12Tk7qKVtnfmqzx3Z8GPLFO2kr0UhJCl3etz7ZDbHPKhWJzpOQ1O/g1tdv906rvXRoHsgnu7roPo+SRZnZVcWTAdWt1wvtGvlhumrmw4sCkyzjrwx6YUYE0Wy7IHG96HRoduQTBlY7ThXg90Ng3nU5n0Yo4w+YoLG8eusxNHb45c6JAL1JwSChdttXDRAf2NZgV+ut9ZR1ccw5cr/7wRQIHe+w1/PzRiI2PKJqant2BOXfgUWQpg/zKO/yGBHrkQ4Pl0bO+5iIOgYyBDM4uXUvd9PfC90/MYwvPUP/hL0KrQP0NjM4ACBQzfMQnISR0Gz4HE7CeeC5YnDHvC/7nXY8iIVOo4+gTsSTBQBow7ipjwdV8i7zApI5JxNTlZubuMG6HznsnPKfjzPBcjs2Czz6cELSHiQGzeaI6AFXVPOZkchGFqqeDEZvV3MXqk3AmV9hgBCjKF4YRqi5A4PT8lVy4l2OrEDNGXFOTQ4uCvTgrBiFWhB7+21Y94I+NyAk1GyX26soArekjFo1HErvChM6Vynrr66N7g7auNXAW9728GLBIE28GrQv0/+GxYoCpmPHpOBk+VC/YyztvRPToIWqXF1b9h656f4WBEuia7x0jpHz8FqzbQps8RSN19h5u68fXK+vkt66e+S/HRnPPefKbaGK2jn89jsE+GagHCMoaGTs99b9Q4gXdDlsmGMuaFLUBa+9/oPzyzGoys7JwDnObTOZ7X6zb3ZQECOlTGM+iBv8pqd0ftDt/diYjRAV03ATxm6n9U0eCfwQoWG33XdAtiosntfN/nDC6a4nX1zIjWlla1S+4M01yvyGP4tH3koR8FEtsbq8Uey4xPTrTfdR9edt7nhsdH90N7eIGNkUfsIx89UZnhqulwuWsepWFLQ/oGmF62E/1vfnj66NdXZfTeGtJ93btoe91iQ64fchzv3tY7l5WwqGqG+dB3C75X96kfbDLhHJeg9nOBclRd2+U9g10Jx7kmgDp8B/fhw6YiTPYMSTb0FPnAbE4mOd3T88BnuB1e/c9W1VK03xZEcFe3G7djtI1+p/xpnxyrm7Pxqcy5f8oRDb/nH6f/57lTd2W6FvlmE1c/vlbHvtfumdx+QRBLBmt1RAb1Hn2KjwkRWaej3oLw5t3bBXjTy/iJbHYZ+N3vf+61fz8/+rEhv2XndUSq59CQ/hwaBrHWoyn8j16AQtnvDz85Ucc33A+Oyl4ngOHq93D7Ws2N7/CJ9uq7AmU4ssE73LgdB0bwnWzlYAoG9ZIVB9weN6VDJl2wj06mmzx/3msjze+MIerZs5VXG73W9oHPlXR1zOl+wY65qevYpY8rU3vqnWxddEsG6c9VryFMeOC/Zy78+bzJTf5LHWDxnE+Llvg1x/cy5beMmToO7FVMduA82I88KCexoT5TSq7DXORaXSxw6jBVyBxpbWurIKqg0zuU3bdAK5A7Dh/BwvcM1XTjEK2y/dtPheHIZHWBPh46oYGzstnqc6+2TCf4ikudwoa2zRsVl8yv197s7o02Fx6DqOf6P9qZ2qH8RTP0BDsaiSHiWvfAe+AZTLDq0l/K8Y1L/50Qcb7fZ6VUA1GK8LJxbD1wDFRO5H0cWcw21yoi/VOHuk79PZ7U2Xk8uZmD0wu5Vo9F6+qM5OiN4f1jtJ8o3OF7jY/6hpCJ5LeTQey2v5i3J/zRMzgMfSjz8aGXHhuq+dIclAmqzhr8yzacFs4QmZ7u03ZffNp8xOPbuVWKRYGdCUT/CAphBJZjdaYRAlXPPb2EdPgcuoKJQ7mE6eZXTgX9Vf85CPG33ps+kXMrOAfHMRDaX+ZVlAuuSeeIWDUHXmQBm9NxGRA8birJYDl8mtZOebZqtcjj/FNP3+aNfK++73AuEtZEQ98FZzkUWVQKZNUfGq3HdguMZgiqVSUwnaMJZxRltKXYGyGYguLdfHPFi5GqRsOdnus0HDUZQLMbjWU/1LWhmN3ve/f0opX3/FmlnPJn5N55cbZIqkNgZD6YXdzXTvhaVeYxtPXPgWcyjV/KhLh05gidAOj0ug+tF5zjWWXgNaMLPvhw+vZ86cgE4dRofDDTzskCXXXYr6qRjKqoR155rLwDN+c36vfZRfRmwAHtzsdW0AnKrgzhghzlCvR02AwNTZ7H29BUm8rDd0fICgTJwWjCDqj/5nyex2OyASdF1pEJxkKbflps0vB49H/Zrus///jk0Zuf6ly8QTtD1h+bJxUsD6+aJ9jinA+vNifPis+9Vizj/K55OGi1RUBwpb9OOhZNre7lvg9s8iogja5sBDzQZgraM+FyOfrHc1hloR9aRCMISxbQTpnRUeDPedfWbMaqoevRN+HnYBwnG4t3V3sc3aGdeuaco8+XxvYuOq9+WVt1RUv0Q62vx40XfnNKh2dXoFibYMEn9IgVDnVcx+rvx2nn2KitpBfobb5TGdUUn7Nfs8m9TZEFeL///e8fWWk7Bxh8aD980Dy06JF6k741dxYspf+7dkFw+0yGznXYnX/uCEbpFAk9QlPd/t3q8HHZwetaQKzSw3+4H/wEC1iROOw4pKv+Gz2sKp/tCn6XFENt85Rldku5PnpoIZVFT7YUeZ89iJMbElQh3XQcfoOx9gJQ+9qdP9S+uhtaRSv6gm7ryMro336fir7hud+eqb4eH5z4qrLH5oZ1dfYR3bs8LzcaHV80HggUVdSfat53lD5fSojAkUeM4OzXRkiCUcaY7NG16zg0ZItPPfyz8irTYtLcX7gdnwpX9gMtRmN2uGc8T2bhfTLqwRHx0WjwpCvTqdkW82l57GKBCGqOOLMmq7ftvpL/s72XOZC9K7w5u+bjjr7Rgl1YXDJ5rOXaAIuM5Tp2ybZ3QJt36viqbwFzLTIST+j88yGywQeXqkW6Lv8lHN9imj8LGthgDwYyLOYGPBlREeiZsXA6UQli8GCRQmXOlh6X0H0PwHcUEr5fR98XLMSMMzdLj7BaJ7wJ0midkMSkCXvPbV5Unv8yhMsWxSSweJawefz6JOSUgsKTUcxmHPQ8N6G8trtb+wyYthiABNv1ynjTgbkBT7wMuxeWe0Z5hsczhIBTOO1XNmdl9dnmykzIU4b+Q0Fgsbq7wMg4DJGp4xzofozkCbjB5ZlDM3A71KXSG5lGO1fAhQaUxDYiDk9WS398u07OiRFCY2bu9G7uvXKrHBtaHeE+eOKHst6PKsN62gdHsNbMZWwFsxyctLi2ziTtjIneERDyQqNvdNtrg6Y1DNgQ2jOCOwbIiimv87rjuWR2gtNQrYr6ujYZAO913NPxisRGrW6m2DtPuRnHfiMzOTvDY8HfMwyDbNyu1xYZYRTWUt8Fv5u4Hf3wWLnI1cOZoxtf0AodP8arhyYPox/nv2HsBUADvPYtNLCYIgwjFro6az56BFtfrEo2rDYHGhjThWRku/dbZZcjIttH1munMsr6jep96aHO27VLJ87QakOmvell25YMRdnWA8PHdIqjt9IzYo9G2jl6pD56U8csfBhost/FwSdwxC+B1uubLJNz9NoxmSCThlfOIhrb33xpkc7d5z81b6pFS49eh0dOuGD5y5OC0fTty33BR9sYPeodlBal1F0oI3lGFeBqHpQ5ONtoNx1NPIMtae9GEPd5Mt3eQ5ubCEYSEnmacoLFcDmynR5342Ptb4K4DtWYjP5VSpaq8ARZJ4DjmA59Dv3gOT2O7ntEIN/xPZ93IS6h4+a4HslVanWBBV2dC4XQ8safy0YsSO/6fmNEGGnvIjWYrrLaU6fzGimRvTMN4l3TKizOMUwry6iMaQc2hrdy8ueffvPo93/124K8HyazqyP5kFHWxqn76Bm7ucV2a8+dc/+UucmAHx1s2QXTka0Dn2uOv/95yu5GCMJrbd98CDp+sz1H/wUS50CU27fvQPjUorxrP8aLTj6PLT9z9awQP/g21cQq/GBbVo8tjjN+O8GCFMOjT/KOF4eHwRGtFnz3eerPRiRzMkmb442PNxjdD8FNI7ngdo2cXG0tCxX91DE7P0G73eerboH0aKSStXuE44LZAg/CvDnLbEQISCDAgzfXppGto93phWtVEWgdbBoswzuaHtiiSIVP/UbWBIrJYLDpHARE5Y6/Q+czDaYaosGzcGFPF5x1T4AbGhGSPNXpSoUs/rOQhczCmax6Qwz7IhYxd1SABm62UJv24Dy8FfSGmxn3AK5+5dBx5avvysg+L4nlujc4Vc2O7+Xj4H+78Rfw8WcHehjmuIQLIQQbBF2a1Bj2vRUomNs/izFOTzAHnxGe6LKaIxdx+e5IQTccMqp9U/jESE2Tpq1kCoYLDkMWmEJgPGYCNiuuie0JV/aNgIr4LfHH2CN0cChAmyolRD77zylWvJvBYr6MNxIUvd83lDSwCVnPcbaua/R581buWzXoNTLsiB4Hp7VFHAmqQFTQIHvz0Iaj6WHZO0oiO0LQQHXgsrqKZ1/AF10rETgoyZChScFa7WDDJtgO2Jsyd28bRYODZu7o2mU84RYcCCQ4t/hAfdoSEAv2FJlSZxSOoTpG7TJ2F93R3HmEnbJydIyo+h3hlDIqT0EoKfxho50Z4L4vgOrzbAz8tuzey5SxjkJ0Bbd6v+EigAn3+ISeW5VbvRy3bBs+y7KBAH/IHiorv2FmUPVDQGgFtWzeOgb93lYlbBxDHe7ambGLFz738vYMiHBJD9wBW5Oz0YCBZ/HUtyBO+x2HRuiajEUfmc9Ds8rW2l5LdIoGe2Wq9AxFyBafuk3YvhcMFXSqlvG1Ghwefo9Pt8Bh8/UWWCVXhtFkgpL7yVXfv9jkNfn1DIfgnu8COnLww2/b4oGjqHO2AM0wVcbTq5tsEPu3f/PXh6/hYtK2sgwr3HT6/vjHP0aLgxA9+QpbYk3KBfcHf7zAqT7Da0Y0XfmpAGK76/d98y6bFvH614YN0xsT2T9+elGm8uWjN19+ib2toH/78tFDc2i8lkyQ/ONPPy8z/DT92zykMWlEGyxPC2RFgHc5yLvg3lB2OIDks/0Z4+NnW8AkOXDzuaAuxYAnpzYeJTvj+3Q1Ges+R3M6MZCqzZ3JXj+Vpa9k8dirLrpOznoWKQ5djmyduzca9YzMBnpd2xwp6/d51vOHljo5o3k8/ZztWp3TpVP+Yzju2q0+z4F7etAzv0ZvUyAEedMVtKlqc49lc168erktVH77m5+3Mtr8JXJztfk+fByDDbLZudGmy64dHC/s+rzhcV05cyHDoWdHvlVXPfSusjp6p45v+Hu2W6PvTe26IkC5ypDDG0zJw+rZM+rF4XPPM/xH0ti/7p3bo3EmoULxMDtDzuASmUY7q7ePnmevreDu3kUPdup8r3b1ZdMFy5ftdE+QrQM829V392zYC86Kn8+uuT6dTI52r9/3ZZHPHLWTCWRjV2d08hlrpu8y/OYye46/GS+0Y9pDJzKfQKpvN1rhG/ka7tnAbdacXrJ8y355qDMoDz4BS2eqvRJoyi72T7k++XYb3bv7qSlW8PWGG3YCVOz+nolO3Q3wbDr7W/1bwFLZZe48X+fsTSvw/+5Pb9vb8e2j100t8HpCPkfg+DRb+rKtfn5s/vwV6F18IetV2xGtfNwOdHlRNs8ho41+11ZkJyg9/HZ9u2KALOTU2/+/qOPPDvQubA5yJzhBMK/Qui+oEvDp1dnY9pCxT0axbVc4XgHG6REdBTM37tqlmx5wYhMKzB4Bo+D+a4sgHNa456DgDr85c733891VQ4LgiBEJPqf6jTHn+f1mEKpoVbPkDJTfCwRy5tVxF36yAdrfaryU5kkacNd8oVf5Ay9aN/fqhI4CNScTcgz3erQJGOeVLk4xJm3KhLO2J+40JJpI4+/1Vv0cRVZX7SNGB/QPDW4EoBi36zPcWTy0uTZGRlO08fi1v9Eq7vrmLgUnhTWUts1/K3eCiNPWVzw0fDsYjQU4PQcW1VvyTln9XlDmM/qd32Dqebgo1+cyZin09kr7YwazQGMtVC7/P7psCJVBCB9taHcKHyHVKwiiuOg9Y7S2K7vA89CakYyBoVyZ6ji9OAFdPzqeFMhbtk+Jj4OI6vHU4beeot3x9UjtZ4ZanILtHOYcCmZnDAJSHTuSmWcZnPm+m/z1WDhHt2ANwyr3P9nFrJB4qDCQth1FxmzXZxDNRcsIoXm6tfkp8MywCbg+F4R9KYjS031cQNIeR30a4izYbQLzlzI07j3pnhBzWXDPCGboJ/JU7//5v/+nBWMPtrxpQdL7Pt+8+XVbkbx/aGugnjU04j2fhq82L3LbZ8giGAqtuurDF0Gmz9Gjzy4E/7g7vNyrgIZDPeeXbfi/omf7RrQNTpk5wftkCdF0itqKpwDEwqf79kv8Osm6AMSkaRmnlz/+2PSRly2Q+vHRy17396zvgki0TdpyLMGYE02cogHco6fhZOzGo4IjU0wm18qQrQ3J9j1aPi3jgT9gv+ZLgiuM57AP4z2Hx/hK5tOscPw29+zw+zi1vsfn69Dh6MpItc/B4O4pc3UsXDl6zukep+5aQjz+7A01Xb/kR/u+f8zRkl32bg4rWTWdY8F9sqcjfb00fs9W1kG2OUzDtD+0NZA5eYI89Qrw8VF58rDnLt3BP7LOLgs2Kv/1iDauXTLx9XoQHr7T74uOPrOv1VMzO05HwtdDY9+U72//bzYpRk+nwRGM13lw80R07Jwsokv2+Xzfrf35Sl82K3ptK44WCjnYLdv4TMbjt3mj8zjJ00VfMO17oAHvSX5ynd+e/1omGl088vmkqQJgTCXPp2s6zD1PrpRxElx14J/yZx+6gbY/qyO8JBS0LUgV0MERT1fPZ2EB25g91Hus/tnA0Y6c11a0r5LOSU+yPgTPdRLVfa5Tx33yUI3q5lPIpMNfHXpGnB2Hz6FNsEe1CyZInyyezvvp3O4d4extfOWX3mePbaXy6+u2QGrbH5nobeIcLYxOBMaGbs8IY1k8sPSsLd7411Bd5nZQVfiuINNG+F7tZj7v6Eh3b/P1wPtRJ7V75GHzfqvElBBw93/nEP0L+PNnB3qYZ3ULJSfkMgV6e5grK/DHv/vbXgb/8dH/8rv/+Oj/+L//+tFPP//HR69afv/Lrx/a4+xvHv38+/85oWAUCLltIhKvAqQo2rXM6613Eef73/Uc5ZEpTu1mRCLkqaN7PWPS+2PWt0PaXa/XK3kI9dkTSQ8qTnSYTKvm6zcB024sG8Pum0wqWu9nx8kE2k/qrRU9XdFT6Kqbm9PurRhPfnmdH3lemrhht4zly16T9vx5q7O+dD0cvipi2YT//Nf/JTr83aN/355ven9v6w1uuX5aaJ84m0dyZDNqIa7/cx98elAEbEIVbRiyCeQUM4FEq+C2MCZMommfAtVoI2DiNJ8mtHp8e32ZTFQIRe7dr/bkPwWrJvuNaed1O46fwFTG9uwuzrnCx/3NWwkHCvZLSog29iJ6lyy4L6BhTAyrUgSzId/X83pScJz7rMUyPF29n5G6y3n8ZvujvW+u49O2iDidhpywIIAcBPC792cfPjJhftwUOJk8+GbIhmP8qW3GggE0v8gQOEeFruTFdXhM5hic6kbFBZWYi2gB7bdgTllzCD0vcIOfzxGxsr4LLBm6rV6tfrffV7cABJwMbGPJ0fiWQTVkXbbuOKyMcXes8F02sayTTtFW6Qbbx+bgPLRf1IYdWezaZHvx+FH757UHTLw8nakn6cmX5pJ9fJ28F8x9LiC7T/5LJFRnwVkLG961Wtz+eg/psADORucydv/lr/+63+73mqvX7SNVuU/JfgQLm9oSJcMMcvTEgRmO/Sact98rtDv7g8Lo9vW+og7zi5r/ao/AHU3M/dI1nacQrd4AjzooR+5db4reo+1kd9WxcklvAR9Zffay+XsFeq9e/rRFA8/7Ta5f/vS7+Oi9xGWickDjZ+15haG9/h7i9afm5j5pONjcS3pjuf1YB5Rk2fwhsGzIPr6yiYlnMiu4OCgc+Q/cyjoqsvPMQarK9JnzoNP4fQUTbMKhj7quII6sVleVK1ulq3PPZM/IpvCCLOuQZBhG+Vuxk0nqicHUxdmR8AC3Z6fj8XC4Vk4gc+zj0V/znKyutRn5//Qf/8PwMFUATueonpttevH81eo/Msy2125twVUQKYMDTqfjyEMg9xs8Agp09TtsJ1rejnLK5WMK0q/75EK913xSNPL71Htkbddq88qsVcHINzaB7WLYnqqC2jZv+ENtmpe5FdfgEgwEERuBP3B/Xl1WuT55dz/bLVv9/1F3Zm1yJcd5Pt1VXb0vaAADzIikxE2PtdzZsv3/r3VhSZRMUiRFzo619626utrv+0VmdQEcUbYxHtIJVJ9zco2MiIyMjNxcTiLdLLfTVGXGcvR3kKhV8r4dPWKdo3RrBIDPlJdp09Q9OKE8n/JcFDzXuAXWhrP4F+6Mt42isuz0gx0W7pzz9TxP0/6bEiKzPFJF+OQiZuVTvvDnEHPSK9dl8PA7bcK+KAffI+c17ojT3GZBXRyAe3tN6kWOUawYiPpt3yR9x0ypquQ5MzVTtiA3bHvKcGf9gj9g825xlU/rgPQKniSXFtArNkG+fns6HB1f5PxLUBp8q6DZ/vd21zm8n8EIQs9NGdV/UQYR59RFOqatt35LS7zGHHUa1/ZZprL4/PacfGfIEqd/ARUeth+5ZwmL4ZtbbTqfMMNB4Z+E+2BFz1qEKeAEhYQI8kiD/f394eOPP8acvzW8OdYCcMqCXUzcdDp2UDagEZ3ELZ3MytgdWiAOottHeC8oaILYdagyNMBF9YLZEOoyK369wRhGhkYifePi9nB0Hf80rFLe0piJLvHCgHLLorlUfbJmjvAIUsIqu66QVvk2NOss2/mOXM/IIUxGP6gOuaLJXasPHYlCe8TZYo4gVDrsJOrKLRQNBb2wUr8SDNRJiyD4tK7CJ5iUlAaJSIHRnfoqxo+lgIaRxg8erRstLvBpbhdOf+LKWypcPGrdjRV88MxUMyCQOnRACgfftH6IgrBDalpb06WhKmQoR6sZMRuOyI96uJg5sAKTDVYJb2oqSj4Fi9baUryNSzobJ+lythrleMh1Rng08JnC0ifKkELBn3WWZ7wJxfxBJw0P5YzMsn0fhBlHAaHOkcXNdjLA6tR04pNeyMN7lkc8FU6fOQeO0EhG8lXM6O8zHQXlSavCo7hGsPEzThyCIlNgSVtNzTMLy2Ijs5ATkQEPOnIuIC8Z6Fi2Haf8gMCT7lmLCGMpUDl1OjSTbhMUkAvWBV1zOLkbD+4QRMP8im0MKLOsV1uFR7Ynd8MeM5ReUuJo9+ziJddWndD2zoar82OsYlxfxTVW5xxyrrVOq901CvhdLHMoOnQ4Hj2igkPFRW7gEn4kM1XlG1yUq3dQCZC844q6vvlNnXhW9P40TLwuUM0H8fTAyU8hFmlVxPSXhjp5RdebfT4Sp8LvkTtTvqeXDKLoNE88bDuKNvSgTU42djEYbnJ0y1amezfoGDe3tP6xoYDObwflUIEfpdhREDhXJrgsQXrZ8bvg3M6O/gtYgQDYrRlcxF/bqcmMo9IOH6cdGo2ODD4u61lrn9bbLEhkvNkMejZnHg6gfdYPzMpv5A9HJ8ysjRM8AYU7ZV16ACPwBX5tl8LYXNYs02Dwxolf2zdwUYYKnjBUe6/O0U5NJW9HSyn46S7wAEs2eyknqKd+OmGy3rKufsojJXzSJMbDn55Gn4QnPtgUbulOZrEuNd5IrwCflbwzb3wSpiw0jSWZV+W3xKglD2SmllfFW/qAes76KFNFofk5w7GAi28TSzHxnY1ExFXOr3FQv361nlFLlXLC+MKnnAE2eMcdnYapZDnAE0e6zifyR+Gkl1vhfcCQ5RjlFfi0KgfO9rR8v5XpKmCu9Yu8El5gDb7gS3c5unHRuBmA9jwZencnaMnfF7Kzr71E9ghrFDryFlbbh2s5XeYkTwW/8jVpyB4MWDZx+ZesUKRtJyM6UHEEWuhTxCqiDgXOPFMHmrqDp+BROU6e4kHZ6J3LHoLv+vgb+kSXGjhgsXANBFss5dDy7HV8KpHiw7pnENPqItz2x4q6mum749Dv2lik3LOeUInyNSg46FaW1/IMp5SdPu64D/B/Qn++BUWvhK9IExE6rS1bnMj98cfPhk8++Xj4+ut/yS0Zjw4/Ho7PNK2eDutbBxxXwrw678hZEF5WDmW6JtNsOkhHUQ1PsktwG7YKkowho1QjaLxEqCG63lyzsLpZ7+z8mbdKHBU5Y/bRX09g51rMVoznSFtXf2Vbma4Y1obiWoEoWXbaWmQY/U9hcDdZjGDSTE3DFLnWZeTCdjpfYWB0aIegBdDT/bWsWd1qaDKv5cBE1pn3tJdEqDhGts81IA+iWJ/8rGfgVHgUjuyISghWownMVMRdjwoYHTGiKKmYzSk7C2RtcApmOzaZmmlXyEvu4qlGOsK87FKmggz/WNbSqElDORmVAYtxHNFvcUegQId/EHgdfmlgZ1fTxryLD0e9pHXxbP1orjQ6Zbl8UVMQlkOdia9fhCjlWBd7uIRRioqCI0hBF70q2XJPMAEvm6NS912LinCbh7iscmp9h7ho3+SZdSxkDHvgaU6k8ddoqVUV+R3B6/l40sayHP173p9lKEjQR1KO9z26Lk4cdScvB4codY5a7zHXjQYUvFWs66tMsbJmDdMb/Ah/nb0c3n41Gi7ergynx6+4zeCL4c2bV4x8j1H0jhBuWPGwHt/cYBaLtqJwt6z+syL9nVfqka5DGJb9CSpHjSUkThgrbb74Y4Dpl13Vy6hp1yZZcqEd3+lSm2KnPJD3Kx9TNUdal3RUO2q+0p6jWO5ol2A+R/RUbBC8sgUdsJqBbG992eC2DW9C2UKR8dacp08+JtgDm+t7jHKYOsk07vBDGVbsOd2ZgRDwWQ/5S/6zHYe38FRhviWydOwdguW5lsgrxJSfdjx27tbNeFr1e/uy3MJnr6v1tA7WnzQ1mhGJ4T0HYNZJhdw8VCyTV3vmHRrawdn5K6P062ymTLY84VE5VrFT0dOi51Nr/hU7TqWPFE0660uabjHTz18W8Yc24KT5pX3LKPj7KFcvyvHkQ2Jh8tfrX+2cRDitTJlKIROp213S8KGiFqdSkFfpQpHiAA/zRFTlWREXgPBZMlN/OSmgEt8Dike0V5dM2B/EugW8WrFUnL2r2Tucxy6TQN6nDOohPf1VPSwH+cIyA9fZRS6yrjbykvwtq+qtUiR8D/U3PR5EkOceFDHhtE8Jrlo11tbsa+QPfoxWhE96luyu+nsUmfxreGVR+DZdBs08fS8lsdCdM/vwg8GTRsUty2RUeJSP5KfsjaJK2fKHUAR2cG/74EE3Rr8CHn1SoczAqD8U7ulHsfCZJvwJD6rcaUyy/zYPB1mX9LPnDGC9yca1u677U8lzts6jz9bB8cHe1rC/t82egTr2JycdcKDojCU6KqyWUUdlgS/SiIlaaiIfQn8NM9StNkNW+5T1lMtRSqlr0bbVMVj50/nzLSh6Kmk1culMXKOYexC7O/zge58M//CP/4zyc8mVVDvD29MXTNseR5huomWfnZ+DqGI8lQiPVHCUDMtHMMqYjowdAXV2yWhGPrdBNWeYDRgapeGqseuESSaXOYSzdm+Wv+EK1zAf72kgEYJtrQKE1arUXToQ8ur/ZMZMhdoQYBRXFqzC+N6QMYHp5kyfrXOav8xJi8dyqTLrLqNiXhlb5nIq0emBjMKJR68UmLRkaOqOmR5uq7qAC0YoCjgVhBUap2Urimq0DybUfPj2qaISZYfGrIKiwIglDEUCVg5uIQAyg/BWs8IHeQO3d/iJlzlPhZrv/nShi43VsvmrULXhecioio955lzDdARFK5uQFgbLkrJSx5IBD2XSXA0hA+glrMGdNLBMvGMdND/ePdjS6WLX6QAtz0YrHlrKEid11t/6F9w+a5crvvCHAjMjbPKIMkjcetqQKzxelFLxEGSg2Ow8mNOr15yK1ZmddRFc6VI82su3UwVWwlaJ6BEId23tjThXaVQxgKnw56fwJd87hMmM6dTFQAo/eToVBAcj5jnXR9ecNcf6wDFr6eYnTM8eMQ17Tod0M7z87GQ4f/OvWPDOWUrxGqF4DF+hWDDdcI+SRwFAHuSnDgps2dCBjDI37EWIbCUPZnDkIgJwG6ujhHnPpdnwp//rwVLb2GKk3EPahqWEiU1DbMdyiy588V5ZgBcnD3YXPxQufVScpFPvZKKk8531rjznKMpRiMH97TUW9rPRcIacWGFWwgPLv/r0l1j2sAZs7XMdFNO+m3tRAJUl7u6d37nGCZ4GWDtFR/UYEzLFr3XX43XSPpRjRKqF9jUFmrWdtF8ugUnHpGVPOYWYCNLFdRRq/kY2kZP/ehvMzSrwnkpLlmJQ4XRGPN2MpDB0rWIw6aCMbzeEyVNd6VtB7kSu4GdbMm+/xVjJS3CBX3/vT/1cC9r5Wx4RtySGT6GxP2UKAfUzyPrbrqWn1DGMhxTmxTyXXcSY4Q46CXvIK4lIjtzhVfnWw0wfBcw2wq/qgmdLsvQish54a6nsgs+cwFOAeEilXNFBEdp3GMtsgk9lgDzj7IADtbs7NqxwdaT5CYecb3KfxZQARWI39Sj/s7GCPHkjjXRAUcnUPdFbHlY4dUJG2B9lGlX5RXh+DrB5L8Wa9isvU0YG3TDoHbCp5LjmT2dcwE48gE5c45tO/C0sgvRbLqNac6o8fAa9AN8pUNto+lUDpGtoIsLFf0qxoCI5ceNpNPtFSQ7MykR55j7rt8U7bQnZpgzUGS7OszTHfh/82Mt5hdoZ12ies6zomjV63oihRa7368Lsfct7e3scz8RyA3fLArgbk6bIzXNmGG3KhbMa4GoBzCkU0PD0/BLlcJ0pbNqPijyAGbd0HJRKlrvMWLOL5Ig8Zf9p0QfYrNqfivtgRU9yKjzKQlRMFSRAH837z59/lHsPvTNWZM3pYC4vToYbhOYma9jWIMRcRuek+7V1hBza9whEO1rW/J+dh8U5lASSJbcNzHJtYQ2bIt9XWLoYz+ECLgvCW8dlo8hUhcSyw4ULa32NMW18NiIZRWIyMiGOpupl52gyxeJt+VHO7NBkHpBhR+0CU6fT3Al5z8JWRxgZsPSMZHB+wmyYZm6Fo341hajiZNdEfnBtpq7MmxFfjrcgVNYqy5E4EXQbezGZ+ZaAAlaEe/zNHrxFMAu7iidPOyHjl7MpWa4/hSjrFhgZ2eijYCEksnOYhlYwlVARj/7El2Z0D0G2HqEGV2nZLoMr8o1reHNKzN2wKoQqrcGBEbCMqroJl3gwVYRPBIkwQ1fSqKTZ3FUwYxVr8XgQp4SbTyuavEpmGCtlufHAkS3Q41d4EBWFP/1IjRBV4UknxncPp+jEUznzX6QeKeSPWBF4CrNrBFWMqF7KNF0WLqdM3vmnkPRqL1UT6dGv25lzH6NWlHvW3LkGJBsrKENXlCItAmZ6e4HBijZ1ipUOi93VyZvh+vwkd0yvoCS+uVwZXrGI7Qrr+Xx+SWoEmkiFROEn1kiqZVvvopVQyAXyZx1NEPpZTZPxx3rWFw/ivu+qiULDpBCX5Xwz5YPPwzlc3f/dZ7DbUi+XUzk42KgcLUnoHpwhbowpXJVsMtQ2LX/aNqZuVBEROpMLOOi4v6b9E+fi7FUCTjzgHWtArfGrDR7e/7w65oel3g5+BYuYa4c8mHqqEs9zssU9zbkRyDLkibKouC7Kw6BVBKacEThhysmlAjXtJ05s36xVwoJohyv+w5cA57t+DhoxYLRvrUnUBDiiLKLouba4W266Aui6UtPa8ZsPkhu+rOUHrtnVWa4Dmt7ZG8/BUMFQ7VIlL/wiw+jAm60VxiB9yUIeVhknYqs8vyOr4BmXnphHhSeGkaucvBW3RDlqCla8k59v0lw51dtlwdhll0lsd4G/pwljCqtpih6VU+UceFLfAE4qMMQrrBL3kJd1sp48DeNZ/6AVCoEDIJ8686xfKXDF/eKt4I1CyIDe5SmFi8Iff5NvAFDeiSsq1GWt38oPne/dP30Gg4yEd/gKSPygn+RMffgDrTudYYzgKrtflUf87pFB8svqal33OM5aQmkJ/1HjLZ4unbEdzui/YvWD1V2zKa5mDoTp413jqRyNo+oxvFCnNXlR2PmXtfUsK1JJjcxM/1v8pUXNXs/dwnKFSqHxzz1ORUuexyWBQ/tS14g7Q2bKnS1uauHO5cOD/WHX5QbwuOvqKDT6hXd0r3qvp3mSn7C689jUcskZ6+2t54R0mXU0ItXQYugaTDt2wCQGPRb5pu2Q95+a+0BFD2EGwov5q0HV4lFHCSOuwtkbnhw+Hj766Onw6Revs04vZmpOkz89PUav4VDlrT2I40JHTNwsDB+NFJxo3cx/2wnZKborVEZA+kAk0E/evoveKFriHuTa9HRdORMuieRTsnX30CiwhNiRklbadCKpqPrTefl5d+/k1xpFRsZEyM5VBJfNzrQ3NAzsPTAtIw2mXzLCgEmjIBGSxkZH4q60G363MChQZORS8PBlI1IBhJPsMqPMwL0qH2RV8MLg7zvh5D+O8lrd+pOSCavGY3jgsvLNed2SUyEeTO0UxTlTMxEERLHB96kAywDRgcERqB2qSuGNVgkFA/HHAKnw4jNp0/KIG3oQwfysf8hJWTZU6RQ802sJszCaTpidAjPfjh+FSz8nTtpVvSu9Sm2lr4rZcdUOveokiQ7MHPiZ/pe88bC4WAfzLk+43iaIJBNhsWwbc4Up5KvD7PhUR1CAFIyiaKzSijKo8E0Zyc52o4BQ8IMPeAzoQWfxsIovgQgO8OrGDyxuY2jujnHzC22tAErK8ZvPh4vTo+HV21fD69dfDyenb1mrwroueHAVBfOWNXcz8BxB5CYNF/gpdG1C1oWicmZecA08ZKvYFV+przVKHCkR6sTfd3m44uBPnPD0O0/jgytaYXcEx9XzAW+hc+KaqWm641slo+UrMIa1onmvjq6XBPVbOBWJq9j+TRV90qbEdy0BMQX/QKq/3A9MRMPTyGwrVox2PGcjyjnT3ZenrPNz0b3n9aHojbPJg05ke5cjpfaGHTZ8rOBPAOfPAasKFHFLiaccFAAtIeahgrg+2aZHcgmF9K3rmZRrfqsM2k50ftf6u6aEYe3R4m9NhT2DBTtoYO71qQFQyWP5pmZPoB1tN3FggJHKMGmU3bpYsSnScrtMlAY68xAO+VYWjBhOiO0HvgqM9V7xSRAHByadaalHEhomUJV30ltAc70NL2AwNuH+Fg7lAh9wax1KuQCqBqNUL3h7Esvofr7XlynedT3eAvfgSdnTy7fMyCTXTKpUwaDeJatCkzakbGjx85JyW9u1VwpApfRbBmTjBviS64apvFrv7oqr+Xpf0WPqtuPV+MoUZY2bxnxXxulSV9AmGIt17PoTnroqIyg3bThruFXuoH+rg32q/UBtuim4F7gwjLjkFkXPeN4i5dP+3mvTVKBSZ2UP8YXNvEbs9kjbBjDlv3UgmJwKLs/BtAMQp4ok194po+033EnuxshcxdcMJp5j6B3M1sm+/fFj9A/Od3zEZkeXG6hsho7SD/2DhYQLeKqtUGe8s5SKQqtcZYD1k+/kLWBBkRTPm8DvukHpcwcviLPgUTy3FDz+6O4DFT0qDGEkaBhJDOAkovP9brn3EM3nz58Pv/z1p3RCR+nUvZzcRd8eRHr4ZD9KxRwlwd2AzLQz9QcRPPAUa4u9JugGa0tML/c1hEo0y87Uo89wiVq6Kh4jB+Bwd4+qYs4QI78wtgxFWmGlEMGOM8w6aS1Kvj2AZwioskHZCaMsosmHlMHD+vNtY/e2BNeUzVisXha7KsM8HGWbhz8FteEqh3a45ufZakvVXYKg6to9zMvGoUu92zP1i2+DuddJ+HCpH++meTgwtMKEaa1twnB6S4GB+CGR8cErltmJDbHlJf4kR4QLjG89VCzqyByelDFKp0UaYDWdwqTX/yZHlNiIKs9MQ5FfXzchjPYDrpXsI8JeVyF2LZ8KVx9ZE5145laC1nyML7jkADw0RDpa66KOEPjhL3HS8WLqMA/poEQ+/RPYhd/4EQLSUiGPlIamwYnhhCl8LdQ1hU7vhr7k1zcCqAxqsYZzEBpRw5Iu0++2H/JQ6Z4zAHIhAy2Mf/ATu2GvrlA4zthkcHUyvPztrziN/4Tzo46yJOKOHbJI7yAhsol1e8VL4CGdIYolzcr1Yk7ZOn1iDW0hy/gN3oG3jt6pGKm/zI6zE66EQoZrn4snL5WqwkCQsX7fFZD4Gw5NFs8WVdpBq1BC2orX0NfciZ9CbKvSwXgPSqU5yH8LfiGtNDaDbFAg7ZpLH/CDM8kDD/PzGccVcGzS8LOmIl1DxS/HyFCOdMfig9Y2XLGGb+PygF28h8P23lNmK6A1ShwrLTNLsbbupo4JfEHnB0/KN+FD4B17ziiWO+FcrNFreOnTqYIj7PKr8cJHTifBX5JCZ3eTzhge13V+1HIprNK3LHvginYj/mLhCULt1MFVqt5pRTx4yXysd7nCTVf0tNgUzSo08jhILDQulsqkDP2og2QLjmtqMVN4LXdBt34VbjzhFA7ppqv2XO8V13fUVNpLweZ3LWPxewkXBkh7yrZ4f2nH8a8/y+1dH5XnuPBWvfa/wQsA27LMK2iGtpV/PbNxwPAk6ngVCtsWntDZJTJZAmEZ1D0u9YWeTUHSP78up+SF/EppFDuBhxd5xIG3/OJacf2zbAB/w7Kxi7AADRy2GnnHOsSaZliDYwEP+cuzLgmQx/xF9kEfvLHMtf6WeIbdoug5mJFP/MYGUjxPpVMP/O5Yq77m5grKhcOWaFbtI/nQF8qnKtXaPJSZXjXnWYVXrG31fnTvmL+8nGHZY/0/Fj77op1M19a9y969vMN5j5mJsP7gVngDfySr7VoIKBf0SxZhdEDvelTbWtoeSmbWqTvFbSScuP3/wX2woheiiRyZqTMSiBaJmyN3Z21zLc5BOiyPZpggnLbYln9ycsGdlWewl0dAwAgg3w7R2xQUBJ6CPVoXoTAGP8QQxKgGImphj6Sx3PoptKoRW7aE8TmG2YSxw2cOOv8a7gJ0n/1nXN8tY1mw6q+jtDz9kxGGdZWDgN/OgrWdMKNp7VSqQ82aFT9wha8qw3LS8GDmTGGS3rQYgPKzk7XYwERyqtrAt1nqbBDtLYFVrnVNKE+VSj8tXpjKFWzm64irGW9SVuoOPTRkadLOAm1aokewOGKxEdkAbSzBqU8yCNz8yRMCZuoWAbZOZyewihLpkx2c5EXV87OhegBwptRtPeRlfgpPLVquPYLyKYtAaE7dkb3GTwbpbFu1eFTVpXelsd52NsUjVX/rGAfutEIuhwVS8jdO4QeCdEfZFpB1fb4DpQpej8sH/4tDougRw0XWrr+xHA/szlSc+QNXKCeN5RV43/q6jGGFtSNjInjB9yq79whlLR2DIHaoHx+9Gr788ovhqy8+w5r3AkPTMWmY2kUhhGv4kTECNHCyDsWRtQ3HdUAMP/AmXIlpPLEsyAg766rruCg8JhtjJUyl1NjSNptlEJaxOJsuMard+NrTlEKhj/h63+EnADrxSUe3cMkQyje4PF9TBTZoN7ol8l1pwE8DseeQdbzGkyEXzkgFaSUASnBjZ0REsdygpINNuU5dozinzk7HiScHtfKW8IBP4Qf1N9NTNr28GU7efj2sbR+wnu8Jm8wY5P7Zj7jPmFuCsNp5rAM2D/jBjjfczLcDZWWUbRp8mh+VFH/WqfBYlfPdJuyXTwJpC8a3Dnw0WaAc6gNf22xIDS9J41L2yIdM/F4YrMku4XnyB1d87VozcvQgXgYH8n6mSm3rADFnirpcYb7zkZ23tFujLpYlsNX+SU8egZea1BE0Pa3RjAycJlE7wHWe9D1kyTMx8FAJMIVhwtLzrnSWu8x74qb+GaIVpnNMUhL3XYdooj0SlwKMab10wTEFxzrmE/xbr+76u7Lywfne60qG0EvcFvRAEx4wL3GLvCXM0yhUYLuMEb++SwfX+TqQMNzBpmHCYbqkh0e3YTTfXU6TmSbkbQbjyHHX6qnk9TwDMzTt6a1q1rjaPmgDGejTDl2TvMaSJOt2zWaJsUobMw3yUtR+ygscVBURkTLIILiTL4XflmC/rp2i2JZhKBZRl1pZn1ylYIaBMRKKmzyID/yXHOLtociXHH2iVc9p1BtuxvFcU9cy6zbYNX/4yDW1HOrNcjCVNfFqXGcKYwCi7XjahbLCtbUebWUb9Dgz6yScHiHksUr24VoRnV3xyDCncpVd1xhphHcFmausqeOSiknwppbNdcFFlcrJB8u80f3/3zz/NxS93pC/GQAbqk6iixjJWk+uI7k4QyNeR7Ebs3vtESfaHw8//cu/iTn1N7/+3XBxMx9evvh8OHz6PebPd4c3R5fD26M3w5gz3fZgXPOZIATvII4KhrI1QpFRuC1PNu3KC7RaOEdzHnWhk5klsiZgmgLELkET6xlpZEiVljAgZJE4SYe/rwqniB0+LENftXqbugT2KBj7oDulAQ62oWybBQzgKJh6eI2L5dTZPQp1z34jsgKdpws+L69uOdKBc+VgKJnOLqdbgWyA4qIskzAd07XkmDyt3x9yfTNJRo3URTjSCFE+hDWykQxKQONDWTK1NbS2k00bGQopX91yJmxr7Ljb2t0ZVjln7Zr6XQHfDgtnvX7GDSaayfe5DumM3VA5yBZcWQ9x6QG1aeSO1sCBC7Qd0eb+UXqFCxqwcaWV6yJUKuSvrJ8AnxQv5CFIzmUSVNNTN12fmvBTfilhTskoZcbT2mpclUg4K0JSIirgYnWkHuLDnzQTlhJ+NTqOYCStT+EyXEVdtvDoGEkCCoEDAQKWWXTKgAMhiFDy3L81N28AxwaDHgVPDnJGafDA7QkHrGZ6Vosbq/SvWM96/PbF8OLLzzhz8avhnCUP15ecd4fQuZux3s7NBJmOhddSfwoGBhlZflEwBifAAfWpP/8VOgg518lEcQ6sVQ9pGyez46gedZDrjWQYijf0iradNkZZoYlh/AKDaUmoEtL97O2V6MoI8+6wsvZNmCpv8ooDkWoyxvFnfBum7youdo6GhyttY7w2eJULC4ffCoMVLfkOJGm5BDlEDPeQBJ60XkkrP5iV+ZZL8cFb/7btuCTDYQvShCq6jrIUGcsVNs4f5Oia4/Ov+Waz2avfDhvb3P968DFHTj2jzTzhrs1d2sQO41sOBk/HRrcWPNAuyNc1nlrSbR43hCu/BC7TnTzHyD/s/1gW6zwyeVlpGBls87B3VR7BB95eIe/mV4CG35OGdOmYgkfRUPwsDDrj2JH29yg3wGU2TnuLh5qCBdDwhnkkOtAUuS6RB7E8AUPPf2Ehwc+BkPkYBsCViHK7E4bIeBpXxekh9RxDX/2N59RbyQ3wgZ/WXMuOzJfq5kVZurAPzyjCPB9KJKzVwXh3WG9lPV23DquSuxZNp6S0nftlmR13HdYpMxy6/i2d6ttMy8BgH1MypuJWOEBA66xbUz7Kw9bJZACvUtF5V1509kv667SUSe/0a97gRLoMxsGFfUrJsoJDy5j5FJ5rOjLX3TkzQx4TLM32p/Jj4dgai1P7vTpdQnxYhuV7dIkDmilhbkxUoXMKVWPIHYNN370mT9lzC25PzzhHlXcVdvN3I+a6m4LIi+IpF5pSZ493crCcvob+wQORnV49OvFsVw+vZ3kUT2cLHx8+Gj5+/nh4fLDL+x6KHoMN+Zjz8OxPfPfGF+tww4ybIkme9KpW1+ZP0UtU8O1zvWM615gCBKBQT9u98hwYlbE2NQYks9sz+j14hVt0Li62gY3lGxvI1CaPgiPiN1YKncSrhpjvwn1rpUikh18xQtoUBBxHA3Zkh+DhSBWnKQ7Y6rxyDpI5DPeGKag7NGOZdY/DlLWAXGPtMz/XvTj/v06HO+Y7U4kQyrGMDYH/xfBBqMxbDfB95C1ga6hebsw9rnEgW/9cPPXvDbV7pvGQV/lX3Q1Ld0rmabyks0F2QadVpQtdG7a/lSzUpl4oFzdM9WYq1wZi4+RHhlTpIf9YEvBStAuu5fwhZ3jV3bgPv9TTbxLLsAoCt4kb5wEHKgrVAFViiBVFRjrwSbQu2FSAFFYIGawV4lYFxrONtEquRuuB1Vv57kMUb05hIb4ZuCMsiaciHvLBB55PZHk6YVLYe+zODCE2wroQwgPEMl2qfqapOvsEy8Fz0bbih3ZENr6dab7Fs52Vnim3hJdCZMEXLdypJoWo9fSYAUDH4UceEUrigTrXoIJ6MTJVaKzCww4AtER5MKiCYQbfu0lpg5P1N7Fgk5LDid+yO/ZFjj757b/9crg8fzucHb/hnLtj6OEC4CCEfBBeHJ8AtvmlAnkGHD95kYV0WqMSg/rJd35AWcKlS4vEKqEoaMCqQBPHHk5rPtFq0rkp2RQbwOpT2irtEH6uRasBSS1cVrFW4e+da8KIm92iwbMWd47/eMcBGGHFs3RMjNLDn/qh9KQDox1VHWgzyAkOhkwOrjeCMCKfPFo+Kpsoz1EQVY/wV/2uGpNf4ICWLX7h0ewK6n7kSFdk5EPpyl+ikAsyzUFLd7aIcHKsfVM2xnB0DfS7YLfz8fYXHBj/0XDAMVMHj56iAB6g7DOdKyXoyJygn98zIkDpc6OFnY9XL9khuQ7MustsFstQITgQpzrbb53Kzwf0dQCotT7KLDCLr+AUuoEZ3oGTfEsB1oeqNGbJsgZ43FqazpZo/a1m/axvYbBKT/L8MTztqXn1jRI9fm+HtnzztXwdaHxw4jSwWI6uAoOHwFHyQ/+6A7jiCWv4ImmE70EOWK71CfyEgMkoTb2EJOGPuNX1JuGnfohIaFPDIK3UgR0Yy9AABYFLmI2n67iUPsEHabtfPaughXw2DTRtkjU1ThvEv+hWGQt/KsFDF7mIYJVmPf/EtzzorqIff9qBuLFfkY86HSoX8rFk/P1NbidMida7MuDujsE2/Ol0sOFOn5qX+Y5QjLrzyLARxzuNbrSKlaFmD6VOhbDGHRgskHduljB8St9iybEOdoMR/FnLScAFdbjgpgufKnVucrxCQbtEbpaiN2OtP0vACJc3PNh4j+Vijw62hgOeO7ub6nbIX2hgSfIH8iprAZlBydmslkfYqu2LukjH0MT2BNDqG06QWFfbIMgHB/SDrCxi3AAAQABJREFU4Me25dEwI647TXtC3vXDoYn4+468F4wehm/M8vsxv3UfJfYHOXBMhRszBuEivX4iRYJ67YgXX1+iKavFrnFwnkRZ5TLydRSdc9YcecHy9vbjYcyhhqdnrkM6L2QyOl1lFJAdbiIbgrsQ0jKkUMz1PJ3yoNQgXIA602dEFAVBApoAZuOhM47TC/7jKz8FgC5RDKMjr7wqPMoX/r0My1eBvacMmTmLckmtVUcFxyL7+rXlp0wnPIGB9ygUlBtLDQ3JHanClAal1CEfi+2uBGhq3L2+8Wn9U29CfS7/TJBjJuysccIvPH5VnRGInhUh0/ujUXp9WRZrw7RjFptL30xnQRMbUC1oNTd3ad20tRCUjWlfBafKB1eU41RlKUTi2KVOmMQz6lKRIlw6g0fD6g5E8ALxxCnFJg/DdN9Ux/KvBq6A0vV6dTzADcm/4sJbQXSVaYAbZUyj9c+yFPU26j595QGbCsPgQGUK2CxLuGvERnyWI1hXFRV1JRXqVb7XUOy3dmgjbEIiEkKNtXenb4bXLz4dvvryd0wDfjUcvX0JDZg+9Ad0QqClzN3oCreshaTbkTr+K1fPCC38gA74FHZVh1ifRWKEnO1GYa0oEJm8R6D5tMJY3EQ2C/89V24y4Ro1BmoqIu4y3djYI5wJJEe5KCZaUL2bNpZ33mudDtnqwFPvAMS/OBxxgLFKhMqcTv8oHzzt9LR2Bu98q6yJ2+A34ew4ZuOJU91apmKtwMqVJ7g2/RW7j1XMvAbO42S8Gu4OqxvMSmnwLvW4z/ozv1vrd8qQxhCOp1if4r0UDTnEMMARbhUz8Gg4PjwIMZA8UJMJgaeAacqh1FPOMzw9+oLT+z8b9g+exNL3+NlfAAbtaG0LvPFDloiX8As08TgHB0tS3oGRzjabpRFR8uRHYDcN4WCnwIiiR73BizJEhdanuE4NyFNcS32flbEDEkAX4cSCYymzcGLdhSs8w9NvXZZQ5E06ma7jwnexQh7gn9L9EOM8Cyaz8w7lZZc8FERxDOeR/9bKlqlTIc/6VfIxbq3dbWWRTD63PqEe31bZurSaEmYehlYbLmIZB//Kpj7a374EQPwFNtL36VrzrQECueBvBYP/pK3M3FVqobaw8hbBLS88hCdJW3Avr3BpeIVaI13FL/j1cmOCrsf32dMkAHqk7Yc2Zblajjti8KkrngB+2pf9lFO98ottKScpoGSNkIV+q/CJgwxkSRt8N35wyJkBnfKGMvlL311nQZqf8sBD343jrlUtfOv0KTksmbh3TtdSL2+ZML6KnjDd0IY8U8+NFnmiLOo/PT2lUhiCWEu3ywzT06du/jxkudh+ZhPdbGdZwmi9XCLjxk+vDhR37iUQp1prJVVuyaAvDy8AikqpUzUuuxFHUrXOuFVewFzIpAmFmDb15SUKOu0szmeYo+hXXJEqVvh39PeDFb0Op4iUMMs/EezUrvchOoV7jEXi9OyYw5TRiBG4l4zG1yZ7IJF4IBLDBghmihNia6Kd5SiW02E04xqjTUYjKhb8u1e5EMc21gZAMZvMVwj3W8T3zQbK3xJKMBn+hvmzc+rONN/kur/xdT2tsKaDaslybIblgIdM78IwClZhyBoJFJcpzBbB18oyL3Em06oERKHiRd3LOqowZITdyg0A/FHm9zo3KdODfu/Z4V9+9vcaulqvwpeJhcPGFngU0hm1WUmtCo7wfMdET4fvYnFWxaZDqA62BL5xXHM5VzGjg/dsvd453EPrqredtnV3dFjlSw75pkazjkItyx915j1mfnCXNSqJl6DgwrcFTvo75acDBB7x3GnY49kOySau/Oo9a9AUPFiIJPs9w7o6qkLYCkbN8jm+x04Tv3CjgdQlh21SnrysMHBThVMLoIJ+nWkCrXiONFe4gPv89fDmNdOzHGT89tXnvDNFe/SSO70QYlr5UFBitWJ62SkjcaWzk+lKUUGtf7puYPEpTFbOzlI7qpgEAJ2V1mrn9moGW1qRMDkSgB/KV6yPKLdbrLH1GiLvi52wu3SdTQVa4VR871cm3HzzmPROr/sDtqRHofTJdxey9kcOiIqu8pQKAMVBgO4X2rR2UUoVFv2shWl0A5+hkcoMzikT7xKdcxaWtE2nRPvSCml78hae0+MjCuYbWTLlzECPcXKt49SbP1Qy6LQYufBUoKt0kLeNDuWRVkwheKUROiQQV6oM1ZmqLNgOxGmXRKXQFOa9hm7CeXwzphftLIWDgofL1+zcPfkc/GyyVvkNCt8TrBBPh21wub6+T3l2pE7hmiuyTmVbHAOWMxkZfGr1BhLr7cBDGN31WVNd+OEvb6IVBWd9Ta3WGHEIRoFdHPokY2tlHpah4FlypeBRhO2OOD51PnPeGO+yJCF5yuR+GyvWH9OZscwvnnn6bfyyyJlbcyR8gElYCv5epqWYRr7SdTngwCIsjV/kqfnz6+mikBnfX+rhW7lvUvB6WE8vlipdSwMehDO4Fya+ddZb11CUgU2+iZu2T7hyw/NF7TuEseI/wFP1j3fKTDiQW37xXAsrEuaj16mn9elP5cZnx1cvz0SWrKJV75V/cAePrDU6d+OEu1092Lvf5Z32BTy1O5W0sLf9WuqPnK62vsIsBGd5OlDUwVdayG2nyg/z3thg9m4NZQlZqFOxv8RAkBM3gGPKtnXjZdMF/YxKntY0+1MtljZJj2Nzs8UhO2ufPjnMDlv1jTqhADlIPO9czwBDRY9frHq0M68TlYZKS40IGjGCQypCs83mt1uMD67zU9kzJhUhT96o1xR+HgFnbyOS0wFS0WOJQKndH+/Pg5bzfwlDqiLztobVGcBvOySJ7GGF/j798sVwzN23djDea6um7BVoW5uHHLPirjSPWfEeOdHOqetOZyKYVxDErhWZbMCAnCRvo1YL6QvBRayduci1ERWTO3ZEUPJdtytUoxcmCVuWKKC3s8N1QhX7PyADPmiEJ6+8k54mYt75RwTTRsiZjI7L8px+ntHB28B6Y/HZ8ZMSbPnNVQO00yNXC6UUhTMcRaMAH/K0/jwfmMh6E+cPuAjYFm46XX/6Lu6qPOupD8/E46PnbQNugfdO5TIC08owwXKzwfEPY5SVG4RATiRfZ2pVRZx8ylpHWqwytFxKqvJThtmLN7zs8COwFRYg2QasP9xDP1xWMIojT/FQyp8cYse0gKvVzbyX60fbjSUki24Tp+q7iLOkAOrnNLsC2LxNy1f+mRQvysNfKzN1FIbZTIUHfHTkRaNB2UVRWIHHV+dOwymMqL06FBmtsvZudqUF6oRNFT8fjk9Q8r5GwXv1NRYo2odr70g/cL8vBVCjsgwFg8IkfhptFIziWokXEMhfvFEK/oShEKgs+M1Lc7zjr0I30J4YRWGt28rtDxsqcxwPssH9zBMUuk3WzpqHa1tcR3aPgK4DgmnDKv0cIwK2wLkEJd/Qx28RxkibjsQOoMCVXqQDh4aXjAAp+IHCck3JMFxlb8pNM12xrfpXROnuAugNR+Q8KQHjI5CMWQICV7tQXYXp2cEPoBvTnxwcPeN3y52/t2zAumXRtmt1zo7eontgJfCeX5SwrHtk4wtzxqRn/aNtVFqQp4qfuBAOVTBxLrnlkO4qzLpbV/gDK4ioGYs71xZj6Z5D//vsjp4Mbz/HUrL1mDMQnw47+09RrB9DkkfcxoE8xMJnMave3kFbq92p5K2FGLgQMfCV9MVPcHjaprQrwcjgF5h7uw0+xSlp4Z8obMAlHrsVyfSVkbDrT9nIL5LGWYS5+0+XN8oILaC18cSLnX6WAwCjNA58xrZc860GH//wZcvNh7gM7zSG6FZM66R/tcaKk01B8CVAgivamUskgEEZO0eZSD6WmwpUmkC+/L0kg63v+67S4kvCXr5P69HpHt7nq7tKQ1vAQQZc4dO+yON7yIjsSI2sc7mB+Ku+pfJYlElKYyaH5CO9Gm3wDN4XafVo8fPkG8GjUiQNC5qqQ8/f0qRPr7f+5hn5LUA4B1ric4Yyts4VprGIyVemI/4FmyJCY+SURgzr42DDMP11vbz6wNjBUSi2DcNvZ1cYW1CWgNFvW0iUUpjIcu0L7DdznApWRd/JuuIA4v6jQ2SVN1/sD48fHcSo5NpnOxBvDXGQ6oAnaxrpjzPAIEwWFDx33MfwIx/Dt5JnxcE9/Ow+I+9i37it/OjsopCSHKooW+0BGMADs7vfncG59cBm+siqe8d6av5H/UMNvh3XCWsFffdnp6nzPL2Dx1weTr0vWUi+f3CYQ5RtIC9fn6ApI7CxXHiu1B0nzWtN9pqwgYMQJZKL59N4yY/c0ylphcgdqylPohXjpIODWcMslC3jyshR5HjyRWODmfllx5oNXcrhiiHr3XS6nk8+lv70OtoRVDrS+04cv2VInRZDLVt1xhyjExgq8YURBa7yL4FYlrOCOUCrWSgcyC/14JkCkrPlmM6PwnPzfufR69E9O6z13YV45W/mNsBKU3n6bhkNHanX7ZTFv5mmY10Z10WNRqfxzy0fjMAmOX+FDhclyJZrehvNouzU3XqhyFlMFZVOs08L97qpLGaqCuYBXfafkIu0SRNsA5x4gZ62K54KPJVC/TVqqOT5jAUM/yhyLdwOT2c9a+E2WcBvUeYwoeSMrIZ0r4WTXvJa54scjtyURRUTlWStR3MKdLpwygHF7jJfR9HVKjdjYHN+eoLV7iU7aL8e/u3X/wPBd4J1m8OM2aihFcjeakSbcBpP5aMQBN/agUoIykhV5WZ5wjpZaZ5a7lTi2C4DKtwtZv30Q6ljAw2Sj1eu+kKxcwnF9h6X0vNcZ0p2grXOA3wnGxwVgsLn9Vle0YdWS5koaOQKVMGJ7y6XuEUohgriXZeBU4MF2Ga3dBTEEE5xNjKvKNLUiqcWATNQKUXq+h+4+WMnqLBHobb+CvxMFRXDBw+eCee12aaWX4p3a5eiNIYStWQAXK5iUh5rAURp21JxIx84e3j0lJPtWfOjoueg0pPub27YQevSEZSxqVZVLap0SFr8AlOmShXvtBVwbd2kO1AEFrg9sEiN4gk7fP3kUXe0q5yKS/hriqJJ3m+06mLN3dpCNj56Phxw9do2R7WMmdZVtfRarTsEox2UrvhWizLWSsLTBAKHYdQcuqtsOZWYcuWbQIicFO5kIgz6qkyLQ7lKbOvnr9p+akaepgTwPDN4ptBVZy3wsc7lpEPzw0vRGqWS9Marc0TFi/6myJ9Kuvyedoy8D18VRIEcvvDYoQwYoOEaszy9LfblJdbfX3fRWSyvg9oCUudesmH/jktepidP+5GqX31Xkoey8tbykibV4YNL/FTSzEMFL6sjSKzi4VDNvqPq8ZCXeYv1uMWjXhYwkK6/V8QHuFIWBRv+fhzj6uc07De5Hl+lL+2W55oHzDGYkn8krPiceGQQCpmKmNY2nx7S3s/vMx/hsH3qSlGzDg54hFXFElnJexQ74tI0kHXIbA0l+JvGq8bSkdAOxsgxN/i53v/5R1jBmSFx1nBvnzuqsbzpur7gxhQ3wWkwWExzW4Mwhf0ftFB+Uyf7mpmyByfMcno/lUE8+NPlkHnrk76/+o1clQotbx2E8TSYqv/JuG9F0QMnQYzIEWH+8+m5chJaa97h4SEdidYA1+itxm9nd5/FlKxdoYObIWAf7R1AtP3h7FJzLeeEsbt0i7ieCTyFmRyFa+VSGbCTWkExzFAIP5FbCK5OTyZSkUrnrnCQoRRdcI7Tv2FACCXpQlI6AZJUfiFPa9DEKVf1IofUNT0SAfes0QkTIwDN00ZhPp6FJ7M5Iq3RyMO2dv3FEBBigdDaAtvTEXjGsruLhFHYYZWCCdjVR3KXIGl0jtTtyArqDmOC3vkjvO+497lPROG6UJCWFUVhWnX16U93x+aZGbjyS6vWFpfAr9nYtb5iWr/mGq40HmKsoOBuuMsJ+KOc8Uye5ssvdRAN1FV/FQfXb3gDSJVnI5I+RqHe0qLhN5YL+Q26VwcPTcNvUtk68JfvWjdoY4cjURyckg1mCTaeSltgavzDI1ilitFvIEvo0TkFogZX8rE4c2pXly4zCgoJVNa05rkjk+c1ZU+ZJlR5cFPF0ZuXWPC+zG7aS3dnqkikoyzao/6SHCUxljxxhuLWFFI72tQNhcGnwim4tVbE82zKFa/m4pednOBrBaVtc3M/tzSsx2LHXa5bO7GOTzYO0QOZqnX6FpUiC45RXqarG9BhPJyztkylTmRkFBsF0rgqZoCOEqXC4ofw1PS2uLcd3C8UMQKrbQiPSUGbcE/Flan14L80KYzGk2JsofgSDrrTIeKRvOzsXTslHaRAH6QACfGlN7vAsdZlhyzvKghj8UJesf5Q0uajx7H+bLhuJwo6z1uUPJaV3HLjyDk3jcy5vvHmWjmFUqgl0A0x7mZGYby30ar4UYqyplq/9S++csBgZx7YpSHsoVMFswVj4iWc/NxgdMuU7uUROwi5g/jyDdbUx5nO3dx5VOuXs8yFzSsiKQo107sq2rQbMWC7Exdpf3rYdniG5+H78DkxY8Eznu0JjSPfgca0JgRmHtncYYNoTtAflDbflUAP4eFLYCCkJyGOMPmJf4jua4X7txRWvGyvukS276jPtPkWZl7mk+QU67FJsWjynnVjscQUXNLCPsgk8oPZVhnBeiunylT+L4HcCq6HtDOHGAp4Zq1ecjRj6VqAdvBBWiunrGjyePoK4oUvHQwamWyJSbnkwbeD2S7LOgDm3ZVY12zqxEHoqcw0fcO/cU3fXSky/evh2ePVcgnl64OiJ1zJlWe3HGZ0KRwU5YybZasjKWV9rg7b6eemU9beoWR5bl9fwmNZfVOHA48qW4UKxUtYCVdG5dpH4XcpBeis2RKaBLIWxKf9GJfC0SHWaQse28ZglHX/j5+woQkdYWuLGQksblmeZVxhRHZYjDKyjEXVr2jkKWebta7EkU72BcQVp+JZhc4a2gfYL60xM0UIKMEKj3I6YZPKCvjLEi77UaOHJub5wFPJxiKbEmms79p9sKInTruTkMs/F5W42Fki7LLL1rNn1JCdbtrd2Rq2QeYGyp87Z67oXDbW/5yjV3bJ43R4ixD1EIEtiLeGMFrlKi236k+5z653rhOnQlImOPQpGdQMUC5c7C4sdvQysD9IAvFKGPpt21mnk+vO+J0Fup/xll0W4sajKm6a7no5+tnowqgEup7An+t0ouQRnnQQvjdk/dPlkW4sk2X9lkLJ/IErgv1dWGTCEn4PDbzD0p/vw9/9+3MZfhnccmKFaHgynnEqH+oEOO4eHs1VJGh4WH1sUMJhA1epTZ1oTD61HAlnGgwcHxwFyzQg86ZBKFySRrxhIVC4+h2LLd8Jq1jE1IICbYlTVlxoT/ZpRzxjhtd6huDU8w76Z3dvLE9g0wbpFI90JUrhT3ooxBV8NGYbPLD6dNpRIax1Tdilq+tLratHsRRdLAolUgU1PTlrTLzPGP7F5jVcn6ngvRrevGANHmffnbEu6+z4GHRjwSO8fuRPiih0wijN+eudmTqnS+26BFrLizuQ3bGtapGKaLVDCdPSfY+S5gL/+5X14fCT76HHcZ4UOzy9hWbEAMm7W52WHUG7K26lcX3e3ClZzK4eD3PP03t4HYSsogjGSmnNQjDgABYVXy1v4enUmfjgR+Eo3ADJ/8JhhKM8RHp3t60w6tWJS7zjHBQ6Bc5/ngmM/0zhjxMvvYMJL8o3yBFlgVbV8Kh5S1ec9LRz3to64B1+of1lKpN8YAL4F/yhTVwgUyxTy9zYs+7gDe6bQIdjet37uQ+/j1XvLMfcXJ4foYCh8F2j+DH9e393yQk4b0hcRzWoKM+1FkKVEbLPbsEjJYpCYqyUc3lTWuYMUaaToxw7WILu93MUa46cOHHnNbcE7XL01A4bN2aH59QFC9/6HjMfTKezQzozANDOsyDEo3jTL+/Bid9yFXWlbL7451+cnR24SvtLpyTuoIc09tmiOGD1WwVHRJXVTHwbMVmQoTVs+VIvMn+HDn5HzoSw5JOnKaqt+xaYKCdwWk482rPHB84oMCmuZJ/LeBxMxerjLErabtFWXvCXsq2vOLEwnP7yUyumPP+Dv+Ex4iQ/4wJXV8B6WQ1w8gcUfjlEX/ipWznhqXf/8kUcwnEl5zqED+Usykusd/8sh73zbuFLrofZ5vxZ88AsW7zn9Feh89lnpmzxcfj1d5XxLXbVa71zhkcr2zpCovdxxj89Oc/O8ayJa2WbZwbq8oUywIgSXLj8oD8pGGzjheO6ls17azc5pmiX3z5LvtZR7sa5naI28VGZ4Nl07g+gXSCjI9vpuDI7JB+k7vBoCoOZKFuFTzrYv5mFnKIClxkIkij7vMfdA8Jd8uGMY/oGkjtbIxr9BTvgSPgfHIkVMh2HDwHf2dsHK3pCap06oV2cbycoMX1mHQ2d/Y9+9KPhJz/5yfCzf/6fw2ssGl5N8oTzbn78w78Yfv2bT+kA3wyf//bXmF43OWJle9jf2+C0f+7vZAQ9Yc3Qzg5rfegUp+7CQem7hZAy1Ji1fRLD2xfUxmW6GUI66zfoqHJGWUOnyK8rjlS4JBYbChDOJVyqI4dELbb0Z0SCObqIVg3DEYPf1tlnD6/bH2RyOy8Zh/TAdcHxEB7k6KndrjMULyoTI5jQ87C8msUG0huieeZMNkYKbjywM1OYOP247MJQtDTZR0H67zlHSzK9P/N+aOiVws6uO6BudYPBrSCuhELaQpjVMbwN5uYGfNx6+vmEewQfY4lg4Ts7oC64XFp4ai0Ti2ix8Kn8jRjtufN6jfUTjuY8aFNz/AS6VaNEmcqCXBo/cCgY7KBtHKEhePDgSmqzwKM4K2ULeIMrcW6DFlfWy6lPR6y+V4O2M5UGtdNynnUn5uN5XgsaOFDQikbLveV8prOzMwYnKyxBOMgajctzr925ZroTuiFQnfq7Q/lzKDHhuJM1rDwzlID53cVwwgYkp2hffvW74S2bLNwMgEmIdo+K5rEgsQahNPJPjEcOyVsykDlGEEI/OFV+tR4qpOnQVe6ckrWzdyOFu2FZ17Wxc8B5bY9R7PZZMvEJCpt3saL8EQ6mwMrqcGXnztT6VMV6VspbOmDqnoXtDqKwmLgjPjvT4YfQFKTc0bHfo2CpRIdmKhfpWBTKAA/o3fIjz6Vmoh/ooSov0hVnhe28paP1JK7naDmm6Z2fYeZRjjLBi1/mLw5jCZe/gbW3nd7RkHRYyZVJxjUH5YQWT/IJMPijKMhvrq/xiJN7ByrUZ7zCFDA4X+e8u8nkcFjfuR0OniJ/sOpdcivJKWfl3Vxx3dz5FtZsp93hey190hMlD0kALeVDyuMrMPMMEnjaWfrvnp3XHkuhhRjOJgSeYpMLQJB2Npx9+S8MCg7pMF9yy9AnHM/ClC4WvgnK3ojNHJOV7eEaJda1WNoIHVgrG5zCtwvVOhJ+QWGz3oVLyqWNqPg6NSw55D+dOFMPMa1tUF4IHkMC5BH5iccuRzwnrpNnmU5dmSEFOZVMNFfj+JOu5iFdul/FJYzyY6mlRh64HGtvoBM+6iCoPG3rV5ypJr1d4pN2DR0X+bVy/MYz/vIbiQsn8JI8J606TIYKV3iSMpRNulRfHPES2OOrAuAsgQNB+hF5F+Y1/Qx4jKdRI06YWzn5hjdCYisbxYYyLYR4qWODN2WRn3nqqixyiowTzmpLlpt6JpZ5VHzTO1A13LR1x3lrc8SNIs+zW8NtXaELckGX6xF5pr34LS67Q1itcU6fYnuFnadjplI3mtIPpPwnHJkjXTxL1r4yt1nYp8JDLmNyBovKVI4O0M1fxJA2fST08sy6DTY1bXHbxS7WPC16fntKwz0zArU2rugWaz34XKN/FUfyh7joRgFeKMP2aB8Hj1O2LCFulPHuCkaAo7zZZ2rUYHMocNEUhnN0D3mYIPoyNpOQlZvq3MW7ygDR9md/rzFLPFktye9s4jLarKx0+S7dt6LofRPAYVAquAHitPjs7uyz7fmjYf1XvxnevHw1/A7lL8wK0t1xu8pcmVO4J8cv6aAOQOaMBZbcoMFRK5cXRyBxwiaNHeJu0/nQkdJhgm+2VyNoKCOLcW0wMB5ylk7WjghlDr6prkEoadgg2J2jMrPTbVN3GNJI+1lnHf1ZwElchaNMEHO5lG8Nse9eswGZZ2/Y5uu3o4jugotWtt4KBHEiUzkS6evd0ohilaBcOCN52+HLiSQEcp7WWjBsyJbht+/f7AqWqpXvOvP2Pc+WzE6zXOVrh2xn1NMoXYGIb+tX+CMKdSizuQqrDdojQlSMVEy15NaBx9TXRg1uVGKDxla+jd0NCjoPuXbnk866pmwbJm6FOwkjqIA9u6ZQ1OMfhci0djjirAmNhOpf6XtjL/ilTwnJ+SXP0FilSWbB2oISc8t0muVrvbNeThFph0kZPN3R6dEzWr/sKV3/5ZTtHQrg5Q3Tb1hkpigCb15+livKzk5fhWczrUvtFEgKaZWBLkyrPuBWMPinOPL4EdUCWklgy44O+NV1eKzi58cSBo442aZ9bW4zysVyt46Ct04bWqO9eKQRe1cpi46fRcVS1bR24E4J3yO1PKA7ghDUa9VLx0BtHThxb4nAEBfooLv/nBajVUAhPMP/BjW61YPy5BHbjgnNogXkWX76vzMQI4rH92QNk2nkkZZH2qB8C630h42CN6f5hdeftMvGD8oQRttGvwJK8KTdjJeRyi15COOqh6mSzuiySoQy6UfyKTR19z+qEvKIQeEqGyQ47Hh7wtEoex7PwNTu28fwwQkDFw9xZbqXn8tQ7pFldyj7jHCAybjdcivmCh9AwUvxq0q/OCq+sPPj57E7rJ0c5ifDxQlWZCyLZxy/s7f3EWucOYpq8xGbaQ6pNp0edEj9nYJGUSUhpEGRZ6CjpOtORToWTuqushf+bYELCgU3QANvOqir+DyhZbUv/as9Gx6BSx7iV5zXIKoydcAtJ4tvKtLiAGorAy6LX6U1jXSr+MZZZWlA2lzaS4fQ9JWHAy47+lL2wDEBxu+yItN3+lWuhJM7H0nvk7iG6QJDS18+9bexdoX3gJaoYOv8JK4K9uRF3C5/Kpl1a+WAW7+k1LIrPAlfq2tw2nELdhWezcm//uQZnWkst6ddfrZsFmE9fo9DCaRNNos/ySsDOCVRBfYyEom26Xd+BCevJfwJludoShsNAvZ3Y87o637iRuUvlnx5lATyi91dGVTu2U1rH+LGP/pKlKtNFLyy3lEg8ZfhshxhUF67VMd0dC9yE8Dxn4yFif9+ZCbAhj+Ch2PNRnGk4aVqplLx04kXDR9wNu/IC+uaLwfIwm3PgMwQdmRGLPQtXRWWbP6of5DiH+psvDKfT1AIQkRkEAES07mDbU2tP/7xj4df/PJXwz/8wz9BkJVhl3VCEnYDZcdp2Avu7Hz54ksWVWItoZN6/tEBSDsdzr74Ck35dHgM02yzrk+CXjKSdA3U1N1xzpXTcY3ZebWqNQYCaWFQeRGOqNWtmvBBwSeD0tLGCFNHXWPyUOHq2/mF259KaHZKoZiZlal7WMLB4PK39YqTAXBhPNavCbPxRJEWSOubGyNg/lqnB1OaN0AhA8LsMpgdj3AGbhHbXIppjN2L7GHLz9KDbA78C22otxgQTIDpO5cN10k935zadFSddt5CTJYKAJCduHFXgcH7AB+z+8mzibxUWmXPkaKduII2iixxgy+VJnCq4mRjVqF2F2aZwWmIVjpOMYiTTvzu6NCNY7gN2bwUeq63MDw7+lrcSlh/LT/hhL1LJ/MtweARQI5M0ymRr+t9ulXaY1KcpnN67OpKawlX7VyeMpXHMR3gI/ZgSD1mYHKHBe8aC94JZ6Udv/2CHbRvhgsUvMEO33VYdOaO/JwGtmyv0xHZUl48R7EvJId/swFCZcz1cy6EjoKHtYcNEyPuVl1d2xl2Dv8Mpe4RHT8717eZ1nOqnI5/Tpo7fu5in6HI3XGMijuaXQe5SltZw2o05ucIH5UiuO1HcAAO5dnBFkxQRybXMzQPrNQ9a8P4qJ3QRa/c+2tM4sd/wZyNrjYAXKcz4MWFltIKWCuGpIfu4MimN6buWbdKNll/lfyx5ACnuMwaG4WvdAZceYVSaEtFfzglciGygZAa4VMf1pzGFhbegZAkE9I6qw1+tLKU5eh/ld8a1lNQVgbUFaaQPuIuXKZ4XT88vWGKl+ldB6ZXZwxOr0+ohHcNa1XwDmJrpvUWB3JdmqCeFzwTVt2FHQ1AGIAMgV3gd/jnmole8p6i6F2dvh6u954Ma0zl7jz582GFqfk1eELroSzldWVzaYu1bqYc4tetsmaLR4FiR42y16eUrWp3wSOYUUEVvzpJWXQr2VinAhTOejow8/DqWxTzamd+9vS9TUKU+HV+MI4CMBZtcAIELU1CKhiElUIlX7sOFiU5/FCcU7pQ5Wt7S13AQaafxb4Il1d8hibVkSdzs1j6LaFkUfYyrA48KkDpzXvLz5kY3R1TfeWqfZjWWqUMAkxt+0IqtK/KD+iTzHbUXVdezSOyOTxjkcZVCam6Gt8619Ow8u9+5S8PCG/RK/JffhAnKbvyNE6UGxPhbJ09H8sTPqhr8c3JKw+9iVcw3iNfZ20Ga/2uNm+Yh+mc7Qm/k7P6Q1keJRF58Numb5Ge3rihMcY7arOREvDkS/sp+TZVAZaS8chZrD1Jh4XbPl0yZaBCxLQFO0bS2dcmPG1R+Vb9yi35Ol4iNvABgOGpl7jU0kda1tdqVFIOUrI10DNxSQ78JO146U8L/CO4b0HRK6g7YfpTZFDV7NrjxINY4370o58MP/jBL4Z//MefcczKcRSCw8Mn2ZjhSdenp0x1cQWa7jmavHfkytweyXJOp3mJ8PQeuk0PKESoqYDZkV+DdXfLTYfzKHsrWEHswJxG8mRrkW8+NfWV7CEA/vxunXZjtB6rDXnJHDoZ0Z/WPp8ykHXrI7YeXib0SlN/jVN5+y0jqzT463kIi6Mbj56oPGsUYny3gXdnGJXIp+XaOSE66lsmwnn/5B9ynR4+LbfDXeUKqz/zrIYmY9qQlC+VVgHUmJ2nTbj1oeFh66d5XmVPZf7ikg4PP3/idH2T9WBMcW5Q9l043ymNNvKh4To16Wip4+YB3qo3kaMku+hcZdlwnzoXY6+onJNHV6R9t47G04nnXufleOXnESeskULpdou/+AnPAHdX9FT0bzD/315RBgqfx6acM0XtVWYjlM+sz9CahyJ3w2DknCm2o6Mveb6gc2YdHrs9V7gWxyUMmeJodHPaM7wEPhV4Cvos+Ibfcvi32g3np3nYMmYkNJ1tfihxDIAmbKzYYXp2jY1Lj578EKsU619R8OT7W6TeNVv8b0iXgz05iBdxmHOkZoTZJzjNdIflLkoq5WRdIlYu16DICmLesZuCd9WDrnER5nmz4yIQ76xp4T3sbt6EKCh9mo/XA1qWlqGqtnSxgclPxgLfxBPvrr10zFwdj22PVxjN8+QUoXaFCnRd8axdjlN2KiNETsdatNfa12k+ykHdKjp2CtaLP3Ruli6+5dHa5WuZQJBypQc/vl3cIYW0EKhQxAJLFvKs4GyO98iT6fMoWwdY2TgeZfdkuD04YUr/lEOvv2DAw8BnCi3Z5OEVaV6jdkdBI2CSNmRMvubmz7/AEvVbJQ+AUH7FVdo+lbs5nw1HWPfu116CG6wlHE+1scVULtPMa6zLVOFzsCK8K/AOJZF/ei3yrjJAQrJMR0UeuSIxQYVnW71xqjsOUpJWMPkKjK4/c9Amb4i3ei66xlDZm2CkmxgvKQK9+I5UoUpljSJxa6+Ve5WdsuQBC1xytm3JXet0XRdrzioG8hdh8JP9gu+2eeksbOFM3ssySQoBsUEsObJY8I7e1kuXvJai+q1bHkhG7rS44WnLVyOIq/i1VKZnJM8BGfKw8ysvid2r3J+W139G6PGlkP5+v+8qTsHe4/c4/bsrpA26FG+76y5LKDoS8LRlVPst1MW638ruODGt6Kkyqk3K09LMg9bnyGxzsd1p5Oku1tWleqa+4KdkRsUyn+oHC8YVhGrW1+HvkqC6tYM4tBNxPVe28Aw9koQcCAtsyA1vJZI3Latm7YAHGaXCaSVcj+dRox4Cok7sAMTy5TnZRwue63GzW5enFm5lmijxZz3L2X4f8Np9v6vnA5Y/tEQFKL/O4BLan4sXFZJOu7ou7wff+/7waP9weMn07auXL4e/+MEPITbHO7A4/Msvvkap48441gVlnR1rnQ73t4ZnTw+yXu/o7Ysojt4ZuY1Fwy7HRdWxMkHk3JvIkFYi85/RLMgW1W2q6r7di9gZEmizTsxRdpgqxFYhrF+IDyNEoEA1mUOXcOLKgCoEFV9LIiyD4LDjrHV2rEXjeAqPHbnD2iVCsu4Ajp+o6LW1eVFAKuswhuValP2XdemNMuUriZoz3pJe2L3fecq8shdYEBnJNwwo2mgAwZmBZtsEpedcmU7PrDHJqw2GvB6KN0GdOQQlVKJdO/HkkF2MCLdXb15j2WAal8W4KnvWUZM9JlI6qGpYUCgd9Z2KQPBpQeQqngKQEFRnrn9ZacAJeQU2rGzpqFucrux1OpmGg0SCvwh8BcHSz/Brzkkqp8CwEVf+xjMfR6Qeu3GH5fj8DI6h8/Qstnv4zLV4UzpxLXauvbvCmnd59pr4KHh26gPWYutlZ0c6lTud+Uaps/NGoOQbPg6vpgvEeofS5vQb5jr67f1hlanYCYrdhOk61+Btb7NOy1spWKuFCjlcsF5yxrpJloegPNv5atVhFMyucNUsm0kOr+YpCcWVl554V2jwybu8YOenlcInoJtSiGGN4n9hLX/yUxgSFssOfGoZdK+UXemzSQKe6iNqUoS2aa+krClrEpGGVrV4VudX/gp/rRc5XsEY4rP9LM3NOybvHar9tjAGp2ZBmXZcUiG7svUCPhWkOcsBcsVb/PS23RWDp5nB7G5OQZcBOv6oPPgk0EGL8uOMtu2Bxk7bjJle8hL6CYr3OjQasPB6MsA9POI0/s3V8TBl1mLObt46189BmnQGd5Td62XTq8EXcLKZgwDKZnlKtG8tWKdM48K3XB15BK1U+Lew6HrgskrfZLxLp6rSrxJsPYEBi7D5d+ebnfhDp158WL2Z5RtTZZSHcgFclIIkn4oq8Mov1hV9JL5POmbh14KapPiGsmnjfJBPUVr1XdL1cvlYcpZR8Mp/uCZ49Ase8A6fUmap7cSxQApXdllVfy6pMWkGCsQF6kQMbEagoqCQuuhDGoN9Wl+RAM318rXjz2eqa0Qrmxh+lDNcvJnlFHy84wqxeFVBBY8wtPJaeMfSIjqZQYU2WBae4lVvuRGCgo134y3yME9QBw9X31RlCo9x0h7EVed78tLfNJUH0KkoES6OQEqrtyXyaVwFZupS5RYclInM870vcUp8/piP/YjccU+fUfguGlMMTvqpaFV7qAEWrTXlu35dxa/KtxQ3pNUtQflKOwruoqwp06i7ZQYHlt3rxzvwW1aceONFuvoTFmmj5HBd8K2AWlfzQ+zFP9ZQ+0g1EY4TY8ZmfeL6cuW9OKSMDmqV8kf7+60peiJfpPnroynr6LSYByTmons6rWfPPh6+//3vD69fvxk+/fTT4b/+3X/POXse9+B0qxYyFwF7mfvR27WsPfJi4o9OHw1vj347HHGo7CqCa/8AqwTCVUGvOXeNHTiaZF1vdM26lDvKvHchfo5gsbFDtBAb5iJemCV+WpgeGsdyHXz38EWZvnf8prN+Tkf6Xg2jGoidpxq9yp8wFMFRQLFuESAyklYrkz8tXYFjifz9u5cZRUaO6a5axqLsHr8Hv/8UbuN0+KsBV6zwbbUgPCyj8GLHPJbbadjVDKrhxbKQaDQBw3FjrHKlYCkTWYvJeUbW/5KOyPUzJycnwzrP29vN+K+v1xlI1ktrQFw6gSq76gPMXbDTMM1fuM1f5zdVKiUPBarjyjq+X0/D+q+HL8fpflq/egNNIfzRQuAVOFMseXPOsxs59YoVLzcoaGlg2v/y7AsULBbmX3j2GveuchwJjEdiGj7ri8gUoWCHC5zBsbiUD3zSiTSBUOJabKPkcQjxsKYFb5sz1T5B53PN3WOerF3FcqTlZsJRG6vsmhVuLxD33shrd4TRHtR9Rigdq/zmWsTgb+spff1b09zAj2VphIIoFYqels+PSHW8AsQO70GPJTymM09nqiLk1F61DxIvOiIHICrpfWqrujt50ViW4nspTubdaaLA7E5h2/PuPCB/yAe2zeJrc5I/LK+c/Gs6e5HiTWtNtbCcQAkEMhZCAEyejNjl83Q9Ac76F6X8C2TIFeQaYX0KKzst025oH+AYDR6LKeHQ2iuXxlgt3MyhNXTvyQ/wd6fuLus2+bHG7xLZdstRO2h91IP1kzmfD3hFGnWOhcHeidKhZp738FRddSa8DACgnc9rZOL1iDZ3yT3IXAe3vc+1UmwcWWEA4Hpmj4XQ6pCz5+hel13wl7ZkKSqsRZya4nTQ2jvCwgeooMzWIcJP6eQBU2VRK4fxg/dADG2Jq9z1Gatp4hKHuHhRN8Orbfd0HT7T+PNIjwqrfCqhuLFc8rDN825cMsaPLy227T5saey6zGCS+qWKTXbBQZWJkJjefCrrhfypdkO0hNYf47YsSFl4sjblCgemk0ctf+Hks4bjnmMpHpUm9bRSOCHOsxVs2DIeFt/mF14pHCz8k9rqNfwv0leA/sqFNX6+pyxRx6tll59h1stvHw9lGT8DOOrd0+vnu/h5+BXPKVl0GauQjej2p9W/p29VzcCup7efTToCY8CBvubRnTLG+8bFtS5iDpiqa0E2pH8QHsOEjV/DF280XSqtHxFymoH8gzOKvOd6beGLFVBOU9GzKHjMvGjyoIX2Rb8wR+GbsibaAVbwlZz+NP58sKJXI0+JVoqeQjgdMthwkeUEJUxFz07f60+ePXs2/PVf/83w+WdfDT//+c+Hzz//fPjkk0+Yvj0cnjw9zHTuyQlTY1j13r6iEYOxLaYlvvfJMxS9s+Gzz17leApKZJDL4mgUplUXaMIQ6dggQNbcIYBnG0xhcQgfrAHiIdqSVUVxml/nrkYPSAYNYRDqY51OYY7u/HZdmfWbeQgr8e7o6PR3t52N2xGEio51tpG7/o6AlGV8GXeN3mCxPs+0OFgjzNWvBFJgxbJBfuXqaVkpj2T1pMFWFi3euw/xZ17pzvNejNtjqVj3GiZv4aAT9+7hVAum1d+Ty/1OmSYAnE57622nbd38ecaR5yZa3xcvXoX24t41fBtsj7fuUXRoTR5+6QiJqIkvXDYs8zT/4Bg8wk2LcMN00iHr3PJVf9Iol+q5ECKLPHveVWs7IPPzbEbplelL4pb6g/IEH3qzgocfQ9lM17rDdobiN5+h4J1/hbXviKVYWFjmHm7MNK28IUXpjFMHeMpOJevXMgp0vZmVdr2KSLUZigAXHGMNYs3dJu1hbePRsM71WKMJFr3JAWfWbWOtY3EzyuDVHXfOcnC1t0Lcgid/WrDtpF2v5rlRXpWV3WHQv9ayFeEWOKJG7vbUIfJD33R+8Sm+Katb4TvpwmwKUPgQa+CtfM+v41l66dLe8EdF8qv4xpaITNDZrFQvVrOejLyA1XidtuHFxutacosfigeiKKQDMokdrW0bfukCm5xl0Chk+EtXO4TsFobe7oYvmCkTGlF64POpC9+DR+Gps8MElvzMg7w8gNWBiLlubTngJCb+AAE/Uifg9Qop6z5BkaNJsKeCNZHIq40NjrnZPMvGjfmUoycuXkM0zhHNgIABgh2fHQelKRVElyXxh3oKHTjkpXb0Fgx2PtfnzBpwxdvVxSUbRTiKZe85M/3AwnS/qJIDTVt5WMfUGp4T783R7qWjbU3F33R2hiZKhy9i+M5faQKsdcg4dEPx7TSqvEvRi7wwDRUJjwhAgODb/GwHVs4y4/8AW0qS31K+4YALf/V4Qg2UPhJm/YIq0syZRgNE6AVcVj3agZAb17ykJ0p5ZZ9aCWtxb2L5J3XKS/tDrnkTrHoR/gZz0pM3ucSiLk+2Osk/1qe+iUE2yYPwGCHIT7qabeBr5aSG+Gs1L/hIKw6EO2kqfoBY+tMH4oQmP9Oab38WHMw1wHeZpkzaqluklYC0tirtHSCZNoUaFMZsuDduL0eg/GplTdyiajK+ddYxVTMvB3rt03acyoM7leHQnjB3eStD5a1S2ohGInEgSV0iROdUOkfKTTG0P9LyS/ct7iybdElLWfY5OuuvC26988w2QGyVvli83dCJt+1RnjEfjVfaeV03nEE08K0w2HOWp5YYUTAuorBe8/3+nz8Q9H7UD/7+YEWvQ2AHEWRRuwh7kCPtqG6iSJA7rjBzd6ZHrTx7/nT4xS9+MfzmN7+JdUuLnsdvbO9sZku08V1nMrngvD12FHoUy589e8IxLCdscz4bLilnc4tL4ddQKCCCS8qzngAm2SQf77pz+uIlx7Y4Y5YrsHiBVpEHUK0AlOGkep7Ain/foOD7DAXVMI8tcJu1uxUdLaSOsWp4fIGNqTobBYtbth19wJmkk1EpMwqiG0ZQhlB48+M9YWEiyhVbxA1TA6vPNRi9uzCqDQEmi6IA4zq19B87GbdiOaop5a8avYzanXEsQ0D6gZkKNpUew6yz1FSUtf8oSNXJC5MNJIosVrsDbj/xjL2jI6aqgFET/BXrIW0qJVxKeOzuevVdKW02DHnI+C7C92l+/VBPFTvxM/VsMpirWwRNoyL6Te4GPupCRlT53r/tqK9ZRO93ykRTqjUeQAmeVD7mHKLLBDHkU2lBcWON1S23WFwyTTu/Yj3pnT8W3QOvwI3HdvDAjzIo3HW8AnkxTaFktwtXWM7bWXIDx2NkipaByRglb3P3ybB7+HzYO/w4B+ay6Rw9kLMl2WE7Y/rtmrV1t+70ZR3eCmXNsAbVlWJSgDJgTgVToKDC6aDty+FH62aHo1No1VOci3jCwO2CG1o81+CE4/gu3FVaeUGFq3aUgklwKB3MxKfckDLEuXmRd4gHHBVuPsAJ3qBeg0XeXBK8lBFlPqPylr/8Cu0zOlcYg9dUxXStDIWw3bhnaWZqEWVO+hbPVNsxzDgr4E94aqdcybDAbmYNGXJ9amQdSTMC77rUl40W2fRFGW7WKCBSOnFXs2Z1gmXP8zonXCG1wZrJTaZabxkoOKX76nPkIte83XlwNNnOeeYsRetJfk69ilbZ20GmYKlgWR8tfBPXb4LfOYOMW45wuuXmoSuPxCHMSf1NNm0gkYCFdmp6eCRZ26qlE7ucl53KR/K2KOqbtkEO1rz/M708DlORG60DAhhPQtRTeF2HZbvsCl/Haj0t23/9+Bf502lI23fRA5wTJ0p6g0M4R9Dc9YSAkLLEsbXSFVV4sUrgLQ9p5oYcG4WwEMs2IRQgCS/SU44h+WfGuFiiw2eVa3AB/oIP4sj7iWeLti4oLekTzBk8dPmpbCtXGRtXusrDKuv5h5+DiBrwiYNS5PCgbfNL/UkijqtW1MX8jCd8YsDvKoMX/Os9m/usWYgmUVtYw6mnHhSs0qnaWNXHOimr5evKy/IDv/mbnz/rJz4DW38KgXEobFH/+rYuFQi0wk490rrwl7ZaCS2uFZm+IgYaZJf52WqVCSouxvEiBdvLItv2otVOejzAW3Kn8oZGaP/SxjX82XhFQEFGpnN4l3485UkWAuRLv23jbvhUSZXHXfvrmaa2G5cglTWcuKKan2K1HHUlTqeZiuR36cTXB7ksthYpNNR1pkk32GBgh+JculWZcYL8Pp35DRaTk9Mj5rA3h7/6q/80fPHlfxv+6Wc/Q2nj+iw67jWuzVpn3d319BBkzYavv3rN9Wivh8OnHzP65b65zfHw/NlHdLA3w29/9zl+3JxBPIWsU1gTNgJsMKXlxoyz02OMIxPujjwcHh8wZUgfkIXoQHTLGXxXV1xw7rQuTuLF8uKwPIv6pEYjglyhdiDDQLA5nSsnsxGtMREMh5cyikBzw8k9SmXz4Dm3HJSVNfCyyS0Sm1i0Nt0yDnwzy0QALztVAZ0CSKtX7SbEQ8ESWHthfMv0bWrZNHFdABFX5xEn1jHKJ3WJRaILZML9Xm7YNo4IPequf5gbDvXYE39ZhA6z29BlauPTzEL/KZ3mCKudDVeFeHt7l53WP42V9u3REWvcjrnTE8uX2+RZz7e5tZ7Dst0ZFwXYkZKKrQKwde4Kwg5fNp5Qvwg3cQx+VBodva64OM0wBa+oAgrlkAdVB1PUXbpZXzsy0RxMMvPmt79YlYijbMqIzTq7O1oFn458xgaMq/NX/FgE7zo8d0Pe8bSxA44bLly8a8cqBJ77l7zJM6W5Y5NpWYclaOj4sT5rxMnuKHcHjz/KGqsxSsA9024zrD8n883hEhrMOZzaTQnymoJy5ghS1qEOGe1SFvKa+op5hVspxPKOl4IbR7zwUj+Smlxa6ucUnHFy3Ap1iIBMDNsNlunGUyRpDpqLR35a0eSLbHJIKPWiGBXvNeh5w+acVXhUmtzaaRDH8yMtQ5mhRchdyGU5ww/cBGcq+siVnGdIYhU2edGKZg0psMunEtE8F444imzzV7dO+2Ya3Y7bQ05Rc6CzPEM+DvzIW1w49eLaLzgpyKn25yBNvIgfcEycfk+vPKnlW35Ss+7WxODUXFg/Kh6UTQxVUp5rIjcYfGrV3t4C7yh6T/YZ2LLR7OyUDWfsqD3LGs8TcmBNKwMmcaB8dIbJynqgs/ieh9+xLtJhGfee9YaZ9l/1Ht1Xw8kLDl1+/fnw9OPvM/3/jIOfn6GgckA25wDm0HpOKFgHNs8Asw2ZvctJdE7Hhy60RWlh5yqW08E6OAVFWuentAnv9vRi+Am4cK3UwtGRBffAb7q+Y9oWmn/SEj5l6gA8kT+8IDt22VPsioLcYBAOncpASSjRK+VbOaE73/IJUWVZN3p5xIyMsAKeHNTGUhkawz/QnmF7RSYnkiRP4Q7/kE5FFexSF7BMhJpx4cX6RU7Ju7JM1V0Fy3xgUsoqeRPeERbC/CnfhCODGunJvzv4Rf60bir3XsMIu2XXafEadSBtONTGZCF8F1b4lCgp2MINAqi8gBPiyeWi0P4y9QHfwpUohirDBI0/gZEAn9LOepi/8VvtoviolJUzTXvrbaiFeOe76ZQ/Sd/yTznEceo25S3S+2J5VX7BqHKnvz9lhOngS3jPemYw1PhDuoXf4APfU45lkk6XssCA0a3TOrNr9jXK1cwyIbPsV7IuD9gdBKskK1tV7CK7QK28dckJE7s7HjwPDyDz72iTnmeZ/ChL2pCVpfLruPJVuAoeQ78L98GKHhAHeSLXLdBOy8UcCpeOQEYaqFSjoo4Y0uHAzPvcf/uTn/54+PS3v2NH7VmUgZx2zaGI7kZdY/TrFOBrlL1VrGkKqXs6CtfMPSHt8SqL31kHNp9quaNDv+QPDWRE2n0OV76iIz3igFqPm8AuRBytaCiEG27PZvqLUbmwCSuslve+Y8aGEGkm3ApyGoVMHX+YvjOPR4tQYFGUstPbkyYL2ltj9Iw/Beg6GxHcjNBvkjB/helDU32X3IsG7FABF5N33qoRVKH4J2I1wopX8Yu5YEiYNcLaBk55Ti3beKxLGpFSEdfrlDBomk4Uf78N807LHsenzjysG01Y8qYui9GzgowGpKJJezM4B2pe0Di01qloO8W9vgV+aKwqejYkO88SKjaYEgKxMpJe3gk/8e4up1UsW065CqMDdmMsZI9QAaeKniisKSZhst4CVDiwo3LnLv9p6NCDUYFWHlQ01ina2RLX4zNY+H7NNNvN5UvWf76l8qzFW2HaACsfYgHc4KVSqXQmbWCJoCHjBMqfmvp5Yt1ZQwleYQ3e449+OmwwPbvJsUGrDHSmKHXXxLvlvKk71jD7H5UAAEAASURBVGDdMj1gdwSU5Oqv/iF9i3fscEBuqs8f8ZyRsoJNmkfRhTcTo3BVSEJQGjl0av5OOwNr/3XaB7+JqoqKYBT3pJXuG9APVk7+0ib0EccU6eaPDdsbQlq6uPs+ecm0wKYS5aGn6WQCuLADt5krcInnLRR6CVON3AmrzOnT7ZALXiHQlZ/CvgQ9mjd4rPoTE0WhFDqPDbGTyc53yrNIAqkd2fOhoo8AIznpg2DgTTj8aZnUVfg9q1oNIHU3jbyll+GUvb7hUhI3xSBrmFp10b387LlgI24oWVWmrXNe2Pb6cM4h8TvHayxR4aBqdm8r37TEWZcJx//oblVO+ZEJMg3eogwKJR4dEfjS2hcLBTCtwp/nb5henZ5SFa6YZDDxhGsmvTHlhgHADVeubaBoOM1pp4juFzrdjLASO+hFQRbvqYtEZknCGsqIdHfJijcXbTOgs32JP599SlsSi7fMSJBGBbh4VBlEe5HvrBLE1UAqDDoVGYuSX1Qwx7SX7OwUtzgkRHBc+ZWsKItXpXMHq1Yw+UxaOnCuNglPkLHKXmSpigDvrgeXfuEvcFCWSBIiW7x1xfvXSxEDKOIrm0xv64sCJH/x7mDPvGN1lT8Al0/8lAm0h8CPP+058qzYBF/aIQ1RueSQWcWlLJbEA6leIaZTHsvb1TalLeUbQFnBY+M7vbozrn1XpaHsMHmFAhJwiXhekm/Fi3JEWUlLpPRlPE1qPeJPFj6dusQnGZYVU/z4qV/ll0D+6J0gn+YnbO87mab7L+pTfPF+VFWrnqu9la7D5ntwXsC08h7CuxIsHcS98FqsdZf+5quVWtQ4CK66qoLDL/KKXEi6Fazh9Q19BAdFxOQaB8gqWMD3HSeV/xjOWn0rTkVPJW8DRCgYWCUEEmlkYND1ahEkjgZBvuHPnj4Z/u4//5coeh6w63Er3fqUaVuUADt/rYA7O3uxBCo4ndpdWXkczN68fINF8GTYBcu3xL3jerR1mGWLTtTGd3VF48OiGGuBwl6BQ8Pwbjx3/ARK1vAp04SJNhGYfZZCAKwIZAktcyjYQ30wVkyBMAijNBTKLY48ZBrfcROmkVWGNjbBzSZrsDhg2I7LaT3X9TjfT2uKYKhcihF6o+ibEhYmbxhFHHYXpZqPzuQKmGUnLo2fERDlKXwjuAGv8qmGVHWkno2x6yiUysl4SzKi4aOEgWHiJQKQwhWvNiC/VfTcUb2KYq3lUavsFjdnXDD1rsI3Y3rz/hJFDL4Rbn9zR/AIR+vl9VfygPkJH5AXT1Fmh9fGqBu5EKfhMXGpn8JAPkhHEG2hRlJew2VhYtpd0FoU04+6Fo88XDc25mkfvsrU7RU3H1xevMLi8oLpWpU8FtKvMNXmsSlYUlRUlGJCKIzltHzI75TCrsxYW7TgrW6xXutgONh/mmm1x89/PIxZi7e2uU0HyA5fTl+/BifXMCHjwxwGboehAmQHG+FjneA7x7YqOtXRUXZHRmpWHYS0ER8C6IPowASM1E9oJ14CTrlFR+NUvKU5h1RH2sR6R/1iveJbHHmESGP1xBOn8n7yAc7Ls8soczmoF34QFqfrQiN5zcqZp3xUhaR9GG4e2xy/YAelkKWmiSePpj7WAEW280fyBoAadNbIPhZWFDSdI3ZPc1AI0xTyu2T6XWtkRu7gTcuTh3zbYUvLDRQwrZpaH8fgyhP5R7Rhv+XRUu7FddUpB1HXMJ5qgV/e15E3Wrw8wN01j5tewr6xhZIJrpn63d4ULo7FYef25RmHbL/9avjq838bvvr60+FXv/wFcGC5Y0CTaosuHXiTfnIFhMdDzMvtcAnlOvVEquH2LXmyzMCd4tso5T/+4feG5598D5p4g5Frp2vpgriTOTz3zSUWWifEWreAR2YQbuduJzjj6rgb6uNa0CKh2JIe8C3hPuubTOQpwuRTrcDOLtiByq62UevV+U86R3ExH9Io//o/copyFkWItCq3pg/biA/8xIBlrSrUcVrCY/WBnv4LbvB3g004Sp40KvLd9d7r4EXZ7rh9ihJ4N/XgdPDCT0UuM0PWw1J4KtcCP/iLDIQP7PXd8EPBlEctiOcv93U7eLWP4FsOs/uoI0rwT1vFYIJhI/wIHJ7hKW1UbB/43LoLc/Gtr911JaZ/S79qF8o+41c+PVy66nqcTPW2ePoLt04cGQeQg59MDfPdwxOQmP2PEPprdae21lmKVz6Vb4+9eC4UvIXP//FL4bv4SnluedJLaES9Tr/IVNqw+oFXrCl4AiEogf0a70M36xlyskwLgjl7pMHeSwBcmnM/YrA/ISX8UUqndc3/Kuydvw3fvfrw3XfhPlzRk3ggwp+d8oQKh3nAjBYbq6VAzEiMrtOrUObsIDt8fDD87d/+9fD3f//3YRyvKvGnwLKhiVwJICJdczJxwwVHF+xxZ+7GBlNZCH/j/OtvPkOIbaQz8WaF+UUJ/m2PoPj4MTt3OcOKzvgOC5LnobnWbn2dDQE0aNVvd90ovHQ25AgnJI2iW4bRT2dZEXaNWd1ZJ5wqUlouTeBIvxRAlROYg3RaDMSLJl8bqh3vnDIjDHkfeTXVO1zROcBScSmvvxpWDad8ihn7u2XqFGHdRVCTRthznZZ1CmQ9hgnApVIX+GkXgd36m1/yJI0KYm/U3d9nzNTkbZjfM3CisK7GhiBsnXrdALKbwcCYqdsxR69Mscaen5+HP25uwLmNiDyCI/IU5jtW1RY/VPnLNIBBcoafaWzBPi1bZ2dhBx6+45nOIyEFX4Q732vwVRbtMz1G75DpVnfW2ohHWPZOjr/OLRfnp19xNS0L57GM0AWQOT8VAHdD8s/zqASDeVf+IDAcGGjucUaNq6o8BmXEQvytbQ653f8IRe/xMOEWi9X1RxyTx0YLrHxTOkh/1+BhikVhDn+uAniETNjifzH3pl96Jced3q0dqMK+NdELusEmqaEoUrKsOXOOZX/wH+4zPv5gn9GZscQhxRbJXgE0Go29gCrUXuXn+cWN970ogpRkkM1J4K17by6RkZGRkZGRGxnwkd2O5AkbUb6ifegy1p0dxut1JV2tT/AMD8oBRoZ/6Ei6rlL5oNsdCgUs65F+yC7dfBoX0QnfeNB0CdPi7+Y968LwnA4DSTL1grVFf3fJ+3QajFfe6WSlYnDkTxz44fZYy5a6GsuUDo+RtFPD6EYpj2UTPXeWyitLWJ5gO6xJJ+z6fhG/LCvBurbKVI15u6RyD7l04zK7U2mf8qlpHZR5Ar/vKsTKrgNuFJG+XpruLINtOgMRcFtDczRMZxoPo6608utRpl+dwnYgceLaUoiuoucJ/8vg55rPi8g0/dxM4Vq7Q9aNfouSd+/rr0IXr4z89iG8N7plcLTuy7JHmSUZfBElJ7Ks2k525poGxe3Fo93hAQrl9Svrw81rHEZ/86OU5SFHXKWeab+Wad+B72GGOOn8PPzc8nUZbWEqyftYuvc5YGybW4p0zUMd16d+ynudNPf7GCvpTHm0Y6TuLYtWMsNn8cY87UPiP4pFw2fwoCXSG84BNv+UqSq4Wlm8ok//UvKAD976OPWrAhmlD0BwA/XlLM8S08Rcs4Xilg1M0OIVO+63xisdq92Jp0ofkGyXoLLAzTQODlxOYEWoeGr1dkNf/iEjbG1RAsg7g0IGVhSq8KH88jefKWcdswJB4OFShunP+AcQ0voj39GyXP7h/NCk/gBodMa1Tn36A6XwZn3PYoEr4eCmAq9hNf3YCOZE+S3+OAc/KavIAk8344vIlaq/BPCn6nOOT/v7NMzfH8tZpqlr+MoyXdpm2nTRsOOqAFq8WJgpe7UF+V38/C76qsQ7G6azz9Oih2ZTAxp0HrnK221sG/az/M+vFMtKl8R/pj9vreilMkfkJXbdMkDjRQik+Aj3CFHCFPCuN6EPzWaJ7928Mfz93//98CXTt89Yw/X06VME0HvDhx9+SMNbGe5/+xDiuWt3h7Ur3IxxdZWOkuM5EMSrXEPklWpPWey/h9XO9S3eibfKOrgDtPNVLj6+cu0aYoADb6mgbdb2bb54SUXA8FwkvnCW88lUPPdoUDRwGcEF8+mwqZ0SBE79wQrgbllSc9a+ihFTwXZ+ZxEMCnT+429jsqMpK6BksePAk//zhhETOnDiIzyYKDxlgslbvkb+zRVPp8IMzzl4vuCa16djhGZ4s1GXI1agpExqdTiZvadWZOtZNiTSCuJ30ByRVMBkzQ0BtZW8Gq1TI0k+IuLo0LsNpUksc9BgmXVHGzxXxil+R7mNYykR0IVw19Z4dIt4Gof/VQ8gYnydYSso7YnDu1YjO1LRsB0GHfzdu9AucQmjComp8KIJQAaFm6NwO2StwLuvnrKQHp58fIezkLlofldLHkqe11LRoBnWIRxdj2cDF0+AWRYGGzMr3pFr8Pih5K2euz5cuPTucJGbLM6d41YDlxSg5G/RIS1yxIn1u8M08s4RnTh0O4b/3YVrRyamlljcrYgqgwxHzVlOpEpN7Rtux2CH0nSycPoQP2nlO+udH3Gkse9dB8aRnwEK3VHUsEKbre/J37xSXtsL6bGSa/2ztYcGQEt7IJ5P77/0ZxrPutPCofLttx2+a5HkDRWxFXhD+WGYdBWnhQ06Tdqggzh9V8flIcYPbDVpyiEddKaVV+Q5N0+t30YGAHOdA72dMVBJc0mAawdfsebyBhu8ZnmSn7JKK6d520m63MJr8MTVGQvPinS62TCvb9rmzluthlp/utPzuU+4yybWz0h/OgB46uiIqVtKIcrbu67n4Z5O0m299OB0FCAUPS3+Z9dURl1fe2b42//5b3IywdqZz4dHjx6ls1FpASg/6W5d+qWK4dO6U+o5CKENuQ7PRcrkdf/zXwzbDFy+ufvr2hDHCQha2SyzTqXKcoV2yFLvp371ijMjidNlM560cIBrXGWKNNcZT16TF/tcuLWxYhLHaCDpNC0kisLkVJkwkjZQ6r2VwSMGX6Z9LY8xHo025bW9WQ7TuKTD5RqZuZBjaNOlaGVIRD6NK3jwqsLm/cdQit6A+oYWsDwDVsqAhX8X6z0cn3JJctf6WT6V6uw8hwb2DfpZE/YhkQH0dc6KOIRxiliLoMqE/ZnKnjgpL5eRr1mvB540OfATMk943tqVtP6CNjglkCdv/GyriW3O/HTUPy48Ak7S1V8pPOTBu32RdaxFK3ONJI2Rg7CeyaqKdamGdWm1QUuiZ1mDWYGrddL1RtJ8m3O9i6Gun2O4dabX2Pd0vQa40bsYvr/RyeW/60J78DF5l7ljVR7G0JG/ZeIttM13ikNbVLZZEGuceqIulZw6cbYN7FE/0gTmJ4x3o/Pt4HKFdMop46aMSTn9E06KR1Xbm8syTfHHen9rRU9EurJ9l6gKDoW3hOGBYKzOKmseELrZXQWzKYh+9rO/QpjsoOx9ycL8F5l2vXXrVhqtZ7AJ58UmxxGwVmePkalr3bSOnWdN08ULV1EOnw9f3bnPMR7fIpA568y7Mm2yrKvyzslb712DJ5eHl1s7w8NHKyx69hJspieYInnF1O4i55JZaSda3JimXfTcMRppbiegkqsxWCE2FioRTkojAa9cy4K/Gn7WMozKgkeqZOs1qVqIShtdaAUXCGP2nbc//KctaqYKUwPDp6PYmZPp+NnUuwF13fiMwCOMKHHVNfjNKB6qKWn0S0cfBicF9BBoBAotvhoAKSCE3YMNwYbjvzqFHMEKDygcQCIm8EzZ0EC6zFQSnSYKMSOhqzSmrKNjasrdtLEsIvwcFDgFotVCeq7IL/wMRwWwGUZQa0FRwXa0aZlVuswv62/A23e8UvYsRDaMb+mZdVMMItxVu8ICstUl+IAF8nvbD4cnjz4ftplCG1D4cm4eU2wqd2hlwKPB0nlDFISB5SxKuDB+puQtYMXDkrd0/gbTO9xFe+Emu2nfHzYuvcOhx5fIf5kBCGfeYjU8YUH6AkLmgJ24GFQYeDiVTXnsBBWIwFWZ8tWSpFNRobO3VGBDD2uBl6KBLzg7WwdWpnEkUpY36SHe/Ajx8u7qBCwOMIApP/f0LliaRSzrWaxMOhVi+XoR60wdbM40t+2BQU3WxmVNoXg7cHLvDcqiDEHd0fwTz3ZtfipAq1joNxh4rZ/jhg+nksUJfJUf7p73acdn/XqAtcqaFrEV+OLCOaxP8G1gqTgST0IZ13IdcMm4OGnF1yIn3l6b9Yo1vTt7lgMrm4oouOyh6CyosKH8H6MceRbkziZKIYpcrGfg5Un6Tlu5dk/FyKsMXa+WqVXrANe4qAjtb1E70PMIK52HMzvC97aVIxQvj5zyTNCTZ34TjvLk1PI608XkkGk7j6OyvGdQVO/e/Zrp3IeRk2lY5KWyAknjrM+s05NP4S/r0HK4RtAO/RDe3nyyPfzq5bfDo/ufZ1blhz/6ETQ+GzmrotQWNDfQ1HqlkS/GPHxYH0eU3WnYnoafY0H8/CMi9M86ZBBTTtgOS54WDAf8Holle7ajD4+oCOBjXyFdl8ep+zplQHlU4aUYQCUHAcCV5lpSTOcRFyosDvaUaIYdOyhL7wpePM2T6Nxww8HnWNPlR6/UXKBci6ydVb4souAvHrLZSvRIA4akgdp82+ZU4hY8L5Evy6+1UGf/IY8oIReBa1vOkV8OXrHyh/dtGPj7kGXF140L0jazJMEVGNSbkCyjeAeu5Ql/h6CBk4z503JfHHWZYuUpvpGb+LspzXWRohu5wYt1FhWTsJ5uLgDkRdu1+XonuVJDeoIYuFsG5YnIlTPM78gPvCJrGtdJHBIGzun+cYzy73pUW38dh+CY/Mu/FdjwAjROndlvKMekgvRIrv6lrqVNwktO9VIDI8oCtmPTRUGW12A2+ZcqTLlMj7hooLwQcNpFoNt3/OmdGthbuSg/0KaUAytWIilAJSIWF5joEAanuSWOo2w7CuN5Ifk1rG63bn3AUSv/Mvz2t78dVv7lV7ORt0exvOBOUZl/jymAV+y0lWBOn5ynU0BGDD/6wW06Bxopwu3Js+eZijpiKnf/Fev+iHuBUfGFS5e5i/XG8M7Vi8NL1kC9fLmV892+YVH9MldUxTqDZaLOr2IhPAIoi3rJbcFNIFglqTZ+4g1jUD4VDK9fqTVtaS5UNN9O6cI8xqeIs4aGBy5UoOEnID428n+rs33BU8AkhQzFcz6VVlCQrXHzhmaXUZ4RFhUMK+NAUIWHF4DlP39szDj98bazUpmJmCN+0hGkEmFamd1O2RgmES8bSBRT/MTHVGkIStZEwZOCiJcWhyhgTscd02lbQBuYljaeJ0ikXFGm4uc3BMuIinh8MmgAvniNPKUgcrysNbFuZhAleY+/4keDtNGr+Li+a43nCryznOMpuJbv5f3hxdM7KHl3MLswXXaCBQ9F0PWd9O6kt6zShDxtzWDjBovajQdDepgtd9AucGuF599dvPp+nitnrw0LHHq8u7DOrkf4hTQY8NglrpUbuGBpXUqiEqBSGusKfhFa4k8c7ROp4wwuoB+8lhpL4SRRagTcFM7s0sR8lLZpr4olUk5VYYtCBvoqIBYjHR0kTv2ShzsS5V8HTFodYnFDyVpW0cIK6JStVtkNjkVy4OVVRiokuXAcHLIInbq6ceN6FuSbr+Ww/WslUym03lSC7MzXscR7g4p4hCdVjqD106eP0/6zw5f0JA99NER65M2TR19TiIqrkuJPBaEcih5ryaoLY2aBRNLWencz0D5Tr/Zgrr2T75wZcGrbdZtH8P021qwNrIAqKxHwQJL21f4sD4oOHuJp2Vzno9Jg5+G3eCi77Oxcy+cmJMufQSVl90BtWZJqCtd68oCKmnjZak0nbK2It2451XohxxZ9ff9+Brguacl0rzD4WV/Wpe2NLgdcVUz4JgOP/XFDh/ig4sLn36JYPh+ucCrB1WuXc+yVdXgEDraPA2Y9jphWtk7bhS/Ni7Id0jxtCrXRwbyVeRVmuFYqFW4t/j5bqVH50dFCcw1ceFwP+TZ1Ku1Q9DCVuEaVqkiZOpUKl4oQvlF+jm2HFDxTtORrecXLdilNlDvV+YobgXEYG3gXx214aM369zQF6txDrI/ZuQwJUfIOhrNLrxQZaeNa5TRS2Ln7Li5a9VN2+rmSr1QAL9QeMOU1+wzK5i5nlh65ucsBR/E/a3IZ4LrBxgsFXNLk5jCKgSM9ynqURj9VHiUQsKu8wpeHbLTyykh/406cPGl9xNIEVr7LwNVfw7NoLUoWHTUSrGf5Wwro5Ea83m2uMsv//BwcpS9PamDlGcz5UzBz5Bkh8qZ5i7tO2iefyNBOOQJ47UFmI36veb/hQ9gO7MN/49NZHp15zXEIGfkjjpYfbkE2uFGmBrnFR7Yf6Zc1lLIw8fBBBtFOkXkOWp0dkOdcq+pgXBbyO2Uj/uuuaFJ+f6jMr6f6Y3y9taJn7YpyF6yZMMoQRLZDcYrFE/zTQUKkLGa2MdBgz26cG27fvj384Ac/GD777LPhSyx7169fx+/jnLW3/7W7zpawyL1iET+7HxHkVsre/lmmPJYYlV4k/BbUZfqEUfLmc28oYH0g0x8edPvll78ZPrz10XDrw4+H7127CY8vsy7s1XCXI1/cwbvJpoBYTahu6ocGDLMzItynkluQmeaIH2yN0FEQMQoHp0wnKTAovKmVZ8coBI7gsvWcIitYdc3gCu9mxKl/Iv0b/sjIclzBAP7IL7GEkT7hPG1nxon01J94Waw/CkYrzbhp5IlbeJZChEcyIQ6MnCkHOkSveRJ/g7IehifNXkDkxTuM7zSpfpHteEYBEx+EnZGMF9xVuPynN+HhI0evfAcv4wE353BB85xHaFnF286D8MSDv/SObA9wBhCky1Eq1I2dtgIs5bQu7CT4aUFzd+25DSdtEPJeSP/iPkdSfMH01h3WNT2j9SPwHeWTOoohQt2M80/cmD48ZL3NcSSfgpYOY/ncsMRl8+tstvA6qgtM1Q6cg+dZeEz+YUGwcwcmeDtY2HdBO3za1gatKCprdtVFJzEnfxQF8Qi9Ie4S+UuHFXkRnpUIWiH8h2xKPVlXdpQqNiodWiH1g+3xL8VnneM9nIo8y7SpU5NOY2pxSrsFzsYGm0cIt3M6w8YiLW52/uvprBj0UGwV+1gsaOfioELjlWVOTV48712w4IplaR/rmus2lrGeBi/w3tp6gbWMRef72A63KR11aIdr2jyxvkWRojP0W9gqYcoBp0zd5CRt/HY60elU47nuUljyZNI5fYkrgW4nI/0cQHK0ExZF8VYpURFbRRF1o5Q7fldYi6lVBO+ZgmdbsoMTtiN9j2cqhY5649vZAAjOf2oceioLlTF7oYv1iLKMouuO1JcMZMVFBXcNmqqc76F8W7YopcBT/qnsOcC9du1GDiP/9LMvhgf3vxmeb7LGknLZBqjcame+60a8j+DzTN+WL1WA5RiFhj1ww89/vjW8//77w0cffRRlL0tNjEcbyXSz8ixwlXuCpMKhLSUkX5Vqc5dH9cGPSE1bv+UlvzMIBkmtynHyrM1K+YmHeUApeN/24T/qy7jQ0JAQuxLyV5orY+Q3osGEUUKjhKAgOmjEX8XogDNtVFwh48ypnJYlBuWXOKtsihEdN4hZj4vUE1Dptw+Gi8iH2ogRCc+7FlzzD/qxulqfJd+tBZRI0fZHHAcUC7TzVaz7Zwg+j8w4ewblkv4p/dqrA9RuljPBh/sMNhfgO0WsV3shNODdSFN4D/rDB+ZTVw8ap2bOInGTpvJPQUc6h3Z42B9l+th2AQNnqQ55WQ7xp7urZGaOq82E8i0fRkot+bBgejnQBjpt3kF/h4tf6sY667oOCHmzYPP5nbrgM+LV742AdHW2SBqkPVMWeTLGAPuN8A5+PC2ma4Mj77Aymc5ZQ8/PO8yucS3io7wh7qy00mH20Tl/t8+3VvSsd4lHrQfzsBrEkIkVGvv72yGgc9kuXF5e5AgJmHoXoW+4OyvtRP7u7/42jeb/+M//5/CLX/wiI9cf//jH7BB7FwXwC4TS5yxgv8C64v3hqy8+j8C//dE57sf9inU27w1/9dO/TIfyya9+zVVQe6y943ohqLvF1Nw9Wp0j+9u3Px6+//EPh4/ef3e4wgLoDRZj3H3ABfTg4tSLlgXHuy+3doenm1QgC40vIVhfsGHAKczVM9xMwPTaNhJykc5Oi6PTOhEyKT0CQDNNnEyC0KDjtqOqjoCG0Y2VMK0eWjJ6FBFhF0ZSsFWDcUQa+o5QfZRQqadCxUbabUiFz/id5oCRop2I623g9ViPxMUGLBwPku66M41hnUc6qJSB+rRizYjidTyta958ko4YgCr0a0w72sZdn+S5aa61TINHCPfUjN8KdacfDuiYe32cT5pb4QYuWnbEsW51IG9pQycaoQSMKHp0BGJcWFumor+4q1yq5OnsQLPTmekYpbpn453xOBUOO97hdounT+6z8/vecLj9AOQ5APnEu2pttZxLRtYr0HABhcf6iHYKrkdMTQ4sxmaxHXEpJ+vuzpy7OpxjevY8vxV21+4Rh6MbsTTTKfL0DDwta278SNm4Q1ecJa/fCyqWFMZ3ndOj0n4Ri0w6RTptFT4VMjcrrbDjq+rbHWCuhXQHpzu9qXPqYVk+om60OLqBKEod7c3DyZ361AJ37vz6cG60pq1vnB0uXWBNIetgVaA2zqHoEW+N446ctlRR0qnQ2CXbfrW9qEzZrp0qPVBRwQK/SHrPTXSN2x5nV2qBcnoy7YJU1tGLLa4DQzqqoEV5syOi7FV/KiSl6Gk1VqbIyy6ZCA/SftATZ/woXGmkK5pAcNJAAtq2wnv8jXxlZ3f2LOEIJ2lxNkp28ZulO+umDK2g0snpA2kJz3vIrIqYdxfnRgzLQq34rTyIZc/lCaTLXbXyPnXs7tsjdziHXigj4OYZgrRW6sYjV8iCFnDMaGnHTRFMu5/jViDbV5alEF9l/L333mNG4+Kw9fEPhp//938cnm16Bt/L8KlTfbo643CsK/DWMiNPNV2lhXBVtL/88nOmsreQj7dzS5F5aGn1MGvP+gwt4R/bb7fn8JQDB5Ur64xGUvSH5hPXX/JfLJywv/CCBwy6pLwgrR2poqinJPEJn5NrlGZIPnekB0j4L57d+KGeLkolcD3HMqdfCZvBu/lK4eKN4gVWUiKzHYAgD2hjupMTzscEp4018laeZDRj5VA31M8RcSEf8SiT51Wnfm2VJT+17pQlESsxswWer+md0su2fTWBTNmzrIPlB88e3s308S4nRoAiWTDg4jYVl4FIe1hK7iCAdaOWR3qhnDjQFgeaEI4/GXjIZyoscqMyiSftNUoKUCI/wJVI4ErZbBiUxW/+hj/wCH1ixdaPOsrsjHlJc35a+83XXJTBpRTybb7AcsZAP3FRUZI/5A2dcfwVzxBGf+m3baHTV/2QVxRRMSvcIh+B29/GV+5IIb1VwIiZn9/+LHvlXfkoP0ynnz/PvTOfffp1B7fmYf4dvrc7rlkFv5bT6ZOlhzIYxf2IZT0RO9BEWJo7lb2WWBysiT+3K6nwlliEOBD7TU6iNuE63Pj6LzPykhHOX2BB/eJ1DtflXL17d7MW5f79e9lscfHy1dyfeukSOxOpGHfJmtbdmnfvfYXw3BgePbzPNNIZhBTX/kD8e/fuZ3PHDufzXSb9PoeEPnvM0RgI4RfPn3Ke1PVhA6Xt/XexuqwdD0852mWbjugsfmcQrNuv9od7rIV5+Iiz016wIYSKY0xmLz2scVTIyoaMTJvdRSHAOf4b+ZgKXgNHmdYR8FywWGZvw1BR0ZoCm1QarURyCXFj4pc2CheZdPqP8G4AQhWebRRZQ1TS8G9kLZ4KXkHyREKqKGGugP+EQToEeKYfgC9NFRypQxLle4TvzrGUgadmen+6rk/jusYmeKXxg4Nairio2YPgLmuP2ikYdKn/gLKEZTHMJfHgVnYXG0zl4+hc+rtOJDveQhgbqUJHJa9w8pDtgg3O4FKCLEUDkGvOPPeLHdJYkxRYS1gOVmigm4+/5Jg8zix7+WA43EHJ42yx4cglAgh/atbDaUkcywDQQmmbrucF2ill7phNFcsbFzgL7zLHcVzKhfYLTNNoBUa8gyE48YZYATcxs74pIHhevkhPER5QMtTaOJUJ6SKDOJ0mPyhkFLC56QEeqjWJ0hjFDzS0qK1iJdhg4OAi/rNa3GgL55l6TAdtHKbu1lBWVfZUlkgyXGfaTqVPQavSZh5a7czzAJ45ZI2Si5Rf7RwPW/BNWc1Q3hg4HaCION055wesQAhehZ1r2OSXKDuUwzVpKnIe32H8dATk77trZu3Rcmgx3/JszjGDVmCCfyl7Zf4tetqRRUmSlMBXsZEfw4vSDue7bU5+y7fcNbY169KF+u6WzNVo43pCebc6JskPr3hpunEAET40D5mzazX1yacdrTVLPPPjk7QgZ5OAlkALPrYPuSidRuLZRsFf3rezIaHlsM60pKsAp1wA8kk1Bb7r6qyzv/rpXw9ff32Xe8PvMRjejLJkXk77QcTqeHjT1bpHUApOyCM6PW8fMo/nzITcZ0rYjtPzTIXvFPtujhcp2WO5DlF8Z/SEviBeNLfeJr/kR/zpOr+qG3CDRsSucrM+tdN1GuG3X8ucztM4Heb7IrzcLtPI0DHKJ/CzhjCFhfaRfbZlC2/dQkv9bJP8EyPrRNiGJ05eVMxp7/KUHXjVcnOYKljiFn7wDuDdTS0fqLieNQ8GdWahdDtBydvjuKZDz32VZ5SP9Evu9F82sctXPI5JBTv8IL+rTJiz1nt3/Lvuj3Dg76MgCieWVgcq488ewQa+yBy7NtHQTFx5D6fCOxkIi1f4UxjSwcK/7sgq+FsmoNJu5HPoxTuUTZgp5GMtXpIwdExc/oyDhWkd9rv10M40U//6ntav+Ilv4ZgyTdJM0zfMjj8N812XZ0AVzqIi6FKIK04i8kc8Qx+IvoRcNa19qQMe+U3K2IblJelVEqhSC6kwru/ZX9O9MWAW44/28taKXl3BUvhYAVMi+t6KXjeiCld7prOBOE6jbiBQ1jkf78Pvvz/89OlPOST5KcLra6YUbg0ffPDhsPIeo2ko52YNmVslzxP/v/rqq+GdG+9B4wVGvnW/6u2PbsVK9umnnyK4HrDb9nlt5OBolRfcmPH40besSbkx3P7w9vDeB++hIF5HWcTyt7WCwnmJaeMbGU1du7wx3Lv4OLdwLK2uM51yMjxHcWT5/HDuwsUUeJNplzU60lyZNvJr7kFNuR19sdB49JcOw7JKHSR3ez0u9FFQRSFTeaHWGcmpYMk4htMN5Cmj+d2/APDPyPRp6DS7EnIllEyd0VbS4ofQcVGz0yJZxEyHWgJh5Dbgt2AVXzu2WCjI4xhBc5T1JlXHYXzwPWLo0rjRraRzUwGys3f6bp9OpBtmr82sb/OsDq3K4nfhYRnLWV5wlS7QI+nAyXKpCyh8xdfgyCgTqbQK156WmNJngfVGKkQe9roiDZwqZR2Ua5QePeCcsv2n7MJkqvbAq8y05BEf4ew0kh3viYJKWOIQ0S4OgjcPrNQbFxk8vJObWJY59PgYM4JKhDTICBt8YsFDAqhg5uy9KCrUxKsXsea4YN71b04HuO5Ga5N572MdszweFZIrAnNXsJbxsgxdYGpVwWOnfP78eRRH1nFdvsCh4edjQXeKMBYFaKRiJ71CPxQuFZlvHnyNgkuJwVWrzkEsbmXN6elTia0S6LVdNUXKOWtY7NwdDJEsHZSR1Aq9kDz44wXdqSid+fKTJipSVEOcckC+UWjKD8ZRJfYO5hxozO5Pl2DUwc8mUWTBm9DL/LQ8aGWIckle8mK74rMaiOhnvsI0DzCNImW+WSNqGxEF/EvQJ8Ws7tOhpRMDcfMAxliEFFj5Zn5FBzG0LYmL5TY65SJdn1Pm2qua8jIKeGHZYAFBlUkawdRwAMtRymIrRMu4CF9KM3llmXtsz2F9XYMnljmv8htmJ54+eZZ6jOBJecSonPhacvHQ+tFWF2mtoqcSv/liK0tnnM69jkw9ZjqzaEKxKQOcEGBFW0Kkw6lfIqRtOCVd9dHl91nhRS95UNf+b4JruP4dNo3vgcryTftVfUrScUDhjEKHW2O0P50DOPN0bXdqMgLEtxE/4lRtAmdU9IhtSr4qPwDwWaHilulV/BwsiYeyXz4NVORY8SnXQGKt9dBopBR1Sdtl2k+jh9PCttWjWPWVOeiAXHvo0hCGccB3cKZsKQzctXuCIldnApay57SuMsq48o+nQyiL4sAlJ0IQIvRIMXgE1HHWh23Pp5+WwV+nxVOlHr4pCmFNI5ozls44SGONGGkb0gLogTPSVd5JtIA2D2WpbaL4u/LSv/vGoAC+wvbdsILgu/UQf734Nex4jn8CkwBj18Y2ajSNnJxTCGDwbXsIH4sr5at8CrD4GDczOQzStNEo0hQBpjMPaUaLTXtOngW88vgdxEaPpusU4T/h+1sremHwsWCNZ1VEfSmU/M7aDAqnsDVNphPpvF7SUJzCtEO7dOki16P9xfDJJ58Mn376eRQ7O7ANrGy7TNlqxXnJOr0LKGTuWPMe1WebddCyTHiAdeHq1WvDe+/fzLSwUxBffnmHdNt0ekyDXEAbhyU2sep9y24+jBpMx9bxLScoAsdMo53QoXlV2TvXLjINuTDcuHKedUDnhyebW8Onn32ZzRznz4IzAsNpqoxiYIR0zCp2doixTiiIPWOp6LBgIyYsV1nhF/4naMmGDMP404WeppGRZJ6xczFcQRHFhmDZvFJUIygaqxw0belIVNZQAtyNhsgAth0k0wjCcV0Ijcy1kzJzmNt6TF3B7KT1d8JOZwLRP8lRP96bmW28+3bCgU8+NIIjbnQQMxuG66mCKYVVVIm0RxkISiGkQFSwCdNmH2JRj1nfOD5VA8x/EfrZpKLI0uAsJ7mkgSkLtHTF2ZErxPNZDZEbbYnPdK0CFSF6gIV3Bx7Y3fp22N38GqSx4rHpYDjR+kjHxiJ5bXERRNSlwnqVxdQ5qgFlF9QIkx6stzl/dThz8VKULHeEH4hX6sqya2VjRx/l9B9Bob9tYgneF+e97d2sgTvHWrPz58+xJoi7nfmte9QIU+G33nuX/BjxA+MsljanUlX4dCpfWx7vQX6pf3BO/R4zuOE4Im8W9vgPCsZ/FRx+9D5OCUZRkx+Jo1Opy/QplrocgRSYTgdbntFKh59Ut77QH52s5kgY1/5ZOqsXqljNVLDvxtvP1DQ8aSdA+T3rLsqe8K0/BzbgZWr5RqXdstTUFLjirXIU/ImhNc1W7JVfYg6bEV4DC/HsdiAOZtiKBB8JM88oW+Ka9kCnCHx/yhedeLfL1LS8x/mINViV/0uB9zvKV1gbYaK1zrT8gjO0ppjhUv6gGM/xS52Rv9b1UlI9fLjyFoaKns7y9NM0NVUFZ8FD8qWDRhX8H378fQaq54Y7X3zJABelHTlJ4uCS+oAeptfKJa3zznemYpMDG8xf7TKNWGsclZ0urZmt2SOOaZwd8Nk0su514tm/0SNxLFu7aVnaT0XJxpoyT2BZ+lke0MP3/pm2YJl38a9lrfylufXptGEptPGH2wpTU+PIQEUHsL5mzBZUEihvysHCIY5fQTNv+ALXNNS/bTt4puOmfmkvSUf91VQicoB6ysBTGYW/y2VUrs3lhAZzRDWCKt84ojh42cXSuYryt8sav0Osza6zdHZggbuQxY15XH7SiIEMfNR+Kn3GM/yQ3xKbg5z6Da8wSIgsiWWQdBRKbOtf5R9a+Gd0RefxQ3/xC03Kz3BxLwu09AAXvgsjINt+iWD7gmPz3jqB/Yf/QtvAmfPVmGPR30oaXeqD79fw6kCep/3nPAMuIxzjTOOJb/UX+MPf3V46vvhTARRSZVaZUmU60MyvN/ka54iCqOAXfHEhIKjLLUT8Mzo44u1dE+Q1SApNfnbMZfCmQrVmyJz6SXQ6O6eZTpgOsHNZZwR5+/sfMoV7O9OvnhvlgZ4b6xdZ37OL8NKSwCGkTIt5Sfj2+Trs1YMMPaPKhc0KaxeL3/zeDdaxrGPR2+Kk+ed1p66qOM6KfProIR3bTo50KEZkPQWXgm9hNVzl1HoFHE11uH3rneHi5Ss0uOPh2uWzKJYv2R1Y98c+37qExe8upnisP0xhrrJjbY/zsTafbwFbnBC2QFFmZ3SFQpWFtJRdE7d022Mkb/5hJnFzRKOwkHw0gqatzFOjBhhIgUGzkfF0Mmenz6n+TB+fYSpbZVply/FfmE/hY2MD7orrxKiPQ2hAJvkJ1cbnd6ZtwXHJNUeGm+cknlwstAMUpGo0QHY9CIvqxUtSuybHQ65r6pDRJClYlZmngsd1DJbSDjP8AHyLXzhAF/KoXaWAVJAqmHhCWWAiSszHVjdxLswWZvCVfh6HgjKZaVumaY52uDqP6fitR98M25tM1WLVGwYstQhSp2orrvmYZ9VDKcJaNLHAaYEA9w3WtZ1dvzyc5x7RJax4q6zVMJH35SrIXNO2yhVXZ+Bv6SfP1Y5VlT8VxzqKZHXxSq2TY7H9BTrqS+wmV9HbGBU9FS2PXTmhHlXiVlexkKLC1TToHoMR6hDldZ9BjudN6q/S5hSp9M+aOBQM8ZKD7L7mjkLipGGULzmMeFqizBeUGbhoTUMxZErPzR/Wk+WTn+WHXIlF+hJu1BnCj2ihn37eoBDBDrDwEX41VWmaUpiyHkwBSf7WpvGIJfgos8IR6/jTc2TgIs74wz0j/9kOmhf0pYXACypSyZfv5Dviymel0yRhbuI1Pql1g5NO2gQvnvJxFLAI/Jr6jqURmePAT3pZzzNHPDcDuKxAXdanuPg7gtEdFESBjfwChnngJwyf4mSnP/0OPpbbTkYY1PeqR8eg/N+4egWRyp3jTPc/+IZjWLhb2vDQhbiZ9qdsp5WvWGLA1fy09G+ylOVrZIeK/4cffRA5ojxUBMSKJK1oB+KYtkqBQz/826Vo+Sha9qtp9DG+vaudPC8JLrJXPehh3FqiUDTze+bG9wxeJK79DcFAFDi0dKAFzcfqCH4K4tEJy1ylrfXrWi7T1aY2+Q08iF48JWyBgwf0VQLFET+3LvEh51Ye0kZQPqsOxWmJ9q5sqs2JhpMvcTQKHGsSIzM37PCXOqddIUsPWCp0lj7FDS97vKc9M+jL4Jxv/oMPA1Daolip9Nkuo+hlepcw5ID+Hhnk2aQOWOQhT5qI9Q8LYeoE/rWC+zgWuV6XjWY82xgAymnbBkvNyAtpY5u3GMioUvJGpY9lH6GF9KCyY/0zrQIWv+QdSFaUEMu9Vtejn3BAkl9yjm/5gSde+r4u34xSbanhqa+ZptjC+vEnjtap7c88rHuflt8wIAdXgyqXWPjoLzxyxjqblTHFIn0lD4z5n0pb3yNjzgP/pG9vrehJwCb2aUyr8OUbQo9EKoLC/jCeV4Q5ilQ+Kkw8lfyDDz7IsStPHj+Jdc/z8lSevCbNUaeN08NPr165ztKzOpTXjs4Oxds1PFPvHaZgPYPqR5wTde/evZy1p/Uja4wu1nqhrR0OTB1uZtpLBcmwV1yptrTMeX7AV2F8eL8Wl19GiP74R7fCUCt06u7m5M/wf/8//wWBysYNOOgs11h5h+RXdw8ZVX8zvHoR47bsAxFg/7HhqxSWRVOtpugnn0kj/V0AO6erAoFWZHoEgeuJDMuaNp6l19Bhkr/+qBMsgmf0hFLiaH3vFbhBo9SFaOBsFF03iygF5mcDsXocoQsHkcQHedLJZ5SawFFIA0M2lZfddGH8/DS/lPZGJogeYKmgJEMQrXseUVjAUUWTHJNvFL2xcxNO4WZjQVjMOFQaTF19Z30X3prkLZcWQJ+A4U/t7nR6RmvtEffV7m0+GraffJPnwLVmvbNWJY/SpPzpNKgQOzHXXCoX99FeFAUAzXTZdXjr8pUbwzrn5HmkisL1MDhgBWFTxvrGZRRBzoVzkwN0dHrV9WpnWEfnDtdsTMJPoWudu3bOq/lWVxAerBHcf0UngLDZ5yy3Q465UHFTCe4Fw57JpnVHi5P45jgT8NVRa8SDdigxOyxdMCyHFcNH1ps01vm00xeOtLZdCUuausbUtXqZskVZ0DJnXPnEeFH2hIPwLotf1ZdwU3/wYBQX4Gq16/ij/DTaiAe8CRh5XMVN53c7YenCXyPe6aigm1dphRPVQEZXbWX+Lc5dXtOBZfDTT9gOhEpZKP95fhB7BlPeoi2TneGmzRSq3AatHNjopIs/0dSCY+ehXFJBbmuh4ZYo67WAJT11ZQEvXOWH8qNupPkI16eucXftqbtaXYO8xxpKBz/XrrBOlPWZ/h48WI4stNxtXReGdSFvR/Edlc/sbgdxeUHl8DGD7K1tBr3I497x69pOO72p5VR8ZvJplFP6hVj89Z5yw0tRkHaWQXkkfcSh2rHhVQ/SQ3pKGcuE3Tj0VR7hTzqfylLDVTh1qbewCjADAr6E0m0BTSTjKRxw0kE6qrybwO/wq8oOeOGZQQ1cTD6VlwM/8RJuWbHJizBLYP2aLjxmuQKDAMtLOi2hSlkVKfO1HEpr1TLDja/MdebLtqc10EHueWYS3Jixj1anQQMDH8uIWFeJvNpnI8GB6y6QPcwfAUarM/JfxU57O7Bse14MsMjsg3LA0ymOMCEeE0fu89xZp4KLp8FJ3iBFtHoe8knoNOLte/xCayLA446VOg6FoiwmRKLa2OHfpoXPjqfMN9iBo//+kOt0Hafh9febnh1HUnee+vWvy4VPJbdug0bxZRWi6s46lYrC6TZY9Qxf23cC12//Wcudd+jwJuT+DH6zbvRt8pYAXbjTcJrx9Tdeux4hJC3kyU4vnp4j5K6yn/3sZ8Mv/vuvEDhPGRVjwmYHrMIQeoaoWoTOsQ5J3QKzHVNUCH46wx0W2CvItte3o8B5VIsLi9dZR3Xnzh2uRNscNrmFw9HqyksOxmR6dYPDl8/F8uIidSsT/gTWK4T04eGz4TGKgTts3/2AA2+ZXkP34Wy+iyiT7wx//ZOPhgffPiIe9/e+c5Np3/Xhyzv3h1+x+1f/fSx7HvfhbuFtpnp3d7COsCVbi9kxU71OSYZGCi7okynSUVmSppZTBS9KoiJFQTe6WMrA13g2mqSn7Ee7mO23VRg5pwnF14ZrHjk7SqakGqSRO4APsTioLWYt2lg9qSfCZGJ3T9robQ4KqZoyxUuY/FxwXkJTMSaTVzkyMhJeGrMCDVGEcHEt2hrC247FdIo785PmBYc0cZZLv7mg6JB+ms6zD3XCt1xRLtPxg11wo/lhWT3Yfc5hsRyf8hBL3rOH3HbhbvCy4tk8LU06Ft4i+yOIFUyujapGfIbNOpeuXR2ufw8lD8VfRW5l9RxFxHJKfJ8n1OnyCkeWoCR51twqCtcCSsIqcNYoy5pPKusMyqc4bztVxrl6C/t0Brvcz0wZYn2zA6ODtPOrw16FIz+IYNU5NUk98g5+KjR25j5VrvOkc1FpcMexFZHRK3zguseEW1cArBFtldUhtwpA1vVACDv6dIYos6axjsI7PMVnl5206fglN/UR3qEMY46JG/+xM5OPdFXXlFmzhDzNg+RxxpGnFcYqyO2pf0bYRsal/ilbdcB4EL93GKICB0bjVHFJRxyzsb04HV4KUMEzLD/CbS868SR2vFuWCYuC4QutKWnyJC3kgb9tV8JGtMJ/bkohBIAjnwPNPkXFW75SDni4epfdIZb0MC9PAvDAXZ3f5jsbR1HuwlGcwRVYWnq8OcTr1G5cv5rBhGX0dosXnBTQOwxDe/EIz+cFnpHWrv3EkkRBVPC3X+4PX37+WWSftxBduMjRQSpelEcaagmUcp4pKQ186hH66A++6dCNTICkrOlMWhooS+4uF2+Ja537rsug03frWAKlTqxj2wWwTUP89D08K1/DKm3zceMjzJQZWKQivnWrQi8M8oFW/kPw8do4EBz8Da/y2Z6UNYFGucU5OOgzg2G4znDSQlP5Q1ya96PcYpklSbKoc1yVu9QDcoSVG7AZ9UpZmUmP0kY3wywQcp2Zoz2md3e9z530UdpZjuOgvo6fku8cTNdMg+VzPsUTArS6RW6yXlzFUYYNTgxEF3KSABnbJoO97XzkXSqwy+lyCQQriJNf8Lc+KBuKZVKi/flt/VYa1UpoHks0IcgWy21/0uHJb1aPRasgIR7mF0eiqbNKJmnILaFgMosV/PNtmIMu5KZ1iYsFN3VW+VVZeaf8xmj89a/zR+0r9RcOMjxKNWr1yANNH3OaoWxGp5xlJ5f8PxX0J/n8oyh6pzGzsLMC572IWvGqAVV4WbDcGefl3xnVomC9e/Od4e/+9n+yfQ+ff34nTKi1bwkzs1MWOygfzvh756Nt9eJ5phCZInr4hAOQEVbu0NU59Ztp3Js3swHDaeJPPvk1mz0eD7vPXXDPNB4N5bwHKqO4KcjOYcmzk3b6y+MgbrKT9969O8PzZ1iCWLAvvF2Obrly/dqwh7XwIvG3OCDJkdSPbt8cbt/+/vCT//DxcOvmleHLL+5yfIQ3ehxkkfMT8HNd4Uvuj8zOPczwuVRc8zbMZyOl6cTZTOAktuBjfm8m4puPMYYPviXtpCE2A28nnrSW4YWLwFHSlLRheZlrcNZy7AUETmMWcsDxbcO3Q/enq+liII0NJCNT/D2SJuqawiJ5AWGConD8uctzhZsn1hRgy55XRjr8deLcykP76W+50xEL8rVyW2QxNf96RljGr8pbimaNeA8OtoYjbrt4xSHIm4/uMtTcAlN2tGJdy3o1qYPCKKR0TLwJX+GShk6BVuDRa9eusGHoI853ZHc3VrksGWAwYOeQKWPzlyG9lQX+OQDnPehn/+cAYhceX0N678Zyp0LAFC/8BEHIEVqjBK/wc5SdukXJk59TbRmJu14HAQO/OH2pAuFNLqGNvEI+Lur2vK2ymLDZiaUI0jR1iSDXmmq5POZDxU14pexIzaoPhbf5K4wzBRzroYMeewViAa/orzLCmqGxbqoO6SxGC4FxLJ80lLFNn/dAqTpsS1etbaKerQTgGc/2sMYRFMK3s+y0fhvN/CxD84L+iUu6dOV8G8fwaZx+LzRGWlP29hcGSIzlqo6o4foseOI/QsCvcUv3pnXKjqzpaadBXOnmL7DEcExn3wqGI13lJfKHZNavg4tS4Csv/5oudRfrm0temH3gNo1tBnXeTWtb99icGzeuEfdoePLkCdYfp/S9pxnQ1sfoVNZC25G+0kvXksibh4xvHp5ZeIb7gi1Mlp6MfEDpKZwUt/TFQ0WjuUI3p5l1YbdT9SldOky+rE0SBUVFLO0YqCGIiJkXzvbb9PPbd52wxMCvPCf+hrdr/MbgpIOjCB4lsIidcsqYymUeMKNl50PQvH0oboXXvGQ6a7ropzXrAKVLphf/5Ejby7IJpm4dMOy79IEXlfAVZIfK2gaHLu9Rv+6Kf0W8Q7RODcvuoM7VeyiALvdwkczSCe0P5XyRmYkTBmse07LgfdykycCUJSsLWPvqTluNA9JXhpSHxcgSExe8vMlKJ66teKloT4lSYYRrSaR86oLhD6EAzujSrPoKYRLPjp5YocFId+tn+m2+f8gZV2e6qetvxXIPyNQwjZ4wFVXTBV15kzBApOREGsEmbrdf4yi3bEYq/DZXuS2qLAmUzHp1WkMDs1BMWFV25WP4n9pRT1N0/v3ZycjN2IKqE+dZ8I5gCZNTkU6J+lPQG8ccfUooD0/ewapx7OgVwaGfO3G3VZCw7v3DP/y34bNPv0JZWmAX7kdUyBmOYPk6Fr6rjFqPjl08vJ97cj1aRcvbQ3bW7rAY2UOYteaZ7/vvf5ADR//5l58M//iPP8/NGO4w8zqqsxyNcZG7cS9cuMCVShyxMh5NoZAsi4JCieksqhAUc7CpVzPZ2bsQeo0db3ZoHmh68+a7TOld46iD7ewctizbt3eAAABAAElEQVR24pZ/a2sbQbwzPKfzfYqy+RghusaOXhuN9HKDiVPPvusUuv4U3lr21lnHpUL4FIukuyPFUxxdoK9C4Mi9LyH3W4bU0tjTfcLVkikbequBOKuEEhE5bcOHXW0o/Exv3tJOa6u/bjTWk5tk9PP6Mpm4pt3rKqEWfqZv3jC+CviVK1dCJy0fxssiffIVtnkK06ednOHyiTRR6RZWT6kbdojC74YFN+FoITE/IDGjVVYUFZ/dva3h//2v/2X4p3/8h2H7xWOEJnzH2XiuO1vKnIOCuPLhZeaKT6UUU7XcSHCTwcLNm+8xGLgYHKM4y7/wo6Nb0AEmsJEYKQdrE7OuCZT8XlPJAiH5p67x0uKHsku4eGftDvGymNk2MpbftGUFsc0UTURSWvhz3Y6KgPXkr2lWBWE9GzSyLCpflY9KoHeVugGKnccZmc6VqKpjCqPgmuQnvGqz3YbHjsmC/46D8KOL1SJtnfoCv1jwCGv8hakrHOfpLIcCU3OBODXvdfzmrUxLE1dZ468sQsVPAcyfoqGyBYhkUXwCaL61eDk617p22pmXdTh1jWfjZJvq9zc9LbOu8Z7BsoNL51nl77SzuITLA9JLxU96GafDu571F3af73eEHBWicQ2zrC+x5j14wB2333BeJPeJ1/qiokuO8oEo5hXY+TuvH2cBbB+2X5fCONty4fKldG7KtKKP/KNSg4VDizY8K37SxqvnlEPygTLUeE2LlBnZaNz0FeRkfYh3O9tFl1W/yCeeKbO8A516YNFpfDZ/SH/zsd51wkq+I30Oxvppv4o1x9HBcdNzGtZlsIyNS/t1PGG2E8d2U3+VqYavf6/dBkn+j3RA9ie9cVGgbLM5pxSjRwZsKGCWS4uuxTmk38wZfGghOztumKP/YbHiAc9aq+fSI65uy3Qu/K3ih2XKGaAT5JlrkGuNNjNc9HFygPTrMoinSk2tYS6LdPNaBmzTctN+lSO2Y+mTsz4ph/VjWVXsu7aFqyobWDyTDxn79KdTsdJJM+Fp4e4w/U+/T7+rfkquUUijm9vIG9XOouiJH/9MO5vq590TETxHNNcMysusjVa/8OrMs2sozEfPOJ/3YPjf/9efDf/b//IfhsvcropOTg4aEaQiznadMlT+lve7cKWiv0VOEqOJKSGnP8FOv/t9np2Llaky+MDKtZMnAcQtK9YKGyA+/vj7mcJ4+IizzYgjYd+5cZMT4TkKAuufDP6CK80ecO6dFjunGL6HxeXru3cGDwL10GWVhBcvNrHIXM3ByioL7uz9zW+/wDq4gAL2AlgsYKfyDlAa7ZTPrq9F6VthjYSbFhx5HBOW3Yl0kC837TSOo7y0UBGuOzo9D0y/8+srLKb1EnQXMpfS5O5hBe+TJxcidD0cNWzgVDE7XL1sXeUpowS42DtfXUuoAnCOozP0f/L83LCLIusdsCccHbImsyFcX+2eHV5trc3ujLVRGC/WBei0ryLCiFzR5TVWi1z/tnHjUuovTA3tdd1oLYPKrwqhdLccUVr4jsKF8DfMYzZMY7hwWpia3vU9+lm3pvHbNB3PqabUOXnrZxpddQrVWaic7nOeV8MxTgm2GjyodNvBuB5R+tqoPF7BdWz/13/+h+HZt18MB1j0jrXkAT7nbWXjBbTgMF84OPkK36kRYev89hxGFdSrV6+CO8dY0PG4Lsj6zGJ/FC3XBzpCDZ3hCWcbV7lD1SNRLMeyZ7QxSlZ42LzpfvNU6fTmBKd2tWovsXFEhR4MwJF8CF9TUuBsOxlFgpPhOZSUoBPW6QjM6/jEiX6p4o7PJB7TFwxhVxnLglLwjVftk4Q4pyWqHosnuu2CBQKu6GNIzorjmaUFAJ7Fq2TgKbTKz6c0NU67ju+37x2eOHw3L+nfcfIyxq/RecUzropew5imEZ7hCln9O07vIk1+wOw0r+UxfnQcn/K7brpr1d6HoHRC9dc8K7H+7QpO0TnWuzFgCj+do/4oPqZtRcg4/TM4FpPRLzMiY4biZzwVEZU0ZWLj/IyBooqtnZqWm+Aqv42YNw1MbxpBCsfjrVxzamduO/YQ9gMGEsYP7dOZl2JbSgFKyahogekM79RpOlJljUriPEzdxu+5sxwVHr8JH4ifbVf8myY+dcljUs8w6mtxmj6dl2Xocpt+BmeEp1+7DvNZXFkhpu+whtXPkbSFw/ghLwogT0tC4a33WDL95p9t1KUcoacR6Yds5PYDiHBkLoaMtFW/UQChs/2JS5pyXAtpV1DwlvE4UElULjKTdOKaW5fScOC7a/uWuLP3ZMHr7lD5OQnCI6Wygxd55mxrKXAANX9oqdBRHVqk//JWiOITwpDnXWZpgboU4tTyiqqnsuJTVmSjg12GZ5nVSUQxkOYjLY0rPH/m0bCNW+9TXmkIf+jZ8cdnOoT2g29AV4z18elPfOQqb1vybMvqnA2oNuba4iiEPHOWnvGI5q9cwyfe6Nc+UOw7cX8URa8xlSA2nOmviKSiVA1wHteiMtpAwbLCVBJWVu0AS2g4InER/V/8xQ+Z2Toz/Muvvxg2X2KJQYu+fOViFm676UJztk74jjBVRN773rv4HOecvc8+/23CtbYZ5po9FQ41c6+w+ur+k+Gbbx8Pm5zQv0T+3nuJTGN7uzsb94ZLJ5fkXdKSD5Ukw+daHQSYnfjS0ksxjiCUEfe4NmkHy5rC1fV44mV+/krhc8qQg2zPeXH5eZiX0ZOVD0PnOiyPt6BxumbOE/m1VO2gAHrX6FWmi88wlfWC8/xebnLoJg3c3ZtnNzwglwN6ob2WPg+ydaSOeAycTM+hSB6g+GRtEIIzMj50R5Ed3VToSSsVKg9PTd2MSpxR9Vdxc7RnPNf0WE7Lr+tOyXgeBaK/vyVucTja5yYKphaMnx9Kn/n63s73WGfwV8Hrd/132KQwDbcjsW6l4w7nwMUCQsk3NzeHR99+Pfzyl/+NjTF3h51dz8fDQiJ/IujSyVGXcmGsBODXa23kR8unQnrr1q0ouxc5QsXv5m0VHE/e31MpJ61p+qkVQp7xxgVbu087NC1z4TvCDFcJcoG7vAqI/Mr6Kh0VIsV35pn1XOAvE6ociL8WwgUPVWVAENg8j1EqpYnKvHSz45BeWYNEPp5J6HfTfNEhcdyYxxhmWn/ioysYY50JL5QTmxJ2tWZl2varPp1Kbpc8yV9adf79FL7OsHb6iUPzj/4dz3RxdkQjrvq1oicc45rWZ8IIt60Z1uGx2Ix5F8D6a5pO1/5+T50wWtGbxu/3jtvp2r+/De+bRqZxp/FsQ/3dZTDuDIbWkvHb8Jl/fOuPbdQ2Ir7Sw/assuftRMoBXdHFwcK8voXnJjXdIQMKl51Ia6+zc52qskHlUt5TIfHdNM3Pla4saL53OQrHUgjFbYp3nZlZnfucd+d0N63837CyTnBUBNsvccY6VobGgZb+7cxTWhS+c57o8I7bz/b3qd/UX7q2f14mf+CQCqPFdLrZc8KLNCSctAQXy8iXP9dOep9vHPmYNtOlhKaPULYQmKs7aZNu5rBJL6PAWxPGOUQZW+O3h6zwbt19RrP7GC2OOE7qgI1e3sax6A0/gxcX8GOtH7Zsu6TUe45vcUDAL8ooiqFOrLSoexduNiWA/MKo2NtPJg6KVPgOPPgPPikVuJVcWoZvDJ/R8xQtW9HrdmyuTe9kMK/SfP6+PzP4RJjm1/1ggYGWvATDQn8Gzn4jbQT5pdVZsWiZuy7lo1x/GP6vZGNRZjD+nC/Vit8Cgya6BW6Ba0djwf01IaaE7uz0c6So4FGg+ZPwdi5heBjj+tXLVMwyU3BHdNqfYAl7zBTmBTRo15xwCTlrDrwO6MYN7rndfJaDP997/93h9u3bdNbLwye/+lWy+5ZF+Pe+/jJ+GyhG7733Lp3+MHz0o78cfvnPv46Fz5Pl7ZAVim5Df85iZBufC9JVWIRneVUCjhFQaE22xOIMYqqUPOLYlh0scBQt06haxFT6hHl2vGaqGW0N65pHvFheRzZrXMe0wMHRcFIUuCX8vCLN0+l9vnPze6xHPBfF78Vzbu3A/8plzvsDvooeyKHoME3ukRgu9kYAunbR2wu8Z3QPxVX/mP4Zias8rHMESDmFntNyNiQYGQuZeG1ynMxCLJqux3IK3ilCb2Og4fPfuhaerjulns7oTsWnZZYfooTQWej0cwq33hUICni/FVE2IqcYrWP5wQ6v0jd/mc6Y8pGwVXpVxrSK/ua3vx5+/etfs/mG+tj2oGtj2rnYpJOKZ1nlWojIv5Zf66UWPDsyp2xL6atjUsTZX5UJOqHIOP3g0RXiWWEqbQpdRtMMRFZYk6dCVzw+1jXnN7qr1XRai1N2+F2+jwJn+fNP5VTrpHQfrSWgf6K1EFxLgaMouMKJ0klnBLBPf9UGi/7Ga3qpnIFZcNZfl7Tk020ZqGN66VZp84SGgSstY8mpOogikDwrrvQ03sylrEUnaTXHr+I0fTt+f/s87apcryt6QpnGlSa6iivNrK/iR/3Mf+o6Xj87/RRGv5uPmy46bsObfpve707T5e1vkE1Y/+m0HU9FqOF2nTS8pNHCgpv6dfn1y0AMGSs8353xkJ+N8/Dh43Tknd74TZv2m9LHZSPeJa7LbALxz7JspWlkeuO/loaiN26nn8Ixbvv73e/1LOWRWAbFUXMRuWBAXEJCvjmMTt/xpZnutL/lD64AmdLL947r01/79bPhTcOSCX8alt++v06L4oNZXD5VLMA+XsJTsWl66omXWlzBqlgWPZYyq34xfZDpmKL2R9yYS1T4UKYcAHtsizMHbgxDFLFWGDWOWYR9aL/DxsBjFL3DRRS+Za5jXEL5Z/p2ifV8yuJc86dMdl0lMtjdurW8R2UPeQm+ubWIQ1RPUHwi95AZWr6sNaRgBjNu1PFGKMuWA6UJR2NI2aUBmaV0/gndxy9pOKWpYYnT4ePz9z06/unwKUzDzF3IHV/Zq6tZm+a/8jOtsl4XXJFxqWcHQRN+npcoUf+sf95a0WvsLWA6fZQAFQFHdxKh/bOWho66nZeOOwXk8QR2eM7dR9uHOip+Z7iaTILKwDduXOUKpr1Y6O7d5yBlLFoeceLusjUUIBUp1yo95xBcr/F5/4ObWGLej6KiAvTNN19nfco2Hb63anz44Ycw8xHrrTaGH/zl3wxXmNK1w/6nf/qn4TEK4f7BJe77vEgcDmiGQisw8fohh+EesIaKjlueVODIsIcoVV415V2ZHnegorXNVLA0cM3dMSMmBeyLTda5oTBaNpURpz6cclxfR6ljU8A6fl6u7lSma/88HNfn9StXmV5mehZF4cq1a8N50r0C7ovna3m6q5Z9dVgStzPlu895gy+ZwvTpFLCHOpu+vlFcUe7098BcFbKDPaySFsgOmWaXWz4ol9OAKhxuEHAkZtWpcHgFnXWX4Q3hClKSRomxbDrhtoDNFI8KPHnoZ5g80Yr9DopnGj/lLkWprFOZvgDuMfFjaWVawQ0TdVCuU5zUAX+8V3ILK6r4njt7Afy34YEvhy8+/5fhG55O4SpuQLjqTtHiuifKqCJJwijEja+8dPX6FY74uRXr71mOSqnGL00QVijfERI2buFCnxqYiDdI4SSnyp+HA6/Bowo4lb3ataWiV4qfyp/nvClUlF9e0n7CuXik9gOUe/CkkjenqbhLw2oflq1c8OLVNuUmE+8a9hn8JwpBCadqn/aD3U6F6U9a+KvveXjn47PT1Bqu+g5cwyCAZZIQbSXttNLGMB71g04qEPqKv+H+Zg4axIKZ3sBohXfH1dLUePucJu5yNiy/zbT98yxNoaPMYHUcR+/tkn78yC5T8XQaTLi+nnrGc/zT8Nqv445jpPa2ePmFJCCbKXE7RTtO68qnppaJE1bXvTxY76RJNJYnIIsd1CmHXDN38SJTe7Qb370uUrndornxavBaPN2Znd3ZhVTWHy8tPYpsuXXrI2Rfrc1FWqR9W/XBO3hVmxBe12s/zauqbB7HtDNHGyh8iiEsV5WpYtRUZyVoGhhnToNSoqZlajr107ZWMEuh6Pd5vvKbuHfePssvzBTZ0vhUmF8NPzw5+e6wDodSMytS7QAd85FPQ0jwq+Lnu2mnfLAPcvrT9uPxWothJmlmTZiOQZzHRimjSK3cWUXeeRDzAcqeu3kXOH+WuSTaKT9mseyvFrjScYGNj4sofFr2smmDgf8JZ/Yp4urcxeIzlbWs1Qt9rPgQy2KmX4n8EVOXARKm0SbXp6n0Ie88t1E6dp11PXadVT8wV/aK9vM6V/a+jbPvUwQkX9EfwcmRvmqZBOuIY2mvFU+918Di2uLR3BKk0ktd+JMM/yO5P4qiZ8HsGBQYduQ+W9Gr9wrrypMA3ZHYFK0sO36NO7KojcCKX13FogO8S+urwwfv3+TwzvcimJ48e45wucQU7vnh4qVrmUr14nSnR1WwxMeNCodHa5yj9wM67CvAHIYvvvxs+K8szHcq75pK04XLKEwPOYrg0vAf/+6vYeDD4bPPPksZXnH+mIvVD3bP0VkznYuVZx0loJU1cV7g527KdPSwAyRQMwkTnEV5W2PHHKXJiEpzuOv/TjChDwt7KGweg7DGAufrKLVMvwJfBVBhrAJQ765xkXYewcFo+hkbOl7U5gzX+Wntcvp6j6dXjfncRfHbYvPGHspg7Vpkdyj14XVkObAVBrRzjsUPhDfYDFLnNo1sGyaddxzW31woFev6nTrCZB9Y0BZVBo2YtXKUlxOeaBhYlPDf51gctMX4pzHQsG08HimR9WhRKg2XeCSwU6Lt57gX4glnYM2IZnEFnyNYb7lQyJUx8BhaYm2ls/EoFq/O+81v/3l4+OAugwcsmig9mTLIaJOGCxx5K10ArVH6tpN/nNr3+icXnbs2z6v2mocts/UTyyU4eniygsKGL0gVMNdtqJioFDplW1O1fBPuaNcy1pSU1sNSfLtdHCP4itY2y8Kr21YJD6VHCRHTVpidzutSxba1Pyry4q6zXemMO40vD7W/6fx1uLh0vj51hR9YjHxSSlqCZuEdJ/HJdxZ3xNPw1+JMvlvgm1Y8xKfdFPeGIeyG3/F8tr9PYRjf9D21m/cxbad7k1/zf+N7GofGr8Mb1r/2bHyEpzudvsO7PiyHrvPvdPEc/Yuv26fiWr/yq4MwYfhtWjet+fNcUjc7uYnLsjZc8w8OtDmdsMXA+lb5U/64kev8ucssbTh5bWrYfBpPwMxgCmcGFxx8t3yn69x4pq9wlBgHTfCRa6Jb7zas4zXOPk/ToOMlMn/8nvqpsL/JNcw3hZ32a3iN8+nw6XfH7adSzTatM33zZzz4U6WsF61iKkuVhlSWl6+a6oWO0kfFRK0dsK79VY747ezCMYPpJYQV+h63cSD7iIaUop+swbk7dg+8geMYhe/Q3boqdlzxyazZwO5d5SvAyAMZmkF3OuzkZRmyfo3jwixRBgbUmbNuXp2pwcbz+zTIpK/PnmDLg0JK/KmTDvznVxbpaZjv+s+fMwrF7/Sfjtv07vD+lo1qDKnKKi2JMYJM2jEv49fMkgN6o4CjvER5i8bUC7wsPxf/j2RJhiQA9gwwb/p8l+6tFT2J4c8C+lNY+PNdt8f6sg4rolcR289pBNfm+UtHCUHsHD16QgvIvldTQf2LlzaGj3/wUSxzh5+6iBML11V2vDL1+OJwCyXPBcc3WKfFdWdaXYDjGVbbKEkqiOcvYPk7uzzcvfMl5+n9linJh1yV9tHw7eNHw/V3vocF78Lwn/7j3wy33n8nVsFvvr4/PHr8EiG4SfnYQQlOJ5yLRi2irNnUaCAICW8xEBfzcySlAclF9rlUHovchfMb4SSPE1kinhYCd7xeQcheuXJp2MCqp0VTOpQ5GEZBIdxjNzHHJQ2PHj6Jeb065Oq0tBSqUEtPmWqLMu+wo1dLnetn3P3mRgCtSItYHDjkJzuGOKyjpgoUCDmWA3xRIFeg8zLlk5ktw1RQr0LLruOqP2vV1iCjUzXUs5ele7aVyqPt4ljrE7SnsEwz42c8/PuZdTPQ40hzP542/Lq6B5jQVuVRRc70plvCkrqHtmZ6j/uQ+r2GMSMsWt4+mzA8Tsfjcz7/9LdZJJ5jCYQx5i9OKkjdyFMesyF/LY9O03pYt9NbG2edvreM0Ip6cDNM0WeifBCWRm/DB9Hkw7v12NY766KOkwjrSDwENG2D+MJ3TWXTVSWyrBSJFv9uS1rpjNc4dDvTz7bUMAIfnpA//JER+CicrDNxqE5FOP72XKcl4mNY171+6dwR0MKewu/4+onv1HWYCu/UTeHO4hChD7w1rvkVTPmw8LWcxvenX/v7nfiMJrQeRcEWyBjXV+NquQKy3tCpO0lhV9tRRjQ+p+HrL22LflUe43RZzCODFV+A13DyyZ/T31Ukad3l873q401pTF91WGXpsk9xkNf8Nq7PaRzfbVuNh2VpuaHip8x59913s57VOCpvRAl+4miZZp1Y840Mry+0VA45g+JyDqf5HJxaRtt0uaksKXqQDXHn5cnaU9JI45QBmdplMH/DaWaE8QxK4mT8ateVX8HT37Spn/E9sgXcG2blQ7wRB+Oab9MoOAh0kv50WH8Lcxo/ifqPAz7genB5u8bB78qCXiSFQsB0NALmr74hR4kj2SMb+M46Y2giPJeOU+DUFiSJnxDgfD70FwY/ZpsWULIW2KErXsqr7Ho9C48xYN/nTuJdNiZ6y9MecvyATX4nKGYnbBA7yfRvreM7cYoXi59HtXifLh/Axmo8ykfvlLU/OMoMjXVZis8B67Llv0NkvnWSATBpzgCneRhEUy8+s8EheI/1g5/VD+bB3zj/Htd1ZZquv9+Xvvpy49Ug1XgeK1Z0k8h+64muQvmb3c1Da7s/69dfkBbA6OzPOn77fRfPt1b0RNICViFrdG3j8adTsFjB/prYFVdhccAVZOwYReBoFZNA1TFKRTX9UvqOYLqzxPneO1eHD2+9x6LgJxHg65zr9Pz5sxxbsoYF7/IVdqUiEDxyxfPpVBKdqr19+4PhBz/8iFHGIbdpnM8UsGdLOb136TK3a3AEx3UOP9aac/XS97lK6NxwnvVzG5yP55l73ljAJlwEGRY8RjPudM22fITQPiMjj9hwapV5V0Y/dAwMmUyzwqaLZb6detwAv1Xw9Ywkd6tdPH+G33o2b+yPU77STCuiSp100Emr7DrVrE64ozNp6anpTl9vu6vWKTrW32m1IwINmjyRDE4Z+m0lu6Ym02jWjY1l5DZqh+M+akrZBmh+wp/WoX79C1LjH+G5ScW1YhFqCB3jqcw60LEBr3GosH7NDwpa81Gp8d2NLWn4vAtPZWyRVqQAdFS4QjyA59twdFLbWcpveHCGXZ5igf3mwdccsP0tIytGjYRZfsuicyQ5x0EBXUqFU7F2UB77YqenoueROXtspLHjE754umnBcjRthIk35xFS0IlTgGohlS6mtTOs8s8VCo9EoBrBEzqBnuFxKrh2aCkh4fCFG3p8mm8LGsshj7gmVDq2MigM4xjeiqC4tDNsltfo2YqUn4Z1eMpMAdsyr7/pp04/y/hmV3GbXv0shXgOx7pqZ55dxsaly22c9vO98cvBxHqMboqj8Tu98aWLg4R2foffxnz1N40wGr700TVe+eBP42J52un373Wd3zRd52WY+E9d5+FT/OGSBLd/l99vfy5FKF6pmY4um3JZueJaVP206mWpSWDOc3QQZD5tufVb2uiE/+SxZ5fWjvqmmWGNh/gXLuVnHMMavypDhelHwFguodhHtMWvOvw0nAqa5SGMhtNPa0J4HebTfPvXnW1/+9T5DB5jettX+/ezwyvNH67zKa0atukbhjJSN/OTBuO3T/EWhlJBqgdv/DJoYRDmkSi1OQPcDeefS6IKnhvFSqZHRlsXKIDCQKJZWKdOYuv3ajuv83Jmxb5hCZlzgHByRk1Fb/DYFaZ3B87jyzNzsVj5UPr6mjTv7bXvcc2fOB05oyHuvFuOLmOVXZhgS5z6trRzJ45Souut+cYY07qqWPN0/3/e7K9QPUJf1zOmCszfMlAe86t6VNZZC1UWikSXD09pbSb9tHz1DhD+n3aKDMv3Xbri4rfIUSJ0Z6OgsHNUiHRH0xVlFjbaEpwyr1NgbtP32A6FSVkCjSdzasFwpOhI5BX3kzq1eevWuwijV+y+fZ6RJNcJYKlbi+L39OkDhNbl4YdY/Q44J+1X//xzDjjezI7JzedPho8++in33/6n4QY7dhdJt8Phxw++uc90LNc87Xnl1LPh5bP7TEVcAJ8V7ri9Mbz7zkUObP48zOY9peIAyhGKO3TALpA/v3EVjO0wSpHQspVbNVAGFzn772AXpY4NE0tYHJdgomUUBnQLFLwXrCHbipC04u0wpaMKgjtrXQ8h7VzjEGWHHVHSTgup0yzbHCmjAM/ULnlqMdSZty1Xy5jWIm++UDivUiZ30Gmdcreua5u8XimCDE8tlAZqidISqJNZrUvx0Mns4mmdW5cqo/pl+pY4JdQpI1O47IuIo9uMkqTFttN2QzXCOe531UkD4djifMZqCq1XAGSjsHxa77QaOh1Ld5F6sqO9c+cON5H8Kgq85xeCeSlmCC3xK/7E6pf7bGmcDBp08hIlGm7fvj385Cc/yXS+ZbXTM3/XUEpzy+lF5OLd54SZPvVD+Ml4X3GF1zSZ6S2vG0RCK8olHuJzzBrBPepVHYeSzvwdTW+ztrLoqMKhEFTIQB/ytj7Ms+sD32y08dsw8/Ng1ahedCDSzTWWOsgbJy8Yt8rljTQeyFyKfU3xkAhXUy3mJx+Ydw3EGpL42IatsoYlXMtnmDgJ1zL7NE6FzzBJHMumvy5W4LyV3wwefg2XyImfzgO4HisUHjY93/KGeYuD9axM0kkb4WX6a8RPnLyPuHFtPKSAi9D5C4mrk3UtkeH9E770l9azdPiVf+HS9UKU15zxDdNZLn8OSrp9ND418B3LS/zO23QOVIxvm+18HDh0x2Qc47/kHM96B1/j4uc62/bz+snzzGY4y7DKgMez9lz2YVoPpFcRt62RYdLYPptPHIypOmyylMb2e8ByGDcwOXCSXlX/7t5UjpUlSiDhU3B3sCru/TPP5EUc6di07HL7NH9dzl+DblAy3+U7r4t48qfT2s74oCTwLbTzGXjEMf83OcMNa1ysJ90Ur9lA5ZQFWwukrmFbXw3H97JI2k5KETZu8CHP4DxDiTgOCOkf40bF0PfGxylEXR8ILC365/IS86O44X1SYazgR3+2wLq7V2xcyxVoKF0LnkQBrBXqxft2WZgyPEOe+jzkqrWjQ+Sm5++dcGoFx7rkaknqdgGrnFPCti3rxWOheEme8hsRKJMN3TJaZmUG9c70LxdHDYfgJ0/YjltGOoi3VA6EdV0e36Vp1x3cnDRpC4TZp3WdSZ+uK9ORKI8A402eFQ7dSnA0w4YrSZM2ScS/2vQ+9MyGE4snAOipHKlNeaw/dFBOBlW/lV3/TX798R0/31rRa6JaWBUPBWtb8XxaAc3gxfTVcGS0XjdimX33p7OCZIbl5YMoju6w9dgS0y/DRJeZxt3d4TRCRhV7+6zlw9K28JJjSF695LoylKH9HdI9z3OJdQpf3/8CRcd8B9Zw3U2YU5WXL2+gND2Bcdn9ilK4t/182EKZk9lkSDv4DXZHKnDl2zVudLAsJ+QHW+LPLQcooeVKYMl4wd+RUtZccRDyzuLwCuXpEFO4ZTyDEoc0DCwmriO7pJ0jbPMxjp2UeOywRqydym9NdchgCkItLkz9SSxFJN6am13PplCXOz0zLutqEodolFWmRb6MZRTW2JqEcqpxzBnf/GzI1Xj0z/lL1O8irTHfAsZN48kDpvEnL3R645lmanFacipg9LeTsL5VTNL4CYtVjnoRjgvAVR4fPvg2J/97EKyHUVfnUtPN5u35dNJV1zuoPGvPo1G8m/h9LMSeMebuaGkuHwuj6SwO4umz+Hje4eqfC+t5+q7zWfHKr9uCfpbDp7wlHZaZLlnCGnJMverMw/yr3NUhEp1v/iA8hG02pq88eCa/ztN4hUPFneNl/Hanwzpfy63rOjKNYcZv9zvvtA3jdFrjdTr9+zdN3+HCqmmOOZ4Nv5+Nt/D1a//Op/0bZufX6bos7a/2q1/LJdvdFGbHP52X+U39fO88+73LOH1a/7rGZxpmOtu6efrT6Seulqtx1q/9T6cH8Gth5uPP+Kddw9G/w41r3uLhyQCu26v1dx5E7/mOZcmeppnCUe5YRgefth/hNA6WQRll/M6ncbJs+vucwlYxMO7Ur9PHc/ZHuJYTDwTf75Z2FvG1l4bdnsJuN31vP8ugk0aNqzBmcR3p6AAzhd3h8zQVzTjTeGNRJ/CqridodcJ6jn8bRucT74iJ/JnFrXghEn5zWitTVOqgIv/oV3mLMphOBKNLPhnsrqi4MICiL/MIl5Osz2MQgPqXJTso9HRmURbtD45cz8cBwicYU3Ijh9Y9+yZ+SPO8iZx4W38H9O1aAv1u2sAZ4AYCKrWhl+SlDPBKl7uf0qlgzdM3HPP515xywOll+8CMIYr1ZnWdfnQEElqP4XpJKqeYI8OU0SIzcV230t24lqKd3xT/O3Nvreg1kRUKry/qtbNss3uVyG/jKxAksNMKESZ0gIcoZIa5a9XGoWna+JtMzWoh0p2/cImdsuusubuJAnDMoclsOnjijQl05MdM0758wa8sNVprVLoeP7jHTRlfD5/88ufAxWLCzltvkOgOla43sHfJe3urFBFx83ws+G+4yIYNd3raCrQ4hMFgjCWnaAnXaliM1ZWo8kJH4ujIyme0s8MFpspxN3VY9mPW/DmSW8bas8J0srJOYelPGjgiRuZGMVAhQ3MLTbTeeV+lzzLdw2iktcFoeVh0Z1T+4Q/9ZCywyS/xUtK0F8oEQjIbadNWJQNpvCs2AWPceoC/8VEehafwdvSmmV/niFAyZroV7pZ+0sDfwH2y/d7+80YqrVSYq3wdT5iL1H0L2WUsnCqwRxyuvcBUuVZP0zlV/dVXX2WDzmOmkGIBBpGsrUj5yR8XKwf+dkLNr9LYtXh/8aMfs9aTtZKs0RMvcZE33LFq/rXukMasQIc0WhuN13CKzskmf/TX+XTkJwx/plkeBwqULt8rDD7cca0zjvn2lL1KIf9Dy66PzjObPaAtIOMUoro8qc8ceUD5s4MaXjXv/hmv2lcpEsJMeaGlT5310HXloeSmbTctn+8RdmMZjSNs4xvme/N0p+s4hvmzHnVEf+NTC3Mrg8ZvOOIoWkiU+PlOcH7WSX3jAVXSPngzPHUI0kkL43eZzVyYU2de/t5U/o53NFqYBCzM+VScNHMgVm3EMN20HsSty9Tl8luc/HVa03U836euFt8Xrdu/8W3827/z6Gf516Da+lbR09lOPGdvi9kZOJBf0UF8wYRf4eMzUgAh9RLBK1xp6NP21U58HND5NMyy6Hz3bth6zyP8NKWRcSrcvPnx2XB8qhT4//e5VDnxuo1UGcTDFLaLwiNffpxy0zo4HUfc4MIxxe/yigHybrniA9/Fu538Xa5oo7ZRZW7/MZi8Ol2eBtPWYzEb278xgRKamqu/TmNYWfzSoSATC6+Qn1enL3PsCXI9ljkIt0yffLRGL0p9OY17pLInveiPFjEgSH3bN3Z18qEdo+idMLW7cMT6PXbtsgZnRMIwLdbAJi9pLwXANJbeY+IxNLc4qU8H/MUX1hp8YzksAC7v1ufoMbNiVoUmTrdjyz4tfwInfwqW9B75Gd7NYJynLJrfmLM7os1THJUnGi31SD9Mn5B+IXHlCHl9jvMky8QwqS60F4nvwJWUfYuMumFb4SpQronTabGTYbXw+WzhJeHd3aiSp/828VUQLbSjaw+91QIjAQ333fi+O3XqVO/3blzn7tjnuVniMUrcq61nxMMi5w4fF5MyvemUp7jtH+wMT5/s5q5aRExVELLLGyeyAQFcm/m0mLlm7MgKR2laYVprn5sujCDe9vV5gov42JLc5Ws+Kn2G+VMxk/F9dbQgLvvsrDCOifRX6XRtS12eXFMY5l9CEMZXmSG+AtjGbH6tDGj29t1f56lyAxrjT0Vo3pFXnBK0YrBAg4yJHZgZQcO1pchRQIWG0w6a2lUwkQsqFjN/mFgFOtMBsG3wkBaja34ITaTjaMWyHK08dFyf+h0ylVkNS6VibhHosll2p4tUCpxqFPbz58+HRw++GX776efULRtWOH6nXcUvnHxP2QiUB1XYzjBdpxXP3bU3WJe5wrE38q+0l1/bKu23zbbh+TztxLud9NfKK0104i+MqtP6tgzyhGWoOizlXjgqeZ22YQpDeue4Cp7WC9kEtuiYTtroOr+CW4pj+5tfYJFIfEILnsadfltG4+lvmlpoX3ytv67LZFxH3n433saZxpvSTH+//XWaVvQ6bPps3H12uobn07jm2+/TOFM/4zVcYZl3f6d98d1lMtxym14/nzrj66bfvjtF32E+G3Yi80dYOuN2vHjwx295zac/45jeMnX9qHTpkteIi+/tnDI7HTbNp+ulYXS6hiHv+C6atlWVPdPbHpS97iR8nQ7zvAMrsqJoo1VPGJbZda7KePOXxp2f38LTmU8GULx3kZTF+k/LkMgKW1zlNPp0ovr8N/9tXEzwprzeFN749NM4vqtoNByf07RT/2lYl7/C/aur+q++SJgFN/BUvshPJWOuWJqk2lLHLSgmledKBsVPPEd8uy79ziYmFfmxDl2H7H5Daij8oJ3ieBV+pLrYz8dmP99dM4wHHUP+0b8OA4YL+HABJW9x2alNIpsnvxyfwu7dHNcSBcgwsarymYdOvHIeKx72B7kKknKLj/wkDyHIyQMKkLTp7NO01oXxun6EOX33+7SLYgl8T4MQjlPaLleQh2MAQQfZ8YrQ0RXNkA3Qi+hx4Wd5GpJrJGm8QOc1Xm0YlBR/jS/frXtrRS+Fp4AKBhu614kpnJaW1kNohUWEBtOpPtPoYRGPKVGBeMitFFZUC5ZdritT4dNZcQo8z3t6iUKoErnOXbQvX3CP7J2vhrtffck6uzvsOmW6mIOHtdycQHTX4Hm0hgy3wi6KEnZOk6HcoT1FK5dpE1eFSgZROSqBZ5lyaC0ctcvmiFjnYLQenfUCbOMtu+B0VMia0YwvsziCsbzmmV2ilEkmzf2j5H/ImWlHWOhWV+veWM/oKxl4nGlnzzay7Fkj5oYLlMo6PkaFaBTO7pXXUahR5vBh6ylh2Ts+oaaxRmd4OWkf5oMzZc5qgCAporIjfrSvrGOQPcnFVpkw688y8giDBxZhNpLcwADAVZRzrRxUZcHg2Q1Q+gnPKQBMZynnETzS4WIjUt7oofCSr7yezoHB/bt3csj1vXv3yAsYZgA8nes0LIt4u2bCdNZ16pscb3BH8q0P3uO8vFpf6WHSu8c17SvvyYttWXNdYDvzEWedOKpcS/d6V/C3oFFxqI5Ankg5o4jLY/UtX/gLzRAcps0ZjRCz/RwgSGMHBdJUBTEKPSj0USy2j8anLFml/Kigaf0NbYJr4em3P2mRQYjprevAL0HV4cJtmNM6MbzwAbeQnScgQgfo6z/LbO3iOeKXCHkvKQdPSD+cZTJt0oS+xI2/aaV/f1vF0sqyVJvtZQmdvnCr+MKT3vr5k1auYawBY11N6KYs69u1Vk7XuxhbVtKJStfjWIz4Gea3eWqZr+8qZ78XjkVz8dCJQzvDdWWFLlh+G9d4NdA1jb6FC7ES3s+Uj/bnd+FSHdCY3cwvAE796TieaZaDsymGMJRbWrelifCfsSTCpz+d9Z6yTRQJsKww/m6zfKbln+0ucceyCkO+s3wlK6stFNyC37zR+czDKg8tPFPXiuLU77X31iRGz2lZ9DKf067LWv5FX4tvWUYyzJ6dutMYZ+q6vU/9+t001BiwLHulmysBI70JT/MM38vLtFsVHsoV2iZtDfiFa6sLqGqYvBecwFAm8Rk+BE/XyBl32k6NIA7eA65yucrziPyYQCM/LXDK45p9kwjHyMtjZq0WPIrF3bhM6doh0KJJsMRaZHATMWnHL7cF5UgS8qUNKwN1VgMlQ/kEJ8p6bCOkjH0UlzLCs3ZbzmfNLO01CrB4wFPSo/gqORbc0Cev/+ofFbh2so1flkMQVUfiZ42Rl/+MA03MO/mLP5ErbkN603Oejzl8F+6tFT0LaMF82km2Bc9G3kK2lTgFrf7G63Ugbs833LAQiM5MWKaVCZxCSBjM57SnguglO029pFsh7flyTuHJYDQDhqXwmR3oSHB3JgqvFC1Hlkx/csaYCqhw191gQfy6yggmD0PaGOgoOf/HHa0rnOOmQlOuFtnbAYvvGaYo6iiNUuy0UMijpehpNax1WaXslCIgPv0Thwha4NWUtnnbKYmf76WgOIXmobk+u7PzuBblbWCh0CQuacUrzAgeuXkBrjVO6EshqkGIVwkBW2LW8qWAAMTVfbDEVaikgSkUUCLY0TyDA9yM2oVN8BHwfCbvnKfEB8LFg46r0faTerIR07CsixwXQEcbWqiAkH8EOnmrJHvTB5QDDw6L3j7kyroHw2ef/mbwejsXjotXdypFz2r01ms68ShKlsq7ia/mGB7XInkMj0pjdz6Wq2hfNJYHDZNeug73vQSK+Vin9W29+5vFp3JaiZHW+tez+MC4boypNKSj5MKVRyPQw8O+W7fm6h+VRd/zJ/j5VXU6569uU5an8TFeeAU/n8JLuDiP8LqMXcdGm6YXhmGt6PX36Tj66yyPbsZreZcOClB+sIQck78j/X1veNZnhzVOlX/VlYK34+pvx9/hprP9WUZljj83HOjnmkytV8qQpCOOdV30t3z1E0bDL5yrHvXvdB3H73bFH13OwlU8jDOFF/qP/NVpDW88DD/tpvl2nj6nP9MI503pX4M35t0w5WfbjbQRh5zPiay0nXRegR1urTyNr5N+8p0D/rXxxgyV6nadx7TMDbOfIysE9/bz6S90azEM0A5v+G96dl6mbTj9NP7vg9H+XbbkPWYwTe86t6mbxtN/PpU/53H9G34/9XuTm+VF/5CzRG2ryM7OZybCAf8GnXWWT2PZ8HymTQaAbdSf/Al85JZcpzxynAsXJb/wRmISg3bmmr3FE2fsaKMeuOxRXhn4jLzIUpXBTYVj/WnxWuA8PtblAE/AqFEsX6I4qfYM2ojTvF9lRB4CRr8DaL0sgjjr1bauosdH/IxjGp8d51+jr/GMfgTxhCn/yscYFVMUNIPA8k9o10/p1DxlXwYe+Tfi54P/oxOf323HHfpdPN9a0bOAEtYGMSVwC2gVIn+Gqcj4k0CvOPtNZa8UPqfNvCGDxbwIYTsAhbLOcAVHvun4rYSdV9z0QOfv9OY6hw7v7bHZ4ZWHxGqlkIFJyFML3yoWoCw8JX/jG65CsoqStEZ+Wn/Ajl916LWDSRYvZjK+285lQvO2wlYZwTi66HKr6Anbp342bnfR+e7VZmFKGXNkSIAQVlYMF/N7jpFnGKn4tGCRaYx/tFtrdWptnseuEALnq0CIS8rDt2vKikkNLxaTzv6yGw/cO//Cm7xkcOhOi0ka03VacfRdfE4oB4nzLQ2KDsaA2YlDCI3RJ8wsPxNdevp0E40HSzvFtCiNxBt/t/Abf49dpp6rRxONUnqs4s6IESqSznrBlM+3Ct8eV8u94A7b3/zmNzkPcQeFn2B+KHTUdZWXxg+/+c+FsqIuL1pmd2Xfep9z8t65lvpqZSjloc6MIx/OrHnSDmGiv7B1CqU4nhHyCpsoe+ZVdZqpECKpkGuVE37XRdWvfCifSH95X541rXVuh1nCpuvDc/cARYnIC7qE4n5Le56tTAo79S3fzOqJCKM7zYeldFaBAlN445KJLq9l1zUuqTywkBydV5etnx3fZ/OcPDt1FbcUcY9I8VvXm2Ca5tZdh03Ta3kLjDDcHD87oKlrOSL+OunSU4wuNXFgah4trzqeeOvXNDWvDvOZvEc/342v/zRO8VP5N+3Fwfhdvk6jX7v2a1idZhruu+Fz+tZ749H4+T2FfRqW4ZZRvs6Aa7++xc9BnAMi6WVeWWIDgFYuhKUzrPPzXZq/YDOcvH99+ToJXJNdV6U1vnO8ur66Wyx+A+oIe163ySty2jg1HWw7f5Nrpcep9aa18cy3cXhTOv0sQ7uO2zTsMJ95n9Rbp6m4VZ89C9Rhnb6/wyNERWTNXNJn+lVcxnYz5jeLZr/KxzID6sqP7xKGIxzpCo7Ilnj7mPyCv2RkED5vM0rdkf6kqzaGj/wKkNAxb6qCDlJZhnWWwTBtznZ1cKIRgLXU7OQ4lM7MKCytnCOMjME3MolZLJU7DSsLnjEIDM9QbVpaFnnRsrjkRhkKKBaxM5uFjNdgYxxKzb9yKcukzooewCDeaXqPSWaP9F3SH7ggk7NoUzjpQB24aS8wpCP0lIaKxNNtQIA1Fc4zdWXs/3HcWyt6ITodeSlxtatUhrCwdmK+K0i0uKgIrbKwXhK8QllT0KoQ2Ln6rA5SActaPUaQdsTd0BqGTGWel1c9kf0CU7qbEUQKlf2cNVedqp2jSoxxs7UffeYQBpRp7EhdH6cg83iB7iiNq1ISRyWL0zKLSt3dqWum0SLgzRueEZTGYzqZc/I0vt+WvztdOw7T6lQKImBpIJZR4Sh86TiPUzva0oiw5GmdnCp6dtTeh2t6YQujw7UsFj6lHAsjtEQCipPvxwp4lCiHTA7ELO90LZj14WnmoDosHsLwhLuGUVrbCHSBybNpo5/w/Zn/IQdu+rSs/hon4+nsaM94viAWANVr10ciMWhyjBaTI5GsNJA4YBr9Eefk3bv7Va67y7QxQsNr0ECU2OABTcxbfFxftMaZhXvs4Teumy/e/+DdWCtmSp7rA0mpgBO//4+8O3/X4zjuQ3+wkuCm3bJWS3aSJ5Gdxb557p+fX/NDntzr6y1eIlO7JdmSSIoECGK79ama7zt9Bu8BSAG0laSBOd1dXVtXVy/T0zOvoE7o6XrVRJJ6pDz52ekde+BhFxa/lPsNZXCfaTGwqKcwvyc8k0e3TbXJ0M9Ot3SHar+2js8TsEvpzX/VWRuf6l5l8lnMoYcPJk2fklr4FRfrKR8ccvCMPUIrnjL+PtfosPt6IzT99KN9oTVyI5uejkrwWyqsekceGHpx5IV/Yo8JBRN6D9ql46qnnfv0KTx8//LdulnwpIAtjAHqgCZy8IutwI5hbLdDIy96pwRe7K0seKlL6gc/PIOX2FiQsvAVpzz2l5dOXeBEd2VC+MgnPT6yt6XPygQGz1k7sX4644t+VvT9t9m2TPwihw7w9TG/LhM/oo/LGG4BMmM5+/Lj8wHPXI0xzd1Ji7mckTtSb73lRBv9wiu6Zqzt8azGO3E/gTC+bfkr4+q7bkyKqK6ZA8STP2qUeu6xG/uaRfZF3jamrpT0bN179VPta5psW48k4hqnxoEqWEkbL/6hLDbRT4I59phxpAbRk70w6sVMLcYs9GwX9st21d/01349sfR/87X6PFnZ4H6N2TdqLJ0nUdVmbFeLSKR1y1CPYmue8TOW6qO966W6mu265Y2+qtejsL7eN8zs5DK0V6VLRt941YLMz4T6fqD5t/UvnKnH2CptjRb8WQFvPmmcnMeog9+w027eysNYMR5rcZ7WjIzoAadFV72Ogd+eGuNY+CnlX3ihN480DTA1YNc86c1SRrKoe3SfReqOqpT3bR5nkOyEWSj4wK/dnrt17s5A0N+KK9yP6vtzM6DYWbEw8sX1eounrGZQvnPntW1RWV2kFjlfeviF/qixR7h3P/iwHG4OT+rArxadwcYHgTX+BI1aH3/kXNuicSbD6SfBypLdrpffS1WnO8VP7PItNM78er0ogl6H8rHjOI63zkwwvlOkfibUTHp0U5bfL6Ubnv1Y+5ZF6Oirzl4wUW5A8batO0R3OX5axksntzbbkA8nv0VrARenw3t4zCFvcLAegCvNNL2VXt5X2bY7Xh4fejN4vHIfyMaUhVjh/Vqshxe9m2ch2BmFYcGuXrcrf73KCbNzoNO66HLNl/VrIGifqbyf4hHYSLnHbQa4n9bPvf3t3323Ppfz06K9qJd06vd+a0fwFIp32llsMPAzTfzmm9/8Zl3fKv98rc4RTTu1nf22bMmws+oOFN1qU9/xU79cujhbz1V6b4MRHdrew67bwvlAeqNlXz76oB51CNfqHCl4/yxd+Zjzaq1zyceHH+1yZiEin6Flbk5mwU4nY2F0RM+2eKhj61Uw/OEkgOM3cqSVZ0hwPja7IeM/w3cW7uviCX3kjY6jC3n638hR55FP7JwfLF41mM4jnymHU8Dum/qHWbBqNy5YdOF1qsO2G4gMX7VwJTiT59GRX8AQ1B8PcfSTnj46i2XlLrZTn9apaM/FbHzUiRw+7lI2dUrdi3eVW3Aq62MmhUdHAW7aSLkbUWOJIyICe4YvvOlDR7uUMSpgeVm31TKNwtDFb2yDyiTLgqN3fQeyxpc33qypGbPSzRMWN1AmZfYhvyxZ/9RLW40M8wG//NFP5ucmX6k+6Lt5Nqjsvt8sf5dnv/6tVI1O8knnp3Wlk18jutbj9ti1H/8XHbulfeBlAWi87BcCShflXdYyWtwsMAhtvdVbH9vzRdJh4Ol/ytta1VZlL4uadWE4JP03/SH4iXu8LTbGBJUenS2Bpl57ffjrMKSaBdHoN7AHFiglv8+qDaj/xhazEN0LerHmeBFbFLh/cWSTT9foSx+hWrkORVXaAth4Jl1KeHGheRVOf2i5FoDO0z2sCfNBzVP3HtQXMep7tr6i4SPL1+rM/vXa3SOV3/bGQX2Gxdu+vMk4QNqjuhHmJObL3vGrJWXfjJav9IsZ0Nre0Ly0ON9EZTm+9GHNt/jHfvOEcLNv1Sn+2d/62xbWxmjzfdOUJm27HnLqT4/NVV5PoxJwsbfgt4Xp1i8sVZ2r9o0ystk2FIm79lvzlT2r/CmUoL7kOKP6b8i2zFbGUyH+ruNnAvDI0uXFA4OoSa8buBrhcT1qbWOWVL9R64DnR/UTKQ1rhxonw8+uXSYLCwa/BhE5ZL3z3rvNX9qErrFdAqclc0JiuZh338VZnWMjqMiuBr12x1GWTiB25zphHC0ywy/6tLMWojqCoZ1ONboMfBZz7CUPpz8OzGZVlxnUxyHxMIg9qEUSvPCDN4vByzA6KltxwXLGaX5iaHQpdlsoJy6aCSN389Jpq5RsBHifC6PT6M8u0UEdo29sIgbPxRbw33nn3Ysf/vCH/TNn0emeRV7hFkKLRRO7N9/ixSf84smXv/zl3p3gQ/jh235ZPfl62yz1nBqkLpG11yuLvImNswkrzbTPzjNliWMH51xMtgYqsISxy9gMzIQ2fqsd9v4T/MHZBzT52HBNBxY9ZgeYb8Aac05q6pf2AEud6Bn99E3plIWvmKxjSDm48kzI8lfRKHtWaJ5nZKGJDpGb+By/lCWGs7ZJaJQHJ3HKEq9w6a5rxYJ8ytlOWizAi87yzrjNuFdnmQonY0Do5mWrxQkRvXDQbsNTuxpvvaBBtpvVe3Vz16F0LU98StqqPxq7qh7/Ch7TTZ+uabH83q7Is0LslhhubCedBfIRvuIoE87D0q+Upy4zRlVroKprhw+fHZ52K00UVUg8ufAc90z/3vn3b73yh80PTqKG/JLOWdRuRR3ZrJiw+4986rrrN77lOAtbigVPIITgd6b+rG0IZbgXbdPJ2cCp9i/5tcysmE3Kd2tsMIw9MW9W2aNHd2shZ6lYfj5G0Kn616PIspnAi8oVeqFIUFGKSgeLc31l9Ju4xssSdc4W+EVvsetYLziXwrbY64U6xhaRZ0PgiUv3Qh//32FnSc8AT652puzTAL3gQm9XKQYGkc4E7Y1G6X5jZjO8wTP4Bg6Nkct5FEdmVAAAQABJREFUHeVoxLk4rEHn0aP5HIEJxiDiDtOukTK4BiW8M/FEj3KNTQaHHMcRwz13xUGiV3DXWNphZXLHIUdGdMeX3pf5c+5xjClLp59Jhf74neRzpi2vTpE/tvAYdWDRUxz+gcknHV3waR5lQ7Cpw26b4Edm5IoFNEJ0gy+IUyafdPjAT0gZmtRHOvaD68PIJol/qC/2v/322/VJnfoKf9uEHYt/3VG1ZCNFXcpo1h2wJhULvK997Wv9O7Y+0+PGo39FpG8gDSjTRuSnDrEfPfkYPVyrvnBcBrNjecrCJ+X4rTLAfbl+QtqWYoMHd36rdTDIRzPl47dV6RNP8NhZGn7kSedSBj7893qDJ6QcP3RCYOLATOIrfC0LzpHnCocf3is8sNCeyx9hqx54RZdVRtJoV3ndlou9lAvBCZ14Tad8sPf2XfPndFG+8kk6dIm1d+hX2Sl/+fG0R/jy/3k6UR+or2C8BsvNN1jrx3Z6ohuXLdAXbp+JrA/nyvtIuac76XfBfVac+sNZ7SRtd1O5kDg4YrDAG2n5s+IFHJj8mk75Giufnb4Vejlt511YeR31WcuCCwc8Y0gzwWdLhIbV13DkHb+GgyZ85Ru3YMew8phHqoXxNFoxMI+5anx05Kl49QsXNe6+ok3qulvzdT+m31C9UNL8a9w2lFku+jQL9rNmLd/AynheY7ONFirSfWJz44zb+I/8irawrTeT7bjtWBLaP1OSBV7y/5vHL22hZ0IwCDh3Z7GSx5IWYb3Ll8+AbAZlfDQuzpjLT56Z6DPZ+63ZFc9bp3Dd5dqt+cWvftkLvQ/ev9d3jnFmYsY5xkOTXne74HA2jrde4AkGtIR0gMTgXG10DdYu96hL47dzDs50wjU9C1T8o6/H05nc2UHoBUINoJ1fcEOzxnDl4eIrH9jJ5sVzdFGb8/p3Qf1J3dc48lYeKSdLgKNcAFPuSluHB5i2Xemcp/rxj3/c56qGfmjxQ9eyDA6VzsLM5ISP7+V9sX6aySKPDdb29KjW4/ccJkYviPF2hV/0TXlwZnG52xWeslzhs9YHD3ll/bX5Db+gVZd94oqsrp9Mhdkh0E4jo1h02l/8EkJD/+geWHDp6BGqsJZFd3H8Bk7gcGMb/FMmVgYvsGO9A4+8Fb+J6s9aRk74pXyN17Lot8LCK2UrrfRV5eCu1abwwzsxWMI5mDJwvFIuTjq00WPFl/bEwHiqnwjd5yse/QbWBVf8Ocq5Au1KcPQiXx/yE2d0cIPtJxa7fae5n+JBth03c4BHc3Bv1cfv9cuqAYd9iuZ5gGN95F2rffEIXuCpR/BTnnzkBh4eoU/5MV7xj2WTH+NEPthKk7S4ryqPzMTDZ/7iFhqQqnn9NWbwBX1l8sYSebHF6FpuU+IE9wRtO5tXwJa9xtJXBWw8ybvheIUXLuhRf69tL3R5k9VvvT+plzT6Bbc6G0+WL788LjoflL+oHw/wW7rV24rQZFx1KIQnRecH08ssXSd1NlJZSPZjU9uM9d8LGl2drb/SlZ+VNSWLdutrFPs/OLzwQo8hdWadPws9hn7woA5aVkf2AWMDlT4tz3kbXvgGMXlXQsrkg2sywX9kzNulBh6T+T/9cr6DlTvM44+coxHS4PhPemQ6w0AOnY+6oFOnwI+xcudMhn5izh5eygXy9qADjmxwj3RTHt3wE8AzlEuveLET2yY0TtUvfORx6scCGqD45uxccKu0yeXXRXCXk79NMJDoVaAO0bEs0HqRCTY4e31X+vCEGxsplx75AweT16bv//rd/i1bO3raqlA7TLupW9VRp6+K0k193e+9UR/WNil97rP102b1hrXvM9p9wpPNkNx3Bqx07sPhW8VSr9iQ/6x1Izz16HjxH3rHBvCk0ad+oU0M7saV6E08dfqCI+xn5ibvZZl5XKWy48vRefgUvOnGp9VXOVkJqVtsDr7z2CacKFRll+q7wdOvQide05GFdg1rHn5sQychfMIr8NClPDqlbVK+xnCDt8IjJ/GKE/7KwCNfXoheseexHE5kHdPyQuRJz1nLhvpzCtHDuV/n3W7UoXiwkcfW2ek7kXwqiRm7nT8m/0Ydf/hM6TA73RZ6dDKpps6xT/I6pF8UsgFggWdHz42/392uxq8NwBmfn6V87DU89fDdxmCtwxYfyxp5wU8+eOEd+MiYnPS59l1xq/ofK6x8Eax2WsvWdBivsMu9KXzMEunfE8/Cjp+0tC4fmcqN1WgUFke7W1XXyyH8jvDLWD3mlUNUKxQP/OrmuHSxILtZC8xXXilnqTGSIj64XMW96fu4Vmt+Dcvn0K7VYq9VIbL8ujy7EuYV49t2Q1wgY6EHvUoFdrnmHHF7oPKZR9petfpT3/iGWjT+x22wlvC/z599lfCCddIhLMj2iWUGWQc2BRNDdhcY3AIqv6KhPI1SzdG4+LlCJ43Ojh4Z6MUm7ywEm4cZvALcTEbJJ1bGs8R9RqB0xH/XAeYeBn/ycNYQGk4mHdzoDje6Z3KAZ3wDd5h39Ngn7VWGOih3SUce2vBN+RorE9gIPHnxqmfSoV15ogePPsd0yhNHhrwQntFZHPmDUd15W6iC0zV2lPbI53tv/6B/5uzdd/0ck19cqV8rqXOJaygVS8cdYufBZyHs5JlUcgOCp9B+WCusj+qFFWdKstCjX+RH99gc3WoH+cbpxecMMGChX3FXu8ERwn9iduGT0zarn+DTOLXAE/cb6iqcsO0AwmPDtIEBWKA/fmgF5SNzz6M9ySm84MLXPis+WPLi2Z3ZbYPPGuCs/EMfnNzoRD548IMTeUe4cmVrOObXsnPp8E4MZ9Ul9gRLSPkKS9lR/jEPLzBx2IbnwHZZuXkAzxVZE++4l+GTQ/Mige/oN+ygrV2+secnJsEt9oRzcsD6ZZPyQYs9O3v6NB6vvjqfW3mebqlz4pLUJLG9eE0f+UWv4JwrD46yYxrdCjvSX8U3eCvtinuCb80n37AzzfksHWYHrzWvP2whnf5Od2PKLNrgruUD54MzV0SHS/LO6ENCAn5dL9tq0jWGWVT4WbPHNRe/Vr8VXz+WcXG/38Ctuftxbe7Ujt/jOkLjG7XXXqmzpz7O7DdxEfYjVYs9PGpuNC72+FVzZvlgjdAXjzwmrvnTgtAnYPrx+VQsanU913Ev9hanHTp+se5xkvfbnnjhhR5jxcYGg0ymefnAd29MtF7GUNa7KdVwYDq9gYzx0c512fJ5TV+ZhjMhmrxc+MU5la+hP6lSd8IeGRzDNPQMssjWxj/ikhnHSBn8hMgPrL8ZVIMRvq4i3+o136fCa+c5jxpTHzyUuRL620HbpK2OoZeGb9EiRI/AQx8adHDIEofPSgsuKHMl3YkNfoSFFzmCfC558iIr9Uq52KDPJ+BZtPMHdfKtRD9z9t3vfrc/h4GXQM7YdPK1IVry5qLxnTuv9CLv85//fH/awbqfD/XibquXz/d0KGL8HGimy1pneWXR1bBSUobu9JdEg6rY4n1oVj5DhzZtGh5D2zLaB+UraKfiJcA00I0uuz5d2H9Kvxrx4jN4sWMCPaILWOoiTkh6LZMOrTh2QCNP3goLL3FoAwv/VY/gJYaDn5CYDDShTwznKriy4K044AnR44iXfPDEYMEPHCzwoZl2nTSsrR03gh131XvqVay6vpEBNxdY2hWrwDe2HYX3CnvxdPQfHyEjIWn99Y033irb3Lj4+U9/Vrppu/ShYE+cusnp3x75ZvHq6M3zQvwhsuHjGb7ZSEg+5bHNSqdMPlfya/xx0/CExTwDeOpv7DmyUxx9V12UHfU94lfVL+G0fXr8GUzla6Bf1bhBZEqfZNciyfdfvXQ4bQiPfbTmMCpLE7iwHDiRDbVLN2SFOXO037j1y1RPahe6j9D4nh4yiz3fSXUuueb/+hhYSa4vKnj79uar/fbute3t1idP6nFuPbqdLb9Nh9Ij9nrUi9fJY80DlWWUPdUxukOqAK9V6dz/OX9eeKFnMBrzzaRu8TWdc5zDqtsk65t6ynRukzuYxR5HgJ8rdygayoAAJzwNMLk7MaGFRnqd4DRfym44RLCFNL5s0uLjFfwVTzpOtnZG3/KJLDjRC0/6v+KOZasf2EoLX91W/TO4Rydv3WZgbEdue++6sOMajvzxyaQZ3cIHfOw2HQYf+OfiBi7lKw5+qZv0eqk7OeogFlJfZdLxhyz0wD744F4v8PxyAd4O5WYhxQ/4Cdu5oZjFtbOS1/rtQI9svSXItx7en8PjZNndw4vN6Oi80NwlbqNAa7fbNvUY8DrYbYgVZaK5jLuX0/VciJ37u4WbzYKHVwK95StqP0rZib5RDV+X9VYe20snHzr40tP+ck/TB9aF25/4EtrosuKdg0dmyo508rnwTzpyV/zA1lh5ZAQeWGiP5fCCE5o1Dl30CX5i5a7c0K60SYfHMb/Cj2ltJkRu2h+eSz2UCefq1AUv8Q//ICdjUPQzjvNtC73LYeaDtV7FoIxd/lu83HS5vE2sf17ueZc5yYVPYqwS1vpLJx9ceEknDm3iI3zNr+ngJ05ZNclzwiBEtyCHfjVAw5b6wQ3dCX+BKZ+zcbv/r3jKk8dHOrEy4Vr/Jv20cXDBk458sHNh/FOJG7PR16LOW7fCK/VNFHO2jTk/YOCzZM7h+0WgfoP3Yb2NzeXbkM2gTFJzRn17z5OW/rxZEXe71xwiTD22OHf6BY+uxzg04mHUqf+j/pyfhT6BCUya7gp0XoOCidkk6xt4JtZX6wPJzmf4bVuP0uA7WO8nzDL5owPvScfh0Gr05E3mgsENzI5eBj9waWUWC4HHSXuSvXS3M4OkcrguOqwhtIGtHSNlqyPpxr6JNb+vui2qSh84zlLd/XC+o0cXjzE47736/h2d4dyo/Wo6eCSJ/9hi37m7fSufjNkWTL4obnQowUX9tN8qKj79r+LB1ckHX7+YA6/V8epf69m7RmPLtd7KdLCJpRFv/MlwJ99fZq+ots5MeoPTSkCsM4xbvaqDR57H1b5v1G1a31RUZ2cr77w6tuBL/OPtt9/uNsLT+YwyWddtFnyzc5U2oZfJxwdaPbble/hcq7qxffDwgkdmf8us6Ppn3p6qm5bld0PbNmXECtJsL5TXdrz+IWPsUDYuG+UL7+jaxwtZ3bV7+Irjk+I5Q+NR9fg1urHD+E3o0ofk/RSgVvbtQ/xNAvqLqk31yg/6EfBoqzb7mT8wes+A3TuJynsgLVj961D9qUSdLrDo0j69+bU6ROdHpUNhNXnbZrMdkD4de4nxQhdaeXBBPLYZPDDlLXfDAVsD+6CBlxB58qt8+chfcaSjx7kYXQLchKQjO3n6JqQs+fiEfOoaOrDgi1258Q1O4InJkj4XBo7PlMrjMxc6frr66LSB83Xdh+tTV1/7xtd7zP/1e+91PyKvmq8Qq0+zfX1fDKOYxUfP33v3V7XjU2NA8dFPo+O0+Xw5gUbyq63AshGQ+jl6Ic1Wx6AeU8fLdhs+U+nIDr/gx56RH/gxjv0Dj/3QSedlp6N+4Y8u16p/YOGbsnoek+TE20bGAdqyIWjDlrU1ALzwVs7/he32opA7W2PWxJHfa7EClbbzr/v0zp8/1Cjd7aCuc9V3YP0GfVHcrIXfnfrGroXbg/q48of14X3fS/3o/nvlZNU/SwMq9jhTSnqcW99gsdk4KpU9H9e3Y2tUKd1qJ7A+n3erlDS2+H6dJ4c0m1CM+G1Fmf5nd7BKS0jbw1w10jaaPUqdQTI+ZJxFG/uRtrarNJ8NPduP8jj9y4YXXujFYVWSUSzMxnnmY5j92LbKVF7aOQ0LP2lGWcvhuOsDd+HZsIqlJz+OejQbvPVKeXjQM7oqC790ZLCUJwZ7XiBzDcf8je2n0PCMfsEHq7HwBD/SBv8Yow8svNY4ZYmVnZPvPIRfEEkITvLowZ4VtFPogi8WxDpIwgoH0wYCf/Fj1toCP2c389mc0BS3xvVnh0kP+Pbtm/2dPOeHLI7wan51FiQBXWiTnhcbLtdxxSE3uPhIt012dZp9aI72Up/QxOfCZ+Lzspvp9if0KyxpZats8lN3cPLPhZVGefLBXdv0WBacq+LUU7y2/1X4z4JHj6twjvY+4kf3xFfx+bTgR/3I+ZfS5dOoo7N2dufcVOWmXJvrV9qfd682UHf93e69eQCu8lx0bLrnjDvHuqB/EbtGx8T4Ryd8V/gqOzITp+yYBw9s5QWWa8WRXvFOZZeHixPPI35knegWfitfthbmbyfP/lmHu5W+fwfdmNMH7Oi838TgagEHYrFXLdQLfIu42wW8Vr+OcVE3+o+v1SdYar1JB7t8Lj8cxAXA+4WNvnkoW9WGghcKr3nbtsb4XiAWSmy4xgXe7VM8J4/vGLEXgWvFGuP8n53vviaxdWGB+79CeOGFnkmlzNmdU+e1kLODcrt+ekrZg3p0pjPffHS9J/D8/JBOLljoxfAmpf71gFoscsAYV9rg4JodinUy2/HwQ3Mp9EHTco4GGgz2QSVyL+F/4kwcO460y8dfByiJs5NSvDlH5LILfdPZUt/UAR6bHG0BvsLCj+orj6RTpfBN3Hy2dUDv5DTiVo+6U4I3u1FVUDKXmlUZZLuWs/vYpI22daJCQB/dIlPcfHXSTrvrnUep7MEffFLHzvDd+gWLodduIyf0YsGNZal2cadewPj8F77Qb9pmB6/rV2UGGf8Gf/OXsms/SqBDjTBwoyu82TkYuS2rDwkrARuZ8H0KoMOmT0cU2vj1Qs9BQRqQNWrIEtK6o0+9pBOa/4kg0MsxP4juWeCpP1h8ZKUgB/wY4AuJUx7cyAj8qG/oAldvlzZdg/LgrvDnpUOT+Hn4KY8+YgF90sl3wZk/V+m60g/Z2O7p9OUdsVUEHq5nPfpd8T9u+pPa52m+6rLX51jXU777w6Ne5H3mM5/tRd57tas3bwjXMY2a8L2AYVxBQy+X3Xjj+N1779dEPWe4+K2dPcGv//CbmVca9Mw/J30K69i2a9kzmSyFsV/0XYo6GRnBMy6tclLXne6yvwUevPQv+b7K9ClLjEb6XAg8+gQn8OQTBy+x36R9ZsjW3gEp9FzllC6cXa5xqcYag2sFo+Tjan+fVLnlZ9SK8EYVXS9/ePDY8ZraDauze0/4zC1n92qefHKnNn7qeE5tRjx57Nc16qoB/0Z9qu1G8b1ePtieurtrj/WlRb/1S270qVaSbblgPSe3TRfixrj6z7TVtLd01a4YXh7frqb+ly154YVe1Ffx3KWZaLzNKljoueNjD+X/+I//2IfsTegmgUwGOra0Nyqzy4c+TqTMAJHPoWQyb4N3JylHYvxDh8AXzCVtAMLTJY/mGFYekX/EWfPDb3QN79CFV+Ly3iZdy5Wtelwq2+oEx8UOylPXwMGkhcDE8JSlPHRrXlpY8VYeXXj4E1mhOxSfza40qW/kIFA3k8XPf/7zSy9ghC7xyryasHfw7OQ5m8fXxo/mQ9zSrshLvZ/UhOL8Y1W6t/dT99jCkLDq5hM1QvCiwzmdUhb8FSf0kXNJxtZ+K/1KG3hgeLjxSWj/5uN1KYO3tj+8VV7onhVHVnDCN3xSj5RHJrmxecoSH3nKH/ms+cgMfeLwUR78wFYcsBV+xE0+NGL4gYc28YpXHnE5e8jhcZ4uk9Cz6Q/snsqGd3R9CuEFAeG/smlY2UcfcWxH3/PdVLt69+7aoan2yP3vRkg/l4Utv8gN/r4xMOdn8XYN7vTBVfbz0uiic+Jn0cRHV1w8EpSvZYEnnpcYkttjY87wGUPgsfI56bl135TvvXnndUytfDTDqu+KG7xj+TG/0hzT4RH4kdbN8sDqycl2M4yG3Txm7WCzpco8Xp1TG8aouhmozZ/btbV3rx7j3i97Paw1weN6LFsDts5xce120dUH8428N7SJiznrI3zVyjWX4659Cr1S5O6yZ96DIeBBT3oZH5t/5Y/1G05N0n+c8V/rHBkdb4vHHfu3N/XSFnoqrvOm41roMapfIugFVe3Behzn47d282Kw2aUb4+sc+XwKWsFjOIZ2hUYMVwxvhRfoqaBcaDxv/ljstceU32j0lK14WzrljXTmz+4E+NBzHCrwdPjkxbacBbzzVmV0PMoLHH7rX3olBqtMR/7w+8YH267+iTNyNrrAQ5Sdq6HunrNxgoH36LouKJRki/5J3W2l87RshRUiL+0jdiXEHvDaJmUXE4U3bX/5y1+WH2inYE8cXLnQ36oD3T6n4vter7xSd4C1Y3u/bhb41YO6S4Tn5iCytTw+YN7Mdo7IR5NzFi98yYCXsCennS/ba8c90ncbF3F0V542lqZnApxdZg9NWxE9xhgrH4X0dp4vcqddtLcbn7nY0TVB/UffoXl6Igsv+Ls+G/kSpQx+aMACX1CvTMIN7REp8GfxC86Rds1fRY/2qrLQP6tc2W7XUJyPwydtn3za9TzV86Gjw9TjaItj/vncnoHRk/j4DqzU246QPvjmm2/2Extnshy/ObnbxpKe6m6h13WvGxTfWM3nVuzorfrCabxnqKQoOGiP9M8h7eKMC/igTxx++ufK92me+xgRPDyil9/vXvPoU7biP833aUjzeRrcELxW34qMK9BPYOPHhH1sPhVWwhnjZ4Xxg6pvPzmbuj2pOdYj1rLm1N2KrGxSfxwPn02wGqeBPaLtxVq9jesEno/Yw7VE9CsaN3xiT7s8tElTbVwrRbt5rnK0kls8Pc4t/4ydxdo19iXh9PNr0nRRraOTQjyE2BQYXXiCl9QD9m9vNq38G2vIoPMzJfOBW5O1xZk7nZ7EqkPbffuoDmCaxJ2/svixm4eW8eT3aybllDHsmu5G3xqyG3RzROm59qqstMrSSDC4zMsIR77ya6D7DHCzy3Is81uHcFzRL4+7uj5FAJ7ryH/ld64MLLyb32YndJF3ju5Ydg4Hj/CWhnOk067g8FYea32k+YrdPDcCfEi4WecbPepZ6cBDK+3FHy9gmGgEtM4KRV52jXceM5grz4eHeYJyfIOXO/UdNv6ylz9dV/JTLo02IXC+cA4evGMc3FLvKd4ZhOIv6iSQxe6xQ/BSFl0m3mkiq5lsfIIbWOKr4CnHa5UbuPh5tCtu0kfdAv848UorveY/qS7BT/xx5H/aOHRZ65T0y9AxvM/xBIvPeYPW75Jb6BnjfU6rlOqq4+Ea39/8f/NnN/1o8zWGyBFH9rPsF5zQBTcyj/CUn4vRrEFe/Y48LufH9isssvE6psHgRpZ5aM0rX0PwVph04GhdY9tJn9N5pQ8tWG7YK7WinNL0W8NKW1pc3KjHsGBlhYrLVoW8bx7UGoBNzdHNptL0bYZFUZ9fuVWLwkc3/J7yo4vblYf+8PH9ehToJbi6qb5ZP51X+FXDWqzVDe2N+/WiRs2ZDx0NK3g9KUQzcqe9sPd9vdim86VDxqOuQxGdtztpl8Na56SH92yCXMb+7cy98ELPhNJfOa/6cTATtp29LPS8WdUvaNShSwOAMhOTCz7ji7PQq2QHBgXDTxqOwMAJ4OsFLj84e2cKTmi7kTZ3I+MYunyRcyxf86te6KbD0XOfQOGHp5g+5IptSeOx8gl/5UXYWXTH0LwKmLLwXvGaxwaQPuanyN3QdBh5fFw5PzR0Y9uUF1bhXO4U0WN4zt+0X2SH985n/MadvXN5Fntw2XHOUw4fsPAPD7EFnrdsX3/zjbbph/VGM7iXYNCw6yq7D+BWeY0a9RR96ikrwEuQlL/RbzlX2r8un5gM+aMNQi9W7kpbR+/gdHkeb8DvIe2qwUM9XLMTnF289TwevvEjdtfvyACL7OgUHVoqpocAbw3HfMrwPQaw6QdPl13F58gj+fC/ii71Ep/DCf3Kb4UlvdLjk3zKz/EOz2fF6OKD4SUe/75s42fxuaosup4rTx3OlV0Ni07Tdqn3mWZuFmTwNU/lXn/rzUrPS3bO4B11Ywf7IGWQ2lAp/jX0Pqwz3Y5bONYzPjNvo2Me2Vfrerkk9v0kdMd2CO1R90iKjMTGwQSw0IM9Kx360CS/sDv5YPgnXvmiM05rn4zXs2sa7ImVu/T3/tv9e+gasD25mXRhbfNXYSz4KU3dasTydiwUC/saT2tWW0yilfWlwZ+b5xrDWofaofM0qOZBR5hvVx0e1qdY4hf905DlS08e1IsaBFzzCz9+Nxf7Wjtcu3XxqAhveP22gsfEdL3eP5tGwtQzY19Dqs54zb/Uocmv/PP0+mDGBgSnNruS+ren4AUXepfPuHFAhmWcNK7X6A0Ezt7pzMps068LPTDXDIjVDOORbSU0a17HHLxqNA037dm46QDi0MAXApN3lUs0nFwBvqvLtjR4eEqfC3QRQg9/ZM7kuvKLTnA8CkV7ffusivRavsoKXIzWJZ3rHG5wxMcQWOhnAYG3dvMYEM3Ec3emjnqzmN3Ecwh1Hh3msczcrYe/OPZdYbFJYHDc2Vvk2ZEbvebMZnBL4Kne0tHdboBdPTsCjgbwNf5lV7lll53hRpZ06Ef3zjWOlPrCzbXSTvlle27sFDVN+Deg/tDB1W3N7zaC8G/7GlRPj8Z238VjlZ86hLey2Cf8lJEVuaEJn+SHx74IDs/EwVv1TVlgxzjlYmUpX+FXpckLfuKrcD8OfOV3Dv9lyBi+l/1hlzV+FjsmJtf1PP12Pv9SqUO9ykfpPOPBtC/NjOP6nBFVX3Rezw29fvzoyRzb6X5YuPyyKLdJuMa/EkGKm3884N2q77qlbdYxsdA+lWB6qGptF23mGh34ZPLGO2P0jH+J0aZNKRjd096JlR1Dl1nDbP6wlofPCpO+il90EK92g5+y8AILH2O+4MWG+vLSHuBsugW404S+2hA53+jPNm0L+CbQ1rP4HLpsJtjgsA0nrk+m1fGZx/VCG3t6SaO0LX5V9qjWCrWqu/aojqbUgm4WsWXsehT+uB43P3a+us743SrQJmmarvi0LlaPW3jUNuC/1fcKnnooVucFtXhU+2Y8rjiPrtGwY9+oFF2nifDoeBd1KY1/QttywQv8nyt+wYWex2tYzAQmnU5tl08H1oAffjRv4969V1uy1ZDOUTk/5SyV3s6I/T2vchrf38PjtBDyFschGFzI1MS1b9OOPTSzMzYNadEyAyryllFyenexBpU4f2I40scwg9NAU54Y1I81m2z7O0JFbtFEFzAhuPgERhcfjpx6z0L2RtmuJ+2i4w+Rm07rw8zhhW/q4254zZOdMnHzrHqFNjqE5no7Pn5z1d9KT9dxjm3OcGSAoxmHnwuP8EM/Hy6Gs4a5Q4dHn7QTDJ1XW969+37t5v2qHu2/V+0z7XbTm1ltw1nw0f+VV15tn6KXen/1q1+9+PLv/G7f5f36vfrwZvnEa3feaOEGIHd+7gzt7+d7W/wu9oFRr3o1vnp16AWXFF/Yz9ChaehmS64Sm3YBbMBDUIfUXRE+JrXw67Lt23aBDW/8xqZEmyOzi9cHmTd/0BbOw+o3Bu35xqA6sa2+OfZM/dqkFKmAn/4gkB1fUw96iVOnq9KpG1o8cjXT+jN9NTkyL9tI9w7NPEqHW3K3G4n0g53DpMYWME0y1e8ZqYK/ZJC7yiJDMLB3KnqUe0R+cEInDqyJ689aBqavBDY4mx41xqFVxs/zGYa1Psq027PCziP9fybysXeNvz0+Tt86uXDXdfTwjcjLeg08sOjFKqmreNLqZqwdH2uazW79NmWxulHlt9rWZds6c+cj5H6VRj9/p45h5BEaHkjXs74+ieRtS7v5seEbb6jLjJ18y68ojA2nPdWGbl3/aszMP3TbebPV2P5kb5N3h80um1ke1pMm/EcG4LTb3PzW+Jnph03N6MbG4hVZ6KYthi/dwGZ+mvFDPVwJo//Uo4gDPtUL4FotaEan0A1eFiX8WMBrziBH7g6Xolv40EGaeuiE5tf1qnFCFavQtzPN250uPLiDXfzMu2OmKi+ZPVcYX5vdxU0LrcKPTfrGuXTIvGQ+8Z1P47M3rG9cq5ctSuaN+krH7RrzH3xQ3+X1SLfS5UK1RvhlIdZBvXrZ58arb5XseqRbj20fXKtfUSqlHlp/lA/2OLOcV64TPypZ43+Ni1t91efmk9v9TT/4rus+7OyOo+YBek/V+FrVY6tLf0uU/zBcWcDo1IvBio096uxtYC/4Nb36V7dmzwaMaYofwN7ewHydXp92eOGFXhyYkUxguTOTF7KLd+/e/DYimIq52gkLDa4rzgFHgAN+NMTkGaeWefWF7chKHFrxJw3hcU7uOV7pxOlEoaPjCgNPp8Mn5ZxwdQZl0UH6GI620IEENJFBztGWRz5Py4gDTjy7e9ppvDWLP45aouqaATh3+PhHt5X3CssiL3VnH/5hB8CO3lqXpMuMp8C3BIO7FzDsIKTe4JGLv/Qqe8WDewqnhd0J8okT4R2ZqV/kP4thJtLS/oSGLlfaEW9h9TdnYxuvRuujrOAf4RHizpZMg130T1n8Fm34pOwYr7RH3KtkrzxCn3gvm/oeeR7LV/9I2VVyW0YhXVUe+k8UnyaAjerkT/qRPpmJOv65OHRhfBxd4OQiZU9r91mJgMVW0gnVWxs/ZYGL4fGvCbv/yZ92erKy6BvrDbWjXcbI2/3zZp2r0jdv1+UTK+G1UhvzZoypCbUmSX3bxoB+H/+Dv9blWIfx4VlYhPeKs6aVH/NgY6oZO7cu1nhwXaeF8LZQrKVDMUIYe12+ocBTWPUeyPwN38JoQHQKfuLQpJzQPW1tstl7a/+1LLRi/HIFHlyxFxyaValDI1w1Ob95Vhg95yYGnxPP3LQm7hsNixncmvvgbvbrRVS5oEfFeN66XTq5+a6J8VrtCDuPVx5cPvJBLZ7K16/Vo1p1rke2jx+7UaiPJZNRoFtW5W46rAs8RLYItcDuXUt+Pn2kZuLWoX1/FCtZU9/r5MJjj17obfMr/V2Fpswis2pdkgD30LYeVjvwsLhbCv7Zki9tocdojJ4ds0zqYN7ENaHDYVd5ndkkk/6ibC5OU0bcnCcxi4xzTVkslPI4WuAfNw5P+OGReC27il/fFVRdMjihRSfvUiewlWfKurycZZUT+uBHro49bx0NBI2LfRMiZ43XsshJubKjnOThJh0eK37K4YTvihdcZbEBn5CPzeBY5HkBw4s66hK+aKTrfy/s5JWzmcdDXsCwqwceWZ2oP9FJfK4O8CInNL9pHBmp4+g8bYPns+Qrh59wTMuHb3DB2MBi10Kv4Yamhc/o9LTswbk8CuElrHrCy5UFdyOd+XPO/kddzpCd9F3pWwcLI3WpgWHV6WkeU4/C6iIy4R9lB77ySnrFfZr/J4QsC7qVMrLAJh377+2+4h/TaR+6pi5icLZb65D0yKlJT3B2qsPmKxU9rdOG0tHYMLwiv2bMDemy3njt/OhY563q6MTrr7/Zi7Zf1Rv0CYW6h0rT3w6PXbuP6izWh/fvXtz56E779i5376vRiTzpyN7lq9tMzAQ1PAu0S8J3NcKTLuf47ZiX7bbCpcMnccSlHquOQ2vccvN/ue96FRUuK680+432wC02hPh/pyO0MtEDXFh5DWT/C/e0sKt2aVwNWUF68oOfhU0vmwpnzgPOJkb35eAPetPif/TX0afqeb3mBAs1OPWpnnrFor+vZ8fPrunNW4/r6V892pd/UHNq7QBeq3XDxeN6SaNs9/BhLWHqcf8NNsNjW+h5XCuMnN0eqc/pzfBt187CbcJm2GQrTv3DK/GC0smx+YnRsbjXOmm3pwo/ZcALL/Sin0Z2mRgs9nLuglEs8lwmJ8ZQruFN+O0cxST0GjfpGDQxeNKnnaS6/QBbr+g0hk/u+XF4B1M+HTWwY0zGOTmBh2dw8HMln3jlm7qAqXN4Nc4mL3TKrwpwIh9O0iv/wM/B0GeiDy38yF75B6ZcCL/Q0ROv2BMczLk6izyLf4GPHBevaMJH2gsY3vCza+C3ahOCs+oCFnjwEq/6B/ZJ4yMPsiL/WHaO91X6Ree0L17qrs9koezRrKMDawhd4pRFJ/lJz4AUeOJz+IGdiyNHnHR4iQNDG7g0+Jrf0+f7E5rnhZZ3QFr16nSVN17J/+cOex3Vf6SvsGfp81Q9NvuBrwG/SzwXOcFVnvSRVn7o94l+cC7LCR0+8VFpPqoPuwmT99NoyrMAW2XrujdqhoVnTjAG3Hn1w14o4gN3dNk0KLw19M5NL+z28UE5fglr+hyMnFX/4B9lhzbxjjeQVc8NctIjuOBHvtmZS1nilQZsDcNjh1yFu+q04gQu7p2r3Vw700qtNGsaUniEIOWJA08Mn601TXDmvFyt4GoxfuPmq1VuwVkLv1oD2E27yW8e1WLOmqA+v/KkdvQeXa8Pbde4d6Me/+L1+Imz2L7OUGdF63LE6Xo99ibLzcnD0/i439Bqb//o4eiB0Dt5peNVAe6xznDbftuN9tGMK7tsaF3F/9OGv/BCz+Rt4nGIcQ5k7tvwFnsMbuLOJG+BNucbZuJnAEYEm7MGAwdzCUl3A9XgMAPHlN+q39BNefDRnGsU8E8jRG5iMpIWx8nZYhxwtGiczRs4jKsIu1DZygOw6134+HHoNaS+oVnzYMd88EiTPuU3+fADTxlY+KQe05ajScpWOmnwabt9B4JPOLDtBQyPbRPCQ1565QXmpQs7emI6GChX/eAkRG7yn1ZMTi4y6CUvRLfO1J/Ak9cvjrCUsZmAn2td5KHBG31uji7bavxo5T3p0csk+awQXs/CSdmxjvLR71iG5mmdCljjh4FeOEfTBf3nst/3EaGC49l8h0Xx2CmSFm9W2Qo35B31k6d6J+9qPtpNONZpc4+n4EcFQpc45cmX9wd0No6t4U96/CZwTwk6bI/OWGjKLtv5KebbDmZ/SHzjUaN410edvQxlsZcF30cf0XP8Gf/oPz4+cJ9m8bbuK/WbqDf9+kEf4LzCtpv80Qv9wQ7bTt4Kjsy1LiuMXrFL0uv4ttIlHbsmBh+e9DE2Jb+PCZExPOxAWuD4O/8GPuOaBU8CutrEah0Djf/DSV1W/oGtPKRTv5q0t3knGB8vzhP9npOqkpET2WKw9ZeTVpykH9fj2ap2Lc5qd5cP2uErm+WzLTI1VRSKR7G1GfCkjuvUI9t+gaPwHj/2ob1btbFUb+TWBHqz/OJmvaHRm0pe3HAWfnECox6dnd3uvmmdya5F2/nN3Vq/re0qah3B/EvdGly+Pt4rV6F42ZUV/TaFF17oqQwDMF4bsCaePGJzl9ZGrDI4yaPRgSwE+8eIGbAbbXiEnzhGlR74Liuyj/jgQmgn9/y/8NdwzK9l59L0OBfw4USu8Ex9dO0EMPmUidv5NgR5AY/G3fQNz5Q1Uv0J/jEPnquYpfgS/pEWUmCr/BV2YrThnmRUftWRn9jhtcizo2exIgRHneEEho8yndciz+TRNxeFEPmNfPizyl+LIgfsWfQrzVXpyAjPxB+Xb/BCFznhm907dXfFh9jMpa+l38lvLnKyZfit/Nf0sTz6RH7KnxXjt9Id82gDW2WjifuBH8tCd1n27q/gBt41RE5gq15dp60geJe5herlx+fqRsoKPyc1+itb08EN7MjnlN/MI7/irunmdbD/kX/yp3hzNHwjy88Bhq/d5ps3H1+88fpb7Z/G/jl4fuLQCT4b3fiyXT03cR7/jq/vPMM78hKDP5Xe6huay1Iv23KlhxdeE1/2r/AJjvOFCSufq+Sicylf8fE4R3PEiayWX4ua1f+jU2K4a1r+Kn7KjgFtdFrT8MLH2COd/CpP2oJwpU154jmnSc68NPG4fg7NLOglwRv1KBffG+VHN8u3Htbz3McX9Y3VJ7VsqZ28a49rV69epnlQZY/r59Es9B7V5ea/tKrHuXliWL18u5GJnmK6+8TWhInBBX/Xtm3g9ic4K6zrU/UdyrXktyP9wgu9LEQYTUd9UD9ncqsa5kY1lOfstR7vDgtPZxe72xP8Csbj7Y6F8XIpYziX+Z7tx/4WSs51zIIJPrlrAItOK/yqNPw43bn4yP/IJ3qu8JXPqmsGtRW3z921gwyUg67/btfkfs4u+THpHCINz+Ae9QYXjnFgR3jqEFuGrzi84ZweoTf3/c+KDxo7idHbzbPIc0ZPsKBBw0YCufLz0eTZNbbI8zNn60sYkYNGWhi9pl1XWBe+5D+rvuQmxEbJr2VgySORzqUsOkuzA9tkoQdPOblk+OkpsQs8tOGffEnB7iS3M9ufVbb0UfcV95iOPit8l3m5LqtOSRsjOr0820g9xA72PysY1MNLzAM6XmwRfuET/UIX+KcRR9bKe4U9T4eUo0l65VWe09mUiSe9jYvTJU44q2zA0EGbsoWgYOn/cCdsPn7aUctTin0cDk+xPuuG3gLO+F8cN5n71wHmrKljIk9qXLhbuM74vd79nEx81p01emYnsl/IqPwpnNKbnqeCPbHaIP131Tnl06d2OqngnaA1Hy3Sy4ZTkh3z4DtjZ3duXm4zhk7/vV4L4vTd8ERDh756lzttX8z9J6Ttb5Ece57RbdE3/Mho+k0YK6154Jaf8tJFMCd1vFUwOh7HitQ3uBnHIx+70NrhZY/+aoDFmjGs98fKh9mr0rdqZ7fAvXjzSxl1mrPS9esr9Rj3Sb2BW99fKFOYK4pxXT6qLNmfZilhfplkdBr9dZfWZatPV+rwZ8pH5vqUIXqvMdLhvzPp8pKzdc294F8w9cILvVSScXQaiz2xvCA2SYl1eHF2Y+Yu7+kBAl0GGPzWEMcJzDN9PF0vI6hPro/D74gbPQKPvmtnBlOeOj5LThZAax3DWxx54SEfWdJwjiE0x/LA4acs8tOhwZOGN5+5eFpGeIRndA5c2xv87exZ+Lv4B97BRctG/ElsJ8/btvwpfKJL5AR+tI3yc7ZoRi/wJ7qt/KXpJY6vXyUidU18xANXd3zCi0z89Q0XObnQp55i8OTP8Q7+ipM02ueFc7gr3So/8NDgHdgqByzXirviHNNX4Z3jH1pl5z03GC8eH+Uf888bA9Sr9dziVaOu87ajtC8ijF/afB7umTCPMvEI31NZGWLSl8fS+NwuNxabOJ/64Srom8eyCHFTpm+rJ5m54EeHwOLXxgZpvHLYn/zRb/Hv7fkh+pSfS3fh9ic8Ast4Ix994KT/nuy4yQhd5MBLQBd4aXuqa8oTw4uMvDkvn7Cmj7BT2YZuISOQu8vebcXuoRHnOvE9LuC2HhF+oQ1+YvBVHvgxD0Z+2nJoLuuKBhyOVmSGWVxl/KxHsfW81edWHtfbuOz9qL60ce1RfW+1fh/tycN7tdCr9QU+jpDVjuDjh9vNavWBV199hRqlW0fP/ZP6Mm9Zq/V5FvGxzsk/T5772tNm4nO1enGEF17oRQWT79poJiATt0YRlOn0wizwZhJn2BjX8/zkE7szSvm5uAe45t+s5w8juirn3N9u/HKGguUNJvyi00J9SqJbFxXwwTJoiR/Ud7BubpOwcvXO1nHV5uL+g/2XQPItPHh9lfO1g2888VsDWfCEE03lMwiBZ3cLnxWO1iBNH2lBuUtIedL4p1xaeTppE2w0wQ9svtU2+qFfbYNP8vixpbzF3bvvvnvx85//vGXykwTlCfTPzYF62s1zp48veOpALpgQedKRn7RYAEcrwJdfeaTu4vBNWj4w9PEPaTwS4LsS0Kz5wMXhlzhldGOD1Cn04pQ5q5K2Rxd86bU9Qgu+yoHvgsum4sDEWUiGLnzELn05+PE1eUFeGl7qED7k0CO4TbD9CW9ZeALYGlKH4KYcPGXw6WChoVy6lg/dZidY/ZLKs8LKd8ULvDxoBbccZbn8UgR9Ut8gs4eQR1eBD2wbH4qO32vfXHih5Xf6nqMvdsfB3qpfpvCNMmde0y7OC6ENnViZwPZs0mG6T+s9bTUACxE4vncnGG/Jvl1no2/ferXS8/F71YHnm3j0qam78Uqx7rfeqv2nf/qn1oXt8eBvw394S9uZmY+nv1OT9O2LN+vmbuozN3voLAR8WDlj3xtvvN56e0Lg5jFto57cRp2Fc/HU9bJvwQ0PNrq67cp/twV1869ak9FX7T2Rasd6wtZmDFWhv/0orrNi5qPZ8TNma9f56cce46qu8vTpvlCL6Pat3umbj00rdwnRVb1c2j51UU43OCeeW14ZPLb1tMiOaewF7ltx6JwRFLcOiCoc+YOF1tut0rudpx54pO/cqB+8NVe6+nM25QOzFihZ9bqtN7PvvFLjYO3iPb5fL3s+9AsZsOvJ4O3XSt9X6hExB7x+8VGx9TLHzVve3p73A9T1ZvG4vrQVHYWndd99YS0b7MGfuk8f9zLg41rj3KzPwtysHz+o1c1e93KA9rydZZ8/zAKvWnLKw/xTjF94oacRVVzs0oBJJz7qv8KlhcAShyblyX/SeHewvVHDM3F4dgNWXRKDp25JyyedeMUnLx1B+QxMlyfsyBW7whO+sPIbyA7DOzJWPsFb4/AHC0/x8+iCLw6udMJRXzjhDyfp2D6DjQ5HfwO36zTJhPGZGA+X3TwDe3gEblGdEL3E5/QO3m8an+MbmVfxpG8CnaIXOwjndkRXnuhjx/BZY/614q+4R33lleOJTmxSBk+ZODprNwFsjaXXuqROga9xeB9xzvFE96wQmpUXfPq6lJ8G0a2efExdBRPn/XrUDY/9XcsY3Dif1p9V96Rb38V/r5IdW8fn08aP67MkD+uwufNsHpG6lDnu4GYK3d1qX/WMzcSr3DVtWhp1+Ob4BJsJ2ZVz45yFo8Xem2+8WTTsOYt6uN6h4FcP6ibXT2BqG32XnvSiT6l58is0CdFTu5FtnCAPD3VTbgE39bi4+OIXv3h64QMNuNiCz7EQNkkdE0fWMQ8e+cE55tE8D+/IN7qK1X2lbx8snup3uXxgsKPDxLvHyp/TJ7AWdPij7Fguj5fr6CvIgz/llxlqkxWH38BLWGkDSzxlVe9e7hSNzpsOvCF5NO9nQq+VU/mA8X0fJe52Ltz6TdzrT+pHGJ7US5/1GHde5tCni1c/Gq+l1OYzq06RLwaPjiv8Zab3FhuuvZv3MgV8DF4vYaHHcaYDMpqLs+TyJm4HziRRZxqEqwzfZw82PpwmIfh7rMy1O1Vw1ziNmFiZND5HmHyu4K044RsccQbd4B1h2TmAF1x8yHfZYRC68RedIsN9S6e3DpXfxg19Oqb8uaA8k2B0DM05fLDIpm8G9eCGR3ACT3yE42HAzmBvAnDn7UWMLCRCey7GzyLPJ1VOb9pudcLzwTa4Ry55gvxVNjkn5yoYPgn4fVK+R/xz+fCPrMTgWciFjg5pP2k2SGj9+nHW+IKbfm4xVQBDO9jxRXxzrbbTNibUVf6qA1kuIfCkE4OH54q/lktfDtN+KwyfY8iYg7+LHciwEyBvUeEy6adM+cMqX+33NOejpE+Wj03OUanHsS7H/EqnbOUX+tAoM4J8/gtf6l+Jsdutr+lfvk2pj/UOTVdSe/WyoUSMLyRm3lXOSQcH2Muf+MK1GsftrODnF2q+8pWvXHz969+4+OY3vtWLsV/W9/Ls2P3qnV9Un4Q3O094eYM2xy7mt3DnxQw4E7LrJD/tox52B++8/lp9RLduTOoDudpR3fGywPMLHL/7u7/bbUy+Ny+d8bMzqO2NF7HVJuip6Gy9Nyy0KT/Hp8u2PhDGsWXw+doE9WL3fSOk61pt4u3illW4D2uhY0eqbVNdOy8LxGfjr+aF+Dr+yvGIXDD6BS6/lskr8+gXXupZWIpO+bRRypMXR+fwnXw0HB4N22w0PFZZhdPStHuNraf5vvJF4wgCGj7I72qDrnYW68WMsuEDn02pX8d4fLPmluu12PMx5fKTa31soDYU3HzUTVDvTp78jBj6uYqZSXcLqV9JPNmpZWvQ/w3CS1jojbEYxRWHNDhIx9F2o+0NvcO068Ar6jTbruWrrcHjkCv8XJp8gcPFISMr+Clb47UsafGKI62TxumVS696rxNx6MUJJzfqOgU6cvCif/iTx0c73lDXuoxddh4pCzy6ByNw+ZVnysUrzgoPr/WQNFh0DW7sIc8W/CK/hBGcZ8V4GrBNYhbN7BGdokNkJC+O3z2L98cpw0sgUzqyPw4tHPVNWPUL3809T/YPTmhW/yFbvXJNfvpf+JWmzSt58tknfE4vP2wCTIhw8YodV9nRR1nwIl8ceMrQggl4rnB5ASxx0g0Y6J5cUvBWXKzk8zLTSaeqvzrxF7s5ZLpmh2l2gi7pMSotkj5ZMjqF5znq6P48HLRwVp7qJYBJh4e+YJfsW7/3exd/9Effufh3/+4P6/zqq/0zgj/60Y8u/vZv//bi+9///sWva1eLC9qJW3+lIzLEkZlv3ZkA2yw1KZKT3TV2tbj6xjd+7+KP//iPL/7wD/+wFlpfuXj3nV9f/P3f//3Fn/5//8/Fe79+p23tgD39HtWjazcLFmdvvPFaL8TstqkL3vyTDtGnK1t/stD77MPPdf/3yRXjwFtvfvbi27//exf/8T/88cW/+lf/qr+naYH553/+572w/cUvaqHZNyi3+uaQrAT1jP0Sp/5wApOOPsa3pMUrPrxzYfDHx1Me3sfxYLN0o8Gp/6d05A48uu99ig09kkx5ZK10YMoDW/vrWpZyN1CBd+Lwh35w1wvKKV99P/qIea+y+DHY5UBe6dcLLyX7/InOL6t4AeNG+eKTetvWkcQb12tBzJ8fWuDVbyrbzTPm1A3GNd/XuzZv7hZG+57jLeTDWR/fti4WfpebavSnygEO9ElD33e/BD6fVO4R/4UXehhOw2qIGTQYtRu54pRrtJNhy4LuRBMGXg3VTjCO0LBCSBw+/XYN+s1hiu1zQ5wwiPICHq7kxZmkjrjKgit9upxp2PihWdPR8ejkcMDaTrZdKnBK4fp2NxfdQttlOlH9Cy5YyiMLTDjmB/rJ/9I1uoQ6dZx49JZ2rQNJ8CwyDPb4eHRj8DXggZtEnhXQGeBNGvihU2dy8MMj+kUH/AJ7Fu/fpCx1Cu0xH/gxXvHW9IoHngt8xVPn46WOD+pDohMSjz8b99D7PUkxO7XNardDfPv2qz3R8jx5vE2u2gNfMJdJU7zqsgnsCDxl8ASyElKWvDg0l8uGdsVLOviTj7y97z72c3z170Y9snzz9TcuvvSlL/WOk0WJl3f4289+9rOLH/7whxcf1ecYLPrUsbwkIn7jmG5YVbTx3FmRsdYx6ZadJxu1UxY4yuG368Xf0xaj8zxGdV7VQvZf/+s/6IXen/zJ/1WL2zu1q/bLXlB98MGv6xzsry7u1a9NPOhvidV4u+kzb36SZhdo7HBJp66PeulrE/st7jfefO3iG9/82sW//6M/vPiP//HfX/ybf/Nvi/76xec+97nedfunX/z84rvf/W750IP2o/RN+vtdW4s9ffnDD+sA/V7F0kNfps+MNVL8ULvZnTQG6P9vvvl67V5+9uLLX/7Sxde/8dXW5ctf/vLFF774uf5VjR/+6PsXP/3pT5uOLwuRE9uJk1Yenw1MnPaYeBQNLHhonx1CN1j0OEfr477gfslhjqHoe9N/9Em2EeA0fWWtTc65bvivPgQmnwuvpMXaShwfW8ul0WfcGf6jz+iGGawJXV74QmTk3P1gXP4LZ90oUOoBYI02RT87lI+cDa1FHT9kiltlr1duVbr87kEvwt28VR28oOER7kV9ZqW+q+dGg52m/xjTZqnTtiOHXSoencWjMx1eJOCfkfhZfMj+5wwvvNBLg4rXwICuI3zFkW5Db3FoEisPffDAPknIpBM+oT3yU87Zxa6UX5UPvJCbZfBllAlgrnSUwMWBzcK10ftPSe8ymXSmlU/gfRh1492EV/w56Vnl4RPUVZ/AjnFwwEMvTpAOTmRl8JRXB4O7drDIM3CLP25A68pCkTz8066Br/zIjE4r/DdJr3UN/SfhTT8Bn/Ba2zVn9GK7NQ4dfANWFrnhozwLgZIgG3fsNDuRL4Zn8qzlUNvTpCiTJakAAEAASURBVDu7XnWYudpJm/iFEu1jkoyOactmuPxBs5bJJyQtXnUNPHjKdh47fcoTh27i4TnpqTM+8hY+X//GN2rx868vfv/3f//0eM9jzP/5P/9n6/JhnRvzmE99my5CfuPYeDHtGxap82W9UzrjQ3nDyN/sFtzQwgbTbmKXtnSpp4XeW595o8of9E7WT3/6k97B8rjW40v4Fkf6SWzcN9f1bTFlsdlJKwvPmqVGvhv1KeEz+Lzyyp3eKaXPO+/+8uKv//qvL37yk5/UzcIrtdD7fPsWCm85wkfnA8heQHN+L/p4wcIZwgcPHNKfg/pV0xa21l3aTYZLHe7cmTN+9+59cPG9732vF3N/9Vd/cfGd7/xR8/aUwKLeotNCXt5C0Q1NAp6RkTi2gBOYODYL7RorR+c6GWpFWNIr/4ADaz4bUH+L3Cnfx/+Ws+HBSd9c+YUn2FounbqEDx5smrwYzuTjA8M9ZXLosvCc0vHRvayRTnwvwTeCyFzLIhdM2pc0am+ul7i3y1e6Pi27PtVWZz5v14sZ12rBd7texrhfiz3Hwa7V27bXn9wpKv2ldjq5FH8u33v8eN8MIOOqoH7+Cf5OanyzgS/yB7OXxOo3UeOlLPQieBrMin9W/Zfhl50C7jhOHOhqK8TBLuOH+/Pj0etq+TjAWS8w8kIrL6w4XbbVI7oN1tCCuTjqOmDrVIFV0SWe9YsviOsNo7kvSCeFH11ar3KcVWbKIl+sPPTSLnzEqQe80IILK250DWzFDX4TbX+Uo1EW2RZq8hYS3ra1kJBnk+cFk5oB3GMeNPhLG6jQS6uToDzh4/AO7rPilSfZqX/itfxZfJShWfHD40gHnjITpvqJ1Sl1ZdvgTTw2nzf49lGF7Yd+2t1E/Du/8zsX3/rW73f8+c9/tvlqG4/6fvCDH/T5rsiNHtE7cdqYTkmTAz8xXNeqp7qGR+Jj/c/l80hJGX6hHXkjg5+o2+/V48xvf/vb/ZjRYtbiyGLP7yPLO+A/Nqk7/drxfJGw65Lxa/fB6BidG7cmoobvaE+JhyfAk2ZjMV/3+NRCSrCg8djyL/7yzy5+9OMf9AJevdTvnXferXq7IeJLI6z51WMvoUVY3GVKO+kzftJINeXeunW7FpV+bvBOLdw+7F1Rffhv/uZvLh7WbvJrr71x8YUveCHCY+P5KUPtYAFqoUVm3iilD93V42HVqe0wgpZ05o7R48GD++X79VHcWvBZvFnE/vCH37/4y7+0S33r4r//9/+3F714kv+gHud5zPvgwSw2U/fjnLSJ7ajbpfQ8hrTDCl917nKG7EXy9L8VV1rf0Cahk08Y+LQHGH6ROXYb2zVNldHQDb58cOGFJxhfiazwEgcnfMH0i9u18FZWHFstO2wZZ+CuPCY9+nsk6bwr2vBUH0rCC13DmvPA6+9JP+AxR8kJH2dLKjTPLh/d7JQ9ZMfqr46a3r5ZT3jqMe2DuzUu1iKvvq1SZ/K8fW5Hr/q1b+wV0bVa5K32b+Yv8Y+NRrrlei7ruNmY+7noLwvhpS300rBHxQJPrFxafTveOlicJTE86ZUObA3KOc6zgkYOj8RDN/zTATIQ2GGZzVedCa27Ac43+Ynp7o6oOmKVrDqvMiKHfkmvsbTXs7ujjcdD7aDDKV/5pUycjrnirOWRg37lETjcwMUrXFn4rvSBB/cYBzd84atb7vAt8PIWXXiJnxUsVExuWdjhbVCXF/AHo0uu6PEsvh+3LHVc6/RJ+Bs0hdCLd59z931Zk+CFhv/ikUsePb3Ci+tYCNmxyaO27BSz1ejg7dPbtRD6Uu2C/NuLP/nj/3zxB3/wB23b+x/du/iHf/iHPjR/78MPLuRNXmSZYMcGZd9+jLf7JPnK4Qmxf/QLXFnaSVpQljoM5Nn9uLgPWvf3SXf9yw1m0cCu9bkhZ7nu1L2+g9k1G9mh9LNafXNR9uE3bMKn6HS/vsP1YiF6neeS9jzGY9OhSZmc9LHMohuM7rGtfvT+Bw8vfvlP/3jx0d/VG671oXr1vVUTYBZTY3Pj1PSVluaw+rYwcRbPDm99lKzbtvaHC8VEPj4L3wLvrbc+27Lff98C8r3eDX31ldfapnfvfr8fycbPyLSgs2PcvlM7KvxvFpz7riTeU8+n233sMXawQ2nhqE7qrx3xg6Nev/rVn1585q05x6fMJYwe+256VbLhsW/iBi5/6DTyBzhyhlbZ6DztVCrUBL934BPP2LdYrLxwDL/pk0VfH4mma63HO4h8BN9vr2oF/SQ0g5F+s71tv7kfHulv0RG+drGgy3gZfvz/9u3qK6/VLlhVxHyizI8Y8Lf4XPo3nhZ30aX5FMxvxdao06q1XP0aP8apy4slgnpZFKEXomP4oRGubzYuS9e/Jihg8Sl7eBzr5TtjnBeDbtbvJF+rN29Nz4/7ZqZ897qfRKvfAK/x0OPZ69ed2WvWm/ypR/s8MDrqb/L31lxoNrRmQ6XN5jDYZKp4pNzp9ajN/Qa46TOZf56/L7zQswjiFOVn1QF96NJW+2vdybsRt3rkUaOsRk5Dx/HYea0/OBxnF4ZmH3zkx0EqUcVxnsThLfaNOyGwzmx/4HOY0UGn8GjkdtdhE1tlzhwN3MJOnme4mzR43a/vQ0VXnQlPnZi8dD4wnQ1eOlH0uL2d0XhS3+PjbO5s4HNzlfPYIwE81/SBkbWhBu1S3IN86XKq/3b+g6ypym5XvFOHMGldin5sNHfRwcHz9u0ZkJV76037G5RnIr3Rj5m8IffRRw97t8huAPtYwLnjZxc2EfDFEy8DlDdtv/SlLzSOx0DsadBnE3735puz24eXAclFX3f+v/hFfb6lHtNdr63/qfvwPdWrDHiyZRmQWUp0h2JRoazDHv0MYIWbCOQH+UGdH8FHENNRKE/ovLp02CaEbtX6sw8Wg1+Qln9Cr4FKCL064J0Jc2RWncqW+Z1Gb6bx1da9ZDy0G1I+2vYsO7PlH37n39RB+n9fB9m/URPk6z2IPqyPj6LxbbJXX71ZMV2cs7KIG7vhwZfooLpuvMG0dYL2E9KGdPToLPlpB3aaX8eZOmz22ehCLxZiT/YefLZmRXo8ufjg7rvta29UXT7zube6Dh5jfu97f9+7ePfu3S9/eK8eb1rs6asX9U2u2lGq9Ef35hMe8zapM4nTf6Mn+WnnkT1tLD120P/GH+TZgw+hpxuYvNj5trfeeqt9/h//sRZntSCxGHrk/Fzj7/6Ijyv9Aj3b6iv6jrdRU/6g6jE7d3a8H13cu+tM5d3mrV98eLeOSdTEeKveWn1YZxnJ43wnF6Zf8SajXLl3xPCOTHS/+sU7J3k3ahJ9/70PLt6vXyfotyFrHPzVr37RuvIFO/DXa7Kl72uvv9q69kxbvkn/N+pbfx9+dL+/L3r/QzsxpcDWl9rc5YdAbOwyzt69+2E9Cfh1/5xavXdZdRhfNEbQ1eLzev3YPZlgo3vZ/I1bvevJjllYKaMH3uweO4rllSsTxg6jhzy95tJmc26svbGANgUEfVDAy8XQbafu3/sY5EaM3/U4UKRDVXSVKEocZgyp8YesR9np2uxisU7P8oyqW7VbnT0Vpn61uNt8uXGqTsLohI5fzg2kM45f+9pXqt+/1o/i/+HHP+mF/MP71/um/HaNJ49LVpmnF4N4sEuvbrY6PuE4NU74piBf9MaE79pZ2Jl/2Z76VZPelZOnpzniYfWfaZ95ygPucT/72ATx+aBRvvhVXW/VLt7NrR0+uvtB7+5dK79+XPPOg8Int9Z/F9e9qV2LvFJ6+kz1k9vFwdGBW6UjnecqXcuOVcN+UaMXqSW//aPaMu3IXv3FC32n6ulsZeMUvFL9vb+H/amX8qHipenbFTb1pxL1Nw19AvzzJF54oaeyV10xkqokLU5ezGmO9OAavGkqHRrwNaB7Xlhpg594aPeO3V5RwJnQNOhMXLdv1wcZSx8OaqJ1l2CgNnm8Vh/rFNZ6SLsiu+uxdYpG3v7QY8VLGbgr9IFfGRstcttyQAqP6KD4Uv239gCHE7nBCX3ywQu/tBO4AXTuFGe3BMyB+K997Ws1GbzbdXU2Krbqjr4t8uBGtrQyE2H4R7fY1oDuMdyf/Mmf9ASKr8dYHt/gYyfHwi8h9ZBXnivlv2lMP7wSIoeXJ52yc/FKu6ZDCya9l+0jR8rwNcnPb4luuCaCGnKch3rttTf78ZbHmp///OfKrs481qBZg+E7NYFaODj7ZJF+sxZ7d+rtzfsfvXpx/f61Wjj4zl7k66uzGMqERoddt73OabdzdT4HS32PZWvdByc3JlXfGlD5iPNbLo/1vv/9ty9+9KMf1OLubp9d00/zxi2dLH4sCKR9B+7996cPRu6xPVPPlIuPOKl/2mNsslPQ29jBH8Wp09DFtju+1NT1aRj69TJJequwlvXdr/QP+lmAurlSV6GWTHWRNX7SE05/iqJk1YzMhUcmXjVxd5iXcSTxxbPldRPUrlrRPa4D8MrQpm+Ke3ex+ij5gcOhm3HCdb/epsyY2+LO/NGv4X50v3aZXrGh4KWu6RNeNGILYeppbOajmYSnr6R94K1p+eiesmm7vT93XRYfT7uc8EpEeE4c27GJa3Stql8KcMPLrpD0k1oZ9MJvW2Ag0GqPG17lm1oWI9Mn69NV9y2Wq822hV/z2dqCDLYTwI/toNwLO1/84ufruMO3e5z+3hfersfif3nx83d/1rbVXgK9LDZt2MQm3Y/Aq1wdBItULxT613UpuT62XN8yLjo+Mz6Ab3Slh0tIfEq3LdpziwGbNVoJqsVi2aaGsbaF/KNaaF2rMczVGyc3ZgOhyHrxZcHKX66XYnX73zf384MOMx7g/KRWiV0HOlWePvS0yBO6TpUEU1vQJw1Uej7AHOq9/BxsL335qRde6FFJo6WBEkfVMcgYJg2rLPCkVzppFxyr+pSFJuVoU5Y4MLhgicGF0CYuv7sED04GJM5sUcFBsmMknztHTp+BN/qBSefCM2WRKxYKtco6WXYE07Gmc1XJFJz+Ko+zi0fOoB1xL/PYdbmMp+NmkBgxo1d0ulY/Hi1E79K48wawwNnIBYfdpO1eWIj95//8f9dbcl+++LM/+7OeJJSxjwkj6fCJjQxOJnA7evjFnvjDQWtnz8Fr57G++c1vNt736pC2y+TuwL2dPcYN31Z4+5P69HceU9nEp2459t7pps7aIIF+a8ijCosQgZwO26Q6GX8P5XtBp6Jz9NyLp28EnoE8O0jUoZNdGjh2U/GycJb+9re/3fEvfuFA/d9c/PBHP+k7dwO+RbJHZY9rQseX3e9fnzvtoy/inbbedZsUeWjXAD9hTaeeKTvmwY8w+b5qirHAtXjTZz744N62cze/rTqLhPmWHn302Zv1O9zpX2m7+BdZbbulTd3YHeXDE9RDtdb6JB14dOWz9MnNR+Rot4TQJi9GHzg98QETG3ee1OQpVpZ6wJ+F3kfdD/GxY803Lc4EOC40Yo/9o2v6Nrzoy2YnOTXuWFyow4OPLj+6h69f9xhZPnTjxvxKB338UL2Fmt0jl91W3zp7VjA+6c8u8u3wketzMXQHSyA3oap0qmPqqn574AeX/TR44gQyyFthaZOBnfePyEqblDbNcuezySidyvL9jyuQVcIaN3Lo2XQFDn1jmLxaP31xxuDoGjyMVl3mLVd2GD/64Q9/2L70mfpszXe+850eS32e5x/rLXU3fWj7qvHKmPaoZMrfLD3ZO+Nc5JA78sbW0qPTrgc6eGMblFPvoRu802K97FZVLJ6DF5yxZz1RqB2++4/MEfBKG4u8epJx42ZZtXzjevV3WrIpWv7SC73akaPHw7oZ0jThm7d9R9r8pat/HYoHXPqI7T7+rxBeykIvRhJrvFwMsJmnbRHngxeHaCOWIRNSJp+yFRb4GksLK/+BzF/06QBrrNTv552cqvDgCiY6k6NJJJOpxYeBDE4mzl/VG2gZdFd98ZBfB6LA6JB0J5Y/eOdawKe6BTZ6plMFusZTD7IGN/bZbW2SccYkdluppcG1pbDabfSfwc9W/UygszAgi82++tX6/EG9Afmtb32rae22+ckznQu+M0bslkAWWvLY22Mg9g48eInZ32JSuUP2FoUmUgsVsrJz48et8Y0N0KP5tMLOe2Ts+csSM3Cs7QOjVL0UjuWlfeuPr+tW2WHqNu3ItdjPR2rRepQmsJVLmXb4q7/6H734/sUv6wB7+bTHmoJydH33viiz23DOuUVRuGuInVf40QbRfaVL+ogbeGL+QUbGmEq1H1kICHxKGfl8xKNjfRCM74GHPh9zTz6y4UiDr64iv4Yp39sjckO3yqIX/8x4EBnBwTfyVxnRey0HI8OFPnk48qknfspWuIVTdIg8fMrzTjzhK3NNGche96GbcvxXXPXMYo8eN+rpx/W6WfDiBl7y+uadV+ulmNv1geNHc0Zyl0PWTKIjZ9J0hqN+fPRJPa6Tj2zwy+nhE/uE10Cf/rvSwz3qE4pz8Gfxjv2NBtEPrzZ5mG6xe2cX3Fi761x56/O+J0B42vGbn5lrO9cjVnF0QZcLe3qkH8in7KN60cUb6Rbc2s44mnnP0ZqcFW892LgfJVc7lI1WPqkQvOiQcvnsjE962mradLdLdBIL3XaqWzcIvTNacxXrjIxG6aM1t2rHUF/ulzXqEbbv6Pm+3sWNejGjjqDUqNY7zOjIpMMtu6S1BPSdvmvXx7fALfTiM2JXh9Kjy7t1xn57Kw3Kb/Pfl7bQ40gMKY5TqfjtmtSnYfbOw2CBJQ0XTECfoPwYAuu4aMSBwU06/JIPn+QnJnMWe2KODe7xrDNLvv9kIWFXyi6SnSJ3QXaLvJEGtxdMpUfqJI6DxC67zO1Rio7b124XdMGnq/TaecFSp8TVDYCvDKMfGbucwKbe9Ec+do6eDamC2ANcnWZQ2e8ewejiMoCz0Re+8IW2lx0kj1CdSfJB09w9WsDtYTo9+dPuOteciXReclwBDnsZyJxV8kKGw9kmjdc6tmNw//6DekznW3Da04KyPthak2spN1eE9u6a+uYavyukDWNssZeHcIUPzO6XUBs/JXP3w2t1lknY22l8OhxO7dYL7cLbdlqaqP6oL9qpt7abEjclgkdjKdtKWr5HsgZqLyWYELWXR+cueQs87eCu3cdlHa8x+Hlsqy3RohlYP5SpNlC+TRz6B/nP2Ymi0173sc3oeXU65WscHmybND+hn/jNOpvHD3yuY/zHxDD+ycb3P9x3nKoadWOn3OJoDMomFiZow1+5IB/Ymo4u6RNiYfj6lMjUETw4PRFZ7NQYw74CnqFtwPZnhdEL31zKVl18PkKYvjE6pN1Hn31HSl674ZFrE3kpSln0vFR4yMAdvmMD7ZKFXnT281Q9RpaP09Nv5N6583qNFfeqffbfGo6tL4nY6msR4lptxjZVXEFb7pcnHfpJcKc+Uz7139tVU6dvhYd8dFHuav27vbZ+UGk4FjzBpQlZax7sWcGNdnHqf2WdRp0XE0bf00880mkq289KySnNametxp6+UBefzY+dbW/9qi+I3fC68l07L3s8qcf4b7z2er3U897FT3/2k4u//Ks/729QfnC3noRUcPN0vdqr7Vx5/nCjjns0v1oYiv1bw9iablOXU77QkuYXawgcP7IEsMTgyTew/oAR4cUVv5bxuAbg2sSr72RWX3Zesa5rj+pFjeof16reOv7IHf1nPpy26npssi0qo0Pki7OwDYyPjb+A/PaHl7bQi7HEDHU0FngaSzohjRz8Y1kRNepKDxC68DkXR15wk8cr/AJDD0aPOCLHtnjxaPA//af/1AsYE6TJ8O233+5zTRY2M3js52/CP3F4TzwTSnQyKFtwwb2MNzo28PAnfMWr/ge0zioP7yNudDjnsFfjzmSSXTx4zkAJdoz8JJFzeXaSslj48Y9/3Ad9DdSCO0VB3WdRNm0Mhl8/9qkbBPZHMzZSOjTgYAYidbOQtKB0tkS7+DiunT3y13rEDh/HbiPtN/tLZq74dY9KxW6v6Xneq77hsWOawDbeNSAJ6jL1Gdu88sr87unrb8x3zyzw3KTwYx+TtdDzCRWTMTunJ2bsxYvN6S2dIN11MahWmTZIOOLJ5yp1T2GtW4BH2DFP1hEWXbSvviqvPmlvvoEGbetcwuAoDz/lLjYIHpzAo58YXFCWELzEK1yaXtEt9B0Xi9V2oQ9O+IjBAg+/6CCm94f1+FPIwgY+OBlwVnp4j5aJLLIbr3nsfouezD3sdW+em25oE8JPHg57m1DduN24sbfj3KD5tZs3L96pz96socguBTrgY8xw2aHNeECGq/Xf0oGxgRCdVj0jILQrvTLwhMhKPm0q37JScIgjz05W8yuWwze8x26RFVtb9nmxIXqnHs1eHcve4W3e0EST5+vaPnIqXnRqXYs+/HrBV4s1Y7f5TD9wdMOuM5zTorqPE40MOvILvLwEZuEI1sdVNj+I3kXR0uWnjnNDAAhGhph9Jp5+rDw6hg5MXeHV/wp4VlTHNmx1uqn2KPlm3cR44ejx45qP6jM7127WzWst9B73N/ZmvOo6FC7e6tj6N9+9PVb5yjtUcctf6pU6DsJv99+XstCbBhhDqa58wjTW4nxlYLDA4a1p+fAT9xesN37BSzlcIfISw5MWnxqq8ORT1oRoaxAKnQZWngBuV8rHV32KwmQJBs8Wt7f7fvwPP6lOcqMfRVp4OACt3AXXHWzk4jt3AhLVQXpXZnPadiB241ji9uTCl8Yn8MpW2ZzPm7S/e9gccwPMnQu5e7123HT8sdfAhz47TOkIytQpMd29kepRjEHCwo6tnMsbmtlRs/D7r//1v/YbkODRg17YxfaBG1jZ2aNbg4qBB39pQWxHEC8vEfzFX/xFwzyOdD7PAs9jYQPY2H98MfybSf3Z81Me+CeN+we3q52F1EV74e/aN74ut4tzkcJJjyBWMw2fwd95wucHJatpJ11/2xb5pMVnPvNmn138bL2Bmt3VDz64Wwvg7/Vi2y6e4LdD7Uberzcg8WRPwc6YwM5+BxN43ijcH7MrR+OKT7ReBU+9E7e6/pwJbZ+lLDwSnyFpmeDhb8cuu5CkOIrh+170t5P06qvjc3zNwG7RUNRVL290zg4mmDJyc+GfsOqT8h2m7wRz70fBi12DYTwQ2I1cOqyy1jQ8+at4De9ZUK4897FnFIstaulVvKZ9o392hmsFcZKjbBZncx4uvKOPWHCD+6j8BX7LKGeh06RNLfNYGexmnaVSF2aV94Lb3CRPX2mGhz9d94LZpdKfLfR8ty+yxA8fzgtXsdvoHr/ln9p1bBicVUzsADb6TbuD5wo8+eDG94ff9OeyStMFp6paOmSMHxmDP48LLey6HTcnUtcEcDJXvfVSu0vRxRmxrl9vFhQt8mp2tLfKPjULlfypU9ejdalxv/zgRjXGvVoQeZGpPqTTN85umIQntQicG6Zih7wu9Hy2+ZQvEdZ+UvK0q0CvNdCj8atcewn5kkaXlb6hSZ3E+KE7Md6YTplKjkBPIjw8YQe/mvGg5qVHvQCsl4TqawI1g5SaNQc/qjmknsB549aO/5P6YO2D2uVD07uy5mlzbMkkN21L5+gT/ahSs1/ZZfrSptpvdfRSFnoazLUaYowzRmvDbAY8phl0HGEaLjzCz51DgrJPGlaadpxikEbEq9r5UkhZcL2pmB0RCwj8vv3tb/fj3B/84HMX773/bsGmnmg84jJp4ONa7wjlT3VV3fJXd7qRpc4CGa7AG3jmj/JZAHL8Q0U2/GN9VjazWKTI6D8yZ4Fawht11YW81Ct8dQRf6bfIM3BbmBksfHvLI1y7fBYXvqKPZl/A7Tsw0Yks/HKHKb1OwOSnHK7B/7/9t//WfD1St6unPHbE56Nt4Jq6TZ1WuxabFwrkCSvPSY9NfXLgWSF09BOOcWgDt8iTTp5/qe8r9ckQi+y0xRe/NLuqFr528pzDsRhG1xNsDXbaSh4P9Ujb0ilwNy7SruiXPLnRX1nS4lxNtP0Jj+ABB5b0Mb/ibmw6WvlrZ37lRstigP8pX9umXO9Uv1V/zNRjlRs5eORsUWDwgi/NZivtmkYjHxh+ya/6h/e5OPiJ0QmJ1TH11Fcy9piQ17EHTXiIz+WPMHhusoS1nngLyqVjj+gSn1QeOmVZJKCV1259w1s+nfooW0N0tQBSN3jklfSWb6EHB2yVn88Q8YXwECe9yjiXDq6YTJf0yL5sjyl7msvOo5yvVM7NM0w0CeHLVoI4cpStITyVByf6TdyWOdnDAn702/k0Hjl1Q/RWfaLKC01sK7Bh49eCUIhu5ip6uUbO5st1VKSOuFUzjo2aaPsDj45DU7wqjV/O/w7vXa/IA4+MSjQ3MDec3nBNuQJvzd6qt85v2Hio6/r1esnvYfldvQ1eb2XUYqye+jwuH650jVb9BnAh1ZnE8adX6hiBhZ4FcUJkr3JYdcIsrBtn2+0M3W9z/FIWeiqdkLQGZihhGmkab+3sqyGDCx+PDCZFDHTiJR2Hk75Vk5TQhl/0iMzwSR7uZd1q8eLf9gy/X5W2nVzz94060H6zziS8f/fXF3/9t/+jFy5f+8ZXe4C687NXG8YRfSvIxWGq1rWNbLU/ej6o199HtvJiqjp1xU7ODFms0al/cNn5Mbt9eJUeJmNlBi53/4JqojMu3ChZhdw02SVCu4bIGp7DIzbsL5LrxQaEJiK7dKnDveSSj94u21u1i0kPE6qdVvhf+cpXenHhPJ2dI4P8V7/6tYYbNP7Lf/kv/RV9b9gZ7ewYWQyvOq5tZ8LOgWALOYuXPKI16ZjIBZME3fKIVn3AtLe0gC6DCxng8Qe86Do7rmy6D1R0y2UATHqN8Zdno6GdATA44NLav8O2QJvM0Er72C+bOhPavLYBtjRqejt1o/e0Dh+YCZzPXrR9tI3vQ7HbV7/6u30ez26rc6R2U/vjut5ArmCy+fAenUZvNNkFtQB0dsrkSCb+8H17zQd5wa7d2heaqWvzLfslXm2pTgngCUlrj+xs903L5rt4s4GBHC4+bVN37AXz+7bXy25t49IXn+ZVdHwoctWhrN28+GPgeKonW0YXZYGjElLH0WdvN3guPMdW7DV+Fxr0dILjAg+uMj4Y2fIJK6zrXHSRD0c69dA2djPaJ2rceFh+ZiKt0aLGk1rAe2JR6R4bqqxvFMqGHTafXHl3Gxd/IXWTJo++sXPyfC83DMFXpg30HWmxt2Sl4Qhk4ufN+V+984u2izL1SH+XZ4seo/jttqvHZ30v0lgwOBab7Ineo14+M/qGR3nN8Npsia+6+mAxXex6zW5afI2ONC1bGcx7gVF22BYailzqhNfaZqjWgH+hFIEONf1hYCPbDhe7Ct0yKlOBftG/HL5hsSE7tW3rrWeyPUYVZtwef8Hzw+0JUw3vhV+eUD8fBs73LZLZ+k59ONnOVhmgjrbNeHe9325mF7YtfltbdD2pso1T8Re/hRw7tF0Xm6iD+aXPCFadruHXNqfz7tvoBPWyecIadOW/8Mdm1WY1X9mVg9fnh+uFkmqY3sG8U/XrR9i1m/f4QZ3dvVe7lbWrf63Oaz+pR7gffaQv1tOi6ht8FE987EzSnw6tR8/J01/hWCbaH/UExzyd2ZK+dKylQgdp9IX2WxVeykLv49RoGmkcu53l4xB9TJzwS7zKkhbEuZKfrlPuVA284o2jzcLUuYW33367z519/etf78eGdqd8LsTvPRrkdBo80HFqjZ0Gn0evJI6M6BAZOWwbJ8cn+kQn+ZQ3pw1HmpzBmwk4iz1lCegTwidy6GXESh6vwZmFi86gfurVk0kxgvOZz3y2FhS1yKvX8pWpj53PLPycm/vTP/3TttPf/d3fNQ864IF/9MAr+klbrJkA8Pz/qbvTbs2O4k70p+YqTSUJAQIsoQEwDRgP3XbfF17rrn7h7+3Vq+1rPHCNMaNBCDMjNJZU83DjF7H/Z+d5VBpsSVg3q/LkFBlTRmbGzj08YKJHfeVtGtkIwM8mMvqGR50gFXfJ97oG2P4M7Z0H1cETvpKu/Rr3Ng73az+sCz/S0KjVsjcmuhPXEPjA0osXLMhrw+PYfeITjx098tDlwnG+Tuku9vORzz//bDvev/zVz/uFC7DGjy4H5zigMQn2DaeTwGeeeaY23k/0szpe2HAS65cWhPDdheXPKmd4XuuMt/JhHBSzsAc+MPCkLnSDeyH9tuzaT+PgGH0rB1dw7zByE1Y68pmn6Zs0OKQr3IpHPmMLJn0Dk3Y4VnyrLaTfmuqnHNqHeAMLD/33/Bz/6m08RD5zK3xIM/fYXfCpP5QnbamPbIf17Uhtcq5tPqp8tTZjNgj/KhseOCgdqik84dVGb+1aeQaXcmBDSyqknHzWB/V0lXZ40EmZDoNbKpA5AVzqUycFg5eNfMFMK1guS/erqrVv0xywXuvQdngQ/jRlLeRyCOFFGl6CUxlhumydVh4cnBfrdqYXuNAQGrZzw1PzsjG/tm1kj2npgt4epzyy082UN9TdDz71wTvlUVB4b/hykO+1ozvzsds2w+iLRAcjTvPqdnQftsj327ZO9byMV59fUnY64icAK73HUeSuFZ7Bt/KOh5N8jFw13q3KGrcI8v+T9CN39AzeGullHdj30tOo+52hZgBODsoKvdIKH9pT34O8dFC/Tha3vTwLZiJYjNz++sd//MeOfhu03KLjBQgakzEBLi8boJGFztWJUxlX2+jc6WdM9ong6ml4mkVgf6ZnJmn4dvpR6GvCv/3EqRuKCbAzwRRmU8Xb1I9h9zNCveTQoatTJlz9XLFV/7O10Pdbc9XGwXLq88QTn+1btZwDr+XPzyQ90s6wN5SdIHHu3Fb97ne/X295/gLZ1g3Z6BEP5BeVBQ7e+nze6G13CrO4gY1zHadPG3gxeNGII61eUBfa3e5KfrsaXmFcKWrPhO/Oyx+w2t/Wt3RZFPpfrxXbqcnO07ag1EmCEdkX76kvpE0lJ3xo0IuP+8YBdmrhpNNt8ccffbz17hEDt88fesj3ya61k8bZpluLrTGct/aM8dgSnZ2pRR4Pxs2LG08++dnu+/prV45+99IrxYvNbOKwlnJpZtNpM1x/Rl+7jtUHRlva9/rthHVr23U6YwWO3gR9dx0OrhVncCftTt0vuDKvdj4Dg274VBe8UjTXcvpIu18/q1R9umGbNwsQ3YZv8HNy4PQm9jh2lC5gsjmqW2mHFymYvX147Iqtj/WqHYSiL4XHPpcQ2coSqo0sgyN6cFJ4pz4ee6YuLgR+VdvRpg/9pu87jcW0oz28jiOXZ4vRJAcbtr6K4DzPhjchvDSDVc78Z9Oe+dMfTODWfsV9H4KdqbliW75b8sEfGKmIPyFtcEa/wR1YZXBSdYGTT918uDxju47fIk/RA89ojnEoV2i8hU8A03Dqa8/oWG2tpzohpQ9rQnWq+b2eeuFzm/dkN4XgYjP0W3kvL5yqsfVVif4Uk7tNFfATuuiw15F/6huo/mzg3aYO7vSbdCCjV7/eUxwcww/OknPE7vqVduPcdLLjG513ueQwxsVu0zXKkNVuUrJtOvIJnjr9P10nvPV9n1ps6zbu6XpcAPPt7M243SnbyE+v+U6gADve75TyZjjGdlh187nR2xq7z8f5z+6VfERcZkCTxrCRU2fQPkhI/6RwyQe3NCEwaTNIXbeByONPFEwk32RTlvfGLUfvb/7mb/oTFfBcfetKw8p339pQTT55hpKXMzh8cLisAht46RoyMdRps1HgK7xL018a+LUObeXIA1e0rH4NXWbo7WBOG2d0cJwph+pOH3Gj4/bd5ScfO/rSl77Yda+88rtaNE73SRJHg9P13e9+9+jFeinCKajn5twW1FdAi4OWPNlaJ10zt2M5evQXPqV4SR8y6RMHRnmN4FJe+6gToht4xf05xW7uP4FVkA8vO8TbcwMzcq791KNpQyEGB50+OP41erUwFQ8buqE78HSjjzqnKm7FynsW7/JlPyI/L6Rw0LwV7ruFTu842N6qffmVl9rhDg6bvP6GYuiPA238jInTO8/xvfzyq33Ll93D57RQP1EgT2LK3XDwJ/DGKvD0sEa3Z9CwYB8GfQQpXIfjFpzS4ARHtvRd+6914FIOn2BTH3xD8+R8A7eGfrB7ozu4dv2EN6moXYR3YGHa50aXNv7DX1Jt+q2OyeCaDV67EFrg2JDyyLHzELjBNXoOX+FNuvYzVmtdidFhl2OnnX4ACk3xMMCcIL/ioa5aut6FY261xy614ju4O191yuZ91gzyWXP6UZONX7Q7lFj6xf710V9dQrfXhQ662oIXDv20mxvHOKtj+ieFK/nwG/xpm/aN9iZX1y38pO+qO/3pRtBO9gRSzPgNffjCJ1gyzdwrOUr9ff0OD+fI4x91a9aaEnqRIWl0cUyv8GuDO7xq28wgYMdtwbPCHgNtmWnb58vanv7SGR9yztzuNbQIHx+e9JAWX3Vr1gf+nerVEUudbdSJXsV79ZkVn1y5x9mrZ/jq6dXS3cgReQ5TelGHNh7crm0+ooOW/FD6VYKPV/4jd/RiSMSmsMNIee8WxhjeDeLd2zJQ8KAtJC+dTYYBa9GOR0ZwpxaR65tD8XhtSFfrDc9/OXrhhRdqI32xr0CdqsRx0dvEO9vP0rmadvuRzPNcy6lT81BwNtz5svvOk/5CeJzSyXL4XnVowcTzyahujDD4ymVs3Fl0Z1FYN5yhNU7enEKYUORD14L86KPz+RTPyNCrq73PPvmZPg0Cx7n71re+1Y6GDRyNLJT4gCdBGxxzyjCLs+9riX365ESxnBDPPvY4VV99+sq15HXiNg83gys91r+crtGFNtTO1HM7Ddsr3dAh1zybd5Kn6Cp8SlMXvpPu9WO/Fhd0pz42jefZ7CYt/sH4maZaZF1qN622t+mLNxuYnyfj8Frc3ZbwzUaLvueQ1Du5u3z5saNnnn6mn83zG8Ic7O997zvHn7KBp2+9lSbytiX+8WjsWp/Fh0XdT4a98MKLpd+fN00XJj5lYTEVE/RNVJeNVD7jtOovG+bQHOdBHdqcHDyWgMd94Ql+aXAOPF0OjmMYt2lqnonVsRZ3/FXeCcJmb2Cr4iAOv9XzmEYBNG008CWdtzb1nzC4pq+8E3F2jJa0Lg8LBx7nYg8MPOxt4HJSPPjWE6Dwu5FqXpKXDr1xQHru9ByEm8zSxHFwyBD96Z+8FE8zdlqmTVkUkg9PY9/ddPxnxbfLOfLqj8d2NmqMjLW7Ctafvt1WNX2KWHysF8bg9YVPMG17HAoFetobZ7XnVA9cbKCdl1o3jGvw6uc52EoqzJxWV6RrnTAe5EUPjLHMGKa+O3ZffQZO3b4+HPMbUFCFODrSS1A39SMPHGWBZTXBJR1Yf/3+esaa3IL+Y1PVs2GbqeO7F35N6lj3pXOwZRmkq/ldmql4vk46+/nfOvU6VW+lnjozdmntFaJrefR6/BSaT+lOE2yzUbWRL+3aGrrneNbFyB7co5MG3P5ERmuPfNQ6vFSp18xx1nRpDfaa77nQ2ntLMbfqbtc939SrN4vH2as9uE73ztSerD+sXiLp/sVneO2K7Q89omk7aj4KvOEi8Ar8Mc5/5I4e5czg1NCXwbVRbHWp/yD6GeVvxrAZVfCmLTQzkGkP3RUuMOuVo4fa3cJ9tb755HYYOQT1FtMsPvpyXGaTGNXmil+d4NMPmYTgz9bReUL4Sqo+/KhLvTT1M+GnLTADNzpJn8CfLM8mhc5sErVBmCS94M9Gx7ng5Hn+7nOf+2zdanmof3fSgup5vKeferpP7n784x8f/fCHP2w9ucqmPymdSYfGzI7wMFeoo0svlTjNyzNBgccL3sVesEr36Q+GLhPW+sibvuCCI3CBSTlp8GlXl/rk99QiMTLFJsaRHjuH53B8LJiFcWyocNv8ODoWRng5YDYoemAz8nh3UeEtZo6H50KNyXPPPXP0uc881Y6dkzyPEvgps9ik22GC/tHT0EDLZlr2WovdxYsc57LNGjMOOlhOnvF48825pbbqKuMAd+TWnhha2vGy62t0CW5g5mHzAjjuG5zpAw688mGbMvvAQ5yDwLlIWMOKQ33KNhL5BP2DD04n2uHlGHeAK13l1w6XOicA0rXvIezAbxc82xgFHm2yZ3MPj417wbuWsaW/Ov3p3pgGp/bgUTc03i77sQyFZw3BLWX3UrCph09ku+xW/W0frq23IDlip+5Ve60bsYnmpXZQsOKsB0NxaBS/9U8eybx5Gzh4sOhxk4EZ2WEIH2jQY/QUfodKueW1YIdvaexNmn5gm9d02tLUhdeD5i4GJm2BlWpb30CNDGCTDz+pW1P9V8dMuXGWQ7j2UwcfHSSlN2UvNSVoW0PK+gsprzCp1xU+YeDX/DZG21pZiBpu/szYLRVNBy3RnaYOm5mGl0ln7W++up1TVhe3Xsgpu+HD3apTvNPlxN4tp8/Po52u30f2kWq/e3um1r9aBRv9LttGaGMInb1tKqc89Seht04fw2T3Mj4i5igliorSUpf0XUlvRvZOMMG9tqcuqbbkpYnTZze6TA58xnkz+d3G0uY2pE3WQqYdnBOn4AZj49bW2c1QtXOgTtVtAg+MWqj8ILf+uWIJ/4Nr5wmcuixU4PSbOCci02c3yCnPlfkOOyZZXTuk3omEwCElq++rzcJbtwuLZ7cGP/XpJ/r5Lx/jdRXIybj0wIVesH/1q1/1SZ4XU3yoGF7OoV+oeOONN1tfg3/oyONveFSaQKdx9FKHH3BwCknTX3s2Qu0rzuT1MS49NoC2sOOCezZnqVAkG146C83oVjkRbGjMCUVgcjEzY6R/4+kryLk6HBpVXxm/SQtgfxZmNmibmMjBoxs6p9cLFx7qbxZ++tOf7JO8X/ziF0cv1kkeR9vtVycT4MjHwY6TXZRaljx8PPLfq6/iv1nk8T6bXHSVk9yxZc7W6De6T8ou4You5LPgk3PNKyeEfvcvXQYHPOoSzZW06Ru6oQeOHcRWgl9aWPeiq31CVEjfaZy6tKkL7bGvk87a9Nl6bvjCQ9rgmtPm1Ewa2ZT0GVnGhuO8aEM3/ET+lPXRLqgbHCxpD4EJXDtWtevdqj1dmyAdHoJrHMLwzg6MfRy2dihsjq1rutx1Hvljsz2XL50vJ7nelL0Rp3PmvxMqD/+jzxY94wt+1oy6jV/DEbma0U3Hna8/7DI6gaPx2NbpfIPFD17gvVW/e1rFY30HT/qeamdx7E1/faVo0MHoaHQVnax0fEFAGHkmv9KolgN50jp97taFhDC3G/d1ET4BzdBT52SpiHUsrnY9bmtcToj1WXnyZnZkUV+Yykbr9KvyPgFlXIfmrkf04SMDByp8qB8Xa/SqXFJKGgZc1pmmhe/q0F+VAFNrYnTr2b2EFT9ehdxN8DLG4E269er1tTRRMuCJPNbUu7We3Xaq561jp3jzE0BH986UnTuxbbnG9kfuwZd8+F55ApF2Vy4j88kxHywfv78fuaO3ihwlJV3bPkgePgOy4k1+Te+Xv+dhy7KpMUwLxuBimDPZ/ZLD67VwnO+H3F3hM1K3ttw+u1Wb6ToZVzlimIyW8Vl8LJ4z4WbBmp+kiQH1LC4UJhZD53BabLIAMKrwN86LBXLCbnCRU/3cttzbyMsZ7VubpbMz5djZ6N1qxt+5esjZaY5F0icMOHlf+tKXaiE+3ydH3vb09rFfXuDkfeMb32hH+De/ean081ZtDPPKugVZtIDQgw2Dnoank98XVNe0CyYLjj70FB3qS67URUbtCalb05K0mwOXNH2kHLXjtE6C3AaAY1KOmFM4dlI2tqVOjI77Fax/eEvAFhypC0/oJ2+0PStTa1LB5eRrP6HS14eoPf9Ifqejbp//6Z/+aTmAl/qZUZ9PcbLs1q2LEJ+W8DIMPc5GN88YRW/weIHHUFjEPfOnjt2DOXeuuKKD4nPmgraJOfUdxzA2OXK2/krew5DvnOUEsdyYkp8OZmNxonDfMaHTTX8Ze9uLOv0n7OXUR9/R84o7el/r1jycgRl8o5Pk07YR33S0nwiFtjneLzNUetgnZbAThyY+EtUbv4TUK6e/dGKgpm2vD34O2djlqVP7z42lF7uDPzq1LoyN7LdId5xO0DKn6WZO/fXHb+bwXCjOiZ6+5NEmBEZeP5/cmJ+anItI6+thGPmnln3TL5uEe9r2iznl0MTTnfrBe/TXoF0Am4uimQPTN/31AyMNDrTBpg4/+y3z2OVKLeO71dVaMqfN+3ijl7j2VBe+1LestReEttSjCnSRly/AB1YavNKG32iZ+2QhPz3F3ppGyZy0kdUfZTgE+X571Rq4TXm4uz7tDbn/aT48AlL86xT4U+p6jd4QVSl0uk+Dg59HTMIXFqwhp0uOlqvXr4KrC12w9RRe/SRaAVX7Kbfn66UM+dr4mk8neuhyOlFGq1DUErPLWaUlzBj1ul+wzVu3orHzvnT4WGU/FEePkWRTt7lQgtTGc2O5bTcD1yPXyjZo3oqMAUoTMqBlwY0PjR4MfaouE+6OZwwYTi1mjb8GWDjuvyFkThPQMDmmxFjQOFPp2Xr+Sfl2vXTACEzgO/X7lIX96JXf+akevNTiUZfG5+uzEzfrq/y3Kj9yDX+RQZ3gOT+8cxRddXAO3Mbwljf/4vbNWTjDU743xWFy9etkrNXiGZLq14tK9WWnYt4OHR5OGhwdcOCkCcPXTIZTZaA3r89Hc8+fP3V00dfq6yvpjzzycL9g4XbtI49erpO51+rh/utHT3xyfiXE2PpFim9+85tHP/v5L3ucb3uLFL5aqNG7VnxfrW/nZeHJyVL0wl6GZzLUh5TrDbDHHr985HMLyhnjjDP+OaE2CjrmhIsWjuOxLrqt/1KD/q4ClYMvOkpqsfM2q3Ru4WXcS29tC/TEUWVPOGATcM6pizz+1Fstyiq5gdVuHMYO9Rqe51mbe+W45zb1xTr1KIT9oWcvRVx+5HLhu9fls3Wa+sly8J763FOt33PldP/Zn/zp0Ze//KU+3fvu9/716J/+6Z/6FA8P5HQievv2XEyU+BVmwZbbN8jZlG3+TotvbvZ3rk5Z2Clduohh130xUw7lW2/VhU2djLh15jtivi7vZBfs6GN3TI7HAtEKHNkJ5l0z1X3GsbjbNkf/+hknYebLnGgaY7aj3fy8Wzw7ibhXzqrbgH7H0nOx3rS7XTACfYO/WQv86eNnnLqpaA/fYx+1edT89vFU0XOTfbpRMOTkH90tvbZMxZvvuTnxzlpkAuKd7kV2Bba6zgSvvI009iYVGl+1tQNdIre11ImJtyrP1qJwtz6i7s1paye7uHThgSO20s/Jsdl6XtPzbTduGIuz9ULYtf4enc9l3LrhrcNy3uukrLgqPqxLTbZ5n19EqWqy0FPBtP2UDi9eKlnLbt2+N6/O+r7adlsVPFmu/vZqXUhcP3rs0U/0Oob+nfqOmTExDv3LA6UA4yQalytX56sFnu0l+52qh8/H8J3u+TSQX2d49dXVPtjsXBDeLlsU8EuWK7UeXa5HSJ6ozwtdrUdfrl69eXS2vp/2wMVLo+vS//laK4wlXbx1o77vWenFsmW2ZOyNhTVIyNjJt10Uj+rInqBexIP6lqP4Zwu9EHM8a+zYJL7jENy6Zf02P2y146zcKV2FjtuIDgHGQRkbQnMurvCGp5nHePa2bC8vHJYa4/nJr9Jp2Xpwtr0VkNSagL4Yni1XTmj7NnqNsb1z1iyHGxzAemGh8NUodp/CVPPNXN8cnEqL4+a5qA7dcji19z5ctPxiir3J9/WsQ2er7U7xVFWFq3RVtXjqZ2Dle2/c9G/dLv48g4kfvn/3KZs3pg5HBHPvbJU5Zy4Y2padxB6V/ZZe7dFlFvULGCXPzfqxg9OXCifbqy54sV73hWZVHHlur/gvezwOVcYv/j33eLoOSZqKZ6tJAEcBVFPpbMZoTvKNo9FulMfoJjNr1Kwd6IL66MOH4uitbBpsIUbBuA7rUgaX9rVOfQJjCK6ka59WaP1JWxtl0RRWnHt+V6w6k2OUrY82A6bvpLORK49x1ZBueNsCCv5kwJsAb2jK27DIkmCxsGi41YbG7TYYG+k4Mujrp8vgMelM1pyAjMyhF7yhKRUtRPCgEZ7wMZtVIS8enOpk83JS9Nxzz/RbnBaJV19/rfDcq+fxPt0neehw8r797W/3SZ63il2FD36Td/humThi7xHCb/SR8mFKzkNZoZ7FYhYk5cAlVXcY4B78u63ie3fOtM841kg2bHWpdJz56Z/2Q+xTfif+I0PjqOWS8+L2OB3a3Dn4PnNiI3Wa59c+ONxPPfW5vn1uDD2L581ap3jjwNVCtI2v9tDASfSQNNxaJAXjnjmWNrKPjRhL9sbm1Y1eIhv40cU+p9DBQ9piV0NjTi3DC3tm/97EjG12x+1PZAE/C2NtODX/un+lZbyzuZYMXl45fad+1q1ot01Us1Q8DHgeHDv/4Di/+PW5iZmbs+iH34apUywwHdqOhgac2sFq5yOsMkVn2tcAtuXcxi3l0JAOb/MSjnki6pO7C3CDgzt8T79xHulYW3hoh6TgG6Yc8d5My+nhoIALLLrBF/laxu3UryALduwoPIKXP6a18aYe33AHNvoZmYafwxM98AnhjU2al+SCK/jQDJ9kE/tisKDV4wGO1OmnnH5J0QstffCpjzR4wQieQRwcnJehPy3zF3zwgptgflhXxnld+UdDDGx4HBqDH76B8xjQzDXtnENhYIduV9Sf4JUKDhsEPAhpz7odW0BrDSf54O7MGJiZRblpg0nY8wXbPAIruEJriWU/YNw9SNhpkhejAxPehwfjXjKWU6qr5fuO05Pih247cqKLSF2K9IFSeca9ftRuVfClY05j6aP1WTzoWcmJMLwMb/unulaQrC+V9v488wHEAaq10+T5FNXn9xE+VEePUkTGmchw7lc/CqTYt6sjdcG1ptpi/I2jlCVNpN2uL+0FdlXkSk57aEmDQ7rW65/2FdeaD3yZXFXrP3yB0WahgDcLhZQcTsdcQd+uTb4/Cll2Hfp0Z6ERXEM5gas1tgKdDb87XfXTd5UjebTSbmFF16kMdG6d+FyHh/2feebpciqe6qt3J7KcPVfin/zkJ7vPj3/8k/4Q8o9//OO+Ir51c5wMvCaYPK6W9X+vgD8y4ieLoj6RS3vKXWe8y+Hojb8m7MhHH7NARt70n/Geie80hxpEaDkaq16a0PYn/YMPXPJA5O8XaHSFtVApi/RyrxYjcpJ54pwaGGZl3yY0Dp7NQ+PhowfL8X7u6NlnP986/dGPftgf6v7lr34+J6nbBmTz4/S97Vb9YuPhN7Ips4XIor55rJRjN07YzE8wsd3Ip7/6xBWvNiF2nhQsGomHuPQBY3wZZ07A6ZF+gkc/+dgyO4Uz641bp/jpDaXwcVLDH7jheWjJa4cPjeCcU8txoPA1NE/qq+cQft8huBBaw6pjebTwfM8HXQuPE1D1eSkGb+HLHLl0aX4Hek7EfVqk+tT8PeelrnbGoZnxk/Z30kqmzE+4yTG2V7LWKb7bsdYrJzlZWwKDP3mOAQfYKZCxcct93nDe1/xjnNVHHs3gwbtI95GHXqyLaUPLHQwBnwJ4gZzqlPWRhyexeSw+o6+MYewBDrBCcMnPrdcZPziE0AGXsjSyRLa1TR58IvbhCc77wao72/od5ziySvUXhld4ySbOHQZqcYoENjRX+ThBoT349rkNrucVR2nTKz2JdDv6Hf6Ds0rH/HRm+WNvorroLfTgXoP24qKiubm2TN+uieNzoHt9EwbvzFkboos/p+2lrQYZmUZ3ffDQfUtPdfLX+qI8seZH9Memgzd0Jt1laP7JcByHYsoDPxcPC7sn0f0XlT40R4+SEhmYyEiiSG2pkwaWca2Kkte2hpS1JRzXpWJJg2+F1zzlfcHf68YoAi9mThDeAABAAElEQVQN/qRg758/yWtwBLc+Kz75FSbPiPgpLI4RfVnEoyOL4IRZhKhm5aPOlLf2qdemb/qjZRwsTtpEeXQ5eB7StaF77u7rX/96nR59sp/xyi8mPP/FL7QTaOPxjbxvf3s+3+EWiMjRQwPfCcrGNbdGUn+/VD/8iHjOYgM2bbERdat8ygJ64hrgWusi+9q/F4jeFHd9BR/a+keXSfUPjHYbykqnLPu4D1hXqmCif7ez1KuDUz1aTvW8xewUj7xgvIDxla98pZ/Ho+sXX3zh6Dvf+c7Rv//sxV6MOTdX3jj5VizewmMzep8/6Ar4Rl+Kh8isDQ7Roi+N/NKU9Qtc+qzt2sgZ+MCmrD9W0M2GkjYbkaA+dfL4wTMdSeE3R9hzbKfha1zhz88uFYkuqxMFKdqVaxp9K6ucmfmEzTiRcKXP6GDsNHVuOUZ399PfelIRmmtKptg3WmfrFp9U/cpnt5W8kVVbnHGfcKIHuhl5Rm/0M/N8vjd37KCVbjio5Bxn1lzhhNXt8KJrPUhK5tbLhgt9baOLsd/YyMojfoSrV8cZw4uIP/LqL0RW8NpVj2z7PGvA+hPZVn2Fj6Rg8QdfnH9teExb8Ku/dWu34Yyf9sCjhUf4wMOdoO0wgBVZGDwJHOngD4y2POcI9wqvrfEUDm2iMhwi2sEX2BWOU5iQPoGLfugbTe3kTVQu6t09vOZFCuU9GKy1vLQUv8KugdFLvzTR+Ad2xYeXXWXDV+QMH6WxTU/oFnwlhbnmOXzlrJWjWFqq+pnnZ1zgcYj9K/vuE0AXxGfLHspJrNHdGJl1ht7wEXrhb3gbnPIJh/njcoHsUIH+r0s/NEePCJQSY1sXg9Styks+/Q4VGpVEcUlTf5get7exvPOABC5p6IaPQ7xj9PukC9ze/7DHyTLZTwa8uXKa2ixwl2rTZuXXy9kz4Vy50WE2CvMLr5YZqYdIJySdem0iulLOlgmdBVofeJX7JK/ocu68cOEWobfUvF0s+B1KH+L1kWhv1frZN79y4RYj+UUTMfnuVH9Sn8Uy9fdL6RevWXTgE/GI/6TpC1YdGO2e0TSN54rMwkl+umh1Fi+uIGtBdsVWbU4mRJuZNwcNDzyJ6OBfOSmaieoDIz0sW2bwF/gbN+ZZRPomo+dJ4AUjev6Kk0f3nDzOfq1RfYLqZPXZZz7fL8H4dM2PfvzDo5dqLOCYZ5CK73KI3BLpWHnWFr6bv4KN06SNBeEtQR68KKz5wEgjT/R0iCPltT0y6h+8UrCB69twNTY4U09H+qVP7MO4and7dR3jqctcmXGDG1zjquGCI6cf8qusazn09TMvzQ9hYJqjok0Xxn30xplgi9kk5YXIB0+COiFt8k6U2KIAR7+dX3B4AAefiAf8saNxaudiUL+c4PWpbm1mp+u3PC+WA/pgvSx2ofgLD/CRnW7gERnMue3UuS5bjs5fr0+y1AsM7ex5BrJsynN0XsLyLN085oG/wYF/fOMNfnzjj17kPd+bNu3yZBGiK3UnbYVMEzezbPj8iU7QnVvHTmOMvTgXteg7FR955xly/TlWZMMLmtNn9BJb0Ee7qA4cHhO0i11XjoX8cXAi1XVjBytOMPjTL/iTBodyaMmrD3352Fl0GBhl+aGh39i5KvnUx7al8HqGUF/7BNzhtzhtfGiGRlK4wu+0k1mlWPyXjOiCz+1OfbpctKiy/cPSU2mvWnbdgoMzz56Hp5xQ2g9nPth3qmfRkPb63niqDEn9ZbtsvTRjEldVnVzXrXYfT66HCAtaG14LovnCx/RuFAd/hq+Zh/Lo0vjk935pO+i+FfX4/YcP7OgRygAKUpGhigwp7akDpy5p2tM39TG44O4Oy5/Uz3H20J3m4SU00iXwMzTDa9qke/tauy9GK8wKm0UjvbSlXZpJm3Z8ibnF5qQGjMW466tNHYNWzule9Cdt/IVbyI9JB3/ohzZ44wC/ya1sge9PpNRmcLl+gugrX/lyOxo+I/PSS7/pW7VO+Dh6nhFziuTBf+0mGWeEs4fG8evvxaswss1VpzF8rwAHvsKbiS3gea0HJ0Qeaf0v+rvNRWZw+BATtKUdbv0FC/2kg3/NBz59G7D+rGX5lY4r1pM8jtNK/zbAfMqAbOoeeeTRvjXrlq3P09C3k70vf/nL9YsXf9C/wPKTF3989G8/+kF/r5DzcebMQ3WL61p/tDs80vUhX/gNL/LdXgsb2kL6rPyDUS+mPnilgjQ6BDNjMXJrU0YDjHLwhV54MgS1v/BbGy460Q9e8Ox/cM74yact+MDTJbxCt1eq3gsF4Dh6bDcbBzw2BxcBok1B95x0ueUJJ1z66CvoBy9a8qErnzZ95MHkQq07b/3TF0xNpcZ37tzdcfL7Um5uqdNHz4d2hMHNp3M8ZsGpw+PtehHCC1dwCVLzm5Pj58WsD/3CUclIPvbOhjhsnLc8p3SnHlK/c7ee1eXcwWXzq3Tgz/V6kU/9RN/WEGsBecTUc7LwSDdkgCc6AZMy2eTTb20bWYxli9X9Jzd/2UW/NLJVwjN8zEUs3jxyYtzwoE3qpTh9J+hzqXCPM60ufMKXoG/sgC0J6uj5Vj0ioE67IL1f1LbzuM+VsjpNx/2jj67c6tXBSRYxPARWKo78gy/9pdoE+hUjD1z2mpkfbz8h7E71B20oJt3XuymPbrIPHPOy0axOjQasgHbra3PEPI6kSfvE5Gd9WmUdOTb7bGz7/tJtfLm225qb7ejW3aKiZ+4r96FAOXhO9U7V/PEJltp9iqeTewXU0Zk0vKlPXlpQXS6pTtZz9hu2QeqP8s5rFSZscCl+lOkHdvTCHIWsMUZnsgtRnHwP9Dbw8oFlhGs7ZWpbwyh48Mn381oFENr5bIg+3b7xtePY8ekTfHv7ydz92oN3IGcShf5cIeJnFrRgC56kBr7I96JDbosQR0Bq8bzRb/TOc250oJ4uj+nYHSvYyOBMPG6HXHv1ywSXtwDnBOnxxx89erSfCXusHTc/WYaGlwEef/zxrvvBv/2wf1aLEzILayZ2Frd9U8aD8TxekGoh2dhoXu73B28WzMiuPxlsFtrgGhtQP5sxkxDBje3sY40GPvrNsaXv6NvmbNEaPGBzi0OfNcTukq5t8tEznUZu9bsjV29JFpNersjpQp901DNRxuChhx7p9OGHL/eGFIfeCepzzz1X7Q/051S+973vHf3ilz9rB3BkmCtaC/RslKjifRbj5PGERzrER/jtum0zL1U37yVNvVE2myH9t3NRGGcsRl/6wRk9wRm7kheF0IzdqUu/8ARmeBoe/Q6pOn3YQsZ9+BibUpf+cCboQ685vYle/FyfME4RmUYudCIj2xLCD1yiOdCxXvBA99atufWnn1uradc2Ylv75oUm+KIPqbksrA7fyD7rJSeDzHDDlTHhnIm3fGy4GtDCG1tysqYfZ4ZDNqdr+OLwnowX6mKOfsiKb3ik8HiT91SdcNEzvXEk2VifsrbD6TSL4zjfc4yjR1/wwCtEXnjbxuGuCCeewRs7cGSVR1NUp6xef2W8qhPSd82r0zeOXuiPjsaJpRsn5D41NGNq3j14zI/+aGhjBvS/BjTg1Q4u/IBRH76cwNYxUb+lOv0Hz2Gf4KNPp0yDox5tqrsK81bt9Ju3/Pf1HBze6CR6sWZN/zhvwyuaOUAoLo/5xFeJU2VwxsIF1Jzesc/wisfE6nFCZjCROfBdV/xVU+NEp4rHOAKnXpiyfaNkLX70Ow6cnhMVbLFspngKHnrIAcjwORNGHuzcuWhmigc6LPsltzW/8k7tvJBxt072TvvcSu3RR/WGO/xriA4G794SPgIvbcoH/Qdu73ff3O/RyUP/Q3P0IkyUpLzmlVdFzaDNIh64pK3AHjyGU4O5BfUCuMAY3PSbxpkY8mDW/gM3zqR25XWCB7+2BDDCYZr2w3RozMRLG7yJ6sDMRJ1NW52yRTIb3d07V3sx84kFC5g+UnArn+qiy9SvvIIPLYuWBdB32Z599tl+k9ZnCvzqhw/v6veFLzx/9PnPf75Pj370ox8d/eAHP+jFEg6LprliQYZHOVMEDyI4C9KqV/K9U5hFeDZWsogCPWizmONrjbtMdTRfC1fN1u7jDx2EvhTsGoJnrY/ekoIRAiuvbW1PG12kTdqfdCi++3M6RZueyMLhML4PXvLTZV64mA8eX7z4QOveL1q4ffvVr361TlIv95i88MILR7/+zS/7O3k2YMFJql+84MiifdPvN25h5UNV81OOCVkjkzwdpwym81VvzLKZBFfkDI2k6uEh2yEMGolrm/zJUItvzV+nsoLxFvUNX8ojx9g5mtqDV3vrdXt5xcbFwbh+ak4q8EcuPwGnj3wcjOAZemMrNuLmY3vzlsOiDKe+Pk8CJ5p4YZ/6i4I6UZ/BO3ZTXVsOMOFdChY+ge45pE2n+hvf4IMezjmNu9Ay4AEMhxCfeAEfXuAB4/Tu+nV8WXc2PNtP7J2tCxEXGWAFqUjnAlxowIPP4MY7fmIn6pXBgJfP/AO74lIGjy5+hcga2K6sP8rhZc3j0ZiQLfjghC/80kn0hx8ySI0/3tidPrG/yII2nCs9bcr6S6On6c++pi44kmrXJoS/fYxqMGrDb8enIeYPeP3RAIvXjFHkgas6Fxy7HgcZ/NiQZy33QwFY4QwfgaEHMSF8Df3U7ml0sNcMXnysIXTU6ZMQnXS6VWreI9iTa0T0S7bpP3oeXdZeUydzbwt9Al5jUqfY7eg5za7fvuWQ+wxQfzC5vnJxqpy88gHfFqKrQzlGL9Nh5Kpx2tYuSKZuQfd2cZbG32/2gzt6jLJ4PlVXKT4Rcq4+rHuh3gyzIZkUFl4G1BOE6suwfAfHSZzviVGONgMnzwil+lg09I/Cx7h3hYIbL36UplydG15/IX2TzwlO6sfzn8HLcwBg4WJcrp4zMaQ5osaLeLNODiws5+tkLYYwV2j7MzRD2yawbwjwuzrx/IsAd5wavD9y+aGjy48+fPSrcsJM8qtX5wrMVSq9gFd/a/tOn+9Z4QcPYviD+9H6Fp7bOBY+b89+4QtfaGeOw/G3f/t/2nFwgvfFL36xTpce7Fu0nLyf/OQn/VFkDp3xhJNOjAn6re/CL814aeeIWISFwHThPn/gIhOHSF80yAffyAHHbNL4d6rAXsbxebAXKm8AztjYrFwFlk3VDC8tdHqnNs+e4Fv5fJ16lIqa3rn6OLTFji4jR+wRfW3ZuLAPJvqV4hOMZ38abnuTTf3wOZu/04SBP3f0/PNfbP37PApHWr+vfe1rfZLn4X4fovZW829++6vmES566fEuPuU9X+izGHAmhr91bM7XCWLa6VVfUUhKpparFq2ey57rK7zajcngG0doHI1xzLXHMYJv9OB7fuMUqGMH7J4MAjpwCv28UqXK6OHPZgwWzeh+HhMYZ0CdXwCZ/rvjRjf6wUPvharxgle+UM5Q5NUXfhH80B/8HHLRaddqh+F//Y5e+NZmDEV9pDba6I8OyM1+tevnbVy8uX3qOTf2YQ68Vd/EA+8j2OYR/simr3miLO9zMr97+beNA74/eOqz9Xzv1aLpYuCtSp/oU2Fl8NYW8sJlzQyfl2p98+1F8+nq1Xl+bU6dxubQnIsU8m3f2CvoJ554YvRUuNkxHkbuM30h47EP9WgbP+MqH11Ze+C1tgjkSpBNub9Jd9BOl9YNzxI/8cTjtZ/MiSQe4CcjWd25oEtzia6V9cGnt7LP9O+7zgtV2gVtaCvHXuBFUwhfUrRiQ6lXTh27008Eqwyn8tCrfF/AmR8zJ/XFM5pDD83ZO6TWNxE8fPMNwzqhq37wAjm/yVCWXaD1UeSyOXYLd3QjH75CC3b1Qk4N8Z12vEdOfYXI4aU+bfZTQXvwgxm4wrtdSJVGCy8Yuh16aMm71VrVLQts8FAH/Ox54PZb2ejxt4a3mtMqSnb7htPuU76VWXPszr163OhM3aqvi+TqXTRqvyncrYujuWBm45ETXR98R8/+2vSLIfq4XfbjQUNv8vb3LVGsvACOHDNeXfVf/ueDO3olQg3LsSCURDGMUDTA0gxODH0GJUqZxV9dIoQUCl4IfPIGQZ0BSxiYGebUoSuAX0PKK960N94FXjl840nfpCaEMmMBA3bi0CT7Ia3AqJevLbdJn+w/eCyGZPBQP11aNPWzIIn5OSH8CNG9Nnn9LbocPCd5nv9StpH88pe/7A3AImzhtqi/VT+J5XRPtKGiSTYxMqMTmaShTRb5njhV/36CDUekp+g4+tE/daFBJlG96JMPt2/vt3vCozYBf+G1K+oP/MEbWnAK0vDSFVtd2oMfzuAZ+N3RA0smG5s2OkTvmWeeOXrm6c/3WNjE/W6ycXr66aePnn322doMz7XOf/vSr3vThl//0I6uVx4sLjM+Y5cuVoSMlw0eL8Y4TlTwSKMHONNHHfVpFyInPmJ3UvVrexc2+NSDg0/fwGsLbt8h0wYmtqBMZ+Dlxz7mViH7X2lrV44TEXt1pS3fP2zeNrDLF9r4iH77RYbNxsOLuYMH+PWRt2FqF9St8uFFHDkHxqdybK5g8Qierjl6HDwfVKf3Cxc8K8ZWZ8zRBqtveEM2OrpWj3ZwCMAkapOXosVxfPyJT/Qa4CUrbbkDQgayC9Ez3tWJYOEAlzz7kVenj0gWPA6f4+y5GHNhqU3Qx9rCuUND/+iiATYYdLUJ4wR09r5/6IpepOEFoP7hnx7ogC7pG//qwNyuzb+UcYxDXWSDE5/KmRczNvtakno00ya/BvVCcOFLXfSC5tw6n1Pm++EBG/jIqZ8QXKGjvXFWmjbyyhufng+bLaoTc/DRCOsPHOoTlIXwAH/GUMphfq8Qvle8+gx9+CsWGmTZv9vPTGd4mTGVH11sDm2Vhze6GDuDcw3NuUOCQj5v4xYBJ3lV119CrlP+dwp4S3wnmBP1xffHOXwojl4EZAQxBEaQCScvGqhVeQZKvZBBPzRUMImhE/jpM0Z/3HZw7xt+cHufGZDUqYc/9OVTF7p4WoOFGTx5XFlJTSK0XEEM/OBJX/AnaNZVdU2ZuRooI2EnSIvIuTKSd2vV1eu1szfaKbMxMOzTp+e3T1f5wje9W9xMclexXqx4/vnn+9ageps/J84tWxuRRTdXvy/W76b6jIpTJS8G2EzEbKAm4CoHmpGNrHQTWG3vFSymidGVsueC6D+nC2SmW87QLMBzwpnfSkRXTJi+4zCoC8/q0Qkt9YGV0p2Ydn3pGE3ts9jMyQG4Gq1qz2214m17hstmZ3PTTr+cbG82P/mpT/dt8Z///Oc9Dp976rNHTz/z1NFjn3i063/z0m+PXn3ttXo2qxydwuuK8lY5Q27R3qg35G7UhpV5hDe3fmyKNq4+Ke/b2Pj0Uo/F/VqfguKBPbgwiL3Sl80vMhk3+kjZrCGzEN2AH1z7s7d0Q0fw6ZtAh2jqKw9GKobOtWszv7WB9asP8mdO19W4E5eaJ8roim+95ZkrYwHH6N1m7sF7cNnQfHgcL/fqYBl9pwRCeAkf4T2nxurxAacxjH2ohx9eOKKj5hW/W4xs+olw4El+9L9/YgQO85nex6bnZPP27fN1IfZG2/o4M+O8mLucJaf9d+oZI/3RY4f6x3bljRH7cwGn3qMBYAUpXuA7XXPKz4TBpY++2oNXX3p/8MGHu11enXYy05M+dKI+YwG3i0nw8tYXcwCc9SS64LgrhyacgrF9t4DfzPce0+rmGkd/ctA7XuCmBx9i7nL9ckivZz1f5OckD++RQ7ugDp/KaKEjGsud/sw/9jXO6awn+oONrpL29wfL8ejPWhXDnk81xrERfdIXjdiRuuhIKmiX11/IyTkc+Il+pLdv32ga+mgXy0JL0Sf3vtCHD219u0+tK+mnTdBefyua8/hOrOxBCN7STrUMzRVk5OTUjlxSJ/4CGaMHdzHkvTR0um5Z32t94W3WnaZTLPkgsn9ONE8vPkFJVDTqlq6TxOYb/xNCQyokndaTfyPPyVqlk77CyfYZ25N1v5/Sh+boxQgMSvJEWBdA5bRFiSZADFpf8GO8M3Da3inAZUikexgj3svTjt7QHqPZ+8xkmraTfdVl4cEHviJfNkV4tZkQ8rllg35k3GkNV+od9xa6MosxjDGtnX76WLQslhcv3qxNrn7up35WDC3OX9MrJHQYPqNDi2sWek6etzi1ce68dCHMSdLn+3YGfJw7n1F5sZy9fv6u+LTIZfMcGUfXZJ6x2SchfqKLaRt53+0vvsN/dDsL9Zym6OsWkA1xNpy5dYsX8WYt2JEZTXqThhepKGgDG3jlW7VwpC22F5jgwp9NQIRblMePn4MCnzJHD/82NpvyG2+82Q6elyxsGvTPyYPj2WefPfr8s083fbr/7W9/3Rty898L0t3jW3g2RA66h6jD78hTU7gWslnYyT9j4MOzbuXBZYND2+bH0WO7ojY/zUQ/ygKdkgduoXnZdLjKmXkrpQfy65sNC6w2uhBSVkfPwYsv9IMbHjCCevhsjvDEVvCWCJZ8OS1ix2TxkHzLVz+BNnhmo84Yg4HbzxjCBQ853EI1dy5dnFQb3vQTa0VovLG/0eE4qXhvmOqD5si1O4bwwBdcoxMn0nORCGceNicTfOYfeI9UOIn/xBOPtW3hPbrVTo/go5fMFenQ3S54y1ais/5Jss1eztXbqHSX8cAL2VZYuET01INVlkcDP8YBn2zNvCWHeqnHQ8C5fQq/oIyOcnRTKio9dPPxH7rULsiDp4P0wRNceLLutUNcp4r0ZzzNB3xYRwVz6V7h0M/t4cgkxY8xmfHb13y00Fh5ASfiR/04PeMk0gv9wCfo72WegSvZ62LlZjme+q4wYEMjaWijL6+eg+eOL57X9qHl736yHx7VrTj0E5LKwy2Ci47xnXEGg1+/0tRXoyreIwQ/DQX/vDi54fIb7LWbt/33c28jY/pBf9yv9Zy9MmtVybE5e2CFukbsWDtCPatX7aVnL2R4jKd+n6/bBnJwy4fGmk/dyov2KR8Yqob7BvK9sy9z3y4fYuWH4uiVytsoGNxqRIxBXQwR34fKShtl6rviAJ8JIH+/sOKbfAxgoPU/hElZ6ipMir40bXrL40mQhsfAzQTdjQMtMXD6KevrarMwLvJstDyM0C2ddG6O04fvec7AomqzNtne6s3/2vW3yul7sx1GC5kFLrqzoFnELazPljPx5JNP9oLjFM/tWosf588Jk1MyCy9HQ/QJFQs+vi0OJrq4L0YnHbsS9lh35KSb6CESvVt64Xw9D1XfksuCSAZ5MsGlbIER5D07pXzt+uj01C2nP7Ww0m87POUA1j+8+6WRfli26ns563ROZXzrycJw9+687JFxbkL1J7RDn05tpPRAH1nELUz64rljnUjZ1Gx2nL0HHnio9W986PfK62+0HF548eKF1eZnv/j3vlXudu6tOrm7fvPa0ZuV52y/UaeqnLw+yUOrTrOiZzzO7zKPo+fUgu25JWgjc7vflS8ZbLxsgqOH/9ZPwbpCNl5w6at+xU8fGfvYMtnhFMDKk11/efDGjx6E6DL99EnwbKN+gnow9CwFRg746E84V79fyYlzCzVw6JANHf3Ag2k+jh7olG7YPfnYt7akQ3ccBLccOQo93kVr+Bi+wJWqum+dtRY9a9vQxF/4wQddkStv36OrPhHekWnWB/UCPaIjDR5wZIzzQtar9fuxxhTNlv+heuatnNO50ORg+z7j40WDo73TgPv8uTnxIuutshV8nj83j4XApxybcEuZ8zu2g2fzYBxib4zfvv3T1ilejbk7BF4qwr87AuQMLvzSK/xsnf6Vo2O0RTY0J6zWz1bL2/4YP3YsgBfJpj86dCXigf7wgxZHDz/gXeOp85vBbANfQsYiY5g6+EVwyfu8TdZHcPDO2O6yqLfWWGujD/TIf6NO3V2kzR0cNjB2U4vZdKuq0JLiDf15tk26t8de8E0/4HJimXUKDjwmKK9yD+7BC09oRif6BUbdqcZVTGA9sYH8mdBwfTpHztkTx8mz/qI1ETR5EjJ3wMzt3FmnhqfhY+Xf+p+VBSuDSp+yjWLOZdodBDaaNUubFPoNvxFXFsg/QnWx/4ws+zxe2N2B3jUXDt8V6ENv/MCOXg1RKWk2k0zUTFzcGogYCwWm3Mo16hUoL/XyUbS6NWgT0p586pWTTzqDpWVvW/Pgwot8+gUm5cCpF/AGdz6IGzpZ0E2m9AWrnD5gtXX7ZlQDW2ZTV3nyYKUmrDydZpG0kbuNxwHgDICjezAWfQ6eZ/HctnHbFj2nSH7tAqxbKJw/n/Dwm6mcP3F9qNpC1JtsPy+xO7B5QwxOvPnJpvCLB3XCOkZd8Q5/8GuDsBDTHbzwWJzhmM1wHvpFR5kuo1+poF/CSlsfUUh+Tel2jWmDlz7R044/fNELGcGp59DJg2tZLswmqt5GY7MV6Jej/djlR4+eeeaZHgPffHrpd7/tE1bj2ON641qPE1i01GdDQ78sb+SpRY2cN+q2bm7TWNTpwSYJDv82EyH8+bxCgv4uKjJm0uhWGj1mrKPj6Ct6AIu31IPjLHF03b7DhwiOroTA4jN0otMVHt/apezDHEALjLrong0Jx7hqWac3L4nhZ3X0OBmZN9rgML6cck6CNOONBl6jj439rkPPowTaV/nwAGf4lo+u9BHIAHdu26kbPNNGHjTJDI/88PjA2Fm1j+NysZ+HY2+csYyD/vR/6cFxdNHiBOITnozP9e0ZwRtnvME6TiZeQg8NOhHxB4+ov3VGHzFweNCW8YEr9gVHnt2DS8Sv8YgscKFtvO4Xolfj1utFnSo5GVMv6AsXHkS8wkkf6PezeQWHpudD/aRcrR5tK/AlBB86sSlt8mskmzL4yEOmc3WSLNWu/myV8SJvXe319VpdeJTTwQVRv8qGljqBTGLa1TW8xxo22cMvXvAsqCPT4B59w6McuBWnusNABvhE82lwjawucu46Rau16N0CGtvwFNjQQOswwn1UL5nNbdhd3vCKRtN3VFch/HLkStqKeNlk6Iv6qS3Nzm39aqrL2u7ncytC//5udT3kZS/vdLrD+/rz7vp4Xyg+ZKAP7OgxAG/PZmKbVAxaWTAwicoMn7FRJAO4U5dVPXibJWRRGOMYg9JPOUE+g3ynHJHgmrrBu8KufdMv6brxhebaN5NmrVsnS2614BuszyPcqQXE1Rs4EV76EMGsMvYzGy3bOCT51pG3k5rvWu/AeOFAfwsW3v20k2AjVxZNSoub24Ruy3L0THS/bOHUTl/fyHPFDddvfvNSv/X5s5/9rJ2LvsIsfFmIslFG9tHZ6J4crZuaY/gkZ2RsvtPpPVI8s5csKMBTh55TzG29axoWcXSkFst7d8eRodPoFQ42pT8e8bNG7YK6LL7gBSn84QkM2fCEZsaTndu0Ll9+7Fj3NpKHHphn83wI2Vjo562/V199tcfjueeeayccX5y/39SLF9fqBM+Cee3mjaPXrrxx9MZbV47erDcn+yTvxpxA2A5O1WmcTaG69i3nu3Ub93ptFm7/+G6csSYz28P/mTMP9K1ip1t96tOnXi1mwbFXOpj5SU48wUF+uoSrP6BbC+tdzzTpUAFs5iybohcxOteXftBkU/KifsEbW7Gh9xV36T04pYYDfN4ahgtvTpd8ukYb/qRwxX70NUY2H7TP1AY7ct1tnbBpePSTgu0Twm3M6e0whq+xp9l48wsL3tKDK5F+wOmDLkdwnjedtUAbHWjHs7G6Vc9P1TJ2PJfRp1ftNtO8yajMplxAvPnmldY52Z3kcbCMgYAuuejsoaqnB3Dh0VjAwzn0LKj2K6fn9M16ZpjxBx8+4KF3AQ/qH3n40ePfZNauDl68D98jr7x6cwPf5gy7xqO20JEX8ZlQqmqe6eww6E+PY69zu1UdWHjoHF0R7y6G0HaShObVq8MD52Dg50PKdKRdCn9wKmfs0LT2sCUBPH1H9uk/a7J+ZLpwcWSla/L32lW8gi2Lmdg0TMptnm0XZe4GmYeC061ipN2a0zWv5yVXc3PogUFTwK/8GtUlBm6F1SZoix7k51Rt+FrrB1g9miKnaw8rvq4t/fedln42EPxOr/nZ+N3Y6C5waAuu43K5bT4tM0G7cTvpmEeO8LwBd9L01orKw73GkWnqV9D79V3b3zv/+3UG91n13pzdFyLKp0gGfb8Jq00Ea0Ksk8eD5lGa9rSBB6st7UnByUvFhLSnLIVHCNxhH+3B1YAHf9JvrQYfWmfP7safN+hsovfuzS2pyBDdkO8Evb6nS57hAz/N08aXvAVHzGJi0eToVY86JXq1Fo65+rWQWXDdPnFq54rbB3c5epw3twu9faveLVqnfHECswB5pszJXo76aynaRJfOGEaHFs3ZhOaIPy9OHN+GsArtw7Oq8Dhf217NpW1hK3gy2jwtmoK8usieDdDmYqHl4NCpII390LE+9CasY5Y8OdBJOXD6GS9t9JIxyUakDX2ndXSOpluJDz506eiRhx7uTe2hSsH46TLRmH3uc59pJ9zm/kb9Rq1TJSde1kZ8us2kzKS9Pet5vNx64eD1x06LSXJ75ujW9do0ir9b/dJFPetTb8CN3Odqc3M7/FydFr42m+wjj/W4kznywHOjHEl91EfPUjBJtQtghOhLmk2e3WmnLxuhvPbYfcZTf/qCW93p0/McGOdtnJq5bQdOCF90r48U3owrh065X744GlnwfrY2xu6zOXq+fg9OqObGe+zo1a9C6MNuoxt8h/f0G5lmTUkbnmLv4BKbUP2Jfc0tzzkdySYPx61b4pxWho4+HBT8j45GRvAPXHqonboH6oJC26ofvNOLuugYjoyHOgHPnMOHHnyk5X2zbgN7BKBvo9fzaq3bmttny5FAI3HFaR5yLqFEz3oR3HGwtOeUNB8Gd0t5dDenh2++OZ9XSX9rzPsJkZFshhVvonp6JKNxxjt+wLFVJ3rk8wmgGzfO1yMgVwp2TuzpTxh59udWMy7q9TVvjKE4Dv/YsjlA3wM3L8tkDJ3w6Ze7MHg951dbNsd65V//8IKf2JQ0vGkno0+FePyCI7v2k4dz7NPY7H217TKxF1RG7sntNMPX4cVY8HsEpkylAt2NDQTHmqJXlLpqM5Xj8szhodkPzrWZGks8ZY/heBrnnc+RAfCM2yCvfASqCjCnao2ppOIud8ujcglkWoNyS9XVQ4Os8HTI3ZFagzaPu6rx0wIMDNDa29e66R2YwTvAH93fD+zoeficMdyrBcK9b7/Beb2ulmx4TpHaYKves0EX6vmltwruzWtXaizmjbQYdCu1RlIZvkyo1FsctBm4GF+31Vtwx6E0WObeuFPXk6FogZ1gsA3WLMqpV5aHOyF16MIjHLZbSLwZ6Ir8tA8wFh6qsCmr52DpD44z4PTAyUzLUCd1lx6eEzpl9EU4BPksFNq9gXm9Tm/o4rFH6zTp4UfqJ/uGX07Cj37om2xnyqF7qk7oXumfM/v+97979Mwzzxz99//+p3279mw5ED//958e/fSnP+0TpZ/89N/bsYtuLRjzqYdTdXvjSi1OFrR6jqTouCPowWULlnDWQlN8XehnBz37U4vrqXquqU4hbtfnHHzPzr93D3fLWfJMlO883SinZPKlsr71RFabCvn7VvTnnm4H6Uo5Srdvvdq60AaOvowT27GwS5XlRQs+OQMHr7cX6Tvy47UdqpLzZjlSF6uPDSInJuDgdEqg3oLxmc98qp97ulEnc5w/J6p+SeR//+//3ePw3HPPHv3hH/5hOd91wlr03nzjap+g+t4ZZ8xnVjjXt5wSFM1Xf/dq283DDzxcH3J/szcUzhzaNpY7njerl3LcfrLZsDEyWUBP16b1qU/Pbft+c/PiS/Uc1t0+eXyw8LGTC/W85+0L5mS9/XjuUuuGg8Zxz7xDS7hTuhVPl82er83xrO/y1Zy/WI7GI48+VidDngub24o2Og4tvvSn84ceebj1zv5TZ7zoXL+7dSKLFCdvnkEF16T7j+/KGaeMoXFQtgFwGjgQn/3MH5QT+0TZxZtHZKQTDrMTKzRzEXPvTr18UxdIHsYuKzi6WBvtrRvzFrvvZT5ac8rjDD5YjQ5dSDMf8a0OTvPSs2rmgoi/sYs52dIHPLmNTYJ+7FBQL99jV3l8w+UCgEMw82zGnL3Nr6k8WONXp331/CCn5bb5Wrcf6flKfRrpWr2Awy4vPVinrA9caJmuX9/xwUNXotNosrDha1fqW3f17N5Fz8xWPF/4fZLi4XIGHyqdWtvdJrTeW9s/8+Snes2fMazmWhvcGrZ2cGq95MN5LxU0fg6f8TJu6i9dOl1j9EaX51k/up21R5+y5LaDVXdq6TX6onO/pfpArRmnyFHRCa5IH7UA9Zw4W98cfPTC5aNPPfnJhn/51d+1njgVbLa473GCP6dt6NCNaBwFY2+MwMiT/dz2TK5xBeci35ifqd8bVn70sUfaFs1vdjgfOp89q5/F7s+TcFLrgrVwCv2iXtmn24tw9a5WDt38nN3MI3D0cKXWi5zmRTfoys+eOftzZNBPiF6t33Yb8E2ncHa5xsnLKiwXzN2S61StsV6+aL4LDrsuSLtv96+eu6m37tgnHd4uWehMnN+/nX2u+ahxUkcH4zWyyUFkjJNH51zpvJjYbaD2DLZyr/kqPGWjXrwYHuvCx69glL1dqPab6oufaixa9ThQvYhVB62N357VY81prn3ZnECPfHiMTj2T6BvANONu5Llab2/XenyuYHy8/159ssXdmeraNKzJu/+Lz7Glqp2G0ktf6Xf5o/uzeEkfjAiljOHPFTcjUxZGYbNBqlOmOIO4hhifdkGavsmv9Wlr4Hf4Y/DgDe6ABZ80Ifmk6mexNWgzedIPXrJwFAQnBken5hTq5s25GmTUThpW+uk3dXQ1Bg/vCgfnykfoqhdanur7ZDkP12rTx6f4Yr0x+9d//df98eN8HNlzek740HYL0SneFY6FDWo7DdKGhjFx+1mw8AoW56bXpX1cZrzn9Ke6d5hbghauk2O7dX1b4nSLc5pTvNxysVm5vSR1asaBEOUtqhwW5YQsZPikdyG6jh6H3zmliB1qC5w0+X7ov8YXDYut1K2nbMw2NXy4RQtW2+VH/6AX83/913/tZx990sILF56H5DygZXPrk7u33qgHsefTGvil9+F7xsFCQ//s53QtDu18lmzgbDY2DeNnnglwX7zo8xuPtKPJycH3uXMv9ssuc8vvsd5k9cc7XJxEuosTrC12GF2ggRd9RLBOhNyOMh7a0cKDvsYMXDtotXjTtRj9ZqyU67qg2/JMk9MV9Qk24tmMZy52n6KDVmhwXtAS2B9+8BF+5MmKrltg2n1w2C9KnHrT+HtLci7GyAYvmPAhVYZPCG116+dhyEgPoj7owYW+oC56UE49OFFZCr+UPTSvhSN44eNgcpbEzBPjSweiukT96Y9c4Y+tsg827eLt1gXPPtbLXmXHLiSKy2NZ0dMfPiH4pXD352YKHm7zAJ/qxciK3+F/bi2jdebMrFcDN6e15pQ+Ui+72MBrFar4zqHUdDzW4ZVc9CHKc9YFPNODSKb+puA9tEb/5gL7N68yJutYZN5pgwO+xx77RPNsrMYBnP1AO5ldnOsHN7zsm8wCs7hX+0bmP7wj/8n5godVp+wELjEBjCgklWf3gjr2J42doZf9pyAaLn/ABHby+5xUFuZXiUqGGgPOTfCv9MGBTx89tXOUipP6t+MtyGpzCWZQh8/Vydtxdc6fCrNXDf/bYUxh9iFkt3G7tVMUq1QLDvpni87dOpSiA6dxw2M5s/VjYdpLU/Ov8n6P9zDU7GyYtb7tqeD7DpWEaKOqSqtQfCSQHIXfV/hQHD1KMsiZaAxXfgx9HgZlqMqMUxsF63doFBEcvhgHmMBJ02+tT7/DdMWz4gN3iCt1wQE+xqsudHtRKxmkN+qWR3hTnoVrviCfTZM+MjHBgqED8DdvOVHYQ2iAQ5ueVhlA6qddm9uwHIeeaGXnr9cp6k9+8uO+kn/66T8oR+O/9SJtwrzyyu+OflsnTU6bXv7tS0evvuEq0/Mi15sfOOctsjz3Nm/kcdomMlQ6wcM4aBY0QV8BT+SVpq4b3uHPbABze0W/LKAWZxuSDcaCSmbRAk0fFnCw0Q/00UkWQHDRlXZl9PSTTx0Y49GL6fY2Jzh1NkR4bRoeblfPySrxGh6uca6ebFr/8i//cvTNb/5j6yBv1jol0s9J1xtXXuuT7sExvzKSzSWLMj5OnZo3ndnD6HTGghNu09AffBwYOsLfpz71yX4G0EmhE1mnA76UT18r/07Q6MkJDPngE5yEuU0s0JGonaMpzyF3+vpAnRihaXzIpo0cYNUZJ/rDay+ateA5EXLiKJCJbGe3sTjWf8keuuA4M3gX4DJW7ESgJ3TwIU7IKcjwjye0ouORZexi9DxyrbiMKX70U6+cOjQyR/HJGQks3gKrDVxS/bSL00/NhBnfkUk+fcgJHv7gjV2qE8kdp0YenDRjgP/k4aKvfDzdHHPLFp/GHW76WQN89M+hB6ePvBRsuSkdbWLtPBeO6FU7HtGEQ6pOnu2xXfjR1ScRn4d8rDytefoSBf3gQ0dMPrYROtLmpZysWhYr1POxdUrHvpymZh7iQZ1xMD/MX3DGh1zk8Hvh6t58050bt4rnmVW08fPKb3/XOPEYfuBljyLcYmxKH7hjI8r0ok4qxJbxlJMn9dFZUnXCYXlqp75PvjYYPAjNy5amrhuWOnwJcOuWMeiT1aoT9E3/Nd+NW3s7dhtd9eF1Tvj2wxVtaDhdhMt+Fh1pE6a+0nbvhq/xpfChX9b8sZXTpc9+C3fhEx48RA4+nhO8NRzT0a/+HYbuf7LLIcjvvfyBHT1CC5RuAllUBEbJIDkh2pS1m0RSxq1+lLYbxihpd+wMbgYf3tBLurZpPwz3a0+dNAaqX+qDW4pXaWLgItPtO3O0q686EzKT0kS8dnU+5ZAFA74sxOCUE9qQixZc9GUyWRAzqbIAKeOHDs/U7ScLzum6XWHxulT6NwacDN/Oc5JnEfdpD7cI36zxsGAZF2XPiDSewomuPDrJ40mdmEBOPODR4iWAUx94dXiE590C+aMv+OSzIJKDrtQHlzYwaYMbjYwPm0s+tFPGH3qiOjKtsnRb3b5CI3TcLiaTMj7oxrhyQALn5RY8ffvb3zr62/pJOY8s/PEf//HRX/zF/6hN9RPd3/i/dfVKbxzGFE7BJgFfFn184UlESwSvXR/P7NmM1JFPnfG3eePDz93Z+NfPPsDFNsAJ+rmdp+/DD1/sVJ1bbnRAztCnI3BOdQX12skOZ+r0j41Ex9rUi4Fzu78q6rZHyVa42RGcsSd6FJX149hmTVFWjx9RHi3wUnU2bfX0Bq9AV8kr03FC+NMntMGmPnLiAY3YTWS9eHHnh17CT+jBE3rqotuVD+2j421OFy/pDy794E5/eNWLscP0ARMdRkdSNLT16XNdRMF3phw0uNiGPnhZo37GmfxkRsucFOET1esDd+PcaOEdTrjZpD7g4DImbD8yoYN/qYin9xPgi+6iE6k6NiCFLzJl3NThl6PnV0PML/zEbrTLZ65ljuIp+pWqt76a3+SjWzLDZY319jx+6I0OyBvZ9fWMMd7QE/WFN2HVDzz64lVKFo9ECZEdLnmpABcdREfqYjfg4JAehkM8gQnepE2Lu7ONQ34OTDkwwZ3yO6WBk4LJ2B3Wa8Ny8HD6+pZoiVxN1TbjXaVea4Jv4Ec/dF3KqZeRyv7djVsCmd4eB6Bpl/fYuNDbZD+EX9B9LLK7Rf0n2Ymys+AwZnkGxhhNAoEiKFe9FIwgDY6uqD+r0tKWFMyaB/tBQmjhI3n4Q8NEk18nS2iqN4EzidRHdmn3reeewGWCWhAsIAm5MlY26UT4POQqenYgEz+3geFumoUbXk7epe2W1wO1qHLunvr800cPPvzQ0Wt1aucDyXH0PAeGvmcm4LHhztURDsjpFmKciHEy3H7w/AT4yOhEyO2u8IafVS+wvZ9waAsWOhsLvdKf0wMLqHplmwaanFWfi0GXPPAk4iP8RKfGQD0Y/VOfct92qltMaIuhib5A9hlHi+v5PunjXGl3O/Zb3/p/j77xjW+0rr/ylS+Xo/dH/Wkb+H3v8NXXXu2F3+LuOR3PPmYjySai7BZpj23dUzMOTko8HhD7cZveJkIWOnKCh1e3h53Y0VN4jczqbK7mpjqyz20yv4Ywb8beuzef6aEbej59bWxseDEfjK8NacZ9brXPXCYjvLEPZQs+Ok4To2P58/XsljOgM70Gz5WzfiI4vJJLqkwfeBeUjY0UfGAzZniIo4c2GHX0SiZ6Dq1GWH/oEczKvzy5BfpAR39R6DlXuMG45QxeCE/6yK+40x7elUM3eXLDHdnhIEd4O8SZ/uFRGU+xc2kCPHDTVfQL/kz9hOCFOsX2PF8tN/18kudIy+o6ynuWrdtKj8o2VREM2qEHL/z4R08bedmneUt/+AOnT/QFJkF9Iv7eK3DUSCmyOc8ge46wtN/PECp7brxx1XOG1rvj59I29HiKvYRHtsLJk9Jb1pjYGhmE115/peV4vH7Zxvwis7Xp9TdmvnvszO+g+3ahk/Ib9VyY9qtvuU08+wA9RFd0ERtRH13hn4Nn/8hFn3YxeqI3YU2jSym4ta2B3+cffUNHl5QH38lxok9hbHHGNn2Tams4A3gQArPymrqAphyY1EvnZUg5VnCfULZrnbDfvVegXzRGtQM/tCvf/3cc4E7Cvxf231/7B3b0CEdwAprgFmWTRd7k4GSAYchgogh9DLSykIGTX+HSDsdhUHe/+hXufu2pk4aWyaUshjdpFiH5LLqBQ8cipv7YcDfi+rVMdVys3eQU5U1WdOmHo0c39AU+i4o8OtpEeTjRkddXmqtibXBcLH44IMYgH0K2WL36spczXqoTxnnLDR6LSP/UVuHBD5oiHuEGE9lCHx2w4Utem1SQT1jzqTtM4UuQZz90YtGkWxGfZENTnmzawVk06VMIX/CgTRZ6ii7DOziyDfw4fq27zcHDQ+zYwh5444cfdOPk0fE//MM/HP393/990bp59Gd/9mdHf/mXf9knqq4UfRrHhuFhbCmn2XgYN6mIR1Gdz42kXmqx0pa66/XwtTI+OJk+o0MueXqJzslMxshFX3Fa1dPZ6GnGM7eA8pwUmRPgHF2NLcKZ8Xig3u7Vhh6eBG2rro3bxXpoXT1cbVe1AZ8tO7tXt0XcJgGjnQzGWFQ3L13MLT9lcsQewGasQtsCbg6x28ggT3/qPSoBT9piJ7ER5cgLhhyRRZqw53c9HcIHFu7gBxOa2kNPGh2EP3V4F/QTheDrQv2J3tKeMjxwsJc4B/hOfXhSpkv9jY16YaWvDg56xJMyvBknOORnvug76xEcqceXPmgJkQkuOLVF3gZ4H3/0FdFZeYiNoClPrsgjLyijqYwXfMmbp9YVczs8pZ2dgYsOpU79felAX88/W2f1x5dHPxLgNcfNPXLCib/oIWl4lsIJlu3GhuEFi3+psqB8GPQXYq9gwMOpLeXDvimnPXj1TZ3+wR/48BJ4qbrEw/r2lqpyxRkc6lKf/qGj3/Fz4JuzWFJV9ehgVDLP3FkT5lYsz2zsm/z3auxPny5bPNBbaOE1PKC3064SAtS+qHxg02dDO0MD1X9p+FAcvSiD0ZvomQwMk6EzBkYrmjiMLkqTZmBXTahnxHAmBG5Ngycwhykcgj7pp0/6xdhDL/2VwWdCKq+8kCG45UW49Akuda7k1FskTXATnQ6y0ee2RhZD/cGCkRfRRauNc6tTRudWPV/XhlzPP3mRwXMyNjPP4zkRQge+1+oljJdfebnfiMYXnC17OSO153bsbyWVY5IXTKQmD4cFPbiNYXThd0kFZVEIX114H3/0I6NgAeVEee4wt5fwid8Vr7x6vOijDIc0dsb21EVncCSiCbb14Jm87TYs28147A7FXLnfrDdq3Ua8fPnhPjFF14st3/jG/3Pk5YsrV14/+qOvf/XoL/7n/zh69rnPNx8Zx2vXrtbmMc/3GFf1+JO3gBsHfLIPP6mmTQRXTX0S6AQAvJNVz9+5JeztXg6nMXba5oSV44P3l39XNAof23AKx77MS3REbxQ76Xjr2jyfuW5e9EZHdJzgweIzhX8fCzBF05urJUN5tMcbIJg+vSsdeYu4bbve1lVPVnKU9c7pS73tWoh6PNADi5fwUxbVfOBHNEZpM4byxjxjP1fzc4F2PMabrYDDg0AH+IAzQV57+JDSGZ5CI7DgwHNEpWtEN2XwZI5O1a8hcOE1fcHok354EdENTPrijR7Ui8rhGQw5W+eLvqIHvEVmsOgJ6lIffasPP2kvlBVs+E6nOA7Tf0PT8GCjP3n4BPIIeGgnvOzduCi/3xAdgSc7nGiho2wOwQkODXqIDNpTF3vgoLlT4LarvgKceI5OQ0PdE5/0iaX5nWWfrHKwwaFLH3cK0DCfzW8f2O+XrOqlF3x63jXjGD2ttPCB56wXeAZHhoydVFlIGpw1ubreH3WHIbpIv/7UyQY0OKytg39gzZ+x+/6cU/0mNedqp7dTUOeNff1WHgMr9SyeNCGwLhTIqpw6MKmDT1R+p6BfQmhyzvSzN94tvZ6+ULSLfnjgJxbFlrlq69WMCZ7Tu1e2jdPBW4j8x3/VBf8iytbz45FEjg/MDUEpPQZuQRZt2CaRdgZq8oCJsSKsbR2U1MF32AbuEPbdmI8hrP3gFAWTSFjrwMaQurH+4Df8gJUX9U9bZFJvEosXak2Djw5syGDczs5Gnt+d5eCY4HRjQbE46COFB87wBJ+ywDER9PMJDPxYcK7XwoJOntGzYFiAeoMtWLiUfTJDiD7Cq3LGTR7f+Gg6RVvZG4x369Za+oNLTB187xbABxZ+8jh5EuW1r3TJLaKPFzE41KdOO/7R155+8ilHj8FF/2zW5s5hktdmDCzSUmXjQ7cvvPBCn+Sh+dWv/bc+zaNvNi6iw8mLs63O+Ij4geeNK76bN/YGP1i0gsP38oydWz7hk144eE899VTZzHw4Gj4OHvpSJ7fwoWWshfSnT7Sbv+u3y9H1DB8725+3tOCD13fGcMapEdWf8Kwdrxw9eEX96BAfr956uceEbvGIJ3T7rbcyYXpmIer0y1jT6dAfitr1Vy8V8KBeTFCXiLed/4HQxi7oJWOUvuEBDfyK+Itc6OqbMPCzhIaPNQWnLKB7GNSt8MkHHu/q0KWLROVEsOqV03+Fl48eIld0Cz46SH/4VprsJDH96INuhOiSPuVFcvkGZGwv+ObN8RlDPOFbkE/f9O+G/8CfVb/Bx9bMU3NKyJqLRngCQwfa4uS5gFMX/sjPniOzenVeSHKxdbM+dO4UL78uRE+xG5+BCv7Q1Y4+nqN3dfDDKw0MWegRn4I29Ff7Da4GOPgDDxzRSZr1gSf6Vl5DyknxOvyu9jxzySNGgTvE4cI0faUF2CDgRR9PPs5vNMAB63Z9Kkzd2+d6N27ta37rlqpjGirgar3WN3wv1vy4t/HS9Lb2guq+4S3lrtz+tDzH8HuLPh+38KE4epTGEBmh54QEdRZ6ymCUNm4G72jbxGPQ+jA2MAxOH2EtZyKo1x6Y1MMNhxgY/SkbDJ4yUdQHtge1yj6xIBib4mLrV30bXz1TUQuAbUXZidlKhxEro4EW+dDKZmeS3aznsUx68sIl1ceiAladWwTqLCZeosCbzV5/OgJns0cDjNuAdGjDr598bX25Eom8eCUrJ1J/uDh+rq6uF49vlfPh2RXwnD0ODd5dyYKlYzRFvOBDhFMdXtX3mJWjl8UnMsD7fgMcdGBBpjf8Sjm+bCk4weEh+qNTMBbl0NcX7+jDAZ6+stiTFS1t8EXG4KUH9eGF/dKxBRxet0mdNvrZuG9+85tH//Zv/3b0eunMSxd/9Vd/1Y6XE4dprwAAQABJREFUcX3jtdeL7nxA+Npb5ehVvFEnZ5whb57eqE0Q3K2yDfwY24wpvUW3xgSccjvVdWryUH078fkvPHv0hee/1LeMPOx96dKF+q7io0eP1+n5Q8Xvp8vZu1bflHPyR366ulM0861Ln9ShA7TNS6lvAKIjGue2m3ojW7nnUF0B4yeBPuhN0E42IeOljS3RYexBm/GDs4yxnxOth1B7SQWjT8YNftGtZPjxpKwdDuNkDpg7CXCAB0su9MGQRVBPVgEt4x9701c7/CJejT04ee34liaqL5ZOhJatauASkh7Wa4OH3jhAd+ubXA7DLtVP6LkY8y1SdaLxevON+s3WOoG95ZdSLt1pGwOjD5sCc7FOTY2zugfqUztwO4mFz7fv+q3nymtjCzgkHx7NNfo1xmxGnYv0rA30TV5joV1emLfx53YsfYEfWb3JOqfY6ulUcOrst2WNC3ro+qYnuvQRvA18nz/RpzTRGBpLY+siF67cMtVmfuGBPbCX5D1bi1fwmYPa+4K4eCGndjLHJmKDXnx66unP9Vrhl4U8A42WNYl9grOO+AUOfGpD30nVqid3CLThnfzsFj3zXoQDLnzAkzzVqEs546gusFKh7axSsIFXv5bhHvjdmQouKVg2wJqMUcOWAQUGPjjsMYL60FUvdnnBZcxO1/cGwWpPSDk0pYJ6IbDGpHFvTlnXF56mXbArPBx0L7QtV5nO8OTtW3tm0+3dvoB8Zqja8mhJfxO2n5sux7VOrqul9tBZMy70nKg98pQ3svffTEZrY1n2baG0Us+Vvv+98m0I/gMVH4qjZ+BNcEbOmCmc0kwgg8GIbTYC5YoZBHmDQKkGIIMaGWJU4LUdwqy4YgBg9RPXOvWhG/z3S8O/NpMuuPQNvqSRB//aV3i8hqZ6m56JLNqgLS6cK5GO4thYYE0CuuMAwCOgafHJBgWnlzVaL9vxehFs2OiJI5RFUAoWT/gll9/MNU7aLL6iMjjRuEX+yKgcue+Vw5hFUL28NmHVV1fc5090HRpSdMLfymtoopHYOih6+pHhfjTDN/KRS14f8KIAjn7ZMloWfB/sRcMzOBZwP2f2z//8z0ff//73e2z+r//55/3NQidp2o3pzIFZnPAkWswzJtrhvlYf63XyoZx2ujcGcU5zMoJHzwJ5k/qLX/xi/6oBm2Er+krZF97pBs/iKrvnVMisHj664HTeuZvbfeNEdb9aE40NnkV5uOBnE9ETmcnHqcjYg4uez3Ncqny2P6C7Xyi5ij7jRSWwhVtAQwCfsbGxZHykIrjElNGb/tMGjzZ4RDhFdQJYfeguQVtoR4dp+yjTVZbwGj7RXfnCnxD9gjcWArthS8ZLHyk5IvuKW7vyzXpmFBw9sCfReKoTjW/saLVjPMMRPOYLfMqCdv3Zs3r4PRqiXV30Hv4yHtL/SAgPh2nsYejOXFSHHn4E8nDsXqlHWjiIeY4W3/CBp1uRfOqsA75LKlXnV29yYUhXPheiX+a4D8yTVxToEg/6Ghew6vQVteELTvygmTGPbqTqyUGngjoRPnGvG1mU4dFvhQvu7rD90S5I+/uwW/39kuAD27wWfqkwfEw+deCC/360gy+0lNNX3do/MP+ZtPH6XmSJGn6Cv5al/g6fcnTpkQRiDT+1PoGpCjLQkWnJaZsyPRfsf4axj6jPh+LoEZ6B5kopvJpkjNimJrUQUSrlUYi8fplY8GhTPwodYwabNin4wGkTUtbXBFAvNWmETO7AgwudBqg/oaksL8zk3Y1NnzWASx0Zxchk0bzryrn6mNiuMm2SrtRsyhYX/ZU5ZN/5znd6Ufn617/en8oAQ6fkdTpn8chCQJdkOlP0tPtUReulrhLQkxdef32uWuVd0fjIJZreHMXT2VroBQtRFvlpH9PAr7IoRK/40P+ofuotefyQv+sb+r3/GDcBXv3gQEtK9/hKm/boOIsix0NeWzYP+DIm8GhTlk9QBy989AyHdh/fdcEi0DE4bXA7efDihZM8v1Lwta997ejP//zP+6fNOO8CHbJ3+icH/r1A4afGsulcq9O9K3XL1k9PqbtadLxN6/kdY2yR5zDChW9j4FYtB++rX/2jfsMWHPt5vD7EjJaLBLaCVyd50tZNPUfpJCiyk4fMynR/++5mR5uetBlPvJs7YNqujFMdG6e/27xOz5ww4TG6DA++8k82n/9By5uQ0Tk9dZ/q54o5z/GgKWa8pZ5nUhca6asswKkdn2J16RAcdBC9Rzb8aBfpMbqYnjP30z91H1Ua2SJf5Fcmj6AOj2Rd5SWXwBExRrnIAG8MhRPj1zX7WlmIu904s3XrEH3AmzHP3MYPewSnLbj1nbHAq7VO2zjQcPmMjzGBMzKFBhzw0/XKJ7hEMO8WAhfcwYOeuUcneMwY0w05zDEX2G65vvyy+PLxWmO+sRVziD2L8MLx/PPP98WWb5H+3d/93dGb9eFzbX6T2dhER30hV7ryCARe0IWXPcLDcfDsrJBTQHzqFycPLvCxVXonZ4J6eBPwoax+hUt7dJUy2LKsFI/7TN/Bu/fZaR3jLl7gyC9zoFsVXZd+2B06M+fxKArgNz+1YbryuP/AB67b6k//SkfLOXiPeQnA+05noej+m73p2nxL619ZM4JVN0j93HDLUmtW/a+9tNaQcu58mLnrN94nX7DT7WPx9wM7ejG+GBljpyzCJoBRz8AF7RnwwIJfDXfN66M9/ZUT4IEjIXTVhTdtwaddW/qoF9LvMA1N8DHQwOibRZF8JqWFKwsvvHfrJ1rSF4xFw4QHZ3OeZzxuHv3gBz9oB4IjAS/nwycz8h03fSwu6GmHa5XlUB4wK11yiG4FBRZ/4CwwFhULcMYKf/Bb7MCnjzp49LNIOCXqfNVLE1v2bULLv1M4xJ0yPBZbfKEZvFK8iXSQzVteG9gEuI7lLl60J6jXx1hlMR2nbG43wkMXxsuVtVsz3/3ud/sKHk3fyftf/+v/7p+ic0vfAm1spPDoj76NxgZqg1SvLrrOxsrR8xKGdnAWejBg8fjcc88d/cmf/Enf1vdzUdGBC4dsQuwlJw/Rzzh9swFF9uiSHuhAmV17Y1hqAwKLNvkjh7z2xNiMK2Lw0aMU/ZvFP33It663tCjWAxJFo1Z4V85+1gnu0EIvPOpnyU1dUrzhQzAWkU05MOpiE/KJ2tMfTXrGY+RSlzmtbniA+aMJ+EEHT/KCMv0maos84Sd8gsG/uctu9FU2DvpknMipD1xS9drRlNc/NgpHgjZBHRxsVL+py5vi+wtF6Zu5oL+IrqgdfWlkDz/g1IMTpJtKuny/P8ElDZ7QNhc5c+jQB/xkcNHsd75/8Yuf9cXSG2+81rLTG3sSzZ3kyZuTPBdcv/71r/ui3C3bT37qE82ncYHfnDYO9NQ8VZ3+6Jur8uCkaLhANI+VXbhxOOEQMrdjF0mjB/rxE11C9HkI46fowKEpTp8Z97alunhTd7+gPm2HeAOP7qFLs/bhSgr53JK2HuN9me52f5pGjZUUR2BXusqJsy5wX4q+55b+P+ru9E+vo8oTfCpTm2UbLxhctnGhZDculqKpMtAw1Uy/m8/MH9vzol7SU1UUfD5V1MqwDNiS8b5L8qZdmvM95/6e52ZaFnQLCndIkbGdOFucWG7cuPFwy4XIk/A3i7kq7zJyz5gHb9MpnIV08AITX1CJx4G9YXG+ZKW+8nU8/DXaVP4IhHe80CODhpsGPygRQ4phG3TTccQ5StEZhKkPnleXAnWYOGll6wZQn0uZcnEuOFOWfPUTdz4m8cMhHGDXHgwfPg0qkV9+ZFSXDDqzfDjA6mzyvOqzkGOMyj7xiYer09/f579++tOfFR5fgN5bv1H7nxqnnyay42Pnj7HakcODX7awI0IP+CjOOr8eN7qL2VHpxdjySgEtPESv0j1JvFOvKd+dp/XNb/KStZ/46GCZjIqmTuN3UavVm1b0nLaBkxOS/XYuuguMNP6CMyFc4sGZdl63RewNLrBrTz/wCuNHf/X1aQ3sMyjMTfMW1QZmdmrgffbZZ/tVrfOldvz8bq3dPGf2/KavX6AwqaCXEJ90rL3k+aiCniffvXi1oKjLUi9d9Lus8xRvEhrYuX4HH+zkiSee6IWeB4MsHMnqVn4bKHQgjd94aZ5Dk8xx0d3U0V+mHP/BlbrSPP1U8Qf80eo/Jkg2zauHljOh75Xc9xXPFnM8uu0gqt0MWOkevLbhwhue+aHdRV22wVFZykJTXNnh/gzv4XYPPfmhMXVnZ0l++mr0MBz8Yf7ige651l3ZCVthP+GdfHiJ/PgDI58OLdLYjnI2oE3g5eABiwYckUm5XSW/7Xm5vtTnc0+eu/P4S3V2U3mNMF2m/HiNPcqcMUX3Wh1qn599GhnQRAtdIZ7wuZbT+MH+LYrgWI+j4MI7XLd1Bethg+9zh0XPro/7Qt8r3O/Vzjl93F3XAOk7F86d33m+ft+bf/XVl/vVNR497PGxp7VNW4jp88ZrY8FPfvKTXjB62MvDmr7rcvx3axz10NbO4qJ+4eZEffDmw42jdWeh9nUu3MXmFo/3fWxupTBO4E852njGC91Eb2ud4BmseUE8/rDu6H3tUp72KOTD6hJKTFnCtEXGgRlPlkpNdzPnVCY+1E9/qmlj8C0PbKGfr20P8yc9fkWnif2P/DHOHJR7Tac3KHrBt4xHt0EdOagxvjj7QI2Wq/IjH3Vmt/IDwH+EjDte6Bk0CCdkoLzBKYoVMtp09rWM6jGMtQOfwUid4Ao+sMElL/XF5aubfGVoyOc5aS7w+f056eQnLh38h+uhA6d88EKDlY4vTmZ1LdhSlywGPzqyA+Np7sKFebVw+vTpfl1r18idbP/yL//S+C0m7PqZ5J3D0vHVN7gLi8Omr9Oj40JQvJWWNnI3b8tZHIe28YkPdQwmBikTAf7IFPzkIkN89AJf8lycG9qBp7ff1WWAR5fO4ICP56I7If745CmXxot6cPDi4VE5WXm0glscjLQ66/valMGhrqtTnn766X5ta/H3uc99YcerdV+80vOli3Oehg7hiV7xpK3sBsLTE8EyocEvDTb52cWTx7ENuwcmmMcee6wnIfyikZ1jNnClvsaFH7/RQWwTHrQie340fexjXnvCIT31x27TDujFw8VJc+qoe7XOGYYv+fQZmODBc3zKYUEzvKirXniRnnad8UVZZFSWumwV7uTJB8urn3wwcOOJVy91paMH9egzXv/4j3Do0o1+yBaygIgs5IqceAscW8C/RYKFHrg4+Mio/dmiNDmzmLles7BXUPQEho/O4EAbnbQZW+LhlMd2r16bnee0b3hUH2xsUxou+KNjPHt1qo/AlbKE6vw2l3bVtuFBHXTJTI/GWrK9+OKL7R3BsHvWC+P6GIj+6IRuOPyRUT39/Atf+EK/hXEu9xe/+EXbkY/mvHLVVuRECz501MeLtjhZD4Ye2ILbLp0Fno85+nxtLXY9QPLq5wEz4wM89LFu12Zy4VM5enHg1rB4i17ICRcn5O203coFx+1oF+Fb4sDPVgcHsQfvBmaeRTcy4GZkSDj9OVimjIzbschcN7t6aq8XbwfTU/fgWNH8RGeQdnyoddlCeOLbtcOaH/EuX5phZMOfgkD+ccM7XugRitPRMohIpyEZboxfngGCT0dQL7DqJZ/i+AzGa5ziKUczRiufUwYPF0OVl7QwMNddXX7I4Sfw8CSdOvLidR4ycDqVDgoeX2D2dufJGh/yyZ5JRJ6BQj4cXtM+9dRTPZFb8PF///d/v/PNb/oprfkFBAM73PSCth0mO3zueOPtvBXakb+eKP2axrV68r5eZQ4GT0eYhQ34I0dmsZFBHl74+fAb3qML+ckr8IZLmh6iG3Gwt3N0pi66kQ08HdFV2gGetd7AyMO3fPG0j1B6bWcpp2d6wyO6YE1AzpwZePFg0Paq1msfh6296rFgf/TRT/VrVAtvcGg7zM1HBnk9AdaO3Qz+83SPRwM5v54YTESZ1OHAmwnGRMJ7bWtyQAPv9LSeOGo6KT70P4um6S8tX+Xb4aADePnoIPqhw1JDOXaxXSx7+MEjXqNbdcXd5s/rNnQYty2fV3v45Itqj8HerojzFhic8y1rvuAjY/AOv9OHw7sy/PPigQ0fwsgrjAOfto99C7ngEkYO8pP3D+3Qi9NWbMYCiE2wJTrEVzx4+drG2GG3SR5bzVgSnOSlA7BwskuOztC6Vo3oQY2sWViQOfoDM7Y85XhCgwtOvIBHU6gO503D+/XldxZ3aOABHBrw6lcWOGz7MB44yFy9XPRDXfQysFswNNCGG219wkPb2bO/6a/olUcPvgRWH29C/Usf94C1v7/fY6HXtI7X4NPiD76zZ89WO81RC7TQoYPYPm5OnJxxDTz/8MOf7DcBxg9f5JLfbh686rFJvMGFHzxqx8hHv/K55INBNzAJwcC1dik7HAZnYJNOaKc8Tl71pk7CIx360vHyF1aNAht4/B6p7a7Gs9QX51CZ+mOng2NbtwpbJ7kvsysd/mOwKbita6yb5OHXt2DR7DodHx6cH/YLUsf69XaK0S/p29f4Uxy3PLWlPOf1Iv8hFjbU/ziRO17oMbw0MkNmfARnYPLtTIBhuAxZeeAS15hg0/BUkQbOYBwYcHHocPLW+SmPwXUjViYccSlTTzy01yFYvKa+EM1p2GlQ8Olw5NRheTDkNaCBERdydGNATz0yGjgNSiZ2X3V5WvzBD37Qh/9d6WHwgRM/oc/Y1XX54+DSAfE4nST6zeCA/716glUfL7zBGC8GKnyrE32uQ3yDjy7Eo7t1XnQU2bT77VwGInJ5qqYnOPCsTDz4ww/acWDW8gU2/NEP3PHS6CiP10bHj89ZQHgNvAZ116jQjYeVT3/6kd5dO336Tyt9YtFb/dRRTbDajrw8fmZyHJsnP33HNkyW8ugbbnXF1cMjWjkP5OC3xScHjmwWfXzsyUcOXOgnBEs+6djLYd1Ed2u91jKsecETXmlaedqDbMpcx3L16pw7SruBU45O9O39BT68WutRvNLgDJAmcXjj8Bl+k5c2ahyLLcDPg4/bws2uIrzhh13TOS8/ZRariad+yhMG/61D9Lfj0a1hfvdc/OK19Vt61D7slZyRFZ+xMfZjoUcuY4d05KBHF5w7juEn+CzQLl56b+StV7GNo9pwd/dUx6V5csMhlI7etCsbZBN0L7Rwi24DKx0ZwF+pC90Hl8XpLBJrdOpL3d9+53zzDQ4MF/5/N61tHxToLj6846PlLr3g3878yy+/2jT1Mz9fd1e9RmWrecik708+/NDOk1/+ys4Xv/T5fr38N3/zN31npodt47KHQItUdn/u3JypcxSDLcT2lWkz/Sm2agx/+OE/qVfAj/Quph3GV195vcs93IHHM72SxdzJFuTDEfnoSJo3B7jmK2Xy1i5p5fSiLnzBuTxzLbhmXAUznXWNycJli7th6nxg9cKScenThbcQ91EhNecjq+K7qoFvrHiuRdKRmzXPhPgBMvoTHAVdFYeX7dyD78ZVxVNWNtDv7VdINoMNGMT10/L14eDEu6UqB+/0mG3FSuOtoCNr67VybvroAp4Wkf5KdsdPajwbfRamG8ubEWfXC8lKXVW/bOPAWIHKf5y744UeVnUUikkH1+k1AsN6q37j82TdKeZ3V19/s74yrbNjLvZ1bqwNlJFUgzMD//q3CKuujnKqzjbAa7ChcIPX0dohk+bguXpxXrOZ+MCgi74vYmaw2x7WDk/48hqL92SiaZ1pRYsHF08mDblXfDvY6kekyZsJifG2rzru4nEWCR9X8Fx5R5zRKFlcY/DmufpdxKr/ybs/2bsc9HHffQ90pyfPfXff33fceZ3xxluv9+9POhPz9rv181k1SNuZu3i5fsKsOgHbvFCHiO3oOUMjveuzoOonxW7dp1UT8vv1JNv2XX/KCMlEvuu1IwPvleW1i/w4A4tJA5wFhTCTO72RPYsnerHInC/IdJYZTNTh6O6DrnjZuOUp1A5S8eILNpOSHSWTlM5+qeTl76rf4vRzYs4DeUo+f6HOJ1W562V0IGflnMsxsKqLT/Q3MhfvJkLtoA3I8m6d37nn1Hxle++9d1e5r5/f7I9eXnrpxWqXc932Dz3kyf7Ttav68ZocLITtas3C+Fz91qX2ZZPnXn2l6aH97vvv9NM6miYVfDgDpf3k0TOPR3fssfsH739g53Of/0zR2u9XO3fXr0bc97F7elI9fnS+vrtU54Deun6ud39NHFdLHydP1WWueCj7OFrtof2P1QR24q668Peeu3YefOiBnXvvqzstS6/Xik862i290SM+tRcetbszRteu1s/jHa+70qqv2fVxvrD7UvUxH204kzg7QXVtUt3J9vF6EDlZ9LW6jzDIes/d9RvFJ+oyZF/N1gDJ21W+Vq+qTAB79SXw8frVAP2ZU+e6c4v1Kphdxcbk+11gab/m4cwV76zVpx//0+7rJsYH+utjr8tn0Wwhqm7fP1h2A4bec/70yuVZ1Gg7NuU3S19/49XWA7tXd/r5nD+UZzHA1vVvAz0+fS0948OkfYE45R7K6tV+8Uy/YCbUT0Zek/T7dceivsp+wFwuG3z5xbqXrfzNassTZW/33l1tUXSPFDzYarqd35x9psseefTh0md9Ef7c2e5D71V7atd7P+ZL0Wv1G8uucbqw88abrzXvd5c9XC0c+hibf/vdeuVb7XnmmV9X29d1HtWXLl0qm334E92n3B92qXi6/2P37bz2yqv9U4oPPfjx/tq6JOqLvI2hp+6qhUq9PbCYpE829k6NW+Luq9O37Diz9/Pn314+kpjxiN0Zv9mYhyzjd3Q0o6sxbfRHt5y09jla9Qx+XlbcqEnd7QMXCt/dtXD6dS3szl043zSNqS++/FL3pbvqvNzJ5aJ4dHk685u0n/rUYzvf+tZTO4888mi9Vn5t57//9/+n+Tq9/6dtExZ4+q23IefOvdL8nqx+Rrar1W/YiL5ElulX8/u3Ht7s0Htof+P1t3o30KKTXZGXXnhxcrE/9goH2yC3PN7YFZvSP7Wl8d+w63e0XULMgSlFVVuUns0Pla7i7n9Tv+j0oqjBC6p0WPjQCH6XITfdAam/s9A6Wv0Xn/q0xZH2aFrVL1yZxDaavJ2/4rffKrUMECkFPrisxRAfOhZO5clZ6wJngLV4JaGveNUpPNerkvmg6Vb5yFphi159kMz1r7pMzRO1Ptnx6snYXeuO63irOaJ+Felmle0t592vurOyKhj3jI/BhWrzXALZzYOZim+W7D7OuFz9jP0ZS+466a1LzVVVA0zXrPbRRs1a5Y9rDVV0PR+m7Pcf3vFCj6LjMxnEyBmnBc+mQRcDIkYMNwYV0aRjyBpe3cAIY4SBp1y4+NBpeFZWDryy1JUnnrSQA7d2gQmfwbPmLTDqiaNP9oTiM1lMpwdnkHAmBd+cAUgHV1+Zzu2rrhdroPek63yIpz10Z4CZnVKThDyvSIb2LLgNFCNLm1rBzMAQ/pto/TG4cV7vmUQNUFx0iZa4/OiPXIFBG87oQ37KI78B6re5LCLR4wz6vIFRfbKhr5w+wKOLRuipJ4+Piy2qy8GjnH62Ohp5yUDvJhkfXxjMpenlkUce6V1WCzA80ZvJy4QGxs6GEK/RGVrJw2/4BCNNDr7r144LnCYAH17k9TG7gUedlrceNKIL9mLx1Xhr4DlWh7zJS1aefGDU5SMvmEK20QF+yc6hhw9hdNvwyyAODu94Vk9cuV+4sIhSz6SV+nhFl/24nLtxFalrlW8AhQ9v8KEHnhOCTV5kJheadmjoTnpdJg0nmvh7pxYX8NsVCd7QkHaIHR15Fp74CG56oL/kwasNpDkynjhhR2h47sz6g4fDPjTVFxfy4Ho3pvglF56Vx/7xnvYwVojjIzLihQeHb3ZLL2DZrcXclSsurZ4+48GEbizUpx3t7h3vBVdsHh740dJuGaPwiz/lcJAfnHaHSzldgldPPG3b+qgJ2aTsYc5C3IOChZ+xi57hil6E0dPobnQWHa/DKZ+c1MGfPmlcJZeva9seile82JHDI4dHPONhb+9U79j7+O1Tn3qsd/N//OMfV59/sGV0nyX9ekVufPDKlgzsVD6+PXgZq8MX3HTpNfCTTz7Z/full16p4yBPNw4f21mM45ke8RP54eXohoNTXvrF2E+Nv1WfU2/yOrn5E3zJCG/SqWOhbiHCKT/sB+/Mr1XcPKiLt2vaq3be1JEXnO7JtLKpksmvJBgLtSPq1ArJYu7w8qeZ2PzRR2YxGJ4OrJaqDG/tNvRmXHCfYe+m4KsAilS5os2DLdcLTAutihRHI3ctBuPIsnapl5B0NqmOlL96tY5U7JSN1y8MaU9sdfUiVaMCDZeDb2jjZRtX9od1d7zQi8EJNXw8ZcjjCR4DjQHHKKI0YQw5sOrqKAYOcTCBSyMY1Nrgioa84BBv+ktHocbUuZVK12WhAQ5ubi6mZHhjzOHFhbBrF97xzOdjDPBcBmeDAu+LS2XoWABa4BmgDKZey3z2s5/twUk95Qat8CqUTwcfkHvRlzN74RX9McLptOpdOz6LMbjgMOjRm8EL7sN6hwOvgScjFzj58jLhy7+dM7iFJrwmExMIOeXjHQ5pk6BBnAzogOelLWg9ZXsq85BLFrYDnvMEZxvfKxZfL8MrrT46ZDU5eC2DlgVXP4WffrxvwLcIgw9ceFNPHH1y4JMXN3DLz0QoHy/kixwtd/FqInDuB8177p2rd/Ac2chi0sAz3skOt/oGq729udYHDUOZEAz46Bc8Jw9efOFdPG3GHrSdNBxg92qRhj64tVzh7frRWSTTDQ+Htjex24mVTl14Uw8veIKbQxc9ngsP9A0OHnrzEKQfKEfH4lKZdGQVxqvDnuidvPDxrXv6KvqXa4fbT1Wde+vCzkMff7dx4hMMb2EgrR6HJn4tmtgcPtAPz2DIER2mTMjJJ1P/3mZ9HMUu9Df5zmy5Rkk6uoQfPnmcMP1EmoxeAwqd8zWu6A/OUpKZpw8OD2SCQx65lEc/6KQtu21qMrVTB8Yih93Ih8OCB47Ik7gyMtGXesKN3deDDT6l8QAOTnzAgz88oBEdhu8WYPkTmNTRHpw03OzEOAq/BzghfdJNdtzAO5/nYcBC7Dv/+VvdB5955kztuJ1pWH3Shxtwsjs4hXSr/eDara5FZz6Y89u2aLEZX+mePn26791T5tWxu1KVo4kfd/iRP20RufEWu4luuj0UlCO/cmXjLIj0nbEx5QMzeCzmKqfyRsfqBL85wkIPfjvV6sGjfANXeuWiZ2V0bV5UL7C1GQexP4PfDtiCp3lqHuTN+GIHkRtet/RmFBgeG+AWfxrfQntqFnxVLMq9iCRvGa+M5qFGui4f+SYPncaz6AtwpxeEeLdmTLu0ahZeUs9duR4Edm94uMpGwi0Y/iNm3fFCD+8ETsMzWB2dETDCU/fMaxBwOoMOYOBSth7cxeVzcLSCCy8Fy4cvBpMQ7Jp2YOEKfdvVa/gP1CnYKY+pbBsVPrxwYIaH7aJG/tG6kPawiwHI33bEwWuAN/AFr8GOvgwkFhqvv/5qo/NV1v7+fi/yDAQGRwOWOPzqwA0PefGXtBDvfHGw0TOYwAnhUTcTpTwODXyS1ySp3Sw0Bt/SQRa9ogWPkKsqK9qd9Tv9YRcGTS4DHxnDLznpKvpSZsAEKy7sesU3WPXwG7vBI0cucOTG8+XLs4iEyyAOP14s8izADNBg6V89cHDHVjOZoSMP7ex0oCnN41H7mSTgwIfyT37yE/1Kx9fVDV+7HmCVo8sutM+RU9NWZEAfztJ2PxG7x09d8HZoxfFCDnzhG5/wVuWNvsKbED14wa/TdrvgS9ujL83RH4tRR1yY+kJ1LBLYD37UA9f1ipY0u0KX54ILTPSOb7KYcPN7onDLMxHDT8boPXXho286fKde92rbLDrgNDHCA16baB847K5GDnjF8RcdgRefdpqHUfJFBjjxzoGNVx751LXr5uiB3yXGo0WRBYqFnnQW9/BoE7LAi0flcFi44D0PKBYQdEK3eGS34MFy8skkHy6v+0c/82obj2RRJo731Il+1ceL/kIeDu/0x5NfOZr0La7tjG9+sxltPK95gycePjhu55RHRnIGPrymL8Mpj61YoNMX2fQp483H6miEr+i/8pWvdL6FmAvRT9SPlH/uc5/bebauU7GgtQCPnsjvwREODzTwwtV2WK/qOTZk/P7ud7/b9OHxMQg9aB/80AH90DFdkyFyyYtuxbU/R5bAiKs3LuHAKBv/geLOUK8XeEtxgtQL3vCgXBk3ZUMv8ClrgAUGXO/aVWgXX429wnFdfi3Cqlc1eNcFA/9kNQ3p2WAJ1m0YegtLBT9laG7O3FUWOLuOpc1KsYUiYfEp7Pe6IxO48VsacI2sW52GQbDdXhVW83RfO1JvemwkRGdocbe35IH5Q/+944WeTkPoDA7SFBAFCXVE5TwD5xlvHBhlWUyAT7l8Tjp56KkT3PLTocEqxwe3V5OAMjDgxYVcN0haQ8tXvPpvOzjWXubUG9rO6iRPfnCSnQudGze2H2aEb50WP9JeAej8r732Sg8k6jv0a6Hn6dxgkIHVwMhYe4ApOeBBh744gy0PLxi4lNNFfPgLv5FRedoouoIzA5G4gUz9yCEPLBcd6GTB2frt0tv/UZdNeO0ReUwSZCcjmYT0kHjyPUHpXPjgYzsm8enw+B2e0An+69dqwVMT7bt1JoyMaKGJB7t3FnkWe2wS3Uy+6Mrj4dMm6tFLFhzyLCpig+qbJPJlJD7Ja4J4/FOPd1t7pRQe4IFbfROnyen4sdm1Q1/93V07U7XIqAnp6tX59Qd1LPTApD7N05lJGn5jD3ljM3jLBI7n4NeGLU/9ege3thv01SO330+li5M10V0tO3R3Htzqtw3Wr2c4F8m2YoN9TrfKwfh1kNgeGvgOPfkmA4uR3cIB1jnX9+sM2dE6T3W8zlmpgx6Z8I8nOC7Va0H52ls67U4XeJdWF181WnSe9qFv7Z4xim3hQ/vQDZ7RUB8uuiA/POJoicMNhpOPF2XqS8PBO1sKT+zjxVde3nm9fpLr4pW6yJl89cGAw+x+M/udkv9UnXV+s849Kz9RZzPxxd4sRuC20GPDeCCnsYVM4tG/OFk5umTb4PCQtoOry0unkZP90DN86qAJHl4OHBiyg0k97SKNRu7OQys0o096iQ7hoK8Pc/gLzGE9o2dRiT7PDi2ushMLrz7lIe4v/uI/9Z2YZHCl1Qv1RkX7s/3nnnu+Xv2+uPn4Ap8WqtPG0z9qA6wXeerTBd3byfMrNj6sw5sPu1zpgqYHOotQO7DK1OGib7jlR3bldBIZY1fgx4/uxdXJIke69VM7bvLjo0/jI5x9oTID2+Cbdq+MrjMbbnM+ffQdOrMw3Ss8Fm01wna4TIu9Hkrr4aXdIpuz681PSC3yr3lcFYXlBcXUlYC3zwjCtxB2JAOfezXmO194nWzl4DaW5DyhV8u+qD2+yB29OhMYXaonzpvVeXi4IwWnjx2tssvXxlbd4BH7rezeTMzCtSv9Ef/c8UIvBmgQ5GO4DL8bYhnUxkhmEKQg5fLAU548HVIHo6zkg+OEOlqcOtMBZsEUesqVdeMUfjjBSeMVTU4eJ09ZvMOWYKS5wIsnb+L+znkduIIvMHgY3FNPet1pDUAGTa/iPC0amNCyyDDQeEJU3yAONosHCz20wiO8mZzBqUOH9MGHj+F25FnLBB4MJ187yEu6J6NqowzGbdwFE32lPp7E/SwWFz104jZ/TDomh9iNtIGaz66APPiFdIYXaT52En6QIg9PntiF9BoGjvcv1pfO5y8Uzlnk0bnBXxsI1xN4+Are8CLNwY0fePn0BeUmNbJkImWTnvgt6IV41HbqRG/BC5dyIScfDLmdcbq3PsBRRi+ti+XMZWwCT8qy0Du60AoecMrwhge46I3sJsZ33nt3w9PQ3J4nk75eryzoDY/kCq9scM5DTRuhIy99HA1y0CObwo8wbSYOl3x8cXjDJ1zwgFEGRz6SABeZ2BU56AAe9oln5clDg5emB/3QYgm8uqdOzcMHGoFFA+2Wv+pxeOPhAccpt2AU8uQlHz4C/+Ybr3Va/56zuS82H+jDgwd64+HQlnY19Q+2A6dFF/sCqy3oRr48eNWR1h48HmJvfm9ZOZ2kL6/1RCfwoE0H5LNow5vFIjnYCTnhhQfNLPTQhQ89uFwqHHsDc7E+poObI3PaJe3VBUtZ4nDy6PFgefyhA58xlVx4C2xkdCRmf3+/j0vYzcMPHapPp3iwQ2pxxt7wSd9owBU7RttHYmyBjBZyX/zCl3rh6EEdnMuV6YPTLh7s4YJXnfm4a7ubKW8tH1nQje0pAxM91fqq4aObhODWLjpKXmj0Es2UuICD4xKKb2Ab5yz05HMpm9T83dCCq3BDb1ettj+L92qr4t8M03srFVo0IQ9XlVZs6+TFDd4tb8o2tlNg2oMT+m3t3fK1yVaTff2vRZ36aFmBoT2vurcyxJYaSf0BLy8yDv284p658liVX6/2x7bytcM5fyvX69IPK7xVhTvMu+OFHvqMTqfSYXiOkVOQhZPG0Il0NN7gMEY+u20x7m6IqsOoxeWLUzYaPAevMjC7x2syr8+m7WRE0cEHzlew1L9b8NLr+uB8LNJwRUc4zyY1ULOESqEdt66fPJ2XfCkLv4W6eTQI0AXeDEJC8Ll/yesbX6Wp56nTQGPAIKsBYr7mMggbDHO2ZyaT6AU+Xh14DPi8cvyFJnn5OPnRKVi8yguceOpnkFQWGHXJLURf2YkTo8e13kLvVqHJOBMSPUkLMximDjrshn2BwU/otgx1lqge14o3/GwnDPrgplOXrdQXVdr4Wr0iRUOb4Jucnsbz5O/2ek/roQGODaedr9SOiva5q27cT/tmooEPnNCAvuaZXrSvdvahB557cqoRif5N1PDBRc/4j47xIj7p+ZDBV7VgoxMDiMmcU5fOyMmLF/LWXXDHfvEJj3aM3Zi84YgO6Dww8nhXZFypr4nhYXPgwYnLy0cA2kRZbFOcHGQXR5f8aEurK00u+lMvcbB0CC55V6/OFUXkQt94RCZyg7czpwzNuIlbLLB7H9B4JflOTewXSk3Dv49e1IdH2+BJ+4Q/uNIuaEaO8IFveudDHzxYunyrzmjBadFkYWERJx9+PrTIy+krzzzzTC8+XKb99oV3d577zQtti+yJTkLb4uXtt12fNHYLB0/H9I4Hu6V4pgt1hezWl9f9yy0FhyadysePur6czXlRfKpLxixqtBk5IzOacMgnKxmlheA4+Hl1El81V8PkDz7DM3g48MWjhQ95+plyvJFT/3bu2S/buMbKOHzmzLPVvu92+7755ru9A2ehCB6/77/nq/hlsVVn+mLb8JKbTowdvqr92le/3v1aPR+CWCSCJ6tdvLfemp1UfYv+IyteowdycXSABy5tIy4frLoGqa2O1Fts3HhYI92N+iJ7aKg5eMfet4uSoTd2A+W4mvsgNqwumaPz7XwoH4hwaGi7qZ0663DadGlbYBZ4C/MJp/b2r7YM/qExtECoQy9cjbgdDkzpx8cllVVSbPK9Mu5p3WKvnJ1FbuQKL6M/EEqPFn2ew3/OFuILbQ/ONanUT4vCU2NB1UIDajPtcNfV+/W1WPNQ4XAxZX/ov3e80NsoupSg0xoQKY7ClZ2sVyziDJPR6nAMXFoHATMK3L7iJbQ6fBQqTxyskEMHDs5CLzTUiwPDHWzM6ThNu3he4wv8reqv8SRukEsddOEcfMO/cgM5vsku5A1I80T7XqdNInYShFwmZk988NId+dQTR4PsPHwZENBaD0TwGWTUBSdMHF55cEUHSeNBOf7Vh58nK1hl0SmZU3bs2BafcnC3c3RiQuYNfiZukxGaPP5jJ2jQCx+ehJEH75Ex/OAt7YOPyAoObWXo8iYB9OhQvroZjNHEW+Bd+YF2vQhtGeFj/2DgjZ6l4ZBHF2TRPnYaLMhcZ9Lw9YpBftpfHXVNIHCjhfa1+thEKK38/gfva91n4vSFq/LYATj4hfDgQchzdJ32C4x8OHhlPBc9y0+buHoDfnaJB3ThAZN8oVfsHHsiJ5xgyCCedgEjHvza0cIAnyZv7SAv8OzGQuS993bbhsIrXvBrwgVbkjRv6Ke98aU8Dl71eGUcHOLaQ9uELhzS+EpfSN/EO6de9KI+/PQuH9+dVw96cBkLLC6E4PDJ01HaEh06sGAgMz0Ks3sVeDxrA7iUk5FM6ocvem9vV7twhvfYBbpklcYnfNJ4VSYNH9746BpN5fBpC3D0oW5op22m3uyUdWH9CY8Jk384RIPnwPL0hg9OiL6PZehJP8K7xbAFsqMZ8v/1X/+14fRHC+Of/vSnrU/1yc3eYgvo4Zk8dE03p+r1ucXk/v5+n/PbP/3ZrnPmzJmdZ+tcnrcD2scOYRa4+KQPOLYPQsO3fLKgz0cPaIkL1/l2x7joImFppPNSZ717FXivbZdvITawoYcPuGzUhLZ6yd/k9aJm+AK/eXULeHFwxm/rbZc5zfMtpomRZQuXunBN2U63qfxrtVNILx2vh5Qbrv3q67fqaqta7FWNWmBV6MuKThsTKr4s+sJr8B5Or/lnV+Bcp9b37lW8MjbX2gwsuwyWKj4UXyW3QH/A2B0v9Bitu6rsgPgtP7sgVr2e8q/Vz0MddR9aSekjgxksvNKYBY/dKgciKU7ovieeMelMvE/xdQhxdwS548kgQpljdDOAD47q7GW5PQjVwo9r/gp/GkdaOS9usE4jpnN1Iy6G7o4q6eShGS/PYAmPHQvpGgfKbV/hGSTg1x/BGeTwzzNK5nbPPff2QHTChx22t2syv1yvxN4tHukVDh5/4eVG0XJvHJwWDOQjk/sDH6xXE149chfOz7UCztO4f8xPoBnw0DYBGLiaj0Xn8OONG52nfbaLdWXaRF2DIdp0gj91pU2AzuDAd9Ct0+LzysWEhGc04TDocmiYPOQZrOGmT/owCHOt/2on9nesPo9nb+jCxanD1uS728udaS6Sddfa8boPyqucjz/0QA/87tNiw3DSD7pks4PHjxtd0Lf7pNgAHeJLPbxlIjeJgsOLV/LOXZKD/ujHb37Smz6kPlxC9zaqA1b5hbfnkLsFy9jAXpeh69nRjgTaHytbcBeh/vepxx+tEWb6ojsKfQV77z2napF5V58TYhPv126Peia9LKTYqDxyo6UNeHJ5tYl3zoMJ3YKBG4/y/Lanu7ycRaI/5Rxe33tv2ibXm5jo4A5MA9YfOsMHvtB46aUX+uenXn75xaJ/tOi4X7B2jWqscVfniRPLq823c/3LLE7o0N1qxg44nRd0RpBXd6/OwLlX0Zk/Ml945+2d5154vuG0VeSTr5/xeLpY9zi+WvesWSAYQ7IAIiM8eOfJpv3k0Z88IV667UpPb7z5ctvCudolu1g7iA4KnzhZO291DOKee++rIaGuXXmnXkNX3tNPn9l55dV6vVz3b75Xv6n62utP91140uDvu//Brv/Pdd7sHQ9QZU/nq28dr+tg7n/g45W+uPP8Cy/1nZXaBx9s1VfHJn13i2WXWZ/08DMLHsdH2JhdvXmdzD44IfnYj1eZ7EMdbS+fDuBqndQZt+iAndON+vhQh4st0L15AVzyxad/7C3HK7aLLm0Nt7HHogptV5jAK88uHq+tyH727Nle+NlJ/dnPzvSYQwZdym0Ixh0P2vgjQ495NcZYQPB3lZ37Wv5LX/pSnfX7i17wPf/ci/11rX5skedn08g+eOfNAXxkEJJVnB4iY8rZB7rCyC3kwPBXaq4whsw9rzM2XpdnkVN191z05lOEsrPoNTh0SzjQRoO+c/QGzHwIYbE3y4R5W7Kdg8I7HOJwWNCEN3wOnnmwFAfXsAoTr3rmPQ4P8OBpbCO0p92rUuNf44VPPfKyXfV7VKxwt9qL64VulZHlWP3K0W7d/3mkvpBmM73YK/olRfMENxnG/kqPNSF4FczdKF33a+EaM8C4j/Ha5Xqr536+2vVtHbRcDf6R+TPc/0+zM7s3M4xPo+pchKUEnZeBazCdTScUSscwwHHSXDfS0tDrPHjV0wicUJqBR7lpfGHgMqAGRhhc4owtsPDih9fI6Lv7KfnBKwy+yGOhp15kQ5cPrAFSOoOcOFhbvwy0Da4ImQTQjV7AhV/wnPIt3tkpMZBlAobD4sVh4PPn3u6Bx8Bm0WBigtNAFEMOLrhDI3pIGyjjAgsHHYADI66sNNj8ih+u2wgO/VEFruil26RgLLJMqPRiwpCPN7LRB/z4j37WvOBJ+WG9SZMbHk1PX/febeEzk7V2UDeyDdx2cCYPHHgVB2uxiQ+eU45fdLL7RAYLBHTAgdnoZhmY+hxJ8bXJ9xy68NKI64+yvsyz8pGroCdpkyFY/Fro0xsa8vIgg+foKgsNOhJXhufkq5t2oCPlccrIxe7JkzZRH36OrBakoYcPPrK1HLUokedIQmjBjac1X2gotyg1YcKpXg/qRQsf8LnqAv94G15mRy+4tXfwg0+fox/11AFLHjjQAkeXHHgwyuQpA89O4Qhc+EcLr0kHd2xKmndZNhw8WeShRe9ZPKLZsNUOdvOk6QV+esE/HiyyjQNouq8OTnxwo+vt7pyFv/LIS7boByw7Xcv8fi0qwaDFo8Eu1InHT8oCJy/58F5ZfmtbHhzRw1ov8jllNeJ0nL7XDm88nRnX2Jx68OJHmRCPzst9/etf3/na177WeqVD8xJdeQ3u5834fvAp3eIFHjTFtS399vhaD050I20RbOH47W9/uxd1vtb16h28xXMWedoLL+TJYik08qsWkTlhbBwcPiK/8sB02IuXg+XRk7qBTx1lB+LF0+h5aoWO1MRnfp7S+buuX5Q3RQ0/zdV5/Qqz8F9ruaut7avVjppWndfCNY9VdRj6nJ42rkJ4/KACt5hCx/1Z8ye95kX6oKsxsbCbNWumKqI1aNZD1M3yRWCJH6wh1fTxUk47xKHF0xfdatOrV2fcDR/hb6meqn/08A4XeqNobUv4dGgKIHArouKUlUFSx1OWiVE9PmkakU7HkE+pgVOuvrT8agpZ3QCULS/wyQ8sPjYNVfXx7ezOuINn+MCh42xG06sdQuGR3e2HENJXawGHHni8oiUf/y1/4ReuBz4w4LlTp+aTf4MD/lzGe6QuX7Q4gI9Ogx98+M8AoeMoRwNdCwz4XbTszMj+6blrDO688gGPXhZRcMqLD2/wqWfQjAuMkDMZhaepNwtvZWk78Q9z1LC2DfTYiIFSfRMavMEl39M6vZB1Xn3Y7TRxTPvi2+IHzOjFoslEX5NU7ehw5If7/vvn7rpMqnSnrYTqz8c5W3tVxtEJXt99dw78y6MTg7oJFJ+xdbhNwuhx8sGSy+RhdyD3VxXr3Y5wk8Mu4uh1Bp69sj/tNnZf58qKDlnph6xe5YjzcKAp38SGr3vvvqd5pHMy4lecLoWxN3yS0YQW2woNiyCTK1/Ee7KlF/W5wMNlhwgePEdn+Nqty8eE6pGTPtTDE3nVpSdpvPlQwW6iPG2HF3D4565cmTFmbEL7zQInei40TQM+NJPva+bjx+oL13q6v3Kk+mztpDuTtXukFpX1Kx5+YQKf6FlUaFdtxssjs/i0SbPS8ohFpsmdvis+7Tnhu2+/0wsMD2JkUQYXmyEn3Yw9eyvy+s6z9ToQXgsb/MijN23hFaJ6dGf3zVnD4KV7cGjg29ejM7bVA+3qJBH6dASWnizw7G7RK3r0T2bl0sL42EDKwOEdPjxH52iETnQUHPLjJr5Nw8XFnsjRsiw8WbjRXXAK9/f3d77xjW/0eIg/CzptSB6LMr9l7bWq3fWRLw+wQwfNk7WTqh9wdofpeH//dH9Z+73vfa8XfPoXGfDgVa2fTzTeqi8/OmWHkV1op1lZnPj0j3k4Slp5dDn1ZvzwlS0dCMFaSNq1Akt+u3L86LKQ9Bi5UCsY+ZuyJVuwualgy9pBOFt35YqLAgZfqCttvLR4M7va1SdavrIFx+GtffUrZ0Q7XoXNRyEhh0uVA9uR5U/VXCcP8lQlvbjETO28GSPtUtvxrBG2yozZtWNd4c0jxlDYZhwpbhtveLO7177mV2EcHulVH3PjQCHvftLfACxAcPw2t6gPC/8hbjuD/0+SIzQVCRm0gUBIWHlHSzEGQgoaQ5xJW2eVp/OBZawMnAusuPzUk+bAqSMfjTaMRbnrPHis4oXx6ourz19bJn6mGZzBEX6kN67ioQ++pGp8KZfHtV6KjidrRkFOIdpkysSXSQu8cq/aIhM64lx47kT9QYen60wKBiqvPHkDk/pP/eW3+z4orw1dH+AuJ/KoEzoJI2d0FdpowpW2kFbGy+MjtzJxedp4jUPZrRy+Db50hC9OXL6Qh5N+DKheqeDVYE3+8NJhNRX+OWH4xg9Ygw6+6P1U/cTY/HzR1sbgUE84djyvsMGjiRdl0jy+ko9fiyCygMmERCbtDW/4ja7xF92NfcxCLTLAAzaD9d7uPBgZ0F32Cp8+B4/6fuKM0/7qoW2yZxMWBX7yDZ/qgDcZr9PqRG/45+HGv5D89G6x3Yu9eg2sDlyctlm3lwWUunQVHOSNBwsvHGTlpMXh5OE0adpxkZ+FFT4ju1fzZOHBFIqmYWEDtx11ulIHTvnkds+fPPygK0y5fK/y2U4c3GlD8sADXr3oDjxc6icvofrrfAs98lmEyycbDwcv7hUgPdl9Yv8Wedolizh8aO/0HTzlYUOIX/qHn744eXhCQ35cdBAeyUZPPB4iv/LoM7DS8CdUN2XiaGkHdPm1LsSjo/ByOIQr7YRPDk641acr5fi02/bYY4/t/OVf/mWfx8PXs7VIZkPoWOS59oSu5LEbLu0I79pu5cuz8D99+nTjtUvo6IZ20O/hxYuLkZ3R00b44lJG/rWOybR24NQJPWFc6oHhjAHKRxezUIIvuhna23x1ttikxq1pbPkJX7eqkZq3DuGDx8qg1nqz+CpQ6cZWf/rr18oDBz51pDuvyoavQ/TD1q1Jr3LtHFbdgq+XbYWz7MWOXrVh/yRaLYyP9GJvqoSP6NjiDv2kQYU3IRuvWakWkrNzf6zmbVetDM8rNj4i0Tte6JEjwsVIKYGCko6xZ+IAH6WtYYNHmDg4eHh58Eb50sEdfQZv6miwdZ460uEbrinHLyObAWdNA2xwdLzgjtSECyZPK8Eb3PjCg0lRnJzK1gNIBiaDgzNV4OCUD1798JHQ+cc4NA1q4OG1wDDggPWkagBy9ubP//zP+zWuQc8Tp4HIxB9Y8Fv8sxCKXvG2doFDmzeAoq9t8cDLN0jKz8SyxnE47nUOPYHNhEQuebzJTZrLogQd+pmFunabiby/rKohxZk32/+t86viNQDq5/W0i4YzXWSBA13ygpWObNLoZhLQJjydgFGf3OqAoU8Tq3KyZ4Enrp5JBU51Q0s+PNFdzuZFz8F/vXaU0dmt306m27nfrSafOmOGHnzkMCzCaRGWBYB8O2Imtwfuu7/pg5HPwRu5k44+pPFGZ4HTBuRkXzdu1BkyOqPL4uF9C4JFP3i6fn3OgcZGyH7YxWZCC9+c38d849W5B+61N17vO9/o1CXsJ+r3s52to3d0inzLEzux041W2pa+Ysv4jXzuvqoZoNsRXbjABVZ9vK95TNng8MAz44N8uMFqPw6+0KPzeHXl+6rX/YDOFqPjbkBt6gyh3QnpP3n0ke6v/9+vf9VlD9TPcrEl5wbR6XpVl7z0AW/6k3I6y4OfcjygTzb8gZUvDw42RxeH9TF6PigX/JE1NkV+cXyk/+BXmrrRlY8eJz88SQefOJpx4mse1KdzYxr54ITLzqYxz9Upzuh5wGGz6ir3StUYqL+ia9ycB6ftot9ZNb9qdKzaQj168SHHE1/+Yv+Kxmc+s4v4mUwAAEAASURBVN9nBJ9++pleVOLl5z//+c6vf/VMf22LF+0iDN9ogxNyI8tWXvnhERyavLy12+Zn7p1xDkzKKlb1GGaFdrQKRb8O3XQ//YPPfDJpfaH5a5nhm/bORsiGjwVPcdi7d52sP42tQhzb0VO/Wm1TrWWppJB9x352Fzr9u/doWyG2a8wdix66LoHK4S6QnbH86Q29KrBrfaMWeTVyFi/VL4/Ujt5u3bxQ3ivcrXxT0S7dVoejzy7Bz4anrc3aIdV3q8uM7Av9hb0ltQpuxeyq+A8VveOFnkHBmKZzcwxU59OAGsQlqoxd55YHHowOpk4abR1GWArPgCEvOBNXX59Rl3GC5xKKp1OlfF2mPDwoHx62E77yDHahIYSjDazivvmQx8kfHLMjBGcGGOUxajTpQeijn+AOj2CTR3dNj5LbDf2uW3kmdLAmXa8g6NkB4f39/R7w/u3f/m2zW+bQsPMk6vzTP/1TTxYmgcgOPVoGKDg5bSmPCx9oc+RBT32e29ubkHwWBxYEt3O9K1VKzGTjVSNcmXjojw1w7IY+pMUzaSmLbcjHe/QDNnrHv4O4+MIfOviPvUZOdVM/MEJwQvijFwMFHOQ0YYhHdpOPOPr4UK95qEkUHnl8YJQdrcWLssiDD2kPIVwt7Zq3o/VD3Hax7r7XF8ozODd/i47owQTY5+UKrx04i/s//dT81BpeTL6cOBf58UTPcKCNP05aHE/knJ3Va91H6JSTr250uN7BCf41PbQCO/LPIgOMMjt59Mo+lPdCr+Rio3SUBY1hNu0D37VrY7Nw4NtPFInDwYOB4+qV7cNX+Irc5EAbnLrGgtiSMnFtAJe68uhLOu03bbdtazzyoWEBCje9Zlcu9eWRF6yFuj7uMl7l2pPs9M7jjcMDfMq0b3hSJp+Hjw6SF56UccrFtaUPL6TBcOqRVR7Zog95YNTBn7jyNXzj71eHs2BTHlzBFxpCZet08IWmsuhqFms3+0Lip556qs/OOS7hOpPwZefOAu8Xv/hF7+KpS0/GEYsA9NCI3une9Vf0a1fVGb/v/W//ucfW92tx7vWsNyXawi9quDPvjdffajzk3ixuCye8+D5aD6Bk5dHrC4srTHuEB2kwcclPWnn973rRozI0lFGdeD/HpNISDq3pB0aUpBWjw2f1hMaHuR7pawKb+lP3A+DKC11J2zwVOSSrt5bMlb+uGzqTN3ygv+GpAJq3BVA89PpVaCdUmNx6/Ov7+7ZjZ82hFntebTuusCwuGz+2ihjPLrjDtOSt+fUxV+33bNy6bGDrLxk3EH+8yB0v9BhT1rIMU0dn4IRmgH5CqRVZjaLj6UQ6fDpUOioVBE4Ir9BAxcWA00GUTaMsTyANNXBLdNMonS6Fc6knrn793zhlnuw4O0TKJ28GgNDu/IIRXrMvvDgy8eTzcUbi4MjJk390NotQdKIDtDj1wPCJX6/djfASXQgNQp5MnQsx4EibMDx9ui/qhefrC7uarP7hH/6h28XZvf39/V6AmhxMpOHJgIhGeBXPok+cHJxycbxlMEqbVtYGn7q/zZHBatmCTluHjhB+IZjQhE8eD5694YUseJkzH+wAr3Y87ZJuD9UfK56O1xeW8pzjunJl2jltJIRHeWiiETtUHhgThAVEbJ4O6BIv6uKfW9cR59CIzqRbDxWyh8irvrYdN3S9aoR7d3cenGrc2ugDfEtdNPBL/3Y32INFGVx4TXvrp77yHDmm7dGK7qN/8kRmvEkrY1f6Ppsji3wuMNP+M8BX8YbPtCmcaONHXL5Qffjwiu/YJTp8ytWl4uFtFk+hjS86NlnDG32DpT958fIsaDLZox2aWUhGn3gd/Q9dMkpzaU/pNQ26Ck544MaPfOMER3d4TZ9JGj2vbC0qQseCRV8nvzOXYMDz0Y22BeOMHTlPnNhefYMeOvLJzsfJw5cFqCtxJj6L08gX3snBRT6yXbw4+o2M+OE2uq74miZcaZvgj5ybOiv+0r5kBedBES3y+NUJO3nGOGl6eqe+VsaXce7f//3f+0tbdsXJxzucFlzw8WxMW6StP/e5z9THHF/tHUJ37ym/cIFu36+6e73A+/GPfzzj7/E5ypAHVLiji9HzdvcNrcgo5Na6SR4ew2faSthjXIWuXAILH37GTfpG6Xddh43HyfemQN2Vihf46YepW6P+Um21sqkc5XKcqYPHAq4iDevv1rI668Afu241kwzsUn+qF66NzNs5eCpvMTZvC60DiCW8qi1Hbzfrnt0alYrXRT90UHrayjb2CV4er3ZLUfhR9EsaXbbwa3e04Sq8Wb7tvCqQfz4+ge2j4+5woUcd0/A6K4M2+OgA3ej1OEFNyhihcxMx7hjuGOcojVrUW3s4KZFS1VnDjKJjgF20gZVSHrc5/LjkK+O9+oM3Hu1xH1zogVGuXnHZtAIuX7nBavzgBDsDyWoXj3Es8JfqydDA4WqQDHpCAxXdGGyaXi0A5McFr8Hck75JNxOFyfHs2bON4/v/5b/2KwX3Q9nR0Tbf/OY3+/UD3NoLLrjxRN/CeAOqeGgnfzpOPgyYQVNdTUQeDv7f1amLBl7UQ1eYiV4ZffDk5NCh6+gJ/O7yFRQ8HH6V52MHF2iHr7VcYNThtaNurt0sktCWFzsUpp3frjNWeOc5fEdn8tL2a/yhAS88cCsffoYP9eTLA4//lqPEkhdetJ8017SqHjd1dntHLws9ExuaraeCk2Y3JiWTX/CkbiOqP+iGF3nq41sdC4La9y1PJ5k09Ul9dibxSjRu+Fu1NWZ4NYZVD1ZwgfdBTXQNdxb/6qOZPoGXK/WbomDhgdeHNpFt6HhteKnazwcw2wcwuNCziCG/11pc2mndfvBcLbh+/VNiCo8fd7ShbMrRgLaVK93e4h7GgguPnHw+Dk4yz4PgjBnKyZd2ASvOzvFloef1o91uNmXBrt1Hb0Mj+hHKV56L2PNlM3ljL/DQF9qJo6ut6RltnhzKA6MO/EJ5I8+MD/Dj9+ixKQMTeLDKdmsgVj8eb4GLzuDkEnai/uC18S+6Iqtftbm7Lg23uPv+97/f5/Lsrhvr8sGKV7V23IyTQ2t4gI+fNt/uipIfHbCu2PEK+Hvf+17v6rmFAR68+mWb//bf/u8ea9GES374JqM8dkx+/FpsgIGfrtk8lzrhSbh2ytVb54vTVGjCD680J55Xs6mXULn4gKI140zyvamY+tuFqdm8TsD07pzfsDW3T0tVXtm0Zqtu0d9BgNO1wKkXOPsoqHFg9uoNRstebyzwE++XNCwetcHaofGhrhZ3wT1U6q1N5dUebdGvManO5M3r2u2aAb3ovvHWA37nVQKp3vix6WPpVwzXY0yVV0m145HK90ouPKsA1wF8t2IWk5Bvmb0V1O8173efiT+ErIZgsBYQJo2XXnqxXxkxEncQeWC9xpjLcC68Xa8b6r6vEyeP10Wx8+sGlJKBIwqLsTLYu+s1DZg25hh6pX2e7UxQjBx76qubeEeWPwwsjtnlosl0NJrXgJ6SBs8ssHTS8EVOca4bs2S7UQvF5DEzvheVZbj9A/MF472/+9pOHJ9XhuCVeRLTOXUFHU7coEMmg6bQYmZrOPO0jL5zbZdqsjMBmBTJbWD2ug6fr77yet8V99DHP9kD0je+8c3+EOOHP/xRP+V++ctf3tnf369mudmHkg1g/TBYZzbcw4ZHuPAF//XrnoItmgwAJhP8S89E674msHg1qOF9PfDAh0fl6bzTzqWf0vmli1d2Xnn5tZ3Tn/7Mzp88/EhPSHTvq8iLR0Y+ON155WtivyUJ55GStciWnRV9iin926oPDQNWgQ0s+PLaXuhqm70a1PEENx/XcNWR7djBpQy/dDsyzkLBjg85tdPU2Xb02At9sHFO3eDRXiaITAhtCzfpc+7uAyuPhxsfV+qr7HX+jbcP8gzWgsQChk5NWo8+8qkd93v98he/2vmzJ7+68/ifnq5779zR6IMduxIzOVgE0DlPXvwf14cNtnXe51jtntyo9BXnWMvI2bSFHrVZuBw9OjuaeLCQOnLkYtvzWqeetNncdZNghf1qqWxO6M5K9zyyfTpDVz8hA1vkT9QdejdrceCi5p1LFr+z20gGbe1Y0pX6opSr1to59+b5lqX1XmlyOUNIVnSyi1cmWJNAyVBnd06dvLtD9N+/MWe7yEPWS4WbfPqpvqDd8dK6qjsvtZNzd8YVcbx3uy0Ly+4b1FkDkkljrzrdyROnuu+6OsfcAee999zX/uc/+2V/Ifuxe+ds5cXaofNVsC+CfdF8b92zRzZ9dPTmjYpX3XUHZN1taAfYXZx0e7l2r/UPDh905vWTXQgTVry8y3VmePfy2BzZ6Ct1hGjJpwc6pJ9qkMZ9/MZcJhy7ogdOPW2HXzrp9m3ePWi4Qy8P1/PQqQ7c2lW7FWjp3i/Y+IJ9fsqtMJWO62MUP0VWD8vSbi4wH+lXP/rRj/q196t196A8Tt9oe6uF+V7Z9Ixz04/onmzO8H7+81/Y+c53vtMPxa6rykMn/n/161/2W5Jn6wOPGR+H50vXhq489OmfG/s0fs8Y3nZYDyL0Ry8NW+0xdpWHvjKUcvRH12s3Y0K1S/VjZbMwm/lJ2hhwrfvm6JQeOXTjuk8UTT1l2sQcuLRB9U0jqnlWjJscYeEp+2U3N6vfO09qfu9z0grlCWocrnVct1tsADZlbRHsoMZXtLd+eOz2Ll7NNdFd57kMufLhk1+RJsCWRM3AuxZ0Fnh1p+pe2cvl+tWcnd26Hqce+o7WLxmVwjRInXedt0DuyTMPtE6rT1pkosHP+GLOo7/RXeulbOhI5fmtXYR7fVH04aD/QtEOTwccdpNXQNHLAZg/QOKOF3rhiaIzAGgAbdCKKyPwtM0xZsrjNCz4NGLClCnnenCoeOpRDK9cntupk05elJf8RrT6Iz8wyVY3Hi9wfxjc4TpgM3CJ89iHx0Cv4elC+qBbdulW/AQGbXF44RO3MDAQSecMTp7Qtwa2vO6+OYPa3/3d3/VXZ5/+9P7OE0880dcInDlzphflXkl4FdEDZe1cuQcKXjybkNH2Sku7RV8GDIvh3RoI0LRrgh+wM+DMoHRYl0kL1y4DHPzKtLeFhocGAzO5gxcNg7CPMzxVG3jBcXhQNxPSYTprmuv4mq91nfADL/rrAdggzmfigA+f/BqHuvjl4JNWLg4nePKnPLyAiyMT2tpEPToIDaGfqoJHGQceTTrUPnYk1DGZoeWDDPeKgaE7cOqgyYvzHB45uOMjp7DGxF5g4+F6PfC4niS6ir2bcIIjYXiVxls8/txoHz0oJ3twNe0ayj1IgSltVN2t7If5rVZpmdf40gZwcykTrsvgwqefuJMfHi0QrtYfobHfw5orcMBYHHQ7WcBW2sTgJ7bEydZtXf2KHCYQoQPz+jV6yl0arn3I7MxtXh2jz7FvcPSiHs8J4dOe+oWLwdW5q3a74OLJU3Nvy6xOy1WLOnDD77S1MvqQ7ycm017RVderMnw0zpJPSKboLTLDFTf1l7ZbbCq0ld3OpXx0Z4E/4xC7tmM9xzGGV/3SWOYh+Pnn5848edF/+IDLmVghfXLkoP+vfOXJvpbF62CLPPTIZGGXjzmcm/SwAu9aJ0lHb8HbBOrP0J/5hvzSYNfwqSMvsidUJu6KLQuhgR27Sply/jDOBl7+KNdmgU1Z01z4Ucb14oTtGGaWUA/Ux2ZXfOBsvsziUC2LvRnzxIMLfjq/FW/y4v3qBL2qJ+8wn9LwCKu3LsswdIYvu4zXqr8VVDVshRa7lW66NYgUyqo3egs/RR2rBVawHjAqmbdBoOcDl8JRvKlfkP7c1oEYrAW9RBIm/7YIfg+Fv7eFHuM2+Rlo0jA6z7F6mpyJZCYOhs2BkZ9BvJW/CKRs40ub68beNEjlJ75U6zpgYxTC0AMjHTqJC9Fau+AIzLossOFPGRqZINXF1wxE8+oveEJrjQN8zVcH3Bo+BfLgpNMsMgzocMkz4GWw1xb40Ra5H8qOi10wgxj+nFk5c+bpnf/z//o/+oD3Qw99ol8NkYXfrV20DsugPYWiz4X38IU2uOgMbr7lKiDtK76GSd2EcOLXwsO5GjgtRHhy9URVuxcGFHyQy2JPmIUeHGiQXchFj6Fzq1C9tU89eeoLyWMCF4YvEwcf+1WmfcBHdvHwAq/8lMU+5IeWOBeYxNGGJ/jBkxPNap0OlaWN1Ouypc0sFrz288rPBOisrNdOdE4euMJbwsgeHcIXHz4MglYOvXuw4AAPnzakGzTigktanEt72VEWt4iDX/2RaewbrqnDttScxbDJBl9xYKJPcTil+TgyJt1lJYhdYIs3afXQhvfYifkQww46N/zWwq1ghx+L6+WVZe0OcfDY4bKzZBG8pjcf0Xjwox9tNnyha8HiTKVXjtrK60d9XRvRI9rSQrA+qiI63UjjV3/wEKRvyGc7kaWZK3JojQ63C208cmTiJdcf0sQu1OVMpjOhasexjdABi+c8hA69GReX6o0Dndhf8HbBoT/rMjKSizcu1WnDCv0m8vs7Z8/8Zufll17tBfIvf/mrHuPwiA90Gk9N9Pj0wGy8PFa/3OSDC3zB6VdjvvjFz+9897vf7Q86vJUij/HGIs8VVY7BnDv/ZusbP/omr13STvolOtFnRIqeI5NxGY/ZuaRLuseP/NlJAqN9tmOS+nBlxyn4k8+eQyNlQvwczpfHyU+8M1Z/1nXWONZ1AnOrMHJDSWeBIVPig3drg+A8SIWngdsuEFMPzh6LREp/pbZ+oJFC18+eHan+Zuexdx8rjK1WKzU/aDT91kXpvdtgbF1+8BtxueFpyjvjI/7njhd6UXYMXcMwdo3UyuunXhPJdqE3SppBJvGDjb80EMNbjAKdxldKD266rTc7i9LHUDVs4IT4iku++sGxpttGUXS4yJW6yZMfuMSlkwcOHYbEGzxSF0xceBHG2FMe3sCa8NCRp9ykbTA3EXjtZ8fGIG8iBwumcZcBC7NAcVGoOm5yt+CT/6Mf/XDnhz/8Yb2a+HL9jM8TfRbFYGVQNGDSHXxokwMfM7hv2yf6y6A2A/AseOBBBx5efW5k7mjrSL5JxQTlKZkcBmK4TFh4ilzowWvwFg/e4W3wh5fQCd2hOPTVVQ7vrcqV8eA4dNg1fizwxNVDKzDS8MWF/joMrJBXFvqBS1qILnnTDsGduu6pC7z6/JqGXQ28mtTYCzvw5Sa7YTMmMPpFB43YrPhhWeBVHnoGP+uU0mKztcmvuvBxyRMPf4kLOXQCByY8TN8ZnuRzwWsi60F9Zxa86serH1qxHWXJC72G99NFi6zJBxcd1hNP4z16lD7oiD2gNbLBceLEydLlqT6DPDY7HwBY5HFpK6GFHvuefjLHW7Qve7f49mDjYUe7yVcHDXGePOTTr+DRtomDywMIuto3cijjlqBxyqPPeOnoKGVo4jW017IkfrgOOvjEW/iPbvOwBj9v4QpO+WEXvOt8MkfespyRrxZvr7/25s6bb5wrfNt7/9QjG9xC9PxyDHno+Z76Yr2S9RHFfKiiT9jBc4b5s5/9bNX2wdE8TPpa100Frq2iY/Xx4mEb/vShhOhwkUGIPhfZxZn1Wo/K4OPFo7/UhYeb9PRHr2251Ju6nbX5Az51E6ZOgMAEzs4cNwvNigzZzvMHjuolBR9etuEGqCLBKS+4Uw7HQiZZB8LAB0fTRLfrDa8qWCTPQrhoFE9WejUL9gLP+sBbv3pPW7LUHFa6cjxDHB5lfaXK0l5hIHqny6GxKGDUssm7Hf/B9VEI73ihtxGiOhunUdZWoRNPJ9s+vYGj5DFIjb31qTt5ha9mk/aF1thO3baG+04giGrw7ckGWQBF378i0DB+N5aL0aBbI2Wt7Bu0+VDe+SIf4mJsBzvTdttePhx8Oi5UI+N2cXgQZha/LkkOfXTUCQ6DWvAYFC30eAOvMgNOP5nWoKOu3ZU8TZoQfKxhB0f81VfnPBncJgG/z/ja66/U2b2f1QLmUv/Y95NPPtmLKHjsBhrUojsDZNzM49vFQPhFhzcImrwsQg1++I0jK5xc9EHmi/W7qxaj+LWroT76ytSPfH6n1gKFXaGlnOekg1MoX734Blr9CR/JUocLDnLh3wKP/rM7AIb+nauibzZ6rUYV9Lpu3+Mnv/gqnJ1XkNCLO5uFV/Rzd1SVlFHqR6Mfi5m+0LdQOJNV0xayU7/q4q2u+WoceEyZdlLG63/o0SV+LSJ4+vRxFH2L83CA1XbSPVFXP4mDLzzLs9BzxsZbjtJ6MTaLErtUN27WTlq1jzpbR67hn4xc81nh0TrL1HxXvjAygMFT66l0mYl78tDevnqie+WhCSbw6kvz4GIX8HPK4wMn9EsqqZvfPfUBwYxP6sxrUzYbW88ujUXdGtfob3uEAw+7ZT8fu29+1cJlvM7HvvLqK93H6Rr/djudt9M+2uauu+rr4+U3mUuiZeHjnNx8CAdOXTpUn2OjcejKGXnpyILPuAPCw8fAKlef9yAGZty08/A/C+W2lWprbR+ZYyvwDM3SM6Mplzz9St2Up6yBlj9gOfjYMFuObCfqnCme/XqHscIYAl653a4r9XvWcONJHv1pxz4nWnI550yfzv1+8Ytf7Ifgr3zlKzX+3N3HHOyqPv/Cb/qDtrNnz3a7wOM3T40Fdm/nvDKbKj6r/5qfuPA98ckbvcsZW2QTeIvDK30L+diy8sQTbvPSlqNndKks9JMOPHqTl/ZUssWfepN7+78Dm7l/5OizsgsPwyt+GBd6YMbGBq6NbsXr8B3+tHl00Xa16C3l20Ve8WArr8agG3ydz/MhxnXt4YtqvyNfizv8ZFcPL83fog+SFqcCLFYxPdU4V3mbX+roQkuNgdu23FLwEQ22M/cdMjiNMJOsRmD0PUjUoDPGMJN1Xj2Ab6VXyKXhDrOxNnxl0mDHgLbQTb9wpVyaC97hQdtNfsKUp94aLmUJwfAZ/OSbELnQx1d4U27QFaoXOMYb17DFUmjIlxd8wuAxKK4XeV7dcHBnYjbwGIhSj75dvWIictbETsEPfvCDfmJ1ZcDDf/KJvlvKZZ+cc3y+MjMge3r1JBtc5OaSXod4xgdeOWmDsgUlHrJgVKYeF7nAJQ8sGZUZ0GdgnvNMwW9H00RHZrLSccoa8fJHXni8VTke0YlP3fAirR46aGZSUo5u67kGC/XXg7NyHn68Jb3Gnzz4w5s8cWF4QkM8MHCwHzBc2iQw8pSjawKlP2mePj0UWCSzA23D0zf84RUO+KSPWcWtHLrk4hzcvnF52jz54Tsh2PD6YSGY4PR0fbhOcLWsxVdgh4lZLIOJ7kJHOdjoTj6f9IzmjWVQVRk8XMLgdI2H14TDyxxXmDhbmAUZGzH5x9bpPnjQxYvzreC9bhRn+5/85EP9YKMdPFzpAxy7Y3PwZSGlDbWZRSXbuKt2Ez0UaV/tauFOT5pNfXSbh55oRx9wG58jm/LYr3h4FaY+2MCDXduXNP6m3ow/ZMWffDhT3/gEjlOPrIGRF3qJC+Pgoy96hX/s9WjhyGJ8foMWPrqkN3rh1MkDsTR+8vOJn/3sl/qXLny561oqY6WHIR9+/fwX/2+Pgc62ok/X8NIzHoyT5OC5yCaORsMsNiWPLqJjsPhL3kZHi66l0ycjR/DDy0tv5triIbiKkwO6RHvt1FvzEbzJr8IGT/5mAbQgaTqWRQWnOYVc56/iC3gHwRU48gU+Ib7XesiO4uG6wSu/X3sXLzcwon4v8qpdbCDVF7e7e3UlUz10WfDpGBaY/XCO7+qDVaHqVR9Y+LaLf6TaFe6NXFXOJT1x1P7XcHe80Junv+1grpGm446RWmSPsY8RXqonLlcWUBhFxlipS92kpwGrsWrHQH46UgwCHKfzBVZejESZ+IHGWhlg8MArnnrinHpc4AKTTi3sOrVz0fQZVNHXIYW8fF/fDc7hNzjV5dLRO1F/GlfVCx506NPgwuv4ygz4Bj07Pbs14dqB84Uopzz8gTFZGFB59b3Cc6iU/+rX/qzP7XkF8WydQcHXZz7zmZ0n/+yJnfvuv7dpm0C8Vs3uT+SZcNoX39LoxuHDhIRX8QxaKU/9hMo9kfN2Q2yvm9TUzaQBv0FcGq/C0BUGV+LqdjsVrBCfQvlg0ORST3mcON1HdyZOcGhy8Oj/aWtloYHP0ApO5Tx4IZjkCcEdxoVOYMSVc/LQwlvy1vlwy6d7eMFxJioLEpNYXhVqIxMh+eBsuQo2OkIrDq54+PnwkjhYMP+jLnjXYSt4QRQ9RMey1/GD9aYSnrjUBZO4sN8O9OIyk9a2XD07VL6unYVZ4aq+1nZc/U2fg8MO3+XLvjidhwJpdOcM2XaykPbBhl14176Ie2DBk4WFfqaPazt2Z9GYRTib05bairdo0T76B3zGGTguvH2u7fNovdKHQ/9vHhd7LAtqenZY6G7XuaWiL86DlbaTLMxOH54aftEn3YDFAzheGpz4fKCznRwt8AbXjHv4sEBhc+mDcH6YgxMtdsqH3pXL80Cjnnw8+iqZHsmvHeTbtTtZvzISe6A/enz44U/sPPWtv+gHXLrUvi++9Hx/cOGji7Nnz/bYh0/0o4fIaqE3ehsdFILiZPqmUJvP7u9WbjAWG7OI0X/Mb/TPnkgyNtt6rJ3UGW+0k0Xr9CtytA4qB306xNu8EVAGT0FXHeV4GQd3bBwfS7bcJSFsKYaZBmhaS5rsa5f0rcLRzdYO1Bt+hl7i67riSad+0nlFu6Yvbp2x4xhG6cVOngXe9bLh6yV/v6qtM95HaqHXH2SUfOCbjvYr9uAdGmX/pX/6pTV34o2uRwawnGuC6j9V/i/hfg8Lva2kFJWGcacU4/BzPgxVnDHqfEJwMVaaUjfGJOS5dbwbZqHRhfUHnvVgk/xptG394F/jA6tzKIOHjwvcmuYaLvXI0L4MCh/xkS0TbPAK4Zlw6XBLJ4zM6gYPnuAw4Bv4uSw0ZtAZ3tWFN/WkldO3L/nkW6zBLS30u7fvvf/Ozre+9a1e3DmD4mJlZa5fsSg4f252f0wYnMkIzgxGaICPTPgVl4cHgyzakQ0O8bWuwae+AdqgCsbElrLIQhehCcZv1UrHBR5+PrTAhCbeOLDyQlse+LjUzSAqrW7klW9gjc5TH0704F3jC2/hN3STH9iE8I2uhy90otfUgYs98Gu5lOOjdz9Ljxb78ujUQt8uL107l2TS4+mW7sHBhZ6f5guttV7CI7rKI6+4MvV5OOXFKQtMwpQlXNc3+YVWytdhcB/GlToJb1UneWDWHq62lZr06WCt35K0+df24gZ6r3GO1MzhYP/eXu201TUfvXPly/SaYLzGZifyLS48QN1/34M7p+6e30B+5pln+gMCfYXXLvo7PtCRp/+lnaTxFN6E7pPzIKau/g1Gm6zlh4/nYvc5SxaZU66e9kOfDcLVOqm6aVt08YWWuDplcg2v3dmchSwX/Gue4FvjbcAP+QN35EWfaxn6jCW5ZoOB3ujAuOAsqjHzeF3Jw+5jq/j1duOhhx7c+fZ3nuo3GBZ5HnbVd07Y5crecpBdm6mrnFxw4UW8uGrZoufIGT0K1/ESox341CFHvEL5ZFSv7azCNfxgYHpFuxLgUt8SLfoZXIMHTOjJT53kqxMaXVbwnF1n6Vs5+VN/8N0KBl/cYRyxg+QPHsrZjr/qgTvgPoQX85HzdzVyla/FbeuGfspWbG/3+Ty2WH3TIhvuwlWjP+ZGf+IgiuVqkY0e8RY+wdKTtJMMe2nQrvnR/XPHCz2GmM4upAChp2CdpqaBVkwGAiEfwxTGMKPMGLe0e7SST43g0/gUrtMGl3oZOJTByzceuMrLDx4h+OBXti5XBj8nXxoNnV+6O0d1hKFjIBIHrON2tf4zeMuAls404XSsXLIKxmW+zm7pwHYL3DVmcEHX07CD9wYc9bkby5kZ/MjHKzwm6+iErk0Aw8Pw6txe2swZlL/+67/ua1b29/e7bbym0HbS//t//S/9CpeODNzwGuDoQdxPTY3cFiGuf5inS2V4Oll3JvLOxeBTvl2S6Bx/cMUZmC1ITVaz+zRf1wYfOciPF+HlOoMDl3J6EkoHf+CDP2Wj07mYGk080F8OWdOhfAslONd44Ywdaysu9PCU9pEHLjTVi5OHBw6MOqEDTjmeMqmA4cDgLXXpOGXJUx+c+tpZvlBaXa/85f3t3/5t3fj/9X5VRW47QuE3+nWhqXocHlMuj/dUa3LZq6/auLWM0rv1apEsh/UHrmFrMQRndNaP1zXIwsq53ocLPFr5XUx5l0sesvEcG8uCSJxTFr3hOe1BB+7SKjTlZ6HivjnrNztd9XeG/urPFnVlVY0P3XmVO68nR+/kKYh+zK8xrepbYJDNFS333/9gfVF7f98BB85dexYkF86d77sDT9QZIn3uQsmDRzjx7IzxXt2/eeqkK0Rql7vkl7d7oq5+Kd0+8MB99br39X7lS4cWMPjTzmxjeJu2SzsQwi5T7/aUrL0oLTs+VvB28uYtwXyg4K5JerzsbsJarBqD2Dzf50erbdmohVIura6s5oHsxrHjy4KWTXHk8FWyh0b9i8N72qUz6g/59Un0yeRMKTr6pTLuRs0PytOu4LQ/3ZM9bdCwtdMKn1flPkr70hNf2PlE/bRZIe+7Fd8t/Vvc+Yk0V9tcq/oO679X7dQ8FI9+WceVIX7aE7+V1ee/xNEj79hSs1cWUy1WiwwXPPqYxzVEeJwFiX4xcwp50pfhulYy2eXzZsO5s6u1s3el7sVLe9Jt67dg6A7OxlsPRtENDobH2dUUp7Y1DnUO1C8YeXFpl14QLfhSrh/CqVfIS37qDn8H51f4ODziQ7tFFvnD47Tt0J68lIVOaLXOax7sXTwLOq9nbxizqo/V265jd91XxlW7eXUW9lj1l91jdS9v6dTO3tHiRf3uslV3OJudvFzW3K95S7YekSp072LzUA8WRajl6DO7dY+svlJ7gFgtGDJWZJB23h/zzx0v9DQSp1HWnqDKNBzXBtGGtp2INTavTN004hq+K6/qJx3Y4F2HgRHK5+Dn1vXQlk5d8cNOB1cOVpxhBKdQ4x6U+yCO6AfuyDjh8KM8fMjX2cEaqPkM+miFPyEfPhJvo638uMAHTogWJw7ejp5J3pktA7brV5xRMZj+8z//cw+a7to7ddc9DeeGeYtPg7aJCv9ruQyk0vHoyeNzoSq+3MOHlfCDp7UcdB19gwnveA7NlqEGCi4wkVmYuHKwayetnI45kw/5hcrQtqBNveBa452yg3jXNMQPy5fy4F2n5fF0l3gmMGm0kw+Gg3/d7uEvcLGf1A1u+WTMotpvdtrp81Cg7LCDLy64heED/rh1PPInbx2KWxDBkX5SVtFouqzyAx/cwvCypq8d4Un/EWbRQx6LCgsp/LBFeNu+LOxqAcMpW+PuzLJTl6+unbrhDw68z+vdmXzvuWcuLccPe6LbRx99tK9OQUNfO3/+rda9L1r0IwseIV7DA5p2k9glXKGLHrwWNPppxgn1NEPghBuZqvkG79iWGUjax0LsB9waXrr9Iuvg3vYpZerJD+zMagd3YIKTXOCSxjPeueGrox/4ow6nPemAC+1O1HmslmORnW7QmDbxKzpzLVLV6voWi58+/Xgv8nx8YTHH5j3cnjlzZufZOr6S3e7IFRlDRzg0bDI0F52WZweMEwcXHaWuMvHIRaZ12yrnIkPqrUPl6oPh1w4cF/pLcgMSPKm7rp+6HR7Cu0FQkQ1cLfGm/nYuApfy1DlMI+XyxSPL1N3Kpqw0upGl8WzseLBbiM1KTbuz6fK1iOvdvS6rJY6wFnKdXxibZq3uWkT49JlCV12xEoM3f8Or9FqOpGeZ+8Gy1P+ohHe80FsLr8EoZpTDCDXCNLzdp14EL5LrIOOnA6oTXOvQEw8XvIELjI50uHzoT50urD/rzrTGpRyu1Al88g3kXAZD8XRO4SxgBgc8G1x2AUom58y4lAnHzQiRgUmeuAHNoGiRkd2k8KY88S2+7UDnNZftiG3ZyCWtXvsqv1Fn+a7XU8/VazPIoJcfTd/f3+/XtnZ98OA3HJ3Zc+2A1xxeiVgAvvbalZ37T3xs58J55/2mswrRwicnTT/ZYTHR+kJNPt2VBZQN4FlnnrpsKJOAxaRfI9ieEwIzkxIcPJfwdvGUBRafnHalc5NpJlRy89nVAgd+eJ64vMF1aGRQsHIZxNQPzfBwOATLyY/PRBE8ysMLfjLJy+eUxU6CL/ngebjV41944YX+aSc/2u41rjyyh0Zx03jDq0R4Ex7WSWTsSqs/8lO2DrNACl9LkzbewAUNevnaLXm+oAOHZ4sfDy3khu+xxx7rhZKJXJ6FFPkaT6VHP8aPWbBErsG9jGXLRJ5xRhk4uza5NNzCTn+x2/Txj3+iXxl6WAr/FjQWmhYRb745v9AAh0Xcyy++0gsevIGTn3FAyCazyCFTFnjJP39+Lg33VS55aqnZdOHhRsbiucq4OYvE9idtoaP/k2/bBvrzMj5PrS4XJRPc4NXrM2qlwtgpGOWhD6cyfMgzHurP+tacFf7t/QdOctMDB59xuenUq9sZo2esQc+rcroLr3YajUNe5X79z7/au9hs/eLF0vnlK/0Tc17VOreaoynqwmHnNe0YnZQWWlfyvZGhA0555LZjmmMH0xTsdPQHFhydzOJEevyc1aMrUNNnZowM7qGlHGyfpSyZNwiWdjWmVmZlj96TZuv4XnuUuPA+qS2vDbtkBqb5L9z6QfLWONZ56icdOwh9Oj5Yb0t3IdkB+HGruayUoLoyu4s3eoGn3KKubKXeRtx0/6rjE3b7LPZqIe7VLTc8RZ+l0NDwutrCZXGlxcFfabn80do59BNo1vW+wI48CZeqH5ngjhd6kSQd3yHco0dn0FC2baCBjCKSvw7FddQD9XrnZ/skqHFiNODR5eQxIn7tgj91lMkLrTW+wKRcWjz56oa/DCQxVGXBlbDzloky5cEtzanPwyvEv8nIoM8fXkiqE/xw3cqty8Pvpl7xk86mzGQjNFh6dWfCRNM9Ui5v9aRrEDQof+Mb39j5q7/6qyb5k5/8pBeix4/Pa1w08WMwFo89GKBNSiZgOK5dm8kMzeF/ZAif6pHfotCgG3xg4Q3v0rxD8vLi1zAYTX35ceqFvpC8mUTQNgnRPZ3gfw0vzsE3OLd4g38d4iu05KufuikLb8kPDHh54AITHOE35SZdLrbUifqjHP344EEDrN3Z5557ruW020Fm8m8Xe9tBDB8cHPGjjrTlB/s7eLT4uG16q5uUR5vh83DoNUvy4DPQqiuPPOw5O3cWWx5QPMQoZ4cWfY4ukJMO2ZsyE/Msfow/2zFkrXtwoSVu8qQzts1O5nWoV4d+rm1ej6M5C5v5jdSXX361+436+H2vdvI8zGg/uGOPsUkwcfLQIqP6fuZMn+1FYn0MEh2CVx4/9emIjLMACMxaPvUP44h+wKVcHL+pC4Y/XBcN8oDjUp/u8ayd4vAaBy5pIR1koQcXWnCIlxVXtXqzUm3pIRS9a/UAO7S8In+/d3Yt+r/4pc/vfO1rX9t5/PHHa2y50B9avPjSy73Ae7YW4fhRj57X9MXj8Sg+stf8U68Ib+6O7GsYPElH5oT4W8OtdZP8wT39Vj1uDdcZyasNhTj1udBKXH7qh74y+cGfuus8ZcnPuudA3oJjIQtlu02dZFSoHh7ChyJ563FMXnAFx81bnNHd8jBrhZapD4nVQq7su0aVGghrB7i+kt+tIyW7tdCrd7ZF0AKw9N906LXmqfpbS4ze1O+c+iNEg9vwsdJVyoQ8+ol3pY/gnzte6EVofTkdvp9wStcpW8tNKTru3t5MXjP4zCAkDs/azXkHCoWPwc/CzuApvVs/u4SOBmFEeXLtSxIrL4O5cxXKweLB13ZgnLWIS6MmDZZvvIUr5euGVc4pi09aeH3hN7jkpU5w45FO1DfBGgQNZMqbV/weMqbwwliDEzwdDh/zFK2scXjyqbinjzhwJnXOhGRiRN85FYssVw24asUlu87yebXhI43vf//7DW+xZ2EPRwZ6cqCXhUdwm6DQcF+fNnY1x8gQfqbTeuIku0HXhJwPRyI/+dhE6Oiq5I5HT/zDnLLWx6JTPHHamOy8RV4mXmXBrV5c9D/hNj/l23BsengKX2t48Qz+2o4tgeMN9jPRoxMv3xfTpermTT79C9ERcgfsvXiXT67IRnZxu3omN9dL0LfFQxZLx+p3ROFJH2jE9Sc6qUil0Buaw/eUg43KgI0O5Ir7G7nxvuU7/AvtSHDJ2y70Rofu6mMLFj98+rs21I/YHW8Hh2xey2Uhb6cZzNyLh/9ZeIavlrkmmtCOPpuh5Q9btuvzTv12tzZw1cfe7on6Le/5elZdDziuTblw4Z16iLFbP4tpv8hQU8QGnXN/ZHH9ijOtdjvJb9fHOVivIU+d8lNnfh1m7tPEv3OqeCN72l+aS3pDJJF6xdUtd3PeWMwOpdejcIzNAQ2ewlQptmycNbawtZngwPB4D71pu1msiMtP/8nDlL4W3YathOC5qtpysVX40aFndqvu8foARh85Ub9gkr7cP1NVdensnvrNYPfi2cnLT8s999xvuj3Ywj/+4z/24v/9+g1h+I/VWUn4c3baXXzSZMbLyDx6uVGv/dHOWxt9IHaOz+hiQtLMOAUuO2151dulVTn1oi86kxcnP3jlrcvWugTDqS+fDOLx6iWvAQ/9Sf3gTO8GFvpCu4rrskNoKknW5IrMuE+PHN1FBrTkh+b/z9yd/1h2XHeCz6rKWrhTEqnNllVsyd1uNzA9BrzANgwY8H89g/nBiwC3G+oZj8awZVmyYMlaKGqjWKw1M+d8zrnfdyNfZVG0SEqKqsiIOHH2WG/c5TW858KR2QTbn9FvbDReq3cVrTXUPFLwOtGzwbvWsV4Wqo3e/KxZaPQteKXRJCv7g01RHRW9lDs1sRWwTxKPTvQw2twv+2sRPrSNHms4TuOkwXSqs34ItSaC7coDzICy0YMrplMln4aW3txObOIt9JGhfjZ8mmE6/UqbvDr58FfGR4jsFbcrlj/qZrDvJxDo0Yrqj+nDN8fuYRf4cYq/ySunKfitV/XRF59jWWArP3Z2LzzChYNP6JXJnZO2J337Ccwib/E3IVscLZIWThtAuH/4h3948ud//ucN/z//j/+rNwZ0hyOQMW08EzM73NayELsd7ddT+KVMPAQ6x0Y6WcDysWfw1CGIHWCP6+FmITaRmzy84xDabK7hs5PufC8//psFhoyVjzz+UvG8fmv1/YT0vdCjCY/QR++U1QtJ1Uc3cGWbAzB5ES6bBPBj/NjHfra55cjPNvKeaVO24deeTr9sOla5kSMl5/DtqZa46xqdV/8FtqFufF1o8eEsZuEfXOXjMHXxzdzWs2nTz9KWLhb8zB+b2MGenC7rizYZdLOhqu7W46C2BgWbdjWvkL3qsZbppE6f8fKC/orm4YNidnFat2h/0vTGi9Mjz0LKzwVc2ulmvYgxevClSKekybPL2LGRoYO+ipexVDNT66E91UvX/rD7jo/3eSp+ZYNIVuJqcwk81INnHkRPL7oK8Q3/RX7g6uAN/Xnrzwa8IquZPOMPu7Qv28KTrsl3pv74xEz6vM+p6Muew/uvv/tfTr74xS+2D3/wgzdPvlmndy5a9XkXNTMmpp/RK/rH//SnqxB9O7VZProQW3Hk0eJXlIpNDxY4PvLhC0c5aXDX+q6sP2AeZTimX+vDK/xSl5Ru+IR/8jSQP1xobQSX9OmLsKfnWKiRm3QjP8hRHj/PgUTwsvFVVl+joUmVo+PKq3EKRZ0N21n9Oau1pZ/Lc6pXG3WfVRG1p+f0yuI6EGoLbTt7mxj58xu2VV9CDr5Y22MT3vglD85h3BTf0ETHX5f0A2/0YgiHGwz7RLBdSdQzWZ52LPe3E2wG7byvHU7ihkMcPY0/nRfMW7ecJ6xO7LqtMwyH6Vzg8FZ+eB7TR07g0tCs8tKISU02iS2n7Fp5rPnhs9VXd8IDLClcEyCfWQAsPlJ6ZLKXJsKP3uFjkYQf3aXqcrW9TlCjz+4nuHTJBlOZbZFNny996Uv1E2n/rZ/jQv/tb3+rJt3bPXF6Y9OvVHi2xceVTZx4RQ4+yhaEnKxYbM/PTaaG0mwKY9O000zgWczoj49AP1EgI20SO1If+Y24/AkNfmlDNpLVJyOVDy84+CujC09lIeWki5grs6FLGp5Jj4lWeGjggCuPr0BGR34GVy8vrCn88GSXEL9rHz7413/91968u93pmT3t6rts+GqH6BE65Qv3PbaAf0LyZEVu6pquaIXwzEYPDP5OBzKh4dvEf+Bfv0BiI+AWqgU7v+ai/dyS1q5wlbNhcLKjH1rkLy7qbeT6TdprdQtO8MyTcFHPeemj6KY8fc/disguTftE22ne3A62OX673tisW8WFlzZhS8di5QTIaZHfx/Xs2Mv1Cwyagxx8o6v+qV1sSvOMKz3YY4OnvbSJfQZa/OFL+TTjPuVSaPP11LtXNb7XF65uI+1cmpdO+9zFpvQFPozedBv95faxuuoBbn7LWAuedPep0l72m8Dst9FlX9tcNsJnm82d53v1Hw/ig/m9WncjvADzn//LF9uHNtpO5cxRPmfjN5+d6D3/gt8Ldgt/3txt4f1nLqCcCvJTbhFby8jgd98v3ZaWxklfTorNnFDF9zv3qatV0a1f/GvozEVGtUeVwXqKLNOsmVXsIIFbfysV9/URFN1xBKcz/ENdLYllSc8BqUsbdDpCmq5ptosEeSFpaFJu3COcJtj+wBeDZyOZ+aT9uukZGfpf8i1j473KBaeuMWfMnhXPs+2Z70s8+xRx+IWnvt8WbVPXlrSOcCKnFFbsjWFp31qN3KLYbBpGjfZr9+cDb/Q0kmACSDQYz87myi4DncM4XfdaQzoZWJy6d4J6+7FObOBkMoOnHByfIAmduuOQyRZ8lUUvuvukyXsFE24COSYbExw4fn6ySIgOSdUJ6QwmCrDoAE/Ex+Rn4rbpgB9bM4nCW+novcP22xlpC3XhwU7lxPgNrrzAHvzpIZpU+c1JiIXGM3peyLCxMxn9S/1ahjcH//t//9/7x7+d+JGDn5MGeXwEfNhokV39llvw3LR1ocanJz548Ef4qswtmUNam2y84bMnuMqiwC4B36Rg8U9OULNwgifCwzMBz5VPP9jRG/2REbw1DX50Ug4seWl4J01d2jrl8FYW4MNJpLM8ON3ZEr/ErsgDd3qrXQTPY4K5XW8zZOP0zr35qTl8RXyTyq8bPTyi15rKJ6IRknZh+9M0PW8OfuSoDr2JP3npad26o3/6LHu0JZhNn02Rkx39RPSslrfI9Wu3P/Wl8lTrQyefN5KS3fzLf/GntB/oKQrjWb3+zU/M6o3k7efbmsflx7mVZH6c/mFR78+3FD1cG5I79dHkvIjUhPWHnvQ319CdrspsEz1WIYC1TqW/DWrrXHpd1O1YT4y0j3ufqn/NPC1t+DTD5Jvb/kf98C3Na6Ojq81JS8aZCwkXhTWn4Z/NfqU2NmvQn/hJwDf+yvwQXHXBS6rOibVT17mVzQ666A8zhgeuft7s9zkV89Hv/M7v9MWo5/b0B6e73/ved+sk718r/+3S46x8+1J/skSzzmZqnzej562b9Xmg2kCwl16JfK2dPF9Jd4HP1K/9tjQ91MmE/kBzRKdeiP/57zgc+wpN+MGVD7004z7w1rP6JD29jAMuRrdVXvMulfLIRPMoBJ8fsd2ZTfa0efgkxWfVbeU//q6L03q5zieJbDrpQ1dp45Zb8ZowNhqrxh44V3W3LvwzL2AU3K9inF3UbdoTX3nwaZo6zavn9zyfVz2nWV2rCwKb6NZT+xQj/yrT9bWvnhI4IVuILk1HL3jqN5wV90ATWmgxpWCH/M4+JB9Juu9ifkH2GtqgNeB60iwHGAC+u2QwXXdUaoKrFrkOpzpe//5sedpt2e7IaczxXX2E0FXqNMpDbzVV/ZwATQeg6vi2GrsaOY6Xxtl9pF2dWMdJQ/DzARePojXITciu3GZwzC1EEwc7TOJ4yNPVxObDqJ4JEc7O5wv0kZ2OClfUKavXlazLnaaJ609uK5Ft4kbfOlcdmElewH/0o+/oqnzzpp5iEjeBz6QweOOXLAaepYvt6PvkokgNKm9EP6k3cWPDg/t12lD46iw0NlxOe/jkt3/7t+t3Ie827Ctf+crJa3/+yX5xw8Ll1M5HmD3gj5bs6MoXvovnBQ+T6OPH82xg++jQ2WckaFtdwgT9/e9/t3+HsvV4dK9vldX7itUGMzE8ejTfTeMzemqv+AlvNgmxHR476GBT6kRSnWc4+g22Et6LeLWbvuvWJBv6X6Xh45lP/sZLfWRENvtFctrf1f57MLGiH//TU5jTA+0+bRF8fT9ywVqfYkcs/mxy6iHgxQ+rHvBTlg799Ed8jd/wsJH4m7/5m77l9cYbb3Rfdxs/LzTAxz9yb9VCmlveeNhwZdyA8wF59BLh6BcCuddMymVfP2dV34uDo90tBLf6+cC50HPqIuCFPx6ijYB2dFITvdTnm25u4dnQCXT3cL5PmzgBtOlDx+Z3z94t5sOfbXSjy0Xl2eDDwutt7LHHuLvem7XzJ7er79Wzd3XiJsxixO/Vf+oxFXMN22+WvqXJhlPtWncsbFbV0c98agP4sU98vG+h+/USc8QP3pxfpvF8n993fVI7ucdoy1b91KL7sH9xaC5gS2JLyTcHZ2Hd+5ETS8F32sgWyJfXl/RB/ny3niPUx2/erl+pufZ8t02J648/m/Of1HNqt+v7ZM/Vt/Js+v2S0Rne1d+v10awvw3K7morfe+d+pzTT39W3w4sv6K3USKzfV3yyZJPf/Vcorea+YR+8PlIW4jTB2aTS28XpJ4j9kkbbfijH/+0T+6cTn/ve9+pjX99wqb8Vv/rIuZ+tev8cozPZNGfXo/qTVz97Pat58oHc8HKPzOmZ4M/Y7LGMF6LvrMe6RcVtnFbivfCjmfaw/rUNlafu+F3savOHG5eEWaDXfDaZLJbgJOoDN6yay4Bx+ei3kIenOg5/OLPPpHUgBu97zcmFPfiSQ+qzxzV63b1XcFcqJ9BIfvAs8+5BoePLoe58MSHFf1MX9Fiwlc17TafcxvmUvVOtYNPeT2uefzew5/2fsG1Q2H64YsK09enP9vgOXWufljx3Uf1vHh91/XkVv1qzM2XCr+eC7/zar11W3NjEZ9ZAwuzZuSyz9gsn1Yf4vq+kKlMNRlDy77qx6zd1m3f3PMpKD/RyL8adC6eal5gcxE+qUOptJX+dVUosgnjgsZvflchf4iwD2Gjt3c+Rj4r6gBxAsPSIXSWwJ+VHjtixZNPefVLYNLIC58MzOmoU4+WTnBMPIkWLngmAHQ2euqCv+bBIgMvdXM1uA9S+oSf/JwGTOuvssOfzITYoty8N9vQJapb8/FvUvUrH7jKiamHr87tLZs4etjsmfxt9pz4eH7PrV0/CO7TBX/8x3/cG0PP8rktwjaLMF4mZBtBvMY3s2B7OP29gtMLt3psrrWBgWfD6KOnFoV79XNH4DYHJnZ5tsRefkoEJzv4+K52H+sRH/CDsOIGdkwTfwZO3vsJoVv5kreWwwcsMTrRVUg59VfRhGdwk4JrZ23M79reZki78fU369kmberiAw3/2cyRzU702SCB8buNiBB94MUnoQkuvOgCpp16zBUNPnRIWybv90rp4dYp3cAt+D60TCZ+eCWFQ+fw02/TT9mrv5KrfjY8s5CDwcNLGDvmhF95PpSrn2ibWjxq4bE80bdWgVrUtKVxvs1HBVZ2PTs4c5L3+uufOLl79+7JJz89t5eNORtRJ5OizxO1D7ZfHBrbyDWGK6mUXN2OzU6dO1V1FMDZFZuU+VuZ/eSkTR8/qZ/Qq9uExmG9ZNo3DPFhAABAAElEQVS6099Gv6j63wv1s25PbtZzxvXcIb5rO+OtX/E9GULkkrGG6MsG84U25T+HBD3/1uLsQhvchZrHDNyq1VffeOONzpOvPd2m1Tec7t6rjd30JxtD/im5TneqSWfjtsFsKmrhtqnkB3qii2/Sb6O39NjW0OSEM7ixmY1g53Y3WwBLVBcaaXyypsmH/qo08sKrRHQIbf/W60q4ySpNDjJV9yaPflXfoS9cS8cDvwH7G97y0C+Vy7cF6X82UjZItl/Rz/Ou9bR0XWBNH7HhnUBQ+QE1PSqP+WmN84s6MDq3kbMJrJcvrtfG7tppfU2i4jUfS/Y4Rl0oSv0k2nWbvLaj+NRG2oZTPzBuYp5D3Cp1mW5rnPavtaSUGZzoOJr6i0+z3EFP5fhOF/xlhA+80aNkGkkDpIOng0kDDyyGhU6aztCNqCErrryDu9YnDy/4TbT9CQytxhFDY9DKaxBhGk+DzlVt8G1Q6G0jIfV8mtMAcIuaYFIRwzM24+/zH+RH/+BIRTzIMqmaVDLB4osPHCH0saWB25/wj30pS1cfrDTJxx/BAw+MfIsL3fB2skDfLKYmWHa7tesK2tfm/+Iv/qJ/Q/Xv/u7v+lagyd0CSRcbNIuyTeA87M5/793Tvalo8fVzUfS4WQuc0z2ybTS/9a3v9ETOT/EhnbLhiD/JTztlsaeLL/0nxG/KfKDM7pTjF+UVtxGWP+oSVnqwlYfyips8nLUOPLCuOKJTt/Y5OOSK6tCvMTzUrREcHxsLt+aF+w/uta99WsczTzYeeQ6Oz9HnVIUMMH4WtAd+gjT59OnoRk+00l7UOz+ndul/ZNh44QkXbXSFQ+f0gekn067ebF3l64/wg4uvfukFFPyd8NmMCPEfXHmBbfGZsjp6xBb9uXF7BreRmr7fy0j9yQnBnOjWpq34uphkN10+/dnPnHz+jbutEz3f/P7cfrZJmYsi7Vr2O+kpWeQK6wUlHcaf0x5df2hrNCCT5u1S5jmh5q8nT2yWX2x9PL+Yn8GjHzxji1xj63qNR7JsyFwAPLhXbzE71Su/wI+f+cg4ZlP6hzngOMSX4H4PmG9arkW6Tg8P9m72aDsbPHPP3bt3e06gn8cQXJjY6Bnn+ge5+oY4bTvPWJblhzbEX6S3lGyBjXRLRJ8+oS6xketP+HRbFR8B7KoQeGjWMl3XcvgElw4t24VFs8/aObKiVzac9llNu50Uhveu1zYnFLOu26eyRgHDU+g0Nm0vW6Yfhu+G2hu69lfpqy7+7XWgaKtFmqe286sgzu0OMiqTl76G78g3s7ige1ybt9qTn/RjtnUlcK1OKa87qfRZFVdSc3XQGzp+8HOFNnscdtGnd5usSdouN3w71H6AnU7ynMae1sZzxnCVr9ilxd9D/Ovz90Pd6BkEBpOYhkyn0EDqBXViwt4pNudWxUqXPHy44ZV8+CQNP+XDQDj0uMFKg0jh7Hhz6hOZUpOwyUL0O5Xe4HLKYcHzkK+FwURiA0E2mu6w5Yc5Gh4Z0TeThTSys8lTFlYbRuPLf1f91Kx06tYYXsdpOAZXec3Dp5dNrgnHBkv9t771rW4/E/fnf+uN3gB+9atfbZ39bu6f/Mmf9KTv0wUeeuYjCyw/ZlF1YuR0oti9Z6CDRc6tZIsx+WBu5b3++qdq0/jDw8QdH+pbdJaCCfG5NlInFfBLGtul8aeUPDF4SUObsnTFC7/AkoKveXQJ4Ctf5eAGR7riBScpnfHQZsbiMX3wwif9UFlef7bR46e3fji/iet2mGf3PP/093//9/3Mk8XdbX5yRDLRZ3zLGwdC/Bnbop9UTH14+awFmDbXhiZ0Zbpru8wz+pEyOv0LbmyQemZLmkifjFX80L7xxhu9WSDLRZyTII8f4J15Cu56wgdOl3lWrDY69ZuuN888FzT9yWkRmTedLNQaXOSl48wzfQK2vSFqHXLR4u1gPNlBvmfKbFZsPGc+9ZjGnFI6LXQLjO79yIybTI4gSF98KZ+2T5uXyg0LnEy28Rs5/COqv1W3ax/fm7eCbXjY70I4MsyBp3WyZl7gOzT33vYJmRlbbIlOeO4b8hn3dElYdQWjj7mCb/DXtvj6vWC6kC391Cc/04+O3L17t+ccvjM/mXc8cnCvPorMLm0RO+kV+6dfzBgDE9NX6EFvdPRDl7qkHj8SQgtPCI3+EJ7g6mMrePDVCcdlcgS4a0g5/LZ90QFlrQc84FVenVuzQvC6MJBDtutKX2liMer66Hk4kSzw8NrrQ8OGqdv16DI9KF6neuWx1vGiHtXy3KBBc1q39oXQTlr6NG5tDbcTukf1PsD9Gg/1MEDRiTZ4NR+ZC2pzZkjSqrxd/6oNm2tz7txoPLo5qOwTvg2HhtpS1P6VdMr+G8bcdiLb/mjf7O3kxK8Fb7x+lcmHstHTAKIGzUQhz3gDNJMiWHAMPoEDE+CLKwxtQuQcp+rb0UGsFI4QXuQKoYWv4RzPC5Frt47GRKMe3ARn0rfRA7t7924veN7qU5/bRnRVDr/oIM1kA0deSieTFZ7krbqqQ6cu/Dqz/Qnv0CQNTvSAl3zqkqpDlxQc7oqf9kt70UfeM1v84aFvHyB1VW1z4Fcz/uAP/qA/TGrytzHw8oaTIBsI9npOz6RvMd2aJSpdmcK16Xj9k59o3ch1ushHbr3FBnB+ZU8WfbbokzaaeEjpj0a75nxdObav9oc3xfAVV7yUo7g6sISV1zE8fIIrBUtfVU4/QLvSq1tD6pOqW/Hl8Yo+wUvKb9pWmX/43ML6G899phdOfnOB45mxP/qjPzpc4Hzj69/sdoUPB/0a9GuwYz8qi+TSKXLB0IDTwykivV0UrO2oLdWTKdh0xrbA8Jxnh/d2w4tdWcDPa8P19k9/fPKJ+h1a/fUzn/5kvwn7Qn2v7q16USKbvdDQS7hR84RbQRab01qUzk7Hbrdt3Y+hG9z5Ltt2ElX6zLN+5pZ5ptJJuO8XfuwTr/b4Ma7+5YffmOfyajzhNz7lL6uQcomo6Qx8+of8zG8tv/SDW6Z2pG/ToCs8dMpV8qdwZ2OFl1+VcJtWfFLPHdpQeU5OQMcPxrDn5j7+8ddOPvu53yzfvV7PW9/oE7RvPfxWy7RRt9n1DCA97t/3fdBqs7o11ycqJZS8NaT9wIxNJ/Y+PI1H7Hvh+Ze6Dxr3NoJf/GL5rjbJdHLhbYP3jW98o31pPqgGavn8om9Jxy9OlRxKmC/2zUz7oBDoIkbHdR4ePvtaBWd8uvczfViwIdcPRPzApfDBTus5VPk1pB4sfFOvTjyEvj+4lA8Vk6Hbyg+0efYWS4fYCLpvVffais9K3G5snA3xoPsGDzv0kRsbpDc229uO4jS2FLONUJmvq6brxv/8S+AIbdrawF1cu3nysI7xfNHo8Xlt6jxvWf3OL2SUZ2cjOJzm9K3kd/8v2NyqN5fP/sN3dYevLrMZ106ocVc41XM6nlZd5wuG9FptUum6BnzanZfBK8ov7ZZthH4oGz3MNIjJLRs9jWpAaLRprBGpc2cS5JCE5I/TQ0cqxNSFRvqs+sCP09DiJfropZBydDYgbRbATXYWARs6cJOQBQ+uzQucLDxsJTN8btTJE5vjF7bHH+iy0YMvwA0P5Uww8kLsmdJln4RH6qT4HQc8EtHQI2HNg9GbH0zwbrm6ujax8oOTuq88+ErTf+ELX2hbXFH/7d/+7ckbb7zRz+65Ipe3AXTqZzNogsYnm7XIviplvxMYvje5u4X7+PF8S8wijLe2oJMrefL5mF1sZyfdtY80/qC/+Ojh4MJffRE/80diYKuegcVvysFPCv8YL3WhC8/Qp3xcD77S6isphwaP2AmWcngdp6mP/erR85dTW+3/3fqRdxsomxJvNHpOU9/45Ouf7n7g9EnbaitweuFhA5b+HDnRLT6XJpBlfFmQtaPbgeR6eUdqvK0b9ry0hZ4cET98tC+ZYAJ4dJAqn9epgX5Nlr5q46V/Gu/6lj5uEyvVt+Th8pGXZ548mTdciQDr2zo1y9+sRUjf7VO87dTndm0c8X6pPqmSl1ZcCJHrhQz0/OcCiO/5zgaX/jYM/SZt3eait3jjhnqbyH3D1AvZYjM7RSH5SRvS8LFlLjb7RYVqN76my+c+9xuHOQosenmW0AXb7/zu/zabrM2HcOiGp3bWBjZc+pG66EIwnLRZymDo+Qd/0RzppRu8lL1wIU79a90mxr6LSZ950lfpic/h4f8SEPvJotv4FXz3X/SQohfRwZXGV9O2temudkkITspwV3sDl666pCxFk3CMo26Nz+Idein9jwMesctp2rP4wNNzWuaWbl3pKf3JaH2zYwPoMDrLNr8w2Mq2dJ6bK6x+3o9erV/xGb2q35dL1M/zgXMiVxbUZq4uIOqg5nG90HWtTvJu1Rvv56cv9nN6fgHDc3ll3km92FuwSjWVE+lKWtfShbxs8vpHFKpuDQd9Cs9LF5qn/rauvWldkNtPEH4Nw4ey0YvTDB6ToIleMBgMOAMgjTyNN54AW+uUhTVd8YdqGmnNB3+FyaOly9pYgSelo/qU6ZMBi16dCddkzD6Tjk2HcPfu3cY14Vic3CpQZyGiE1y3VOITcLzxzEIU3SI/9kavY9ueVQZHG/pWcPlzTBe8pEFdy/L5ZQ95dtDXJJwFnE1f/vKX224/L+QlDbedvJFrI2ZCtimwYIv/9E//1DwsmnjVlLuJPh4g0yb0Jtfih+bFl36zTwnxsoC46vfdN6dNJvpv1NW8K3u4opAFig1Z/DehncRmsuJHFeCBBT+40tSn7v2meK7trnxVwB9eZEmF6CTVJ9dy+m76sT4YWPSFP74fXuGhXr9TH1ybILczlW12+Fj729iD2/TpA/yvjeAYA1nY8dN+ZNDDfKA9BGPAxocucET4xpIreHxtrCadRyfQh9/oO/Z5S1RAn4jvnKjw4+43uqAV5dmor+ivNjcuHIx3mzB5+tLDhQm74ICh7ccK6F6PFvCb26t8nlvN+id9+MwGT7+1aWGDU7Mf/+Ttk++9+f3uy3TAzy9t8JVTsfsP5q3wKlr6/OkNn7TENV7l2vb5s29sxz82u9OXY7NUsMEZOdPv6Vk9oO3gZ3g21jmZN+ad5PGNOU/7Pf/8yz3ejTubLW1ljPEF/1gU79dzez+r7ws+3t5mxZfc9MHoRT4YWv7Sv5zouogj0yY8L11om8y5bm97299LYIc7DcUfnz5aaVv3sQweH/Bd5IOvOjV9e2r8p05kH13Vn9dzjU53rztRKpmJ6WP6nwBfiCz9e04X99PAY3lwA4u+yoENw+F5CVYVKceenFw1zVL/xBvSG080ednCyZ3Qfa7SmY2rvxWOoH79ebKDfk4Ku3/NvHWj+rqibxwK6XP87ksUTtZ6A1USchu4fVt90xjxCY5NYlHzoYiuVo7azD16XPnTemzizksnN5+reerGiyePTupCsTZ+xs9oXu1WOXZuZvWLFHRywm6bWWLGKNLsDlleit/wyxpFd6MdUn2qaPCCHt9UtnFQQYuvwI9DH0wCRpFjhI+o/IE3epyxxnR0+nJQynuHm2bLoMmAgD8dRG4PgaXjqukO2Z1pp1nr4USnLB6ZfFad6GbyWvHBbA4jw6Qtb8LG088NWdBM9BY7E5KNhUlHYI+Ijw7rp5DokIgHXfAlGzw2Js1kAk99Aj1EISma5IMnXXkphxY8NHQMHpw1BO7CyGRvUncKRzeLOf0tAGy04fpmPfhsYvYsF78of+lLX2pcD0q/8cYbvcjntIfPnJQ+evTTVexT+djmto+F9vq1u72ZpEvayuZSdPvYouD2jYXKpC+QqU34U0THr2s7NeLyZ/UTcPqvPPo1RMcVtubDK7C0xVV0gaEJXuilQuDSwKKf8lXtGjh6uOGhrC4xdcrCaX1HTH/ne4u7PutWPJ/6Hp0TPb7X5gK8bJz0G+Mk/udzMBF/fQoP+upDNlpwBZ+1gOPiCQ/tr03j++gnTV7b4sk2eOjYExrwqwK89HE4NnL0AaefPqVv4c0Gmz2bWTjzkkS9sFAnw4JPn9jMeZHAGBFn0+Ik76XS9aw3ld/+93+rTd47ffpkPPGboE9GH3Y9qYfFjTEbR/Y5moAzJ3114dX7h30OiD/YLF4fhOa9/onP4LCZn8TTuhUNlrFhE8V+859HNO7e/a2Kd9smfvra1/61P6ztuU2fMMHXXLj2I5s/vsIzbXOVLuoS+RofG+w5uft4y7XhM/a1l42xEzwvg/k5RheYAp/jo7/crGcIj22NDI9tOIGNrfGBlA9ChyeYdkhUF9/h5z4enMwrUvVV0bqgC83AB9/GBzwRD+G4DNZyZJYA7yo4FHD1AjnCMe7PKxfhga5xp3jQ75g+flvljT+bzSW/OmHjIifjbo+GdjDHB+Daad4OrtO8yvsZTxvlM3lHdfUZlZs3a7zdebk2f8/XG/C1davbuKd14n1Wn1u5Vg/CXuvPzhSfOj2km+2djSX9yegmLNuyEYvfoos0m7hqrQb7lqAZ5dgHjatLNNavx58PZaNnYGkkE5EObYCBGeDrwMhEzYkav53ZTyzuzjh2Wo5VNUQ1Q9NoIP/a4a4Kip8P8JLle0ho8KZTP3SqQStqRY3ajVl0rnLSuaTd6NWvpGL0zMbGz+l4hsWkZSNjQvdpEZOgq00bFwPcYmWy5g/fv5JnO34mMIullA98+6hv97RMPplbjq72Hzyst0ILb/VhPjTsw649KVRHbzvZWpGM6M9jvTjIVFCXELzQpA5t+7F07zaqEzcwgR1gyiZHkzBbTcg+f/D1b3zt5Gfv/LQXx8989lMnb/ynz/ft2r/7n3972CT6gGmdozT+pz/zyfYl3t6+4rsEIkfOLHTgbg06NfiN3/xMnyBZAOijLSw6Np42Hd/4xjdaLwuCDSUb21fFgwy2snHaYB4c17e0bSUTWn7pkP7Z5/6bD/vqDuJ+Qhj/4UvvRP5XRwc+y6KS+tApJ8hH37U++fCDn2d8fFcNvHH07W2B0dd7oqtUP0vw/anc1josjHUb8GH9YgOdyaez79A9V/1a/p3y8eO6RXu/xvWD6gtvVnt8/nN3+9Ql48BJiw2NjR9f2BTpI/q/NGPD3KA/aTOLto0OGTaVNnye6YKrXaWepRLi34MPyle+1XatbpXym4txJw3l8TK4TgXrUx/gtUSfnG8nSuWRngO0xZNaFF54wQbMLf4n1V9+1Cdq8j+ub7DZyGWj5zTJxQx+GdM2eMrZzNjg6YO5EIEXneG8+eb3ug9/7Wv/0hci33vzB90nve3KR/sGYTYXt9u2aTf6pn9W85TcmgNqnfOsmTp6aDdRXmiazs2f7h+VTX1h6tQdwTxv2Le9Cgfuk0ePT374g7dOfvD9N08+++nP1LflbtWm9uHJT6qdjK0vf/n/PvmHf/iH3nSZ/9hqftRm5rk3yz59gF3RhZzIzwsm8OdzJtf6EY2XX361/PNm9YmTbhcb/Z/U6ac2IEM/sdH767/+6+4/+tAt30+rOuFJzZ/mlBvlMqdG+pbIJrLjI/wFZYGOcOInMHRo8A6dPJi3qhunNvAPq685jcVD/elNy+usI/PdTXNGebxktQyl2ljrrf4Jxu0E5Vone2NC54F2/aB2m2k665hUkKcj/vQ2xwmxPXgN7D/TFn2SV0LSLtLxw4JZsBs1oYA/2Rjl261tl/qye2RP/9GuyqnHV6SPdqGrdnIy2rpXnb7S63VR+dzKnXrRqd6sqIue6p+1eXPxUtNUjfOCPfQdSt9Arc+s1GZO371uLqhn9C7q+b1bdSJnc+c2q7lBK1s7Peta5Ce3T6cdWdl6lZ+l9Reo9JjNnOmkPw5f4L7Fu40/7XG91mzjxmDsTevWl5rB8qf3HVs5+R5/C85Hlf3AG733o5iGHudN4ysnVqZZqD+O4Z3BlbKBBDedN/D3kx7kbsgpJ8VXHm95V+MWPh3YhuZTn369O6JJ5q/+6q9O/uzP/qwnJpsOtylNfhYtV8ImPJP3YeAXH4tqNnmRKWWjuAbyyRXVwROSqs+tgdCvPIO38kwerSBNfi3TmQ/6u1mLbDj4zkCdDZTFzIBmKz3YSGcbYM905aqbX/A18ZPJn/xrAbSBRQuOd+Rko+ono3zs1Kb7rR/ULa76ftarr573poJsfneC5wUZGz2nSvxPVzz5fOc1z5D1hFJ1CasfAosPwyfwpOCJKyx5MtI2+Mc+NOyMzfAjP7KCE15Jw0fZhm0N4QGWPD5XhdSn7qoyHbWlNsVHG+vb+j+ffu873+/TLguvEx8bNwu8yN9OxPjgsDEqeu1tYQbzPJXNHH428vjoH0709JVn6R6d6UfvRHA05d0D7bFdO071DX27eJClH+FHH32VDWjzOAadbeJs9vRdm7nnX59f3cATjzt3nu8LPrah4wM+s3ll37e//W99+9vpl778qDaw6PhIlF9D21L27DaUT/pEo9q0Lj5K3bF3a+Pg/zy/jYz4bZ8HLLZ+Vgs9mTa87HDLnh1OzV548bkeWz/58dsnX902rHAy9vHOHJe5gV+F2LHqpy5l/SzzB3xjmg/5js9cXMPXPnwa/9IND3VkRP/wVg5MvUhfbZ6yVICXNPTGALiyEBo8Vt70SV14pL4Jtz+RpZj8VXgrLHhJh/ZpejQJa36l2+snF7ycxIGCub2aup1m+OMXUY27+Q/e1F1+VhgsOsAX+8QO/raxCjyM9YVqqHrMoe7C1EbObfIn1f8f1SbuUe3crp0+X9V1N02szV5f8NXbt/3xe5d3dfu2eRZNaVu3np3m2WzXRbrN3tKebZ/Tv03PNS1vdPW+WtC5+prdYwHJoHOnjRmK2mRXeS4/topfQfKRb/TScM9Kz2ti49AseNLEOHot42PQmRSnkS5fqT3Lh5GvPnmp9stgnropZ8I1EZBvwjLRu2p1emdA20z85V/+ZU/+rvqdcJmQcnWf0wx26LAmv0yAT+kBUAEu3mTG1vih9S0cKVjK8vAT2LNG9QlrHkx5jXgm4nG7nnXAWx5eZIY///AVu9Tzk9ttFjGTstu22kodv1gQLKTKTn9+VD/+rt6VMDlsnwVvbMQ7cvH+4Q9/3J+dsADg/9nPzgaRPiZ/i4FFycYvPtFf8NUGsQ0vcsBXPyTfwPoT+dEhafBclcYnSVec+I0uojo8RXVXyY+OwY0uyschE2T0WXV4Crfoj+vjo2Pc8Ev/j/5Si2o20T/76Tu9ubaZtwlKzMmeNmIrGpHfs9HD27OcxpVFW/vlBK9m7kO7H+u8luPf6CtNveG9+ixwOPgb/DYy4P0sX2+aykd1wuBXJtw2/fL/+n96w2cDa9zHPhd2bGOnvm9B4ZtemIqzjasNsfmAr3ICpf+z9Z135rMwNoZsmEijsbsPHba+QttZZ0bnMqvOxGfuut7j1eZQPzR3jc1sEn0O5XJIefoSnfmo/xXu+MspR3GsUxZj5O23PSc5j0I4vdNntaV2e1AnfuTwgdSxidMNdO++Mx961t76gIB/48H1vxbc1NHF/JqLa/hkwXdh51M+Kes7dPC5FfX8J6z9Ae78wsM+RuG0vWyuGHx58hNaxwVX3cFXG+3g14nU8kKfE505YctY28ZsnfokkKX/kdHZrUI5MTpGj9Cu6eDs9vAj/NWm+GVkDu7Ko3ZE7SOwwd303ZCyEYtexb5DbnQodl130LGLLBvG/iZt+W1s2GytCwlhcGotr3LX6wt03wREC0XPv/pJVRdlTus09SPt74SvbtmentajAtspnpO8656rqxcxalDWaR779O7Nt63nyNdWrXsJ6fFUel2v/qtNbtQLVN3efdJY+P51Y00/86xecaR0UclNPvyAuyqGMPpXGH7pG73Y2o1bBZ1zBkw5uRqSM6UWZ/mUU4ceDbiOmbdm06HDPym8BDgpp0H2BgzWdDj18C1MdDGp9eairmZNICb43/u93zv5x3/8xz5BsrGwubHZyySIBi56E6FFQD688Y9d0V9ZhH9VUBfd1eMvxK4ubGW4dElYceTxWWHwlFMXujU9rjOhkxE+8hZsvJ168B8dbYTZzk4+kqq3eFoIndaBrbaRu/pFHVy3dJzc8ZHb23lQmy7ZRKDLxo5uZPMHeHSNXcqBJZ8yngmBSekiJJVPvbxwXKc+Me0I75guMPT0FsJLmnzwkoKHV9LUSVOfOmnyK17y6tgvymtHqXajv/yP3ppbePq+NrEhsgmSBo/PjVl89I9EZZsei7Z+Ap6xnY0TGdF7tZuOwlXtOTWbvdv6eswjvMgkQ9Sf2CWmv6jXp0SbNW8Xs020IcFn/DLjGh1e+rhNnf6azS07BTho3Gp0a8ozSKVBya2+UPXon9roNeUsMo2VDVwvqPscBy224fPzworT3+JDU6ce4G4NWwz5OD742c9cpE0fBL9eD8Lzg8BOlrDPht2cKAVPwDf69fK49Gf9xSkpfnik38BnibKoztiGr//wlTYTgqPMx4+rjwmX5G4ym2/beXkcNMH2Z/wwa5K8QMbI208i1YGpG1nDIDRII29q9vr4A2TND5+ZZ1J3DNMXwCIn8ukS3NSteCu/NV+u6RCaKe1/V/126J47lulxETShk668A985bD7QDcuu7lMuom5Un/A70nVq15/FqfnEOdntOy/Up/M8OnS76uqwob6hd73wfU/PZq+u1abv4Fc+uVF9eh5lGb30pdEvY6vwNn92Gv8mnS5wUHf034Rs0OHHjgIc4UPZXLxh/3KSj3yj937NWJ2rk14V4awdQ6d2f9/icFWALxzThYfU/fY1pDiNNZu9LFJO6NwWtIHzcLZbk7//+7/fp0gmHNEmRyDTZHRaVxdsMelIhchXvlHPCCizRRRiu05IdnQ5tgc8mxm0wYscvLJIy8cPawoe+VKh9SrZ8KJXeIOJ0VGejha0TMDKbnvRzeZYOQG+k5AsAHwY37ldZzEcPbYVughHpkn0rH3vJNWpIRnf/d6/9ymLT6+Qgy84GeSzP35dbaGrgHfCyLlcji9TF3wpPUMeeHitvgzu6kPyAw/NVal+E7rYkTJ8t1bWED2SvlcdnBVvzaOj44WHnSvwY9oRHr9IYwc9+Z1uTrHyBiZYgjo8EpVtmKT4aC82KnvYetIsEvvCBS5E35STBr7iyKdePqGv/BU0pNOFmpmdAJzVZxv83uUrr85vM7Nf9PuoD6qf+g1VOtsA5aIsfY1v2KFsM9L2VtlCQzfaOy28qOe7btSzR0I/s1O+LumbXWN3bMnJnBmC+Z4dEqoF60/RbCdGq40W2fSZRt4oJj/0G5utemCtTPtjdOnvBZbu9f/gc3qJ/HH9Wo3Zss+mWD+oGaT88qg2um/XQu12OPZje+vZQmm+9110xqzIn7Hbb6ZPX5sNwuPHc9HB93nm1G06OGz3nC1dtKPTHBcM06f2OwO8Rif4+AiRt/oPPOXmXUTxp7LnqZXdBuzYdg3Nlm29Gudg6r4GDO9DBXGXgvrYJU/HNZ386H+J8H0W8EsbrLyRH/yx8SIr8OigfLCz8izZepCqDnDFaQOtMjjd3zcciW8rCnNSOHr18/R1IePj+E7YXBD5tNaj+k3bi/Nq/5v10ez6BZfzm/UzpdvGrhbUmrjqgrR2/9rfx5dPa1z7nVq+FOsubp8cOnX0jCj9Tre2LZKD7a2PTl+hNVK5WTg+6KrWGVZ8MdCr/x7752qsDx86s8yHz/fAsTuTDtVOOoAPZQM8DWDQzQDeGyX0oVSGL0g9wLt2pOAdp3CE41TPu6zbjqdz2tSZsNHR1cTuqt6mz0PnNhg2JxYsp1PymfDY4io59kVP8jLBuPVAzmEgbL6KTmhXusADMymitZiEDzvhrXJWuvgBD3CpmAAWnfMj26k7Tsld2009ej6z6ZLnQ3gWcnxN5sExeJ0A8acNgluh4UEnPpeyTZB3UuK2mNs8v/2fv9By3K6FY8MJfuBfNGm/+Edd+ln44g2eNPm0k3JgcOih7NZT4EnVrTgrPHTxb055goNOPjxWOBr6rrAqtKzQJb2EU8DwW+uDg2f0Uh/c6Jg0dfDprU1PTbCbb6Ro1SfqA/G1+sjCU1hP1MCCUyyaFxnDv9Ev/Rn47qtLlVU4potdK97cZpv+Hx+sNuhPymukc9qNfgIb4aSvRcbxaRY4Gjy8OfvS9iJIeaxJDs9IccAzg7ptvG7z12oHsvjmmSy2CnixbUBLf64Tk76ptdnfvxlaesZm7XWYf7Y5Uvsa79pdindCZKUsVQ++nubhiw941gf+Vc6jEuhc5K+6Jy9FL9yoFyLQiQnqE9JuK23qpKFLvXL490sEJUdPjozonk1o4BFP9CqfjPCTBj9wqRC5SeEO/mV+GUPwQteZ7U9krLDgDmz3k3LkrPjH+cv0l2vjj0AjPzT6UuvcW8BgbfbWhUq3e230HldbP6mXqTzT+qQ+qXJaJ3ynd+rn8W6/cPKoTvO8cHFWm8WaQRDXxm/a/NyzfXUCfdMFcW32ShijevToBU736t776NA+2/s/baJncTso17CtC8mvdaHBqtkdqC5nMrr1nV9G+KVv9A6O46CKt+qKX6qxNWpiOqw0nU2aAC5koIZv6pOu8JU++fAOfvWCw2KEVr3JWzDp2JiR7VaVkyW/pQieiT/Pl8AR3ZpJPjLxFRteF2SB7zoMzCDIRKoufKKXyQws/JQT8ZTnHyE04Ks89CmnDi5a5VwJKYML4KscOjq54YfgWMgskjZ1ZJjI4bCJP236RP5xW9fC4HaXtxzHpnn7OPJa8PYHb29HkvufvnC3dVGlDSysqz30iY3S43wWrZV/bABjk7DC4qeu2C6o8V0D/whJ5fEIn+TRrTB4+IPFz4FJwdPnlZ1dHIfwDt/wC95xfXRc8eEqr3YlT7689LweiuZDPLQrf6kTbbgt9mDph/DoE/4unFZ9ooPbhvLw0QYe+pTJwS88w1d948Q92wsGLbj+hN7Vvefimr6u/J0EtP50ZFO3BXj5YuMZWryelP6P6+KkPFDoNS76VJDQsXOWFGO3/BK/Ve2NW3XS6SPItRC1/tvtUNpMSDr9yHYycvFsvk6USj/6XrsOD3QufMv60vdynxy+WWKUpu/xdd6eJEO0UZE6WdWuZ/ULIvFx2pvcO3WbVfl6jUXj0dh0V0NEB6fr6VMx30pr6erqVEX/MD/oL3iQU4f3TevRnC6Xb/FKaJ8V3tTtc1NwYseKF1pp6gMLH+laPz6Y+U7+uC/qj2XWgV/6fzaB4b+m4SkVoqM8/cHTz6NPUjgJ4TOn39OuYPFBxg78yAjNnBDv/gzPFVd+nV/QlnKNGn0aVhBleU8UcKH+OrBG7z9Drx3x2ezst+mLoFQZXuP/5l+MYsv8Mo5DhfrxgpfqBaibL9Yrs6/UaV5daF7ULdqSQNcL/nMvH0PRuCh5FzX+W6dqrAvP5hn4lddHJ5T+3edbkY2mbCiYU0bjqe0LNhNwYPNWV4Upd6puQ/41SD7yjR4bpwHH2uTbQeUJA1tegyZmMAUHpYbvxh82B57Bka71G9pTyTFOD9QFax4i3RvMxg1vk5VbjG6TuN0I1s8PlN4mt5xw2MzYwMAHw59d0ZMoOsRWEzN7g6MO7Uyucws06sExkcTW6K4cHmjxUBfZoT+mW+HohdBJ8blTPw59rDt4ZGg/evFFTm9M2PwGBy3/0Cv6SGPfjToRgu9ElO9s9EaXWSAyEMngV58zwEtb4P3//v3/1z+N5pnJyKIHOjR0EPDku+iOB3w47xXUw0sIv5RVhU/wgiNl61qfutBHfmjB5eFJcwEROFhwpY/qkygph2dwjuHHPNQf6xMeweU3vqJHdAKjt/S8/KwPZKOfttXm2kBdFj888RIFPPQTNGDS1V/qyfx5Ojaz5c+x/VfxaFvqxMonMPL4B9nCqos+F/qkcOQF9qF72j/bFUDhqMeTP6IbWm/s4ZLeNe2VUtFbnMpV80xc+aLKTsCrV01am6T+/IN2rIXLJyqSzmc78Bo9ybsqjI/1qfF19Euq7eheX3Cpb5TVhs7nQMp2qc9UeLZWuOWjtfXrHvxgbLpoa7ytDW0AngoW/LKPDvws6lP8pCnAzQ3jv5mPnuJRgLQL/PTN8WVtxNfPDm3EsQ0+3mvEK7TS9IXIXetsLZTRSz2mMx8INr/PAcH8xNreyrkFP62uv017Ry4+kRG7yE69/F4/41dd2jn0Axvc0ErXfImq/uMSpdbejYP1bz01bVk2QCXC3dXIpgdeNTsOTyngFtQJ8R8fNX75fHQYRH16fsWiymSQtW3CTmoDVwKLc715S3Y9i/fCix8/ef6l18rPdcv2+gsnP35Y/bHesjVO6rK89GTJ+LBGQ5/i9S1csCpeL/t8DiXfl/QM51zATX+L/3CD32WFpqUf7tptQvtjw7MjXP0zLVt827t7WwcSHr+M9ANv9FxNUNyOW5wvws/ksA/a/WSJUe08TqmoA8CLgzLogiddQ9PqoRXk4Qt4CDpROpmBrKOFtxRsLZ/3FcXwUlecmk/+WLBM5pmE7r9bD40/fKvlRSYdyDFB9dt7lR+95tYGvsN7uE5HTzeYwYA2ePjKw8NH3oQrn4X/AKtTgdgFJp8ynSwW6BLjn8EzQc9pZBYhtzpu1uYLrUgXEV3biKfA9xtMHRyLNh3Iym2bLPLqwcmBDy88+dbtW1/BJ8NGbTbc68Bh+zzUjZYfPOz93e++1HJfeml+qcCGU3uJ2o5cOpS6HUZXsscneAUn+tATXESLpyikH7CDDrc8CLz5XCrgIy/FIyF4YMnjIR9Y6OmAXpAXoo9UnegkRD2/rXhwxPAnQz29BXaxG1w+tIHDAaOCE5/T7VlScGFTqWXQg68jSz3e5ONPt9TFVjTgUiH6mk/IFdV7xko4q5NDwQbDpN+hQdMf8Qlv6VNhe9YQfMXz9t42hdVcXjpVv+hQLMrsmtKNoQFJ9+wsHI8ePegrfo5Sh3f3rUrl+dPJ2vU6WWBq27vpeq1OFtjHTu0y/p4+w39ehDh78qCY1viqf4e3OUtO+7/4gTn9urAqlQbKetycxF2edwtc9f7ugT70nbQdWjjaYPR/8GBeRrt926+VaBdGWO3YWb9Ju327Dv29esvWJ1ec0k7Q3+azJ8o2hu3T/rWImZvBX6gXMF6tU313dyy8+gqfPKqP3XorWWj7Ft1LuwKWH8r20r42uDXPl350b3x6Vpj22POpx58cfg6efLdPAaTaw8bML5mgm9uxMzcQk1PnPMOYMsWq2Zv3+fl9WnQf4y+heddaSYebhUhjv9DQ8IKR5dnN05rDgq9vtm7FY7OmNyh9O7Ih017Bbx5lDxmCsrjnZ+lvG/XxYto2FYKx2DqXwuj52N7Gxil8/LSn/EVdaGobw8bI2R/16V7YG99rOuv2LD08I8Uevz9x8tx2ocTXVdf93DN59fvG3qT17bx361t5D87qGd76RuX15z52cnHr5ZMHF7cKXmy3z6qcNsOax6r3s+l66dRv6W7PaHpWz0VRvxVd3669qA8skqXNx6bxkTu52pwv9IzzeuPX84Hm/SIr3fXNGqt1wt3f7j31DLI+UXTVlnWtUxrM2OguOC4vnAn9tm6N0Q69c94qPuLkA2/0ol8m6qSM50BlqdAdtdJx7HS81K318sFBI6546oXAyZCXZrIM3YqXvBQ/ODOYR781H9xjuXBEAyC2rbDk8U6ILcrRMXXRXRmecmCxSTk8wjcLcj5Pk3q4CWD9EeAAKkUvqhMib6ULTmQ1Yv1Bk4kRvvx8PHL0g8/+4zS4kcl34Y2HTVlO9WxcnAbYMK86RYfj1OmBtyFffuXF3vSQYQIX8M4GwxAVIhdvuK7swOBJwUT5bErl+TtBGT295QU0CYEdw1OOjOM09IErs0GZXwW808ekFoT4vBE2nOCuvNZ8cNdUfYJ8ZIUu7QGeGPw1fa86eKmXhmfo58JxxYlO+0I1uODle/+3NgjfndfT/NWtdgb3F0096G2ljg7hHxnHOsWv8NSlXePj0Es1ecN764bA2Gawvpt+NxsV+JaYCRveVvqgSfTcU3oNVxf34Ma0RzU8azsn6vO2f+xd7Vv1cevXmE8/x0uAL7iAEEJ/VdoIP+cPOrzDV7r2vdT/HDYH+qfxZj4BX3mZN2a8jl3qp81r42EO0nkqxO7ka4Qd9FWX2Mj1JzJCr5xwVX6FwYs8GnS55OlSfdHTW7axR7v4hI+L+htVbxZCOzbYVr3/QIddy6FruwrYdV2pP5fPaoN3XlcFzmFM5/Vuz8m9utC/f/7OyZ2Hddfsdh0mXX+uHq2oz3FtV2r9KZW2w3yJf8mrDWCp27GEjND661SPMrtf1CFiUdnlwrBA3UL6SvGYF9/wLF/1Lm5vF3Y0d7vV5lNJhYZNdvtbHOlzRc0ltA+5sK9evyDjOMqg6U5Rfqpshf7TsJV1O2RzOFp0UnAh9YFnIjzmseKFNvQzsGYCymBecYK3piv/Z+XxEE1qCQYy2CpTXeTFjqSxJ/WhV+aHTHjhscLQxlfwmna78l7tDC+4x8/pRC7+Xb+1G3jo1CXAEZIWUufJpoNy6g84BaAPfnQO71XH+GMWrzoZqMneqZ4XLSwWvoRvMcvC30Ku+GOT57ahj7h6MYZeFgdyweXJ38NuJ33h2+RlU8cmMTrH54GFD/2btp4xXO1Wf1wODfhxxGOFwSU7/lOmw9rnVt1Mwit98uhXHitfeXVwhdAkbeAGT/5Z6THNindsh3ICm+LbwCa9PDXSs0NvcvZxVblLZOG9ppEPMbZeItrglyVextj2U5eBS2ntF5GdajLZmKAcnMCnj08bru0FT4zeScNLGljSte4/ml95XJWPPtE//Onvoswpngs0YzenxnwTXlJx3KFNa72okxuPwXiO16dm5lnBWWxDFx/scoePrhSc8E45uklDFz7B4eu1/6U+NME77mfqV3lrPnXSBOMb77R3UXc+8uvO6UFHOAd9nbJVqBkqrC6l0XfXc/dH05WvnxUio/E2pPCpXneJ7NAnDzZMv/RGutDrS2+0LtPNZqf6b2+V4GkwkZ5af9tUMbMAN/rixWl0+avWtDO3bQvdRs4pe71zeXJeb9u+c3b/5NHFw5MXi8et5+sRKQwr9E+kFZ+1PWgUn26ia8NGo4MqSC/RHMobX/z4IHy9aV3aFqwbrtuLP9fYTJtvcr/69Ope9AvoxRkGdmI6djpQHB6HuMUQ5wUnde8lHk6CfGjDa60jk14JK21goUsKLh/c6A0OJoKJwjrRN2D7g4cQvuksW/WBVyYCfOGseJEFRo5gwSc7fJ0qJUQ/5eT7IfKiV45OwVcGF8KvMl0mDyz2hV5tcOnlRHEN0V8qrBuU4KEX8PQxTBstmzK/OOAnjiwY3qrNghG6q1IfvPW27nPP+8H1ugVUCwef5CQveuztuPef8Is9KUvZrW2kbMhGEC6eu53j18DRsmuNYAmRFb2etdELPbq0Nxj6NdBPkIb3mqafoiUzPKL/Mb+VNjSRpyysOB59UI49wX1WGh5SMfqt+KmTHpm7onV+1SV0KtY8nDWs5TW/4rzffOjJOw4rDN4x7rTr5Y0gnPfSnYzwGXk732P5T+NegVFqX+Z3uZz+FVvSzuk/6h88uF8XZvdO7r1bP3dXPz2WoO54/IeP27huhxmvxr4xi2f6enSP/PAs7do/ynjNs1b7uIj/ksLBM3LDN+Xgrekui4y9BCcxfkh5TXeKeURitYn+weUb7NUnrPngSembCBdsTbuwwFMX2tRLY/sKS/4qfHXg3T7uvW5h5dOP1aViSYMT+qWq9ehHp9zS98hBfQPvWn02pZ58LZ/Uhtgmr8oXF/pGld2mrQ8kXz99oTZ29WKf5wBq0+WNW88EXOBTsZgNbBFGfnQoSzof2KBNQ89J+e5bG9kV75BvfrV96scQdkHq3zvw374neW/cD6/2A2/09oY06GbB0SECj6q7g8pQD2BuV+jPckzopcc4YKkPf+UM6LV+pQ1NUrTrm3QHHQsuH574iuvgTt5EFLzQrPzVww3vNSXfQp/BrQ6+VIg96LMhkO8JYvPLMg8dZASfHr7aLo3c6LbKICvlfOsLDO5qX9MWLCF81/IKo0dub8aWpMHLpsxGyjN+Pn7s1o9n/Py6wM8LJaJw63dXv//WySc+/nqfDlg4BDL4LbJW2VXbOGD0tOisfkVHN5EuNo5wldNG+CaPx+pjdUJkykcPeSE+T34thz78m6D+kCOA03ediEKfFI/+7dJKve1Io7RvcObEt2uab1lhGmz31NRYcnLraV8svYlNPl3qs1YHuzGI3knJSQSTT10LrD/RZcr7RLnS9QM8EObe0oGHiT14hs3Oi03miZGPdK9ToqtlYpc30KO/2LxHKAmXalfbIi/6BVF59cVxfXhI57mw3a8rj8nv9qXuF03TtyIfH+2svMJi18jxKyL3+zeujZOxhd4z7nZam7iywx2I8rox6iTP7wwba+QIs+BPPmXpsXx89InR5dk+GPnT1vgkaHtRuGzPwPw9lgk29o280A1M3x794SUEn2/DT5umX87twGBfTtHaEI8Nl9tgx4wPBkKHPTCQrgOJ/LXsFDVhr0cwROavCWOz+SL60K9mT6Nsd+Zy23Lo0Nc8qbDoUR6oybFo65yg1+Dic90pXr14UQ+k1HxVc0v9DvX9mmAee8mifurs9NaLJ7ef+/jJjedeLbw79esYJb+eY31SEb9m3+M9Fww1k+lvxcusSXfPQnbcnNAnfZVvi+sPPZXYJqT9urD86ecx2Vp4hzm4uWStXZB/DbIf4kZvnKNDxzlZRNmZScSCEyeuHSaw+ETd3skGCiedMbQGDDyLXqK66HDMF6fwkF/xjnGV8TQJkRF9wGMPHsJKu+azIK6w0IZP6lJWHxvwNhGKxwH+w+WtS2XyMmnicf/B/qZf+K+8S1CzjU5lyCWfRJfQ4BE+6gxSdfGPVFmQ2hiFNv5LCp5NGXx8Tf42e/lVAZu49wr84lTPLSOngC++9PzhVzhsHvmCHLpGt0l3PdXFJu2dPFr81/rA8MTfiULw4SWoF9QJyokNWGDKdLoKN20ZmugSfDwjf6WPrfCDi0fo4a608kJ4HNerW/HxEekXmuCs8sAS4CUGttIPn30hgVNuOfBvHTd/ht7GdQ3hDzc2qQ98xY09K+w4v/I4rkt5lTU2TM1VMlPPd8N77x/hl3ToU3p63tqkHPyzY+65yNshR7lq9uAkDcZq++iyz3va2MPo9959p9+yNf4ePHi3+4Qxo97F0R6mf5W0nhOMc6d5LrBWufL6BNnyHr2I7Etp+a83Kf1M1G5D5EX30AR+nKpfQ+Qm9fLJMU54Br6WAwvP1IUf+KpbfvJrxZcPn6SBrbRg/Sb2gh886XFYeanrcvZxW7k3bUeEQ7dtfLa66HGE+lQxeE/Jhlmyb1Zb1y6u+k29Weu2bW3Kzp7UlyzE2qS9+6D6Wb0IdsOp7+2XT04rntyoX5SpZ+gePap5vQ75zBE2zzS0pXPo6HrQy0NZN7uu+kzmrMwao5e+OXNTUVV+QnSODdL+p29uOPrq9Qsf9a6xsVxUhsfVKafvG+yrcT5c6NO7h/8g//n+0riNYxLDps6UNlg1Au/ULl7gNJOBNDRSsLW+C0d/2uEH+tmMZZMXeryyGIXfygaPq+ArTurxzAYAXyH8LfZC+MmrS1wXshUnumXCV3cVzEYp8NjWnas6bU+IrmyXEBlJ0UZnaIHLg/skAxxBXbVI5/MntHDUqyXXABK7Scs/sRcd3OgYeepXGFvU3ahXmep9pn6rko/Z61MrflPUJP/Nb34TywoZmlPKXzyo7zkh3zXsB7vrrWEfsy6JhTa6RSdyE4d25xv98FZHfgK9BDiXfFLdNWX1a16Zj/CKTDDlBHqhSUw9HDF+D/4x/+gTPpEVPuojLzLgJgS28k1eGtrICX7owYXgBj9p8Faeaz667LDLGz2qDq8NXg9CK8eFxxu9+IFceBmfypGROqkLlfcKxwvxVbgrX/XKgdFn9I3e0/bBcaE69g3n5ENPvcAie6+j++gf2IobWOjeK4W74oePVFTHltUe49Wp+89+9tPe5IW/NcEie1VAb3P30ksv1wXZx4vv+Ce4x3r0W9ZVWdpd/teLiYr3bj/9k0zjbw2BxebYCGfNpyyNbmv6NHz8VVxatfURJbjC0I/q+T4h9chNiF5zkl3wK/pJ9HiKZpMBvtp94LnUZ6MIV6hW7jTtl/EN2Pptesrj7XS/ZqmK0X38XB5vWHyZUy985vMt0+9v1S9TXPP7tbVxu6i9wVnF+vGTOiWuk+LaZNeKUGuEjyPXfF6/gFGX1kVfbW5z6FcwfLC9TvR8o7Lu6Ra85tOa9/WWyCbTOPe7uu5wSGEIjWOTqP/r5/I1x3j2mc95w4sY8OqvTEf26nrdv0p36bXSvbpa88L71yl8CBs9Drg6tBO3qnQy6ThtnJf8s+oDP5aAbuJ05mz0wNAYyGLkhc8qb+cxNHCCt8oLXgYNvuFzvJAc84ArhIc0ONEvsgJXjh458Yps9OhsPESdGky9yA/SyIuuykJS+ZbhDSI9tgI6ueAE3pX1R1mHFm1gyF+f0VNPnnp1Up8lCTz8opuUvvBKaOfRs9mLGZc3etHicoqeLtrB73B6Xs8HmJ0YkGehlibiH19JyY7P4CjTCz9RHZr2ddUL8Q/4WU1GymivCnCCL13z8MmLbuERPGnqVt7gsSEnIuTABRekoU0KvubDP/C1DCbggzc9oyu8+AwsIfJXGeqUwzt1eOINfjlc9lH4Z0MEPzSdFu/wlOIrCuozPtV9FCF8k5IhnxiZ0Xmtl/cNP7jqE495wVvplcOf+67Cv4oG7D8a0p9Ct+qqzkmeMb7rp033Ph/doq8F31hyQWaMPnw8L0uhD05SMP07YZcxkKGZfOQc4+g/xzagAAvNcNj/gh/z2Wsnt+p4VR3Y6Pd0Xwit1DiCl/6NLvKTTv3lPpC69GrlhDUfO1aY/KH8DFtTv46l4T/9lP9EG73SbBM9c0/0SBpe0vGJOXZwfY7N9/K8fPG4nsc7q01cvXNx8rDGxcN68/b67RfrVm2d5D33UqHVSV5tpnzu5dadWyc365cxzohnT5369UfJawM4YW9DmzrbP/LFniN6pVufIaePwYR6fDnP6w238WPVG3BbAGte1d/Du3pWqpc0sJ12Xr3d22xB/kiy8covzNxAYrBoAFt0DWIdeH73dZ/ECIlDpMKj+i3D09OitxnfYByNLyeaqLnnrFoXzy6XrPDJ983wslMvTt0BH9f3mx4VXjZKwe9bjZAFjd4ddYoD2jsDmjybJWUjvcILft/v33QFT+gOUPqfVp0Ny2FiKR69+FTqG0rhCz++ZCde/CnPp6IADlfAV+eGI8BhL1n8oj480cHLAE2bKQsp10XMJft8MoEeJlxy01WjA3oyyCWfHLzIYhvaVab6RHLR4OU7Y0/qW2lFWfxO++fknOx997vf7VuybuH6nhU92OWzDq1PKcSfePpIqROGr371qw37/Oc/388EkQOXLLqhFyIbT/ryGV7gYOwaGaVX0Y2MWcTgiU4c2Ciqxwdu5OEJjmfkwxH5hRwhvKXg4Q8vvPBVJyUPHL1y6sCuwicDHH+48sYpOQl4C+qTko8m+oHDiw3xYfiqlw+cr+GvPMhOiHyi5c/P9en9YoGc2Icmug0/5bo9U1f01VgtY3D2ifXFF+aDzHQQ0Us7VF6fi1/wTFhhkR8bpOEV/KTBVZbnB/j6UkJ0kKbvRSe48Y/6LDbyQtLw4p+CprilyhNX/OgPSX7SvS34En6iev1s2oXPjAd9/Lyeo32n5/f+iPy2uOGJVj32mtnpDdvBhBdrTH/uc5+rU/tX+tnX/EQZOj4Q8eE30fcTA4eTdpEXYkcXtvIKG/9M3w9OZMBjmzR85cNbmnG94oDjIdBRABPhJQ7PVV6LFAAAQABJREFUGY+ppw9a84L50U9w5VQZXXj5GgEa36Vr2XXnY55fTHtNOqen4wv4oQ+v6NcV9Sc40Z9suIGXR4N6gLUem94ubAVtKvoOZetX6kjBzOEXtUmDuZ+4u7BDWfzLNhv+6zWf+47kk9q8PXlUP5VZjxm9c79+M/msntPzE2f1W7avvPaZ2vDV4zlF63m+G7fmZ8+uoev+WjLro/49H9ZczC7RKRxLjK/e5BUgJ3mpo29/N7M2l6VO4zdu5U6r87ZfSm76iLFou3B6k+31XGnlG7/oxx8ON6ZfaIpujt2djL8cPCDYUi+DP4rSh7LRoxinJGbQcL7vuIEHptOIGqM7Vz1jkcEI79ABy9FoOFlIZ4MrH1ldecUf9e8nHOMd881AoUsC+SJdU68uNgUXr9gjrzNIo7/Ul/mla4DDd9m0hR96+fDlG3cwIheP1OEpwl/zkROZju5Dj9bGNzLCK+Xmtclgd9u+6Y5fBkT0UA+Oz7NiaOIbMkQTPJovfvGL3T++9a1/L/42d/NR6t0ONqc0vjCJWoBs+n7jNz/T9uk36WfRi90mgrQRueqyeeqJuJjHV+qjJzx00TM44IIyecGPhvEHXpELlsjmhOgjFeGgCY+Vd+BJ4Qj6UGThHR5pDzwS4AUOBjcwfPkjAR5aOKKysKZoxTWkHD3iL1NmfAo/tOGfNLwiJ1+4Tzn18AWpOhFPdkSH4KZ+5RFY6IMbPVJfjLsq8sDXfMpru4AJqevCM/6EV1Joax6P8AsL9WsMfE3DI5uMlI95rfMteuPVSxfG11zIr1yfzq/9y5zmFM/4Ou475GoX8vjKBYKyX86JLSv3Xc/Lc+eKI492x919F3vJWOvRKAdmcU8ZbvADCx46YYXLw0/bS8X4dCh2HaNT4NJV3po3XoT4JnYmVUf+Wh98qRBdp5S/l/vvSi8vJJWfCxH9baPbnpmcusxlm49rg9d6N7jwywY/gfmwLgJ8Y/t+vVxxdq02Zre8ePHKybV6+eKsnt07qw1crYh1GFS3ec2vtUb1Brno/eSg0L8IU7Kjb2nW9hVmZWvMb/5i8yEc2lYbl2Y1FabNirrzLA7N+OtAPX5Y+e1Vnbtc9d799Ij0Qy9+4I3eqlF36NrNc+yNagwfNXxUW3EdNFFDTEfX6Wvh2o5w03kyKPDlWGWpevnUg6XjR4fgJQ38g6QmJyH6RQ+w2JT647qUpSY2vOTXkAkPjN6x16JnkTap8peANjaDmQxv+sr3xhOtIFUv+lki9cEJj0O52ib1ePsaO9lg+MiL9KSfIB94ITZeZMJRH9+A4xVaaeqk6lJOnfTxtXrLtSaG3/qt3+oFxffy7t17t2W1EvUHb8Eks6lWsJP+cKvfIhY860fXa6XTw/r0g6tNC03LqI2LOouXQG91azuRERviE/pG1xvl39SDx098b2OkfBxCC77yD174H/tGWVjh9McjcLxFIfmUoz/dUpe2Cu/IVg/GF9ExctSFbpWTvDR86Bfeqx58Du7WZXihiayp258fBQ8faXh5IWB0JfVygIfnpPw2Pqm/B1755Y3LlJdL9BsZczET+eB5hi/1KNd8bAKP/+TBxeOAViBDrNyh3JmtLvnwCB14aId+MJNPXfA8kwSGPnonhaOvkKEdBd/Ls8EzHn/69k+rDtSfmaOU1uCXCLS1fvTyy34Bo37q8I7Tb6dhNSbr1m18MXL3zR5/Xb9V7dfPe8060Os2ob1pYOv0/VXmmsdTuMp+8PhPPgFNYpoIHljS1M8zdEW56RN4UvaTfX4+dwBcrPLpqg/clOU71Boqm1+gAI/s6CnN1yvQhwd4+ASe8RO4NPngDz1/6nPTN+k9PMaH4YfGOPI8W9MVydCP7D41KxkzN1daG7U2yGdQul+XP+s23v36vNbD+uWL+w/9nGPh1HN4t+qt2pv1du312y+c3K9fR7moZ/guasN3vU7x6oG9kllzXkl396nbj+/NgRxWvG/wVemmrn8hw+lh6actacLDrLtWDGpkTxmvhg9t/IMHfR2+ob0qBFf16tOrcH9VsA+80WsnlGN1JDGdmMFZhNJBwdIZqkXGKfUgY5yjTkynjFNSn/J7pcFN+l646nZ9rsbMQhfdQhM9lSOrO93Ghg2BA1kUsoGIr9SHb3dKPXEL6sR0NH4V8IlfpamPHfBEk6v0Vl0NqYsukZmUTgnRMfxtVOTBQx+700bqhMgIHph8fBJ4YOiie2DKK778o4dP+kPIvq33b//2b7XZ8wkH3PdAdv3fdLQYn/dixH403uL1hh85vvO1yokdYNExtqzthVdw5YPrgiZh5Rub8BKShk6aiE5Qjq/HptlYpK6Rtj+ppyN9BLBj/upW2ZEl1bZrHR7ogyMPB4/E4KT9lOHDjX/AEq6SgReaFT88on/0Ri8EX361Ezywzmx/woeM4Kz1ockvo8ATQkeGiJatIp3ghSfd/GSXEJ2kQvissgNTD668iT3ggwUvvJKiW/PKwU1+rV/r1Cccw9fymg++ix+2Oik3Dm3ypFcHg3N8oD5t7ZdvPHfrW5dkuNOTFy3ggY3svf+Bx57U76kNoH4J6xcL4UXGsZy0z3qiN/qtuk47tvRnbPTCR58xJ68bveF3NJkVs1VO5oPomrpji1cb1AVPmj4bnJXXk+WUXn0uXLKB1n5CTuzCo4HW8Iy/sk9dQl5CKU1KF0dlNU7LRzWiKrXZq75R6eM6xaspvmM9aFX7uJdqc18vXtRp3kndujW+zmsNK2CNGZvFGofdv4qBW6bVL9kTveSzyXOrlv9J7Zcs9LHWp3y+qdonkrWpLgGb6ipEMGtUlUrvucs6m2/1bevTTdc8bH73sOYLStbWV3acjz73gTd6BxUZ0A6rpBxqYlg3EfCmI5g8Nf62Aak3LgWdUb2Gkc+kCpaOCU8+IXWBH5dX3NAcp2StIbLoISjL4y0eB/TqDUhBOTzZwA/HPOGiUZeBpBw+4eHEDm5kxz4w35xrmdVp4Gdjh198R5+rdF7hdAhf+egWWPSSgl1s9pEB5hnElQZvgc3wU6ec0HQlizx5+sOVb5sKUar/nNeX0D3Tg97tIhs9zVCoRReO7NRONqSuQGvieOg5vHdOvv71rzcvi4xn/pxI8FW/WVVMLF5C/ECXbHDJj37xKz0FcDq5dYtWHkyILesmrCvqD7w10gWdyObYH3nKkYVv4kEefY5i8yerYv+GZvG42PhHx/g3J8ZpgwPfoiUrPNzi09ZgQmxwApw8nYWk8sGXTwj+2Dwv7dAHnB7SnISYK8bm8fnwGx/ih8fU7+Mz/KXat5KDjtFh+DiR2/hvFWgE9Ra99n3JsKBp3es6XetX7VI6V2dqfHRoVvrwAUs7BhadtVJopGkfeAOf+tF3YMnDWcNV8MAiY+WPdn4EfuVyOQ/fRk/IIxFewPDMdGlW0OkP5ZnKZ0DucCe2z9fHzF999eX6IPpLxcsJtGcxPf/HNj7b53jP4ZLJX+JsKPl2bFc3Nuj38V10oOXlwO74YFKy4tur08iQegYuvls54wU+ukx/US5IwztPUAW4+rVx4QSaz1L/rLeOU59xkXIzXP7kRI1/ypqWBbdLlZLt8R4bHXfQ4Ewd20uTert1/LLpWfjK5lNh8uhmbmvgBpeft1NHRlphE6+2ZFTsFwbR11pTmzM/b/a4dDFd3HtQL13U9/LOzmseqY1d/ZhtbeTqudp6Lu+8ntvzKZVrN5zm1RxbvyvuRK+MKb9Xufj2c/kl2MaU3eap3uBV6vdvPb47mpfPN32n31Zh84XccZgTvKJt5xX/0rsddujvQ9F9t/h0+2ypGj4g79clfGgbvQxMqYUvmzwdXEiHmQ65m++Hi9UZBFIhkz2YhfA4hFc3bA3G447dTufp9xHgRu7KJ6RrXfgGBid5dZkgVlv4A07kBE9qAn3kduJmN7/BZ7/IdjB8wfFNVObj0xoEYDaFs6iN3erJEBNSXmHq8AdDk7xy8lKRnrazax0aITzhiPSXxib0Arh8675tkNjZvDed5QU8P/axO72pxcd38jx358UMKEzbUJse3TwsTod5nsgt3LfeeqtPBZ0q2CDzk9MAPPku9qC3yQOLjskHh/7y7BYf3L9866kVrz+xAb2AJmnyyiu/tDVaUZ0+Qhc08Z06ZXC+AxefFeCKaYvks4DTUVx5RIfISjuTEd2keOKXAJYQ/cBEeGBi2t80HPrVDjjgocNzzasT03ciI7KT0hte+IVP8NWd1De7wjt4DS/klNGB4QeWVD4BDyG8jvNwVxz5nCiGJvz4gjwL5RpW+sCja8pJw1M5OMNz74vn27OwoVnxQqdvuEDybUsXWw8f1ea5/uk/6y9haMt9szccbez84o034Y290qQrxs7YOG0JJvJt+qr0qn4x3LUPfsMzsOOUH+K3tS62xufK8mu6NenWFqNn6KRrHm9+uUw/45gN0WHqM2/ufaLpN57pt6XRQXbqw2fK07ax8VifzD9w2Rba4B+nLm4G9rRP8V6h8CLPBkt5dCqswyYcTdlQK4cNnunwUf154kPINnr3a92vPYAPIvvFi5Mbz9flgsdF6k5F0dyuD2rXGxh1CFh9qzZ5JbHs2NZEn1ap8ZENLPv68ynVf9y+pZuNXvrHsf7R1UXcXGzsvp7PwYzP4JFbnim8KfXfthfg2XMvvKfCpRPEp2o/EsAH3ujpwIdOuTmXQzldTDAgZ9K6fELly98ZBOk46NNp1OETWOD4rvnICZ70/QR4K6585MkbKLElcHITj+nJDJ68iQoP+GwJPngv4vWMnc0FGn7MCxjZcFgQ4aGzmQMXlOHfuV2vnBcMf4ueCJ42saGJrujkyZIKmQhC08D6A4fsnCqqBzMRkE1/0QBXTsA3dsqja7yiFciL7uBwEslTl80L/JdfmVs9n/jEJ05+93d/t+v++Z//uT+l4uq/XNry4OLTV5A9kIYv33znO9/pN0zp/9prr3U+Gz2w+AAPOsWH9METjsCu4MZf3lwFF2IrG8DwQasshg/c2CwVUh+clSY88JSXBv9skRFezXDjSV/w4KMXo7/Fl54iXLzhS0V4oZEKa330lKYuMPgrrjL/ivgKD+rXyoNDBzLhuSUOByxh5Zv8kzMnt9q69K5/E7a5hs9LDNWoPpsC+mvLwvbdq9PqczVRhx/d5Pki9uJJR3D1QvBjBxichOTjg7UebehycgIGV7oGeieEp3LySVc6sMQVHj5J4aReelUejl+qyQWTt/ATeiwcbkPNBU3qknpkIrds2ad9bf4mP1jkstMpbllWurvAN9bG32haVtVGR3rBTXk4Pf1XPVw81gC+RvokBj74e5uscHkht+niS+CO1avgpE+Pvnu/mbsP00/VrfX00D/Q03v47R0BfMUfPS//jX6tY+ErB4anODyGf2k2DNqvOy84K+2GdZBfLdqkw7tk9BCocY+FP/3LG+YBOpv/a4NXz+0/qufy5lSv+sKt+mJD/bSZb+XdqA8iX7/t9u0rNRnXSXK9gHFRvjiv/UNpquNXrLaqO4I9hpy0CU75KvoAc/vOfFCxVp+p97eV2oty3tifNWPm+etV7n5Qeo/d21qpEdpHl5m03ZdBBz9flvSrLS1e+MUUyYSYjqNjrBHcBKtjc6Cwd7TLMqezlDuXTpmJF+yY72XqoUvHVCf/80J0Ch45YNGBrkJgUnyP4XACQ6uzwZWuesMTwNnmCkSAE1jKYD78azGG66rarTZy4Hasqxt4j+vyiDxRiGwbtdpydBkeuDTx0dm8MOAKqEbKoZPCY4fTr/DrRW6zTZ58t3IF/NYUbeRFl8iMb8ETYrs69q0TOx1sdvMGrlM9i4+ALn6PXyJbvQX9hz/8ceny9fal0wVv/tWNo5pcZjOLP3no2GVylsc73+PDC04mbvVtV9mQTbmyjTq69nvZsfog9oJFZ/irX+AceBef6AV2VXTrVDANaYHj1HcO+zmWqpO6levJ5Jv1YDNbo0d0OE77YqRo6LXqH7x8XqHYH3y22oB/InguXKT8dO3avGyUixU2gt++PZ+scZswIX5ZU/rRJTLgRld4+K74FiJrQ3m5LoGqF7gVtN32gZeLjdjA/7EVb7qpC0xZUE5Y8/jRDR+psOpDPy3XP6lUys0JX24XmjtnisYTnXCcB1vrlAWwwJXRRbekFsc1hKbp6oLprB6W9xu2P/7JD+vlix8fbGDtk7Jpfc5u5cPD5ek6zftYj7vbt5+rMVGvVhZcm3kJZuaW/USdX1df0fHOnbqdtwV19Iru0tW+4K1p6kO3luWnD06atg0uPtpDWOnWsp+YXMvJl+ebhs7RN3XTP/E01ve+BG/q9vG20rag/9Cf8Q+esRO5vijEn9NW039jZ2l3Se8mqD/WCZg1+9VJnP488xW6pu0N3WBc1DN4+pftVn0vpR+TsLlzkvfAd/LqJP2kTvKu3X6lv5N38/mX69t4tdm783K9kPFKHeS9ePJ2zfP9W7YlycbNnW+f0eKX9lf7sCorxHd9O7e07BcwSq+EsTClSTN+y0V1Ubit/VXwb3yxjbmN7GBneyG8irh84VQwodTqUC2wgZJW0cXR5rut8iNP3sdGbyanZ2myd5aZSFyJP6mf5XpYb9FYxF5++aV+CxKe0w8Tnw2LZ6hsADO4pHDELG4WIo0XuIbl6NAoBzf6TeOUH7eOBychHSF06fBw1YWWPDginUOnHk14KpvsTtFXVI6ueb7HQsiOmzW54ZMFrZD7DVcPJZMhpNPhw0/wbSzAbfZiNxlwyhOV2jB6WPpO11+7dq/9OzY8aXm9OSk56PEVtJHNCN14qCxuG3ozUHhsxOO1119vWWjYLsZGvGyEUoZDL7TBNanLg+sPZGaThpaN8ONTPPCFjw6+20X0dKr3hS++0YuOxefNN39UOutXs9g/fDi3Xec5IDZO3yXjRz/6ycn/+B//s/rd45M//dM/PXm97Hq3fr7JiRC/RAftA1+k7+3bt7oN6AOPTvrvvoGoyazmsbP6cicejx4/ODmtt8lu1GnjC/UGmWeM+jmf6ut3npvPSmgPuGzShjbv+OsH4Pwjjb/4BG42NZE/PMq/NQHWLFp6uHVRE0pFPxb++KzkmFC2h4PlfZZA9J3J+w/fPXnuzgv1FuSdekN+3vDG25TUE3rp2d/x4o+ynU8szo1T+tJH28c3/CMvgvMVGkGqXfVjdrbtheekaO8/LnZstmcssg8+PnyGBzqpOvCEW3Uyl/bptqlOfadsciFFH4Gci/KLsXlaM/GN+h4WnbJwwIm+TQFvszs8yBUbr/jqn4/Kz27/0E3IGKdP1xXe9fqMUl9MVX14SMnv36Pu9iu/V9v5/d7+bE/xrP+NTx/4gnz0qcfdDvmpnPEXGXRKvuu3P+jDgy18wxYibpYvvRFrE/LNb/5L//LFO++8XTiXT1ebb/WpvtgrftpVO3nA//kXXjz55KdeO/nUpz8746O64a36wK3+flEL4pNa6L1FeesWPcz97Ks/FZz+9AP8NSfRKbryZ2yRPivEruE1fRCtX1RIn8mJsQsf9qsX0eLtApFPbtbcigZMHXwpO8H1pdDBr8qya1+3+sTPuKsx6FeA0KaPzcfmqzVr4Z82RT52dV8t3nDRrHRj1+U5c/fH6AkHL6ep3Sal7/CcdeZJbeDBPdPc8qlR/67dmPkdv/rfp95k88f4bvQvjxW2+hpXdGwL+M/GWKk6bvXlx9XOnm97Uqez9+qbuffqJK+SEln9/lbN/3deqw5XP2tWH0S+8cKr9Vu2r9RpXt2+LZlP6o1sF2XdHtUnuo8oc1bxltLB9/ho4Nt3Nnk9tmuO4zvwsaXas7GLoAI126fVz7vM7xs/82k/e1gVF2W3YH0XunnAJlOnkM8V/+of9DXn1sb/rMrtr1KwmryCi0nsdw2avMqtCJSPOLyPjd57a5BOKzWpmLhm8pzJ42ZNpi/UR0sNXgNCmMlnJt7pIOUHvapCUo2QIL/Gq3CCKw2uPL2Cr5w8nO4IVR/8pPDkhQy4LtSf2Bv6HtwbHpzgqydLlGezlG+CY0FwqhRc9MGXFyysNgICushrmupw1DQAZhBOG9ggGMR4nZ7Ot9wq13LiD5Nqb8K2joxf/JGJi8zoox4cjhStKE+WEJzQSNXTmX4iHAuCBdwzc7FJHXxRAE/em3oCHLR3797tZ/XOz7968sO3ftKLQSNsf/z2rVCqtm9im0XDbdyvfe1rrZfnhh4/rlf8H9xrvfiNffwNlw6xd/hNX1ph2pON2pIflNm1LrDq0KgDj0+aT0145NAxGyd4bA1u/KgMjj7+Or1VG5XNv/g8rno/5I0Gz/5cTikvj85Vq/xFfaT85kXpXv+UG7f4axdyRDCbbCldxdThL8IPvTRBnjz1aUv0Aj/FZvVCeOCpLlFdYPwo8pO20hds+OP78InueARWVtpF1cJR/XeD9ze4tv4fvNjQbVP6C9E7NoPJC2ycJW+fM+Crl8au8EUTPtJr16q9tlM7OHN7uXQ9tdjsfSPy0IdXp9smHlxY8a4qN9L2By5fag8Rv/RnF0FOU/28mfHwpC4MEjTjKscmN32y+2f1HWP2lZc/1j5wqtM+tDLrIrWxCX1OLMNbutoH76oYfHKP67V7+OelHuX0B7pkLNpskbe2VWjJ+P+Zu88uzY7jTvBP+WoLgABJgA4ArdzhylDUSCuzo93Vh9Dn0wfQG2mPzhntrHbkRt7QGwEgQdiGa1PV5ff/i3ii6qJFnrNnQIqT3bfuvZmREZGRkZGR5ubTzu+VXVK+KsvwWXV41T9JW+IaPgenNPpZMNGcoCtHaNLN9EhTLnyJd/cuXhA31zKuabVejsNoFrXrt9tUspYcxtHbiiPL6Zj2Jv3R0PIMD9pOObHtNpxlls4gUjuqj5ocfFzel8FFZJpLU4tqxcZmgBwVOslhyBu7Geg5+Hj39up890OZubux2r9+KwPhOHuJT6+RgWgc0QzCjdXP00bSmrrMYW7Kjk+yFDh0nHBbwVwcLLI5O+4ZV44hGPfSr/e1G/ZXWw2tHNwvpBbyl15EIBzxJJJpsuce/FUV3a9x9LaSr9cIWn8bvlAlfzLx9C5n8qBuOrEga6Cf7O3H5ugpGKEz3NNhqRAK2sZ883ImpJU4R2cYrUWg0wBboa4aVQuLkLrS4BvFnjzzDmbg3cXP++AFIyzT8QKvuAmTz13DHvjJO+9LGpN3CTNxcLjGuAw9cTdu9h6poTO43fE2eTVWAU3xwmlaUcN0mmedHzonJ33y+tnZeqQahUV38IFVXycZhYgX0Bz6Y/DN3kifqwDzZ/LjC04yhk8+PI5z0/y1DAcneM9o4Xd4chfkmcuM2DiuaHCiPve5zxU/YP7ub/8hM3OWhPBft6T1HR+jJ2jhyXErAh394he/uNbNyHI9szeGA25l3s3+kZZP6x588A6vOzmV3fs45PLr5OQXZ9ay9HxdVulwuMDsZA8KWaCxTJM+8hqa4Od5+Ny71s6y38xsg94O/tSjDhp/8oqbELvWdW32cY0XTrBko16840tZhz9p+Jo4OPHkEsC5JvjSeeLkGVhxaKHzw9IHFi32Q70rnzqcgLb0wrnWYzwrz5KHgjeTGfitzCy4V3qEUHR0AOuwzFfwC7lJE4eee/7UvUftLU9oRtbKN6Hg8wLH8sppsHG+2zlYxuus5JnyJlcIDLamJX0zDqEgr4A3z+4CHryDHZjhZe4lv8DjmzzJ2YcXfpWGo4+Hq9nxpm3GQoBTPkE+OG03sRfW/jz0xQ0t9+Gj817NOE78wA+s+CnXEmbKVsQf+TN5RU8ez3ilI/TY/SR9EDxzgR16dEOZJkza4HBflm9wLPmf54Ej36EdbYyNyHmhkeXUAYdj8Mtj5cV9ZiDhG1h3ZRCmjAbwYLgq7myQctgbB35g81bP3X6SP/Yjf5Mtehd6QVjqtpcvptW/rDVbltletDiKmR4v3fWOopnaWaJNVOD8ckYcvKOzcvR8XXuxlVn23cdX+zdyIPL+zdXpRlaqct/L5SfNzPQR+UkOUT5K3o2896wXPQqRXFf7G1uvlDOpVd52cJW9ddKMetVLnCxyrRUNiBaOXsurxFE4POFfkLccvXpbR+a5yhw0ZEvWyo69ZXj0fZn2H/38gR29pZAonU6ZIuvcxkgx5gTPadBwKNcyH6EtL0KQPtekPRpPcasi1lIb+GUDlD4NFp4J4pd4pxHAIW1wDcwyXdoEZV6+oy0MDvkGh/hStnV+MDoxstIgwcEFZvCSF5lOg5bmUqbz9f46swKTF5z0OaBz4hkKvKiTVs420MP78ChtaMOjrgTpRVOLX7+Lu8LXdTZ53F0+FnCHU1nhUyaXMo8u4IM8BLB0Rrnhl3/yiIPn05/+dMnqzTfeWn3/+9/PEulB3vuXIODF5nRO+B7cnl988cU6agWen/3ZL5RjZoRl5kJe+itNGPmYaZlnvF3pQ88OqMMp8zgv8/NxaLvghUNesNVWcmSAvMon4G/okIMwdehdXnfw4Pz8T5etR5eDS5r4u3ffveRr6rDwMYwxj3V4bc0stBMGLx6m7drTqBxTPrSVAwxetOkJzUeXAQ3v4CcebnjlE0cG6l8cPO4jh0mDm+PMeRAsa5tpAqeu9vZ7T6SlamFo1Uv+4HtoVVx1QFf2xjFPRukT8C3gseQUOZLl1MnIde71cVKdC9Y45cW7gO7g8+55eXVcww8suQ7dJd9LPMNP8bTmd4kX78P/8DLpaE5+z+TjnS7OO/k6K4+zN/VViT/sT+jjeYK6cm6lJcNlO5n0ZTnEKePwOjDueJI26UND/mUa/ieAFaRPMADyvswzOimOfCYdbryMno6OS5c27+hoAy4z5oND3sGFvjxg0RMv0Pehb0lT+ixZF0D+DA5pc6HhefCMHOTx7JrneojTNnGN79G+J20wzoml0bbo76c7PNguwy7aA158x2Zod8dH4rIi5Yy7CnHi4qS6jAFMMCjfwcPYiFTRwxyGfLaZSYi9J7Lc+aHal7exbbY/dLPaFHcsmVKWOKSacs3kBe92HEu+w5RbYyUH2zvwQ+acPKW3hGwp+axm4dK/rQdy2Bv52YICV+8vbNlJfzQ0vdYbom1ZRl7lSKvn1kP1GS3ueoozebnP70oFH0X9U3mfWvofJj7KBAHhEKjCi3eJ866yVNDEj9LOGvjkB//oNTRUqkuDGxj5Jn1wwD2ND5x0cfIug7RH46QPPne8XyrJmv+BWcLBtYTzLoibzqsi8mdg4R45iBt88lwag7UM5Z180vq9HSazNgzayEWZGEANcuJSE1XWMWJw1UhygV8+PIz88IFHQbx3d/TLSYmh8z4yFA+vAFYYfZ94uKfc8k6Z3PE2PFTexKEDTr4yrKGhTDoUM3vvvO10/s3VV7/69eS96tiHJ2meXegyTvC98MILRc+m/y984Qt1/IrZC52cDsp+OnQ4IHC48OiaWT54xpHAm9k7NDiJZC8PmbimTocv5VKG3bWjBw96rpGPfGQiToBj8nsefsCDFcZZGriz9YweWHGDD29wDB4dll9Rka5c4u3T2o8j5QiNo/xU0anfMI0RhSvdXq7zchSX9SNtnAM05IXLcy1LRS2c6cVxZqyNluUnP3mVY3hz18mIHz6VleyW7/t7jaPKFv4FeeRndy7pJ/5sMzJepfPPcotS7OWr9WhX5cEHGbkirYpLjxAcqf9cQiba+h7c8NsHuY66rBu0Bfhcl8+hNP+mYZxGnvC4hn5lWP/B+6MB/strnTi0BocyeJZ/0pZ4Jj+ZzVYDDv0777y1evPNN+vAcWnDFxxC0IZ2P1/iW6ddy6yrva9+jYZuy6M+h/7gmHwjp+Fl0ucd3NB/NG5k5i4s05fP3Bjv5DC6NTi1q5Ev2mQmTrlLlxbpaAyMZ3Aue1vhQ2MZwLqGpmdw3oXJ71lWVy/biyHfvqZd4HP4BiEUTV5VcLvQkM+/WRrcS7sqWtH7Sl+3N233PLpnD646jbZQ9RiZyDPMmNVDb5x1v+GKF0D2pXO4auYv9PUteam7vZdHOf/OTJ5Zv4fHmWi5SD8RO7edr2l3ysm7nXZo7210I3tXz/OzZ1rRWX4Fw/62sywBK8lm9p3vZJnXntVL+Ub38EUertMszVa5Eu9uCVnwt2bZlGV9yZf/QVyJBd9pigyupZfUy0AnKpRsu47g6a914x/EhjmLcpcti3O7kyXcxHSWSyz//kH5hIbs55/k3x+7o1dCWCvzCJYQVQpFmU5s4s4iQHCCeytrC17cvM8zpZV37lMRSziwQlfeVUVPnDt4F5gJnpvnVnLvGuYolffJA048+uLnWjZssFNeNMCLk2fwcgimY4QDjLsAVvo8oyntUk6ZhXqYna3ykwfjBLf3o6OH5YTAIc3MgzSXcPn8Q2jKj4Yw9IYv8cO7OJ3EBDjRcklzKb8gDd6JowuPlgctMGCVhfPD0LiPLN29w2PW4Jd+6ZcKnpPm93AtUWiuRBjQS1niAX74yBT8N77xjThlPQNtmcnslfSCjRFEp56TT955Rts7PsHgVeDgyT9lk45fF3j5yEa5wZTDsj4Tikyn7GBH/iMLd/HTAS1xwuuauqn6XtO2B1QAD4c0z8Lgk3fa5sDBpe7wtNTpypg/4OCSz31wwDlp4uRf0pxyzd0MnWcX2Q19eVziydgMkyAODU412hxBd3Fonazpe3epEzg8w01+9czhS6ewdy0dSToZcUMTDFiBzIa/isgfsBNn47ZyigMrn7SRtTzilpc48H1v3fAOZinrgSnA9R9xy2u+epc8NKTjwfvcJ9198LqTOT3Er7pw5qRrZmrlF8gGPmF9q+f5sx85m8l75plnqh3Brd6G1sC5L+PmGZ15dp9rZPpoPrzgaeyL9OFv+UyecKmjpS2edmRfl3xTX+I9C5NPuguOkYc0cMOf98kzz97Rl1ecvHBc5suQg3M38dwtXoj3udTNEt/gGnzn6w/Oho/L2cHQA4O+MOnu5KacPh7IKcThr3kvwPUfdOJxlU5oY/ZSNi8tr8a9/p3wbP84zeydX7g4zAHMhydm29Me47htbuWEg5yPt5Nfu9jcz1J+vrC9yMHIWafKtbG67gMdX77nCrk4kT3E2swvYfgyeydbZ9ByXYY4deRoxs4MIm9JLg4WuQ1883g1cOSc1hVEyjeyvMSbhys63R4HDm4DHHQNUPfy7UHt/4w8OXpFN3ZkM3al6QdXRDhse/5phg/s6A3zSwG3MFrBjzLFS7GMrCnddAzygRtD5XnClbB7hmLip2Im3X0UeCpkYN3FjaJ7n3yTNunip2FNOQZe2vIaOHjxrHOR7p0hcXlXZhf+Rh7yTryGBpZxFcCQTXX+5BLewSzL5Xka6uB2b/oaYNOdr+Pw5Ktep7GflwPUhgcf3dDT1NYNA+zQREM6vGClTbnFLdPxPul40UHAowNRPiNGZRvZuHuHRxg5iBPgXl7T+S/5mY5dno9//OOFC82//Mu/XL300vcLj6VqcQLePeNPwMM4IM7kE6Q7p8+eMrR89biXjcGXv3wRxw9f+JbfHT6OrjJLE49f9AYObunoiQcjzF0+5XBNHciLH3zALy+4KQO44YUsJsg39SQOvJE9PsFPnoGXPo4WvYMLzOg0HuEbZ94zOGEcXDg8L+lKxws+Z2aneFnHSx9+xLuUHw4Bv+LcOWrDkzgwo2+Td1mu+UkkceRnRgMvLnGT39lc2zHQwqRLQ3Pe3Ycvz0NveR98k3fwoTX0lvBFcEGTjCd90iavuyBdWPI1zydn+Uo6vE2Y+Eff4XgUDoxO6/DwQS3T+lDJbJ6ZvaE9dTH43Jc0fEiiDGbyPvGJT9SX8WRB9vRpeJdvycMVjq4D6T8soC/AKc/gc5/nH5ZvympWepkfnnkfHMqKzpRVXjomeB5ZjN4NbvmV0zs9cXcNjaZzVe6lLnle4qvBRmyM+zI4QQAdPLjakVOXdKLpsvu273T6OvdaJQxqlQufVd44ZAPnnaOZ3iZpkW2y6juKXt5Pk26ApX3vZmbNF8g+vDjIiRmH2VuoT79wsHGcMw7eUWbwDrIP7zgnEJwkPuuzWabNXrw4eltx8Pys2UXOy1ttxbnLjB7dM6NXvzDjg6SoezgJF6nrOHrbO7E1nMDItC4A8QYtz0Yi2d4a/iOuiK2cLSWfOnAXtrNKUbqTaiezFKnlkAflHLgCzh+4KtQ9OKIvBYfGWqY9W4qnHtBtYigzm+PMlUMYJFfwiK7x/pRuH9jRG0GNgJWDYEeJHz48KCVLbAmVgo/SDezknftSFtOQlnGtoN1gPbumIQw/4MWjJyxxL/NM45t7KcW6hsDp9Cb/pME1ZZw0+Rk8lyDvNDAGjzzA4FM8HMrmmAvxYHSiHAVB4wIHn3h3OOXrhtrlZrfqNwBrNNFKKR1c4clxH+gMTXxM+ScO/UfjR546eWmuJW3pZGO0h2fpePYuTJmP4uTgfWa70EIXrPzDyzgQ5DrlRA9e8MPPyEmcct0If5/5zGeKNz+2znFxh6fz9azq8CsOLXh6Zu/+6itf+UrBK6u9f2DRtS9seLBkiZ4wdex9HBHlkWfqWD5ymXpDd+pZmoCOrQsjf/mVXYDbNbKVXz558A5OPvTJcWQJB5rSCo8v14JHfkE82QhwDdzEwwNemmvKR2Yu/OBDecFxYse5n7IW8vwZHUAb7AS8Dx2zqN7nAqMMow/e5ccLvkc/0OeQeB/cIxNlGfy7kcUE6RPk08U9DJ4tHWzKJB2tkRUYfCzrS9rwWvjY++QFO2FwTfz74AM08e54HZreXYIyuZR74sQPTPFfHdf7O6ziCWDCMp/3SVvGo629cPJ8fKH9TDrayzDx7vOszrUbs+s+wPAMB1pkNysS8Ewez80/mTeuZZr0kdnQmvSJx5tLPS9hHn1eDviW5R+9N9EgHq5Jn7aAR3omwOtdeT2DJ7sl/SnT3Dtjy3D4HlxoiKPr4F3DExjnxUlHa/IOTe8d6HDri3ew+XtZDnHa5uisbRJNi20gdy5e21s4Gy5lyyzhWbYkpIhZGo2tzgzdxXnOcd0n89PV/QdHq4PDh2k3sQX5Mvw4M3eHRxk0+rUL5+XFSdvYilO3mWVts3jOytvJe5ZiT+2JNVuXLRO2i5Af59ExSI4oqa0h4WnT3uM4gXjGKy+KruRPyZ7jpPRWTEsa+TOyUu6RkT1+Qsum40ee7h3f8lw+V6b8mXq64GDGoSMjvGykgrZS7vp4Nsu1jZONvWqvVzUz2H569w/s6FEcwVKK0bupe5U3BtIRFoRgSY1ST+cXaZXSHeTnrAjPdRrlAjtK7+74iBZiV8Z2Zmo2fRmUuzxb64a+FKEKmwsMPNMJeddgpjEzpniVjj+0pLsEndUywDt5wXoHC49yD56BYyimU+Q4oCVIr/KFJp4YR3A6Vhc844xorDo1dMXJO3gZBEeowIWPKR8NLCXNSEuYcnkWD788QVZ58D5paICZMoAVxmhIl1eZyWxoymMJ1F289MEDphr1WrbSxG35qiqNWae7k4btJ90G7jhrAWfX0sAzCpWOJvhtU/r51PFit50dfD7//POr3/u936ty/umf/mk6mJMsITnDsZew5SVXNKfzwZt3v87wla98LU7q0eo3f/M3V7/6q79av81J5sqq/GDxxZE9PFh/sJEz6I6OD0v3zQSqW3JWN/JoE97JRAeozHglG/jwdLUhu/VOungw7t7BTvCMp6nPhzkLD9z1G31kjXRlogvynj3IYCGzGttb7aiex2CRJl5dcOG36iJ58Y321AEcYAT8jx6iL5CpcqLnkleHD5asfDU9ssAnGPSmXDdv5IiFxA3PUy75xcMhv0vZpI8cvZOrOPldnsWzM3WGWOpscC5piKN3znZDZ3iwH2hm+pTPjEEAi986pzBL4fLONb+VK78yuaQND+RIflP2R+VpD6V9Pq6ilLz4tFHePqDNlJu84Idz9nHNMhKb6wt7MhHsu9UhgVMX7Aq7Q370Hj99Rl4PNF977bU6quiNN94oWeNveC2E+QPPyEjatCP24Kk46n6L2rItHmaPq7zqTj1M3Qxu94lznir8LrgF8gPjwjfacC/rD5z0aXPyTJx4uNzVXcutnRwwU5bl89Snu3R53YXhb/AMjPeT8AV2Lml4lad4rxWVK/2CUz5peN9f929ISZNfcOaewBmrPCnPqXLlupRD6vowdYA2nGg6/kT61PVRtvZIb1ytH17hTZb117NsLAZyj33ws3hWgGyrqvMcg/Mox6O8+uob6aOTFhdrJ7NzW5vXU98XsZ+bq3uxt3XcShw6v2yxkyNT/KrFzrWckZf7Zj682Mys4G7S/X7tuRk8jiYHKrb93OHKiVM+jp/6YxtP1h/TxHK0XqCetCpvGudO2kjxvZabM/Skz/mXSbwsfwlh/edSJhF31V3yaDP2D1cdxDZMXbZs9VFJCz8X+RL6JKoa9lb72Xu4kfZW5ySmHJmArfP81iJfkvypPn9gR28ENqXwPopM4DMVXOfRBGiUlEHyPJ2WxsEIiROqsqK44oZGVcgaf+NOB5HRhjzS3FWOtLkmr3gNZhrT4EJL2qQv3z0PHnflmmvwgvE86e7C4PMu3TvDN8/ilU2D9jw8kAPDLqAlaMCTLs2zIN3hpFMmeeeKdCseHJpg5Rv64ouH5BHv2QWOEXIHK26C54mTB91ZmhsY8eoBH8L1OAJwLS94hpdy3MpAXdFDXxha8grD3/AGBxmC16FYOvrSl75Unc0//uM/ZqbiXnVK8uGH/AXyhBv/cOGXA/PSSy8VPHy/+ItfrEGLmY5xvMFLG8dHR3ftev8E3fAKZp7RBQ8/mniQPuVwn6VhfI3+K5c0HQHaE+CZCwycPqDwvJQJ+OFh6mf0Qn7w+NAZcJTwODjkxYdLHD7Ayr/kD36XNDgFPLgm4M/7lBcdz+oKvipLOhUBrmVesHCDFfAyd3BTB+4zAIEDTZeAXwZfXmmCu/e5fLVrpmDkiuYywIVX7W4pE/zh40EGEoNb2TzPHR54J33wDg08wCF9YMTJ7wInHQ/i3cGN7Bpf8zs4Jp87Hkd/8I8X8hJPZpwys3iccW1jeEVrGdBb8sR5hMPgxsDeXT3hVRj5w+PC26R5njg45Rvc4vGg3ODET5uVNmFwjHzACeJdy7CUL/ihMXQ4FoN78g8/3pfP8IId+KHjnYwm/9TTMq80cINzYOmUQO2WeCfdzJrgffB6B0si6mFCl6/bKn7g7vKPDV/fy4npXDWrF0cFPs34IsuwF0k3COpftYi9yMcRsWC1p+6CM8T5LOdsPzPiGbhlj96mGbzsp9vcyyHIe3H26qfLMmGQvXmWXzeyDLsRp8iz3621ZSi1HP60o3V/EwfyjMxzJWWKlcITDhlEfv5JX1/1y1LYDf9CWlOlee64Kx0Ul8TLdDg6tFwKfo1nnZBbuIwTOqCdh16Ew1zq2B695qdzwQNNc3SF6af59IEdvWG+C7cWdho8BWzFbEGb0SMUDawbWTdoX9VMoJyuaZCE15U1EN3Ze5MGbjqNgQU/DYyST373oS1/VdC69iYNDmHoi5848BOku4TB446eu3zS0WNoxQvKJo2xnUYrXZxLkN9Ffi55vOPD8xhscVU+Dp2suWo/XkaQKeklD/DKO7IYviZucA8+94kDAx5dYco3uMSNoZkyDHzXcQxIDLm4JV35BPjJAT35B859+FjyP3HyTf7RM3jMHv/yL/9y4UT/r/7qv1dHwWHCszhh8CiXePjQ8YHGP/3TP5WM4bt2zSz17ZqxYmR0OuCmU1MX13LOlPvwiYa8U3/uS7mNLIeHrThq47TgTdnxM/ngmzJK9z7ygddXreKGPhjPAjy3bz9W6eiCe/SCQ5AH3/KIQ1Pw7kKTY+gauYGTj1ykkwsc5CGPcqG3xCnOOxwus7byupb0PIvDBzidljt6ZIe2u9Wc44ywxS/TJk/BSGvklcfjBDw3/StbIW3wNe8MOv2/6qyHvo95Bh4eh6caxAry2ocknwBn/ia925OZN3Hg5irA/MF35+/24Z0sxJGvCz3vU+7JM+/g8anOph7Uj3x+RvAHP/jB6rXXXim59kdMTV1+lwAneAGu9WNmCXsmz2zeUt/xg5Y86KO95GtwDb4+R67LIU1etOGRb/ksTgA3eAZu6sO7PAMjXpjywO+iH2B2Ig9h4OSfSzzbISzjPAtwmtETHuVHXOeZe+e5im8+rWIJtSxZTw2/fsyt5UAWQv3kHEfNdFJ0TTo+plz48HxSEyCzzaNh5EEHfF+xJ6naZMksHpy5c/JgjRMTlz2zVsGVwdipL2HDgy9hzcT5BuQ0X81mmB3hZXtPnLyd7Gnm6OVT5LTLDNQyu+aMPB9bbMSZ28wZehe5n1umtTybf+eR/6bZxZ46T3zLKbXQOlDuYGRA5v5HLT2nddTMGblw7ornguk2FeHUP/JQD5f5lQ1c8FaeYKp78FZ0vfWfypdHtj9/K7LiwquVRe26fu0kMvPrWMMH3BFxXetsjfCn+PfH5uiNglEgQQW4xpFxppk0BvtqFNOVQHjS3OHRCD1P42ulvDKI8E/cdByUGz13QX7XBHjlcQc36Z4nXl7xg9sdr+KkjTGRZwJD4H3SxE8Z5IFD2tCQ7p1xHF6Hh6ELBk0w7gKcgrye8TVGdPgWD37480yWwsQNjYEjP2kuccPn8DZx6OoUp7xo4W94GHzwwDn8oj04xT3KI1i4p1xLeM+jK0v+hzfpZqwEcOiYXfjFX/zF4gt//+2//UU9w48WGJ3khKWuwSvN17g6KXuXLAej4WfWnCtm9kMgi1o2jFONN3nhHjmQkwv+ZfyynPDMQGDkCRYM+vCaeRE38SMHeQX50Ri5Dh/eJwxP8sIrTTlLtmXYuwzoCu6TZ2Q9eaUPb+LwNXVEToMDHPlbNkQPnHeX4B3u0ZXhG11pLs9L/QAz5UJbejAXzGlkLR1veJDu7n3woTsWQV6Xj4WG1pTb+8jUM57xASf60pQZPXUMZnibssItjDzACO7S5l6R+TP8eJdn4Aev+InzPOV3PNDwKk7Ag2d8j77iHxyn3AZ7s9fOnzzO8RRYlbX5upI/XHAo65TLAeH2VT777LOrT33qU6vHsi1hHP3hj27he8oB7/AGBq6Jg9/70Fral8EBVpi84IcfeNGZegcrn0uYvPWSP2DFueCbnzSDZwkrzSXM87xX5PrP4JvyiR484MvBWMRJfx++NQ1H+AiTd+7wC5OHQz5lFzd1r7wjl0lv2UT/4+BVWsRYd1+2ZjCSWsiB0ckXWWxm1ipaEPqBSZtyHrJtCT6yOM7eu+Pg2HDcSQ449qWug/Z9Wbt9LWfi+bI2y7GWZlf5otaHTo5L4cht5J1zWgcVc+bi1G3G5oQFhSq9MHN4WV6z66FfITN5oVppNZsHbp3Hz53lLZN9qafgUtaqgzyPrNynXuAfGuIDtabRMq+PXEQp5+UXGVftbPImtXCqF0eq9G/Vt70pjiZvcBUZ5fyR4cqP+JEgP6aED+zotdBauHjyTijuLr8V2nE9itKwCck1sFMZE08ZR7DSvE+YZ3k9+1FysMtr0ibO+1yDRxrcaHoWwEyeeRcnTIOaPJNvySs478uLodUI4R0HY4wbnGbfhr78nuUf/N7BwSGOwRbHwbKEoqOf/PLhd+Q5vE6cd7DzXnys4aWJH949Dz/Dv7wDJw0/+BDv2QXn1HHRCk+DZ/KDq7Q17ckDDi2XgJZOBrznZb4CyJ+RizunCIwvAL/85S/XHq179x6sfFlraRYMB20cEzgZN2W1fODLMuWxZ+9rX/tafYGo43GEy8///M8H31MFN/VR5cnIDv9wkZ27eHRc6n/K7Q4WvZEv/AKeRm7TaYGBA99wy6984vFJnz78lN+y5OS27oCdjhYvTv4XJ4/8rqLNoIUufbrIhurhDS+ll4FHi45d0Y+zH8ei5dbtBS37KsX5SlkZdB6WpI3Ub918rPDBiYY495BPJ2umoAci4lwTRg/FkYdLwItrnA+b6Pb20O3ZQ9PbeJk68ay88LnPVYP04HvnvbcLLzhLUjrc3nR99VvQ9g6Rhb1tlrV0OmbudIkzOxc1KKeh9hkFF3g4h8+mf2UXU1tV3mW5l8+Ywqt67kEy+9lfNzdNutaOMDqjH/KMrOHAB9lJ5+DZimAm7/XXX1+3lys+WjbkJGeHK7x4X9VAyvmVnDyDKktwzeP7Bxt4EKZMeBTc0RGkcRpHP7UF+i6+22F/zQ4eH8OLMk2Q17tLnQvyL8Pw8Gg8mPkJtIGpuDUtdPEhDM/1svizPEcPDH7wOW3w1u0blzJAY8oyZdYehEd5m5k3e2rhI0/XWd6HBlxms4XB6y74GpqTmdYQRyj6GsfLEVsGNmecvFqijd2xLJn2rx2h6deWjtN+D/NrFmbyHuQjC0eeZAiVL2gz+21v3kZsUj5AOM3ZevvXn0jeLMvG0buI/ax77MEOpyw8aFP5wz0KV1f1tlmOZtuCmqFb15kDied3Zv2UY/1CTOzE1tpu1H64wKZUwUcuGYil7i84WKn2R+U4ekcmHdoOkKngg5AfFeCaX6gpWYa3kmhm8szU12w9vjLbSf84sCn1mofA1iD6R2Hv9vCjUn/c8R/Y0cMQgRDosrFVwRM3DdsevSWMEYV3nfPAUGQVQFk9u49jMxXzqABG6cXDM3DySsOHgMcln+Jd4qZxLOEmbvJPmvfpkD2jMUGeuYYWfjT6wSN+yinf8OtZGtzu4sF5RkOHATc8yimIBzNhaHsfGPeR5eQFJ3g/DW9oTF5379Jc00mIG/nixTvD3I5C4xsc0kZGh3GwJgwOeOaZbCYfesLQHt6HDzgHdvjkwHF2peFVvHxPP/10Lbn6GOOP//iPV3/9139duMliygEvQyROmcgTXwIHh27+4R/+4eqtt94q3D/7sz9bx0eYwfA1uTy7Zcy6vOoMfXjJBU9ktIxvmq0Dw8vkmfvoPH48owN28OJRWX2I0Y4gubT+oDV1ppwzAwAX/IL7RpaMt/Ml3dQfWPjlf5RfedAc+lMP4DyLlx8v3oVlXeDdhS44QR4w05GKQ8M1ej3lFzf50KQzApyZ4Lise2kcPfD4GF7Eu+BzDRx+pn7gm3KgBc67MoGTZ8kr3lvOcl6FKcPc4cKn/OIGl2f4i5dkF//DgllS5QUH18DhDw5xLsH7kg5YM6pgzU774MJMng8w8NT4WmflHxaCJri6jYLDp69XzWDbB2s2zy8moIVrchDIGw90Cu4lf3AI4pbl9ixOGBh46bxL2sgMzBInGmDcXct0vIjjkMuzvMR7FwyEJs07WvPueco0cWAEaQJHYWiPbs2d7G5vZL9a6E055RMPxjPna4L3iiPXOF2ea8Yt7+D76ueBrZmydfnQITuhf194PqLh0Oov6PE8B0+cvPPsr0sp84EBm5RB4lE+gMqHF0cP80V9nChf1F5spD7zccX2do5I2cmeu51sR9q1hziE8pEFRy8nIcdXjCPow4s4evWLPRl8neZjmwg0/1NHuQJcg7y6l9t0VTf4JmdQ9ZfPELXxk2fOzIvU/53zpBZbFld1kqgKP6zORm5zx0ckkqt1pTJG7jMTOzYEHT5LuFWcyzpNqYrXolVpSU+Vev+fKfxYHD0FIpAZkXn33A33yvkRTwAtvFbkt95+9981lDIgEbYGAd77pQJHmaehSjuLcqo0z9OgJr94cRMmn/vyGng4Bo+8wqN58K5ck39oTN7hBQxYcPBLZwCFeWcgyWkaPRh5Wj7tyFWG/IGXPISh2aPfUfSWsyYCzwS4dRTiljzDMXQ9C3MHOx3ZlH9wDr6RA+OPLwZ35AgPeDIQ5xr8w4d3uKdM3uGefNKmAxlZornke3iSF0zLo2cDyFon9+u//utFA52vfvWr5byNjJuv1hHp6A+uYKx3MyB/8Rd/UWWwh8jRsesAAEAASURBVO/zn/98OZBmbvACB9ouPIubd7jwMbJBV33jm9MwchOvrPJJ8w6X+6Pv8ovn3N48z94YljAGEB9ge1aqdQAcAybNVWWM8Rbgdx1njx+ePcsPzvuUDT3PgvTJVxH5g4YyLnHgTXmUW/A88h1c4uGDXxj60sGSD71dftE7+goWTXg5evIM/ZEhh29wFYH8Gf7dq99I3IdvfThLU33OIfjJ76fh8EGn3JVlSV+58VF7pYJH3pHz3M0M+pJcRxKxFu68FB558a+c8ub/+t58gxNPPrPHD2+CPPiRPmHKBu8E8Hg3ULFM++KLL5azJw48+sfH6E8O9dByyt9L/ODMZnPyzOTZC4tOySNZ8ag+Sq7B6xmNkdfEz/1SF9e2Ca7hdco2bQZtAczkn7t49eBdWMoDvCs5/11ay3tR6Efywtd5u/0OrtGNye9uj96jdPEsD3hlhQ/M3MWRDRn1sR3NS8e3Xa605OGgNX02hs41np7l7bNYzexyhtBYyr3lnPbMucvF0TPTblaw3kM2H8tmWTb6nVm842P32AlLu/mVhwx14sPFccvy627Ow9u99liORYljF2fOV7NqxtLpRvbebdmXx+FjF+uDi6SSf2TASasrz2U313ViD59flhHUEvnUjHpXWZWJfasPH6qOU8/VrtnplunUSeUnxquuLy9Lneg+qCLzp2m1nYzYfmgAA79wkYqo5ePqXzt/6QhBpn2v3b334S2WK/fyz7pw5Vwu43+yzz9WR4+Cj+HW2Anp+Phqj9EoOwFtrz8fL+VOR5UuLopyJVgNQZoDl+Xz3I3nquETDTkv8Y64wE++ZaV67oZzZTgaz3SUXfngKoS25QllYVTc5Z/0wlWjjq7AwT93cmC8hn/3acTShkflHb6kgxNmaVaaeAZwcHOy2lC3fOCi6cNbHgr+YegrzZQBLRd4I1Lxk0fclE88PoYXaS7v4NU3/mqGJfFH6ZgDgO0aEZlSb9wd3Q2WAU7e2qAbmWVbhy9v0RSmbGQ9Rl78yGZ4ESfMHrCJd599bTppR6x86Uu/nKXb+7WM+s1vfrPKgK/iOw1OPaBFtoIytjx6xurll19e/cmf/En9buz9+/+5fnrNstVOTkeP6l7yPPJZytLzyGzwKgsD7ieCzjd7ydbSoyW5KceUlxwGr6/P5ks4hn0zy83dUYSN7IE9Z/AtF8SA7iZtO+Wy/OGYhCBexT1YbcXqa2d7OV9qe297de9B69nwjP48u5PL8CJtOhJxox+eyY48xbEBg0N++QomTqUyp6tJOdJpRXxbGf332Vl5Sfl0RKc5+49+uqtDH5w8PLSUlI8KOKqBcz4WWrv5ahZdfJEV+Krbh5bgnSFpkINOO9D4chmxu9+41Qdez9K+vK6pM8/TXtAQLwweR+0UvrU8pCnv1NngAQPXwJIHvRMaRj74Ods6P+0BnrZX9MN+PI48PD5iwNfIFh7xQlD7m/eNWqLl5H3nO98pJ0+e4UF56JED1RVLvsGRIlziVp9+1sySrTuabFqFZPTld30kUHuqUsY4I+qZA62+1HeUrk8YSL17x0OHdvb3svdPp3/4wBaLbPG3NJYvNevYj8DWDItlsvDp10jqGJBgWraPkTnZunpf19WADN/LukEfF/LV85qnkY+4sbeTfsV35JN8LcOr/oD88DTO74ODe5c08YS+PPC62IGiD5f6jLwsx9ZpEinnbup9Z88KQfbHRV/I4Vje6Lz7bo5nQTPa1XRy9JgjeyzNcqRCKvjb3hgU1bJt7uexC/bRPYhzZ9LNUq0jVOJHRREymHSwcdG+lW8r8lONOSbFrN556o8D6BcpOG0+CNkI3GZm+XxksWGGMPTomUFQtfOU2xIoPm2RScUgUjN76pLikY1wee5hbBQwfcXUR9UvXUqYOtt0asVln6e9dLuB32zubLWQB56pP3kaR9u/amseOdKAE4rLtCFCOY/iheNoHPuYcg6uLGEHU4BlXtvONe9VzML07/9Y1k3T/g8L/z8cva6AH85RNxx1xGg5t+rtt59Yn7Wlk9CZ9oh+ZkCIz2+FMs7OADqPgDQYrl51XlGanESYKd9M30fhVfRlA42mbsYYwEWxbczciuIJ4lwcQ7jloVh+s1SDUuEa3zQ2lVXKFfwBy+R1N9aoZFWiNJV5kg6D7ledhF4Q1fMoDEW3f4BhotyHDw+rIZMHegxV7yHQ2Hp2jYLphH3xNYaXcRicS+MhvYzTutHUVz7hq2SSL2yPcnAleEqD5mb2EdnnIMK0PuerOvYYUoYCbfLmvM6yg/wtw65r8hLIr3gNb36s+SwdEB63U6+nMcZv53cxTzIjgO5+Lo30OPISdxL8O8l/29JTDL76qg4h9XCkw44o9zLtvxtnVVmUs2iG1m4cELB+vuvJp/Ij2GvZlHFklRLIdm+/jwY5yQj1IsbNHqreO9E6cXoepzii+MhHn1r97//Hf66PKv7oj/5o9Xd/9/clM06qs/OSPeUKUn/KOHBoi0zBxablKIq7q//6//zpitP3u7/7u6vf/u3fXn36059evZ3Zkt0YOXqjozIi3YoOM5gPs2xMNr4s348s6id7QsuIejej4u1bcdRCksPOkOvgyvhHHhx4nen1m5m5iwzxeh7ezuLQbUTX9kJDXVzEQJ9nkO03H49O4vDYXJ96uLYX2ahvss2lA9mqJZaULTQZuhS24M6iR6NnHLPSo9H/6AL50wUwD8OXu/ZR9ZIN2XTEJd4dX2bE1F/VbWYLnDfoZ/mUvRx9A/7IzFlxpd/hAT86st3QC2NpHxurd2sPncEHBzJyjXkghxOzDzk/bm8/zl30ZStfP7dTuu7woj9xQVZPPH67luHJlc7geexDlSv1dfvmrdXN6zfqowJpQtmG3OUrWQXO14NTvrJB4fUsZzmCVYZpRyWXpIk7ovuxL2b2Rq5ouA4O/PJJPibSkUQvOHhmXfiy/Z5I9i9xdAsffimB7lzk1wcenvtpqrSzyGUc2RvXsvk99N66887q9TdeXf3Zn/3X0iOObO8rjJSrrlrBa0ksj7RBfSSx6ijsZ8/lds2ocvA+99kvZL/ljeh0HxFV+n7OsY89KBvas9lw1+xHpG8/1Xn4vnGj91ByulHhjLO/ZFDLiZydlJ0uPJ6B2dlFPjCKHnN46iewos/4ZDNO0v6t4gR9a7D2Gvp0ziVUuwhA9SsRZDnQ0c2lfg78roN5gwnfZV/Wts/5reprI8uW4h/GrgntrEROoSmP9zSsGjgpFx2DWx76cHQ4qylXy9D46Eu9Bw/nN2XyixPHseeJWt3I+Y7X8/N8n3jmY5kty/FRWRpVTkuh9w4erA7u3c/M2dHqWs6wNKAx4KifNKvSBDY8nGfvGJycPrN09twd+Q3a2BDn4eWWD8zSv3HYsu8ujSNlyUAptmPLESnZc8vBi8FZHSfe3de0bDn8LPZ29Po8delr3Vj41CHHs+0FOXDsOOcTYo1S14kIvHLaE9jOXEP0xxbytWN4HhmmJCUv+Oj71F1aSZ6jb5QBDYSCO6qievInDmR4i5QLufoS9H3FU4BKNwJLBwp35e1+sGDM5EXHNmKfki30whfk6VjoM+wpSfizotX9KDr2DvqJxZ7PCn38oJ1ys7/9LKKff9J/u0f8AFQIfUIZnXVHodOXZulFPOUSKAEDqEHYyKpx8OqNbBi30wi11sKTl+Guc4TKW45M1hUNX7Q8AlaXDIxGl6jK676u0MB7do2TBYf3rRwgS1EYyQoqAA6V2TH1Fw8aMjouCkhRPBc/KYOydmfVDV+aETilEA9ujL/8jIBg2t87w2zkU04cY8v51YryabuRsQZczlwYHD7krwZXRW2Oi//I0L1GIKG9G8O/FSW0MfY0cr6IAl7VBWe48+q4+rkdVgaYIXa8iA5VORgn4yetRIPerRmGNvBmjch1Q3mCcity22IEwvuOfRtrmXFeHKlxsROZcIIiP2lm9erQyZrdSx3FCihzjXhTV9L38uP1Ormqt4z2OapHOUZAwL94OoRP8t5JR7UXODRt+raMS+/24yD+wz/8QxyAw+Bo+spYgiutajnDI6T6ikdy+7d/+7d6Jg9LuT/7Mz9TTph6NHCZekKfboNTPnpkGaJ0lWOakSN5EZY0+emvfMI4rJy06jBSBvx4po+nW91xXIsx1glu7LVjf5r89M3XkToq+wmFqGJm8/zpsuCpjKTZl8ia/BirpJYeMND0YT4mwWvVb3BPeaptxLDOuzJMeashxajTUTJ3yd96ZM9eD2B2MjN3FqdFfPEZ/PCwE9omB4VMxI0sLqKbaO9GJ+gYg6zMkx+8d3nYGLg949M1vIDXFmeGiAGWZrAE52mUD8/St1LOmn3QOwV3Uct9nDdwcAtooY+uMhh8Kp54dgEsXTpOR4FOcgaegyxfZFZ3dqNlF67yfKUn5w6MTxp8ePQzT8qMPP14+807q29+49ur73z3W3VWnjJqy2sRF4/wufInzabLSxdT1OozDUL3or9f/GLOk/zYx+oQ7G7P0QOFX8thazttM3VAB6PpVZ5M76w24qj5Mfsb2qlDgaPzp3QlUO4Xma3loOTnEpqf+pt2EQY4A2SHv3IK2d9InKOHzuZJbHJkmNca3OCYPLR/+ju/6lCdeOCEzTBd9RJ9HHvrUGofXrWj2m1QfvRr5km+tIvdXfXsvD/tsrfWzN64vRzBpD6NFvGsjZK1q9pqcJQOJb7a73qmkw2UfhBHcDu/EmGwd+PGrXxI9tFapWCv9J300aHH2uG92JuDONrqM1LPACeDkwO04NLH0aO047Rz32gcJ+742KA8W0XiYz80axfzcaxPSVzN9GfPnb119UsUBhC5NjJwvYhjeZ66O9++GXmwG+nPTIeUnVXPkVP04CzCLD2KcMqpyr3eCV1IXZeqRESlN7mrpTq+hR4lkI9r8s27O5kH2p9KX7e8ep84OrMGCd6Go4iFzz3/4Cr43GCTJmbgS8MSZ0JDWrLlnj+pU8eWBUHg4RTf9oWDmg6145KG18rbQBVfROuPUifIX84eLv7jwgd29IbVrpQ2ot1Iu/Ioaoc++kBJwYLxu5SzWZiyPozS+7kVo/6YrjgTmaE7zW/B8r7WFVVftuRdB1I1Fu25iLDh1MA1pqBu4auwXG142/unbQyyTqzjY5AZiWhjVX5VkhoLjcDVl3ZVuWsFkBTDU6OCwO6Ysg59SxToWk6DpxpEcBhV1rR1DHx1QGkozF3zS0bhK/q0E8dnY81bGwyGI6PcHR2xEX0rSnLG2CnfWlEywirliZDJhMGDE35OxW72VJzlvCPKRXEjnYggnUTlj3qHHwq6k0ZNJjqgkkPyXt2DN53fZmaSwHNInItk+t4n+JYD/OOg8yiqsQTOK645ZMquXEaCCHIIOYMcue6AdcRtWEOg+EjBS6bKEg8vOFrusBLHeXRG2TnJDMdZZvCKRsqvLKmFGDhLE9nLEl165pmPr37rt24ljU5urv72b/+2nE7Vb2Y4p7qVqnanQb7t6LEjnCu9oBnAf/3Xr64OMsJ/5ZXXYmgPat/SJz75yZp5O3z4oAwxOVZHrDOP3C9SB+SlKBFZ1VUdIs5YKE+cLCNEZeXEqA93+mz5xqxxsqYeFZyRSl2kjDqlTY5who5m+jazt0bYzBdxq+3Mel20o0dOfvWBrGuptJYo0llEf09P7UfjUMqrjlPctaO3d230IdTTMe2uDTsHB3/k5k7unBgd3OimO71RF+2IRF8CZwlW56Wjq7aYOOUsvkNcnEAWdaB2HAX5wddAIe3cO7pgzjOTKb8jH2pmgaMV/TPzbHb12nU62fvayIATI191yKeZ6YoaJaLka+BhJrRknN7SgCPs5z10QOTdXZuFw4AIv561N0G9d+iZz9MNDnQGR3GAOAydznntd7BVjrUclE15xM1AmSxbt5semHGCPIN977136ova73znW6uvf/2btS8PrcmHjjYxm+KTJW2Gcqc8KUOd6ZY4zunTTz+z+ugzT68+89nsSb2VpbsMKCwt0iOzOMES56CdFQ4Y0ahBv0yga6WfUak6X8ws0nns+lHqb4f+yJCrnI04fGZrOXAlQw4TTAGBo37wns3IxcFXr5br1Adxb6cQOlwDA/cqU/TDQMIwQyC7chBTLWyFgTRbWbMyqRozzwaj2oX6NsOtHWi37B391R7rK8vIU33PhUqF3DhgLjpqab0cuZkBTR58mM1Cm4qY/f9YVsHQVpfq+npk3TP4N0q/7987KOfu3Th5jnearQJ0X3vjvJ3mg4mTE/oRsUboxyn7w3xMcZQvZo8Tz+GrDyvWDp7SOyIlJc+3FLGH+YkyvxDjZ8nilae7tZ8mbat+yiyzrxz3yOOi7voYck3bJuwUxHv1hyljBBw4bSTlrX9pN8Dyj6ZVAJOHiLrgS5aX0FISTO4Eb+tqHie6aAO4xFZyFFNBOn7yD5Ha84dPz+I6OqANU7yDz1V8VPaGQ6PtUkkM2ugRXVKDha3yVd7UZfkmRBCdAet6NFQxauKqbVwx9CjQT+D9Azp6lJfZ08m34BmWNvztdI3B4rwJGrM4jcD9ZmacTqIJO9mrZERycmJPHi+aoNLo0rihVldCCa/SOkLlcBbg7xE/56A7emnoDU/waciXlWrkHoX2ObdGLlRlpwxlGJK/jH7i4aHEGv/kd+f0baYTz5C/8jP2k45uK0rnh0OaeHDkZDP8ZqbYyeMiI7GN6hTW9DQudBPkEfAHh3J02TRYcjGqT/4oWUxO4decAp68PZsE7jTL4jVajbzgSqu8wrnmXfrwyWiB0wE6HJihtHeqZxotSzeP2aoQJvCWsgXtiXrLqH43I0F7N8qwbGeGI6PjzSzdX8u1n7p/mCUH9dUyUz58dT03D91o6ABdCMN1zWj9VvbKCWRRMx1acjVQHbmf7HpYo2LPR0fv1Kj5N3/zN8tR8NNk/++f/XnNepH/bkax9ICxVm/k4F76GPreZ1DxwgsvrO688ebq1Vderp9M++3f+Z3VZz/72cJbhj6zFfjXCXv3m5HqkHF2z1Aj6Yw+/wnvfa7d5CmYCGLgWxagu8n2HseUNM7tWRw97xzxixhzM09n65nxOloh2Zjdi8iW9MzsbrKygXE0SaXWTNKVM6Hc+V+dT8u229XU1fBnpobTJ4yuepbe+tl3z32lfaTsu5mF2skgBj7XdmaGpuyll2t8DmKFS5o62tlrZ17cyPZIJ3LeH7f0frNQ0ClVx522HIdvN23r/PwgeND1sYCZpeyv4zikHoY/AzNBu043WHQrIhIU8Aq27pEhvbwqa7c7jgGZct7NqGrrZv3VpTbfVwYbMXJlL0Lykv5aHkNHGcnDu0u9iIMD3WtZ+iWXO3furL773RcyCPnXzDp/p5yCYjh/yG4ueieUXS1tAEA2HJaUMTJzPNHnvvD5la0JnA557QdrJz6y1JFHZgafp7nyWOeuRSqZ4Qm/KX8dshsZH8bx53BzFEomMQ5o0wFfZp6cqJMgIDNycItcy/lLuYM+ssmfBAPJkXtVU+C1WY5abYWITkFlltMeN3fv5JciVJi6I0fLplW+1I32wb5Lj/vdwPk7sqbj5M3u4GHC3Thfm6kPjgy7YQbaNXsotX37SfeyvcDxQ/uxo/CMjn/iUx+v+mNP4Y0pqF/0ufPmu4k/y1aod0sGlRZ+ffiAx4c53+4i03QmRU9yzt3Rw7Z3R/mY4mGm7R4ext6xBfmy/iyzpmbta6Y1+Xfj0O3sZonfdpGUdTsyNCHgwwszd2x1H2yce9qAaRftRlsxGaHuSl/JVN1GyK1fY7jLiy3tysRhhZo9XOshVgo+KWRRV/oOAV6hl3OjB+t49fj+0HUFz6OhcV/F/yiYySddfdR1lS3J73sZ8C57+MTqJZ/yL/rSqNKPyH2J5j/04QM6el1h2mF3DDoHDYgxbCN4Nbs0ytD7F2bq2uh6iyGMs2NW7Cwd4rl9BDU7l4Yd5+8sDRZOCpaHGAMNzSg5IR0EQ1d0q3PrRqjSKJA89mHY86VCi0Z4pFAnoXMtM0XV/fEsEyiWKeitGA84LDt0aLxwLPeEVIddhr1loLELljPKGJcTqjwpS/hDV4OppZE0rJlwMdLTGHp02k5bK16qiBKtNV0cHKdmEVMOZRSUs57Du/RqWGlqDNheOku8iDeyPolTjU9yI9czn9BHxtJd8DBO8lRHFRxhIq0w2IzIQwsfqYwYOfKJbEK3jHOcIe86Acuqu7evJy0dVfKT8E4Myn5ka/N1zX5uRkDopvWrB2bE0plRLgOOVjnhvEf1XvfEFn2Gop0xs7nqBs/uOL6IfNTPfgysclkq4gB8/GMfXf3Ob+2vPvrhp9NB7NQy7osvfS8y8bujkVNVdXIGVqc0eqQznBkZBtyRFX//939fS7gHmcn7tXd/bfX888+Xc2RPnYAXsMfZo0ZmGbjnyo98V6cSE1pOsJJH/rk2Y2TRUy7hODNf9qnIC5eZPYFRUUon1wdJxJ9ZnU4oHTfzV0ucmZ1RHK5lGdjoGUfPwKj0ITOUZFyzHOSWa9oy3TDLUHCZ7zQjCdS7S2dask4ewTM+8T/1EBSlY6VnqY+G0xY90XflattQ5Y49WPKwm46k6EOUMhs4FA+RHzj1IYnjpqBmFuhkL8mjrfkkLjIyu1cz2JFVhFT4rChsZIYIfxwZ8DaxGzTVF7OxRx263QEAa4BrP+H1a7PkF5Rxuumx2VV37/QHj+Mw4Fl5yjFJWR3jI0z8yHbu6qKcn8iLlrArllTHuT6Obr2ameWvf/3rq69+7Su1tcAHAIJ9mto5UcPfV8szEisYS9v2gwLaCd7nnntu9TPZjjDn5KlHOCxxGgsXn5E9J4ReFx96tciXE1TOQNTErNuWmbWIDw0DCulsLjsIj3piD1rfcdk21H30iNzIu2UeMtE/trlgwo8B+Th6ZbNTkHL0NtvRY5qn7KNHZHoaG2hiwMqCfWLl4KdtNC9tS/Eg4MGzfH5xovQkBdMPsaH5U2nsi1Wp7gPo0E6c5tsZDPc2CnpAnnDVgDhy0A/CZ6XA3ewnGoeRN2fRAFXbrgFf9Jf99SGGmT37Bg/ykdJx4MzgoX0UvsrJNrOfwU19JGFwmBlJv2qxk9/nvnbjZvT2dmbw9lb38gHGhjYVvUpEsiRfZvLY5s3Qs5qU3ir8Rv/Z+DYyJRf2ZHNdFyIu5ZwGCqx0pSDVU/ebeSrbJ03Y3elZ75F1KqXiux9Om0U37aVsf6X0H9YvBIrGIvqSB2kV1vdyGRaAQ79GAuxPOK4r9IQ6iFl7K/u8jmuSlV76mBbpeC09IltQ/3Kv+i2oR/8sylFylB55/weE1O4HDyqCwmv4lI/hIEjCUGh3YWm8KPV0KNLA7aYR7Kcx1LR7nD5LPLJeZA9J+tjkj6krYffUejdcxqEdlsIf7dOIdJQaqJ/q8TNFlpDRQ1dDdFHiGqmUIpE8A97Kgx+Xht9x3SlR7ipb8lAlHS6YKefc0Rbv62J2dJzRwd9pDTPyGTnIOyNIfHY5mzew8648td5PSFFWnYtOs2SWBm80NUaK89oOs05aB6jOLKe3EcMXvO5D3x0NNNt4wddGWhqjxYlmWM1O1IcIDEWU98ysXzpf9RUpVSdlU7lZpe04M37EmkO/EyODbgqQ/PDDaUnLUomvC7OcWuVKYmQNNE2p4MySjFzhsHzTcktZwnPJJ+WWpv4d3otvOmBPzC/8wi/Ecchm/Bi+/+v+n6xef+vN6Fw76thuvtjA3n7wMLzAOXXTy63ntUx2Jx9lvPzyyyuzhX6Z45PrA2UdUitPbHrJlr6NbpFLLTHHenK21B+Z9jK62QOy6/oHayaqlsZKXkmKqHtZJeVloBIfLUkCp5kpDF7tYHQ6KSWn8GOgYNWJo7HURfU/Ohzw4l05lUGQLpC7pWYdkHS8ukuHzyXY+8i5Kl3JrMjokjqAA/xc6I7cwaE593ke+srBNfYzdXjYzUcR0+Z9nTpbEezDnHat3srRi6jw5/1WvrrVWcFnUKNjxYf0kkP0WJqBq/uEshvVQaRmAi9c2G+WYuuk7ME0w+wDNWFg2umfLQJtI6dM7gM3tMYxIAf8jhzhUXcv/ttL2Y/3rZrJe+31V9f623UPJpwX/Ui5cA9+dwMX9UA+KfDq+eefX/3Gb/zGynmR6PgtXGFoW15sGeajq3IuzFqnrmND8F56Hhl53tlxtMxOBgoX1da0P/Vtr9nsGyXjnfxW9GW5y4aFYO7slXg04ZW3Zj/XMqp2lP7Axw6kT172AxvgDjx9jHIoQuGCTzDjWCsNgT0uvMkT+ZLJXuDxOnLHLxnpe+D1zBaihaYPx3xww8mrvceJo5M3YlPM4BlIhGJd5OgjoqM4cdqF9vPaa29kUBxcsZX6FrBso8G3mbjdazeTJx9qxJE7zWpXslc/e5iPNizb3nvg4xSTJ2kr5SRlgGggE9pm/67deDwaENuS5VgO3W729e35YMcyrdnQjcgVfGCCJnYk+dVpYLfybJWAES95l/xa133NL6hDuq4fFFJ1l8EjB0iwZYf8Z8vT1IVUOOY9GEqu6qJ0NUg6rfEMXFObtCJx+QfMwM2dYZk2tUwXL4hDb+DzKjZxbv60Xveg1HPjK5wLHJy+pQxgqfbVDz+1v90KPgB5glFYM2UMi2lrjYEDIU0D6EbaRDQGG0rbCGX0kTwddAzd0e1FAU9qpq67rZ69W9NJY2maUdAo21k65tosmdwqhbMRUeeZE7VTjt71GJMxNOjiR6M9qaWFGIPwPyMJjkghKsclVRT8pQCWRVMeM26C/QmtOByvNobS7ePoToFzdFQGo7uk7ijB1ldHmWIXf7T+mguNUni4EYA/ZT3lkK75Ra956I4JjHRlES+4+1qNE1fvOuCMbhmSKnuMBpjYrTgfMV4Z2fvazX7JJHSe/B3aIhiorL+msYZjRrhkoCG2jGsZLIbfqD6lKHmxWpybg/uH9bECB2ucVvEzUVp7vmJILjtge2hCDs42rPZjcezsQzJjTAZ4YMPT4WR5mOx21o79dniqUmQkZpl5MzNe0ouv/DXLdZyZO7JkzL/whS+k/OmQczbYn//FX6y+/e3vru4+yM+c8VDDhw8ofMhT+xJLOtHGHBlkpGc2UC2qnzfeuLP667/6m1oyc/ber/3arxVusjb7uJUOyzP9BE9WZn6UU1mImN6EvZ79NftRs0n0PuChXToS2ZuNwxMe+0gVjjWnQTtUt3RVPaRTOGz50C35lVvdc/LUa+lw8pWjHt3HYwkwdEiN/p9mwHXl6He7rhng8GhiDGTxb0an/qXu0ompP3xqkTVTjT6jSZdSfoMUofgIghqIhP7ItPJDnFAqR/9C8KodlHuczioAaZ9wqlOdr/29BuNnsUMOlvalJqe6lmnj4MB3/YbDkAkiOhUUO/Q38EINhKInZiLM9tTWE/IquYNv3qftkVu1k8oNZWQTedzYu11yaN1FK7qUMkATF77qRN6q23WH53lC1U/xM7NaG+WAff/736/Dj7/1jW/XvrxXX3u1stBL7WN+Q/UST2jBpcWjZzYKGc7e4x96bPXcc8+tfu7nfm71meefXT2RL1/p6HFmU80c+SKUjPczO8yJkf9oMw585Mnh24vM8Nx7xTj72macuMgTzd08++DBTP214EhssVU2IXoCpsuZGe60c/y3EpJj2jw9y0Vv0WErKt2MWhxxA0j8yldlTD2pC3mdDvC+EOboBTxdZ10nyVB8k4dfmulfm7mI/XpQuJa6iAZ9cdfX1Zfw0WX9lsEYGXFQDRA1dbYUP9qQWTozbwf5Ah3P9RFYtbXUG8YinZO05ZP89mztYXzY+4Lv3edMZg97+lkDa7YhE3+BYbdz6W+j935P1lLsVs6+28oM3nYcu3L0HHqctA02K3ydxIkzMLmIQ3ieeqTPeltlMnNnG5H912wjnshKa5tyR4DVBxpktW1snU3uFjebksDe1R2F6Zvd4XMFLG/1r+quoPMnZUzyZdAOhck3Cd6FqpNlhsQNrDRhYOtl/S43vtjHusJJwWelydK+fh6MvD3LmDabiBS/+AY7+Aeve5FEttlbJDUvl6tTi5Sf5GNbtR8DhVLkKB9nojuFTPmm0RoVemcoCatGJ3EGq2FmJMBwtqDSiqN8NSrP3h0zR1tbhL2WFcmR0XpWhyGuqLR+ClrGwygwbyGUyjAyyaUzyV3HR6vgr6XTVOLOrjPX3klDvMLFIejK6wo3wq/NuCFdiqNzTeXVxxcx5pvpUKYTpCjtkLQB6Pju2MlHfs4p40MOnN6j9XKifLs5bZwScaYcNzDyOokxBKvz4LxYqkBLw2vZplGUBFqrfM1Lvu0Iw9XxRtKO2eD0tmLvxJBl1J7jDBxbMUqbNlb81deG1dDbqaolsRr9KX+WutJV7WdJwMycmTf8cj50tjV7l6q4d/d+eI7s81XocW0cxlfq5FocpeDyBRijm+JHwIFLnvq4I9OgOvwaWcdAbcVA4e/8ome40tySGkMVueocHMOgTAWzNjI6Ihvgr8Xokv/dGG1ydgYeWEdFHMbo/vKv/Orq2ec+Xfud7t//w9XBCy9EX3WKkVXKd5ivJlOw2FLLLllOZdwJyXpAeDbLoex0/b//9d/X8plfH/CV75e+9KUy+pbP6aCRd+WP7u+c97JzLfWlbGYVtiObSCrl6JE7fvFuD14QZI9ln015FgdXtdpbs5E9euiD0yEJteSQ3vne3YPIh8G2FwfuyCidPfbpmM4o/XHVQWWMXFUCfNMZkung7bqKvHVO4ekonaKv0EZ3ki3PHPLmn66hp8PD3wT1qmz0d/BPer2nXY8TBVZ9eXd8j46OA14zSUGIJ5cwe221lYt0mMp8cdCDLu6ycplJ4SxwUO7dfy/y605H/tLV3LUf7UWnLSx59AzPyGjkNHDFS+yOu7ru2ZsIQFjrJhxojO50e2xnfPDBb3vAwJIVfH7h4h//8R9X//Iv/7J67513azA9+omE9i/QAbjIFY40zdR/l6UA8ufWYzdrBs/P/DkjD9yrr75a+fA05Rx4deAyoDeIL/xxGOJipJ7bEWa/djhjqRLHgXC4zk/TRjIwc3TOVu7SN+NIvnPnzdRnnDH6SKeY+SjkRnTzJPVMz+mYe3qK2IzY7/Dlt04F57SWo7CuD/xWCA81qNL3KH+uWp5NmzWrVL9xW7IJ6ZSHjNRH2c3IgKwtoRrMTTzcdLH0Mc4BeYLbylLnTrZj0GftyWDmMEfnvJcZOEuqPZvVXa2tSDWIjSN3dpb2H+5j/VJZcaxSOyfZe3cYmT04iK7Hwb734F7N3PmlCoNATlh+1qbK5PiOjSzPb5SDmXZsxj+OFwfPRxUb4et03f/5dQsfV8Tb7j3TaQv23tlukz8le31lySlyLn1JG9xGL6GcPDKuNxFhJgaI7DmayVEpouWN8Os+9TF6pN7m2X3dHAbrmq78jWfyA1jmm/dAVd6BexSmEtd5i6/188TT3/wvPa57SsResR3eayBYefJSg6NIIva08gVyowYSbdfoLts5dIihBUZXUrvNKqAO+o8CaF2e6J/EvbXvA2HWSffvTFqmsilYQ9jdfbwKcevW7TIK4t98880aITIg8tTIM9Pe4LczAlFnx1Fyn5yfcADSaLajRJvpEC1BVSNcN0qNjJA0xr3r1zLlno47I/DDnDFkKlxHfVYKuJXG8nD17jv3ymD46gv8TmoxYKvHbj9Rys2AOgahDqoM5h0b3DPtVDOPaQC1J6cqOB1lDAIHsJaursdwhU4ZijhvHEUNPt7P6kG+mDrM1PoYcQpQ+yiyX8v+rzrHLZ/Hc2gZfIrhmtk48K5aLsm5ZAcpmy/fKNlZeDg6iuOShivPcWYJfAlatEJfR34Qp9tn+ndzCCnZSbM0zhAxGhze9NbZD5Il98i9lDdyPksDDmjBm7FhgM9s+I3hgsMeIUufe5n+3/Zpfqb/031W/W3mSIXN/HZiLfdxkmOE7t3NMlMdDNxLahfZIHyUkepJZhqdD2VDOdrliEZuRsPo2DPny9xDP8uTsoCpYzcSt5mLv3h0ls3O2UMSV6ic0ylnObORA9ncu9eDD0bNPpnTGFnnKm5lNLt/PfqZfXC7+7dWv/W//Z+razefzNljf1Zf5L6TrxgZy83wab+VrzqdoTSzPGYHt6J3cSeiMRzWno24d/dB4fibv/mb1e///u/XfifnkD355IfLWNU+0VqS1cnEXY08jObx5ER6PztUBisO7v3UufYRsuEzS2UpkI6Jk2bEbT9Oz4a2Y9Ey0hGmTaXDtD+xPp6JbvYsYO5xghjucoJq1iNqELyMMH2q44J0kNEZH7Oo2N6v2L8nnIjkbmPnrMSy1snP0J3GkfUPH/vpeCytTZ2oVw6n2bWa6bcsqkOQI2XShsYpQaNDDw6Pg19bsHeGLOI5pL57fxP88gvokp39YOLokc4rMeEtMqs4vUg6UlMiCUfZH6XDltdymzw6Me3aAb7dgWfZK/UwbXIGT8vB0EbocOqceceRoIP9pWYvP2oTeJn9wupAO9S+i4/oOJ7LHkZ3lQMOgX1ynM83vvGN1T//8z/nw4vv1uxxfNTwS184dPS05VBLZClGosNzz5ayryFffcu1tF8Dni/98q/UL1587OmPV5tGv52cOJXRt4PYztGps7T/Bxf9k4Z44wTZw+krVQP2mMe0KQcfp87DLweOHl7EUXuYumq46EjiI/7UyFn2imXvmKcwZvAePydvcYKjrxxWS3+Jit7rLCOH6BcFACfQI/WljqreEkcf6loPCNRRL+u2fhkg0V9lYGvdlfHRy4ce7L90Z2FWep612drXF54NckohM4t+cmKrSfQy6bXPnKO0lVMPOKzWRRMMco/yfBBH7iB65+fCwlXe76/ey9l4zrxzZIsjT45ic996l3vLKYsexOmyVcNkxZZTCGIztvLVbBpy6LCJcfKSDkbfF4sUntcTHnn31awBMp3jJHJ81WHpdCL1x7O0OrJoG5H4krfcrWtkUpMnqTP5J3BZBgeYZVp9pRt4+5NnT1tljXxgKDlz8pOPjXWni+4RXOHtWcFu52iWOq9hC26Np2wSADbDPUH6+64wu58+fqsKJ005g9FVssjNwDsIrARU2cIpu89WG9BsBT+ZOIB+J3W2t5e46KM8BtDL0D5LxwRDHkJzCfATfNZDfaCgIhlnQQEpmqChSasON/EUhwE7j756tkxlepwjYp8EB0hHzwGITaj01Gzy+xJSJTOeZgbSkLKUVEZVA1rvZzjVUGt6OrycHaaDzBdvR+/VLNKtfLJuz0Qol7N39/7VmWRP3M6+rdSIPT23b+XLo1KGVF4qqY1knIM4WUZqDIalCraGA+RASr8NyMDOErXOzL6MrRwGfONmj8iP73dnV0tza0N6mmNjNjbeC1+3Qj8NOWy7quOPCKvhxoBzdnrjfsyhqfb6p/GmOFG04xgDzNqeYSNuLFA+bGGAyHw/jvfdPFNixjD1k0IxiujolNIdVz1oUMqh+vb3t2L0OTh9XAbjL81RGXs5pX0rjveJ40Jq1V3DjdO3n0/9Y3TfedeSxP2iaakm1qo6g2s5gFNzPvCV7UYOAq5zo5zXlA3jG1GKFCPzZDHmaSh5j58fxz0GOwn4LT1KJ+KZIUlXkQ4kaRlQnKZ853HeqozrkbU6epBOiqOzkZmbOoA5Mwm+kDsJ/HFZu43V3RjcjcPe//TkR55dffl/zU/93MhPPO3dqlmT11/5fgSt0+U8xXDl61gzFMJ25HOWBs/BielKGTj8vTyjTegk/uAP/qAOm/1P/+k3VmZNnnn6k5FrDjKt2cSj2jfoaIP6pZgY7hQ7syCpm8i7O9wsXWfC48hZXuQJIvTTtBIClzJWu1u3sStDdlB0yomogVLUJDBleNOZyG4vED561MqJjsu63Q5/tet04A7gLUrR/XRvlac+OlDmtGEf3KA5doBeeefgGEQwbpw5nV9+aylycu6XQVVm5uL4aGf1cVV631pOTKdGoJws98OUj+5pG/iM9kUPe4+VL2PbsWlj3DyA61G1PNpPmM7/dur6q27wzTdHVl1FxaO3x6v79xzqTN/huaivMtE30zJB+fo4j9BPwzPzFEXIczuX+ATTtoQTEV2J3vVynsFHz+Zx+KPul/KbepR3ZOQ3m/0+ra9pfXDxwgv52juDZrphL6IVgYCXvUDDWYlqCg32RjnaFnjOS8L1HA793HPP1QDkk598tvYRcmp6+81sFWHXGrZxNU5L8PhzRULFJ7xzgSU/dppsjs/aMRQ/MO6FM+09XL0vHs3CEdmAM6DTHVb+4Bs8lZ8cqw9ox6t5YkM5VomLHth2AE/XafKH7XFi3DmiGkMv04VS6KsvNCX43VcDqTSdbh86BSlkm8GlPcVhI/k5otGH0HWKhMGkshzoz2LMbDHhpIqrVa0s3R7FmX3rnTvpK7IqEnrpDrO1LrZg6/F8O3Ez/lscsYdxFLUF9Zr2VIPJ8MOO2U+3HafQHjurGvVhXNIcwMzx54KgYcaNLa8P6WLHxPtXMlQehWZTFCz1OvIZebpzsAROjTBpHLLKV7H9R9pcaAj0nKB672rq1XsiOVfCwM+9IvMHL+KqNHme94Errt6nk5Oz8Q79iZ18jVN5UvZ1CdiNKp3Zty5mpxWfeRxeQ88zSe5lVjoqmit9UTKZCCAj5WsOhvJP9/6BHT0NiNB8VeU3EE3/e7f/xX06aY7S4499KHG91KXxmXanZM4KuvPm3WzUvbt6kD1Fp5neLoVO67r/Tn+VVsYzythGJC5BGo9GruLTrKoxMdScxcP84Dw44WE6zbv3cjDudpZowo8gj2CP2jtv3qs9PeN43Mh+Pg4RengU//jjT6VsT5ZBh7++oE0aY2uU/TB8vxE8zjnaT6f9sY9t1sGXN/MhyP0HcW7efSefyd9L4zfr0w2MITea3Nzq4z/QMcPncpL8rVuZ6Yrz+dgNXwyn4UZ9LOEKOm9lQb8MWDoZm4YfvHUns1cP0vn5pH/d8GOM4NyJIa/OJnR0OGZaHr779ur1O29Up2spBj4wjhx47AmbqNvYUlgzsLtZEtjbzh6d+nmczAymfo5z9lrNOMYZP7z3VvD1UpKDlh9/Ij+fE15vPf7hOPRP1Inu77z7Su2Bu3UrTlJ04fqtJ2PMewZvK0vpdVxNZISf+Orp6DmFu6vH/N7iXn5rMafFK7svUc/jKFyPvPHtjK5arozhPsheltdfeX31yqsvx3ier25neeoj+cLWr2zAJX8dvxD5P3iYmeB0lufnD7Nx+VZk8+Tq2c/90urXj3ZXTz396dX//V/+S/TznSxxvxsD3Uu4Udpq1L6Gg4fhNHoro2XmIf/qlxsyYjm4/+bqzdfv5EyzH9Rv7f78z/0vq+effz77oj6UGaL9/HrBWzXIMEqvJZ7ghFdnbUZDV+gXZnZ3M3O93gtl1KkMLgMC50A63d670JuyGbBsTcjSOT0uWJ2DzpHsEkcX+2vIyFN/EOvUjpBFHZ3rxurNt9+svIzXbEgvfMFTI+AYvG5PrdfwN63MZuQ4HQ6d+hFKJ8On9xkIomdGL80tvpLRkw40pa4ZnPCRToqOW/I2IxZJZ5Y3fOfcSUu38Idg4cdXf+nKEW4z69c4OHre60JrnVb30OkRuGVW+6H6l22USfxxBovC5Nc1iDdorc41PFzOUMUhFPSJ4M0+Kic7p8zKaQZFm+g2s5m2drv0D10w6JKTsijbd77znbq+8pWvrL73ve9Vuygi9Scd/7qjJjsHTwvt4Kn/dEChVfsavYa2gbUvan1w8fynnqUi0V0Ha/eeMTZKqP2tayfIzK6Vk9KZcngMOLqMrUudNnKteuBs5SInwWwdx2/S3EtGqf8O7RixiXQxXNV1VA62+nWxy+oRbOevY0MC3/EdZ0CuisXNT+wlc+t3dIWM61DsPONLp8zRE8hOPlzR9+wxyT3tJo6cWbCTtDWh4MLTaRw5M+v6kprJjJ4e55ndMbax5Go2s7+qzcC1ZLB2RoP+5DD4UkdhNAzGZm/cCI3b0f/YtdDZz37Jc/ptEBlHr/a8aeuxETXDl36XHa42mHIZXMUYNP/R1bMM5vuA38DHVhgka0MCbZmtDt60W7Nb7su96GC1SvFB7jW6rb2nANE/A76WWBLi6JDfhLVvlFeylK/xG9Sxd1gpetKWV2W0yiAWTDt5Bk/KWrzIvyZQjw1a9L3jw30ZBs69Z/JSrgLAH0vefHae2FhT5olv+57ikV944uRpevXhV2DsOffxylaOWcMbEZQYFvRLTov3pvEf8/cDO3rYZPjMYn3iE58qp4KhqjPXIpQx6H3umo31beQIQ5q9TA8z6/P6a+9m4+j3VycvvZ6lVgaPg6NTz+gwsySnlkRyGfWcZYYizatGLo4psYFax2Sq++yM87i3upElVUu0h9mXdb82FGdmK4p+zZ6hNNajzGRwJiiwyvPTQjfzBd5jcXI4qW2gzldPfzw/RZPlvE89//k4AddX9w8Psq8nV/Zjca5OsrntID8DdXj89uqNt23SjzO2nVnC3ZPsf7mRsmys7rx7kn0v9+OAZOkzjVljsJTAYbQ5dz983riW2afcbVa+eftWNkTnsNTMROaxRnaWguxdo3DbcYjMzJm1+siHP1683nwysr1xZ/Xq62+Uw3k/eM9qNJrOKg3f8iNZPnGWJZvMfN6PA/XanYc59PdudSjT0bSjl8NXD1KH13p/jM7o9uP5LD/LDIcx+HfefS/25KA6LQ1PHqPUN958LfWYL1fTYX3oqfPVh+Ms7e3FyOX8stsPd+p8qJdeemtliX//xt3MJByuPnHP7GE7uTo/crf0ZdbCXiTOs0NEn3rqqSx9HmSWNCPddUeoU//IU45/6JkUs2Ia2t137mf243v5sOLbVU8f+chHcibYcRysjeCxj4aD0Ev1+/n9xrPMfJ7EaB3EKd8ww3d+c/XsF760+uRnfzHO5u7q29/86uqbX/3XzEi9FW3Xwae1xjM5qs479ZJ6aOPJCOlkYiCiVxwhM5EGHmZiOHvf+Pp36tcGfiG/OPCJjz+X/YM5BzAW4WjDvr/Qz3LtriM7LBXFmbGs7vcl6+iDdLz0vI2N2YjswYszENWIPmgP2Oo7+mEg0Ono0ynWrHEtMVseM0CIPmSZ+F4GVrWfMjww1mVAtQm2OjirIwwdnQLDacZOh20JkvEOieqjdmLsylFNh5muOo5w0vPrHboVg4Fatknb3YzcdIRmY+2hNLtkUFUfQQVn/STiuhO3d3Yng5TzzL5tZjmQo1dLZiftFGwFx4PoeH1kkc4Pr5y1tjlV/LRrv9kZPpPWDqO9V2b0exBD7+mTq9PbkfDuOJZ3on9CG+92FsmfzSuHLwOPWpKNbCo+uqHvgcvA83oGVZwI7RwtgxN6bvBlwHXnztsl1+6UUmspu4EHvTeI/PM///PapzdfwGorYLUxem/pSXtBL1RzpaZ0immrVZeZCfLhTJRp9eGnPrL6zGc+t/r0Z59fPfPRj9US4b20ZWfkzTmE+u4uX+sCvAal6KlvcpE+DpvCenYtw6TfvOmDl9abmPvw2c/qSjza9tzhVZwtO1BpO1aHOEjozVWOThFqZyUK3jqRTHhtvHFCEi/YBlGhnKQ8V92Ej8Tr1K/t++WHlCEFrwF87PJ8uWu2Xn/FcQqrxa+PNaps4RGftgVV+czkRa85yjVAi8j5zGwB587EcjmlcdhS4JQv9RSd3XnSzF2OYkoZTYJUnxfn7Sw2Gr7dnF3aM3rRucD0Hr21vFKm8+DQn5zCmX/lBIdZdNOq0gbN5IFpGdJZbsqEWbb0rg4sUbr3lcjg8jyBHWh5oJFHNNb3krl6DfxQcKxRZYEHHBoqbU0jrEf+TfuKLvqVDeSal+FpnSB+aLM1odiTQbCnRsOMdwPopoAPOh05KiMuDGwLXRgLrirnurzFi/T8wwR/r6qs5OhdWnQ0Kxe2upQNChZdA18b7FUILSSqpFexgczL+wCXiT/W52jABw3NqA7NUQIcJp01I0apBO8Ex1hoCF2hPTp78qmnY/w2Vq+9kU3HGcm8+146txxsu+GHlfPF0FaWrIyIz07NiDEMRooU3XWxevLDz9Tvge5nsztH6r3MntnH9lj2nzyWA3HvZF+gUe11s1qBsQGfM/T9+9/LnoiH5WSwj0GdkRGnL/jjENWZTGH/mcxg2bf19Mc/W87G/RzX8PKrcU5P4pTeA5tZsP3N1Y3HTlY349Qdp+O8l1Hay6/dX22/lef3TlbvPYizdZ4v2bJ/LXYkDT75asSXGYT7mdHMqPVelnfP09kzPls7b+e3N18vR9VxGhxZ08L2ytljWI5tym5p4le+9OWS++MfemL12Icz+tt9crV9/a10FH4u52D13X97MXKKQ5q9IwzSE0/cr5nXB5npcRzIvffuluHSWWi4fhrubspwJ/tFdnftkdtefSQOwnaWvg9jHN965+1y1Bhs9crhbMOfTjdfq97PniaG8LX3MiP4amYJUtbHHnu1Zgn9GsKd5Nfh0Zdbtw5WX/n2W/XsXT3pBBlsHR1YHRxduvXY7RpM6CDplbK4LC2m6yg9k7f21aSOX375lbp0Utd/cLj61kvvrT76tVeq7M5mM1uCj/0Y0jqRPvsE4bMni57ac3Etv6O6d/MTq92b76524kTXhB6HLPqxyt7Aq4banVcZp5IHg5krTYMs9uwLjAHkgPhaEt3X4sRaxv3C578YxzNOXToUSzAOMt0NL5b+z1iL6Lm9N3731QyZsrvKEcndHr1UcJQ3HZAKzJ316gOUk7fNXjmF9fFCQAyIzlOX2pA9kpv5CEgnAi94BrDbaIDD94z6OYc210dAVUfkbr+dJWFf85mN5cBZvrZipPP0m5yWNn25qeOR3xeH3ptO7EEZ1CtDjrbgvrvbS6t++5T8ujNn2DudfO0j4hTgpx2gfCnavU7tQzMCt/+QznIE7aNih+RNo4tAwkt1FrBGAqGbPracEAfOkkvNhCRenrritBxHT49Os683lIOo5VeV3s4R3TvMAc/qajtbCK6Fx+M4/RyB03yN7qw0R6SYsaX/6Pr44sUXX6xZPINg+u/ctOJM/YQ+PVXXeJqfAFSX1S2xDxkY1HvKfRIHc3u3B0qfeu7Z1bPPfiZ28UMp/2Zt66gZtIVcSyRVRr+NG4yhMXL3XL/gY/CtDLmUbWSCx6k7edXByenaESonrJ2xTuMQRGqZBfUBDNzg1Yt7x3H82HkDuIZZ4id3s6rw0Qszmpw07+NqaB799b3ZMjS6HdaMm20Wsb3DvwFInTManbcEC9cpDy06QR/KES1HlbPnnVMHjr42bndbbMrxyPN22n5GWVmKjR4FrPgqfTS7Ft4zcKyfH0v5bAcA75Bw5USv6Ex9Bl8ylcpK773WbGHI4SF4DY7SoqqciU19ZQ9kZFv9SO7JVpd2LaTV5T36sm7z1f7bKyke9O4l8zi7YP3Fg5uAh5Z37h2VZDB5AwOBIL+oNW5pBaZukyx+eHMvOhUvM1Tq9CqE3XKb5CvnFPU8kzF+IHNb+5nNY9Iad9+HXnIU4koLU+wF+nUvvto21cd9eOPIBXgzNoMzWZzkufARTR4KF7RLpgmjST0Sf1Wun9TTj8HRo/At3FKoNLxSwkhZQ5jRa83UpIMwslUR9fVrqvjJJ5+Kg2ZkFEXJTNxpnDhfI23m+fx8v5yVcvDqM/I4a/t7q+upCBujOSXPfOxTWZrLjFAOgnSMwls5z4zxZDj9YPiXf+1z5SjYZF3nTr34vSyXvZtlwJurDz2ZJbHAMVb2mO3nulanhqfxVCVerF7PkvILL722euzJH2R2h9N5Gkfv7dWLL9+pU8sPs764lU2YNx772Ooj+XX5u3fvZbnndPXKG2YM36qp++pUMpPG4NaINiP2h9kX7UpAAABAAElEQVQ7Uj8pVB1Ulg+NPA2nTVmm67C/bGM3nWgUw944XznSWo6eO4cw0KsPfTQ/Xv7OyepaZua0nKoLs077T61uZObvfPPtMsiHvmJN4uZB5ByH9vAgzs55fmbnZr7ailZeo5wxBOqwNvvG8MBXB88G1+ZuOocYuZMYx8OaXYmxjzPOwDLC6nc3jrWZyNofk07gfujpDI7zYe+7ZqbCdeY5V+epq+MYl/eOMhMYBzddZoqeI00ic7MoRkdkdnycTctH+6v7kc3bWVrafDMyMXKLfOI71F2DpE9lbFIGjgte1NNh8u7ktxzv5GiC1959a/XNl96uk+mlk4UZF8s8nEf6o+w6VTM+EVHEfJEfvN+PM54FnMc/Hllcz0xwluoPMstzksgEm503Lnwlm+UrjT4GLZUY/aH/4TSM7qT+nEZPzjr/V159ZfVePth48YVXVv/yz9/M7PfjGazcygxLlrrDx1YGOFnki06Et6SxLL6ks52h6id3Omv5aS9bDQTlcTE6YJQRjA335IW2d3d1UroALnUivp1kbarhjFJ9aOEDJfgY06FD1puRW+EsOPRSE8Ftti/om5fU52m+tix4Ohs86fozbMjMlqWOtN9T3nPkXLOBSS9DGDxFK3S2007ld06eO77d5/I+PDd9M+Vm/3rm5Sh6TxZVT3GUfSyU1h7iPfDR3skDfM0IxOkgQ3jNGG/poKsTbocDXEZpXb7wwbm1IZvuCtq38p/GoYxfvHoYHH4r1XYQ+7gswVWHmQ7S3R68d7OF4gc/+MHq9ddfry9effXKjtFFPx8YwSZfl72WqtFL4GDjU5vgxAew2151PmC035v1W7XPPffp+sULh+befc8+xHzYVXpAljomHVd3B2bVpHWIpYkzVs5XZqu3MotIPuQAxix6yYpcEuBxTf34mb95dg/XTat0IboonzxkkzSOT99TtvBlhleopdU8wjG0q+wG5pSG3uUmXT5tEB4rDRt+jzcNuhyrpM2X7/g/OuqzAtuRUy54omP5uKKWZIMzQ4ngDS+FN++5o1C8pi1aRt1at8nq11LXGWqlXMGBi9i0mhks3VKmxEXW2kOJM3a2ZvjSDtNJ5LgT+Vj40EqaAb5a5ryLF9q5DA+Fs2WK04vgNNu0ZjUDnAwKo2vdhuHIlTLlVrKar8yTKxQ4W1cw8MnXAY1uA2OHwNZs8ugjoQjht9w+vK8dSgSLp4IJjeCVzYBYcLuk7aV4DFyl/vD0mo0MHk6qVouvDnNHI4hKdlKaL3QUK2JZlK9zlpwSb2BYDh07l3JMnjT3PBsA4S0vad/ktOS9npH9nyiMRP6HWdIhkKVGR6iuMRKE5t190j0znBSfoCKvzMIdrb71zf+PufNssiw5zvNpe9uN63Fr4GjBoKj//5UKKYKKUIhBggBEYYEF1u/47pn2Vs/zZuXtOwMCQnDgaub2OadsVmZWVlaW+9X0kx//bPryiycZxW2ym+sCxWqNe/hcmLpDp+Bi9Jm7jTCXejSHd3yyRIsnDVFmxky75eYGRjHded2+cz9TIJ9//ssI06+++gYF7SWEWUFBvM806V3algc1s+GC2zOErUcd8ttzphlPfvLJ9Pz1CQLzO9RniY76yfSUKRenTtyV6eXS1u/gZJkfnSPrNjDaoOih4LxyRIsoBrbatUfjcH0Du7EoaprdYQMI9bJBZn2ajRRqpAEAgNYn/WU8hXlOCpf7EebGO2N3yyEbIE6/ZVcxo08XB285/axVCLzsPv7L0MMRrC4dOgJlxvq7nTsfgt8a8UmXlM+T0hPXFCdYUlZRho/OULypx/rW4+kBSp8ux2s4dQhcrVjo7/mEme5BaMr0zRcKJxkOTvFP/Nex7BgO+hCyTEcRR+G2wgaYTWBczQhfYY4/HY7xfGY5EkrU5tgs0ML/QgHKdMWMNYDrOx5euokw9yBv1yC5sYW6oZSswy+oIFGaVfYgWaxRK0zjrmwAJ3CvYLn49sVT3sHX9iOWA9xB0Xs1vdnbYBcxVx9dcnQMCipyBtgRAPI/kIq/UvpQ1Cknyj1WRstp3GrVOz9/Qcf+DJrchm/vME25zbStT+brlzexGGmx+YZ3lxtoFS/a2EnIT/LNiTgZ0rDbmDiv3Z5YklEWxI1+KkQ+jadbpx1tYgV1EGF70aonemwDWuY9CsP1ommzxPFpuE8thsbblCd56icda6OGnFnxXLOrkqNV1vUs5A595TUHB0vTrdsPgKk6mCTij/nwJ0+nKnXiWNj96epZa+oCH/lZ566fG7aUQwcMvGYsh7B846kEavUTJzrvyXUnbuHEjm1waMqvaVTTpTyUDuP56/KrTgWzeTo1m7xuFQ52UMTD/+Fd05aSrWLiUUEHh3uxrLsG71dY8rRkW3edFu625vktnnWumdMFT8pQ6GTLkqxZN0UdPBbGwcvH3/n+5NKFB0zbOkA84hQA658NMKTNwBsGso7ygEWrCJm35XnOpzzdA6sqt3BnnGWWqhjW+BQvhZuCr/K8UdA7PDgFnrLgUSjtXpkcJQI+r6sGPYe1dr2azvLErXS1Dr3zlaRRXiJXqJNyxrjKXY93UhGLEmtnYzh08ngoFTqblNi2bVl+bWQgnlY5cOJUKt1+wskocUB4lKdrZba8oXxG7qrQ2S7TqWVTzHLJz/RHtQZXGtWVm8op2g/prZOwqtA54PFIFPUjJbxHplAo5UB7/K1CJH9o7YBLfgVfiYO8pH1FQfGbn6MNcQ2IxIIFRIG/OMojH+NRC/K2fgaCF7FiefyCS+I5mFFZznId4oqfEwwT4j9xjEJbNqqFBK+Rh/FIOiIEVmVWTi8gNqVWBFORyK+CwyJu+Em/jltWQ+EcaUJb41tL61p5pi3yLXym71929eKPyIjrcJMrJ/2Z1xV8olP++NMlD+HEI4NM0iQdMHT5FfPP569c8l5OvqhfVVJGV5iFuYZgasXPgmzIsKdyLgKCPmv64utn07/+5P9O//qjn7Au6w0K2GMUERieON6QoAKmta0WPkoZhCSN9dyjNZB5F0ynHrHmzPly11zcu7+VO3S1/jkC+pYF7z8h/5xCjoBYx7K2jSK0tcMl0qw/63NxJKAEt1WoEKm8/PDjv83mAddqPWWru+b8F+wPOb1mio31OS/3Dlkn5fZ4rInscD1k6k8crK5wZAhHdzzccfG5gvJGwRU31ssyXOfltwIxPxQ7XTX+6uxsPApdwxvGMhlrMXC0B8xY72ZOwWkBIN4+O0lVcGYzFFk61PVtG3s1WvP26Jit22usM2SqdTQAmgINrRs7jQM4VreJg1LybJ8NLkiFKHTuZKXJRYFRsIFjZmWzJjCL5onnVJqKSHeqxrVxd0PweIooRhdakbRYIWSxGGR6ECnnwlWFjFvYbbMKE3dbSn0bqViiGbJmEEVUyUaAa7kUTkw4wxsoFNTz9avuKJjiZf3bBfTLbMywFAijODVdaK+EJUyBCEWmrd3vMt14iF7NVC3H4MzYiHK1jMVt5QX1ZZnAAYqYANKZcNEsMNsJswas5AP48j5PrJkDd557p3Pxu9eiQTjiem4W6x6xPs2wRG4B4zrnDK6uOMjxwFM3XDDSz3orhbo4Q/Gjc4mlVyE34I+IJn2EEfTe4PxCFVzr1sLLd6chPNDWZRGoHpNXLEdRoe2uIsBko3Xwff6MZRSE6yI0NVPhQjPyX0p9wQBoc5rew4Atu/n54uLHab8qbCpb8q08UXGgIIrXKnR34FcCtpTGHunbRnSLQlYe8mceKnE+had2VqusOEUrfs+mWyw5sNybNcN1Fl3LpIf37kYmZQkCvJBr/By4qDRSxmwLRQf02vN6f7BrIO1to+iCH8slMGVeaSG2YwUZKsoOSoUDilFHcMIAQ/fmzf70gnuSVer+6X/+d9bJfpFBqMq/7Us8e7NMDuYmf9uOTvrUALBkhLJUcK4v4SFbg20Gftu993D66Ds/QMFzA9JDYGEdIXl6S8hxlnAwxAGhKhdQe9CNMjCuawl3UGSYNIxSCD6FSZz5C/9QleaBWMDG1LwdsfTQGe8aa3fVB9kJ/PrpjKNypVJmOP/JT7mp9dW2qHXY8/rcVVx9i4qWdMjSF8JMl7Koi0pa3mlngYf05rG26sYG6wk9kcEqZ8oKmh01B0Y/oE3VhbIzcHHQo8JmXPsr8+adnzjXehcYSaeBgY+kzwYJZRYwaBkMq4D7JWTtEvxNLAqUVxQXJe/ddFTtrvjKOkSBJJKDTQe4+mWQR3nEsiFS7uirHPFSP0WQ0lG4srwHb9M5HS01LEceV67piBb8uEXo150yZvB0aEOppdtTz4ptOf4CO3kIQjnSAafQiP/2i8LIZ5Q7wh0Ae1+y/kIorJk1sK6BuOC3DMN08pau8ME7/+VH66L8gTBpn4bPi06KSjNeo6CJK7OtvBfzlZeqbuYLl4koakieZBD2JXPxvwwvenOIOFEO5x9ZNZwVl0T4hc+Keg3GH/X5Oyh6Ya3fCBRkJawQo0Cxo/eSZRuuZvswBIiwQ41gwr7uZcseDsxAhzUu0/TvP/ts+l///COsZ4y+ufJlDeGtgL97/y7rz+4yrfua9TJcrUbjdu2PHZfhO7fYAUon+cYdpwixHaYh//IvP5g++vjjjISfcFuBa7U8luDrr77Nwu/dh98JTK5dcAOJQmN9E8GH4uHo0TUSDz/4EGXxIY1xhqB8lIZ3iMD5iqmVX33+BWv8mJ5FIC5xNtwZpiAXO8ekPnuIhVGroAKLDojOX4aayRj+1HSkOk7BfCJDclWQTKOy5RExYCnwLR7iKptJBY8RiePhaxjPFsiHSpBleIyF19PYac6Y9rOzi5AyWvXRxOM8P5kXBfVCRQshlDteYdYWxNLKju7As52YRr8GL64LMp0dQhyC8AjlxAaWRo+l0nUy8gSqK3qRClfBLHy6IS+qAnqpTNiW4Jk4rFc2PvMTL2fQWjeaEbDY2IBdOHDu2PW4FBUB79fkb5VBI8xW/kzhWBw5jJ8N0XfzcmSvE8chDdM8/S1VT7FoUjtwxDEw7oNbYoSPxXRn6yMOPD6YXn7xL9OVCt8JU7kc61PIMU9/0E24VMqAys72+JiT9hEkjkgzWrXupDtnp/QSyqQ7pt3duzp7k93N9+HXJdbr2YG7s/acNWMXKHzVDphaROnOrRgB284JvDsgUPrw7nq4ZXdKIwmtT1mU4F1gWWJKfJ2OUJfzo0wCpFrcXB94Ko6YGnOKxI5QK+h8hB8aOEihYBRgOdfL7k3feBYHq5QjaIfg+Yg1rPmHoipuLN/O0I0cy+eIIpVvEWY6yrLMk+PXoXUpA7YVogFX5ApwnlO/rPHj3Trq5A3jN58Yt619+rXC4q06O1iOHdW3otdrG/1WAXCXrG3RQVLtCla4s9SBKV8VyPBR6sg5cuBvk07dtZ0bTtfy7bVVZMGmDJRyBnHH3EP7GbMLP/3pTzk25ZdYdL8CBzRMEUG9Y1WlHtZTFs+5f8BiG1aB4H8cEBGBdstgoNoYg2GseI8++M70F3/1t/x+OD1g/bIyE8YhZ9azMsJRiVMmyAdRjhj8HGJtdi2giibqCXAW/oJDp2uhwxoj8jXqKe50KqT+xK08dsIAV3xCnchmBziF91rDZzqVRsv26TfZYTGRZsLnLEApcVY+ChVLYpY27oaWWu/Ud23hSyjMyzP4Q5pQPxVoZyaER3o4mMsaPMK0bBYfmFKS0j6ojz/biM1fOJxCNm3CBuylIqlFgGtgDFF4s21EjsmHtm0IvWSbo71ZFhGlDjxVS1qkpc78XGOZATKEdIpc/rKuKjmRbcRzQ0WSkJUyQme7MWuVvyiggYm48KJlNr8ndtoQecj3Li2hZNNW06q2k8E9ebs8RTlJ5Y0VudD5madLoJy10yBTeKT/xlp+jIwyvkuCSI0DP8MlHzytt3lYc+vowEEa2Xf7c21gjokRmwDn7P2a7T78bga0tYBmevqDKMnAqx//VBYzEwbstmEqTNrCV8Mqmlpe+NSZTwZtwKbyr/8IIk9zxjlo5eEVmUrOqKMEpEye4gSQ4Dvxz059eHqN0XKuhiOtDjIWDvyooudYEtuJMPyN8od0v4Oi99uLL7SUQtcIVdFx5C6NbdS6K0Z27vpkrBuiuQj24Ghp+vmnT6bPv/yWhjZlKvU2x21sb9/OjjCFs+vqcgUODdGDkD1iYnOb610g6glMZufoERGeR+fBu6oYTs9+zUXfn33xFYL0W9ZDHdAhbk33Hn40Pbj/ODJVgXfEjr2HHzyeHj5+NO1Q5h7Cbm+ftSus4TlhbdEG61v+8Z/+Ff7hsGaovscO3pcoo8INiWFSFCAomCtk5BS4KgKZp7ugnF9U2auRDVTnf0ZmpKaJiRZeYLYwWjVAR3AyUzNlPyvyzV+VFZ2dd2gAfDJ3HA/DEWdYHg0lT/w6L5Ua/+GNIFUhpROBcXU2zAgNWp3/sH/KklXPTse3eenvOVcqZOeky8Gglsy3h3MqkIKHEZ+HKCg3OuWKW8LKAPMU3loHYz5VTzIV4ghD4e66XsBnsXgSrhP/hvlpHZ1WKWeDxU+BMnzyEE5c51cQWA5pEQgR3vAttSOSnaODAniajvIc+j746Icoei+YInoxHb1+OV0dv7RgAYkCfc5i/VroLE1TlKWh3NEWEAgKC3kox4ngl91/wGgHtrR8NLE3CYsA0/DrnIu3fotODosg0/6rdEZrLBvwWBl5KvxEAcERNPdQanfrXXJ4td1OrsaSCajHEjgrwWWnCAD2MHToBtsBmJvtSLw6hWbHxnCg/KCppAu+wAvyGwDhGdIVTxBORvIeuYXe83oTz7z1N67pFKgiIUfjEOJB0Dota7GoLd9KWZYX3hA+4tcyA5NrHbRTtXzrZ4dQlqPig4q/aM0Ut1E0SDtTyZTW8I35+ktNeeqUP16pZkfuGVkKffM9dsDK7QfryADzunQKGIvuGnVXyUPfoxPgYGhuNjh0un//Zay2x+S3/9rjlp6zpGQveHBHcDZXiBpqaTP21droCI6805Lk2rHIE2hCSfCgPRlXbm3dYmf8vWnz1mP8tqdvnh1Pe4fPscZ7CgHtiV/XW6tjHPW5umbgAQmoAj8POq8uIbhAgUI0RPnJ5ggBQzOy/pkuRj4vU9H1FSzGK8yohBfLErimgkGZdui60A8ZsfiUVm+YESk/+grgEpcOiC0/1jfSqgOXXBoYGXQyjkqFna5KRJ9t6PraVdsS5Tl9bf4lg4uvQmMVPfBZSpeyTB4o2FX2okxRdqaxQwz5gZ/yyDYDhTJQpAyRlJ3xaTeWBZxDbmlJlJAqPQWH3EVplBUljjZqW5Pg5mo8IvJnOOK1S9shSDg7im0k5XV0i8YvyhKZugFRZ946m0jaHu9ltYPw4evhT96W6IAu8FBQ+gOe8o/M2OUJq/QtaLsES7lxoRsxTOO759B6qLr3/QrHJrNuwptjh3gqUGDtUQ7YC50ijVKOONeZVnwEVhKYVL+uW8dxrXT7V5jQGk80vw1zp1WO1Lo849q/mgegUYiWO/kjoBLPvlo4AguR4KrIIstvV/jpr4Wn8i9ycsHvD/T63oqeiAAFQYKVFwkhLkTtpwjK7AMdp1OLIlQLnNOe/+0f/wfHYPw8J6Hf56y6XRSxdawUZf0qQTvLCHmGdQdhAmLV4s/ZvafA3EQIf/CBa1AeUN6UIzl++dkX7G78cnr+4hUCAEWGDtE1UCsetcAocQPmcsH7GULr9v0Pp527jzLSuDy4QJnb4yw/TsN/zq0TdKo//unPkRrATL0UOFrMXAAbYqMEsYyQ+kBeOQHYfMoaKq4ho/60iHTGvMdSBnGbMa7oYAkcTCzjKkBIg2vGy8c73zZ0w7UyJFXywNNeQYcSIhN5y0VgItx/cYLKiw3Vc6bSSUfCUL/OYggzTqdLPSxvsYEnH/xcwxLhTCenMM2h1WkFlq9AqvLlaeFIuWaWMBoQmCDnyg5/3ywncY0Prd92YrXy8pmshNW4Cz/x4HdGjERSiTHfzr/SKkBG2eMpXDqhMs80ZJ9Es6NXUIovecB7dHe2P5yuz9jIwZIBLW9v9kjvZg1yuAQnKocOVT30e65zOgiy/vmr0qOwdkqMToCBiwMazBuUP8u6yyUGHGtY+NY2OLaH9aprm7f5MdhhcwicTFVpxnYYINlDXN0EkvO6YE7pn3qAx2FnAJbCg/6e8j76pMIA0cMPwBcIhY1f1B+folrcxGFdxI8UbEgwPv9sC+A5Kh3IynKBEVsBSs1whfMoklgM07aCcEGFbgaL6wjUimuq0BMAtKAoU4SFiXirEfpYLzvheSnA4bpe07WiZz7KJTstlUpv77Cei071oRy0QQa4xtCpWFkx99Si6GctHJGEdw0LZY6XwYrtDIOH9J5yAsAVhwU/f8LGipffTE+++ZJB4lMs11qozb9+Llkg04IB+RizhoVn7ZVxlCnKzFLYVdEjZwSGg8rXN1Dudnane8g/ZecWA1aYkeORrtg57wkE4DPLCpQro9Me9VPRcSDuTvU1eGlNazbf4sZ2o/XFNXwgL7Sg0pBlyHVwiq0XL/gOQqyg8C1jCQS44Furmi4bUPQlvtNc8kcp5XLLynQHi3IpAbA8ip7weNyPLnDzVBFNX0IKnYO/on/xXr9HtsoM8GLaOjAo/30v5Uw4mndISz6iHE5IHGF0AOFTvKt859gf31OyYZZJdvhFMgW/w8/4ZKgS5z/hKsXc9lC4CSwjbQ1WTFvpzbdqSH37Rdj1D0yWm495vAw+rB5wVd7GJUey9OmgrtOmfqYf9TUvFWSd+M3Gie4/RrmuQzffhPMMtGSeulHADDnUsHY55idtdaZz1sw+Yv4jTy8a0MUShvHGxfYeQD+SJcz8LCdPeDf164FgwqwncYitwmvcdr20qftdWKLwsYAn49pbAyVho5zwFtRL/vCHbYF8xbN9vkswLEa5Ztv3PUoxLwWr5RRMhYGG6E/7fG9FD/QHWRKhGc0Kq3RJ2FL8QCVakrxDO3N9aBQ9z5D68Y9/Oj3nMGGtgB7Uq3VO9MeULvMx6l5hemEb5cxpq3PWnXnRtNfzeFTDJgeAas2bocR98/TJ9NN//2T65Oef0kEixFHm7qA8zuiEvWHDdU6eebfDu4J7CUVv7+Byenng2X2HnAP3Ime9MStLB8k6H2D2mBd6M4SfBHZkj21DIiMQ7Mw0eyt8FSAyUyuo6dDodDzMthhV8zzvWpBgBIV1Gi2MoxiIw3+8zbnCtO363Sc8FmcXkez4Iy06AMgRVJQ/RtZJY7r+GZUcGFwBt0pR5adi5vlRET4AQxdeAk/heQNKhK0pcuI6iWPyZnOMnG8ZOZrAdTvg0rwF16dwywe68INKR3vErwLbr5pMoieeu/DMv10Ui8B/UzfDsljXJ3HzG4ofPkna+VtD3/UNjAk1nTKH5pFO2G9CB81U/q44l1BF7IDpl9UlzsLaXJ1u3WfamU7z8PWT6RJrSrYbJ193FaPckYdUB0OiCXyW2mPJlmdY7pqM0kd5KonM0XqF1BkKwhm7yh2srJ7sTbNjdnHTOe+wmSELjuBtlYNL8OOtGrmUHAVzjbajZTIdpc9Bx8ILgp5/8nF0JOseWtD+eBUeFW35Q6uenYl8Jby64BA9QBrozHOZ/Ftotl+UNz7kH9HY6f2wTS0zKIkiRphwWkIEKv4tvEuHI296FbtYB3y8CAT5VhrL1/FZzhfwEoEMT6sblXPwQltEKb50qYB5pN5EJ0QlxZrS8Dnv8R6eWpnorJQH/HO6TvrRdFHyyImfF8arBB4fc8cpyx32Xnybg7afPvmS6ed9pkaZgnb0R51LmaB8eCvW4ZTVOK06lLUBZYuZCA/rveBXsoVKsHN23RtgZrenj7//9yh6HK10bxdeuJfBqbfluGb5gsN6d7jtpzpiakS9cgdw6iresKgwuNhkHeMmd6baIR8C+7HT/dQzytsVFmmVZdsCoDm4UZmRjm6aisULZIROfGudzBo5Okifq+5eJbJDW+GQBIqXkAI4ZgxcUmPovgz+sjvWzkNmIT+X2Egb625+uihI0k9cCkhcyR2Zong7uWZphm9t0bMDst4ZTPNcYgmRyxhsd+Yk7VV4PDZIhTebIfAvDjMj0WAeMh+kQEkRVBBLPyC/VUxlhFZqp4Yp3D+pBy+Br5QCyh/9g/7tum36bXvQNW93bePJH/Np3u2ncSOPeYbnFtJ3PqaX151eFq+WkyOQqHOXaRzXpCY/ynEXfpSdWE/FP/QZil63z5tntSDz8qcCf4Yc85ikHOVFvmLcqXzhFo7ABp2969hzPz1zVlmSJS5SQHoRT2e93aAo3uPPe+NUamXQTL6VhjyLXPk2XjlwS3oxUfGM3/TxyTdRUxZtwBlGVwf5nbWylOO3iZQt5DJPX/mEXUZZhr/jBOrXPN+J83v6fH9FbyBTYmaUPL5BR76b0PSAIAeBRcd4xjSui2w9msS1bh594p2HrqfwIOEaRdjI15iqJZ2CBaS6VuiQkfIbzmvzaqsPP/yYQ5o/ykjw0199MX3yi59Pn3z6GefWnXIrA2ffPf4OjZAjJthdu0Z8r9RyJ6PXXnn92mvWphxxCK4L+rUwevegjGRcLTbuHvWMtTR+BRUM2OcSqchQ5Zq6pKWn/goi6mg3UUxHfYmXzkyFy5Ex8BhmjWQGhVk7Wa67/vZrOSYj6ppxZRAZ0RGHoxkzM4aKkA0nYfh5DVqnKZgs18QlQNQljJ/RK+nnAtG8qEksRETPOg7D3xGkHgJqJ+D0iU5YggvwewWt7ZgtLwLKcnEUF8UinvgN74pnYOLUs99biFGzpK862YEInPnWbyQ3WVxPUyE28m1ZSUt8cWsqa+rxDoBacOETHIkB+2Yiukc3i4WDa+LTQSo9vHnFmwXWUbrc5HMPy/EOt4Ac7bN7/PjVdPj8K+JxFhzWnStwovIgxoTbw0QvOOD7BibLkpYqFtBWW4MVogNGQvI74Pg+Ft6fYN2mA1zB2rR84VVnjIbhWdfrqfyt8H2Vc/jsZOUprS8IVfKUztRydN7WQZ6sQUrTSarHEdWOjEjhy3RkJtenES3u8Qu+eNqh+60LnkNcqYa3nSBhnVQ4IjQBYwVcGpY2ZT4KenAtX1mWHYh1kVYgjbjUiO+sbSJM+dDO1qWz6BOP1yBxWhwF9Boe8zFfD8i+ccST1kPesC6EDse0YtApcqx3wLrsUR2Jo00L6x73dZ+yZunwYH/af/mMTVlPplfPv0bR25uuzrzZRyse+YCaXtaiIuFUb/IGUP+JD0uzNmCe8jx3Uwtt0cnlIhzsyJmSzHyw4WLrzoPpw+/9Hd5Y47RMwg/uOr+i92FJKesCgROllL9pk+a8OK0tT8yYevbcxlw1iaK1ek4ZV0ynwiuXKOEeWA0h6NCKl1booIUyB1Dz9E5b1zDmmA7qocK0hEy61lLLu+uctQK6NEF6SGM5O/0r8JwyOAnvAFyWRyiXZALjU+4S9QrDQHzLjVOhtAWZ4aDjnB+J1Xzn03WxCbNdxZE26cQy/ygnyyVGPkZRfl0wWMqgSA/itGLne5y8Qz6ubQ63AXeWY4CnlK+s96eABW532lIcbvA8zGA824RO3m64eCFWufardjuyGGE+5O1kK0Lzom+VFyxp0CC/4F0YDM1TxZP2gcFE5d86q9T5bGc6l0q1cuf0qhZA26zO9pf2KezBkbWzTn5XeGY/iL/KgMq019DT9ZYOruxD9zgUXFo6YLhiUHHJuncvDVAfcMOgsApn9y83eBH//PAATHisfr5bS5V50zX+hCd4MI3w8Ue5J+1h1LTNyCLSqsRBuYqHBmf916iDsmNVXm8giFNrKJvnOm+x87ajyLcd+Po1v7dj/F6/3lPRgzlsIIDksQq1u8/KFzNLdjc4GL7Cgu1VRk9nXDV1dMiod++A+Fdci3YPwos5QKHT0aSbkZTIRaoqFLwV4zWLmmVCd7fKkHc5s+173+VmAXbOfvXzX0w/+rcfs3v3a+JObOJgM8XuQ2TiLqNVprkYFbsBZJ9NHV4479SYh/e+4RowxBRTCu74w3KHUNI6lzsEmdJ0oeUJlrwwGxzlGpAV1jzRgsME1subDEIwhVsaCXWB6zy3y0jOzIoPLSNORajsihdd0jsUKFERv/jLocPNmSGMKfPVz2DfgSrM5nscTDtvrDK1wkZhYDrhWEhv/BkjFfHtz3TKi2pcYJ4PLZgKqYYoGwlGHna+BpinIzLTxWpAnYMKoFt3sRIu5XYmfqeOdAQ0HKWC4e0UAOalS54U0jDFT0E/YFhCCeq0PjsdL/P0i+HzdKankXtLhp3WooJrwo6ncua7gwwe0FrhYxeJgsA5j2uum6PDXmIh7gpns828FYUr86b7HAR+xuG38PUlBwmeHe+hoHFmFxcE22bc6boszhUpCFqyJ28EoOUEcpULeDG4cKpQPBLCQbeT9wzTIV+gxL/kXL9levUZa5E2Of5llQ04M45oWVdZxN8SLmFCp+BjZbCj4r8jZvnS3eC6rq/vvXbFshVyiv6Cw67WLzm28LvKjnidlryEiCSdgp+Ha2wUpDqoQ0LrVzyhvx1xDYeBI/gtpTISnLYRQVwBwADezT/0SpZ0IPKddC+FrUoVc/I75albU27KBsLyr7TWQp63Y9K/aEwnCVweraN6fIZ1y13IG8iCNe55ztQl1lU7yMszLqJnWvaII1Jec7j36/1XHLj9Oru0a2OOhQuX9bd9AQ84jUIz+FNI7EAcWEbJA2/urvZIHa2R19nMhLLFbu8Z9N3hOsEHXOf3iPXGmyh8E0fznBH/iDWDHopuZZQzS8gvjxnygHlp50YOabxsvkBgixZvB2wmOwd33jduvFMPOGRKWCtcsEK9Tae6Eie5iScb2YZj8YKPVMptt3XwNAqwMoeoKpo+df0sjik/8S8f6iJngDPHj9guKPcy8pEi1YQsl4f+UbwEMfXghXwsP3xIOJKWOkBT4Le11u5Oy9CfPKCFTxUEl89YF16Tt/B5z6xYalkq51gDcuSpK5ilW1Uskpj0Iw/43rbjGkD9dMIdzvTpjyyi9OS7wufx8NNJk/FSz0W/bldGIf487ojjt8YSny3fffrdv9wbn/ILJuMLtzSBAshv+0b6YniqlbzOz6e8W3gvLhePxV0FbiylVAWNgGUU9PHQkyWskXfG06hDd44F1TMNMfygH1xc1FFIwqBlP9Ii+Kx2bVvPrAHpySl4bHwGbTLJcOEVYPJZcmjgPnWGLyRf+nP9iZe+hXzD/4U/6SSfJDxZVx6xmtrB2+ZScBUqXnR5zEFRBty4ufeN1x/07T0VPREQ0RkgIzRpSDKGDdPrwFyM7hSumrAjB690evqEmxteo7BBQi1mntR/gYJ3bqcKjjz2QQ3eDtARtpefK1hzQTmU8b5Gj0Zxg8Qnn34+/ewXn+cQ4zM6wDssSL51934OnvUmipX1O0zXXk7P2ETxlMOP999gWQkjaE2hDKYsPER0GQtJaIXyqTJzrrCViUZDlpB2yq6HumYqV2J624HN3S5BUzFSLXjI1ABl+MwOSJ52eK38KSVtEN05VS4yUpF/PCqvwTQBzoDxM246NZ80CH/CpKD1V+/VwCoJ8eRYHLXKM++kSwdE7RIiPQmWllUGafgWZZVnCWDDYh1R0aJcdwcqRKR1pVWJ4ribcTdt8ir+T9nm5Q8ypzzD05oGZIYpQIqn6qlgKBirzoET3tCZ3jQ6nxrBdFt0zu+6lIWnit5MPlM0KfXjBo7MHHeNomsDt66gqvxIpzpS8COGVPT4XmVR+ioj0nWUvjWmw1av71MHeOlkn7MOn04He89ZnL9Ph8wBiwB4vYQFOSADe8RjwSR9SmEBn/zzm0ky4ugLXOn8gRtF8wrl8QqF75LLz8/YCLJ+eGc6RtFzWk9LzzLr+5bdtcuU7zrrU9ezZlVFgNwYjASnEXTSXTjkIy3RCjA6K+utPzgNXgnXKfh0yP8460E0Qge+08YMt11UGvk9gwNSmJdVAUEJ9rgXXSk2vPANGFm7W/SCH/mud7Ew4KAOpejRLkN/Wym1ABjhKfWTFzsHiySOJZlP8gpRVezkd+slrc3DIR+dkJoili53f58hR1xD6c7ZA26U8eDsF08/Cz2Pjw5YqwldSWFB4iULyS2PclVYs65PvIL1gg9cW39Kc71cllq42QLr8ZI73bHMqvDNtnan2/c+YJbiMdZiDkK/dS+bL5ag6QGKv2dPekg5NYCPoS0yahlZaP3cjFNtyPoCl2XhH1rSxp2OdrP4qacIiADLdvZBzgB2URrrsi8441S8fFJHLG4wQ+KRxivCLCWdNG2rj4bptJXq5u+S6/agQcMUWQJcNrb40S5DV/ApdATMExtui0g4AJh2rr3xWjvbra8kGRwTQIkrm/JecrMU/uROXfQzb2uiIhJ/mTEvLU/qW2pKQdmophn5EkfmQf3dQJNkI0/fC25BFV6f5qIr3Apvcs1L4d3mkXomhDonDn/og4rHTf1OHOp3Pm7+UDa3smfu7moXjk02a/i0z+5f158YUe4M74GhaQMR9XGQ5kArUilV8Y+hgyYjsrWTq30qN8RrYY/ysRg7c3YKrNkN7loiLHtOE4ueDeR3rg01LWUqjyQhTMmTHEd/lciBTBwaXnDw5UeH8K6zrVf9MxDlO/AQlVIjoyzblOoiUfBMYz7wgfkbZr6/yaV0/rSc/E3x/lj+Q0z/54srRN6kDxNLEDhTwvgT5yplcBprVQ45noRdim+4BgsrhATyEFO1eS18di6mEYlez+OITMRqmfDuvx3WBLgeRT3/62+eTv/8b/+Hu1e5JoiRqFMaOyh5HpHCfjiE3Pr0q6+eIcSupjdMEx+dAgvn2zl94nSqLLrKmkDX4h0p6PBzI4hMrUCxYaTwQANMMPEJfk4bRakB3DUO1/Wy6VozVORXTsmIKhuzcVCrSlYJd+oDLkRHO3FmSv2Sw/g2vOPJgFEcF55hOP5UA3CkSqNPAv4YSOrkzWsaCD6FWdFeDe9yfrUU8BLfqlcaYtb/yE4VIRdBV5nGGQ1AiekC2XQadIZZbK6lkAXqdPKuraz8UrN5PWWKElwFo3XoeMLRQs1OqhU+3yk5ArTjX6FY1kiN2o4807GNDmJn3A1Kwnl4x4tFD7DSqf0GRc90wkV/lKffCorO4xTBtI4itc4ORZWxJUekrmsCL/LYR6yhOuWMvNdb97AI3cUC9BSrD8qex9JwB3DJeKgLb0XxV4BhjaspBQQidQrmoohAM3CQaRyVPeJpUXZTwTXntZ1zW8c5x5FMbzgQnGk8FYVt1vCtohDMmFL25o1V/FQilt2Nq1KA8ofZljIQxQ5v6UG0KK2rPACLQo6A8IbHrtgy8Ez9xIP/UongkTDgjYM/dCVIiUKbsSJN14pnXMtIDRNfKVs8bBmuk/VURHhceRK2Bs/RFlUaaXcUY5H+nCo0sZTQOpcOyLj4K6Rtk8Jgp0Pu8VtGSbejjV8UUdoA1jzvhl7h+/yUu2C5PeGEadkj1tqdHnFuJhu23nDV4hXWu2nJXa3IBMpDrKSNOyXrZfJ1sLF5E2XwT9QxQWIQawPT9kR3yZuWNiCOBuJORpS8pS3OunzMbloOKX/8Pe6P/jDWWnPUeHfG+uIL2pnH7rh5Qqt6aiINGcS6qcFDlyFk+CZ4LkDAl3zEKQYc+1IKgLCDm8jGopP+trM6kkfySCv5GtB4WuegnGeUbZRh1ySrKNe5iEzJMZPzloOXHCTJU/INqKBg6GGmEFE2mftLIzt8vObN03TDSVoticIlX9lWxOFbDlyEu5RXBHQ8n/JE8lfOD7hyA4f+RCYpmC6LthapOgFAGgmi8th+TdrbCqAyAGkxFJ6WT6I776SXh+FicgePirKqfWB6qw0Q0t/9DLwA1U9ezID8VJvedsbpX9EWGUodlR3mp0LnhQM++4ggYWyYTQtzJNMuPzJVnJHeX8fX0iceujzbUllmgUE8kaYpYjvAl7qDAfylfm0GAT741zy1cDp0P/YgfhjSpSiqBYJTZVtn8pHx8Oupb/ujeEgHcq5YPvsbvIdWxiuI5N9SxAaPmKFpR318qsdkTWrCxOvgWfIADbiRhnTyY+NBFAZQo/wZuN+DooccQaPR5OuhqIesj7OyEtDTwj0Y1rOLvBbMq36ODrF2YD07O33NGXe/rDUCEI2xB5o9a1kYjbpexA5CAXNEOqdrvfx69+HD6a//6u8Y0d6ePvnZp9P//pefTL/8+nnWJm2zaHqZ9SsnHBFwjGA7Ja9zrD2vUALddXvNyNjbKGzYmSZBOGZ7PdworJ7rZ6+hAJNGuoSr2EHRNadymaYKMV3LYhqUGBepH1OWG0MURh606Uguaw2Jd3jwOqMWRy5Ok9pgZAAFm4qAC1Td2aUYUpAo1lTYLEdnhx8GBypHpXkfzwBKvHQygL9KoyPLNGobtjdNeKBsmNfGZYI0MmCw5fDtuhJ4uSwv+tgA+cnEjojNJzAZlzS5k5Z6q/i5Lkkl75h1k9JIt8W5S9bVKVHztyGZVxbU8kLVAoeWDCHw6rmbxkHZWgQo345DeH3nT5pmphWooHiq+ql0W4adTzVeeQbmybd+1k9YpJe4a4EnrFG8URRryq4FWAmcUIL48+OBqIOQv+s2UPQVIC7W5w9FYz2jrBUse8tMgV2wPs+NGvc+vDXdffhdFIU306sX3KzCxqE3r76eLt+4fovMpTNVyNSgh8xiOcJ0zMib+lKuh3PaoeQcLeCSjy6YBrYDys5thjYMjQCR/JhuvD5V61idDs/3yR7FjgHMOtZrlb3NLaZ5WQ+r39rmXfiV+zVdvkC71MpH60U3IF9pIP6B7xKlSl603Nw8AJ7t3rz6TOFuu9GFP4EvUt7vKDQJyp9QXSYIPml78GforQygLL3lN5Vw0e2NNXaNyTeNomggd5j3TAslaUN3840/bQEeMY9c4SZuydhZBRdUu0PW/EgEipyy5EdbcemJZxgeY5m7OGdtHbtnv/3m8/idQbfjE6Zl4fVr1lUCEvilS0KxR8vmQz7Qu+qwRptOvfgusAtuUBoXOWM7xhrrOthzp+TBsTtm3VXt/dozBgc/+Kt/yHOdHdcep3LmQeBgSPpodZV22SRjxiorWQajHIOD4f/zsbsRwg4YC04KohPTTzkEHMKP0hDLIACbXvlke7FuOe4m+DWN+OZBCq0t8r61Nr5yVHlk/ZLHqHDwbYp82+lWuymlHf/kBxTAhIi+cVGc4AnppRuPYktwm3qZX8kKn7rKTxJLe/IlXT19t+yKl13FxM/Cf+RGwVm0IlLkdK5p8x3vrElTqPGtkjdjeRFYG/mJBWESF5anvMzEIzwgjOLScvlVhDHFLE7LLcLoe+G/YDeGvJQ+hPKtwwnrQ5WB76bLt/HBp7SbKZNArPhqy51xVqGZ7t30ykZd4y88HB/+AINlS/UzyjfP/EijMksQ6QgH91rmBgsktenkHZ/u1D9moOzyG+w59B1cioDOYJ2dvXtFW0vfhnHmikGpFj+WHGLlo0+jXvY/3jZFaeRnpiWfxHNm7SDYBviP3Mpgp/oXRVWsr8CbNaag30Om3V1vP6FxKZvBUpfCcypNfdNnUL+a6Sh+sN2uu0ZW6/q550lyZ33o3wj70z+Lyu8Bh4JNotnxS8B0BJjvaP9z/zfcl+kusMMjDjfmCp6XLw+nV0x9uDNWDd6NEbW+jxFkBITtAIYB+UfsVoMqjGYfc53P9zjc2N21r6Zf/Oqr6csnHGPB1NQVwu74YnU65TYIVseTp0IQIvJ0ndI1ip7TETnbTcEBFa5gcJkzI7OUpYACaMqSxa3TnLjA4cjHA5a37HhIlw4DJnuG8qoEwGiI8KXjIC+yYFE0jZScLlD2PGPrEiXMb9OO1kpnrg+CiJIsVflmgwNq/uloDMbnaYduvj1yGVASTnwFKwmoFU8asvH0598q9dAaqpLoCL42RwCncch5lQZzs7bFevMjIA3SMik/MAMcVUxn6WJ1aXaJVeoUS5Kd7DoNSjO3u6a9EcB62Njxol6jvFQAPFk78vDpjlIVZOFSsZN/wk/yFIBYtuEAP/dX4Ebw4J+jQIIz+IVvIJ4/fffA2EUh1nnrZ40irkw4XOoNDOmsgiECKLDX9iSaAMhHPD0B33IiRIMveNga0/gvsOxECWWQsMoC/mWmU1c32Rm59WDauP0xU3/fm5589qNMuR5z3to1U7qsliJfcM56Ude1XiJItdhlnAtOLMuznFR6VYFOUVDktKo5Cosdr9dcuKYP4YgZijCsRser0wlwnKIYHTJd4wGzntZ/5+HHURYcfHkLhzvVXdO6xu5hldbcXEA55usuSwjCO3W34+LzDMVSvliCz0Mn8RJXT+G8+RbfJIL27bR0y+3u7LXeTauaWmL4Jy0gtvWGskbBSQ+iM/18fvCU7xLANpUctMwzG8BpCNvbpDIP+EcLaCzvxKdi0Ih2iYXukrlLD7I+5MYKN1C84VgSrbDnKHwqkyrdF9KBdcK0bH6l/JSVUhqTH06emfNpsILKrLKEv8eMpJ4VlTQA6eCTwcA1Mw/SbxnrhTtodx99ND1+/H2WoDwGpyjj8M0Sh16j9lMPOiNkWXYpkkr+Nku6Jv4Kg7x881vLZpogLfGMUzxfgNi+0iaCXfygX9PAZ23CqvSVrzkoEyyDp/STEcCx1rxyho234Vdw6Wc7Nj9omR5XOOSHUcZNUvx0ytPy7KfwBjaF1YJbDG9v/fqn32I687H+PaizPS+Gy2OxwlFHqpe4qXfqRFrq7SBdKBoUByl0F+ClyvUYMPNUCsrHcrGkzxP/WAKTg9CVW4RXpSf1HfLPGB1ufs5o+G09/LUSt/htuHAtxku98bdfeNdZXg3wKsRvIW5X39RxoN/v9jNOf5sisOrHR8fRz3fD7b9smg07sSo9dbH/PmaDpOdY2qfU7ICphkwAj2Vxw4vc5KsqWx62PJ7iPB0MbXbIbeNEWcar6Cs/AQTh3R8ocar/GvSU16Gr8gPQeBYcsfaZLzBV2QMpgvQb3BAXvyH0D+Nd0uE98+4KirzFjho0MsLbQKlDsXuFEEXZe7V3ND17zjQICt/8nCTSOTqNyAJ/FxGukpwfIwL6UgQa986Sz5fPDjhR/tvp8y+eYL3DUsMVZhfs6DU8p6xDRBUXVAxQzwn1WBm16CFFeSqIFLjQVOtXWlx3ElAPCsqExeQpnQ6vRkFl9fPOTKdYSI/SpLXINQ4RVHArn2HYtB2Y65qO5lylSIXIhkY966Rx4aCTIkE3BEoHnmJ+ModpQES+ZVbC+I7yEQaTMW2kBWOZx0GSwoh8TJdNDo7g/A4+wroGwqSEJ1PKAO6atlJNDGYKf77aeGRsRjo2RFUancqrx9x43McJp+nbED2eITulUBgcnYUXeCoYSz8Qfjxw5mJNfXYdlAShDPhqfjJOFF0lgTgZlgMyIsR8/FvpxF2wQZhPBa1p0wlLK9uiYeICOhgnufBdFkzyIb5HZBivf8YhhpEpz86MhKamcTtFoTVbAvlPIatiHIHD1KrKv+lV/C7oELQkMWDECsAUKuefXZ4/mO7c2uE+1m9Z6/V0eoml78Iz+NhJW3emahVUUXKal/YCwgoaeU0e4YcfUA2hS4HAY4llZRKjo4k71ct03vUZAvQIeJIZN2ccPqFi3O/LlN0aNNzcuM2RVhxXxA01qygXnstWV66prLrrjkGTfEX7cSHaKfnKF9K5FL1gP9gVU1ol6ylOpZEINA6f4NlBULvATT76pyMi7gp4k+9r6ty2auxRXxS3rXtYIpk6jSMe//mBA/kIiSKPeTXZWQYlHIZOx6uVzztkVd5e73/DCNx7h7kPGX52/eSZa+2cWs9uWfO2DjJQ/dKZg78ldpa6q7vYpeAGGPhLPquf004OMlV4c1SNeMLPDvzKw44vsKLO7nAD0CNu4WGadtd1eNyrzAzFCht9DlkXeIXC7cAhey1Iu8KVhlq+RKUWVaWJ5+zpnGosZc2ay4sgZHSAytdqW8KW6IJrYmjsS6UxZN5WHfziWq77blj/bBPmG3rJjyNjs/fd/I0LFU2a94JhxI23NShXsXwXFuIPfsh7YKx8/bYo6Z33fPOhH/8ycDBAPvfREY0w8OCg2KlHy6rwgkMuDYy0ca3AnhMoTa2H9eQPCFFuMqvBJkRrl2w7neVbrPFT8yAh5QpbW+AMQ+AY+wZv4jBJCxPn8GpwSnk+hUE5Y39k/7XN+XPC5K+VvH4aV7f49L1/CQSERZeyFj3G+yJMi8G9tKSfhiUPEkif7EbkISSCY+20sCm7nbmyr8iSIPsY3pWTtjPXvNuGDzjTVqvoxSbtjH4mMlYc0Jfbl0oKezb7D8vrH5ngKENDQuS9wIA/+UkNNcpZkVIeNZ/gxY7CvFg2JnMtsfRBWDWI5HiVxDMvy7JcZAyfvEnNuNCpqlEBw/9P+Ri9wH8WBKtnpUXy+EXIiQS/aQwwpQv0j9lMccRp2B6r4nU7HkuxyVlQEruFSBoRublTLMRm5KR1wbUme1gDv37xBdekcafsS9YiYSZd2d7FUsbOQhccm4/ClzSe7ZZFwjTiuqS6OiWtK5BOOhJenXJNiUnkUJByCQNuYfcXmHi6K80rguCcCBc7D8NnW1heYDw7IhnCMuzwIh/JU2a0/mc02DDFaJRECXPIJTZYGS2NtSCA+S3fRm3DFM86BYfOevrJE0bT2amVddJYpBMG62sdyMfpBVCEZ5dXwiFKgumNRzq7x8RDjOmnoud0xTImdRuCh5pe0klqNj9zHQWRFZabTMFuOeVuRRBKHhCM/YHGUcJTeE2vs2MQRvGkZaW+fQIH6VXsI0hNw790QuSZjopABYOwmlyI/VLoJh/qaL42Pt5yIG7i85301olfNX5gRGA0XKmvyYYjVvIGguBXb/OtqdKKlLtd4SWiUi4wgWvBj7KnzQ1e1JJ6RYdwieZXR03Ih/LoNptz/5bzz7g6b/v5tH33GYrHMxb6P51OWWc3MVVoN5opPRQsrxsTFvnoyt1qWc0CvvkW9gER73YeOjsyYbHOfKb30bvqrDXhijWzxnOC/pJdnidY+iaOiVnz6BbW/926zc5OrFJrbFhag74eheR0qxbA7OzEYl6WcNudllwFduN0KBqhF4CE94hjPQYvOKjThedIF9fxVdZcL0edrY/CKoMdhbE0xnL5mLtqHQC46z/XayFnTk+YekWhc+3v0cEbFLraJev6OpW5E5/umkXROzvSIuiqIBEUxhMdY/rGa7mYGhthGTQEBtsXNEgK6APDaWGz0aX+9F4qBqpdIAkWt93gxyYuvz0yxIPjV50luPMxa44/mB5/8PH06PHHsehp6UNUMpBlUIB8uYYuisRVkCRl3emqYu4AxbV+llT4tB0U7oml7+CLosMK8R0EJ4G8YGfXPEHsVDzP/qOcgZ/pKPtpiO+285QZhce2JRTlit+KH5X/tl8kSAcPfqx2OBrqPOzm5Sa+filrBPpuGfGj2LxbV9FLlSLDxrflConQ/dpTVJAX/0cMUgY/UrZ4Lk/z1USsowBK4qkEotXYj+ijXMJbSaElqOGrGRkTVrh8Wk7rO4oN8lR4jd+/ESGP2lVOxpJLPIL3TC9SrtbrG/lqPX79J+3a/cf5/3YVoOvRefi0nPb3Xed3u35P2AjvMJ/tryxdYbCER+pyQZ2W6St1wu3Pg8dPnT2yHvKcCiGdLSKCuhMPWWc7s8zgXzDg6Yahl95AosGz9mfKKvIAp66QvZFHUsKypf3gL8IBUN95GfbH1kFZlHbeVQ9vLOK7UpI4To6OnBvff8zHb6fy7wCJTF6VLoJLHBUblRTX5e3vcwUQ9yBqgj1iGkllKWfmaAkg7glC2PgKLu+HdeR6hnkuI2GZGUVvi87nys0U++xeZEPF10nL1wAAQABJREFUxKL2NRQorrPHSKEgVKWQ+BJPE6+avgIGJVPLR/wgaUA0HjCH0BBd4vitYJR7cCoEzTUhvFYHD3xEwWlrmESTWdzMkA0B1IVs0kGU2d6U5L+zSf0Pc2bgJZ2LdcxaM+pmaVk0DtyOUFp4FtOWMmJDX3RpJIseg8mascWp+QQY4jVt+mlSw1dsLDyvolRXdPNoeuZdAAdcZqkYUwvrDRzGcde0Cp6WzZRLI4Gw1KuE0nqmjkxbsNhgVHNkeAWd3aWKdZQAnsJvnykupZfrAh31SRtHwprKLUI4qzyCktxRIi+DdkkCL+WcKy0+abyWSRO23rTHKNIDv8lDmE2Is3zzmj/9GmHCL2x+mlzFSjRmM4AZBFZDPfDWhfVwFBfPuw7snGlAuwgoQN5YacDnFcJr6643Xtyfbu1+xHKF5xwDxCYipg/3vv0MJDFIYF1YrgK0TLJeYip4BYvW5TXWJ74DmwqeKBhOlTNr/fpbxMaB48BAO6UDU8UXVncPc1Cfh2uxqYNv2tXp3lcU6JoYFE2ni1VQWL5gZ4PGgvUPRZB4rsOtDgjlNkqp/IxFHWVGkLIGiuJ7sb+0kydz6CnhYqt2w8sh0llhzTFIDCash0puraWURxWm0vty+uJQq5pTq+eJ6xVjxyeH4I4zuWi3h6ytc3lApsBQCF1m4JIJrfEedbPCGj2nZxPeljt4xY7FLkSB3yh1aUYcHqpX5S9O6fJVmLTQQQjpKnTUljWoO1Hww3DiGFnmlOzuw0csBbnPWaB/QzRvpkCOoUwfn8MnpD93d798ytPrtTTIOk0o3cSb9Wh4lDfhb7UcgSK96zWFI4oGfmlLCSv4oqjAvH3Xs/UyX13LEusVOpGtWVMgfyIIIj+ND/uaMDxpM04rtA0bVUcdAh+v1X5Ib8Tx6zITd/HPaGzKA531fsuZRQL4G7gN913fhPB30M4Go5cPaFtthe8SHB0LDyvKQ0f8LLzneQOjcqPgSRzyde2b/YVtvHiI99StyuxzPBPfbA2Lg78ti5/yILNIBnVwRcrmQ8uXDjcKSrUd080VGeOTNvVbyMS0QufTX6kyBUdgsRkbRvI8lV1+k5dP67QIlH46n6ZP3OGXgBGmV/Kv6Pp2cNIE96SvG3UoDLawR8zAGHjPz8EPsAhvDlum703fkGzgL8Ls752dcSmRdbQI/uZne9GtOtLFEbvK9d2wwaAl/ksCioVqzYAz0otjKoIMqX4n+dIhNS0c3AtH46HwM3h25GH51Wp8+9M4yPz+TvTYKFzIe4bio6J2zeXse6/3p6+//RYL3sF0cHAwvXjBeVOvS+g61eAuWxfDirQtpoq2tm5jqfMQRQ6G9VBUhOIORwl4TpRraY6x4l24ZoV1eks8VeLsMGNaR6hpSbD1uEHiyl2FVM3jTfhTit1At8Sw4fijIGUe+clpRY5Fi56wXalwQrRcp0UZkJz4+DGCP3ftjrCSp7t1V+kIzVcLYHGLZwm6jo1U/Nx8sUHjsVP0B6SJbzn+zMcGYgPz3Z+un/lY/DPCF718r0bxdnrhMp9++p7GSHzfq4wqzzh2DrGC8jSeP5Xyc6cHie8ZS3fZGFMdPPi3UQTrMj9cQR5rKPDlxyOOMquIfMUiNvLOlAa+UehsyMaAJmk2kHYlOLS/Ef9VDzu4amiEU37toKywwKMiDyOEF0LjrudQKgcwregBXeBanMqJh3/Iq0SC7+CGqLnrF/hBCXCCI5BmuT2Q8HQGrcfi0/oYZo1kNRf8ZqG3ihSd/CrWsVssxN+C5+96Dh+7aJ/f2eVIlj3OnUTx4z5droQhtaNe+VpEYoFbYlpXHAb9wq9w1om5G2TLt0KAlkNQsMs3FjNpL/YyTWwsrQyEu8Yv2ZHHBXyPDnhKXCc1IQC/5Wkfq6TnvTmwqmndUgKXad/WWetT0yo4EA/jV/5mphMrhT/5TP716WJvp3AknYpdxYT/eLlGMT3U6slTw6AWvBqEMDDD4h6igHut8ImQyjQ+rBiyxwwdCKBEpUzKsNO+ccWvxUONM0Pr3XPiADMdThEABQ15JTcyscq6YbJnw8sdzlbcfcT5d1jtHjzinE/Ow9vkftrZxm5mJ05zYwD1Vm7ZZsAftcZyDh7ALWw+b9ORSUBpByiO4oZlzunIcvXsmRUSF5ziAL4L+fjjGiWdXLnoOt+WSdLKn/npfNepzANZ3g3Soi19TZ+1v77rb/rEqjDD/XU+FUlEVqwReV5nk3bcTudTxkiSKHBVRjAyvo1iuLXLFGFlRF5VvnHDX9ZnFB1EgadUUcKbng+V61L+zNQcKW8YLJTX8k/xrYWUc1Newx0ckE/hjNTQwQsBoigOfHS6TpMp/6SpdtN5hB+t3IKbhwXwCljsRwy3HsHbQrrG54LXWzDr38qM7+bTaaT1b3KJN4elkVvpK400KKNAlryIT/6dD3nZ5XinvdeS7pxxisCWAx9obgYU7a19EQ48hKl/GezwbR9lPs1XHZ5BkmUrHygzcpm24BAp8kkEKwXxE0bfkzbVkOfLuWRF2Rs8gAvL8t0i51XvyIvPwI1HPxfD/gDvNxD/pzO34dIxwOQKHndfRoHjuJKXL19GyZEiMtzeHh3W/hmjfM70YgpIpcERvxdP37v3kHtDb3F0AVO7rOW7YG2KCPPi+Fecfff0JYcdc9DyKR2O5Khdgk5fAPggZMQNTKASprD1e9UDjZ16HESwmpnK41vTtzunVBTnGzHIKwSCeNLUEYEdumfCeS9mlEAsM0X0UD1WHdPbKNepTxgLAei9llo1HfUGTvLJHaQCQZnuiAqhLR+rjmufrJ1568SpQllXPlS1X+LLnwhaP0r5SePgS+iNasNJEjqLdOhkYJxqWBWv0/isOKQBh+mugMmrkRTwLox3LaXwqdxZX3dvJh3l6Fy3JIzUiN9VtvFXfRpw6JKoBe81lqngkjx5o843HUGtnWvaOQVWiqa8ZAnS1DVyTm/7rnOEpfMzjRA4zEdhKpxZtzePK34rXWAGxIEtc8ov2/hJ2/1PKEERFmMa8RAlD2SV8AB+8hS/RjplJLoOL0omz9SSDzxgObCB23WUO68EYtEYWWthYi0c1p0Z6+WuL29xOO5jNgk8n14++zq3LbymDZ1wSPIVioHnTXFgGvmZKfgESHfm6oSN/wVHfPpP4ZcA8K7CZOdlXAY8DnpQTkjFP/ECjoHHcF2sDskYj2p4MPSBhYAtLPEOj+EblUEVlfBVrEAkTlghTn9/4vjKuue76BBFwgLlfZ82vn4Ko588q3ziiHxrmo6X9wArDir/THFi+XRqTRxVdnKDcWpJhnYDHbWNYI8siDIEduioyZ1yhB0YLUfYpbHP0eGnOP8gb1Y4bsdjIdxQM2PN4z2ORfne9/96+v5f/M10/xHTs5yx6OkCZM3MxA5KonLMPF3Hhz9wXKBAnIPjWNyARbx4r7Udk9N1LW/33KyGk+xpZ9W4MuDQ34F05Ah0cOOQlsy+S7blYNHCagEDrtqjZdqBKSuQSlgrtap2WxUe+cf1u+Kr05reDXZJG1rAZ5Vt4dEIw1WaEShupUOeHSNonuc9LyP5EsYzFhaycE1e/5MMtblHNhFm87McfuPR4bWhRv/Bk7Yj/nUay0zfYRbg1nXgJRMoH1jtw8SnOLbOVrLajlky+F88MH6UYf9kmEeDuAZcXTtpKUL+NKx/xeeWLf3ge1zC8iYMA+7hT2DCR3DgMr51SD141zUdHdbF4S+aDDVssNEcjiyfIY79k848dTbrdlX/0S6GZ+fTcXxWUtOTH3TLd+QlvKIfPN75AzQ4rqUXbb2suhiPepENmOFPybWul2BJjizRogDTxIVvB72oO0XN271xYtDhadecZSLBimNq8acMJz4vVYdS8BxcGZYlCgmTBlVPcfrn4N5b0bMi2d6PeDrPeXgcKMoCE6doX+5zJyfTemsche3Zdgod/Tdmt0JMp3Dvevgx1rzd+/ex6N3inDpuEEAIHp+BKVrxAafPP+Ww4z2OZfFydy/gPnJ2iWMDlsn32nV4wjAYMJsHoJ6jJpZuppxiDCkkc0mAG8a/ZN2MjcsRvQ3XbDzCIgIEbxe9K1g3WE/owlc7hUsUWt0a015vqLMdbKxXKnpjLZuWHRWSQ2/0QDikwRJPCGTGjAL48p8NPbsFZSa+Xaxa9SGUpApKn/+Rawa2Tt04Yt2Ry3FpfDw7vBhQKCpPyxOBCec9OFC4A8uccYGnjj1R4QMygPHonA3W5WUNYdLbGEg/REGdC2eDaaGpwC2YjCedAi+KEsghjE5VYQkxSmgap+C3sWb3InAoGM6I4y7YpAfPNjKtY8EaRZjOhpm1hQSqF9oRWo5nr6mWRD+gPBU1XXiAp7kE1yKKuljv8hX2gslnx885UpSdw0OdZrNwY476qfQ5SFjPgMHpQPBgh4vgBpoIVBflg1HqAd6x5pCCcAYVKA2bt1D8OAfPGzg8cuMWNzC84QaGN7StE+68vTx+QVrPcrOC5i5vis+qtNO9urJQ+jSedaGe8Hyp80PY648SKhXBsMlQNGK/w6/4y6d80YvkXXsI9hK31qtY/4Ern1or9TovvBhRPjBGOeEjT4kINIkrn/RPSQys9S2FfaduqRdp5hbjkcZMJaAw8rzEAkqCkYeBCmXjgnvzIazahuUXj9puTaFbYco68OkRT+AhrT+XjKjQ5pvOG0JlQ8sWZxZucIvFGmsdf/jD/zptsGHs9t1H08atB0zJ7rD+kgEssx6naHqrK+z6zeCGrJBZuaWHAaXqRpSpgbYMFqmzRz9opdDKYMc3Q67qjOuIMrjlvZ5wFTBbHzHn5i+ffqeGVH+DAYX1cmCS9lS5wU60kQz2aBFk7e0gYkv2yZWQQ4GvNcSDN8C5PL0G7Vrx8ezTm3yT+fyPMFYYZQODg8t33aJ86zDTmDbyHDiTlsDkBaxy12iGqW/xLOFmYBvjIQnT1qmPay/Jkp+IwCPOWPYj8ou8MfCojAIhxf/2L4QTtfHdSpyw+Cv5Yp6VR+BObv6hvqPsuQIlfKTrMjU0iMvQ0LKtN67zbzzHc/ypGDc+Hdc8805Q4LVsQOv4wcvIv8vJpj3idx6FvcW86934xiFmPOrd18493gt/yl++VVam/sCX2Rp4Gy8wxtQu/H7FhQrOIgUm4ojTdfDuzVWGWWTqw2uOF6JSkUWU5maMzKgQRwVSvSCWXeRvZCTyrpcZycvGKWUurBIl076l+xLDypWskDXqJIuqvwOI4Goer+O/8yw0NbreCfz9f76XoiepbNhappiUzHq749ND7pDlWAL8Hz1CuHFcg9NXn3IcyquXXAHFNI+jbO+41W1tbUz/5R/+ngXJj6efffL59Onn30wvDhiBc7XPOccOfPntC3Y2cYwEtwA4havwuUZ5XPHkeLgBekEwGj5iSAS3wpRjR8LYFAnybcyOfnRa8S6cXoY5N1HOTFcGB8J5VwhWR860K9ekXSBMOZ5vOvXwT4Tt+eg83IXD0J0uGjuInTkCeAajZJSHufkShXeGInoMjNmkAQPrt8qlBbe8MSIdjaNhmIMyPU9Ip6Im46t0yXhhcoSzcMr4NlgbuL+cU0R8/qO8jPRJW3WVeZMnacOAC8/gw4S44IB8zVufCBfg0wIQ2BSZWDI9UkUcbHJw9d07t6Ay+UoEwi3JuK67cmcguUEnYCJAXGt9C9y8BxbjAY/84/mDVJgcRtl0JHX0jtOIdBwo1CrAtOB0OsJgnr0GMIozybXe1p2q4MdpE/CXMNLZsB19e4Zf1pRB5CsW50cAGA9Y7CyDC171v4JfS4jcdF7CmLg8pb2diruy0tkO+LVyi0gXyztB7zoSIkRBXmF9qeXYUTtAkP5XWnXgc0l4qTWMVCus3eKkOJoMN1pwtM/2yj0sv/us1X81LW/uT1unXCN4+pL1kSx32H8xHT1jB63lpr/EQugxK56rh+BDteBJ5tLUOACnsqD1SNqVk39CUfBT/BIL9vAFayaLEJXifgyS6S2Z+SP+DSJuPAoP9U7u84hGtuTKKR9RoPJWf5LefAp34k+ntAnYtNRYBMk8/AQeLUc636xV6roZJHeKA+OThXHBs34uwL7Bg3FtgViRRYk4QWHNTSLIoFJo8fYImwlFaQl5hDK3e/8BO2c/QKm7z/3a3EW7cwfe5oga8nlzvD7t5TpIYFNBjKIIX1C38Bsd0MQVesvcJmRn1IqXPFKdvvxV7Ud+DP9RAZUwITdOy7fgHj+dA1XlUZTXyBPPKeOcUWS0S0qYJ4HP6gzUnR1uUSEf4zt4zYkD4gw5o6BlvEu7xgoN/FEWh7wRAvHps/+RQb7XSTRvP4aGOUCZCeSxIuRISw6Dxv2UEkXbepo8+QGPz3XkbsnCGiiWHFCmVHu2LsEN9dIlrWVQtqLRqwvBbMKkv6xmu1eWO2s0Q04rM9wQoGFiDRrlrMEoXeAfOGoXetFgZDQvR/lbygwwQS9hEYaSr8pMZyp8CkuF+2w4iZmwHOKvPBpyvxW/OvWhSpUXMlgkvcxtPotTxxDSUkLLlMfXyrA4Wp4km5crjnDOuFkmQFabShnIa2BR+fFA8zjLxJk+z4FT5VvnKTyW71NLubhbhveUx94tbOv0IGcWPmJMQRYyOKS743o/r0c7jbx0Y2EGp8p/DChtUczSK3OnXXl+rIOabjuXtJtsaKPtTvTh9sUuuwo8HFck/X0vRQ++tz+yfpTt/qkcSE9+wmsc41oVaZO+zobBghZ36y+tY0GnxVOluZPz0hzmPqYtRzZ/FPdeip4QxvoEtMWAdMq8BxEhKDsy2aHnjlt5ZYvLs72zE3zRWEAc6Z+/eDV99uU3087e6fTVt89yg4VHNrir9pBpLyZ3+aE8gVnQytIi1yQx4s3oD+EmY+AM1XnGmETqK1tsWMLTTzsrz5a7GlOG2QQBFYwTmWMDAT6FeRRI4spkEY4cQqtF6crOE5eFnigv8AWCmYXnpCsGgXW8cAAYD9hl7IYKD2T0yjQbm2tCYoccVC7rj/HNVbbjH3B0o7HL8ZiZciXguk7WS9wbN3iniA7L9+Cwem8m5TlyKyWtBITltIB0ysM1cU7blogkDg1PxSXlwczCG0XH+guzaXhmZEwdtfwokAYIPAkTPsuh08n0MY0wZ+gxvZZT5WmoxqFa0xrpSRHlfYCbMrSezYWHygGuv/NBOuurs046w8kx7/6pcJXl4g0FZNxoyCXImI5klJLpXogsrtvFKkcShUlPgan4V743nZt8mekZ6CcMhpu3myCcZtZ6XLArEKGxSgCuByfeRpEF+SjCnmN3AXLO6Y1U1S7gr+/84DvTrZ1Zbtt4+uyb2lHKDQ6HKH5cnUAsLFrwK1g2BT9xi7WbvBSSZ/BkykdwggxCS/WqkTX4a0mKgA2NoVtxKLiw4/AXmg/8ocn55sYBnUK8XqS7eYOjtNXCpcpJYkTxwZqYp22EUlSCtHb59FuBjauczU8F2w5dfBlSZVmNwimlDfj9VlDnX7SFymvkAk0ccCWTdOxlVVfhKqXbTWKXLBuR47XcbbBkwWvmdh/8gG+s/cxG3Ob6xa2dWxw3pAXWA6m5Y9upPnZY2zJyfaJPcKgy5kBVuKpcnyjkBHl+olZH+c31zrFAQsGqQ/F+0gDvEj2h1clgccCPdBUZceIiAyzoZBp/8p/LLpwWVnlxo5wDb2XcNgM4w41Hd1c4G+3NJhJrLrWxCqEkYYFlkLmo40fhUpjb2a4TMoeTWCM4/kQcn50kz8U8DPd7/pO/Ugb1Mt+Rd+cT2EgTZWWkTaa+809FQmXbOq8y1e7yHHFTm4Y4x20+9U3Wkd/yrbKv5LG0EVOReYR0eZbhe4EjLoRZUE2rv+mgMYhUqbY+5V80Mr1OuNvf7+7HfHYa/XVCZL2Nz588W2Z1ushDqpC2SLRUSRxIL/7rkr5eU35gCM6Fv+D02TgdUfMwrWHt3MDYbrEe7ddt0gGlfYmgu1HQAYIXFNh3xrgxsrTM/KCZfE9h/C+JYP5gJVnbD4Fc6Cht8M97vKgg8YN3FUDjSQsyi7dUIVia8E8DEU2VMolhPNJ1X+G7SqD+KoAe/r/BLOMyRx6ZrawZaT7w2nX2GdgtZ9HzD/hevcp7FJCOHET2CMOsNK2qNTvt4ejnxQuuPHt9mGmGnAQPQp26WGGn5ss9Tr/+7AnvB9NLjk45PlFzZrcfJtnXB1ojEJIgNJJFtNER2sggAdgqzdsybTAys4qeTy0sElhYitD1LWpVYmQWFbmYpiG8ccgwBJBRM3VLuP5uMHHa+ezMNVWWU4JBKaX2L+EtU6YqUz0qBS1IQi9jwVth56n+4qgbQTe8lJtGT33i6tkjX9PYmcl8po1FgnfTKZwcdQi6v1pDRZlh6oJpXp4RRrrFZ2AfGaRRjLpEIaVOl3QEwiqzi58clJy1ItUR5VgJG04UY/xGo0ts4I11gPx7xNWmbRuhdbChk5S21x1Y0aKsE4yuBg0KhhIi1qkbPLUd7/rREP3xLwIUvIqjRVdYaB/wSl5V/RsBJVyOLC3zREU3+Cza9gjV8lU4M7U76N4dZOg0YFS51N+82pkfwfCEHWrB23RSXFt+6EtYksHvjIugAaPYZQYdy+zA5VaGS/C+MuMe1N1dFvh/n7Vg30XRO+I2Fu6SfvWcM+HeTK9fPaMNHnFMgev6WNN34aCL435kKHFFGeUoQOXMjkgaWrZthfrHSWNcr09qZUKOrIDxACdvOSs6nHEVn/7kJWMqJ4omtr0KW3zmxhFjSqe5ilcZms720U6668y5S9Ua0/7ySnfQecJbNdVecsU0rmMLcZySRSG+9u5ZNsqssKZ4haOcPGtw+5abK1TqdqeHj/8C0bTGEpXNKH9LtHNnMM4RIM5AZCMFNLUbc6JcrPoOIIHVdVd2VE1/+WTFHdW2bX7nWqUb94OnjNvtwbqpfC06eWfRyas6fU2XtcAuM9EHC9XJ2SHnKTKFTL4OcHOzDeGgJzweGhsGgiw7nV3ycndwY9oS3nbCYZvU1aCZlwFaw9jJf1MuwhDHUzhiqSWRcPgDO/NMO8+U28mAwXiLLvHAqbhLXwVdVumcrbfrxVX0ADy85U0Hprej73wcKKVa5stPdIsT820YyCBFOnBuWSX8ulRJOWv/hSIjtxrHtLY5n00zZYzx5xb2IUeSB/7XWLvamS7TksIx4vXAPXIGf5Vh49VAioFerLfCXzkqm3T9LdYrK+pZnQDf5lFxeEv8xs3baUXj4L0udzwrXtAXvKrohTflT9qD5VdbuJGdwSPySfkFycpFPlUZYrb0AGCiz71K31x0Kb4XZr+VCdDCSiDzbJG+dh9lxtYnwcBjuaZ3zNj5C59yRv/eo2Ca/g3o/mwe76XoSWIZRzSLjFZkbDyeu7WC9e01O26/+Orr6dkz1hKBZEfOp5yh56h2xnq7Y6ZG97wGiszeHDGl6inxHOCqRSHrizTtKiAJj87PFEqOU2E91OAxCFKaexgDJoyQDDPeKHo3jEv2kjkEKubSJ8JWykIs62Pd/BsCE1cnEa2nozJ34xjmXZEqWzmBHsayKdsZiguVnGKYalz1TgdP3U3rVJpFhsEWJRp56NdprY8RtaZd0oG0f8FWkOqXPElr/AgwyuiO0Fg3OCiBY+NyKiYOfAmSI5isXQIJlqeAcUTFSZapu1MBOstwujrHYygESRclIeuNuvO1sRSeuj5JzB/hdaWQSh4f79QJCgGM9blRFBVS4pd0NG4FvkrdKpde29eLlxJm1ZBvRnKmQSGjww9lwbM419Ljs3EiPO0st4+7aZwaLu0F1zT+VMBX6BxyttOAN/VaoL106PiG+d5lkYTMLLfy7fV9Dmr0dTJjxmDJxQQKGc/yukbBu2aX7RW8Yxt5uX+F0uEU023uteXmlp0zLEsfsBSCRfrc/KDS58HWRwes7Xv9ipsfXrGL97CUPo4liZUMfhaGwKJS4QhV3PC8UDk0jLLiFJKj/lEItZKSJhZw0w48dh2Na3iqSQZUAecfMWn0ePiWtFLJPPppPNMmn6Sptmgb1mVaJm/+0c9OopRHWsTIS56gw/Cn8qZsQKa4ieAMWQRUGZAGBtNQpzVmH9bp9FXuNnbuMhW7yxrJXfxuRaHbZlo2dwez6cJz8tL5I6tUbI7ZWFOWPKa+uG6u4MoEfuJaetOaFkQa5ASoSwfGt+HuWhbjHlYdvlVG2V6ET3wDO9UAVaoJ1sH3ehauCmdNK8PlZb/D3/Cu0T3WJUdQ8aGsOOTcMjdceaf4CtPOLqkIHgefSmdaU/KRtO3M1/K7bOvc8Pi0rHaLMDXsHbb4jEgc6SqP+nj33TSdZ5cvaF2+4b4bZt2DB5/g0w1Stq/0GbZnfrZzD4Q/YiZK+aNSp6IqnSPHwEVuxVio1LzcgZS2JNv+WwYXPOLiph5LNDSbzRx+oFl0izRr+PMc5agIttP/XUXvZo3dqP+IHPxAWZf+dA6mf9dZfnDXT+Ko6KUtIZOY0QZ45VfxJQCQK/JEpRB/61/htD3iZ4mO/MsAKvKUNukTURMcBBYQbpntJ+vJJ8bzpxNWZbwNp9uHw6jQcVQjeBbXxgV+igrcPUMQuALnjUxbvCkDMWytSF9/RE/N7lT5zsA4BXyZaX2mi7Fe5sgr2lHgN0GR2gz+pO69FD0h13Kmi9kcIihi7QA9P0xhdYJFq27FYApzbZvGglClo17SUoci6M407pcAWTKcjcmdtoyKJShIvHJkDcaz+JW0lMiv/MoypwATmzbCasg3DGuO5BNkD+oTM04Ng/8yclnCaCSUacfXo08buGu+1lgz0KMZLyu/YIF6LXLHzA84TqnJ3io+lwpC+Nwpz6wx4ylzkmuKjYKESdrpPKdOFOph1kg1o1Q8veUTwOMpIxoEjASoiIGRlGklut7VIEEbMNcaRXMv+iTnuWAqQWVLcjo1bjzNy7Ii1+19hrMxedhnlD+Asq6Z4iCKZ7qZXLyZNp1YGiuwsAak4K8GLY6rsYIkcBVBMkRNCX3hAT7rzm8tVq+KJ2x2pKLK5i02vAv1CqEhLq9stMATQQSMoa24x0pj3lqHpKMCxztko8BaGsA3GgqX1gM4EEibHlhLYIQNHbIdrflKR5+9ozvvgc9pVegKkNLIeJU/eVAh39t5c4p1tT6hIy92pKpdiQesK7SPCDLzgV7XrOG6ZDqWlaKZxr1Y4py26U4W+Z+7pEAYvduWzUNr0OX27vfQv72qDms5u3W94uuAjRwHh6+jAJ4cvmS8QZ6sa/Fg4Sssftf8cuxLboZgh+jY4IFaJbjARv3Er8jWyScqp+CLKoM7+W7U09F3pAIPwsNXxqNuxSvSRicSTFfP/pbK8Q+SDB38bGKc5yTqGsdQf+ATP2NTjjTrjvqSXfzeEGL5wjWhyC1HDim0ac9suPLYk22OuJmh7O0+/GiacTvI9vZ9TsDZJk+XjdDoUYCyo5e8L1EGTuAzj9pwBoMtEmRP2SrprLO0PWSalmpnVzhlQ8nA7fpUeQjtKs8ooIq59Eo+/fGn04hb+U5Fz2nbsev6pv5GL9wUL1vPG1f8Rx7QC5YCRnbOb4sDp4lRUD0poHrvtN1NLJmByXYH/T0OKUo9WToQENmL5Yn138mFniav+J3q3ad5gbZqDwtPCjUodE35fvPr9OFNvq2X8sY2pFxweYVtshI7QKRzTj2IB3uLAxUzD/Z346CGicpTnItLOVD6UR7WoOLnLjUgvIWPLst+pa2blt308ulh//jET/6wPuLF5QNrYw2dafTnf34WbzLrp7M7M6AtfwEVL/uBcvX0b5Vtj8RAGUXMtMUXN89e0gPQFjUPp5CRHTgFdpcyERpglAvl6lv/Or6n6iSoA1w4ybjoCw5kGsbIB9uPVSnaBRfiiLyli0tmLNKlUOsOoq0F4bZvm5EDdJ/tPG5JPWLNguX3AAE8tidBD059qTJdSmP/wIOfVBanxqUutmnSm4Vwlas66581+hge5jQfMf4cHu+t6IUJqEkQoPBhhGTjaPP2KVN/ngWl4PIk/aw3Anlq9hdcYeZxBOfXHIisAkg+9NeMiD32QObAX40fBLubxlF5rHlQLA0N4hdzFdKLCBACwkaUFv3I1XjvoBviVaoKkJCOqB3NlmAoRpDYNgZj6+8mjnO2ezsK9jgMd0eq1V8xDS2Daa0Lc/IuPI4IMyokrXB5ncsOo3wvZj5GcbppHO/ANz7NY5GphEc/XcFcjGYcG3fjIN8ybeJaf/FZjQJikNp0Kkd2xOapxcP4tgsFDe/QxKNyZPQLYaUDcMOIVkBxoqHPVmc7LfwCq8ojWYNN/DwvsOAXntpsQGMtxJMYeMGJ8Aif8FiWcJbjeBYGDPVtnR1IAKfx3OHKVCYVGOmqVhKhcCQu8KPcnsa4piM2lusphMtwyy3lvtMhPFK+HUQd/xOLC8zps/jbhereRcvxKc7TAQ+lJZ2NvMqv9C7oVomC/PN45iMvr2DeEqQoSEPwCI/WAuNnBxltSaWR7MEpeTHI4Sp1YMYSA+3WuUptiY1LbI8BFuJEF7NOVh6YQI83cKxjlVrf5pDeu3TkH5wwAOOaNaalzk8OeHrAMHe9Hh1gAdxDIXzDcX1s9HDHrVY/FUgXXWMh5CX1UKaXsO56+VScwGPgPAVbuIMzGAJoDMp0c5NXykmPsGPe+RPPwmfhtQL0gZIJ9mm+osVF3eX4iEtJvPmtzcZvYfCsQpQzFTSPSVIe0cncuvMhS+42px02U+xgEfXczg0UPdfZuRZvlec1MmrJa8jA/YV8FzhIz25pr//zTmO4nfyAjGKy3AA5KO1t+wWhEkn4q9MSNttvwAS+JbbHqlDpRIHdsNOF6cCtA9VxIFPT2tBVmUh5KpvFv8YXS0QVjoVfPMcf4xgWuUAeWoRidXFzGG3ngsO5tUwcoeR4Juh6DkInPmmKlpYzZioggHAsOvPWpWp5L7xYgdQ3YdYwhDbqb3VVo5sonX/Xb1Q5Ecy/wztFtUfLhgtom/6su0qDVv4LrHYz14Ihz+JHhtIsa29JpBGg+h1oE0FXtAAjqWRqK2osYME1fO3vd8niiqS/FvnQdyTtNP00vvDqOp9KPf4KDzRTT5U/Op1P219/L6YhJM4kcFFgUoGvGRc5VVzV0/bnus2Wbz6DC8ILnuKlZJgwcy9gul8rWap/9UGVt/Uxj+5/bmA3X9M4wPfGqxiQTA1dmj6WF9zQAWXpEPkIl/JcC2bqTT45KQIZm/WuPKWxqOnZvMja8O9oNyDSvqXwJkzCQnz6mKDUb+OQJv7SEF4R5hn9+foqA8RNbmNiA4vuHD2mjQnx+BP+eW9FTwKI9Gw4sPMXmU5HwCunKEX7+wfsXFUQaoXzTlowh+Bc5qypU+/e5N2z8S49DBnLjN2m12xdIEQ8OsVREKgnLcIwT/x9wk9FkEK8DcKytTA6ikFEhplUCWX6dxtKYphNGKK2b2tpzKgBv9o1Sb1UTqkjWcBEbAhCKLjbzsaR0RIMm45Y7WaU6WjbfP2ZX58rJYyuA9nZYTqIhZsXWFlioTIuqQOLzQ8uKibzaadfTC6fROAChx2LVsVmbGlQ05EKZXFj+Shacj+OIpK/JVlOUMhDprVe1WkU7szAjlyVyvLzzbmGKizJc+SvwM80NHmWwCcgjQLoyDQ6mKM0YDDcsvgTWAIUf6SqwJSiRxy/VBaB3QxcmGttdSUkCl6nPFRmvIrOKeAct0I8wQ2HWEfwFlM7aTNFHT1EWMJBwVFiCwL8ptKZzQfArGVGzsuBzioq8hfm2+zWZT3PqoMZWCGLjVNWCk5tYEHqIW87vY112mlWLTbWHcneYtR1QcvpzMGCgFt7FBgtQIBOXGlKHQ0iHG9+5EE8uC7W8QsCL2hHDqC8YUELoPjyEGEtu8cocyrk8knujWWN2WwdBXpLhjhlpCtsdO7sCD05foOSd4CSd0hnfwR/sZP+4FWe56fclsEU8LnWbKw+aSdA4RlXCmwtw6FP6Cbw1HLwWeABqhuLHjWVPHjFqmn9hjNJxRt0t6MJbojLM3gSF9De96ztHPjJ8SQOWOgkMuXI+yY3U3g24TobI1x/tclRTjM2UngHtxa3tQ13xnpuIZY8zrfzaBTPMWR8inxix5+77i9VrskXmnuzhTtwr7TeQQlnImJft9OB1rpa52f9ShmtTpR6yP/KksAPP/jEy6cDnHaRA8TT+r1CXXT6ES04rU7OAXXJCdtqOtaRLzkSsX6RnvhbRjnfq52b8xL4vWIjlHLOJQhOTwr/CZaQi7195NQWctXjgeh0Rw7hbumtUBxuMX+goYySM2/7B/yksHXFNVgjn/A67/Oc5y8VQXyVrBuyKXWXH6iHuB34tfqWXTgyXEVgtCfiqMhpwT6Fr90ZvUY5bpZzzWQNzGllDrIyIEhmZggQvlc9YomKkFuA135AfFOW8TxyTNj8F+utYfyE1YatLCJC+MD4/UufQpDhpu8SfOv8jW4xunoQarHwmTS2nJKZJWf9xrfS00cBAXA46CQdZTTNAoMZNpwkqfzNV2+fgSTflq8rOOvdeLqCoXhd/Psdf3LUeilekp91TD3h+zwrrX266bJWF1yLN40TqG3IEGfGrBHtDsZQftsfWeecQMFTI0xmuFSIxQ3Fax0M/m3VC+2OQioCOda/gMofMYUL6P6pllB4sJ+rft4NdrrQGz9p8OfiSjK9BzRqtMtYXdKRRNliKo2Ox4OBT9lY8fzFfg5B1vCxFH8I485Zpkzc8eUaFG/DoN1hoWFUBTZrpyFA0dCuURaljigU3aXo8JW1YKVk2pmrRNXZOnaaIJl/1bhFvIzpdxGimI2GRyOWSApDSBWmdxQgE1RcOnQYTSuW8RxlrKGgobwnzSqm+0wF0LBco7eOsJeZbDx2hGdezTSYyvxs6Fqo1Pg3eB4Dc8M0uChwNwP10zgVjzwsgFh4BE4Zt/xEk+FVVyKlTlVXmdO6+/Pd+okhRh/rskAwW0IiuIN+4IMCUv8uv6a2R6O1XjSkYFQgcGn8wkA7UIEtGSbsdoXS3TjGtQ42elLDJ/VtlWy0yRE/G6PKZcGJB+EjjLzNpYpFuPtOYSXc9Ddv0uF3CeNZjo1doa0zG2kkjBkx45G7eaE1JCFcQay1EB7mKJ0eRLiex748nQcKEiVR1+q4lzy6JNBTH8EEqNTU8CgrDmH0NBA/UAB3JWoODQ0+gBH62dl6ptgVQkocJn5iiiuzL37UX8uy8WU8LVXuVtNfhcwytjmKqPiRNSTUKYJ/4CdKLQqhCukya7I2Z3e4b7fiqMbIBR5rc8FZkGdYAI8PD7jpgR/r9qozvGAqmE0eg9/PWdZwieJ3TgfqUTzBYRr+wAlwpTpCyItgB0g7x3aJAM8YppNV4gZNpWt+Rcv793fzrZLlUoI1lDnvl17PXb1r0927u4iRUuTWUfq2UPJUXrTYuWzkDedznmC1VhZpdzx2jTBneJ5gHj05h/+zBk8lz/MMUXpYV4xvNmepKIhT8R0L7+gAnPbW8o/qwEkDHL+Ck3eVK3OLCHytJTdKMvSw3aZDI14URXFFG1uDpt3+SJ534yl3lE0q2u06nt/VzoAsZVbehbfCX9KAR08OuPYoKPhIPncgcso9wYdsnvPw+/v3dsmDsx2JK5+ACZIWz4fBw3tN1eT61h/LnLfbEfLWN+H/P7cYf7EOJfdQGKhjxbl5hq/IOO2bp+ENi/Hl3xPW4cWqN5hRmX3O7mOVQOOKX53KZylP0ox3/oGBhAm+/UcFWH7hvsuzHJ356YR5sQ6xfiek4nS4Xl2vxfrr3+l50fQ7dyljlFNxipfa32fNmPAklbcISWs8+bJBknfe+fY/fOkZuDrFlnK0FF8+yMFvZ3zkh/6uAXt96++GTGWO6ZSbzoiYTl62fpfiHmcpfl/R5lx+klkQ6BHZCxyXyNfIPcJu8FL9Chmmb4V7k7cKW5Q9BqpO72bzJPWaD0wIt641mwWNrVwIqy4gPPZZyhffRYT10RXt6r38lDnKR48qynpm6nN66ukiWhCJaRZ/Bq44+bcA8i6TvRt1DWFZRyiABMSAI+l7uw+ye/aLrz/JiNhdaoyfwBMnxjOSPuSw44PXLvp1nkN7DKNkd8lozbAhIHy0W5wifJbxX4UIKpLpLxWKY4pYxpWga2rymYorQuALbSReCdcIMBWTwThaWTSbH9PQT7yBwykd8pjxvCafOSPRwtEPWJjtVBnEh8k2t7j26/bdlHfB9Uxa5+yoDfc+T0fGB4fc7sFdmycsbJZhZ5s1hXOEtYQ7w+hknBJZRWGko09HgeCgjmQBBh2BaAlyapBdbQgd1w14vIwua3+AKY1XD1sMzu+bX3MXdWFqqxqIzG9c87FBiKuhtPBuA80OQLQ0rVVeuq7gEwHmu3oMbVC8HFlpZbODsH3UOWYqmMRT2QLvNmTXRDgiPgIXK25YAb9AQHpvy6AR0eClnYvpXXeRRk6Y9U89SB+FStwCR/ArXuzMgdFva+atEqa1fBVocSbc/qyf05sCavzAz9P8PX8veB71VCC7o/icTs9w85uxPibWYb7jF9RRC9BIjvyr+puP+LRuwRn+dhKBhTzNo8+rEla/jXfG/Vh1Vpk45geOFDglhFXmFGBFB9fZyW9a2ry/1htIomTyvH1nm3tTd7hqcD/1jSAFBkmtApR1LeRaFgrXtBWcZ5mWB1/A5DEmUYYNhSc9/9CF2kurrKBlOuLWvVQeQQyetFJAM1fTvOaawwvu4b3AAqSip4InHi94j+IH/zpNTO2EiMyd5qC9g1OvSPR4F5cFhH5Ofzi4g0Zpd9BG/hWPTlEGz/IndTIPeeHWndsZPK0z9Rg/Zgo80mmGUraCZU4FTLlCltAHvqPDCa0YYOaIpg3UNgYYAM1ROhzozlNlZwmFboNpWWWEZS9h9YvFJ99T7nbWOq8cOUOp9lB0f8K2wVTwKdbSHMukojtc2ofU5b9Kdlk0CEznaiR4Clqo3YstUBTchPdASF9gH96Hrx3E9OYo/XRph4NfTXcFndqv+LTokPZAGpVy+UWeyMAbP+vlqQjW/dunT6YPHj2ebnNsTFoc+Cml1rPl6jBt8+pfjo4hNzg+8Nd1ifL3gI2iuq37VJH1qcuTeKkv7U/nTmC/29EkUla3cZeDJD7QZUaDp3h2hsks5EudJx/ILy4lesOAxVuaHLw8uH/XlCjspIOW9jHulNaCD+GTJmURritFSBihN5HFieWYf+M5uKVOPi2zceNTOdPxpMf8IGDytv7GMdyf4Q6EF+vve/+EB1DnTjSVVKp+L+HkE/pSt8ARWldfQ0D41ZbcLri0bPIShoYpaZW4wgivkBlIYDEJMtK121lvDt6dStWgYRvSOLK5Sd9JOroNvpXVWuM050gf4oDXylucTshl+xnUEgZa4qrhUZ+VDs4ceEi9A9pa9gMPKV8VGPQlyvj/196ZNslxHGm6ADQuQhQlkhIlzWhtxnb+/z/Zj2s2ZjNrtJ2dWYkUD5A4CKJx7PO8nl6VlZ3V1VXVjabWMoDqyIzDw6/w8IiMjKRTIH/SGWe1N2X/bZMGDOEB9BGXfZfWckA3dJZsJVM5+IMdgGOs4gf44KY+KGMO/qXZn0KLZbuvVoO3/3evo7cXRRXPAQkuSLCzZb+G8dpZPTPfpz/yuIfHSp74fs5+ttfnKDcrez4uOWMP3nnOmBo++4MglIsDnIN4ZlIojoJRSD3oZsMkDFYJnImqIM44zc+5N8AwRGgIxXLcBccSmHs0yrhkQEa5oid67hqOCLU6m06sSuTXMF6xkvGWT5qdsRr5D3/4LE6ep3PbjoirtD+/ciXjHU5j4Zc82jZ059VpFSd/tm8ZeVidqpTR665jfsrBFbVNGoomlB+8+toOHVLlVi7q0U+tUA0d3bZSDpqj6IKkcyVdmn1EaafhR7BtjStFA9O27Wji48/PZsn3wgnY8CADGu1Lr3uYdKwjF2jSgQ9uOnjc90BVtNoOuGMwYCht45DhVObrJ+BhR6vjbMyHh3RoxegbqNTk2tUNV5RZpSI9BgmZ2l6tmFBWpQJ2PoRNIVcR/WaqpV2VsxxcLRyZnOhsWt72GDYoqyHSYJUB1WE3X3b36kzdi6POo3ni7kCgA1iye++jVrczDHKWyeqPcNQ3Hz9qxX255438tS6/7DeBP3d5TGC5h4/4sQH4wQP7n3LUsbAflb7DpNBQ2wnkk3jKY2Bqn5iYvXevrPoLgsqZdQ1u4Q0Tl/RE0qXG8N4DY/nHkBX+/umf/hxDryB03MM+ZTes6NkvX+M8t85Lr6vayufbp9+v/vPrv0a/HrEX7AkvBXzEwBFbArHak999+hn4l6HNahgNKE8nVOrpC1adWhedsAnM/HvYF78y8uKFj6Bls+uTxOz91b4oT7iNffbLEMR+Jo09iHfgnxRmnyoyu+fjdfmCLGzfsjkp34344Rft6aywcpv+Td/GXUBvPX+vdE99VqXjzAd/BxXa5DqfvwMd7w3CUCWUUbYmcJN60aEqE/kir9gN4aTvdl7ArP/o/BqE3230tTQ6kbRNumjyHWPN9wwz+e9g68sZKQf5Z/Ag8oB793GWzW/dWDc6ulDWhtgRbUl0vHCxXYPtNQ1crkPhub6ti1G+CcKwnNIMDOWiEsN7ZaxuaEu7jUyw2IPolgsnOq6I+/UQdSJv4FJfTRGudFq37XLgDzK1v6S/R+G91smwHZg0Ctbp0DT2vXHROKa/eLNOHxfmuuHZFpSDhlpcIXljBpLce6DzJGyon3Kg1eM2UNdwbbdDt+V9bDI8ynDMny4XEXKf8wSpW+MAeIVvLKhkH3rBL/xoWJZgl4zkobpuEGa3qW7mXluu3gw/y9lm5EOZsofYzKgS7ZPmZKP6DDCsgMzogbnyTx7vZqVSRxx5Oe47DtBvuaEt0vgvXnEug0uQ3sJxDXDmYiT2mdwPn+Roc3pwkIBXOgnO9twr8zOrD65sfff9j2xr+Q0G8yPeYuJFC17McEPzXY5Q4Yh/FNWVOpjMz5l3HnXCYDtemMWfmkXpfatQzjYQcJiPIKmj4DOQKAtC/ASu7Qi9NK7grXtXi0ac8RCkH+GU+j1Cxezp3OqDq4OuDmUAYbBzZv6CVQsWpviiBSuWHz9iYc69do/5FNW34OUSt0vUPPJ5wb4PNrK//IkvhPz4FL6garHyNeDmUS/Og45PnR000AkPHWVLQaliPj8VzVGxPtcU/aOYaUVrOSKirUpX54jiUsCO4iPldB4H4igypdKOnbXaEIYoeu5QreZprGAEKxT5ViZ56bDwR1jCtT2kRMd20PXcuZKNWGj0LMP/HD8CIWUEhYocXBHsjisO1amVDzjBQ4krOMwYmZXpWIWF/KFEjI4Dhp3xIYP5XZb71RVn5DnA0vbRxwywkKHzpgGSP+qp8GiWVsBfHkiDOoFqlNGhkPTHqLsahBH3XuNkFnV6ZvsRA6nwsmlZpIO5MrVMOQyAVuXCK3VQuAVfXXbSUSuQAo+ji+GURzkDi8HIT+3FkMa5cCVvgMcI9RilfIyz5+/1zxqm4i0Kkzo2p07Z3vplGPTAPnU3Z1SKsnVKd8T7Hftlwx/wUGsMrnKYhmePQ+iAJqXvVi/xrWlJBQmNOYjZwc9H2zD7nBWVtxx6fofJgTqRyRvOpQ7OcyaDL895hIqOPvDtV44uOaPf6WDo4Ptm9+qMlyKQ3fvosbZCWbuSi74pc1fsgIuGBO8MMOIcesTpV+ALX6jjYyL8PVENvVDBhOwxpaHAwQrk6mwzeKwcSbtvIwRX68VfPjpJiM7CB2mMw6ddITjRcfDKUwboXE9EwSH9BoFU3xB+DSQ2pY4WfHk96I90otvc5tcTXem3HxFJaYJpHQp+9VMdvcgUXewy6/YBnEma7QFP2aAZIpDV0QcPWJVl4urkVRv4iCcTvmhnX2Iem8YzEFpHHQCbsEhEBnSUZbVftqwOhS4emN40d6xNDH7A9F/zIiDNA26XNVb3Ut4+mXzLqJ/UBiUnQ2ULql/osP7E40pfotKE+Dm3bJUQf+QdWVLXvucKeOxvaC2Y2uQUJbqHjkk1DaMHahFxOknhaDUZEb6rj/zrIpVnOeoQtE4VwJ+L0MCVlscQGEn3DyWk3R9tB4JEGkTB/CE4wUyAJxWTL+EEo3tOSICRiR2xfTp8DxaWqRVpVb3GXDiOvhTPq/3SS+13OceBjTI59pV+pDl4W+WDuzyDey6yi5p8FO23CC1jCv3p/n2euvH2c2ikfPo7hbrtjOckauOUMxAicyfRcqBsn22q+wNPovPD0wH5x+HkNXG3K5esxKN4aB1kDGjbMk37YrCvbGS2kY95LauQaMIvIAxacCwmMteXJ3De3G8HM2WEJ61/+93T1V+++tvqBS9iPLKzYbRf8xjmZ78pwmzb19POsboeVaBT94Zrl3/97qOfKCvBoIBhbAnX9d84QrQZYRA/YuUjjzPV8EEIlF53WFVXAZVSgAcCU/ns8G8won5V4B6zV8wAe3KADy6P2YfnkrOP9+zKbzlQ9B6rPk9w7v70x89Xv//s1ziKL1fffPVdvkjgasRnv/sc4/hk9Ywe4UDsSo+z4vNXOEdqBUHH0RluOR1JilJIo0ohnjqz5tdScvGz8YdAKlm24KlQwjTEXqSzQ7HMqe4/XNN5o5VVr51ejUwcIzqX/HGlVEOus2cbbi597WoX+PmaujxzBU7+OZP33sdkdrLgbBsxItUpxEu4pfjlpEmfLzXYucX5Lrug44gNOIh7OnZ44grb0MnSa8Cfig6k9miN4eNHvNjDaoqylO86gpmXAUe4xaMNT99FxzAoxNLoCqGDnMG3MDsUztVps4pn00PPHcc67m9yxqBOsLgKoXTMcr6NZZCuoq0GXI1L8v3sVNnS8CS0+Ti6UALehpfrdgNPvpVR1DD2j5aCh/fha2K4QvvqWWJ1TTMV2gEGAmQlGDt5isOCE111RIYf+pWZvZf+U3/gfR6Jo5cOSoCOvvgiSfVd2kFFdcgMrpD7ibfX717hJD7k6zfsn2PS9zOfEnv9js8l3uE4D50qZOMLLPfOWbnDcJ/hNIm7TloG30BzolG0yYvmVWb0yB6NiG3JCyzc5ygc6lOycCFOX4AuH8/e57N9yR34JLysWCFH69h+D4oS6kDvp5aE60qX1ItbHr8Kifo+Tgq3BvmnYf60LFNGfpI/DuZ3GdPT9gDD68rXppQjZZkur1waXtkHYTlhKZhdTnnmURnpOSyZeu4nTz+Crzppr3kZ5TWT9lesyro6f4eVkPCcvrfe70X/af2RDOF3+41X2bgNTeZLOyxM6PLj2GvUN/15jXMVH/EjLeQeLNa8Z+QAj03fsZQOnWPQK/bh0f0jcyXL4IQeo1+uooM7Cgq8qiutBnHxJ87G7vfyUb7jhjrT+I1pt1yH1BnxxXtA2HqchnG5vm6YfT+N5/LHbY7Ld7ryddYgZrnkjxraoW1E8APHN9iiqtv0V8nOt3z0xScWsEqdUK9CWWL6J86Y9sbYsRBty6Nc8a9PeMLXQVaeOAAA+hE/rp/ffSG68Mn2xXgIwLZ+UsJmSthOxlrgUTbdDz0V13ZORdLxan0O4JA/PvTYFpSzv4xrw7XpxYvScZtyYjInB8v+ksKJjl6R0kLXmzhn/9DPvJ2no/e3b57CGZ/hIzRW8vy87VuNOEbb1bufGJydtdcjCmZXlMu+B918RKg6qmgKP7MBJY4OReAIiAuOl+AcPq7zVs7A9Dx+pNNWp6wBgpsg6/l2r3n8amd3z56GMGe1qXwom7OTJ+zJ09Fzidd9VL6t+IS9eb9mBe9Xj5jl8Sz+JW8oPmdPlI9u3zLYPYSOhzw+YxMTzhCPqtKDGQScJQBbnF0mdk9DvXJd6dmIT56GMopFPetqSBz0PY7FzrQZ3CBjUHJnIFbEeVAAAClxSURBVJlhSlmUPX9SD51PqNW/VsYywDUQ1LU8dFXJtu1jrdgqr7j7eOy9VpGQjmU6sL0WJ3ENDQqmigU/e6AwdQYN9R1e6vKPIcfMEOoLOkW3sSItR0WCaD6wvfZfVtaUtQ1F/gxMjARnGubBsRG3nEsGMb1yqIz9RW/o6K6SIJGsHktMrw6LR3dkH4kYHOhNcwXHEDuSq8IVpMSsfhRRRRO8EP8hoegSprIuZ8C9ce6LdDbtdBXyCTooxd8yopUqv71XT/zpPYUPmkBw6580JJetEuErA1UGZspYn4aI5bWr6jikIoneS5cwLEKNDPw6/e+Qn4Mef+pXbIEuVzzqW9V5GzuwHfzTPB3dVc7qX7b1kL250uCkMKsMz39aPXjGEHP2AufBvbu/ZtXf1T321eEcnzkogN2KlyqyZxenI7oJf/yEoY6JMlG/5D9AgQXm9udBjrSUL4VE60AsTl065kbO0WH4L+3uLWIaEp7kHjjuQrPMevUdXbPfRYbwVuciq9TVKUK8Glq8d+9XhCWGob88m2Kig4u6qm6nAGVKxvW40GsnXcFFOWsH/RdZUJhq8sQgbyvW1pQOWEzATcvGbpQ9cbKhTZI++6cv1uUsSrerAByTFhnbB3zU+f795vNorqj7z/bls32rcBhijQlB+ZTuVrrX4uMjzsTUFnNxTj9ILUmjfgiofmGZ7pPpr9axLBnhhwX4GakPaLhYrfliUYO0So/68oDV4/dsAbjjqhY/dScT2egeZRGd+lzw0QHtJHQ6FqkDOqGONdHTUVslnpKBeiDNRbcY6HTY/+SZcLChYh1iCndLhRCidX8iPzCix6SnEGlDPVOC55DeADJxNC08L4fHW3korwzC7bgWEShnrukwwdxs6xhgbOihnPYT5KEk+qlO26ZVbaG/UNW4YWqgGYDUc2LoEUTquT6hOpDPYcZmuW2mxvAxv6iWcSnjqojZysDfNNrXA7+Utw6g9iqrtWGcNLlgwQQv9yVLQAU3cZWm0DXIyoLFp5rEy9/wlrId1niQUGU3eV3mtuJrcfQU5nseETx44NzgFUaB5XFmgi9Z7r+PEXcvhJ9aeZ3N0K7gMVNmZGFyFYVX8G9Z6ZPxDkKlJDAaIdRSvkowMD8KRIYaPjBZgfj4xqDZa8VQUVLPTsW1DuFb8HrFIyPbtHO7n8tRzg7lBs8nbOr+zW9+lUe379ib4mkqj3Dm3rzhUTOrW9998xV48vFiyuvYffG7PzIrOVt9yoZ41JojKnhb7fkzjqJwc7fDhDNp2qeCzsZ6Rc/HgSBhWgyPdFHGnyHGl3xn1YZOT48YlNt0aTWUYhnXoCWUdCUJpUNVMDan6thJMwjSZhseeeajaN8ctDP1HhvTfQmCF/CCk3iJu3E5etVCjB609GzfDfklB3gAPDuqKx4xmuBS3yqVbjtO0SEt+dg7+cWTquejAMcwSEysYSijQkUp4T6ztcH62a501WrXMCA6jLu0zyNIV2TyIsJAf/PQNpuvRVX9rfTGqeSkEltWXhgK3zI+8iZGbJBpw7W8bTlw9Yb21BsmJ04wdIfXkyT2zDH2ps84+Nh/ME20pl7XoNEvK8SJirwr3bYaJ/XAFUi/N91pd109Z5qvZljWN33Ny1lw4NPlpC08BmfTHODkq5vbVTFXumKo43Bb1kGx+v0Z/YcHflkBec3ZUj4qf0X87CV2gjdc79DJXOn39xAFe+gjZXCxv/34DIeQVXC3ern6a/Bv45Vpg/0aHFyt8OUeHw/KX38x7uq8HZz8krE4k8e9g6ywMvDAUvUyPQ5HpOQ0OJMO7OiTQ4T9tcwP+LrqHxlAIe25w0+98mUjy2vTxJeGh7YbB3BV/2ln0z+LLot3kPbCeURz+F9yJXWd3+VCt+TScPTPSQR0+dsE+iD5Hk9xDs/cMiM/agVS3Sl7VTT4BIQXTgAYnjgqpx8VTxzQbdO2uCp8HNEJ/YKHeBpabrkZ7qfX4zL96HauH1kuL85IX/hgK+pv8UZco9PBGwce+pyzetwVQmOF8jH5OgDIyhVj+jA1+GqM+qOdsI+W081N7sNbrhPgQx1/sz2MWsbJUwfvk5aEwkm8tHn37MvAiQ6SX1wqHbFO+D20V3Wqf0pv6B8qdP1uEwi5LH74F12PDgz15R1pcYS8po0pDO+7TYHV9UiG4K3do1jhAoxMgAZYBU/apUffYEOX+DlRyxhEbNmUAcfgEvQdJyovlfmTyXrGCuXjFgL7afHJsbHzQ7/l0stKFk2f8AtP9tLy5M109Tz52CbDlO7Ww+aTcYXiHcgM90WjN0ka5LPOvKWLbQ09AQn9kTglMN638lx29e1YB943r3iNmz0RPMhCqd2f4wCL4vGZtAxcGFEH8cyU1YcIt4zNfeDFI1dJ6RyuNkTJKW/wjUyKZ/Ut+ci0FbKNg/cOgArXPTPZIA8cz7Lzteh7dlgM9mP2oPyWt/h+z2NYFeBn3sp6weeiXqNIvj3qGWMeKOuRE7/99OPVp7/59eqf//wP6Syff8rbti8xrDiO7mdzb5mfEfqRPXv2KJXITuEv+MkPiR8ksFGckAWNZaQzqKAxrWDYpQRp9qeCmqfRNm51e48jgwTS1gY2Ch1eWK87EGkM/uuVA+AFP40hIdfwqjvDA+Th/sWPeOnGr1JkhdIRgvIx9MShFQJsw6V59UI4MbDipJFiyLSTP0AGNTtTBzTAtqtsi9DCs+q4TxFxB74dWph59DzAcq+gLzs0r+RNnCYYlbIOaKknZbYBHuiDfNQPiOnjQp2VBn+uRqf0cN/pvffTFWidp/EmbMvYnj+PqBjfe20QR4fF1+hKw3TQUU/zWIFYR88zKMGICmBnH8FJxbymrkfC5FODrIL5hqlvtIeF0Kj8bV/Y8jWrIchOORsiK/WG6zMHNXGGX/ZbdVLdkX/+VODg6woUfRWwka15tudEyX+2Vy/LKOFq4x4C8w1ytzXcdWbHSw9xgth/41El/pwMGvvCVs68Q7ce+3hfed1nssiqUyYUpCUgo+av3/oUN8tKq/pikD4HscKfZsP3Ee9VNer4tLb4L+0MfMAOPItS57EHoUONKx3CektHy2HpZNcgh/5U55NL0QUIhJ/VZ8rRVN7IQZgM7IWFpcATnsai0VZwJNOvthRN7MGEN5GfMuQXPmMLlaM80AEz2Hb+tQHgLvBYtSvdQd/kPUGnPDSpH5QXI2m7x55PIK/ueQyW8sFWGbRBvTIfftJHuxnv7TfBDRqchEmg+BschA06Xwb1sPJqQO+VpZSyfkrVH/HP5FLaAepP9WzZG5ejUvYhtezIBPUg5Vyto5z9Kk437aeO/UwdUwrglhfw5Dv4Wg+CAqd0Q5gFV7sT2yOm6oR1yWr6rNSyM7Yf9X0AIv+10z3wRgCbdkp3u46y6Xzrj2m3jvyosOGc6R2Ur0HuCytcNDvyEXfT5NUGb9PqSZP21JoVTLdc8rmQD/WyT8k/CxajsuqGemGQHkPBGNoFXtlRJl7J5z7FNrQ0H1J5+NMw5EXsAnrrW9aQoecaWHA9/dJ8miEIW90rfBh9Uj74kd98FXbChrHJyzerQ0v1oSq0oavvf6nxYDmPR8/Tn+WYm3NLqR1YZEAZ2Tt3ao+XB1meuQ+Cfx4T4QzKQ0xf+dUMhcLf9SZnjQKGUglFfsYItToVEDSWdJIoD0bIZwy+5aZh2jL0ePMeqoi5oG4ewlD3h9W9d89RkIerjx884eWJHxhPOZaD+8dsCP+EE/I/+6TeYvwJ7jz//rvVy2ffrX784bsY1TM2mX/05MHqi8+frP70BZ+eOv8hG5WfPbu7+oGzp779+svVs++f8viJT0e9oZ2YErsXj2EZfB/ce0YaZ4/5eak7xG8oofeCAt6FJ/IlHST8jFcTOlu5fezrtbT76MUPoGMa+G9azULDlzhMGDx75jogA/lIB2zF9kDgM4zeGZtShXuPb6mW1wPG8CwOObjee89LNStwp+5HD16tntxnpeX++epXPG7zmA2dVtwwWhoedeIs2c77+369AQcDA6yj56PK7kw+nv6IWbWdLY9M7IT81KjgrdwZnMTVOtILhRmwvDc9AwypPk5x9bV9gcqPGR/aow1g581a5KBBD0zwNDS88AXDEV0jz6+BdH7Hlg2PSDjnk2TSqaGJbcARMs9VXt/YvOMSAvcanryT76SG6/ALPO4/rsen7lEJ7xiCXZ3zZQbPf/KN1bO7/l7we14yQC7v+N7tir71+OFrfuyDRSY/4xS1Yb3Dapi0GJRLvRSgQXS9StlqEymj7rBHTwPrm6WuMDjxCT9wmh9CaxlIYahfleeb1NFTvCP7OwSlvbwRT/8NHpSNo49gHpz9TF/ECN9zW4PHI/C2LDTdv0cfQQ8ysOD0yKcYaZxcOcNGC2AjWA8pR7000D7eea8znr6tfJzUKM+yEcVvkfKIGHgA/32ZwtiBLxpGtjZJBS+nBxnp9Iuj1ohyrhi46nPPL+BwL71vdHKGYxQeejRU+q62SB7oJFDXoP0C1/vIziyvozfANhY7gwdRe+/KhCuD6t0Yz0fokNtN7B9v0Bfx1yF/gI74ZvaddxzpICDazuq0l/xsofTRHkOANvubj39dUdXZEEVl61EU73ibWr5jIdiKQuxn8M74bCW26j2TEbek3Fv9Kg6m+DqZj8MILvLTM9mUuX62j9XVPGn0Mbu6Jo+N4/Da34efj9S0W4riLjqfR4c6W9SAMbSHc21Z+Px2sGnqtbIw9vgk8Ymu01a1qqwqLV8nES79xXbuY3PvvnsKfHTQcQF9P6OvPKCqbxH79vXde35LGtsKXJ0ZueKv200afMxB09hL0/Mmp/pF/5bj75HXW4XFf2PTpT970CzPzy4fmZiv/G0LuE7S5If4UiM00TNjs5wEyJqOyUx+xZu/8sRgbUNQgT+teYEqPuiBcq8+Lv8q2G2E4aS3g/f1c6IAvsjp8cOyD+rnz761jk3xk2736eM+Cvd4G/Uw2MAftC56q71U333ap72RR+LgYk/28SKDh/zuvEdW735AWthAgJzd5agm9vQqX/u2W6bO0Nd7Z+gB9d9iEx0ntGviCpsHuEMsBtI10JKFIvUNfWr6il64Ir+EYV/hn/pX/HuNHC0l7l74PXDHSibl2LzkJb10fsNB6xCEE3vvdVJu/M9eR2+8UjGHjWOSY+H3T89Xf/3bN6svv/yP1f/8139b/du//wdnMH2/+vpbPrHkKgSPZM4xnG95f98XLnyc+Yb75zhqGhfZlU5OnFWF3JfiRTAIIgPqMMDYUUqIdCs4+2oQnJ2uBWb6fQY2DY6GxdU7V1iceVjmBzTHbXVP6VAPeXvxiy++WD158OfVo7t/yUxFo/9fX/6P1ddf/SV7VP74xz+s/vEf/5SVrNevv4LW/7P6l3/57xwL8QT6v1z9r3//cvXt3/519dV//hePbVE+3ip+RnvnrAYaHvzpT6s3z16ufvz26xjucz419b3LgBoI8afzjPE3LV9eoK7XndexCmMnRWtgnr2p+JXGhj/j4xVUTOEY0h7FH3E0hIP2O2Y+OsqalvPM4BlYiB3Ivv8eOf7lL6sfvvsudd/99JvVnRd/WP32t79dvXvGgINy7wrO2H/6kfYoMMXOtLcMVoYxCZLCPvyQFAcqBsDBwdlUyb15kNXCQIA6fPla3xgSiPrR8yalcAk+/PEYIHWjnBgHagYR+JAjYdA5deayYHmxwh0JfYHLdcfue4LZiJhODx0oec04lQOG6meMupZB2euoFF1c556z5p4+zzc3f2Dy8OM3TDi+fbp6+uz56py30ex4b//5fPXDNy8Zsj5fveWLFp4PJj29GuP3OoXpKiHgw1QHLVciXSG17FgnKBEDZyy+rT/ej0O5v54n96QGMeC4H830tDf0Q2m/945jlF7XURxv4efTZ89WX3/9zerZt9+uXn77Ff2D/BdPVu8++YSXL3hL9hWHGrO6rrMcRwqYpf/Gmz6iPj9kz6yrhFP9ucq99DzQoVwrJsODghuF598r3WrfuHVFvF79iNzQkbyxCu01UJUTUwNn9dlarai6lV4Neu3quMFWTG296ficR7c6OjmKiPJBD56+kr/83EOcR3+qFplTunPeIekOVe3oGWsULe+E9xX77/wmuat2NJX+r957mO43f/m/kcFL8Dx798XqzU+/zyHQylgt7ZU+aehQDg1NAN+XuIwta6ypkHf+mpciHRMyIC9+aOwsPd1Gx2P9tPo0qDeeqmBbfnP9b3/96+pn+ohjzV9/OFt9/vnnq7s/PV6tXvBtaCYkcchkAtJY94spUJkHfjLR9qObshT61CVj4bTDN043Py8PDuU2oB0TN45dw1c+SScLrgGfdgdHT8fwwcN06g2YHVegNBuU41xo2s3ra+O61mbAK4T2ajgHcaqfbwf9/Inxj8Kxf+qrE/iOTff8wrjR2CN16TV75z3pwTe9neB89b+/jP1TX+6ef7L65PG3q48/+m+MwXz6kSeDfKgPdsg3naemRPlUaNz7fhr3wonn1FpWfjSdxm3/7atu/cLbozV6K7Hjrx9JyBeFOEj+jMnSR2efcM/XwDjW6RNetJPvjuyFxwavDbKtS1PMrvceJxgKTgiu+AgBmbAn7w17aljV4kiV775/xhlXrDDwGOCtjp5OHkqKOJKGfOkQDpIaAJW80Oi4UfK+GT8eQEpBy7hGyMOMqGdG5aCWQiI74Os0uX9Q58VZmIO55k+jU4/PdNg++YTv1RHbph76M876+v6pq3nnODYoGoORoZapeWv344955MsRDcD/DkfoK940fg4P7Kh5XAxfaiPz+5T97LPPYiit7yDs5nQDKpaBeByrDJ7UbjxOd8Dueze9q3C7wrgjl7JRHNo62DnGDrTpdqp28iwr/jrIHrGgPHSePPFfJ9G6SLDBXYjHbV3IJMEVDLViVxC+bWqoWzeE2R1yV71OH9PfaeO4DywVvqFh6yhZtx3tcZ3x9T765KVluty4HRJrhUibYRl1YChb+otmg5Y4vHLPKzJwQPa+HkO9Y6D6dPX57z6NPNSnduzkW8tRmGN+zfGzaTduPhu3wzimeX1Nf76fk++VjzNyeSitaL8zdmLTPeLH+9o64cG8r1fPn7/g9yxOxl1fUmJAe8hjfOP7bJuoM83AhRm/cKZw6572cPLs/8cFBh5XSC4JyqtlYjF5Il/9KZv7w0smJIf+5oP3pIRuY/Gt/aSV3vkeGNz5c7EvxFiv4U750HZIqHOhZSkN41Dp9D2ehHjUTe2lU1drhc3tLT4WfsmEwq9vuMr88cdPOFKKl2ZYTalJOX3SMTb812FQDtux5XRI2h57n5V5VxitjF5Yr+F1/S7f9/MxqRp3gw6QdnASO2GKA0f8ExOhH56ic7ws6LYi3yI2+MKb579KlzJ1PLC9Ar1NzxSPrPxbRDqJqwuU46oLM+utDvbctjtM6e925Lt8ar7JF/np2JJYJ+cS+9/wd8VTvehynT7Vn3FfsOx4Ij4u2/bGMaPrGHd6p52nf6ub5QNo19pu2ffcMqW8HH89weDTTz/NOKyDzfo6EzX3WmMDJnK/6r14GBqfcWy6uDRdxuK0uc/zhaxuZxURXD568nD1yW8+YlsX+/xZ7SzK9HoM9o9pUHn83Ww40dET8Z7bw+sgrOvkcn4N/+kDlNLUWTr2bxTb1YoJXBwRymAqqKtVtiNbh3EwoauZLoyGI97IOOX0xczvx4KhgXsNAfYKo7Fp27zRbWWkwqZMrigkfPrtpaHps1DjNq6wT0Uuqw8JzJoK7pgG4euIh087GpCkWVqtPAoXeDHK83KONZMi69suuw/musKeizGc5lN0YE+9Q7Ll45i30mBb3Y44jPHYBdsBZAvHoZLb3vBJE9QnQ+t29ItyaWvSiLDWeEzyCsomv++nsfojPR36ege4C/piv2JsTZjqdsZscpLNn44biBMUA+Pr0WGK/yGAUhccfJyULiI+4kLs5eDzluyH9M4/NhauwHUo0oj3JwZXmwzqivZsLIfWD22foX0qr+fSTL9qsL7wW1evWm9nOZkzw2flsOYX+c6LLZoHCdwzZ2Iisk33qbSJo7R1GPO00zrerCZ3yiZu/pvidd9vwRvkt6l1vVdNx1abQxPpA8O15I7LNlrNhr6fYievHQLXujVUGMOyzvBgpPRlABY5obPdxhT2Ve6lYYzb+HpX/XF7476f66GS+OsQ+tUOPZ/dcMe1drV4evqJjp6zaR29GmHwdSHOGRyzDf7Vg8Ui0WtNokzyZ6o/HugQj1lH4r4waIGR++8qCK0hT+JCoYqlKSuOExsEYjd/gJ/pajRwUIduIlpHQa2U2pZ06ItQB8FlhsF1j/TCtRz3HgUTX18Nn8OD5INDw5/Gtt94i98kH2zSVM9sut2etUzTO7/jqi1/pPuwmHWKtG6tq4Q1riHoKjUuLyPGaqTrunPB9mpONpd7tbQ5GJu04l4greUyxgUM9YYiP66TxZ+WY6OgV4Sc/RydK2c+Eg5jx97GGj6VAs/KJJre8Dq942Ry0/dzsWlDuExnzPPXM+aus47H+Jlov7Ifticwze+KJ6xmBMQaf7VBTdyOy56FSRfyQ08Jpfg4x59p/x/TMVf+svw5eQXfUDL/Rx7usjGdF/0BmXquSHl5Lx+06+hT3w/lfIHEB7fV9Da/pvwLS/XKM6Md8VcP3fZ7hPd6HHbhPC4zvrb6Zfy0afGw3cwSjEkLDqZDx0CfD11dCbzAjzEfwh+BXhKmNFl0F12j9rf43fyPRz7IYyynS5q/UpY4itMu/vX4IbPCL2ng1+W9HsJl/b/LXIjd9xWeyG+Aha8A73b10tftqZdA8J5tPPE3XPG8APRDJaj726HZoY3Xnvi8y9Dp1T9IaKQ3GSl3U38uf26xt1UI5ZFsk7FNtgMojzgy2FQRB03pallZPp/EWRN9CdVznSbT+a4jtDIk470OvjpfLYorHSV1KKfhQcH8hFiWk8VMRVPBDBogFZAlk+BoWrhle7ZFnM4p/UMd6+aRBLkoYr4mYJoDrwprNTpsvaElHH4+8zZM6ev7NoRV6mK5sraFgiBFZSvmpu/Nm+S7AX/ddrcJ3ZGU9KcOf3rgFQ9xGvByn8alQRhB4GLshljBy/ZdQTyq01hiu6B547O35mBc5qjG7re8g+cAQT70T9ldFppnO8qs+RheFtweZ/LYyvYzgAiAaw26ZHJZ5Kpfo2B5ZUG5OIwyL44d/c3HkBlAwdn6/RNQwxvHgg28IXHcbvAa2h2nj+ubHmKqnJuhE0yfhBRtPNR5+aH8nTRBQ8BEEcaVuRaPyAKAZg1NrHU2/XRI7/yD4gY4QXi4Xcsq+iHgzS/a2/ovGPE37va9z+MA0jrfTPPrz8iRH9Xr+tNYIMKJjDcgaJibHcHyVgr+ozKRFXrkkqp2Ub0LLdpF9ct+je1j8lBPHXyki6y0Xzoa6f/EmYhQth2VaRx9FpY4GKvP2uEBZ+sPdEWfKbbmo/xrPTR9yg/v146A8AY8xnHaIz1wun3vlZ6Pqu0rQ73QDX3BE3DiJR+8n9LV+DdfO0416nVf6Nj0lJGQSUi74MFLMTkp3X277GPPvUXH9xRJZ5Ge8McEaT8yBB3xpb789M8Wn6f3QznL2740DTTG1gmiwygvSc2LjpVT29fIgFLSFb4TC9q3yimTcar1QT4hN2+VoTWOD9u1N2PNBuIFusiqNJcqfL+Af9AkLjp24tUhNiI3yugEOTXAI+PTVvTkUZ4PEfeMrYlM5yhhNW7uWTC74ia648qJdClxtbghN4y+PyDuDjuuoiKOO655GkPDNL1Sh78DHjGSXDcvtsoMN+s8O+op4QTabVZWG67K8mm5NR0F5qi/x4h+iscx90chew2VtvRrl/yvKNctWNeA26Egxo7OnBx7oLYzdL7KprwyUBCbvitY7tJwRT7tgtHwjRu/Q+K1U7CrgZtOP5H+4L9LB8F9ql8X7k+kT0frVsMltF8Fr7nx4yr11mVObL9WH9bQPvjFSf0H2tP3xzzYow/TcXhtO6wnnEPj0zmmizc1GQ114ySK10Bb88xCa/y7xs3EJ67ogVRWhIiDPIQ0EX3wsUmDMPvsscR0EIv64LZWXWQCjmA6/uaRWRz8kQA7v62yXrRQOmwY2ykVKwyD+V7HAwexe3frE1VVSvT5xzS+NpY74fXBHgTgyPbqka9bG976CBbHzw2brgr25OQtab3QYDlhbm3CNw2D6S97kS00CmMarDsXNmXm87tOl2s4ttnBFZh+bDlV1L7P55wYkD0GQTYEHWME49K58Eu+DfXqcVZLSsBboMVw3RQ4pvvC09l0Gd0kzcXU36oH7PH91vRrQH28Cjjm19Up25RU7r0BuWVuLN98+8yrsZnb1KyJRcttk146XHL1NRZK4GytV6UpqF4acnRFqC19S+LwZ0yjSQVvU2Ku3U1uXaUXDI6ex4qErwiuxFAQoiUkeExGT5LOOUPSt5B94UJMLd/tddxtUWwdpjiaMcpel7vqhfhvVm921Br0pzEUH/FteuW/i1aGOfwqZ/vvuNyU3u2S3epF2Jt6l3PAcrY3btM2TM8/njzUyxIbOOPy9u3Ocf3Cm7YZfhs8dmGK9Oi+27Wt+TCv511vvs5hqaETORr6qIyG0Hh1fGi7vDoQUOP+1P087WmfhjAHu0bBLlHx2ObEVgydYNpG6d0uvm7D3HXXsjV/Dr+u1/zp+5SPHaMe+AWOEzfQsaz39o2ck8iN961Lm7jGEI/mUasquBhU/4aEdSRcS5b9xObhQ5zx1jzJQ2gYozh5o/uU3NwPapHUsa1piEHcm3Ub65xK9I1/iSNsLDl4gqi2/z5ng/4SwmkrelIg5w0yItIcYtM6DIzo23VMui5a83BXsXX52QsRaCRmCwC/WphT5No7KA5lEC9CsEQrhuXmlVAj2OWikA6+cRKbuouQr5IS40rBMe7j66vA6DLNh3WMltfJ/F3iYrwuO+LPse1PocvVyPwyFnVP7N7UQMbpAhHGEfFlTdtU0+/1XNjHizq7z1Kl3T1Z0DiqSxpDQ+dv2rio02NcNuUdKurfWP/mYHb9Td1Na8deFVWX1x73DUueD2+5e36j1F+kdAOvuHSVVjZ1DrkapHJIla2yTpVOCS2TXTD2yeoy3u2COU6fe+NdnLrdXdfC8LgPz1P7ewrN76bvMtzHtO8qJ6cMY3jW63a6T87Xv2yTftUY2/9pG1XCFx+PD4dqb9Nli1630z/GrfOMp+mmjUO5bqYUJsKsKaP3Wkf5K5+memYa3MXZy4KBIObCPtMxHgD2lW34W3V09FsCQ0bGqjEwaRlxeqt+A73Z+HRHT/wacWnzei623JohuaEsxI/5MSQfFo1dxcNqimqLqGu24vb9NFa5xqFJ36RNIV4ssSm7vyOMy85djzveXP5laWJ6OXaX1e684wVozWn3bagfKp7TgQ/Vtu1sa5MpuyQy1SvLGi5CqPSb/1v6c7z8xXBaex810/K7uHUV6h1GTqlf+E8twlVavs4yp1JwGi5TeRwK7XaxPxTbi+X3OTIXa8ylHM+F42vO4XFY2nWMH/LvYp+XKjVrGl/Eb672xVI3lKL/Mg2zWzlmyk3r3fD9NTh6tSZxVIefY9ShBM8y9qpAavBsddqupXDMnwgpzinp0zjlCt5F93G+hWoP+MfyYd/+mm2CLtyJlRgbHxs2ch/zq/l2eVynKh5ebyOXy+FfpVytyJwOp/TkcDhlqMb15iRxmYQ2EpireZNppT+uKE76yBUbFfOuuZeKORas+/6Yf1fXJ1cTrDkH+iokFP5ODZuKq9S6zjJi7++UcFu4n4LzL6jusbZbEtb6eyw9p8r+2HarXvX/6+w/V6FnrK9V3n5sXxSfDxnHein/bniOnXsN21yl60870dHTydNYTk39mLoWTMdFxLqETPJ3G6GRMN6Hw1x+1xvHh9IxB/cQGE3DIXW6LHWvpfljgQx8y54NYBwTNynHxGHdsbgf0+D/h3WU2Slh/djlWDmc0j51j222aQ7+pwJpYMfETb84eH1ofEyb4zqn0N74juEdet30H1rvusqfQv914dB8PCY+BQfaO5X82f5zmUzHDdo+v3dsANO70O07PK6Hx4fXk3G8Y+vb0dPQ+He8lT92ZmfqbpW9vptrc/Qapc2jzyai4y6xicOHseA2WYddnQJjVhiXNG9b1hm3OYUxvR+DG9czfXo/LnuV68vaukr9U8ucgv+A+6nOwrEknOxkHNvwuN4++e3LP4X/YzxOvRYPcT003tfuPvr28Wcf/CX/NA7sk88+6H/v8juV/n382Zf/986/ffTtyS9Hb+w87akwm31cfV4Fqf2BUx1omXS81ea0rd3+0Va1E29OfOtWJOe3m65pnDJhgrDfaXRb73HBViBh3dhxUOZrbQtk3UTeuCWP+CJpXafjGcjDG7vrh1ZrwDNlP0DS2tk5ti3ld5ERV4d2m/TfZttyaGj/FPaph7cZTtWfvU7+wKM5UW34dkl/28OcNVyBeXNIjO3bi/+e9q8n+3j6+2W0Y/HwRctTwvGYn9Lq9dW9bfpvt/fTZTad8CimzvefXVoxT+28B3IIOvNwrwJB/C90gQsJDWkXXZ1/c/GJK3qF2NQ2JvUqCgBDauFUR0/uTCHtu7el44Vk7U0QzlQQ3lf6LtltP7Tu+ruIbyjXhfMG+8bz0PjOdK/hofdBAbr3iWpXPvWLW83/DxfX6/Afrr25hwu7NGVbjmM577q+HTpao3dhtS99N/3bNXe1U/U3/XSbb/vTL+6RPISPrbvbuH74u/10zvPlosU7FHe5dUoQ87/ncAr910H7pv1D9PZYfblY76TxA8FvHL3mRsdTy9AWoCnu+JejPY3hPEZN1zT3w9BxLY5eUFcuUjqVz5Su6f3l3JmWnrnfxcCZorNJE0aP8c9qFfnjTbPj/MAb5+/DpdvqWADW2VcvDc38Ec4Y1kyRG0wqVtSGdrGQikPiRq1U4JCah7Y0X753ZxxPwTzcq3KiXkZpLkzjMT+meb+ke3ng7wOFrf4Hj9b2Y8yv0+RyVflt6P6A9G+xWZqHcOgErct3/VuLRzQchcNt8b6RPbX9uSdDDfvyOKqvHE8J6/5zCpBT64552NdbHZ0GGtExvePrU3E4vH6NH/WOgvhtY7N9N809vLXTapzu6E3lMcVn7CRN805V0oZ3WRtdZi4+qP1WwCmgQaBbOFjW9I5HdaZtpl6XOzQG7hTeqKm9l0Pf2SfCy+CI8WbAu6zkfJ7L7t2F50vcXKp0F/4318Y+yBdOwTpFnvsau+78CK5eyNrW96vp8aUrqvLBvjGO1/2p4UvQtkE9iMQT9b+qi0vj86Fjmj5VX7bs1kHcu57Cf+/4hwvHyv1UFqL7bbyNVchD41NQuJb+IwLybxym950319fn0rr8VeJdbV2lruzul1EHZmxV2+B2247eiXv0oGqOvh3EbiV7s7fuhRo7EjYM3VFgPvmy9i90mB1trGFM8/u+4wGFdflGqfOPjC/Aa7hXj08BUVg37ldvs0ue0nbDODa27eMxP7bVab0JBrfJkClqV7pvR73puMFY3sTxG2LxuwZ+nQbiBumVvrWG7minkb9grwbe7Etfw09jH/5P4390y82XowFcU8XG49D4xObH/OvrQ+NrROE4UM2zfbWvWm4fnHH+aTBltRCa5WPIm767nXobd6ev6N0G1kubCwcWDiwcWDiwcGDhwMKBhQN7OXCaO7sX/FJg4cDCgYUDCwcWDiwcWDiwcOC2OLA4erfF+aXdhQMLBxYOLBxYOLBwYOHADXNgcfRumMEL+IUDCwcWDiwcWDiwcGDhwG1xYHH0bovzS7sLBxYOLBxYOLBwYOHAwoEb5sDi6N0wgxfwCwcWDiwcWDiwcGDhwMKB2+LA4ujdFueXdhcOLBxYOLBwYOHAwoGFAzfMgcXRu2EGL+AXDiwcWDiwcGDhwMKBhQO3xYHF0bstzi/tLhxYOLBwYOHAwoGFAwsHbpgDi6N3wwxewC8cWDiwcGDhwMKBhQMLB26LA4ujd1ucX9pdOLBwYOHAwoGFAwsHFg7cMAcWR++GGbyAXziwcGDhwMKBhQMLBxYO3BYHFkfvtji/tLtwYOHAwoGFAwsHFg4sHLhhDiyO3g0zeAG/cGDhwMKBhQMLBxYOLBy4LQ78P1Nx3AhsxhwTAAAAAElFTkSuQmCC" class="kg-image" alt loading="lazy"></figure><h3 id="formatting-mix-ups">Formatting mix-ups  <a class="markdownit-header-anchor" href="#formatting-mix-ups">🔗</a></h3><p>Dates, times, currencies, or numbers <a href="https://localazy.com/blog/number-localization-guide-currencies-dates-measurement-units/">can also lead to UX confusion</a>. For example, 05/09 is May 9 in the US, but 5th Sept in the UK.</p><h3 id="broken-uis">Broken UIs <a class="markdownit-header-anchor" href="#broken-uis">🔗</a></h3><p>German, Finnish, or Russian words are often much longer than English ones, which means buttons or labels might overflow when translated. Languages like Chinese or Japanese are shorter and could leave odd gaps. Arabic and Hebrew <a href="https://localazy.com/blog/why-implementing-rtl-matters-do-i-need-rtl/">read right to left</a>, which can lead to UI misalignments.</p><p>Sloppy localization, including text that overflows, cut off buttons, or layouts that don't align, doesn’t inspire trust and loyalty. In fact, it does the opposite and ramps up customer churn. <a href="https://www.performancemarketingworld.com/article/1754038/lost-translation-poor-localisation-costing-customers">Recent research</a> shows that <strong>24% of users turn away from brands with poor localization practices</strong>.</p><p>It’s not worth the risk of waiting it out and relying on user feedback. Localization testing before launch is a much smarter strategy.</p><blockquote>24% of users turn away from brands with poor localization practices. A broken or misaligned UI, unnatural translations or just bad formatting can ramp up customer churn — that's why testing ends up paying off</blockquote><h2 id="what-is-localization-testing">👁️ What is localization testing? <a class="markdownit-header-anchor" href="#what-is-localization-testing">🔗</a></h2><p><strong>Localization testing</strong> catches all those pesky localization errors before you put them out into the world.</p><p>It’s a bit like using quality assurance (QA) processes to find and correct software bugs, but instead of hunting down coding errors that crash your product, you’re looking for translation errors, cultural issues, and UI blips that might annoy or confuse people.</p><p>Localization testing is often referred to as<strong> global UX testing</strong>, as it involves checking whether the overall experience feels right for users in each market.</p><h2 id="automated-checks-to-catch-the-basics">🔎 Automated checks to catch the basics <a class="markdownit-header-anchor" href="#automated-checks-to-catch-the-basics">🔗</a></h2><p>Automated checks are like a spell-check for your localized product. They apply <a href="https://localazy.com/docs/general/qa-checks?srsltid=AfmBOopqzdgBq6cE49gGl4bHmRUm0tPw4S91Vw-H2gujABItHuzLrbMG" rel="noopener noreferrer nofollow">localization QA rules</a> to scan for common mistakes. Tools like Localazy have this feature built-in, helping you catch glaring errors early on.</p><p>They flag things like <strong>common translation errors, placeholder mismatches, missing punctuation marks, awkward spacing, or formatting errors</strong>.</p><p>However, these checks are like an initial safety net and don’t catch everything. You need humans to go through everything with a fine-tooth comb if you want high-quality localization. 🪮</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/11/image-1-4.png" class="kg-image" alt loading="lazy" width="2000" height="831" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image-1-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image-1-4.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/image-1-4.png 1600w, https://ghost.localazy.com/content/images/2025/11/image-1-4.png 2244w" sizes="(min-width: 1200px) 1200px"><figcaption>The QA checks in Localazy in action.</figcaption></figure><h3 id="in-context-and-pseudo-testing-for-previews">In-context & pseudo-testing for previews <a class="markdownit-header-anchor" href="#in-context-and-pseudo-testing-for-previews">🔗</a></h3><p>Reading translations in a spreadsheet is a totally different experience from seeing them out there in the “wild” (that is, actually in your product).</p><p>Using an <strong>in-context preview tool </strong>lets you drop translations into the real layout, making it easy to spot broken buttons, odd spacing, gaps, or text that doesn’t quite fit. Integrations with popular tools <a href="https://localazy.com/features/figma-localization-plugin/">like Figma</a> make it even easier.</p><p>You can also use <a href="https://localazy.com/dictionary/pseudolocalization?srsltid=AfmBOoodSxqBrBkzQNSMi5gX0mDhK3Otw4psZlmZU7GGBNjYtBntxupR" rel="noopener noreferrer nofollow"><strong>pseudo-localization</strong></a>, a clever trick that involves adding fake text or special characters to mimic real translations. This stretches out words, adds accents, and tests encoding so you can catch the ugly stuff early on, like cut-off labels or characters that refuse to render properly. For example, “Account Settings” could be written as something like [!!! Àççôûñţ Šéţţîñĝš !!!].</p><h3 id="human-review-for-nuance">Human review for nuance <a class="markdownit-header-anchor" href="#human-review-for-nuance">🔗</a></h3><p>Automation can’t tell you when something simply sounds wrong. That’s where human reviewers come in. They make sure the tone feels natural and that any idioms make sense, a process known as <strong>linguistic testing</strong>. It focuses on grammar, tone, meaning, and flow <strong>so the product feels like it was built for the target market from day one</strong>. If there are cultural references, reviewers ensure they land the way they should and don’t cause confusion or offense.</p><h3 id="continuous-integration-with-development">Continuous Integration with development <a class="markdownit-header-anchor" href="#continuous-integration-with-development">🔗</a></h3><p><a href="https://localazy.com/dictionary/continuous-integration/">A <strong>Continuous Integration (CI)</strong> approach</a> offers the best results. It means localizing your product as it’s built and updated. You can use tools that take new strings straight from your code and feed them into the localization platform and back again.</p><p>A good CI workflow means translations get tested as part of your regular build, rather than being bolted on at the end. It leads to faster feedback and fewer last-minute surprises. It means you squash localization bugs early before they get a chance to annoy your audience.</p><blockquote>⚙️ See some examples of CI technical workflows in localization <a href="https://localazy.com/tags/ci">here</a></blockquote><h3 id="task-automation-to-save-time">Task automation to save time <a class="markdownit-header-anchor" href="#task-automation-to-save-time">🔗</a></h3><p>As well as automated checks at the beginning, you can also automate some of the dull, repetitive stuff, such as <strong>syncing files, spotting duplicates, or running machine or AI-powered pre-translations</strong>. Using smart automations like these frees your team from some of their busywork to focus on the things where they can bring real value, like optimizing content and UX.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/11/image-3-2-1.png" class="kg-image" alt loading="lazy" width="500" height="480"><figcaption>An example of a simple AI translation <a href="https://localazy.com/features/automations/">automation</a> being set up in Localazy.</figcaption></figure><h2 id="how-to-catch-issues-before-users-spot-them">🐞 How to catch issues before users spot them <a class="markdownit-header-anchor" href="#how-to-catch-issues-before-users-spot-them">🔗</a></h2><p>Doing localization testing and management manually is a bit of a nightmare. It swallows up hours of a developer’s schedule, which is time that would be better spent coding and adding new features. The added pressure on development teams means that localization errors often slip through the net.</p><p><strong><a href="https://localazy.com/dictionary/continuous-localization/">Continuous localization</a></strong> helps to stop the last-minute rush to fix errors or waiting for users to complain. It builds translation and QA into the development pipeline so that every new feature launch and update gets localized and tested as part of the release cycle.</p><blockquote>Doing localization testing and management manually is a bit of a nightmare. With a continuous localization approach, errors get fixed, features are developed and testing is carried out all in paralel</blockquote><p>Platforms like Localazy make continuous localization testing and fixing much easier to manage. For example, Wall Street English used the <a href="https://strapi.io/blog/strapi-localization-made-easy-with-localazy-plugin">Localazy’s Strapi integration</a> to cut hours of manual work. “<strong>We translated and deployed our content to create three new sites at the click of a button,”</strong> says Speck.</p><p>You can set up Localazy so that it automatically translates new strings as soon as they appear in your project. It pulls from trusted MT engines (like DeepL, Amazon, or Azure) or from the <a href="https://localazy.com/features/localazy-ai/">Localazy AI</a> model, and cross-checks with its own shared translation memory to give you <strong>an instant first draft</strong>. 📑</p><p>Localazy also runs automated QA rules in the background to flag common UI and UX problems. These are quick wins that otherwise slip through unnoticed.</p><h3 id="post-editing-with-translators-and-reviewers">Post-editing with translators & reviewers <a class="markdownit-header-anchor" href="#post-editing-with-translators-and-reviewers">🔗</a></h3><p>After producing the first automated draft, Localazy lets you layer human input on top of the machine output:</p><p><strong>✍️ Remote translators</strong></p><p>The machine does a first pass, then a human linguist checks context, punctuation, placeholders, and fixes anything that feels off.</p><p><strong>📝 Remote reviewers</strong></p><p>Human reviewers run QA on translations (whether machine or human-generated) to catch consistency issues or tone mismatches.</p><p>The best thing is, <strong>you don’t have to hire and manage reviewers manually</strong>, as it’s all built into Localazy’s Autopilot service. For markets where you really don’t want to compromise on quality (your core revenue regions), Localazy connects you directly with vetted professional translators. They’ll handle the cultural adaptation and style to make sure it aligns perfectly with your brand voice.</p><p>Everything is managed within the platform workflows, so you don’t waste time engaging and managing freelancers or agencies.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/items-4.png" class="kg-image" alt loading="lazy" width="1246" height="704" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/items-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/items-4.png 1000w, https://ghost.localazy.com/content/images/2025/11/items-4.png 1246w" sizes="(min-width: 720px) 720px"></figure><p>Alternatively, you can opt for a machine translation approach using Localazy AI and style guides. It’s <strong>ideal for lower risk products or for markets where speed and scalability are more important</strong> than perfection. </p><blockquote>💙 <a href="https://localazy.com/register">Give Localazy a try today</a> and see how it can improve your localization testing workflows. It’s free for the first 14 days!</blockquote><h2 id="faq">？FAQ <a class="markdownit-header-anchor" href="#faq">🔗</a></h2><h3 id="do-i-really-need-localization-testing-if-my-product-is-small">Do I really need localization testing if my product is small? <a class="markdownit-header-anchor" href="#do-i-really-need-localization-testing-if-my-product-is-small">🔗</a></h3><p>Yes. Even a lightweight app or website can lose users fast if the translation feels off or the UI breaks. Small multilingual products often rely on first impressions and you may only get one shot.</p><h3 id="isnt-machine-translation-good-enough-now">Isn’t machine translation good enough now? <a class="markdownit-header-anchor" href="#isnt-machine-translation-good-enough-now">🔗</a></h3><p>MT has come a long way, but it still misses nuance, idioms, and cultural fit. Machines catch the easy stuff, then humans add the finishing touches to make it sound natural. The winning formula is using both.</p><h3 id="cant-i-just-rely-on-user-feedback-to-catch-issues">Can’t I just rely on user feedback to catch issues? <a class="markdownit-header-anchor" href="#cant-i-just-rely-on-user-feedback-to-catch-issues">🔗</a></h3><p>Not safely. Most people won’t tell you when something feels wrong: they’ll just run away. Waiting for complaints means losing users you might never win back.</p><h3 id="how-much-does-localization-testing-cost">How much does localization testing cost? <a class="markdownit-header-anchor" href="#how-much-does-localization-testing-cost">🔗</a></h3><p>It depends on your product size and number of languages. Doing it manually can add up — for example, five hours of testing across five languages at around $50 per hour, plus another eight hours of human review per language, could easily reach $2,800 or more.</p><p>But a platform like Localazy helps cut these costs. Automated QA, in-context previews, and built-in reviewer workflows remove much of the manual effort, cutting both time and spend. Instead of hiring and managing freelancers or agencies, you can handle everything in one place.</p><h3 id="how-long-does-localization-testing-take">How long does localization testing take? <a class="markdownit-header-anchor" href="#how-long-does-localization-testing-take">🔗</a></h3><p>For small apps, think a few hours per language. For bigger localized products (like games or complex platforms), it can take days for each language. Either way, catching errors before launch is always faster than fixing them afterwards.</p><h3 id="whats-the-difference-between-localization-testing-and-qa-testing">What’s the difference between localization testing and QA testing? <a class="markdownit-header-anchor" href="#whats-the-difference-between-localization-testing-and-qa-testing">🔗</a></h3><p>QA looks for things that break your product. Localization testing looks for things that break the experience: the language, culture, layout, and flow, which is the stuff that makes users feel “this was built for me.”</p>]]></content:encoded>
            <author>Dan Martin</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/11/mythbusters_08.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Guide to translating Angular apps with ngx-translate | Part 1: Foundations 🏗️]]></title>
            <link>https://localazy.com/blog/guide-to-translate-angular-apps-with-ngx-translate-foundations</link>
            <guid isPermaLink="false">guide-to-translate-angular-apps-with-ngx-translate-foundations</guid>
            <pubDate>Thu, 16 Apr 2026 14:28:48 GMT</pubDate>
            <description><![CDATA[Learn how to integrate runtime localization with ngx-translate and streamline translations using Localazy, complete with ICU plurals, pseudo-locales for testing, and PWA enhancements to deliver a fast, offline-ready, and naturally multilingual application.]]></description>
            <content:encoded><![CDATA[<p>Building invoices is easy; making them feel native in every language is where the real craft lives. In this guide, <strong>we’ll turn a simple Angular invoice app into a polished, multilingual experience</strong> using Angular localization library <a href="https://github.com/ngx-translate/core">ngx-translate</a> for runtime i18n and Localazy for a smooth upload-translate-download loop. Along the way, we’ll add ICU plurals, a pseudo-locale for visual QA, and a few PWA touches so your localized app feels fast, offline-friendly, and ready for real users.</p><h2 id="what-youll-build-in-this-tutorial">🧱 What you'll build in this tutorial <a class="markdownit-header-anchor" href="#what-youll-build-in-this-tutorial">🔗</a></h2><p>Here’s a quick look at the Angular localization app you’ll create in this tutorial. The video below shows the final result, including the integration with Localazy for managing translations effortlessly.</p><ol><li><strong>🏗️ Part 1: Foundations</strong>. Set up your Angular project, configure runtime i18n with ngx-translate, handle missing translations, and style everything with Tailwind.</li><li><strong>📲 Part 2: App logic</strong>. Build the full invoice dashboard and create, edit, delete, print, and export invoices while preparing every element for translation.</li><li><strong>🌎 Part 3: i18n</strong>.<strong> </strong>Integrate Localazy, manage the translation workflow, add pseudo-locales for testing, and use ICU pluralization for dynamic content.</li></ol><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/invoice-angular-localazy.gif" class="kg-image" alt loading="lazy" width="1926" height="1060"></figure><h2 id="project-overview">🧑🏿‍💻 Project overview <a class="markdownit-header-anchor" href="#project-overview">🔗</a></h2><p>In this project, you’ll build a <strong>Progressive Web App (PWA)</strong> using <a href="https://angular.dev/">Angular</a> designed to showcase a complete localization workflow. The app manages invoice data, supports multiple languages, and integrates with Localazy for automated translation management.</p><pre><code>invoice-pwa/
├── public/
│   ├── assets/
│   │   └── i18n/
│   │       ├── en.json
│   │       ├── fr.json
│   │       └── qps.json
│   ├── icons/
│   ├── favicon.ico
│   └── manifest.webmanifest
│
├── src/
│   ├── app/
│   │   ├── core/
│   │   │   ├── models/
│   │   │   │   └── invoice.model.ts
│   │   │   ├── network/
│   │   │   │   └── network.service.ts
│   │   │   ├── persistence/
│   │   │   │   ├── invoice.repository.ts
│   │   │   │   └── invoice.serialization.ts
│   │   │   ├── pwa/
│   │   │   │   ├── pwa.service.ts
│   │   │   │   └── update.service.ts
│   │   │   ├── stores/
│   │   │   │   └── invoice.store.ts
│   │   │   ├── utils/
│   │   │   │   ├── csv.ts
│   │   │   │   ├── date.ts
│   │   │   │   ├── files.ts
│   │   │   │   ├── id.ts
│   │   │   │   ├── money.ts
│   │   │   │   ├── time.ts
│   │   │   │   └── dev-missing.handler.ts
│   │   │   ├── language.service.ts
│   │   │   └── locale-format.service.ts
│   │   │
│   │   ├── features/
│   │   │   ├── dashboard/
│   │   │   │   ├── dashboard.component.html
│   │   │   │   ├── dashboard.component.scss
│   │   │   │   └── dashboard.component.ts
│   │   │   ├── invoice-edit/
│   │   │   │   ├── invoice-edit.component.html
│   │   │   │   ├── invoice-edit.component.scss
│   │   │   │   └── invoice-edit.component.ts
│   │   │   └── invoice-view/
│   │   │       ├── invoice-view.component.html
│   │   │       ├── invoice-view.component.scss
│   │   │       └── invoice-view.component.ts
│   │   │
│   │   ├── shared/
│   │   │   └── translate-loader.factory.ts
│   │   ├── app.config.ts
│   │   ├── app.routes.ts
│   │   ├── app.html
│   │   ├── app.scss
│   │   ├── app.spec.ts
│   │   ├── app.ts
│   │   ├── index.html
│   │   ├── main.ts
│   │   └── styles.scss
│
├── .editorconfig
├── .gitignore
├── .postcssrc.json
├── angular.json
├── localazy.json
├── localazy.keys.json
├── ngsw-config.json
├── package-lock.json
├── package.json
├── [README.md](http://readme.md/)
├── tailwind.config.js
├── tsconfig.app.json
├── tsconfig.json
└── tsconfig.spec.json

The folder structure is organized for clarity and</code></pre><p>For clarity and stability, the folder structure is organized like this:</p><ul><li><strong><code>public/assets/i18n</code></strong> holds all translation files (<code>en.json</code>, <code>fr.json</code>, and <code>qps.json</code>) used by the Angular i18n system.</li><li><strong><code>src/app/core</code></strong> contains essential app logic such as models, data persistence, network handling, and localization services.</li><li><strong><code>src/app/features</code></strong> includes feature modules like the dashboard, invoice editor, and invoice viewer that demonstrate component-based structures in Angular.</li><li><strong><code>src/app/shared</code></strong> provides shared utilities like the custom translation loader used to connect <a href="https://github.com/ngx-translate/core">ngx-translate</a> with Localazy.</li><li><strong>Root files</strong> such as <code>angular.json</code>, <code>localazy.json</code>, and <code>tailwind.config.js</code> define build configuration, localization settings, and global styling via <a href="https://tailwindcss.com/docs/installation">Tailwind CSS</a>.</li></ul><p>This modular setup will make our app maintainable while providing a solid foundation for scaling to more languages, features, and environments.</p><h2 id="1-step-1-create-a-new-angular-application">1️⃣ Step 1: Create a new Angular application <a class="markdownit-header-anchor" href="#1-step-1-create-a-new-angular-application">🔗</a></h2><p>To begin integrating <strong>Angular i18n</strong> with <strong>Localazy</strong>, first scaffold a clean Angular workspace.</p><p>This ensures your localization setup is consistent and ready for translation file extraction later.</p><p>Run the following command in your terminal:</p><pre><code class="language-jsx">npx @angular/cli@latest new invoice-pwa --routing --style=scss
</code></pre><p>When prompted, select the following options:</p><ul><li>Server-Side Rendering (SSR) and Static Site Generation: <strong>No</strong></li><li>'Zoneless' application without zone.js: <strong>No</strong></li><li>AI tools configuration: <strong>None</strong></li></ul><p>With this, you'll get a clean environment without extra dependencies or configurations that might distract from the core topic of integrating Angular with Localazy.</p><p>Once the CLI finishes, navigate to your new project directory.</p><pre><code class="language-tsx">cd invoice-pwa
</code></pre><p>You now have a baseline Angular project with routing and SCSS styling, ideal for adding Angular i18n, <strong><code>@angular/localize</code></strong>, or <strong><code>ngx-translate</code></strong> later on in this tutorial.</p><h3 id="project-setup">Project setup <a class="markdownit-header-anchor" href="#project-setup">🔗</a></h3><p>Before you integrate Angular with Localazy, confirm that your base project runs correctly. This step ensures your environment, dependencies, and Angular CLI configuration are all working as expected.</p><p>Run the following commands:</p><pre><code class="language-bash">npm install
npm start
</code></pre><p>Once the development server starts, open your browser and navigate to:</p><pre><code>&lt;http://localhost:4200/&gt;
</code></pre><p>You should see the <strong>default Angular welcome page</strong>:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/image.png" class="kg-image" alt loading="lazy" width="1433" height="652" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/image.png 1000w, https://ghost.localazy.com/content/images/2025/11/image.png 1433w" sizes="(min-width: 720px) 720px"></figure><h2 id="2-step-2-set-up-runtime-i18n-with-ngx-translate">2️⃣ Step 2: Set up runtime i18n with ngx-translate <a class="markdownit-header-anchor" href="#2-step-2-set-up-runtime-i18n-with-ngx-translate">🔗</a></h2><p>Runtime internationalization allows your Angular app to load and switch languages instantly without needing to rebuild. While the built-in Angular i18n <strong><strong>is ideal for compile-time translations, this tutorial focuses on ngx-translate</strong>,</strong> a more flexible runtime alternative. We’ll use it and its companion libraries to handle dynamic language changes, and later connect it seamlessly with Localazy for automated translation management.</p><p>Run the following commands to add the core translation and message formatting packages:</p><pre><code class="language-bash">npm install @ngx-translate/core @ngx-translate/http-loader
npm install ngx-translate-messageformat-compiler messageformat
</code></pre><p>These packages provide:</p><ul><li><strong>@ngx-translate/core,</strong> the main translation service and pipe.</li><li><strong>@ngx-translate/http-loader</strong> loads translation files from assets.</li><li><strong>ngx-translate-messageformat-compiler</strong> and <strong>messageformat</strong> enable pluralization and complex message syntax following the ICU Message Format standard (e.g., “{count, plural, one {1 item} other {# items}}”). With <strong>ngx-translate</strong> installed, the next step is to give it something to load.</li></ul><h2 id="3-step-3-create-translation-files">3️⃣ Step 3: Create translation files <a class="markdownit-header-anchor" href="#3-step-3-create-translation-files">🔗</a></h2><p>Inside your project, create a dedicated folder for localization files and add two JSON files for your target languages:</p><pre><code>public/assets/i18n/en.json
public/assets/i18n/fr.json
</code></pre><p>Each file will hold key-value pairs for translated strings. For example:</p><p><strong><code>src/assets/i18n/en.json</code></strong></p><pre><code class="language-json">{
  "app": {
    "title": "Welcome to Your Invoice &amp; Expense Tracker",
  },
  "lang": {
    "switch": "Change Language",
    "en": "English",
    "fr": "French"
  }
}

</code></pre><p><strong><code>src/assets/i18n/fr.json</code></strong></p><pre><code class="language-json">{
  "app": {
    "title": "Bienvenue dans votre outil de suivi des factures et des dépenses",
    "welcome": "Bienvenue dans notre application !"
  },
  "lang": {
    "switch": "Changer de langue",
    "en": "Anglais",
    "fr": "Français"
  }
}

</code></pre><p>We’ll later add a <strong><code>qps.json</code></strong> pseudo-locale file, as you saw in the project structure, to show how pseudo-localization helps identify untranslated or hard-coded text during development. This will also be important when syncing with Localazy.</p><h2 id="4-step-4-configure-the-translation-loader">4️⃣ Step 4: Configure the translation loader <a class="markdownit-header-anchor" href="#4-step-4-configure-the-translation-loader">🔗</a></h2><p>The app needs to know where to fetch translations and how to initialize a default locale. We’ll configure <code>TranslateModule</code> to use an HTTP loader that pulls JSON files at runtime. This follows the standard <strong>ngx-translate </strong>pattern.</p><p>Before Angular can fetch your translation files, it needs a loader that knows where to look. The <code>HttpLoaderFactory</code> handles this by defining the base path used by <code>@ngx-translate/http-loader</code> and plays nicely with sub-path deployments.</p><p>Create the file:</p><pre><code>src/app/shared/translate-loader.factory.ts
</code></pre><p>Add the following code:</p><pre><code class="language-tsx">import { TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';

/**
 * Uses document.baseURI so it also works when the app is deployed under a sub-path.
 * Example URL: &lt;base href="/invoice-pwa/"&gt;
 */
export function HttpLoaderFactory(): TranslateLoader {
  return new TranslateHttpLoader();
}
</code></pre><p>This factory simply tells Angular where to load translation files from at runtime. It ensures your app fetches language JSONs correctly, even when deployed in subdirectories, and prepares the setup for smooth TMS integration later.</p><h2 id="5-step-5-add-a-custom-missing-translation-handler">5️⃣ Step 5: Add a custom missing translation handler <a class="markdownit-header-anchor" href="#5-step-5-add-a-custom-missing-translation-handler">🔗</a></h2><p>To make localization easier to debug during development, you can add a custom missing-translation handler. <strong>This feature helps identify untranslated keys directly in your templates</strong>, with<strong> </strong>no need to check console logs. It’s one of the most useful Angular localization best practices when working with ngx-translate instead of the default Angular i18n compiler approach.</p><p>Create the file:</p><pre><code>src/app/core/dev-missing.handler.ts
</code></pre><p>Add the following code:</p><pre><code class="language-tsx">import { MissingTranslationHandler, MissingTranslationHandlerParams } from '@ngx-translate/core';

export class DevMissingHandler implements MissingTranslationHandler {
  handle(params: MissingTranslationHandlerParams) {
    // Loud in dev so you see gaps immediately. Do not enable in production.
    return `⛔ ${params.key}`;
  }
}
</code></pre><p>To simplify runtime language management, it’s best to <strong>wrap all i18n logic inside a small, dedicated service</strong>. Language switching, storage, and fallback logic will then stay consistent across components.</p><p>Create the file <code>src/app/core/language.service.ts</code></p><p>Add the following code:</p><pre><code class="language-tsx">import { Injectable } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';

type Lang = 'en' | 'fr';

@Injectable({ providedIn: 'root' })
export class LanguageService {
  private readonly storageKey = 'lang';
  private readonly supported: Lang[] = ['en', 'fr'];

  constructor(private translate: TranslateService) {}

  init(): void {
    const saved = (localStorage.getItem(this.storageKey) as Lang | null) ?? this.matchNavigator();
    this.use(saved);
  }

  use(lang: string): void {
    const chosen: Lang = this.supported.includes(lang as Lang) ? (lang as Lang) : 'en';
    this.translate.setDefaultLang('en'); // fallback
    this.translate.use(chosen).subscribe({
      next: () =&gt; localStorage.setItem(this.storageKey, chosen),
      error: () =&gt; this.translate.use('en'),
    });
  }

  private matchNavigator(): Lang {
    const nav = (navigator.language || navigator.languages?.[0] || 'en').slice(0, 2);
    return (this.supported as string[]).includes(nav) ? (nav as Lang) : 'en';
  }
}
</code></pre><p>This service handles all <strong>runtime language management</strong> for your app. It detects the user’s browser language, applies the right locale, and remembers their choice for future sessions. You’ll initialize this service during app startup (in <code>app.ts</code> ) to set the default language as soon as the app loads.</p><p>Let’s verify everything end-to-end by initializing it in the root component and exposing a <code>setLang</code> method to set the default language as soon as the app loads.</p><p>Update your <code>src/app/app.ts</code> (or your root component) to include the service:</p><pre><code class="language-tsx">import { Component, OnInit } from '@angular/core';
import { LanguageService } from './core/language.service';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
})
export class AppComponent implements OnInit {
  constructor(private lang: LanguageService) {}

  ngOnInit(): void {
    this.lang.init(); // picks saved/browser language and sets default fallback
  }

  setLang(code: 'en' | 'fr'): void {
    this.lang.use(code);
  }
}</code></pre><p>Replace your existing code in <strong><code>app.html</code></strong> with the following snippet:</p><pre><code class="language-html">&lt;header class="app-header"&gt;
  &lt;h1&gt;{{ 'app.title' | translate }}&lt;/h1&gt;
  &lt;div class="spacer"&gt;&lt;/div&gt;
  &lt;button type="button" (click)="setLang('en')" aria-label="Switch to English"&gt;{{ 'lang.en' | translate }}&lt;/button&gt;
  &lt;button type="button" (click)="setLang('fr')" aria-label="Basculer en français"&gt;{{ 'lang.fr' | translate }}&lt;/button&gt;
&lt;/header&gt;
&lt;main class="app-main"&gt;
  &lt;router-outlet /&gt;
&lt;/main&gt;
</code></pre><p>Then run a test:</p><pre><code class="language-bash">npm start
</code></pre><p>You should see the title text translated, and the language switches instantly when you click the buttons.</p><h2 id="6-step-6-add-tailwind-css-for-a-consistent-ui">6️⃣ Step 6: Add Tailwind CSS for a consistent UI <a class="markdownit-header-anchor" href="#6-step-6-add-tailwind-css-for-a-consistent-ui">🔗</a></h2><p>With translations working, it’s time to style your Angular app using <a href="https://tailwindcss.com/docs/installation"><strong>Tailwind CSS</strong></a>. Tailwind provides a fast, utility-first approach that keeps your UI consistent while integrating Localazy and building multilingual interfaces, a key part of modern Angular localization workflows.</p><h3 id="1-install-dependencies">1. Install dependencies <a class="markdownit-header-anchor" href="#1-install-dependencies">🔗</a></h3><p>Run the following command to add Tailwind and PostCSS:</p><pre><code class="language-bash">npm i -D tailwindcss @tailwindcss/postcss postcss
</code></pre><hr><h3 id="2-create-a-postcss-configuration">2. Create a PostCSS configuration <a class="markdownit-header-anchor" href="#2-create-a-postcss-configuration">🔗</a></h3><p>In your project root, create <strong>.postcssrc.json</strong>:</p><pre><code class="language-json">{
  "plugins": {
    "@tailwindcss/postcss": {}
  }
}
</code></pre><h3 id="3-import-tailwind-into-your-global-stylesheet">3. Import Tailwind into your global stylesheet <a class="markdownit-header-anchor" href="#3-import-tailwind-into-your-global-stylesheet">🔗</a></h3><p>Since the project uses <strong>SCSS</strong>, open <strong>src/styles.scss</strong> and add:</p><pre><code class="language-scss">@use "tailwindcss";

@layer components {
  .btn {
    @apply inline-flex items-center gap-2 rounded-lg bg-blue-600 px-3 py-1.5 text-white
           font-medium shadow hover:bg-blue-700 focus:outline-none
           focus:ring-2 focus:ring-blue-500/50 active:translate-y-px;
  }

  .btn-secondary {
    @apply inline-flex items-center gap-2 rounded-lg border border-gray-300 bg-white
           px-3 py-1.5 text-gray-700 shadow-sm hover:bg-gray-50 focus:outline-none
           focus:ring-2 focus:ring-gray-400/40;
  }
}
</code></pre><blockquote>For more details, refer to the official <a href="https://angular.dev/guide/tailwind">Angular + Tailwind guide</a></blockquote><p>Now, add the corresponding <strong><code>.btn</code></strong> and <strong><code>.btn-secondary</code></strong> classes to the two language switch buttons in your <code>app.html</code>.</p><h3 id="4-restart-the-development-server">4. Restart the development server <a class="markdownit-header-anchor" href="#4-restart-the-development-server">🔗</a></h3><p>Once done, restart your Angular environment to apply the styles and confirm everything works correctly:</p><pre><code class="language-bash">Ctrl + C
npm start
</code></pre><p>Your Angular app now has Tailwind CSS fully configured, and the localized buttons are styled consistently across languages.</p><p><strong>You’ve just laid the foundation of your Angular PWA</strong>, setting up runtime i18n with <code>ngx-translate</code>, connecting your translation loader, handling missing keys gracefully, and giving the whole app a clean Tailwind base.</p><p>That’s a big step. You now have a flexible structure ready for real content and real users.</p><h2 id="what-next">➡️ What next? <a class="markdownit-header-anchor" href="#what-next">🔗</a></h2><p>In the next part, you will bring this foundation to life. <strong>You’ll build the core of the invoice dashboard</strong>: creating, editing, and managing invoices with features like printing, exporting, and importing data. Each feature will quietly stay i18n-ready so that, when you move to Part 3, you can seamlessly plug everything into Localazy and localize the entire app in multiple languages, including pseudo-locales, and ICU plurals. See you there! 👋</p>]]></content:encoded>
            <author>Kevine Nzapdi</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/11/technical-article-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Using AI to research your go-to-market localization strategy: Complete guide with prompts]]></title>
            <link>https://localazy.com/blog/using-ai-to-research-your-go-to-market-localization-strategy-complete-guide-with-prompts</link>
            <guid isPermaLink="false">using-ai-to-research-your-go-to-market-localization-strategy-complete-guide-with-prompts</guid>
            <pubDate>Thu, 04 Dec 2025 17:32:23 GMT</pubDate>
            <description><![CDATA[Are you a mid-size SaaS company looking to localize on a budget? Using LLMs to craft your GTM strategy can help you save in research costs. We show you how with six ready-to-use prompts.]]></description>
            <content:encoded><![CDATA[<p>There’s no growth without pain.</p><p>In localization, this pain often equals high costs, long hours of research, and large teams of experts. In-house data and know-how are the only effective way forward, so if you lack these key ingredients, your company won’t be able to grow.</p><p>This assumption often leads to lost opportunities.</p><p>Localization isn’t only for big businesses with large budgets. Your small or medium-sized business can grow globally, too. And you don’t need to hire expensive consultants to enter new regions in style.</p><p>All you need is a change of perspective. <strong>And a different set of tools</strong>.</p><p>One such tool is a large language model.</p><h2 id="whats-the-cheapest-way-to-localize-your-saas">👀 What's the cheapest way to localize your SaaS? <a class="markdownit-header-anchor" href="#whats-the-cheapest-way-to-localize-your-saas">🔗</a></h2><p>Localization for SaaS companies typically costs between<strong> $10,000 and $50,000 for initial entry into a single language</strong>. Ongoing annual maintenance is pricey too, ranging <a href="https://www.getmonetizely.com/articles/how-much-does-language-localization-cost-for-saas-companies">between 15 and 25% of that cost</a> each year. </p><p>This isn’t money thrown down the drain. Companies that invest in localization are more likely to grow revenue, with 96% reporting a positive return from their efforts and <strong><a href="https://www.deepl.com/en/blog/navigating-localization-challanges-report">65% reporting a ROI of 3x or greater</a> </strong>as a result. If done smartly, localization costs less than deciding not to localize. How is that possible? We explained it in this article on <a href="https://localazy.com/blog/localization-101-best-practices-to-allocate-a-budget-for-localization-whether-its-big-or-small">best practices to allocate a budget for localization – whether it’s big or small</a>. The key conclusion is: localization is not optional.</p><p>But how to benefit from localization when your budget is tight?</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/AdobeStock_1329208138.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1301" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/AdobeStock_1329208138.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/AdobeStock_1329208138.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/AdobeStock_1329208138.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/AdobeStock_1329208138.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Small and mid-sized SaaS companies often struggle to find resources for such an investment. Market data, competitor analysis, linguistic insights – every single step multiplies the costs.</p><p>This is where AI may come in handy. It makes localization planning more accessible for smaller brands. Using tools such as ChatGPT or Claude, <strong>you can easily conduct market research, validate assumptions, or spot market trends</strong>.</p><p>No more guesswork. No more delays. No more excuses.</p><h2 id="when-does-ai-localization-research-make-sense">🔦 When does AI localization research make sense? <a class="markdownit-header-anchor" href="#when-does-ai-localization-research-make-sense">🔗</a></h2><p>AI-powered research can be useful in these two scenarios:</p><ol><li>You’re localizing for the first time and need to make smart moves fast.</li><li>You’re already present on the global market, but want to scale without overloading/expanding your team.</li></ol><p>Let’s have a closer look at both situations.</p><h3 id="the-starter">The Starter <a class="markdownit-header-anchor" href="#the-starter">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-text"><strong><em>“We’ve nailed the product-market fit. Now what?”</em></strong></div></div><p>You’ve built a product that’s working in your home market. Web traffic is growing, and sales figures are climbing. You know that localizing your product and marketing could lead to more growth, but you’re now wondering:</p><ul><li><strong>How do I choose which countries to expand to first?</strong></li><li><strong>What’s the best go-to-market strategy for startups?</strong></li><li><strong>How can I define my go-to-market strategy?</strong></li></ul><p>You don’t have a localization team, and hiring localization strategists is out of the question.</p><p>With a few smart prompts, AI can:</p><ul><li>Suggest languages for localization based on your current user engagement.</li><li>Build an internationalization roadmap tailored to your existing setup.</li><li>Help you compare potential markets using publicly available data.</li></ul><h3 id="the-scaler">The Scaler <a class="markdownit-header-anchor" href="#the-scaler">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-text"><strong><em>“We have a global presence, but we want more.”</em></strong></div></div><p>You’ve experimented with localization. Maybe you’ve translated your app into a few languages or hired freelance translators for your blog. Perhaps you also have multiple users across Europe and Asia, but your growth is slow.</p><p>You’re wondering:</p><ul><li><strong>Is it a good idea to localize everything for more impact?</strong></li><li><strong>Which markets deserve significant investment?</strong></li><li><strong>Should we use ChatGPT for market research?</strong></li></ul><p>With the right AI-powered prompts, you can:</p><ul><li>Audit your existing localization efforts.</li><li>Prioritize regions based on user visits and revenue.</li><li>Build a localization ROI model to support strategic decisions.</li></ul><p>Whether you’re just starting or scaling up, AI can give you enough data to build your roadmap and make the right decisions.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/AdobeStock_1694267371.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1357" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/AdobeStock_1694267371.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/AdobeStock_1694267371.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/AdobeStock_1694267371.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/AdobeStock_1694267371.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="what-well-cover">⬇️ What we’ll cover <a class="markdownit-header-anchor" href="#what-well-cover">🔗</a></h2><p>In this guide, we’ll show you how to use ChatGPT<strong> </strong>and similar LLMs to support key parts of your go-to-market localization strategy.</p><p>You’ll get <strong>ready-to-use prompt templates </strong>for:</p><ul><li>🗺️ Choosing your first or next localization markets</li><li>🪜 Mapping a lightweight internationalization plan</li><li>💰 Estimating and tracking localization ROI</li></ul><p>Each prompt is designed for two scenarios: companies just starting out and those scaling into new regions.</p><blockquote><strong>Disclaimer:</strong> Always review and adapt prompts to your business context. Don’t share sensitive data. Use anonymized or high-level info when feeding AI tools.</blockquote><p>With this cleared out, let’s look into the nitty-gritty.</p><h2 id="how-to-craft-your-localization-strategy-roadmap-with-ai">🗺️ How to craft your localization strategy roadmap with AI <a class="markdownit-header-anchor" href="#how-to-craft-your-localization-strategy-roadmap-with-ai">🔗</a></h2><h3 id="1-language-selection">1. Language selection <a class="markdownit-header-anchor" href="#1-language-selection">🔗</a></h3><p>Choosing the right languages is a tough enterprise when you don’t have solid data to lean on. Guesswork might be costly, but you can use this prompt to craft effective go-to-market strategies.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🚣‍♀️</div><div class="kg-callout-text"><strong>Prompt for The Starter:</strong></div></div><pre><code>Act as a localization strategist helping a small SaaS company identify the most strategic languages for their first localization effort.

Here’s the company background:
- Product: [brief description of your product or service]
- Current market: [main market, e.g., UK, Germany]
- Existing users outside the core market: [any known user traffic or signups by region or language, if available]
- Ideal customer profile: [who your main users are: include industry, job titles, pain points]
- Known limitations: [budget, team size, tech stack limitations]

Based on this context, which 3–5 languages would be the most strategic to start with, and why? Include expected benefits and potential challenges.</code></pre><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">❇️</div><div class="kg-callout-text"><strong>Results preview:</strong></div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-20.59.12.png" class="kg-image" alt loading="lazy" width="1642" height="1194" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-22-a-las-20.59.12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-22-a-las-20.59.12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-22-a-las-20.59.12.png 1600w, https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-20.59.12.png 1642w" sizes="(min-width: 720px) 720px"><figcaption>With this prompt as a base, ChatGPT gives us a list of languages we could prioritize...c</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-20.59.28.png" class="kg-image" alt loading="lazy" width="1782" height="1206" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-22-a-las-20.59.28.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-22-a-las-20.59.28.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-22-a-las-20.59.28.png 1600w, https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-20.59.28.png 1782w" sizes="(min-width: 720px) 720px"><figcaption>...and summarizes goals, ROI, and rollout steps.</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏄</div><div class="kg-callout-text"><strong>Prompt for The Scaler</strong>:</div></div><pre><code>Act as a senior localization strategist supporting a SaaS company with an existing international presence. Help us evaluate and prioritize the next 3–5 languages to localize into based on our current presence and growth goals.

Here’s the company context:
- Product: [brief description of your product or service]
- Existing localized languages: [list]
- Regions or countries we currently serve: [list]
- Web traffic by region/language: [if available]
- Conversion and churn rates by region/language: [if available]
- Support ticket language trends or user requests: [if any]
- Ideal customer profile: [industry, buyer role, usage patterns]
- Strategic goals: [e.g., deepen market penetration, enter new regions]
- Constraints: [e.g., limited resources, need for quick wins, tech limitations]

Based on this input, suggest which 3–5 new languages would offer the highest potential impact. For each language, explain:
- Why it's a good fit based on our user base and growth goals
- Potential challenges or hidden costs

Also note any “nice-to-have” languages we could consider later, and markets we might want to avoid for now.</code></pre><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">❇️</div><div class="kg-callout-text"><strong>Results preview:</strong></div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.06.09.png" class="kg-image" alt loading="lazy" width="1606" height="1256" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.06.09.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.06.09.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.06.09.png 1600w, https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.06.09.png 1606w" sizes="(min-width: 720px) 720px"><figcaption>This prompt triggers a list of quick wins with the rationale behind it.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.06.23.png" class="kg-image" alt loading="lazy" width="1652" height="948" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.06.23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.06.23.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.06.23.png 1600w, https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.06.23.png 1652w" sizes="(min-width: 720px) 720px"><figcaption>It also highlights secondary markets, markets to avoid, and a recommended rollout order.</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➕</div><div class="kg-callout-text"><strong>Extra tip:</strong></div></div><p>Before evaluating which languages to localize into, it’s essential to <strong>define your global ambitions and identify where you can realistically compete</strong>. In this <a href="https://localazy.com/blog/how-to-choose-the-right-languages-to-translate-to-when-expanding-globally">guide on choosing the right language</a>, we break down four key pillars to consider: economic viability, cultural alignment, strategic fit, and regulatory complexity. By using these pillars, you can make smarter market entry decisions.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">☝️</div><div class="kg-callout-text"><strong>Good to know:</strong></div></div><p><strong><a href="https://www.deepl.com/en/blog/navigating-localization-challanges-report">96% of companies</a> report a positive ROI from localization efforts</strong>. These efforts start with choosing the right language. Now, with the AI prompts for marketing strategy presented above, you’ll be able to take the first steps towards more revenue.</p><h3 id="2-internationalization-roadmap">2. Internationalization roadmap <a class="markdownit-header-anchor" href="#2-internationalization-roadmap">🔗</a></h3><p>Once the language puzzle is solved, it’s time to move to the next phase. With the prompt discussed below, you can create an internationalization plan that will prepare your content for localization.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🚣‍♀️</div><div class="kg-callout-text"><strong>Prompt for The Starter</strong>:</div></div><pre><code>Act as a localization and internationalization strategist guiding a small SaaS company through its first internationalization effort. We want a phased, startup-friendly roadmap that helps us prepare our product and content for localization without disrupting our core development.

Here’s the company context:
- Product type and key features: [brief description]
- Current tech stack: [e.g., CMS, Localazy, etc.]
- Team structure: [e.g., small engineering team, no dedicated localization manager]
- Budget or resource limits: [if any]
- Target markets and languages: [initial picks or regions of interest]
- Timeline goals: [e.g., ready for launch in 3–6 months]

Based on this, outline an internationalization roadmap that includes:
- Key technical tasks (e.g., extracting translatable strings, handling date formats, multilingual UI support)
- Content preparation steps (e.g., rewriting hardcoded content, structuring metadata for translation)
- Suggested tooling or automation
- Realistic phases with estimated timelines
- Any “quick wins” we can implement early

Flag any common pitfalls we should watch out for.</code></pre><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">❇️</div><div class="kg-callout-text"><strong>Results preview:</strong></div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.14.24.png" class="kg-image" alt loading="lazy" width="1684" height="1232" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.14.24.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.14.24.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.14.24.png 1600w, https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.14.24.png 1684w" sizes="(min-width: 720px) 720px"><figcaption>Based on the information we feed it, we get a phased i18n calendar for our company.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.14.40.png" class="kg-image" alt loading="lazy" width="1658" height="1252" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.14.40.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.14.40.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.14.40.png 1600w, https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.14.40.png 1658w" sizes="(min-width: 720px) 720px"><figcaption>It includes frequent mistakes and a suggested timeline.</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏄</div><div class="kg-callout-text"><strong>Prompt for The Scaler</strong>:</div></div><pre><code>Act as a senior internationalization strategist advising a SaaS company that has already localized into several languages but lacks a structured, scalable internationalization process. Help us design a roadmap that prepares our product, content systems, and teams to expand into new markets.

Here’s our current situation:
- Product overview: [short description]
- Current languages and markets: [list]
- Tech stack and frameworks: [e.g., headless CMS, Localazy]
- Known internationalization gaps or pain points: [e.g., hardcoded UI strings, inconsistent translation workflows]
- Team setup: [e.g., engineering, marketing]
- Growth goals: [e.g., enter 3 new regions in the next 12 months]
- Constraints: [e.g., no full-time internationalization lead, limited engineering time]

Based on this context, build an internationalization roadmap that includes:
- Technical priorities for scalable internationalization (e.g., locale management, automation)
- Workflow and tooling improvements (e.g., TMS integration, automated QA)
- Governance and roles (e.g., who owns what, central vs local input)
- Sequencing by impact and feasibility
- Milestones over the next 3–12 months

Highlight common scaling traps to avoid.</code></pre><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">❇️</div><div class="kg-callout-text"><strong>Results preview:</strong></div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.19.51.png" class="kg-image" alt loading="lazy" width="1902" height="1232" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.19.51.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.19.51.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.19.51.png 1600w, https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.19.51.png 1902w" sizes="(min-width: 720px) 720px"><figcaption>Using this prompt, we get a detailed breakdown that includes technical priorities, workflow and tooling improvements, and suggested team roles, among other recommendations.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.20.07.png" class="kg-image" alt loading="lazy" width="1796" height="1236" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.20.07.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.20.07.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.20.07.png 1600w, https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.20.07.png 1796w" sizes="(min-width: 720px) 720px"><figcaption>We also get a checklist of sucess indicators to evaluate results later.</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➕</div><div class="kg-callout-text"><strong>Extra tip:</strong></div></div><p><strong>There’s no localization without internationalization</strong>. So, don’t cut corners by jumping straight into translating your content. It has to be market-ready first. If you’re in doubt as to what internationalization involves, have a look at our <a href="https://localazy.com/dictionary/internationalization">short explanation here</a>.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">☝️</div><div class="kg-callout-text"><strong>Good to know:</strong></div></div><p>Effective internationalization <strong>can save companies around 30-50% in preparation and localization costs</strong>, while significantly reducing time-to-market. With the prompts presented above, you’ll be on the right track to achieve these savings as well.</p><h3 id="3-localization-roi-tracker">3. Localization ROI tracker <a class="markdownit-header-anchor" href="#3-localization-roi-tracker">🔗</a></h3><p>Your i18n and localization efforts might be worthless if you don’t know how to track your gains. But there’s a prompt for that, too. This is how you can create a localization ROI tracker tailored to your company.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🚣‍♀️</div><div class="kg-callout-text"><strong>Prompt for The Starter</strong>:</div></div><pre><code>Act as a SaaS localization strategist helping a small company define a simple, actionable way to track the return on their first localization investments.

Here’s the company context:
- Product type: [brief description]
- Initial localization plan: [languages or regions to be localized, content]
- Key goals: [e.g., increase signups, grow in non-English markets]
- Data available: [e.g., traffic by region, conversion rates]
- Current tools: [e.g., HubSpot, custom dashboards]

Based on this, create a basic ROI tracking framework that includes:
- What to track before and after localization (e.g., traffic, signups, conversion)
- A few simple KPIs that reflect product and content performance across regions
- How to attribute improvements to localization efforts
- How often to review the data and what to look for

Prioritize clarity and startup-readiness. The framework should be easy to implement using existing tools and help us make smarter localization decisions over time.</code></pre><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">❇️</div><div class="kg-callout-text"><strong>Results preview:</strong></div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.27.45.png" class="kg-image" alt loading="lazy" width="1682" height="1118" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.27.45.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.27.45.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.27.45.png 1600w, https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.27.45.png 1682w" sizes="(min-width: 720px) 720px"><figcaption>Here, ChatGPT provides us with a few KPIs that can make ROI tracking easier.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.27.57.png" class="kg-image" alt loading="lazy" width="1610" height="1222" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.27.57.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.27.57.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.27.57.png 1600w, https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.27.57.png 1610w" sizes="(min-width: 720px) 720px"><figcaption>There's also a review cadence table to support decision-making, and implementation tips.</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">🏄</div><div class="kg-callout-text"><strong>Prompt for The Scaler</strong>:</div></div><pre><code>Act as a senior localization strategist advising a SaaS company that has already localized into several markets. We need a structured but practical way to track the ROI of our localization efforts, so we can optimize budgets and prioritize high-performing regions.

Here’s our company context:
- Product type: [brief description]
- Current localized languages: [list]
- Primary growth goals: [e.g., increase paid user conversion]
- Available data: [e.g., app downloads by region, engagement metrics]
- Current tools: [e.g., HubSpot, Google Analytics]
- Known gaps or challenges: [e.g., inconsistent tagging]

Based on this input, create a localization ROI tracking framework that includes:
- Metrics to track across the funnel (awareness, acquisition, activation, retention, revenue)
- Which KPIs to monitor for each language/region
- How to compare localized vs non-localized markets
- Suggestions for data visualization and reporting
- How often to review performance and adjust strategy

The framework should be actionable, scalable, and team-friendly. Also, note any common pitfalls to avoid.</code></pre><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">❇️</div><div class="kg-callout-text"><strong>Results preview:</strong></div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.33.12.png" class="kg-image" alt loading="lazy" width="1912" height="1272" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.33.12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.33.12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.33.12.png 1600w, https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.33.12.png 1912w" sizes="(min-width: 720px) 720px"><figcaption>With this prompt, we get a full ROI tracking framework based on different funnel stages.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.33.29.png" class="kg-image" alt loading="lazy" width="1854" height="1254" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.33.29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.33.29.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.33.29.png 1600w, https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-22-a-las-21.33.29.png 1854w" sizes="(min-width: 720px) 720px"><figcaption>It includes KPIs per language/region, reporting tips, a l10n formula and a simple roadmap.</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➕</div><div class="kg-callout-text"><strong>Extra tip:</strong></div></div><p>The formula for your localization ROI might depend on your KPIs, but in essence, it boils down to:</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong><em>ROI = </em></strong><em>(benefit of localization - cost of localization)/cost of localization</em></div></div><p>We explained it in more detail <a href="https://localazy.com/blog/localization-101-how-to-measure-localization-roi">in this guide to measuring your localization ROI: Costs, benefits and KPIs</a>.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">☝️</div><div class="kg-callout-text"><strong>Good to know:</strong></div></div><p>Companies using AI for performance and investment ROI tracking <strong>save over 20 hours per employee each month</strong>, which helps to <a href="https://blog.automatenexus.com/the-complete-guide-to-calculating-roi-from-ai-automation-in-2025/">reduce operational costs by 30%</a>.</p><p>Now, with the prompt above, you can join the ranks of these smart brands as well.</p><h2 id="how-to-effectively-use-ai-prompts-for-a-localization-strategy">🔎 How to effectively use AI prompts for a localization strategy? <a class="markdownit-header-anchor" href="#how-to-effectively-use-ai-prompts-for-a-localization-strategy">🔗</a></h2><p>The prompts we’ve just discussed are not set in stone. You can play around with them and <strong>customize them to your business needs</strong>. It won’t hurt to take a step further and add relevant real-world data, too.</p><p>Here’s a short overview of how to enrich your prompts and generate more tailored results:</p><h3 id="1-user-research-and-feedback">1. User research and feedback <a class="markdownit-header-anchor" href="#1-user-research-and-feedback">🔗</a></h3><p>Adding relevant data from customer reviews, support tickets, or customer surveys will allow the AI model to provide more precise suggestions on content prioritization, new markets, and languages. The outputs will match the actual user behavior.</p><h3 id="2-channel-performance-by-market">2. Channel performance by market <a class="markdownit-header-anchor" href="#2-channel-performance-by-market">🔗</a></h3><p>Some channels outperform others in specific regions, and spotting these early can reveal valuable market identification trends. This kind of data helps you decide which content to localize first based on where engagement is already happening. Even if your SaaS company is active in just one market for now, you can enrich your prompt by sharing which channels you currently use or plan to test when entering new markets.</p><h3 id="3-competitor-benchmark">3. Competitor benchmark <a class="markdownit-header-anchor" href="#3-competitor-benchmark">🔗</a></h3><p>You don’t need a deep market analysis, but a quick scan of 2-3 competitors’ websites, apps, or marketing content can be a good source of invaluable insights.</p><p>Your competitors have already made decisions about language, content, or channels that you can learn from. By using effective prompts for market research, you can spot market gaps, identify competitive differentiators, or come up with strategies that align or deliberately contrast with the market norm.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/AdobeStock_1694267311.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1476" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/AdobeStock_1694267311.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/AdobeStock_1694267311.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/AdobeStock_1694267311.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/AdobeStock_1694267311.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-final-prompts-ready-to-use">💬 The final prompts, ready to use <a class="markdownit-header-anchor" href="#the-final-prompts-ready-to-use">🔗</a></h2><p>We’ve reached the end of our prompting journey. But before you jump into experimenting with these free prompts for GTM strategy, here’s a clear overview and a checklist to make sure you know where to start.</p><!--kg-card-begin: html--><table style="border: medium; border-collapse: collapse;"><colgroup><col width="78"><col width="152"><col width="177"><col width="198"><col width="99"></colgroup><thead><tr style="height: 0pt;"><th scope="col" style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(204, 204, 204); padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Persona</span></p></th><th scope="col" style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(204, 204, 204); padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Prompt type</span></p></th><th scope="col" style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(204, 204, 204); padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Goal of the prompt</span></p></th><th scope="col" style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(204, 204, 204); padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Desired result</span></p></th><th scope="col" style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; background-color: rgb(204, 204, 204); padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Prompt&nbsp; preview</span></p></th></tr></thead><tbody><tr style="height: 0pt;"><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(255, 242, 204); padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Starter</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Language&nbsp;</span></p><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">selection</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Identify the best 3–5 languages for first-time localization</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Prioritized list of high-potential markets with rationale and next steps</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;"> </span></span><a href="https://chatgpt.com/share/68ee1956-5c6c-8002-8128-4663b80c6c93" style="text-decoration: none;"><span style="font-size: 18pt; font-family: Arial, sans-serif; color: rgb(17, 85, 204); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">🔗</span></span></a></p></td></tr><tr style="height: 0pt;"><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(255, 242, 204); padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Starter</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Internationalization roadmap</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Create a realistic internationalization plan for initial rollout</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Lightweight roadmap aligned with team capacity and tech stack</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><a href="https://chatgpt.com/share/68ee2105-6f40-8002-b20c-9fe2619e3393" style="text-decoration: none;"><span style="font-size: 18pt; font-family: Arial, sans-serif; color: rgb(17, 85, 204); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">🔗</span></span></a></p></td></tr><tr style="height: 0pt;"><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(255, 242, 204); padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Starter</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Localization ROI tracker</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Define basic KPIs and methods to track the impact of localization</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">A startup-friendly framework to measure conversions and engagement</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><a href="https://chatgpt.com/share/68ee27e1-1bf0-8002-bcb6-f4482dabd777" style="text-decoration: none;"><span style="font-size: 18pt; font-family: Arial, sans-serif; color: rgb(17, 85, 204); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">🔗</span></span></a></p></td></tr><tr style="height: 0pt;"><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(201, 218, 248); padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Scaler</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Language&nbsp;</span></p><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">selection</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Prioritize the next languages for growth based on the current presence</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Strategic recommendation for which markets to expand into next and why</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><a href="https://chatgpt.com/share/68ee1ba5-c1c8-8002-9516-e6267e3bd1aa" style="text-decoration: none;"><span style="font-size: 18pt; font-family: Arial, sans-serif; color: rgb(17, 85, 204); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">🔗</span></span></a></p></td></tr><tr style="height: 0pt;"><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(201, 218, 248); padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Scaler</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Internationalization roadmap</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Optimize and scale internationalization practices for long-term expansion</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Structured roadmap with phases, tooling, and team roles for sustainable growth</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><a href="https://chatgpt.com/share/68ee2502-15d4-8002-a09d-816b58f44ea1" style="text-decoration: none;"><span style="font-size: 18pt; font-family: Arial, sans-serif; color: rgb(17, 85, 204); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">🔗</span></span></a></p></td></tr><tr style="height: 0pt;"><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(201, 218, 248); padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Scaler</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Localization ROI tracker</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Track ROI across existing and new localized regions</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: middle; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><span style="font-size: 12pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Custom KPI model to evaluate market performance and guide future investments</span></p></td><td style="border-width: 0.5pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 0.75pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.39; text-align: center; margin-top: 0pt; margin-bottom: 8pt;"><a href="https://chatgpt.com/share/68ee2a0c-fc84-8002-9eab-245780b52127" style="text-decoration: none;"><span style="font-size: 18pt; font-family: Arial, sans-serif; color: rgb(17, 85, 204); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">🔗</span></span></a></p></td></tr></tbody></table><!--kg-card-end: html--><h2 id="ai-powered-localization-strategy-checklist">📋 AI-powered localization strategy checklist <a class="markdownit-header-anchor" href="#ai-powered-localization-strategy-checklist">🔗</a></h2><p>Even the best prompts for GTM strategy can backfire if you act without a plan. </p><p>Make sure to follow these steps to stay on track:</p><p><strong>    ☑ Define your goal</strong>: Are you launching for the first time or expanding existing localization?</p><p><strong>    ☑ Gather key business context</strong>: Product type, ICP, traffic sources, known constraints.</p><p><strong>    ☑ Collect available data</strong>: Traffic, conversion rates, support tickets, customer feedback.</p><p><strong>    ☑ Analyze your competitors</strong>: Identify which markets, languages, and content types they localize.</p><p><strong>    ☑ Run the language selection prompt</strong>: Prioritize target languages based on data and goals.</p><p><strong>    ☑ Create an internationalization roadmap</strong>: Map out tech, content, and timeline phases.</p><p><strong>    ☑ Define your localization KPIs</strong>: Use the ROI tracker prompt to measure what matters.</p><p><strong>    ☑ Feed your prompts rich context</strong>: Include all the inputs above to boost AI accuracy.</p><p><strong>    ☑ Review AI-generated insights</strong>: Validate outputs with your team before implementation.</p><p>Finally, <strong>don’t forget to choose your tools wisely</strong>.<strong> </strong>If you’re ready to localize your content and enter new markets, use tools such as Localazy and <a href="https://localazy.com/features/localazy-ai/">Localazy AI</a> to put your AI-powered localization strategy into action. When in doubt, you can always ask your preferred LLM about the best course of action in localization using Localazy, <a href="https://localazy.com/contact">or contact us directly</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/AdobeStock_1443091576.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1463" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/AdobeStock_1443091576.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/AdobeStock_1443091576.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/AdobeStock_1443091576.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/AdobeStock_1443091576.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="faq-using-ai-prompts-for-your-localization-strategy">🤔 FAQ: Using AI prompts for your localization strategy <a class="markdownit-header-anchor" href="#faq-using-ai-prompts-for-your-localization-strategy">🔗</a></h2><p><strong>1. Can I trust AI-generated insights for strategic decisions?</strong><br>Act with caution. AI is a powerful research assistant, <a href="https://hbr.org/2025/10/when-working-with-ai-act-like-a-decision-maker-not-a-tool-user#">not a decision-maker</a>. The prompts in this guide are designed to show useful patterns and perspectives. Always validate outputs with real data and your team’s feedback before putting AI suggestions into action.</p><p><strong>2. What if I don’t have all the data the prompts ask for?</strong><br>That’s not a problem at all. Even partial context can improve the output quality. Start with what you have and refine later as you collect more data over time.</p><p><strong>3. Is it safe to include business data in my prompts?</strong><br><a href="https://localazy.com/blog/safeguarding-the-privacy-of-your-ai-translated-project-what-you-need-to-know-gpt-series-2">Not really</a>. Avoid sharing sensitive or personally identifiable information. Summarize or anonymize wherever possible to protect your data while still guiding the AI effectively.</p>]]></content:encoded>
            <author>Dorota Pawlak</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/12/localazy-AI-series-8.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Dark mode available in beta]]></title>
            <link>https://localazy.com/blog/release-update-dark-mode-available-in-beta</link>
            <guid isPermaLink="false">release-update-dark-mode-available-in-beta</guid>
            <pubDate>Tue, 04 Nov 2025 13:49:45 GMT</pubDate>
            <description><![CDATA[Winter is coming. Protect your eyesight with the new dark mode in Localazy during the long nights.]]></description>
            <content:encoded><![CDATA[<h2 id="how-to-enable-dark-mode">🌚 How to enable dark mode? <a class="markdownit-header-anchor" href="#how-to-enable-dark-mode">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/11/darkmode.gif" class="kg-image" alt loading="lazy" width="1920" height="1080"><figcaption>How to turn on Localazy dark mode beta?</figcaption></figure><ol><li>Navigate to the top left menu and click on the question mark icon.</li><li>Find <strong>Feature preview </strong>and open it</li><li>Toggle Dark mode in the dialog window that appears</li><li>Click on your profile picture and find <strong>Theme preference</strong></li><li>Choose from Light, Dark, or System</li></ol><h2 id="tell-us-your-thoughts">😎 Tell us your thoughts! <a class="markdownit-header-anchor" href="#tell-us-your-thoughts">🔗</a></h2><p>Hope you enjoy this quick update. Please let us know on the support chat if you catch anything that is too dark to read, or too bright to handle. </p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/11/Dark-mode.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to localize an Angular app with angular-i18n and Localazy]]></title>
            <link>https://localazy.com/blog/localize-angular-app-i18n-l10n-localazy</link>
            <guid isPermaLink="false">localize-angular-app-i18n-l10n-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:25:54 GMT</pubDate>
            <description><![CDATA[Angular is a powerful web framework that helps developers build fast and scalable applications. In this guide, we’ll create an app to explore how to localize an Angular project using angular-i18n and Localazy. The result? Quick, easy, streamlined translations. Let's get into it. ]]></description>
            <content:encoded><![CDATA[<p><a href="https://angular.dev/">Angular</a> is a web framework that empowers developers to build fast, reliable applications. It provides a broad suite of tools, APIs, and libraries to simplify and streamline your development workflow.</p><p>The framework gives you a solid platform on which to build fast, reliable applications that scale with both the size of your team and the size of your codebase. In this article, we will create a demo app showing how to localize an Angular app with <a href="https://angular.dev/guide/i18n">angular-18n</a> and Localazy.</p><h2 id="prerequisites">📋 Prerequisites <a class="markdownit-header-anchor" href="#prerequisites">🔗</a></h2><ul><li><strong>Install<a href="https://nodejs.org/en/"> Node.js</a></strong> if you don't have it already. The Angular CLI requires a minimum Node.js version of v20.19 for Angular v20, which is the most recent version as of the time of writing this article.</li><li><strong>Install <a href="https://angular.dev/installation#install-angular-cli">Angular CLI</a> </strong>using the command <code>npm install -g @angular/cli</code></li></ul><h2 id="set-up-a-new-angular-project">👩🏾‍💻 Set up a new Angular project <a class="markdownit-header-anchor" href="#set-up-a-new-angular-project">🔗</a></h2><p>In your terminal, run the CLI command <code>ng new</code> with the desired project name. In the following example, we'll be using the <code>angular-i18n-localazy-demo</code>project name:</p><pre><code class="language-shell">ng new angular-i18n-localazy-demo
</code></pre><p>You will be presented with some configuration options for your project. Use the arrow and enter keys to navigate and select which options you desire.</p><p>If you don't have any preferences, just hit Enter to take the default options and continue with the setup.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-09-at-2.57.20-PM.png" class="kg-image" alt loading="lazy" width="1884" height="1246" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-09-at-2.57.20-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-09-at-2.57.20-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-09-at-2.57.20-PM.png 1600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-09-at-2.57.20-PM.png 1884w" sizes="(min-width: 720px) 720px"></figure><p>At this point, we are ready to run our project locally!</p><p>To start a local development server, run the command:</p><pre><code>ng run start</code></pre><p>This command should open a browser window with the application running.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-1.24.31-PM.png" class="kg-image" alt loading="lazy" width="1426" height="896" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-1.24.31-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-1.24.31-PM.png 1000w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-1.24.31-PM.png 1426w" sizes="(min-width: 720px) 720px"></figure><p>We can temporarily stop the server and initiate the process of internationalization.</p><blockquote><strong><a href="https://localazy.com/dictionary/internationalization">Internationalization (i18n)</a></strong> is the process of preparing your application to support multiple languages and regional formats without needing code changes. It involves extracting text from templates, managing translation files, and handling formats like dates or currencies.</blockquote><p>The package that is needed for internationalization in Angular is <code>@angular/localize</code>. It was introduced in v9 and adds i18n support to an Angular app. </p><p>You can find detailed information about <a href="https://angular.dev/guide/i18n">internationalization</a> in the official Angular documentation.</p><p>To add the <code>@angular/localize</code> package, use the following command to update the <code>package.json</code> and TypeScript configuration files in your project:</p><pre><code>ng add @angular/localize</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-1.54.02-PM.png" class="kg-image" alt loading="lazy" width="1224" height="320" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-1.54.02-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-1.54.02-PM.png 1000w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-1.54.02-PM.png 1224w" sizes="(min-width: 720px) 720px"></figure><h2 id="preparing-templates-for-translations">🔧 Preparing templates for translations <a class="markdownit-header-anchor" href="#preparing-templates-for-translations">🔗</a></h2><p>Our project should follow a standard Angular project structure. We’ll do some work on our <code>app</code> component template. The <code>app.html</code> file placement is shown in the tree below.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-16-at-10.48.12-AM.png" class="kg-image" alt loading="lazy" width="1140" height="316" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-16-at-10.48.12-AM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-16-at-10.48.12-AM.png 1000w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-16-at-10.48.12-AM.png 1140w" sizes="(min-width: 720px) 720px"></figure><p>Open the file <code>app.html</code> and replace its content with our boilerplate:</p><pre><code class="language-Angular">&lt;style&gt;
  h1 {
    font-size: 2.125rem;
  }

  main {
    width: 60%;
    margin: 10% auto;
    padding: 50px;
    background: #eae6e4;
  }

  div {
    padding: 5px 0;
  }
  span {
    padding: 5px;
  }
&lt;/style&gt;

&lt;main class="main"&gt;
  &lt;!-- CODE 1 --&gt;
  &lt;h1 i18n&gt;
    Hello!! We're thrilled that you've decided to use Localazy for translating your {{ title() }} app!
  &lt;/h1&gt;

  &lt;!-- CODE 2 --&gt;
 &lt;ng-container i18n&gt;I am free, wrapped just in a body&lt;/ng-container&gt;

  &lt;!-- CODE 3 --&gt;
  &lt;div
    i18n="merged div translation"
    i18n-data-title="merged div translation"
    data-title="Can we also translate this? Awesome!"
  &gt;
    Can we also translate this? Awesome!
  &lt;/div&gt;

  &lt;!-- CODE 3 --&gt;
  &lt;div&gt;
    &lt;input type="number" min="0" [(ngModel)]="minutes" /&gt;
    &lt;span i18="icu_plural"&gt;
      Updated {minutes(), plural, =1 {one minute ago} other {{{ minutes() }} minutes ago}}
    &lt;/span&gt;
  &lt;/div&gt;

  &lt;!-- CODE 4 --&gt;
  &lt;div&gt;
    &lt;select [(ngModel)]="user"&gt;
      &lt;option value="male" i18n&gt;Male&lt;/option&gt;
      &lt;option value="female" i18n&gt;Female&lt;/option&gt;
      &lt;option value="you" i18n&gt;in love with Localazy!&lt;/option&gt;
    &lt;/select&gt;
    &lt;span i18n&gt;The author is {{ user() }}&lt;/span&gt;
  &lt;/div&gt;
&lt;/main&gt;</code></pre><h3 id="block-1-i18n-attribute">Block 1: i18n attribute <a class="markdownit-header-anchor" href="#block-1-i18n-attribute">🔗</a></h3><pre><code>&lt;h1 i18n&gt;
    Hello!! We're thrilled that you've decided to use Localazy for translating your {{ title() }} app!
 &lt;/h1&gt;</code></pre><p>The <code>i18n</code> attribute marks the text within the <em>&lt;h1&gt;</em> tag for translation. The extracted translated files will appear in the translation file, allowing translators to provide equivalents in other languages. </p><h3 id="block-2-text-grouping">Block 2: Text grouping <a class="markdownit-header-anchor" href="#block-2-text-grouping">🔗</a></h3><pre><code>&lt;ng-container i18n&gt;I am free, wrapped just in a body&lt;/ng-container&gt;</code></pre><p><code>&lt;ng-container&gt;</code> is a<strong> </strong>grouping element in Angular templates that does not render any actual HTML in the DOM. This means the text exists freely within the body without any form of tags or wrappers. The <code>i18n</code> attribute also marks the text within for translation.</p><h3 id="block-3-data-attributes">Block 3: Data attributes <a class="markdownit-header-anchor" href="#block-3-data-attributes">🔗</a></h3><pre><code> &lt;div
    i18n="merged div translation"
    i18n-data-title="merged div translation"
    data-title="Can we also translate this? Awesome!"
  &gt;
    Can we also translate this? Awesome!
  &lt;/div&gt;</code></pre><p>Within the &lt;div&gt; tag, we can translate both the element text and HTML attributes (like <code>data-title</code>). </p><p><code>i18n="merged div translation"</code> provides a description to translators, while <code>i18n-data-title="merged div translation"</code> marks the data-title attribute for translation as well.</p><h3 id="block-4-pluralization">Block 4: Pluralization <a class="markdownit-header-anchor" href="#block-4-pluralization">🔗</a></h3><pre><code> &lt;div&gt;
     &lt;input type="number" min="0" [(ngModel)]="minutes" /&gt;
      &lt;br /&gt;
      &lt;span i18n&gt;Updated &lt;/span&gt;
      &lt;span i18="icu_plural"&gt;
        {minutes(), plural, =1 {one minute ago} other {{{ minutes() }} minutes ago}}
      &lt;/span&gt;
 &lt;/div&gt;</code></pre><p>This block handles pluralization with Angular’s ICU syntax. The input binds to the component variable <code>minutes</code> using <code>[(ngModel)]</code>. The first span marks the text within the tag for translation. The second span displays a message that depends on the <code><strong>minutes</strong></code> value:</p><p>If <code>minutes</code> == 1, the span reflects <em>one minute ago</em>. Otherwise, the span shows, for example, <em>5 minutes ago</em>.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">☝️</div><div class="kg-callout-text"><strong>Note</strong>: Different languages abide by diverse pluralization rules. Following these rules is <a href="https://localazy.com/blog/pluralization-in-software-localization-beginners-guide/">one of the most demanding tasks</a> when localizing apps. For instance, English has pretty straightforward rules. A word can have either a singular or a plural form (also known as <em>“one”</em> and <em>“other”</em>). The Czech language, however, is quite complicated as it distinguishes <em>“one”</em>, <em>“few”,</em> and <em>“other”</em> forms. Luckily, <a href="https://localazy.com/features/plurals/">Localazy covers the entire specification</a> automatically!</div></div><p>The code snippet above respects the <a href="https://localazy.com/dictionary/cldr">CLDR</a> rules and, therefore, will be parsed in Localazy. If we don’t respect the rules, we do not lose a phrase, don’t worry. It will be transferred to Localazy and kept as-is.</p><blockquote>You can get familiar with the list of possible forms for common world languages on the <a href="https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_plural_rules.html">Language Plural Rules</a> of the <a href="http://cldr.unicode.org/">Unicode Common Locale Data Repository (CLDR)</a></blockquote><h3 id="block-5-user-attributes">Block 5: User attributes <a class="markdownit-header-anchor" href="#block-5-user-attributes">🔗</a></h3><pre><code>&lt;div&gt;
    &lt;select [(ngModel)]="user"&gt;
      &lt;option value="male" i18n&gt;Male&lt;/option&gt;
      &lt;option value="female" i18n&gt;Female&lt;/option&gt;
      &lt;option value="you" i18n&gt;in love with Localazy!&lt;/option&gt;
    &lt;/select&gt;
    &lt;span i18n&gt;The author is {{ user() }}&lt;/span&gt;
  &lt;/div&gt;</code></pre><p>The <code>&lt;select&gt;</code> binds to a component variable user. The options themselves (Male, Female, etc.) are marked with i18n for translation. </p><p>The span displays: "The author is male" / "The author is female" / "The author is in love with Localazy!" depending on the selected value.</p><p>To avoid compilation errors, we need to import <code>FormsModule</code> into our <code>app.ts</code> file. This gives template-driven forms support, like <code>[(ngModel)]</code>. </p><p>We can also include the code snippets:</p><pre><code>protected readonly minutes = signal(0);
protected readonly user = signal('localazy');</code></pre><p><strong>Signal</strong> is the new Angular reactive primitive (introduced in Angular v16) used to create reactive state variables just like <code>useState()</code>in React. Each property (<code>minutes</code>, <code>user</code>) is a <strong>signal, </strong>a reactive value that automatically triggers re-render when changed.</p><p>Modify the file so it looks like this:</p><pre><code>import { Component, signal } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import { FormsModule } from '@angular/forms';

@Component({
  selector: 'app-root',
  imports: [RouterOutlet, FormsModule],
  templateUrl: './app.html',
  styleUrl: './app.css'
})
export class App {
  protected readonly title = signal('angular-i18n-localazy-demo');
  protected readonly minutes = signal(0);
  protected readonly user = signal('localazy');
}
</code></pre><p>The UI should be similar to the following screenshot:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-20-at-4.28.10-PM.png" class="kg-image" alt loading="lazy" width="2000" height="732" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-20-at-4.28.10-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-20-at-4.28.10-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-20-at-4.28.10-PM.png 1600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-20-at-4.28.10-PM.png 2116w" sizes="(min-width: 720px) 720px"></figure><h2 id="extracting-a-source-language-file">📨 Extracting a source language file <a class="markdownit-header-anchor" href="#extracting-a-source-language-file">🔗</a></h2><p>Our template is now prepared and ready to be translated. Now we need to define a source language in the <code>angular.json</code> configuration file. Open the file and add:</p><pre><code>...
"projects": {
  "angular-i18n-localazy-demo": {
    ...
    "i18n": {
        "sourceLocale": "en",
      },
      ...
  }
}</code></pre><p>To ensure that we have a correct setup, a <code>sourceLocale</code> value should be equal to Localazy project’s source language code (in our case <em>“en”</em>).</p><p>Next, we'll use the Angular CLI command to extract the marked text in the template into the source language file. Open a terminal window in the project root directory and run:</p><pre><code>ng extract-i18n --output-path src/locale --out-file en.xliff --format=xlf2</code></pre><p>This command creates a <code>en.xliff</code> file in the <code>./src/locale</code> directory.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-3.42.26-PM.png" class="kg-image" alt loading="lazy" width="660" height="148" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-21-at-3.42.26-PM.png 600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-3.42.26-PM.png 660w"></figure><h2 id="localization-with-localazy">🪁 Localization with Localazy <a class="markdownit-header-anchor" href="#localization-with-localazy">🔗</a></h2><p>Once your app is internationalized, <strong>localization (l10n)</strong> comes into play, as this is where you adapt your app for specific audiences by translating the extracted text, adjusting formats, and applying cultural differences. </p><blockquote>i18n sets up your app for global readiness, while localization makes it feel native to each user’s region</blockquote><p>This is the part where the real fun begins. In any project, we certainly do not want to handle things that can be automated manually. <strong>A manual approach is error-prone, boring, and takes a long time</strong>. And localization is undoubtedly one of the processes that can benefit from automation.</p><h3 id="create-a-new-project">Create a new project <a class="markdownit-header-anchor" href="#create-a-new-project">🔗</a></h3><p>Go to <a href="https://localazy.com/register">Localazy signup</a>, join our community by creating an account, then create a new project. We can leave it public so other contributors can freely help with translating our app. Select English as a source language (generally, of course, you can use any other). Also, enable the <em>Use community translations (<a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a>)</em> option, so some parts of the app can be translated automatically. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-3.46.22-PM.png" class="kg-image" alt loading="lazy" width="1874" height="866" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-21-at-3.46.22-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-21-at-3.46.22-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-21-at-3.46.22-PM.png 1600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-3.46.22-PM.png 1874w" sizes="(min-width: 720px) 720px"></figure><p>The project is successfully created. On the integration filter, we can search and choose Angular.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-3.49.10-PM.png" class="kg-image" alt loading="lazy" width="1906" height="964" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-21-at-3.49.10-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-21-at-3.49.10-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-21-at-3.49.10-PM.png 1600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-3.49.10-PM.png 1906w" sizes="(min-width: 720px) 720px"></figure><h3 id="angular-integration-and-content-upload">Angular integration and content upload <a class="markdownit-header-anchor" href="#angular-integration-and-content-upload">🔗</a></h3><p>After clicking on the <em>Angular</em> button, we see the integration instructions. </p><p>Let’s dig into the process a step at a time:</p><ol><li>Install <a href="https://localazy.com/docs/cli/installation">Localazy CLI</a> by running the command in our demo app’s terminal.</li></ol><pre><code>npm install -g @localazy/cli</code></pre><p>2.  Afterwards, create a configuration file <code>localazy.json</code> in the root folder of your project. Modify the file and include the following snippets:</p><pre><code>{

  "writeKey": "&lt;your-write-key&gt;",
  "readKey": "&lt;your-read-key&gt;",
  
  "upload": {  
    "type": "xliff",
    "files": "src/locale/en.xliff",
    "features": ["parse_plurals_icu"]
  },
  
  "download": {
    "files": "src/locale/${lang}.xliff"
  }
  
}</code></pre><p> The <strong>writeKey</strong> and the <strong>readKey</strong> can be obtained from the <em>Access Keys</em> tab on the project dashboard. These keys are used to authorize our request.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-3.57.31-PM.png" class="kg-image" alt loading="lazy" width="2000" height="843" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-21-at-3.57.31-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-21-at-3.57.31-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-21-at-3.57.31-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-21-at-3.57.31-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>The <strong>upload</strong> section instructs Localazy CLI on how to collect files to be uploaded and, optionally, provides metadata for these files. In our case, the type of file we'll upload to the dashboard is an XLIFF file, which can be found in the <code><strong>src/locale</strong></code> directory. Because we have defined some plurals string resources in ICU Message Format earlier, we need to add <a href="https://localazy.com/docs/cli/xliff-20-format#icu-plurals">parsing support</a> for ICU plurals within the upload section.</p><p>The <strong>download</strong> section describes how to process translated files and where to write them. In our case, after successful translation, the downloaded translated files will be placed in <strong><code>src/locale/${lang}</code>, </strong>where <em>lang</em> is the language of the translated file.</p><p>Now it’s finally time to upload our source language phrases to Localazy. Navigate to the project terminal and run the following command:</p><pre><code>localazy upload -s
</code></pre><p>Great! We’ve just simulated (<code>-s</code> stands for simulate) the upload without actually uploading anything. It is <strong>a good practice to test out the configuration</strong> to make sure that nothing unexpected occurs. </p><p>For example, having an incorrect writeKey or (and) readKey pasted would output lines similar to these:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-4.24.06-PM.png" class="kg-image" alt loading="lazy" width="1146" height="610" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-21-at-4.24.06-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-21-at-4.24.06-PM.png 1000w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-4.24.06-PM.png 1146w" sizes="(min-width: 720px) 720px"></figure><p>However, with the correct writeKey and readKey, a proper simulation will verify and validate the process. </p><p>Now let’s upload the phrases for real:</p><pre><code>localazy upload</code></pre><p>We can either refresh the browser to see the uploaded content or redirect to the project link in the terminal:</p><pre><code>Verifying...

Validating...

Uploading 1 kB...

Upload results: 9 added, 0 updated, 0 deprecated
Using 230 out of 800 source keys

Your app on Localazy: https://localazy.com/p/angular-localize-app</code></pre><h3 id="translation-and-download">Translation and download <a class="markdownit-header-anchor" href="#translation-and-download">🔗</a></h3><p>The next step is to add new languages. </p><p>In our case, we will be translating our content to <strong>Czech (cs)</strong> and <strong>Spanish(es)</strong>:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-4.53.05-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1280" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-21-at-4.53.05-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-21-at-4.53.05-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-21-at-4.53.05-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-21-at-4.53.05-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Using the pluralization rules we mentioned earlier, we can notice that Localazy automatically recognized the language plural rules. When translating to Czech(cs), we can see that we have options for <em>one, few, and others</em>, while for the translation to Spanish(es), we have options for only <em>one and others </em>according to the language plural rules noted above:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-5.10.13-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1242" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-21-at-5.10.13-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-21-at-5.10.13-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-21-at-5.10.13-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-21-at-5.10.13-PM.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Czech plurals.</figcaption></figure><blockquote>Translating plural rules is possible either through pre-translation with Localazy AI or using human translators. Both suggestions can be activated for the <a href="https://localazy.com/tiers/autopilot">Autopilot plan</a> and higher.</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-5.06.33-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1129" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-21-at-5.06.33-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-21-at-5.06.33-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-21-at-5.06.33-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-21-at-5.06.33-PM.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Spanish plurals.</figcaption></figure><p>After the initial automatic translations with <a href="https://localazy.com/docs/general/machine-translations/">your preferred MT engine</a> or Localazy AI, we can invite human reviewers as contributors and translators by email and assigning them a specific language to translate:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-28-at-7.14.11-PM.png" class="kg-image" alt loading="lazy" width="2000" height="528" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-28-at-7.14.11-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-28-at-7.14.11-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-28-at-7.14.11-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-28-at-7.14.11-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>We can also place an order for <a href="https://localazy.com/docs/general/continuous-localization-team">professional human translators and reviewers</a> and let Localazy’s team of professional linguists handle it for you. This hybrid process checks and improve these translations, giving us speed and accuracy with less manual effort.</p><p>Let’s finish translating our app and get back to our Angular project.</p><p>It’s time to download our translated phrases:</p><pre><code class="language-shell">localazy download</code></pre><p>This command downloads all the freshly added languages and newly accepted phrases. We now have the <em>cs.xliff </em>and <em>es.xliff</em> files in our <em>locale</em> folder containing translated phrases. Let’s build the project!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-5.14.07-PM.png" class="kg-image" alt loading="lazy" width="640" height="228" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-21-at-5.14.07-PM.png 600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-5.14.07-PM.png 640w"></figure><h2 id="build-your-project-in-different-languages">🗣️ Build your project in different languages <a class="markdownit-header-anchor" href="#build-your-project-in-different-languages">🔗</a></h2><p>Due to the deployment complexities of i18n and the need to minimize rebuild time, the development server only supports localizing a single locale at a time. For these reasons, we need to update the <em>angular.json</em> project configuration that allows serving more locales at distinct ports at the same time.</p><p>Firstly, we need to <strong>define locales in the build configuration</strong>. Use the <em>i18n</em> project option to define a map of locale identifiers to translation files. Adapt the following code snippet from angular.json:</p><pre><code>...
"projects": {
  "angular-i18n-localazy-demo": {
    ...
    "i18n": {
        "sourceLocale": "en",
        "locales": {
           "cs": {
            "translation": "src/locale/cs.xliff"
          },
          "es": {
            "translation": "src/locale/es.xliff"
          }
        }
      },
      ...
  }
}</code></pre><p>Next, we need to <strong>apply specific build options for each locale</strong>. To do that, we can create a custom locale-specific configuration by specifying a single locale, as shown in the following example:</p><pre><code>...
"projects": {
  "angular-i18n-localazy-demo": {
    ...
    "architect": {
      "build": {
        ...
        "configurations":  {
          ...
          "cs": {
              "localize": [
                "cs"
              ]
            },
            "es": {
              "localize": [
                "es"
              ]
            },
            "en": {
              "localize": [
                "en"
              ]
            }
        }
      },
      "serve": {
        ...
        "configurations": {
          ...
          "en": {
              "buildTarget": "angular-i18n-localazy-demo:build:en",
              "port": 4200
            },
            "cs": {
              "buildTarget": "angular-i18n-localazy-demo:build:cs",
              "port": 4201
            },
            "es": {
              "buildTarget": "angular-i18n-localazy-demo:build:es",
              "port": 4202
            }
        }
      }
    },
    ...
  }
}</code></pre><p>Great! Our locale-specific project configuration is ready. Use three terminal windows pointing into the project root and run a command in each:</p><pre><code># 1st terminal window
ng serve -c=en

# 2nd terminal window
ng serve -c=cs

# 3rd terminal window
ng serve -c=es</code></pre><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-5.26.03-PM-1.png" class="kg-image" alt loading="lazy" width="2000" height="819" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-21-at-5.26.03-PM-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-21-at-5.26.03-PM-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-21-at-5.26.03-PM-1.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-21-at-5.26.03-PM-1.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>The source English UI.</figcaption></figure><p></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-21-at-5.25.44-PM.png" class="kg-image" alt loading="lazy" width="2000" height="860" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-21-at-5.25.44-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-21-at-5.25.44-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-21-at-5.25.44-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-21-at-5.25.44-PM.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>The resulting Czech UI...</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-28-at-6.17.09-PM.png" class="kg-image" alt loading="lazy" width="2000" height="880" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-28-at-6.17.09-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-28-at-6.17.09-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-28-at-6.17.09-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-28-at-6.17.09-PM.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>and the translated Spanish UI.</figcaption></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>In this article, we demonstrated how to use Localazy and the angular-i18n library to localize an Angular App. Localazy is a powerful tool that makes translating Angular and other applications faster, easier, error-proof, and more fun.</p><p>Now, you can<strong> <a href="https://github.com/localazy/angular-i18n-example">download the repository</a> with the demo project to explore it</strong> or <a href="https://localazy.com/register">start localizing Angular apps</a> on your own! If you have any questions, check out the Localazy <a href="https://localazy.com/integrations/angular/">FAQs</a> about the framework or <a href="https://localazy.com/contact">drop the team a line</a> for quick support. 📞</p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/10/technical-article.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[RTL support matters — even if you're not in an RTL market]]></title>
            <link>https://localazy.com/blog/why-implementing-rtl-matters-do-i-need-rtl</link>
            <guid isPermaLink="false">why-implementing-rtl-matters-do-i-need-rtl</guid>
            <pubDate>Thu, 05 Feb 2026 16:40:25 GMT</pubDate>
            <description><![CDATA[Do I really need RTL, even if I'm not in an RTL market? The answer might surprise you: even if you're not interacting with RTL customers (yet), having an unprepared infrastructure could create problems for you down the road. Here's why and how to tackle it early.]]></description>
            <content:encoded><![CDATA[<div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><em>Article co-authored with localization veteran <a href="https://localazy.com/blog/author/ahmed-megahed">Ahmed Megahed</a>.</em></div></div><p>Growing up in Egypt as a native Arabic speaker, I experienced firsthand what it meant to navigate a digital world that wasn't built for my language. When my generation first encountered technology, there were no Arabic interfaces at all. <strong>Everything was left-to-right</strong>. We learned to use computers, mobile phones, and software through English interfaces because that was the only option available.</p><p>I remember my first Samsung flip phone couldn't support Arabic keyboard input. This limitation was so widespread that it created an entire phenomenon — people writing Arabic using Latin letters to communicate on their phones, essentially inventing <a href="https://en.wikipedia.org/wiki/Arabic_chat_alphabet">Arabizi, a new form of digital slang</a>. I'll admit something that might be controversial: even today, I can't comfortably use technology in Arabic. We became so accustomed to left-to-right interfaces that switching back feels unnatural.</p><p>This personal experience shaped my understanding long before I entered localization as an Arabic team lead. Now, as Technical Director at the <a href="https://www.langops.institute">LangOps Institute</a>, I've made it my mission to help companies understand that language considerations can't be postponed.</p><p>Too often, I hear the same refrain from startup leaders:<strong> "We'll add RTL support when we expand to those markets." </strong>This approach consistently creates technical debt that compounds over time, sometimes making expansion impossible altogether. If <a href="https://hub.localazy.com/en/scripts/arab-arabic">Arabic</a>, <a href="https://hub.localazy.com/en/languages/he-hebrew">Hebrew</a>, or <a href="https://hub.localazy.com/en/languages/ur-urdu">Urdu</a> is anywhere on your roadmap, the architectural decisions you make today will determine whether future localization takes weeks or months to implement.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-29-at-11.35.01.png" class="kg-image" alt loading="lazy" width="2000" height="1392" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-29-at-11.35.01.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-29-at-11.35.01.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-29-at-11.35.01.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/Screenshot-2025-09-29-at-11.35.01.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Example of Arabic Localization from Apple.</figcaption></figure><p>In this piece, co-authored with <a href="https://www.linkedin.com/in/ahmedmegahed1/">my colleague Ahmed</a> (with 17 years of experience in the field), we aim to break down why RTL languages like Arabic deserve your attention from the start. </p><h2 id="what-youre-actually-dealing-with">📊 What you’re actually dealing with <a class="markdownit-header-anchor" href="#what-youre-actually-dealing-with">🔗</a></h2><p>Just to put things in perspective, there are over <a href="https://www.w3.org/International/questions/qa-scripts#directions">215 languages that use RTL scripts</a>. </p><p>Some of the most common include:</p><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th><strong>Language</strong></th>
<th><strong>Speakers</strong></th>
<th><strong>Notes</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Arabic</strong></td>
<td>400M native, 270M MSA users</td>
<td>26 official countries, 25+ dialects</td>
</tr>
<tr>
<td><strong>Urdu</strong></td>
<td>62M native, 160M L2</td>
<td>Pakistan and parts of India</td>
</tr>
<tr>
<td><strong>Farsi</strong></td>
<td>70M native, 110M total</td>
<td>Iran, Afghanistan, Tajikistan</td>
</tr>
<tr>
<td><strong>Pashto</strong></td>
<td>40–60M native</td>
<td>Dialectal diversity</td>
</tr>
<tr>
<td><strong>Sindhi</strong></td>
<td>32M native</td>
<td>Pakistan and India</td>
</tr>
<tr>
<td><strong>Hebrew</strong></td>
<td>9M speakers</td>
<td>Modern and ancient roots</td>
</tr>
<tr>
<td><strong>Kashmiri</strong></td>
<td>7M speakers</td>
<td>Indo-Aryan branch</td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p>Some ancient languages (like <a href="https://en.wikipedia.org/wiki/Egyptian_hieroglyphs">Egyptian hieroglyphs</a> and the <a href="https://en.wikipedia.org/wiki/Phoenician_alphabet">Phoenician alphabet</a>) were written right-to-left, too. Even <a href="https://hub.localazy.com/en/languages/ko-korean">Korean</a>, <a href="https://localazy.com/blog/chinese-support-for-your-product/">Chinese</a>, and <a href="https://localazy.com/blog/master-japanese-localization-and-adapt-your-brand-to-this-unique-market/">Japanese</a> used to be written top-to-bottom, right-to-left.</p><p><strong>RTL is not niche</strong>. It’s foundational to how many people in the world read, write, and interact with content.</p><h2 id="why-companies-ignore-the-problem">🤔 Why companies ignore the problem <a class="markdownit-header-anchor" href="#why-companies-ignore-the-problem">🔗</a></h2><p>Recently, I had a conversation with several startup CTOs about expansion planning. Their responses were revealing... and concerning. Some believed AI <a href="https://localazy.com/blog/mythbusters-we-use-google-translate-and-gpt-to-manage-our-localization/">would handle everything automatically</a>. Others admitted they'd never considered RTL markets part of their growth strategy.</p><p>The barriers aren't technical complexities. They're structural:</p><ul><li><strong>Resource constraints dominate decision-making</strong>. Teams face quick release cycles and feature competition. When you're fighting for market share, RTL seems like a luxury you can't afford.</li><li><strong>Knowledge gaps run deeper than expected</strong>. Most decision-makers don't understand what RTL implementation involves or when it becomes exponentially more expensive. As one CTO told me: "We'll cross that bridge when we get there."</li><li><strong>The mentality of "we need to push the product" takes over</strong>. Companies focus on adding features to stay relevant and competitive. Important infrastructure decisions get buried under immediate market pressures.</li></ul><p>It's not that companies don't care... They often<strong> don't know</strong>. And even when they do know, they may lack the resources to act on it immediately. AI has complicated this further, offering partial help but no real certainty.</p><blockquote>↪️ Localazy tested eight of the most popular LLMs on Arabic translation tasks. See the results <a href="https://localazy.com/blog/ai-8-llm-arabic-models-tested-to-translate">here</a> </blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-29-at-12.05.33.png" class="kg-image" alt loading="lazy" width="2000" height="1143" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-29-at-12.05.33.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-29-at-12.05.33.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-29-at-12.05.33.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/Screenshot-2025-09-29-at-12.05.33.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>JAIS, a bilingual LLM focused on the Arabic language.</figcaption></figure><h2 id="prepping-beforehand-pays-off">💡 Prepping beforehand pays off <a class="markdownit-header-anchor" href="#prepping-beforehand-pays-off">🔗</a></h2><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text">You might be thinking: <strong><em>"Why should I care about this if I'm not in an RTL market?"</em></strong></div></div><p>Here's the strategic reality: no company ever says "we're only going to serve Latin script users." You start small, but you can't realistically limit your future to one writing system forever. The cost multiplies over time because <strong>the bigger your product gets, <a href="https://localazy.com/blog/bridging-the-gap-podcast-s02-ep05-building-for-rtl-languages">the bigger the RTL problem becomes</a></strong>.</p><p>I've worked with a multi-billion-dollar software company that discovered RTL implementation would take three to six months at their scale. At that point, leadership decided it wasn't worth the investment. This creates real market invisibility. When I mentioned this company to my cousin, an IT director in Egypt, his response was immediate:<em> </em>"Never heard of them." <strong>That's a multi-billion dollar company, completely invisible</strong> in a market of <a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand/">400 million Arabic speakers</a>.</p><blockquote>No company ever says "we're only going to serve Latin script users." You start small, but you can't realistically limit your future to one writing system forever</blockquote><p>RTL support becomes <strong>another item on your technical debt list</strong>, and we know how companies struggle with technical debt. Stack compatibility decisions you make today determine your future flexibility. If you choose a CMS, project management system, or support platform that doesn't handle RTL, you'll face painful migrations later rather than simple filtering during initial selection.</p><h2 id="two-case-studies-the-cost-of-timing">⏳ Two case studies: the cost of timing <a class="markdownit-header-anchor" href="#two-case-studies-the-cost-of-timing">🔗</a></h2><p>How and when you approach RTL can completely change the outcome. The same requirement looks very different for a company scrambling late versus one that plans for it from the start. </p><p>Let's go through two examples.</p><h3 id="company-a-the-retroactive-scramble">Company A: The retroactive scramble <a class="markdownit-header-anchor" href="#company-a-the-retroactive-scramble">🔗</a></h3><p>This reflects most companies' approach. They build for their initial market, establish their tech stack, and create workflows around left-to-right assumptions. When RTL requirements emerge during expansion, <strong>everything needs retrofitting</strong>. The timeline becomes prohibitive because UI elements are hardcoded, graphics have embedded text, and designs weren't built with mirroring in mind. What could have been weeks of upfront planning becomes months of architectural changes.</p><p>I've seen this pattern repeatedly: companies discover a significant business opportunity in RTL markets only to realize <strong>their systems can't support the expansion</strong> without major rebuilding. The opportunity cost extends beyond implementation time to include lost first-mover advantages and delayed market entry... while competitors establish or have already established themselves.</p><h3 id="company-b-the-strategic-approach">Company B: The strategic approach <a class="markdownit-header-anchor" href="#company-b-the-strategic-approach">🔗</a></h3><p><strong>Canva </strong><a href="https://www.canva.com/newsroom/news/international-expansion/">chose differently</a>. From the beginning, their founders were determined to be available to as many people worldwide as possible. This wasn't just idealism but rather strategic planning that recognized language accessibility as a competitive advantage.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-29-at-11.52.20.png" class="kg-image" alt loading="lazy" width="2000" height="1024" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-29-at-11.52.20.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-29-at-11.52.20.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-29-at-11.52.20.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/Screenshot-2025-09-29-at-11.52.20.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>They now support over 100 languages, including Arabic, Hebrew, and Urdu. Did they overdo it initially? Probably. Handling that many languages was challenging for a small team. But <strong>this early decision enabled rapid expansion</strong> into RTL markets while competitors struggled with technical limitations. The result speaks for itself: <a href="https://www.thezerotoone.co/p/canva-design-made-simple">Canva became the dominant global design platform</a>, partly because they could serve users in their native languages from launch.</p><h2 id="the-technical-reality-behind-rtl-support">⚙️ The technical reality behind RTL support <a class="markdownit-header-anchor" href="#the-technical-reality-behind-rtl-support">🔗</a></h2><p>Logically, RTL localization demands more than translating text and flipping alignment. The entire interface needs mirroring, not just visually but functionally. Most RTL users instinctively start on the right side of screens, so layouts must guide them naturally through right-to-left attention and flow patterns.</p><p>This extends beyond digital interfaces. Even charts and diagrams must follow RTL logic — if a flowchart progresses forward, it needs to move left in RTL contexts, not right as in English. <strong>Text expansion creates additional complexity because some RTL languages require more space than the original English</strong>, causing buttons to break, labels to wrap awkwardly, or key messages to get cut off.</p><blockquote>Flipping alignment is not the only thing you'll have to do to support RTL languages. Interface flow, text expansion, graphics, and cultural cues will also need to be adapted</blockquote><p>Cultural sensitivity also becomes part of technical accuracy. A green checkmark might mean "success" globally, but <a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go#2-be-sensitive-to-cultural-nuance">context matters across different cultures</a>. Color associations shift, hand gestures carry different meanings, and what looks playful in Europe might seem inappropriate in the Gulf. Physical media requires complete workflow changes: brochures, booklets, and PDF downloads must be formatted for RTL reading flow with binding on the right rather than left.</p><p>I’ve seen designs where the text renders correctly in RTL, <strong>but the graphics stay left-to-right</strong>. In the example below, the Arabic text inside the wreath is reversed. It might look fine to non-native speakers, but to native users, it’s clearly broken. The text below it, however, is displayed properly.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/RTL_Image_Example-1.jpg" class="kg-image" alt loading="lazy" width="1132" height="776" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/RTL_Image_Example-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/RTL_Image_Example-1.jpg 1000w, https://ghost.localazy.com/content/images/2025/07/RTL_Image_Example-1.jpg 1132w" sizes="(min-width: 720px) 720px"></figure><h2 id="practical-tips-start-small-build-on-it">🛠️ Practical tips: start small, build on it <a class="markdownit-header-anchor" href="#practical-tips-start-small-build-on-it">🔗</a></h2><p>The key idea from successful implementations is that <strong>you don't need full RTL support immediately, but you need RTL readiness</strong>. This means building your foundation with future flexibility in mind rather than creating barriers you'll need to demolish later. So, how do you start doing this right, practically? </p><ol><li><strong>Understand the challenge first</strong>. Get someone on your team or hire an external contractor who can explain what RTL implementation involves for your specific product. Knowledge enables realistic planning rather than crisis management.</li><li><strong>Put it on your product roadmap</strong>. Acknowledging RTL as a future requirement changes how you make current decisions about architecture, tooling, and design systems. </li><li><strong>Choose your stack wisely</strong>.<strong> </strong>Choose your stack wisely because this is where early preparation pays dividends without requiring immediate investment.</li></ol><p>Of course, the approach you follow depends on your company size as well as the current stage of growth you're at. But generally, companies fall into two big buckets:</p><h3 id="1-if-youre-a-startup-with-limited-resources">1️⃣ If you're a startup with limited resources <a class="markdownit-header-anchor" href="#1-if-youre-a-startup-with-limited-resources">🔗</a></h3><p><strong>Tool selection</strong> becomes your first line of defense. Before choosing any system, check its supported languages and verify that task management systems, documentation platforms, CRMs, and support chat tools handle RTL properly. This filtering costs nothing but <strong>prevents expensive migrations later</strong>.</p><p>You need to design with logical properties from the start. Using <a href="https://medium.com/@kellycochrane2/why-you-should-stop-using-traditional-margin-and-padding-when-styling-with-css-21428c3ee7">margin-inline-start instead of margin-left</a> costs nothing extra but prevents months of refactoring later. Separate text from images as a standard practice, eliminating one of the biggest RTL implementation headaches before it becomes a problem.</p><p>And don't forget to <strong>test early, even minimally</strong>. Set up a few interface elements in RTL during development, just as a check. Early testing reveals problems when they're still easy to fix rather than when they require architectural changes. Document your decisions and create design guidelines that consider RTL from the start, even if you're not implementing yet.</p><blockquote>You don't have to support RTL immediately. Just acknowledging as a future requirement changes how you make current decisions about architecture, tooling, and design systems</blockquote><h3 id="2-if-youre-an-established-company-that-hasnt-caught-up">2️⃣ If you're an established company that hasn't caught up <a class="markdownit-header-anchor" href="#2-if-youre-an-established-company-that-hasnt-caught-up">🔗</a></h3><p>For a big company, you need to start by <strong>auditing your current ecosystem </strong>to identify which systems in your stack don't support RTL, then <strong>plan replacements </strong>during normal upgrade cycles rather than emergency migrations. Calculate the real cost by comparing RTL implementation now versus two years from now, when your codebase will be significantly more complex.</p><p><strong>Start with pilot projects</strong> rather than attempting to retrofit everything simultaneously. It's good to begin with new features or redesigned sections where RTL can be built in from the ground up. Invest in team knowledge by bringing in external expertise to train your developers and designers on RTL requirements. Consider parallel development for new products or major updates, building RTL support from the beginning rather than adding it retroactively.</p><figure class="kg-card kg-embed-card"><iframe title="Writing Scripts Worldwide" aria-label="Choropleth map" id="datawrapper-chart-V17qA" src="https://datawrapper.dwcdn.net/V17qA/1/" scrolling="no" frameborder="0" style="width: 0; min-width: 100% !important; border: none;" height="384" data-external="1"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",function(a){if(void 0!==a.data["datawrapper-height"]){var e=document.querySelectorAll("iframe");for(var t in a.data["datawrapper-height"])for(var r,i=0;r=e[i];i++)if(r.contentWindow===a.source){var d=a.data["datawrapper-height"][t]+"px";r.style.height=d}}})}();
</script></figure><p>All in all, here’s what I recommend:</p><ul><li>From day one, separate text from images.</li><li>Use text components that support logical direction.</li><li>Test a few interfaces in RTL early on — just as a check.</li><li>Document design guidelines that include RTL considerations.</li><li>Even if you're not localizing into Arabic yet, lay the groundwork.</li></ul><p>If you're working with design tools like <strong>Figma</strong> or <strong>Adobe InDesign</strong>, make sure you're using features that support RTL mirroring. Some tools have plugins or built-in settings that flip content and directionality. Use them early so you’re not retrofitting later.</p><blockquote><em><strong>📚</strong> Related read:</em> <a href="https://localazy.com/blog/figma-as-your-source-of-truth-the-new-approach-to-streamlining-localization">Figma as your Source of Truth: The new approach to streamlining localization</a></blockquote><h2 id="where-to-start-trusted-resources-for-rtl-implementation">📚 Where to start: Trusted resources for RTL implementation <a class="markdownit-header-anchor" href="#where-to-start-trusted-resources-for-rtl-implementation">🔗</a></h2><p>When I started in localization, I didn't think I'd become a passionate advocate for right-to-left languages — my first job simply needed someone who spoke Arabic. </p><p>But as I worked with localization teams across 50+ locales and helped developers implement support for Arabic, Hebrew, and other RTL scripts, I found myself answering the same questions and solving the same problems repeatedly.</p><p>This experience points to one simple truth: <strong>RTL implementation challenges are consistent across organizations, but so are the solutions</strong>. If you're responsible for implementing RTL support, one of the most useful things you can do is read up on how it actually works. Most of the challenges you'll encounter already have documented solutions.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-29-at-11.59.43.png" class="kg-image" alt loading="lazy" width="2000" height="1138" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-29-at-11.59.43.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-29-at-11.59.43.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-29-at-11.59.43.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/Screenshot-2025-09-29-at-11.59.43.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Material Design 3 by Google on RTL and bidirectionality.</figcaption></figure><p>These trusted resources are a great start to start learning about RTL localization:</p><ul><li><a href="https://www.unicode.org/reports/tr9/" rel="noopener">Unicode</a></li><li><a href="https://www.w3.org/International/tutorials/bidi-xhtml/index.en.html" rel="noopener">W3C</a></li><li><a href="https://m3.material.io/foundations/layout/understanding-layout/bidirectionality-rtl" rel="noopener">Google's Material Design RTL guidance</a></li><li><a href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/user-interface/bidirectional-support" rel="noopener">Microsoft</a></li><li><a href="https://developer.apple.com/design/human-interface-guidelines/right-to-left" rel="noopener">Apple HIG RTL</a></li></ul><p>These all offer practical guidance to help you design, implement, and test RTL support in digital products. Getting familiar with them will help you communicate more clearly with designers, developers, and QA teams. When everyone on the team has a baseline understanding, things go smoother.</p><p>And yes, I’ll admit it: I still find it exciting to learn about this stuff, but I may be biased. 🙃 And if you really want to get in the zone? A good meal from your nearest Middle Eastern restaurant might help. Consider it cultural immersion.</p><h2 id="the-earlier-you-think-about-rtl-the-better">🕒 The earlier you think about RTL, the better <a class="markdownit-header-anchor" href="#the-earlier-you-think-about-rtl-the-better">🔗</a></h2><p>This comes down to a simple principle: RTL readiness signals broader technical maturity. Companies that build flexible, international-ready systems <strong>adapt faster </strong>to any market requirements.</p><p>The uncomfortable reality is that most companies still choose the reactive approach. They delay RTL consideration due to knowledge gaps rather than true resource constraints. But businesses succeeding in global markets plan for linguistic diversity from the beginning.</p><p><strong>If resources are genuinely tight, focus on preparation over implementation</strong>. Research RTL requirements, evaluate your stack, and document what needs to change. When expansion opportunities arise, you'll move quickly instead of spending months on technical prerequisites.</p><p>Remember: the cost of RTL implementation grows with every feature you add. The cost of RTL planning? <strong>A few days of research and strategic thinking</strong>. Companies that recognize this difference capture global markets while their competitors scramble to catch up.</p>]]></content:encoded>
            <author>Kareem Alnassag</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/10/RTL-support.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: New Localazy AI that understands your brand and audience!]]></title>
            <link>https://localazy.com/blog/release-update-ai-translation-that-understands-your-audience</link>
            <guid isPermaLink="false">release-update-ai-translation-that-understands-your-audience</guid>
            <pubDate>Wed, 29 Oct 2025 15:26:33 GMT</pubDate>
            <description><![CDATA[Keep your translations on-brand with the new style guide and Localazy AI! Learn more about the latest improvements made to Localazy in the latest Release Update.]]></description>
            <content:encoded><![CDATA[<p>You asked for better ways to keep translations consistent with your brand voice, and we listened. Now, you can use <strong>Style guides</strong> to define your translation guidelines in one place and use our <strong>new AI translation engine</strong> to get more accurate results. 🎉</p><h2 id="quick-highlights-video">🎞️ Quick highlights video  <a class="markdownit-header-anchor" href="#quick-highlights-video">🔗</a></h2><p>Short on time? Watch this 2-minute video where I will show you the most important news.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/47bnr904PXw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Localazy Release Update Highlights - October 2025"></iframe></figure><p>And if you want to read all about it, we've also made a bunch of other small and big improvements over the past few months that deserve a shout-out. Check it all out below!</p><h2 id="style-guides">📝 Style guides <a class="markdownit-header-anchor" href="#style-guides">🔗</a></h2><p>You can now create a <a href="https://localazy.com/features/style-guide">Style guide</a> directly in your Localazy project. </p><p>This new feature will help you get more accurate translations across the board:</p><ul><li>Your <strong>contributors</strong> and our <strong>professional translators</strong> can view the instructions when translating the project.</li><li><strong>DeepL</strong> can adjust formality for some languages based on your style guide.</li><li>It is the most important resource for <strong>Localazy AI</strong> (more below!).</li></ul><p>Instead of sending separate documents to translators or hoping they remember your brand voice, you define tone, formality, audience, and custom instructions in one place, and it shows up automatically where translation work happens.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/image.png" class="kg-image" alt loading="lazy" width="476" height="286"><figcaption>The style guide lives under the Context tab in your project menu.</figcaption></figure><p>Fill in what matters: <strong>project type, industry, formality level, tone,</strong> and any specific dos and don'ts. You can set global defaults and add per-language overrides when needed (like using higher formality for Japanese while keeping other languages casual, for instance).</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/image-2.png" class="kg-image" alt loading="lazy" width="2000" height="963" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/image-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/image-2.png 1600w, https://ghost.localazy.com/content/images/2025/10/image-2.png 2386w" sizes="(min-width: 1200px) 1200px"><figcaption>Style guide settings in Localazy.</figcaption></figure><p>Translators see a compact preview of the relevant rules directly in the translation interface. The preview is language-aware, so it only shows what applies to the language they're working on. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/image-11.png" class="kg-image" alt loading="lazy" width="1357" height="889" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/image-11.png 1000w, https://ghost.localazy.com/content/images/2025/10/image-11.png 1357w" sizes="(min-width: 720px) 720px"></figure><p>The new Style guide pairs perfectly with the new Localazy AI. When you have a style guide configured, Localazy AI will automatically follow those rules during translation.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">📚</div><div class="kg-callout-text">Learn more about using <a href="https://localazy.com/docs/general/style-guide">Style guides in the documentation</a>.</div></div><h2 id="new-localazy-ai">🤩 New Localazy AI <a class="markdownit-header-anchor" href="#new-localazy-ai">🔗</a></h2><p>The brand new Localazy AI is now available for all users on the <a href="/tiers/autopilot">Autopilot plan</a> and above. </p><p>It's built into the platform and automatically follows your <a href="/features/glossary">glossary</a> and <a href="/features/style-guide">style guide</a> during translation.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Styleguide-not-set.png" class="kg-image" alt loading="lazy" width="1241" height="982" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Styleguide-not-set.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Styleguide-not-set.png 1000w, https://ghost.localazy.com/content/images/2025/10/Styleguide-not-set.png 1241w" sizes="(min-width: 720px) 720px"><figcaption>Remember to set up your style guide before using Localazy AI for the best results!</figcaption></figure><p>No extra configuration is needed. <strong>Just select Localazy AI as your translation provider</strong> for bulk translation or automated translation. Get fast, automated translations that stay consistent with your terminology and match your brand guidelines. </p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">🧠</div><div class="kg-callout-text">Learn more about <a href="https://localazy.com/docs/general/localazy-ai">Localazy AI in the docs</a>, or top up some <a href="/docs/general/localazy-credits">Localazy credits</a> and start using it now, for just $0.005 per word!</div></div><h2 id="better-language-progress-bars">📊 Better language progress bars <a class="markdownit-header-anchor" href="#better-language-progress-bars">🔗</a></h2><p>Language progress indicators in the languages overview now show more granular information about translation completion. </p><p>You can see at a glance which languages need attention and track progress more precisely:</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/10/image-6.png" class="kg-image" alt loading="lazy" width="2000" height="682" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/image-6.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/image-6.png 1600w, https://ghost.localazy.com/content/images/2025/10/image-6.png 2370w" sizes="(min-width: 1200px) 1200px"></figure><h2 id="quick-word-and-character-counts-in-tables">🧮 Quick word and character counts in tables <a class="markdownit-header-anchor" href="#quick-word-and-character-counts-in-tables">🔗</a></h2><p>You can now see word and character counts for your filtered or selected strings:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/image-7.png" class="kg-image" alt loading="lazy" width="676" height="514" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/image-7.png 600w, https://ghost.localazy.com/content/images/2025/10/image-7.png 676w"><figcaption>Quickly check how many words or characters are in your strings.</figcaption></figure><p>Hover over the <strong>"W#" </strong>icon to display a helpful table with the desired data. These metrics help you estimate translation costs and workload more accurately. You can find it in the footer of tables or in the selection toolbar just below the header.</p><h2 id="google-now-respects-your-glossary">📔 Google now respects your glossary <a class="markdownit-header-anchor" href="#google-now-respects-your-glossary">🔗</a></h2><p>If you are a fan of traditional machine translation providers, this is excellent news for you! Both DeepL and Google Translate should now respect your glossary terms during translation. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Group-80--1-.png" class="kg-image" alt loading="lazy" width="958" height="664" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Group-80--1-.png 600w, https://ghost.localazy.com/content/images/2025/10/Group-80--1-.png 958w" sizes="(min-width: 720px) 720px"><figcaption>Use the Glossary to keep your terminology consistent.</figcaption></figure><p>Previously, only Localazy AI and recently DeepL used glossary entries, but <strong>now your terminology stays consistent across more translation providers</strong>. This means better quality automated translations without manual corrections. </p><blockquote>➡️ Please keep in mind that glossary support can be limited by language pair and that machine translation can still make mistakes, so it is always recommended to follow automatically generated translations with a human review!</blockquote><h2 id="improved-bulk-actions-result-messages">🗞️ Improved bulk actions result messages <a class="markdownit-header-anchor" href="#improved-bulk-actions-result-messages">🔗</a></h2><p>After batch operations are complete, you get clearer feedback about what happened. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/Notification.png" class="kg-image" alt loading="lazy" width="824" height="120" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Notification.png 600w, https://ghost.localazy.com/content/images/2025/10/Notification.png 824w" sizes="(min-width: 720px) 720px"><figcaption>This is not an actual notification inside Localazy 😅</figcaption></figure><p>The new messages tell you exactly how many strings were processed, what succeeded, what did not, and why, and if anything needs your attention. </p><h2 id="coming-soon-dark-mode">🌚 Coming soon: Dark mode! <a class="markdownit-header-anchor" href="#coming-soon-dark-mode">🔗</a></h2><p>Full dark mode is coming to the Localazy interface.</p><p>Yes, we know. Dark mode has become a bit of a meme in the SaaS community. And there is also <a href="https://x.com/nikitabier/status/1524195577956687873">this old post by Nikita Bier</a>, currently the head of product at X: </p><blockquote>"Your users will sleep better if your app has dark mode. Your users will use your app less if they're sleeping. Never build dark mode."</blockquote><p>He's got a point about engagement, but we're building the opposite of an engagement app. We want you to set up automations and let translations run in the background so you can actually sleep instead of managing localization manually. And when you do need to jump in for a review or quick fix, dark mode makes those late-night sessions easier on your eyes.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/10/image-5.png" class="kg-image" alt loading="lazy" width="2000" height="1067" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/image-5.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/image-5.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/image-5.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy dark mode in development —&nbsp;stay tuned!</figcaption></figure><p>And honestly, it's not us catching up late to a trend. Dark mode is a standard these days and a genuine accessibility feature that makes long sessions easier on your eyes, especially if you're working late or in low-light conditions. The entire interface will support a dark theme for more comfortable work. (Note: This won't apply to the website at first, only the application itself.) </p><h2 id="more-cool-stuff-in-development">😎 More cool stuff in development <a class="markdownit-header-anchor" href="#more-cool-stuff-in-development">🔗</a></h2><p>Don't worry, we are not working endless nights only to bring dark mode as the next big thing. You can look forward to more useful features that will make your localization easier and better.</p><ul><li>New <strong>Localazy QA</strong> to track validity and accuracy issues across projects.</li><li>Screen for tracking <strong>credit expenses and top-ups</strong>.</li><li>Ability to <strong>copy Automations</strong> from one project to another.</li><li>And more improvements are coming based on your feedback (or bug reports... 🤫).</li></ul><h2 id="let-us-know-what-you-think">✅ Let us know what you think! <a class="markdownit-header-anchor" href="#let-us-know-what-you-think">🔗</a></h2><p>Got questions about any of these features? Want to see something work differently? Our support team is here to help, and we're always listening to feedback about what would make your localization workflow smoother. Contact us at team@localazy.com or use the support chat inside Localazy. <br><br>Happy localizing!</p><p></p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/10/Release-update-Localazy-october-2025.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[AI is a bad boss, spreadsheets crash: Lessons from rebuilding a large localization workflow]]></title>
            <link>https://localazy.com/blog/translation-stories-ai-spreadsheets-lessons-from-rebuilding-a-localization-workflow</link>
            <guid isPermaLink="false">translation-stories-ai-spreadsheets-lessons-from-rebuilding-a-localization-workflow</guid>
            <pubDate>Tue, 14 Apr 2026 13:03:36 GMT</pubDate>
            <description><![CDATA[Finding the perfect balance for your multilingual product takes time. These are some of the lessons I learnt at Survio managing +15 languages for five years, including Excel fails, CMS migrations, automation challenges, and more.]]></description>
            <content:encoded><![CDATA[<p>When I joined <a href="https://www.survio.com/en/">Survio</a> as a content and localization specialist, the ride that followed was amazing, packed with challenges, wins, and lessons learned involving spreadsheets, AI, and the quest for the perfect localization workflow. Here’s my collection of personal conclusions you will <strong>benefit from on your localization journey</strong>, which might change the way you approach your next projects.</p><h2 id="use-case-behind-this-story">📋 Use case behind this story <a class="markdownit-header-anchor" href="#use-case-behind-this-story">🔗</a></h2><p>I didn’t come to Survio through the usual marketing route. My background was in sales in the localization industry, with only a passing knowledge of marketing and related fields. But thanks to a lucky break (and the trust of Survio’s founder, <a href="https://www.linkedin.com/in/coufalik/">Ondřej Coufalík</a>), I landed the role of content specialist, which eventually expanded to <strong>managing multilingual localization</strong>.</p><p>Upon my start in 2020, Survio already spoke 17 languages across its app, website, and help center. Translations were handled partly in-house and partly by freelancers who knew the product inside out. It worked… up to a point. But with every new release request, it became clear that we needed a <strong>centralized process</strong> to get all languages ready to launch at the same time.</p><p>That’s when we teamed up with a translation agency. The benefits were obvious — <strong>coordinated delivery times</strong>, <strong>consistent quality</strong>, and a <strong>reliable workflow</strong>. But we quickly hit a snag: how to move content between Survio’s custom <a href="https://localazy.com/dictionary/cms">CMS</a> and the agency’s <a href="https://localazy.com/term/translation-management-system">TMS</a> without creating chaos in versions and updates? To keep things simple at first, we went with spreadsheets. Not glamorous, but workable. 🤷 Once translations were ready, they were imported back into the CMS.</p><blockquote>With every new release request, it became clear that we needed a centralized process to get all languages ready to launch at the same time. We teamed up with a translation agency, but manual processes quickly turned into e-mail ping-pong</blockquote><p>This system let us assign tasks, exchange files, and track progress nicely, but <strong>it all had to be done manually</strong>. When a translated piece didn't fit (particularly in the app layout) or needed a review due to terminology inconsistencies, communication quickly turned into e-mail ping-pong. Time-consuming? Absolutely. <strong>Something that would clearly deserve automation? </strong>Even more so. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/AdobeStock_419630582-1--1-.jpg" class="kg-image" alt loading="lazy" width="2000" height="1124" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/AdobeStock_419630582-1--1-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/AdobeStock_419630582-1--1-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/AdobeStock_419630582-1--1-.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/AdobeStock_419630582-1--1-.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p><a href="https://localazy.com/blog/the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models">When OpenAI, ChatGPT and LLMs arrived</a>, I started experimenting with the idea of bringing translation back in-house. The payoff was obvious — <strong>considerable cost savings</strong> <strong>and </strong><strong>better control</strong> over what the content communicated in each language. But it also dumped a huge load on my shoulders: checks for completeness, accuracy, consistency, tone of voice, and more. To keep it manageable, <strong>I created a list of </strong><strong>universal prompts</strong>, aligned with preferred terminology, and carefully tweaked them to get translations that grammatically and semantically worked. It wasn’t until later that I discovered Localazy and all the magic it can do in localization.</p><h2 id="important-lessons-learned">💡 Important lessons learned <a class="markdownit-header-anchor" href="#important-lessons-learned">🔗</a></h2><h3 id="lesson-1-a-solid-term-base-builds-trust">Lesson 1: A solid term base builds trust <a class="markdownit-header-anchor" href="#lesson-1-a-solid-term-base-builds-trust">🔗</a></h3><p>One of the biggest lessons I learned in localization is <strong>the</strong> <strong>power of a </strong><a href="https://localazy.com/features/glossary"><strong>term base</strong></a>. If you manage multiple languages or publish content across different environments (website, app, help center, blog) <strong>consistency is everything</strong>. Call the same thing by three different names and you confuse users, dilute trust, and risk your reputation. The result? Prospects lose interest, customers churn, and revenue takes a hit.</p><p>Back then, without a solution like Localazy, my QA process was simple: <strong>I relied on a single spreadsheet to keep terminology in check</strong>. Every time a project went to the agency, I had to share the latest version. Later, when ChatGPT entered the mix, I started inserting specific terms into prompts to enforce accuracy and consistency. It worked, but it was rather clunky.</p><p>Localazy’s term base makes this so much easier. Your industry-specific and product-related <strong>terms are applied automatically to every project</strong>, giving translators context and locking in preferred translations across all target languages. Yes, you’ll need to invest time upfront to <a href="https://localazy.com/docs/general/how-to-define-your-glossary">build the term base properly</a> — but it’s not rocket science, and you will get a “how-to” walkthrough during the introductory onboarding. Once the term base is in place, your only task is keeping it fresh. 🔄</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/10/Captura-de-pantalla-2025-10-07-a-las-20.11.09.png" class="kg-image" alt loading="lazy" width="2000" height="1242" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Captura-de-pantalla-2025-10-07-a-las-20.11.09.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Captura-de-pantalla-2025-10-07-a-las-20.11.09.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Captura-de-pantalla-2025-10-07-a-las-20.11.09.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Captura-de-pantalla-2025-10-07-a-las-20.11.09.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="lesson-2-a-single-content-source-is-better">Lesson 2: A single content source is better <a class="markdownit-header-anchor" href="#lesson-2-a-single-content-source-is-better">🔗</a></h3><p>This is one of those rare cases where one really is more than two. <a href="https://localazy.com/blog/top-10-multilingual-content-management-systems">Your CMS setup</a> can make or break content management, and as the person responsible for it, you either adapt to what’s there, or convince stakeholders that change is worth the effort.</p><p>Sure, there are situations where multiple content sources make sense. But in my experience, a single repository is far more practical – it makes <strong>content easily traceable</strong><strong>, keeps terminology consistent, and sa</strong><strong>ves endless back-and-forth</strong>. And picking a CMS isn't just about a tool. It’s about finding a solution that fits your workflow, scales with your projects, and empowers you to deliver efficiently.</p><blockquote>When you start managing a CMS setup, you can either adapt to what's there or convince stakeholders that change is worth the effort. I recommend a single repository instead of multiple sources</blockquote><p>As any search for "best CMS in 2025" will show, there’s no shortage of options, and choosing the right one takes real investigation. Whatever you land on, make sure that your translation management system is compatible with it. Localazy <a href="https://localazy.com/integrations?search=cms">integrates with many popular CMSs</a> like Strapi, Webflow or Directus, making the workflow nearly seamless. Add new content and your project contributors get notified right away. Once translations are done, they flow straight back into the CMS, ready for your dev team to release.</p><h3 id="lesson-3-spreadsheets-work-until-they-dont">Lesson 3: Spreadsheets work... until they don't  <a class="markdownit-header-anchor" href="#lesson-3-spreadsheets-work-until-they-dont">🔗</a></h3><p>Spreadsheets were my go-to for managing localizations up to that point. Compared to clumsy Word files, they felt like a big step forward. I could <strong>track versions</strong>, <strong>list alternatives</strong>, <strong>add lines with preferred terminology</strong>, and even <strong>map content IDs</strong> from the CMS. Whenever the wrong text slipped into production (whether due to a mismatched ID or a correct ID holding the wrong copy) the spreadsheet was my source of truth.</p><p>But as projects grew larger and more complex (for example, when adding a new language to cover all web and app content), spreadsheets quickly showed their limits. 😬 Finding the right file, checking IDs against the CMS, and keeping everything updated became a time sink. <a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">That’s exactly where Localazy shines</a> — <strong>handling updates and changes automatically, with</strong> <strong>built-in notifications</strong> for new content or review requests.</p><p>And if you’re working with UI/UX design tools like Figma, it gets even better. With the <a href="https://localazy.com/features/figma-localization-plugin">Localazy plugin</a> you can push source text straight from Figma, translate it with glossaries, translation memories, and other linguistic assets, and then pull the finished content right back into your design. No copy-pasting, no chaos — just seeing translations in context, where they belong. That was a real game-changer for me.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/AdobeStock_529337749.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/AdobeStock_529337749.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/AdobeStock_529337749.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/AdobeStock_529337749.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/AdobeStock_529337749.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="lesson-4-ai-great-helper-terrible-boss">Lesson 4: AI: Great helper, terrible boss  <a class="markdownit-header-anchor" href="#lesson-4-ai-great-helper-terrible-boss">🔗</a></h3><p>The internet doesn't lack hot takes on ChatGPT, so I won’t add to the noise. What matters for localization is this: AI can be an incredible assistant, <a href="https://testing.localazy.com/blog/s02-ep-01-bridging-the-gap-podcast">but only if you stay in charge</a>.</p><p><strong>Why is AI bad for localization if you don't guide it clearly?</strong> Because getting good results depends on carefully crafted prompts, rigorous checks, and a healthy dose of skepticism. AI outputs often look polished and convincing — yet they can still miss the mark on facts, tone, or terminology.</p><p>That’s why I find Localazy’s approach so powerful. It doesn’t just rely on a single AI engine; it gives you access to Google Translate, Amazon Translate, and DeepL, plus the option to <a href="https://localazy.com/docs/general/localazy-ai">directly integrate OpenAI</a>. Each translation can be <strong>cross-checked against suggestions from other engines</strong>, <a href="https://localazy.com/features/translation-memory/">shared translation memory</a>, and glossary matches. The result is that translations are accurate, consistent, and aligned with your style, without the guesswork of standalone prompting.</p><h3 id="lesson-5-breaking-old-habits-pays-off">Lesson 5: Breaking old habits pays off  <a class="markdownit-header-anchor" href="#lesson-5-breaking-old-habits-pays-off">🔗</a></h3><p><strong>It’s easy to stick with what’s familiar</strong>, avoiding new tools or workflows just to stay in the comfort zone. But in localization, clinging to old habits can mean poor efficiency, slower growth, and higher costs. Thoughtful, gradual change towards something innovative or scalable, on the other hand, can always help you get a competitive advantage.</p><blockquote>In localization, clinging to old habits can mean poor efficiency, slower growth, and higher costs. Gradual change towards a scalable system can, on the other hand, give you a competitive advantage</blockquote><p>That’s why it’s worth keeping an open eye (and an open mind). Try out new tools that might bring a real benefit to your business. Maybe they’ll simply confirm your current setup is solid. Or maybe you’ll discover new opportunities to automate, cut costs,<a href="https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization"> save time, or increase productivity</a>. Either way, you win.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/AdobeStock_567847920.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1307" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/AdobeStock_567847920.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/AdobeStock_567847920.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/AdobeStock_567847920.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/AdobeStock_567847920.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="build-a-system-now-reap-the-benefits-later">🏁 Build a system now, reap the benefits later <a class="markdownit-header-anchor" href="#build-a-system-now-reap-the-benefits-later">🔗</a></h2><p>Looking back at my Survio journey, one thing that stands out is that localization is never just about translation. It’s about building systems, shaping habits, and choosing the right tools <strong>so your content stays clear, consistent, and impactful</strong>,<strong> </strong>no matter how many languages you handle. And while spreadsheets, e-mails, or even AI hacks can get you started, they’re rarely enough to scale. The sooner you set up processes that are efficient, automated, and adaptable, the smoother your growth will be.</p><blockquote>For me, localization is about building systems, shaping habits and choosing the right tools to make your content clear, consistent, and impactful</blockquote><p>If you’re a manager standing at the edge of multilingual translation, you probably have questions like: </p><ul><li><a href="https://localazy.com/features/continuous-localization-team">Should I keep translations in-house or outsource?</a> </li><li><a href="https://localazy.com/blog/localization-for-managers-guide-to-choosing-the-right-tms">Which CMS or TMS is worth the investment?</a></li><li><a href="https://localazy.com/features/releases">How do I keep track of content versions?</a></li><li><a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">Is it safe to bring in AI, and how do I get the most of it?</a></li><li><a href="https://localazy.com/docs/general/qa-checks">What's the best way to maintain translation quality in multiple languages?</a></li></ul><p>These are the right questions. <a href="https://localazy.com/blog/mythbusters-start-localization-once-product-is-done">And asking them early makes all the difference</a>. </p><p>The good news is you don’t need to stitch together a dozen tools to find the answers. Localazy was built to handle exactly these challenges – from <strong>maintaining a living term base</strong> and integrating smoothly with popular tools, to <strong>automating updates</strong> that wipe out spreadsheet headaches and involving machine translation engines that work side by side with your context. It takes the manual busywork off your plate and keeps your translations aligned in one streamlined workflow. <a href="https://localazy.com/register/ ">Check it out for free</a> and see how fast your localization process levels up.</p>]]></content:encoded>
            <author>Dorian Maršálek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/09/Rebuild-lessons-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[6 super-useful Figma plugins for product designers]]></title>
            <link>https://localazy.com/blog/6-super-useful-figma-plugins-product-designers-localazy</link>
            <guid isPermaLink="false">6-super-useful-figma-plugins-product-designers-localazy</guid>
            <pubDate>Mon, 13 Oct 2025 11:48:41 GMT</pubDate>
            <description><![CDATA[The Figma Community offers a variety of third-party plugins that make Figma even more powerful, and you can select and accumulate your plugin stack to get it tailored precisely to your needs.
In this article, we will look at six super-useful Figma plugins for product designers and their teams.]]></description>
            <content:encoded><![CDATA[<p>Product designers are problem solvers. And to solve visual problems effectively, they need the right toolkit. <a href="http://figma.com">Figma</a> is an indispensable part of their tech stack and paired with the right plugins, it can save you time and lead to new ideas. </p><p>No one wants to spend time on repetitive tasks such as aligning elements, naming layers, or hunting for the right assets. These little frustrations add up, pulling focus away from what really matters: designing stand-out products. <strong>That’s where Figma plugins come into play</strong>. Built by the community, these tools are designed to tackle everyday challenges, saving time and simplifying your workflow.</p><p>Our <a href="https://localazy.com/blog/interview-ondrej-pucek-art-director-designer-localazy">Art Director, Ondřej Půček</a>, has his secret list of plugins that he will share with us today.  We’ll highlight <strong>six essential plugins </strong>that every product designer should know. From automating tedious tasks to introducing features that push your creativity further, these plugins are here <strong>to help you design better products, <em>faster</em>.</strong></p><h2 id="whats-figma">🤔 What's Figma? <a class="markdownit-header-anchor" href="#whats-figma">🔗</a></h2><p>Figma is currently one of the most popular tools for designers, and it has been chosen by freelancers and digital teams. You can think of Figma as a cloud-based collaboration design tool for real-time cooperation among designers, copywriters, managers, and developers. </p><p>The tool was launched in 2012, and it was adopted quickly by designers and product teams worldwide. With over <a href="https://research.contrary.com/company/figma#:~:text=Figma%27s%20cloud%2Dbased,to%20one%20survey.">13 million users in 2025</a>, it has become the favorite design tool for many. One amazing thing about Figma is the limitless set of plugins offered by the community. Every plugin is useful because it's created to solve a real design problem faced by a user. And today we'll look at some of the top ones. </p><blockquote>👉 You can find all <a href="https://www.figma.com/community/plugins">Figma plugins in the Figma Community</a></blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/11/image.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/image.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/image.png 1600w, https://ghost.localazy.com/content/images/2021/11/image.png 1920w" sizes="(min-width: 720px) 720px"></figure><h2 id="1-iconify">1. Iconify <a class="markdownit-header-anchor" href="#1-iconify">🔗</a></h2><p><a href="https://www.figma.com/community/plugin/735098390272716381/Iconify"><strong>Iconify</strong></a><strong> </strong>is a free plugin that allows you to import Material Design icons, FontAwesome, Jam Icons, EmojiOne, Twitter Emoji, and many other icons (more than 100 icon sets containing over 100,000 icons) to a Figma document as vector shapes.</p><p>This Figma plugin offers an easy way to import icons into a project. You can browse and search icon sets directly from Figma. No need to copy/paste icons - the plugin will import the icons you select.</p><p>The best thing about Iconify is that you can easily use these icons in development because Iconify is also a library that you can embed in your website.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/11/image-6.png" class="kg-image" alt="Iconify Plugin for Figma" loading="lazy" width="1920" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/image-6.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/image-6.png 1600w, https://ghost.localazy.com/content/images/2021/11/image-6.png 1920w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🤔</div><div class="kg-callout-text"><strong>What does the Iconify plugin offer?</strong></div></div><ul><li>It allows you to import your own custom SVGs.</li><li>With the drag-and-drop technique, you quickly place emoticons, icons, and logos into your designs.</li><li>In addition, the plugin remembers the last searched pages and used icons which makes it easy to return to the previously used icons and continue where you left off.</li><li>Iconify provides thousands of vector icons in more than a hundred sets, from libraries such as Material Design or Font Awesome and many more.</li></ul><blockquote>👉 For more information about Iconify, visit <a href="https://iconify.design/">Iconify.design website</a> or the <a href="https://www.figma.com/community/plugin/735098390272716381/Iconify">Iconify Figma plugin page</a></blockquote><h2 id="2-able">2. Able <a class="markdownit-header-anchor" href="#2-able">🔗</a></h2><p><a href="https://www.figma.com/community/plugin/734693888346260052/Able-%E2%80%93-Friction-free-accessibility"><strong>Able</strong></a><strong> </strong>allows you to compare color contrast by analyzing the colors of two selected objects and layers. In addition, Able helps you control the accessibility of colors between text and background. You can also simulate what your colors will look like for people suffering from different types of color blindness.</p><p>Able is a plugin with similar visual styling as the Figma interface, and using it feels really seamless. Another considerable advantage of Able is that it updates immediately when you change your selection.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/11/image-2.png" class="kg-image" alt="Able - Friction free accessibility for Figma" loading="lazy" width="2000" height="1000" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/image-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/image-2.png 1600w, https://ghost.localazy.com/content/images/2021/11/image-2.png 2048w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🤔</div><div class="kg-callout-text"><strong>What does the Able plugin offer?</strong></div></div><ul><li>Able helps you check color contrast and accessibility between text and background layers.</li><li>It allows you to simulate how your design looks for people with different types of color blindness.</li><li>Able offers instant updates, so as soon as you make a change to your selection, the plugin adjusts automatically.</li><li>The plugin features a simple interface that aligns with Figma’s design, making it easy to use and integrate into your workflow.</li></ul><blockquote>👉 For more information, visit the <a href="https://www.figma.com/community/plugin/734693888346260052/Able-%E2%80%93-Friction-free-accessibility">Able Figma plugin page</a></blockquote><h2 id="3-curve-text">3. Curve Text <a class="markdownit-header-anchor" href="#3-curve-text">🔗</a></h2><p>Figma may be one of the leading design tools, but it still lacks native support for curved text. That’s where the Curve Text plugin comes in. It allows you to create text that follows a circular path, making it simple to add text effects to logos, badges, or any design where you need text to flow along a shape.</p><p>For designers working with logos or custom typography, Curve Text fills a crucial gap in Figma’s functionality, helping you achieve professional-looking results with minimal effort.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/12/image-1.png" class="kg-image" alt="Curve Text Plugin on Figma" loading="lazy" width="1921" height="1081" srcset="https://ghost.localazy.com/content/images/size/w600/2024/12/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/12/image-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/12/image-1.png 1600w, https://ghost.localazy.com/content/images/2024/12/image-1.png 1921w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🤔</div><div class="kg-callout-text"><strong>What does the Curve Text plugin offer?</strong></div></div><ul><li>Makes it possible to add text to circular designs without needing to export to external software.</li><li>Maintain editable text, allowing you to tweak the content at any time.</li><li>Customize the curve, spacing, and rotation for complete control over the text's appearance.</li></ul><blockquote>👉  Read more about the Curve Text plugin <a href="https://www.figma.com/community/plugin/1331748701210388011/curve-text">here</a></blockquote><h2 id="4-color-blind">4. Color Blind <a class="markdownit-header-anchor" href="#4-color-blind">🔗</a></h2><p>Did you know that according to statistics, up to 60% of the world's population suffers from eye disorders? <strong><a href="https://www.figma.com/community/plugin/733343906244951586/Color-Blind">Color Blind</a></strong> plugin works similarly to Able, but it focuses even more on what the visual representation of your designs will look like from the perspectives of 8 different types of color blindness.</p><p>All you need to do is make a selection, and the plugin will clone it and create versions with the colors changed based on what each one would look like to a person with that type of color blindness. We recommend checking the accessibility and readability of designs with this plugin to ensure you don't accidentally create unusable designs for certain groups of people.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/11/image-4.png" class="kg-image" alt="Color Blind Figma Plugin" loading="lazy" width="2000" height="1000" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/image-4.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/image-4.png 1600w, https://ghost.localazy.com/content/images/2021/11/image-4.png 2048w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🤔</div><div class="kg-callout-text"><strong>What does the Color Blind plugin offer?</strong></div></div><ul><li>It shows you how your designs would appear to people with different types of color blindness.</li><li>Simply select your design and the plugin will create copies with adjusted colors to reflect how they would look to someone with one of 8 different color vision deficiencies.</li><li>Color Blind helps you produce accessible designs, making sure that people with color blindness can still clearly see and understand your work.</li><li>It's an essential tool for checking the accessibility of your designs before finalizing them.</li></ul><blockquote>👉 You can find more on the <a href="https://www.figma.com/community/plugin/733343906244951586/Color-Blind">Color Blind Figma plugin page</a></blockquote><h2 id="5-clay-mockups-3d">5. Clay Mockups 3D <a class="markdownit-header-anchor" href="#5-clay-mockups-3d">🔗</a></h2><p><a href="https://www.figma.com/community/plugin/819335598581469537/Clay-Mockups-3D"><strong>Clay Mockups 3D</strong></a> plugin helps you quickly and easily create various device mockups to present your designs. You can customize the color, camera angle (rotation), and device model for your mockups, including, for example, models for the iPhone 11, Pixel 4, and Macbook Pro.</p><p>To use the plugin, choose a device model and select any layer to render it on the device's screen. For best results, select a layer close to the device's screen dimensions (or the same aspect ratio).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/11/image-5.png" class="kg-image" alt="Clay Mockups 3D for Figma" loading="lazy" width="1920" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/image-5.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/image-5.png 1600w, https://ghost.localazy.com/content/images/2021/11/image-5.png 1920w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🤔</div><div class="kg-callout-text"><strong>What does the Clay Mockups 3D plugin offer?</strong></div></div><ul><li>Helps you create device mockups easily by choosing a device model like iPhone 11 or Macbook Pro.</li><li>You can customize the color, camera angle, and device model for the mockup.</li><li>Don't forget to select a layer to display on the device's screen, making sure it matches the device's dimensions or aspect ratio for best results.</li></ul><blockquote>👉 Find more on the <a href="https://www.figma.com/community/plugin/819335598581469537/Clay-Mockups-3D">Clay Mockups 3D Figma plugin page</a></blockquote><h2 id="6-blush">6. Blush <a class="markdownit-header-anchor" href="#6-blush">🔗</a></h2><p>Blush is an illustration tool that brings an extensive library of customizable art directly into Figma. Whether you’re designing for web, mobile, or print, Blush allows you to mix and match elements to create one-of-a-kind illustrations that perfectly fit your project’s aesthetic. They offer plugins for both Sketch and Figma.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/12/image.png" class="kg-image" alt="Blush plugin for Figma" loading="lazy" width="1830" height="832" srcset="https://ghost.localazy.com/content/images/size/w600/2024/12/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/12/image.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/12/image.png 1600w, https://ghost.localazy.com/content/images/2024/12/image.png 1830w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🤔</div><div class="kg-callout-text"><strong>What does the Blush plugin offer?</strong></div></div><ul><li>Illustrations you can easily customize by adjusting colors, styles, and shapes to match your brand.</li><li>Mix and match elements to create unique combinations that stand out.</li><li>Save time on design work by using ready-made art that can be quickly adapted to your needs.</li></ul><blockquote><em>You can install the Blush Figma plugin <a href="https://www.figma.com/community/plugin/838959511417581040/blush">here</a></em></blockquote><h2 id="7-bonus-icons8-background-remover">7. Bonus: Icons8 Background Remover <a class="markdownit-header-anchor" href="#7-bonus-icons8-background-remover">🔗</a></h2><p>Removing backgrounds from images can be a tedious task, but with the Icons8 Background Remover plugin, you can quickly and easily get the job done right inside Figma. This plugin is perfect for preparing user avatars, team photos, or any other image that needs a clean, transparent background.</p><p>It is especially handy for teams that frequently work with product photos or social media graphics, where a polished look is essential.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/12/image-2.png" class="kg-image" alt="Icons8 Background Remover" loading="lazy" width="1920" height="1080" srcset="https://ghost.localazy.com/content/images/size/w600/2024/12/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/12/image-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/12/image-2.png 1600w, https://ghost.localazy.com/content/images/2024/12/image-2.png 1920w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🤔</div><div class="kg-callout-text"><strong>What does the Icons8 Background Remover plugin offer?</strong></div></div><ul><li>Lets you remove backgrounds from images in just a few clicks.</li><li>Leads to clean, high-quality results without the need for additional software.</li><li>Simplifies the process of preparing user-generated content or marketing materials.</li></ul><blockquote>👉  <em>You can find out more about the uses and installing it </em><a href="https://www.figma.com/community/plugin/997643096679511216/icons8-background-remover"><em>on Figma</em></a><em>.</em></blockquote><h2 id="9-bonus-noise-and-texture">9. Bonus: Noise & Texture  <a class="markdownit-header-anchor" href="#9-bonus-noise-and-texture">🔗</a></h2><p>The Noise &amp; Texture plugin, created by Rogie King, <a href="https://www.figma.com/@rogie">a well-known Designer Advocate at Figma</a>, allows you to add subtle effects like grain, noise, and texture to your designs, bringing a bit of that Photoshop magic into Figma. These effects can add depth and realism to otherwise flat designs, making them more engaging and visually interesting.</p><p>Whether you’re looking to add a bit of grit to a digital illustration or create a realistic-looking background, Noise &amp; Texture gives you the tools to add that extra layer of polish.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/12/image-3.png" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://ghost.localazy.com/content/images/size/w600/2024/12/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/12/image-3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/12/image-3.png 1600w, https://ghost.localazy.com/content/images/2024/12/image-3.png 1920w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🤔</div><div class="kg-callout-text"><strong>What does the Noise &amp; Texture plugin offer?</strong></div></div><ul><li>Allows you to create more dynamic visuals by layering different textures.</li><li>Adds realism and depth to backgrounds, illustrations, or UI elements.</li><li>Perfect to be used as a finishing touch to bring your design to life.</li></ul><blockquote>👉  Learn more about the plugin and how to install it <a href="https://www.figma.com/community/plugin/1138854718618193875/noise-texture">here</a></blockquote><h2 id="10-bonus-localazy">10. Bonus: Localazy <a class="markdownit-header-anchor" href="#10-bonus-localazy">🔗</a></h2><p>Localazy is a continuous localization platform and web-based translation management system (<a href="/dictionary/translation-management-system-tms">TMS</a>) that strives to make the usually awful software <a href="/dictionary/localization">localization</a> and <a href="/dictionary/translation">translation</a> experience efficient and enjoyable for individuals and product teams of any size.</p><p>The <strong><a href="https://www.figma.com/community/plugin/964257457772706017/Localazy-Plugin">Localazy Figma Plugin</a></strong> allows you to upload all the text content from a Figma file to Localazy, translate the content into as many languages as you want, and then download the translated content back to Figma to create localized designs quickly.</p><p>All the texts uploaded to Localazy are also immediately ready to be transferred into your mobile/web projects or other types of client UIs for a streamlined multilingual development experience.</p><blockquote><strong>☝️ NOTE</strong>: To use the plugin, you'll need to have a Localazy <a href="https://localazy.com/pricing">Autopilot subscription</a> or higher. Check the features included in each plan <a href="https://localazy.com/blog/localazy-pricing-explained/">here</a></blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/11/image-1.png" class="kg-image" alt="Localazy Figma plugin" loading="lazy" width="1920" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/image-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/image-1.png 1600w, https://ghost.localazy.com/content/images/2021/11/image-1.png 1920w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🤔</div><div class="kg-callout-text"><strong>What does the Localazy Figma plugin offer?</strong></div></div><ul><li>It helps you easily upload text content from Figma to Localazy for translation into multiple languages.</li><li>Download the translated content back into Figma to create localized designs quickly.</li><li>Handle the issues that come with the Bi-directionality (LTR/RTL) of languages</li><li>Reduce friction when working with marketers and translators on languages that pose length issues.  </li></ul><h3 id="how-to-start-using-the-localazy-figma-plugin">How to start using the Localazy Figma plugin? <a class="markdownit-header-anchor" href="#how-to-start-using-the-localazy-figma-plugin">🔗</a></h3><ol><li>In your project, go to the <strong>Plugins</strong> and select <strong>Localazy</strong>.</li><li><strong>Connect your existing project on Localazy</strong> (if you don't have an account on Localazy, <a href="/register">create one first</a>).</li><li>Go back to Figma and upload your texts. </li></ol><blockquote>👉  Find more on the <a href="https://localazy.com/features/figma-localization-plugin/">Localazy Figma plugin page</a> or visit the <a href="https://localazy.com/docs/figma">Figma plugin documentation</a> first.</blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>These plugins are powerful additions to any designer’s toolkit. They address some of Figma’s limitations while adding new capabilities that help you save time and enhance your design quality.  </p><p>We hope you find them useful. We really enjoy using them while designing Localazy. What are some of your favorite plugins missing from this list? Let us know in the discussion on our <a href="https://discuss.localazy.com/">forum</a>. </p><blockquote> 💬<a href="https://discuss.localazy.com/t/favorite-figma-plugins/447">Tell us about your favorite Figma plugins!</a></blockquote>]]></content:encoded>
            <author>Ondřej Půček</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Figma-top6-plugins.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[I used a Directus plugin to localize content: Pros, cons & full process]]></title>
            <link>https://localazy.com/blog/developers-pov-i-used-directus-plugin-to-localize-content-pros-cons-and-full-process</link>
            <guid isPermaLink="false">developers-pov-i-used-directus-plugin-to-localize-content-pros-cons-and-full-process</guid>
            <pubDate>Tue, 30 Sep 2025 14:12:55 GMT</pubDate>
            <description><![CDATA[From configuring collections to syncing translations, this is how I set up a dev-friendly workflow to manage multilingual content on Directus. I explain what worked well and limitations to watch out for.]]></description>
            <content:encoded><![CDATA[<p>As a developer interested in content management, I love working with tools that make the whole process less stressful and more efficient. <a href="https://directus.io/">Directus</a> is one of those open-source, headless CMS platforms that feels flexible enough for both developers and non-technical teammates, such as marketers, founders, or product managers, so it's one of my first options when such a need arises.</p><p>A major feature of content scalability points to <strong>being able to properly localize our content</strong> so it can be easily accessible for a global audience. There are multiple native translation tools and in-built Directus plugins and extensions that can handle translations for us; however, getting a solution that could easily integrate with the CMS and also handle automating translations could be a hassle.</p><p>When I found out that the <a href="https://localazy.com/features/directus-localization-plugin/">Localazy plugin for Directus</a> promised both, I knew I had to test it. In this hands-on guide, I’ll take you through a detailed walkthrough on how I set up my content in the CMS and connected my project to Localazy to handle translations directly in Directus using the plugin.</p><p><strong>Spoiler: It was surprisingly easy</strong>. 😃 Let's get into it.</p><blockquote>If this is your first time setting up localization in your content, you can rest assured that the process of using the Localazy plugin is quite straightforward. All you need to do is just follow through this guide as it breaks down and explains each step in detail. You can also follow the official Localazy <a href="https://localazy.com/docs/directus/directus-plugin-introduction-installation">documentation</a>. </blockquote><h2 id="prerequisites">📋 Prerequisites <a class="markdownit-header-anchor" href="#prerequisites">🔗</a></h2><p>Before diving in, let’s get Directus up and running. Personally, I prefer using Docker because<strong> </strong>it saves me from environment-specific setbacks beforehand.</p><p>Make sure Docker is installed and the daemon is running.</p><ol><li><strong>Inside a new project folder, run:</strong></li></ol><p><code>Docker run -p 8055:8055 -e SECRET=secret directus/directus</code></p><p>This snippet sets up a Directus container mapped to port <code>8055</code>. The <code>SECRET=secret</code> is an environment variable we pass into the container, and <code>directus/directus</code> pulls the official Directus image from Docker Hub. The CLI will print out a default admin email and password.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/1.png" class="kg-image" alt loading="lazy" width="1158" height="94" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/1.png 1000w, https://ghost.localazy.com/content/images/2025/09/1.png 1158w" sizes="(min-width: 720px) 720px"></figure><p>2. You can now <strong>log into the dashboard</strong> at <a href="http://0.0.0.0:8055/">http://0.0.0.0:8055/</a> with the default login details provided above.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-1.41.25-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1096" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-17-at-1.41.25-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-17-at-1.41.25-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-17-at-1.41.25-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/Screenshot-2025-09-17-at-1.41.25-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="configuring-a-data-model">🛠️ Configuring a data model <a class="markdownit-header-anchor" href="#configuring-a-data-model">🔗</a></h2><p>For this project, <strong>I want to store articles and make them translatable</strong>. </p><p>To achieve that, I created two collections:</p><h3 id="languages-collection">Languages collection <a class="markdownit-header-anchor" href="#languages-collection">🔗</a></h3><p>This model stores the languages we need our project to support. We create a new collection called <code>languages</code>, with a primary key field of <code>code</code>, and choose the type to be a manually entered string:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/3.png" class="kg-image" alt loading="lazy" width="1136" height="694" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/3.png 1000w, https://ghost.localazy.com/content/images/2025/09/3.png 1136w" sizes="(min-width: 720px) 720px"></figure><p>We need the <code><strong>code</strong></code> field (already created), a <code><strong>name</strong></code> field with an input type, and a <code><strong>direction</strong></code> field with a dropdown type. The default value can be set to <code>ltr</code>. Click on the button to add choices, which will open a new modal that allows us to save the options of <code>rtl</code>(<a href="https://localazy.com/dictionary/rtl/">right to left</a>) and <code>ltr</code> (<a href="https://localazy.com/dictionary/ltr/">left to right</a>), as seen in the screenshot below.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/4.png" class="kg-image" alt loading="lazy" width="1310" height="706" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/4.png 1000w, https://ghost.localazy.com/content/images/2025/09/4.png 1310w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/6.png" class="kg-image" alt loading="lazy" width="1320" height="1704" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/6.png 1000w, https://ghost.localazy.com/content/images/2025/09/6.png 1320w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/5.png" class="kg-image" alt loading="lazy" width="1380" height="666" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/5.png 1000w, https://ghost.localazy.com/content/images/2025/09/5.png 1380w" sizes="(min-width: 720px) 720px"></figure><p>The <code>languages</code> collection should look like this after creation:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-1.22.07-PM.png" class="kg-image" alt loading="lazy" width="2000" height="721" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-17-at-1.22.07-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-17-at-1.22.07-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-17-at-1.22.07-PM.png 1600w, https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-1.22.07-PM.png 2076w" sizes="(min-width: 720px) 720px"></figure><h3 id="articles-collection">Articles collection <a class="markdownit-header-anchor" href="#articles-collection">🔗</a></h3><p>This model stores the content I’ll be translating. We'll create a new collection called <code>articles</code>:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/4-1.png" class="kg-image" alt loading="lazy" width="1366" height="818" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/4-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/4-1.png 1000w, https://ghost.localazy.com/content/images/2025/09/4-1.png 1366w" sizes="(min-width: 720px) 720px"></figure><p>Then, we will add a new field called<strong> <code>translations</code></strong>. Select the language indicator field to be <strong>code</strong>, and then input the default language to be <strong>en</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/3-1.png" class="kg-image" alt loading="lazy" width="1236" height="1668" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/3-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/3-1.png 1000w, https://ghost.localazy.com/content/images/2025/09/3-1.png 1236w" sizes="(min-width: 720px) 720px"></figure><p>When I added a translation field, Directus auto-generated a new model called <code>articles_translations</code>:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-2.55.24-PM.png" class="kg-image" alt loading="lazy" width="2000" height="635" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-17-at-2.55.24-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-17-at-2.55.24-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-17-at-2.55.24-PM.png 1600w, https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-2.55.24-PM.png 2124w" sizes="(min-width: 720px) 720px"></figure><p>Click on <code>articles_translations</code> and add two extra fields: <code>title</code> as an input type and <code>content</code> as a markdown type.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-2.59.48-PM.png" class="kg-image" alt loading="lazy" width="1656" height="938" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-17-at-2.59.48-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-17-at-2.59.48-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-17-at-2.59.48-PM.png 1600w, https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-2.59.48-PM.png 1656w" sizes="(min-width: 720px) 720px"></figure><p>At this point, we have our collections of languages, articles, and their translations, which are <strong>the backbone structure</strong> <strong>for our project</strong>.</p><h2 id="adding-content">📨 Adding content  <a class="markdownit-header-anchor" href="#adding-content">🔗</a></h2><p>The next step is to add our content using collections. Navigate to the content bar and <strong>select the Languages model to add new items</strong> with the code, name, and direction structure. We will add English (en), which is our source language, and German (de), which will be our target.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-18-at-6.21.59-PM.png" class="kg-image" alt loading="lazy" width="2000" height="516" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-18-at-6.21.59-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-18-at-6.21.59-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-18-at-6.21.59-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/Screenshot-2025-09-18-at-6.21.59-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-18-at-6.23.01-PM.png" class="kg-image" alt loading="lazy" width="952" height="394" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-18-at-6.23.01-PM.png 600w, https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-18-at-6.23.01-PM.png 952w" sizes="(min-width: 720px) 720px"></figure><p>We will also populate content for the article collection:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-19-at-11.00.50-AM.png" class="kg-image" alt loading="lazy" width="1854" height="1116" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-19-at-11.00.50-AM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-19-at-11.00.50-AM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-19-at-11.00.50-AM.png 1600w, https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-19-at-11.00.50-AM.png 1854w" sizes="(min-width: 720px) 720px"></figure><h2 id="installing-the-plugin">⚡️ Installing the plugin <a class="markdownit-header-anchor" href="#installing-the-plugin">🔗</a></h2><p>This is where the magic happens. We now install the Localazy plugin extension <a href="https://directus.io/extensions/@localazy/directus-extension-localazy">via the Directus marketplace</a>:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-1.42.44-PM.png" class="kg-image" alt loading="lazy" width="2000" height="799" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-17-at-1.42.44-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-17-at-1.42.44-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-17-at-1.42.44-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/Screenshot-2025-09-17-at-1.42.44-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>You can click on Localazy to get more information about this plugin, installation options (which are either manual or via the marketplace), compatibility status, and its current version, among other things.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/2.png" class="kg-image" alt loading="lazy" width="2000" height="1345" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/2.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/2.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Click on the <strong><em>Install Extension</em></strong> button at the top right side and refresh afterwards to see the changes applied.</p><p>Once installed, navigate to <strong><em>Settings -&gt; Project Settings -&gt; Modules</em></strong> and enable the Localazy module so it's directly included as a sidebar on your Directus dashboard.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/1-1.png" class="kg-image" alt loading="lazy" width="2000" height="1345" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/1-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/1-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/1-1.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/1-1.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>If you navigate to the Localazy sidebar, we can see that the project setup page needs to be completed:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-3.28.14-PM.png" class="kg-image" alt loading="lazy" width="1784" height="776" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-17-at-3.28.14-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-17-at-3.28.14-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-17-at-3.28.14-PM.png 1600w, https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-3.28.14-PM.png 1784w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-18-at-6.34.02-PM.png" class="kg-image" alt loading="lazy" width="1534" height="1214" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-18-at-6.34.02-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-18-at-6.34.02-PM.png 1000w, https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-18-at-6.34.02-PM.png 1534w" sizes="(min-width: 720px) 720px"></figure><p>Select the source language as <strong>en</strong> and click on the button to <strong><em>Login to Localazy</em></strong>. This will redirect you to a page that requests authorization for the Directus plugin to access your Localazy account.</p><blockquote>If this is your first time using Localazy, you'll need to <a href="https://localazy.com/register/">register and create a new account</a></blockquote><p>At this stage, you can create a new project or select any of your previous Localazy projects, as shown below.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-3.33.12-PM.png" class="kg-image" alt loading="lazy" width="1080" height="1050" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-17-at-3.33.12-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-17-at-3.33.12-PM.png 1000w, https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-3.33.12-PM.png 1080w" sizes="(min-width: 720px) 720px"></figure><p>You can now return to Directus and confirm both systems are connected:<br></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-3.42.21-PM.png" class="kg-image" alt loading="lazy" width="2000" height="731" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-17-at-3.42.21-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-17-at-3.42.21-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-17-at-3.42.21-PM.png 1600w, https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-3.42.21-PM.png 2086w" sizes="(min-width: 720px) 720px"></figure><p>Click on the <strong><em>Import &amp; Export</em></strong> tab and select all the fields that you want to export. In our instance, we will select both the title and the content fields.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-3.52.31-PM.png" class="kg-image" alt loading="lazy" width="2000" height="457" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-17-at-3.52.31-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-17-at-3.52.31-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-17-at-3.52.31-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/Screenshot-2025-09-17-at-3.52.31-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Then click on the <em><strong>Export to Localazy</strong></em> button to export your content to Localazy. Navigate to the dashboard now and select the <em>Directus Project- Culture</em> project, where you'll see the successfully imported content:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-4.04.15-PM.png" class="kg-image" alt loading="lazy" width="2000" height="258" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-17-at-4.04.15-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-17-at-4.04.15-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-17-at-4.04.15-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/Screenshot-2025-09-17-at-4.04.15-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Now it's time to add our target language, German (de), and translate.</p><p>Although there are various <a href="https://localazy.com/blog/guide-localazy-translation-services/">translation options</a> available on Localazy, I'll use the Localazy <a href="https://localazy.com/docs/general/machine-translations">machine translation feature</a> to translate all keys in our imported content because of the multiple translation suggestions and because it allows for faster translation without switching between tools.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-17-at-4.06.34-PM.png" class="kg-image" alt loading="lazy" width="2000" height="257" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-17-at-4.06.34-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-17-at-4.06.34-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-17-at-4.06.34-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/Screenshot-2025-09-17-at-4.06.34-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>After translation, navigate to Directus and click on the <strong><em>Import to Directus </em></strong>button. Then, go back to the CMS and navigate to the <strong>Articles</strong> tab, where you'll find your translated content:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-18-at-6.39.21-PM.png" class="kg-image" alt loading="lazy" width="1864" height="1320" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-18-at-6.39.21-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-18-at-6.39.21-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-18-at-6.39.21-PM.png 1600w, https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-18-at-6.39.21-PM.png 1864w" sizes="(min-width: 720px) 720px"></figure><p>Congratulations! 🥳 </p><p>We now have <strong>a working Directus and Localazy setup where article translation can be easily scaled</strong> to a global audience.</p><h2 id="things-to-watch-out-for">👀 Things to watch out for <a class="markdownit-header-anchor" href="#things-to-watch-out-for">🔗</a></h2><p>During the process of integrating the plugin, I recommend being mindful of the following details:</p><h3 id="version-compatibility">Version compatibility <a class="markdownit-header-anchor" href="#version-compatibility">🔗</a></h3><p>Make sure that the plugin version is compatible with the Directus version you're currently using. As of the time of publication, <strong>the Localazy plugin works best with Directus <code>v10.10.0</code> or above</strong>.</p><h3 id="matching-language-code-and-name">Matching language code and name <a class="markdownit-header-anchor" href="#matching-language-code-and-name">🔗</a></h3><p>When filling in the content for the languages, the language code and name used in your Directus project <strong>should matc</strong>h<strong> the code and name selected on the Localazy dashboard</strong>. For instance, if we add Spanish (<code>es</code>) as a new language in the CMS but use the code <code>es_US</code> in Localazy, this will cause some disparity while translating. As you can see below, even though we intended to translate to Spanish, the naming difference altered the process for us:</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-26-at-3.56.02-PM.png" class="kg-image" alt loading="lazy" width="1954" height="650" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Screenshot-2025-09-26-at-3.56.02-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Screenshot-2025-09-26-at-3.56.02-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/Screenshot-2025-09-26-at-3.56.02-PM.png 1600w, https://ghost.localazy.com/content/images/2025/09/Screenshot-2025-09-26-at-3.56.02-PM.png 1954w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="source-key-limits">Source key limits <a class="markdownit-header-anchor" href="#source-key-limits">🔗</a></h3><p>Localazy has a <a href="https://localazy.com/docs/general/localazy-credits">source key limit</a> depending on the plan you are currently on. If you exceed it, keep in mind that you won't be able to import your source keys back to Directus (although you'll be allowed to export your content from Directus to Localazy). For a free trial, it has a considerably good limit, which <strong>should be enough for a small demo project</strong> like our article translation. </p><h2 id="pros-and-cons">🤔 Pros & cons <a class="markdownit-header-anchor" href="#pros-and-cons">🔗</a></h2><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>Pros of the Localazy Directus plugin</strong></div></div><ul><li>Very easy to setup</li><li>Automated translation import/export</li><li>Multiple MT options in one place</li><li>Scales well for teams</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">⚠️</div><div class="kg-callout-text"><strong>&nbsp;Cons / Limitations</strong></div></div><ul><li>Requires matching codes/names precisely</li><li>Dependent on Directus ≥ v10.10.0</li><li>Source key limits on free tier</li><li>Still need to pay for advanced use cases</li></ul><h2 id="the-final-verdict">🥁 The final verdict <a class="markdownit-header-anchor" href="#the-final-verdict">🔗</a></h2><p>Managing multilingual content is not an easy task, especially when you keep adding languages and scaling. However, since I discovered <a href="https://localazy.com/blog/guide-to-directus-localization-with-localazy">this plugin</a>, <strong>content management has been a considerably easier and more efficient process for me</strong>. 🙌</p><p>What used to take hours of manual copying and pasting now happens automatically once you set it up. The extension honestly <strong>makes translations almost effortless</strong>: as you saw above, you can set up your content, push it to Localazy, and pull back translations without leaving your developer workflow. </p><p>From then on, if you are working with a large amount of content, you might want to upgrade to a <a href="http://localazy.com/o/_a8097378946439832685/billing/subscription-plans">subscription plan</a>. Give it a go — it might be a good fit for your team and product needs.</p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/09/image--29-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Expanding to Poland: The complete guide to market segments, local strategies and mistakes to avoid]]></title>
            <link>https://localazy.com/blog/expanding-to-poland-complete-guide-market-segments-strategies-polish-localization</link>
            <guid isPermaLink="false">expanding-to-poland-complete-guide-market-segments-strategies-polish-localization</guid>
            <pubDate>Fri, 26 Sep 2025 18:42:29 GMT</pubDate>
            <description><![CDATA[Considering Poland for your next expansion effort? With a population of 38M, strong consumer demand and a fast-growing digital economy, it's a worthy target. But you won't win the hearts of Polish customers if you don't localize. Take a look at these strategies to nail your market entry.]]></description>
            <content:encoded><![CDATA[<p>Poland isn’t just another item on <a href="https://localazy.com/blog/how-to-choose-the-right-languages-to-translate-to-when-expanding-globally/">your expansion checklist</a>. It’s one of Europe’s largest and fastest-growing digital markets. With <strong>38 million consumers, near-universal internet access, and an extremely active e-commerce sector</strong>, it’s a region you can’t afford to ignore.</p><p>Yet too many brands make the same mistake: <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">assuming English is enough</a>. And if it’s not, a quick AI translation will somehow patch things up. <a href="https://localazy.com/blog/mythbusters-we-use-google-translate-and-gpt-to-manage-our-localization/">That shortcut mindset</a> has sunk many companies, leaving behind clunky websites, copy that doesn’t convert, disappointed customers, and missed revenue.</p><p><strong>English alone <a href="https://www.researchgate.net/publication/387023852_When_English_isn't_enough_in_advertising_the_role_of_language_ad_length_and_complexity_in_consumer_attitudes_across_Spain_and_Poland">won’t win you Poland</a></strong>. And raw machine translations won’t either. To succeed here, your communication has to level up: it needs to feel <em>local</em>. That means adapting your content to the culture, the language, and the expectations of real people. Not just visitors, but potential loyal buyer.</p><p>So, how do you earn that trust in <a href="https://hub.localazy.com/en/regions/pl-poland">Poland</a>? You’ll find the answer in our Polish localization guide below.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/AdobeStock_94531547.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1344" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/AdobeStock_94531547.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/AdobeStock_94531547.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/AdobeStock_94531547.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/AdobeStock_94531547.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="an-economy-with-a-strategic-edge">📈 An economy with a strategic edge <a class="markdownit-header-anchor" href="#an-economy-with-a-strategic-edge">🔗</a></h2><p>Poland’s economy is on the rise. It’s <a href="https://wingedit.pl/economy/poland-becomes-the-worlds-20th-largest-economy-what-it-means-for-tech-sector/">ranked the sixth-largest economy</a> in the EU and the world’s 20th by nominal GDP (amounting to $980 billion). It’s no longer an emerging market but a global player you can’t ignore.<strong> The digital sphere looks promising, too</strong>. Poland is home to over 38 million people, with nearly <a href="https://stat.gov.pl/obszary-tematyczne/nauka-i-technika-spoleczenstwo-informacyjne/spoleczenstwo-informacyjne/spoleczenstwo-informacyjne-w-polsce-w-2024-roku,2,14.html">96% of households</a> connected to the internet. Here, as many as <a href="https://biznes.pap.pl/wiadomosci/firmy/w-2024-r-876-proc-polakow-regularnie-korzysta-z-internetu-gus">87% of the population are active online users</a>.</p><p>E-commerce has become a national habit<em>. </em>The<em> </em><a href="https://eizba.pl/wp-content/uploads/2025/07/Omni-commerce-Buying-comfortably-2025-abstract.pdf"><em>Buying Comfortably 2025</em> study</a> showed that <strong>93% of Polish internet users bought something online in the past six months</strong>, and for the third year in a row, <strong>all respondents confirmed they have shopped online at least once</strong>. 🛒 Mobile commerce has been leading this shift, since <strong>65% of Poles now shop on smartphones</strong>, and more online purchases are made on phones (39%) than laptops (31%).</p><p>A perfect setting for your localized website, e-commerce store, or mobile app. But numbers alone won’t secure success. Before you jump into ordering Polish translation services, you’ll need to understand how Polish consumers browse, use apps, and make purchase decisions.</p><h2 id="polish-user-behavior-skeptics-by-nature">🤔 Polish user behavior: Skeptics by nature <a class="markdownit-header-anchor" href="#polish-user-behavior-skeptics-by-nature">🔗</a></h2><p><strong>Reason</strong> <strong>and dignity</strong>. These two words capture much of Poland’s consumer spirit. Decades of economic ups and downs have shaped a culture of smart, value-conscious shopping. When it comes to bigger purchases, many Poles still look for discounts, compare deals, and need clear reasons to trust a new brand. </p><p>That doesn’t mean resistance to novelty, especially among younger generations, who are open to global trends and premium products, but even they expect purchases to be justified by quality, transparency, and trustworthiness<strong>.</strong> In short, <strong>Polish buyers are pragmatic, but far from passive</strong>. Gain their trust, and they’ll reward you with loyalty. Personal relationships matter, so do local values.</p><blockquote>Poles expect their shopping to be justified by quality, transparency, and trustworthiness. When it comes to bigger purchases, many still look for discounts and compare deals</blockquote><p>If you want to win a Polish consumer’s heart, tap into local culture, habits, and traditions. But do it with nuance. <a href="https://www.cbos.pl/SPISKOM.POL/2018/K_105_18.PDF">Around 88% of Poles</a> describe themselves as patriotic, which means national symbols, history, and cultural pride resonate strongly. However, <strong>consumers can be quick to spot (and reject) shallow or opportunistic gestures</strong>. For example, campaigns tied to football, Poland’s most-followed sport, can boost emotional connection if executed respectfully. ⚽️</p><p>Even if your brand thrives on disruption, with bold campaigns and unconventional ads, you can’t skip the basics. Solid foundations matter:<strong> invest in thorough market research, track current trends</strong>, and adapt quickly when opportunities arise. Polish consumers appreciate creativity, but they value relevance and credibility even more.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/09/1-1-1.png" class="kg-image" alt loading="lazy" width="806" height="453" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/1-1-1.png 600w, https://ghost.localazy.com/content/images/2025/09/1-1-1.png 806w" sizes="(min-width: 720px) 720px"><figcaption>An example of creative advertising in Poland.<em> Source: <a href="https://lemon-media.pl/en/outdoor-advertising-focus-not-only-on-digital/">Lemon Media</a>.</em></figcaption></figure><h2 id="sectors-with-the-highest-potential">🎯 Sectors with the highest potential <a class="markdownit-header-anchor" href="#sectors-with-the-highest-potential">🔗</a></h2><p>Before you tap into the dynamic Polish market with your authentic and culturally-aware content, it’s wise to discover where the potential is. Some industries draw especially active and loyal consumers. Focusing on them can give your brand an early edge. </p><p>Here’s a short overview:</p><ul><li>💄 <strong>Beauty &amp; Health</strong>: Poland <a href="https://www.paih.gov.pl/wp-content/uploads/2025/08/The-Cosmetics-Sector-2025.pdf">ranks 5th in the EU</a> in terms of the value of the cosmetics market. This industry is expected to reach €6.4 billion by 2028.</li><li>📱 <strong>Electronics</strong>:<strong> </strong>Smartphones, tablets, laptops, PCs, TVs, smartwatches, and game consoles are among the top-selling products. The industry’s value exceeded <a href="https://pmrmarketexperts.com/my-w-mediach/rynek-elektroniki-w-polsce-stabilizacja-w-2024-roku-i-nadzieje-na-dynamiczny-wzrost-w-2025">PLN 44B (~ €10.2 billion)</a> in 2024.</li><li>🥗 <strong>Food</strong>:<strong> </strong>Poles spend a considerable amount on nutrition, including organic products. According to Statista, in 2025 the Polish food market is valued at US $77.2 billion (≈ €71 billion).</li><li>👗 <strong>Clothes</strong>:<strong> </strong>A top-selling online category. Poles love to spend on clothing and accessories, both at local and foreign e-commerce stores.<strong> </strong>In 2025, the apparel market in Poland is valued at €14.98 billion.</li><li>🏡 <strong>Household and gardening</strong>:<strong> </strong>Polish consumers enjoy upgrading their homes and purchasing durable goods. In 2024, the Lawn &amp; Garden market alone was worth ≈ €3.17 billion, and hardware &amp; home improvement stores in Poland came close to about<a href="https://www.ibisworld.com/poland/industry/hardware-home-improvement-stores/200586/"> €4.6 billion</a> in revenue in 2025. </li></ul><p>But even if your product does not fit into any of the above categories, your chances of conquering the Polish market are still high as long as you remember about local values and shopping habits.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/AdobeStock_308037338.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/AdobeStock_308037338.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/AdobeStock_308037338.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/AdobeStock_308037338.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/AdobeStock_308037338.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="steps-for-boosting-conversion-in-the-polish-market">🚀 Steps for boosting conversion in the Polish market <a class="markdownit-header-anchor" href="#steps-for-boosting-conversion-in-the-polish-market">🔗</a></h2><p>Engaging product descriptions are not enough. To attract to your e-store a decent share of <a href="https://gemius.com/blog/foreign-purchases-used-products-and-blik-payments-the-report-ecommerce-in-poland-2024/#:~:text=2024%2D09%2D30-,Foreign%20purchases%2C%20used%20products%20and%20Blik%20payments:%20the%20report%20“,Internet%20Industry%20Employers%20IAB%20Poland.">the 78% of Poles who regularly shop online</a>, you’ll need to build trust. Here are some ideas.</p><h3 id="the-more-data-the-better">The more data, the better <a class="markdownit-header-anchor" href="#the-more-data-the-better">🔗</a></h3><p>Don’t rely on flashy and superficial content for effective sales. Credible <a href="https://www.trade.gov.pl/en/news/e-commerce-in-poland">data matters more</a>. <strong>Spontaneous shopping is not common</strong>, with over two-thirds of Poles comparing prices, reading reviews, and chasing promotions before making a purchase decision. Many abandon their carts too, especially if they can’t find their preferred payment methods or delivery time turns out to be too long.</p><p>Consider displaying details such as:</p><ul><li>🌟 <strong>Benefits</strong></li><li><strong>💸 Discounts</strong></li><li><strong>🎁 Promotions</strong></li><li><strong>🗣️ Testimonials</strong></li><li><strong>⚡ Quick delivery</strong></li><li><strong>🔄 Transparent return policy</strong></li><li><strong>📋 Credible feature descriptions</strong></li><li><strong>💳 Local payment methods</strong> (BLIK, PayU)</li></ul><h3 id="polish-your-payment-experience">Polish your payment experience <a class="markdownit-header-anchor" href="#polish-your-payment-experience">🔗</a></h3><p>Don’t assume everyone pays with credit cards and PayPal. <strong>Most Poles prefer their local payment methods, such as BLIK or PayU</strong>. If your store doesn’t offer these options, which are quick, secure and convenient, you risk alienating a large portion of Polish consumers who rely heavily on them.</p><p>Currency is another tricky area. In Poland, people expect to see prices in <strong><a href="https://hub.localazy.com/en/currencies/pln-polish-zloty">Polish złoty (PLN)</a></strong>, not euros, not dollars. Forcing users to convert in their heads (or worse, in another app) is a fast track to cart abandonment. Always display prices clearly in PLN, with consistent decimal formatting and no rounding “shortcuts.”</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/AdobeStock_475312369.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/AdobeStock_475312369.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/AdobeStock_475312369.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/AdobeStock_475312369.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/AdobeStock_475312369.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Transparency doesn’t stop at pricing. Poles value clarity, so <strong>put ratings, reviews, payment options, and delivery terms front and center</strong>. Surprises at checkout, such as hidden costs, missing payment methods, or vague delivery details, are the quickest route to breaking trust.</p><h3 id="pay-attention-to-your-mobile-ux">Pay attention to your mobile UX <a class="markdownit-header-anchor" href="#pay-attention-to-your-mobile-ux">🔗</a></h3><p>Smartphones now account for <a href="https://gs.statcounter.com/platform-market-share/desktop-mobile-tablet/poland">over 42% of web traffic in Poland</a>, with many consumers using apps or mobile websites for their online purchases. To tap into this audience, ensure your website is mobile-friendly, and, <strong>in case of in-app purchases, prioritize Android</strong>. Smartphones with this system dominate the market <a href="https://gs.statcounter.com/os-market-share/mobile-/poland">with a 76% share</a>. Messaging platforms (such as <strong>Messenger or WhatsApp</strong>) are also routinely used to communicate with retailers and track orders. Adding this form of communication to your strategy is a smart move. Of course, as long as this communication happens in Polish.</p><h3 id="be-present-on-social-media">Be present on social media <a class="markdownit-header-anchor" href="#be-present-on-social-media">🔗</a></h3><p>Polish<strong> </strong>website and app localization is only the first step. Local consumers also expect to find your brand on the channels they use every day. Content in Polish on Instagram, Facebook, and the fast-rising TikTok strengthens brand visibility and credibility. Global, <strong>English-only accounts </strong>might raise awareness, but they <strong>won’t spark engagement.</strong> Partnering with local content creators and influencers can amplify your reach and give your brand the authentic voice Polish audiences respond to. ⚡️</p><p>One good example of this approach is <strong><a href="https://www.tiktok.com/@lidlpolska">Lidl Poland</a></strong>, which localized its TikTok content with humorous videos featuring famous Polish content creators. The brand <a href="https://ads.tiktok.com/business/en/blog/tiktok-ad-awards-2024-central-europe-winners">won the TikTok Ad Awards 2024 for Central Europe</a> and keeps increasing its engagement and sales, especially among young users.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/image_2025-09-20_180828533.png" class="kg-image" alt loading="lazy" width="1292" height="850" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/image_2025-09-20_180828533.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/image_2025-09-20_180828533.png 1000w, https://ghost.localazy.com/content/images/2025/09/image_2025-09-20_180828533.png 1292w" sizes="(min-width: 720px) 720px"></figure><h3 id="communicate-in-the-local-language">Communicate in the local language <a class="markdownit-header-anchor" href="#communicate-in-the-local-language">🔗</a></h3><p>A slick mobile experience won’t get you far if half the interface is still in English. <strong>Buttons, error messages, and checkout flows must be fully localized</strong>, including legal terms, return and privacy policies, product descriptions, and customer reviews. Don’t forget<strong> local customer support</strong>: nothing breaks the deal faster than realizing that your “local” site connects you to an English-only agent when you need help with an order.</p><blockquote><strong>📕 Related read</strong>:<strong> </strong><a href="https://localazy.com/blog/the-ux-writing-process-explained-in-7-steps">The UX writing process explained in 7 steps</a></blockquote><h2 id="the-intricacies-of-the-polish-language">🗣️ The intricacies of the Polish language <a class="markdownit-header-anchor" href="#the-intricacies-of-the-polish-language">🔗</a></h2><p>If you’re ready for localization for Poland, you'll also have to dive into the complexities of the local language. This will help you plan better for Polish software internationalization or Polish website translation.</p><p>Polish belongs to the West Slavic branch and is rooted in Proto-Slavic. It evolved <a href="https://www.britannica.com/topic/Polish-language">through several historical stages</a> from Old Polish in the 10th century to Modern Polish, emerging after World War II. <strong>It has gained a reputation as one of the world’s most difficult languages</strong>, mainly thanks to its rich inflection and seven distinct grammar cases. As if that wasn’t enough, it also offers an interesting adventure through three genders in singular forms, two genders in plural forms, gendered nouns, and gendered adjectives. These intricacies are one of the reasons why Polish text expands by about 20% when you translate it from English.</p><p>While the default structure is Subject-Verb-Object, Polish’s inflection <strong>allows for flexible word order</strong>. Changing the order can subtly shift the emphasis or highlight specific elements in a sentence.</p><blockquote>Polish text expands by about 20% when you translate it from English, due in part to its rich inflections, grammar cases, and gendered words. You'll have to adapt your UX accordingly for this challenge</blockquote><p>When you address your consumers, you have two forms to choose from:<strong> formal ("<em>Pan/Pani</em>") and informal ("<em>ty</em>")</strong><em>.</em> Most websites, mobile apps, and software adopt the latter approach, displaying content with the informal “<em>you<strong>”</strong></em>. The formal tone is essential in customer-facing or professional contexts, while the informal can be used in casual settings or when the brand aims to feel closer or more relatable.</p><p>Though Standard Polish prevails today, there are several regions with specific dialects, such as <a href="https://hub.localazy.com/en/languages/szl-silesian">Silesian (southwest)</a> or <a href="https://en.wikipedia.org/wiki/Goral_ethnolect#:~:text=Goral%2C%20less%20frequently%20called%20Highlander,group%20spoken%20by%20the%20Gorals.">Goral (mountainous southern areas)</a>. <strong>Creating ads or social media content spiced up with local dialects </strong>might be a good strategy to attract consumers from these regions. However, dialects are a delicate matter, so make sure you work with experts to avoid pitfalls.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/09/AdobeStock_287445570.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/AdobeStock_287445570.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/AdobeStock_287445570.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/AdobeStock_287445570.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/AdobeStock_287445570.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Aerial view of Zakopane and the Tatra mountains, where the Goral dialect is spoken.</figcaption></figure><p>Speaking of pitfalls: watch out for missteps such as <strong>mixing<em> </em>"<em>i</em>" with "<em>oraz</em>" (both mean “<em>and</em>”) inappropriately</strong>, using incorrect case endings, or mismatching tone that can fall flat or confuse users.</p><p><a href="https://localazy.com/blog/5-ways-to-use-inclusive-language-in-it-and-software-localization/">Equally important is inclusive language</a>. Avoid addressing users exclusively in the masculine form. It risks alienating female consumers and undermining trust. <strong>Aim for gender-neutral phrasing whenever possible</strong>. If your brand speaks to a single gender, for example, women’s fashion or men’s grooming, then consistently using one gender form is acceptable.</p><h2 id="5-mistakes-in-polish-localization-that-make-users-hit-back">⚠️ 5 mistakes in Polish localization that make users hit "back" <a class="markdownit-header-anchor" href="#5-mistakes-in-polish-localization-that-make-users-hit-back">🔗</a></h2><p>The list of possible mistakes in Polish localization could go on forever, but these are the biggest blunders you’ll want to steer clear of.</p><h3 id="1-skipping-proper-localization-testing">1. Skipping proper localization testing <a class="markdownit-header-anchor" href="#1-skipping-proper-localization-testing">🔗</a></h3><p>Localization doesn’t stop once the text is translated. <strong><a href="https://localazy.com/faq/localization/what-is-localization-testing-in-software-testing/">It has to be tested</a> in the product itself</strong>. Skipping this step often leads to errors, broken layouts, and frustrated users. Polish words are usually longer than English ones, which means buttons, menus, and mobile screens can easily overflow or get cut off. </p><p>Sometimes the fix is design tweaks; other times, it’s asking linguists for shorter, equally natural alternatives. Additionally, <strong>watch for unclear CTAs, broken links, or untranslated strings</strong>, all of which can frustrate your clients and force them to leave your website. To be on the safe side, test your final product by collaborating with experts who will help you ensure your app or website not only works, but also feels right to Polish users.</p><h3 id="2-overlooking-polish-pluralization-rules">2. Overlooking Polish pluralization rules <a class="markdownit-header-anchor" href="#2-overlooking-polish-pluralization-rules">🔗</a></h3><p>Plural forms are another common stumbling block. In Polish, “two notifications” and “five notifications” require different translations, and skipping those distinctions leads to awkward, incorrect strings that users immediately notice. Yet <strong>many brands still release products packed with these errors</strong>.</p><p>To avoid this error, <a href="https://localazy.com/blog/pluralization-in-software-localization-beginners-guide/">build pluralization into your workflow</a>. Languages like Polish have complex plural rules, and modern localization platforms, including Localazy, offer <a href="https://localazy.com/features/plurals/">built-in support to handle them automatically</a>. That way, you don’t have to wrestle with custom rules, and your users see copy that feels natural.</p><h3 id="3-applying-english-formatting-to-polish">3. Applying English formatting to Polish <a class="markdownit-header-anchor" href="#3-applying-english-formatting-to-polish">🔗</a></h3><p>Using English formatting conventions in Polish content is a subtle but significant error. All it takes is <a href="https://localazy.com/blog/number-localization-guide-currencies-dates-measurement-units?srsltid=AfmBOopB9oJhzfyKZcG_yEqudfqgfje-P0nvSs_EgQeJeug2Z4g39j-t#commas-and-decimals">one incorrectly typed punctuation mark</a> to confuse your users. To stay clear of troubles, always use a space as the thousands separator (“1  500  zł”) and a comma for decimals (e.g., “1,5  zł”). Dates follow the day–month–year format, such as “15.08.2025” or, in full text, “15 sierpnia 2025.”</p><blockquote>All it takes is one incorrectly typed punctuation mark or a badly-applied plural form to confuse and alienate your users. Testing your UX for these type of mistakes will ensure your product feels right for them</blockquote><h3 id="4-over-relying-on-raw-ai-translations-without-review">4. Over-relying on raw AI translations without review <a class="markdownit-header-anchor" href="#4-over-relying-on-raw-ai-translations-without-review">🔗</a></h3><p>AI translation is quick and good. Until it isn’t. Relying on raw AI output is the fast track to disappointment: copy that doesn’t convert, texts filled with gender bias, English sentence structure, or unnatural wording. There’s nothing wrong with using AI for the first draft if speed is your priority. <strong>Just make sure it’s reviewed</strong> by professional linguists who will verify if your copy is engaging and free of errors.</p><h3 id="5-ignoring-polish-tone-nuances-and-cultural-context">5. Ignoring Polish tone nuances and cultural context <a class="markdownit-header-anchor" href="#5-ignoring-polish-tone-nuances-and-cultural-context">🔗</a></h3><p>Adapt to attract. Polish consumers quickly spot the difference between content that’s simply translated and copy that’s been carefully adapted to their culture. The latter feels natural, uses the right idioms, matches the expected tone, and sometimes weaves in a touch of humor or local references. That’s what smart brands do: adapt to truly connect.</p><p>Polish UI and marketing copy should reflect local tone, striking a balance between warmth and professionalism. Be cautious, though: <strong>misplaced humor or irony can miss the mark</strong>, and stereotypes will do more harm than good.</p><p>All these may seem like a lot to juggle, but fear not. Localizing into Polish is not a mission impossible. Here are some examples of brands that nailed it.</p><h2 id="learning-from-the-best-and-worst-polish-localization-examples">📊 Learning from the best (and worst) Polish localization examples <a class="markdownit-header-anchor" href="#learning-from-the-best-and-worst-polish-localization-examples">🔗</a></h2><p>The list of successfully localized content for the Polish market is long, so for the sake of time, let’s pick a few cherries on top.</p><h3 id="spotify-localization-boosted-with-personalization">🎵 Spotify: localization boosted with personalization <a class="markdownit-header-anchor" href="#spotify-localization-boosted-with-personalization">🔗</a></h3><p><a href="https://www.spotify.com/pl/premium/"><strong>Spotify</strong></a> has skillfully combined localization with personalization by offering not only a Polish UI but also tapping into regional preferences. Local relevance is the guiding principle, visible in everything: from onboarding flows to curated song recommendations.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/09/RADAR-Poland-SPOT0334-1441x733.jpeg" class="kg-image" alt loading="lazy" width="1441" height="733" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/RADAR-Poland-SPOT0334-1441x733.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/RADAR-Poland-SPOT0334-1441x733.jpeg 1000w, https://ghost.localazy.com/content/images/2025/09/RADAR-Poland-SPOT0334-1441x733.jpeg 1441w" sizes="(min-width: 720px) 720px"><figcaption><a href="https://newsroom.spotify.com/2022-06-28/radar-poland-celebrates-its-first-anniversary-with-five-new-artists/">RADAR Poland celebrating</a> its first anniversary with five new artists.</figcaption></figure><p>In Poland, like in many other markets, Spotify <strong>invested early in understanding local artists, genres, and listening habits</strong>, working with experts who could spot emerging trends. They also adapt images, tone of voice, and visual elements to feel locally authentic. As a result, it's become <a href="https://sensortower.com/blog/2025-q1-unified-top-5-music%20and%20audio-units-pl-6013bc4c241bc16eb8396743">one of the top music apps in the country</a>, making it a daily companion for Polish music lovers.</p><h3 id="ikea-local-holidays-local-stories">🏡 IKEA: local holidays, local stories <a class="markdownit-header-anchor" href="#ikea-local-holidays-local-stories">🔗</a></h3><p><strong><a href="https://www.ikea.com/pl/pl/">IKEA</a> </strong>doesn’t stop at translating product names or website copy. It adapts entire campaigns to the Polish calendar. Seasonal promotions highlight not just global celebrations like Christmas or Valentine’s Day, but also local occasions such as Back to School or Mother’s Day (<a href="https://www.careersinpoland.com/article/customs/mothers-day-in-poland">celebrated on a different date in Poland</a> than in many other countries). A standout example was a recent campaign for this ocassion which blended humor with everyday practicality.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/09/Ikea-mother-day.jpg" class="kg-image" alt loading="lazy" width="1024" height="1024" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Ikea-mother-day.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Ikea-mother-day.jpg 1000w, https://ghost.localazy.com/content/images/2025/09/Ikea-mother-day.jpg 1024w" sizes="(min-width: 720px) 720px"><figcaption>IKEA’s campaign for Mother’s Day in Poland. The slogan says “You always have to pick up her call”.</figcaption></figure><h3 id="secrets-of-alexandria-a-cautionary-tale">🎮 Secrets of Alexandria: a cautionary tale <a class="markdownit-header-anchor" href="#secrets-of-alexandria-a-cautionary-tale">🔗</a></h3><p>Not every localization story has a happy ending. In 2014, the casual game <em><strong>Secrets of Alexandria</strong> </em>tried to capture Polish players but flopped spectacularly. Ranked among the least popular titles in its category, the app was loaded with localization missteps: cut-off strings, typos, missing translations, and clunky phrasing. Instead of drawing players in, these errors broke immersion and damaged trust, proving how costly poor localization can be.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/09/missing-translation-in-alexandria.png" class="kg-image" alt loading="lazy" width="960" height="540" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/missing-translation-in-alexandria.png 600w, https://ghost.localazy.com/content/images/2025/09/missing-translation-in-alexandria.png 960w" sizes="(min-width: 720px) 720px"><figcaption>Missing translations in Secrets of Alexandria. Screenshot by author.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/09/mistranslation-in-alexandria.png" class="kg-image" alt loading="lazy" width="960" height="540" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/mistranslation-in-alexandria.png 600w, https://ghost.localazy.com/content/images/2025/09/mistranslation-in-alexandria.png 960w" sizes="(min-width: 720px) 720px"><figcaption>Typo and cut-off strings in the Polish version of Secrets of Alexandria.&nbsp;</figcaption></figure><h2 id="localazy-handles-polish-localization-challenges-for-you">⚒️ Localazy handles Polish localization challenges for you <a class="markdownit-header-anchor" href="#localazy-handles-polish-localization-challenges-for-you">🔗</a></h2><p>For your Polish localization strategy to be successful, you need to collaborate with experts and use the right tools. <strong>Localazy makes it easy for you to build a sustainable localization workflow</strong> that includes <a href="https://localazy.com/features/plurals">pluralization handling </a>or <a href="https://localazy.com/features/code-and-placeholders">smart placeholders</a>, which are common in languages with intricate plural logic. Other useful features include our <a href="https://localazy.com/features/glossary">built-in glossary</a>, <a href="https://localazy.com/features/translation-memory">translation memory</a>, and <a href="https://localazy.com/features/automations">Automations</a> to orchestrate updates and automate tasks like hiding or showing deprecated keys during migrations or rebranding.</p><p><strong>After your developers configure the integration, they'll be able to step back</strong> and let marketers and translators do their job. You'll be able to onboard your team and community contributors to translate, and use <a href="https://localazy.com/features/machine-translation/">machine and AI translation options</a> to work on your first draft. Or even easier — <strong>you can just <a href="https://localazy.com/features/continuous-localization-team/">order professional translations</a> from our vetted Polish language experts</strong> and focus on other tasks while the job is completed. One tool is enough to kickoff your new market entry.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/09/localazy-PL.png" class="kg-image" alt loading="lazy" width="1586" height="543" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/localazy-PL.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/localazy-PL.png 1000w, https://ghost.localazy.com/content/images/2025/09/localazy-PL.png 1586w" sizes="(min-width: 1200px) 1200px"><figcaption>Polish translation with pluralization rules in Localazy.</figcaption></figure><h2 id="your-polish-market-entry-starts-here">🇵🇱 Your Polish market entry starts here <a class="markdownit-header-anchor" href="#your-polish-market-entry-starts-here">🔗</a></h2><p>Expanding into Poland isn’t just about adding a new language. It’s about <strong>building trust from the very first interaction</strong>. With 38 million digitally savvy consumers, a fast-growing e-commerce sector, and a deep cultural pride, Poland offers enormous potential for brands ready to invest in proper localization.</p><p>Here’s what matters most:</p><ol><li><strong>Invest in high-quality localization from day one</strong> to avoid blunders or reputation risk.</li><li><strong>Test your UI with real Polish users or local experts</strong> to ensure a smooth experience.</li><li><strong>Mind the details</strong>, like proper formatting, local payment methods, currency in PLN, or correct plural forms.</li><li><strong>Check the tone</strong>: Align your voice with Polish expectations. Make sure your message is authentic and culturally aware.</li></ol><p>Brands that approach Polish localization with a clear strategy and respect build lasting relationships. And in an engaged market, these relationships can easily convert into loyalty and growth.</p><p>Are you ready to take your content to the Polish market? Great. <a href="https://localazy.com">Let's talk</a>.</p>]]></content:encoded>
            <author>Dorota Pawlak</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/08/PL.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localization 101 | How to measure your localization ROI: Costs, benefits and KPIs]]></title>
            <link>https://localazy.com/blog/localization-101-how-to-measure-localization-roi</link>
            <guid isPermaLink="false">localization-101-how-to-measure-localization-roi</guid>
            <pubDate>Wed, 01 Oct 2025 23:15:42 GMT</pubDate>
            <description><![CDATA[To localize or not to localize? To answer this question, we need to figure out how to measure the potential return on investment (ROI) in localization. But we also need to set up an ongoing tracking system to see whether further investment would make sense. Start measuring with this framework.]]></description>
            <content:encoded><![CDATA[<p>Businesses localize their software to make more money and spend less. Oversimplified? Yes, but I put it this way on purpose — to let us focus on a particular aspect of localization: <strong>investment</strong><em>. </em></p><p>Before we invest in something, we want to estimate the potential gain, a.k.a. <a href="https://localazy.com/dictionary/ROI/">Return On Investment (ROI)</a>. This is the difference between what we paid for localization and how our net profit changed as a result.</p><p><strong>The simplest localization ROI formula</strong> looks like this:</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/08/MeasureROI.png" class="kg-image" alt loading="lazy" width="1480" height="626" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/MeasureROI.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/MeasureROI.png 1000w, https://ghost.localazy.com/content/images/2025/08/MeasureROI.png 1480w" sizes="(min-width: 1200px) 1200px"></figure><p>Here’s an example: you get your app translated into German for $5,000. Then your users pay $15,000 within the German interface. In this case, <strong>your net profit will be $10,000</strong>, which is twice what you paid, or 200%.</p><p>However, adding time into the mix complicates calculations. The “then” in the above formula stands for days, weeks, months, or years needed to hit the projected metrics. So, you will have to set milestones and track your actual ROI against them. Things get even more complicated when we consider all the unknowns and variables. As <a href="https://www.linkedin.com/in/nikolakozuljevic/">Nikola Kozuljevic</a>, CMO at <a href="https://www.smartsupp.com/" rel="noopener noreferrer nofollow">Smartsupp</a>, confirms:</p><blockquote><em>“It's extremely challenging to attribute business metrics like MRR or churn to localization. Transactions, in our case purchases of subscriptions, are hardly attributed to it [...]. </em>It's also tough to A/B test — we don't know how many people do not buy our solution because of a lack of localization, which we don't see<em>”</em></blockquote><p>Due to <a href="https://www.linkedin.com/posts/jakubdubec_localization-activity-7251938205338337281-6X0l/">the challenges in measuring localization ROI</a>, we cannot create a formula for every situation. But considering all the possible variables and unknowns will help us put together <strong>a framework for tracking and measuring net revenue </strong>independently.</p><p>In this article, I’m inviting you to brainstorm such a framework together. To make the most of it, I spoke with my copywriting clients and Localazy’s experts and clients. Let’s see what we’ve got.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">⚠️</div><div class="kg-callout-text"><strong>WARNING:</strong> <em>This is a long guide with real-life examples and formulas, written for the reader to understand the benefits of localization ROI calculation. If you are still unsure or don’t have time to read the article, cut right through – <a href="https://localazy.com/book-demo">consult a localization expert</a>.</em></div></div><h2 id="the-investment-what-goes-in-localization-costs">💸 The INvestment: What goes in (localization costs) <a class="markdownit-header-anchor" href="#the-investment-what-goes-in-localization-costs">🔗</a></h2><p>Localization costs are usually easier to grasp than its benefits. </p><p>But, what are you <em>exactly </em>investing in? The Cambridge Dictionary defines localization as <em>"the process of making a product or service more suitable for a particular country, area, etc." </em>However, you can’t just make your product “more suitable for a particular demographic” and hope these users will come. Even a restaurant in a busy tourist area uses outdoor advertising to boast about the languages of its menus. And <strong>you will likely need to invest in additional advertising</strong>, too.</p><p>Speaking of restaurants, they don’t just localize their menus. They also hire waiters who speak at least some of their menu languages. So, depending on the nature of your business, you might or might not need to <strong>recruit customer support for the new languages</strong>.</p><p>A restaurant like that has an advantage: customers come to its country, not the other way around. But if you expand to new markets, you just don’t need to localize your product — you will also have to <strong>comply with new regulations</strong>. See how the expenses stack up? </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/Digismoothie.jpg" class="kg-image" alt loading="lazy" width="1443" height="902" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Digismoothie.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Digismoothie.jpg 1000w, https://ghost.localazy.com/content/images/2025/08/Digismoothie.jpg 1443w" sizes="(min-width: 720px) 720px"></figure><p><a href="https://www.linkedin.com/in/tomasjanu/">Tomas Janu</a> is the co-founder of <a href="https://www.digismoothie.com/">Digismoothie</a>, a Shopify development company that uses Localazy to localize their content to six languages. Here’s what he shared about their localization costs:</p><blockquote><em>"We paid for localization and a higher Webflow plan. We need more time to maintain the site and keep all locales up-to-date (i.e., when you change something in English, you need to change it in the new locales)"</em></blockquote><p>As you plan to reach out to new demographics, <strong>take time to brainstorm all the associated costs</strong>. I’ve made this table to give you a starting point. Some costs can be calculated upfront (marked with ✓), while others require research and estimation (marked with 🔍). A few costs might only become clear once you start the project (marked with ⚠️).</p><!--kg-card-begin: html--><table style="border: medium; border-collapse: collapse;">
  <colgroup>
    <col width="269">
    <col width="355">
  </colgroup>
  <tbody>
    <tr style="height: 28.25pt;">
      <td style="vertical-align: bottom; padding: 5pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; white-space: pre-wrap;">Localization-specific costs</span>
        </p>
      </td>
      <td style="vertical-align: bottom; padding: 5pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; white-space: pre-wrap;">Accompanying investments</span>
        </p>
      </td>
    </tr>

    <tr style="height: 30pt;">
      <td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Translation of content and interface ✓</span>
        </p>
      </td>
      <td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Marketing and advertising in new languages 🔍</span>
        </p>
      </td>
    </tr>

    <tr style="height: 30pt;">
      <td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Technical implementation ✓</span>
        </p>
      </td>
      <td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Customer support adaptation 🔍</span>
        </p>
      </td>
    </tr>

    <tr style="height: 30pt;">
      <td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Localization tools and automation ✓</span>
        </p>
      </td>
      <td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Legal compliance and documentation ✓</span>
        </p>
      </td>
    </tr>

    <tr style="height: 30pt;">
      <td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Content delivery infrastructure (CDN) ✓</span>
        </p>
      </td>
      <td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Market research and validation 🔍</span>
        </p>
      </td>
    </tr>

    <tr style="height: 30pt;">
      <td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Project management ⚠️</span>
        </p>
      </td>
      <td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Team training and coordination ⚠️</span>
        </p>
      </td>
    </tr>

    <tr style="height: 30pt;">
      <td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Quality assurance and testing 🔍</span>
        </p>
      </td>
      <td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Community building and engagement ⚠️</span>
        </p>
      </td>
    </tr>

    <tr style="height: 30pt;">
      <td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Visual elements adaptation 🔍</span>
        </p>
      </td>
      <td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Sales operations in new languages 🔍</span>
        </p>
      </td>
    </tr>

    <tr style="height: 30pt;">
      <td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Technical stack adjustments for internationalization ✓</span>
        </p>
      </td>
      <td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;">
        <p dir="ltr" style="line-height: 1.2; text-align: center; margin: 0;">
          <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; white-space: pre-wrap;">Local partnerships and distribution ⚠️</span>
        </p>
      </td>
    </tr>
  </tbody>
</table>
<!--kg-card-end: html--><blockquote>💶 If you want to learn more about localization-specific costs, check out <a href="https://localazy.com/blog/localization-101-best-practices-to-allocate-a-budget-for-localization-whether-its-big-or-small">this article on budget allocation</a></blockquote><h2 id="the-revenue-what-comes-back-localization-benefits">💰 The revenue: What comes back (localization benefits) <a class="markdownit-header-anchor" href="#the-revenue-what-comes-back-localization-benefits">🔗</a></h2><p>A restaurant is not an online socks store. They don’t just sell different things — they use different metrics to track their success. The same should apply to localization ROI measurement.</p><p>Some businesses focus purely on fiscal metrics such as revenue, costs, and profit margins. Others, like non-profits, measure their impact through non-monetary indicators such as the number of people reached and engaged. <strong>Most organizations track both types of benefits</strong>, though they may prioritize one over the other.</p><p>Here’s how Tomas’s team at Digismoothie measured their localization results:</p><blockquote><em>“Benefits were approximately 25% increase in organic traffic, which we monetize via app installations and Shopify referrals”</em></blockquote><p>In the table below, I've marked each metric with ✓ if it's easy to track directly, 🔍 if it requires some analysis but is measurable with proper systems, and ⚠️ if it's complex to track and requires multiple data points and interpretation.</p><!--kg-card-begin: html--><table style="border: medium; border-collapse: collapse;"><colgroup><col width="269"><col width="355"></colgroup><tbody><tr style="height: 28.25pt;"><td style="vertical-align: bottom; padding: 5pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Fiscal metrics ($)</span></p></td><td style="vertical-align: bottom; padding: 5pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Non-fiscal metrics</span></p></td></tr><tr style="height: 30pt;"><td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Sales in new languages ✓</span></p></td><td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Daily active users by language ✓</span></p></td></tr><tr style="height: 30pt;"><td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Premium pricing acceptance ✓</span></p></td><td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Session duration per language ✓</span></p></td></tr><tr style="height: 30pt;"><td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">In-app advertising revenue ✓</span></p></td><td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Organic traffic by language ✓</span></p></td></tr><tr style="height: 30pt;"><td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Campaign conversion rates ✓</span></p></td><td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Social media engagement by language ✓</span></p></td></tr><tr style="height: 30pt;"><td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Reduced support tickets ✓</span></p></td><td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Campaign reach by language ✓</span></p></td></tr><tr style="height: 30pt;"><td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Partner retention rates 🔍</span></p></td><td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Hashtag usage by market ✓</span></p></td></tr><tr style="height: 30pt;"><td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Word-of-mouth sales ⚠️</span></p></td><td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Follower growth by language 🔍</span></p></td></tr><tr style="height: 30pt;"><td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Market share growth 🔍</span></p></td><td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Share of voice in local media 🔍</span></p></td></tr><tr style="height: 30pt;"><td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Customer lifetime value ⚠️</span></p></td><td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Brand sentiment by market ⚠️</span></p></td></tr><tr style="height: 29.25pt;"><td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Campaign ROI 🔍</span></p></td><td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cultural relevance scores ⚠️</span></p></td></tr><tr style="height: 29.25pt;"><td style="vertical-align: middle; padding: 6pt 10pt 6pt 0pt; overflow: hidden; overflow-wrap: break-word;"><br></td><td style="vertical-align: middle; padding: 6pt 0pt 6pt 10pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; text-align: center; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">User-generated content volume ✓</span></p></td></tr></tbody></table><!--kg-card-end: html--><p>Of course, this list isn’t exhaustive or universally applicable. I’m not an expert in every area, but <strong>it will give you a good start</strong> in understanding localization ROI.</p><p>Let’s see how this plays out in real life across four business scenarios.</p><h3 id="scenario-1-a-b2b-website">Scenario 1: A B2B website <a class="markdownit-header-anchor" href="#scenario-1-a-b2b-website">🔗</a></h3><p>🏢 What does a manufacturer of drywall systems, insulating panels, and concrete paving need a website for? </p><p>You don’t buy such products in two clicks. This segment relies on direct B2B contacts, loan applications, and tenders. So, we are dealing with a long decision-making journey whose different stages are represented by different people.</p><p>Let’s say an international real estate development company applies for a loan. A Swiss-French bank clerk checks the developer’s suppliers, which leads her to the manufacturer’s website. If it strikes a chord with her, the clerk will move the application to the next stage.</p><p>What can the manufacturer do to boost its chances? <strong>Localize its website in French</strong>.</p><p>In his book “Pre-Suasion,” Professor Robert Cialdini refers to the Taliban releasing South Korean hostages <a href="https://www.influenceatwork.com/great-pre-suasion-moments-history-de-escalate-situations-persuasion/">as soon as a Pushtun-speaking negotiator</a> was provided. According to the author, <a href="https://www.youtube.com/watch?v=HctZg2aOPMw">the persuasive power of feelings like affinity, unity, and liking runs so deep in us</a>, even cold-blooded terrorists aren’t immune. And the native language is at the core of it.</p><p>Besides, this manufacturer’s competitors could feature 100% identical content on their websites, but none in French. <strong>The clerk will likely favor the one that offers content in their mother tongue</strong>. Irrational? Yes, but so what? Dan Kennedy, a copywriter and business consultant, claims “trust is irrational” and “people trust for all the wrong reasons.”</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">💰</div><div class="kg-callout-text"><strong>INVESTMENT:</strong> The company benefits from purely investing in website translation. No advertising in new markets or adjusting the business model is implied.</div></div><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">📈</div><div class="kg-callout-text"><strong>OUTCOME:</strong> Localization ROI tracking is problematic. We'll never know why the loan was or wasn’t approved. For instance, that clerk might move the application further, but the background checks on the real estate developer could find some red flags.</div></div><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">👨‍⚖️</div><div class="kg-callout-text"><strong>DECISION:</strong> Should you <strong>invest in website translation</strong>? If you believe in giving your best as a member of a trusted team, regardless of the things out of your control, then you probably should.</div></div><h3 id="scenario-2-a-not-for-profit-platform">Scenario 2: A not-for-profit platform <a class="markdownit-header-anchor" href="#scenario-2-a-not-for-profit-platform">🔗</a></h3><p>🤝 If your investor is the US government, your localization success might be defined by units other than Franklins and Jacksons.</p><p>The San Francisco Bay Area is home to many Latin American immigrants still learning English and looking for a job. A local government-funded organization helping jobseekers develop their professional skills promotes its initiatives in English and Spanish.</p><p>The organization has an informational website with a member platform that helps match job seekers with employers. But it’s all in English, so <strong>localizing these resources in Spanish would be a natural next step</strong>.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">💰</div><div class="kg-callout-text"><strong>INVESTMENT:</strong> You already invest in creating bilingual leaflets and brochures and maybe even run ads in Spanish. So, no additional advertising costs — just pure translation needed.</div></div><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">📈</div><div class="kg-callout-text"><strong>OUTCOME:</strong> You can confidently measure the impact of localization. Track how people interact with your Spanish content and how many Latin American immigrants attend your events.</div></div><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">👨‍⚖️</div><div class="kg-callout-text"><strong>DECISION:</strong> Set <strong>realistic KPIs</strong> based on legacy data and see if it’s worth it.</div></div><h3 id="scenario-3-a-b2c-service-platform">Scenario 3: A B2C service platform <a class="markdownit-header-anchor" href="#scenario-3-a-b2c-service-platform">🔗</a></h3><p>⚖️  An Austrian startup offers a platform where people and businesses can get their legal documents checked by experts.</p><p>The current platform supports one language and matches clients with lawyers in Austria. But <strong>many immigrants don’t know German well enough</strong> to understand the intricacies of local laws. And wouldn’t we all benefit from a similar service, wherever we live and whatever our mother tongue?</p><p>The startup has two directions to expand through languages: inwards and outwards. Let’s consider the former scenario first.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">💰</div><div class="kg-callout-text"><strong>INVESTMENT:</strong> To reach out to migrant demographics in Austria, the startup will need to localize its platform to English and a few other languages. But that alone wouldn't do the trick. They would also need to automate the translation of chats between lawyers and clients and advertise in new languages.</div></div><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">📈</div><div class="kg-callout-text"><strong>OUTCOME:</strong> How do we go about calculating the ROI of this localization strategy, then? If you think we can simply take the amount paid through orders in new languages and deduct translation and advertising, stop right there.</div></div><p>When you use a service in a familiar language, things are easier and faster, which makes you happy. You might then <strong>refer others</strong> and <strong>accept potential price hikes</strong>. You will also make fewer mistakes and require less support, which <strong>saves the company support costs</strong>. A whole pack of benefits!</p><p>Lawyers will also appreciate having more clients through fast and easy service. This will <strong>save you recruitment and onboarding costs</strong>.</p><p>The advertising budget will change over time as early efforts generate word of mouth. As a migrant myself, I can assure you it spreads fast. We won’t be able to precisely measure the impact of advertising later, as you can’t isolate it from <strong>word of mouth</strong>.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">👨‍⚖️</div><div class="kg-callout-text"><strong>DECISION:</strong> Proceed iteratively. You will need to keep in mind localization ROI <strong>factors beyond our control,</strong> like seasonality, community sentiment, political shifts, regulatory changes, and more.</div></div><h3 id="scenario-4-an-entertainment-app">Scenario 4: An entertainment app <a class="markdownit-header-anchor" href="#scenario-4-an-entertainment-app">🔗</a></h3><p>📱 With mobile apps, we can track localization effects across transparent monetization metrics.</p><p>Let’s say we have a crypto trading simulator app with an English interface. We make money through in-app ads and paid gamification features.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">💰</div><div class="kg-callout-text"><strong>INVESTMENT:</strong> If we localize the app in multiple languages, more people will find it in app stores. But to drive in enough users to analyze, we will still need to invest in advertising. We will also need to provide support in the new languages and ensure the app won’t upset regulators in our target markets.</div></div><p>There are also hidden costs like <strong>currency conversion fees</strong>,<strong> tier upgrades,</strong> and <strong><a href="https://localazy.com/dictionary/qa-quality-assurance">QA testing</a></strong> for each language.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">👨‍⚖️</div><div class="kg-callout-text"><strong>OUTCOME / DECISION:</strong> Although we can’t single out the localization value, we can confidently measure the return on the compound investment. <strong>Every transaction made in a particular language version</strong> adds to the revenue generated from the investment.</div></div><h2 id="where-to-start-minimal-viable-localization-mvl">🛠️ Where to start: Minimal Viable Localization (MVL) <a class="markdownit-header-anchor" href="#where-to-start-minimal-viable-localization-mvl">🔗</a></h2><p>To decide whether to localize or not, we need to make a forecast. I spent countless hours creating a comprehensive cheatsheet for quantifying the ROI of localization projects, but ended up with something else.</p><p>Demographic expansion is like a startup. <strong>With so many unknowns, why not use the Lean approach?</strong></p><p>We can create a <a href="https://localazy.com/dictionary/minimal-viable-localization"><strong>Minimal Viable Localization (MVL)</strong></a> strategy (just enough translation to let new demographics get a grasp of the product) and run <strong>a three-month proof of concept (POC) </strong>to test its potential. Based on these results, we will decide whether to invest in full demographic expansion. 🕵</p><p>As you follow me along, try to consider how you can adjust this framework for your business and target demographic.</p><h3 id="1-calculate-the-full-expansion-cost">1. Calculate the full expansion cost <a class="markdownit-header-anchor" href="#1-calculate-the-full-expansion-cost">🔗</a></h3><p>We can start by calculating how much it would cost us to go all-in first to target a particular demographic. This includes:</p><h4 id="%F0%9F%A7%BE-one-time-investments">🧾 One-time investments</h4><ul><li>Translation of all content</li><li>Technical implementation</li><li>Analytics setup for a new language</li><li>Initial QA (testing)</li><li>Minimal legal / compliance costs</li></ul><h4 id="%F0%9F%93%8A-costs-based-on-historic-data">📊 Costs based on historic data</h4><ul><li>Advertising and marketing spend per language to get traction</li><li>Customer support capacity</li><li>Operations staff, if needed</li></ul><h4 id="%F0%9F%92%A1-potential-cost-reductions">💡 Potential cost reductions</h4><ul><li>Support efficiency through better understanding</li><li>Marketing efficiency through word-of-mouth</li><li>Shared technical infrastructure</li></ul><p>After quantifying the total cost, you might find out you can afford complete localization without breaking the piggy bank. Otherwise, proceed to the next step.</p><blockquote><em>🗓️ Struggling to make sense of these numbers? </em><a href="https://localazy.com/book-demo"><em>Book a free consultation</em></a><em> with a localization expert</em></blockquote><h3 id="2-calculate-test-investment">2. Calculate test investment <a class="markdownit-header-anchor" href="#2-calculate-test-investment">🔗</a></h3><h4 id="%F0%9F%8E%AF-using-early-kpis">🎯 Using early KPIs</h4><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong>Test Advertising &amp; Marketing Budget = Early Growth-Phase CPA* × Number of Test Users Needed</strong></div></div><p><em>* <a href="https://theonlineadvertisingguide.com/ad-calculators/cpa-calculator/">CPA</a> stands for cost per acquisition, or how much it costs you to acquire a new user or customer. In this context, I suggest forecasting based on the CPA recorded during your first successful marketing and advertising campaign in the current language.</em></p><blockquote><strong>Example: </strong>$1 per user × 1,000 users = $1,000 test advertising &amp; marketing budget</blockquote><h4 id="%F0%9F%94%A4-minimal-viable-localization-mvl">🔤 Minimal Viable Localization (MVL)</h4><ul><li>Homepage (consider adding important details from other pages)</li><li>Contact / inquiry forms</li><li>Essential UI elements (navigation menu items, buttons, error messages, success confirmation, etc.)</li></ul><h4 id="%F0%9F%A7%AD-monitoring-setup">🧭 Monitoring setup</h4><ul><li>Language-specific analytics (e.g., engagement within a particular language interface)</li><li>Conversion tracking</li><li>Support ticket tracking</li></ul><h3 id="3-three-month-test-structure">3. Three-month test structure <a class="markdownit-header-anchor" href="#3-three-month-test-structure">🔗</a></h3><p>Once this is done, a simple way to test the ROI of localization is to run a three-month experiment that gradually reduces marketing spend. This structure shows whether your product can sustain growth once the initial push is over.</p><!--kg-card-begin: html--><table style="width:100%; border-collapse: collapse;">
  <thead>
    <tr>
      <th style="border:1px solid #ddd; padding:8px;">Month</th>
      <th style="border:1px solid #ddd; padding:8px;">Actions</th>
      <th style="border:1px solid #ddd; padding:8px;">Budget</th>
      <th style="border:1px solid #ddd; padding:8px;">Key metrics to track</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="border:1px solid #ddd; padding:8px;">1</td>
      <td style="border:1px solid #ddd; padding:8px;">Deploy your MVL</td>
      <td style="border:1px solid #ddd; padding:8px;">100% of test marketing budget</td>
      <td style="border:1px solid #ddd; padding:8px;">
        • Actual cost per acquisition<br>
        • Conversion rates<br>
        • Support needs
      </td>
    </tr>
    <tr>
      <td style="border:1px solid #ddd; padding:8px;">2</td>
      <td style="border:1px solid #ddd; padding:8px;">Continue test phase</td>
      <td style="border:1px solid #ddd; padding:8px;">50% of test marketing budget</td>
      <td style="border:1px solid #ddd; padding:8px;">
        • Organic growth<br>
        • Word-of-mouth effects<br>
        • Support ticket trends
      </td>
    </tr>
    <tr>
      <td style="border:1px solid #ddd; padding:8px;">3</td>
      <td style="border:1px solid #ddd; padding:8px;">Observation only (no paid marketing)</td>
      <td style="border:1px solid #ddd; padding:8px;">0% (no spend)</td>
      <td style="border:1px solid #ddd; padding:8px;">
        • Sustained engagement<br>
        • Organic growth rate<br>
        • Support needs' stabilization
      </td>
    </tr>
  </tbody>
</table>
<!--kg-card-end: html--><h3 id="4-create-a-forecast">4. Create a forecast <a class="markdownit-header-anchor" href="#4-create-a-forecast">🔗</a></h3><p>Now we can project:</p><ol><li><strong>Time to cover one-time costs</strong> = One-time costs ÷ Monthly net profit.</li><li><strong>Monthly net profit</strong>, which<strong> </strong>can be calculated using these formulas:</li></ol><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">❇️</div><div class="kg-callout-text"><strong>Monthly net profit </strong>= Monthly revenue - Monthly costs</div></div><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">➕</div><div class="kg-callout-text"><strong>Monthly revenue </strong>= Total customers × Revenue per customer</div></div><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">➖</div><div class="kg-callout-text"><strong>Monthly costs </strong>= Monthly marketing spend + Other monthly expenses</div></div><p><strong><em>Example:</em></strong></p><ul><li>One-time costs: $10,000.</li><li>Actual CPA: $50.</li><li>Word-of-mouth factor: Each paid customer brings 0.2 additional customers.</li><li>Revenue per customer: $200.</li><li>Other monthly expenses (e.g., support, operations): $1,000.</li></ul><div class="kg-card kg-callout-card kg-callout-card-purple"><div class="kg-callout-emoji">🧂</div><div class="kg-callout-text"><strong>Forecast #1: Conservative</strong></div></div><ul><li>Monthly marketing: $2,000.</li><li>Paid customers = Monthly marketing spend ÷ CPA = $2,000 ÷ $50 = 40.</li><li>Word-of-mouth customers = Paid customers × Word-of-mouth factor = 40 × 0.2 = 8.</li><li>Total customers = Paid customers + Word-of-mouth customers = 40 + 8 = 48.</li><li>Monthly revenue = Total customers × Revenue per customer = 48 × $200 = $9,600.</li><li>Monthly costs = Monthly marketing spend + Other monthly expenses = $2,000 + $1,000 = $3,000.</li><li>Monthly net profit = Monthly revenue - Monthly costs = $9,600 - $3,000 = <strong>$6,600</strong>.</li><li>Time to cover one-time costs = One-time costs ÷ Monthly net profit = $10,000 ÷ $6,600 ≈ <strong>1.52 months</strong>.</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">🌶️</div><div class="kg-callout-text"><strong>Forecast #2: Aggressive</strong></div></div><ul><li>Monthly marketing spend: $4,000.</li><li>Paid customers = $4,000 ÷ $50 = 80.</li><li>Word-of-mouth customers = 80 × 0.2 = 16.</li><li>Total customers = 80 + 16 = 96 customers.</li><li>Monthly revenue = 96 × $200 = $19,200.</li><li>Monthly costs = $4,000 (marketing) + $1,000 (other expenses) = $5,000.</li><li>Monthly net profit = $19,200 - $5,000 = <strong>$14,200</strong>.</li><li>Time to cover one-time costs = $10,000 ÷ $14,200 ≈ <strong>0.70 months</strong>.</li></ul><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">🧠</div><div class="kg-callout-text"><strong>Additional factors to consider</strong></div></div><ul><li>Seasonal variations (if test period different from original growth phase)</li><li>Market-specific events</li><li>Competition in a new language market</li><li>Infrastructure sharing benefits</li><li>Culture-related localization ROI challenges</li></ul><blockquote>➡️ Yes: localization culture plays a role in costs, too. Some tips to enhance it <a href="https://localazy.com/blog/7-ways-to-make-your-company-more-localization-friendly/">here</a></blockquote><h3 id="5-decision-framework">5. Decision framework <a class="markdownit-header-anchor" href="#5-decision-framework">🔗</a></h3><p>Scale your localization if test results show:</p><h4 id="%F0%9F%91%80-market-shows-viability">👀 Market shows viability</h4><ul><li>Actual CPA ≤ 120% of original growth-phase CPA.</li><li>Conversion rate ≥ 80% of original growth-phase rate.</li></ul><h4 id="%F0%9F%92%B9-you-can-achieve-the-desired-roi-period-through-available-marketing-spend-scenarios">💹 You can achieve the desired ROI period through available marketing spend scenarios</h4><p><strong>Conservative forecast (lower monthly spend):</strong></p><ul><li>Longer time to ROI but lower risk.</li><li>Must still hit ROI ≤ 12 months.</li></ul><p><strong>Aggressive forecast (higher monthly spend):</strong></p><ul><li>Faster time to ROI but requires more resources.</li><li>You must have enough budget.</li></ul><h4 id="%F0%9F%A7%91%E2%80%8D%F0%9F%92%BB-support-costs-align-with-expectations-due-to-shared-infrastructure">🧑‍💻 Support costs align with expectations (due to shared infrastructure)</h4><p>This framework acknowledges that you partially control the ROI period through marketing spend decisions, rather than treating it as a fixed threshold. </p><blockquote>🎙️ How accurate are localization metrics? Listen to our discussion with <a href="https://www.linkedin.com/in/kevinodirl/">Kevin O’Donnell</a> on the topic <a href="https://localazy.com/blog/do-localization-metrics-reflect-real-value-bridging-the-gap-s02-ep07">here</a></blockquote><h3 id="6-scaling-plan">6. Scaling plan <a class="markdownit-header-anchor" href="#6-scaling-plan">🔗</a></h3><p>If the test is successful:</p><h4 id="%F0%9F%9F%A1-months-4-5-complete-localization">🟡 Months 4-5: Complete localization</h4><ul><li>Translate remaining content</li><li>Implement full technical requirements</li><li>Set up comprehensive analytics</li><li>Extend support infrastructure</li></ul><h4 id="%F0%9F%94%B5-month-6-full-launch">🔵 Month 6: Full launch</h4><ul><li>Deploy complete language version</li><li>Choose and implement the selected marketing spend forecast (conservative or aggressive)</li><li>Start collecting comprehensive metrics</li></ul><h4 id="%F0%9F%9F%A0-months-7-9-monitor-and-optimize">🟠 Months 7-9: Monitor and optimize</h4><ul><li>Track actual ROI against projected forecast</li><li>Control costs and readjust marketing spend if needed</li><li>Monitor support needs</li><li>Document learnings for future language launches</li><li>Learn about strategies for maximizing your localization ROI</li></ul><h4 id="%F0%9F%9F%A2-month-10-consider-the-next-language-based-on">🟢 Month 10+: Consider the next language based on...</h4><ul><li>Actual vs. projected ROI in first language</li><li>Marketing spend efficiency</li><li>Resource utilization</li><li>Next market opportunity size</li></ul><h2 id="continuous-localization-roi-analysis">🔄 Continuous localization ROI analysis <a class="markdownit-header-anchor" href="#continuous-localization-roi-analysis">🔗</a></h2><p>You won’t be able to separate some of the localization effects from unrelated ones. For instance, you may be improving your customer support technology at the same time, and both these initiatives will help cut support tickets. </p><p>With so many unknowns and variables, <strong>is it even possible to track the ROI of localization continuously</strong>? </p><p>Let’s try the following framework based on Tables 1 and 2:</p><h3 id="start-with-what-you-can-track">Start with what you can track <a class="markdownit-header-anchor" href="#start-with-what-you-can-track">🔗</a></h3><p>Focus first on the ✓ metrics below for immediate, reliable feedback. These are <strong>your early warning system for what's working or not</strong>.</p><h3 id="chain-localization-metrics">Chain localization metrics <a class="markdownit-header-anchor" href="#chain-localization-metrics">🔗</a></h3><p>Link easy-to-track localization metrics with harder ones to understand broader patterns. Here are some examples to get you started:</p><h4 id="%F0%9F%A7%B5-support-chain">🧵 Support chain</h4><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text">Support tickets (✓) → Response time (✓) → Resolution rate (🔍) → Customer satisfaction (⚠️) → Brand loyalty (⚠️)</div></div><h4 id="%F0%9F%93%88-engagement-chain">📈 Engagement chain</h4><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text">Page visits (✓) → Time on page (✓) → Return visits (🔍) → Word-of-mouth referrals (⚠️) → Community growth (⚠️)</div></div><h4 id="%F0%9F%92%B5-revenue-chain">💵 Revenue chain</h4><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text">Campaign reach (✓) → Conversions (✓) → Repeat purchases (🔍) → Customer lifetime value (⚠️) → Market share (⚠️)</div></div><h4 id="%F0%9F%91%A5-user-growth-chain">👥 User growth chain</h4><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text">Active users (✓) → Session duration (✓) → Feature adoption (🔍) → User retention (⚠️) → Network effects (⚠️)</div></div><h4 id="%F0%9F%93%9A-content-chain">📚 Content chain</h4><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text">Content views (✓) → Engagement rate (✓) → Social shares (🔍) → User-generated content (⚠️) → Cultural relevance (⚠️)</div></div><h3 id="use-time-windows">Use time windows <a class="markdownit-header-anchor" href="#use-time-windows">🔗</a></h3><ul><li><strong>Daily/Weekly</strong>: Direct metrics (✓)</li><li><strong>Monthly</strong>: Analysis-required metrics (🔍)</li><li><strong>Quarterly</strong>: Complex metrics (⚠️)</li></ul><h3 id="context-matters">Context matters <a class="markdownit-header-anchor" href="#context-matters">🔗</a></h3><p>When reviewing metrics, always ask:</p><ul><li>What else changed during this period?</li><li>Are there seasonal factors?</li><li>Did competitors make moves?</li><li>Were there market-wide trends?</li><li>What unexpected localization challenges emerged?</li></ul><h3 id="trust-patterns-not-points">Trust patterns, not points <a class="markdownit-header-anchor" href="#trust-patterns-not-points">🔗</a></h3><p>Don't overreact to single measurements. Look for:</p><ul><li>Consistent trends over time</li><li>Correlations between metrics</li><li>Repeatable patterns</li><li>Seasonal variations</li></ul><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">💭</div><div class="kg-callout-text"><strong>Remember: </strong>The goal isn't to track everything perfectly. Aim to build enough understanding to make informed investment decisions and plan your localization strategy for ROI. These metrics can vary widely across industries and demographics.</div></div><h2 id="conclusion">🧭 Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>This is a long article — I get it. But I hope the hours I invested in research, modeling, calculating, and communicating with different people have been hours well spent. I hope you are now more enlightened about the ROI of localization than before reading it.</p><p>If you are more puzzled, I get it, too. The perspective I presented here might not be easily applicable to your situation. You might also be unsure about <strong>what languages to tackle first</strong> before you track their business impact. In that case, head over to <a href="https://localazy.com/blog/how-to-choose-the-right-languages-to-translate-to-when-expanding-globally/">this guide</a> for advice.</p><p>Anyway, if you need help figuring it out, <a href="https://localazy.com/docs/general/getting-started-with-localazy">start by using Localazy as your TMS solution</a> before tackling other steps or consulting Localazy’s experts. They won't spill the secrets of their clients over the past six years or do all the calculations for you. But <strong>you will get more reliable figures than you can ever guess</strong>, and learn how to optimize your localization efforts to maximize ROI.<br></p>]]></content:encoded>
            <author>Mick Chistopolov</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/09/localization-104-3.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The biggest localization myths I believed as a developer 10 years ago]]></title>
            <link>https://localazy.com/blog/biggest-localization-myths-i-believed-as-a-software-developer</link>
            <guid isPermaLink="false">biggest-localization-myths-i-believed-as-a-software-developer</guid>
            <pubDate>Mon, 01 Sep 2025 16:42:26 GMT</pubDate>
            <description><![CDATA[Software engineers hate reworking their functional code, but localization ends up changing their mentality. These are some of the mistakes I've made in the last decade while internationalizing my own apps, so you don't have to repeat them.]]></description>
            <content:encoded><![CDATA[<p>As software engineers, we take pride on building robust, scalable systems that can handle edge cases. Yet, when it comes to localization, <strong>even the most meticulous among us fall prey to dangerous assumptions.</strong></p><p>When I started localizing my first mobile app, I naturally started with all the texts hardcoded inside the source code. I had never assumed that my apps would be available in more languages. In fact, I didn't even count on the possibility that my apps could also become popular in Japan, Vietnam, and Korea once they were correctly localized. With time, I knew better... and this was actually the spark that ignited Localazy.</p><p>To get here, <strong>I had to fight my technical localization misconceptions the hard way: by failing </strong>and seeing how necessary they were in the first place. Most of these misconceptions didn't stem from laziness, but from a lack of knowledge. </p><p>The most common problem developers have with localization is that issues often hide in plain sight, buried under assumptions that work fine in a single-language setup. One common mistake for me were plurals: in the beggining, I just assumed that adding "(s)" at the end was enough for most cases (with a few exceptions, of course). Then I hit a wall when I discovered the six Arabic plural forms. 😅</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/AdobeStock_628671993.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/AdobeStock_628671993.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/AdobeStock_628671993.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/AdobeStock_628671993.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/AdobeStock_628671993.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>When your product starts reaching users in other countries, these quiet assumptions simply turn into loud bugs, broken layouts, or confusing experiences. The good news is that, once you're aware of them, localization becomes much easier. Yes: <strong>these problems are avoidable</strong>, so let's fight the most common misconceptions from the get-go.</p><h2 id="myth-1-utf-8-support-i18n-ready">🧑‍💻 Myth #1: UTF-8 support = i18n ready <a class="markdownit-header-anchor" href="#myth-1-utf-8-support-i18n-ready">🔗</a></h2><blockquote>"We have UTF-8 support, so we're ready for internationalization."</blockquote><p>Saying "my car has fuel" is not the same as being <em>actually</em> ready for a cross-country road trip. When you start prepping your project for internationalization, you will naturally hear about <a href="https://tonsky.me/blog/unicode/">UTF-8 encoding</a>. Among other things, it enables your code to work with Cyrillic, Arabic, and Japanese characters.</p><p>But can your rendering engine handle right-to-left text flow? Can your font display all those beautiful Thai characters without clipping? Does your text input method support IMEs for Asian languages? <strong>UTF-8 is just the beggining: don't be fooled into thinking it's enough to internationalize</strong>.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Choose RTL-friendly options and UX-centric solutions from the beggining, even if you haven't expanded to those countries yet.</div></div><h2 id="myth-2-string-extraction-works-just-fine">⛓️ Myth #2: String extraction works just fine <a class="markdownit-header-anchor" href="#myth-2-string-extraction-works-just-fine">🔗</a></h2><blockquote>"Our string extraction script will catch all translatable text."</blockquote><p>This simply isn't true. One of my biggest nightmares when I started working in the i18n of my apps was <strong>the reliance on third party services that provided bad quality, crippled localized messages</strong>. </p><p>Your regex-based string extractor might work flawlessly for nicely formatted <code>t("translate_me")</code> calls, but at some point, you will definitely bump into:</p><ul><li>⚠️ Error messages thrown from deep within your backend services</li><li>🗓️ Hardcoded dates, times, and numbers in formatting functions</li><li>🚧 Strings constructed at runtime, like <code>"Error_" + code + "_message"</code></li><li>😕 Text embedded in JS libraries or third-party components</li><li>📄 Content in PDFs or other documents you generate</li><li>😓 Placeholder text in input fields</li><li>🫠 Alt text in images, etc.</li></ul><p>These small details can be the reason why you end up with untranslated pieces of text here and there in your app or website, ultimately providing a bad experience to your users.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Use a developer-friendly TMS or localization platform to never miss a string again.</div></div><h2 id="myth-3-appending-files-is-not-a-big-deal">🗂️ Myth #3: Appending files is not a big deal <a class="markdownit-header-anchor" href="#myth-3-appending-files-is-not-a-big-deal">🔗</a></h2><blockquote>"We can just append translation files as we add features."</blockquote><p>That sounds fine at first, until six months pass and you've shipped 20 new features. By that point, your translation files have likely become a mess:</p><ul><li>You have old keys still hanging around for features that got cut weeks ago</li><li>New keys are missing entirely</li><li>And that "<code>user_greeting</code>" string from version 1.0 is still sitting there, even though the feature got pulled three sprints back</li></ul><p>When I was <a href="https://localazy.com/blog/how-i-converted-floating-apps-to-localazy/">working on FloatingApps</a>, I used to promote certain features with a prominent banner. This approach worked well. After some time, I naturally changed the text and hyperlink to promote different ones. Easy... except I didn't realize I wasn't tracking all the changes in the text. 🤦🏻 I ended up redirecting foreign users to a completely unrelated screen in the app, confusing them and losing some of them in the process. </p><p>The lesson? When your code and translations aren’t kept in sync, things get out of hand fast. And before you know it, <strong>you’re stuck cleaning up technical debt in ten different languages</strong>, none of which you actually speak. </p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Keep track of CTA buttons and other important elements in your UI. Using a platform like Localazy, with <a href="https://localazy.com/features/releases/">version control</a> and <a href="https://localazy.com/features/duplicity-linking/">duplicate linking tools</a>, can definitely help.</div></div><h2 id="myth-4-plurals-are-just-a-line-of-code">🤹‍♂️ Myth #4: Plurals are just a line of code <a class="markdownit-header-anchor" href="#myth-4-plurals-are-just-a-line-of-code">🔗</a></h2><blockquote>"Pluralization can be handled with simple if-else logic."</blockquote><pre><code>if (count === 1) {
  return `${count} item`;
} else {
  return `${count} items`;
}</code></pre><p>This works beautifully in English. Then you add Polish, which has <strong>four </strong>different plural forms depending on the count. Or Arabic, with <strong>six </strong>forms. Suddenly, your simple if-else becomes a monstrous switch statement that breaks every time you add a language.</p><p><a href="https://localazy.com/dictionary/pluralization">Pluralization</a> is one of the most common issues developers run into when localizing their software. <strong>The <a href="https://unicode-org.github.io/icu/userguide/format_parse/messages/">ICU Message Format</a> exists for a reason</strong>, and that reason is that pluralization rules are a linguistic nightmare. Therefore, you need to think about how to handle plurals from the start. It's not a light detail.  </p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Educate yourself on pluralization from the beggining. Some tips <a href="https://localazy.com/blog/pluralization-in-software-localization-beginners-guide">on this guide</a> and <a href="https://localazy.com/blog/beyond-interpolation-multiple-plurals-genders-and-building-lists">here</a>.</div></div><h2 id="myth-5-database-schemas-are-universal">💬 Myth #5: Database schemas are universal <a class="markdownit-header-anchor" href="#myth-5-database-schemas-are-universal">🔗</a></h2><blockquote>"Our database schema works fine for all languages."</blockquote><p>It might work for now, but things get tricky once you start supporting other languages and regions. That <code>varchar(50)</code> field might be just enough for "<em>First Name</em>" in English, but it can fall short fast when you try to fit names like "<em>María del Rosario</em>" or "<em>Panupong Chatchavalvanich</em>" into that space. Some languages use longer words or include multiple parts in names, and<strong> if your fields aren’t flexible, you’ll start losing data or breaking layouts</strong>.</p><p>Then, there’s the structure of the schema itself. If you've locked users into separate <code>first_name</code> and <code>last_name</code> fields, you're already limiting people who don’t follow that pattern. Some cultures put the family name first. Others don’t use family names at all. Some people go by a single name. And when your system says “<em>First name is required</em>,” you're telling those users they don’t fit.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/04/AdobeStock_707716604.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1437" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/AdobeStock_707716604.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/AdobeStock_707716604.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/04/AdobeStock_707716604.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/04/AdobeStock_707716604.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>If this sounds like a minor detail, just <strong>imagine someone mispells your name repeatedly</strong>. You're not gonna like it, and the same goes for certain cultural details. What works fine for one language or culture might quietly exclude a lot of others. So, it's not just about accommodating text but rather about respecting real people and how they identify themselves. Remember that localization should serve user experience, not break it.  </p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Be as flexible as possible with your data input options.</div></div><h2 id="myth-6-sorting-systems-are-universal">📋 Myth #6: Sorting systems are universal <a class="markdownit-header-anchor" href="#myth-6-sorting-systems-are-universal">🔗</a></h2><blockquote>"We'll sort names alphabetically in all languages."</blockquote><p>Sorting seems trivial until you realize that:</p><ul><li>🇩🇪 German treats 'ä' as 'ae' for sorting</li><li>🇸🇪 Swedish places 'å' at the end of the alphabet</li><li>🇯🇵 Japanese can be sorted by multiple different readings</li><li>🇨🇳 Chinese can be ordered by stroke count, radical, or pronunciation</li></ul><p>So, <strong>a simple string comparison function can break your user directory </strong>for half of your international users. For example: </p><pre><code class="language-javascript">const names = ['Åke', 'Anders', 'Äsa'];
console.log(names.sort());
// Might sort incorrectly for Swedish</code></pre><p>This hit me hard when I was working on my first language selector. There were 35 supported languages in my app out of which <strong>15 didn't even use the Latin alphabet</strong>. Suddendly, the meaning of sorting alphabetically completely changed for me.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Use locale-aware sorting instead (see example down below).</div></div><pre><code class="language-javascript">names.sort((a, b) =&gt; a.localeCompare(b, 'sv-SE'));</code></pre><h2 id="myth-7-date-pickers-are-universal">🗓️ Myth #7: Date pickers are universal <a class="markdownit-header-anchor" href="#myth-7-date-pickers-are-universal">🔗</a></h2><blockquote>"Our date picker works in any language."</blockquote><p>You built a beautiful date picker that displays MM/DD/YYYY, because that's how dates generally work for you. <a href="https://localazy.com/blog/number-localization-guide-currencies-dates-measurement-units/#localizing-date-formats">But after a bit of digging into the topic</a>, you realize that other parts of the world use DD/MM/YYYY, or YYYY/MM/DD.</p><p>And what about calendars? Your user in Iran might be using the <a href="https://hub.localazy.com/en/calendars/persian-persian-calendar">Persian calendar</a>, where the year is currently 1403, not 2025. Saudi Arabia adopts the <a href="https://hub.localazy.com/en/calendars/islamic-islamic-calendar">Islamic calendar</a>, and Thailand prefers its own <a href="https://hub.localazy.com/en/calendars/buddhist-buddhist-calendar">Buddhist calendar</a> that's 543 years ahead of the <a href="https://hub.localazy.com/en/calendars/gregorian-gregorian-calendar">Gregorian one</a>.</p><p>When I was building one of my apps, I included one mini calendar app for one of them <strong>and received plenty of requests to add more types</strong>. I never did because it wasn't a core product feature, but I certainly lost a lot of potential users. For them, this wasn't a question of convenience: it was a critical functionality. And even though you might not be expected to localize your product to such a granular level, if you want it to feel native to the users, these details make the difference and make them stick with you in the long run.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Study your userbase and consider having multiple date and calendar options.</div></div><h2 id="myth-8-regex-are-universal">🗣️ Myth #8: Regex are universal <a class="markdownit-header-anchor" href="#myth-8-regex-are-universal">🔗</a></h2><blockquote>"Regular expressions work the same in all languages."</blockquote><p>Not quite. For instance, writing a regex to validate names (maybe something like <code>/^[A-Za-z\s'-]+$/</code> ) works fine for English names. But the moment someone enters a name in Chinese, Japanese, Korean, Arabic, Hebrew, Russian, Greek, or Thai, it gets rejected. Not because it’s wrong, but because <strong>your pattern didn’t expect anything outside the A–Z range</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/04/AdobeStock_444714742-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/AdobeStock_444714742-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/AdobeStock_444714742-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/04/AdobeStock_444714742-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/04/AdobeStock_444714742-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>And that’s just the start. Case-insensitive matching? <strong>It’s not as simple as flipping letters between upper and lowercase.</strong> In Turkish, for example, the lowercase <strong>‘i’</strong> becomes <strong>‘İ’</strong> (with a dot) when capitalized. That breaks the logic built around assumptions from English or similar languages. What seems like a quick fix often ends up being a quiet blocker for users who don’t speak the same language your regex was written for.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Using <a href="https://developers.redhat.com/articles/2023/04/06/tips-handling-rational-ranges-in-regular-expressions#">regex</a> is not a bad solution. Just make sure you heavily tailor it depending on the languages you're localizing for.</div></div><h2 id="myth-9-international-seo-translating-urls">🔗 Myth #9: International SEO = Translating URLs <a class="markdownit-header-anchor" href="#myth-9-international-seo-translating-urls">🔗</a></h2><blockquote>"Let's translate our URLs for SEO and be done with it."</blockquote><p>Translating your URLs to match each language for better visibility in local search sounds like a smart move at first. <a href="https://localazy.com/blog/going-global-with-multilingual-seo?srsltid=AfmBOoqiL6tdcMfT4XZoT31POVX1Gvn9LeehMwD8xlguMhgwh460pOZv">Localized URLs</a> can improve SEO after all. But once you go down that path, you're taking on more than just a few slugs. </p><pre><code>/en/products/shoes
/fr/produits/chaussures
/de/produkte/schuhe</code></pre><p>On the example above, you'll have to manage separate URL structures for each language, which means that:</p><ul><li> <strong>Your routing logic gets more complex</strong>. A small change to your site structure (like renaming a category or moving a page) suddenly turns into a task that has to be handled in every single language. If one gets missed, you risk broken links, SEO issues, and generally an inconvenient experience for users.</li><li><strong>Tracking user behavior becomes more complicated</strong>. You’re no longer looking at a single analytics path like <code>/pricing</code>; now it’s <code>/preise</code>, <code>/tarifs</code>, <code>/цены</code>, and so on. Comparing performance or running clean reports across markets gets messy fast.</li></ul><p>It’s not that translated URLs are a bad idea. They can work well when planned carefully — they probably bring you cheaper (and definitely more qualified) traffic since the English search market is oversaturated. But it’s more than a translation task: it’s a content, technical, and operational challenge rolled into one.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Plan ahead and make sure that the ROI of going truly international in multilingual SEO is worth it for you.</div></div><h2 id="myth-10-iso-codes-are-just-identifiers">🏷️ Myth #10: ISO codes are just identifiers <a class="markdownit-header-anchor" href="#myth-10-iso-codes-are-just-identifiers">🔗</a></h2><blockquote>"Language codes are simple standards and don't impact product design."</blockquote><p>ISO language codes are commonly used in localization to standardize the languages, scripts, and dialects you are implementing. This sounds easy at first, until you realize there are multiple sets of language identifiers within <strong>the <a href="https://www.iso.org/standard/74575.html">ISO 639</a> standard</strong>, like <a href="https://en.wikipedia.org/wiki/ISO_639-1">ISO 639-1</a> (two-letter codes for the world's major languages), <a href="https://en.wikipedia.org/wiki/ISO_639-2">ISO 639-2</a> (three-letter codes), or <a href="https://en.wikipedia.org/wiki/ISO_639-5">ISO 639-5</a> (three-letter codes again, but for language families).</p><p>Plus, there are <strong>country variants</strong> (<em>en-US</em> vs. <em>en-GB</em>), <strong>script variants</strong> (<em>zh-Hans</em> vs. <em>zh-Hant</em>), and <strong>regional dialects</strong>. And don't forget the inconsistent formats: sometimes hyphenated (<em>en-US</em>), sometimes with underscores (<em>en_US</em>), and sometimes with case sensitivity issues.</p><p>That simple language dropdown just became a lot more complicated in your code. </p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Before adding the "en", "cs", or "de" locale code, dive a little deeper and design your system accordingly. You don't need to add all languages: just be sure that "zh-Hant-TW" will be supported once you need it.</div></div><h2 id="myth-11-utc-solves-time-zone-differences">🕢 Myth #11: UTC solves time zone differences <a class="markdownit-header-anchor" href="#myth-11-utc-solves-time-zone-differences">🔗</a></h2><blockquote>"We can handle time zones by storing UTC timestamps."</blockquote><p>That’s a good start, and it solves part of the problem. <strong>Storing everything in UTC avoids a lot of backend headaches </strong>(no ambiguous offsets, no DST surprises in your database). But if you're building for real users in different parts of the world, UTC by itself <a href="http://www.creativedeletion.com/2015/01/28/falsehoods-programmers-date-time-zones.html">doesn’t get you all the way there</a>.</p><p>People don’t live in UTC. <strong>They live in local time zones</strong>, follow different conventions, and expect timestamps to make sense in their context. Over time, you’ll need to think about time format preferences, daylight saving time changes, <a href="https://codeblog.jonskeet.uk/2019/03/27/storing-utc-is-not-a-silver-bullet/">modifications in time zones</a>, and natural time expressions ("3 hours ago" might work fine in English, but the grammar gets trickier in other languages due to plural forms, gender, and syntax variations).</p><p>Using UTC solves the storage part. Displaying time in a way that feels natural across cultures is a different problem, and one that takes a bit more thought.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Many operating systems and frameworks already come with formatting support not only for time, but also units, currencies and more. Don't reinvent the wheel and use these built-in features or reliable libraries. Plus, don't forget to let the user choose, since they can be expats living in a country where the preferences are different from what they are used to.</div></div><h2 id="myth-12-translating-the-text-is-what-matters">✒️ Myth #12: Translating the text is what matters <a class="markdownit-header-anchor" href="#myth-12-translating-the-text-is-what-matters">🔗</a></h2><blockquote>"We localized the text, so all our charts and graphs should work."</blockquote><p>Text translation is <a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go/">just one part of the story</a>. When it comes to visual content (like charts, graphs, and infographics), there are deeper layers to think about. Data is shaped by design choices, cultural context, and formatting standards that don't always carry over between languages and regions. Some examples: </p><ul><li><strong>🧧 Color meanings vary across cultures</strong>. Red might mean danger or loss in some places, while in others it represents luck, celebration, or wealth.</li><li><strong>⬅️ Reading direction influences how people interpret visuals</strong>. Flowcharts or timelines laid out <a href="https://localazy.com/dictionary/ltr">left-to-right</a> may confuse users who read <a href="https://localazy.com/dictionary/rtl">right-to-left</a>.</li><li><strong>➗ Number formatting isn’t universal</strong>. "1,000.00" might look normal in the US, but in many European countries where the comma and period are used differently, <a href="https://localazy.com/blog/number-localization-guide-currencies-dates-measurement-units#commas-and-decimals">it could be misread or cause confusion</a>. </li><li><strong>✉️ <a href="https://papersizes.io/a/">Paper sizes differ by region</a></strong>. A beautiful PDF report formatted for US Letter might get clipped or scaled down awkwardly when printed on A4.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/AdobeStock_204277165.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1186" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/AdobeStock_204277165.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/AdobeStock_204277165.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/AdobeStock_204277165.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/AdobeStock_204277165.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p><strong>Charts might feel neutral, but they’re not</strong>. When they're built with only one audience in mind, they can end up confusing or alienating others. </p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Include parameters like colors, text direction, or icons in your localization infrastructure.</div></div><h2 id="myth-13-automation-solves-most-of-the-issues">🦾 Myth #13: Automation solves most of the issues <a class="markdownit-header-anchor" href="#myth-13-automation-solves-most-of-the-issues">🔗</a></h2><blockquote>"With machine learning advances, we can automate nearly everything."</blockquote><p>It sounds easy: copy your text, paste it into a machine translation tool or LLM, and you’re done. And to be fair, modern tools are incredibly advanced. They’ve come a long way and <a href="https://localazy.com/blog/the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models/">can handle simple sentences pretty well</a>. But <a href="https://aclanthology.org/2025.tacl-1.4.pdf">challenges persist</a>: when it comes to real products with technical terms, branding, and context, things start to fall apart. </p><p>Even the best AI-powered and MT systems struggle with things like:</p><ul><li>Technical jargon specific to your product</li><li>Maintaining a consistent brand voice</li><li>Understanding context-dependent meanings</li><li>Handling newly coined terms in your interface</li><li>Preserving formatting and variables in complex strings</li></ul><p>In my experience, there's another area where MTs are failing big, and that's <strong>UI translations</strong>. App users interact constantly with these short texts with multiple meanings. As a non-native English speaker, I've come across MT translations so bad that I've simply opted to switch to English to even be able to use an app. </p><p>There's no doubt that machine translation is helpful. <strong>We see it every day at Localazy: it can speed things up and cut costs immensely</strong>, and it does for many of our clients. However, it's frequently not a full solution. To get a translation that actually makes sense to your users, you still need a human who understands your product, your tone, and how your content fits into the bigger picture.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text">Do you know you can combine machine or AI translations with human expertise at Localazy? <a href="https://localazy.com/blog/guide-localazy-translation-services">Here's how.</a></div></div><h2 id="myth-14-all-languages-can-follow-the-same-logic">💭 Myth #14: All languages can follow the same logic <a class="markdownit-header-anchor" href="#myth-14-all-languages-can-follow-the-same-logic">🔗</a></h2><blockquote>"Our code handles all edge cases now."</blockquote><p>At some point, it probably feels like you’ve covered everything. You've tested the weird inputs, added fallback logic, handled null values, and accounted for edge cases. But once you start localizing your product, <strong>a whole new layer of edge cases shows up...</strong> Ones you might not have even thought were possible, like:</p><ul><li>Languages that don't use spaces between words</li><li>Writing systems that change form based on word positions</li><li>Scripts that require different line heights and text directions</li><li>Negative design connotations for certain cultures</li><li>Regions with legal requirements for specific terminology</li></ul><p>It’s not that your code was wrong before. It just wasn’t tested for these kinds of situations. </p><p>It all sounds too distant and complicated, but you've probably already experienced it in one way or another. Most developers have already faced the classic dilemma: what to do with a button with German text overflowing from a (very short) English source... 😉</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>My tip</strong>: Adding new languages means introducing new logic, new design challenges, and <a href="https://localazy.com/blog/mythbusters-localizing-to-different-languages-is-the-same-each-time/">having to account for new expectations</a>. Don't ignore these aspects — "just translating" won't do.</div></div><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/AdobeStock_1099603749.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/AdobeStock_1099603749.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/AdobeStock_1099603749.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/AdobeStock_1099603749.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/AdobeStock_1099603749.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="when-localization-fails-theyll-call-you">📞 When localization fails, they'll call you <a class="markdownit-header-anchor" href="#when-localization-fails-theyll-call-you">🔗</a></h2><p>As software engineers, we are at the helm of the localization process. Even though we might not directly deal with translations, we're ultimately responsible for reaching the users in other languages. We need to see localization as a deep technical challenge that touches every layer of our stacks, from database design to front-end rendering. <strong>I wish I was aware of this ten years ago: it would have saved me many headaches</strong>. </p><p>The best approach is to build internationalization into your architecture as much as possible from day one. Luckily, this is not as challenging as it used to be: today's operating systems and frameworks already offer extensive support for many of these issues. <strong>Just don't take shorcuts, stick with best practices, and 90% of the work will be done</strong>. You don't have to reinvent the wheel: just optimize what works. For the rest (translating texts and retaining control over the process), you can <a href="https://localazy.com/term/software-localization" rel="noopener noreferrer nofollow">explore Localazy</a> and see how our features can help make your job easier.</p><h2 id="more-localization-myths-debunked">➡️ More localization myths, debunked <a class="markdownit-header-anchor" href="#more-localization-myths-debunked">🔗</a></h2><p>If my experience peaked your interest, perhaps you enjoy our Mythbusters series, where <a href="https://localazy.com/blog/author/dan-martin">Dan Martin</a> goes deeper on broader localization misconceptions that can hold your team back, like:</p><ul><li><a href="https://localazy.com/blog/mythbusters-start-localization-once-product-is-done">"We can tackle localization once the product is done."</a></li><li><a href="https://localazy.com/blog/mythbusters-we-use-google-translate-and-gpt-to-manage-our-localization">"ChatGPT is enough to localize."</a></li><li><a href="https://localazy.com/blog/mythbusters-we-dont-have-the-budget-for-localization">"We can't localize because we don't have the budget."</a></li></ul>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/09/Biggest-falsehoods-4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Tunisia, a model for multilingualism: Localizing
for cohabitating tongues and cultures]]></title>
            <link>https://localazy.com/blog/tunisia-a-model-for-multilingualism-localizingfor-cohabitating-tongues-and-cultures</link>
            <guid isPermaLink="false">tunisia-a-model-for-multilingualism-localizingfor-cohabitating-tongues-and-cultures</guid>
            <pubDate>Tue, 19 Aug 2025 07:32:00 GMT</pubDate>
            <description><![CDATA[Tunisian culture is a prime example of multilingualism. Arabic, French, and English cohabitate in this small 12M African country where linguistic diversity shines. What kind of business opportunities does it offer, and what can we learn about localization by looking at it?]]></description>
            <content:encoded><![CDATA[<p><a href="https://hub.localazy.com/en/regions/tn-tunisia">Tunisia</a> sits at the northern edge of Africa, bordered by Algeria, Libya, and the Mediterranean Sea. While its geography has long made it a historical crossroads, its present-day appeal lies in something more strategic: it’s <strong><a href="https://paradigmhq.org/wp-content/uploads/2024/06/Tunisia-Country-Report.pdf">a digitally active</a>, multilingual market <a href="https://datareportal.com/reports/digital-2025-tunisia">with high mobile penetration</a></strong>, strong youth engagement, and a growing SaaS and startup scene.</p><p>Multilingualism has long been part of the country's identity. It has approximately<strong> 12 million Arabic speakers</strong> (predominantly speaking the <a href="https://hub.localazy.com/en/languages/aeb-tunisian-arabic">Tunisian Arabic</a> dialect Darija), and then <strong>French, spoken by around 6.5 million people (64%)</strong>, especially in education, commerce, and administration, due to the country's colonial history. Modern Standard Arabic is used in formal contexts by nearly all Tunisians, while about <a href="https://www.academia.edu/38230198/Tunisie_berb%C3%A8re_Encyclop%C3%A9die_berb%C3%A8re">1%</a> of the population speaks Berber languages. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/10/AdobeStock_213254551.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1125" srcset="https://ghost.localazy.com/content/images/size/w600/2024/10/AdobeStock_213254551.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/10/AdobeStock_213254551.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/10/AdobeStock_213254551.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/10/AdobeStock_213254551.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>The Grand Mosque of Sousse, Tunisia.</figcaption></figure><p><strong>This mix of languages and cultures can make localization tricky</strong>, but also full of potential. Whether you're working on an app, a chatbot, or a dashboard, <a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand/#1-choosing-a-dialect">it's not enough to just translate everything into Arabic</a>: you need to choose the right language, tone, and style for each part of the user experience.</p><h2 id="a-brief-history-of-tunisia">⚔️ A brief history of Tunisia <a class="markdownit-header-anchor" href="#a-brief-history-of-tunisia">🔗</a></h2><p>Tunisia has a long history of cultural and political change. It was once home to the Carthaginian Empire, later taken over by the Romans, then ruled by groups like the Vandals, Byzantines, Berbers, Umayyads, Fatimids, Spaniards, Ottoman Turks, and eventually the French. <strong>Each of these periods left lasting influences on how people live and communicate today</strong>.</p><p>The <a href="https://en.wikipedia.org/wiki/Demographics_of_Tunisia">main ethnic groups</a> in Tunisia include:</p><ul><li>🇴🇲 Arabs</li><li>🏜️ Berbers (Amazighs)</li><li>🇪🇸 Spaniards, who fled the Inquisition after the fall of Islamic Spain (Al-Andalus)</li><li>🇹🇷 Ottoman Turks</li></ul><p>In the 1850s, <a href="https://italicsmag.com/2021/05/04/emigration-to-tunisia-from-italy/">an influx of Italian immigrants from the southern coast</a> settled in Tunisia, contributing further to the country’s cultural and linguistic composition. During the French protectorate, however, policies limiting Italian influence led to a sharp decline in the Italian-Tunisian community. As a result of these cultural layers, <strong>multilingual communication is the norm in Tunisia</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/AdobeStock_130724238.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/AdobeStock_130724238.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/AdobeStock_130724238.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/AdobeStock_130724238.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/AdobeStock_130724238.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="tunisians-bilinguals-par-excellence">🗣️ Tunisians: bilinguals par excellence <a class="markdownit-header-anchor" href="#tunisians-bilinguals-par-excellence">🔗</a></h2><p>Tunisian society balances tradition with openness.<strong> People tend to hold onto core values while being highly receptive to other cultures and languages.</strong> This is reflected in daily life, where it's common to hear multiple languages used in a single conversation, especially in urban areas.</p><p>Mornings often start in cafés, with locals gathering over breakfast and strong coffee before heading to work. In everyday speech, Tunisians <strong>switch between Arabic and French with ease</strong>. French words have become so embedded in Tunisian Arabic that many are no longer recognized as foreign.</p><p>Many words of these foreign tongues have thoroughly blended into the Tunisian dialect beyond recognition, but <strong>the official language of Tunisia is Arabic, while <a href="https://hub.localazy.com/en/languages/fr-french">French</a> is used as a second language due to colonialism</strong>. Despite the French being an Indo-European language and the Tunisian Arabic being a variant of the Arabic Semitic language, the former is so deeply rooted in Tunisians that <a href="https://d1f4u7smwbtn85.cloudfront.net/localazy.fibery.io/4f3c0fb1-964c-42b0-b05f-adc63f2a9ac1?response-content-disposition=inline%3B+filename%3D%22Hispadoc-LinguisticSituationInTunisia-2514222.pdf%22&amp;response-content-type=application%2Fpdf&amp;Expires=1755167365&amp;Key-Pair-Id=KGJPFJ6T4AGSL&amp;Signature=T1e2KZiyQVGBczsROBMITwRDoK65dnMXw3fEmT8C%7E52x0SFTJ3yjhiuLKQtljFIZfnIsTg9uEAF6s8%7ED6ldXuSvyuIPzYSh8Pkhj7ATlOccBjjywNjmoE4koHKx%7EKR31%7EkWKCGl%7E9EyVi2ynCNVfCEwOewDElPXf9l0HQbzj8Gz8x545FRGTbQIl9edfdp-WG3mbd8DLClG2YT1N5tA2ezzX5shT58VlkNJghBO9HiYfjCnd1eSlgEHxrye-apSakFjL%7EYWEz%7EIGQfY1yc2f4m6C3RsupmYJhXPPVqPDjV7hwnscL6GFfWDTp2x5EnlWJ28J1uymf7WsB6HGQRx2Aw__">mixing both has become normal</a>, a phenomenon known as <a href="https://localazy.com/dictionary/code-switching/">code-switching</a>.</p><blockquote>Some common phrases and expressions borrowed from French that have indistinguishably mixed with Arabic are <strong>“<em>موش نورمال</em> / <em>mosh normale</em>”</strong> (translated as: "This is abnormal"), and the verb <strong>“<em>يمرّش / ymarresh</em>”</strong> (naturalized from the French verb ‘<em>mettre en marche</em>’)</blockquote><p>French is widely used besides formal Arabic in both public sectors, while <strong>English is ever becoming increasingly popular in the private sector</strong>, and both are commonly spoken by people from middle, upper-middle, and high classes as well as business owners, the elite, and the literate. A blend of Tunisian Arabic and Berber languages is mostly spoken by laymen, which is what is commonly referred as Darija.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/image.png" class="kg-image" alt loading="lazy" width="606" height="193" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/image.png 600w, https://ghost.localazy.com/content/images/2024/11/image.png 606w"><figcaption>An example of Darija in written form.</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">📍</div><div class="kg-callout-text"><strong>Localization tip: </strong>When you market to Tunisian audiences in SaaS or B2B settings, use French for formal or professional content. For consumer apps or support channels, consider incorporating Darija where appropriate for greater relatability.</div></div><h2 id="the-languages-of-tunisia">🍇 The languages of Tunisia <a class="markdownit-header-anchor" href="#the-languages-of-tunisia">🔗</a></h2><p>Let's look at the main languages spoken by Tunisians in greater detail.</p><h3 id="darija-the-local-vernacular">Darija: the local vernacular <a class="markdownit-header-anchor" href="#darija-the-local-vernacular">🔗</a></h3><p>Darija (literally translated as <em>vernacular</em>) or Tunisian Arabic, is <strong>the informal variant of Arabic spoken by all Tunisians, with regional accents</strong>. While it follows Arabic grammar loosely, it is mutually intelligible with other Arab vernaculars across the Middle Eastern and North African (MENA) region, as all these dialects stem from Classical Arabic.</p><p>Tunisian Arabic is a unique, smooth vernacular that may well be considered a melting pot of languages. Over time, many <a href="https://hub.localazy.com/en/languages/it-italian">Italian</a> and <a href="https://hub.localazy.com/en/languages/tr-turkish">Turkish</a> words have become part of it through naturalization. For instance:</p><ul><li>🚶🏼‍➡️If you want to say that somebody walks swaggeringly, you say: <strong>يْدُولِش </strong>(pronounced <em>ydoolesh</em>, from the Turkish <em>dolaşmak</em>).</li><li>🧦 If you want to go to the thrift market, you ask someone to take you to the <strong>روبافيكا </strong>(from the Italian <em>roba vecchia</em>, meaning old stuff) or to the <strong>فريب</strong> (pronounced and derived from the French word <em>fripe,</em> meaning thrift market).</li></ul><h3 id="french-a-resilient-language">French: a resilient language <a class="markdownit-header-anchor" href="#french-a-resilient-language">🔗</a></h3><p>Business in Tunisia is primarily conducted in French across nearly every sector, including IT, computer science, trade, e-commerce, electronics, industrial maintenance, manufacturing, agriculture, administration, finance, and more. For this reason, <strong>it is unlikely to be replaced by English in the country in the long run</strong>. <br><br>This wide usage of the language owes to the colonial era, when every subject matter was taught in French, which in turn explains why most companies prefer it rather than Arabic. And this is where localization becomes central to reach business audiences.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/AdobeStock_767944292.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1330" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/AdobeStock_767944292.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/AdobeStock_767944292.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/AdobeStock_767944292.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/AdobeStock_767944292.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="english-a-nascent-lingua-franca">English: a nascent lingua franca <a class="markdownit-header-anchor" href="#english-a-nascent-lingua-franca">🔗</a></h3><p>Globalization, on the other hand, has heralded English as a nascent lingua franca across all countries since the 1940s. It's rapidly gained significant ground and is gradually in the slow but ever-steady and exorable process of gradually replacing others in some areas. In Tunisia, <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC10063842/">English is being taught</a> to young learners as a second foreign language,<strong> paving the way for this shift</strong>. Despite this, French has indeed gained so firm a foothold across the whole African continent that it is very likely to hold its ground for the next few decades.</p><p>In addition to these, other foreign languages as <a href="https://hub.localazy.com/en/languages/de-german">German</a> and <a href="https://hub.localazy.com/en/languages/es-spanish">Spanish</a> are also taught in schools, further adding to the multilingual nature of Tunisian society, and contributing their own loanwords to it.</p><h2 id="doing-business-in-tunisia">🧳 Doing business in Tunisia <a class="markdownit-header-anchor" href="#doing-business-in-tunisia">🔗</a></h2><p>With a forecasted economic growth <a href="https://www.worldbank.org/en/news/press-release/2025/05/14/improved-connectivity-offers-a-path-to-stronger-growth-in-tunisia">of 1.9% by 2025</a> according to the World Bank, increased liberalization signals and <a href="https://timep.org/2025/02/25/tunisias-2025-financial-gambles-taxes-loans-and-the-central-bank/">an evolving tax policy</a>, Tunisia is starting to show signs of cautious financial optimism that could open up early opportunities for international businesses, especially for companies from the EU due to physical proximity. </p><p>Although the country is still highly dependent on the service economy (particularly tourism), <strong>sectors like</strong> <strong>tech, green energy, manufacturing and infrastructure hold potential</strong>. It's also important to note that Tunisia ranks as <a href="https://acetforafrica.org/ati/country-profiles/tunisia/">one of the most highly diversified economies</a> in the African continent. Let's take a look at some of the most relevant opportunities to date.</p><h3 id="the-saas-sector-welcomes-youth">The SaaS sector welcomes youth <a class="markdownit-header-anchor" href="#the-saas-sector-welcomes-youth">🔗</a></h3><p>SaaS is a promising youth-powered sector that has been tremendously pushing its borders beyond the country's lumbering bureaucracy. Revenue in this field <a href="https://www.statista.com/outlook/tmo/public-cloud/software-as-a-service/tunisia?utm_source=chatgpt.com">is projected to grow at an annual rate of 21% up until 2030</a>, with verticals like supply chain, healthcare, and energy standing out. Cloud-based services that include outreach, medical follow-up, kids protection and monitoring, and well beyond are also promising.</p><h3 id="rich-tourism-built-on-rich-history">Rich tourism built on rich history <a class="markdownit-header-anchor" href="#rich-tourism-built-on-rich-history">🔗</a></h3><p>Tourism is still considered the backbone of the Tunisian economy, since its huge revenues have largely contributed to saving the country from lapsing into a credit crunch for years. The industry <a href="https://news-tunisia.tunisienumerique.com/over-4-3-million-tourists-in-six-months-tunisia-reports-strong-tourism-growth-in-2025/?utm_source=chatgpt.com">has been been recently experiencing a rebound</a> after the Arab Spring and the COVID hits and, although <a href="https://thearabweekly.com/tourism-rebounds-tunisia-confronts-limits-all-inclusive-model">it's still in need of a transformation to become more competitive</a>, it is the umbrella for many sectors, namely arts and crafts, retail, and specialty sweets, whose sale revenues have risen, during the recent season, nearly to a mind-boggling <a href="https://www.trade.gov/country-commercial-guides/tunisia-market-overview#:~:text=According%20to%20the%20Ministry%20of,higher%20than%202021%20(5.7%25).">70%</a>. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/03/CITY-UPON-THE-HILL.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/CITY-UPON-THE-HILL.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/CITY-UPON-THE-HILL.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/CITY-UPON-THE-HILL.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/CITY-UPON-THE-HILL.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>The coastal town of Sidi Bou Saïd captured by the author.</figcaption></figure><p>Tourism is a major driver of Tunisia’s economy, and a key reason for multilingual signage, localization of hospitality apps, and internationalization of retail platforms.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">📍</div><div class="kg-callout-text"><strong>Localization tip:</strong> For travel and tourism platforms, prioritize French and English in the UI. Opt for Darija for chatbots or customer service to increase trust and engagement.</div></div><h3 id="olive-and-dates-vital-exports-for-tunisia">Olive and dates: vital exports for Tunisia <a class="markdownit-header-anchor" href="#olive-and-dates-vital-exports-for-tunisia">🔗</a></h3><p><a href="https://oec.world/en/profile/bilateral-product/pure-olive-oil/reporter/tun">Olive oil</a> is one of Tunisia's most notable industries, with the country ranking among the world’s top producers. Dates also play an important role in Tunisia's agricultural exports: the region ranked as the third-largest global exporter of fresh and dried dates in 2023, with a value of <a href="https://oec.world/en/profile/bilateral-product/dates-freshdried/reporter/tun">$311 million</a>. Both industries often rely on multilingual packaging, export documentation, and digital marketplaces to do well.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/03/SPARKLY-BROWN-DATES.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/SPARKLY-BROWN-DATES.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/SPARKLY-BROWN-DATES.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/SPARKLY-BROWN-DATES.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/SPARKLY-BROWN-DATES.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Dates are a coveted food product from the country. Photo by Youssef Sifi.</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">📍</div><div class="kg-callout-text"><strong>Localization tip:</strong> For e-commerce or export tools in agri-business, make sure product descriptions, labels, and logistics platforms support French, Arabic, and English.</div></div><h2 id="localization-tips-for-the-tunisian-market">☀️ Localization tips for the Tunisian market <a class="markdownit-header-anchor" href="#localization-tips-for-the-tunisian-market">🔗</a></h2><p>Before bulleting the tips, let us first cross the Ts and dot the Is: <strong>localization and translation are <em>in no way</em> synonymous</strong> — translation is the mere rendering of text from one language to another, while localization is adapting your product to suit cultural expectations (more <a href="https://localazy.com/blog/localization-101-basic-concepts-a-beginner-needs-to-know/#1-translation-localization-and-transcreation">here</a>). <strong>It's important that you differentiate both and prioritize accuracy</strong>. In a region where multilingual communication is the norm, one tiny mistake could put you at stake. Imagine misinterpreting the expression “t<em>ake my hand</em>” as <em>“chop my hand off”</em>!<em> 😅</em></p><p>Here are other things you'll need to keep in mind:</p><h3 id="1-use-french-or-english-as-your-target-language">1. Use French or English as your target language <a class="markdownit-header-anchor" href="#1-use-french-or-english-as-your-target-language">🔗</a></h3><p>If you expand your operations to Tunisia, <strong>you'll 100% need to localize to at least two languages</strong>. The only risk free option is a combination of French and English, as both are highly respected in business spaces. Darija, however, could be helpful to connect with users, so don't discard it.</p><h3 id="2-balance-precision-and-conciseness">2. Balance precision and conciseness <a class="markdownit-header-anchor" href="#2-balance-precision-and-conciseness">🔗</a></h3><p>If textual elements in the UI are too long, you risk having your website/app users click away for good because of boredom. If they are too short, on the other hand, users may find them ambiguous and confounding. Keep a balance to succeed.</p><blockquote>📖 Related read: <a href="https://localazy.com/blog/6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them/">6 challenges of localizing your app to Arabic and how to solve them</a></blockquote><h3 id="3-keep-human-oversight">3. Keep human oversight <a class="markdownit-header-anchor" href="#3-keep-human-oversight">🔗</a></h3><p>With the rise of AI, businesses have been saving time and resources using LLMs and machine translation as low-cost alternatives to human translation. And while this is a valid choice, it's important to understand that <strong>you'll still need human oversight for your machine-translated products</strong> when you expand to the Tunisian market. This is especially true for languages like Arabic, where resources are more limited and meanings are even more highly dependent on context than in French or English. Take the following as an example:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/3UtJwMe5Pvu5l8Qh6NPWQKkD35PacXQ3OiwJxM4Ra804EJh0xWzZYV3WVWy-gmzKdjsXl56hnMqL309MOFclXX3NKLMbbCTYpwavEgLM2xMJurwaQ8JXCk4JsoKx7FataChTlSuEIbxkzLyzj0MkJg" class="kg-image" alt loading="lazy"></figure><p>The right translation here would be<strong> كوكا / عُلبَة لايت</strong>. Breaking this straightforward phrase into separate lines is all it took to baffle the MT engine into rendering it incorrectly. This is where professional translation comes into play and proves to be worth the deal.</p><h3 id="4-trust-in-native-translators">4. Trust in native translators <a class="markdownit-header-anchor" href="#4-trust-in-native-translators">🔗</a></h3><p>This leads us to our final tip: for complete peace of mind, hire professional translators who are speakers of the target language you want to translate your website/app into. <strong>The slightest disregard of any culture-specific sensibility will be viewed as disrespect to your potential clients</strong>. This is where native speakers are crucial, for they know best how to tackle these sensibilities with consideration and care.</p><h2 id="a-final-example-for-fun">🧮 A final example for fun <a class="markdownit-header-anchor" href="#a-final-example-for-fun">🔗</a></h2><p>Some time ago, I happened to look up how Google would translate the Arabic expression<strong> "جَبْرُ الخَوَاطِ<em>ر" / jabru ‘lkhawatir</em>"</strong> into English, which best translates as <strong>“consolation”</strong>. The result was hilarious! It was translated as “reparation of thoughts”: too literal to even be called crude translation, since "reparation" is a legal term that means compensation for damages (moral, material, and financial) and is back-translated as <strong>"جَبرُ الضَّرَر" / <em>jabru ‘ddharar</em>"</strong>.</p><p>All this to say that machine translation can help speed things up, <a href="https://localazy.com/blog/mythbusters-we-use-google-translate-and-gpt-to-manage-our-localization/">but it can’t replace human judgment</a>, especially when cultural context, tone, or wordplay is involved.</p><h2 id="tunisian-localization-with-localazy">🕌 Tunisian localization with Localazy <a class="markdownit-header-anchor" href="#tunisian-localization-with-localazy">🔗</a></h2><p>Ready to start your journey into the Tunisian market? The professional linguists in our <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization Team</a> can provide you with a top-notch, culturally aware localization service in your chosen language pairs. You can combine their services with our <a href="https://localazy.com/features/machine-translation">built-in machine translation suggestions</a> from different providers, or use them as is for your convenience.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/image-1.png" class="kg-image" alt loading="lazy" width="740" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/image-1.png 600w, https://ghost.localazy.com/content/images/2024/11/image-1.png 740w" sizes="(min-width: 720px) 720px"></figure><p>Easily import all your past translations via <a href="https://localazy.com/integrations">integrations</a> or <a href="https://localazy.com/features/cli">CLI</a>, spot duplicities in your content, add <a href="https://localazy.com/features/automations">automations</a>, and much more with our scalable localization workflows. <a href="https://localazy.com/pricing">Choose your plan</a> or <a href="https://localazy.com/book-demo">book a demo</a> to see how we can help — we're here to make multilingual expansion easier for you.</p>]]></content:encoded>
            <author>Youssef Sifi</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/08/locales-4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to localize an Express.js app with Localazy: i18n tutorial]]></title>
            <link>https://localazy.com/blog/how-to-handle-translation-express-project-using-localazy</link>
            <guid isPermaLink="false">how-to-handle-translation-express-project-using-localazy</guid>
            <pubDate>Fri, 22 Aug 2025 09:52:29 GMT</pubDate>
            <description><![CDATA[We show you how to create an Express.js project that can connect to a local server and use the Localazy API to export source content to Localazy, handle translation, and import the translated content back into the project.]]></description>
            <content:encoded><![CDATA[<p><a href="https://expressjs.com/">Express.js</a> is a flexible framework built on Node.js for fast and scalable server-side development. It is a lightweight option you can use to create APIs for building web and mobile applications.</p><p>It simplifies the development of server-side applications by offering support for building REST APIs, real-time applications, and single-page applications.</p><p>The purpose of this guide is to create a functional Express.js project that can connect to a local server and utilize the <a href="https://localazy.com/docs/api/introduction">Localazy API</a> to export source content to Localazy, handle translation within the dashboard, and import the translated content into our Express project.</p><h2 id="prerequisites">📋 Prerequisites <a class="markdownit-header-anchor" href="#prerequisites">🔗</a></h2><ul><li>Install<a href="https://nodejs.org/en/"> Node.js</a> if you do not already have it installed. For this, you'll need to use version 18 or a later one. If you are using a version lower than 18, install <a href="https://github.com/nvm-sh/nvm">nvm</a> and upgrade your Node version to 18 or higher.</li><li>You'll need to have the <a href="https://www.postman.com/downloads/">Postman</a> app, which is required to run API requests.</li><li>This tutorial will require you to use your text editor and the terminal application on your device.</li><li>To follow this guide, you'll also need a <a href="https://localazy.com/my/dashboard">Localazy account</a> and a basic understanding of how the REST API works and how to use <a href="https://www.postman.com/downloads/">Postman</a> for API testing.</li></ul><h2 id="basic-express-app-configuration">👩🏾‍💻 Basic Express app configuration <a class="markdownit-header-anchor" href="#basic-express-app-configuration">🔗</a></h2><p>After installing Node, let's build our Express application. Create a new directory/folder called <strong>expressApp</strong> using the command below:</p><pre><code>mkdir expressApp</code></pre><pre><code>cd expressApp </code></pre><p>Within the new directory, use the <code>npm init -y</code> command to create a <em>package.json</em> file for your application. This command will quickly create a default <em>package.json</em> file in your current directory without prompting you to answer questions. </p><blockquote>The <em>package.json</em> file is the manifest file for a Node.js project. It defines important metadata about your project, such as the name, version, and dependencies (packages) needed by the project, etc.</blockquote><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcMTuWPJ2jZOh5HEFFTPp5vxFa37tnKx9fOvVLhri_HpDMCsX34Omr1TC1Ffl0MQqmhQHIVdybPObyagxoHBwqjhmWWcFDGJcDTtoFIrB1-6CgCCHQWVsp9P3qAXAK4L1G10gXXRg?key=0OmewBS_aPd5vowPj6iT7g" class="kg-image" alt loading="lazy"></figure><p>Now, install the Express package in the <strong>expressApp</strong> directory using the command below:</p><pre><code>npm install express</code></pre><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdRF3xOobHrGyy5qom5lyaXzS85B9d_1TAzPLkiIzrjcKsHBfgYKnl9UA5GFtogLisjGOU6kaYBOEAYfINg05DgZpIF-F7YLCsos41Au_0TjdpFgGYrAFxSZBbD5TwRp4GGqQ_X_Q?key=0OmewBS_aPd5vowPj6iT7g" class="kg-image" alt loading="lazy"></figure><p>These are all the commands you need to set up your Express application. We set up our server and open up a port for listening to connections. In the project directory, create a file called <em>index.js</em> because in the <em>package.json</em> file, the "main" field is set to <em>index.js</em> by default. </p><p>If you choose a different file name, such as <em>app.js</em>, it's important to update the "main" field in package.json to reflect that change. Copy the code from the snippets below.</p><pre><code class="language-javascript">const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) =&gt; {
	res.send('Hello World!')
})

app.listen(port, () =&gt; {
	console.log(`Express application listening on port ${port}`)
})`
</code></pre><ul><li>The code lines 1 and 2 import the Express module and then create an instance of an Express application. This is important for defining routes along the way. </li><li>The code on line 3 sets the port number that your server will be listening on.</li><li>The code lines 5 and 6 define the route to create a <strong>GET endpoint</strong> at the root URL. This means that when a user visits <a href="http://localhost:3000/">http://localhost:3000/</a>, it responds with '<strong>Hello World!</strong>'.</li><li>Lines 9 and 10 start the Express<strong> </strong>server and listen on port 3000, which is the predefined port number.</li></ul><p>When the server is running, it logs to the terminal: <code>Express application listening on port 3000.</code></p><h2 id="localization-within-an-express-project">💡 Localization within an Express project <a class="markdownit-header-anchor" href="#localization-within-an-express-project">🔗</a></h2><p>Now that we have built a starter Express project, we will create endpoint requests that can get the details of a Localazy project, upload content in a source language to the Localazy dashboard, and finally download translated content from the dashboard.</p><p>The Localazy API utilizes standard HTTP response codes, authentication methods, verbs, and resource-based URLs. All endpoints are relative to the base URL: ⁣⁣<code>https://api.localazy.com</code> </p><p>The documentation for all endpoints is available <a href="https://documenter.getpostman.com/view/25109945/2s8Z6yVY2U#7f1d0707-776a-4255-99f1-dfb128cb8610">here</a>.</p><blockquote><em>You must authenticate your request to access all endpoints because they are protected by access tokens</em></blockquote><h3 id="step-1-create-a-new-localazy-project">Step 1: Create a new Localazy project <a class="markdownit-header-anchor" href="#step-1-create-a-new-localazy-project">🔗</a></h3><p>Log in and create a new project in Localazy in the <a href="https://localazy.com/my/dashboard">Localazy dashboard</a>:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-04-at-2.57.05-PM.png" class="kg-image" alt loading="lazy" width="2000" height="682" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Screenshot-2025-08-04-at-2.57.05-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Screenshot-2025-08-04-at-2.57.05-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/Screenshot-2025-08-04-at-2.57.05-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/Screenshot-2025-08-04-at-2.57.05-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Our new project, <strong>Express-api-integration</strong>, has been created. The next step is to get the access token for it.</p><p>The access token can be obtained from the <a href="https://localazy.com/console/tokens">Developer Console</a> before we can begin using the Localazy API. This must be included in the authorization header for all API requests:</p><pre><code>Authorization: Bearer {{token}}</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-05-at-2.55.50-PM.png" class="kg-image" alt loading="lazy" width="2000" height="137" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Screenshot-2025-08-05-at-2.55.50-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Screenshot-2025-08-05-at-2.55.50-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/Screenshot-2025-08-05-at-2.55.50-PM.png 1600w, https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-05-at-2.55.50-PM.png 2372w" sizes="(min-width: 720px) 720px"></figure><p>This token grants you access to a single project in Localazy, providing both read and write access.</p><h3 id="step-2-create-an-endpoint-to-get-the-details-of-the-project">Step 2: Create an endpoint to get the details of the project <a class="markdownit-header-anchor" href="#step-2-create-an-endpoint-to-get-the-details-of-the-project">🔗</a></h3><p>We will create a GET request endpoint that uses Axios to retrieve the details of the Localazy project we just created. Specifically, we'll need an .env file to store all environment variables and secrets such as tokens. </p><blockquote>It is a good practice to store sensitive information like API keys, secret tokens, and credentials in a separate .env file and not within the codebase</blockquote><p>A sample of the .env file can be seen as:</p><pre><code>TOKEN=localazy_token
PROJECT_ID=project_id
PORT=3000</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-07-at-4.17.40-PM.png" class="kg-image" alt loading="lazy" width="1322" height="182" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Screenshot-2025-08-07-at-4.17.40-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Screenshot-2025-08-07-at-4.17.40-PM.png 1000w, https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-07-at-4.17.40-PM.png 1322w" sizes="(min-width: 720px) 720px"></figure><p>In your terminal, we'll also need to install packages such as <strong>axios</strong> and <strong>dotenv</strong>. The axios package is a popular JavaScript HTTP client that you can use to make requests (GET, POST, PUT, DELETE, etc.) from either the browser or the server side. The dotenv package is used in Node.js applications to load environment variables from a <code>.env</code> file into <code>process.env</code>.</p><pre><code>npm install axios

npm install dotenv
</code></pre><p>Within the <em>index.js</em> file, add the following code snippet:</p><pre><code class="language-javascript">const express = require("express");
const axios = require("axios");
const app = express();

require("dotenv").config();

const port = process.env.PORT;
const token = process.env.TOKEN;
const projectId = process.env.PROJECT_ID;

// Get Project Details
app.get("/project", async (req, res) =&gt; {
  try {
    const url = "https://api.localazy.com/projects";
    const result = await axios.get(url, {
      headers: {
        Authorization: `Bearer ${token}`,
      },
    });

    res.send(result.data);
  } catch (error) {
    console.error("error:", error.response?.data || error.message);
    res.status(500).send({ error: error.response?.data || error.message });
  }
});</code></pre><p>This code creates an async <strong>GET</strong> route <code>/project</code> using the URL <code>https://api.localazy.com/projects</code> of Localazy's API, from which we want to fetch data. </p><p>A bearer token is used within the authorization header to authenticate the request.</p><p>Navigate to Postman and make a GET request to the URL <code>http://localhost:3000/project</code> .</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-05-at-2.59.49-PM-1.png" class="kg-image" alt loading="lazy" width="2000" height="827" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Screenshot-2025-08-05-at-2.59.49-PM-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Screenshot-2025-08-05-at-2.59.49-PM-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/Screenshot-2025-08-05-at-2.59.49-PM-1.png 1600w, https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-05-at-2.59.49-PM-1.png 2148w" sizes="(min-width: 720px) 720px"></figure><p>This returns details about the project like its unique identifier, name, URL, organization identifier, and more.</p><h3 id="step-3-create-an-endpoint-to-upload-content-to-the-project-dashboard">Step 3: Create an endpoint to upload content to the project dashboard <a class="markdownit-header-anchor" href="#step-3-create-an-endpoint-to-upload-content-to-the-project-dashboard">🔗</a></h3><p>We will create a POST request endpoint that uploads content in both the source and translated languages. It connects internally with the Localazy API to import content using the projectId as the project's unique identifier returned within the GET endpoint that returns project details. </p><p>Within the <em>index.js</em> file, include the following code snippet:</p><pre><code>// Upload content
app.post("/project", async (req, res) =&gt; {
  try {
    const url = `https://api.localazy.com/projects/${projectId}/import`;
    let result = await axios.post(
      url,
      {
        files: [
          {
            name: "express_file",
            content: {
              type: "json",
              en: {
                heading: "This is an Express application",
                paragraph:
                  "This application utilizes the Node.js framework and Localazy API to connect externally with the server",
              },
            },
          },
        ],
      },
      { headers: { Authorization: `Bearer ${token}` } }
    );
    res.send(result.data);
  } catch (error) {
    console.error("error:", error.response?.data || error.message);
    res.status(500).send({ error: error.response?.data || error.message });
  }
});</code></pre><p>Navigate to Postman and make a POST request to the URL <code>http://localhost:3000/project</code>. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-05-at-3.24.04-PM.png" class="kg-image" alt loading="lazy" width="2000" height="461" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Screenshot-2025-08-05-at-3.24.04-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Screenshot-2025-08-05-at-3.24.04-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/Screenshot-2025-08-05-at-3.24.04-PM.png 1600w, https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-05-at-3.24.04-PM.png 2152w" sizes="(min-width: 720px) 720px"></figure><p>When we refresh our dashboard, we should see the English content and the two source keys that were added (heading and paragraph). At this step, you can go ahead and add other languages. Then you can translate within the project dashboard. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-05-at-3.23.16-PM.png" class="kg-image" alt loading="lazy" width="2000" height="628" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Screenshot-2025-08-05-at-3.23.16-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Screenshot-2025-08-05-at-3.23.16-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/Screenshot-2025-08-05-at-3.23.16-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/Screenshot-2025-08-05-at-3.23.16-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>You can use the Localazy <a href="https://localazy.com/features/machine-translation">machine translation feature</a> to translate all keys in your imported content. You can also invite translators to help you or <a href="/term/professional-translation-services">order professional translation services</a> directly inside the platform.</p><p>For our application, we are handling translations to three other languages: French (fr), Czech (cs), and Spanish (es).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-05-at-3.31.32-PM.png" class="kg-image" alt loading="lazy" width="2000" height="604" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Screenshot-2025-08-05-at-3.31.32-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Screenshot-2025-08-05-at-3.31.32-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/Screenshot-2025-08-05-at-3.31.32-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/Screenshot-2025-08-05-at-3.31.32-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="step-4-create-an-endpoint-to-import-content-into-the-express-application">Step 4: Create an endpoint to import content into the Express application <a class="markdownit-header-anchor" href="#step-4-create-an-endpoint-to-import-content-into-the-express-application">🔗</a></h3><p>Next, we'll be creating a GET request endpoint that downloads the raw file contents of a translated file. It connects internally with the Localazy API to import content using the <strong>projectId</strong> and the <strong>fileId</strong>.</p><p>Within the <em>index.js</em> file, include the following code snippet:</p><pre><code class="language-javascript">// Download translated content
app.get("/project/download/:lang", async (req, res) =&gt; {
  try {
    let file = await axios.get(
      `https://api.localazy.com/projects/${projectId}/files`,
      {
        headers: {
          Authorization: `Bearer ${token}`,
        },
      }
    );

    const { lang } = req.params;
    const fileId = file.data[0].id;

    const url = `https://api.localazy.com/projects/${projectId}/files/${fileId}/download/${lang}`;
    let result = await axios.get(url, {
      headers: {
        Authorization: `Bearer ${token}`,
      },
    });
    res.send(result.data);
  } catch (error) {
    console.error("error:", error.response?.data || error.message);
    res.status(500).send({ error: error.response?.data || error.message });
  }
});</code></pre><p>From the code, the first Axios request connects to the Localazy API endpoint to retrieve all files in your project via a GET request. The response includes the <strong>fileId</strong>, which is subsequently used alongside the <strong>projectId</strong> to retrieve the downloaded translated content. The <strong>lang</strong> parameter indicates which language is to be returned.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-07-at-3.43.19-PM.png" class="kg-image" alt loading="lazy" width="2000" height="478" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Screenshot-2025-08-07-at-3.43.19-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Screenshot-2025-08-07-at-3.43.19-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/Screenshot-2025-08-07-at-3.43.19-PM.png 1600w, https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-07-at-3.43.19-PM.png 2126w" sizes="(min-width: 720px) 720px"><figcaption>French (fr) downloaded file.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-07-at-3.46.09-PM.png" class="kg-image" alt loading="lazy" width="2000" height="459" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Screenshot-2025-08-07-at-3.46.09-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Screenshot-2025-08-07-at-3.46.09-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/Screenshot-2025-08-07-at-3.46.09-PM.png 1600w, https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-07-at-3.46.09-PM.png 2152w" sizes="(min-width: 720px) 720px"><figcaption>Czech (cs) downloaded file.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-07-at-3.46.28-PM.png" class="kg-image" alt loading="lazy" width="2000" height="461" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Screenshot-2025-08-07-at-3.46.28-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Screenshot-2025-08-07-at-3.46.28-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/Screenshot-2025-08-07-at-3.46.28-PM.png 1600w, https://ghost.localazy.com/content/images/2025/08/Screenshot-2025-08-07-at-3.46.28-PM.png 2150w" sizes="(min-width: 720px) 720px"><figcaption>Spanish (es) downloaded file.</figcaption></figure><p>Done! We have successfully translated our Express project from English to other languages. It's important to note that the Localazy API has other use cases, such as updating and deleting source keys, managing screenshots within a project, and more, all of which can be found in the <a href="https://documenter.getpostman.com/view/25109945/2s8Z6yVY2U#intro">Localazy Postman Documentation</a>.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">📚</div><div class="kg-callout-text">Read <a href="https://localazy.com/blog/the-ultimate-guide-to-localazy-api">The ultimate guide to Localazy API</a> next!</div></div><h2 id="next-steps">🚀 Next steps <a class="markdownit-header-anchor" href="#next-steps">🔗</a></h2><p>Now that you have a working Express.js integration with Localazy, here's how to take your localization setup to the next level and make it production-ready.</p><h3 id="structure-your-translation-keys-properly">Structure your translation keys properly <a class="markdownit-header-anchor" href="#structure-your-translation-keys-properly">🔗</a></h3><p>Organize your keys logically to make maintenance easier for both developers and translators:</p><ul><li><code>pages.checkout.title</code> instead of <code>checkout_page_title</code></li><li>Group related content together</li><li>Use consistent naming patterns across your app</li></ul><h3 id="integrate-with-your-cicd-pipeline">Integrate with your CI/CD Pipeline <a class="markdownit-header-anchor" href="#integrate-with-your-cicd-pipeline">🔗</a></h3><p>Add translation updates to your deployment process. Use Localazy's CLI or API calls in your build scripts to ensure your app always ships with the latest translations. </p><p>Check out these integration guides for the most popular CI/CD platforms:</p><ol><li>🐱<strong> <a href="https://localazy.com/blog/automated-localization-github-actions-localazy">GitHub Actions</a></strong></li><li>🦊 <strong><a href="https://localazy.com/blog/automated-localization-gitlab-cicd-localazy">GitLab CI</a></strong></li><li>🪣 <strong><a href="https://localazy.com/blog/automated-localization-bitbucket-pipelines-localazy">Bitbucket Pipelines</a></strong></li></ol><p>This integration eliminates the coordination overhead between dev releases and translation updates.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🌐</div><div class="kg-callout-text"><strong>Tip:</strong> Ship new translations in minutes without rebuilding your app with <a href="/features/language-cdn">Localazy CDN</a>!</div></div><h3 id="automate-the-translation-process">Automate the translation process! <a class="markdownit-header-anchor" href="#automate-the-translation-process">🔗</a></h3><p>Stop manually managing translation updates. Set up automated workflows that handle new content without slowing down your development cycle:</p><ul><li><strong>Machine translation as a starting point</strong>: Pre-translate new keys with machine translations so you have working content immediately.</li><li><strong>Invite team members</strong> to review and refine automated translations.</li><li><strong>Configure Automations</strong> to process new content on every upload, reducing the manual overhead of coordinating with translators.</li></ul><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🤖</div><div class="kg-callout-text">Learn more about <a href="/features/automations">Localazy Automations</a></div></div><p>Automation enables faster time-to-market for new features, as translation work occurs in parallel with development, rather than after.</p><h2 id="final-thoughts">✔️ Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>In this guide, we've created a simple Express.js project that connects to your local server and utilizes the Localazy API. This setup enables you to easily export your source content to Localazy, manage translations directly in the dashboard, and then smoothly import the translated content back into your Express project. </p><p>With this foundation in place, you'll get a  robust localization system that scales with your app. You can add new languages, scale to thousands of translation keys, and handle complex localization requirements without needing to rebuild your integration.</p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/08/Group-77.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localization 101 | Get currencies, dates and measurement units right in every market]]></title>
            <link>https://localazy.com/blog/number-localization-guide-currencies-dates-measurement-units</link>
            <guid isPermaLink="false">number-localization-guide-currencies-dates-measurement-units</guid>
            <pubDate>Tue, 09 Sep 2025 16:47:54 GMT</pubDate>
            <description><![CDATA[A currency sign or the order of a date speak about the care you've put into the cultural adaptation of your product. Nail number localization (and secure more customers) with these best practices.]]></description>
            <content:encoded><![CDATA[<p>We have now arrived at the localization of dates, units of measurement, and currencies. This is the third article in the<strong> Localization 101 series</strong>. Just as mentioned in the previous pieces, <strong>what feels familiar also feels reliable to customers</strong>. That includes pricing on a website and capitalizing months correctly in booking forms, which is exactly what we’ll cover today.</p><p>Customers recognize when a date isn’t properly formatted, <strong>and it <em>will </em>bother them</strong>. In global markets, details like how you display prices, write dates, or measure distances can be a deal breaker. <a href="https://localazy.com/dictionary/software-localization">Software localization</a> is, particularly, <strong>one of the areas where this disrupts user experience the most</strong>. This article will walk you through how to get currencies, dates, and measurement units right for every market, so your users never pause, hesitate, or leave your app because they're having a subpar experience. But first, let's clear a couple of essential concepts. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/AdobeStock_140683727.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/AdobeStock_140683727.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/AdobeStock_140683727.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/AdobeStock_140683727.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/AdobeStock_140683727.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="what-is-software-localization">👨‍💻 What is software localization? <a class="markdownit-header-anchor" href="#what-is-software-localization">🔗</a></h2><p>Different countries, different rules. Imagine that you want to take your fashion app overseas and you choose Italy as your first expansion target. The Mediterranean country <a href="https://localazy.com/blog/destination-italy-attract-italian-customers-with-localization?srsltid=AfmBOooZBso_v024kyruX8zrSejfukWAkj_df8HSI1kT1rCm7VOd2IMZ#the-online-explosion-of-the-italian-market">is known for its love for fashion</a>, their focus on family, and their passion for food. They take their sweet time because that's how they savor every moment of life. 😌 <strong>So to enter the Italian market, you need to speak to the heart of the people </strong>and go beyond merely translating your products.</p><p><strong>This is what software localization is about</strong>: your app or your website speaking to the locals in<em> their </em>tone, and adapting everything, from currency formatting to number formatting, to suit their customs. <a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go">This includes text <em>and </em>design</a>. You also have to ask yourself questions like, <strong>“Do Italians want to see pricing in large numbers, or should they be more subtle?</strong> And where on the page do you show the price for a suit or a dress?"</p><p>In other words, you will equip your software with the tools to do its job overseas and engage with the specific audience you're targeting.</p><blockquote>🔖 Related read: <a href="https://localazy.com/blog/how-to-choose-the-right-languages-to-translate-to-when-expanding-globally/">How to choose the right languages to prioritize when expanding globally</a></blockquote><h3 id="whats-the-difference-between-software-localization-and-software-translation">What’s the difference between software localization and software translation? <a class="markdownit-header-anchor" href="#whats-the-difference-between-software-localization-and-software-translation">🔗</a></h3><p><strong><a href="https://localazy.com/blog/localization-101-basic-concepts-a-beginner-needs-to-know?_gl=1%2ani6bf5%2a_gcl_au%2aMTk4ODg5MzM0NS4xNzU0MzAxOTgx#1-translation-localization-and-transcreation">There is a difference</a> </strong>between just translating your software and actually localizing it. Translation is great if you have a website and need people to be able to read general information (e.g. a hotel website). <strong>Many companies do, in fact, start with software translation first and, as they expand globally, they implement localization</strong>. Others don’t have to.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/AdobeStock_414029724.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/AdobeStock_414029724.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/AdobeStock_414029724.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/AdobeStock_414029724.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/AdobeStock_414029724.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Adapting your brand's messaging to a new country and culture has its benefits, though. Software translation helps customers understand your content, but <strong>localization directs them to feel, desire, and spend more</strong>.<strong> </strong></p><h2 id="number-localization-tips">🧮 Number localization tips <a class="markdownit-header-anchor" href="#number-localization-tips">🔗</a></h2><p>Now that we know what the differences are on paper, let's see what you can do to make sure your UX is as smooth for your international users than for your original customers.</p><h3 id="commas-and-decimals">Commas and decimals <a class="markdownit-header-anchor" href="#commas-and-decimals">🔗</a></h3><p>A comma in California isn’t always a comma in Stockholm. Or it is, but it might belong somewhere else in a text. Using commas and decimals in localization might seem insignificant at first, but remember:<strong> it always comes back to familiarity. </strong>The same is true for languages where <a href="https://localazy.com/dictionary/bidirectional-languages/">bidirectionality</a> is present, like <a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand#4-difficult-formatting">Arabic</a> and <a href="https://localazy.com/blog/hebrew-yiddish-jewish-communities-around-the-world-how-to-localize-for-them?srsltid=AfmBOoqKz3fyPVLnwZEv6nR7o-ZJo57f4sJ7OhUsVi7ckg0hL3og7zO5#4-master-rtl-implementation">Hebrew</a>, which require specific formatting. </p><p>We suggest you get started with this:</p><ol><li><strong>Know the differences between (most of) Europe, the United States, and the Middle East</strong>. Most countries in Europe use decimals when separating numbers, while the U.S. uses commas. In the Middle East, you have to remember that many countries have BiDi languages that mix <a href="https://localazy.com/dictionary/rtl/">RTL</a> and <a href="https://localazy.com/dictionary/ltr/">LTR </a>conventions, so formatting for UX designs, website forms, and even text looks quite different. </li><li><strong>Mind your commas and periods</strong>. Different languages, or even locales, use commas and periods differently when writing out numbers. For example, in Sweden, there are no periods or commas but instead, they use spaces. So 200,000 written in a New York blog post would be 200 000 without a comma if it was published in Sweden.</li><li><strong>Think </strong><em><strong>both</strong></em><strong> in data and text</strong>.<strong> </strong>Your goal should be to transform raw data into a readable format for a person from a specific country or region. </li></ol><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>Tip: </strong>Check the most common internationalization frameworks and libraries, like <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat">react-intl</a>, <a href="https://www.i18next.com/translation-function/formatting">i18next</a>, or <a href="https://localazy.com/dictionary/icu">ICU</a>, to make sure you're using <a href="https://en.wikipedia.org/wiki/Decimal_separator#Conventions_worldwide">the right formatting for each locale</a>.</div></div><h3 id="localizing-date-formats">Localizing date formats <a class="markdownit-header-anchor" href="#localizing-date-formats">🔗</a></h3><p>Date format localization is important for several reasons, including proper app user experience and simplifying functions, such as booking appointments with customers overseas. Making sure that your software has the code to create <a href="https://en.wikipedia.org/wiki/List_of_date_formats_by_country">the correct regional date format</a> is crucial to avoid customer frustration.</p><p>Here are a few tips to make this easier:</p><ol><li><strong>🗓 Use the standard format. </strong>The standard format for dates is called <a href="https://www.iso.org/iso-8601-date-and-time-format.html"><strong>ISO 8601</strong></a>, which is frequently used in most industries and works in many countries. This is especially useful when you need precision, such as working with APIs and scheduling. The format has a basic version: YYYYMMDD, and an extended version: YYYY-MM-DD.</li><li><strong>Slash, dash, or period? </strong>As a guideline, most European countries use DD/MM/YYYY, for example: 11/12/2024 (11 December, 2024). On the other hand, countries like Japan and China use the standard ISO 8601 format, which would read: 2024/12/11. In a lot of technical localization, the slash (/) is replaced with a dash (–). Like this: 2024-12-11. Traveling to Germany, the German locals want to see the dates this way instead: 11.12.2024.</li><li><strong>Capitalize months and weekdays correctly. </strong>In the United States, people are used to seeing the 12 months of the year starting with a capital letter, like this: December. But in France or Sweden, for example, you would write December with a small <em>d</em>, unless you’re beginning a sentence. The same goes for weekdays.</li></ol><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>Tip:</strong> To make this task easier, use native libraries like <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat">Intl.DateTimeFormat</a> or <a href="https://date-fns.org">date.fns</a>.</div></div><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/AdobeStock_210638352.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/AdobeStock_210638352.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/AdobeStock_210638352.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/AdobeStock_210638352.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/AdobeStock_210638352.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="currency-localization">Currency localization <a class="markdownit-header-anchor" href="#currency-localization">🔗</a></h3><p>Currency localization is important for global businesses, but also for companies expanding to a set of chosen areas. Without it, many customers abandon shopping carts, or leave the online store or site altogether.</p><p>So here are three tips for currency formatting:</p><ol><li><strong>Show the correct price to your customers</strong>.<strong> </strong>If a customer in the United States shops on a Canadian website, the last thing you want is for the customer to be negatively surprised at checkout, or once they’ve paid. In this case, you have to make sure to use pricing in Canadian dollars instead of the American dollar from the get-go.</li><li><strong>Choose the right currency symbols</strong>.<strong> </strong>Currency symbols might look the same around the world, but they’re not always shown the same way or have the same position depending on the country. In the United States, a sweater costs $49.00 but in Sweden, the unconverted price is written as 49,00 $ (there is both a space <em>and </em>a shift in position). Needless to say that formatting for different currencies also varies. For instance, that same sweater in British pounds would be £35, and <a href="https://hub.localazy.com/en/currencies/sek-swedish-krona">Swedish crowns</a> would be formatted as 400 kr or, most commonly, <a href="https://www.quora.com/Sweden-Why-is-the-symbol-of-the-Swedish-krona">400:-</a>.</li><li><strong>Differentiate between comma and decimal points</strong>.<strong> </strong>Another thing to consider in the example above is that one price has a decimal point, and the other has a comma. It’s important to get this right so that you’re not accidentally misleading customers.</li></ol><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>Tip: </strong>ICU and specific libraries like <a href="https://currency.js.org">currency.js</a> or <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat#using_options">Intl.NumberFormat</a> are again solid resources to deal with this. If questions arise, check out <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO 4217</a>, which is the governing standard for currency formatting.</div></div><h3 id="measurement-units">Measurement units <a class="markdownit-header-anchor" href="#measurement-units">🔗</a></h3><p>We’ll end with measurement localization. Since not all countries use the same measurement units, it’s another aspect often included in localization.</p><p>In order to adapt well, you should:</p><ol><li><strong>Know the unit systems: imperial or metric? </strong>Tell a Greek how many feet tall you are and they’ll probably look at you confused. Now, tell someone in Los Angeles how many kg you weigh and you’ll most likely get the same reaction. Metric units are used in most European countries and come from the word “metre”. Under its umbrella lies “milligram”, “litre” and “kilos”, among others. Imperial units, on the other hand, include measurements such as “gallon”, “inch”, and “yard”.  <a href="https://ubiqueags.org/map-of-the-week-countries-that-dont-use-the-metric-system/">The United States, Liberia, and Myanmar</a> are currently the only countries that don’t use the metric system, and the United Kingdom uses both.</li><li><strong>Convert correctly between the systems</strong>.<strong> </strong>If your website in France is about to launch in the United States, you will need to change the measurement units to fit the new audience. Avoid literal conversions and keep standard measurements for the target country in mind.</li><li><strong>Collaborate with an expert in the area</strong>.<strong> </strong>If you’re not familiar with the localization of metric systems, it will be useful to have someone who works in the field well to help you with setting up a style guide, implementing the code, and proofreading before launch. You can also automate the majority of the process but have a tech linguist help you out with minor details and edits.</li></ol><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>Tip: </strong>Although it's arguably harder to find good resources for measurement units, libraries like <a href="https://developer.android.com/reference/android/icu/util/LocaleData.MeasurementSystem">LocaleData.MeasurementSystem</a> or <a href="https://github.com/srcecde/locale-measurement">locale-measurement</a> can offer some support.</div></div><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/AdobeStock_700681055.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/AdobeStock_700681055.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/AdobeStock_700681055.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/AdobeStock_700681055.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/AdobeStock_700681055.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Number formatting might sound like a minor detail in your next international launch, but it's one of the elements that separates a natural user experience from a buggy, culturally misaligned one. When your user browses your app and doesn't bat a eye because they understand the dimensions of a product, <strong>they'll feel respected and understood</strong>. This removes friction, making your brand dependable.</p><p>No matter how big or small your business is, and what industry you're in (or are about to enter), our software localization features like <a href="https://localazy.com/features/duplicity-linking/">Duplicate Linking</a> <strong>make your number localization much easier </strong>so you can go through QA faster and strengthen your reputation in less time, <strong>with less effort</strong>.</p><h2 id="other-articles-in-the-series">📚 Other articles in the series <a class="markdownit-header-anchor" href="#other-articles-in-the-series">🔗</a></h2><p>New to the localization world? Check out our other Localization 101 guides:</p><ul><li>🧑‍🏫 <a href="https://localazy.com/blog/localization-101-basic-concepts-a-beginner-needs-to-know">Basic localization concepts</a></li><li>💰 <a href="https://localazy.com/blog/localization-101-best-practices-to-allocate-a-budget-for-localization-whether-its-big-or-small">Best practices to design a localization budget</a></li></ul>]]></content:encoded>
            <author>Simona Rahmanova</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/07/localization-103.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[What I would do differently in my next localization project]]></title>
            <link>https://localazy.com/blog/what-i-would-do-differently-in-my-next-localization-project</link>
            <guid isPermaLink="false">what-i-would-do-differently-in-my-next-localization-project</guid>
            <pubDate>Wed, 01 Oct 2025 21:16:03 GMT</pubDate>
            <description><![CDATA[Localization mistakes can derail your product’s launch. Learn five key lessons I wished I knew earlier to avoid delays, fixing scrambles, and extra costs.]]></description>
            <content:encoded><![CDATA[<p>If you ignore localization early, you'll pay for it later. As a developer, experience has taught me that <a href="https://localazy.com/dictionary/l10n">l10n</a> is much more than translation:<strong> it shapes how your product handles languages, layouts, and regional formats</strong>. </p><p>Some past projects I’ve worked on, from e-commerce platforms to internal dashboards and customer support portals, faced localization issues that created last-minute problems.</p><p>One instance was when I built an internal dashboard for a customer support team. Everything looked perfect until someone realized the product descriptions weren’t translated. 😅 The team scrambled to send the content to translators. When the translations returned, QA flagged several issues, such as some translations being too long, others not matching the original meaning, and formatting errors breaking the UI. We had no structured workflow for translation updates. Worse, the content was hardcoded in multiple places. <strong>Fixing everything delayed the release by a week</strong>.</p><p>I learned this the hard way, but <strong>you don’t have to</strong>. In this article, I'll share the mistakes I made and show you what to do differently so you can avoid the same pitfalls.</p><h2 id="1-build-for-localization-from-day-one">🧱 1. Build for localization from day one <a class="markdownit-header-anchor" href="#1-build-for-localization-from-day-one">🔗</a></h2><p>When I built this support portal, localization never crossed my mind. All text was hardcoded in components, and date formatting was done manually. It worked fine before our PM requested multilingual support.</p><p>Don’t make that mistake. <strong>Avoid hardcoding text directly into your components</strong>:</p><pre><code>
&lt;button&gt;Save Changes&lt;/button&gt;
&lt;h1&gt;Welcome to our platform&lt;/h1&gt;
&lt;p&gt;Your profile has been updated successfully.&lt;/p&gt;</code></pre><p>Instead, set up a localization framework from the start. Use a tool like <a href="https://www.i18next.com/" rel="noopener noreferrer nofollow">i18next</a> to manage text with keys in a localization file:</p><pre><code>
import { useTranslation } from 'react-i18next';
const { t } = useTranslation();

&lt;button&gt;{t('save_changes')}&lt;/button&gt;
&lt;h1&gt;{t('welcome_message')}&lt;/h1&gt;
&lt;p&gt;{t('profile_updated')}&lt;/p&gt;</code></pre><p>And in your en.json file, store the actual text for these keys, allowing i18next to pull the correct translations dynamically:</p><pre><code class="language-json">
{
  "save_changes": "Save Changes",
  "welcome_message": "Welcome to our platform",
  "profile_updated": "Your profile has been updated successfully."
}</code></pre><p>This setup saves you from refactoring your entire project when localization becomes necessary.</p><p>Also, <strong>avoid designing your UI <a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go#3-create-adaptable-layouts">for English text lengths</a></strong>. For example, the word "Save" in German becomes "<em>Änderungen speichern</em>," which can easily break your layout if your buttons have fixed widths.</p><p>Instead of this:</p><pre><code>
button {
  width: 100px;
}</code></pre><p>Use flexible sizing:</p><pre><code>
button {
  min-width: 100px;
  max-width: fit-content;
  padding: 10px 20px;
}</code></pre><p>This flexibility allows your UI to adapt to longer text without breaking. </p><h2 id="2-handle-pluralization-and-date-formatting-properly">📅 2. Handle pluralization and date formatting properly <a class="markdownit-header-anchor" href="#2-handle-pluralization-and-date-formatting-properly">🔗</a></h2><p>Localization also affects how numbers, dates, and plural forms behave across different languages. If these aren’t handled properly, they can confuse users and add extra development work later.</p><p>I once hardcoded pluralization like this:</p><pre><code>&lt;p&gt;You have {messages.length} new messages.&lt;/p&gt;
</code></pre><p>This worked in English, where adding an "s" for plurals was enough. But when we expanded to other languages, this approach wasn’t sustainable.</p><p>For example, in Russian:</p><ul><li>1 message → "1 сообщение"</li><li>2-4 messages → "2 сообщения"</li><li>5+ messages → "5 сообщений"</li></ul><p>Instead of relying on conditions for every language, use <a href="https://localazy.com/dictionary/icu-message-format">ICU MessageFormat</a> to handle plurals correctly:</p><pre><code>&lt;p&gt;{t('new_messages', { count: messages.length })}&lt;/p&gt;
</code></pre><p>In your <strong>en.json</strong> translation file:</p><pre><code>{
  "new_messages": "{count, plural, one {# new message} other {# new messages}}"
}</code></pre><p>For languages like Russian, <strong>additional plural categories may be required</strong>. This approach scales better, <a href="https://localazy.com/blog/pluralization-in-software-localization-beginners-guide">ensuring pluralization works correctly</a> as your app adds more languages.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/08/Plurals-tables.svg" class="kg-image" alt loading="lazy" width="594" height="355"><figcaption>Localazy helps you handle plurals conveniently.</figcaption></figure><blockquote>➡️ Read more on <a href="https://localazy.com/docs/general/translating-plurals?srsltid=AfmBOorJcT90lVfkFGCJ9nzBTbGa1wd3JQSjdfHpRJIDX0HQcL6e8-Sv" rel="noopener noreferrer nofollow">translating plurals</a></blockquote><p>Date formatting can also create problems. Different regions use different formats:</p><ul><li><strong>🇺🇸 US:</strong> MM/DD/YYYY → 04/15/2024</li><li><strong>🇪🇺 Europe:</strong> DD/MM/YYYY → 15/04/2024</li><li><strong>🇯🇵 Japan:</strong> YYYY/MM/DD → 2024/04/15</li></ul><p>To prevent confusion, <strong>avoid writing custom logic for date formats</strong>. Instead, use  <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat">Intl.DateTimeFormat</a>, which adapts automatically based on the user's locale:</p><pre><code>const formattedDate = new Intl.DateTimeFormat(navigator.language).format(new Date());
</code></pre><p>For custom formats, you can pass options:</p><pre><code>const formattedDate = new Intl.DateTimeFormat('fr-FR', { dateStyle: 'long' }).format(new Date());
</code></pre><p>This method keeps your dates consistent, localized, and intuitive without extra logic.</p><h2 id="3-plan-for-right-to-left-rtl-support-from-the-start">↔️ 3. Plan for right-to-left (RTL) support from the start <a class="markdownit-header-anchor" href="#3-plan-for-right-to-left-rtl-support-from-the-start">🔗</a></h2><p>I expected a smooth process when I added Arabic and Hebrew support to the project, but the entire layout fell apart, and I ran into a <a href="https://localazy.com/blog/6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them">few considerable localization challenges</a>. Arrows intended to point forward suddenly faced backward, text meant to be left-aligned hugged the right edge, and the navigation menu (initially aligned neatly on the left) awkwardly shifted to the wrong side.</p><p>To avoid this, <strong>use a CSS framework that supports RTL out of the box</strong>. <a href="https://tailwindcss.com">Tailwind CSS</a> is the most popular option right now and comes with built-in RTL and LTR modifiers that work directly with its utility classes. For example, <code>rtl:mr-4</code>applies margin-right only in RTL layouts. You can also use logical spacing utilities like <code>ms-*</code> (margin-start) and <code>me-*</code>(margin-end), which automatically adapt based on direction.</p><p>These adjustments prevent your UI from breaking and eliminate the need for duplicated assets or manual layout fixes. <strong><a href="https://localazy.com/blog/bridging-the-gap-podcast-s02-ep05-building-for-rtl-languages/">Plan for RTL support early</a></strong>, and your design will stay consistent when you expand to languages like Arabic or Hebrew. </p><h2 id="4-automate-translations-with-a-tms">🤖 4. Automate translations with a TMS <a class="markdownit-header-anchor" href="#4-automate-translations-with-a-tms">🔗</a></h2><p>I started by managing translations in JSON files, <a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects/">manually exporting spreadsheets</a> for translators, and pasting everything back into the codebase. This worked initially, but <strong>it became unsustainable as we added more languages</strong>.</p><p>Integrate a translation management system (TMS) if you can (I adopted Localazy). With its command-line interface, you can <strong><a href="https://localazy.com/blog/tips-for-localizing-multiplatform-apps-localazy-cli">automate translation uploads and downloads</a></strong>:</p><pre><code>localazy upload
localazy download
</code></pre><p>This removes the need for manual updates, prevents errors, and allows translators to work directly in the TMS interface with full UI context.</p><p>I found <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow">this CLI starter article</a> useful to understand translation management on Localazy. The <a href="https://localazy.com/docs">documentation</a> also offers a clear guide on setting up the tool, configuring translation paths, and automating the process.</p><blockquote>📕<strong>Related read</strong>:<strong> </strong><a href="https://localazy.com/blog/how-to-automate-the-entire-software-localization-process-from-development-to-translation-with-localazy">How to automate the entire software localization process from development to translation with Localazy</a> </blockquote><h2 id="5-enforce-key-reuse-and-prevent-translation-duplication">🗝️ 5. Enforce key reuse and prevent translation duplication <a class="markdownit-header-anchor" href="#5-enforce-key-reuse-and-prevent-translation-duplication">🔗</a></h2><p>I had a habit of adding new keys without checking if similar ones already existed. Over time, duplicate translation keys started piling up. Translators had to translate the same phrase multiple times, creating unnecessary work.</p><p>The UI also became inconsistent, with different variations of the same text appearing throughout the app. Translation files became cluttered and harder to maintain.</p><p>At first, I tried to fix this by writing a JavaScript function to scan for duplicate translation values before adding new keys. Since I was already using i18next, I wrote this script to compare keys dynamically:</p><pre><code class="language-Java">import i18next from 'i18next';

function checkForDuplicateKeys() {
  const translations = i18next.store.data.en.translation; 
  const seenKeys = new Map();
  const duplicates = [];

  Object.entries(translations).forEach(([key, value]) =&gt; {
    if (seenKeys.has(value)) {
      duplicates.push(`${key} (same as ${seenKeys.get(value)})`);
    } else {
      seenKeys.set(value, key);
    }
  });

  return duplicates.length &gt; 0 
    ? `Duplicate keys found:\n${duplicates.join('\n')}` 
    : "No duplicates found";
}

console.log(checkForDuplicateKeys());</code></pre><p>This helped me identify duplicate translations, but <strong>it was just a shallow fix</strong>. It only checked translations on the client side, not across the entire project. And more importantly, <strong>not all duplicates are wrong</strong>. English is a simple language, and short phrases like "Open", "Save," or "Done" might show up in multiple places. In some languages, those same words translate differently depending on the context. So, trying to force everything into a single key can actually hurt clarity instead of helping.</p><p>Instead of relying on manual scripts, use a TMS that tracks duplicates across your projects. It'll help you reuse keys where it makes sense and spot the ones that need to be removed. Even better, <strong>it will do this while preserving context</strong>, so you don’t merge phrases that shouldn’t be shared by mistake. </p><p>Without proper key reuse, you'll face issues like:</p><ul><li>Inconsistent UI phrasing.</li><li>Extra translation costs.</li><li>Bloated translation files that are harder to maintain.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/08/DuplicitySimple.png" class="kg-image" alt loading="lazy" width="1122" height="720" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/DuplicitySimple.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/DuplicitySimple.png 1000w, https://ghost.localazy.com/content/images/2025/08/DuplicitySimple.png 1122w" sizes="(min-width: 720px) 720px"><figcaption>The Localazy Duplicity Linking feature in action.</figcaption></figure><h2 id="dont-build-a-product-that-fights-you-back">🥊 Don’t build a product that fights you back <a class="markdownit-header-anchor" href="#dont-build-a-product-that-fights-you-back">🔗</a></h2><p><strong>Leave localization for later, and you’ll feel it everywhere</strong>: scattered strings, last-minute translation scrambles, layouts that fall apart in other languages. You'll end up translating the same phrase five times, going back and forth with translators and proofreaders, and trying to figure out how to fix base issues that demand a lot of developer time.</p><p>Localazy keeps all of that in check. It takes care of updates behind the scenes, keeps your keys tidy, and plugs right into your workflow without slowing you down. With features like Duplicity Linking, <a href="https://localazy.com/features/translation-memory">Translation Memory</a>, and <a href="https://localazy.com/features/plurals">built-in plural support</a>, it makes sure all's consistent across your app. And since it connects directly to your codebase, <strong>you can push and pull translations without leaving your dev environment</strong>.</p><p><a href="https://localazy.com/pricing">Set it up early</a> and you won’t need to rebuild later. Your product will stay clean, your team will work faster, and your users will get the experience they expect, wherever they are.</p>]]></content:encoded>
            <author>Temitope Oyedele</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/10/image--30-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Automated Localization: GitLab CI/CD ❤ Localazy]]></title>
            <link>https://localazy.com/blog/automated-localization-gitlab-cicd-localazy</link>
            <guid isPermaLink="false">automated-localization-gitlab-cicd-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:31:39 GMT</pubDate>
            <description><![CDATA[Using Gitlab's CI/CD? Setup a fully automated localization process for your project by integrating Localazy into the build process. We show you how.]]></description>
            <content:encoded><![CDATA[<p>Localization can be challenging on its own, and having to regularly remind developers (or yourself) to include the latest localized version before release is not going to end up well at some point. With GitLab’s powerful <a href="https://docs.gitlab.com/ee/ci/" rel="noopener noreferrer nofollow">CI/CD</a>, you only need to configure it properly once. Afterward, you can peacefully take this off your mind. Let's see how.</p><h2 id="integrate-your-app-with-localazy">💡 Integrate your app with Localazy  <a class="markdownit-header-anchor" href="#integrate-your-app-with-localazy">🔗</a></h2><p>Suppose that your mobile, desktop, or web app is ready for localization, and strings in the source language are stored in JSON, YAML, iOS’ strings, Flutter’s ARB, or some other common format.</p><p><a href="https://localazy.com/login?logout/">Sign up to Localazy</a>, create a new app, <a href="https://localazy.com/docs/cli/installation" rel="noopener noreferrer nofollow">install the CLI tool</a>, and then create and test your <code>localazy.json</code> <a href="https://localazy.com/docs/cli/the-basics" rel="noopener noreferrer nofollow">configuration</a>. You should be able to upload the source language files and download the localized ones.</p><p>The basic configuration could look like this:</p><pre><code>{
  "readKey": "read-key",
  "writeKey": "write-key",

  "upload": {
    "type": "json",
    "files": [{
        "pattern": "src/**/locales/*.json",
        "lang": "inherited",
        "path": "${path}"
      }]
  },

  "download": {
    "files": "${path}/${lang}.json"
  }
}
</code></pre><p>Given that you’ve filled in your <em>readKey</em> and <em>writeKey</em>, <strong>you will be already able to manually upload and download strings between your app and Localazy</strong>. Let’s move on to automating next.</p><h2 id="setup-secrets">⚒️ Setup secrets  <a class="markdownit-header-anchor" href="#setup-secrets">🔗</a></h2><p>Oftentimes it is desirable to hide secrets away from the repository and Localazy keys are no different. We’ll use GitLab’s variables for this. In your GitLab project, go to <strong>Settings &gt; CI/CD &gt;Variables</strong> and create two variables called <strong>LOCALAZY_WRITE_KEY</strong> and <strong>LOCALAZY_READ_KEY</strong>. The result should look like this:</p><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/1bfa3567-d2b9-4cd1-86e9-852988193dbb" class="kg-image" alt="https://directus9.localazy.com/assets/1bfa3567-d2b9-4cd1-86e9-852988193dbb" loading="lazy"></figure><h2 id="ignore-the-localized-files">❌ Ignore the localized files <a class="markdownit-header-anchor" href="#ignore-the-localized-files">🔗</a></h2><p>The source language file  (in my case <code>en.json</code>) is the source of truth, and for localized files, it’s the latest version on Localazy. I don’t need those files to be committed to my repository, as it unnecessarily pollutes the commit history and the translations are already stored once in Localazy.</p><p>With the following command placed in the <code>locales</code> folder, we will make sure to <strong>upload our source language files and ignore the localized ones</strong>:</p><pre><code>src/**locales/*.json
!src/**/locales/en.json</code></pre><h2 id="automate-upload">🔼 Automate upload <a class="markdownit-header-anchor" href="#automate-upload">🔗</a></h2><p>The GitLab CI/CD is a powerful automation tool with tons of options. If you only need to automate the upload part without any special configuration (such as triggering it only on certain branches or for pull requests), you don’t need to know much about it. However, if you’re aiming to create complex automation rules, you should check out their <a href="https://docs.gitlab.com/ee/ci/" rel="noopener noreferrer nofollow">documentation</a>.</p><p>The configuration below is all I need for uploading the source language file <code>en.json</code> to Localazy anytime I merge it to a staging branch. <strong>I can run the pipeline anytime there is a change in my source file, and it's done</strong>.</p><p>All you need to do is to create a <code>.gitlab-ci.yml</code> file with this content:</p><pre><code># This is a base template for Gitlab CI / CD 
# that integrates Localazy upload process into your workflow
# For available upload options https://localazy.com/docs/cli/command-line-options
#
# There are three ways how to authorize the operations (https://localazy.com/docs/cli/authorization)
# - authorization keys in the configuration file (localazy.json)
# - authorization keys in a separate file (localazy.keys.json)
# - authorization keys provided as command-line arguments
#
# If you wish to keep the writeKey and readKey as secrets, we recommend opting for the third option.
# - In Gitlab, define new environment variables (In project: Settings -&gt; CI / CD - &gt; Variables) 
#   called LOCALAZY_WRITE_KEY and LOCALAZY_READ_KEY.
# - Type in your writeKey and readKey respectively

localazy-upload:
    # For additional CLI options, see https://localazy.com/docs/cli/command-line-options
    image:
      name: localazy/cli:latest
    rules:
      - changes:
        - src/**/locale/en.json
      if: '$CI_COMMIT_BRANCH == "staging"'
    script: 
      - localazy upload
        -w $LOCALAZY_WRITE_KEY
        -r $LOCALAZY_READ_KEY
</code></pre><p><strong>This file will be automatically picked up by GitLab and will trigger a single job </strong>called <code>localazy-upload</code>. As you can see, we use the <code>-w $LOCALAZY_WRITE_KEY</code> and <code>-r $LOCALAZY_READ_KEY</code> arguments for authorization. With each push to the repository (regardless of the target branch), the upload operation to Localazy will be triggered.</p><h2 id="automate-download">🔽 Automate download <a class="markdownit-header-anchor" href="#automate-download">🔗</a></h2><p>When the time comes to build and release a new version of your app, you'll need to have all your translations available. Depending on how your whole build pipeline is set up, there are several ways to get them:</p><h3 id="method-1-trigger-the-download-command-through-gitlab">Method 1: Trigger the download command through GitLab <a class="markdownit-header-anchor" href="#method-1-trigger-the-download-command-through-gitlab">🔗</a></h3><p>One of the most common approaches is to <strong>use a GitLab job to trigger a single command defined in the repository</strong>. This activates a whole sequence of chained scripts that lead to building the full application.</p><p>For this, just include the <code>localazy download</code> command at the beginning of the command so that the bundled application includes all the available translations.</p><h3 id="method-2-create-a-download-pipeline">Method 2: Create a download pipeline <a class="markdownit-header-anchor" href="#method-2-create-a-download-pipeline">🔗</a></h3><p>Another approach is <strong>building a pipeline with several GitLab job</strong>s that may pass workflow artifacts between each other.</p><p>If this is your option, define a job to download translations from Localazy and pass the data forward to the following jobs.</p><p>Create the file <code>.gitlab-ci.yml</code> for downloading the latest version of localizable files whenever the tag <code>v*</code> is pushed:</p><pre><code>localazy-download:
    # For additional CLI options, see https://localazy.com/docs/cli/command-line-options
    image:
      name: localazy/cli:latest
    rules:
      - if: '$CI_COMMIT_TAG =~ /^v.*/'
    script: 
      - localazy download
        -w $LOCALAZY_WRITE_KEY
        -r $LOCALAZY_READ_KEY
</code></pre><p>As you can see, this job is identical except it triggers the <strong>download</strong> operation instead of the upload. Of course, this example effectively does nothing as files are only downloaded during the CI/CD pipeline, and if we don’t use them to produce the release build, they are lost once the pipeline is finished and cleared. The exact build configuration <strong>strongly depends on your requirements</strong>.</p><h2 id="closing-words">✔️ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>This is only a starter template for GitLab CI/CD. <strong>It’s quite likely that you do not wish to fire this automation with each push to each branch</strong>, but rather only with accepted pull requests to your staging or production branch. If that is the case, see the documentation about <a href="https://docs.gitlab.com/ee/ci/yaml/#onlyexcept-basic" rel="noopener noreferrer nofollow">only/except</a>. Nonetheless, this is a perfect basic configuration on which you can build further.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/gitlab-cicd-success.png" class="kg-image" alt loading="lazy" width="1196" height="1012" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/gitlab-cicd-success.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/gitlab-cicd-success.png 1000w, https://ghost.localazy.com/content/images/2025/08/gitlab-cicd-success.png 1196w" sizes="(min-width: 720px) 720px"></figure><p>If you wish to add more triggers to your workflow, check out our <a href="https://localazy.com/features/automations/">Automations</a> feature and <a href="https://localazy.com/tags/automations">guides</a>, or <a href="https://localazy.com/contact/">contact us</a> so we can help you refine it based on your needs.</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/02/technical-article-gitlab-cicd.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 10 multilingual Content Management Systems]]></title>
            <link>https://localazy.com/blog/top-10-multilingual-content-management-systems</link>
            <guid isPermaLink="false">top-10-multilingual-content-management-systems</guid>
            <pubDate>Tue, 29 Jul 2025 17:01:05 GMT</pubDate>
            <description><![CDATA[Monolingual websites are a thing of the past. Learn about the top ten multilingual CMSs below and publish, manage, and maintain your global websites with little manual work.]]></description>
            <content:encoded><![CDATA[<p>Businesses are struggling to serve multicultural customers in the globalized online environment. They are realizing the necessity of <strong>language-specific marketing and online presence</strong> to reach their target audience. According to <a href="https://www.prweb.com/releases/survey_of_3_000_online_shoppers_across_10_countries_finds_that_60_rarely_or_never_buy_from_english_only_websites/prweb11725995.htm">a CSA Research survey</a>:</p><ul><li><strong>❌ 60%</strong> of buyers rarely or never buy from English-only websites.</li><li>💬 Additionally, <strong>72.4%</strong> prefer to buy from a site with information in their language.</li></ul><p>This makes multilingual websites a must-have tool for success, and <a href="https://localazy.com/dictionary/cms">Content Management Systems (CMSs)</a> play a major role here. As web development evolves, CMSs have adapted to support different languages. <strong>Multilingual CMSs grow your audience, boost engagement, and increase conversions</strong>. However, too many alternatives make the choice difficult.</p><p>On this piece we'll discuss the top 10 multilingual CMSs and lay out their top features so you choose the right one for your business. We'll compare CMS translation management, language support, and user interfaces. Whether you're a web developer, a marketer, or a business owner, there's something else out there for you.</p><h2 id="what-exactly-is-a-cms">❓ What exactly is a CMS? <a class="markdownit-header-anchor" href="#what-exactly-is-a-cms">🔗</a></h2><p><strong>Simply put, a Content Management System is a software package that allows users to edit, update, and publish web pages without the need to alter the code.</strong> CMSs are usually installed on a web server, and they can be both self-hosted or cloud-based. </p><p>The CMS will have any number of features depending on the site's purpose. The most common features are user account management, page editing, file upload, page publishing, and search engine optimization.</p><p><strong>The advantages of using a CMS include:</strong></p><ul><li>🔒 an increase in site security,</li><li>⌛ less time spent on making changes to the site,</li><li>💰 and lower maintenance costs for existing sites.</li></ul><p>Specialized content management systems are also used in <strong>e-commerce</strong> to create a website focusing on selling products. On top of the usual features, the e-commerce-ready CMS allows you to manage the products, payment methods, and even inventory and invoicing. They also offer an expansive array of modules, including a shopping cart, payment gateways, customer relationship systems, and more.</p><h2 id="things-to-consider">🤨 Things to consider <a class="markdownit-header-anchor" href="#things-to-consider">🔗</a></h2><p>If you're dealing with a global audience, you might be confused at a point about which content management system to use. To help you choose the best CMS for your multilingual needs, here are a few considerations.</p><h3 id="handling-different-languages-effectively">Handling different languages effectively  <a class="markdownit-header-anchor" href="#handling-different-languages-effectively">🔗</a></h3><p>A multilingual CMS should help you <strong>manage your content effectively in different languages</strong>. If you're operating your website from Canada in the English language and your audience is also from <a href="https://localazy.com/blog/french-as-your-bridge-for-more-business-opportunities/">France</a> or the <a href="https://localazy.com/blog/localization-for-the-french-canadian-market-how-to-build-brand-loyalty-in-quebec">Quebec</a> region, your CMS must have the capacity to support all aspects of French, such as character set, locale variations, or formatting.</p><h3 id="maintaining-global-website-structure">Maintaining global website structure <a class="markdownit-header-anchor" href="#maintaining-global-website-structure">🔗</a></h3><p>One of the most common challenges with global sites is ensuring that navigation and content are consistent across different languages and formats. Your CMS must provide an architecture <strong>that helps you <a href="https://localazy.com/blog/top-9-ux-translation-problems-and-how-to-solve-them">maintain user experience</a> for different people in different parts of the world with varying languages</strong>. Each version of your website should be managed independently, e.g., to hide pages available only in one language, and translating them wouldn't make sense.</p><h3 id="flexibility-for-different-locales">Flexibility for different locales <a class="markdownit-header-anchor" href="#flexibility-for-different-locales">🔗</a></h3><p>When choosing a CMS and creating your website, it's best to <strong>think about your expansion plans and the supported locales</strong>. You could end up surprised when the direction of language is changed <a href="https://localazy.com/blog/bridging-the-gap-podcast-s02-ep05-building-for-rtl-languages">from LTR to RTL</a>, and it suddenly doesn't work. Your CMS should be able to handle the <a href="https://localazy.com/dictionary/bidirectional-languages">bidirectional issue </a>as well. ⚓</p><p><strong>The date and time formats in different regions are diverse </strong>and should be smoothly adapted to your website. Many CMSs lack this feature even though they support multilingual content management. You need to be sure of this before making a choice.</p><h3 id="api-integration">API Integration <a class="markdownit-header-anchor" href="#api-integration">🔗</a></h3><p>Sometimes people prefer to use a <a href="https://localazy.com/dictionary/translation-management-system-tms">Translation Management System (TMS) </a>when dealing with plenty of content. A TMS provides the capability to manage all aspects of the translation process. It helps to translate texts into new languages and maintain translations already in use.</p><p>Many translation management platforms provide a solution that allows users to upload their content, which can be translated by translators and then downloaded back. With Localazy, you can connect your project via one of the 50+ <a href="https://localazy.com/integrations">integrations</a> and automate the process entirely. You can also <a href="https://localazy.com/blog/true-continuous-localization-localazy">order translation services</a> directly and get your content translated continuously. </p><p><strong>The CMS should be built so that it aids in the seamless integration of the TMS's API</strong>. Only a CMS developed with such aspects in mind will allow for the efficient pushing and pulling of information via translation API. </p><blockquote>🔌 Integrate your CMS with the <a href="https://localazy.com/docs/api/introduction">Localazy API</a> and forget about the localization hassle forever!</blockquote><h3 id="lessstronggreaterseolessstronggreater"><strong>SEO</strong> <a class="markdownit-header-anchor" href="#lessstronggreaterseolessstronggreater">🔗</a></h3><p><a href="https://localazy.com/dictionary/search-engine-optimization">Search engine optimization</a> is a challenging job, and it becomes even more problematic when it comes to <a href="https://localazy.com/blog/going-global-with-multilingual-seo/">international SEO</a>. This is something that the CMS should be able to assist with. 🔎 If the CMS has a built-in functionality for international SEO, you can do everything from adopting SEO-friendly URL structures to quickly optimizing metadata and language tags.</p><h2 id="the-list-of-top-10-multilingual-cms">📋 The list of top 10 multilingual CMS <a class="markdownit-header-anchor" href="#the-list-of-top-10-multilingual-cms">🔗</a></h2><h3 id="1-lessa-hrefhttpswwwstoryblokcomgreaterstorybloklessagreater">1. <a href="https://www.storyblok.com">Storyblok</a> <a class="markdownit-header-anchor" href="#1-lessa-hrefhttpswwwstoryblokcomgreaterstorybloklessagreater">🔗</a></h3><p>If you want <strong>a flexible CMS that big brands already trust</strong>, Storyblok is worth a look. It’s an enterprise-level headless CMS used by over 200,000 developers and marketers; names like Adidas, Tesla, and Oatly use it to keep huge content pipelines running smoothly. Storyblok comes with ready-made templates, custom modules, reusable components, and video support to help teams build and manage sites faster.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/Storyblok.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Storyblok.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Storyblok.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Storyblok.png 1600w, https://ghost.localazy.com/content/images/2025/07/Storyblok.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>One thing people really like about Storyblok is <strong>how easy it is to use, even if you don’t write code</strong>. Its real-time visual editor lets you see changes as you make them, so you’re not stuck guessing how things will look live. In fact, it is <a href="https://www.storyblok.com/docs/concepts/visual-editor">the only headless CMS that features a real-time visual editor</a> (if you're unaware of what headless architecture is, check out <a href="https://alokai.com/blog/headless-architecture" rel="noopener noreferrer nofollow">this article</a>). </p><p>Storyblok allows you to handle multilingual content and integrates with a variety of translation management platforms, <a href="https://localazy.com/docs/storyblok/storyblok-plugin-introduction-installation">Localazy included</a>. These integrations let you make your content available to a global audience.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><a href="https://localazy.com/features/storyblok-localization-plugin">The Localazy plugin for Storyblok</a> plays nice with your codebase and allows you to sync content, handle plurals, catch placeholders, and translate without lots of manual work. If you’re ready to open your site to more languages, this is one of the easiest ways to do it!</div></div><p>The best part is that Storyblok offers two options for managing multi-language content. This is done to cope with different approaches to translation:</p><ul><li>For example, <strong>field-level translation</strong> is an excellent option if the structure of your material in a foreign language is the same as it is in your default language.</li><li>Similarly, <strong>folder-level translation </strong>is recommended when different teams control content for multiple languages, or your project is structured differently for each market.</li></ul><blockquote>🎙️ Alex Kopp (Senior Solutions Engineer at Storyblok) explains how these two types of approaches work <a href="https://www.youtube.com/watch?v=a3tX1ksbRGw">in our podcast</a> (from 16:35 on)</blockquote><h3 id="2-lessa-hrefhttpsstrapiiogreaterstrapilessagreater">2. <a href="https://strapi.io">Strapi</a> <a class="markdownit-header-anchor" href="#2-lessa-hrefhttpsstrapiiogreaterstrapilessagreater">🔗</a></h3><p>Strapi is a favorite for developers who want the freedom to build sites and apps their own way without being boxed in by an old-school CMS. <strong>It’s open-source, runs on Node.js, and works well with GraphQL and React</strong>, so it fits nicely with any modern stack. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/Strapi.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Strapi.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Strapi.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Strapi.png 1600w, https://ghost.localazy.com/content/images/2025/07/Strapi.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>One thing people appreciate about Strapi is how it handles content for different languages. If you’re reaching an international audience, you don’t need clunky workarounds. <strong>Strapi’s localization lets you pull content for different locales through its API</strong>, create new entries, and reuse parts of your existing content to speed things up. You can also decide who can work on each language, so your team stays organized and secure.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text">Doing all this by hand can eat up a lot of time. Easily manage your multilingual content with the <a href="https://localazy.com/features/strapi-localization-plugin">Strapi localization plugin by Localazy</a>: sync your content, manage language versions, import content as needed, and translate it effortlessly without much manual work.</div></div><h3 id="3-lessa-hrefhttpswordpressorggreaterwordpresslessagreater">3. <a href="https://wordpress.org">WordPress</a> <a class="markdownit-header-anchor" href="#3-lessa-hrefhttpswordpressorggreaterwordpresslessagreater">🔗</a></h3><p>WordPress is the most popular content management system on the internet. It is used by millions of websites, including some of the largest media outlets in the world. With thousands of plugins and themes available, as well as an active community of third party developers, <strong>the possibilities are endless for what you can do with this CMS</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/WordPress-1.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/WordPress-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/WordPress-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/WordPress-1.png 1600w, https://ghost.localazy.com/content/images/2025/07/WordPress-1.png 1920w" sizes="(min-width: 720px) 720px"></figure><blockquote><em>You might be confused to find out that when searching for WordPress, you'll find two officially-looking websites. One is WordPress.org, where you can download the latest release and install it on your server, and the other is a hosting service on a .com website. Both achieve a similar result for the end user, and the latter is actually founded by the co-founder of WordPress.org - which is also why both websites use almost the same logo and no lawsuits are in process. 🙂 You can read more about the differences on the <a href="https://www.wpbeginner.com/beginners-guide/self-hosted-wordpress-org-vs-free-wordpress-com-infograph/">WPBeginner Blog</a>.</em></blockquote><p>If you chose this CMS, the <a href="https://wpml.org">WordPress Multilingual Plugin (WPML)</a> is a powerful plugin that can help you translate your website's content into any language. This plugin makes it easy for you to create a multilingual website to reach out to international clientele. All you need to do is <strong>install the plugin and key in the languages you want on your site</strong>. With this plugin, you can also translate blog posts, menus, pages, text widgets, and many more features.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text">To translate your WordPress sites with Localazy, you can use the <a href="https://localazy.com/features/translation-api">Localazy API</a> or upload your <code>.po</code> files. Read more about the PO/POT formats <a href="https://localazy.com/dictionary/po-and-pot-format">here</a>.</div></div><h3 id="4-lessa-hrefhttpsdirectusiogreaterdirectuslessagreater">4. <a href="https://directus.io">Directus</a> <a class="markdownit-header-anchor" href="#4-lessa-hrefhttpsdirectusiogreaterdirectuslessagreater">🔗</a></h3><p>If you like <strong>keeping your data under control without being locked into one cloud or setup</strong>, Directus might be your kind of CMS. It’s an open-source data platform that sits on top of your existing SQL database, giving you full freedom over how you store and shape your content. With Directus, developers can spin up custom RESTful or GraphQL APIs, use the JavaScript SDK, and tweak everything thanks to its modular design. It also brings in handy tools like a live preview, file library, detailed access control, and CLI commands, so managing and scaling data is less of a headache and more about building what you need.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/Directus-5.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Directus-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Directus-5.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Directus-5.png 1600w, https://ghost.localazy.com/content/images/2025/07/Directus-5.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>However, with all these features come a few limitations, such as a lack of options for push-pull control of the database for offline usage, login issues with cache enablement, and a lack of auto-installation function for some features like Nginx or Caddy.</p><p>Directus <strong>also offers a functionality for content localization</strong>. <a href="https://directus.io/docs/configuration/translations">Setting up multilingual content</a> in Directus is straightforward. You can introduce multiple languages, identify fields that require adaptation, export textual content for translation, and input translations into your Directus project.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text">Did you know <a href="https://localazy.com/features/directus-localization-plugin">Directus can be integrated with Localazy</a>? Connect it now in minutes and manage your translations directly from our UI — integration guide available <a href="https://localazy.com/blog/guide-to-directus-localization-with-localazy/">here</a>.</div></div><h3 id="5-lessa-hrefhttpswebflowcomgreaterwebflowlessagreater">5. <a href="https://webflow.com">Webflow</a> <a class="markdownit-header-anchor" href="#5-lessa-hrefhttpswebflowcomgreaterwebflowlessagreater">🔗</a></h3><p>If you want <strong>full control over how your site looks without wrestling with code</strong>, Webflow is worth a closer look. It gives designers, freelancers, and startups the freedom to build unique sites without hiring a whole dev team. You can design from scratch or pick a template, adjust every detail with a drag-and-drop editor, and see changes live as you work. The built-in CMS makes it easy to handle blogs, portfolios, or landing pages with lots of content. Hosting is included too, so you don’t have to juggle extra tools; everything stays in one place, ready to publish when you are.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/12.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/12.png 1600w, https://ghost.localazy.com/content/images/2025/07/12.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>Webflow makes managing sites in more than one language possible <a href="https://localazy.com/features/webflow-localization">through third-party integrations like Localazy</a>. You can connect Localazy to Webflow to handle all your translations, keep your content in sync, and get updates pushed automatically. It saves time and keeps your site ready for visitors in different languages without much fuss. You can also keep your multilingual SEO in shape by setting language tags and alternate URLs for translated pages.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text">Learn how to connect Localazy to your Webflow project on <a href="https://localazy.com/blog/how-to-translate-webflow-websites-with-localazy">this guide</a>.</div></div><h3 id="6-lessa-hrefhttpswwwdjango-cmsorgengreaterdjango-cmslessagreater">6. <a href="https://www.django-cms.org/en/">Django CMS</a> <a class="markdownit-header-anchor" href="#6-lessa-hrefhttpswwwdjango-cmsorgengreaterdjango-cmslessagreater">🔗</a></h3><p>If you’re looking for an open-source content management system that <strong>provides a comprehensive framework for developing web applications</strong>, Django CMS can be your go-to tool for that. Apart from its convenient interface, this Python-based CMS offers powerful features like role-based access control, in-line editing, previewing changes in real-time, and more; and can be integrated with multiple platforms.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/12/image-4.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2021/12/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/12/image-4.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/12/image-4.png 1600w, https://ghost.localazy.com/content/images/2021/12/image-4.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>Django supports the internationalization and localization of websites, which means that you can use it to build multilingual websites. It's designed to be language-agnostic, so it doesn't impose any restrictions on the website's content but instead provides a level playing field for different languages. The system also makes it easier for visitors to switch between languages on the fly.</p><h3 id="7-lessa-hrefhttpsghostorggreaterghostlessagreater">7. <a href="https://ghost.org">Ghost</a> <a class="markdownit-header-anchor" href="#7-lessa-hrefhttpsghostorggreaterghostlessagreater">🔗</a></h3><p>The Ghost CMS is a WordPress alternative that offers the flexibility of an open-source system but without all the bells and whistles of WP. This CMS was born out of a need for a simpler alternative to the complexities of other available blogging platforms. Since then, it has gained recognition for <strong>its minimalistic interface and user-friendly design</strong>, prioritizing readability and overall user experience. It's built on JavaScript, with a markdown-driven content system and auto-deployment scripts, and includes built-in SEO features like structured data and metadata, canonical tags, XML sitemaps, and Google AMP support.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/Ghost-1.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Ghost-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Ghost-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Ghost-1.png 1600w, https://ghost.localazy.com/content/images/2025/07/Ghost-1.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>Ghost supports multilingual content management via template development, but keep in mind that some of its themes need a lot of work to be translated into multiple languages. It's better to <strong>select a translation-friendly theme</strong>. </p><p>You can also make your translated content SEO-friendly using the rel= <em>"alternate"</em> link element to the head. When a search engine crawler crawls your site, it will know which translation to display whenever somebody searching for your site in a specific language does so.</p><blockquote><strong>😁 Fun fact:</strong> We practice what we preach! We use Ghost for our blog due to its simplicity, flexibility, accessibility, and scalability. You can <a href="https://localazy.com/zapier-integration/ghost">integrate Ghost through Zapier</a> with Localazy as well</blockquote><h3 id="8-lessa-hrefhttpswwwcontentfulcomgreatercontentfullessagreater">8. <a href="https://www.contentful.com/">Contentful</a> <a class="markdownit-header-anchor" href="#8-lessa-hrefhttpswwwcontentfulcomgreatercontentfullessagreater">🔗</a></h3><p>As a headless CMS, <strong>Contentful offers only the backend for its users</strong>. Then, it allows them to streamline content into multiple channels using their preferred API or other integrations. The platform might prove tricky for non-engineers, but developers can comfortably use it. 👨‍💻 Since it’s open-source, Contentful handles the power of customization to devs, and unifies the infrastructure and administration of all features in one space. Similar to Localazy, the platform uses the REST API combined with a global CDN to deliver content. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/Contentful-1.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Contentful-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Contentful-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Contentful-1.png 1600w, https://ghost.localazy.com/content/images/2025/07/Contentful-1.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>The platform provides a framework to process and manage multilingual content faster but it’s up to you to provide it with top-notch localized content. This is when it’s best to <a href="https://localazy.com/docs/general/continuous-localization-team">hire a team</a>. 😉</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text">Use the <a href="https://localazy.com/features/translation-api/">Localazy API </a>to connect and translate your Contentful site into multiple languages.</div></div><h3 id="9-lessa-hrefhttpsnewdrupalorghomegreaterdrupallessagreater">9. <a href="https://new.drupal.org/home">Drupal</a> <a class="markdownit-header-anchor" href="#9-lessa-hrefhttpsnewdrupalorghomegreaterdrupallessagreater">🔗</a></h3><p>Drupal is a free, open-source content management system used to power millions of websites and applications. It also <strong>provides a platform for building highly interactive web applications that can be customized</strong> to suit the needs of any customer. Drupal was first released as an open-source project in 2001 and has been downloaded from the Drupal website millions of times. It is used by thousands of top websites around the globe.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/Drupal.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Drupal.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Drupal.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Drupal.png 1600w, https://ghost.localazy.com/content/images/2025/07/Drupal.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>Drupal is <strong>among the top CMSs that support multiple languages</strong> when it comes to multilingual content. When you install it, the first thing you have to choose is the base language (the installer selects this based on your browser's language). You can then enable language modules from the admin panel. Detailed documentation is provided <a href="https://www.drupal.org/documentation">on Drupal's website</a> for each module, from enabling a different language to translating it.</p><h3 id="10-lessa-hrefhttpswwwshopifycomes-esgreatershopifylessagreater">10. <a href="https://www.shopify.com/es-es">Shopify</a> <a class="markdownit-header-anchor" href="#10-lessa-hrefhttpswwwshopifycomes-esgreatershopifylessagreater">🔗</a></h3><p>Shopify is widely recognized as one of the most prominent eCommerce systems. Businesses expand and succeed online with its features, tools, apps, and extensions. Though mostly known for eCommerce, <strong>it also functions as a CMS with a user-friendly interface</strong> that enables easy content creation and editing, a configurable layout using a theme editor, and built-in SEO tools to optimize metadata.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/Shopify-1.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Shopify-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Shopify-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Shopify-1.png 1600w, https://ghost.localazy.com/content/images/2025/07/Shopify-1.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>There are restrictions, though: there is less flexibility, URL structure control, and third-party app integration than with other CMSs. But it's the ideal choice for <strong>content development and eCommerce from a single platform</strong>, so it's perfect for businesses who are looking to manage both functionalities in one CMS. </p><p>Shopify's internationalization support lets merchants reach a global audience and grow their business. <strong>You can sell in up to 20 languages from a single store</strong>, making the process easier. As with Ghost, if you use Shopify to create a multilingual website, make sure to select a theme that supports localization options.</p><h2 id="bonus-8-more-cmss">😊 Bonus: 8 more CMSs <a class="markdownit-header-anchor" href="#bonus-8-more-cmss">🔗</a></h2><p>The list of CMSs available out there is never-ending, so here are eight additional suggestions for you with less popularity but great performance.</p><h3 id="11-lessa-hrefhttpsprocesswirecomgreaterprocesswirelessagreater">11. <a href="https://processwire.com">ProcessWire</a> <a class="markdownit-header-anchor" href="#11-lessa-hrefhttpsprocesswirecomgreaterprocesswirelessagreater">🔗</a></h3><p>ProcessWire is a free, open-source, lightweight content management system that's powerful enough to be used for both small and large client websites. It has <strong>a simple yet powerful templating system</strong> that allows for rapid development of pages, templates, modules, or anything else created from a CMS. It has many features you'd expect from much pricier systems, like frontpage extensions and databases.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/12/image-9.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2021/12/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/12/image-9.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/12/image-9.png 1600w, https://ghost.localazy.com/content/images/2021/12/image-9.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>This CMS supports multilingual website management with a variety of features that you can control directy from the admin panel, <strong>including flexible translation modules </strong>that make localization easy.</p><h3 id="12-lessa-hrefhttpswwwsilverstripecomsilverstripe-cmsgreatersilverstripelessagreater">12. <a href="https://www.silverstripe.com/silverstripe-cms/">SilverStripe</a> <a class="markdownit-header-anchor" href="#12-lessa-hrefhttpswwwsilverstripecomsilverstripe-cmsgreatersilverstripelessagreater">🔗</a></h3><p>SilverStripe is <strong>a robust, open-source system that can be installed on your server</strong>. It provides everything you need to create a professional, well-designed website: an admin console for managing content and users, templates with great design to suit any industry, powerful templating languages, and the ability to integrate with other technologies.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/12/image-10.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2021/12/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/12/image-10.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/12/image-10.png 1600w, https://ghost.localazy.com/content/images/2021/12/image-10.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>Silverstripe <strong>uses a i18n class to display templates and PHP code in different languages</strong>. Whenever you need to play with multilingual content, you can call i18n. It will listen to you! You can set up the CMS in various languages, and the system will automatically convert the content on the fly.</p><h3 id="13-lessa-hrefhttpsoctobercmscomgreateroctoberlessagreater">13. <a href="https://octobercms.com">October</a> <a class="markdownit-header-anchor" href="#13-lessa-hrefhttpsoctobercmscomgreateroctoberlessagreater">🔗</a></h3><p>October is <strong>an open-source and free content management system built mainly on <a href="https://localazy.com/laravel">Laravel</a> and <a href="https://localazy.com/php">PHP</a></strong>. By using PHP, it provides a dynamic experience instead of a static one. The CMS was released in May 2014 (surprisingly not October), offering backend support for SQLite, PostgreSQL, and MySQL, while the front end relies on a flat-file database.</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/Z5Hvp7UTTlwT3sAp-cbXaBep_dXg1a8HrJug-eKWlBetVpdqJLxwnWXeU1xymEEb5Eb5QPK_sCxetRTka27o9IPlLc7pfT3StzTUZJj4x7btp7HaJvS-CCdx-4rTLYrum8kJDZu2" class="kg-image" alt loading="lazy"></figure><p>The self-hosted platform simplifies the creation of websites and claims to offer advanced security. Users can easily edit the placement of visuals, the layout, manage forums, and track analytics about visitors. Moreover, the platform offers <a href="https://octobercms.com/plugins/internationalization"><strong>a myriad of i18n plugins</strong></a> to allow developers to manage their translated content.</p><h3 id="14-lessa-hrefhttpswwwoptimizelycomproductscontent-managementgreateroptimizelylessagreater">14. <a href="https://www.optimizely.com/products/content-management/">Optimizely</a> <a class="markdownit-header-anchor" href="#14-lessa-hrefhttpswwwoptimizelycomproductscontent-managementgreateroptimizelylessagreater">🔗</a></h3><p>Optimizely is yet another excellent content management system built and developed to allow anyone, whether they are marketers, developers, or ordinary consumers, to easily optimize, create, and manage digital experiences. <strong>Its integrated Digital Asset Management (DAM) feature makes it simple to reuse content</strong>, and its scheduling and versioning capabilities guarantee constant content updates.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/Captura-de-pantalla-2025-07-29-a-las-17.33.07.png" class="kg-image" alt loading="lazy" width="2000" height="833" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Captura-de-pantalla-2025-07-29-a-las-17.33.07.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Captura-de-pantalla-2025-07-29-a-las-17.33.07.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Captura-de-pantalla-2025-07-29-a-las-17.33.07.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/07/Captura-de-pantalla-2025-07-29-a-las-17.33.07.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Regarding multilingual content management, the platform offers strong support, <strong>letting users switch languages for the editorial user interface and detecting language preferences</strong> through browser settings. It also offers multilingual support for customized commerce.</p><h3 id="15-lessa-hrefhttpswwwdatocmscomgreaterdatocmslessagreater">15. <a href="https://www.datocms.com">DatoCMS</a> <a class="markdownit-header-anchor" href="#15-lessa-hrefhttpswwwdatocmscomgreaterdatocmslessagreater">🔗</a></h3><p>DatoCMS is <strong>a headless option that lets developers create bespoke content structures with customizable modeling features</strong>. This CMS separates content management and delivery, allowing developers to use their preferred front-end tools and technologies and content editors to easily manage and publish across channels through their GraphQL API. Dato ensures availability and performance with data encryption, regular backups, and a distributed architecture. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/Dato-CMS.png" class="kg-image" alt loading="lazy" width="1462" height="891" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Dato-CMS.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/Dato-CMS.png 1000w, https://ghost.localazy.com/content/images/2024/11/Dato-CMS.png 1462w" sizes="(min-width: 720px) 720px"></figure><p>Their interface is offered in several languages, including English, Spanish, German, French, Italian, Dutch, Russian, and Turkish. <strong>Users can <a href="https://www.datocms.com/features/headless-cms-multi-language">choose from more than 400 locales</a> to publish in to serve global audiences</strong>. Assets like rich text, responsive graphics, geo-points, SEO metadata, and even URLs are localizable with it.</p><h3 id="16-lessa-hrefhttpsagilitycmscomgreateragilitylessagreater">16. <a href="https://agilitycms.com">Agility</a> <a class="markdownit-header-anchor" href="#16-lessa-hrefhttpsagilitycmscomgreateragilitylessagreater">🔗</a></h3><p>With user-friendly features like traditional website management tools and an API-First approach, Agility is a game-changing CMS that <strong>stands out for its collaboration features</strong>. It gives developers the ability to provide unique module definitions and page templates, which are subsequently made available to marketers so they may construct a wide variety of pages that satisfy changing consumer wants and market conditions. This type of architecture makes tedious developer tasks easy and optimizes resource allocation.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/Agility-CMS.png" class="kg-image" alt loading="lazy" width="1581" height="789" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Agility-CMS.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/Agility-CMS.png 1000w, https://ghost.localazy.com/content/images/2024/11/Agility-CMS.png 1581w" sizes="(min-width: 720px) 720px"></figure><p>This CMS offers a great multilingual experience, <strong>allowing users to manage multiple languages and locales</strong>.</p><blockquote><em><strong>💡Did you know that you can integrate Agility with Localazy <a href="https://localazy.com/features/zapier-integration">using Zapier</a>? </strong>With Zapier actions and triggers, you can automate tasks such as importing content, publishing projects, and bundling files into zip files. </em>For instance, when a comment is added to a project, Localazy can trigger an instant content import. Similarly, when a project is published, Localazy can import source and other language keys</blockquote><h3 id="17-lessa-hrefhttpshygraphcomgreaterhygraphlessagreater">17. <a href="https://hygraph.com">Hygraph</a> <a class="markdownit-header-anchor" href="#17-lessa-hrefhttpshygraphcomgreaterhygraphlessagreater">🔗</a></h3><p>Hygraph is a headless CMS powered by <a href="https://hygraph.com/learn/graphql">GraphQL</a>, the query language used for APIs and developed by Facebook in 2012. The whole CMS <strong>functions as an <a href="https://localazy.com/dictionary/api">API</a> where users are responsible for choosing the permissions, relations, and structures</strong>, with a promise of enterprise-level security for everything they develop and store in it.<strong> </strong>Hygraph connects with other platforms and provides developers with the features to build apps for multiple platforms, including web, mobile, VR, and IoT.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/Hygraph-1.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Hygraph-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Hygraph-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Hygraph-1.png 1600w, https://ghost.localazy.com/content/images/2025/07/Hygraph-1.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>The platform offers <strong>a flexible localization API that allows you to add your preferred locales</strong> and manage multilingual content. The localized assets can be managed through their UI or via GraphQL mutations.</p><h3 id="18-lessa-hrefhttpswwwmagnolia-cmscomgreatermagnolialessagreater">18. <a href="https://www.magnolia-cms.com">Magnolia</a> <a class="markdownit-header-anchor" href="#18-lessa-hrefhttpswwwmagnolia-cmscomgreatermagnolialessagreater">🔗</a></h3><p>Claiming to be the most flexible headless CMS, <strong>Magnolia is simpler to manage for users with no technical background</strong>. You will still have to learn how certain features work but nothing too complicated. In contrast to the majority of CMS, it lacks an admin dashboard, which might make it confusing at first. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/Magnolia.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Magnolia.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Magnolia.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Magnolia.png 1600w, https://ghost.localazy.com/content/images/2025/07/Magnolia.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>Magnolia relies on <a href="https://localazy.com/dictionary/java/">Java</a>, but it connects and functions with XML, SOAP, REST, and API as well. It provides insights useful for performing better business decisions and <strong>supports a multilingual structure</strong>. Users can choose to organize their content in a single tree, multiple trees, or a combination of both. </p><h2 id="how-to-manage-multilingual-content-with-localazy">🚩 How to manage multilingual content with Localazy <a class="markdownit-header-anchor" href="#how-to-manage-multilingual-content-with-localazy">🔗</a></h2><p>If your CMS supports multilingual content management, you can start using Localazy to manage your translations fairly quickly.</p><p>If you want to jump right in, you can start by <a href="https://localazy.com/register">signing up</a> and reading the <a href="https://localazy.com/docs/general/getting-started-with-localazy">Getting started with Localazy</a> article in the documentation.</p><h3 id="connect-your-website-with-localazy">Connect your website with Localazy <a class="markdownit-header-anchor" href="#connect-your-website-with-localazy">🔗</a></h3><p>This is the first step. To connect your website with Localazy, you have three options:</p><ul><li><strong>⏩ The quick &amp; easy way:</strong> If your CMS allows it, extract your content and <a href="https://localazy.com/docs/general/importing-localization-files">upload your files manually</a>, translate it, and download it back. This is ideal for one-off translation jobs, but it is okay to get your feet wet and learn the ropes of Localazy before you spend time with a tighter integration.</li><li><strong>💡 The smarter way:</strong> You can automate data transfers and use one of over <a href="https://localazy.com/integrations">50+ integrations</a> to accommodate your project in a few steps with our <a href="https://localazy.com/docs/cli/the-basics">Command-Line Interface - CLI</a>.</li><li><strong>✔️ The recommended way:</strong> You can also use the <a href="https://localazy.com/features/translation-api">Localazy API</a> to exchange data between Localazy and your site. This is probably the best way to connect Localazy and your CMS, which will allow you to automate all aspects of localization.</li></ul><p>If you are not sure what type of workflow you should use, <a href="https://localazy.com/contact">contact us</a>, and we will happily help you come up with suitable solutions. 😉</p><h3 id="translate-your-content">Translate your content <a class="markdownit-header-anchor" href="#translate-your-content">🔗</a></h3><p>Once your content is imported to Localazy, you can localize it however you want:</p><ul><li><strong>⌨️ Translate your content yourself,</strong> or <strong>invite your translators</strong> to do it for you. You can <a href="https://localazy.com/docs/general/defining-user-roles">invite volunteers or translators</a> you have worked with in the past, and they will feel right at home. Our <a href="https://localazy.com/docs/general/translating-strings">translation interface</a> has everything you need to get started. Plus, <a href="https://localazy.com/blog/why-localazy-doesnt-charge-you-for-your-translation-seats/">there is no contributor limit</a>, so don't worry about pricing per seat.</li><li><strong>🤝 Order translations from our professional translators</strong>. You can fully automate the localization process and order services from our <a href="https://localazy.com/docs/general/continuous-localization-team">Continuous Localization Team</a>. Our vetted translators will translate and/or proofread your content, and whenever you add any new texts, we will proactively deliver the translations as long as the service is active and you have enough <a href="https://localazy.com/docs/general/localazy-credits">credits</a>. We can handle the localization management for you entirely.</li><li><strong>🤖 Translate everything in a click with the machine translation or AI engine of your choice</strong> if you want to see quick results. <a href="https://localazy.com/features/machine-translation/">One-click machine translations</a> can be applied to your whole content from the <a href="https://localazy.com/pricing">Professional</a> tier on. <strong>We offer <a href="https://localazy.com/docs/general/additional-mt-engines/">four popular and powerful translation engines</a> </strong>(Amazon Translate, Google Translate, DeepL, and Azure). OpenAI is also available to integrate with your own API key. Pick a language and apply the suggestions to all of your content immediately. This approach is excellent if you want to see how your site will look in a new language, for content that will be later post-edited, or for less important information that just needs a quick translation.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/img-2.png" class="kg-image" alt loading="lazy" width="1106" height="544" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/img-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/img-2.png 1000w, https://ghost.localazy.com/content/images/2025/07/img-2.png 1106w" sizes="(min-width: 720px) 720px"></figure><h2 id="final-thoughts">✔️ Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>It's worth your time to check if these CMS are a good choice for your project. Each of the options discussed offers unique strengths and advantages, with all of them offering diverse options for multilingual support.</p><p>The best approach to choosing an option is to <strong>work with a developer who has experience with your chosen CMS to see if they can meet your needs</strong>. For a hassle-free localization experience, we recommend using tools that are integrated with Localazy, including Storyblok, Strapi, Directus, Webflow, and WordPress. With Localazy's expertise and <a href="https://localazy.com/integrations">integrations</a>, you can trust that your multilingual website will be in good hands.</p><h2 id="further-reading">📚 Further reading <a class="markdownit-header-anchor" href="#further-reading">🔗</a></h2><ul><li><a href="https://localazy.com/blog/localization-101-basic-concepts-a-beginner-needs-to-know">Localization 101: Basic concepts for newcomers</a></li><li><a href="https://localazy.com/blog/how-to-translate-webflow-websites-with-localazy">How to translate Webflow websites efficiently with Localazy</a></li><li><a href="https://localazy.com/blog/guide-to-directus-localization-with-localazy">Guide to Directus localization with Localazy</a></li><li><a href="https://localazy.com/blog/managing-multilingual-content-with-strapi-cms-localazy-plugin">Managing multilingual content with Strapi CMS &amp; Localazy</a></li><li><a href="https://localazy.com/blog/streamline-translation-efficiency-with-storyblok-cms-and-localazys-key-clustering">Streamline translation efficiency with Storyblok CMS and Localazy's Key Clustering</a></li></ul>]]></content:encoded>
            <author>Waqas Nazeer</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/11/top-10-multilingual-cms--2--1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to automate the entire software localization process from development to translation with Localazy]]></title>
            <link>https://localazy.com/blog/how-to-automate-the-entire-software-localization-process-from-development-to-translation-with-localazy</link>
            <guid isPermaLink="false">how-to-automate-the-entire-software-localization-process-from-development-to-translation-with-localazy</guid>
            <pubDate>Sat, 16 Aug 2025 14:19:22 GMT</pubDate>
            <description><![CDATA[Localazy automates the repetitive tasks that slow you down: file syncing, duplicate detection, machine translation, and delivery. Focus on building your product while localization happens automatically in the background.]]></description>
            <content:encoded><![CDATA[<p>Software localization involves more than translating text from one language to another. It's a complex process that requires coordination among developers, translators, and product teams. Localization automation tools, such as Localazy, solve this challenge by <strong>reducing repetitive tasks, minimizing manual errors, and accelerating translation workflows</strong>.</p><p>Localazy provides end-to-end <a href="https://localazy.com/tags/automated-localization">localization automation</a> tools that transform how product development teams handle software translation. Instead of managing translators manually, chasing missing translations, and updating files by hand, you can automate these processes and focus on building your product.</p><h2 id="what-is-localization-automation">🤓 What is localization automation? <a class="markdownit-header-anchor" href="#what-is-localization-automation">🔗</a></h2><p>Localization automation refers to the use of technology to streamline translation management processes. This includes automating file uploads, translation delivery, quality checks, and team collaboration workflows. For software development teams, automation <strong>eliminates bottlenecks in the <a href="https://localazy.com/dictionary/internationalization">internationalization</a> process</strong>, ensuring consistent and timely translations.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/07/Captura-de-pantalla-2025-07-28-a-las-18.23.00.png" class="kg-image" alt loading="lazy" width="2000" height="986" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Captura-de-pantalla-2025-07-28-a-las-18.23.00.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Captura-de-pantalla-2025-07-28-a-las-18.23.00.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Captura-de-pantalla-2025-07-28-a-las-18.23.00.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/07/Captura-de-pantalla-2025-07-28-a-las-18.23.00.png 2400w" sizes="(min-width: 1200px) 1200px"><figcaption>Set up any automations from your dashboard and reduce the manual workload.</figcaption></figure><p>Localazy is a <a href="https://localazy.com/dictionary/translation-management-system-tms">translation management system</a> designed specifically for automating software localization. The platform integrates with your development workflow to automate translation processes from initial string extraction through final delivery to users. This frees your hands from dull manual processes so you can concentrate on what really matters. Let's see how it works.</p><blockquote>📚 Recommended reading: <a href="https://localazy.com/blog/mythbusters-we-use-google-translate-and-gpt-to-manage-our-localization">Mythbusters: We use Google Translate and GPT to manage our localization</a></blockquote><h2 id="software-localization-automation-starts-with-integration">🔌 Software localization automation starts with integration <a class="markdownit-header-anchor" href="#software-localization-automation-starts-with-integration">🔗</a></h2><p>The foundation of any automated localization workflow is seamless integration with your existing development process. Localazy offers<strong> several ways to connect your project</strong>, each designed for different use cases and technical requirements.</p><h3 id="cli-and-api-for-developers">CLI and API for developers <a class="markdownit-header-anchor" href="#cli-and-api-for-developers">🔗</a></h3><p>The <a href="https://localazy.com/features/cli/"><strong>Localazy CLI</strong></a> enables complete localization automation within your build process. You can automatically upload source files and download completed translations with every build or commit. The CLI handles complex software localization scenarios, including <a href="https://localazy.com/features/plurals/">plurals</a>, string arrays, and <a href="https://localazy.com/docs/general/key-clusters/">nested key structures</a>.</p><ul><li><strong>🔁 Format conversion automation</strong> enables you to maintain a unified source of truth across multi-platform environments, allowing you to share resources on Android and iOS, even with native development.</li><li><strong>↔️ Branching support</strong> ensures that translations are maintained across feature branches and software versions, preventing developers from overwriting each other's strings before merging. </li><li><strong>⏩ Dynamic configuration</strong> adapts to various environments by utilizing variables.</li><li><strong>☑️ Automated validation</strong> prevents localization issues from reaching production.</li><li><strong>⏫ Incremental updates</strong> optimize translation delivery performance.</li></ul><blockquote>📹 See our CLI in action in our quick start video guide<a href="https://www.youtube.com/watch?v=BD3XNe11yu8"> here</a> </blockquote><p>Additionally, the <strong><a href="https://localazy.com/features/translation-api/">Localazy API</a> </strong>provides programmatic control over your entire localization workflow. You can automate content uploads, translation fetching, screenshot management, and team coordination through custom integrations with <a href="https://localazy.com/docs/general/webhooks/">Webhooks</a>.</p><h3 id="native-integrations-for-content-teams">Native integrations for content teams <a class="markdownit-header-anchor" href="#native-integrations-for-content-teams">🔗</a></h3><p>For content management and design workflows, Localazy offers <strong>native integrations that require little to no technical setup</strong>. When you update content in Figma or publish new articles in your CMS, the changes are synced to Localazy for translation with just one click. You can use the:</p><ul><li><strong>🎨 </strong><a href="/integrations/figma"><strong>Figma</strong></a><strong> plugin</strong> for localizing UX designs and creating multilingual prototypes.</li><li><strong>👩‍💻 </strong><a href="/integrations/webflow"><strong>Webflow</strong></a><strong>, <a href="/integrations/strapi">Strapi</a>, <a href="/integrations/directus">Directus</a>, and <a href="/integrations/storyblok">Storyblok</a> plugins</strong> for CMS-based websites.</li><li><strong>📞 </strong><a href="/integrations/intercom"><strong>Intercom</strong></a><strong> &amp; <a href="/integrations/zendesk">Zendesk</a> integrations</strong> for help center articles.</li><li><strong>📲 </strong><a href="/integrations/zapier"><strong>Zapier</strong></a><strong> integration</strong> to connect with over 5,000 other applications.</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">🔌</div><div class="kg-callout-text">See all of the <a href="/integrations">Localazy integrations</a>!</div></div><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/Captura-de-pantalla-2025-07-28-a-las-14.11.08.png" class="kg-image" alt loading="lazy" width="2000" height="1144" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Captura-de-pantalla-2025-07-28-a-las-14.11.08.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Captura-de-pantalla-2025-07-28-a-las-14.11.08.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Captura-de-pantalla-2025-07-28-a-las-14.11.08.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/07/Captura-de-pantalla-2025-07-28-a-las-14.11.08.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><h2 id="accelerate-with-machine-translation-and-memory">🚀 Accelerate with machine translation and memory <a class="markdownit-header-anchor" href="#accelerate-with-machine-translation-and-memory">🔗</a></h2><p>One of the biggest bottlenecks in localization is <strong>waiting for human translators to complete their work</strong>. Localazy addresses this with several automated translation features.</p><h3 id="pre-translate-with-multiple-engines">Pre-translate with multiple engines <a class="markdownit-header-anchor" href="#pre-translate-with-multiple-engines">🔗</a></h3><p>You can pre-translate your content using machine translation engines like <strong>Amazon Translate, Google Translate, or DeepL</strong>. This gives you a working translation immediately, which human translators can then review and refine.</p><p>The pre-translation feature works with all content types and doesn't overwrite existing translations, so you can safely use it to fill gaps in your localization coverage.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">🤖</div><div class="kg-callout-text">Learn all about the <a href="/features/machine-translation">built-in machine translation</a> in Localazy.</div></div><h3 id="automations-for-instant-translation">Automations for instant translation <a class="markdownit-header-anchor" href="#automations-for-instant-translation">🔗</a></h3><p>With <a href="/features/automations">Automations</a>, you can <strong>set up rules that automatically translate new content as soon as it's uploaded</strong>. For example, you might configure a workflow that:</p><ol><li>Detects when new strings are added to your project.</li><li>Automatically translates them to your target languages using machine translation.</li><li>Marks them as ready for review by human translators.</li></ol><p>This means new content gets translated immediately, reducing the time between development and your localized release.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">⚙️</div><div class="kg-callout-text">Learn more about <a href="/features/automations">Automations</a>.</div></div><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/items-3.png" class="kg-image" alt loading="lazy" width="1869" height="1056" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/items-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/items-3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/items-3.png 1600w, https://ghost.localazy.com/content/images/2025/07/items-3.png 1869w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="cross-project-translation-memory">Cross-project translation memory <a class="markdownit-header-anchor" href="#cross-project-translation-memory">🔗</a></h3><p>Connect your projects to create a cross-project translation memory. <strong>Up to 5 additional projects can be connected as the source for your translation memory</strong>, ensuring consistency and saving time.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">🔗</div><div class="kg-callout-text">More about <a href="/features/connected-projects">Connected Projects</a>.</div></div><h3 id="duplicity-linking-to-solve-duplicate-strings">Duplicity Linking to solve duplicate strings <a class="markdownit-header-anchor" href="#duplicity-linking-to-solve-duplicate-strings">🔗</a></h3><p>Duplicity Linking helps you prevent translating the same strings repeatedly. Instead of translating identical text multiple times, <strong>you can link duplicate keys together and let them share their translations automatically</strong>.</p><p>This feature works across all languages and even across multiple projects. When you have buttons labeled "Cancel" in different parts of your software, or common phrases that appear in multiple locations, Duplicity Linking will ensure you only translate each unique string once.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">📎</div><div class="kg-callout-text">Learn how <a href="https://localazy.com/features/duplicity-linking">Duplicity Linking</a> works.</div></div><h2 id="streamline-team-collaboration">🤝 Streamline team collaboration <a class="markdownit-header-anchor" href="#streamline-team-collaboration">🔗</a></h2><p>The localization process typically involves multiple individuals with diverse skills and responsibilities. Localazy automates much of the coordination between these team members.</p><h3 id="simple-role-management">Simple role management <a class="markdownit-header-anchor" href="#simple-role-management">🔗</a></h3><p>You can <a href="https://localazy.com/docs/general/defining-user-roles/">define roles and permissions</a> that automatically determine who can translate, review, or approve content. For example:</p><ul><li><strong>Translators</strong> can add new translations, but can't approve them.</li><li><strong>Trusted translators</strong> have their translations approved automatically.</li><li><strong>Reviewers</strong> can approve or reject translations from other team members.</li></ul><p>Everyone gets an automated notification when there is work to be done, or you can <a href="https://localazy.com/blog/how-to-send-slack-group-message-for-translators-using-zapier-integration">build your own notification pipeline with Zapier</a> to customize the workflows. This eliminates the need for manual task assignment and ensures quality control without constant oversight.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/Roles---article.png" class="kg-image" alt loading="lazy" width="1600" height="764" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Roles---article.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Roles---article.png 1000w, https://ghost.localazy.com/content/images/2025/07/Roles---article.png 1600w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="context-automation-with-screenshots">Context automation with screenshots <a class="markdownit-header-anchor" href="#context-automation-with-screenshots">🔗</a></h3><p>You can upload screenshots to their corresponding translation keys, <strong>providing visual context for translators</strong>. The<a href="https://localazy.com/docs/general/screenshots/"> OCR feature</a> can even recognize text in images and suggest relevant keys to link.</p><p><a href="https://localazy.com/blog/figma-series-connect-designs-and-source-keys-via-screenshots">Context screenshots can also be linked with designs in Figma</a>, ensuring translators always see the most current version of your interface.</p><h3 id="continuous-localization-services">Continuous localization services <a class="markdownit-header-anchor" href="#continuous-localization-services">🔗</a></h3><p>If you want to remove human management entirely, Localazy's <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization Team</a> can <strong>handle the entire translation process</strong>. You configure which languages and quality level you want, and professional translators handle everything else automatically.</p><h2 id="deliver-translations-without-developer-involvement">🌎 Deliver translations without developer involvement <a class="markdownit-header-anchor" href="#deliver-translations-without-developer-involvement">🔗</a></h2><p>Once translations are complete, getting them to your users traditionally requires developer intervention. Localazy automates this final step with several delivery methods.</p><h3 id="automated-releases-with-webhooks">Automated releases with webhooks <a class="markdownit-header-anchor" href="#automated-releases-with-webhooks">🔗</a></h3><p><a href="https://localazy.com/features/webhooks">Webhooks</a> let you automate the entire deployment process. You can configure webhooks to:</p><ul><li>📨 Automatically create new releases when translation reviews are complete.</li><li>➡️ Trigger deployment pipelines when new translations are available.</li><li>🔔 Send notifications to your team when specific translation milestones are reached.</li></ul><p>But even better than redeploying your apps with each translation update is to use the Localazy CDN or mobile app OTA Updates!</p><blockquote>🎙️ Did you know that a good Developer Experience (DX/DevEx) could be tremendously benficial to your product development? Listen to <a href="https://localazy.com/blog/s01-ep-06-bridging-the-gap-podcast">our podcast episode on it</a> to find out why and how to improve it.</blockquote><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/Delivery-Transparent.png" class="kg-image" alt loading="lazy" width="1490" height="673" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Delivery-Transparent.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Delivery-Transparent.png 1000w, https://ghost.localazy.com/content/images/2025/07/Delivery-Transparent.png 1490w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="cdn-for-web-applications">CDN for web applications <a class="markdownit-header-anchor" href="#cdn-for-web-applications">🔗</a></h3><p><a href="https://localazy.com/features/language-cdn"><strong>Localazy CDN</strong></a> serves translated files directly to your users from a global network. When translators fix a typo or add a missing translation,<strong> the change propagates worldwide within minutes</strong>. No rebuild, no new deployment needed.</p><p>The CDN integrates with your existing release process through <a href="https://localazy.com/docs/cli/release-tags/">release tags</a>, so you can serve different translation versions for testing and production environments.</p><blockquote>📚 Recommended reading: <a href="https://localazy.com/blog/how-localazy-cdn-reduces-total-cost-of-ownership-with-examples/">How Localazy CDN reduces Total Cost of Ownership (with examples)</a></blockquote><h3 id="ota-updates-for-mobile-apps">OTA updates for mobile apps <a class="markdownit-header-anchor" href="#ota-updates-for-mobile-apps">🔗</a></h3><p>For mobile applications, <strong><a href="https://localazy.com/docs/general/ota-updates">Over-The-Air (OTA) updates</a> deliver new translations without requiring approval from app stores</strong>. This is particularly valuable for iOS apps, where the review process can delay translation fixes by several days. The OTA system integrates seamlessly with Localazy's <a href="https://localazy.com/docs/android/localazy-gradle-plugin">Android</a> and <a href="https://localazy.com/docs/ios/installation-and-setup">iOS SDKs</a>, requiring no changes to your existing code.</p><h2 id="advanced-automation-features">🚀 Advanced automation features <a class="markdownit-header-anchor" href="#advanced-automation-features">🔗</a></h2><p>For teams with complex requirements, Localazy offers several advanced capabilities.</p><h3 id="branching-for-parallel-development">Branching for parallel development <a class="markdownit-header-anchor" href="#branching-for-parallel-development">🔗</a></h3><p>The <strong><a href="https://localazy.com/features/branching">Branching</a></strong> feature allows you to work on multiple versions of your project simultaneously. <strong>Different teams can work on different features in parallel</strong>, with translations managed separately until branches are merged. This mirrors typical development workflows and ensures that experimental features don't interfere with stable translation work.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/Branching-article-1.png" class="kg-image" alt loading="lazy" width="1600" height="866" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Branching-article-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Branching-article-1.png 1000w, https://ghost.localazy.com/content/images/2025/07/Branching-article-1.png 1600w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="format-conversions">Format conversions <a class="markdownit-header-anchor" href="#format-conversions">🔗</a></h3><p>The <strong><a href="https://localazy.com/features/format-conversions">Format Conversions</a> </strong>feature automatically converts between different file formats during upload and download. This is useful for teams that need to maintain multiple file formats for different platforms or legacy systems.</p><h3 id="release-management">Release management <a class="markdownit-header-anchor" href="#release-management">🔗</a></h3><p>The <a href="https://localazy.com/features/releases"><strong>Releases</strong></a> feature creates snapshots of your translations that can be used in different environments. With this, you can continue development and testing while keeping production translations stable until you're ready to release.</p><h2 id="setting-up-your-automated-workflow">🦾 Setting up your automated workflow <a class="markdownit-header-anchor" href="#setting-up-your-automated-workflow">🔗</a></h2><p>Getting started with Localazy automations doesn't require a complete workflow overhaul. You can implement automation gradually:</p><ol><li><strong>Start with integration</strong>: Connect your existing project using the CLI, API, or native integrations.</li><li><strong>Add machine translation</strong>: Set up pre-translation or automated workflows to speed up initial translation.</li><li><strong>Configure team roles</strong>: Define who can translate, review, and approve content.</li><li><strong>Implement delivery automation</strong>: Set up CDN or OTA updates to deliver translations automatically.</li><li><strong>Add advanced features</strong>: Use Webhooks, Branching, and other advanced features as your needs grow.</li></ol><p>The key is to <strong>automate the repetitive tasks that consume the most time</strong>, while maintaining quality controls that ensure your translations meet your standards.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/filters-02.png" class="kg-image" alt loading="lazy" width="1636" height="720" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/filters-02.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/filters-02.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/filters-02.png 1600w, https://ghost.localazy.com/content/images/2025/07/filters-02.png 1636w" sizes="(min-width: 1200px) 1200px"></figure><h2 id="real-world-automation-benefits">🍦 Real-world automation benefits <a class="markdownit-header-anchor" href="#real-world-automation-benefits">🔗</a></h2><p>Teams using Localazy automation report significant improvements in their localization process:</p><ul><li><strong>📞 Reduced communication overhead</strong>: Clear roles and automated workflows eliminate much of the back-and-forth between team members.</li><li><strong>🌎 Faster time-to-market</strong>: Automated translation and delivery means new features can be localized and released simultaneously.</li><li><strong>💸 Lower costs</strong>: Duplicate detection and translation memory reduce the amount of content that needs professional translation.</li><li><strong>👍 Better quality</strong>: Automated context and review processes catch errors before they reach users.</li><li><strong>🧩 Scalable processes</strong>: Automation handles increased translation volume without proportional increases in management overhead.</li></ul><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p><strong>Localazy transforms localization from a manual, time-consuming process into an automated workflow that runs alongside your development process</strong>. You can automate many integration, translation, collaboration and delivery processes to save time while you focus on building great products. </p><p>This applies to all kinds of teams: from small ones localizing their first app to large organizations managing multiple products across dozens of languages. <strong>The automations adapt to you and scale with your needs</strong>. </p><p>Curious? You can start by implementing features gradually instead of trying to automate everything at once. Explore <a href="https://localazy.com/docs/">our documentation</a> and if you need a hand setting up your ideal workflow, <a href="https://localazy.com/contact">contact us</a>.</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/07/Automate-guide-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Automation should work with your team, not against it | Bridging the Gap Podcast, S02 EP10]]></title>
            <link>https://localazy.com/blog/automation-should-work-with-your-team-not-against-it-bridging-the-gap-podcast-s02-ep10</link>
            <guid isPermaLink="false">automation-should-work-with-your-team-not-against-it-bridging-the-gap-podcast-s02-ep10</guid>
            <pubDate>Thu, 24 Jul 2025 15:51:50 GMT</pubDate>
            <description><![CDATA[**What does real-world content automation actually look like? Paul Bratslavsky shares how the Strapi team builds smart workflows with AI tools while letting humans do what they do best.**]]></description>
            <content:encoded><![CDATA[<p>The right tools can help you publish more content faster and work more efficiently. But if you sacrifice your message in the process, what’s the point? That’s the question <strong><a href="https://www.linkedin.com/in/paulbratslavsky/">Paul Bratslavsky</a></strong>, Developer Advocate at<strong> <a href="https://strapi.io">Strapi</a></strong>, keeps pushing teams to ask.</p><p>In the final episode of <strong>Bridging the Gap Season 2</strong>, Paul joins <a href="https://localazy.com/blog/author/marta-g-coloma/" rel="noopener noreferrer nofollow"><strong>Marta G. Coloma</strong></a> and <a href="https://localazy.com/blog/author/jan-bilek/" rel="noopener noreferrer nofollow"><strong>Jan Bílek</strong></a> to talk about what good automation actually looks like — the kind that supports creativity rather than stripping it out. They get into workflows, formats, and translation decisions that still leave room for the human touch. Before you hit play, here’s a quick look at what they covered.</p><h2 id="the-highlights">📝 The highlights <a class="markdownit-header-anchor" href="#the-highlights">🔗</a></h2><h3 id="automation-isnt-about-replacing-people">Automation isn’t about replacing people <a class="markdownit-header-anchor" href="#automation-isnt-about-replacing-people">🔗</a></h3><p>This might sound obvious, but many teams still hesitate to adopt automation because they think it’s a slippery slope to layoffs. Paul pushes back on that fear. The real power of automation, he says, is in helping people do more of what they’re good at <em>faster</em>. At Strapi, that means automating tasks like structuring transcripts into outlines, so team members can focus on writing, editing, and connecting with audiences.</p><h3 id="start-with-tools-that-already-exist">Start with tools that already exist <a class="markdownit-header-anchor" href="#start-with-tools-that-already-exist">🔗</a></h3><p>Paul’s advice? Don’t try to build everything from scratch. Instead, start with platforms like <strong><a href="https://www.airops.com">AirOps</a></strong> and <strong><a href="https://n8n.io">n8n</a></strong>, which offer powerful integrations out of the box. Strapi uses these tools to automate parts of their content pipeline, such as repurposing videos into blog posts or generating headline options for SEO testing. These flows give teams a head start without locking them into rigid templates.</p><h3 id="automated-content-still-needs-a-human">Automated content still needs a human <a class="markdownit-header-anchor" href="#automated-content-still-needs-a-human">🔗</a></h3><p>Even when the workflows are smart, people still need to guide the outcome. At Strapi, automation creates the scaffolding, but humans bring the context, nuance, and quality. This includes tweaking AI-generated outlines, reviewing translations, or rewording sections of their texts to make sure that automation helps them create more efficiently, rather than turn their content into something generic.</p><h2 id="star-quote">🌟 Star quote <a class="markdownit-header-anchor" href="#star-quote">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/BTG-guest-quote-2-2.png" class="kg-image" alt loading="lazy" width="1200" height="536" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/BTG-guest-quote-2-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/BTG-guest-quote-2-2.png 1000w, https://ghost.localazy.com/content/images/2025/07/BTG-guest-quote-2-2.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/MQEee0d4drE?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="What we get wrong about content automation (w/ Paul Bratslavsky) | Bridging the Gap #10, S02"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: What we get wrong about content automation (w/ Paul Bratslavsky) | Bridging the Gap #10, S02" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/1GjpdWDbzRUQfZn7VA6ahY/video?utm_source=oembed"></iframe></figure><h2 id="additional-resources">🗞️ Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><ul><li><a href="https://realproductwork.substack.com">The Real Product Work</a> by Jan Bílek</li><li><a href="https://www.youtube.com/c/codingafterthirty">Paul's YouTube channel</a></li><li><a href="https://localazy.com/tags/strapi">Blog articles about Strapi</a></li><li><a href="https://localazy.com/docs/strapi/strapi-plugin-introduction-installation/">Documentation: Strapi plugin by Localazy</a></li></ul><h2 id="related-episodes">📹 Related episodes <a class="markdownit-header-anchor" href="#related-episodes">🔗</a></h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s02-ep03-bridging-the-gap-podcast-content-driven-growth"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Content-driven growth: Scale by going multilingual | Bridging the Gap Podcast, S02 EP03</div><div class="kg-bookmark-description">How can content shape your success in new markets? In this episode, Alex Kopp explains why a thoughtful multilingual strategy can make the difference in your brand expansion.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/06/BTG-PC-S2Ep02-2.png" alt=""></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s01-ep-07-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Doing SEO for your SaaS in 2025 | Bridging the Gap Podcast, S01 EP07</div><div class="kg-bookmark-description">A question floats over marketer’s heads: Is SEO dead as we knew it? SaaS consultant Michal Pecánek walks us through the new AI-led scenario with practical tips and insights.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep07.png" alt=""></div></a></figure><h2 id="connect-with-the-guest-and-hosts">💬 Connect with the guest & hosts <a class="markdownit-header-anchor" href="#connect-with-the-guest-and-hosts">🔗</a></h2><ul><li><a href="https://www.linkedin.com/in/paulbratslavsky/" rel="noopener noreferrer nofollow">Paul Bratslavsky</a></li><li><a href="https://www.linkedin.com/in/xbilek18" rel="noopener noreferrer nofollow">Jan Bílek</a></li><li><a href="https://www.linkedin.com/in/martagcoloma/" rel="noopener noreferrer nofollow">Marta G. Coloma</a></li></ul><h2 id="more-on-the-blog">📚 More on the blog <a class="markdownit-header-anchor" href="#more-on-the-blog">🔗</a></h2><p>When content constantly evolves, new features, interface tweaks, updated copy, and localization can become a bottleneck. <strong>Automating the translation process helps in reducing friction across teams</strong>, avoiding delays in release cycles, and making updates feel meaningful and smooth to the end user.</p><p>If you’re wondering how to build an automation flow that keeps up with change, this guide breaks it down with real CLI-based examples and setup tips using Localazy:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/how-to-automate-translations-when-working-with-evolving-content-to-save-time"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How to automate translations when working with evolving content to save time? ⏰</div><div class="kg-bookmark-description">Localization of digital content is a never-ending process. Why? Because the content evolves, new elements are added, or obsolete texts are removed. How do you stay in control and automate the process to save time? Try Localazy - and translate your content automatically!</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Mary Okosun</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2023/09/How-to-automate-translations-2.png" alt=""></div></a></figure><p>Plus, if you are a Strapi user, check out how you can sync your content and make it multiligual with the <strong>Localazy Strapi plugin</strong>: </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/features/strapi-localization-plugin"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Strapi Localization Plugin by Localazy</div><div class="kg-bookmark-description">Localize your Strapi website with Strapi i18n and the Localazy localization plugin for Strapi. Now supporting Strapi v5!</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">localazy.com</span><span class="kg-bookmark-publisher">Localazy</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://directus9.localazy.com/assets/c90f302e-5cb1-4a96-be8c-3fbe20bd4d7f/?quality&#x3D;80&amp;format&#x3D;webp" alt=""></div></a></figure><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>As Paul said, we shouldn't aim to automate everything but to automate the <em>right</em> things, so your team can focus on the parts that need a human touch. That’s where Localazy comes in.</p><p>From CLI-powered workflows to human-in-the-loop review systems, Localazy gives you the control to scale multilingual content without sacrificing quality. It’s not about removing humans but about building a system that supports them. Start using Localazy, and localize with smart localization workflows <a href="https://localazy.com/register" rel="noopener noreferrer nofollow">here</a>.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/07/BTG-PC-S2Ep07-4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[A beginner's guide to pluralization in software localization]]></title>
            <link>https://localazy.com/blog/pluralization-in-software-localization-beginners-guide</link>
            <guid isPermaLink="false">pluralization-in-software-localization-beginners-guide</guid>
            <pubDate>Mon, 28 Jul 2025 12:22:27 GMT</pubDate>
            <description><![CDATA[Does your app display awkward plurals in different languages? This guide covers best practices for handling pluralization across languages.]]></description>
            <content:encoded><![CDATA[<p><strong><a href="https://localazy.com/dictionary/pluralization">Pluralization</a> looks easy until you start handling it in code</strong>. For example, English adds an “s” for plurals (e.g., 1 apple, 2 apples), and also has irregular plural forms (e.g., 1 child, 2 children). Other languages, like <a href="https://localazy.com/blog/6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them">Arabic</a>, have six distinct plural forms, while Polish uses one form for 2-4 units and another for 5 or more.</p><p>If you miss these nuances, your app will say things like “2 item” or “5 apple”, breaking immersion and making your UI feel unnatural. Worse, <strong>hardcoding plural rules creates a maintenance nightmare when expanding to new languages</strong>. </p><p>This guide outlines the best tactics for tackling pluralization that every beginner should be aware of.</p><h2 id="the-complexities-of-pluralization">🧮 The complexities of pluralization <a class="markdownit-header-anchor" href="#the-complexities-of-pluralization">🔗</a></h2><p>Pluralization goes beyond the basic plural form, like "one" versus "many." <strong>Languages have <a href="https://localazy.com/docs/general/translating-plurals">different plural categories</a> (or forms) based on numbers</strong>. For instance, English primarily uses "one" (singular) and "other" (plural, for anything other than one). </p><p>However, many other languages have more categories, such as "zero," "few," "many," and "other." Russian, for example, distinguishes between "one," "few," "many," and "other." Arabic has even more intricate rules, including dual forms. Consider the following examples:</p><ul><li><strong>🇬🇧 English:</strong> 1 apple, 2 apples, 5 apples, 0 apples.</li><li><strong>🇷🇺 Russian:</strong> 1 яблоко (yabloko - apple), 2 яблока (yabloka), 5 яблок (yablok), 0 яблок (yablok).</li><li><strong>🇵🇱 Polish:</strong> 1 jabłko, 2 jabłka, 5 jabłek, 0 jabłek.</li></ul><p>As you can see in the example above, the plural forms and the word endings change. These variations are not incidental; they follow specific grammatical rules within each language.</p><h2 id="dos-and-donts-of-pluralization-management">✅ Do's and don'ts of pluralization management <a class="markdownit-header-anchor" href="#dos-and-donts-of-pluralization-management">🔗</a></h2><p> Here are some best practices to follow:</p><h3 id="1-never-hardcode-pluralization-rules">1. Never hardcode pluralization rules <a class="markdownit-header-anchor" href="#1-never-hardcode-pluralization-rules">🔗</a></h3><p><code>if (count === 1) { return "1 apple"; } else { return count + " apples"; }</code></p><p>Hardcoding pluralization rules like in the example above isn’t recommended because it limits flexibility and makes it difficult to change language rules or even add new ones. </p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text">A better approach is to <strong>use i18n libraries, like <a href="https://www.i18next.com/" rel="noopener noreferrer nofollow">i18next</a>, that handle pluralization based on pre-defined language rules.</strong> With i18next, you'll be able to update plural rules and add support for new languages easily.</div></div><h3 id="2-use-a-consistent-approach">2. Use a consistent approach <a class="markdownit-header-anchor" href="#2-use-a-consistent-approach">🔗</a></h3><p>Consistently <strong>use a well-maintained library like the aforementioned <a href="https://localazy.com/dictionary/i18next" rel="noopener noreferrer nofollow">i18next</a> (for JavaScript), vue-i18n (for Vue.js), or Angular's built-in i18n features</strong>. These libraries provide support for different pluralization categories and simplify the implementation process. </p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➕</div><div class="kg-callout-text">In addition, <strong>use placeholders</strong> like <code>count</code>, <code>amount</code> and <code>date</code> within translation strings to handle numbers and do not concatenate number + string!</div></div><p><strong>You can also use the <a href="https://localazy.com/dictionary/icu-message-format/">ICU Message Format</a></strong> to define pluralization rules within your translation files. This format is widely supported and offers flexibility in handling complex pluralization scenarios.</p><h3 id="3-use-automated-validation-tools">3. Use automated validation tools <a class="markdownit-header-anchor" href="#3-use-automated-validation-tools">🔗</a></h3><p>Use validation tools like <a href="https://localazy.com/dictionary/linguistic-quality-assurance">Linguistic Quality Assurance (LQA)</a>, terminology checkers, or other validation features provided by your preferred localization library or platform to <strong>catch pluralization errors early in the development process</strong>.</p><p>Below are some of the errors you can catch using validation tools:</p><ul><li><strong>Missing forms</strong>: The tool can check if all required plural forms are present for each language.</li><li><strong>Inconsistent pluralization</strong>: The tool can identify instances where different plural forms are used for the same string in the same language.</li><li><strong>ICU syntax errors</strong>: The tool can validate the syntax of the ICU Message Format used for defining pluralization rules.</li></ul><blockquote>📖 Related read: <a href="https://localazy.com/blog/beyond-interpolation-multiple-plurals-genders-and-building-lists/">Beyond interpolation: multiple plurals, genders, and building lists</a></blockquote><h2 id="practical-examples-and-implementation">👇 Practical examples and implementation <a class="markdownit-header-anchor" href="#practical-examples-and-implementation">🔗</a></h2><p>Now that we've covered the best practices for managing pluralization, let's move on to a practical example. We'll demonstrate how to handle pluralization in a Next.js application using the i18next library. </p><blockquote>🔔 This guide focuses on adding pluralization features to your existing Next.js application. If you're new to Next.js, explore their <a href="https://nextjs.org/learn-pages-router/basics/create-nextjs-app/setup" rel="noopener noreferrer nofollow">official documentation</a> to get up and running quickly.</blockquote><ol><li>First, install the necessary dependencies with the following command:<code>npm install i18next react-i18next </code> </li><li>Next, within the <strong>src</strong> directory of your Next.js application, create a <strong>components</strong> directory, and inside it, create an i18n.js file with the following snippet:</li></ol><pre><code>//src/components/i18n.js
import i18n from "i18next";
import { initReactI18next } from "react-i18next";
const resources = {
  en: {
    translation: {
      apples_zero: "No apples",
      apples_one: "{{count}} apple",
      apples_other: "{{count}} apples",
    },
  },
  ru: {
    translation: {
      apples_zero: "нет яблок",
      apples_one: "{{count}} яблоко",
      apples_few: "{{count}} яблока",
      apples_many: "{{count}} яблок",
    },
  },
  pl: {
    translation: {
      apples_zero: "Brak jabłek",
      apples_one: "{{count}} jabłko",
      apples_few: "{{count}} jabłka",
      apples_many: "{{count}} jabłek",
    },
  },
};
i18n.use(initReactI18next).init({
  resources,
  lng: "en", // default language
  fallbackLng: "en",
  interpolation: {
    escapeValue: false,
  },
  pluralSeparator: "_", // Important for i18next to distinguish plural forms
});
export default i18n;</code></pre><p>The snippet above does the following:</p><ul><li>Imports the <code>i18n</code> library, which is the major internationalization framework, and also imports <code>initReactI18next</code> to help integrate <code>i18n</code> with React.</li><li>Defines translations for English ( <code>en</code> ), Russian ( <code>ru</code> ), and Polish ( <code>pl</code> ) in the resource object.</li><li>The translation object contains a key ( <code>apples</code> ) and its corresponding plural forms: <code>zero</code>, <code>one</code>, <code>few</code>, <code>many</code>, and <code>other</code>. This structure allows for accurate translation based on the number of apples.</li><li>The <code>i18n</code> instance is initialized using the <code>i18n.init()</code> method. This step involves configuring key settings such as the default language (<code>lng</code>), fallback language (<code>fallbackLng</code>), interpolation options, and the separator used to distinguish plural forms (<code>pluralSeparator</code>).</li></ul><p>The <code>pluralSeparator</code> option is vital for <code>i18next</code> to correctly identify the different plural forms. </p><p>3. Within the same <strong>components</strong> directory, create a new file named <code>pluralForms.js</code> and add this code:</p><pre><code>//src/components/pluralForms.js
"use client";
import React, { useState } from "react";
import { useTranslation } from "react-i18next";
import i18n from "./Translation";
const MyComponent = () =&gt; {
  const { t } = useTranslation();
  const [count, setCount] = useState(0);
  const [language, setLanguage] = useState("en");
  const handleLanguageChange = (lang) =&gt; {
    i18n.changeLanguage(lang);
    setLanguage(lang);
  };
  const Translanguages = [
    { code: "en", name: "English" },
    { code: "ru", name: "Russian" },
    { code: "pl", name: "Polish" },
  ];
  return (
    &lt;div className="container mx-auto p-4"&gt;
      {/* Language Buttons */}
      &lt;div className="flex justify-center space-x-4"&gt;
        {Translanguages.map((lang) =&gt; (
          &lt;button
            key={lang.code}
            onClick={() =&gt; handleLanguageChange(lang.code)}
            className="px-4 py-2 bg-blue-500 text-white rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"
          &gt;
            {lang.name}
          &lt;/button&gt;
        ))}
      &lt;/div&gt;
      {/* Items Counter */}
      &lt;div className="flex justify-center mt-8"&gt;
        &lt;p className="text-xl font-bold"&gt;{t("apples", { count: count })}&lt;/p&gt;
      &lt;/div&gt;
      {/* Add/Minus Buttons */}
      &lt;div className="flex justify-center mt-4 space-x-2"&gt;
        &lt;button
          onClick={() =&gt; setCount(count + 1)}
          className="px-4 py-2 bg-green-500 text-white rounded-md hover:bg-green-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500"
        &gt;
          Add Apple
        &lt;/button&gt;
        &lt;button
          onClick={() =&gt; setCount(count - 1)}
          disabled={count === 0}
          className="px-4 py-2 bg-red-500 text-white rounded-md hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500"
        &gt;
          Minus Apple
        &lt;/button&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  );
};
export default MyComponent;</code></pre><p>The above snippet does the following :</p><ul><li>It imports <code>useState</code> modules for managing component state, <code>useTranslation</code> for handling translations with <code>i18next</code>, and imports the initialized <code>i18n</code> instance from the <code>i18n.js</code> file.</li><li>The component provides language selection buttons for English, Russian, and Polish. When a language button is clicked, the <code>handleLanguageChange</code> function updates the language state and triggers a language change in the <code>i18n</code>instance.</li><li>Then it renders the current count of apples using the <code>t</code> function from <code>useTranslation</code> and the <code>items</code> key, which is dynamically translated based on the current language and the number of apples.</li></ul><p>4. Now import and render the <code>pluralForms</code> component inside the <code>page.js</code> file with the below snippet:</p><pre><code>
//src/app/page.js
import React from "react";
import MyComponent from "../components/pluralForms";
function page() {
  return (
    &lt;div&gt;
      &lt;MyComponent /&gt;
    &lt;/div&gt;
  );
}
export default page;</code></pre><p>Upon saving and starting the application, you should see the following in your browser:</p><figure class="kg-card kg-image-card"><img src="https://paper-attachments.dropboxusercontent.com/s_6E56B48A1F4E7D80BEFD74A8AC9E6C19FBAA8ACDE393A273007267A31319C77E_1738560190963_ScreenRecording2025-02-03at06.17.19-ezgif.com-video-to-gif-converter.gif" class="kg-image" alt loading="lazy"></figure><p>This example demonstrates how to define plural forms in a translation file and use the <code>t</code> function from <code>react-i18next</code> to display the correct plural form based on the <code>count</code> variable. Also, by defining translations with placeholders for different plural forms, <strong>various grammatical structures and edge cases (like zero or large numbers) were handled with ease</strong>. </p><h2 id="how-to-simplify-pluralization-with-localazy">🪁 How to simplify pluralization with Localazy <a class="markdownit-header-anchor" href="#how-to-simplify-pluralization-with-localazy">🔗</a></h2><p>Localazy takes the headache out of <a href="https://localazy.com/features/plurals">plural localization</a> by automatically handling all those tricky language rules. Translators see exactly what plural forms they need to fill in to cover all the cases.</p><p>Just make sure to define the correct plural form that you are using in your <a href="https://localazy.com/features/cli">CLI configuration</a>. Localazy provides built-in tools and features for managing the translations and their plural forms across all languages.</p><p>Some of the features that can help with proper plural localization also include:</p><ul><li><strong>📝 Context sharing:</strong>  Add context information to your translations and help translators understand the meaning and usage of each string.</li><li><strong>📖 Translation memory:</strong> Reuse translations across projects, reducing the amount of work required.</li><li>🎲 <strong>Custom plurals definition</strong>: If your i18n library expects something other than standard plurals for a given language, you can adjust the way Localazy handles them. </li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/Plurals-tables.png" class="kg-image" alt loading="lazy" width="1188" height="710" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Plurals-tables.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Plurals-tables.png 1000w, https://ghost.localazy.com/content/images/2025/07/Plurals-tables.png 1188w" sizes="(min-width: 720px) 720px"></figure><p>The benefits of using Localazy when it comes to plurals:</p><ul><li><strong>Improved consistency</strong>: Localazy helps you maintain consistent pluralization across all your languages.</li><li><strong>Reduced errors</strong>: Automated checks help you catch mistakes before they reach your users.</li><li><strong>Streamlined workflows</strong>: Localazy simplifies the translation process, making it easier for translators to work on your projects.</li></ul><h3 id="configure-localazy-to-recognize-variables">Configure Localazy to recognize variables <a class="markdownit-header-anchor" href="#configure-localazy-to-recognize-variables">🔗</a></h3><p>There are <a href="https://localazy.com/docs/cli/json-format#defined-by-suffix" rel="noreferrer nofollow noopener">different plural variants</a> that Localazy supports for the given file format. </p><p>Below is an example configuration for the "underscore postfix" variant:</p><pre><code>
//localazy.json

{
  "writeKey": "YOUR WRITE KEY",
  "readKey": "YOUR READ KEY",
  "upload": {
    "files": "public/locales/translations/plurals.json",
    "type": "json",
    "features": ["plural_postfix_us"]
  },
}</code></pre><p>The <code>["plural_postfix_us"]</code> tells Localazy that the translation file uses suffixes to define plural variants. The suffix <code>_us</code> indicates that the plural forms follow an underscore pattern. Below is an example of how to set up a plural variant in your React application.</p><p>First, create a JSON file (e.g., <code>plurals.json</code>) in the public folder of your React project. If you are handling pluralization for just English, then define the variants like in the below using <code>_one</code> and <code>_other</code> suffixes:</p><pre><code>
{
  "apple_one": "1 apple",
  "apple_other": "{{count}} apples"
}</code></pre><p>Next, update the <code>localazy.json</code> file to include the <code>features</code> option:</p><pre><code>
//localazy.json
{
  "writeKey": "YOUR_WRITE_KEY",
  "readKey": "YOUR_READ_KEY",
  "upload": {
    "files": "public/locales/translations/plurals.json",
    "type": "json",
    "features": ["plural_postfix_us"]
  },
  "download": {
    "files": "public/locales/ios-app/${iosLprojFolder}/Localizable.strings"
  }
}
</code></pre><p>In the snippet above:</p><ul><li><code><strong>files</strong></code>: Specifies the path to the translation file (public/locales/translations/plurals.json).</li><li><code><strong>features</strong></code>: Includes plural_postfix_us to handle plural variants with an underscore pattern.</li></ul><p>Lastly, upload the translations with the localazy upload command:</p><p><code>localazy upload</code></p><p>The above command uploads the <code>plurals.json</code> file and makes sure that the variants ( <code>_one</code>,<code>_other</code>) are recognized and processed correctly by Localazy.</p><p>Later, when you download the translated file, e.g., for the Polish language, the plurals would look like this:</p><pre><code>
{
  "apple_one": "1 jabłko",
  "apple_few": "{{count}} jabłka",
  "apple_many": "{{count}} jabłek"
}</code></pre><h2 id="next-steps">➡️ Next steps <a class="markdownit-header-anchor" href="#next-steps">🔗</a></h2><p>Implementing these best practices will result in a more consistent and user-friendly experience for your app users, regardless of their language.</p><p>Explore our <a href="https://localazy.com/docs" rel="noopener noreferrer nofollow">documentation</a> to further simplify your localization process and take your multilingual development to the next level. The integrated machine translation will help you reach new markets faster, and Localazy will serve as a source of truth for your translation, making collaboration with your team and translators much easier.</p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/06/Pluralization-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Succeeding in Switzerland means localizing from day one | Bridging the Gap Podcast, S02 EP09]]></title>
            <link>https://localazy.com/blog/suceeding-in-switzerland-means-localizing-from-day-one-bridging-the-gap-s02-ep09</link>
            <guid isPermaLink="false">suceeding-in-switzerland-means-localizing-from-day-one-bridging-the-gap-s02-ep09</guid>
            <pubDate>Thu, 24 Jul 2025 15:26:11 GMT</pubDate>
            <description><![CDATA[What does it take to launch a fintech app in a country with four official languages? Christina Hammer, CEO of Clanq, shares what her team learned from going multilingual from the start.]]></description>
            <content:encoded><![CDATA[<p>A common misconception among startups is that multilingual support is a complementary feature <a href="https://localazy.com/blog/mythbusters-start-localization-once-product-is-done/">they can add later on</a>. For <a href="https://www.linkedin.com/in/christinahammerdewall/"><strong>Christina Hammer</strong></a>, CEO of the Swiss-German fintech app <a href="https://clanq.ch"><strong>Clanq</strong></a>, language was the foundation of a good launch when they introduced the product in Switzerland.</p><p>In this episode of <strong>Bridging the Gap</strong>, Christina joins <a href="https://localazy.com/blog/author/marta-g-coloma/" rel="noopener noreferrer nofollow"><strong>Marta G. Coloma</strong></a> and <a href="https://localazy.com/blog/author/jan-bilek/" rel="noopener noreferrer nofollow"><strong>Jan Bílek</strong></a> to share how Clanq launched on <strong>four languages from day one</strong>, what went wrong (like formal French copy no one reviewed), and how working with <strong><a href="https://localazy.com/partnerships/mindnow/">Mindnow</a></strong> and <strong>Localazy</strong> helped them scale without compromising on clarity or trust.</p><h2 id="the-highlights">📝 The highlights <a class="markdownit-header-anchor" href="#the-highlights">🔗</a></h2><h3 id="localization-was-a-trust-decision">Localization was a trust decision <a class="markdownit-header-anchor" href="#localization-was-a-trust-decision">🔗</a></h3><p><a href="https://hub.localazy.com/en/regions/ch-switzerland">Switzerland</a> is unique: four national languages, strict financial regulations, and high customer expectations. Christina knew that offering only one or two languages wasn’t an option. "It's a banking app.<strong> If it’s not in your language, it doesn’t feel Swiss, it doesn’t feel secure</strong>," she says<em>.</em> That decision impacted nearly everything, from UX to onboarding flows.</p><h3 id="skip-the-developer-english">Skip the “developer English” <a class="markdownit-header-anchor" href="#skip-the-developer-english">🔗</a></h3><p>One of the biggest lessons? <strong>Never let internal dev copy go straight into production</strong>. Christina’s team realized late that their French copy, meant to be informal and family-friendly, had been translated using formal language throughout. Fixing it meant rewriting every string manually.<em> </em>“Now we review every design before it’s developed — not after.”</p><h3 id="build-a-solid-first-iteration-first">Build a solid first iteration first <a class="markdownit-header-anchor" href="#build-a-solid-first-iteration-first">🔗</a></h3><p>If she could do it again, Christina wouldn’t start translating all the materials at once. Instead, she’d build <strong>one full version first, and only then translate it to all the languages</strong>. “Doing it in four languages from the start made the iteration slower and more expensive.”</p><h3 id="set-internal-language-standards-asap">Set internal language standards ASAP <a class="markdownit-header-anchor" href="#set-internal-language-standards-asap">🔗</a></h3><p>Christina’s team uses a shared document, <strong>a simple style guide,</strong> across departments and partners to keep terminology consistent. Everything from feature names to partner communication goes through the same language lens. This was indispensable when working with agencies, cashback partners, and banks.</p><h2 id="star-quote">🌟 Star quote <a class="markdownit-header-anchor" href="#star-quote">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/BTG-guest-quote-2-1.png" class="kg-image" alt loading="lazy" width="1200" height="536" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/BTG-guest-quote-2-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/BTG-guest-quote-2-1.png 1000w, https://ghost.localazy.com/content/images/2025/07/BTG-guest-quote-2-1.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/rT5-E52Rdow?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Making a fintech app work in four languages (w/ Christina Hammer) | Bridging the Gap Podcast #9, S02"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Making a fintech app work in four languages (w/ Christina Hammer) | Bridging the Gap Podcast #9, S02" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/1AiRpSKMo3jsUXHCPXMDQ6/video?si=OiXYRG0ATFG-MxSdAjPwVw&utm_source=oembed"></iframe></figure><h2 id="additional-resources">🗞️ Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><ul><li><a href="https://mindnow.io/en/projects/clanq-powered-by-corner" rel="noopener noreferrer nofollow">Family banking in Switzerland: Launch of the Clanq app</a></li><li><a href="https://realproductwork.substack.com/" rel="noopener noreferrer nofollow">The Real Product Work</a> by Jan Bílek</li><li><a href="https://clanq.ch/en/author/christina_hammer/" rel="noopener noreferrer nofollow">Articles on Clanq from Christina</a></li></ul><h2 id="related-episodes">📹 Related episodes <a class="markdownit-header-anchor" href="#related-episodes">🔗</a></h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s02-ep-02-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Evidence vs opinion: How to avoid launching on gut feeling alone | Bridging the Gap Podcast, S02 EP02</div><div class="kg-bookmark-description">What’s the secret to making better decisions when entering new markets? In this episode, Itamar Gilad explains why testing ideas backed on solid data helps you move faster and smarter.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S2Ep02.png" alt=""></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s01-ep-02-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Get started with ISO: Certifying your business | Bridging the Gap Podcast, S01 EP02</div><div class="kg-bookmark-description">First time going through the process of getting ISO certified? In this episode, cybersecurity advocate Ferry Haris lays out the essential steps to make your company compliant and avoid complications down the road.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep02.png" alt=""></div></a></figure><blockquote>📲 <a href="https://www.linkedin.com/company/bridging-the-gap-podcast-btg/" rel="noopener noreferrer nofollow">Follow <em>Bridging the Gap</em> on LinkedIn</a> to catch the next episode!</blockquote><h2 id="connect-with-the-guest-and-hosts">💌 Connect with the guest & hosts <a class="markdownit-header-anchor" href="#connect-with-the-guest-and-hosts">🔗</a></h2><ul><li><a href="https://www.linkedin.com/in/christinahammerdewall/" rel="noopener noreferrer nofollow">Christina Hammer</a></li><li><a href="https://www.linkedin.com/in/xbilek18/" rel="noopener noreferrer nofollow">Jan Bílek</a></li><li><a href="https://www.linkedin.com/in/martagcoloma/" rel="noopener noreferrer nofollow">Marta G. Coloma</a></li></ul><h2 id="more-on-the-blog">📚 More on the blog <a class="markdownit-header-anchor" href="#more-on-the-blog">🔗</a></h2><p>If your product's eye is set on Switzerland's neighbors, we got you! 👁️ Our guide covering the German market explains what to watch out for when translating for German speakers, from legal rules and payment habits to dialects and everyday expectations:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/german-localization-fundamentals-enter-this-prosperous-european-market-with-confidence"><div class="kg-bookmark-content"><div class="kg-bookmark-title">German localization fundamentals: Enter this prosperous European market with confidence</div><div class="kg-bookmark-description">The attractive economic opportunities of the German market make it a fertile region for expansion. 95% of Germany’s 84M inhabitants speak German, but its influence goes beyond the country’s borders, making it your secret hack to grow within the European Union.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Localazy Team</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2024/05/DE.png" alt=""></div></a></figure><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a translation platform that helps teams manage multilingual content with clarity and control. Built for developers and management teams, it simplifies updates, reduces manual work, and keeps your product language consistent across languages.</p><p><a href="https://localazy.com/register" rel="noopener noreferrer nofollow">Try Localazy for free</a> and see how it fits into your workflow.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/07/BTG-PC-S2Ep07-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Automated Localization: GitHub Actions ❤ Localazy]]></title>
            <link>https://localazy.com/blog/automated-localization-github-actions-localazy</link>
            <guid isPermaLink="false">automated-localization-github-actions-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:31:46 GMT</pubDate>
            <description><![CDATA[Setup fully automated localization for your project once and forget about all the hassle forever. It's fun with Github Actions!]]></description>
            <content:encoded><![CDATA[<p>You have probably already heard of continuous localization. It’s important as software development is a never-ending process, and with new features, you usually need to add new strings.</p><p>Fully <strong>automated localization</strong> is a level above it. As a developer, you only set up it once, and then, you can forget about it completely.</p><p>Let's see how you can achieve this using Localazy. As we are going to use <strong><a href="https://github.com/features/actions">Github Actions</a></strong>, it’s gonna be fun! </p><h2 id="configure-your-localization-platform">⚙️ Configure your localization platform <a class="markdownit-header-anchor" href="#configure-your-localization-platform">🔗</a></h2><p>Let’s suppose that your mobile, desktop or web app is ready for localization, and strings in the source language are stored in JSON, YAML, iOS’ strings, Flutter’s ARB, or some other common format.</p><p><a href="https://localazy.com/register">Sign up to Localazy,</a> create a new project, <a href="https://localazy.com/docs/cli/installation">install the CLI tool</a>, and then create and test your <code>localazy.json</code> configuration. You should be able to upload the source language files and download localized ones.</p><p>My configuration is as simple as:</p><pre><code class="language-kotlin">{
  "readKey": "read-key",
  "writeKey": "write-key",

  "upload": {
    "type": "json",
    "files": [{
        "pattern": "src/**/locales/${lang}.json",
        "lang": "inherited",
        "path": "${path}"
      }]
  },

  "download": {
    "files": "${path}/${lang}.json"
  }
}
</code></pre><p>From this moment on, Localazy will be <strong>your control room to manage translations, translators, and contributors</strong>. You will be able to invite anyone from your team to help you localize the app, <a href="https://localazy.com/blog/guide-localazy-translation-services/">order professional translations</a> from our vetted pool of linguists, and <a href="https://localazy.com/features/machine-translation/">use MT and AI</a>, as well as <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">shared strings from other apps</a>, to speed up the localization process.</p><p>Creating and testing <code>localazy.json</code> is essential as it’s used by the <strong>Github Actions</strong> described below.</p><h2 id="setup-secrets">⚒️ Setup secrets  <a class="markdownit-header-anchor" href="#setup-secrets">🔗</a></h2><p>Private data should not be committed, and so, before the commit, let’s <strong>remove the read and write keys from the configuration file</strong> above and instead place them to Github Secrets.</p><p>Create a repository on Github if you haven’t yet. Go to <strong>Settings &gt; Secrets</strong>, and add keys here. My configuration looks like this:</p><figure class="kg-card kg-image-card"><img src="https://localazy.com/_ipx/f_webp,q_85/https://content.localazy.com/github_actions/secrets.png" class="kg-image" alt="https://content.localazy.com/github_actions/secrets.png" loading="lazy"></figure><h2 id="filter-out-the-localized-files">❌ Filter out the localized files <a class="markdownit-header-anchor" href="#filter-out-the-localized-files">🔗</a></h2><p>The source language file (in my case <code>en.json</code>) is the source of truth, and for localized files, it’s the latest version on Localazy. I don’t need those files to be committed to my repository.</p><p>With the following command placed in the <code>locales</code> folder, we will make sure to <strong>upload our source language files and ignore the localized ones</strong>:</p><pre><code class="language-yaml">src/**locales/*.json
!src/**/locales/en.json</code></pre><h2 id="automate-upload">🔼 Automate upload <a class="markdownit-header-anchor" href="#automate-upload">🔗</a></h2><p>If you are not familiar with <a href="https://github.com/features/actions">Github Actions</a>, I recommend reading more about it on their site. It may take some time to get used to it, but it saves you a lot of time. We use it extensively for building releases of our Localazy CLI (<a href="https://localazy.com/blog/localazy-cli-sofware-localization-tool-kotlin-github">here's an example</a>).</p><p>The configuration below is all I need for uploading the source language file <code>en.json</code> to Localazy anytime I merge it to a staging branch. <strong>I can run the pipeline anytime there is a change in my source file, and it's done</strong>.</p><p>All you need to do is to create a <code>.github/workflows/upload.yml</code> file with this content:</p><pre><code class="language-yaml">name: Upload to Localazy
on:
  push:
    paths:
      - 'src/**/locale/en.json'
    branches: [staging]

jobs:
  localazy-upload:
    name: Upload strings to Localazy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: localazy/upload@v1
        with:
          read_key: ${{ secrets.LOCALAZY_READ_KEY }}
          write_key: ${{ secrets.LOCALAZY_WRITE_KEY }}
</code></pre><p>If you need to fine-tune it, here's <a href="https://github.com/marketplace/actions/localazy-upload">the documentation for the upload action on Github Marketplace</a>.</p><p>It’s also simple to configure the <code>on</code> clause to upload strings to Localazy only for releases, certain tags or branches. <a href="https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#on">See the configuration on Github Docs</a>.</p><p><strong>On each push touching <code>en.json</code>, I get this beauty:</strong></p><figure class="kg-card kg-image-card"><img src="https://localazy.com/_ipx/f_webp,q_85/https://content.localazy.com/github_actions/upload.png" class="kg-image" alt="https://content.localazy.com/github_actions/upload.png" loading="lazy"></figure><h2 id="automate-download">🔽 Automate download <a class="markdownit-header-anchor" href="#automate-download">🔗</a></h2><p>When the time comes to build and release a new version of your app, you'll need to have all your translations available. Depending on how your whole build pipeline is set up, there are several ways to get them:</p><h3 id="method-1-trigger-the-download-command-through-github">Method 1: Trigger the download command through Github <a class="markdownit-header-anchor" href="#method-1-trigger-the-download-command-through-github">🔗</a></h3><p>One of the most common approaches is to <strong>use a Github action to trigger a single command defined in the repository</strong>. This activates a whole sequence of chained scripts that lead to building the full application.</p><p>For this, just include the <code>localazy download</code> command at the beginning of the command so that the bundled application includes all the available translations.</p><h3 id="method-2-create-a-download-pipeline">Method 2: Create a download pipeline <a class="markdownit-header-anchor" href="#method-2-create-a-download-pipeline">🔗</a></h3><p>Another approach is <strong>building a pipeline with several Github actions </strong>that may pass workflows artifacts between each other.</p><p>If this is your option, define an action to download translations from Localazy and pass the data forward to the following actions. </p><p>Create the file <code>.github/workflows/download.yml</code> for downloading the latest version of localizable files whenever the tag <code>v*</code> is pushed:</p><pre><code class="language-yaml">name: Download from Localazy
on: 
  push:
    tags:
    - 'v*'

jobs:
  localazy-download-test:
    name: Download strings from Localazy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: localazy/download@v1
        with:
          read_key: ${{ secrets.LOCALAZY_READ_KEY }}
          write_key: ${{ secrets.LOCALAZY_WRITE_KEY }}
          
      - run: |
          # Test that localized files were downloaded by listing 
          # the content of locales folder.
          ls locales/*.json
</code></pre><p>Of course, this example effectively does nothing as files are only downloaded to the action, and if we don’t use them to produce the release build, they are lost once the action is finished and cleared.</p><p>The documentation for the <code>localazy/download</code> action is available on <a href="https://github.com/marketplace/actions/localazy-download" rel="noopener noreferrer nofollow">Github Marketplace</a>.</p><p><strong>Pushing <code>v2</code> tag to my test repository (notice that there is <code>cs.json</code> file):</strong></p><figure class="kg-card kg-image-card"><img src="https://localazy.com/_ipx/f_webp,q_85/https://content.localazy.com/github_actions/download.png" class="kg-image" alt="https://content.localazy.com/github_actions/download.png" loading="lazy"></figure><h2 id="source-code">🔦 Source code  <a class="markdownit-header-anchor" href="#source-code">🔗</a></h2><p>The source code of a <a href="https://github.com/localazy/github-actions-sample">demonstrational project for this post is available on Github</a>. Do not forget to explore the content of the <code>.github/workflows</code> folder!</p><h2 id="closing-words">✔️ Closing words  <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>As you can see, it’s simple enough to completely remove the localization burden from your shoulders with Localazy. No more file handling: <strong>all the translations of your lovely app can be managed in a single place</strong> with a beautiful UI designed for developers. </p><p>And this is just the beggining — if you wanna automate your localization further, check our <a href="https://localazy.com/features/automations/">Automations</a> feature or <a href="https://localazy.com/contact/">contact us</a> so we can help you with your personal setup.</p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/02/technical-article-github-actions--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[6 ways software localization goes wrong when you're growing fast]]></title>
            <link>https://localazy.com/blog/6-ways-software-localization-goes-wrong-when-youre-growing-fast</link>
            <guid isPermaLink="false">6-ways-software-localization-goes-wrong-when-youre-growing-fast</guid>
            <pubDate>Fri, 03 Oct 2025 10:07:16 GMT</pubDate>
            <description><![CDATA[Expanding to new markets with Excel sheets and email threads? Here's how real product teams solved the six biggest localization scaling problems, from automation bottlenecks to team conflicts that slow everything down.]]></description>
            <content:encoded><![CDATA[<p>Your product just hit product-market fit. Usage is growing, revenue is climbing, and <strong>your investors want you to expand into new markets.</strong> "How hard can localization be?" they ask.</p><p>Six months later, your developers are copy-pasting translation files instead of shipping features. Your project manager chases translators via email all day. That "quick" German launch has been "90% done" for three weeks because of constant translation problems.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/fine.png" class="kg-image" alt loading="lazy" width="1678" height="719" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/fine.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/fine.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/fine.png 1600w, https://ghost.localazy.com/content/images/2025/07/fine.png 1678w" sizes="(min-width: 1200px) 1200px"></figure><p>We've worked with hundreds of product teams whose experiences are not far off from the example above. <strong>The companies that break through don't just translate more content: they build localization processes that actually scale</strong>. Here are six real problems our customers faced when scaling internationally, and the specific solutions that got them unstuck.</p><h2 id="common-problems-in-localization-scaling">⚠️ Common problems in localization scaling <a class="markdownit-header-anchor" href="#common-problems-in-localization-scaling">🔗</a></h2><h3 id="1-manual-work-is-killing-your-efficiency">1. Manual work is killing your efficiency <a class="markdownit-header-anchor" href="#1-manual-work-is-killing-your-efficiency">🔗</a></h3><p>Your current localization process probably looks something like this: developers upload new strings, someone manually sends them to translators, you wait for files to come back via email, then your dev team manually weaves everything back into the product. All that manual work is probably slowing you down. 👷</p><blockquote>📎 Learn the <a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">12 reasons why Localazy is better than spreadsheets for software localization projects</a></blockquote><p>Quick translation with ChatGPT <a href="https://localazy.com/blog/how-to-use-chatgpt-to-your-advantage-in-translation-with-examples-gpt-series-1">won't save you here either</a>. <strong>You need proper automation that adapts to your workflow and priorities</strong>.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/images---Automated-workflows-3.png" class="kg-image" alt loading="lazy" width="1678" height="618" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/images---Automated-workflows-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/images---Automated-workflows-3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/images---Automated-workflows-3.png 1600w, https://ghost.localazy.com/content/images/2025/07/images---Automated-workflows-3.png 1678w" sizes="(min-width: 1200px) 1200px"></figure><p>Here's what our users do to cut translation turnaround times with Localazy:</p><ul><li><strong>▶️ Automatic pre-translation</strong> happens the moment your developers upload new strings using <a href="https://localazy.com/features/machine-translation">built-in machine translation</a> or AI.</li><li><strong>🔔 Notifications</strong> go out to relevant users and translators who review and improve critical content.</li><li><strong>📨 No translators on staff?</strong> Order professional translation services directly through our <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization Team</a>.</li></ul><p><strong>Set up these workflows once, and they run forever</strong>. Your <a href="https://localazy.com/features/cli">CLI integration</a> pushes new strings, <a href="https://localazy.com/features/automations">Automations</a> trigger machine translation, and human reviewers get notified only for content that needs their attention.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text">The result? <strong>You're production-ready in seconds instead of hours</strong>, and human experts handle everything that actually matters.</div></div><h3 id="2-your-community-wants-to-help-but-youre-not-set-up-for-it">2. Your community wants to help, but you're not set up for it <a class="markdownit-header-anchor" href="#2-your-community-wants-to-help-but-youre-not-set-up-for-it">🔗</a></h3><p>Maybe you have a strong community in a particular country but don't want to invest in professional translations yet. Or you're in a regulated industry and need to involve local employees from your company. </p><p><strong>A major pharmacy chain and a VR cycling platform</strong> both solved this by bringing their people directly into the translation process. <strong>Localazy doesn't charge extra for additional users</strong>, so you can invite <a href="https://localazy.com/case-study/rouvy">hundreds of VR cycling enthusiasts to translate your product into Chinese</a>. Or invite selected pharmacists from your Romanian branch to review Google Translate's attempts at translating drug interactions on your e-commerce site (before it accidentally tries to harm your customers).</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/group-2.png" class="kg-image" alt loading="lazy" width="1678" height="848" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/group-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/group-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/group-2.png 1600w, https://ghost.localazy.com/content/images/2025/07/group-2.png 1678w" sizes="(min-width: 1200px) 1200px"></figure><p>Use <a href="https://localazy.com/features/language-permissions">Language Permissions</a> to restrict contributors to only the languages they're qualified for, and our review system will ensure quality control before anything goes live.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text">The result? <strong><a href="https://localazy.com/features/share-tm">Free translations from your community</a> or easy involvement of local experts</strong> who actually understand your business.</div></div><h3 id="3-duplicate-strings-and-team-conflicts-are-inevitable">3. Duplicate strings and team conflicts are inevitable <a class="markdownit-header-anchor" href="#3-duplicate-strings-and-team-conflicts-are-inevitable">🔗</a></h3><p>How many developers do you have? How many development <em>teams</em>? </p><p>The bigger you get, the more inevitable it becomes that you'll create duplicate strings or that teams will overwrite each other's work. 🤼</p><p>Our advanced customers handle conflicts in different ways, but the most sophisticated approach uses <a href="https://localazy.com/features/branching">Project Branching</a>. <strong>A major e-commerce platform runs about seven concurrent branches of its main project</strong> within the Localazy platform. A developer working on a new feature doesn't have to worry about conflicting with the production project.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/branching-2.png" class="kg-image" alt loading="lazy" width="1678" height="848" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/branching-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/branching-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/branching-2.png 1600w, https://ghost.localazy.com/content/images/2025/07/branching-2.png 1678w" sizes="(min-width: 1200px) 1200px"></figure><p>The bonus is that <strong>translators can start working on translations even while a new funcionality is still in development</strong>. When everything's ready, you merge branches with built-in conflict resolution and move forward. Those duplicates can also be dealt with: instead of translating buttons like "Save" and "Cancel" as many times as you have modules, you can use our <a href="https://localazy.com/features/connected-projects">Connected Projects</a> feature to share <a href="https://localazy.com/features/translation-memory">Translation Memory</a> across projects. </p><p>But identical text doesn't always have identical meaning. That's why we built <a href="https://localazy.com/features/duplicity-linking">Duplicity Linking</a>. <strong>One string acts as the source for others and shares translations between them</strong>. The rest stay hidden from translators, saving time, money, and confusion about context. Share as in "sharing content" or share as in "stock shares"? 🤔 Solve it once and you're done.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text">The result? Teams work independently without stepping on each other. <strong>Consistent translations across everything</strong>.</div></div><h3 id="4-fixing-translation-bugs-takes-forever">4. Fixing translation bugs takes forever <a class="markdownit-header-anchor" href="#4-fixing-translation-bugs-takes-forever">🔗</a></h3><p>What happens when you discover a translation error in production? Do you call the developers to swap out the text? When you want to add an entirely new language, how long will that take them? ⌛</p><p>Developers prefer programming to copy-pasting text files. Customers use <a href="https://localazy.com/features/language-cdn">Localazy CDN</a> to save developer time and speed up translation delivery to production.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/Illustrated-delivery.png" class="kg-image" alt loading="lazy" width="1767" height="876" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/Illustrated-delivery.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/Illustrated-delivery.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/Illustrated-delivery.png 1600w, https://ghost.localazy.com/content/images/2025/07/Illustrated-delivery.png 1767w" sizes="(min-width: 1200px) 1200px"></figure><p>Here's how it works: changes you publish in Localazy are available on the CDN within minutes. <strong>Connect your production server to the CDN, and you don't need to bother developers when you find a typo</strong>. Use <a href="https://localazy.com/features/releases">Releases</a> to manage different versions for staging and production environments.</p><p>For mobile apps, we have <a href="https://localazy.com/faq/ota-updates/how-do-ota-updates-work-with-localazy?srsltid=AfmBOorwWLm65tSI08UsKu3EacQByxUc18bkva9BL1VEm_3gLN0UA20x">OTA (Over-the-Air) updates</a> that work on the same principle. You don't have to wait for Apple or Google store approval.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text">The result? <strong>Current content within minutes, without the stress</strong> — <a href="https://localazy.com/blog/how-localazy-cdn-reduces-total-cost-of-ownership-with-examples?srsltid=AfmBOoo7EYrtfsEMut6zYSOU2KC3sw2VKgmpmR6l15MqGVnVVjkiGYTy#two-real-life-cdn-success-stories">and lower costs</a> as you scale.</div></div><h3 id="5-everything-lives-in-different-tools">5. Everything lives in different tools <a class="markdownit-header-anchor" href="#5-everything-lives-in-different-tools">🔗</a></h3><p>Translating a mobile app is one thing, but what happens when you also want to translate your website, documentation, or Figma designs?</p><p>You need integrations that let you manage everything in one place,<strong> draw from shared context, and track progress</strong> <strong>across all your content</strong>.</p><blockquote>📎 Find your <a href="/integrations">integration</a> among 50+ file formats and 3rd-party solutions, from CMS to Helpdesk</blockquote><p>Our native integrations with <a href="https://localazy.com/features/figma-localization-plugin">Figma</a>, <a href="https://localazy.com/features/strapi-localization-plugin">Strapi</a>, <a href="https://localazy.com/features/storyblok-localization-plugin">Storyblok</a>, <a href="https://localazy.com/features/webflow-localization">Webflow</a>, and <a href="https://localazy.com/features/intercom-localization-plugin">Intercom</a> allow you to manage translations for designs, websites, and help documentation all from one dashboard — and without the hassle of juggling multiple tools. 🤹‍♂️</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/0530e724-bd5e-49ed-90ae-37a370d7e7f6.png" class="kg-image" alt loading="lazy" width="1678" height="848" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/0530e724-bd5e-49ed-90ae-37a370d7e7f6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/0530e724-bd5e-49ed-90ae-37a370d7e7f6.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/0530e724-bd5e-49ed-90ae-37a370d7e7f6.png 1600w, https://ghost.localazy.com/content/images/2025/07/0530e724-bd5e-49ed-90ae-37a370d7e7f6.png 1678w" sizes="(min-width: 1200px) 1200px"></figure><p>Use <a href="https://localazy.com/features/connected-projects">Connected Projects</a> to share <a href="https://localazy.com/features/glossary">glossaries</a> and your <a href="https://localazy.com/features/translation-memory">Translation Memory</a> across all these different content sources, so your brand voice stays consistent whether someone's reading your app, your website, or your help docs.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text">The result?<strong> You manage everything in one place</strong>.</div></div><h3 id="6-context-gets-lost-in-translation">6. Context gets lost in translation <a class="markdownit-header-anchor" href="#6-context-gets-lost-in-translation">🔗</a></h3><p>I mentioned context in the previous section, but let's dig deeper.</p><p>How do you effectively pass context to translators? Does your agency ask follow-up questions via email, and <strong>will you have to go through this again when you add the next language?</strong> 🫗</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/07/glossary.png" class="kg-image" alt loading="lazy" width="1678" height="848" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/glossary.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/glossary.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/07/glossary.png 1600w, https://ghost.localazy.com/content/images/2025/07/glossary.png 1678w" sizes="(min-width: 1200px) 1200px"></figure><p>Start with our <a href="https://localazy.com/docs/general/how-to-define-your-glossary"><strong>Glossary</strong></a> feature, where you define phrases important to your brand or product and their translations. You can also provide<strong> <a href="https://localazy.com/features/context-screenshots-ocr">Context Screenshots</a> </strong>(with automatic OCR linking that recognizes text in images and automatically suggests which strings to link them to), comments, or complete brand style guides through Localazy. </p><blockquote>📚 Learn how to prepare your style guide for software localization in our <a href="https://localazy.com/blog/linguistic-style-guides-software-localization">guide</a></blockquote><p>This context gets shared not just with translators but also with integrated AI models through <a href="https://localazy.com/features/localazy-ai">Localazy AI</a>. That means <strong>even the first iteration of translation can achieve high quality </strong>because you provide your brand and product context.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text">The result? Consistent, high-quality <strong>translations that actually understand your product</strong>.</div></div><h2 id="how-to-scale-localization-the-right-way">🚀 How to scale localization the right way <a class="markdownit-header-anchor" href="#how-to-scale-localization-the-right-way">🔗</a></h2><p>Here's your roadmap: </p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-text"><strong>Automate → Invite collaborators → Eliminate conflicts → Speed up delivery → Centralize tools → Add context and intelligence.</strong></div></div><p>The teams that get this right translate faster and build robust localization processes that actually scale with their growth, instead of becoming bigger bottlenecks every quarter.</p><h2 id="stop-fighting-your-localization-process">✋ Stop fighting your localization process <a class="markdownit-header-anchor" href="#stop-fighting-your-localization-process">🔗</a></h2><p>Every problem I've outlined here stems from the same root issue: trying to scale manual processes that weren't designed for growth. Localazy <strong>solves this by giving you a platform that automates the tedious stuff</strong>, <strong>connects all your tools</strong>, and gets smarter as you use it.</p><p>Whether you're a startup expanding to your first international market or an established company adding your 20th language, you need localization infrastructure that grows with you. Localazy handles the complexity so you can focus on building great products for a global audience.</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/07/6-ways-loca-goes-wrong-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Most localization teams aren't ready for AI workflows | Bridging the Gap Podcast, S02 EP08]]></title>
            <link>https://localazy.com/blog/most-localization-teams-arent-ready-for-ai-workflows-bridging-the-gap-s02-ep08</link>
            <guid isPermaLink="false">most-localization-teams-arent-ready-for-ai-workflows-bridging-the-gap-s02-ep08</guid>
            <pubDate>Thu, 17 Jul 2025 15:11:49 GMT</pubDate>
            <description><![CDATA[AI isn’t the problem: broken workflows are. Julia Díez explains why most localization teams aren’t ready for agentic automation, and what needs to change first to make them work.]]></description>
            <content:encoded><![CDATA[<p>Too many companies are eager to bring AI into their localization processes thinking it will solve everything. But according to <a href="https://www.linkedin.com/in/juliadiezlopez/"><strong>Julia Díez</strong></a>, software engineer and localization specialist at McAfee, reality is a bit more nuanced. In this episode of <strong>Bridging the Gap</strong>, Julia joins <a href="https://localazy.com/blog/author/marta-g-coloma/"><strong>Marta G. Coloma</strong></a> and <a href="https://localazy.com/blog/author/jan-bilek/"><strong>Jan Bílek</strong></a> to explain why the real blockers are messy data, old processes set in stone, and teams that aren’t speaking the same language.</p><p>With over 20 years of experience (including work at Apple and McAfee) and an ongoing AI research project supported by Brown University, Julia shares what she’s learned about building systems that work, and why clean source content matters more than most teams realize.</p><h2 id="the-highlights">📝 The highlights <a class="markdownit-header-anchor" href="#the-highlights">🔗</a></h2><h3 id="ai-workflows-are-ready-teams-arent">AI workflows are ready. Teams aren’t <a class="markdownit-header-anchor" href="#ai-workflows-are-ready-teams-arent">🔗</a></h3><p>The technology is there. What’s missing is the structure. Julia points out that many teams still rely on <strong>too many tools, unclear handoffs, and outdated processes that weren’t designed for AI </strong>to begin with. Before adding AI, teams need to:</p><ul><li>🫧 Simplify their workflows</li><li>📊 Clean up their data</li><li>🤝 Break down silos between developers, PMs, and linguists</li></ul><h3 id="bad-source-bigger-problems">Bad source = bigger problems <a class="markdownit-header-anchor" href="#bad-source-bigger-problems">🔗</a></h3><p>Julia makes it clear: most bugs in localization start with the source. A single typo or unclear string can cost hundreds of euros once it ripples across 30+ locales. Her advice? <strong>Prevent problems before they happen</strong> through better source reviews, context sharing, and more direct communication with linguists.</p><h3 id="small-teams-are-enough">Small teams are enough <a class="markdownit-header-anchor" href="#small-teams-are-enough">🔗</a></h3><p>More people doesn’t mean better results. Julia explains that small, committed teams with fewer communication lines often outperform large ones, especially if they’re embedded in product and dev teams. And when linguists can work directly with stakeholders,<strong> blockers get solved faster</strong>.</p><h3 id="redefining-the-linguists-role">Redefining the linguist’s role <a class="markdownit-header-anchor" href="#redefining-the-linguists-role">🔗</a></h3><p>In a world where MT handles most of the draft work, Julia sees linguists evolving into “language owners.” That means:</p><ul><li>Finalising and validating content</li><li>Owning glossary and TM quality</li><li>Shaping messaging for their market</li><li>Collaborating with marketing and QA</li></ul><p>The future isn’t about replacing linguists — it’s about making their work more creative and strategic.</p><h2 id="star-quote">🌟 Star quote <a class="markdownit-header-anchor" href="#star-quote">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/BTG-guest-quote-7.png" class="kg-image" alt loading="lazy" width="1200" height="546" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/BTG-guest-quote-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/BTG-guest-quote-7.png 1000w, https://ghost.localazy.com/content/images/2025/07/BTG-guest-quote-7.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/rfLiKD-KHH4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Are agentic workflows ready for localization? (w/ Julia Díez) | Bridging the Gap #8, S02"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Are agentic workflows ready for localization? (w/ Julia Díez) | Bridging the Gap #8, S02" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/6c0Q6twqsOke2mniLiKZm5/video?si=50f59fb65c774546&utm_source=oembed"></iframe></figure><h2 id="additional-resources">🗞️ Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><ul><li><a href="https://juliadiez.substack.com/" rel="noopener noreferrer nofollow">"Build Local, Ship Global" Substack newsletter</a> by Julia Díez</li><li><a href="https://juliadiez.substack.com/p/from-static-strings-to-smart-systems" rel="noopener noreferrer nofollow">From Static Strings to Smart Systems</a></li><li><a href="https://realproductwork.substack.com/" rel="noopener noreferrer nofollow">The Real Product Work</a> by Jan Bílek</li></ul><h2 id="related-episodes">📹 Related episodes <a class="markdownit-header-anchor" href="#related-episodes">🔗</a></h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/bridging-the-gap-podcast-s02-ep04-lang-ops-to-scale"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Having language support from the beginning pays off | Bridging the Gap Podcast, S02 EP04</div><div class="kg-bookmark-description">**When should localization start? Kareem Ennassag explains why language operations are a mindset — not a feature to bolt on later when translations are needed.**</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/06/BTG-PC-S2Ep04--1-.png" alt=""></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s01-ep-03-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Will AI replace translators? | Bridging the Gap Podcast, S01 EP03</div><div class="kg-bookmark-description">The use of LLMs in translation is still sparking intense debates in the localization industry. We meet a linguist specialized in prompting to discuss what are the real capabilities of these models.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep03-1.png" alt=""></div></a></figure><p><em>👉 Catch the next episodes by following Bridging the Gap </em><a href="https://www.linkedin.com/company/bridging-the-gap-podcast-btg/"><em>on LinkedIn</em></a></p><h2 id="connect-with-the-guest-and-hosts">💬 Connect with the guest & hosts <a class="markdownit-header-anchor" href="#connect-with-the-guest-and-hosts">🔗</a></h2><ul><li><a href="https://www.linkedin.com/in/juliadiez/" rel="noopener noreferrer nofollow">Julia Díez</a></li><li><a href="https://www.linkedin.com/in/xbilek18/" rel="noopener noreferrer nofollow">Jan Bílek</a></li><li><a href="https://www.linkedin.com/in/martagcoloma/" rel="noopener noreferrer nofollow">Marta G. Coloma</a></li></ul><h2 id="more-on-the-blog">📚 More on the blog <a class="markdownit-header-anchor" href="#more-on-the-blog">🔗</a></h2><p>Curious how AI agents actually perform in real localization workflows, not just in theory? This deep dive into Genspark puts one of today’s leading agentic tools to the test. From localizing visuals and tweaking UI layouts to creating subtitles and adapting scripts, <strong>we explore what works, what doesn’t, and where human oversight still matters</strong>. Get a grounded view of what’s possible (and where to stay cautious). 👇</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/inside-genspark-real-test-in-cross-channel-localization-with-ai-agents"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Inside Genspark: A real test in cross-channel localization with AI agents</div><div class="kg-bookmark-description">Everyone’s talking about AI agents and agentic workflows. How far is the theory from practice? Are these tools advanced enough to take care of the entire localization process? We put Genspark to the test to see if it lives up to the hype.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Dorota Pawlak</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/06/AI-agents-in-localization-Genspark-in-action-1.png" alt=""></div></a></figure><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a localization platform that helps teams manage translations, automate workflows, and scale global content efficiently. With our OpenAI integration (via your own token), you can start localizing your content and explore how to make it shine via agentic workflows. It’s a practical way to test AI in your process without losing human control. </p><p>More agentic features are on the way so you can scale as you go. Learn more <a href="https://localazy.com/features/localazy-ai/">here</a>.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/07/BTG-PC-S2Ep07-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Do localization metrics reflect real value? | Bridging the Gap Podcast, S02 EP07]]></title>
            <link>https://localazy.com/blog/do-localization-metrics-reflect-real-value-bridging-the-gap-s02-ep07</link>
            <guid isPermaLink="false">do-localization-metrics-reflect-real-value-bridging-the-gap-s02-ep07</guid>
            <pubDate>Wed, 09 Jul 2025 18:52:52 GMT</pubDate>
            <description><![CDATA[**Teams all over the world struggle to prove their localization efforts are worth it.** **Kevin O’Donnell explains why most localization metrics miss the mark and how to measure progress in a way that supports business growth.**]]></description>
            <content:encoded><![CDATA[<p>Too often, localization teams report on things like word counts or turnaround times — metrics that sound efficient but don't mean much to business leaders. The result? They find it difficult to prove to them that investing in multilingualism has, in fact, an impact.</p><p>In this episode of <strong>Bridging the Gap,</strong> <a href="https://www.linkedin.com/in/kevinodirl/" rel="noopener noreferrer nofollow"><strong>Kevin O’Donnell</strong></a>, a go-to-market advisor and former localization and growth lead at Microsoft, Dropbox, and Nitro, joins <a href="https://www.linkedin.com/in/martagcoloma/" rel="noopener noreferrer nofollow"><strong>Marta G. Coloma</strong></a> and <a href="https://www.linkedin.com/in/xbilek18/" rel="noopener noreferrer nofollow"><strong>Jan Bílek</strong></a> to discuss what actually matters when measuring localization work. Kevin shares tips for making localization measurable, visible, and valuable, especially in teams where it's been treated as a side task for too long.</p><h2 id="the-highlights">📝 The highlights <a class="markdownit-header-anchor" href="#the-highlights">🔗</a></h2><h3 id="most-localization-metrics-are-internal-and-irrelevant">Most localization metrics are internal and irrelevant <a class="markdownit-header-anchor" href="#most-localization-metrics-are-internal-and-irrelevant">🔗</a></h3><p>According to Kevin, most localization teams track what’s easiest to measure — volume, cost, and speed. But these metrics rarely mean anything to executives. <strong>The disconnect happens when teams can't link what they do to user behavior or business goals.</strong></p><h3 id="link-localization-to-ux-not-just-operations">Link localization to UX, not just operations <a class="markdownit-header-anchor" href="#link-localization-to-ux-not-just-operations">🔗</a></h3><p>Rather than reporting on internal efficiency, localization teams should <strong>measure how their work changes the product experience</strong>. Did onboarding get smoother in Japan? Are more users converting in Brazil? Tracking these shifts helps prove the value of going global without waiting for perfect data.</p><h3 id="start-small-test-learn-repeat">Start small: test, learn, repeat <a class="markdownit-header-anchor" href="#start-small-test-learn-repeat">🔗</a></h3><p>You don’t need a full research team to get started. Kevin recommends <strong>running small experiments</strong> with teams already tracking business metrics. For example, A/B test a localized homepage in a key market or improve one onboarding flow. Show impact, then scale.</p><h3 id="use-what-you-already-have">Use what you already have <a class="markdownit-header-anchor" href="#use-what-you-already-have">🔗</a></h3><p>Many companies already use product analytics, but don’t <strong>segment results by language or country</strong>. That alone can present new, valuable insights. Where’s your strongest growth? Where’s user retention dropping? Kevin suggests doubling down on what works and asking smart questions about what doesn’t.</p><h3 id="talk-to-your-global-users">Talk to your global users <a class="markdownit-header-anchor" href="#talk-to-your-global-users">🔗</a></h3><p>The biggest blind spot? <strong>Ignoring international users</strong> in research and product conversations. Localization teams are often closer to these users than anyone else, and can surface valuable feedback, from churn reasons to content gaps.</p><h2 id="star-quote">🌟 Star quote <a class="markdownit-header-anchor" href="#star-quote">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/07/BTG-guest-quote-2.png" class="kg-image" alt loading="lazy" width="1200" height="536" srcset="https://ghost.localazy.com/content/images/size/w600/2025/07/BTG-guest-quote-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/07/BTG-guest-quote-2.png 1000w, https://ghost.localazy.com/content/images/2025/07/BTG-guest-quote-2.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/UfWViVtwt58?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Can you really measure localization ROI? (w/ Kevin O&#39;Donnell) | Bridging the Gap #7, S02"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Can you really measure localization ROI? (w/ Kevin O&apos;Donnell) | Bridging the Gap #7, S02" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/7cQ0QwcsPluXRCFzGG5Myd/video?si=kHn1XIwzSNGzvo8mb1CkVA&utm_source=oembed"></iframe></figure><h2 id="additional-resources">🗞️ Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><ul><li><a href="https://global10x.substack.com/" rel="noopener noreferrer nofollow">Unlocking Global Growth Newsletter</a></li><li><a href="https://realproductwork.substack.com/" rel="noopener noreferrer nofollow">Jan's Substack</a></li></ul><h2 id="related-episodes">📹 Related episodes <a class="markdownit-header-anchor" href="#related-episodes">🔗</a></h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s02-ep-02-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Evidence vs opinion: How to avoid launching on gut feeling alone | Bridging the Gap Podcast, S02 EP02</div><div class="kg-bookmark-description">What’s the secret to making better decisions when entering new markets? In this episode, Itamar Gilad explains why testing ideas backed on solid data helps you move faster and smarter.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S2Ep02.png" alt=""></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s01-ep-04-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Choosing your SaaS pricing strategy | Bridging the Gap Podcast, S01 EP04</div><div class="kg-bookmark-description">Making pricing changes, adjusting your pricing strategy, or simply setting the right price for your product is no easy feat. B2B advisor Dima Melnik uncovers the best ways to bill what you’re worth.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep03-2.png" alt=""></div></a></figure><blockquote><em>📲</em><a href="https://www.linkedin.com/company/bridging-the-gap-podcast-btg/" rel="noopener noreferrer nofollow"><em> Follow the podcast on LinkedIn</em></a><em> to get notified when new episodes go live.</em></blockquote><h2 id="connect-with-the-guest-and-hosts">💌 Connect with the guest & hosts <a class="markdownit-header-anchor" href="#connect-with-the-guest-and-hosts">🔗</a></h2><ul><li><a href="https://www.linkedin.com/in/kevinodirl/" rel="noopener noreferrer nofollow">Kevin O’Donnell</a></li><li><a href="https://www.linkedin.com/in/xbilek18/" rel="noopener noreferrer nofollow">Jan Bílek</a></li><li><a href="https://www.linkedin.com/in/martagcoloma/" rel="noopener noreferrer nofollow">Marta G. Coloma</a></li></ul><h2 id="more-on-the-blog">📚 More on the blog <a class="markdownit-header-anchor" href="#more-on-the-blog">🔗</a></h2><p>Need a clearer plan for your localization spend among other metrics? This Localization 101 guide gives you direction on how to budget for localization, whether you’re new to it or rethinking your current approach. It covers how to frame localization as an investment, spot unnecessary costs, and calculate ROI that speaks to your leadership team:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/localization-101-best-practices-to-allocate-a-budget-for-localization-whether-its-big-or-small"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Localization 101: Best practices to allocate a budget for localization – whether it’s big or small</div><div class="kg-bookmark-description">Budgeting localization expenses is hard, especially when you’re new to the game. Learn how to do it wisely, whether you’re just starting out or are rethinking how you allocate your resources.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Simona Rahmanova</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/01/localization-103.png" alt=""></div></a></figure><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy helps teams expand into global markets with smart localization workflows, automation features, and built-in quality control. Whether you're just starting out or scaling fast, we make it easier to manage multilingual content across your product. You can <a href="https://localazy.com/docs/general/getting-started-with-localazy" rel="noopener noreferrer nofollow">get started with our platform</a>, <a href="https://localazy.com/pricing" rel="noopener noreferrer nofollow">explore pricing options</a>, or <a href="https://localazy.com/contact" rel="noopener noreferrer nofollow">reach out to our team</a> to learn more.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/07/BTG-PC-S2Ep07.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How multilingual content improves share of voice in generative search]]></title>
            <link>https://localazy.com/blog/how-multilingual-content-improves-share-of-voice-in-generative-search</link>
            <guid isPermaLink="false">how-multilingual-content-improves-share-of-voice-in-generative-search</guid>
            <pubDate>Sat, 16 Aug 2025 14:59:39 GMT</pubDate>
            <description><![CDATA[Online search as we knew it is over. When users ask AI about products, keyword stuffing doesn't cut it anymore. Trusted sources, authenticity, and clear formatting are now indispensable to be seen. Here's why having your content in multiple languages can push your brand to the top results.]]></description>
            <content:encoded><![CDATA[<p>There’s no magic spell that will make your brand instantly visible on the global market.</p><p>But there’s <a href="https://localazy.com/dictionary/localization">localization</a>. There’s multilingual marketing. <strong>And now, <a href="https://localazy.com/dictionary/generative-engine-optimization-geo">there’s GEO, too</a></strong>.</p><p>🥣 A powerful new ingredient that has been recently thrown into this mix.</p><p>What is it exactly, and why does it matter for your business?</p><h2 id="the-visibility-trick">🔎 The visibility trick <a class="markdownit-header-anchor" href="#the-visibility-trick">🔗</a></h2><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">❓</div><div class="kg-callout-text">“What’s the best tool for SaaS brands implementing global localization?”</div></div><p>Ask that question to an AI search model and you'll find your answer. Possibly, a different one depending on the platform. What’s the best in the eyes of <strong>ChatGPT </strong>might be overlooked in the results coming from <strong>Perplexity</strong>, and what <strong>Gemini </strong>considers no. 1 might display towards the end of the output in <strong>Claude</strong>. Or not mentioned at all.</p><p>The latter is not an option for any future-oriented and visibility-focused brand. <strong>But how can you make sure your business gets a prominent feature in the responses generated by AI?</strong></p><p>Is traditional SEO enough? Or are there other tricks you need to learn to create an effective global content strategy for AI search?</p><p>If I were an LLM, I’d give you a confident answer. Probably biased and superficial. But since I’m an honest human, here’s my take: <strong>it’s not that simple</strong>.</p><p>It’s not only about SEO.</p><p>It’s about presence, trust, relevance, and, increasingly, language diversity as well. And that’s exactly where <strong>Generative Engine Optimization (GEO) </strong>comes in.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/AdobeStock_1355124265-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1419" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/AdobeStock_1355124265-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/AdobeStock_1355124265-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/AdobeStock_1355124265-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/AdobeStock_1355124265-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="from-seo-to-geo-a-shift-you-cant-ignore">👩‍💻 From SEO to GEO: A shift you can’t ignore <a class="markdownit-header-anchor" href="#from-seo-to-geo-a-shift-you-cant-ignore">🔗</a></h2><p>By 2028, Gartner forecasts that <a href="https://www.gartner.com/en/newsroom/press-releases/2023-12-14-gartner-predicts-fifty-percent-of-consumers-will-significantly-limit-their-interactions-with-social-media-by-2025">brands’ organic search traffic will drop by 50%</a> as users shift to generative AI‑powered search.<strong> </strong>In the good old Google days, mastering keywords, backlinks, and bounce rates was your ticket to climbing the search rankings. </p><p>But in the era of generative search, that strategy alone won’t cut it anymore. <strong>You need to be where your potential clients are. And that means showing up in conversations powered by AI</strong>. Since LLMs entered the scene, users spend more of their time chatting, ideating, researching, and discovering brands through generative platforms. 💬 If your brand isn’t present there, it’s falling behind.</p><p>GEO helps ensure your brand is visible in AI search platforms such as <a href="https://localazy.com/blog/the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models">Claude, Gemini, ChatGPT, or Perplexity</a>. These models don’t serve a set of blue links. They generate synthesized responses from training data, public sources, citations, and recent web content.</p><blockquote>“LLMs are becoming a go-to source for information,” says <a href="https://www.linkedin.com/in/irinamaltseva/">Irina Maltseva</a>, SEO Advisor, Growth Lead at <a href="https://aura.com/" rel="noopener noreferrer nofollow"><u>Aura</u></a>, and Founder at <a href="https://www.onsaas.me/" rel="noopener noreferrer nofollow"><u>ONSAAS</u></a>. “People aren’t just searching on Google anymore. As adoption grows, brands that start optimizing for generative search now will stay ahead. GEO also plays a big role in multilingual markets, where local context matters more than ever”</blockquote><p>This includes <strong>optimizing for natural language queries, semantic relevance, and AI-friendly formatting</strong>. But visibility is just one part of the challenge. Measuring visibility is equally complex.</p><p>“Google Search Console doesn’t show AI Overviews data, and LLMs don’t share analytics,” Irina adds. “Still, tools like Profound, Scrunch, and Athena offer directional insights, even if they rely on simulated prompts.”.</p><p>One useful metric used by these tools is <strong>Share of Voice (SOV)</strong>, which tells you how much "voice" or presence your brand has in digital search. It measures <strong>how often AI models mention your brand compared to your competitors</strong> across platforms, topics, and languages. Tracking your SOV isn't just another vanity metric. It’s essential to stay relevant and visible.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/AdobeStock_614567752.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1218" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/AdobeStock_614567752.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/AdobeStock_614567752.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/AdobeStock_614567752.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/AdobeStock_614567752.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>This shift from SEO to GEO matters for several reasons:</p><ul><li><strong>🤳 Generative search is often zero-click</strong>: Users don’t browse, they act on what the AI says.</li><li><strong>🗣️ Multilingual prompts are on the rise</strong>, especially via voice or mobile queries.</li><li><strong>🗺️ AI platforms aren’t limited to English</strong>, even if that’s your default content language.</li><li><strong>🏃‍♀️‍➡️ Early movers win</strong>: Optimizing for AI now helps you dominate emerging search patterns before competitors catch on.</li></ul><p>“For B2B research, <strong>users will increasingly delegate the task of creating shortlists and comparing solutions to AI</strong>,” says <a href="https://www.linkedin.com/in/onesork/">Jan Onesork</a>, Senior SEO Consultant at <a href="https://www.onesork.com/" rel="noopener noreferrer nofollow"><u>Onesork.com</u></a>.  “It acts as a powerful filter, and <strong>what doesn't get through this filter is unlikely to ever reach a human decision-maker</strong>. Caring about your visibility within this new paradigm isn't just an SEO tactic. It's a strategic necessity for survival and growth”.</p><p>All of this means you need to educate AI models on your brand’s value. This will keep your product on the radar for consumers relying on generative answers.</p><h2 id="multiplied-impact-with-multilingual-content">🌍 Multiplied impact with multilingual content <a class="markdownit-header-anchor" href="#multiplied-impact-with-multilingual-content">🔗</a></h2><p>GEO is still evolving, and many of its inner mechanics remain a mystery. We don’t yet know exactly how each model evaluates content before surfacing a brand in its responses. And with every model update, your AI visibility can shift. Still, <strong>SEO and GEO experts agree on a few best practices</strong> that can increase both your market share and share of voice in generative search.</p><p>Here are some useful strategies:</p><ol><li>🛜 Structure your website so it's friendly for LLMs.</li><li>✍️ Make sure you use simple, readable, natural-sounding language.</li><li>✔️ Maintain strong rankings in traditional Google search.</li><li>🤖 Be present on platforms that have official content partnerships with AI models, for example, ChatGPT references licensed data <a href="https://www.seerinteractive.com/insights/what-is-generative-engine-optimization-geo">from Reddit, News Corp, and Vox Media</a>.</li><li>☝️ Focus on content richness, authority, and relevance.</li></ol><p>The last point is exactly where multilingual content can help. When you localize your website into languages like <a href="https://localazy.com/blog/the-importance-of-professional-greek-translation-services/">Greek</a> or <a href="https://hub.localazy.com/en/languages/fi-finnish">Finnish</a>, you're not just expanding your audience, but also filling critical gaps in language coverage. <strong>Many AI models are primarily trained on English content</strong>. So, when they search for sources <strong>in underrepresented languages, there’s far less to choose from</strong>. That’s your opportunity to shine. Your product guide or blog post might be one of the few credible resources available in that language. And in low-competition spaces, that often means your brand gets featured first.</p><blockquote>As many AI models are primarily trained on English content, publishing credible multilingual resources increases opportunities for your brand to be featured on generative search</blockquote><p>But text is only one piece of the puzzle.</p><p><strong>🔈 Multilingual voice search is equally essential</strong>. Whether someone’s asking Siri in Italian for “the best remote onboarding tools” or prompting ChatGPT in Polish about GDPR-compliant CRMs, these queries tend to be longer, more specific, and rich with intent.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/AdobeStock_1528377052.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/AdobeStock_1528377052.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/AdobeStock_1528377052.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/AdobeStock_1528377052.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/AdobeStock_1528377052.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>When people speak, they naturally use full sentences, add context, and reveal what they’re really looking for. Not just in English, but across dozens of languages. <strong>These voice queries are conversational, nuanced, and still largely under-optimized</strong>.</p><p>That’s what generative models are hungry for.</p><p>By tailoring your content to <strong>mirror how people speak</strong>, especially in mid- or low-resource languages like <a href="https://localazy.com/blog/master-japanese-localization-and-adapt-your-brand-to-this-unique-market/">Japanese</a>, <a href="https://hub.localazy.com/en/languages/cs-czech">Czech</a>, or <a href="https://localazy.com/blog/why-hungarian-localization-services-are-so-important/">Hungarian</a>, you reduce competition and increase your chances of being featured in AI-generated answers.</p><p>Because these spoken queries carry more context, LLMs can interpret them more accurately and present more relevant results. And since fewer websites are targeting these exact long-tail, natural-language phrases, <strong>optimized localized content has a much clearer path to visibility</strong>. </p><blockquote>📖 Recommended read: <a href="https://localazy.com/blog/why-are-llms-so-verbose-tips-to-fix-it">Why are LLMs so verbose? Tips to fix half-cooked results</a></blockquote><h2 id="hands-on-tactics-to-improve-your-multilingual-ai-visibility">📈 Hands-on tactics to improve your multilingual AI visibility <a class="markdownit-header-anchor" href="#hands-on-tactics-to-improve-your-multilingual-ai-visibility">🔗</a></h2><p>It all sounds promising, but <strong>what exactly should you do to build AI visibility?</strong> Where to begin this journey to ensure your brand appears in the results across platforms and in multiple languages?</p><p>Here are some practical tips based on our conversations with some experts:</p><h3 id="1-map-conversations-not-just-keywords">​1. Map conversations, not just keywords <a class="markdownit-header-anchor" href="#1-map-conversations-not-just-keywords">🔗</a></h3><p>While keywords localized per language and country might help boost your visibility, the biggest change happens when you optimize your content for conversations.</p><p>“The most effective starting point is to re-map your user journeys with AI as a key touchpoint”, says Onesork. “Use <a href="https://localazy.com/dictionary/jtbd">frameworks like 'Jobs-to-be-Done' </a>to identify the specific problems your customers are trying to solve and then <strong>list the questions they would ask an AI assistant at each stage</strong>”.</p><p>But this journey might shift slightly depending on the language, culture, and local context. What a user types into an AI search model in Spain might be phrased completely differently in Japan, even if they’re looking for the same solution. To show up in generative answers, <strong>your content needs to reflect how people ask questions and express needs naturally in each market</strong>.</p><h3 id="2-earn-great-mentions-and-links">2. Earn great mentions (and links) <a class="markdownit-header-anchor" href="#2-earn-great-mentions-and-links">🔗</a></h3><p><strong>Backlinks still matter</strong>, but in the world of AI-driven search engine optimization, <strong>brand mentions</strong> are becoming equally critical. AI assistants often cite sources they recognize and trust, and that trust comes from repeated exposure across reputable platforms.</p><blockquote>“<em>Your success is highly dependent on proper brand building, PR, and distribution</em>,” says <a href="https://www.linkedin.com/in/michalpecanek/">Michal Pecánek</a>, SaaS SEO Consultant at <a href="https://www.michalpecanek.com/" rel="noopener noreferrer nofollow"><u>Michalpecanek.com</u></a>. “<em>That’s always been in the SEO win formula, but the ‘good enough’ threshold moved up with AI adoption. Good enough SEO without proper backup from other marketing channels doesn’t cut it anymore</em>”</blockquote><p>To improve your discoverability in AI results, <strong>aim for mentions in industry media, trusted directories, and niche communities </strong>where your audience spends time. The sentiment and authority of these sources matter, too. The more your brand shows up in credible, relevant contexts, the more likely AI is to include you in the conversation.</p><h3 id="3-write-ai-readable-content-in-each-language">​3. Write AI-readable content in each language <a class="markdownit-header-anchor" href="#3-write-ai-readable-content-in-each-language">🔗</a></h3><p>Generative models won’t feature your content if they can’t grasp it. Or quote it. AI engines don’t just scan for keywords: <strong>they look for structured, scannable content that can be extracted, summarized, or directly reused</strong> in answers. 📋</p><p>That means you’ll need to delete those dense, complex paragraphs in favor of clarity. Use <strong>Q&amp;A formats, bullet lists, plain language, and short answer blocks</strong>. These structures help AI identify what your content is about and when it’s relevant.</p><p>But don’t just do this in one language. Go the extra mile and focus on GEO localization. A Polish how-to page or an Italian FAQ deserves the same semantic clarity as your English version. The more readable your content is, the higher the chances it will be captured and quoted by LLMs and shown to the right users in the right language.</p><blockquote>The more readable your content is, the higher the chances it will be captured and quoted by LLMs. This includes content localized to other languages</blockquote><p>In all these endeavors, remember that <strong>the quality of your multilingual content marketing still matters</strong>. This means publishing pages or blog posts written by humans, not machines. That’s the kind of content both search engines and AI models are more likely to trust. </p><p>Generative AI won’t create superior SEO- and GEO-optimized pages for you. It will only recycle old content and serve you a different version of what already exists.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/Captura-de-pantalla-2025-06-26-a-las-21.41.17.png" class="kg-image" alt loading="lazy" width="1664" height="1066" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Captura-de-pantalla-2025-06-26-a-las-21.41.17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Captura-de-pantalla-2025-06-26-a-las-21.41.17.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/Captura-de-pantalla-2025-06-26-a-las-21.41.17.png 1600w, https://ghost.localazy.com/content/images/2025/06/Captura-de-pantalla-2025-06-26-a-las-21.41.17.png 1664w" sizes="(min-width: 720px) 720px"></figure><p>There’s one more reason why localized content can boost your visibility: <a href="https://blog.google/products/search/generative-ai-search/">Google has recently integrated its automated, AI-powered translation into its search engine</a>. Not a bad move by itself, but here’s where it gets tricky:<strong> if AI Overviews can’t detect content in the user’s native language, Google <a href="https://ahrefs.com/blog/google-is-stealing-your-international-search-traffic-with-automated-translations/">automatically translates the text from English</a></strong>. And keeps the local traffic to itself. This means that original content creators won’t see those valuable clicks and views as the results are displayed on Google’s subdomain. Without localized content, you’re very likely to lose control and visibility over your international traffic.</p><h3 id="4-win-in-the-invisible-long-tail-keyword-market">4. Win in the invisible long-tail keyword market <a class="markdownit-header-anchor" href="#4-win-in-the-invisible-long-tail-keyword-market">🔗</a></h3><p><strong>“Strong organic rankings still influence LLM visibility”</strong>, says Maltseva. “<a href="https://ziptie.dev/blog/seo-still-matters-for-ai-search-engines/">A study from ZipTie</a> found that ranking #1 in Google gets you cited in AI Overviews 25% of the time”.</p><p>Organic rankings matter <strong>especially for long-tail queries</strong>. While AI platforms don’t copy search results directly, they often use SERPs as a trust signal when deciding which sources to reference.</p><p>“We’re now able to get hyperpersonalized AI output, so our prompts are getting very specific too, unlike the generic queries we use during the standard process of googling,” adds Michal Pecánek. </p><p>“<strong>Map out all important permutations</strong> between your product, use cases, target segment industries, roles, and their pain points”, he explains. To capitalize on this shift, build content around those combinations in a structured, meaningful way. Avoid filling your site with shallow programmatic SEO. Instead, aim for depth, clarity, and relevance that AI models can trust and reuse.</p><h3 id="5-use-the-right-tools-to-scale-and-monitor">5. ​Use the right tools to scale and monitor <a class="markdownit-header-anchor" href="#5-use-the-right-tools-to-scale-and-monitor">🔗</a></h3><p>Even the smartest GEO strategy won’t succeed if you can’t track progress or scale your content effectively.</p><p>Classic SEO tools won’t tell you how often AI models mention your brand, but there are other solutions you can rely on. Tools like <a href="https://otterly.ai">Otterly.ai</a>, <a href="https://www.athenahq.ai">Athena</a>, or <a href="https://scrunchai.com">Scrunch </a><strong>simulate AI prompts to track brand visibility across AI search engines</strong>. They also help to increase your share of voice by offering insightful overviews, audits, metrics, and suggestions to stay on top of your GEO game.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/06/Captura-de-pantalla-2025-06-26-a-las-21.32.42.png" class="kg-image" alt loading="lazy" width="2000" height="1121" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Captura-de-pantalla-2025-06-26-a-las-21.32.42.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Captura-de-pantalla-2025-06-26-a-las-21.32.42.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/Captura-de-pantalla-2025-06-26-a-las-21.32.42.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/Captura-de-pantalla-2025-06-26-a-las-21.32.42.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Tools like Otterly.ai are useful to track your generative search presence. Source: Otterly.ai</figcaption></figure><p><strong>For scaling your multilingual, GEO-optimized content, use a localization platform like <a href="https://localazy.com/term/content-localization">Localazy</a></strong>. It helps you manage translations across languages and channels, allowing you to publish consistently without getting overwhelmed with manual workflows.</p><p>With the right tools in place, you’ll be able to get a clear overview of what’s working for your brand and scale where it matters most.</p><blockquote>🎙️ To what extent does it make sense to use LLMs in your translation process, and can they replace translators entirely? For more on this topic,<a href="https://localazy.com/blog/s01-ep-03-bridging-the-gap-podcast"> listen to Bridging the Gap, S01, EP02</a></blockquote><h2 id="case-studies-how-more-languages-can-boost-your-presence">👀 Case studies: How more languages can boost your presence <a class="markdownit-header-anchor" href="#case-studies-how-more-languages-can-boost-your-presence">🔗</a></h2><h3 id="back-market">Back Market <a class="markdownit-header-anchor" href="#back-market">🔗</a></h3><p>One good example of brands that succeeded in the quest for AI visibility while prioritizing multilingual content is <strong>Back Market</strong>. This marketplace <a href="https://www.wsj.com/articles/ai-has-upended-the-search-game-marketers-are-scrambling-to-catch-up-84264b34">switched to a more conversational tone</a>, a style that resonates better with AI models than dry product specifications. Add to it the fact that their website is available in 15+ languages, and it’s no wonder that all these efforts are paying off: <strong>the brand reported a 470x increase in traffic from AI models</strong> <strong>year-over-year</strong>.</p><h3 id="expedia">Expedia <a class="markdownit-header-anchor" href="#expedia">🔗</a></h3><p><strong>Expedia</strong>, another global and multilingual player, <a href="https://www.phocuswire.com/expedia-group-b2b-arm-apis-advertising">is actively optimizing for generative search</a> while enhancing the user experience through AI agents. The company reports increased booking rates and user satisfaction. According to Barron’s, which cites data from Similarweb, <a href="https://www.barrons.com/articles/ai-google-search-internet-economy-932092ef"><strong>Expedia received roughly 88,000 referrals from AI search engines</strong></a><strong> like ChatGPT and Perplexity in May 2025</strong>, which is a notable figure even if traditional search still dominates with 34 million referrals.</p><h3 id="reddit">Reddit <a class="markdownit-header-anchor" href="#reddit">🔗</a></h3><p><strong>Reddit</strong> has also focused on improving brand reach with multilingual content and effective GEO. <strong>It allows Google and AI models to index millions of user-generated posts, <a href="https://www.gsqi.com/marketing-blog/reddit-ai-translations-google/">many of which are auto-translated</a></strong>, to ensure better visibility of fresh and relevant content across platforms and languages. <a href="https://www.reddit.com/r/dataisbeautiful/comments/1bg323c/oc_reddit_traffic_by_country_2024/">While U.S. traffic remains strong for Reddit</a>, there has been significant growth from French or German users. For both languages, Reddit has implemented real-time translation features to boost content visibility.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/AdobeStock_614719695.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1339" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/AdobeStock_614719695.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/AdobeStock_614719695.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/AdobeStock_614719695.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/AdobeStock_614719695.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="visibility-that-connects-and-converts">🔑 Visibility that connects and converts <a class="markdownit-header-anchor" href="#visibility-that-connects-and-converts">🔗</a></h2><p>Generative search has changed how people discover brands and how brands need to show up. Strategies based on optimizing for keywords or implementing multilingual SEO best practices are no longer enough. <strong>Visibility in the era of AI is a more complex game, where relevance, formatting, trust, authority, and natural language play a defining role</strong>.</p><p>By <strong>combining GEO with multilingual localization</strong>, you can create the conditions for real magic to happen and earn your brand prominent mentions in AI-generated answers. Not just once, but again and again. Across markets, languages, and platforms. And with a platform like Localazy, scaling your multilingual content strategy becomes not only possible, but also practical.<br></p>]]></content:encoded>
            <author>Dorota Pawlak</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/06/localazy-AI-series.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Introducing more transparent machine translation usage]]></title>
            <link>https://localazy.com/blog/release-update-introducing-more-transparent-machine-translation-usage</link>
            <guid isPermaLink="false">release-update-introducing-more-transparent-machine-translation-usage</guid>
            <pubDate>Wed, 09 Jul 2025 18:53:09 GMT</pubDate>
            <description><![CDATA[We're making the use of bulk machine translation more predictable and flexible at Localazy. Starting today, we're replacing the untrackable 2-million-character fair-use limit with a more transparent system that puts you in control.]]></description>
            <content:encoded><![CDATA[<p><a href="https://localazy.com/features/machine-translation/">Machine translation</a> now uses the same credit system that powers our professional human translation services. So instead of risking hitting an invisible wall mid-month, <strong>you'll see exactly how much MT capacity you have</strong> and can top up credits when needed.</p><h2 id="typical-mt-usage-is-covered-by-your-current-plan">🚀 Typical MT usage is covered by your current plan <a class="markdownit-header-anchor" href="#typical-mt-usage-is-covered-by-your-current-plan">🔗</a></h2><p>We've replaced the invisible character limit with <strong>clear credits that renew automatically monthly (or yearly)</strong>. These aren't arbitrary numbers — we calculated them based on what teams <em>actually</em> translate each month. For typical usage, you'll enjoy the same experience as before, just with better visibility into what's happening.</p><p>Some examples:</p><ul><li><strong>Professional plan ($39)</strong>: $5 in credits = 12.5k words</li><li><strong>Autopilot plan ($89)</strong>: $15 in credits = 37.5k words</li><li><strong>Business plan ($199)</strong>: $32 in credits = 80k words</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">👀</div><div class="kg-callout-text">Find out how many credits will come with your subscription <a href="/docs/general/localazy-credits">in the docs</a>.</div></div><p>For most users, these included credits will be more than enough for regular translation work. You'll only need to consider topping up if you're processing exceptionally large volumes!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/wrapper--2-.png" class="kg-image" alt loading="lazy" width="1200" height="399" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/wrapper--2-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/wrapper--2-.png 1000w, https://ghost.localazy.com/content/images/2025/06/wrapper--2-.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>Nothing changes in how you work day-to-day. The credit system only kicks in when you're doing bulk pre-translation or automated MT workflows. Those cost <strong>$0.0004 per word</strong>, the same rate across all MT engines.</p><h2 id="why-did-we-make-this-change">💡 Why did we make this change? <a class="markdownit-header-anchor" href="#why-did-we-make-this-change">🔗</a></h2><p>Localazy started with teams translating short UI strings and app text. Our recently added integrations with platforms such as <a href="/zendesk">Zendesk</a> and <a href="/webflow">Webflow</a> changed that as teams were suddenly processing entire help centers and websites, volumes far beyond what our MT system was initially designed for.</p><blockquote>The old system created frustrating dead ends — you'd hit the limit, get no explanation, and have no way to continue your work until the next month or unless you reached out to support</blockquote><p>➡️ The new way solves this by giving you:</p><ul><li><strong>Full visibility</strong> into your MT usage and remaining credits.</li><li><strong>Flexibility</strong> to purchase additional credits when you need them (though most users won't need to).</li><li><strong>Consistency</strong> across all our translation services.</li><li><strong>No surprises</strong> when processing large translation jobs.</li></ul><p>We've analyzed usage patterns across our user base to ensure the included credits match what most teams actually use each month. <strong>The experience should feel exactly the same for regular workflows</strong>. You'll just have better visibility into what's happening behind the scenes.</p><p>The credit system is also <strong>designed to support upcoming AI-powered translation and localization features</strong>. When these features become available, they’ll use the same credit balance, providing a unified payment system across all automated translation services.</p><h2 id="mt-suggestions-arent-changing">💙 MT suggestions aren't changing! <a class="markdownit-header-anchor" href="#mt-suggestions-arent-changing">🔗</a></h2><p>The MT suggestions in translation sessions and the reverse machine translation during review are working the same as before, and they won't affect your credit balance. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/image-2.png" class="kg-image" alt loading="lazy" width="1750" height="1744" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/image-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/image-2.png 1600w, https://ghost.localazy.com/content/images/2025/06/image-2.png 1750w" sizes="(min-width: 720px) 720px"></figure><p>Your translators, community, or volunteers will still have access to all MT engines included in your plan without any credit costs. </p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">📩</div><div class="kg-callout-text">Do you have any feedback or questions about this change? Contact us at <a href="mailto:team@localazy.com">team@localazy.com</a> — we would like to hear your opinion!</div></div><h2 id="tip-review-your-clt-settings">🚩 Tip: Review your CLT settings <a class="markdownit-header-anchor" href="#tip-review-your-clt-settings">🔗</a></h2><p>Some previously paused CLT projects may get automatically resumed. Projects that were stopped due to insufficient credits now have access to your new monthly credit allocation and could start translating content again.</p><p>Check that your <a href="https://localazy.com/my/virtual-translator">continuous professional translation</a> is configured correctly, verify which projects are currently active, and pause any projects that you don't need translated at this time. This ensures your credits are used intentionally rather than on dormant projects that resume automatically.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>The included credits in your plan should cover your typical usage without needing frequent top-ups. We've designed the allocations based on real usage data to ensure smooth operation for standard workflows.</p><p>Teams that process exceptionally large volumes regularly <strong>may want to consider upgrading to a plan with higher credit allocations</strong>, or simply top up credits as needed for those big one-off projects.</p><p>This change gives you the transparency and control you need to plan translation work effectively, without the frustration of hidden limits. </p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/06/Release-update-Localazy-june-2025.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Remote work without burnout: Trust, structure, and real team culture | Bridging the Gap Podcast, S02 EP06]]></title>
            <link>https://localazy.com/blog/bridging-the-gap-podcast-s02-ep06-remote-work-without-burnout</link>
            <guid isPermaLink="false">bridging-the-gap-podcast-s02-ep06-remote-work-without-burnout</guid>
            <pubDate>Wed, 09 Jul 2025 17:01:06 GMT</pubDate>
            <description><![CDATA[Remote-first teams are now the norm, but they shouldn't scale without intention. Caitlin Rosario and Anton Iokov explain how to nurture trust and clarity to create healthier teams across time zones.]]></description>
            <content:encoded><![CDATA[<p>Remote work isn’t just a trend. For companies working across languages, markets, and regions, it’s the default. But how do you grow a remote team without falling into chaos, burnout, or misalignment?</p><p>In this episode of <strong>Bridging the Gap</strong>, <a href="https://www.linkedin.com/in/caitlin-rozario/" rel="noopener noreferrer nofollow"><strong>Caitlin Rozario</strong></a> (founder of Interlude, Head of Brand &amp; Culture at Metrikus) and <a href="https://www.linkedin.com/in/antoniokov/" rel="noopener noreferrer nofollow"><strong>Anton Iokov</strong></a> (Head of Growth at Fibery) join <a href="https://www.linkedin.com/in/martagcoloma/" rel="noopener noreferrer nofollow"><strong>Marta G. Coloma</strong></a> and <a href="https://www.linkedin.com/in/xbilek18" rel="noopener noreferrer nofollow"><strong>Jan Bílek</strong></a> to talk about what makes remote work actually <em>work</em>. From async rituals to team culture, they explore what happens when growth crosses time zones — and how to stay motivated (and human) while scaling.</p><h2 id="the-highlights">📝 The highlights <a class="markdownit-header-anchor" href="#the-highlights">🔗</a></h2><h3 id="remote-work-starts-with-culture-not-tools">Remote work starts with culture, not tools <a class="markdownit-header-anchor" href="#remote-work-starts-with-culture-not-tools">🔗</a></h3><p>Caitlin makes it clear: remote success isn’t about more platforms or better Slack threads. <strong>It’s about structure, expectations, and shared norms</strong>. The basics matter most: clear working hours, boundaries around availability, and documented goals that guide collaboration across locations.</p><blockquote>“You don’t need more tools. You need clarity first.”</blockquote><h3 id="transparency-is-the-new-visibility">Transparency is the new visibility <a class="markdownit-header-anchor" href="#transparency-is-the-new-visibility">🔗</a></h3><p>Drawing from his experience at a remote-only tech company, Anton shares how Fibery avoids meetings, tracks progress asynchronously, and encourages team members to “radiate” what they’re working on. Without in-office cues, <strong>writing things down and making work visible becomes a basic management function</strong>.</p><h3 id="remote-teams-are-built-on-trust">Remote teams are built on trust <a class="markdownit-header-anchor" href="#remote-teams-are-built-on-trust">🔗</a></h3><p>Knowledge work is complicated to track: <strong>you can’t manage knowledge workers by outputs alone</strong>. Whether someone is debugging a feature or designing a strategy, the pace and process won’t always show up as daily deliverables. That is when sustainable productivity comes in. Both our guests stress that trust, autonomy, and recognizing different working rhythms are the solution to this challenge.</p><blockquote>“There is no informal flow of communication — you have to make it explicit.”</blockquote><h3 id="localization-makes-remote-unavoidable">Localization makes remote unavoidable <a class="markdownit-header-anchor" href="#localization-makes-remote-unavoidable">🔗</a></h3><p>In global teams, especially in localization and translation, remote work isn’t optional. <strong>You need people embedded in-market, not just centralized in HQ</strong>. Without local expertise, quality is likely to decline. That's why companies that want to grow internationally have to adapt their culture, not just their headcount.</p><h3 id="in-person-time-still-matters">In-person time still matters <a class="markdownit-header-anchor" href="#in-person-time-still-matters">🔗</a></h3><p>Retreats, hubs, and hybrid meetups are still valuable, not just for alignment but for well-being. Caitlin reminds the audience that <strong>humans need connection, even in asynchronous roles.</strong> A strategic retreat, a coworking lunch… There are many options, but it's important to take space for in-person time, as it ultimately pays off in clarity and energy.</p><h2 id="star-quote">🌟 Star quote <a class="markdownit-header-anchor" href="#star-quote">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/BTG-guest-quote-2.png" class="kg-image" alt loading="lazy" width="1200" height="536" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/BTG-guest-quote-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/BTG-guest-quote-2.png 1000w, https://ghost.localazy.com/content/images/2025/06/BTG-guest-quote-2.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/Ee26FlWAtqM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Scale your remote team without burnout (w/ Caitlin Rozario &amp; Anton Iokov) | Bridging the Gap #6, S02"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Scale your remote team without burnout (w/ Caitlin Rozario &amp; Anton Iokov) | Bridging the Gap #6, S02" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/6hVDDyQSI3ku0T9CcwoTqh/video?si=ed47acae3bb74be5&utm_source=oembed"></iframe></figure><h2 id="additional-resources">🗞️ Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><ul><li><a href="https://click.zoom.com/navigating-the-future-of-work" rel="noopener noreferrer nofollow">Navigating the Future of Work: Global Perspectives on Hybrid Models and Technology</a> (Zoom)</li><li><a href="https://www.crossover.com/resources/the-radically-remote-recap-linkedin-s-largest-remote-work-newsletter" rel="noopener noreferrer nofollow">The Radically Remote Recap – LinkedIn’s Largest Remote Work Newsletter</a></li><li><a href="https://the.fibery.io/Company/Remote-work-at-Fibery-principles-practices-8013?sharing-key=118bd1fa-ffe8-4709-965c-268c523ed2c5" rel="noopener noreferrer nofollow">✋Remote work at Fibery: principles &amp; practices</a></li><li><a href="https://the.fibery.io/@public/Fibery_Process/Daily-Check-Ins-5928" rel="noopener noreferrer nofollow">Daily check-ins</a> (Fibery)</li><li><a href="https://realproductwork.substack.com/" rel="noopener noreferrer nofollow">Jan's Substack</a></li><li><a href="https://www.interlude.works/" rel="noopener noreferrer nofollow">Interlude</a></li></ul><h2 id="related-episodes">📹 Related episodes <a class="markdownit-header-anchor" href="#related-episodes">🔗</a></h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s01-ep-05-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Building a localization-friendly culture | Bridging the Gap Podcast, S01 EP05</div><div class="kg-bookmark-description">No localization team can succeed without support from their peers: multilingual expansion is also an internal effort. We explore why with consultant Michal Kessel and Kelly Murphy from Pentland Firth.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep05.png" alt=""></div></a></figure><blockquote><em>📲 </em><a href="https://www.linkedin.com/company/bridging-the-gap-podcast-btg" rel="noopener noreferrer nofollow"><em>Follow the podcast on LinkedIn</em></a><em> to be notified when we release a new episode!</em></blockquote><hr><h2 id="connect-with-the-guests-and-hosts">💌 Connect with the guests & hosts <a class="markdownit-header-anchor" href="#connect-with-the-guests-and-hosts">🔗</a></h2><ul><li><a href="https://www.linkedin.com/in/caitlin-rozario/" rel="noopener noreferrer nofollow">Caitlin Rozario</a></li><li><a href="https://www.linkedin.com/in/antoniokov/" rel="noopener noreferrer nofollow">Anton Iokov</a></li><li><a href="https://www.linkedin.com/in/xbilek18/" rel="noopener noreferrer nofollow">Jan Bílek</a></li><li><a href="https://www.linkedin.com/in/martagcoloma/" rel="noopener noreferrer nofollow">Marta G. Coloma</a></li></ul><h2 id="more-on-the-blog">📚 More on the blog <a class="markdownit-header-anchor" href="#more-on-the-blog">🔗</a></h2><p>Working remotely means finding the right balance between structure and flexibility, especially when your team is spread across time zones, in <a href="https://localazy.com/blog/flow-states-the-ultimate-hack-for-productive-localization-workflows" rel="noopener noreferrer nofollow">a flow state</a>, or focused on deep, complex work like localization. Below, we suggest some strategies to stay organized and get meaningful work done. ⬇️</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/8-methodologies-for-efficient-and-productive-localization-teams"><div class="kg-bookmark-content"><div class="kg-bookmark-title">8 methodologies for efficient and productive localization teams</div><div class="kg-bookmark-description">Distractions and overstimulation can wane your localization team’s attention. Learn how to keep it sharp with these proven methods that boost productivity and help you get more work done.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Gletjan Muco</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2024/05/8-Methodologies-2.png" alt=""></div></a></figure><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete localization platform that helps companies prepare, launch, and scale global content with automation, high-quality translations, and streamlined workflows. Explore how to get started <a href="https://localazy.com/docs/general/getting-started-with-localazy" rel="noopener noreferrer nofollow">here</a>, choose a <a href="https://localazy.com/pricing" rel="noopener noreferrer nofollow">plan</a>, or <a href="https://localazy.com/contact" rel="noopener noreferrer nofollow">contact us</a> for support.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/06/BTG-PC-S2Ep06.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Not just translation: 10 tools to make your digital product more accessible]]></title>
            <link>https://localazy.com/blog/not-just-translation-10-tools-to-make-your-digital-product-more-accessible</link>
            <guid isPermaLink="false">not-just-translation-10-tools-to-make-your-digital-product-more-accessible</guid>
            <pubDate>Wed, 25 Jun 2025 14:26:15 GMT</pubDate>
            <description><![CDATA[The best digital spaces include everyone. If you're localizing your product, chances are you want your users to feel included. These ten tools can help you make your websites and apps welcoming for all, no matter their challenges.]]></description>
            <content:encoded><![CDATA[<p>Digital accessibility has always been my personal focus, and as I’ve worked deeper in this space, I’ve realized how many people are left out when websites and apps aren’t designed with their needs in mind. For example, <a href="https://www.who.int/health-topics/disability#tab=tab_1" rel="noopener noreferrer nofollow">16% of the global population</a> and <a href="https://accessiblyapp.com/blog/us-disability-statistics/" rel="noopener noreferrer nofollow">26% of Americans</a> live with some form of disability. Yet, according to recent studies, <strong>over 90% of websites and apps still fail to meet basic accessibility standards</strong>. That means millions of users are effectively locked out of vital services, information, and opportunities.</p><p>When we talk about accessibility, we often think about ramps and elevators in physical spaces. But in the digital world, barriers are just as real. 🦯🦻 <strong>People who are blind or have low vision, those who are deaf or hard of hearing, and those who communicate in languages other than the dominant one</strong> often struggle to navigate websites and apps. That's the reason localization is not just about translation — <strong>it's a core part of accessibility</strong>. Making digital content available in the users' preferred languages removes a critical barrier to understanding and accessibility. When you take this factor into account while developing your products and services, you create a space that is welcoming for everyone, regardless of their ability.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/AdobeStock_1516785943-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/AdobeStock_1516785943-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/AdobeStock_1516785943-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/AdobeStock_1516785943-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/AdobeStock_1516785943-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>With the <a href="https://commission.europa.eu/strategy-and-policy/policies/justice-and-fundamental-rights/disability/union-equality-strategy-rights-persons-disabilities-2021-2030/european-accessibility-act_en" rel="noopener noreferrer nofollow"><strong>European Accessibility Act</strong></a> now in place, many services in Europe are legally required to be accessible. This means that many businesses need to make sure their websites and apps work for everyone, no matter what their needs are. But it’s not just about following the rules; it’s about fairness and reaching more people. <strong>For businesses, ignoring accessibility isn’t just unfair: it’s risky</strong>. Think about lost customers or even potential lawsuits. Sure: prioritizing accessibility ensures compliance, but it also opens doors to a wider audience, making products easier for everyone to use. Language, whether spoken, written, or signed, can be one of the biggest hurdles for businesses in connecting with their audience. And when language barriers are addressed alongside disabilities, digital spaces truly belong to everyone.</p><blockquote>Accessibility and localization are intimately tied. Making content available in the users' preferred languages removes barriers, but it's just the start — accessible products include users who communicate in non-dominant languages, who are blind or have low vision, or who are deaf or hard of hearing</blockquote><p>In the end, products designed to address linguistic accessibility help us create spaces that everyone can use and understand. Below, I’ll share<strong> ten great tools</strong> that can help you make your services more inclusive, accessible, and impactful.</p><h2 id="1-lessa-hrefhttpsreadablecomgreaterreadablelessagreater">1. <a href="https://readable.com/">Readable</a> <a class="markdownit-header-anchor" href="#1-lessa-hrefhttpsreadablecomgreaterreadablelessagreater">🔗</a></h2><p>The last thing you want is for your audience to miss the point of your message. Readable makes sure it's always clear: it simplifies communication by improving the readability of digital content.</p><h3 id="what-is-it-good-for">What is it good for? <a class="markdownit-header-anchor" href="#what-is-it-good-for">🔗</a></h3><p>The tool is ideal for those who want to make sure their content is clear and easy to understand, no matter whether it’s for a blog post, email, or website. Readable <strong>uses readability formulas to provide scores</strong> and actionable insights, which help you fine-tune your text for better engagement and comprehension. It uses tools like automatic spelling and grammar checks, passive voice detection, website scoring, and a readability toolkit, which includes scoring systems like <a href="https://en.wikipedia.org/wiki/Flesch–Kincaid_readability_tests">Flesch-Kincaid</a> and <a href="https://en.wikipedia.org/wiki/Gunning_fog_index">Gunning Fog</a>. Marketers, educators, or business owners can benefit from it, as it makes sure your content is accessible to a wider audience. An additional benefit is that it can be integrated into your workflows in platforms like Dropbox and Slack. </p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/06/image-18.png" class="kg-image" alt loading="lazy" width="1526" height="617" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/image-18.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/image-18.png 1000w, https://ghost.localazy.com/content/images/2025/06/image-18.png 1526w" sizes="(min-width: 1200px) 1200px"><figcaption>Readable’s text analysis interface.</figcaption></figure><h3 id="use-cases">Use cases <a class="markdownit-header-anchor" href="#use-cases">🔗</a></h3><ul><li>💬 Enhancing the clarity and engagement of your content.</li><li>📄 Improving readability across formats through URL, email, text file, and document analysis.</li><li>🗣️ Matching your content's voice to your audience with <a href="https://localazy.com/dictionary/sentiment-analysis/">sentiment and tone analysis</a>.</li><li>🔦 Optimizing your content for SEO with keyword density tracking.</li></ul><h3 id="pricing">Pricing <a class="markdownit-header-anchor" href="#pricing">🔗</a></h3><p>Readable offers three pricing plans: ContentPro at $4/month, CommercePro at $24/month, and AgencyPro at $69/month. ContentPro includes a 7-day free trial, and additional users or websites can be added to each plan for an extra charge.</p><h2 id="2-lessa-hrefhttpshellofolxcomgreaterfolxlessagreater">2. <a href="https://hellofolx.com">Folx</a> <a class="markdownit-header-anchor" href="#2-lessa-hrefhttpshellofolxcomgreaterfolxlessagreater">🔗</a></h2><p>Words have power, and Folx helps you use them wisely to foster diversity and inclusion in every message you send. It is <strong>a language inclusivity tool</strong> that encourages individuals and organizations to communicate with greater respect and impact.</p><h3 id="what-is-it-good-for">What is it good for? <a class="markdownit-header-anchor" href="#what-is-it-good-for">🔗</a></h3><p>It automatically identifies and helps correct outdated language, unconscious biases, and microaggressions that could otherwise alienate your audience. The tool makes certain that your words resonate with everyone regardless of the format: job postings, customer communications, internal reports, blog posts... Its all-in-one toolkit includes <strong>an online editor that flags issues in real time</strong>, a website audit feature to analyze entire domains, and customization options that let you build a tailored style guide for your team.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/06/image-19.png" class="kg-image" alt loading="lazy" width="1731" height="756" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/image-19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/image-19.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/image-19.png 1600w, https://ghost.localazy.com/content/images/2025/06/image-19.png 1731w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="use-cases">Use cases <a class="markdownit-header-anchor" href="#use-cases">🔗</a></h3><ul><li>⚠️ Detecting outdated, offensive, and exclusionary language quickly. Identifying unconscious biases and subtle microaggressions.</li><li>🔎 Auditing entire websites and documents to detect language issues.</li><li>📔 Creating updated style guides for consistent, inclusive communication.</li></ul><h3 id="pricing">Pricing <a class="markdownit-header-anchor" href="#pricing">🔗</a></h3><p>Folx keeps things simple and affordable. Individual users can get started with the Pro plan at just $9.99 per month per member, and there’s a 7-day free trial so you can explore all the features risk-free.</p><blockquote>📖 <strong>Recommended read</strong>: <a href="https://localazy.com/blog/5-ways-to-use-inclusive-language-in-it-and-software-localization/">5 ways to use inclusive language in IT and software localization</a></blockquote><h2 id="3-lessa-hrefhttpswwwgooglecomsearchqamarasubtitlesandclientsafariandscaesvccb8066356fd07b7andrlsenandeih51aangrfkspkdupmkf8gawandved0ahukewirt2ioqoaxwkvkqehzgth8aq4dudcbaanduact5andoqamarasubtitlesandgslpegxnd3mtd2l6lxnlcnaid2ftyxjhihn1ynrpdgxlczifeaaygaqybraagiaemgsqabiabbigaxikbtileaaygaqyhgmyiguybraago8fmggqabiabbiibeiacvcta1jdchabeagqaqcyabkboag3ckobazauolgba8gbapgbazgcckacpafcagoqabiwaxjwbbhhwgineaaygaqysamyqxikbcicdhaagladgoqcgnye2aebwgiwec4ygaqysamyqxjuahjiaxikbdgbacicexaugiaegladgemyyamyigxyaqhcag0qlhiabbhdgnqcgiofwgikeaaygaqyqxikbcicfbaugiaegmcbgjgfgjkfgj4fgk8bwgilec4ygaqyxweyrwhcaguqlhiabmichbaugiaegemy1aiyiguylwuy3aqy3gqy4atyaqhcaggqlhiabbjuasicbxaagiaegarcahcqlhiabbjuahixbrjcbbjebbjgbngbacicbhaagbyyhpgdaiggazage7ogbggbeaeyczihazeun6ah7fwybwmwlje4b50hwgchmc4xljyumcghiqandsclientgws-wiz-serpgreateramaralessagreater">3. <a href="https://www.google.com/search?q=amara+subtitles&client=safari&sca_esv=ccb8066356fd07b7&rls=en&ei=H51aaNGrFKSpkdUPmKf8gAw&ved=0ahUKEwiRt_2_ioqOAxWkVKQEHZgTH8AQ4dUDCBA&uact=5&oq=amara+subtitles&gs_lp=Egxnd3Mtd2l6LXNlcnAiD2FtYXJhIHN1YnRpdGxlczIFEAAYgAQyBRAAGIAEMgsQABiABBiGAxiKBTILEAAYgAQYhgMYigUyBRAAGO8FMggQABiABBiiBEiaCVCTA1jdCHABeAGQAQCYAbkBoAG3CKoBAzAuOLgBA8gBAPgBAZgCCKACpAfCAgoQABiwAxjWBBhHwgINEAAYgAQYsAMYQxiKBcICDhAAGLADGOQCGNYE2AEBwgIWEC4YgAQYsAMYQxjUAhjIAxiKBdgBAcICExAuGIAEGLADGEMYyAMYigXYAQHCAg0QLhiABBhDGNQCGIoFwgIKEAAYgAQYQxiKBcICFBAuGIAEGMcBGJgFGJkFGJ4FGK8BwgILEC4YgAQYxwEYrwHCAgUQLhiABMICHBAuGIAEGEMY1AIYigUYlwUY3AQY3gQY4ATYAQHCAggQLhiABBjUAsICBxAAGIAEGArCAhcQLhiABBjUAhiXBRjcBBjeBBjgBNgBAcICBhAAGBYYHpgDAIgGAZAGE7oGBggBEAEYCZIHAzEuN6AH7FWyBwMwLje4B50HwgcHMC4xLjYuMcgHIQ&sclient=gws-wiz-serp">Amara</a> <a class="markdownit-header-anchor" href="#3-lessa-hrefhttpswwwgooglecomsearchqamarasubtitlesandclientsafariandscaesvccb8066356fd07b7andrlsenandeih51aangrfkspkdupmkf8gawandved0ahukewirt2ioqoaxwkvkqehzgth8aq4dudcbaanduact5andoqamarasubtitlesandgslpegxnd3mtd2l6lxnlcnaid2ftyxjhihn1ynrpdgxlczifeaaygaqybraagiaemgsqabiabbigaxikbtileaaygaqyhgmyiguybraago8fmggqabiabbiibeiacvcta1jdchabeagqaqcyabkboag3ckobazauolgba8gbapgbazgcckacpafcagoqabiwaxjwbbhhwgineaaygaqysamyqxikbcicdhaagladgoqcgnye2aebwgiwec4ygaqysamyqxjuahjiaxikbdgbacicexaugiaegladgemyyamyigxyaqhcag0qlhiabbhdgnqcgiofwgikeaaygaqyqxikbcicfbaugiaegmcbgjgfgjkfgj4fgk8bwgilec4ygaqyxweyrwhcaguqlhiabmichbaugiaegemy1aiyiguylwuy3aqy3gqy4atyaqhcaggqlhiabbjuasicbxaagiaegarcahcqlhiabbjuahixbrjcbbjebbjgbngbacicbhaagbyyhpgdaiggazage7ogbggbeaeyczihazeun6ah7fwybwmwlje4b50hwgchmc4xljyumcghiqandsclientgws-wiz-serpgreateramaralessagreater">🔗</a></h2><p>Sometimes, the difference between connection and confusion is a well-written subtitle — especially when your content speaks a language unfamiliar to your audience, and that’s where Amara shines. The company is dedicated to <strong>making video content accessible to everyone, regardless of language or ability</strong>. What sets Amara apart is its combination of powerful cloud-based software and an engaged global community.</p><p>As a nonprofit project of the <a href="https://pculture.org">Participatory Culture Foundation</a>, Amara’s mission is focused on promoting accessibility, inclusion, and global understanding.</p><h3 id="what-is-it-good-for">What is it good for? <a class="markdownit-header-anchor" href="#what-is-it-good-for">🔗</a></h3><p>Their award-winning subtitle and caption editor is designed to <strong>make the subtitling process as easy and effective as possible</strong>, whether you're working solo or managing a large team. You can integrate with popular platforms like YouTube and Vimeo, and for those who need professional assistance, Amara On Demand offers subtitling and translation services in over 50 languages.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/06/image-20.png" class="kg-image" alt loading="lazy" width="1533" height="715" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/image-20.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/image-20.png 1000w, https://ghost.localazy.com/content/images/2025/06/image-20.png 1533w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="use-cases">Use cases <a class="markdownit-header-anchor" href="#use-cases">🔗</a></h3><ul><li>↪️ Customizing your subtitling workflows to fit your team's needs: you can invite your colleagues to collaborate, automate actions through their API, and integrate them with popular video platforms.</li><li>📼 Professionally translating and captioning your content.</li></ul><h3 id="pricing">Pricing <a class="markdownit-header-anchor" href="#pricing">🔗</a></h3><p>If you’re new to Amara, the free Public Plan is a great place to start for basic subtitling. The Plus Plan costs $24/month for up to two users, with additional users at $12 each, while the Enterprise Plan is customizable for larger teams.</p><h2 id="4-lessa-hrefhttpswwwsignapseaigreatersignapselessagreater">4. <a href="https://www.signapse.ai">Signapse</a> <a class="markdownit-header-anchor" href="#4-lessa-hrefhttpswwwsignapseaigreatersignapselessagreater">🔗</a></h2><p>A live event, a video call, or a loudspeaker announcement — so much of our world relies on sound to communicate, but what happens when sound isn’t an option? That’s where tools like Signapse enter to bridge the gap. This platform <strong>uses generative AI to translate spoken, written, or visual content into British Sign Language (BSL) and American Sign Language (ASL)</strong>. The tool, built by a team of Deaf and hearing professionals, has been backed by entrepreneurs, translation experts, and <a href="https://www.surrey.ac.uk/news/google-supports-university-surrey-boosting-internet-accessibility-deaf-people">leading researchers from the University of Surrey</a>.</p><h3 id="what-is-it-good-for">What is it good for? <a class="markdownit-header-anchor" href="#what-is-it-good-for">🔗</a></h3><p>With features like customizable signer videos and integration-ready options, Signapse is ideal for businesses that communicate in English and want to create accessible digital experiences while meeting compliance standards. It can be used for real-time communication needs in public spaces, websites, or corporate environments. According to them, the tool is already generating <a href="https://www.youtube.com/watch?v=R9o65hIwVIM">over 5,000 BSL train announcements daily in the UK</a>, which shows its impact in bridging communication gaps.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/06/image-23.png" class="kg-image" alt loading="lazy" width="1831" height="754" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/image-23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/image-23.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/image-23.png 1600w, https://ghost.localazy.com/content/images/2025/06/image-23.png 1831w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="use-cases">Use cases <a class="markdownit-header-anchor" href="#use-cases">🔗</a></h3><ul><li>👐 Translating videos, documents, or audio content into sign language.</li><li>🚊 Creating real-time sign language communication workflows for public announcements and corporate media, with multiple features like signer size and background options, bulk translation for large-scale projects, and whitelabel outputs for branding.</li></ul><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/4pw_cDv9I-Y?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="How does our AI technology work? (BSL translation)"></iframe></figure><h3 id="pricing">Pricing <a class="markdownit-header-anchor" href="#pricing">🔗</a></h3><p>Signapse provides four plans: Starter (£0/month, £32.50/minute), Pro (£100/month, 10 minutes included, £19.50/additional minute), Team (£300/month, 100 minutes included, £10.40/additional minute), and Enterprise (£600/month, 250 minutes included, £8.00/additional minute).</p><blockquote>🎧 Learn more about the relationship between AI and accessibility for sign language users in <a href="https://localazy.com/blog/s01-ep-08-bridging-the-gap-podcast/">our podcast episode</a> with Sally Chalk from Signapse — and check the technology in action <a href="https://www.youtube.com/shorts/wwFRW2sN6Rk">in this short video</a>!</blockquote><h2 id="5-lessa-hrefhttpsesavamegreateravalessagreater">5. <a href="https://es.ava.me">Ava</a> <a class="markdownit-header-anchor" href="#5-lessa-hrefhttpsesavamegreateravalessagreater">🔗</a></h2><p>Ava’s story starts with one question: How do we make sure no one is left out of the conversation? Its founder, <a href="https://www.linkedin.com/in/thibaultduchemin/en">Thibault Duchemin</a>, spent years watching his friends and family struggle to fully participate in everyday conversations because of hearing challenges. That frustration led him to create this tool, which<strong> provides live captioning and transcription services that are accurate, reliable, and easy to use.</strong></p><h3 id="what-is-it-good-for">What is it good for? <a class="markdownit-header-anchor" href="#what-is-it-good-for">🔗</a></h3><p>Ava helps users stay connected in a variety of situations, from work meetings to social gatherings. The platform supports captions in over 20 languages, with a mix of AI-powered captions and human transcription. This makes it suitable for <strong>international teams or individuals needing multilingual support for Deaf and hard-of-hearing users</strong>. It’s also great for businesses that want to make sure no one misses out during meetings or events. </p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/06/image-24.png" class="kg-image" alt loading="lazy" width="1656" height="700" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/image-24.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/image-24.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/image-24.png 1600w, https://ghost.localazy.com/content/images/2025/06/image-24.png 1656w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="use-cases">Use cases <a class="markdownit-header-anchor" href="#use-cases">🔗</a></h3><ul><li>🔄 Translating voice into text in 20+ languages instantly, with additional access to sign language interpretation service and ADA-compliant captions.</li><li>🗣️ Getting heard by your peers with Ava Voice's text-to-speech.</li><li>🤝 Helping Deaf and hard-of-hearing individuals follow along during company events, with features like speaker identification, unlimited captions on multiple devices, and integrations with video conferencing tools like Zoom, Teams, and Meet.</li></ul><h3 id="pricing">Pricing <a class="markdownit-header-anchor" href="#pricing">🔗</a></h3><p>Ava includes a free 15-day trial with no commitment. Paid plans vary depending on the features and team size, with options for small teams and larger organizations.</p><h2 id="6-lessa-hrefhttpssignlycogreatersignlylessagreater">6. <a href="https://signly.co">Signly</a> <a class="markdownit-header-anchor" href="#6-lessa-hrefhttpssignlycogreatersignlylessagreater">🔗</a></h2><p>For many Deaf people, <strong>sign language is their first language</strong>, yet websites often cater to English-speaking audiences. Signly helps break down barriers by <strong>providing an inclusive experience that translates website content into the specific sign language used by Deaf users</strong>, recognizing that there is a wide variety of them and that they are unique, fully developed tongues in their own right. The tool is basically an easy-to-use, low-code solution that integrates with websites to provide sign language translations.</p><h3 id="what-is-it-good-for">What is it good for? <a class="markdownit-header-anchor" href="#what-is-it-good-for">🔗</a></h3><p>Signly <strong>gives users more independence, privacy, and autonomy</strong> by helping them navigate websites without relying on friends, family, or interpreters. Companies can use it to <strong>capture their website text, which is then translated</strong> by proficient Deaf sign language translators. Through Signly QR, organizations can also make their information accessible to the Deaf community for a variety of content, including educational materials, healthcare information, and official documents.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/06/image-26.png" class="kg-image" alt loading="lazy" width="1630" height="611" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/image-26.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/image-26.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/image-26.png 1600w, https://ghost.localazy.com/content/images/2025/06/image-26.png 1630w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="use-cases">Use cases <a class="markdownit-header-anchor" href="#use-cases">🔗</a></h3><ul><li>💻 Providing sign language translations for website content, easily integrating through a low-code process.</li><li>🛍️ Enhancing the shopping experience for sign language users in retail spaces.</li><li>🦻 Offering access to Deaf and hard-of-hearing users to official documentation, museum and park information, evacuation procedures, educational content, healthcare information, and more.</li></ul><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/YmwoHJEwBc4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Explainer 60sec"></iframe></figure><h3 id="pricing">Pricing <a class="markdownit-header-anchor" href="#pricing">🔗</a></h3><p>Pricing details are customized based on the website's size and requirements. Some projects may be eligible for a free trial.</p><h2 id="7-lessa-hrefhttpswwwhandtalkmeengreaterhand-talklessagreater">7. <a href="https://www.handtalk.me/en/">Hand Talk</a> <a class="markdownit-header-anchor" href="#7-lessa-hrefhttpswwwhandtalkmeengreaterhand-talklessagreater">🔗</a></h2><p>Dubbed as the Best Social App in the world by the <a href="https://wsa-global.org/winner/hand-talk/">World Summit Awards</a> (based on the <a href="https://sdgs.un.org/goals">UN's SDGs principles</a>), Hand Talk is <strong>an automatic sign language translation platform</strong> designed to ease communication between Deaf and hearing individuals. With over 4 million app downloads and nearly 2 billion words translated, the app uses two AI virtual assistants, Hugo and Maya, to translate content into ASL (American Sign Language) and Libras (Brazilian Sign Language).</p><h3 id="what-is-it-good-for">What is it good for? <a class="markdownit-header-anchor" href="#what-is-it-good-for">🔗</a></h3><p>The platform includes useful <strong>tools for individuals, businesses, and organizations seeking to connect better with the Deaf community</strong> and to make a difference in accessibility in digital and physical spaces. </p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/06/Captura-de-pantalla-2025-06-24-a-las-12.44.47.png" class="kg-image" alt loading="lazy" width="2000" height="985" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Captura-de-pantalla-2025-06-24-a-las-12.44.47.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Captura-de-pantalla-2025-06-24-a-las-12.44.47.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/Captura-de-pantalla-2025-06-24-a-las-12.44.47.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/Captura-de-pantalla-2025-06-24-a-las-12.44.47.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="use-cases">Use cases <a class="markdownit-header-anchor" href="#use-cases">🔗</a></h3><ul><li>↔️ Automatically translating web content into ASL and Libras (<a href="https://www.handtalk.me/en/plugin/">Hand Talk Plugin</a>).</li><li>📲 Text-to-voice translating on mobile devices from English to ASL and from Portuguese to Libras (<a href="https://www.handtalk.me/en/app/">Hand Talk App</a>). It also supports sign language learning.</li></ul><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/rE2QEy8alao?start=109&feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Get to know Hand Talk Plugin in ASL"></iframe></figure><h3 id="pricing">Pricing <a class="markdownit-header-anchor" href="#pricing">🔗</a></h3><p>The app is free to use with optional ad-free access for a minimal fee. For the plugin, the pricing is variable depending on the size and traffic of the site.</p><h2 id="8-lessa-hrefhttpswww3playmediacomgreater3play-medialessagreater">8. <a href="https://www.3playmedia.com">3Play Media</a> <a class="markdownit-header-anchor" href="#8-lessa-hrefhttpswww3playmediacomgreater3play-medialessagreater">🔗</a></h2><p>The demand for quality captions, translations, and audio descriptions has never been higher than today. That's where platforms like 3Play Media come in. Based in Boston and trusted by over 10,000 organizations, including major players like Salesforce and Dell, the platform uses AI automation combined with human editing to deliver <strong>high-quality, accessible video content at scale</strong>.</p><h3 id="what-is-it-good-for">What is it good for? <a class="markdownit-header-anchor" href="#what-is-it-good-for">🔗</a></h3><p>The company offers a mix of services ideal for businesses looking to make their videos accessible, compliant, and inclusive, including <strong>captioning, subtitling, dubbing, translation, live captioning, and audio descriptions</strong>. They are specifically built for large-scale projects in industries like education, sports, technology, entertainment, and media, with secure handling and API access.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/Imo9jTMEKTc?start=2&feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="3Play Media - The Market Leader in Media Accessibility"></iframe></figure><h3 id="use-cases">Use cases <a class="markdownit-header-anchor" href="#use-cases">🔗</a></h3><ul><li>📝 Dubbing, captioning, and transcribing content for both recorded and live videos.</li><li>▶️ Providing audio descriptions that describe on-screen action for blind and low-vision audiences.</li><li>📹 Translating and subtitling video content in over 90 languages.</li></ul><h3 id="pricing">Pricing <a class="markdownit-header-anchor" href="#pricing">🔗</a></h3><p>3Play Media offers flexible pricing based on the volume and services you need. Their Express plan is for one-off projects, Pro suits occasional work, and Enterprise supports high-volume needs with full features and support. Pricing depends on video volume, turnaround time, and the services chosen.</p><h2 id="9-lessa-hrefhttpstextiocom-relnoopener-noreferrer-nofollowgreatertextiolessagreater">9. <a href="https://textio.com/" rel="noopener noreferrer nofollow">Textio</a> <a class="markdownit-header-anchor" href="#9-lessa-hrefhttpstextiocom-relnoopener-noreferrer-nofollowgreatertextiolessagreater">🔗</a></h2><p>Textio is an AI-powered platform that makes HR writing more inclusive, clear, and impactful. From writing job postings to giving feedback and shaping interview questions, the tool draws on real-world insights to help you attract diverse talent and support employee growth, making hiring fairer and career development clearer.</p><h3 id="lessstronggreaterwhat-is-it-good-forlessstronggreater"><strong>What is it good for?</strong> <a class="markdownit-header-anchor" href="#lessstronggreaterwhat-is-it-good-forlessstronggreater">🔗</a></h3><p>The tool can be useful for <strong>companies looking to improve how they communicate with candidates and employees</strong>. HR teams and managers can use it as an auto-checker that removes hidden bias in recruiting and feedback. It's also a good resource to ensure conversations are growth-oriented rather than empty or non-constructive. It <strong>integrates easily with applicant tracking and performance systems</strong> to provide real-time suggestions that <strong>reduce bias and improve clarity</strong>, without adding extra steps to managers’ workflows.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/06/Captura-de-pantalla-2025-06-25-a-las-16.12.36-1.png" class="kg-image" alt loading="lazy" width="2000" height="867" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Captura-de-pantalla-2025-06-25-a-las-16.12.36-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Captura-de-pantalla-2025-06-25-a-las-16.12.36-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/Captura-de-pantalla-2025-06-25-a-las-16.12.36-1.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/Captura-de-pantalla-2025-06-25-a-las-16.12.36-1.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="lessstronggreateruse-caseslessstronggreater"><strong>Use cases</strong> <a class="markdownit-header-anchor" href="#lessstronggreateruse-caseslessstronggreater">🔗</a></h3><ul><li>💬 Writing unbiased job descriptions that attract diverse candidates.</li><li>📊 Giving actionable, growth-focused feedback to improve team performance.</li><li>🔧 Simplifying interview question alignment and candidate evaluation.</li></ul><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/YVphFCWPg8o?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Managers use Textio AI to give better feedback and cut review writing time in half"></iframe></figure><h3 id="pricing">Pricing <a class="markdownit-header-anchor" href="#pricing">🔗</a></h3><p>Textio offers flexible plans tailored to organizational size and needs. Pricing details are available directly through their sales team.</p><h2 id="10-lessa-hrefhttpslocalazycomgreaterlocalazylessagreater">10. <a href="https://localazy.com">Localazy</a> <a class="markdownit-header-anchor" href="#10-lessa-hrefhttpslocalazycomgreaterlocalazylessagreater">🔗</a></h2><p>As companies expand globally, they face the challenge of making their digital products available in multiple languages, which is a crucial part of digital accessibility. The process of translating and adapting software, websites, and mobile apps for different languages and cultures can be time-consuming, resource-draining, and error-prone. That’s where tools like Localazy come in handy: <strong>a powerful, cloud-based localization platform designed to make the translation process easier</strong> <strong>and reduce manual work</strong>.</p><h3 id="what-is-it-good-for">What is it good for? <a class="markdownit-header-anchor" href="#what-is-it-good-for">🔗</a></h3><p>The tool is ideal for <strong>medium-sized businesses, startups, and agencies that are looking to scale their localization projects quickly and efficiently</strong>. With automated workflows and flexible collaboration options, it eliminates the hassle of manually managing translations in multiple formats, as the platform integrates with <a href="https://localazy.com/integrations">more than 50 popular frameworks</a>. Localazy takes the guesswork and grunt work out of localization, freeing teams to focus on what they do best: creating great products and engaging global audiences.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/06/items-2.png" class="kg-image" alt loading="lazy" width="1246" height="704" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/items-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/items-2.png 1000w, https://ghost.localazy.com/content/images/2025/06/items-2.png 1246w" sizes="(min-width: 1200px) 1200px"><figcaption>Localization workflows are customizable with Localazy.</figcaption></figure><h3 id="use-cases">Use cases <a class="markdownit-header-anchor" href="#use-cases">🔗</a></h3><ul><li>🦾 Automating translation workflows, reducing manual effort with tools like <a href="https://localazy.com/features/duplicity-linking/">Duplicity Linking</a>, <a href="https://localazy.com/features/branching">Project Branching</a>, and <a href="https://localazy.com/features/localazy-ai/">AI-powered translation suggestions</a> from engines like DeepL and OpenAI.</li><li>🎯 Centralizing localization projects in a single platform where team members, professional translators, and community contributors can collaborate, review, and take care of the whole <a href="https://localazy.com/dictionary/qa-quality-assurance">QA process</a>.</li><li>🏄‍♂️ Creating a continuous, easy-to-integrate localization flow with quick translation updates for mobile apps, websites, and desktop software.</li></ul><h3 id="pricing">Pricing <a class="markdownit-header-anchor" href="#pricing">🔗</a></h3><p>You can start with a free plan, which includes essential features like unlimited projects and 200 source keys. Paid plans range from $33/month for the Professional Plan to $74/month for the Autopilot Plan, with the Business Plan priced at $166/month. Custom pricing is available for the Enterprise Plan, and <a href="https://localazy.com/blog/introducing-a-new-trial-model">all paid plans come with a 14-day free trial</a>.</p><h2 id="make-all-your-users-feel-welcome">✅ Make all your users feel welcome <a class="markdownit-header-anchor" href="#make-all-your-users-feel-welcome">🔗</a></h2><p>These tools are just the beginning of how you can create digital spaces that truly welcome everyone. Beyond legal obligations, digital accessibility should be about <strong>making sure that every person, regardless of their abilities or language, can connect with your content</strong>. Investing in accessibility builds trust, helps you reach new audiences, and shows that your brand values inclusivity.</p><p>We'll be sharing more about inclusive UX and accessibility in the weeks ahead, especially how language plays a deeper role in making the web more welcoming. But if you’re ready to take action now, Localazy has tools that can help make your product more accessible across languages and audiences. <a href="https://localazy.com/register">Try the platform for free today</a>, or <a href="https://localazy.com/contact/">contact us</a> with any questions or requests.</p>]]></content:encoded>
            <author>Waqas Nazeer</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/06/10tools-accessibility-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Building for RTL languages from the start saves you trouble later | Bridging the Gap Podcast, S02 EP05]]></title>
            <link>https://localazy.com/blog/bridging-the-gap-podcast-s02-ep05-building-for-rtl-languages</link>
            <guid isPermaLink="false">bridging-the-gap-podcast-s02-ep05-building-for-rtl-languages</guid>
            <pubDate>Thu, 26 Jun 2025 09:57:16 GMT</pubDate>
            <description><![CDATA[Why does right-to-left (RTL) support matter, even if you’re not translating to languages like Arabic, Urdu, Hebrew, or Farsi today? Kareem Ennassag returns to our podcast to explain how language direction impacts UX, usability, and market readiness.]]></description>
            <content:encoded><![CDATA[<p>Too many teams think of right-to-left support as a niche feature they’ll “add later.” But as <a href="https://www.linkedin.com/in/kareemnassag/" rel="noopener noreferrer nofollow"><strong>Kareem Ennassag</strong></a>, Technical Director at the <a href="https://www.langops.institute/" rel="noopener noreferrer nofollow">LangOps Institute</a>, reminds us, <strong>you can't serve over 900 million potential users without it</strong>. In this episode of <strong>Bridging the Gap</strong>, Kareem joins <a href="https://localazy.com/blog/author/marta-g-coloma/" rel="noopener noreferrer nofollow"><strong>Marta G. Coloma</strong></a> and <a href="https://localazy.com/blog/author/jan-bilek/" rel="noopener noreferrer nofollow"><strong>Jan Bílek</strong></a> once again — this time to focus on the complexity behind right-to-left scripts, bidirectionality, and why ignoring RTL in early development often leads to long-term technical debt.</p><h2 id="the-highlights">📝 The highlights <a class="markdownit-header-anchor" href="#the-highlights">🔗</a></h2><h3 id="start-small-but-plan-ahead">Start small, but plan ahead <a class="markdownit-header-anchor" href="#start-small-but-plan-ahead">🔗</a></h3><p>Even if RTL languages are not your priority right now, Kareem argues that <strong>preparing your tech stack for RTL early on is easier than getting back to it later</strong>. He compares it to technical debt — one that can quietly grow until it blocks your entry into whole markets.</p><blockquote>"Start early, start small. Invest a little into it — but it will save you a lot of trouble."</blockquote><h3 id="what-rtl-really-means">What RTL really means <a class="markdownit-header-anchor" href="#what-rtl-really-means">🔗</a></h3><p>Many assume RTL refers to a language — but <strong>it’s the script, not the language, that flows right to left</strong>. <a href="https://hub.localazy.com/en/scripts/arab-arabic">Arabic</a>, <a href="https://localazy.com/blog/hebrew-yiddish-jewish-communities-around-the-world-how-to-localize-for-them/">Hebrew</a>, <a href="https://hub.localazy.com/en/languages/fa-persian">Farsi</a>, and <a href="https://hub.localazy.com/en/languages/ur-urdu">Urdu</a> all use RTL scripts. The real challenge appears when <a href="https://localazy.com/dictionary/ltr">left-to-right (LTR)</a> elements, like numbers, links, or brand names, are added to RTL text, creating <strong><a href="https://localazy.com/dictionary/bidirectional-languages">bidirectional</a></strong> content that breaks without proper support.</p><h3 id="mirroring-layout-good-ux">Mirroring layout ≠ good UX <a class="markdownit-header-anchor" href="#mirroring-layout-good-ux">🔗</a></h3><p>Supporting RTL isn’t just about flipping layouts. Kareem explains how <strong>the user journey <a href="https://localazy.com/blog/6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them?srsltid=AfmBOoqqe605oO2EE578iRKKqpIxZqw0CraZ_dtwu4rpTsRVm-BxhafN#redesigning-the-ui-and-layout">reverses direction</a></strong>: buttons move, diagrams flip, scroll behavior changes, and common UI patterns no longer make sense if not adapted properly. Bad RTL implementation doesn’t just look strange — <strong>it renders products unusable.</strong></p><h3 id="why-tools-and-platforms-matter">Why tools and platforms matter <a class="markdownit-header-anchor" href="#why-tools-and-platforms-matter">🔗</a></h3><p>Even something as simple as choosing the wrong rich text editor can sabotage your localization plans. Kareem and Jan point out that <strong>developers should double-check toolkits for RTL and bidirectional compatibility</strong> from the beginning, whether it’s a design component, spreadsheet, or frontend framework.</p><h3 id="better-resources-than-ever">Better resources than ever <a class="markdownit-header-anchor" href="#better-resources-than-ever">🔗</a></h3><p>From <strong>W3C</strong> and <strong>Unicode</strong> to guides from Microsoft, Apple, and Google, <strong>free, high-quality documentation is widely available</strong>. Developers don’t need to reinvent the wheel. The biggest step is knowing that RTL support is something to plan for.</p><h2 id="star-quote">🌟 Star quote <a class="markdownit-header-anchor" href="#star-quote">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/BTG-guest-quote--2-.png" class="kg-image" alt="BTG-guest quote (2).png" loading="lazy" width="1200" height="536" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/BTG-guest-quote--2-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/BTG-guest-quote--2-.png 1000w, https://ghost.localazy.com/content/images/2025/06/BTG-guest-quote--2-.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/Py_S4fLpBEY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="How to build for RTL languages from the start (w/ Kareem Ennassag) | Bridging the Gap #5, S02"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: How to build for RTL languages from the start (w/ Kareem Ennassag) | Bridging the Gap #5, S02" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/6oY2akn5MBgHc4nI3dvsUq/video?si=N67ZVnYLTsGz7SAGyOMkiA&utm_source=oembed"></iframe></figure><h2 id="additional-resources">🗞️ Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><ul><li><a href="https://www.w3.org/International/questions/qa-bidi-css-markup" rel="noopener noreferrer nofollow">W3C: Handling Bidirectional Text</a></li><li><a href="https://www.unicode.org/reports/tr9/" rel="noopener noreferrer nofollow">Unicode Bidirectional Algorithm</a></li><li><a href="https://www.langops.institute">LangOps Institute</a></li></ul><h2 id="related-episodes">📹 Related episodes <a class="markdownit-header-anchor" href="#related-episodes">🔗</a></h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/bridging-the-gap-podcast-s02-ep04-lang-ops-to-scale"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Having language support from the beginning pays off | Bridging the Gap Podcast, S02 EP04</div><div class="kg-bookmark-description">**When should localization start? Kareem Ennassag explains why language operations are a mindset — not a feature to bolt on later when translations are needed.**</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/06/BTG-PC-S2Ep04--1-.png" alt=""></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s01-ep-08-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">AI, sign language &amp; accessibility | Bridging the Gap Podcast, S01 EP08</div><div class="kg-bookmark-description">Is accessibility for the Deaf community evolving thanks to AI? What does it have in common with localization? We talk to Signapse’s co-founder, Sally Chalk, to find out.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep08.png" alt=""></div></a></figure><blockquote><em>📲 </em><a href="https://www.linkedin.com/company/bridging-the-gap-podcast-btg/" rel="noopener noreferrer nofollow"><em>Follow the podcast on LinkedIn</em></a><em> to be notified when we release a new episode!</em></blockquote><h2 id="connect-with-the-guest-and-hosts">💌 Connect with the guest & hosts <a class="markdownit-header-anchor" href="#connect-with-the-guest-and-hosts">🔗</a></h2><ul><li><a href="https://www.linkedin.com/in/kareemnassag/" rel="noopener noreferrer nofollow">Kareem Ennassag</a></li><li><a href="https://www.linkedin.com/in/xbilek18/" rel="noopener noreferrer nofollow">Jan Bílek</a></li><li><a href="https://www.linkedin.com/in/martagcoloma/" rel="noopener noreferrer nofollow">Marta G. Coloma</a></li></ul><h2 id="more-on-the-blog">📚 More on the blog <a class="markdownit-header-anchor" href="#more-on-the-blog">🔗</a></h2><p>Learn more about approaching RTL languages, and Arabic in particular, with <a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand/">this short guide</a> by Arabic localization and BPO veteran Ahmed Megahed, who brings over 17 years of experience in the field. And if you're curious about how global brands like Netflix, Amazon, or Alibaba have tackled their entry to this market, make sure to check the piece below. ⬇️</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/top-lessons-ive-learned-from-my-arabic-localization-work-with-netflix-global-brands"><div class="kg-bookmark-content"><div class="kg-bookmark-title">What I’ve learnt localizing for Netflix and other global brands for the Arabic market</div><div class="kg-bookmark-description">Some Western brands enter Arabic-speaking markets fully understanding their nuances. Others simply fail because they don’t. These are my top tips after 17 years working in the field.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Ahmed Megahed</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/ArabicLocal---Global-brands-4.png" alt=""></div></a></figure><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy helps you prepare, launch, and manage multilingual content at scale. Whether you’re just starting out or expanding into new markets, Localazy provides tools for automation, quality translation, and structured localization workflows.</p><p>Explore how to get started <a href="https://localazy.com/docs/general/getting-started-with-localazy" rel="noopener noreferrer nofollow">here</a>, choose a <a href="https://localazy.com/pricing" rel="noopener noreferrer nofollow">plan</a>, or <a href="https://localazy.com/contact" rel="noopener noreferrer nofollow">contact us</a> for support.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/06/BTG-PC-S2Ep05.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[What I've learnt localizing for Netflix and other global brands for the Arabic market]]></title>
            <link>https://localazy.com/blog/top-lessons-ive-learned-from-my-arabic-localization-work-with-netflix-global-brands</link>
            <guid isPermaLink="false">top-lessons-ive-learned-from-my-arabic-localization-work-with-netflix-global-brands</guid>
            <pubDate>Sat, 16 Aug 2025 12:13:42 GMT</pubDate>
            <description><![CDATA[Some Western brands enter Arabic-speaking markets fully understanding their nuances. Others simply fail because they don't. These are my top tips after 17 years working in the field.]]></description>
            <content:encoded><![CDATA[<p>As an Arab, Egyptian, African, and Middle Eastern professional specialized in Arabic localization,<strong> I am consistently surprised by Western misconceptions about our culture</strong>. For 17 years, I have navigated multilingual environments and worked with brands like <strong>Netflix</strong> (localization) and <strong>Just Falafel </strong>(offshoring/consulting) that sought to penetrate Arabic-speaking markets. One succeeded, the other failed (and I’ll tell you why later).</p><p><a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand">There are a few common misunderstandings</a> that impact both individuals and companies looking to expand into the Middle East. Without recognizing the importance of cultural, linguistic, and design nuances, Western companies cannot make their mark in these regions.</p><p>💡 <strong>Bottom line: The quality of your localization can make or break your success in Arabic markets</strong>.<strong> </strong>But with the right resources, tools, and information, you can win the customers' trust. Today, I’m sharing my experience to help you make better decisions in your expansion journey.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/AdobeStock_63986955.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/AdobeStock_63986955.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/AdobeStock_63986955.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/AdobeStock_63986955.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/AdobeStock_63986955.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-potential-of-arabic-markets">✨ The potential of Arabic markets <a class="markdownit-header-anchor" href="#the-potential-of-arabic-markets">🔗</a></h2><p>Arabic is one of the most widely spoken languages in the world, with over <a href="https://www.un.org/en/observances/arabiclanguageday">420 million native speakers across 25 countries</a>. It is also the liturgical language of Islam, giving it significant cultural and religious importance.</p><p>However, localizing content for Arabic-speaking markets is no simple task. <strong>The Arabic language is rich, complex, and deeply tied to cultural nuances</strong>. It also uses <a href="https://hub.localazy.com/en/scripts/arab-arabic">a unique script</a> written from right to left, and<strong> has numerous dialects that vary significantly from region to region</strong>, as well as Modern Standard Arabic (MSA), which is used in formal contexts. Lastly, social and cultural considerations also play a crucial role, as Arabic-speaking audiences are highly sensitive to content that aligns with their values, traditions, and customs.</p><p>Despite these challenges, the effort to localize for Arabic-speaking markets is well worth it. <strong>The <a href="https://www.worldbank.org/en/region/mena/publication/mena-economic-monitor">Middle East and North Africa (MENA)</a> region is home to <a href="https://gfmag.com/economics-policy-regulation/mena-sustained-growth-ipo-mergers-acquisitions/#:~:text=The%20United%20Arab%20Emirates%20(UAE,%25%2C%20respectively%2C%20in%202025.">some of the fastest-growing economies</a> in the world</strong>. For instance, the UAE and Saudi Arabia are hubs for technology, finance, and entertainment, while Egypt boasts a young, tech-savvy population of over 100 million. According to <a href="https://www.pwc.com/m1/en/publications/mena-entertainment-media-outlook-2020-2024.html">a report by PwC</a>, the entertainment and media market in the MENA region is expected to grow significantly too, making it a prime target for businesses in these sectors.</p><blockquote>🎙️ Learn more in our <a href="https://localazy.com/blog/bridging-the-gap-podcast-s02-ep05-building-for-rtl-languages"><em>Bridging the Gap</em> podcast episode with Kareem Ennassag</a>, Technical Director at the LangOps Institute, when it comes to supporting right-to-left languages (and why it needs to be done from the start).</blockquote><h3 id="countries-and-industries-you-should-watch">Countries & industries you should watch <a class="markdownit-header-anchor" href="#countries-and-industries-you-should-watch">🔗</a></h3><ul><li><strong>🇸🇦 <a href="https://hub.localazy.com/en/regions/sa-saudi-arabia">Kingdom of Saudi Arabia (KSA)</a></strong>:<strong> </strong>All eyes are on Saudi Arabia right now with its <a href="https://www.arabnews.com/node/2591451/business-economy">rapid economic expansion</a> and <a href="https://www.ey.com/en_iq/insights/digital/how-digital-transformation-is-changing-the-fabric-of-a-nation">increasing digitalization</a>.</li><li><strong>🇦🇪<a href="https://hub.localazy.com/en/regions/ae-united-arab-emirates"> United Arab Emirates (UAE)</a></strong>: <a href="https://www.forbesmiddleeast.com/money/banking-finance/uae-economy-grows-39-in-2024-amid-strong-performance-of-oil-and-non-oil-sectors">A hotspot</a> for businesses looking to outsource or expand in the area.</li><li><strong>🇪🇬 </strong><a href="https://hub.localazy.com/en/regions/eg-egypt"><strong>Egypt</strong></a>:<strong> </strong>Despite facing considerable economic challenges, the country is still <a href="https://www.reuters.com/world/africa/egypts-economy-expected-grow-by-4-imf-reforms-2025-01-20/">one of the most promising emerging markets</a>.</li><li><strong>🇱🇾 <a href="https://hub.localazy.com/en/regions/ly-libya">Libya</a></strong>: Still recovering from civil war and the <a href="https://www.unicef.org/emergencies/devastating-flooding-libya">devastating flood </a>that struck two years ago, but it remains a market with a lot of potential.</li></ul><p>The main industries in the Arabic market are <strong>oil and gas, media, tourism, and real estate</strong>. Oil and gas drive the major growth of the economy, while media is expanding with the increased production of digital content. Tourism attracts visitors with historical sites and modern attractions, and real estate is expanding with new developments and investments. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/AdobeStock_1271545730-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/AdobeStock_1271545730-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/AdobeStock_1271545730-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/AdobeStock_1271545730-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/AdobeStock_1271545730-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="why-companies-still-get-arabic-wrong">🫣 Why companies still get Arabic wrong <a class="markdownit-header-anchor" href="#why-companies-still-get-arabic-wrong">🔗</a></h2><p>No shortage of Western companies underestimate the challenges of Arabic localization and then fail miserably to stay relevant in the market. Relying on direct translation, ignoring regional dialects, and neglecting design adaptations are just a few of them. In the section below, I’ll explore them in more detail.</p><h3 id="1-they-miss-nuance-and-content-censorship">1. They miss nuance & content censorship <a class="markdownit-header-anchor" href="#1-they-miss-nuance-and-content-censorship">🔗</a></h3><p>Western companies often struggle with the deep cultural nuances that distinguish Arabic-speaking markets. They use direct translations that completely miss cultural references and idiomatic expressions, leading to <strong>messages that feel out of place or even offensive</strong>.</p><p>Take a look at these idioms, for example:</p><ul><li><strong>🔫 "Bite the bullet"</strong>:<strong> </strong>This expression can't be translated directly into Arabic, but usually transcreation is recommended. Different approaches can be used depending on the context.</li><li><strong>🍀 "Break a leg"</strong>: It can't be directly translated in Arabic or it would literally mean "break your leg" <em>(إكسر رجلك</em>). However, some colloquial Arabic idioms can be used, i.e., <em>گسر الدنيا</em> ("break the world" 🌍) meaning to make a buzz or have major success in <a href="https://hub.localazy.com/en/languages/arz-egyptian-arabic">Egyptian Arabic</a>.</li></ul><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>My tip</strong>: Invest in cultural consultations and work with native speakers who can provide insights into local preferences and taboos.</div></div><h3 id="2-they-underestimate-formatting-and-dtp">2. They underestimate formatting and DTP <a class="markdownit-header-anchor" href="#2-they-underestimate-formatting-and-dtp">🔗</a></h3><p>As an RTL language, localizing to Arabic requires careful attention to layout and design. <strong>Companies often fail to adapt their content properly</strong>, leading to a poor user experience.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>My tip</strong>: Adapt designs to accommodate RTL layouts, creating a smooth reading experience.</div></div><h3 id="3-they-lack-consistent-terminology">3. They lack consistent terminology <a class="markdownit-header-anchor" href="#3-they-lack-consistent-terminology">🔗</a></h3><p>Inconsistent use of terminology can dilute your message, confuse your audience, and even lead to unintended offense. There are dozens of examples I can mention to make this point, but here are a few: </p><ul><li><strong>👔 "</strong><em><strong>مكوة</strong></em><strong>" (Egyptian Arabic)</strong> means "clothes iron", but in Saudi slang, it refers to the buttocks (equivalent to <em>booty</em> in US slang).</li><li><strong>🤵🏼‍♂️ "م</strong><em><strong>عرس</strong></em><strong>" (Tunisian Arabic)</strong> means "groom" or newlywed, but it can be confused with <em>معرص</em> in Egyptian Arabic, which is similar to a swear word meaning “man with no honor/scum of the Earth.”</li></ul><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>My tip</strong>: Develop a comprehensive glossary and style guide to maintain consistency across all your materials and avoid such mistakes.</div></div><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/AdobeStock_630026437.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/AdobeStock_630026437.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/AdobeStock_630026437.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/AdobeStock_630026437.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/AdobeStock_630026437.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-they-overlook-dialects">4. They overlook dialects <a class="markdownit-header-anchor" href="#4-they-overlook-dialects">🔗</a></h3><p><a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand#arabic-forms-and-dialects">Arabic dialects</a> vary significantly across regions. Some companies use a single dialect hoping that the "one-size-fits-all" approach works, but this ends up leading to miscommunication and ineffective branding, since Arabic-speaking culture has distinct social customs and religious beliefs depending on the area.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>My tip</strong>: Tailor your localization efforts to specific regions, considering dialectal differences and regional preferences.</div></div><h3 id="5-they-rely-on-machine-translation">5. They rely on machine translation <a class="markdownit-header-anchor" href="#5-they-rely-on-machine-translation">🔗</a></h3><p>Some businesses rely heavily on machine translation, ignoring it <a href="https://localazy.com/blog/ai-8-llm-arabic-models-tested-to-translate">often fails in Arabic</a> due to its complexity and context-driven structure. A good example is how <strong>Amazon</strong> and <strong>Alibaba</strong> approached expansion to the Middle East between 2016 and 2018. During this period, e-commerce adoption was rapidly increasing in the region, and Alibaba's expansion didn't seem to keep pace with Amazon's. One of the causes was<strong> their distinct approaches to localization</strong>: while Amazon succeeded by investing in a proper multilingual strategy and market entry, Alibaba relied heavily on machine translation and seemed to have a less locally tailored strategy. This resulted in UI and UX issues that likely hindered trust.</p><p>While Alibaba's overall user experience has definitely improved since then, I still find that some product descriptions can be unclear even now. The quality of the translations, especially for product details and specifications, often leads to confusion and distrust, and can make the shopping experience less smooth. </p><blockquote>When Amazon expanded to the Middle East, they invested in a proper multilingual strategy and market entry that included professional localization and local acquisitions (like Souq in Egypt). In contrast, Alibaba relied heavily on MT and less tailored strategies. The first had a greater rate of success</blockquote><p>At the end of the day, that poorly localized product information might contribute to more order cancellations, returns, and, potentially, a gradual decrease in market share. This is why <strong>the input of human translators remains crucial for sensitive and customer-facing content</strong>. The fact of the matter is that, while machine translation tools have improved, they often struggle with the complexities of Arabic. </p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>My tip</strong>: Use human translation and review for culturally appropriate localization.</div></div><h3 id="6-they-dont-test-their-content">6. They don't test their content <a class="markdownit-header-anchor" href="#6-they-dont-test-their-content">🔗</a></h3><p>Skipping localization testing can result in costly mistakes. <strong>Many companies avoid testing their localized content with native speakers</strong>. This can result in errors that could have been easily avoided. </p><p>There's a bunch of instances where this has affected a brand's reputation:</p><ol><li><strong>Pepsi's 2024 “Stay thirsty”</strong>: "<em>خليك عطشان"</em> translates as "Stay thirsty". Pepsi used this tagline in a campaign that was released amidst news of people dying of thirst in Gaza. They have since <a href="https://www.trtworld.com/africa/stay-thirsty-pepsi-ad-in-egypt-called-insensitive-as-nearby-gaza-starves-18166956">faced a major backlash </a>and calls to boycott that suggest replacing it with local brands.</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-15.png" class="kg-image" alt loading="lazy" width="720" height="405" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-15.png 600w, https://ghost.localazy.com/content/images/2025/02/image-15.png 720w" sizes="(min-width: 720px) 720px"><figcaption>A banner from Pepsi in Egypt that read "Stay thirsty." / Photo: X@Kafrawykafr</figcaption></figure><p>2. <strong>H&amp;M's "Coolest Monkey in the Jungle”</strong>: Back in 2018, H&amp;M <a href="https://www.bbc.com/news/newsbeat-42603960">faced backlash</a> in the Middle East (and several other countries as well) for featuring a young model wearing a hoodie with the phrase "Coolest Monkey in the Jungle". This was seen as racially insensitive and offensive.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/09xp-HMSHIRT1-superJumbo.jpg" class="kg-image" alt loading="lazy" width="2000" height="1158" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/09xp-HMSHIRT1-superJumbo.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/09xp-HMSHIRT1-superJumbo.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/09xp-HMSHIRT1-superJumbo.jpg 1600w, https://ghost.localazy.com/content/images/2025/06/09xp-HMSHIRT1-superJumbo.jpg 2048w" sizes="(min-width: 720px) 720px"></figure><p><strong>3. Dove's ‘Real Beauty’</strong>. <a href="https://www.arabnews.com/node/1176216/media">Dove’s 2017 body lotion ad</a>, part of its broader ‘Real Beauty’ campaign, was criticized in the Middle East for depicting a Black woman turning into a lighter-skinned woman, which many saw as perpetuating colorism and problematic beauty standards around skin tone.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/w4OreEdwaAM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Outcry over Dove&#39;s controversial ad"></iframe></figure><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>My tip</strong>: Conduct thorough testing with native speakers to identify any issues before launching.</div></div><h2 id="successes-and-failures-ive-witnessed">☝️Successes & failures I've witnessed <a class="markdownit-header-anchor" href="#successes-and-failures-ive-witnessed">🔗</a></h2><h3 id="success-netflix-adapting-to-arabic-audiences">Success: Netflix adapting to Arabic audiences <a class="markdownit-header-anchor" href="#success-netflix-adapting-to-arabic-audiences">🔗</a></h3><p><strong>Netflix</strong> is a prime example of a company that has mastered Arabic localization. Recognizing the diversity of Arabic-speaking audiences, Netflix offers content in both Modern Standard Arabic and regional dialects. 🗣️ They also invest in dubbing and subtitling for popular shows, ensuring accessibility and cultural relevance. </p><p>For instance, the Arabic adaptation of <em>Money Heist </em>(<em>La Casa de Papel</em>)<em> </em>was widely praised for its high-quality dubbing and attention to linguistic nuances. They even came with a <a href="https://lbbonline.com/news/lays-saudi-arabia-teams-with-netflix-to-perform-a-money-heist-in-campaign-from-science-sunshine">great creative ad</a> to further tease the show. However, the entry into this region has not been without its challenges. </p><p>I had the chance to work with the Netflix teams in 2017 and 2018, when they were struggling to expand into Arabic markets. <strong>Initially, they tried a one-size-fits-all approach, but that failed</strong> due to the linguistic and cultural differences across the region. Then they hired native Arabic language managers and worked with vendors in the Middle East to find people from the region who were willing to participate in their campaigns.</p><blockquote>In 2017 and 2018, Netflix was struggling to expand into Arabic markets. They tried a one-size-fits-all approach that failed. I worked with them to recruit translators for different dialectal varieties and adapt the projects to Middle Eastern cultural expectations</blockquote><p>This was the case <strong>especially when the content was deeply sensitive culturally</strong>. For example, they used <em>Orange Is the New Black</em> as a test project for finding potential LSPs. But the series contained graphic scenes that went against cultural and religious norms, making it difficult to find translators willing to work on it.</p><p>To address this, I helped recruit translators from different dialect regions (Saudi, Egyptian, Algerian, Moroccan) and set expectations about the project. We were able to finally push the project further, and <a href="https://www.thepinknews.com/2020/09/17/saudi-arabia-lgbt-netflix-queer-eye-orange-is-the-new-black-sex-education-patriot-act/">the show was eventually streamed in the country</a>, but we had to adapt. <strong>The lesson here is to invest in native experts to produce localized content</strong>, or at least hire native consultants to advise you along the way.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Netflix-in-Arabic.png" class="kg-image" alt loading="lazy" width="960" height="539" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Netflix-in-Arabic.png 600w, https://ghost.localazy.com/content/images/2025/05/Netflix-in-Arabic.png 960w" sizes="(min-width: 720px) 720px"></figure><h3 id="success-amazon-buying-souq">Success: Amazon buying Souq <a class="markdownit-header-anchor" href="#success-amazon-buying-souq">🔗</a></h3><p><strong>Amazon</strong>'s expansion into the Arab market,<a href="https://www.cnbc.com/2019/04/30/amazon-rebrands-souq-launches-new-middle-east-marketplace.html"> particularly through its acquisition of <strong>Souq.com</strong></a> in 2019, presented a unique set of localization challenges. The e-global giant acquired the popular Middle Eastern e-commerce platform (at that time, <a href="https://en.wikipedia.org/wiki/Souq_(company)">the largest in the region</a>), gaining access to Souq's customer base, delivery systems, and local payment methods. This allowed Amazon to quickly understand and adapt to the region's cultural and language differences. </p><p>By using Souq's knowledge, Amazon was able to enter the market more easily without starting from scratch. But they stumbled into inevitable localization challenges along the way, too:</p><ul><li><strong>💬 Language and culture</strong>: Amazon needed to adapt its services to include Arabic language support in different local dialects.</li><li><strong>🫱 Building trust</strong>: To build more trust, <a href="https://gotomena.com/blog/amazon-expansion-middle-east/">they invested in local infrastructure </a>and partnered with local SMEs.</li><li><strong>📦 Payment and logistics</strong>: The acquisition provided Amazon with access to Souq's refined fulfillment operations, which likely included managing pre-existing partnerships with local delivery companies. </li><li><strong>👨🏻‍⚖️ Rules and regulations</strong>: They had to adapt to complex regulations by complying with local data protection laws and customs rules.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/05/Amazon-in-Arabic-.png" class="kg-image" alt loading="lazy" width="1889" height="907" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Amazon-in-Arabic-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Amazon-in-Arabic-.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Amazon-in-Arabic-.png 1600w, https://ghost.localazy.com/content/images/2025/05/Amazon-in-Arabic-.png 1889w" sizes="(min-width: 720px) 720px"><figcaption>Amazon Saudi Arabia / <a href="https://www.amazon.sa/-/en/?language=ar_AE">Amazon.sa</a></figcaption></figure><h3 id="success-mcdonalds-expansion-in-the-middle-east">Success: McDonald's expansion in the Middle East <a class="markdownit-header-anchor" href="#success-mcdonalds-expansion-in-the-middle-east">🔗</a></h3><p><strong>McDonald's</strong>, the global fast-food giant, was also able to successfully enter the complex cultural and religious market of the Middle East. <strong>It understood local preferences, adapted its menus, and implemented strategic localization efforts</strong>, and now it has become a beloved brand in the region.</p><p>Although I don't consume McDonald's, they were one of the most successful brands to ever “invade” the Middle East. What localization strategies did they use?</p><ul><li><strong>🍔 Halal certification</strong>: McDonald's made sure all meat products are Halal-certified, aligning with Islamic dietary laws and strengthening consumer trust.</li><li><strong>🍽️ Customized menu offerings</strong>: The brand adapted its menu to regional tastes, introducing items like <a href="https://www.mcdonalds.com/ae/en-ae/product/mcarabia-chicken.html">McArabia sandwiches</a> and traditional non-alcoholic beverages such as Arabic coffee and fresh juices.</li><li><strong>👕 Cultural sensitivity</strong>: Restaurants prioritize a family-friendly environment by incorporating separate seating areas and enforcing employee dress codes that align with local customs.</li><li><strong>🗞️ Effective marketing campaigns</strong>: McDonald's crafts culturally relevant advertisements featuring local celebrities, humor, and familiar cultural references to engage its audience. It also uses localized advertising to resonate with regional audiences in the Middle East.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/05/McDonald-s-in-Arabic-.png" class="kg-image" alt loading="lazy" width="1049" height="898" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/McDonald-s-in-Arabic-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/McDonald-s-in-Arabic-.png 1000w, https://ghost.localazy.com/content/images/2025/05/McDonald-s-in-Arabic-.png 1049w" sizes="(min-width: 720px) 720px"><figcaption>McDonald's Arabia / <a href="https://www.mcdonalds.com/ae/ar-ae.html">McDonald's</a></figcaption></figure><h3 id="fail-just-falafel-presented-typical-food-as-a-novelty">Fail: Just Falafel presented typical food as a novelty <a class="markdownit-header-anchor" href="#fail-just-falafel-presented-typical-food-as-a-novelty">🔗</a></h3><p>An interesting story of a successful European brand built by Arab immigrants that failed miserably in the Middle East is that of <strong>Just Falafel</strong>. 🧆 While falafel was trendy in Europe, it was already an everyday food in Egypt, Syria, and the UAE, making it an odd choice for a "new concept". Ignoring warnings, <strong>the company launched in the region but shut down within three months due to low demand</strong>.</p><p>The brand tried to “reinvent” falafel with gourmet variations and high prices, but locals saw it as an unnecessary upgrade. Falafel is a simple, affordable street food, and charging premium prices made Just Falafel unappealing. <strong>With plenty of well-loved falafel shops offering authentic flavors at low prices, the brand struggled to stand out</strong>. Its attempt to introduce international recipes didn’t impress customers either, who preferred the traditional one. Unlike Starbucks, which turned coffee into a lifestyle product, Just Falafel couldn't make falafel feel premium.</p><blockquote>Unlike Starbucks, which turned coffee into a lifestyle product, Just Falafel couldn't make falafel feel premium. This simple, affordable street food was already a fixture in Egypt, Syria, and the UAE before the company tried to rebrand it at much higher prices</blockquote><p><strong>Rapid franchising also hurt the company</strong>, leading to inconsistent quality across locations and difficulty adapting. In competitive markets like Lebanon, this lack of consistency damaged its reputation. </p><p><strong>Marketing was another weak spot</strong>. While Just Falafel built hype online, it failed to connect emotionally with Middle Eastern consumers. Many felt the brand was trying to modernize a food that didn’t need changing, making it seem commercialized rather than authentic. </p><p>In the end, <strong>a mix of poor strategy, pricing issues, weak differentiation, and ineffective marketing led to Just Falafel’s downfall</strong> in the region, forcing its exit by 2014. Their case is the same as <strong>Domino's Pizza</strong> trying to sell pineapple pizza in Italy.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/06/Just-Falafel-menu.png" class="kg-image" alt loading="lazy" width="1080" height="912" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Just-Falafel-menu.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Just-Falafel-menu.png 1000w, https://ghost.localazy.com/content/images/2025/06/Just-Falafel-menu.png 1080w" sizes="(min-width: 720px) 720px"><figcaption>Just Falafel's menu didn't reflect the preferences and tastes of customers in the Middle East.</figcaption></figure><h2 id="my-5-tips-for-arabic-expansion">➡️ My 5 tips for Arabic expansion <a class="markdownit-header-anchor" href="#my-5-tips-for-arabic-expansion">🔗</a></h2><p>Having seen these examples, here are my recommendations if you're planning to expand to the Middle East:</p><h3 id="1-prioritize-human-translations">1. Prioritize human translations <a class="markdownit-header-anchor" href="#1-prioritize-human-translations">🔗</a></h3><p>It's tempting to use machine translation, but it's usually not the best option when it comes to capturing the full meaning of your message. Even though LLMs and translation tools are getting better, they often miss the mark when it comes to capturing the real meaning behind the words.  <strong>Hiring professional human translators who are native Arabic speakers is crucial</strong>. They’ll understand the cultural context and nuances, which machines just can't capture.</p><blockquote><em>📃 Order human translations from English to Arabic from our team <a href="https://agency.localazy.com/en/translate/ar">here</a></em></blockquote><h3 id="2-consider-dialectal-variations">2. Consider dialectal variations <a class="markdownit-header-anchor" href="#2-consider-dialectal-variations">🔗</a></h3><p>Arabic isn’t just one language — it’s made up of many regional dialects. Depending on the area you want to target, you’ll need to adapt your content to fit those variations. It’s essential to know <strong>which dialect resonates most with your audience </strong>and make sure your translations match that.</p><h3 id="3-pay-attention-to-rtl-layouts">3. Pay attention to RTL layouts <a class="markdownit-header-anchor" href="#3-pay-attention-to-rtl-layouts">🔗</a></h3><p>Arabic is read from right to left, so your content, especially on websites or apps, needs to reflect that. Poor layout or formatting issues can completely ruin the user experience. <strong>Make sure your UI/UX design supports RTL text and accounts for text expansion</strong> (Arabic words tend to be longer than their English counterparts).</p><blockquote><em>📲 Trying to localize your app to Arabic? </em><a href="https://localazy.com/blog/6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them"><em>Get ready to face these six challenges head-on</em></a></blockquote><h3 id="4-respect-cultural-differences">4. Respect cultural differences <a class="markdownit-header-anchor" href="#4-respect-cultural-differences">🔗</a></h3><p>Cultural understanding is key. <strong>Do your homework to avoid any content that could offend your target audience</strong>. Consider religious practices, values, and social norms when designing your marketing materials. Even small missteps can have a big impact on your reputation.</p><h3 id="5-use-l10n-tools-and-test-before-launch">5. Use l10n tools & test before launch <a class="markdownit-header-anchor" href="#5-use-l10n-tools-and-test-before-launch">🔗</a></h3><p>Investing in localization tools can make your job easier by maintaining consistency and linguistic accuracy. <strong>Before you launch, do extensive testing with native speakers </strong>to make sure everything works as expected. Gather feedback and refine your content to ensure it resonates with local users.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/AdobeStock_397801121.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/AdobeStock_397801121.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/AdobeStock_397801121.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/AdobeStock_397801121.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/AdobeStock_397801121.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="localizing-well-to-arabic-pays-off">🏜️Localizing well to Arabic pays off <a class="markdownit-header-anchor" href="#localizing-well-to-arabic-pays-off">🔗</a></h2><p>In the end, thriving in Arabic-speaking markets isn’t just about translation — it’s about embracing the culture. <strong>Localization is an investment that yields hefty returns when done right</strong>. In this case, it opens the door to the vast MENA market and positions businesses for commercial longevity.</p><p>While Arabic localization can be complex, the benefits far outweigh the difficulties. Having a platform like Localazy to centralize all your localization materials, strings in different locales, and <a href="https://localazy.com/features/continuous-localization-team">professional translation orders</a> is already a big advantage. Add <a href="https://localazy.com/features/automations">automations</a>, <a href="https://localazy.com/integrations">powerful integrations</a>, and a <a href="https://localazy.com/features/language-cdn">Language CDN</a> to continuously push translation updates, and you have the perfect groundwork to tackle your next market.</p>]]></content:encoded>
            <author>Ahmed Megahed</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/ArabicLocal---Global-brands-4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Having language support from the beginning pays off | Bridging the Gap Podcast, S02 EP04]]></title>
            <link>https://localazy.com/blog/bridging-the-gap-podcast-s02-ep04-lang-ops-to-scale</link>
            <guid isPermaLink="false">bridging-the-gap-podcast-s02-ep04-lang-ops-to-scale</guid>
            <pubDate>Thu, 19 Jun 2025 11:11:43 GMT</pubDate>
            <description><![CDATA[**When should localization start? Kareem Ennassag explains why language operations are a mindset — not a feature to bolt on later when translations are needed.**]]></description>
            <content:encoded><![CDATA[<p>Too many companies treat language as something to deal with later, when it's already a problem. But according to <strong><a href="https://www.linkedin.com/in/kareemnassag/">Kareem Ennassag</a></strong>, Technical Director at the LangOps Institute, localization should be baked into your strategy from the beginning — not retrofitted in panic mode. In this episode of <strong>Bridging the Gap</strong>, Kareem joins <a href="https://localazy.com/blog/author/marta-g-coloma/" rel="noopener noreferrer nofollow"><strong>Marta G. Coloma</strong></a> and <a href="https://localazy.com/blog/author/jan-bilek/" rel="noopener noreferrer nofollow"><strong>Jan Bílek</strong></a> to break down why that shift matters, and how teams can think in terms of <strong>LangOps</strong> to future-proof their content, systems, and growth plans.</p><h2 id="the-highlights">📝 The highlights <a class="markdownit-header-anchor" href="#the-highlights">🔗</a></h2><h3 id="start-small-but-start-early">Start small, but start early <a class="markdownit-header-anchor" href="#start-small-but-start-early">🔗</a></h3><p>You don’t need to go global in 20+ languages from day one. Kareem shares that <strong>what matters most is readiness</strong>. Even preparing your product to be translated into just one language can help uncover structural challenges early and save years of costly fixes. Most teams wait too long, then find their systems are too rigid to adapt.</p><h3 id="langops-tooling">LangOps ≠ tooling <a class="markdownit-header-anchor" href="#langops-tooling">🔗</a></h3><p>It’s easy to confuse LangOps with a toolset. But Kareem insists it's a mindset: <strong>how you think about language from day one affects everything else</strong> — from how your database is structured to how content moves across teams. The goal? To avoid building systems that assume English (or any language) as the only logic. Localization isn't a final layer: it's a structural consideration.</p><h3 id="real-advice-for-small-teams">Real advice for small teams <a class="markdownit-header-anchor" href="#real-advice-for-small-teams">🔗</a></h3><p>Not every startup can hire localization managers right away. But Kareem points out that the resources are out there. <strong>Education in the field is accessible</strong>: you can start by joining free <a href="https://www.linkedin.com/company/loclunch/" rel="noopener noreferrer nofollow">LocLunch meetups</a> or researching the most common localization pitfalls by industry. It’s about making time to understand the stakes early on to avoid problems later.</p><h2 id="star-quote">🌟 Star quote <a class="markdownit-header-anchor" href="#star-quote">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/BTG-guest-quote--1-.png" class="kg-image" alt loading="lazy" width="1200" height="546" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/BTG-guest-quote--1-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/BTG-guest-quote--1-.png 1000w, https://ghost.localazy.com/content/images/2025/06/BTG-guest-quote--1-.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/tsc3Rodrlqw?list=PLvA86-kP5oZSiIIjxYs295DlI4m0bx-tt" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: From &quot;just translating&quot; to LangOps (w/ Kareem Ennassag) | Bridging the Gap #4, S02" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/4YiJjkHVmocI4PrKUj52dS/video?si=a4VgypstQdKpUHXx7XxseQ&utm_source=oembed"></iframe></figure><h3 id="additional-resources">🗞️ Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h3><ul><li><a href="https://langopsinstitute.org/" rel="noopener noreferrer nofollow">LangOps Institute</a></li><li><a href="https://www.langops.institute/blog-posts/is-langops-the-new-devops-for-global-communication" rel="noopener noreferrer nofollow">Is LangOps the New DevOps?</a></li></ul><h2 id="related-episodes">📹 Related episodes <a class="markdownit-header-anchor" href="#related-episodes">🔗</a></h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s01-ep-05-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Building a localization-friendly culture | Bridging the Gap Podcast, S01 EP05</div><div class="kg-bookmark-description">No localization team can succeed without support from their peers: multilingual expansion is also an internal effort. We explore why with consultant Michal Kessel and Kelly Murphy from Pentland Firth.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep05.png" alt=""></div></a></figure><blockquote>📲 <a href="https://www.linkedin.com/company/bridging-the-gap-podcast-btg/" rel="noopener noreferrer nofollow">Follow the podcast on LinkedIn</a> to be notified when we release a new episode!</blockquote><h2 id="connect-with-the-guest-and-hosts">💌 Connect with the guest & hosts <a class="markdownit-header-anchor" href="#connect-with-the-guest-and-hosts">🔗</a></h2><ul><li><a href="https://www.linkedin.com/in/kareemnassag/">Kareem Ennassag</a></li><li><a href="https://www.linkedin.com/in/xbilek18/" rel="noopener noreferrer nofollow">Jan Bílek</a></li><li><a href="https://www.linkedin.com/in/martagcoloma/" rel="noopener noreferrer nofollow">Marta G. Coloma</a></li></ul><h2 id="more-on-the-blog">📚 More on the blog <a class="markdownit-header-anchor" href="#more-on-the-blog">🔗</a></h2><p>Having a LangOps mentality starts with awareness across your whole team. If you don't know how to make that a reality, check out these tips by localization consultant Michal Kessel. <strong>Small steps make a difference!</strong></p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/7-ways-to-make-your-company-more-localization-friendly"><div class="kg-bookmark-content"><div class="kg-bookmark-title">7 ways to make your company more localization-friendly</div><div class="kg-bookmark-description">Localization is a team sport: it can’t happen without cooperation from your colleagues. Learn how to stress its importance internally in order to implement it appropriately and maximize its benefits.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Michal Kessel Shitrit</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2023/12/7-Ways-for-friendly-localization.png" alt=""></div></a></figure><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete localization platform that helps companies prepare, launch, and scale global content with automation, high-quality translations, and streamlined workflows.</p><p>Explore how to get started <a href="https://localazy.com/docs/general/getting-started-with-localazy" rel="noopener noreferrer nofollow">here</a>, choose a <a href="https://localazy.com/pricing" rel="noopener noreferrer nofollow">plan</a>, or <a href="https://localazy.com/contact" rel="noopener noreferrer nofollow">contact us</a> for support.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/06/BTG-PC-S2Ep04--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Inside Genspark: A real test in cross-channel localization with AI agents]]></title>
            <link>https://localazy.com/blog/inside-genspark-real-test-in-cross-channel-localization-with-ai-agents</link>
            <guid isPermaLink="false">inside-genspark-real-test-in-cross-channel-localization-with-ai-agents</guid>
            <pubDate>Fri, 15 Aug 2025 08:39:20 GMT</pubDate>
            <description><![CDATA[Everyone's talking about AI agents and agentic workflows. How far is the theory from practice? Are these tools advanced enough to take care of the entire localization process? We put Genspark to the test to see if it lives up to the hype.]]></description>
            <content:encoded><![CDATA[<p>One tool to rule them all.</p><p>That’s the essence of agentic workflows. Like with a magic wand, these processes put AI agents to work and help you convert complex instructions into actionable steps. 🪄 <strong>All in one place, all in one go</strong>. Independently, responsively, and with a certain degree of flexibility.</p><p>Why should localizers care?</p><p>Because localization <a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go/">is no longer about replacing strings in UI</a>. It’s about adapting visuals, tweaking brand messages, aligning user experience with the new culture, reshaping videos for the new audience, and keeping everything culturally on point. That’s a lot to take for one person. <strong>Sometimes, even a whole team of skilled experts can’t keep up with the demanding localization pace</strong>. Automation was the answer to this challenge for quite a long time. But this solution is slowly becoming “old-school”, giving space to the new approach that promises wonders: <strong>agentic workflows</strong>.</p><p>In this article, you’ll find out what agentic workflows are, why they’re different from your current automation stack, and how they can elevate localization across formats: text, images, audio, and video. I’ll test <a href="https://www.genspark.ai"><strong>Genspark</strong></a>, an AI agent, to simulate typical localization workflows and<strong> evaluate if it’s a miraculous time saver or just a shiny addition that brings nothing to the table</strong>. 👀</p><h2 id="agentic-w-what">🫥 Agentic w-what? <a class="markdownit-header-anchor" href="#agentic-w-what">🔗</a></h2><p><a href="https://localazy.com/dictionary/agentic-workflows">Agentic workflows</a> are a new way of automating work using <strong>AI agents</strong> that can reason, act, and coordinate with each other. Unlike traditional workflow automation that uses macros or scripted flows, they don’t just perform tasks but make decisions along the way. Without constant human intervention.</p><p>To achieve this, agentic workflows rely on AI agents for problem-solving, deep reasoning, or data analysis. These tools can also choose and execute actions based on the input provided in the prompt. AI agents <strong>easily adapt to the context</strong>, which makes them a flexible and scalable solution for diverse tasks and industries.</p><p>For localization, this approach might be game-changing. Agents can prepare the content for localization, detect tone mismatches in subtitles, check if your UI breaks or flag culturally awkward visuals, and help with cross-channel localization. Independently and automatically. Instead of juggling five tools and ten tabs, <strong>you get a chain of coordinated agents working for you</strong> whenever you need them in one simple interface.</p><h2 id="the-multimodal-maze">🧭 The multimodal maze <a class="markdownit-header-anchor" href="#the-multimodal-maze">🔗</a></h2><p>Text is only half the story. Localization also revolves around sound, images, videos, layouts, and cultural nuances expressed in every possible form. And yet, many of these elements are still handled in isolation.</p><p>That’s how you may end up with a perfectly translated UI that suddenly breaks when you implement the strings to the new language version. Or with creatively rendered subtitles for a promo video with a tone that does not match the brand style guide. Even worse: your website receives an update with new videos, images, and text, but every piece of content reads like teleported from another world: terminology varies, style is not consistent, and the user is left confused.</p><blockquote>Sound, images, videos, and layouts are part of localization as much as text. Yet, many of these elements are still handled in isolation. AI agents can provide consistency for the whole package</blockquote><p><strong>Agents can connect the dots.</strong> Once you implement agentic workflows in localization processes, you can see how one tool adapts strings, another checks for consistency in subtitles, a third tweaks layout spacing, and a fourth ensures the visuals make cultural sense. When something changes along the way (for example, key terms on the website), agents <strong>can adjust other pieces of content automatically</strong>. That’s how multi-agent collaboration can help you avoid mismatched elements that confuse users and dilute brand messaging.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/AdobeStock_583872825.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1337" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/AdobeStock_583872825.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/AdobeStock_583872825.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/AdobeStock_583872825.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/06/AdobeStock_583872825.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="genspark-in-action">🦾 Genspark in action <a class="markdownit-header-anchor" href="#genspark-in-action">🔗</a></h2><p>How to put this agentic approach into action? Let’s take three scenarios and throw them into a powerful AI agent. I’ll go beyond agentic translation and <strong>use Genspark for the localization of visuals, subtitle generation, and UI layout modifications</strong> to see what the wins, limitations, and potential surprises are.</p><h3 id="the-test-of-the-best">The test of the best <a class="markdownit-header-anchor" href="#the-test-of-the-best">🔗</a></h3><p>First things first: Genspark is one of the most powerful AI agents out there. It grabbed my attention from the start thanks to its easy access (no waitlist like <a href="https://manus.im">Manus</a>), intuitive interface (like ChatGPT), and quite impressive execution. I’ve tested it, it won me over, and it ticks all the boxes on my personal “Best of” list. 👌</p><p>That said, don’t just take my word for it. If you're exploring how to bring agentic power into your localization workflow, it’s worth experimenting with different tools to see what fits your needs best.</p><p>Most importantly, remember: <strong>adding AI agents doesn’t mean removing human oversight.</strong> As tempting as it is, don’t let agents run the show unsupervised. Humans still need to be there to ensure the content truly connects with your audience and avoids cultural blunders.</p><p>With that clarified, let’s get down to work.</p><blockquote>🎙️ How ready is localization for AI workflows? <a href="https://localazy.com/blog/most-localization-teams-arent-ready-for-ai-workflows-bridging-the-gap-s02-ep08">Listen to our <em>Bridging the Gap</em> podcast episode with Julia Díez</a> on the readiness gap for AI for our take.</blockquote><h3 id="test-1-image-localization">Test 1: Image localization <a class="markdownit-header-anchor" href="#test-1-image-localization">🔗</a></h3><p>📸 Five images, three cultures, one brand.</p><p><strong>How can you ensure the visuals on your website are relevant for every market? </strong>And how do you avoid cultural missteps that could hurt your brand? The answer lies in image localization. Here's how we can use Genspark for it.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">🤖</div><div class="kg-callout-text"><strong>Prompt</strong></div></div><p><em>"I need to analyze these images for cultural appropriateness across different markets. Please help me identify potential issues and suggest adaptation strategies. </em></p><p><em>Target markets: Japan, Morocco, USA. Business objectives:</em></p><ul><li><em>Entering these new markets</em></li><li><em>Building local trust and cultural respect</em></li><li><em>Maintaining brand consistency where possible</em></li></ul><p><em>For each image I upload:</em></p><ol><li><em>Identify any culturally sensitive elements</em></li><li><em>Suggest specific adaptations for each target market</em></li><li><em>Explain the cultural reasoning behind your recommendations</em></li><li><em>Advise whether to create separate versions per market or use one adapted version</em></li></ol><p><em>I'll upload the images in subsequent messages."</em></p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://ghost.localazy.com/content/images/2025/05/african-american-athlete-sportswear-outdoors.jpg" width="2000" height="1335" loading="lazy" alt srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/african-american-athlete-sportswear-outdoors.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/african-american-athlete-sportswear-outdoors.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/african-american-athlete-sportswear-outdoors.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/african-american-athlete-sportswear-outdoors.jpg 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://ghost.localazy.com/content/images/2025/05/beautiful-pretty-couple-enjoying-picnic-time-forest.jpg" width="2000" height="1333" loading="lazy" alt srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/beautiful-pretty-couple-enjoying-picnic-time-forest.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/beautiful-pretty-couple-enjoying-picnic-time-forest.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/beautiful-pretty-couple-enjoying-picnic-time-forest.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/beautiful-pretty-couple-enjoying-picnic-time-forest.jpg 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://ghost.localazy.com/content/images/2025/05/free-psd-white-spray-bottle-mockup.jpg" width="2000" height="2243" loading="lazy" alt srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/free-psd-white-spray-bottle-mockup.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/free-psd-white-spray-bottle-mockup.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/free-psd-white-spray-bottle-mockup.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/free-psd-white-spray-bottle-mockup.jpg 2400w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://ghost.localazy.com/content/images/2025/05/happy-parents-with-son-using-laptop-living-room.jpg" width="2000" height="1335" loading="lazy" alt srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/happy-parents-with-son-using-laptop-living-room.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/happy-parents-with-son-using-laptop-living-room.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/happy-parents-with-son-using-laptop-living-room.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/happy-parents-with-son-using-laptop-living-room.jpg 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://ghost.localazy.com/content/images/2025/05/medium-shot-smiley-woman-holding-glass.jpg" width="2000" height="1333" loading="lazy" alt srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/medium-shot-smiley-woman-holding-glass.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/medium-shot-smiley-woman-holding-glass.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/medium-shot-smiley-woman-holding-glass.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/medium-shot-smiley-woman-holding-glass.jpg 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">⬇️</div><div class="kg-callout-text"><strong>Results</strong></div></div><p>In the next step, Genspark was provided with five images: a woman drinking wine, a man jogging outdoors, a family sitting on a sofa, a couple lounging in the trunk of a car, and a simple product shot of a bottle resembling shampoo.</p><p>Within seconds, it generated a detailed analysis of each image, highlighting potential cultural sensitivities. It also offered thoughtful suggestions on how to adapt each visual to better align with different market expectations. Since the recommendations sounded reasonable, <strong>I then asked Genspark to put them into action and generate relevant images for 🇲🇦 Morocco and 🇯🇵 Japan</strong>. It came as no surprise that the original images were already appropriate for the US market and didn’t need any further tweaks.</p><p>Genspark chose <a href="https://deepmind.google/models/imagen/">Gemini Imagen 3</a> as a tool and teleported models to new locations, making sure the visuals resonated with the target cultures.</p><p><strong>The results were decent</strong>. Instead of a blond woman with wine that was suitable for the US audience, the tool presented a Moroccan lady with mint tea, the jogging man was presented in Japanese and Moroccan settings, the bottle received new finishing touches, and the couple in the car was placed in a beautiful cherry blossom scenery. For the family on the sofa, Genspark employed another generative AI tool, <a href="https://www.recraft.ai">Recraft</a>, to show local interiors and ethnicity. </p><p>The entire process<strong> took less time than using one or several image generators separately</strong>, and the new creations were backed up with the reasoning behind the adaptations the agent chose to perform:</p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://ghost.localazy.com/content/images/2025/05/adapted-images-1.png" width="793" height="1324" loading="lazy" alt srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/adapted-images-1.png 600w, https://ghost.localazy.com/content/images/2025/05/adapted-images-1.png 793w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://ghost.localazy.com/content/images/2025/05/adapted-images-2.png" width="910" height="1614" loading="lazy" alt srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/adapted-images-2.png 600w, https://ghost.localazy.com/content/images/2025/05/adapted-images-2.png 910w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://ghost.localazy.com/content/images/2025/06/adapted-images-3.png" width="809" height="1605" loading="lazy" alt srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/adapted-images-3.png 600w, https://ghost.localazy.com/content/images/2025/06/adapted-images-3.png 809w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>Unsurprisingly, Genspark makes decisions on the fly without constantly checking in with a human. <strong>It selects tools randomly to generate outputs,</strong> so if you have specific preferences or requirements (e.g., image generators, voices, or video styles), be sure to include them in your prompt. Also, don’t skip the review stage. Without proper guidance, <strong>AI-generated visuals can lean toward overly generic or traditional depictions</strong>.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/05/adapted-images-4-1.png" class="kg-image" alt loading="lazy" width="1047" height="1311" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/adapted-images-4-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/adapted-images-4-1.png 1000w, https://ghost.localazy.com/content/images/2025/05/adapted-images-4-1.png 1047w"></figure><p>This is what happened in the case of the Moroccan family watching TV: the image was culturally relevant, but perhaps too traditional for a modern brand, unless that’s exactly the tone the campaign aimed for.<strong> If your audience profile isn’t clearly defined in the prompt, agents may default to stereotypical representations</strong>. It's important to verify the output with your target market in mind, especially when visuals are involved.</p><h3 id="test-2-transcription-subtitles-voice-over-script">Test 2: Transcription + subtitles + voice-over script <a class="markdownit-header-anchor" href="#test-2-transcription-subtitles-voice-over-script">🔗</a></h3><p>📹 After visuals, it’s time for videos.</p><p>In the second test, I used a short scene from a Polish movie and asked Genspark to transcribe it, create subtitles, and finally draft a script for voice-over.</p><p>The scene comes from the satire movie <a href="https://en.wikipedia.org/wiki/Teddy_Bear_(1981_film)">“Miś”</a> from 1980, <strong>containing many political and cultural references that might easily get lost in translation</strong>.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">🤖</div><div class="kg-callout-text"><strong>Prompt</strong></div></div><p><em>"I need help with this Polish movie scene: </em></p><figure class="kg-card kg-embed-card"><iframe width="200" height="150" src="https://www.youtube.com/embed/h5aF2CSwNTU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="MIŚ akcja w szatni"></iframe></figure><p><em>Please:</em></p><ol><li><em>Create a complete transcript of the spoken content</em></li><li><em>Format this transcript into proper Polish subtitles with:</em></li></ol><ul><li><em>Appropriate line breaks (max 42 characters per line)</em></li><li><em>Timing suggestions for each subtitle segment</em></li></ul><p><em>3. Adapt these subtitles for the US audience, considering:</em></p><ul><li><em>Cultural references that may need explanation</em></li><li><em>Technical terms that require localization</em></li><li><em>Space constraints of subtitles</em></li></ul><p><em>4. Create a voice-over script for localization into US English that:</em></p><ul><li><em>Maintains the original meaning</em></li><li><em>Adapts to natural speech patterns of the target language</em></li><li><em>Includes pronunciation notes for challenging terms</em></li><li><em>Adds voice direction notes (pace, tone, emphasis)</em></li></ul><p><em>For any cultural references or idioms, please explain your adaptation choices."</em></p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">⬇️</div><div class="kg-callout-text"><strong>Results</strong></div></div><p>Genspark clearly displayed its “thinking” process, walking through each step in a transparent way. <strong>It generated subtitles for the 35-second scene in no time. However, it didn’t catch the entire dialogue</strong>. Roughly the first 20 seconds of the video were missing from the analysis. That said, the portion Genspark did process was accurately transcribed and subtitled, with solid alignment between audio and text.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/06/genspark-video-conent-part-1.png" class="kg-image" alt loading="lazy" width="902" height="1144" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/genspark-video-conent-part-1.png 600w, https://ghost.localazy.com/content/images/2025/06/genspark-video-conent-part-1.png 902w"></figure><p>Since the first part of the video was skipped, the time codes in the subtitles were off. <strong>Some cultural nuances were also lost in the process</strong>, though the subtitles themselves were clear and easy to follow. Genspark’s biggest strength in this test was its detailed reasoning: it not only explained its choices but also generated a well-structured voice-over script. The cultural adaptation notes added valuable context and served as a solid foundation for voice-over actors.</p><p>While the subtitles weren’t incorrect, they would benefit from human review and a few minor tweaks. It’s also likely that Genspark would have captured the full dialogue if the video had been uploaded directly, rather than shared via a link. But apparently, that’s not possible yet.</p><p>When I asked Genspark to recreate the video with an English voice-over, <strong>it rejected the request</strong>, explaining:</p><blockquote><em>“These activities could potentially infringe on copyright laws and the intellectual property rights of the original content creators. The clip from ‘Miś’ is copyrighted material owned by the film production company and/or distributors.”</em></blockquote><p><strong>Genspark was only willing to assist with non-copyrighted material</strong>, and even then, the video shouldn’t come from YouTube to comply with the platform’s terms of service. This shows that the agent can act not only intelligently but also responsibly, respecting legal and ethical boundaries when handling creative content.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/05/genspark-video-content-part-2.png" class="kg-image" alt loading="lazy" width="1028" height="1381" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/genspark-video-content-part-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/genspark-video-content-part-2.png 1000w, https://ghost.localazy.com/content/images/2025/05/genspark-video-content-part-2.png 1028w"></figure><p>Respecting the tool’s boundaries, <strong>I followed up with a request for a voice-over on my own educational, non-copyrighted video. However, this was also rejected</strong>, with the explanation:</p><blockquote><em>“Unfortunately, I don't have the capability to directly create or modify video files with voice-overs, nor can I process video uploads through this chat interface.”</em></blockquote><p><strong>There’s no way to upload a video file</strong>. It’s clear that while Genspark shows promise, there’s still room for improvement, especially when it comes to video processing tasks.</p><h3 id="test-3-localized-ui-layout-tweaks">Test 3: Localized UI layout tweaks <a class="markdownit-header-anchor" href="#test-3-localized-ui-layout-tweaks">🔗</a></h3><p>📲 The last test was all about UI.</p><p>In this scenario, <strong>I provided Genspark with three UI mockups</strong> (created first by ChatGPT via Genspark), asked the tool to analyze the screenshots, and show recommendations for all target languages.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">🤖</div><div class="kg-callout-text"><strong>Prompt</strong></div></div><p><em>"I need to localize this UI for several international markets. Analyze this interface screenshot and provide recommendations for the uploaded UI screenshots.</em></p><p><em>Target languages to consider:</em></p><ul><li><em>German (known for text expansion, ~30% longer than English)</em></li><li><em>Arabic (right-to-left reading, different typographic needs)</em></li><li><em>Japanese (different character set, potential vertical text)</em></li><li><em>Polish (specialized characters, moderate text expansion)</em></li></ul><p><em>Please provide:</em></p><ol><li><em>A detailed analysis of potential layout issues for each language, including:</em></li></ol><ul><li><em>Elements likely to break due to text expansion/contraction</em></li><li><em>Directional flow changes needed for RTL languages</em></li><li><em>Typography adjustments required for different scripts</em></li><li><em>Date/time/number format considerations</em></li></ul><p><em>2. Specific recommendations for each identified issue, including:</em></p><ul><li><em>Layout modifications (with reasoning)</em></li><li><em>Component redesign suggestions</em></li><li><em>Flexible spacing strategies</em></li><li><em>Responsive design approaches</em></li></ul><p><em>3. A prioritized list of UI components that would need the most attention during localization.</em></p><p><em>4. Examples of how similar UI patterns could be adapted while maintaining usability and brand consistency.</em></p><p><em>Include visual descriptions or mockup suggestions where possible."</em></p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://ghost.localazy.com/content/images/2025/05/A_detailed_settingspreferences_page_UI_mockup_in_-1747386240612.png" width="1536" height="1024" loading="lazy" alt srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/A_detailed_settingspreferences_page_UI_mockup_in_-1747386240612.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/A_detailed_settingspreferences_page_UI_mockup_in_-1747386240612.png 1000w, https://ghost.localazy.com/content/images/2025/05/A_detailed_settingspreferences_page_UI_mockup_in_-1747386240612.png 1536w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://ghost.localazy.com/content/images/2025/05/A_detailed_e-commerce_product_page_UI_mockup_in_En-1747386155637.png" width="1536" height="1024" loading="lazy" alt srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/A_detailed_e-commerce_product_page_UI_mockup_in_En-1747386155637.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/A_detailed_e-commerce_product_page_UI_mockup_in_En-1747386155637.png 1000w, https://ghost.localazy.com/content/images/2025/05/A_detailed_e-commerce_product_page_UI_mockup_in_En-1747386155637.png 1536w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://ghost.localazy.com/content/images/2025/05/A_clean_professional_UI_mockup_of_an_English_lang-1747386054349.png" width="1536" height="1024" loading="lazy" alt srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/A_clean_professional_UI_mockup_of_an_English_lang-1747386054349.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/A_clean_professional_UI_mockup_of_an_English_lang-1747386054349.png 1000w, https://ghost.localazy.com/content/images/2025/05/A_clean_professional_UI_mockup_of_an_English_lang-1747386054349.png 1536w" sizes="(min-width: 720px) 720px"></div></div></div></figure><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">⬇️</div><div class="kg-callout-text"><strong>Results</strong></div></div><p><strong>Genspark not only analyzed correctly how the layout may expand but also displayed code for layout modifications</strong>. It included suggestions such as implementing flexible containers that can grow with text expansion, implementing a base RTL framework for Arabic localization, or adding vertical text options. The tool also explained how to redesign certain components and implement responsive design approaches. The mockup suggestions were useful too, <strong>showing navigation bars or buttons in all four languages</strong>.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/05/test-3-result-1.png" class="kg-image" alt loading="lazy" width="849" height="820" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/test-3-result-1.png 600w, https://ghost.localazy.com/content/images/2025/05/test-3-result-1.png 849w"></figure><p>All in all, the UI layout analysis <strong>was in-depth and provided actionable recommendations</strong> that can help maintain usability and visual appeal in all target languages.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/06/test-3-results-2.png" class="kg-image" alt loading="lazy" width="844" height="1633" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/test-3-results-2.png 600w, https://ghost.localazy.com/content/images/2025/06/test-3-results-2.png 844w"></figure><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/06/test-3-results-3.png" class="kg-image" alt loading="lazy" width="1093" height="1459" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/test-3-results-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/test-3-results-3.png 1000w, https://ghost.localazy.com/content/images/2025/06/test-3-results-3.png 1093w"></figure><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/06/test-3-results-4.png" class="kg-image" alt loading="lazy" width="1250" height="1452" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/test-3-results-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/test-3-results-4.png 1000w, https://ghost.localazy.com/content/images/2025/06/test-3-results-4.png 1250w" sizes="(min-width: 1200px) 1200px"></figure><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/06/test-3-results-5-1.png" class="kg-image" alt loading="lazy" width="1102" height="1146" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/test-3-results-5-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/test-3-results-5-1.png 1000w, https://ghost.localazy.com/content/images/2025/06/test-3-results-5-1.png 1102w"></figure><h2 id="the-cost-of-magic-solutions">🧙‍♂️ The cost of magic solutions <a class="markdownit-header-anchor" href="#the-cost-of-magic-solutions">🔗</a></h2><p><strong>Genspark is fast and efficient</strong>. It can serve as a powerful assistant in your localization workflows, <strong>but this magic comes at a cost.</strong> While image and video generation are impressive, they take more time and consume more credits. These operations are only available with the Plus subscription, which includes 10,000 credits per month. If you go beyond that, you’ll be <a href="https://www.genspark.ai/pricing">looking at a costly upgrade</a> to the Pro version. 🤑</p><p>Beyond time and budget, there’s another risk: <strong>the tool’s confident suggestions can make it easy to switch off your critical thinking</strong>. No matter how sophisticated agents become, human oversight should remain.</p><p>Using agents or LLMs for translation and localization might be tempting, but relying on machines alone is rarely a wise move, especially when cultural nuance is involved. AI agents can’t do everything. And even when they perform well, human expertise is still essential.</p><blockquote>While fast and efficient, AI agents still need human oversight when used. Genspark can get pricey and, above all, make it easier for the user to switch off their critical thinking</blockquote><p><strong>Make sure it's people (localization professionals, cultural consultants, reviewers) who have the final say.</strong> At the very least, they should review the content for accuracy, hallucinations, omissions, bias, awkward phrasing, and potential cultural missteps. There’s no engagement without authenticity, so make sure your localized content <strong>respects, understands, and celebrates</strong> the cultural landscape of your target market, no matter what tools you use in your localization processes.</p><h2 id="takeaway">↪️ Takeaway <a class="markdownit-header-anchor" href="#takeaway">🔗</a></h2><p>Agentic workflows already offer an extra pair of hands in modern multimedia localization. Tools like Genspark and Localazy (<a href="https://localazy.com/docs/general/localazy-ai/">which can now be integrated with OpenAI using your own token</a>) make it easier than ever to start experimenting. <strong>More agentic features are already in our pipeline</strong>, so what feels cutting-edge today may become your standard tomorrow.</p><p>Not sure where to begin? <strong>Start small.</strong> Try using an agent to adjust subtitle tone that matches your product voice or to suggest fixes for layout issues in a right-to-left UI. Once you see the value, you can scale up. Remember, however, that AI agents are not magic solutions to all your localization pains. Keep humans around for best results and authentic engagement.</p>]]></content:encoded>
            <author>Dorota Pawlak</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/06/AI-agents-in-localization-Genspark-in-action-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Partner Highlight: Mockoon, a grab-and-go API mocker for your testing needs]]></title>
            <link>https://localazy.com/blog/partner-highlight-mockoon-api-mocker</link>
            <guid isPermaLink="false">partner-highlight-mockoon-api-mocker</guid>
            <pubDate>Tue, 10 Jun 2025 12:28:50 GMT</pubDate>
            <description><![CDATA[Prototyping is not an easy feat: it requires time and resources to work. And even then, what you just created might not even satisfy your needs. We sit down for a conversation on easy mocking, open-source projects, and more with the creator of Mockoon, the API service for quick testing.]]></description>
            <content:encoded><![CDATA[<p>When a software engineer bumps into a problem and discovers the market doesn't have a solution for it, they just don't give up – they build it themselves. In 2017, <strong>Guillaume Monnet</strong>, a French developer based in Luxembourg, went through that process himself. As part of the technical team at a bank, he frequently struggled with testing and prototyping, especially given the need for tight security in such an environment.</p><p>This led him to create a developer-focused tool to make these processes easier, but the dev community quickly appreciated what he initially built to meet his own needs. ⭐️ With over 800k downloads and <a href="https://github.com/mockoon/mockoon/stargazers">a +7000 GitHub star count</a>, <strong><a href="https://mockoon.com">Mockoon</a></strong> has grown steadily over the past eight years, helping huge brands like Booking.com, Impala, or Amadeus manage their testing more easily.</p><p>Despite knowing the challenges of growing a project alone, Guillaume has kept his focus on building a tool for developers by developers. In this interview, we chat with him about the challenges of bootstrapping your own project and the current state of the industry for software creators. Pour yourself a cup of coffee, and let's get started! ☕️</p><h2 id="how-api-mocking-works">🤿 How API mocking works <a class="markdownit-header-anchor" href="#how-api-mocking-works">🔗</a></h2><p><strong>Hi, Guillaume. Congrats on the product. <a href="https://mockoon.com/case-studies/localazy-speed-development-api-mocking/">We are using it</a> internally!</strong></p><p>Hey! That's awesome. Thank you so much for using Mockoon and for supporting us over the years!</p><p><strong>What is Mockoon's mission, and what kind of problems does it solve?</strong></p><p>Well, it started as a side project nearly eight years ago. I created an MVP out of a need that my colleagues and I had at work, which was quick and easy API mocking. It wasn't something that I invented (far from it!). It's a developer tool for developers: any dev who's working on the integration of an internal or external API (like a payment provider such as Stripe or <a href="https://localazy.com/docs/api/introduction">Localazy's API</a>) may not be able to access it right away if it's a production-only API or if it's still under development. Mockoon is used by front-end and back-end teams to simulate that API. 🖇️ </p><blockquote><em>"API mocking is basically creating an imitation of the real API to simulate that you have access to it. [...] For those who are unfamiliar with it, a good analogy I've heard is that it's like a false hand"</em></blockquote><p><a href="https://localazy.com/dictionary/mocking">API mocking</a> is basically creating an imitation of the real API to simulate that you have access to it. Your front-end application (mobile app or website) connects to the API to get some data. If the API is not available, you have to simulate it somehow. So, the idea is that <a href="https://mockoon.com/articles/what-is-api-mocking/">you have software that mimics the real API</a>. Usually, it's not an exact replica because it's very complicated to replicate the behavior of the real thing. But you may simulate the most common data you receive, which saves you time.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/v1-interface.jpg" class="kg-image" alt loading="lazy" width="1286" height="893" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/v1-interface.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/v1-interface.jpg 1000w, https://ghost.localazy.com/content/images/2025/02/v1-interface.jpg 1286w" sizes="(min-width: 720px) 720px"></figure><p><strong>How do your services integrate with other software workflows?</strong></p><p>It's pretty easy. You download <a href="https://mockoon.com/download/">the desktop application</a>, launch Mockoon, and instead of making all the calls and requests like a real API, you just have to do some setup work (like creating endpoints and API routes) and launch the mock. Your app will connect to it, and you can continue working on it. Then, you can use it regularly for any kind of API needs (it's particularly good for prototyping). </p><p>For example, if you're working on a specific feature and you start wondering what it will look like, instead of creating an account on a provider's website,<strong> </strong>you can create a small endpoint, put some fake dummy data in, and immediately start working. You can also use these endpoints during manual and automated testing, which is probably where API mocks are the most popular.</p><p><strong>Who are your customers?</strong></p><p>We have all kinds of users, from developers working at DeFi startups to more traditional companies like Walmart. I mainly talk to them through support requests and user interviews, and I found out that we have many teams working in the finance industry. Most of the time, they use Mockoon during their tests (automated or not). </p><p><strong>You mentioned the finance industry, a sector that you know very well since Mockoon was created when you were part of it. How do they use the tool?</strong></p><p>Yes, I was working in a bank when I created the tool. We couldn't use any cloud service, so I did it as a desktop application. That's why Mockoon is privacy-friendly and security-aware. Recently, one team from a bank decided to migrate to Mockoon because they couldn't use the cloud. I wouldn't have expected that seven years ago! </p><p>Paradoxically, we are now creating <a href="https://mockoon.com/cloud/">a paid cloud version</a> for people who don’t want to self-host. Of course, we’re keeping both options because it’s important for us to stay true to our open-source community. It’s also a way to help make the project sustainable in the long term.</p><blockquote>👀 Curious about the project? Check Mockoon's full documentation <a href="https://mockoon.com/docs/latest/about/">here</a></blockquote><h2 id="creating-mockoon">👨‍💻Creating Mockoon <a class="markdownit-header-anchor" href="#creating-mockoon">🔗</a></h2><p><strong>How was your journey creating Mockoon? And what was your experience and background prior to that?</strong></p><p>I'm a full-stack developer, mostly specializing in the JavaScript ecosystem. I started coding in high school, where I worked with PHP, Java, and icon design, so it's an old passion of mine. I was previously a lawyer specializing in intellectual property, but I switched careers in 2015 when I started working on bigger dev projects. One of them was a social network for pets that I worked on with a friend. It was a fun experience: we had several thousand users, and even though we didn't succeed in the end, it helped me during the career-switching process. Then I started to work as a full-stack developer in Luxembourg, and the rest followed.</p><blockquote>"I was previously a lawyer specializing in intellectual property, but switched careers when I started working on bigger dev projects. [...] By 2021, Mockoon had grown so much that handling support requests in my free time wasn't sustainable anymore, so I decided to go full time"</blockquote><p><strong>Did passion play an important role in the project?</strong></p><p>Passion definitely played a role. I mean, I was working at a bank and we couldn't use the cloud, and Postman's mocking option was good, but it required it. And at that point, I told myself, "I'm a developer now. I should do something". 🤔</p><p>I had switched careers to do what I love full-time, but I still wanted a side project to work on. So I decided to create this tool. After launching it on Hacker News and Reddit, people responded really well. They gave great feedback, requested new features, and encouraged me to keep working on it. By 2021, the project had grown so much that handling support requests in my free time wasn’t sustainable anymore. So, I decided to go full time, and now, this is my main focus. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/Captura-de-pantalla-2025-02-10-a-las-11.42.19.png" class="kg-image" alt loading="lazy" width="2000" height="1568" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Captura-de-pantalla-2025-02-10-a-las-11.42.19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/Captura-de-pantalla-2025-02-10-a-las-11.42.19.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/Captura-de-pantalla-2025-02-10-a-las-11.42.19.png 1600w, https://ghost.localazy.com/content/images/2025/02/Captura-de-pantalla-2025-02-10-a-las-11.42.19.png 2118w" sizes="(min-width: 720px) 720px"></figure><p><strong>Why did you decide to make Mockoon open-source?</strong></p><p>At first, Mockoon wasn’t open source. I didn’t really think about it. I just published the desktop application on a website and set up an empty GitHub repository so developers could report issues. But not long after, people started asking if the project was open source. They noticed the source code wasn’t in the repository and pointed out that open sourcing could build trust. Since I already used many open-source tools, I realized it was the right decision. I wasn’t contributing much to open source at the time, and this felt like a great way to give back to the community. At first, I had some doubts. Making the project open source could attract more users, which was great, but I worried it might take away the chance to sell it. In the end, I realized that growing the project’s popularity could open the door to other ways of monetizing it later.<br><br><strong>Can you tell us anything about your current runway or financing?</strong></p><p>The project is mostly self-funded. It’s not the kind of thing venture capitalists typically invest in since they focus on fast, exponential growth. Ours is steady but calm. So, it's not something I’m looking into actively. I would even say that it can do more harm to open-source projects than good. But this is another topic.</p><p>Currently, the project is primarily supported by sponsorships, my freelancing work, and the new cloud offering we are building. We launched it last year and have started getting some customers, but there’s still a long road ahead! That’s why we’re grateful to companies like Localazy for sponsoring the open-source project — it really helps keep the lights on. I also had the chance to see Mockoon selected for <a href="https://mockoon.com/blog/github-accelerator/">the first cohort of the GitHub Accelerator</a>. It was a great experience, and the financial support made a real difference. </p><p><strong>Do you have any subscription models, or is Mockoon a one-time payment plan?</strong></p><p>Mockoon Desktop was always fully open-source and free. There is no subscription or one-time fee required for using it. You can also self-host your mocks using several libraries we built. Now, things are changing slowly as we are building <a href="https://mockoon.com/cloud/">a cloud-based SaaS platform</a> to help make the project sustainable in the long term. It offers paid cloud features on top of the open-source application: real-time team collaboration, cloud deployments, etc. It’s a recent project, so we still rely on sponsorships and freelancing to keep everything running. While donations help, they don’t fully cover the costs yet. In open source, only a few projects get substantial funding, while most rely on smaller contributions. </p><p>It’s important for us to find a sustainable way to keep working on the project. Otherwise, we may eventually have to return to full-time jobs, and the project could slowly fade away, like many open-source ideas, unfortunately. Building a cloud offering is our way of addressing this challenge, and we hope time will prove that it was the right decision.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/Captura-de-pantalla-2025-02-10-a-las-11.41.29.png" class="kg-image" alt loading="lazy" width="1984" height="1530" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Captura-de-pantalla-2025-02-10-a-las-11.41.29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/Captura-de-pantalla-2025-02-10-a-las-11.41.29.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/Captura-de-pantalla-2025-02-10-a-las-11.41.29.png 1600w, https://ghost.localazy.com/content/images/2025/02/Captura-de-pantalla-2025-02-10-a-las-11.41.29.png 1984w" sizes="(min-width: 720px) 720px"></figure><p><strong>What do you think makes Mockoon stand out from similar products? </strong></p><p>Mockoon is built specifically for API mocking. Other tools like Postman or Stoplight include mocking as just one feature within a larger platform, but Mockoon is entirely focused on it. </p><p>This makes it easy for teams to start working right away without needing to design an API first. Many tools follow a strict, waterfall-style approach, but Mockoon supports more flexible and agile workflows, allowing teams to create endpoints and start testing quickly. It also includes advanced features like rules and <a href="https://mockoon.com/templates/">a templating system</a>. This combination of agility and functionality is what sets Mockoon apart.</p><blockquote>"Many tools follow a strict, waterfall-style approach, but Mockoon supports more flexible and agile workflows, allowing teams to create endpoints and start testing quickly"</blockquote><p><strong>What does success look like for you?</strong></p><p>I hope that one day, Mockoon will grow enough to sustain my work on the project and maybe the work of frequent maintainers. My goal is to build a calm, well-functioning company that serves its users while staying sustainable as an open-source project. Being able to stop freelancing and focus entirely on Mockoon as my main source of income would be life-changing. </p><p>Starting something new is complicated. Around 95% of startups fail, and success depends on a mix of hard work, luck, and being in the right place at the right time. Having a small, stable company that works well and makes everything “good” for everyone involved — that would be a success for me.</p><blockquote>"Starting something new is complicated. Around 95% of startups fail, and success depends on a mix of hard work, luck, and being in the right place at the right time"</blockquote><p><strong>What are the biggest risks for Mockoon in the current market? </strong></p><p>The biggest challenge is competition. Many of my competitors are large companies like Postman or WireMock, and new API mocking tools appear almost every month. It’s a crowded space, and there’s always a chance that a better tool could come along and reduce interest in Mockoon. </p><p>Being a solo founder makes it harder to compete in terms of innovation since there’s only so much one person can do. But it also has advantages. I can stay closer to users, listen to their feedback directly, and respond quickly to their needs. Bigger companies don’t always have that level of flexibility, which gives Mockoon an edge in some ways. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/screenshot.png" class="kg-image" alt loading="lazy" width="2000" height="1057" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/screenshot.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/screenshot.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/screenshot.png 1600w, https://ghost.localazy.com/content/images/2025/02/screenshot.png 2160w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-industry">🏭 The industry <a class="markdownit-header-anchor" href="#the-industry">🔗</a></h2><p><strong>The software industry moves fast. And over the last few years, I think you might have noticed this while working on Mockoon.</strong></p><p>Yes — some trends, like Web3 and the multiverse, have already faded. They promised a lot but didn’t live up to expectations. On the other hand, AI has been the biggest revolution in decades.</p><p>While working on Mockoon, I’ve seen how tools like <a href="https://github.com/features/copilot">GitHub Copilot</a> now write about half of my code. It’s not perfect. It makes small errors or even fabricates things. For example, a user recently tried a syntax suggested by Claude that was completely made up. Still, these tools are a huge help and have changed how we work. Another major shift is remote development, with tools like <a href="https://docs.github.com/es/codespaces/about-codespaces/what-are-codespaces">GitHub Codespaces</a>. You don’t need a powerful computer anymore; everything runs remotely. </p><p>These changes are exciting. Yes, they might disrupt some jobs, but that’s part of progress. We need to manage these advancements responsibly, but resisting them isn’t realistic. It’s a new era of innovation, and the possibilities are incredible.</p><blockquote>"The software industry changes quickly, and some trends, like Web3 and the multiverse, have already faded. [...] On the other hand, AI has been the biggest revolution in decades"</blockquote><p><strong>Are there any products, apart from Localazy, that you use daily and that you love and would recommend?</strong></p><p>One tool I really like is <a href="https://www.gitkraken.com">GitKraken</a>, a graphical user interface for Git. I think using a Git interface is underrated, especially for beginners. Even though I’m very comfortable with Git and usually use the command line, I still prefer using an interface. With Kraken, you can see much more at once, which is harder to do with the command line. 🦑</p><p>For beginners, I think it’s easier to learn Git with a GUI because it offers a more visual way to understand things. Of course, when I mention this in forums, some people get upset, saying Git should only be used with the command line for a purist approach. But honestly, I think using an interface is a great option.</p><p><strong>Earlier we were talking about privacy, which is a feature that you take pride in. How do you plan to face the challenges of privacy as Mockoon grows?</strong></p><p>Privacy is a complex issue. I like to compare the internet to real life. In physical stores, when you use a loyalty card, they track your habits without asking for consent, and it’s not seen as a big deal. But online, tracking is considered a major privacy violation, and you need to ask for consent just to collect basic data. It’s ironic because people freely give away a lot of personal data in real life, yet online, we treat it as a major issue.</p><p>I’ve made Mockoon as privacy-friendly as possible. I removed most tracking and built a simple telemetry system that tracks only page views — nothing personal. I also realized a lot of the information provided by analytics tools are vanity metrics and don’t offer much insight. I used to worry about drops in users, like during Christmas, but now I focus on more meaningful metrics, like subscriptions to the SaaS platform. I’ve learned to relax about metrics and focus on broader trends. If there are more support requests, blog posts, or contributors, that’s a good sign. I’ve also removed Google Analytics and cut back on tracking because developers, especially, care a lot about privacy. It was a tough decision, but it feels like the right one to maintain trust. 🔏</p><blockquote>"I’ve learned to relax about metrics and focus on broader trends. If there are more support requests, blog posts, or contributors, that’s a good sign. I've also removed Google Analytics and cut back on tracking because developers care a lot about privacy"</blockquote><p><strong>Let's do a little bit of foretelling. What do you think the API industry will look like in 10 years?</strong></p><p>I’m not sure about 10 years, but maybe five. While I don’t have all the answers, I believe API design specs like <a href="https://www.openapis.org">OpenAPI</a> will become even more important. Another trend I see is treating APIs as products. For example, Impala, a company using Mockoon, offers hotel reservation APIs as their core product, with <a href="https://docs.getimpala.com/">documentation</a> serving as their interface. This approach makes sense because their users are developers, and clear documentation is crucial.</p><p>I also think closing APIs, like what Twitter and Reddit have done, is a bad move. It limits the ecosystem and growth. Building open APIs has been proven to be beneficial in the long run, even if it doesn’t generate all the revenue right away. APIs are here to stay, and industries like banking are still behind. For instance, the banks don’t yet fully open their APIs, but once they do, consumers will benefit from tools that integrate easily with their accounts, making the bank look more attractive compared to others like Revolut.</p><p><strong>So they would first need to know what an API is, which is not widely known. Do you think there's a way to increase API literacy?</strong></p><p>When people ask me what I do and they’re not developers, it’s hard to explain. I usually say, <em>“</em>It’s an application for developers,”<em> </em>but that tends to lose them. From what I’ve seen, there’s a lack of computer literacy, especially at the C-level in companies. Some executives just don’t want to dive into the technical side, focusing more on high-level strategy and meetings instead. But I think more hands-on experience could help. It’s like in hospitality, where you learn every part of the job, from cooking to serving. In our industry, if more people gained practical experience with APIs, they’d better understand how to use them and how they work, which would improve how we approach projects.</p><blockquote>"There's a lack of computer literacy, especially at the C-level in companies. Some executives just don’t want to dive into the technical side, focusing more on high-level strategy and meetings instead"</blockquote><p><strong>I was asking this because it seems that coding is becoming more accessible for the new generations, and learning coding is a little bit easier than 10 or 20 years ago. Do you think that building APIs will become easier and more accessible over time?</strong></p><p>Yes and no. It’s definitely easier than 20 or 30 years ago, when accessing coding knowledge was harder. You had to buy books or magazines. Today, we have bootcamps, online courses, and tools like Copilot that make learning to code more accessible. </p><p>However, even with these resources, I still see many people struggling. For example, on Reddit, I often see people who completed a bootcamp but feel they didn’t learn much. I also taught at a bootcamp in Luxembourg, and I noticed that while front-end development is a popular entry point, it’s become much more complicated over the years. Ten years ago, front-end development was simpler, with less JavaScript and fewer tools. Today, the ecosystem is vast and complex, definitely as complicated as back-end development.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/XKMCKwxMkWs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Mockoon - Getting started"></iframe></figure><h2 id="using-localazy">📲 Using Localazy <a class="markdownit-header-anchor" href="#using-localazy">🔗</a></h2><p><strong>Regarding Localazy, firstly, I don't know if you've looked into <a href="https://localazy.com/features/translation-api/">our API</a>. Do you have any thoughts on that?</strong></p><p>No, I haven't looked at the API. I looked at the interface, specifically how to translate things. In my previous work experiences, I always had to deal with translations. It's a common situation where you join a company and people are just sending texts to the dev team to integrate into the application. It's a nightmare! I always suggested separating the app release lifecycle from the marketing and copywriting. Using an external application is better and Localazy seems to perfectly fit in.</p><p><strong>Do you have a favorite Localazy feature?</strong></p><p>I think the most interesting feature is being able to order translations directly. 📬 "You don't need translators in your company". When you think about it, it doesn't make sense. Having the product owner translate the application and then the legal advisor translate something in Polish because they happen to be Polish?! I've experienced that in the past. It works up to a point, but it's better to have professional translators.</p><p><strong>Yes, there are many ways of doing it. Many open-source projects have people from the community translate them themselves. But then you have the option to hire a professional team to help with one or several languages. There's always a review process that can improve the final translation.</strong></p><p>I think that's a very good feature to have.</p><p><strong>Why do you think localization is important today?</strong></p><p>This might be a bit disappointing, but since I work in development, I feel that English is so dominant that most things don’t necessarily need translation. That said, I have mixed feelings about it. I’m French, and French people generally struggle with learning languages — it’s crazy. I know developers who speak only French, and it can be a handicap because there are far fewer resources available in the language, making things much more challenging for them. So, translating to French could help, but it won't help them learn a new language! I also know many Mockoon users are in Brazil, so translating it into Brazilian Portuguese would be beneficial. </p><p><strong>Last question. And I know you are not an expert, but I want to hear your input about the localization industry. What do you think the future holds for it? Will translators still be needed?</strong></p><p>It's a good question. Let me share a story. I was a lawyer before, drafting agreements in both French and English. When I wrote the terms for a SaaS platform, I used ChatGPT — not because I didn’t know how to write it, but because I wanted to save time. I knew exactly what I needed, like non-compete clauses or late fees, and ChatGPT helped me quickly generate the content. It wasn’t perfect, but it was close enough to save me some time. I just had to review and polish the content.</p><p>When it comes to translation, I’ve used tools like ChatGPT for courses and emails, and the results were great. The translation is mostly accurate, especially for everyday content. But for legal clauses, I found it produced general translations that were decent but not always perfect. As a translator, I’d be a bit concerned, but <a href="https://localazy.com/tags/ai/">it’s clear that technology is improving fast</a>. It’s not a question of if, but when. In a few years, I think AI will handle translation almost perfectly.</p><blockquote>"In a few years, I think AI will handle translation almost perfectly. [...] While human translators will still be needed for more nuanced work, AI will play a major role in it"</blockquote><p>That said, it’s a very complex debate. AI systems always feed from human input, and there are many ethical questions around this. But when the tool is available, people will use it. Kids already use AI tools at school, and we’ll have to adapt to that reality. While human translators will still be needed for nuanced work, AI will play a major role in translation, and its capabilities will only improve. I’m not scared, but the shift is coming.</p><h2 id="share-your-story-on-the-localazy-blog">🥇 Share your story on the Localazy Blog <a class="markdownit-header-anchor" href="#share-your-story-on-the-localazy-blog">🔗</a></h2><p>If you enjoyed this interview and have a similar experience as a Localazy user, we’d love to hear from you. Let us know how your business was built and how localization helped it grow into an international success.</p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/11/Localazy-Interview-Mockmoon.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Content-driven growth: Scale by going multilingual | Bridging the Gap Podcast, S02 EP03]]></title>
            <link>https://localazy.com/blog/s02-ep03-bridging-the-gap-podcast-content-driven-growth</link>
            <guid isPermaLink="false">s02-ep03-bridging-the-gap-podcast-content-driven-growth</guid>
            <pubDate>Tue, 17 Jun 2025 12:18:19 GMT</pubDate>
            <description><![CDATA[How can content shape your success in new markets? In this episode, Alex Kopp explains why a thoughtful multilingual strategy can make the difference in your brand expansion.]]></description>
            <content:encoded><![CDATA[<p>Content is everywhere. It can be the key to connection or the signal not to buy; the pathway to leads or simply a deterrent for users. With the rise of automation, the quality of your messaging is turning even more important. <strong><a href="https://www.linkedin.com/in/alexander-kopp-16a725104/">Alex Kopp</a></strong>, Senior Solutions Engineer at Storyblok, joins co-hosts <a href="https://localazy.com/blog/author/marta-g-coloma/">Marta G. Coloma</a> and <a href="https://localazy.com/blog/author/jan-bilek/">Jan Bílek</a> to take us through the most common challenges around multilingual content management. From differentiating materials by market to balancing automation with authenticity, he shares practical ideas to multiply your content reach and effectiveness through localization.</p><h2 id="the-highlights">📝 The highlights <a class="markdownit-header-anchor" href="#the-highlights">🔗</a></h2><h3 id="picking-the-right-localization-strategy">Picking the right localization strategy <a class="markdownit-header-anchor" href="#picking-the-right-localization-strategy">🔗</a></h3><p>Choosing the right localization approach depends on how different your markets really are. Alex explains that if your content mainly requires translation without changing much of the product structure, field-level localization is effective and efficient. But <strong>if market differences go deeper, like varying site structures or content layouts</strong>, folder-level localization or a mixed approach is necessary. Many enterprises opt for this flexible model to address complex needs.</p><h3 id="starting-with-english-isnt-enough">Starting with English isn’t enough <a class="markdownit-header-anchor" href="#starting-with-english-isnt-enough">🔗</a></h3><p>While English remains the default starting point for many companies expanding internationally, data shows that almost <a href="https://csa-research.com/Blogs-Events/CSA-in-the-Media/Press-Releases/Consumers-Prefer-their-Own-Language" rel="noopener noreferrer nofollow">40%</a> of potential customers won’t complete purchases unless content appears in their native language. Alex and Jan highlight that sounding local is essential for trust and engagement, not just translating words. Jan cites a solid example from an international company like <strong>Reddit, which saw a 50% growth in international markets</strong> after making an effort to translate their content by simply using AI.</p><h3 id="automation-with-purpose">Automation with purpose <a class="markdownit-header-anchor" href="#automation-with-purpose">🔗</a></h3><p>The conversation also covers how automation and CMS tools, like <a href="https://www.storyblok.com/apps/locales" rel="noopener noreferrer nofollow">Storyblok’s Dimensions app</a>, help build efficient content workflows while preserving the necessary nuance and human touch. The key is integrating technology to support localization without losing sight of what makes content meaningful to each market.</p><h2 id="star-quote">🌟 Star quote <a class="markdownit-header-anchor" href="#star-quote">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/BTG-guest-quote-1-2.png" class="kg-image" alt loading="lazy" width="1200" height="546" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/BTG-guest-quote-1-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/BTG-guest-quote-1-2.png 1000w, https://ghost.localazy.com/content/images/2025/06/BTG-guest-quote-1-2.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/a3tX1ksbRGw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Content-driven growth for global products (w/ Alex Kopp) | Bridging the Gap #3, S02"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Content-driven growth for global products (w/ Alex Kopp) | Bridging the Gap #3, S02" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/2SdiGTlyjkOHadHvDjh4eW/video?si=b7aad2981d454681&utm_source=oembed"></iframe></figure><h2 id="additional-resources">🗞️ Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><ul><li><a href="https://www.storyblok.com/" rel="noopener noreferrer nofollow">Storyblok website</a></li><li><a href="https://realproductwork.substack.com/" rel="noopener noreferrer nofollow">The Real Product Work</a> by Jan Bílek</li><li><a href="https://www.storyblok.com/apps/external/localazy">Localazy's Storyblok plugin</a></li></ul><h2 id="related-episodes">📹 Related episodes <a class="markdownit-header-anchor" href="#related-episodes">🔗</a></h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s01-ep-07-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Doing SEO for your SaaS in 2025 | Bridging the Gap Podcast, S01 EP07</div><div class="kg-bookmark-description">A question floats over marketer’s heads: Is SEO dead as we knew it? SaaS consultant Michal Pecánek walks us through the new AI-led scenario with practical tips and insights.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep07.png" alt=""></div></a></figure><blockquote><em><em>📲 </em><a href="https://www.linkedin.com/company/bridging-the-gap-podcast-btg/" rel="noopener noreferrer nofollow"><em>Follow the podcast on LinkedIn</em></a><em> to catch the next episodes </em>as soon as they're out!</em></blockquote><h2 id="connect-with-the-guest-and-hosts">💌 Connect with the guest & hosts <a class="markdownit-header-anchor" href="#connect-with-the-guest-and-hosts">🔗</a></h2><ul><li><a href="https://www.linkedin.com/in/alex-kopp/" rel="noopener noreferrer nofollow">Alex Kopp</a></li><li><a href="https://www.linkedin.com/in/xbilek18/" rel="noopener noreferrer nofollow">Jan Bílek</a></li><li><a href="https://www.linkedin.com/in/martagcoloma/" rel="noopener noreferrer nofollow">Marta G. Coloma</a></li></ul><h2 id="more-on-the-blog">📚 More on the blog <a class="markdownit-header-anchor" href="#more-on-the-blog">🔗</a></h2><p>If you're a regular Storyblok user and want to bite the bullet of localizing your content into multiple languages, check out <a href="https://localazy.com/tags/storyblok">our guides</a> about the <a href="https://localazy.com/features/storyblok-localization-plugin">Localazy Storyblok plugin</a>:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/managing-multilingual-content-with-storyblok-localazy"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Managing multilingual content with Storyblok &amp; Localazy</div><div class="kg-bookmark-description">Looking for ways to make the content translation process faster and more convenient? Learn how to translate Storyblok websites with Localazy - the highly automated localization platform.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">David Václavek</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2023/01/Sotryblok-pokus.png" alt=""></div></a></figure><blockquote>📹 Our engineer <a href="https://localazy.com/blog/author/david-vaclavek/">David Václavek</a> also shows you how to integrate our platform with the headless CMS on <a href="https://www.youtube.com/watch?v=7ascMqEXZ-c">this quick YouTube tutorial</a></blockquote><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete automated localization platform that helps your software, apps, and content reach international audiences with developer-friendly tools, TMS integrations, and professional translation services. </p><p>Start your localization process with our <a href="https://localazy.com/docs/general/getting-started-with-localazy" rel="noopener noreferrer nofollow">getting started guide</a>, find the right plan for you <a href="https://localazy.com/pricing" rel="noopener noreferrer nofollow">here</a>, or <a href="https://localazy.com/contact" rel="noopener noreferrer nofollow">contact us</a> anytime. We'll be glad to guide you through your international journey.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/06/BTG-PC-S2Ep02-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to choose the right languages to prioritize when expanding globally]]></title>
            <link>https://localazy.com/blog/how-to-choose-the-right-languages-to-translate-to-when-expanding-globally</link>
            <guid isPermaLink="false">how-to-choose-the-right-languages-to-translate-to-when-expanding-globally</guid>
            <pubDate>Thu, 05 Jun 2025 18:09:20 GMT</pubDate>
            <description><![CDATA[International expansion starts with smart market selection. Learn a data‑driven framework for deciding which languages to translate first, based on market size, CAC, and ROI.]]></description>
            <content:encoded><![CDATA[<p>If you want to establish yourself as a global brand, you can’t just rely on English. While English is still the most common lingua franca, only <a href="https://www.babbel.com/en/magazine/how-many-people-speak-english-and-where-is-it-spoken#:~:text=inhabitants%2C%201,In%20addition%20to%20being" rel="noopener noreferrer nofollow">20% of the global population speaks it</a>, and <strong>just 5% natively</strong>. Building multilingualism into your strategy is simply essential if your aim is to scale internationally.</p><p>You’re leaving money on the table if you don’t: <a href="https://localazy.com/blog/4-key-findings-that-confirm-you-need-to-go-multilingual-for-global-reach-in-2024" rel="noopener noreferrer nofollow">76% of consumers prefer purchasing products</a> with information in their native language, and<strong> 40% will never buy from websites in other languages</strong>. The first step is to decide which languages to prioritize and how to do it. This requires a data-driven strategic framework. In this guide, we'll take you through the steps needed to develop it.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/06/76.png" class="kg-image" alt loading="lazy" width="1200" height="842" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/76.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/76.png 1000w, https://ghost.localazy.com/content/images/2025/06/76.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://csa-research.com/Blogs-Events/CSA-in-the-Media/Press-Releases/Consumers-Prefer-their-Own-Language">CSA Research</a>.</figcaption></figure><h2 id="step-1-identify-target-markets">📍 Step 1: Identify target markets <a class="markdownit-header-anchor" href="#step-1-identify-target-markets">🔗</a></h2><p>Market selection is the compass that should guide your language strategy. Before evaluating languages, <strong>you need to define your global ambitions and pinpoint <em>where</em> to compete</strong> by analyzing four pillars: economic viability, cultural alignment, strategic fit, and regulatory complexity.</p><h3 id="economic-viability">Economic viability <a class="markdownit-header-anchor" href="#economic-viability">🔗</a></h3><p>Economic indicators, such as GDP growth, disposable income, and digital adoption rates, highlight markets with scalable demand. <strong>Don’t just look at the present: think about the future as well</strong>. For example, if you’re in e-commerce, looking at <a href="https://www.shopify.com/blog/global-ecommerce-sales?term=&amp;adid=732988890702&amp;campaignid=19724533104&amp;utm_medium=cpc&amp;utm_source=google&amp;gad_source=1&amp;gad_campaignid=19724533104&amp;gbraid=0AAAAAC3Mv89UA7eZptdCLjQPgK07fja5U&amp;gclid=CjwKCAjwl_XBBhAUEiwAWK2hzufgVG43irGtBqdBx-czFqkfMkPyjU2NxH_Mgz6oQHMcYAWAkIrabBoCFDIQAvD_BwE">where the market is growing fastest</a> will help you identify more effective opportunities than just targeting the biggest market right now.</p><p>➡️ When you size up a new market, layer a few more leading indicators on top of GDP, disposable income, and digital‑adoption stats:</p><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>Indicator</th>
<th>Why it matters</th>
<th>Quick ways to pull the data</th>
</tr>
</thead>
<tbody>
<tr>
<td>E‑commerce share of total retail</td>
<td>A high (and fast‑rising) online retail percentage shows consumers are already comfortable buying digitally, so localization pays off sooner.</td>
<td>UNCTAD B2C E‑commerce Index, Statista, Euromonitor Retail Reports</td>
</tr>
<tr>
<td>Internet &amp; smartphone penetration</td>
<td>The deeper the 4G/5G and smartphone reach, the larger your total addressable online audience.</td>
<td>GSMA Mobile Economy, ITU Data Hub</td>
</tr>
<tr>
<td>Digital payment adoption</td>
<td>Card‑on‑file and e‑wallet usage (PayPal, Apple Pay, PIX, UPI...) signals lower checkout friction and higher conversion.</td>
<td>World Bank Global Findex, local central bank bulletins</td>
</tr>
<tr>
<td>Logistics Performance Index (LPI)</td>
<td>A country with efficient last‑mile delivery keeps shipping times and costs down, which impacts e-commerce satisfaction.</td>
<td>World Bank LPI dashboard</td>
</tr>
<tr>
<td>Cost of acquisition (average CPC/CPM)</td>
<td>Markets with rising demand <em>and</em> relatively low ad costs let you win customers profitably while competition is still light.</td>
<td>Meta Ads Library, Google Keyword Planner, Similarweb</td>
</tr>
<tr>
<td>Middle class growth rate</td>
<td>A swelling middle class boosts disposable income and purchase frequency over the next three to five years – perfect for scaling.</td>
<td>World Data Lab, Brookings Global Middle Class report</td>
</tr>
<tr>
<td>Currency &amp; inflation stability</td>
<td>Wild swings in FX or inflation can erase margins. Stable macro conditions reduce pricing risk.</td>
<td>IMF World Economic Outlook, OECD data</td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p><strong>Weave two or three of these metrics into your decision framework</strong> and you’ll get a sharper, forward‑looking picture of where localization dollars will compound fastest, rather than just chasing the biggest GDP today.</p><blockquote><strong>📝 Pro tip: </strong>Check your own analytics first. If you’re already getting organic traffic and conversions from a country you’ve never targeted, that’s real‑world proof of demand. Layer the indicators above on that signal to confirm viability and size the upside.</blockquote><h3 id="cultural-alignment">Cultural alignment <a class="markdownit-header-anchor" href="#cultural-alignment">🔗</a></h3><p>Understanding whether there’s market for your product goes beyond just economic factors. <strong>Your product or services need to have a cultural fit with local behaviors</strong>. Walmart has <a href="https://ecomclips.com/blog/why-walmart-failed-in-europe-what-went-wrong-in-germany/" rel="noopener noreferrer nofollow">struggled to expand into several countries</a> due to a disconnect between how local consumers like to shop vs. Walmart’s big box style stores.</p><p>Understanding the local culture can be helped greatly by <strong>finding a partner in the local market</strong>, as you can use<strong> </strong>their existing knowledge and brand recognition to ensure you’re making the right moves when entering it.</p><h3 id="strategic-fit">Strategic fit <a class="markdownit-header-anchor" href="#strategic-fit">🔗</a></h3><p>You need to ensure that <strong>you have the resources available to support an international expansion</strong>. You need to audit every department and aspect of your business. Is your marketing team ready to start campaigns focused on a new market? Are your customer service teams ready to provide support to a new market of customers who potentially speak a new language? Is your supply chain set up to service a new region?</p><p>One thing that will help guide how many resources you might need to assign for an expansion is <strong>understanding your competitor landscape</strong>. The more established competitors in your target international market, the more resources it will likely take to break into that market.</p><blockquote>Make sure to have enough resources available to support your expansion plans. For that, you'll need to conduct a thorough business audit</blockquote><h3 id="regulatory-complexity">Regulatory complexity <a class="markdownit-header-anchor" href="#regulatory-complexity">🔗</a></h3><p>Understanding regional laws and regulations is essential in guiding your international expansion plans. For instance, if the <a href="https://hsp.com/understanding-gdpr-and-its-impact-on-global-expansion/" rel="noopener noreferrer nofollow">fundamentals of your business don’t comply with GDPR</a>, then expanding into the EU is going to be costly to make sure you’re compliant.</p><p>You’ll need to <strong>balance the costs complying with a region’s laws vs. their desirability as a market for your brand</strong>. A country could have a lot of consumers who fit your ideal customer profile, but if they have <a href="https://www.trade.gov/country-commercial-guides" rel="noopener noreferrer nofollow">taxes that are unfavourable to foreign businesses</a>, then there might not be enough <a href="https://localazy.com/dictionary/ROI">ROI</a> to justify expansion.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/05/Map.png" class="kg-image" alt loading="lazy" width="1200" height="842" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Map.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Map.png 1000w, https://ghost.localazy.com/content/images/2025/05/Map.png 1200w" sizes="(min-width: 1200px) 1200px"></figure><h2 id="step-2-gather-data-about-language-roi">📊 Step 2: Gather data about language ROI <a class="markdownit-header-anchor" href="#step-2-gather-data-about-language-roi">🔗</a></h2><p>Not all languages offer equal returns. Prioritization requires balancing reach, revenue potential, and localization costs. Begin by mapping languages to your target markets and deciding <strong>which languages are likely to give you the broadest reach</strong>. 🔍 </p><p>However, to really understand where the data is pointing for you before picking a language, you need to go deeper. <a href="https://localazy.com/blog/spanish-a-growing-language-in-the-business-world/">Tapping into the Spanish market</a> can have huge potential: it’s one of the most widely spoken languages in the world, with over half a billion native speakers. <a href="https://hub.localazy.com/en/languages/es-spanish">Spanish</a> can give you penetration in Spain, Latin America, and a large number of consumers in the USA (<a href="https://data.census.gov/table/ACSDT1Y2021.B16001?q=B16001:+LANGUAGE+SPOKEN+AT+HOME+BY+ABILITY+TO+SPEAK+ENGLISH+FOR+THE+POPULATION+5+YEARS+AND+OVER&amp;g=010XX00US&amp;moe=true&amp;tid=ACSDT1Y2021.B16001" rel="noopener noreferrer nofollow">around 42 million Americans speak Spanish at home</a>). <strong>But — which <a href="https://localazy.com/dictionary/dialect">dialect</a> should you choose? </strong>The Spanish of Spain (🇪🇸 Castilian Spanish) might be the original form, so that might make sense, but it has enough differences from Latin American variants that there could be issues connecting in those markets. Maybe, instead, you should localize into 🇲🇽 Mexican Spanish, which is by far the most spoken form of Spanish in the world.</p><blockquote>When choosing the language that is likely to give you the broadest reach in a particular region, you need to consider the language habits and dialects preferred by your target customers</blockquote><p>Being able to assess data like this is even more important when it comes to <strong>countries with high levels of multilingualism</strong>. 🇮🇳 <a href="https://localazy.com/blog/localization-for-the-indian-market-how-to-reach-users-from-the-most-populated-country-on-earth/">India is one of the fastest-growing economies in the world</a>, making it an attractive market for many companies looking to expand. However, <a href="https://hub.localazy.com/en/regions/in-india">with 22 official languages</a> and over 1,500 dialects spoken, international brands can struggle to talk to consumers in their own language in India. The most obvious choice would be to focus on <a href="https://hub.localazy.com/en/languages/hi">Hindi</a>, as it’s not just the most spoken language in India, but also the third most spoken in the world. However, data has shown that non-native speakers of Hindi are becoming more resistant to having Hindi enforced on them, while Hindi speakers are more willing to shop on sites that are not in their native language. Plus, if your target audience in India is likely to speak English, it might be simpler and more cost-effective to use English localized for the Indian market.</p><h3 id="how-to-divide-potential-languages-into-tiers">How to divide potential languages into tiers <a class="markdownit-header-anchor" href="#how-to-divide-potential-languages-into-tiers">🔗</a></h3><p>For a macro-perspective of choosing the languages, break them down into tiers:</p><ul><li><strong>🔑 Tier 1 (Core)</strong>: Languages that are important for mature, sizeable markets. These could be languages that are relevant in countries that are likely to produce a high return on investment (such as <a href="https://hub.localazy.com/en/languages/de-german">German</a> for <a href="https://localazy.com/blog/german-localization-fundamentals-enter-this-prosperous-european-market-with-confidence/">the German market</a> and <a href="https://hub.localazy.com/en/languages/zh-chinese">Mandarin Chinese</a> for the majority of <a href="https://localazy.com/blog/chinese-support-for-your-product/">China</a>). They could also be languages that have a large amount of overlap, which could allow you to break into multiple markets (e.g., <a href="https://hub.localazy.com/en/languages/pt-portuguese">Portuguese</a> for Portugal and <a href="https://localazy.com/blog/unlocking-the-brazilian-market-the-importance-of-accuracy-in-english-to-brazilian-portuguese-translation/">Brazil</a>).</li><li><strong>✈️ Tier 2 (Emerging)</strong>: These are high-growth markets where early entry secures you an advantage. For example, <a href="https://localazy.com/blog/entering-the-vietnamese-market-localize-to-convince-in-vietnam/">Vietnam has emerged</a> as one of the leaders of Southeast Asia’s growing tech economy, making <a href="https://hub.localazy.com/en/languages/vi-vietnamese">Vietnamese</a> an interesting choice for expansion into that region.</li><li><strong>🎯 Tier 3 (Strategic)</strong>: critical under specific conditions. If your offering is inherently local or culture‑heavy —say, <a href="https://hub.localazy.com/en/languages/ca-catalan">Catalan</a> children’s books, <a href="https://hub.localazy.com/en/languages/eu-basque">Basque </a>tourism experiences, or a <a href="https://localazy.com/blog/doing-business-in-quebec-bill-96-localization/">Québec</a>‑focused banking app— using the community’s own language isn’t optional; it’s a core value proposition that builds instant trust. Legal frameworks may also compel you to localize: Wales mandates <a href="https://hub.localazy.com/en/languages/cy-welsh">Welsh</a> for many public services, Canada’s charter extends to <a href="https://hub.localazy.com/en/languages/iu-inuktitut">Inuktitut</a> in northern territories, and app‑store guidelines increasingly require Indigenous‑language support. Even where regulation doesn’t force your hand, smaller‑language localization often sparks outsized goodwill; games translated into <a href="https://en.wikipedia.org/wiki/Māori_language">Māori</a> or Welsh, for example, earn raving fans and word‑of‑mouth PR disproportionate to the audience size.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/Language-tiering.png" class="kg-image" alt loading="lazy" width="1198" height="560" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Language-tiering.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Language-tiering.png 1000w, https://ghost.localazy.com/content/images/2025/06/Language-tiering.png 1198w" sizes="(min-width: 720px) 720px"></figure><p>As a rule of thumb, invest in Tier 3 languages when the target audience is tightly defined and high‑value, compliance demands it, or the potential brand‑equity lift clearly outweighs the localization cost. <strong>Otherwise, concentrate early resources on Tier 1 and 2 languages</strong>, which typically deliver faster, broader ROI.</p><blockquote>➡️ For in-depth guides on specific languages and markets, check out <a href="https://localazy.com/tags/locales">our collection of locale guides</a>.</blockquote><h2 id="step-3-map-your-localization-rollout-and-resource-plan">🗺️ Step 3: Map your localization rollout and resource plan <a class="markdownit-header-anchor" href="#step-3-map-your-localization-rollout-and-resource-plan">🔗</a></h2><p>Once you have pinpointed the languages to prioritize and done your in-depth market and cultural research, you’re ready to start translating and localizing. 💪 But don’t try to do everything at once: taking a considered, strategic approach will make the process more efficient and effective.</p><h3 id="planning-your-strategy">Planning your strategy <a class="markdownit-header-anchor" href="#planning-your-strategy">🔗</a></h3><p>Before you get to flashy marketing, <strong>you should start with the important customer touchpoints</strong>, like your product pages, checkout process, and support channels. This goes beyond just translating these pages into your desired language. Different <a href="https://www.google.com/url?q=https://localazy.com/blog/mythbusters-localizing-to-different-languages-is-the-same-each-time&amp;sa=D&amp;source=docs&amp;ust=1745233269739238&amp;usg=AOvVaw2Ld99tUoiAnmMX5Kw9gQEm" rel="noopener noreferrer nofollow">regions and cultures can have different expectations</a> over how these processes should work and the tone of voice you need, so make sure to take UX into account.</p><p>Once you have these core processes localized to a suitable standard, you can start thinking about your marketing and how your brand will be perceived in that location.This is something that can be greatly enhanced by the <a href="https://localazy.com/blog/why-and-how-to-provide-local-expertise-to-foreign-clients/" rel="noopener noreferrer nofollow">help of local experts</a> who can understand the cultural implications of a translation.</p><p>What might seem innocuous or make sense from a straight-up one-to-one translation might have connotations you might miss without local expertise, no matter how good AI writing and translation has become. German start-up <strong>Kontool </strong>ran into trouble when launching in Indonesia due to the <a href="https://coconuts.co/jakarta/news/german-startup-kontool-sees-huge-swell-of-fans-from-indonesia-thanks-to-its-unique-name/" rel="noopener noreferrer nofollow">name’s resemblance to vulgar slang</a>. Even bigger brands have had trouble: <strong>Pepsi </strong>declaring to Chinese customers that <a href="https://www.thedrum.com/news/2022/10/10/lost-translation-10-times-brands-got-it-wrong-when-going-global" rel="noopener noreferrer nofollow">‘Pepsi brings your ancestors back from the grave’</a> rather than their intended slogan of ‘Come alive! You’re in the Pepsi generation’ is just scratching the surface.</p><blockquote>Before you work on the flashy marketing, test the localized user experience in the chosen language. All the important touchpoints, like your product pages, checkout process, and support channels, should be aligned with the market's cultural expectations and habits</blockquote><h3 id="resource-allocation-what-to-budget-besides-translation-fees">Resource allocation: What to budget besides translation fees <a class="markdownit-header-anchor" href="#resource-allocation-what-to-budget-besides-translation-fees">🔗</a></h3><p>The amount of resources needed will be largely based on how different your target market’s language and culture is from your own. A European brand looking to expand into another European country will likely have enough shared cultural touchpoints that it could take minimal resources beyond translations. But that same company would likely need to invest more resources when looking to expand into an Asian market like China or <a href="https://localazy.com/blog/master-japanese-localization-and-adapt-your-brand-to-this-unique-market" rel="noopener noreferrer nofollow">Japan, due to how different the languages and cultures</a> are from their own.</p><p><strong>Automation can be a great help</strong>, especially with complex, time-consuming tasks. You might need <strong>local-cloud servers</strong> for compliance with data regulation laws like GDPR, making it important to <a href="https://cast.ai/blog/cloud-automation-the-new-normal-in-the-tech-industry/" rel="noopener noreferrer nofollow">manage tools like the cloud quickly and efficiently</a>.</p><p>As the foundation for translation work and for <a href="https://localazy.com/features/automations">automated localization workflows</a>, <strong>Localazy centralizes the entire process </strong>through its <a href="https://localazy.com/term/translation-management-system" rel="noopener noreferrer nofollow">integrated Translation Management System</a>. Think of localization as a full project stack, not a line item for word count. </p><p>📋 As you scope a new market, run through this quick checklist to be sure every cost centre is covered:</p><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>Resource area</th>
<th>What to confirm before launch</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Technology</strong></td>
<td>Translation Management System (TMS) such as Localazy, continuous-integration hooks into your CMS/app repo, internationalized codebase, localization QA tools.</td>
</tr>
<tr>
<td><strong>Infrastructure</strong></td>
<td>Region-specific hosting or CDN nodes, data-residency compliance (GDPR, PDPA, LGPD, etc.), local payment gateways, fallback servers for traffic spikes.</td>
</tr>
<tr>
<td><strong>People</strong></td>
<td>In-house localization owner, language leads/reviewers, external LSP/translators, subject-matter experts, a part-time localization engineer to keep builds green.</td>
</tr>
<tr>
<td><strong>Content assets</strong></td>
<td>Master glossary, style guide, translation memory, approved UI string screenshots, locale-specific imagery/video, legal T&amp;Cs and privacy text.</td>
</tr>
<tr>
<td><strong>Testing &amp; QA</strong></td>
<td>Linguistic QA passes, functional/UI testing on real devices, right-to-left or double-byte layout checks, currency/date/number formatting validation.</td>
</tr>
<tr>
<td><strong>Support &amp; CX</strong></td>
<td>Multilingual help-desk scripts, chatbot intents, FAQs, knowledge-base articles, localized onboarding emails and push notifications.</td>
</tr>
<tr>
<td><strong>Marketing</strong></td>
<td>Budget for local PPC keywords, influencer/affiliate spend, PR agency or local social managers, transcreation for tagline/visual campaigns.</td>
</tr>
<tr>
<td><strong>Legal &amp; Finance</strong></td>
<td>Trademark searches, import duties, tax/VAT registration, invoice templates in-locale, compliant refund wording.</td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p>A TMS like <a href="https://localazy.com/" rel="noopener noreferrer nofollow">Localazy</a> handles the core <em>translation</em> workflow (<a href="https://localazy.com/features/machine-translation/">machine translation prefill</a>, reviewer rounds, and <a href="https://localazy.com/blog/the-ultimate-guide-to-localazy-cdn/">continuous deployment</a>), while the rows above ensure you also budget for infrastructure, people, QA, customer support, and go‑to‑market spend. Having this checklist in hand lets you forecast <strong>total localization cost of ownership</strong>, pick the right pilot market, and avoid nasty surprises mid‑rollout. </p><p>With Localazy taking care of the routine side of things, you can devote your resources more effectively, especially for engaging local experts when more culturally nuanced professional translations are needed.</p><blockquote>📚 Related read: <a href="https://localazy.com/blog/how-localazy-cdn-reduces-total-cost-of-ownership-with-examples/">How Localazy CDN reduces Total Cost of Ownership (with examples)</a></blockquote><h3 id="keep-testing-and-reiterating">Keep testing and reiterating <a class="markdownit-header-anchor" href="#keep-testing-and-reiterating">🔗</a></h3><p>You’re probably already running <a href="https://www.custify.com/blog/founders-guide-collecting-utilizing-user-feedback/" rel="noopener noreferrer nofollow">A/B tests, gathering user feedback, and monitoring customer support</a> with your original language. <strong>You need to do the same with the new languages</strong> you’ll be adding for global expansion. For that, you'll need systems and specialists who can understand the nuances of this feedback so you can make actionable changes.</p><p>You’ll also need to keep pace with how the cultural and linguistic landscape evolves. While <a href="https://www.economist.com/culture/2024/10/21/tiktok-is-changing-how-gen-z-speaks">not every language is changing as quickly as English</a>, <strong>all languages do change over time</strong>. You need to keep pace with those changes, particularly if your target market skews younger, as <a href="https://www.nationalgeographic.com/culture/article/teenage-girls-innovate-new-language-linguistics" rel="noopener noreferrer nofollow">younger people (especially women) drive linguistic change</a> in most societies.</p><h2 id="boost-your-revenue-with-multilingualism">🚂 Boost your revenue with multilingualism <a class="markdownit-header-anchor" href="#boost-your-revenue-with-multilingualism">🔗</a></h2><p>Expanding worldwide isn’t a sprint... it’s a flywheel you build and accelerate. Start by letting the numbers lead: stack market size, digital behavior, and competitive gaps <strong>to pick the languages that can unlock 80‑90 % of your addressable revenue</strong>. Next, resource the rollout beyond translation: budget for a TMS such as Localazy, region‑specific hosting, in‑locale support scripts, and a realistic QA schedule. Finally, <strong>treat localization as a living product feature</strong>: run ongoing A/B tests, refresh your glossary and style guide quarterly, and track ROI per language the same way you track traffic or CAC.</p><p>Ready to move? Sit down with your team this week, pull up your analytics, and run the quick viability checklist from Step 1. Pick one Tier 1 or Tier 2 language, drop those strings into a TMS, and schedule your first post‑launch review 30 days out. One language, one market, real revenue lift. <strong>Then, rinse and scale</strong>. Remember: <a href="https://localazy.com/blog/mythbusters-our-product-has-been-localized-so-the-job-is-finished/" rel="noopener noreferrer nofollow">localization isn’t a one-time project</a> but an ongoing commitment.</p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/06/Right-language.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Evidence vs opinion: How to avoid launching on gut feeling alone | Bridging the Gap Podcast, S02 EP02]]></title>
            <link>https://localazy.com/blog/s02-ep-02-bridging-the-gap-podcast</link>
            <guid isPermaLink="false">s02-ep-02-bridging-the-gap-podcast</guid>
            <pubDate>Thu, 05 Jun 2025 18:11:05 GMT</pubDate>
            <description><![CDATA[What’s the secret to making better decisions when entering new markets? In this episode, Itamar Gilad explains why testing ideas backed on solid data helps you move faster and smarter.]]></description>
            <content:encoded><![CDATA[<p>In this episode of <strong>Bridging the Gap</strong>, coach and author <a href="https://x.com/ItamarGilad/"><strong>Itamar Gilad</strong></a>, known for his product work at Google and Microsoft, sits down with co-hosts <a href="https://localazy.com/blog/author/marta-g-coloma/">Marta G. Coloma</a> and <a href="https://localazy.com/blog/author/jan-bilek/">Jan Bílek</a> to cut through the noise around evidence-guided decision-making. We skip the buzzwords and get to the crux of the matter: how can you make data-based decisions without completely ignoring your intuition? We unpack where product teams often get stuck and explore how this approach saves resources when foraying into new markets.</p><h2 id="the-highlights">📝 The highlights <a class="markdownit-header-anchor" href="#the-highlights">🔗</a></h2><h3 id="its-not-about-removing-human-judgment">It’s not about removing human judgment <a class="markdownit-header-anchor" href="#its-not-about-removing-human-judgment">🔗</a></h3><p>Itamar compares product managers to judges and doctors who always rely on evidence before making decisions. <strong>Judges ask for proof and doctors run tests, so product teams should do the same when building. </strong>This means that, while intuition and experience remain important, they must be paired with solid evidence to avoid costly mistakes and improve outcomes. In the end, experimenting hoping untested approaches work ends up being much more expensive than build strategies based on data.</p><h3 id="does-it-slow-you-down">Does it slow you down? <a class="markdownit-header-anchor" href="#does-it-slow-you-down">🔗</a></h3><p>Many fear evidence-guided approaches will delay product development. Itamar challenges this by showing how <strong>rushing into development without proper research wastes time because many ideas fail</strong>. Instead, by testing and eliminating weak ideas early, teams actually speed up delivering meaningful value, because the goal isn’t just to ship features, but to ship what truly matters.</p><p>As Itamar puts it eloquently, "If you take the time to do research and discovery, <strong>to eliminate the bad ideas and double down on the good ones</strong>, you're actually expediting the delivery of value, which is really what we care about. We're not in the business of shipping bits. We're in the business of shipping value."</p><h3 id="localization-decisions-backed-by-data">Localization decisions backed by data <a class="markdownit-header-anchor" href="#localization-decisions-backed-by-data">🔗</a></h3><p>Expanding internationally requires thoughtful decisions backed by data. Localization teams face plenty of challenges, <strong>and applying an evidence-based mindset helps prioritize efforts, validate market assumptions, and reduce costly errors</strong>. We loved hearing Itamar’s practical tips to make this a reality —  and we hope you enjoy the conversation below, too!</p><h2 id="star-quote">🌟 Star quote <a class="markdownit-header-anchor" href="#star-quote">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-guest-quote-1.png" class="kg-image" alt loading="lazy" width="1200" height="546" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/BTG-guest-quote-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/BTG-guest-quote-1.png 1000w, https://ghost.localazy.com/content/images/2025/05/BTG-guest-quote-1.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/VD04Jpr2C7k?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Evidence-guided decision-making for market expansion (w/ Itamar Gilad) | Bridging the Gap #2, S02"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Evidence-guided decision-making for market expansion (w/ Itamar Gilad) | Bridging the Gap #2, S02" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/6DjKv4dvt1B0oCiZvLpMpY/video?si=3OlLhiQCQj6YLLIcSqP3Ow&utm_source=oembed"></iframe></figure><h2 id="additional-resources">🗞️ Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><ul><li><a href="https://itamargilad.com">Itamar Gilad’s website</a></li><li><a href="https://itamargilad.com/gist-framework/">GIST Framework overview</a> by Itamar Gilad</li><li><a href="https://realproductwork.substack.com/" rel="noopener noreferrer nofollow">The Real Product Work</a> by Jan Bílek (Substack)</li></ul><h2 id="related-episodes">📹 Related episodes <a class="markdownit-header-anchor" href="#related-episodes">🔗</a></h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s01-ep-01-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Marketing strategies to propel your growth | Bridging the Gap Podcast, S01 EP01</div><div class="kg-bookmark-description">In our first episode ever, we explore how to choose the right go-to-market strategy and stay patient with growth with CMO consultant Lukas Mehnert.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep01.png" alt=""></div></a></figure><blockquote><em>📲 </em><a href="https://www.linkedin.com/company/bridging-the-gap-podcast-btg/" rel="noopener noreferrer nofollow"><em>Follow the podcast on LinkedIn</em></a><em> for premiere notifications and updates</em></blockquote><h2 id="connect-with-the-guest-and-hosts">💌 Connect with the guest & hosts <a class="markdownit-header-anchor" href="#connect-with-the-guest-and-hosts">🔗</a></h2><ul><li><a href="https://www.linkedin.com/in/itamar-gilad/" rel="noopener noreferrer nofollow">Itamar Gilad</a></li><li><a href="https://www.linkedin.com/in/xbilek18/" rel="noopener noreferrer nofollow">Jan Bílek</a></li><li><a href="https://www.linkedin.com/in/martagcoloma/" rel="noopener noreferrer nofollow">Marta G. Coloma</a></li></ul><h2 id="more-on-the-blog">📚 More on the blog  <a class="markdownit-header-anchor" href="#more-on-the-blog">🔗</a></h2><p>The GIST framework by Itamar Gilad is something we have tested ourselves at Localazy, and it significantly boosted our team's performance. You can read about our experience in the overview below. For more product management content related to localization, check out our articles <a href="https://localazy.com/tags/product-management">here</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/localazy-a-gist-powered-company"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How GIST helped the Localazy team track progress &amp; thrive</div><div class="kg-bookmark-description">Does producing good ideas that suit your customer needs and following up with them without excessive management overhead sound like a dream? It isn’t: it’s called GIST planning. Here’s how Localazy has adopted this business framework.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Marta G. Coloma</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2023/09/GIST-introduction.png" alt=""></div></a></figure><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete automated localization solution for your digital products. We make your software, apps, and content multilingual and ready for international audiences with developer-friendly features, TMS tools, and professional translation services.</p><p>First time here? Check out our <a href="https://localazy.com/docs/general/getting-started-with-localazy">getting started guide</a>, <a href="https://localazy.com/pricing">find your plan</a>, or <a href="https://localazy.com/contact">contact us </a>with any questions. We're here to help you with your localization and i18n journey.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S2Ep02.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Automations, Strapi v5 & context for machine translations!]]></title>
            <link>https://localazy.com/blog/release-update-may-2025</link>
            <guid isPermaLink="false">release-update-may-2025</guid>
            <pubDate>Fri, 23 May 2025 12:21:50 GMT</pubDate>
            <description><![CDATA[Connect your Strapi v5 CMS seamlessly with our updated plugin, maintain brand terminology across machine translations with DeepL's new glossary support, and automate repetitive tasks with the simplified Automations feature. ]]></description>
            <content:encoded><![CDATA[<p>Spring has brought some fresh growth to Localazy with features designed to reduce manual work further and improve your translation workflows. </p><p>Let's dive into what's new!</p><h2 id="new-automations-for-reducing-manual-work">⚙️ New Automations for reducing manual work  <a class="markdownit-header-anchor" href="#new-automations-for-reducing-manual-work">🔗</a></h2><p>We've renamed "Automated Workflows" to "Automations," and the feature is now generally available to all <a href="/tiers/autopilot">Autopilot tier</a> customers and above. <br><br>In your project, you can find it under the Tools in the menu.</p><p>Automations reduce manual work and keep your localization process running smoothly even when you're focused elsewhere. Watch the video below, where I will show you the first simple setup to automate your translations! </p><figure class="kg-card kg-embed-card kg-card-hascaption"><iframe width="200" height="113" src="https://www.youtube.com/embed/CswHVspaFQI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Localazy Automations Introduction"></iframe><figcaption>Automations first steps explained in a video.</figcaption></figure><p>With <a href="/features/automations">Automations</a>, you can<strong> set up rule-based actions that trigger automatically </strong>based on conditions you define.</p><p>Set up rules to:</p><ul><li>Pre-translate content using <a href="/features/machine-translation">machine translations</a> when new source strings are added</li><li>Copy translations between languages</li><li>Apply <a href="https://localazy.com/docs/general/priority-and-tags">tags</a> to content based on criteria</li><li>Delete <a href="https://localazy.com/faq/localazy/what-is-the-difference-between-hidden-and-deprecated-source-keys">deprecated keys</a> automatically</li><li>...and much more!</li></ul><h2 id="deepl-integration-now-supports-glossary">📒 DeepL integration now supports Glossary <a class="markdownit-header-anchor" href="#deepl-integration-now-supports-glossary">🔗</a></h2><p>We have a huge quality-of-life improvement for teams working mainly with machine translations.</p><p>Our DeepL integration now respects your <a href="https://localazy.com/features/glossary">Localazy Glossary</a> for <a href="https://developers.deepl.com/docs/getting-started/supported-languages">supported language pairs</a>, ensuring consistent terminology.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/05/image-8.png" class="kg-image" alt loading="lazy" width="589" height="380"><figcaption>Localazy's integration with DeepL now respects your glossary terminology!</figcaption></figure><h4 id="what-this-means-for-you">What this means for you:</h4><ol><li><strong>No additional configuration is needed</strong>: If you already have a Glossary set up for your project, DeepL will automatically use it when generating translations from now on.</li><li><strong>Reduced post-editing effort</strong>: One of the biggest challenges with machine translation has been maintaining terminology consistency. Now, terms you've defined in your Glossary will be respected automatically, saving hours of manual corrections.</li><li><strong>Improved translation quality</strong>: By following your terminology preferences, DeepL translations will better align with your domain-specific language.</li></ol><blockquote>While other MT providers still don't respect glossary terms out of the box, DeepL now joins our <a href="https://localazy.com/features/localazy-ai">OpenAI integration</a> in supporting this crucial feature.</blockquote><h2 id="localazy-plugin-now-supports-strapi-v5">💜 Localazy plugin now supports Strapi v5 <a class="markdownit-header-anchor" href="#localazy-plugin-now-supports-strapi-v5">🔗</a></h2><p>Our developers have completed the migration of the <a href="/integrations/strapi">Localazy plugin for Strapi v5</a>. </p><p>The new version maintains all the functionality you love while working seamlessly with Strapi's latest architecture. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/image-9.png" class="kg-image" alt loading="lazy" width="834" height="368" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/image-9.png 600w, https://ghost.localazy.com/content/images/2025/05/image-9.png 834w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">💜</div><div class="kg-callout-text">Already running on v4 and looking to upgrade? David has prepared a migration guide to help with the switch between versions. <br>👉 <a href="https://localazy.com/docs/strapi/strapi-plugin-v4-to-v5-migration">Strapi plugin migration guide</a></div></div><p>You can find the updated plugin in the <a href="https://strapi.io/plugins/@localazy-strapi-plugin">Strapi Market</a> or through npm:</p><pre><code>npm install @localazy/strapi-plugin@latest &amp;&amp; npx @localazy/strapi-plugin</code></pre><h2 id="improvements-and-fixes">🗂️ Improvements and fixes <a class="markdownit-header-anchor" href="#improvements-and-fixes">🔗</a></h2><p>This update also includes several bug fixes and interface improvements based on user feedback. Here's what we've addressed:</p><h3 id="bug-fixes">Bug fixes <a class="markdownit-header-anchor" href="#bug-fixes">🔗</a></h3><ul><li>Fixed blank listing after translating strings, where the previous filtered results would not display</li><li>Fixed issue preventing users from adding "<a href="https://localazy.com/docs/general/priority-and-tags#source-key-tags">Exclude from CLT</a>" tag</li><li>Fixed persistent banner that remained visible after being closed multiple times</li><li>Resolved the issue with <code>$t</code> <a href="https://localazy.com/features/code-and-placeholders">placeholders</a> in translations</li><li>Fixed search result caching between different languages</li><li>Updated HTML validator to properly recognize <code>&lt;link&gt;</code> tags</li><li>Removed file aliases from the Create keys select options</li><li>Fixed missing existing languages in the Copy translation action</li><li>Added a link to <a href="https://localazy.com/features/branching">Branching</a> to the menu</li></ul><h3 id="interface-and-ux-improvements">Interface and UX improvements <a class="markdownit-header-anchor" href="#interface-and-ux-improvements">🔗</a></h3><ul><li>Implemented follow-up fixes for the new navigation</li><li>Fixed interaction between "deprecated" and "hidden" states</li><li>Improved error messages for <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate">batch translations</a></li><li>Updated the <code>@localazy/languages</code> package</li><li>Optimized highlighting <a href="https://localazy.com/features/glossary">Glossary terms</a> validation to improve performance</li><li>Improved styling of notifications and comments</li><li>Added <a href="https://localazy.com/docs/general/priority-and-tags#priority">priority chip</a> to translation interface</li></ul><h2 id="season-2-of-the-podcast-is-here">🎙️ Season 2 of the podcast is here! <a class="markdownit-header-anchor" href="#season-2-of-the-podcast-is-here">🔗</a></h2><p>Our content team is excited to announce Season 2 of our <strong>Bridging the Gap</strong> podcast, where we dive into localization challenges, share success stories, and interview experts about global growth strategies. Subscribe on your favorite podcast platform to stay updated!</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/vJNZzR99aPs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Humans, AI &amp; the future of translation (w/ Jiří Šebek) | Bridging the Gap Podcast #1, S02"></iframe></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🎬</div><div class="kg-callout-text">Listen to all episodes from <a href="https://localazy.com/tags/podcast">Podcast Seasons 1 &amp; 2 here</a>!</div></div><h2 id="new-locale-guide-vietnamese">🇻🇳 New Locale Guide: Vietnamese <a class="markdownit-header-anchor" href="#new-locale-guide-vietnamese">🔗</a></h2><p>Our localization guide series continues with an in-depth look at Vietnamese language localization. </p><p>The <a href="https://localazy.com/blog/entering-the-vietnamese-market-localize-to-convince-in-vietnam">guide</a> covers Vietnamese-specific challenges, cultural considerations, and technical requirements for properly implementing Vietnamese in your products.</p><figure class="kg-card kg-image-card kg-card-hascaption"><a href="https://localazy.com/blog/entering-the-vietnamese-market-localize-to-convince-in-vietnam"><img src="https://ghost.localazy.com/content/images/2025/05/image-10.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/image-10.png 1000w, https://ghost.localazy.com/content/images/2025/05/image-10.png 1200w" sizes="(min-width: 720px) 720px"></a><figcaption><a href="https://localazy.com/blog/entering-the-vietnamese-market-localize-to-convince-in-vietnam">Entering the Vietnamese market: Localize to convince in the South Asian region</a></figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏷️</div><div class="kg-callout-text"><a href="https://localazy.com/my/virtual-translator">Order professional translations</a> into Vietnamese with a special discount until the end of June!</div></div><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>This release continues our focus on reducing manual work through automation and improving quality through better machine translation integration. We hope you will enjoy the Strapi v5 support and DeepL glossary integration, as these have been among our most requested updates.</p><p>And as always, please let us know if you encounter any issues or have suggestions through the help icon in your dashboard or by emailing <a href="mailto:team@localazy.com">team@localazy.com</a>.</p><p>Happy localizing!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/Release-update-Localazy-may-2025.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[AI as a strength, not a threat: "The linguist is still the manager" | Bridging the Gap Podcast, S02 EP01]]></title>
            <link>https://localazy.com/blog/s02-ep-01-bridging-the-gap-podcast</link>
            <guid isPermaLink="false">s02-ep-01-bridging-the-gap-podcast</guid>
            <pubDate>Fri, 23 May 2025 07:11:41 GMT</pubDate>
            <description><![CDATA[In the season opener, we discuss the impact of AI tools on translation and localization processes. Dialect's CEO Jiří Šebek joins us to analyze how linguists can thrive in the new AI-powered era.]]></description>
            <content:encoded><![CDATA[<p>The rise of AI tools in translation and localization is shifting how customers (and linguists) approach their work. In the first episode of our second season,<strong> Jiří Šebek</strong>, CEO of <a href="https://dialect.cz/">Dialect</a>, joins co-hosts <a href="https://localazy.com/blog/author/marta-g-coloma/">Marta G. Coloma</a> and <a href="https://localazy.com/blog/author/jan-bilek/">Jan Bílek</a> to discuss the reality behind automation, why clients often have unrealistic expectations, and how the role of language professionals is changing. We also discuss how AI is impacting hiring, project workflows, and customer education.</p><h2 id="the-highlights">📝 The highlights <a class="markdownit-header-anchor" href="#the-highlights">🔗</a></h2><h3 id="whos-managing-who">Who's managing who? <a class="markdownit-header-anchor" href="#whos-managing-who">🔗</a></h3><p>"Is the text managing you, or are you managing the text?" </p><p>This is one of the questions Šebek poses during the conversation, hitting at the core of a controversy that's shaken the day-to-day of translators. As a leader who encourages the use of AI tools to his team, he insists that <strong>linguists are still the managers, "not the other way around."</strong></p><p>The reality is most translators are already using these systems. The real question is whether we’re using them with intention or just accepting whatever they produce. In his opinion, we shouldn’t fear the tools but master them. Mastery, however, doesn’t come from shortcuts. It comes from education, oversight, and knowing when an output works and when it doesn’t. <strong>If clients are relying on AI already, language professionals need to stay one step ahead</strong> by not just being fluent in languages, but fluent in the tools. Ignoring them won't help.</p><h3 id="the-expectations-problem">The expectations problem <a class="markdownit-header-anchor" href="#the-expectations-problem">🔗</a></h3><p>AI tools are everywhere and, whether we like it or not, and their rise is also shifting how customers approach localization workflows and multilingual expansion. Our co-host Jan Bílek, Head of Product at Localazy, explains he's detected AI has raised the bar for automation, speed, and perceived simplicity. </p><p>But the gap between expectations and reality often leads to confusion. Clients may assume AI can handle complex localization tasks solo, when in fact <strong>it still needs human oversight, more refined prompting, context and intention to work</strong>.</p><h3 id="the-future-is-specilessstronggreateralizedlessstronggreater">The future is speci<strong>alized</strong> <a class="markdownit-header-anchor" href="#the-future-is-specilessstronggreateralizedlessstronggreater">🔗</a></h3><p>The discussion closes with a broader reflection on where the industry is heading. As the need for quick, scalable translation grows, so does the demand for specialists who can guide AI tools, interpret their outputs, and maintain quality.  The conclusion is clear: <strong>translators who adapt and specialize will thrive</strong>.</p><h2 id="star-quote">🌟 Star quote <a class="markdownit-header-anchor" href="#star-quote">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-guest-quote_wide-2.png" class="kg-image" alt loading="lazy" width="1200" height="546" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/BTG-guest-quote_wide-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/BTG-guest-quote_wide-2.png 1000w, https://ghost.localazy.com/content/images/2025/05/BTG-guest-quote_wide-2.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="watch-and-listen">🎙️ Watch & listen  <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube  <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/vJNZzR99aPs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Humans, AI &amp; the future of translation (w/ Jiří Šebek) | Bridging the Gap Podcast #1, S02"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Humans, AI &amp; the future of translation (w/ Jiří Šebek) | Bridging the Gap Podcast #1, S02" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/3UO9511kzIQxP5RnHGaIbV/video?si=c0799263e8cd418d&utm_source=oembed"></iframe></figure><h2 id="additional-resources">🗞 Additional resources  <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><ul><li><a href="https://realproductwork.substack.com">The Real Product Work</a> by Jan Bílek (Substack)</li><li><a href="https://slator.com/10-ways-translators-are-using-ai-in-2024/">10 ways translators used AI in 2024</a> (Slator)</li></ul><h2 id="related-episodes">📹 Related episodes <a class="markdownit-header-anchor" href="#related-episodes">🔗</a></h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s01-ep-03-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Will AI replace translators? | Bridging the Gap Podcast, S01 EP03</div><div class="kg-bookmark-description">The use of LLMs in translation is still sparking intense debates in the localization industry. We meet a linguist specialized in prompting to discuss what are the real capabilities of these models.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep03-1.png" alt=""></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/s01-ep-05-bridging-the-gap-podcast"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Building a localization-friendly culture | Bridging the Gap Podcast, S01 EP05</div><div class="kg-bookmark-description">No localization team can succeed without support from their peers: multilingual expansion is also an internal effort. We explore why with consultant Michal Kessel and Kelly Murphy from Pentland Firth.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Bridging the Gap</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep05.png" alt=""></div></a></figure><blockquote>📲 <a href="https://www.linkedin.com/company/bridging-the-gap-podcast-btg/">Follow the podcast on LinkedIn</a> for premiere notifications and updates</blockquote><h2 id="connect-with-the-guest-and-hosts">💌 Connect with the guest & hosts <a class="markdownit-header-anchor" href="#connect-with-the-guest-and-hosts">🔗</a></h2><p><a href="https://www.linkedin.com/in/jirisebek/">Jiří Šebek</a></p><p><a href="https://www.linkedin.com/in/xbilek18/">Jan Bílek</a></p><p><a href="https://www.linkedin.com/in/martagcoloma/">Marta G. Coloma</a></p><h2 id="more-on-the-blog">📚 More on the blog  <a class="markdownit-header-anchor" href="#more-on-the-blog">🔗</a></h2><p>There's much talk going around about AI and LLMs in localization. We've tested some of these tools directly and assessed their real abilities. Check out our rankings, get tips, and see what tools perform best in <a href="https://localazy.com/blog/author/dorota-pawlak">Dorota Pawlak's AI series</a>. ⬇️</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models"><div class="kg-bookmark-content"><div class="kg-bookmark-title">The great LLM translation war: A comparative of the hottest AI models</div><div class="kg-bookmark-description">Choosing the best AI tool to help you localize is becoming harder every day. With new models popping up everywhere, what should you look at to make a decision? We tested a few to get clarity.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Dorota Pawlak</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/03/localazy-AI-series_04.png" alt=""></div></a></figure><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete automated localization solution for your digital products. We make your software, apps, and content multilingual and ready for international audiences with developer-friendly features, TMS tools, and professional translation services.</p><p>First time here? Check out our <a href="https://localazy.com/docs/general/getting-started-with-localazy">getting started guide</a>, <a href="https://localazy.com/pricing">find your plan</a>, or <a href="https://localazy.com/contact">contact us </a>with any questions. We're here to help you with your localization and i18n journey.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S2Ep01.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 20 resources every UI designer must know]]></title>
            <link>https://localazy.com/blog/top-20-best-resources-for-ui-designers</link>
            <guid isPermaLink="false">top-20-best-resources-for-ui-designers</guid>
            <pubDate>Sat, 16 Aug 2025 13:38:33 GMT</pubDate>
            <description><![CDATA[The fastest way to become good at your skillset is to learn from those who are where you want to be. This applies to almost any field, including UI design. Dust off your notebook and take a look at the resources recommended by our Art Director.]]></description>
            <content:encoded><![CDATA[<p>Becoming an exceptional UI designer takes time, as with any other profession. The best way to accelerate your learning and stay on top of your industry is to follow leaders who are aware of industry changes. </p><p>Knowing what’s currently working for others and which people to follow gives you an ace up your sleeve. That’s why we scoured the internet and asked our in-house designer and Art Director, <strong><a href="https://www.linkedin.com/in/ondrej-pucek/?locale=en_US">Ondřej Půček</a></strong>, for resources that helped him. </p><p>His selection features <strong>influencers and designers</strong> who share noteworthy UI knowledge. Along the same lines, we’ll discuss <strong>YouTube channels</strong> posting fresh content for UI designers, and for avid readers, we’ll list some of the <strong>books</strong> seen as must-reads to build a strong foundation as a designer.</p><h2 id="top-4-blogs-for-ui-designers-to-follow">🏆 Top 4 blogs for UI designers to follow <a class="markdownit-header-anchor" href="#top-4-blogs-for-ui-designers-to-follow">🔗</a></h2><p>Hardly anyone has the time to go through densely packed blogs in one sitting. But when you find a pocket of calm, consider picking a few from this selection. Our Lead Designer says they're worth it!</p><h3 id="1-lessa-hrefhttpswwwfigmacombloggreaterfigma-bloglessagreater">1. <a href="https://www.figma.com/blog/">Figma blog</a> <a class="markdownit-header-anchor" href="#1-lessa-hrefhttpswwwfigmacombloggreaterfigma-bloglessagreater">🔗</a></h3><p>Over 4 million people use <a href="https://localazy.com/features/figma-localization-plugin">Figma</a>. There’s hardly any UI designer who hasn’t used it in their work. The company puts significant efforts into updating its blog with tools, strategies, and design techniques, along with interviews, guest posts from other designers, and case studies.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.51.27.png" class="kg-image" alt loading="lazy" width="2000" height="1137" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.51.27.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.51.27.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.51.27.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.51.27.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Their blog has informative articles on design thinking, interviews with its teams, and contributions from design communities. If there’s an update about their tool or a new trend that’s thriving, you’ll likely find a post about it on their blog. You’ll also find in-depth pieces together with 2-minute reads you can gobble up on the go. They also have an academy for paid classes on design.</p><blockquote>📌 We love it, too: <a href="https://localazy.com/blog/how-and-why-we-built-figma-localization-plugin">How and why we built our Figma localization plugin</a></blockquote><h3 id="2-lessa-hrefhttpswwwsmashingmagazinecomgreatersmashing-magazinelessagreater">2. <a href="https://www.smashingmagazine.com">Smashing Magazine</a> <a class="markdownit-header-anchor" href="#2-lessa-hrefhttpswwwsmashingmagazinecomgreatersmashing-magazinelessagreater">🔗</a></h3><p>Smashing Magazine is a popular blog for web designers and developers. Their UI design section features articles on topics such as design trends, usability, and responsive design. They also publish in-depth tutorials and case studies that can help designers improve their skills.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Smashing-Magazine.png" class="kg-image" alt loading="lazy" width="1885" height="907" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Smashing-Magazine.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Smashing-Magazine.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Smashing-Magazine.png 1600w, https://ghost.localazy.com/content/images/2025/01/Smashing-Magazine.png 1885w" sizes="(min-width: 720px) 720px"></figure><p>In addition to its UI design section, Smashing Magazine also publishes articles on topics such as coding, UX design, and front-end development. They also host conferences and workshops that can be useful for designers who want to network and learn from industry experts.</p><h3 id="3-lessa-hrefhttpswwwtoptalcomdesignersblogui-designgreatertoptal-bloglessagreater">3. <a href="https://www.toptal.com/designers/blog/ui-design">Toptal blog</a> <a class="markdownit-header-anchor" href="#3-lessa-hrefhttpswwwtoptalcomdesignersblogui-designgreatertoptal-bloglessagreater">🔗</a></h3><p>From beginner-friendly guides on design fundamentals to in-depth analyses of the latest trends, Toptal's UI blog section is a treasure trove of knowledge. It's a one-stop-shop that encompasses the whole field, from design tool reviews and step-by-step tutorials to career advice. And the best part it's that all's written by experts who know their stuff. </p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe2Ax24VYfo3JsYDTJt40llkSd6WWF0T_VtHJqJezRjDOBy1ANYI8lWlqNtTHxGq8lzbjmPTgr2O9mCx7gZ8oE1xJay1KDhNP-t0JnWw7cvsX6RLFg6PVS5Y_ASKwm9AkMKsuVcJTH2bJJTUAntxHM8ZTOJ?key=sjDKJPd7kEdYo_1Rv2jhLA" class="kg-image" alt loading="lazy"></figure><h3 id="4-lessa-hrefhttpsalistapartcomgreatera-list-apartlessagreater">4. <a href="https://alistapart.com">A List Apart</a> <a class="markdownit-header-anchor" href="#4-lessa-hrefhttpsalistapartcomgreatera-list-apartlessagreater">🔗</a></h3><p>A List Apart is a veteran web design and development blog that's been running since 1998. Their <a href="https://alistapart.com/topics/">design and UX sections</a> feature articles on topics such as accessibility, interaction design, typography, brand identity, and more. Even though they don’t post frequently, the published pieces are worth a good read.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfJLIZfU0ZDdvSGzumngbR_74obRFxFLILI-AE6oR2bFBdxAw68RUJSITtarE79UeQrvlh0WRE2c_uH_WUIajHVHkIQpBkylM89HR-Zf8mJomkGcNlhpNrW7NEhbrly7Ev1rnEoQfq6oFNNZ6TyPh4aaxGg?key=sjDKJPd7kEdYo_1Rv2jhLA" class="kg-image" alt loading="lazy"></figure><h2 id="top-5-youtube-channels-for-ui-designers">🎥 Top 5 YouTube channels for UI designers <a class="markdownit-header-anchor" href="#top-5-youtube-channels-for-ui-designers">🔗</a></h2><p>In case reading isn’t your thing and you learn more easily by watching videos, here are some creators that specialize on multiple aspects of UI and web design. You’ll also find designers who leap into other areas such as animation, virtual reality, and design systems.</p><h3 id="5-lessa-hrefhttpswwwyoutubecomuserbenmarriottartgreaterben-marriottlessagreater">5. <a href="https://www.youtube.com/user/benmarriottart">Ben Marriott</a> <a class="markdownit-header-anchor" href="#5-lessa-hrefhttpswwwyoutubecomuserbenmarriottartgreaterben-marriottlessagreater">🔗</a></h3><p>Ben Marriott is an Australian designer creating content on motion design and animation. His channel is known for its high-quality tutorials, where he features a mix of practical tips, techniques, and insights into his creative process. He covers a wide range of topics, including animation fundamentals, character design, 3D animation, using Adobe After Effects, Illustrator, and more. He started posting on his channel in 2013 and has uploaded over 170 videos so far.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.56.37.png" class="kg-image" alt loading="lazy" width="2000" height="1626" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.56.37.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.56.37.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.56.37.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.56.37.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="6-lessa-hrefhttpswwwyoutubecomdesigntalkinggreaterdesign-talklessagreater">6. <a href="https://www.youtube.com/@DesignTalking">Design Talk</a> <a class="markdownit-header-anchor" href="#6-lessa-hrefhttpswwwyoutubecomdesigntalkinggreaterdesign-talklessagreater">🔗</a></h3><p>When we said that all these resources are handpicked by our own UI designer, we weren’t kidding. Since Ondřej is a Czech speaker, he couldn’t help but list one design channel in Czech. Ran by <a href="https://www.linkedin.com/in/parasite/">Lukáš Veverka</a>, a skillful motion designer and director, Design Talk includes talks with industry experts, design fails, 3D designs, VFX, and more. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.56.06.png" class="kg-image" alt loading="lazy" width="2000" height="1628" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.56.06.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.56.06.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.56.06.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.56.06.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>If you’re on other platforms like Twitch, you’ll find Lukáš streaming regularly. There he interviews industry personalities about motion design, filmmaking, tricks, directing, and, surely, graphic design.</p><h3 id="7-lessa-hrefhttpswwwyoutubecomwelliotvideosgreaterelliotisacoolguylessagreater">7. <a href="https://www.youtube.com/@welliot/videos">Elliotisacoolguy</a> <a class="markdownit-header-anchor" href="#7-lessa-hrefhttpswwwyoutubecomwelliotvideosgreaterelliotisacoolguylessagreater">🔗</a></h3><p><a href="https://www.linkedin.com/in/elliot-ulm-03abb117a/">Elliot Ulm</a> is a self-taught designer who runs a popular YouTube channel where he infuses comedy and graphic design together. The channel features a mix of design tutorials, recent trends, throwbacks, compilations, and discussions on the design process. Elliot is known for his thoughtful and engaging approach to design education, often incorporating personal anecdotes and humor into his videos.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.55.30.png" class="kg-image" alt loading="lazy" width="2000" height="1627" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.55.30.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.55.30.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.55.30.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.55.30.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>One of the standout features of Elliot's channel is his ability to break down complex design topics into digestible, easy-to-understand concepts. As someone who’s passionate about his craft, Elliot takes a bold approach to his work, and you can notice this in the fonts, colors, and layouts he uses. The Australia-based designer shares his knowledge mostly on <a href="https://www.instagram.com/elliotisacoolguy/">Instagram</a>, where he gathered his initial audience, but you can enjoy his lengthier content on YouTube.</p><h3 id="8-lessa-hrefhttpswwwyoutubecomthefuturvideosgreaterthe-futurlessagreater">8. <a href="https://www.youtube.com/@thefutur/videos">The Futur</a> <a class="markdownit-header-anchor" href="#8-lessa-hrefhttpswwwyoutubecomthefuturvideosgreaterthe-futurlessagreater">🔗</a></h3><p>While this channel covers a wide range of design topics, their UI section is particularly strong, with videos about typography, color theory, user experience, design principles, and more. One of the things that sets The Futur apart, though, is their focus on the business side of design. They address pricing strategies, discuss client management, and offer marketing tips that can help designers build successful careers in the industry.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.57.17.png" class="kg-image" alt loading="lazy" width="2000" height="1611" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.57.17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.57.17.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.57.17.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.57.17.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="9-lessa-hrefhttpswwwyoutubecomcharlimarietvvideosgreatercharli-marie-tvlessagreater">9. <a href="https://www.youtube.com/@charlimarieTV/videos">Charli Marie TV</a> <a class="markdownit-header-anchor" href="#9-lessa-hrefhttpswwwyoutubecomcharlimarietvvideosgreatercharli-marie-tvlessagreater">🔗</a></h3><p>Run since 2013 by this graphic and web designer based in the UK, Charli's channel focuses on topics such as design tools, web development, Figma, portfolio tips, and freelancing. Her videos are well-produced and engaging, and she has a friendly and approachable style that makes her content accessible to designers of all skill levels. One of her strenghts is she shares her own design processes and professional experiences, which makes her channel a great source of inspiration for other designers.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.57.51.png" class="kg-image" alt loading="lazy" width="2000" height="1628" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.57.51.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.57.51.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.57.51.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.57.51.png 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="top-4-books-about-ui-design">📖 Top 4 books about UI design <a class="markdownit-header-anchor" href="#top-4-books-about-ui-design">🔗</a></h2><p>We picked the brains of our senior designer to learn what books have helped him along his journey. Here are four books worth your time.</p><h3 id="10-lessemgreaterlessa-href100-things-every-designer-needs-to-know-about-peoplegreater100-things-every-designer-needs-to-know-about-peoplelessagreater-lessemgreaterby-susan-w-weinschenk">10. <em><a href="100 Things Every Designer Needs to Know About People">100 Things Every Designer Needs to Know About People</a> </em>by Susan W. Weinschenk <a class="markdownit-header-anchor" href="#10-lessemgreaterlessa-href100-things-every-designer-needs-to-know-about-peoplegreater100-things-every-designer-needs-to-know-about-peoplelessagreater-lessemgreaterby-susan-w-weinschenk">🔗</a></h3><p>Written by <a href="https://x.com/thebrainlady?lang=en">a behavioral scientist</a>, this book provides insights and practical tips for designers who want to create effective user interfaces. It tackles a wide range of topics, including how people perceive and process information, how they make decisions, and how they interact with technology. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/71n-f5HU5RL._SY522_.jpg" class="kg-image" alt loading="lazy" width="398" height="522"></figure><p>One key conclusion from the book is the importance of designing interfaces that are simple and intuitive, prioritizing essential information, and following established patterns. Above all, <strong>your design should be imbued with empathy</strong>, respect certain visual patterns, and be so good it encourages a flow state. Another important consideration is designing for positive emotions, as people's emotional states can have a big impact on their experience with an interface.</p><h3 id="11-lessemgreaterlessa-hrefhttpswwwamazoncombetter-web-typographydp1999809521greaterbetter-web-typography-for-a-better-weblessagreaterlessemgreater-by-matej-latin">11. <em><a href="https://www.amazon.com/Better-Web-Typography/dp/1999809521">Better Web Typography For A Better Web</a></em> by Matej Latin <a class="markdownit-header-anchor" href="#11-lessemgreaterlessa-hrefhttpswwwamazoncombetter-web-typographydp1999809521greaterbetter-web-typography-for-a-better-weblessagreaterlessemgreater-by-matej-latin">🔗</a></h3><p>This is a comprehensive guide to web typography for designers and developers. <a href="https://www.linkedin.com/in/matejlatin/?originalSubdomain=si">The author</a>, a self-taught product designer with experience in the software arena, walks the reader through the basics of typography in a practical way, including the anatomy of type, font choice, and type scale. Latin explains how to combine typefaces and follow a certain rhythm, and also discusses page composition, responsive typography, modular scale, etc. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/unnamed-9.png" class="kg-image" alt loading="lazy" width="500" height="750"></figure><p>Throughout the book, he emphasizes the importance of good typography in web design and offers practical tips for achieving it. The book is packed with plenty of real-world examples and case studies to illustrate his points. You’re even provided with lines of code you can run to see the results in practice.</p><h3 id="12-lessemgreaterlessa-hrefhttpswwwamazoncomlean-ux-applying-principles-experiencedp1449311652greaterlean-ux-applying-lean-principles-to-improve-user-experiencelessagreaterlessemgreater-by-jeff-gothelf">12. <em><a href="https://www.amazon.com/Lean-UX-Applying-Principles-Experience/dp/1449311652">Lean UX: Applying Lean Principles to Improve User Experience</a></em> by Jeff Gothelf <a class="markdownit-header-anchor" href="#12-lessemgreaterlessa-hrefhttpswwwamazoncomlean-ux-applying-principles-experiencedp1449311652greaterlean-ux-applying-lean-principles-to-improve-user-experiencelessagreaterlessemgreater-by-jeff-gothelf">🔗</a></h3><p>If you're looking for a practical guide to incorporate <a href="https://localazy.com/dictionary/lean-ux">lean principles</a> into the user experience design process, look no further than this. <a href="https://www.linkedin.com/in/gothelf/">Gothelf</a>, a product manager coach and OKR specialist, expands on the importance of validating assumptions and testing designs early and often in order to be <em>truly</em> user-centered. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/unnamed-8.png" class="kg-image" alt loading="lazy" width="500" height="750"></figure><p>In terms of UI design, the book emphasizes the importance of simplicity, usability, and accessibility. It also strongly encourages creating a design system that can be updated and modified as the product evolves.</p><blockquote>🎙️Accessibility is a broad topic. <a href="https://localazy.com/blog/s01-ep-08-bridging-the-gap-podcast">Listen to this episode with Sally Chalk, where we talk about improved accessibility for the Deaf community</a> and how AI can facilitate new solutions</blockquote><h3 id="13-lessemgreaterlessa-hrefhttpswwwrefactoringuicomgreaterrefactoring-uilessagreaterlessemgreater-by-adam-wathan-and-steve-schoger">13. <em><a href="https://www.refactoringui.com">Refactoring UI</a></em> by Adam Wathan and Steve Schoger <a class="markdownit-header-anchor" href="#13-lessemgreaterlessa-hrefhttpswwwrefactoringuicomgreaterrefactoring-uilessagreaterlessemgreater-by-adam-wathan-and-steve-schoger">🔗</a></h3><p>Another guide full of actionable tips to improve the look and feel of your interfaces. <a href="https://www.linkedin.com/in/adam-wathan-9418984a/">Wathan</a> and <a href="https://x.com/steveschoger">Schoger</a>, the CEO and visual designer at <a href="https://github.com/tailwindlabs">Tailwind Labs,</a> focus on the practical aspects of design and cover a wide range of topics: from typography and color to layout and spacing, supported by real-world examples.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf2WdL8IUHWPrl6J9V3bopdoJB_AT73vmFl4HjV8y2jThBux1yEMcpwjAnjxLNAET-C4U6IvBGe6_KAugxX7CydPP1KXUpJ4_Crc400oumZJ3ANdAfbthD0K18r3oYFW8Hvh5uaqqTtuiNf-m5760uA6lhX?key=sjDKJPd7kEdYo_1Rv2jhLA" class="kg-image" alt loading="lazy"></figure><p>One of the key themes of the book is the importance of simplicity in UI design. The authors argue that many interfaces suffer from clutter and complexity. They offer strategies for simplifying them, like reducing the number of colors, using consistent typography, and creating visual hierarchies that guide the user's attention. </p><h2 id="top-7-designers-you-should-follow-as-a-ui-designer">👤 Top 7 designers you should follow as a UI designer <a class="markdownit-header-anchor" href="#top-7-designers-you-should-follow-as-a-ui-designer">🔗</a></h2><p>Any professional journey boils down to a few simple steps. And one of them is to follow field experts who’ve amassed some kind of success. Here’s a list of seven designers we think you should follow to keep up with the industry.</p><h3 id="14-lessa-hrefhttpsxcommengtogreatermeng-tolessagreater">14. <a href="https://x.com/MengTo">Meng To</a> <a class="markdownit-header-anchor" href="#14-lessa-hrefhttpsxcommengtogreatermeng-tolessagreater">🔗</a></h3><p>Meng To is a designer, author, and entrepreneur who is well-known for his expertise in UI design. He is the founder of <a href="https://designcode.io/">Design+Code</a>, a platform that offers courses, tutorials, and resources for designers who want to learn how to create mobile apps, websites, and other digital products. Meng has worked with a range of clients, from startups to large corporations, and his designs have been featured in publications such as Wired, Fast Company, and Forbes.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.47.50.png" class="kg-image" alt loading="lazy" width="1186" height="856" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.47.50.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.47.50.png 1000w, https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.47.50.png 1186w" sizes="(min-width: 720px) 720px"></figure><p>Meng is known for his clean, minimalist approach that prioritizes usability. In addition to his design work, he's also an author and educator. His courses are a popular resource for designers who want to learn how to create mobile apps. </p><h3 id="15-lessa-hrefhttpsbentomerogiegreaterrogielessagreater">15. <a href="https://bento.me/rogie">Rogie</a>  <a class="markdownit-header-anchor" href="#15-lessa-hrefhttpsbentomerogiegreaterrogielessagreater">🔗</a></h3><p>Rogie is a multidisciplinary artist, programmer, and Designer Advocate at Figma who is well-known for his expertise in UI design. He has ample experience with a diverse range of clients and has been recognized for his innovative and user-friendly designs. Rogie is also a prolific speaker and writer who has shared his insights and advice with designers all over the world.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.47.18.png" class="kg-image" alt loading="lazy" width="2000" height="1145" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.47.18.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.47.18.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.47.18.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.47.18.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>His focus on UX and accessibility has helped elevate the importance of these principles in design, and his creations serve as a great example of how good design can make a positive impact on people's lives.</p><h3 id="16-lessa-hrefhttpsxcomzandersupafastgreaterzander-whitehurstlessagreater">16. <a href="https://x.com/zander_supafast">Zander Whitehurst</a> <a class="markdownit-header-anchor" href="#16-lessa-hrefhttpsxcomzandersupafastgreaterzander-whitehurstlessagreater">🔗</a></h3><p>Zander Whitehurst is a designer based in the UK who specializes in UI and UX design. With over a decade of experience in the industry, Zander has developed a reputation for creating elegant and intuitive user interfaces that prioritize user experience. He’s also a founding member of Figma’s education advisory board.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.48.13.png" class="kg-image" alt loading="lazy" width="1182" height="950" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.48.13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.48.13.png 1000w, https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.48.13.png 1182w" sizes="(min-width: 720px) 720px"></figure><p>On his socials, you’ll find short and practical tutorials and design tips. He is also skilled in a variety of design tools and techniques, including wireframing, prototyping, and user flow mapping. To teach all he’s learned about UI and UX, he’s created <a href="https://www.memorisely.com/">Memorisely</a>, a learning website that offers video classes and live bootcamps.</p><h3 id="17-lessa-hrefhttpsxcommollyhellmuthlangengreatermolly-hellmuthlessagreater">17. <a href="https://x.com/molly_hellmuth?lang=en">Molly Hellmuth</a> <a class="markdownit-header-anchor" href="#17-lessa-hrefhttpsxcommollyhellmuthlangengreatermolly-hellmuthlessagreater">🔗</a></h3><p>Molly is a distinguished UI designer, a Figma expert, and the creator of <a href="https://www.uiprep.com">UI Prep</a>, a collection of design resources and a design system with a plethora of features intended to advance your journey as a designer. So far, the UI kit has been downloaded over 100k times, and they keep adding updates to it.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.46.10.png" class="kg-image" alt loading="lazy" width="2000" height="1128" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.46.10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.46.10.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.46.10.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.46.10.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Besides the design system UI kit, which is a paid product, <a href="https://www.uiprep.com/blog">its blog</a> is full of information, guides, and tutorials for any creatives who want to master Figma. Furthermore, if you’re a fan of emails, sign up for her newsletter for more free content from an expert who has mentored designers in companies such as Atlassian, Open Table, and Gusto. Molly also holds a 4-week long <a href="https://www.dive.club/course/design-system-bootcamp">Design System Bootcamp</a> on Figma’s workflows and its advanced features, and you can check her kits, layouts and ideas on the platform <a href="https://www.figma.com/@mollyhellmuth">here</a>.</p><blockquote>🎨 Using Figma as a Product Designer? Read this: <a href="https://localazy.com/blog/6-super-useful-figma-plugins-product-designers-localazy">Super-useful Figma plugins for product designers</a></blockquote><h3 id="18-lessa-hrefhttpswwwlinkedincominmike-monteiro-6a73501greatermike-monteirolessagreater">18. <a href="https://www.linkedin.com/in/mike-monteiro-6a73501/">Mike Monteiro</a> <a class="markdownit-header-anchor" href="#18-lessa-hrefhttpswwwlinkedincominmike-monteiro-6a73501greatermike-monteirolessagreater">🔗</a></h3><p>Mike Monteiro is a well-known Design Director and author who has been working in the industry for over two decades. He is the co-founder of <a href="https://www.muledesign.com">Mule Design Studio</a> and has worked with brands as Airbnb, Google, and Apple. Mike is very active on Twitter, where he shares his thoughts on design, politics, and current events. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.44.18.png" class="kg-image" alt loading="lazy" width="1820" height="866" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.44.18.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.44.18.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.44.18.png 1600w, https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.44.18.png 1820w" sizes="(min-width: 720px) 720px"></figure><p>Monteiro also hosts the <a href="https://open.spotify.com/show/6KHqHIbqDmfKCDv1vCwcqu">Let's Make Mistakes podcast</a> and is an accomplished author, having written several books on design, including <em><a href="https://www.ruinedby.design">Ruined by Design: How Designers Destroyed the World, and What We Can Do to Fix It</a></em>. His writing is known for its sharp wit and biting commentary on the state of the design industry. He is a popular keynote speaker at design conferences around the world, where he shares his insights on design ethics and the role of designers in shaping the world we live in.</p><h3 id="19-lessa-hrefhttpswwwlinkedincomindeborahmillmangreaterdebbie-millmanlessagreater">19. <a href="https://www.linkedin.com/in/deborahmillman/">Debbie Millman</a> <a class="markdownit-header-anchor" href="#19-lessa-hrefhttpswwwlinkedincomindeborahmillmangreaterdebbie-millmanlessagreater">🔗</a></h3><p>Debbie Millman is a renowned American graphic designer, author, and educator. <a href="https://debbiemillman.com/bio/">With over 30 years of experience</a> in the design industry, she has made a significant impact on the field and has been recognized for her contributions with numerous awards and accolades. Millman is best known for her work as the host of the popular podcast <a href="https://designmattersmedia.com">Design Matters</a>, which features interviews with some of the most influential designers and creative thinkers in the world.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.49.14.png" class="kg-image" alt loading="lazy" width="2000" height="1040" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.49.14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.49.14.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.49.14.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.49.14.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>In addition to her work as a designer and podcaster, Millman is also a prolific author, with several books to her name, including <em><a href="https://www.amazon.com/Brand-Thinking-Other-Noble-Pursuits/dp/162153247X">Brand Thinking and Other Noble Pursuits</a></em> and <em><a href="https://www.amazon.com/Look-Both-Ways-Illustrated-Intersection/dp/1600613217">Look Both Ways: Illustrated Essays on the Intersection of Life and Design</a></em>. Her writing explores themes at the crossroads of design, branding, and culture, and she is known for her unique insights and thought-provoking ideas.</p><h3 id="20-lessa-hrefhttpswwwlinkedincominpablostanley1greaterpablo-stanleylessagreater">20. <a href="https://www.linkedin.com/in/pablostanley1/">Pablo Stanley</a> <a class="markdownit-header-anchor" href="#20-lessa-hrefhttpswwwlinkedincominpablostanley1greaterpablo-stanleylessagreater">🔗</a></h3><p>One popular UI designer who is very active on social media with his educational content is Pablo Stanley. He is a designer, illustrator, and the co-founder of <a href="https://blush.design/">Blush</a> and <a href="https://www.lummi.ai">Lummi</a>. On social media, Pablo is known for his fun and engaging approach to design education, often using humor and pop culture references to make complex topics more accessible to his audience. He has a large following on <a href="https://x.com/pablostanley?lang=en">Twitter</a> and <a href="https://www.instagram.com/pablostanley/?hl=en">Instagram</a>, where he shares his thoughts on design, creativity, and technology.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.43.05.png" class="kg-image" alt loading="lazy" width="1830" height="854" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.43.05.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.43.05.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.43.05.png 1600w, https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-19.43.05.png 1830w" sizes="(min-width: 720px) 720px"></figure><p>Pablo is also known for creating educational resources such as <a href="https://www.youtube.com/channel/UCZHkx_OyRXHb1D3XTqOidRw">Sketch Together,</a> a series of YouTube videos and live streams that cover a wide range of design topics, from sketching and prototyping to user testing and design systems. Through Sketch Together, Pablo has built a community of designers who share a passion for learning and sharing knowledge. </p><h3 id="21-bonus-lessa-hrefhttpsmobbincomgreatermobbinlessagreater">21.⏹️ Bonus: <a href="https://mobbin.com">Mobbin</a> <a class="markdownit-header-anchor" href="#21-bonus-lessa-hrefhttpsmobbincomgreatermobbinlessagreater">🔗</a></h3><p>Lastly, we want to wrap it up with Mobbin, an amazing tool for UI inspiration. It features a large collection of real-world app designs from popular platforms including Spotify, Notion, and Airbnb, making it easy to explore and learn from the best in the industry. Even with the free version, you can find plenty of design ideas to jump-start your creative process.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/Captura-de-pantalla-2025-05-16-a-las-20.05.27.png" class="kg-image" alt loading="lazy" width="2000" height="1068" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/Captura-de-pantalla-2025-05-16-a-las-20.05.27.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/Captura-de-pantalla-2025-05-16-a-las-20.05.27.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/Captura-de-pantalla-2025-05-16-a-las-20.05.27.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/Captura-de-pantalla-2025-05-16-a-las-20.05.27.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>What makes Mobbin special is how user-friendly and resourceful it is. You can quickly filter through designs, find patterns, draw inspiration ideas that fit your project, and even copy the Figma flows for the designs you like. Many designers, including our Art Director, favor it as a go-to resource for high-quality UI examples.</p><h2 id="final-thoughts">➡️ Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>UI design is a field that’s always changing, which is why learning and staying curious is so important. The blogs, YouTube channels, and books we’ve shared in this guide are packed with ideas, tips, and inspiration to help you grow as a designer. </p><p>However, <strong>remember to treat these resources as inspiration rather than absolute rules</strong>. ☝️ Don’t blindly follow trends; instead, consider practical factors like your time, budget, and other constraints. Always test your designs and stay open to making changes if the first iteration doesn’t meet your expectations. </p><p>The key is to keep learning and experimenting. Don’t be afraid to try new approaches or step outside your comfort zone. A little inspiration can take you a long way when building your products. Once you've produced something people need and use, <a href="https://localazy.com/my/dashboard">make it multilingual with Localazy</a>. </p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/02/top-20-UI-rersources.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Entering the Vietnamese market: Localize to convince in the South Asian region]]></title>
            <link>https://localazy.com/blog/entering-the-vietnamese-market-localize-to-convince-in-vietnam</link>
            <guid isPermaLink="false">entering-the-vietnamese-market-localize-to-convince-in-vietnam</guid>
            <pubDate>Fri, 09 May 2025 06:34:00 GMT</pubDate>
            <description><![CDATA[Over 90M customers and a rapidly growing middle class are waiting for you in Vietnam, one of the standout markets in Southeast Asia. With its high-context culture, indirectness in speech and love for word play, localization is not just a nice-to-have in the region — it's essential to convince. ]]></description>
            <content:encoded><![CDATA[<p><strong>Vietnam is one of Southeast Asia's most promising markets</strong>. With a bustling economy <a href="https://www.dw.com/en/what-is-behind-vietnams-economic-success-story/a-70501290">expected to grow by 6.5% in 2025</a>, it offers immense opportunities for startups, service providers, and creative agencies looking to expand into the area. </p><p>However, it cannot be tackled as just another stop in your expansion journey. While some businesses may see basic translation sufficient, successful penetration into the Vietnamese market requires a more nuanced approach. <strong>Without proper Vietnamese localization, it's not possible to <em>really</em> reach customers</strong>.</p><p>This guide will help you navigate the complicated but rewarding path to Vietnam market entry, including (but not limited to) its high-context culture and <strong>its people’s love for word play, indirectness in speech, and local-to-local uniqueness</strong>, ensuring your brand resonates with native audiences and stands out for the better.</p><h2 id="south-asias-most-promising-market">🏵️ South Asia's most promising market <a class="markdownit-header-anchor" href="#south-asias-most-promising-market">🔗</a></h2><p>Vietnam’s economy has been undergoing remarkable growth in the last decade, making it an attractive destination for investment. With <a href="https://www.eastspring.com/insights/thought-leadership/investing-in-vietnams-middle-income-boom" rel="noopener noreferrer nofollow">a rising middle class</a> and increasing digital adoption, businesses can tap into a consumer base eager for innovative products and services.</p><p>Let’s take a closer look at the main factors driving this growth.</p><h3 id="a-booming-economy">A booming economy <a class="markdownit-header-anchor" href="#a-booming-economy">🔗</a></h3><p>Vietnam is one of the continent's fastest-growing economies, with a robust expansion in the technology, manufacturing, and service sectors. 📈 <strong>The country’s GDP has consistently outperformed many of its regional counterparts</strong>, highlighting its status as a rising star in Southeast Asia. According to the Vietnam’s National Statistics Office, <a href="https://www.gso.gov.vn/en/data-and-statistics/2025/04/report-on-socio-economic-situation-in-quarter-i-in-2025/" rel="noopener noreferrer nofollow"><u>Vietnam’s GDP grew by an impressive 6.93%</u></a> in the first quarter of 2025, positioning it as a top performer in the region and the globe.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/AdobeStock_559997996-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/AdobeStock_559997996-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/AdobeStock_559997996-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/AdobeStock_559997996-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/AdobeStock_559997996-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="young-and-tech-savvy-population">Young and tech-savvy population <a class="markdownit-header-anchor" href="#young-and-tech-savvy-population">🔗</a></h3><p>With a median age of just 30, Vietnam boasts a young, digitally connected population. This demographic is not only comfortable with technology but also increasingly reliant on e-commerce, making it a prime market for digital products and services. Vietnam also has <strong>one of the highest rates of internet penetration in Southeast Asia</strong>, <a href="https://datareportal.com/reports/digital-2024-vietnam#:~:text=There%20were%2078.44%20million%20internet%20users%20in%20Vietnam%20in%20January,January%202023%20and%20January%202024." rel="noopener noreferrer nofollow">with over 70 million active internet users</a>.</p><h3 id="strong-international-trade-relations">Strong international trade relations <a class="markdownit-header-anchor" href="#strong-international-trade-relations">🔗</a></h3><p>Vietnam's openness to foreign investment, bolstered by free trade agreements, creates an ideal environment for businesses looking to expand. The <a href="https://www.worldbank.org/en/news/press-release/2018/03/09/cptpp-brings-vietnam-direct-economic-benefits-and-stimulate-domestic-reforms-wb-report-says">Trans-Pacific Partnership (CPTPP)</a> and the <a href="https://policy.trade.ec.europa.eu/eu-trade-relationships-country-and-region/countries-and-regions/vietnam/eu-vietnam-agreement_en">EU-Vietnam Free Trade Agreement (EVFTA)</a> are just a couple of examples of how Vietnam is positioning itself as a global trade hub. American companies like <a href="https://news.tuoitre.vn/intel-to-expand-investment-in-vietnam-10384675.htm">Intel</a>, <a href="https://www.reuters.com/technology/nvidia-signs-ai-cooperation-agreement-with-vietnamese-government-2024-12-05/">Nvidia</a>, <a href="https://vietnamnews.vn/economy/1716485/viet-nam-emerges-as-key-growth-engine-in-boeing-s-southeast-asia-strategy.html">Boeing</a>, or <a href="https://vir.com.vn/pg-asked-to-help-vietnamese-businesses-join-its-supply-chain-109294.html">P&amp;G Group</a> are already thriving in the country.</p><h3 id="increased-digitalization">Increased digitalization <a class="markdownit-header-anchor" href="#increased-digitalization">🔗</a></h3><p>The pandemic accelerated digital adoption in the country, with <strong>a significant rise in e-commerce</strong>, where the number of users is <a href="https://www.statista.com/outlook/emo/ecommerce/vietnam">expected to reach 36 million by 2029</a>. Localization will be a requisite for businesses that seek to connect with Vietnamese consumers through these channels.</p><h2 id="top-industries-in-vietnam-where-to-focus">⏩ Top industries in Vietnam: where to focus? <a class="markdownit-header-anchor" href="#top-industries-in-vietnam-where-to-focus">🔗</a></h2><p>As Vietnam moves up the value chain, sectors such as manufacturing, tech, and services are not only expanding but also giving rise to a range of supporting and secondary industries. Here are four standout sectors that are gaining momentum:</p><h3 id="tourism-and-hospitality">⛱️ Tourism & Hospitality <a class="markdownit-header-anchor" href="#tourism-and-hospitality">🔗</a></h3><p>Vietnam’s rich culture and stunning destinations draw millions of international visitors each year. Since reopening post-pandemic, the country has seen a <a href="https://vietnam.incorp.asia/hospitality-and-tourism-industry-in-vietnam/">surge in tourism</a> and a wave of fresh investment in its hospitality sector. </p><h3 id="manufacturing">🏭 Manufacturing <a class="markdownit-header-anchor" href="#manufacturing">🔗</a></h3><p>Vietnam has carved out a major role in global production, especially in textiles and electronics. With low labor costs and favorable business policies, it’s become a top pick for companies rethinking their supply chains. As manufacturers move operations out of China, Vietnam is quickly <a href="https://www.vietnam-briefing.com/news/why-is-vietnams-economy-growing-so-fast.html/">taking a larger piece of the global manufacturing pie</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/AdobeStock_670548354.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/AdobeStock_670548354.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/AdobeStock_670548354.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/AdobeStock_670548354.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/AdobeStock_670548354.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="information-technology">📲 Information technology <a class="markdownit-header-anchor" href="#information-technology">🔗</a></h3><p>A <a href="https://technode.global/2024/11/04/discover-vietnam-tech-navigating-vietnams-tech-future-opportunities-and-challenges/">joint report</a> by Google, Temasek, and Bain (2022) projects the Vietnamese digital economy to reach $49 billion by 2025, with an annual growth of 29%. Solid internet access and rising consumer spending are reinforcing this trend, placing Vietnam among the most active digital markets in Southeast Asia. A young, digital-native workforce and rising demand in e-commerce, fintech, and digital payments are proof of it.</p><h3 id="construction">👷 Construction <a class="markdownit-header-anchor" href="#construction">🔗</a></h3><p>Vietnam is building fast. New roads, homes, and city projects are being constructed across the country, advancing its urbanization. <a href="https://www.businesswire.com/news/home/20241014115552/en/Vietnam-Construction-Industry-Report-2024-2028-Emphasis-on-Sustainability-Government-Investment-in-Infrastructure-Major-Infrastructure-Projects-Public-Private-Partnerships---ResearchAndMarkets.com">This growth</a> opens the door for companies with smart, practical solutions. Whether it’s transport, housing, or smart city initiatives, there’s space to get involved and make an impact.</p><blockquote>Many factors are turning Vietnam into a country with huge economic potential, including a rising demand in digital services, a young and digital-native workforce, the rise of urban planning initiatives, a growing touristic interest, and favorable supply chain policies</blockquote><h2 id="the-vietnamese-language">🇻🇳 The Vietnamese language <a class="markdownit-header-anchor" href="#the-vietnamese-language">🔗</a></h2><p><a href="https://hub.localazy.com/en/languages/vi-vietnamese">Vietnamese</a>, <strong>spoken by over 90 million people globally</strong>, is one of Southeast Asia's most prevalent languages. While primarily concentrated in Vietnam, it is also used by <a href="https://public.tableau.com/app/profile/mpi.data.hub/viz/shared/ZYSG6QM42">a significant overseas diaspora</a> <strong>estimated at 5 to 6 million speakers</strong>. </p><p>A tonal language belonging to the Austroasiatic family, Vietnamese has roots intertwined with Chinese and French due to the influences of these countries during their respective rules in the region. The influence of Chinese over the centuries has been especially predominant. During the Ngo Dynasty, Classical <a href="https://hub.localazy.com/en/languages/zh-chinese">Chinese</a> became the primary language for governance, scholarship, and literature in the region, resulting in the widespread integration of Chinese vocabulary into Vietnamese. This combination resulted in the <a href="https://en.wikipedia.org/wiki/Sino-Vietnamese_vocabulary" rel="noopener noreferrer nofollow">Sino-Vietnamese vocabulary</a> (literally translated as <em>“Chinese-Vietnamese words”</em>), which makes up one-third of the Vietnamese lexicon, with formal texts <strong>often containing up to 60% Chinese-based vocabulary</strong>. </p><blockquote>Vietnamese is spoken by over 90 million people as their first language, making it one of the most widely spoken languages in Southeast Asia</blockquote><p>Like many languages in Southeast Asia and East Asia, Vietnamese is highly <a href="https://en.wikipedia.org/wiki/Analytic_language">analytic</a> and <a href="https://en.wikipedia.org/wiki/Tone_(linguistics)">tonal</a>. This means that the language has distinct tones that can alter meanings; for example, the word <em>ma</em> can mean "ghost," <em>mạ</em> ("mother"), <em>mà </em>("but"), or <em>mạ</em> in<em> gieo mạ</em> ("rice seedling"), depending on its tone.</p><h3 id="a-unique-script">A unique script <a class="markdownit-header-anchor" href="#a-unique-script">🔗</a></h3><p>The Vietnamese writing system, also known as <a href="https://en.wikipedia.org/wiki/Vietnamese_alphabet"><strong>chữ Quốc ngữ</strong></a>, is based on the Latin alphabet, including additional characters that represent sounds that are unique to the language. The script was developed in the early 17th century by European Catholic missionaries, notably Alexandre de Rhodes, <a href="https://vietcetera.com/en/why-did-vietnam-adopt-the-latin-alphabet#">who adapted Latin letters</a> and added diacritics to represent Vietnamese tones and sounds, <a href="https://en.wikipedia.org/wiki/Dictionarium_Annamiticum_Lusitanum_et_Latinum">creating his own dictionary</a>. It gradually replaced the complex Chinese-based scripts <a href="https://en.wikipedia.org/wiki/Chữ_Hán">chữ Hán<strong> </strong></a>and <a href="https://en.m.wikipedia.org/wiki/Chữ_Nôm">chữ Nôm</a>, which were difficult to learn and limited to scholars. Promoted by French colonial authorities and Vietnamese reformers in the 19th and early 20th centuries, <strong>chữ Quốc ngữ became the official and dominant script, greatly increasing literacy</strong> and making it the primary way to write Vietnamese today.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/05/AdobeStock_157835938.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1331" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/AdobeStock_157835938.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/AdobeStock_157835938.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/AdobeStock_157835938.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/AdobeStock_157835938.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Many monuments in Vietnam, like the Bich Dong pagoda in Ninh Binh, contain Chinese inscriptions, a language that influenced Vietnamese and the Vietnamese script greatly.</figcaption></figure><p><strong>The accurate handling of diacritics is critical</strong> <strong>for the localization of this script</strong>, since a single missing or misplaced accent mark can alter meaning entirely, potentially causing confusion or offense. Additionally, some fonts or software that aren’t optimized for Vietnamese <strong>may render diacritics improperly</strong>, affecting readability and user trust. Therefore, successful localization in Vietnam requires careful attention to character encoding, font support, and tone accuracy, especially in UI/UX design and automated systems.</p><h3 id="dialects-and-slang">Dialects and slang <a class="markdownit-header-anchor" href="#dialects-and-slang">🔗</a></h3><p>The Vietnamese language <strong>has three primary dialects</strong>. Each dialect has its own vocabulary and pronunciation. Cultural differences also count here since they affect the language usage in every dialect. Particularly, some important differences affect tone and style:</p><ul><li>🛺 <strong>Northern (Hanoi)</strong>:<strong> </strong>This dialect is the basis for standard Vietnamese. It is most frequently used in media, education, and official contexts. Its origin region has an older population on average, with more government presence and traditional institutions, which results in a more formal language use and social structures.</li><li>👘 <strong>Central (Hue, Quang Binh, Quang Tri, Thanh Hoa, Nghe An, Ha Tinh)</strong>: The dialects of the historically poorer and often rural regions are known for their distinct tone and are least mutually intelligible with others, partly due to mountainous isolation. Known for a high degree of regional pride and strong local identity, these are the most distinctive and difficult to grasp of the three.</li><li>🌆 <strong>Southern (Ho Chi Minh City)</strong>: Younger, more urban, and more dynamic economically, this Vietnamese dialect is more casual and relaxed in tone and pronunciation. English influences are more notable since the region has had a greater international exposure due to commerce and historical US presence. This is why it is often considered more accessible and friendly in commercial contexts, especially in marketing.</li></ul><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th><strong>Aspect</strong></th>
<th><strong>Northern</strong></th>
<th><strong>Central</strong></th>
<th><strong>Southern</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>🗣️ <strong>Accent</strong></td>
<td>Considered standard for official use</td>
<td>Most difficult to understand for outsiders</td>
<td>More relaxed and phonetically open</td>
</tr>
<tr>
<td>🎎 <strong>Formality</strong></td>
<td>More formal and traditional</td>
<td>Formal but highly local – poetic and historic</td>
<td>Casual, modern, business-friendly</td>
</tr>
<tr>
<td>📚 <strong>Vocabulary</strong></td>
<td>Influenced by Chinese and French</td>
<td>Rich in local, often archaic vocabulary</td>
<td>Simpler, with many English and foreign loanwords</td>
</tr>
<tr>
<td>🔊 <strong>Pronunciation</strong></td>
<td>Clear tones; full consonant endings</td>
<td>Strong tone; compressed vowels</td>
<td>Looser tones; often drops final consonants</td>
</tr>
<tr>
<td>🎭 <strong>Cultural expression</strong></td>
<td>Conservative and respectful</td>
<td>Deeply cultural, ceremonial, and poetic</td>
<td>Direct, humorous, and expressive</td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p><a href="https://localazy.com/blog/how-to-localize-translate-website-in-three-steps-localazy">For businesses looking to localize effectively</a>, understanding these regional differences is paramount. For example, a simple word as "fork" 🍴can create misunderstandings, as it's called differently in the North (<em>dĩa</em>) and the South (<em>nĩa</em>). The problem gets even messier when the Northern <em>dĩa </em>can be mistaken for the Southern term for "plate"<em> </em>(also pronounced <em>dĩa</em>), which is written as <em>đĩa</em> in the North dialect. We will look into more examples later.</p><h3 id="the-vietnamese-diaspora">The Vietnamese diaspora <a class="markdownit-header-anchor" href="#the-vietnamese-diaspora">🔗</a></h3><p>The largest communities of Vietnamese speakers outside of Vietnam can be found in the <strong>United States</strong>, with <a href="https://www.commerce.gov/news/blog/2023/05/us-census-bureau-releases-key-stats-honor-2023-asian-american-native-hawaiian-and">over 2.3 million Vietnamese-Americans</a>, alongside significant populations in <strong>France, Australia, and <a href="https://journals.sagepub.com/doi/10.1177/00943061231204791ii">Germany</a></strong>. Smaller but historically important communities are also found in Southeast Asia, particularly in <strong><a href="https://www.nytimes.com/interactive/2018/03/28/magazine/cambodia-persecuted-minority-water-refuge.html">Cambodia</a></strong>.</p><p>Overseas Vietnamese continue to maintain strong cultural connections, including the continued use of the language, the observance of traditional festivals such as <a href="https://vietnam.travel/things-to-do/tet-tradition-reunion-taste">Tết</a> (Lunar New Year), and close familial and economic ties. However, <strong>it should be noted that <a href="https://www.academia.edu/43075422/LanHoang_WorkingArticle_Translorial_Spring_2020_Final">they have a significantly different usage</a> of Vietnamese vocabulary, sense of humor, or trending expressions</strong>, as well as diverging political ideas. All should be considered reasonably if any company wants to reach this specifically small but potential sub-market.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/AdobeStock_189758039.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/AdobeStock_189758039.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/AdobeStock_189758039.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/AdobeStock_189758039.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/AdobeStock_189758039.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="8-localization-tips-to-succeed-in-vietnam">🌾 8 localization tips to succeed in Vietnam <a class="markdownit-header-anchor" href="#8-localization-tips-to-succeed-in-vietnam">🔗</a></h2><p>Commonly, Western companies enter the Vietnamese market with misconceptions about its language and culture. They tend to <strong>underestimate cultural differences, misinterpret communication styles, fail to localize their marketing efforts, and misjudge market potential</strong> (e.g., thinking Vietnam is just a third-world country where there's no interest or purchasing power for high-end products). </p><p>They may also <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">think that English can be enough</a> for their first foray into the market and ignore that, even though its influence is growing in urban areas and schools, it has a limited reach outside the major cities (with proficiency rated <a href="https://www.ef.com/wwen/epi/regions/asia/vietnam/">moderate to low</a>). <strong>In business contexts, Vietnamese still takes the lead</strong>.</p><p>These tips can help you avoid following in their footsteps.</p><h3 id="1-pay-attention-to-personal-pronouns">1. Pay attention to personal pronouns <a class="markdownit-header-anchor" href="#1-pay-attention-to-personal-pronouns">🔗</a></h3><p>Vietnamese uses <strong>a variety of personal pronouns that reflect respect and social hierarchy</strong>. Understanding this is essential for effective communication with the local audience. 🧑‍🧒‍🧒 For example, using <em>"anh"</em> (brother) or <em>"chị"</em> (sister) can help create a more personal and respectful connection. Simply translating <em>"</em>you<em>"</em> from English to <em>"bạn" </em>in Vietnamese without considering the context can come across as distant and impersonal. </p><p>In commercial texts or advertisements, this misstep can be especially problematic. Imagine bringing a Western-style advertisement into Vietnam that uses direct phrases like<em> </em>"you" or "I" — you'll quickly realize how important it is to localize your content from the start.</p><h3 id="2-use-local-idioms-and-expressions">2. Use local idioms and expressions <a class="markdownit-header-anchor" href="#2-use-local-idioms-and-expressions">🔗</a></h3><p><strong>Local idioms and expressions can make your content feel more relatable</strong> and natural. For instance, in Vietnam, people typically don’t use "hello" or "good morning" as greetings. If your English source text includes these phrases, consider localizing them to something like <em>“ô, đang làm gì đấy?”</em> ("Hey, what are you doing?"), which is a more common greeting in Vietnamese culture.</p><h3 id="3-pay-attention-to-line-breaks-and-punctuation">3. Pay attention to line breaks and punctuation <a class="markdownit-header-anchor" href="#3-pay-attention-to-line-breaks-and-punctuation">🔗</a></h3><p>In Vietnamese, <strong>punctuation and line breaks can change the meaning of a sentence</strong>. It’s important to use them correctly, as mistakes can cause confusion. For example, in 2012 a government slogan —<em>"Mỗi gia đình hai con, vợ chồng hạnh phúc"</em> ("<a href="https://thanhnien.vn/thieu-dau-phay-tam-bien-co-dong-tuc-da-the-18567282.htm">Two children per family, the wife and husband will be happy</a>") — was accidentally misinterpreted as <em>"Mỗi gia đình hai con vợ chồng hạnh phúc"</em> ("Two wives per family, the husband will be happy"). This happened because a line break was placed incorrectly and there was no punctuation, turning <em>"hai con vợ..."</em> into <em>"two wives...".</em> You can imagine the consequences. <em>🤦🏻‍♀️</em></p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text">In Vietnamese, <em>"vợ"</em> means <em>"wife,"</em> and the phrase<em> "con vợ"</em> refers to<em> "wife"</em> too, leading to the confusion. The correct version with proper punctuation line breaks should be <em>"hai con, vợ…"</em> which means <em>"two kids, the wife…"</em></div></div><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/AdobeStock_497967371.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/AdobeStock_497967371.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/AdobeStock_497967371.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/AdobeStock_497967371.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/AdobeStock_497967371.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-consider-word-expansion">4. Consider word expansion <a class="markdownit-header-anchor" href="#4-consider-word-expansion">🔗</a></h3><p>Vietnamese translations <strong>can be up to 30% longer than English</strong>, so it's important to choose words carefully. For example, a message that fits on one line in English may take two or three lines in Vietnamese. 🎓 The word<em> </em>“university” is one word in English, but in Vietnamese, it’s “<em>đại học</em>,” which is two words. </p><p>If the message is aimed at older people, <strong>you may need extra words to show respect</strong>. For example, in a 2011 advert for Rejoice shampoo with Miss Vietnam Mai Phuong Thuy, the line <em>"À không, chỉ là Rejoice"</em> ("Oh, no, just Rejoice") should have been changed to <em>"Dạ, không phải đâu ạ, con chỉ dùng dầu gội Rejoice thôi"</em> (<em>"Dạ"</em> and <em>"ạ"</em> are used for politeness, and <em>"con"</em> shows respect). This detail looks small, but it <a href="https://giaoduc.net.vn/cac-ba-me-choang-vi-clip-quang-cao-cua-mai-phuong-thuy-post6744.gd">caused outrage in the community</a> because the statement sounded offensive. </p><h3 id="5-avoid-literal-translations">5. Avoid literal translations <a class="markdownit-header-anchor" href="#5-avoid-literal-translations">🔗</a></h3><p>The tonal nature of Vietnamese means that direct translations may not convey intended meanings. This makes working with skilled translators who understand the culture a must. <strong>Literal translations can lead to confusion, as they often miss the context and emotion behind the message</strong>. </p><p>For example, the <strong>KFC</strong> tagline in English is "Finger-lickin' good", and the literal Vietnamese translation for it is<em> </em>"<em>Ngon đến liếm ngón tay.</em>" While technically accurate, this can sound odd or even unappetizing to Vietnamese audiences, since phrases involving licking fingers might evoke imagery that's not culturally appealing. It might even be seen as unsanitary or unrefined, clashing with local dining norms. To achieve a culturally appropriate Vietnamese translation, KFC Vietnam <a href="https://www.facebook.com/KFCVietnam/posts/kfc-v%E1%BB%8B-ngon-tr%C3%AAn-t%E1%BB%ABng-ng%C3%B3n-tay-/1147226395309605/" rel="noopener noreferrer nofollow">adapted the slogan</a> to: "<em>Vị ngon trên từng ngón tay</em>" (meaning: "Delicious taste on each finger"), making it a great example of localization for this market.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/KFC-Vietnam.png" class="kg-image" alt loading="lazy" width="690" height="681" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/KFC-Vietnam.png 600w, https://ghost.localazy.com/content/images/2025/05/KFC-Vietnam.png 690w"></figure><h3 id="6-let-culture-guide-your-design">6. Let culture guide your design <a class="markdownit-header-anchor" href="#6-let-culture-guide-your-design">🔗</a></h3><p>UX design needs to match local preferences. In Vietnam, that means<strong> focusing on mobile-first design, local imagery, and interfaces that reflect Vietnamese tastes</strong>. The <a href="https://shopee.vn"><strong>Shopee</strong></a> platform is a solid example of this. Most internet users in Vietnam go online using their smartphones instead of desktop computers. Shopee's app was built with that in mind — it's light, loads quickly, and works well even on older phones or with slow connections.</p><p>Shopee also includes Vietnamese cultural elements in its design. During certain seasons, like Tet (Lunar New Year), the app features banners with red and yellow tones, which represent luck and prosperity in Vietnamese culture. It even adds features like a digital 💰<em>“lì xì”</em> (lucky money) system. <strong>These small touches help users feel recognized and understood</strong>.</p><p>Vietnamese consumers often <strong>love gamified experiences</strong>, so Shopee uses features like “<em>Shake &amp; Win</em>” and mini-games to keep people engaged and offer fun rewards. All of this shows how customizing your UX design to local habits and culture, from mobile-friendly layouts to visuals and features with cultural meaning, can build stronger connections and impact loyalty. It turns a standard app into something that feels made just for them.</p><blockquote>Small touches in your user experience, like referencing cultural events, going mobile-first, or gamifying some features, can made your Vietnamese users feel recognized and understood</blockquote><h3 id="7-use-the-right-tone-depending-on-the-audience">7. Use the right tone depending on the audience <a class="markdownit-header-anchor" href="#7-use-the-right-tone-depending-on-the-audience">🔗</a></h3><p><strong>Respect and formality are key parts of communication in Vietnam</strong>. These values shape how messages are received, especially in marketing. When you use a respectful and formal tone, people are more likely to trust what you say. This is especially true when speaking to older adults or people in leadership roles. Formal language shows you understand and respect their place in society.</p><p>If your message is for younger people or meant to entertain, a casual style often works better. It feels more natural and helps you connect. The key is to adjust your language based on who you are talking to. When your tone matches your audience, your message becomes more effective and feels more thoughtful.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/AdobeStock_328641369-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/AdobeStock_328641369-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/AdobeStock_328641369-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/AdobeStock_328641369-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/AdobeStock_328641369-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="8-provide-suitable-payment-methods">8. Provide suitable payment methods <a class="markdownit-header-anchor" href="#8-provide-suitable-payment-methods">🔗</a></h3><p>Vietnamese consumers <strong>often prefer cash on delivery and local digital wallets over credit cards</strong>. <a href="https://english.thesaigontimes.vn/momo-and-zalopay-dominate-cashless-payments-in-vietnam/">Services like MoMo and ZaloPay</a> are widely trusted and used across the country. If your business doesn’t support these options, you risk losing potential customers.</p><h2 id="mistakes-to-avoid-in-vietnamese-localization">🚨 Mistakes to avoid in Vietnamese localization <a class="markdownit-header-anchor" href="#mistakes-to-avoid-in-vietnamese-localization">🔗</a></h2><p>When you localize your business for the Vietnam ecosystem, it’s easy to make mistakes that could harm your success. Here are some things you should avoid:</p><ul><li><strong>❌ Relying too much on English</strong>:<strong> </strong>Many Vietnamese understand basic English, but using it as your main language can turn people away. To connect with local audiences, Vietnamese should be the primary language for marketing and communication.</li><li><strong>❌ Ignoring local dialects</strong>: Vietnam has clear regional differences in language across the North, Central, and South. Not recognizing these can lead to confusion and weaken your brand. <a href="https://localazy.com/blog/why-and-how-to-provide-local-expertise-to-foreign-clients/">Working with local experts</a> helps you avoid mistakes and connect better with your audience.</li><li><strong>❌ Ignoring regional purchasing habits</strong>: In Vietnam, people often prioritize family-oriented messaging over individual appeal, especially when shopping for household items. Word-of-mouth is powerful, and recommendations from friends, family, or local influencers carry more weight than celebrity endorsements. Bargaining is common, and discounts or deals matter, even in formal retail. Meanwhile, Western consumers tend to value individual benefits, expert reviews, and fixed pricing. Failing to adapt to these habits can damage trust and reduce engagement. </li></ul><blockquote>Word-of-mouth, family oriented-messaging and discounts matter in Vietnam — ignoring these habits can impact your success in the country</blockquote><h3 id="a-real-life-example-that-worked-in-vietnam">A real-life example that worked in Vietnam <a class="markdownit-header-anchor" href="#a-real-life-example-that-worked-in-vietnam">🔗</a></h3><p>A <a href="https://www.mmaglobal.com/case-study-hub/case_studies/view/80394">strong example</a> is <strong>P&amp;G’s Head &amp; Shoulders</strong> 2021 campaign in Vietnam, where the brand turned common mispronunciations of its brand name into fun, relatable ads. Instead of opting for generic marketing, they partnered with local influencers from different regions to create a viral video that celebrated these differences. <strong>By adjusting the language, visuals, and product messaging to match local preferences, the campaign resonated across the country</strong>. This approach helped Head &amp; Shoulders compete with <strong>Clear</strong> and <a href="https://retailasia.com/co-written-partner/event-news/pg-vietnam-wins-digital-marketing-strategy-year-vietnam-award-revamped-head-shoulders-brand">earned P&amp;G the Digital Marketing Strategy of the Year – Vietnam award</a>.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/lX27s0_D_qA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="TRĂM CÁCH HÁT TÊN, MỘT CÁCH SẠCH GÀU"></iframe></figure><h2 id="suggestions-for-your-marketing-strategy">⏩ Suggestions for your marketing strategy <a class="markdownit-header-anchor" href="#suggestions-for-your-marketing-strategy">🔗</a></h2><p>Global brands that succeed in Vietnam often do so by adapting to local culture. <strong>McDonald’s</strong>, for example, <a href="https://www.yahoo.com/news/im-american-tried-vietnamese-mcdonalds-115500872.html?guccounter=1">introduced items like the "McPork" burger and Vietnamese chicken sandwich to match local tastes</a>, creating a menu that feels familiar to local diners. <strong>Unilever</strong> <a href="https://www.bloomberg.com/news/articles/2020-07-02/unilever-cuts-fair-from-name-of-whitening-cream-after-backlash?embedded-checkout=true">renamed</a> its <em>“Fair &amp; Lovely”</em> product to <em>“Glow &amp; Lovely”</em> to reflect Vietnamese beauty standards that value healthy, radiant skin over fairness. Taking inspiration from these examples, here are five strategies to localize your brand effectively in Vietnam:</p><h3 id="1-work-with-local-influencers">1. Work with local influencers <a class="markdownit-header-anchor" href="#1-work-with-local-influencers">🔗</a></h3><p>Teaming up with Vietnamese influencers can boost visibility and build stronger consumer trust. <strong>Influencers who connect with both local audiences and the diaspora help brands feel more authentic and relatable</strong>. <a href="https://www.slideshare.net/slideshow/communication-review-share-a-coke-2014-coca-cola/43813494">Coca-Cola’s 2015 <em>“Share a Coke”</em> campaign</a> in Vietnam is a strong example. The brand partnered with local celebrities and KOLs (Key Opinion Leaders) to create personalized content, such as <a href="https://www.youtube.com/watch?v=GxfxsD-xEDI">sharing bottles with their names</a> and celebrating friendship. This tapped into the cultural importance of community and personal connections, making the campaign widely successful among young consumers.</p><h3 id="2-build-a-strong-local-social-media-presence">2. Build a strong local social media presence <a class="markdownit-header-anchor" href="#2-build-a-strong-local-social-media-presence">🔗</a></h3><p>Vietnamese users are highly active on platforms like Facebook, Instagram, TikTok, and especially <strong>Zalo</strong>. As of 2024, <a href="https://www.vietnam.vn/en/zalo-la-nen-tang-nhan-tin-duoc-yeu-thich-nhat-viet-nam-trong-nam-2024">Zalo leads as the country’s top messaging app with 80%</a> penetration, outpacing Facebook and Messenger. Its wide use in daily life, from shopping to customer support and even government services, makes it a must for any brand entering the market. Creating localized content that taps into local trends and cultural moments on Zalo can boost engagement. With widespread smartphone use and low-cost internet, social media (especially Zalo) is a core channel for building brand awareness and customer relationships.</p><blockquote>Zalo is a must for brands building a social media presence in Vietnam. It's widely used for communication, shopping, and even government services</blockquote><h3 id="3-host-and-sponsor-local-events">3. Host and sponsor local events  <a class="markdownit-header-anchor" href="#3-host-and-sponsor-local-events">🔗</a></h3><p>Connecting with Vietnamese communities <a href="https://www.vietnam-briefing.com/news/significant-cultural-events-and-doing-business-in-vietnam.html/">through local events and sponsorships</a> can boost brand visibility and trust. Celebrations like Tet and the <a href="https://www.aodaifestival.net">Ao Dai Festival </a>offer brands a chance to engage with rich cultural traditions through art, performances, and exhibitions. Sponsoring such events not only demonstrates commitment to the local market but also <strong>aligns the brand with heritage and national pride</strong>. Events like the <a href="https://itehcmc.travel/about-ite-hcmc/">Ho Chi Minh City International Tourism Expo</a> attract wide audiences, making them ideal for building recognition while supporting the community.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/AdobeStock_679700687.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/AdobeStock_679700687.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/AdobeStock_679700687.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/AdobeStock_679700687.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/AdobeStock_679700687.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-offer-support-that-feels-local-and-personal">4. Offer support that feels local and personal <a class="markdownit-header-anchor" href="#4-offer-support-that-feels-local-and-personal">🔗</a></h3><p>When it comes to customer support, make sure you <a href="https://js.vnu.edu.vn/EAB/article/view/354">offer it in Vietnamese</a>, not just through translation, but by truly understanding how people in Vietnam prefer to communicate. Train your team (whether in-house or outsourced) to be familiar with local customs, polite forms of address, and common concerns. Many <strong>Vietnamese customers</strong> <strong>expect fast responses, a friendly tone, and clear explanations</strong>. It's also helpful to support popular local platforms like Zalo for messaging. The more familiar and relatable your support feels, the more likely customers are to come back and recommend your brand. </p><h3 id="5-make-an-effort-to-understand-customers-behaviors">5. Make an effort to understand customers' behaviors <a class="markdownit-header-anchor" href="#5-make-an-effort-to-understand-customers-behaviors">🔗</a></h3><p>To connect with Vietnamese consumers, it helps to understand what drives their decisions. <strong>Many <a href="https://vietnaminsiders.com/cautious-consumers-hope-to-ride-out-financial-turbulence/">are becoming more financially cautious</a></strong>, often prioritizing saving and low-risk investments. This means they’re more likely to trust brands that focus on safety, clarity, and long-term value.</p><p>Shopping habits are also changing. <strong><em>Shoppertainment</em> is taking off, especially on platforms like TikTok</strong>, where buying is mixed with entertainment. Some good points to adapt here involve livestreaming shopping events, using product demos, and producing influencer-led content. These work better than traditional ads.</p><p>Dining is another area where preferences are shifting. <strong>Wealthier consumers are willing to pay more for premium dining experiences</strong>. Restaurants and F&amp;B brands that offer exclusivity, perks, or special promotions can appeal to this segment.</p><p>Lastly, <strong>Gen Z is starting to step back from constant social media use</strong>,<strong> </strong>with many saying they’re planning to leave at least one platform. To reach them, brands need to focus less on loud promotion and more on honest, thoughtful, and low-pressure messaging that sticks. <strong>Focus on making your brand memorable rather than being everywhere</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/05/AdobeStock_298170851.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2025/05/AdobeStock_298170851.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/05/AdobeStock_298170851.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/05/AdobeStock_298170851.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/05/AdobeStock_298170851.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="grow-your-business-in-vietnam-with-localazy">🛶 Grow your business in Vietnam with Localazy <a class="markdownit-header-anchor" href="#grow-your-business-in-vietnam-with-localazy">🔗</a></h2><p>Expanding into Vietnam is a great chance for businesses looking to reach a growing and dynamic market and invest in localization for Southeast Asia. But to connect with Vietnamese consumers, you have to understand their culture, language, and buying preferences.</p><p>With Localazy, you get more than just translations or a TMS. We help ensure your brand speaks the language of your audience, from text to visuals. <a href="https://localazy.com/features/figma-localization-plugin/">Our Figma plugin </a>makes it easy to adapt your designs, and <a href="https://localazy.com/features/continuous-localization-team/">our continuous localization process</a> helps keep everything on track with the help of native linguists. If you’re ready to take the first step, <a href="https://localazy.com/contact/">contact us</a> and<strong> let's make your brand feel at home in Vietnam</strong>. </p>]]></content:encoded>
            <author>Lan Hoang Bao</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/VI.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[10 helpful Webflow apps for software developers in 2025]]></title>
            <link>https://localazy.com/blog/top-10-plugins-for-webflow-making-developers-lifes-easier</link>
            <guid isPermaLink="false">top-10-plugins-for-webflow-making-developers-lifes-easier</guid>
            <pubDate>Sat, 16 Aug 2025 14:14:45 GMT</pubDate>
            <description><![CDATA[Development platforms have turned website building into a much easier task these days, but they still have limitations. Adding third-party plugins is a great solution. These are our favorites for Webflow users.]]></description>
            <content:encoded><![CDATA[<p>Not too long ago, if you wanted to build a website, you had to write code or depend on a developer. Platforms like Webflow changed this by letting designers and developers build attractive, functional websites visually, with much less coding involved. But even with Webflow’s visual approach,<strong> you might sometimes hit limitations</strong>. Maybe you want to add a special feature or customize something beyond the basics. </p><p><strong>That’s where third-party apps become really useful</strong>. They expand what Webflow offers, simplify your workflow, and open up more creative possibilities. These ten tools will speed up your work, enhance interactivity, and make building your next site easier.</p><blockquote>💬 Looking for a Webflow localization app? Don't look further: <a href="https://localazy.com/blog/how-to-translate-webflow-websites-with-localazy">translate your sites with Localazy's plugin</a></blockquote><h2 id="1-lessa-hrefhttpswebflowcomappsdetailjetboostgreaterjetboostlessagreater">1. <a href="https://webflow.com/apps/detail/jetboost">Jetboost</a> <a class="markdownit-header-anchor" href="#1-lessa-hrefhttpswebflowcomappsdetailjetboostgreaterjetboostlessagreater">🔗</a></h2><h3 id="dynamic-filtering-search-and-favoriting">Dynamic filtering, search, and favoriting <a class="markdownit-header-anchor" href="#dynamic-filtering-search-and-favoriting">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong>Best for:</strong> Advanced search and filtering without custom code.</div></div><p>As a developer, you can understand how difficult it can be to design a site that’s both functional and easy for users to navigate. You need to make it easier for users to find their way around. That’s where Jetboost can help. With <strong>real-time filtering, fast search, and the ability for users to favorite content</strong>, Jetboost streamlines content discovery on your Webflow site. For CMS-driven sites like blogs, directories, or e-commerce stores, this works really well. The best part? Jetboost integrates directly with Webflow’s CMS, so you don’t need to write any extra code or deal with complex setups.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/04/Screenshot-from-Jetboost-CMS-Dynamic-Filters-Demo.png" class="kg-image" alt="Screenshot showing Jetboost’s dynamic filtering feature with radio button options for tags" loading="lazy" width="1842" height="815" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/Screenshot-from-Jetboost-CMS-Dynamic-Filters-Demo.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/Screenshot-from-Jetboost-CMS-Dynamic-Filters-Demo.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/04/Screenshot-from-Jetboost-CMS-Dynamic-Filters-Demo.png 1600w, https://ghost.localazy.com/content/images/2025/04/Screenshot-from-Jetboost-CMS-Dynamic-Filters-Demo.png 1842w" sizes="(min-width: 720px) 720px"></figure><h2 id="2-lessa-hrefhttpswebflowcomappsdetailmemberstackgreatermemberstacklessagreater">2. <a href="https://webflow.com/apps/detail/memberstack">Memberstack</a> <a class="markdownit-header-anchor" href="#2-lessa-hrefhttpswebflowcomappsdetailmemberstackgreatermemberstacklessagreater">🔗</a></h2><h3 id="user-authentication-and-membership-management">User authentication and membership management <a class="markdownit-header-anchor" href="#user-authentication-and-membership-management">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong>Best for:</strong> Adding login systems and gated content.</div></div><p>Memberstack adds user authentication, membership management, and payment processing to Webflow sites. Visitors can log in with email or social accounts like Google, Facebook, LinkedIn, GitHub, and Spotify, which makes the process easier for everyone. With Memberstack, <strong>you can control access to content, manage subscriptions, and create different membership tiers</strong>, all without complicated coding. Setting up the tool is straightforward. It also includes clear documentation to guide you through the process.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/04/Screenshot-from-memberstack.png" class="kg-image" alt="The Memberstack dashboard displaying a test member's profile with options to edit custom fields, email address, and member details." loading="lazy" width="1432" height="767" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/Screenshot-from-memberstack.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/Screenshot-from-memberstack.png 1000w, https://ghost.localazy.com/content/images/2025/04/Screenshot-from-memberstack.png 1432w" sizes="(min-width: 720px) 720px"></figure><h2 id="3-lessa-hrefhttpswebflowcomappsdetailwizedgreaterwizedlessagreater">3. <a href="https://webflow.com/apps/detail/wized">Wized</a> <a class="markdownit-header-anchor" href="#3-lessa-hrefhttpswebflowcomappsdetailwizedgreaterwizedlessagreater">🔗</a></h2><h3 id="backend-for-dynamic-applications">Backend for dynamic applications <a class="markdownit-header-anchor" href="#backend-for-dynamic-applications">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong>Best for:</strong> Connecting Webflow to external databases and APIs.</div></div><p>Wized connects Webflow to external databases and APIs, turning it into a platform for building data-driven applications. This makes it easy to <strong>generate custom dashboards, marketplaces, and CRM systems</strong> while using Webflow for the front end. Wized’s visual editor helps you add complex features like user authentication and payment systems without the need for heavy coding. It also includes tools for managing dynamic content and using custom JavaScript to improve the interactivity and responsiveness of your site.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/04/Screenshot-from-wized-dashboard-1.png" class="kg-image" alt="The Listify app interface displaying a to-do list item being edited in the Webflow editor, with options for visibility, custom attributes, and search index settings." loading="lazy" width="1662" height="742" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/Screenshot-from-wized-dashboard-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/Screenshot-from-wized-dashboard-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/04/Screenshot-from-wized-dashboard-1.png 1600w, https://ghost.localazy.com/content/images/2025/04/Screenshot-from-wized-dashboard-1.png 1662w" sizes="(min-width: 720px) 720px"></figure><h2 id="4-lessa-hrefhttpsfinsweetcomattributesgreaterfinsweet-attributeslessagreater">4. <a href="https://finsweet.com/attributes">Finsweet Attributes</a> <a class="markdownit-header-anchor" href="#4-lessa-hrefhttpsfinsweetcomattributesgreaterfinsweet-attributeslessagreater">🔗</a></h2><h3 id="advanced-customization-without-code">Advanced customization without code <a class="markdownit-header-anchor" href="#advanced-customization-without-code">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong>Best for:</strong> Extending Webflow’s capabilities with powerful add-ons</div></div><p>Finsweet Attributes provides tools that integrate directly with Webflow to add advanced features without the need for custom code. <strong>It includes options for CMS filtering, sorting, and nesting, as well as converting CMS items into sliders or tabs to organize content better</strong>. This toolset is lightweight, modular, and designed to maintain site speed.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/04/Screenshot-from-finsweet-attributes.png" class="kg-image" alt="Finsweet’s directory of Webflow components, displaying options for features like read time, custom favicons, and counting items in a CMS Collection List." loading="lazy" width="1451" height="837" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/Screenshot-from-finsweet-attributes.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/Screenshot-from-finsweet-attributes.png 1000w, https://ghost.localazy.com/content/images/2025/04/Screenshot-from-finsweet-attributes.png 1451w" sizes="(min-width: 720px) 720px"><figcaption>Finsweet's directory of Webflow components.</figcaption></figure><h2 id="5-lessa-hrefhttpswebflowcomlibrariesdetailrelume-library-litegreaterrelume-librarylessagreater">5. <a href="https://webflow.com/libraries/detail/relume-library-lite">Relume Library</a> <a class="markdownit-header-anchor" href="#5-lessa-hrefhttpswebflowcomlibrariesdetailrelume-library-litegreaterrelume-librarylessagreater">🔗</a></h2><h3 id="speed-up-ui-development">Speed up UI development <a class="markdownit-header-anchor" href="#speed-up-ui-development">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong>Best for:</strong> Accelerating the design process with pre-built components.</div></div><p>Relume Library is a wide range of pre-designed Webflow components that help speed up the UI development process. From buttons and navigation menus to full-page layouts, you get ready-made elements that are easy to customize. These components follow Webflow’s best practices, so you save time without losing quality or losing consistency across projects.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/04/Screenshot-from-relume.png" class="kg-image" alt="Relume’s Webflow Library page displaying available components, with options to filter by category and access plans, including a free trial for 7 days." loading="lazy" width="1887" height="887" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/Screenshot-from-relume.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/Screenshot-from-relume.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/04/Screenshot-from-relume.png 1600w, https://ghost.localazy.com/content/images/2025/04/Screenshot-from-relume.png 1887w" sizes="(min-width: 720px) 720px"></figure><h2 id="6-lessa-hrefhttpswebflowcomappsdetailstorychiefgreaterstorychieflessagreater">6. <a href="https://webflow.com/apps/detail/storychief">StoryChief</a> <a class="markdownit-header-anchor" href="#6-lessa-hrefhttpswebflowcomappsdetailstorychiefgreaterstorychieflessagreater">🔗</a></h2><h3 id="content-marketing-automation">Content marketing automation <a class="markdownit-header-anchor" href="#content-marketing-automation">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong>Best for:</strong> Scheduling content and SEO optimization.</div></div><p>StoryChief makes it easy to create and publish content on Webflow.<strong> You can draft, optimize, and publish articles directly from the platform</strong>. The tool provides helpful SEO insights to improve your content's search engine ranking, such as readability, keyword suggestions and other SEO factors. StoryChief <strong>also automates sharing your content across social media</strong>, saving time and boosting engagement. This tool is perfect for businesses that focus on content marketing and want a simple way to manage their online presence. Apart from that, the platform also offers collaboration tools for teams, with options for task assignments, feedback, and approval workflows.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/04/Screenshot-from-story-chief.png" class="kg-image" alt="StoryChief's product page displaying various content management features including content calendar, content campaigns, AI marketing agent, and SEO copywriting." loading="lazy" width="1797" height="896" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/Screenshot-from-story-chief.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/Screenshot-from-story-chief.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/04/Screenshot-from-story-chief.png 1600w, https://ghost.localazy.com/content/images/2025/04/Screenshot-from-story-chief.png 1797w" sizes="(min-width: 720px) 720px"></figure><h2 id="7-lessa-hrefhttpswebflowcomappsdetailsemflowgreatersemflowlessagreater">7. <a href="https://webflow.com/apps/detail/semflow">Semflow</a> <a class="markdownit-header-anchor" href="#7-lessa-hrefhttpswebflowcomappsdetailsemflowgreatersemflowlessagreater">🔗</a></h2><h3 id="seo-optimization">SEO optimization <a class="markdownit-header-anchor" href="#seo-optimization">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong>Best for:</strong> Improving SEO without external plugins.</div></div><p>Semflow helps optimize websites on Webflow and Framer for search engines. It provides <strong>real-time audits, AI-powered meta generation, and specific recommendations for improving your SEO</strong>. The tool also provides you with <strong>a content health overview</strong>, showing you which pages need attention. It works directly within your platform, so you can fix SEO issues without jumping between tools.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/04/Screenshot-from-semflow.png" class="kg-image" alt="Semflow homepage displaying its SEO tool for Webflow and Framer, with a &quot;Try It Free&quot; button and statistics about downloads." loading="lazy" width="1555" height="888" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/Screenshot-from-semflow.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/Screenshot-from-semflow.png 1000w, https://ghost.localazy.com/content/images/2025/04/Screenshot-from-semflow.png 1555w" sizes="(min-width: 720px) 720px"></figure><h2 id="8-lessa-hrefhttpswebflowcomappsdetailnocodelyticsgreaternocodelyticslessagreater">8. <a href="https://webflow.com/apps/detail/nocodelytics">Nocodelytics</a> <a class="markdownit-header-anchor" href="#8-lessa-hrefhttpswebflowcomappsdetailnocodelyticsgreaternocodelyticslessagreater">🔗</a></h2><h3 id="analytics-without-code">Analytics without code <a class="markdownit-header-anchor" href="#analytics-without-code">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong>Best for:</strong> Tracking user engagement and behavior.</div></div><p>Nocodelytics is an analytics tool for Webflow sites that tracks user interactions without the need for coding. <strong>It provides data on clicks, searches, and engagement with CMS items</strong>, with clear visual charts that provide insights into search behavior and the most popular CMS items. <strong>It helps you understand how visitors engage with your content </strong>and improve user experience.</p><blockquote>🎙️ You've heard of UX, but what about DX/DevEx? Listen to <a href="https://localazy.com/blog/s01-ep-06-bridging-the-gap-podcast">this episode of the Bridging the Gap podcast</a>, where we discuss the importance of focusing on developer experience.</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/04/Screenshot-from-nocodelytics.png" class="kg-image" alt="Nocodelytics dashboard displaying analytics for a Webflow site, including graphs for recipe views, clicks, and search data." loading="lazy" width="1645" height="866" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/Screenshot-from-nocodelytics.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/Screenshot-from-nocodelytics.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/04/Screenshot-from-nocodelytics.png 1600w, https://ghost.localazy.com/content/images/2025/04/Screenshot-from-nocodelytics.png 1645w" sizes="(min-width: 720px) 720px"></figure><h2 id="9-lessa-hrefhttpswebflowcomappsdetailoutsetagreateroutsetalessagreater">9. <a href="https://webflow.com/apps/detail/outseta">Outseta</a> <a class="markdownit-header-anchor" href="#9-lessa-hrefhttpswebflowcomappsdetailoutsetagreateroutsetalessagreater">🔗</a></h2><h3 id="crm-billing-and-subscription-management">CRM, billing, and subscription management <a class="markdownit-header-anchor" href="#crm-billing-and-subscription-management">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong>Best for:</strong> Managing SaaS business transactions.</div></div><p>Outseta is an all-in-one platform that combines CRM, billing, subscription management, and customer support, tailored for SaaS and membership-based businesses. It allows you to <strong>manage user accounts, automate subscription payments, and set up different pricing plans</strong> without relying on multiple third-party tools. Outseta also includes <strong>tools for email marketing, in-app messaging, and analytics</strong> to enhance user engagement and business operations.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/04/Screenshot-from-outsetta.png" class="kg-image" alt="Outseta dashboard displaying key metrics, including unique logins, people created, billing details, and activity updates for a SaaS business." loading="lazy" width="1780" height="897" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/Screenshot-from-outsetta.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/Screenshot-from-outsetta.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/04/Screenshot-from-outsetta.png 1600w, https://ghost.localazy.com/content/images/2025/04/Screenshot-from-outsetta.png 1780w" sizes="(min-width: 720px) 720px"></figure><h2 id="10-lessa-hrefhttpswebflowcomappsdetailslatergreaterslaterlessagreater">10. <a href="https://webflow.com/apps/detail/slater">Slater</a> <a class="markdownit-header-anchor" href="#10-lessa-hrefhttpswebflowcomappsdetailslatergreaterslaterlessagreater">🔗</a></h2><h3 id="ai-powered-code-injection"> AI-powered code injection <a class="markdownit-header-anchor" href="#ai-powered-code-injection">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong>Best for:</strong> Adding JavaScript and CSS efficiently.</div></div><p>This AI-powered code editor is designed to overcome the limitations of Webflow's native custom code features. <strong>It helps developers add custom JavaScript and CSS without needing external hosting</strong>. As the tool works directly with the Webflow platform, adding advanced features like custom animations, interactions, or other functionalities becomes easier.<strong> Slater eliminates Webflow’s character limits for custom code</strong>, which gives developers the flexibility to implement more complex code. The tool also includes <strong>a real-time preview feature</strong>, so changes appear immediately without needing to republish the site, and multiple team collaboration tools.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/04/Screenshot-from-slater.png" class="kg-image" alt="Slater platform interface displaying JavaScript code for pagination and integration with Webflow, with options for saving and editing." loading="lazy" width="1723" height="892" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/Screenshot-from-slater.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/Screenshot-from-slater.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/04/Screenshot-from-slater.png 1600w, https://ghost.localazy.com/content/images/2025/04/Screenshot-from-slater.png 1723w" sizes="(min-width: 720px) 720px"></figure><h2 id="closing-notes">✔️ Closing notes <a class="markdownit-header-anchor" href="#closing-notes">🔗</a></h2><p>Webflow is a great platform for building websites, but <strong>with the right apps, it becomes even more powerful</strong>. 💪 These tools make it easier to manage content and transactions, improve user interactions, optimize SEO, and work better as a team. Whether you're a designer, developer, or marketer, these apps give you more control and flexibility.</p><p>Which ones will you try? Let us know in the comments!</p>]]></content:encoded>
            <author>Waqas Nazeer</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/04/Webflow-10WFapps.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Can LLMs translate Arabic accurately? We put 8 of them to the test]]></title>
            <link>https://localazy.com/blog/ai-8-llm-arabic-models-tested-to-translate</link>
            <guid isPermaLink="false">ai-8-llm-arabic-models-tested-to-translate</guid>
            <pubDate>Fri, 15 Aug 2025 08:44:28 GMT</pubDate>
            <description><![CDATA[Everyone is using LLMs for almost anything. But are they any good for the nuances of Arabic localization? And what are some worth considering for this scenario? Let's find out.]]></description>
            <content:encoded><![CDATA[<p>Large Language Models are the hottest topic in the localization industry today. While some Natural Language Processing (NLP) tools <a href="https://localazy.com/blog/the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models">are suitable for some languages</a>, many are not sufficiently trained for <a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand">Arabic localization</a>, which presents unique and complex challenges that stretch their current capabilities.</p><p>Despite having a massive base of <a href="https://hub.localazy.com/en/languages/ar-arabic">+400 million speakers worldwide</a> (spanning the Arab world and other regions, being the official language in more than 26 nations, and having an extensive literary history), Arabic often acts like a language with limited resources when training LLMs for tasks like localization. </p><p><strong>This isn't because Arabic text is scarce</strong>, but rather due to a mix of linguistic, cultural, and technical issues that make it difficult to generate the data LLMs need to function effectively. That’s why Arabic is considered <a href="https://localazy.com/dictionary/low-resource-languages">a low-resource language</a>.</p><blockquote><em>Despite being spoken by 400+ million people worldwide, Arabic often acts as a low-resource language for LLMs. This isn't because Arabic text is scarce, but rather because the mix of linguistic, cultural, and technical issues makes it difficult to generate the data needed</em></blockquote><p>However, because of the current improvements, a light at the end of the seemingly dark tunnel can be seen. <strong>Could LLMs improve exponentially to be able to tackle Arabic?</strong> We'll explore this in the article — but first, let's find out why Arabic is so hard to translate for them. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/AdobeStock_264556558.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/AdobeStock_264556558.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/AdobeStock_264556558.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/AdobeStock_264556558.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/03/AdobeStock_264556558.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="why-is-arabic-considered-low-resource-for-llms">📜 Why is Arabic considered low-resource for LLMs? <a class="markdownit-header-anchor" href="#why-is-arabic-considered-low-resource-for-llms">🔗</a></h2><p>There are a few good reasons behind Arabic being considered a low-resource language. They include factors <strong>from dialect differences to complicated morphology and </strong><a href="https://hub.localazy.com/en/scripts/arab-arabic"><strong>its unique script</strong></a>. </p><h3 id="dialects-and-variations">Dialects & variations <a class="markdownit-header-anchor" href="#dialects-and-variations">🔗</a></h3><p>Arabic exhibits <a href="https://localazy.com/dictionary/diglossia">diglossia</a>, meaning it has two forms: <strong>Modern Standard Arabic (MSA)</strong> for formal use and <strong>numerous spoken dialects</strong> for daily communication. 🗣️ While MSA text is plentiful, most online content, particularly informal content, uses dialects. </p><p><strong>LLMs trained mainly on MSA struggle with these dialects,</strong> which are essential for effective localization in fields like marketing, social media, and entertainment. The issue is worsened by <strong>the scarcity of transcribed and labeled data for these dialects</strong>, making it hard to train LLMs on them.</p><p>Arabic dialects aren't a single, uniform language. Some are mutually unintelligible, like <a href="https://hub.localazy.com/en/languages/arz-egyptian-arabic">Egyptian</a>, <a href="https://en.wikipedia.org/wiki/Levantine_Arabic">Levantine</a>, <a href="https://en.wikipedia.org/wiki/Gulf_Arabic">Gulf</a>, and <a href="https://en.wikipedia.org/wiki/Maghrebi_Arabic">Maghrebi Arabic</a>. Spoken Arabic isn't uniform across countries either; it varies regionally. Dialects are further shaped by differences between urban and rural areas and by the impact of foreign languages like French or English. You can think of Arabic and dialects as a sea full of different types of fish. They are all fish, but they are distinct. 🐟</p><p>This dialectal variation makes it difficult to apply insights or models trained on one dialect to another, since LLMs usually learn from large, general datasets. Because of the complexity of dealing with numerous dialects and the differences between formal and informal language, <strong>the abundance of available Arabic data doesn't translate to easy or effective processing for LLMs</strong>. </p><blockquote>👋 For instance, a simple word like <em>"Hello"</em> could be written as "مرحبًا" in MSA, but might appear as "عالسلامة" in Tunisian Arabic or "أهلين" in Levantine Arabic</blockquote><h3 id="complex-morphology">Complex morphology <a class="markdownit-header-anchor" href="#complex-morphology">🔗</a></h3><p>Arabic's complex morphology, where <strong>words change form significantly through prefixes, suffixes, infixes, and root patterns</strong>, presents a challenge for LLMs. 🔍 This rich system of word formation, with a single root potentially generating hundreds of different words, adds to the language's complexity for AI. </p><p>Arabic words frequently stem from a root system, typically three consonants, which form the base meaning. Various patterns of vowels, prefixes, and suffixes are then added to this root to create words with related but distinct meanings. </p><blockquote>🎨 For example, the root "r-s-m" (paint) gives rise to "rassam" (painter), and "rasama" (he painted). This rich morphology, however, creates ambiguity</blockquote><p>Because vowels are often left out in written Arabic, a single word can have multiple interpretations, making it difficult for models to understand the correct meaning within a given context.</p><p>This intricate system makes things even harder for LLMs. They not only have to grasp the root system but also figure out the correct meaning from the context, <strong>a process that demands significantly more computing power and advanced model design</strong> than current LLMs often possess.</p><h3 id="script-and-orthography">Script and orthography <a class="markdownit-header-anchor" href="#script-and-orthography">🔗</a></h3><p>The Arabic script itself presents further hurdles for LLMs. Its right-to-left direction and other unique features set it apart from Latin-based scripts. One key challenge is <strong>diacritics</strong>: these marks clarify pronunciation and distinguish words, but are frequently omitted in standard writing, creating ambiguity. </p><blockquote>👨‍🎨 For instance, the painted form<strong> "رسم"</strong> could mean <strong>"he painted" (rasama)</strong>, or <strong>"paint" (rasm)</strong>, depending on the unwritten diacritics. Also, the way Arabic word endings change based on grammar (like case markers) means a single root can have many different forms</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/AdobeStock_492755235.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/AdobeStock_492755235.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/AdobeStock_492755235.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/AdobeStock_492755235.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/03/AdobeStock_492755235.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>These linguistic features pose specific architectural challenges for LLMs. <strong>Standard tokenization methods, often designed for languages like English, aren't well-suited for Arabic</strong>. Because Arabic words are built from roots, splitting them into subwords (a common LLM practice) can obscure important semantic links.</p><p>In practice, this means that breaking down words from the root<strong> </strong>"ر-س-م" (r-s-m), such as "رسم" (paint), "رسام" (painter), and "مرسم" (studio), can make it harder for the model to recognize the shared meaning related to "painting."</p><h3 id="data-scarcity-and-imbalance">Data scarcity and imbalance <a class="markdownit-header-anchor" href="#data-scarcity-and-imbalance">🔗</a></h3><p>Despite its large speaker base, Arabic lacks the rich and varied datasets needed for training effective LLMs, especially compared to languages like English. This data scarcity presents several problems:</p><ul><li><strong>🏷️ First, there's a shortage of annotated data </strong>for supervised tasks like sentiment analysis, named entity recognition, and translation. The data that <em>does</em> exist often focuses on MSA rather than the more commonly used dialects and informal language. </li><li><strong>🩺 Second, there are gaps in specific areas</strong>.<strong> </strong>Arabic datasets often underrepresent certain regions and specialized fields like medicine or law, hindering a model's ability to perform well in those contexts.</li></ul><p><strong>This data scarcity creates a vicious cycle</strong>. Limited training data results in less effective models, which discourages the use of Arabic language technology. This lack of adoption, in turn, reduces the incentive to invest in better Arabic language support, perpetuating the data shortage.</p><h3 id="design-challenges">Design challenges <a class="markdownit-header-anchor" href="#design-challenges">🔗</a></h3><p>Arabic's right-to-left writing system requires more than just text translation; it demands <a href="https://localazy.com/blog/6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them#redesigning-the-ui-and-layout"><strong>a complete redesign of user interfaces</strong></a>. This includes mirroring elements like menus, buttons, text, and images. While LLMs don't manage these layout changes, their output needs to fit well into these reversed interfaces and adapt to specific cultural preferences.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/03/image.png" class="kg-image" alt loading="lazy" width="1131" height="846" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/image.png 1000w, https://ghost.localazy.com/content/images/2025/03/image.png 1131w" sizes="(min-width: 720px) 720px"><figcaption>Example:<a href="https://www.aljazeera.net/travel/2025/3/15/%D9%88%D8%AC%D9%87%D8%A9-%D8%B9%D8%B4%D8%A7%D9%82-%D8%A7%D9%84%D8%B3%D9%8A%D8%A7%D8%B1%D8%A7%D8%AA-%D8%B3%D9%8A%D8%A7%D8%AD%D8%A9-%D8%A7%D9%84%D8%B3%D8%B1%D8%B9%D8%A9-%D8%B9%D9%84%D9%89"> an article on </a>Al Jazeera.</figcaption></figure><p>Visual elements like colors and images must be carefully chosen to resonate with the target audience. Achieving this requires tight cooperation between language experts, designers, and developers, significantly increasing the complexity of localization.</p><h2 id="testing-8-llms-on-arabic-translation">🤖 Testing 8 LLMs on Arabic translation <a class="markdownit-header-anchor" href="#testing-8-llms-on-arabic-translation">🔗</a></h2><p>The Arabic language AI technology is promising, but it is developing slowly. The attempts to push further its emerging potential are faced with new ongoing hurdles. <strong>These systems have certainly advanced, yet they remain works in progress</strong> rather than final answers to Arabic natural language processing needs — especially when localizing content for Arabic-speaking users.</p><p>Current Arabic-capable models demonstrate varied capabilities: some excel at formal text generation while stumbling with dialectal variations; others handle basic translation effectively but falter when it comes to cultural nuances. </p><p><strong>The technology shows promise in structured contexts </strong>like information retrieval and straightforward content creation, but requires human oversight for tasks demanding cultural sensitivity or technical precision.  Here's a summary of some Arabic LLMs' current state, capabilities, strengths, and weaknesses.</p><h3 id="1-gpt-4-multilingual-model">1. GPT-4 (multilingual model) <a class="markdownit-header-anchor" href="#1-gpt-4-multilingual-model">🔗</a></h3><p>GPT-4 works across multiple languages, including Arabic, with the ability to process and produce text in over 25 languages. The model demonstrates proficiency in generating well-structured sentences in Modern Standard Arabic (MSA) while offering <strong>some capability to handle various Arabic dialects</strong>. </p><p>It serves effectively for conversational tasks, making it <strong>suitable for customer support, casual interactions, and information retrieval</strong> in Arabic. Also, it provides reasonable translation services between Arabic and other languages, particularly when working with MSA rather than dialectal variants.</p><p>The following prompt asks for the translation of <strong>يا مساء الزبادي,</strong> an informal way to say "good evening" in Egyptian Arabic. The translation is literal and doesn’t convey the playfulness of the greeting:</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdUr8hJfTLxcNe6Yf374TQyepcj-KNc5RgEZnA7U7KqzZnomdN-vEDZvWsc_wdTk6KU7Q1HNI8qJv-GiCS5ZRZ5Rd1_O6NiDTWUh6v90_Rrtak42M7ZpzdbKKElyjkggdI3HYeJ0YASwhUlp1QL6qM?key=CY7r7ITGL9faXpAb1Za7f00j" class="kg-image" alt loading="lazy"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏆</div><div class="kg-callout-text"><strong>Upsides</strong></div></div><ul><li>Demonstrates a good general understanding of MSA and some Arabic dialects.</li><li>Capable of generating creative content in Arabic, such as short stories, articles, and poetry.</li><li>Maintains contextual coherence in responses, correctly using grammatical elements like tense and subject-object agreement.</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">😥</div><div class="kg-callout-text"><strong>Downsides</strong></div></div><ul><li>Has difficulty with dialectal Arabic. For example, it might misinterpret an Egyptian Arabic phrase or translate it into MSA, losing the intended regional meaning.</li><li>Struggles with informal, slang-filled Arabic speech.</li><li>May misinterpret or create ambiguous words due to the common omission of vowels in written Arabic, which can lead to multiple meanings.</li></ul><p></p><h3 id="2-claude">2. Claude <a class="markdownit-header-anchor" href="#2-claude">🔗</a></h3><p>Claude understands Modern Standard Arabic (MSA) texts accurately and handles complex Arabic grammar correctly. It processes  sentence structures, word forms, and language features properly. <strong>The model works consistently well with different types of Arabic text</strong>, including those with challenging grammar elements like dual forms and verb patterns.</p><p>Here is an example in which Claude explains the translation and the meaning of the sentence:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/image-1.png" class="kg-image" alt loading="lazy" width="778" height="241" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/image-1.png 600w, https://ghost.localazy.com/content/images/2025/03/image-1.png 778w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏆</div><div class="kg-callout-text"><strong>Upsides</strong></div></div><ul><li>It performs well in academic and formal settings.</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">😥</div><div class="kg-callout-text"><strong>Downsides</strong></div></div><ul><li>Sometimes it misses cultural nuances.</li><li>Struggles with dialect-specific expressions.</li><li>Might produce unnatural-sounding responses in casual conversations.</li><li>Shows inconsistency in technical terminology, potentially mixing Arabic terms and English loanwords.</li></ul><p>Apart from global, Western models like ChatGPT and Claude, <strong>there are several emerging models that focus exclusively on Arabic localization</strong>. Some of these AI tools, designed with cultural and linguistic sensitivity, can leverage 'pronoia' to cultivate positive communication. This means that translations and content are accurate and intentionally crafted to resonate with users on a deeper level. Let's see how they fared in our analysis next.</p><h3 id="3-jais">3. Jais <a class="markdownit-header-anchor" href="#3-jais">🔗</a></h3><p><a href="https://inceptionai.ai/jais/index.html">Jais</a>, <a href="https://mbzuai.ac.ae/news/meet-jais-the-worlds-most-advanced-arabic-large-language-model-open-sourced-by-g42s-inception/">released by Inception in 2023,</a> was trained on 116 billion Arabic tokens and 279 billion English data tokens. <strong>It excels at text generation, creating natural-sounding articles, reports, and stories in Arabic.</strong> It is capable of generating natural Arabic text, sentiment analysis, summarization, <a href="https://www.techtarget.com/whatis/definition/named-entity-recognition-NER">Named Entity Recognition</a>, and Arabic-English translation. Also, it performs well in machine translation between Arabic and other languages.</p><p>Let's use the same example of مساء الزبادي that we used for ChatGPT. We see that it fails, as it doesn't convey the playfulness of the expression. It says that the translation is literal and needs more context:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/image--1--1.png" class="kg-image" alt loading="lazy" width="478" height="389"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/image--2-.png" class="kg-image" alt loading="lazy" width="563" height="383"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏆</div><div class="kg-callout-text"><strong>Upsides</strong></div></div><ul><li>It was trained explicitly on Arabic data, providing a deep understanding of MSA and regional dialects.</li><li>Highly effective in tasks like text summarization and sentiment analysis for formal Arabic.</li><li>Designed for business integration: it offers document automation and customer service (chatbots).</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">😥</div><div class="kg-callout-text"><strong>Downsides</strong></div></div><ul><li>Still struggles with understanding and generating content in various regional Arabic dialects.</li><li>Tends to produce formal MSA, limiting its usefulness for informal applications.</li><li>May generate content lacking natural flow or authenticity in creative tasks.</li></ul><h3 id="4-tarjamas-arabic-machine-translation-amt">4. Tarjama's Arabic Machine Translation (AMT) <a class="markdownit-header-anchor" href="#4-tarjamas-arabic-machine-translation-amt">🔗</a></h3><p><a href="https://tarjama.com/amt/">Tarjama's Arabic Machine Translation (AMT)</a> system offers <strong>business-focused translations with a focus on accuracy and security</strong>. One of its strengths is that it maintains original document formatting and complies with <a href="https://localazy.com/dictionary/ISO-27001">ISO 27001</a> standards. AMT can be customized using client-specific data for enhanced precision and uses advanced technology for Arabic translation.</p><p>The following example is about a proverb coined to indicate the extent of similarity and identity between a mother and her daughter. Regardless of getting a literal translation, it couldn’t differentiate between two Arabic words without diacritics:</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdv6VrZQMAmJpQ5lTM2TWXtb1agLDmZZ2G95fq2oGMJzndgQzhw1xQbO-lzbr7kcBi0o9uN9gpgskSSAKqTsuJ1RpO413dH-fRc4-N89mdOWLsgnE4tYXOYV7D7IYWi8U-a98ftJu6QU0P0pKm-fA?key=CY7r7ITGL9faXpAb1Za7f00j" class="kg-image" alt loading="lazy"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏆</div><div class="kg-callout-text"><strong>Upsides</strong></div></div><ul><li>Trained on curated, high-quality data, which contributes to its accuracy.</li><li>Handles domain-specific terminology (legal, financial, healthcare, etc.).</li><li>Integrates into existing workflows, supporting various document formats.</li><li>Incorporates a Human-in-the-Loop approach.</li><li>Adheres to ISO 27001 standards.</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">😥</div><div class="kg-callout-text"><strong>Downsides</strong></div></div><ul><li>Highly specialized jargon may require human review.</li><li>Some idiomatic or culturally specific references may need post-editing.</li></ul><h3 id="5-alibaba-clouds-qwen-series-qwen-15-and-qwen-2">5. Alibaba Cloud's Qwen Series (Qwen 1.5 & Qwen 2) <a class="markdownit-header-anchor" href="#5-alibaba-clouds-qwen-series-qwen-15-and-qwen-2">🔗</a></h3><p>Alibaba Cloud's <a href="https://huggingface.co/Qwen">Qwen series</a>, including versions 1.5 and 2, supports over 29 languages including Arabic. <strong>It performs well in transcribing and translating, improving speech translation</strong>.</p><p>Here is a translation example from Qwen where we can see it struggled with context and cultural accuracy:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/image--3-.png" class="kg-image" alt loading="lazy" width="1143" height="401" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/image--3-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/image--3-.png 1000w, https://ghost.localazy.com/content/images/2025/03/image--3-.png 1143w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏆</div><div class="kg-callout-text"><strong>Upsides</strong></div></div><ul><li>Supports 29 languages, including Arabic.</li><li>Offers a cost-effective alternative to human translation. </li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">😥</div><div class="kg-callout-text"><strong>Downsides</strong></div></div><ul><li>May struggle with cultural nuances and idiomatic expressions.</li><li>May encounter challenges with specialized or technical jargon.</li><li>Can face difficulties in comprehending larger or implicit contexts.</li></ul><h3 id="6-arabert">6. AraBERT <a class="markdownit-header-anchor" href="#6-arabert">🔗</a></h3><p><a href="https://huggingface.co/aubmindlab/bert-base-arabert">AraBERT </a> was <strong>specifically designed for the Arabic language based on Google's BERT architecture</strong>. It does a great job in tasks like Named Entity Recognition (NER), part-of-speech tagging, sentiment analysis, and text classification.</p><p>Now, let's test this model with this <strong>source text</strong>: </p><p><em>"This product will revolutionize the industry."</em></p><p><strong>AraBERT’s Target</strong>: "سوف تحدث هذه المنتجات ثورة في الصناعة."</p><p>Here, we run into an incorrect word choice or mistranslation. The phrase "سوف تحدث هذه المنتجات ثورة" translates to "these products will revolutionize." However, the original source talks about a singular "product," so the plural form ("المنتجات") would be a meaning error. </p><p>The correct translation should be "سوف تحدث هذه المنتج ثورة في الصناعة."</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏆</div><div class="kg-callout-text"><strong>Upsides</strong></div></div><ul><li>Efficient for formal MSA.</li><li>Performs well on document classification, summarization, and question answering.</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">😥</div><div class="kg-callout-text"><strong>Downsides</strong></div></div><ul><li>Poor performance with Arabic dialects.</li><li>Weak in creative text generation and complex conversations.</li></ul><h3 id="7-camel-camel-labs-arabic-models">7. CAMeL (CAMeL Lab’s Arabic Models) <a class="markdownit-header-anchor" href="#7-camel-camel-labs-arabic-models">🔗</a></h3><p><a href="https://huggingface.co/CAMeL-Lab/bert-base-arabic-camelbert-da">CAMeL Lab's Arabic models</a> <strong>specialize in various dialects: Gulf, Levantine, Egyptian, and Maghrebi</strong>. Their suite of tools, known as CAMeL Tools, offers functionalities like pre-processing, morphological modeling, dialect identification, named entity recognition, and sentiment analysis.</p><p>What about a translation example? Let's have a look at it. </p><p>We will use this <strong>source text</strong>: "The match was a real game-changer."</p><p><strong>CAMel’s target translation</strong>: "كانت المباراة مغيرة حقيقية للعبة."</p><p>We run into a literal translation of an idiomatic expression. The phrase "game-changer" is a colloquial expression in English, meaning something that changes the course of an event or situation. CAMeL could have translated this literally as "مغيرة حقيقية للعبة," which would not convey the idiomatic meaning correctly.</p><p>A better and more accurate translation here would be: "كانت المباراة نقطة تحول حقيقية."</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏆</div><div class="kg-callout-text"><strong>Upsides</strong></div></div><ul><li>Fine-tuned for dialectal Arabic.</li><li>Handles sentiment analysis and code-switching.</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">😥</div><div class="kg-callout-text"><strong>Downsides</strong></div></div><ul><li>Difficulties with contextual coherence in longer texts, especially mixed MSA and dialects.</li><li>Struggles with highly informal or niche contexts due to being trained on limited data.</li></ul><h3 id="8-tashkeela-qcri">8. Tashkeela (QCRI) <a class="markdownit-header-anchor" href="#8-tashkeela-qcri">🔗</a></h3><p>Qatar Computing Research Institute's (QCRI) <a href="https://github.com/Anwarvic/Arabic-Tashkeela-Model">Tashkeela AI model</a> <strong>adds diacritical marks to Arabic text and performs Named Entity Recognition (NER)</strong> and other Natural Language Processing tasks in MSA. It features a corpus of 75 million fully vocalized words from 97 classical and modern Arabic books, which made possible the development of diacritization systems.</p><p>Here is an example of using Tashkeela to add diacritization to Arabic texts to make them clearer:</p><ul><li><strong>Arabic text without diacritics</strong>:<br>"ذهب الولد إلى المدرسة"</li><li><strong>Arabic text with diacritics</strong>:<br>"ذَهَبَ اَلْوَلَدُ إِلَى اَلْمَدْرَسَةِ"</li><li><strong>English translation</strong>: <br>"The boy went to school."</li></ul><blockquote><em><strong>Note:</strong></em> This model is used to add diacritics to clarify the meaning and provide an accurate translation. It <em>doesn't </em>provide translation. Its accuracy is continuously increasing, becoming more and more reliable.</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/04/Example-of-Tashkeela.png" class="kg-image" alt loading="lazy" width="1164" height="281" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/Example-of-Tashkeela.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/04/Example-of-Tashkeela.png 1000w, https://ghost.localazy.com/content/images/2025/04/Example-of-Tashkeela.png 1164w" sizes="(min-width: 720px) 720px"><figcaption>Tashkeela-Model (<a href="https://github.com/Anwarvic/Arabic-Tashkeela-Model">GitHub</a>)</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏆</div><div class="kg-callout-text"><strong>Upsides</strong></div></div><ul><li>It reduces ambiguity through diacritics.</li><li>With a focus on MSA, it performs well with standardized Arabic.</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">😥</div><div class="kg-callout-text"><strong>Downsides</strong></div></div><ul><li>Struggles with non-standard Arabic.</li><li>Since it's limited to diacritics, it offers limited utility for deeper text understanding or generation.</li></ul><h3 id="my-picks-as-a-translator">☝️ My picks as a translator <a class="markdownit-header-anchor" href="#my-picks-as-a-translator">🔗</a></h3><p>Although all models are still a work in progress, <strong>Claude</strong> is my personal pick for Arabic localization tasks. The LLM by Anthropic is advancing constantly — it understands cultural references and considers the nuances of the language. It can also:</p><ul><li>🚩 Detect literal translation and help revise long texts, suggesting better options when asked. </li><li>✏️ Help with different types of content, providing accurate equivalents, and considering context.</li><li>💬 Remind the user of the different word meanings that could be used depending on the context.</li></ul><p>For simple translation, <strong>ChatGPT </strong>is also a good option, considering how it understands different dialects. It can help identify the nature of the source and suggest a suitable translation. However, it might skip some paragraphs or lines.</p><p>Finally, <strong>AMT</strong> and <strong>Qwen</strong> are suitable options if you're dealing with business and customer service-related content, but keep in mind that they don't always get dialects correctly. They are progressing, but until now, I haven't found a better option than Claude.</p><blockquote>🎙️ How realistic are agentic workflows in localization, and are we ready to implement them? <a href="https://localazy.com/blog/most-localization-teams-arent-ready-for-ai-workflows-bridging-the-gap-s02-ep08">Listen to our Bridging the Gap podcast episode with Julia Díez</a> for a deep dive into it.</blockquote><h2 id="can-ai-deal-with-my-arabic-content">🤷 Can AI deal with my Arabic content? <a class="markdownit-header-anchor" href="#can-ai-deal-with-my-arabic-content">🔗</a></h2><p>Now, you might ask, <strong>"How can I know if the LLM I use suits my content translation needs?</strong>". Well, that's a fair question. Here are some factors you should take into consideration to assess this:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/AdobeStock_1102016803.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/AdobeStock_1102016803.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/AdobeStock_1102016803.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/AdobeStock_1102016803.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/03/AdobeStock_1102016803.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="1-industry-specificity">1. Industry specificity <a class="markdownit-header-anchor" href="#1-industry-specificity">🔗</a></h3><p>Check if the model is trained on domain-specific data (legal, medical, etc.) and if your content is technical/specialized. You need to determine how standardized the terminology is.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>Look for fine-tuned models (AraBERT, CAMeL) or industry benchmarks.</div></div><h3 id="2-target-audienceregion">2. Target audience/region <a class="markdownit-header-anchor" href="#2-target-audienceregion">🔗</a></h3><p>Ensure the model handles dialectal variations (Egyptian, Gulf, etc.). Check which Arabic variants are used and if there are multiple dialects needed or a required formality level.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>Check dialect support (CAMeL) vs. MSA defaults.</div></div><h3 id="3-user-experience">3. User experience <a class="markdownit-header-anchor" href="#3-user-experience">🔗</a></h3><p>Verify contextual relevance and coherent dialogue in conversations.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>Test conversational flows (GPT-4) and dialect-specific training.</div></div><h3 id="4-informalsocial-media-language">4. Informal/social media language <a class="markdownit-header-anchor" href="#4-informalsocial-media-language">🔗</a></h3><p>If your content includes more informal language, check how the model handles slang, abbreviations, and code-switching.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>Test with social media samples; note limitations of MSA-focused models.</div></div><h3 id="5-nuanced-sentiment-analysis">5. Nuanced sentiment analysis <a class="markdownit-header-anchor" href="#5-nuanced-sentiment-analysis">🔗</a></h3><p>Test how the LLM handles complex emotions, like sarcasm and ambiguity.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>Run tests with ambiguous/emotional phrases; consider AraBERT or CAMeL.</div></div><h3 id="6-undiacritized-arabic">6. Undiacritized Arabic <a class="markdownit-header-anchor" href="#6-undiacritized-arabic">🔗</a></h3><p>Test the model's ability to handle text without vowel markings.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>Use Tashkeela for diacritization, and assess general LLM context inference.</div></div><h3 id="7-multilingualcode-switched-content">7. Multilingual/code-switched content <a class="markdownit-header-anchor" href="#7-multilingualcode-switched-content">🔗</a></h3><p>Check for fluid language switching and bilingual content processing.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>Test with Arabic-English or other mixed language content.</div></div><h3 id="8-content-formatstyle-variability">8. Content format/style variability <a class="markdownit-header-anchor" href="#8-content-formatstyle-variability">🔗</a></h3><p>Ensure the model handles different registers and contexts.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>Test with diverse text types (news, conversations) for contextual appropriateness.</div></div><h3 id="9-real-time-processing">9. Real-time processing <a class="markdownit-header-anchor" href="#9-real-time-processing">🔗</a></h3><p>For time-sensitive applications, evaluate processing times of the different options.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>&nbsp;Test response time and processing speed, especially in real-time scenarios.</div></div><h3 id="10-accuracy-vs-functionality">10. Accuracy vs. functionality <a class="markdownit-header-anchor" href="#10-accuracy-vs-functionality">🔗</a></h3><p>Determine the required accuracy level for your specific use case.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>Check accuracy rates across various tasks (translation, summarization).</div></div><h3 id="11-performance-evaluation">11. Performance evaluation <a class="markdownit-header-anchor" href="#11-performance-evaluation">🔗</a></h3><p>Monitor overall tendencies like accuracy, dialect handling, and technical term consistency.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>Use side-by-side human review to score translations on clarity and accuracy.</div></div><h3 id="12-error-analysis">12. Error analysis <a class="markdownit-header-anchor" href="#12-error-analysis">🔗</a></h3><p>Finally, document dialect mismatches, technical term confusion, formality issues, and cultural misunderstandings. Evaluate error significance (safety, brand, user experience, legal). Decide how much human oversight is needed.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>Track the top error types with color-coded severity ratings (red/yellow/green).</div></div><h3 id="13-final-check-sample-data-testing">13. Final check: sample data testing <a class="markdownit-header-anchor" href="#13-final-check-sample-data-testing">🔗</a></h3><p>Crucially, always test with real sample data to identify specific strengths and weaknesses. Create representative samples with dialects, technical terms, formality variations, numbers, and dates.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">👉</div><div class="kg-callout-text"><strong>Practical tip: </strong>Test with a mix of everyday and technical Arabic text samples.</div></div><p>After considering all of these aspects, you can go ahead and use the AI model of your choice for a while to see how it performs. But if you're still unsure about using AI in your industry, this would be <strong>a quick and brief categorization</strong> that tells you if it would make sense to use AI in your industry or not: </p><ul><li><strong>🟢 Safe for AI</strong>:<strong> </strong>General MSA information, basic queries, non-critical content, and standard communication.</li><li><strong>🟠 Requires careful monitoring</strong>:<strong> </strong>Mixed dialects, semi-technical documentation, marketing, education.</li><li><strong>🔴 Not ready for AI</strong>:<strong> </strong>Legal documents, medical instructions, safety-critical information, creative content, and complex manuals.</li></ul><h2 id="conclusion-is-it-worth-it-to-use-ai-to-localize-to-arabic">👀 Conclusion: Is it worth it to use AI to localize to Arabic? <a class="markdownit-header-anchor" href="#conclusion-is-it-worth-it-to-use-ai-to-localize-to-arabic">🔗</a></h2><p><strong>AI is a valuable assistant for Arabic content, but has limitations</strong>. It still makes mistakes regardless of what model you choose, especially when the material is nuanced and contains specialized vocabulary. </p><p>Arabic's complexity requires contextual understanding that AI alone cannot fully provide. While AI can translate and generate content to some point, <strong>human oversight is what controls the cultural relevance, proper right-to-left layouts, and brand alignment</strong>. Dialectal Arabic particularly challenges AI systems, often necessitating human adaptation. </p><p>Critical documents like legal or medical texts absolutely require human review. If you're dealing with that type of sensitive material (or with technical or very nuanced content in Arabic), proofreading is still highly important. We're here to help — get in touch with expert Arabic translators from our <a href="https://localazy.com/docs/general/continuous-localization-team">Continuous Localization Team</a>, or begin experimenting with Localazy on your own for your Arabic-speaking projects.</p>]]></content:encoded>
            <author>Eman Abdo</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/04/ArabicLocal---Challenges-3-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Tips for localizing multiplatform apps using Localazy CLI]]></title>
            <link>https://localazy.com/blog/tips-for-localizing-multiplatform-apps-localazy-cli</link>
            <guid isPermaLink="false">tips-for-localizing-multiplatform-apps-localazy-cli</guid>
            <pubDate>Tue, 22 Apr 2025 13:47:32 GMT</pubDate>
            <description><![CDATA[Multiplatform apps are highly convenient, but the same can't be said for translating them. This is how Localazy CLI can help you simplify and automate translations in a few steps.]]></description>
            <content:encoded><![CDATA[<p>Keeping translations in sync across iOS, Android, and web projects is rarely straightforward. Different file formats, scattered translation files, and the constant back-and-forth between tools can slow you down. Adding localization to your workflow <strong>shouldn't feel like an extra chore, but too often, it does</strong>. 😥</p><p>Instead of handling files manually, what if you could focus on keeping translations accurate and up to date? With <a href="https://localazy.com/docs/cli/the-basics" rel="noopener noreferrer nofollow">Localazy CLI</a>, you can upload and download translations, convert between formats, and manage localization efficiently across platforms — no more manual file handling or format mismatches.</p><p>In this guide, I'll explain how to use the Localazy CLI to simplify your localization workflow. This will save you time and reduce errors while keeping translations consistent across all your apps. </p><h2 id="setting-up-localazy-cli">🛠️ Setting up Localazy CLI <a class="markdownit-header-anchor" href="#setting-up-localazy-cli">🔗</a></h2><p>Before diving into the commands, let's set up the CLI in a few steps:</p><h3 id="1-install-localazy-cli">1. Install Localazy CLI <a class="markdownit-header-anchor" href="#1-install-localazy-cli">🔗</a></h3><p>Run: <code>npm install -g @localazy/cli</code></p><h3 id="2-create-a-new-project">2. Create a new project <a class="markdownit-header-anchor" href="#2-create-a-new-project">🔗</a></h3><p>If you haven't already, <a href="https://localazy.com/register" rel="noopener noreferrer nofollow">sign up at Localazy</a> or <a href="https://localazy.com/login" rel="noopener noreferrer nofollow">log in</a> to your account and create a new project. Set the source language and add any target languages you need.</p><h3 id="3-generate-access-keys">3. Generate access keys <a class="markdownit-header-anchor" href="#3-generate-access-keys">🔗</a></h3><p>Navigate to your project settings and generate the write and read keys. You'll need these to configure the CLI.</p><h3 id="4-configure-localazy-cli">4. Configure Localazy CLI <a class="markdownit-header-anchor" href="#4-configure-localazy-cli">🔗</a></h3><p>Create a <code>localazy.json</code> file in your project root with the following content:</p><pre><code class="language-JSON">{
  "writeKey": "YOUR_WRITE_KEY",
  "readKey": "YOUR_READ_KEY",
  "upload": {
    "type": "json",
    "files": "PATH/TO_YOUR/FILE"
  },
  "download": {
    "files": "PATH/TO_SAVE/YOUR_FILE"
  }
}</code></pre><blockquote>New around these parts? Check out our quickstart CLI video tutorial for developers 👇</blockquote><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/BD3XNe11yu8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Localazy Quickstart for Developers: Get Started with the CLI"></iframe></figure><h2 id="running-key-commands">⬇️ Running key commands <a class="markdownit-header-anchor" href="#running-key-commands">🔗</a></h2><p>Now that the CLI is set up, let's discuss a few basic commands to manage your translations.</p><h3 id="upload-command">Upload command <a class="markdownit-header-anchor" href="#upload-command">🔗</a></h3><p>To upload the source language file (<code>en.json</code> in our case) to Localazy, use the following command:</p><p><code>localazy upload</code></p><p>The upload command runs the upload object in the Localazy configuration file, which can include several upload rules.</p><h3 id="download-command">Download command  <a class="markdownit-header-anchor" href="#download-command">🔗</a></h3><p>To download the translations for all target languages, run the Localazy download command:</p><p><code>localazy download</code></p><p>This command executes the rules specified within the download object of your configuration file. It also updates your local files with the latest translations according to the defined settings, making it easy to keep them current and accurate.</p><h3 id="conversion-rules">Conversion rules <a class="markdownit-header-anchor" href="#conversion-rules">🔗</a></h3><p>The next important command involves converting source files to different formats. Conversion rules typically run immediately after the download rules, ensuring that your files are in the desired format as soon as they are downloaded.</p><p>You can also convert files using the <a href="https://localazy.com/docs/cli/type-remapping" rel="noopener noreferrer nofollow">type remapping</a> feature during upload, which allows you to handle various file conversions throughout the process.</p><p>To convert files during uploads, modify the upload rules as shown below:</p><pre><code class="language-javascript">//localazy.json

 "upload": {
    "files": {
      "type": "excel",
      "pattern": "PATH/TO_YOUR/FILE",
      "file": "myTranslate.json5",   
      "remap": {
        "type": "json5",       
        "flatten": ".",
        "nest": "."
      }
    }
  }</code></pre><p>The <code>"upload"</code> object above specifies the rules for uploading translation files as follows:</p><ul><li>The <code>"type"</code> indicates that the source file is in Excel format.</li><li>The <code>"pattern"</code> specifies the path to the Excel file to be uploaded.</li><li>The <code>"file"</code><strong> </strong>defines the name of the output file after conversion in the Localazy server.</li><li>The <code>"remap"</code><strong> </strong>object<strong> </strong>contains rules for converting the file format during the upload process.</li><li><code>"type": "json5"</code> specifies that the file should be converted to JSON5 format.</li></ul><p>In summary, <strong>this configuration uploads an Excel file, converts it to JSON5 format </strong>(<code>myTranslate.json5</code>), <strong>and applies remapping rules to it</strong>. </p><blockquote>👉 To learn more about Localazy uploads, including uploading multiple files, visit the <a href="https://localazy.com/docs/cli/upload-reference" rel="noopener noreferrer nofollow">upload reference</a></blockquote><p>Next, let's discuss how to handle conversions during downloads. Add the following snippet to the <code>localazy.json</code> file:</p><pre><code class="language-JSON">//localazy.json
"download": {
//your download rules here
  },
  "conversion": {
    "actions": {
      "type": "json",
      "output": "public/locales/convertions/${myTranslate.json5}"
    }
  }</code></pre><p>The snippet above does the following:</p><ul><li>The <code>"actions"</code><strong> </strong>object contains the details of the conversion actions to be performed.</li><li><code>"type": "json"</code> indicates that the target format for the conversion is JSON.</li><li>The <code>"output"</code><strong> </strong>specifies the output path and filename for the converted file. The <code>${myTranslate.json5}</code> is the filename in the Localazy server — this is vital in case there are multiple files.</li></ul><p>The above configuration <strong>converts the downloaded file to JSON format and saves it to the specified output path</strong> (<code>public/locales/conversions/${myTranslate.json5}</code>).</p><p>Now that you've seen the key commands and how to use them, the next section will guide you on how to manage translation files for both Android and iOS.</p><h2 id="syncing-translations-across-platforms">🔁 Syncing translations across platforms <a class="markdownit-header-anchor" href="#syncing-translations-across-platforms">🔗</a></h2><p>One of Localazy CLI's biggest advantages is <strong>its ability to handle translations for multiple platforms in one single workflow</strong>. </p><p>Imagine you have an application with identical content for both Android and iOS platforms. A common challenge is <strong>keeping translations in sync between the two projects</strong>, especially since the strings are often nearly identical. Another concern is <strong>how to reuse translations across platforms</strong> to avoid paying translators twice <a href="https://localazy.com/blog/introducing-the-duplicity-linking-feature-software-localization/">for translating duplicate content</a>.</p><p>Localazy addresses these concerns by allowing you to upload content from either <a href="https://localazy.com/android">Android</a> or <a href="https://localazy.com/ios">iOS</a> as the main source. You can then complete the desired translations and download the content in the format required by the other platform <a href="https://localazy.com/features/format-conversions/">using format conversions</a>. </p><p>This ensures consistency and efficiency in managing translations across both platforms. Below is a practical example of how to upload content in an Android project and download it to an iOS project with the help of format conversions.</p><h3 id="uploading-content-from-android">Uploading content from Android <a class="markdownit-header-anchor" href="#uploading-content-from-android">🔗</a></h3><p>To upload the source content in an Android project, first create a <code>strings.xml</code> file in the desired directory. Use the following snippet as an example of what the file should contain:</p><pre><code class="language-xml">
//strings.xml

&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;resources&gt;
    &lt;string name="welcome_message"&gt;Welcome to our app!&lt;/string&gt;
    &lt;string name="button_continue"&gt;Continue&lt;/string&gt;
    &lt;string name="settings_title"&gt;Settings&lt;/string&gt;
&lt;/resources&gt;</code></pre><p>Next, in the root of your project, create a <code>localazy.json</code> file with the following snippet:</p><pre><code class="language-javascript">
//localazy.json
{
  "writeKey": "YOUR_WRITE_KEY",
  "readKey": "YOUR_READ_KEY",
  "upload": {
    "type": "android",
    "files": "path_to/your_file/res/strings.xml"
  }
}</code></pre><p>Now run the upload command in the terminal to upload your file:</p><p><code>localazy upload</code></p><p>After uploading your <code>strings.xml</code> file, navigate to the Localazy server and add your desired translations, such as French and Spanish.</p><h3 id="downloading-content-to-ios">Downloading content to iOS <a class="markdownit-header-anchor" href="#downloading-content-to-ios">🔗</a></h3><p>To convert and download the <code>strings.xml</code> file uploaded from your Android project for use in an iOS project, create a <code>localazy.json</code> file in the root directory of your project with the following snippet:</p><pre><code class="language-javascript">
//localazy.json
{
  "writeKey": "YOUR_WRITE_KEY",
  "readKey": "YOUR_READ_KEY",
  "download": {
    "files": "public/locales/ios-app/${iosLprojFolder}/Localizable.strings"
  },
  "conversion": {
    "actions": {
      "type": "ios-strings",
      "output": "public/locales/ios-app/${iosLprojFolder}/Localizable.strings"
    }
  }
}</code></pre><p>In the snippet above, <code>download.files</code> specifies where to save the downloaded <code>Localizable.strings</code> files using the <code>${iosLprojFolder}</code> variable to create language-specific folders dynamically.</p><p>Next, run the download command in the terminal to download your iOS strings in the specified folder:</p><p><code>localazy download</code></p><p>And you're done! ✅ <strong>You've successfully uploaded content from one platform (Android) and converted it for the other (iOS)</strong>. </p><blockquote>📑 Learn more about format conversion configuration <a href="https://localazy.com/docs/cli/format-conversions?srsltid=AfmBOoqnTp21Nnc_GX3qZz9nGYu1Pw4UiaLhAUfx6VlZSDZ8U9HkjlTZ">here</a></blockquote><h2 id="common-cli-mistakes-to-avoid">🤕 Common CLI mistakes to avoid <a class="markdownit-header-anchor" href="#common-cli-mistakes-to-avoid">🔗</a></h2><p>Even with a powerful tool like Localazy CLI, it's easy to run into issues. Here are some common mistakes and how to avoid or fix them.</p><h3 id="1-incorrect-file-paths">1. Incorrect file paths  <a class="markdownit-header-anchor" href="#1-incorrect-file-paths">🔗</a></h3><p>Double-check your file paths in the <code>localazy.json</code> configuration. Confirm they match the actual paths in your project to avoid misconfigured upload and download errors.</p><h3 id="2-missing-access-keys">2. Missing access keys  <a class="markdownit-header-anchor" href="#2-missing-access-keys">🔗</a></h3><p>Make sure your write and read keys are correctly added to the <code>localazy.json</code> file. If you encounter authentication errors, regenerate the keys from your Localazy account.</p><h3 id="3-unsupported-file-formats">3. Unsupported file formats  <a class="markdownit-header-anchor" href="#3-unsupported-file-formats">🔗</a></h3><p>Verify that Localazy supports the file formats you're using or translating to. Refer to the documentation for a <a href="https://localazy.com/docs/general/supported-file-formats" rel="noopener noreferrer nofollow">list of supported formats</a>.</p><h3 id="4-network-issues">4. Network issues  <a class="markdownit-header-anchor" href="#4-network-issues">🔗</a></h3><p>If you experience network-related errors, check your internet connection and try again. You can also use a VPN if you're facing regional restrictions.</p><h2 id="my-recommended-automation-workflow">😎 My recommended automation workflow <a class="markdownit-header-anchor" href="#my-recommended-automation-workflow">🔗</a></h2><p>To make the most out of Localazy CLI, here's my personal workflow for automating your localization process:</p><ol><li>Set up your <code>localazy.json</code> file with configurations for all platforms (Android, iOS, web).</li><li>Upload your source language files regularly to keep your translations up-to-date.</li><li><a href="https://localazy.com/blog/how-to-automate-your-localization-in-ci-cd-pipelines/">Set up a CI/CD pipeline</a> to automatically download new translations whenever they become available.</li><li>Include the conversion object to generate different file formats as needed.</li></ol><p>Once you follow this workflow, you will be able to automate the tedious aspects of localization and focus on delivering a great user experience.</p><blockquote>⏯️ Related read: <a href="https://localazy.com/blog/translating-my-ios-app-no-meat-today-with-localazy">Translating my iOS app with Localazy</a></blockquote><h2 id="final-thoughts">✔️ Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>I hope the tips outlined in this guide help you be well-equipped to handle your next multiplatform localization project. 💪 I found Localazy CLI to be a powerful solution to manage translations across multiple platforms — it simplifies the process, automates repetitive tasks, and helps you maintain consistency in your translations. </p><p>If you're a mobile app developer looking to streamline your localization workflow, it's worth considering, as <strong>it can save you time and reduce localization errors</strong>. Give it a try and see how it can improve your workflow. <a href="https://localazy.com/book-demo" rel="noopener noreferrer nofollow">Book a demo</a> or <a href="https://localazy.com/register" rel="noopener noreferrer nofollow">register now</a> to get started.</p>]]></content:encoded>
            <author>Chidi Eze</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/04/Multiplatform-CLI.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[EuroLLM: This is how the European open-source AI performs in translation tasks]]></title>
            <link>https://localazy.com/blog/eurollm-translation-results-open-source-ai</link>
            <guid isPermaLink="false">eurollm-translation-results-open-source-ai</guid>
            <pubDate>Tue, 15 Apr 2025 06:30:00 GMT</pubDate>
            <description><![CDATA[A new competitor has emerged in the LLM landscape. It promises high-accuracy translation results for underrepresented European languages, alignment with the EU AI Act, and open access, but — how does EuroLLM really perform? We put it to the test.]]></description>
            <content:encoded><![CDATA[<p>New LLMs pop up like mushrooms after the rain. 🍄</p><p><a href="https://chatgpt.com">ChatGPT</a>, <a href="https://claude.ai">Claude</a>, and <a href="https://gemini.google.com">Gemini</a> are not the only players in the spotlight. From <a href="https://chat.deepseek.com/sign_in">Deepseek</a> to <a href="https://bigscience.huggingface.co/blog/bloom">Bloom</a>, <a href="https://ai.google.dev/gemma">Gemma 3</a>, and <a href="https://huggingface.co/blog/manu/croissant-llm-blog">CroissantLLM</a><strong> —</strong> new open-source LLMs tempt curious users around every corner.</p><p>Recently, <a href="https://sites.google.com/view/eurollm/home"><strong>EuroLLM</strong></a> joined the game, too. This European language model was developed as an open-source alternative to the US-focused giants. ChatGPT &amp; co usually work well for English but <strong>tend to struggle with high accuracy and cultural sensitivity in less common languages</strong>. That's where this initiative comes in.</p><p>It strives to shift attention from the dominant US English toward underrepresented European languages while promoting diversity, equality, and open access. This noble mission also inspired another AI project called <a href="https://openeurollm.eu">OpenEuroLLM</a>, which has been recently announced.</p><p>Trained on European datasets, <strong>the model promises strong cultural adaptation and native fluency in 24 official European languages</strong>. It also aims to outperform US-centric models in areas such as gender neutrality, <strong>alignment with EU regulations</strong> (such as the EU AI Act), accurate idiomatic expressions, and sensitivity to local spelling and formal/informal nuances.</p><p>These are the model's big promises. </p><p>Does it live up to them?</p><p>It's time to put EuroLLM's capabilities to the test.</p><blockquote>🔦 Looking for a comparison that includes a bigger set of LLMs? Check out <a href="https://localazy.com/blog/the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models">our global analysis</a> including seven different AI models</blockquote><h2 id="the-rules-of-the-game">👾 The rules of the game <a class="markdownit-header-anchor" href="#the-rules-of-the-game">🔗</a></h2><p><strong>Four languages, three text types, one task</strong>. That's our test in a nutshell.</p><p>We'll find out how the model translates marketing copy, user manuals, and simple conversation. All these experiments will be performed in <strong>four language combinations</strong>:</p><ul><li>🇵🇱 English to <strong>Polish</strong></li><li>🇪🇸 English to <strong>Spanish</strong></li><li>🇨🇿 English to <strong>Czech</strong></li><li>🇬🇷 English to <strong>Greek</strong></li></ul><p>Next, we'll feed the same prompts with the same source texts and languages to ChatGPT to compare the results. <strong>All translations will be evaluated by professional linguists </strong>based on the following metrics:</p><ul><li>1️⃣<strong> Fluency</strong></li><li><strong>2️⃣ Accuracy</strong></li><li><strong>3️⃣ Cultural adaptation</strong></li><li><strong>4️⃣  Consistency in long texts</strong></li><li><strong>5️⃣ Handling of gender-neutral language</strong></li></ul><p>EuroLLM is available in two versions: <a href="https://huggingface.co/utter-project/EuroLLM-1.7B">EuroLLM-1.7B,</a> containing 1.7 billion parameters and introduced in September 2024, and <a href="https://huggingface.co/utter-project/EuroLLM-9B-Instruct">EuroLLM-9B</a>, released in December 2024. <strong>We'll use the newest version and access it via Python</strong>.</p><p>👩‍💻 The standard command to call for translation recommended on the model's page on HuggingFace will be spiced up by <strong>three extra parameters</strong>:</p><ul><li><code>max_new_tokens=200</code>: To ensure full translation in case the model decides to stop halfway.</li><li><code>eos_token_id=tokenizer.eos_token_id</code>: To tell the model to stop generating the content at a logical point. Otherwise, it keeps adding extra, unrelated text at the end of the output.</li><li><code>do_sample=False</code>: To ensure more consistency in translation.</li></ul><p>💬 Both EuroLLM and ChatGPT <strong>will receive the same prompt</strong> that highlights the test metrics:</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text">“<em>Translate the following English text into XYZ. Ensure that the translation is fluent, culturally appropriate, and maintains the original meaning</em>.”</div></div><p>📝 The source texts from three different categories will be the same for all languages and models:</p><h3 id="general-text-conversation">General text (conversation) <a class="markdownit-header-anchor" href="#general-text-conversation">🔗</a></h3><p><em>"Hey Alex, are you coming to the party tonight? Julia said she's bringing that new Spanish wine she got last week, and I heard it's amazing. Also, remember to bring some snacks. Last time, we ran out way too early! Oh, and don't forget, Lisa wants to talk to you about that job offer. She said it might be a great opportunity for you. Anyway, let me know what time you're planning to come, and if you need a ride, I can pick you up. Looking forward to it!"</em></p><h3 id="technical-content-user-manual">Technical content (user manual) <a class="markdownit-header-anchor" href="#technical-content-user-manual">🔗</a></h3><p><em>"</em><strong><em>Device Setup Instructions</em></strong><em><br>1. Unbox the device and ensure all components are included:<br>- Main unit<br>- Power adapter<br>- User manual<br>- USB cable<br>2. Connect the power adapter to the device and plug it into a power outlet. The LED indicator should turn green. If it remains off, check the power source.<br>3. Press and hold the power button for 3 seconds until the startup sound plays.<br>4. To connect to Wi-Fi, navigate to </em><strong><em>Settings &gt; Network &gt; Wi-Fi</em></strong><em>. Select your network and enter the password.<br>5. Download and install the companion app from the App Store or Google Play. Follow the on-screen instructions to complete the setup.<br>6. If the device is unresponsive, reset it by holding the reset button for 10 seconds.<br></em><strong><em>Warning:</em></strong><em> Do not expose the device to water or extreme temperatures.<br>For troubleshooting, visit </em><strong><em>www.support.example.com</em></strong><em>."</em></p><h3 id="marketing-copy-slogans">Marketing copy (slogans) <a class="markdownit-header-anchor" href="#marketing-copy-slogans">🔗</a></h3><p><em>"Unleash your potential with cutting-edge technology.</em> <em>Savor the taste of tradition in every bite. Designed for those who demand more. Your future, your way. Experience luxury, redefined. Innovation that moves you forward. Effortless style, undeniable confidence. Because you deserve the best. Power up your day with lasting energy. Where comfort meets performance. Crafted for perfection, built for life. Transform your space, transform your life. Timeless elegance for the modern world. Bold flavors, unforgettable experiences. Think smarter, live better. The ultimate upgrade for your lifestyle. More than a product, it's a statement. Quality you can trust, performance you can feel. Go beyond the ordinary. Excellence in every detail."</em></p><p>The text samples fall <strong>within the 85-150 word range</strong>. The idea is to test fluency and consistency beyond a single sentence.</p><blockquote><strong><em>Disclaimer: </em></strong><em>The translation quality assessments and comparisons presented in this article are based on a limited set of tests perfomed by language professionals and should not be considered exhaustive or definitive. Due to the broad range of potential test conditions and other constraints, our benchmarking efforts may not fully capture the capabilities of the models used in the test, which might be updated and improved in the near future. Our benchmarking criteria might also be limited.</em></blockquote><h2 id="the-grand-model-battle-in-overview">🔍 The grand model battle in overview <a class="markdownit-header-anchor" href="#the-grand-model-battle-in-overview">🔗</a></h2><h3 id="translating-informal-content-with-eurollm">Translating informal content with EuroLLM   <a class="markdownit-header-anchor" href="#translating-informal-content-with-eurollm">🔗</a></h3><p>First comes the informal conversation. What can go wrong with such a short, innocent text?</p><p>Nearly everything.</p><p><strong>The conversation posed quite a big challenge for EuroLLM</strong>. The translated texts contained grammar mistakes, awkward phrases, and mistranslations. <strong>In every single language</strong>.</p><p>🇬🇷 For example, "Hey" in Greek was translated as "You said":</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/Euro-LLM-Greek-text-1.png" class="kg-image" alt loading="lazy" width="1920" height="713" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Euro-LLM-Greek-text-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Euro-LLM-Greek-text-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Euro-LLM-Greek-text-1.png 1600w, https://ghost.localazy.com/content/images/2025/03/Euro-LLM-Greek-text-1.png 1920w" sizes="(min-width: 1200px) 1200px"></figure><p>The Spanish translation contained punctuation mistakes, such as missing upside-down exclamation marks:</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/EuroLLM-Spanish-text-1.png" class="kg-image" alt loading="lazy" width="1909" height="1061" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/EuroLLM-Spanish-text-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/EuroLLM-Spanish-text-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/EuroLLM-Spanish-text-1.png 1600w, https://ghost.localazy.com/content/images/2025/03/EuroLLM-Spanish-text-1.png 1909w" sizes="(min-width: 1200px) 1200px"></figure><p>And both Polish and Czech versions included incorrectly inflected words in the phrase "new Spanish wine":</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/EuroLLM-Czech-text-1.png" class="kg-image" alt loading="lazy" width="1920" height="1069" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/EuroLLM-Czech-text-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/EuroLLM-Czech-text-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/EuroLLM-Czech-text-1.png 1600w, https://ghost.localazy.com/content/images/2025/03/EuroLLM-Czech-text-1.png 1920w" sizes="(min-width: 1200px) 1200px"></figure><p>Not a great start for EuroLLM.</p><p>Next up is the technical manual.</p><h3 id="translating-technical-content-with-eurollm">Translating technical content with EuroLLM <a class="markdownit-header-anchor" href="#translating-technical-content-with-eurollm">🔗</a></h3><p>You'd think this would be the easy part, right? Well, not quite.</p><p><strong>EuroLLM dealt slightly better with this text</strong>, although not without its fair share of hiccups. Across all language combinations, there were inconsistencies, mistranslations, and overly literal phrases. </p><p>For example, in Spanish, the model mixed formal and informal tones:</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/EuroLLM-Spanish-text-2.png" class="kg-image" alt loading="lazy" width="1914" height="1093" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/EuroLLM-Spanish-text-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/EuroLLM-Spanish-text-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/EuroLLM-Spanish-text-2.png 1600w, https://ghost.localazy.com/content/images/2025/03/EuroLLM-Spanish-text-2.png 1914w" sizes="(min-width: 1200px) 1200px"></figure><p>In Czech, it transformed the phrase "the LED indicator should turn green" into "the LED indicator should remain turned off":</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/EuroLLM--Czech-text-2.png" class="kg-image" alt loading="lazy" width="1920" height="1074" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/EuroLLM--Czech-text-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/EuroLLM--Czech-text-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/EuroLLM--Czech-text-2.png 1600w, https://ghost.localazy.com/content/images/2025/03/EuroLLM--Czech-text-2.png 1920w" sizes="(min-width: 1200px) 1200px"></figure><p>In Greek, it chose the wrong term for "password", and in Polish, the translation of "until the startup sound plays" was so literal that it felt more robotic than the device being described:</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/Euro-LLM-Greek-text-2.png" class="kg-image" alt loading="lazy" width="1914" height="1050" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Euro-LLM-Greek-text-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Euro-LLM-Greek-text-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Euro-LLM-Greek-text-2.png 1600w, https://ghost.localazy.com/content/images/2025/03/Euro-LLM-Greek-text-2.png 1914w" sizes="(min-width: 1200px) 1200px"></figure><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/PL-text-2.png" class="kg-image" alt loading="lazy" width="1920" height="1088" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/PL-text-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/PL-text-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/PL-text-2.png 1600w, https://ghost.localazy.com/content/images/2025/03/PL-text-2.png 1920w" sizes="(min-width: 1200px) 1200px"></figure><p>That's not a perfect result either.</p><p>What about the marketing copy?</p><h3 id="translating-marketing-copy-with-eurollm">Translating marketing copy with EuroLLM <a class="markdownit-header-anchor" href="#translating-marketing-copy-with-eurollm">🔗</a></h3><p>To put it mildly, creativity is not the strongest point of EuroLLM. As expected, <strong>the marketing slogans were the biggest obstacle for the model</strong>. The texts sounded very literal, contained numerous mistranslations, and kept some words in English (e.g., "upgrade" in Spanish or "timeless elegance" in Czech):</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/EuroLLM--Czech-text-3.png" class="kg-image" alt loading="lazy" width="1912" height="1069" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/EuroLLM--Czech-text-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/EuroLLM--Czech-text-3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/EuroLLM--Czech-text-3.png 1600w, https://ghost.localazy.com/content/images/2025/03/EuroLLM--Czech-text-3.png 1912w" sizes="(min-width: 1200px) 1200px"></figure><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/EuroLLM-Spanish-text-3.png" class="kg-image" alt loading="lazy" width="1920" height="1082" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/EuroLLM-Spanish-text-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/EuroLLM-Spanish-text-3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/EuroLLM-Spanish-text-3.png 1600w, https://ghost.localazy.com/content/images/2025/03/EuroLLM-Spanish-text-3.png 1920w" sizes="(min-width: 1200px) 1200px"></figure><p>As if this wasn't enough, <strong>EuroLLM failed to deliver on one of its biggest promises: using local vocabulary</strong>. For example, in Spanish, the model showed a tendency toward vocabulary and expressions closer to Latin American variants, rather than the Castilian Spanish from Spain (e.g., "<em>desembala</em>" vs "<em>desempaqueta</em>", "<em>temprano</em>" vs "<em>pronto</em>", the use of the simple past tense instead of the past perfect).</p><p>Overall, EuroLLM <strong>scored decent notes for gender-neutral language</strong>, but accuracy, fluency, and consistency remain serious downsides.</p><h3 id="how-does-eurollm-compare-to-chatgpt">How does EuroLLM compare to ChatGPT? <a class="markdownit-header-anchor" href="#how-does-eurollm-compare-to-chatgpt">🔗</a></h3><p>In comparison, <strong>ChatGPT scored the highest in nearly all categories</strong>. It nailed the technical content, kept informal conversation sounding natural, and gracefully navigated the minefield of ambiguous marketing slogans across all languages. It managed to avoid mistranslations, overly literal phrases, and grammar and punctuation mistakes. <strong>In Spanish,</strong> <strong>it even favored the Castilian locale, which EuroLLM failed to achieve</strong>.</p><p>Below, you can see the metrics for all languages. In each case, <strong>the metric is an average for three different texts</strong>. This means that even if the model dealt well with the technical content, the overall fluency or accuracy is lower due to the poor results for informal or marketing texts.</p><!--kg-card-begin: html--><table>
<thead>
<tr>
<th style="text-align: center"><strong>LLMs</strong></th>
<th style="text-align: center"><strong>Consistency in  long texts</strong></th>
<th style="text-align: center"><strong>Gender-neutral   language</strong></th>
<th style="text-align: center"><strong>Cultural  adaptation</strong></th>
<th style="text-align: center"><strong>Accuracy</strong></th>
<th style="text-align: center"><strong>Fluency</strong></th>
<th style="text-align: center"><strong>Total  Score</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center">ChatGPT</td>
<td style="text-align: center">5</td>
<td style="text-align: center">5</td>
<td style="text-align: center">5</td>
<td style="text-align: center">5</td>
<td style="text-align: center">4</td>
<td style="text-align: center">24</td>
</tr>
<tr>
<td style="text-align: center">EuroLLM</td>
<td style="text-align: center">2</td>
<td style="text-align: center">2</td>
<td style="text-align: center">3</td>
<td style="text-align: center">2</td>
<td style="text-align: center">1</td>
<td style="text-align: center">10</td>
</tr>
</tbody>
</table><!--kg-card-end: html--><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>Table 1</strong>. Results for translation into Czech.</div></div><!--kg-card-begin: html--><table>
<thead>
<tr>
<th style="text-align: center"><strong>LLMs</strong></th>
<th style="text-align: center"><strong>Consistency in  long texts</strong></th>
<th style="text-align: center"><strong>Gender-neutral   language</strong></th>
<th style="text-align: center"><strong>Cultural  adaptation</strong></th>
<th style="text-align: center"><strong>Accuracy</strong></th>
<th style="text-align: center"><strong>Fluency</strong></th>
<th style="text-align: center"><strong>Total  Score</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center">ChatGPT</td>
<td style="text-align: center">5</td>
<td style="text-align: center">5</td>
<td style="text-align: center">5</td>
<td style="text-align: center">4</td>
<td style="text-align: center">5</td>
<td style="text-align: center">24</td>
</tr>
<tr>
<td style="text-align: center">EuroLLM</td>
<td style="text-align: center">5</td>
<td style="text-align: center">5</td>
<td style="text-align: center">3</td>
<td style="text-align: center">2</td>
<td style="text-align: center">2</td>
<td style="text-align: center">17</td>
</tr>
</tbody>
</table><!--kg-card-end: html--><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>Table 2</strong>. Results for translation into Greek.</div></div><!--kg-card-begin: html--><table>
<thead>
<tr>
<th style="text-align: center"><strong>LLMs</strong></th>
<th style="text-align: center"><strong>Consistency in  long texts</strong></th>
<th style="text-align: center"><strong>Gender-neutral   language</strong></th>
<th style="text-align: center"><strong>Cultural  adaptation</strong></th>
<th style="text-align: center"><strong>Accuracy</strong></th>
<th style="text-align: center"><strong>Fluency</strong></th>
<th style="text-align: center"><strong>Total  Score</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center">ChatGPT</td>
<td style="text-align: center">5</td>
<td style="text-align: center">5</td>
<td style="text-align: center">5</td>
<td style="text-align: center">5</td>
<td style="text-align: center">4</td>
<td style="text-align: center">20</td>
</tr>
<tr>
<td style="text-align: center">EuroLLM</td>
<td style="text-align: center">5</td>
<td style="text-align: center">4</td>
<td style="text-align: center">3</td>
<td style="text-align: center">3</td>
<td style="text-align: center">1</td>
<td style="text-align: center">16</td>
</tr>
</tbody>
</table><!--kg-card-end: html--><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>Table 3</strong>. Results for translation into Polish.</div></div><!--kg-card-begin: html--><table>
<thead>
<tr>
<th style="text-align: center"><strong>LLMs</strong></th>
<th style="text-align: center"><strong>Consistency in  long texts</strong></th>
<th style="text-align: center"><strong>Gender-neutral   language</strong></th>
<th style="text-align: center"><strong>Cultural  adaptation</strong></th>
<th style="text-align: center"><strong>Accuracy</strong></th>
<th style="text-align: center"><strong>Fluency</strong></th>
<th style="text-align: center"><strong>Total  Score</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center">ChatGPT</td>
<td style="text-align: center">5</td>
<td style="text-align: center">4</td>
<td style="text-align: center">4</td>
<td style="text-align: center">5</td>
<td style="text-align: center">3</td>
<td style="text-align: center">21</td>
</tr>
<tr>
<td style="text-align: center">EuroLLM</td>
<td style="text-align: center">2</td>
<td style="text-align: center">4</td>
<td style="text-align: center">3</td>
<td style="text-align: center">3</td>
<td style="text-align: center">3</td>
<td style="text-align: center">15</td>
</tr>
</tbody>
</table><!--kg-card-end: html--><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>Table 4</strong>. Results for translation into Spanish.</div></div><h2 id="and-the-winner-is">🥇 And the winner is… <a class="markdownit-header-anchor" href="#and-the-winner-is">🔗</a></h2><p>When I first heard of EuroLLM, my expectations were unreasonably high. Finally, a European open-source initiative bold enough to take on the US giants. 👏 Sure, prompting via Command Panel instead of a slick interface wasn't exactly user-friendly, but I was ready to put up with it in the name of groundbreaking results.</p><p>But those never happened.</p><p><strong>EuroLLM isn't bad. But it's not there yet, either</strong>. The model still has a long way to go before it can genuinely rival the industry giants. As the Spanish test results showed, <strong>EuroLLM doesn't always prioritize European vocabulary or cultural nuance</strong>. It stumbles in other areas, too. The ambition is great, but for it's more of a work in progress than a game-changing solution — at least when it comes to translation.</p><p>Hopefully, the model will improve with time, and one day it will offer a real, European-focused alternative. <strong>Until then, the industry giants remain giants for a reason</strong>, so if you're looking for an LLM-powered translation, turn your focus there.</p>]]></content:encoded>
            <author>Dorota Pawlak</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/04/localazy-AI-series_05-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Beyond interpolation: multiple plurals, genders and building lists]]></title>
            <link>https://localazy.com/blog/beyond-interpolation-multiple-plurals-genders-and-building-lists</link>
            <guid isPermaLink="false">beyond-interpolation-multiple-plurals-genders-and-building-lists</guid>
            <pubDate>Wed, 09 Apr 2025 11:07:55 GMT</pubDate>
            <description><![CDATA[Relying on interpolation to structure your localization project is tempting, but it can lead to problems down the road. Learn how to deal with six common scenarios for variables — plus, get a few tips to handle placeholders, formatting, and HTML tags.]]></description>
            <content:encoded><![CDATA[<p>We say it all the time, but we'll say it again: localization is much more than simply translating words — it involves handling grammar, context, and cultural nuances. 👀  For developers, this means that <strong>relying on string concatenation or naïve interpolation can lead to issues that make your app sound awkward or even produce incorrect messages</strong> in certain languages. </p><p>In this article, we discuss common risks and how to solve them.</p><h2 id="avoiding-string-concatenation">✚ Avoiding string concatenation <a class="markdownit-header-anchor" href="#avoiding-string-concatenation">🔗</a></h2><p>Building sentences by concatenating strings (e.g., <code>"Welcome, " + username</code>) forces a fixed word order that may work in one language (like English) but will break in languages with different syntax. Splitting sentences into fragments also deprives translators of context and produces less natural-sounding translations.</p><h3 id="solution">Solution <a class="markdownit-header-anchor" href="#solution">🔗</a></h3><p><strong>Always externalize the entire sentence as a single translatable string </strong>with <a href="https://localazy.com/dictionary/placeholder">placeholders</a>. This way, translators can reorder placeholders as needed.</p><h3 id="example">Example <a class="markdownit-header-anchor" href="#example">🔗</a></h3><p><code>en.json</code></p><pre><code>{
  "greeting": "Welcome, {username}."
}</code></pre><p><code>code.js</code></p><pre><code>// Assume getString is a function that retrieves and formats the translation.
const username = "Alice";
const greeting = getString("greeting", { username });
console.log(greeting); // "Welcome, Alice."</code></pre><h2 id="dealing-with-plurals-effectively">👬 Dealing with plurals effectively <a class="markdownit-header-anchor" href="#dealing-with-plurals-effectively">🔗</a></h2><p>Different languages have varied <a href="https://localazy.com/dictionary/pluralization">pluralization</a> rules. A naïve approach like <code>const message = count + " file" + (count !== 1 ? "s" : "");</code> works in English, but fails for languages with a different number of plural forms. The Czech language has three of them, Arabic six, and in Japanese, there is only one form as they don't distinguish between singular and plural in language syntax.</p><h3 id="solution">Solution <a class="markdownit-header-anchor" href="#solution">🔗</a></h3><p><strong><a href="https://localazy.com/docs/general/translating-plurals?srsltid=AfmBOoobGaGsyyinQHSU53G14V3JvzXPcWs-yZ22Xxef4M0bhYKmm4rV">Define plural resources</a> in your localizable files and let the localization engine select the correct variant</strong>.</p><h3 id="example">Example <a class="markdownit-header-anchor" href="#example">🔗</a></h3><p><code>en.json</code></p><pre><code>{
  "file_count": {
    "one": "{count} file",
    "other": "{count} files"
  }
}</code></pre><p><code>code.js</code></p><pre><code>// Assume getPluralizedString is a function that retrieves and formats the pluralized translation.
const count = 3;
const fileMessage = getPluralizedString("file_count", count, { count });
console.log(fileMessage); // "3 files" (assuming English rules)</code></pre><h2 id="handling-multiple-plurals-in-one-string">🪢 Handling multiple plurals in one string <a class="markdownit-header-anchor" href="#handling-multiple-plurals-in-one-string">🔗</a></h2><p>Some sentences contain more than one pluralized element (e.g., <code>{count1} apples and {count2} oranges</code>). Managing multiple plural forms in one sentence without bloating your code can be challenging.</p><h3 id="solution">Solution <a class="markdownit-header-anchor" href="#solution">🔗</a></h3><p><strong>Define separate plural objects for each element and then combine them within a template string</strong>.</p><h3 id="examples">Examples <a class="markdownit-header-anchor" href="#examples">🔗</a></h3><p><code>en.json</code></p><pre><code>{
  "num_apples": {
    "one": "{count} apple",
    "other": "{count} apples"
  },
  "num_oranges": {
    "one": "{count} orange",
    "other": "{count} oranges"
  },
  "fruit_summary": "{apples} and {oranges}."
}</code></pre><p><code>code.js</code></p><pre><code>const appleCount = 2;
const orangeCount = 5;
const applesText = getPluralizedString("num_apples", appleCount, { count: appleCount });
const orangesText = getPluralizedString("num_oranges", orangeCount, { count: orangeCount });
const summary = getString("fruit_summary", { apples: applesText, oranges: orangesText });
console.log(summary); // "2 apples and 5 oranges."</code></pre><h2 id="formatting-variable-lists">✍️ Formatting variable lists <a class="markdownit-header-anchor" href="#formatting-variable-lists">🔗</a></h2><p>Sometimes, you need to display a list of items that can vary in length — for example, <code>"Alice, Bob, and Charlie"</code>, or <code>"Alice and Bob"</code> (if only two names), or just <code>"Alice"</code> (if one name). Constructing such lists in a localization-friendly way is challenging. <strong>Different languages have different conventions for list formatting</strong>: the separator (comma, semicolon, etc.) and the word for “and” or “or” might change, and some languages don’t use the Oxford comma or use a different conjunction.</p><h3 id="solution">Solution <a class="markdownit-header-anchor" href="#solution">🔗</a></h3><p>The safest approach is to <strong>use localization libraries or APIs that know how to format lists for each locale</strong>.</p><p>If such an option is unavailable, <strong>building a list using patterns</strong> is another possible solution:</p><ul><li><code>two</code> = “{0} and {1}” <em>(for exactly two items)</em></li><li><code>start</code> = “{0}, {1}” <em>(for the beginning of a list)</em></li><li><code>middle</code> = “{0}, {1}” <em>(for the middle of a list)</em></li><li><code>end</code> = “{0}, and {1}” <em>(for the end of a list)</em></li></ul><h3 id="example">Example <a class="markdownit-header-anchor" href="#example">🔗</a></h3><p><code>en.json</code></p><pre><code>{
  "listPattern": {
    "two": "{0} and {1}",
    "start": "{0}, {1}",
    "middle": "{0}, {1}",
    "end": "{0}, and {1}"
  }
}</code></pre><p><code>code.js</code></p><pre><code>// Helper function to replace placeholders {0} and {1} in a pattern.
function formatWithPattern(pattern, a, b) {
  return pattern.replace("{0}", a).replace("{1}", b);
}

// Formats an array of items into a localized list string.
// Uses different patterns based on the number of items.
function formatLocalizedList(items, locale = "en") {
  const patterns = listPattern[locale] || listPattern["en"];
  const n = items.length;
  if (n === 0) return "";
  if (n === 1) return items[0];
  if (n === 2) return formatWithPattern(patterns.two, items[0], items[1]);
    
  // For three or more, we add start, all the middle items and then the last one.
  let result = formatWithPattern(patterns.start, items[0], items[1]);
  for (let i = 2; i &lt; n - 1; i++) {
    result = formatWithPattern(patterns.middle, result, items[i]);
  }
  result = formatWithPattern(patterns.end, result, items[n - 1]);
  
  return result;
}</code></pre><h2 id="handling-overflow-counts-in-variable-lists">📋 Handling overflow counts in variable lists <a class="markdownit-header-anchor" href="#handling-overflow-counts-in-variable-lists">🔗</a></h2><p>Often, you may display a preview of items followed by an overflow count (e.g., “You have A, B, C and two more”). While in English “more” is uniform, other languages may require different forms depending on the number.</p><h3 id="solution">Solution <a class="markdownit-header-anchor" href="#solution">🔗</a></h3><p><strong>Separate the preview list from the overflow count</strong>. Define a plural resource for the overflow message so that plural logic is handled externally.</p><h3 id="example">Example <a class="markdownit-header-anchor" href="#example">🔗</a></h3><p><code>en.json</code></p><pre><code>{
  "overflow_list": "You have {items} and {more}.",
  "x_more": {
    "one": "{count} more",
    "other": "{count} more"
  }
}</code></pre><p><code>cs.json</code></p><pre><code>{
  "overflow_list": "Máte {items} a {more}.",
  "x_more": {
    "one": "{count} další",
    "few": "{count} další",
    "other": "{count} dalších"
  }
}</code></pre><p><code>code.js</code></p><pre><code>const itemsList = "A, B, C"; // Pre-formatted - see "Formatting Variable Lists" above.
const extraCount = 5;
const moreText = getPluralizedString("x_more", extraCount, { count: extraCount });
const overflowMessage = getTranslation("overflow_list", { items: itemsList, more: moreText });
console.log(overflowMessage); 
// English: "You have A, B, C and 5 more."
// Czech: "Máte A, B, C a 5 dalších."</code></pre><h2 id="gender-and-grammatical-agreement">🤝 Gender and grammatical agreement <a class="markdownit-header-anchor" href="#gender-and-grammatical-agreement">🔗</a></h2><p>Languages with grammatical gender require different word forms based on the subject’s gender. For example, a message like “{user} has updated his profile” must change if the user is female or if a gender-neutral term is needed. Simple concatenation does not allow for these variations.</p><h3 id="solution">Solution <a class="markdownit-header-anchor" href="#solution">🔗</a></h3><p>Define gender-specific messages in your translation JSON. <strong>Use separate keys for each gender variant</strong> (e.g., <code>male</code>, <code>female</code>, <code>other</code>), and choose the correct one based on the context provided in your code.</p><h3 id="example">Example <a class="markdownit-header-anchor" href="#example">🔗</a></h3><p><code>en.json</code></p><pre><code>{
  "profile_message": {
    "male": "{user} has updated his profile.",
    "female": "{user} has updated her profile.",
    "other": "{user} has updated their profile."
  }
}</code></pre><p><code>code.json</code></p><pre><code>// Function to get gender-specific translation based on a user's gender.
function getProfileMessage(user, gender) {
  // Assume getStringByGender is a helper that selects the right message
  return getStringByGender("profile_message", gender, { user });
}

// Example usage:
const user = "Jordan";
const gender = "female"; // Could be 'male', 'female', or 'other'
const profileMessage = getProfileMessage(user, gender);
console.log(profileMessage); // "Jordan has updated her profile."</code></pre><h2 id="a-few-extra-tips">💬 A few extra tips <a class="markdownit-header-anchor" href="#a-few-extra-tips">🔗</a></h2><h3 id="ordering-and-positional-placeholders">Ordering and positional placeholders <a class="markdownit-header-anchor" href="#ordering-and-positional-placeholders">🔗</a></h3><p>Different languages may require dynamic parts in a different order. <strong>Use named placeholders so that translators can reorder them without losing context</strong>. If named, the placeholders carry the context.</p><h3 id="inconsistent-formatting-of-numbers-dates-currencies-and-units">Inconsistent formatting of numbers, dates, currencies, and units <a class="markdownit-header-anchor" href="#inconsistent-formatting-of-numbers-dates-currencies-and-units">🔗</a></h3><p>Using interpolation with raw numbers or dates can lead to confusion since it bypasses locale-aware formatting. <strong>Always format numbers, dates, and currencies using locale-specific utilities before insertion</strong>. You should also consider how to display units (kilometers vs. miles, Celsius vs. Fahrenheit, etc.).</p><h3 id="html-tags">HTML tags <a class="markdownit-header-anchor" href="#html-tags">🔗</a></h3><p>Avoid using HTML and other formatting tags if possible. It can be confusing for translators. <strong>Prefer using non-translatable templates</strong>.</p><p><code>templates.json</code></p><pre><code>{
  "title": "&lt;h1&gt;{title}&lt;/h1&gt;"
}</code></pre><h2 id="icu-message-format">📚 ICU Message Format <a class="markdownit-header-anchor" href="#icu-message-format">🔗</a></h2><p>In addition to the approaches discussed above, <strong>the <a href="https://localazy.com/dictionary/icu-message-format/">ICU Message Format</a> standard offers a powerful, cross-platform solution</strong> for common interpolation issues. It allows you to <strong>embed pluralization, gender variations, and argument reordering directly within a single message string</strong>, ensuring that translations are grammatically correct and contextually appropriate. It simplifies the localization process and can be integrated into various platforms and programming environments to handle complex language rules.</p><p>However, all the approaches discussed above apply, and it's important to remember them to use ICU Message Format correctly.</p><h2 id="how-localazy-handles-placeholders">💙 How Localazy handles placeholders <a class="markdownit-header-anchor" href="#how-localazy-handles-placeholders">🔗</a></h2><p>Even when following best practices, <strong>rules can be bent, and subtle issues can still arise</strong>, like translating placeholder names literally by accident, which could break your code. <a href="https://localazy.com/features/code-and-placeholders/">Localazy's built-in validation</a> warns about missing or misplaced placeholders and potential issues before they reach your users.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/04/image.png" class="kg-image" alt loading="lazy" width="738" height="375" srcset="https://ghost.localazy.com/content/images/size/w600/2025/04/image.png 600w, https://ghost.localazy.com/content/images/2025/04/image.png 738w" sizes="(min-width: 720px) 720px"></figure><p>Localazy <strong>automatically identifies placeholders in various formats</strong> (whether they're ICU-style <code>{variable}</code>, JavaScript template literals <code>${variable}</code>, or other common formats) and highlights them during translation. 🕵️‍♀️ This ensures that translators can see and maintain these elements while having the freedom to reorganize sentences as needed for their language.</p><p>Plus, <a href="https://localazy.com/features/plurals/">our support for pluralization</a> means you don't need to handle the complex plural rules discussed above manually. <strong>The correct forms are automatically applied based on the target language and your i18n library</strong>. This approach keeps your codebase clean while ensuring your app speaks naturally to users worldwide.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>As you can see, avoiding string concatenation and naïve interpolation with complete sentence externalization and placeholders frees you from unexpected problems in your localization project in the future. Your messages will be grammatically correct and contextually appropriate in every language — and, most importantly, <strong>you will have an easier-to-maintain, cleaner codebase</strong>. </p><p>The end result will be <strong>a more natural user experience for your international audience</strong>. We hope these tips helped. Happy coding! 🧑‍💻</p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/04/beyond-interpolation-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Setting up i18n in your React app from day one]]></title>
            <link>https://localazy.com/blog/setting-up-i18n-in-your-react-app-from-day-one</link>
            <guid isPermaLink="false">setting-up-i18n-in-your-react-app-from-day-one</guid>
            <pubDate>Fri, 04 Apr 2025 18:17:15 GMT</pubDate>
            <description><![CDATA[Building a React app? Learn how to integrate internationalization properly from the beginning to simplify localization later and avoid codebase rewrites.]]></description>
            <content:encoded><![CDATA[<p>Most developers think setting up i18n early is unnecessary when launching with just one language. It feels like <a href="https://localazy.com/blog/mythbusters-start-localization-once-product-is-done">something to deal with later</a>, once the product gains traction or expands to new markets.</p><p>However, <strong>when localization becomes necessary, the code is already full of hardcoded text</strong>. When you try to force it, UI elements break when translations don't fit, and pluralization rules start causing unexpected issues. Fixing it at that stage can be overwhelming and time-consuming.</p><p>This guide <strong>walks you step by step to getting i18n right from the start</strong>. You'll learn to choose the right tools, set up translations, handle tricky cases like pluralization and date formatting, and test multilingual readiness.</p><blockquote>👀 Looking for a quick intro to React localization? Check out <a href="https://localazy.com/blog/how-to-localize-react-app-with-react-i18next-and-localazy?utm_source=google&amp;utm_medium=cpc&amp;utm_term&amp;campaign_id=21962905628&amp;ad_group_id=171218343013&amp;ad_id=724827034005&amp;match_type&amp;target=dsa-436256354107&amp;gad_source=1&amp;gbraid=0AAAAACP68mWHlra-J7KEz_244993KcIrm&amp;gclid=Cj0KCQjwhr6_BhD4ARIsAH1YdjCFKCopP93tkDphIzTdO5OaYaiGTjYUo3Gx90-wGM02Yok2oumv7jIaAjMMEALw_wcB">this article</a>.</blockquote><h2 id="choosing-the-right-i18n-tool">🔦 Choosing the right i18n tool <a class="markdownit-header-anchor" href="#choosing-the-right-i18n-tool">🔗</a></h2><p>Before you start implementation, it's important to choose the best tool for the job. There are many i18n libraries, but not all of them are designed for the same use cases. Some are lightweight and flexible, while others provide more structured formatting options.</p><p><strong>For this guide, we will use <a href="https://localazy.com/dictionary/i18next?srsltid=AfmBOop8Wz_i1v80tCGl6QugFyeot758x9PRRfXReSYU8uBk9yQfyJjG" rel="noopener noreferrer nofollow">i18next</a>, as it's one of the most widely used i18n frameworks</strong>. It <a href="https://www.i18next.com/overview/supported-frameworks" rel="noopener noreferrer nofollow">supports multiple frontend and backend frameworks</a>, including React, Vue, Angular, Node.js, and even mobile platforms like Flutter. It also <strong>handles pluralization, lazy loading, namespaces, and dynamic translation updates</strong>, making it a solid choice for scalable applications.</p><p>If you're working in React and want something more structured, <a href="https://formatjs.github.io/docs/react-intl/" rel="noopener noreferrer nofollow">react-intl</a> (part of Format.js) offers built-in formatting components like <code>&lt;FormattedNumber&gt;</code> and <code>&lt;FormattedDate&gt;</code>. It also follows ICU message syntax, making pluralization and message interpolation more robust, <strong>but it's React-only</strong>.</p><p>When the time comes to manage the translations, <strong>Localazy integrates with these libraries to automate updates</strong> and allow teams to work with translators without modifying the codebase.</p><h2 id="setting-up-i18n-in-a-react-project">🧰 Setting up i18n in a React project <a class="markdownit-header-anchor" href="#setting-up-i18n-in-a-react-project">🔗</a></h2><p>Now that you've chosen i18next to handle translations and Localazy to manage them, it's time to set up internationalization in your React app. This step will cover installing dependencies, setting up translation files, and integrating Localazy for translation management.</p><h3 id="first-steps">First steps <a class="markdownit-header-anchor" href="#first-steps">🔗</a></h3><ol><li>If you don't already have a React project, use the commands below to create a new project with <a href="https://vite.dev/guide/#scaffolding-your-first-vite-project" rel="noopener noreferrer nofollow">Vite</a>:</li></ol><pre><code>npm create vite@latest my-i18n-app -- --template react
cd my-i18n-app
npm install</code></pre><p>2. Once the installation is done, run <code>npm run dev</code> to start the development server. This will launch your React app at <code>http://localhost:5173/</code>.</p><p>3. Next, install the required dependencies for localization:</p><pre><code>npm install i18next react-i18next i18next-http-backend i18next-browser-languagedetector</code></pre><p>Each of these libraries plays a specific role:</p><ul><li><a href="https://www.npmjs.com/package/i18next" rel="noopener noreferrer nofollow"><code><strong>i18next</strong></code></a>: The core internationalization library that handles translations, pluralization, and formatting.</li><li><a href="https://www.npmjs.com/package/react-i18next" rel="noopener noreferrer nofollow"><code><strong>react-i18next</strong></code></a>: A React-specific integration that allows you to use translations inside components.</li><li><a href="https://www.npmjs.com/package/i18next-http-backend" rel="noopener noreferrer nofollow"><code><strong>i18next-http-backend</strong></code></a>: Enables loading translation files dynamically from an external source, such as Localazy or a remote API.</li><li><strong><code><a href="https://www.npmjs.com/package/i18next-browser-languagedetector" rel="noopener noreferrer nofollow">i18next-browser-languagedetector</a></code></strong>: Detects the user's preferred language based on browser settings and previous selections.</li></ul><p>4. After installing all the specified libraries, create a new file in the <code>src</code> folder called <code>i18n.js</code> and configure <code>i18next</code>:</p><pre><code class="language-javascript">
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import LanguageDetector from 'i18next-browser-languagedetector';
import Backend from 'i18next-http-backend';

i18n
  .use(Backend)
  .use(LanguageDetector)
  .use(initReactI18next)
  .init({
    debug: true,
    fallbackLng: 'en',
    backend: {
      loadPath: '/locales/{{lng}}.json',
    },
  });

export default i18n;</code></pre><p>This initializes i18next with support for loading translations dynamically and detecting the user's language. The <code>fallbackLng</code> option <strong>makes the app default to English if a translation is missing</strong>.</p><p>5. After setting up the <code>i18n.js</code> configuration file, import it into <code>main.jsx</code> so that the translation setup is loaded globally before your application renders. This step makes translations available to every component in your app <strong>without requiring manual imports in each file</strong>.</p><p>Open <code>main.jsx</code> and import the <code>i18n.js</code> file:</p><pre><code class="language-javascript">import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App";
import "./i18n"; // Import the i18n configuration

ReactDOM.createRoot(document.getElementById("root")).render(
  &lt;React.StrictMode&gt;
    &lt;App /&gt;
  &lt;/React.StrictMode&gt;
);</code></pre><p>By doing this, i18next is initialized before the React app renders, making translations available everywhere in your application.</p><h3 id="organizing-translation-files">Organizing translation files <a class="markdownit-header-anchor" href="#organizing-translation-files">🔗</a></h3><p>For your React project, you will notice that the configuration file in i18n.js <strong>specifies the path from which i18next will load translations</strong>.</p><p>Vite serves static files from the public directory, so create the following structure:</p><pre><code>
/public/locales
  ├── en.json</code></pre><p>For most projects, <strong>it's better to keep all translations in one file per language </strong>(<code>locales/en.json</code>, <code>locales/fr.json</code>). This keeps things easy to manage, avoids unnecessary fragmentation, and works well with CI/CD pipelines and translation management tools.</p><p>If your translation file starts getting too large, with hundreds or thousands of keys, <strong>consider splitting it by feature or UI section</strong> (e.g., <code>auth.json</code>, <code>dashboard.json</code>). However, avoid breaking it down into arbitrary categories like "words" or "phrases" that make things harder to find.</p><pre><code>/locales  
  /en  
    common.json  
    auth.json  
    dashboard.json  
  /fr  
    common.json  
    auth.json  
    dashboard.json  </code></pre><p>Since you'll be using Localazy to manage translations, <strong>you only need to create the English (source) translations</strong>. You don't need to manually add multiple language files immediately, as Localazy will help you manage and pull other languages automatically when needed.</p><p>This is especially useful when setting up a project that doesn't require localization yet. Once additional languages are needed, you simply sync them with Localazy without changing the app's core functionality. </p><p>Beyond file structure, <strong>how you name your keys also plays a big role</strong> in keeping your translations manageable.</p><h3 id="naming-your-translation-keys">Naming your translation keys <a class="markdownit-header-anchor" href="#naming-your-translation-keys">🔗</a></h3><p>How you structure translation keys makes a huge difference in readability and maintainability. A common mistake is using flat or unclear keys like this:</p><pre><code class="language-javascript">{
  "news_title": "Latest News",
  "article_title": "React 19 Is Coming!",
  "article_content": "The next major version of React is set to release with improved performance, new hooks, and better server-side rendering.",
  "learn_more": "To learn more, visit &lt;1&gt;React docs&lt;/1&gt;."
}</code></pre><p>At first glance, this structure might seem simple, but <strong>it becomes difficult to maintain as your app grows</strong>. There's no clear hierarchy, making it harder to find and organize translations. If a new feature related to news articles is added, it would be unclear how to fit the translations into this structure without creating long and repetitive key names (e.g., <code>"news_page_article_title"</code>).</p><p>A better approach is to group related translations together in a hierarchical structure:</p><pre><code class="language-javascript">{
  "news": {
    "title": "Latest News",
    "article": {
      "title": "React 19 Is Coming!",
      "content": "The next major version of React is set to release with improved performance, new hooks, and better server-side rendering."
    },
  },
  "instructions": "To learn more, visit &lt;1&gt;React docs&lt;/1&gt;."
}</code></pre><p>Now, every translation key has context. Add the initial translations above in the en.json file.</p><h3 id="updating-appjsx-to-use-translations">Updating App.jsx to use translations <a class="markdownit-header-anchor" href="#updating-appjsx-to-use-translations">🔗</a></h3><p>At this point, your application is set up to load translations dynamically. Modify App.jsx to display translations using <code>useTranslation</code> from <code>react-i18next</code>:</p><pre><code class="language-javascript">import { Suspense } from "react";
import "./App.css";
import { useTranslation, Trans } from "react-i18next";

function App() {
  const { t, i18n } = useTranslation();

  return (
    &lt;div className="App"&gt;
      &lt;h1&gt;{t("news.title")}&lt;/h1&gt;
      &lt;article&gt;
        &lt;h2&gt;{t("news.article.title")}&lt;/h2&gt;
        &lt;p&gt;{t("news.article.content")}&lt;/p&gt;
      &lt;/article&gt;
      &lt;p&gt;
        &lt;Trans i18nKey="instructions"&gt;
          To learn more, visit &lt;a href="https://reactjs.org"&gt;React docs&lt;/a&gt;.
        &lt;/Trans&gt;
      &lt;/p&gt;
    &lt;/div&gt;
  );

export default function WrappedApp() {
  return (
    &lt;Suspense fallback="...loading translations"&gt;
      &lt;App /&gt;
    &lt;/Suspense&gt;
  );
}</code></pre><p>Here, <code>t("key")</code> fetches translations from the JSON file. This is the standard way of retrieving localized text for headings, paragraphs, and other UI elements.</p><p>For cases where translations contain HTML elements, such as links inside sentences, you can use <code>&lt;Trans&gt;</code>. This allows JSX elements like <code>&lt;a&gt;</code> to be preserved inside translations without requiring developers to split and concatenate strings manually. <strong>This is particularly useful when working with non-developers or external translation teams, as it keeps the translation files clean and structured</strong>.</p><p>Since i18next loads translations asynchronously, it's essential to wrap the app in <code>&lt;Suspense&gt;</code> to make sure it does not break while translations are being retrieved. If translations take a moment to load, the placeholder <code>"...loading translations"</code> will be displayed instead of showing an empty screen or broken text.</p><h3 id="handling-dynamic-text">Handling dynamic text <a class="markdownit-header-anchor" href="#handling-dynamic-text">🔗</a></h3><p>Before getting into how Localazy handles translations, let's see how to manage dynamic text properly in i18n.</p><p>A common mistake developers make is <strong>manually concatenating strings when inserting <a href="https://localazy.com/docs/cli/variables/">variables</a></strong> like usernames or numbers:</p><pre><code>const { t } = useTranslation();
const username = "David";

return &lt;p&gt;{t("hello")} {username}!&lt;/p&gt;;</code></pre><p>If the translation file contains:</p><pre><code>{
  "hello": "Hello"
}</code></pre><p>It works fine in English but breaks in languages with different sentence structures. For example, in Spanish, a greeting might be:</p><pre><code>{
  "hello": "¡Hola, {{name}}!"
}</code></pre><p>So, instead of concatenating, use placeholders inside the translation file:</p><pre><code>{
  "news": {
    "title": "Latest News",
    "articles": {
      "react19": {
        "title": "React 19 Is Coming!",
        "content": "The next major version of React is set to release with improved performance, new hooks, and better server-side rendering."
      }
    }
  },
  "greetings": {
    "hello_user": "Hello, {{name}}! Welcome back to the latest news."
  },
  "instructions": "To learn more, visit &lt;1&gt;React docs&lt;/1&gt;."
}</code></pre><p>Then, in your component:</p><pre><code>const { t } = useTranslation();
const username = "David";

return &lt;p&gt;{t("greetings.hello_user", { name: username })}&lt;/p&gt;;</code></pre><p>This keeps translations flexible and grammatically correct across all languages.</p><h2 id="integrating-localazy-for-translation-management">🥣 Integrating Localazy for translation management <a class="markdownit-header-anchor" href="#integrating-localazy-for-translation-management">🔗</a></h2><p>Instead of manually creating and updating translation files, you can use Localazy to handle translations more efficiently. You'll just need to upload your source language files, translate them through the platform, and then pull the translated content into your project. This way, <strong>you can add new languages without editing translation files directly.</strong></p><h3 id="the-process">The process <a class="markdownit-header-anchor" href="#the-process">🔗</a></h3><ol><li>First, install the <a href="https://localazy.com/docs/cli" rel="noopener noreferrer nofollow">Localazy CLI</a>, which helps you sync translations between your project and the platform.</li></ol><p><code>npm install -g @localazy/cli</code></p><p>The command above installs Localazy globally so you can use it anywhere in your terminal.</p><p>2. Next, you need to create a <code>localazy.json</code> file in the root of your project. This file defines which translation files to upload, the source language, and where to store downloaded translations. Instead of specifying just one file, <strong>you can configure it to handle multiple files using an array</strong>, which is useful for projects with structured translation files.</p><pre><code class="language-javascript">{
  "writeKey": "YOUR_WRITE_KEY_HERE",
  "readKey": "YOUR_READ_KEY_HERE",
  "upload": {
    "files": [
      "public/locales/en.json",
      {
        "pattern": "public/locales/*.json"
      }
    ],
    "language": "en"
  },
  "download": {
    "files": "public/locales/${lang}.json"
  }
}</code></pre><p>This setup ensures that all JSON translation files inside public/locales/ <strong>are automatically uploaded rather than needing to specify each file manually</strong>. If the project grows and you introduce namespaced translation files at some point (e.g., separate files for authentication, dashboard, or settings), Localazy will handle them without extra configuration.</p><p>3. Now that Localazy is configured, <strong>upload your source keys</strong> to make them available for translation via <code>localazy upload</code>.</p><p>This command sends <code>public/locales/en.json</code> to Localazy, where translators, team members, or machine translation tools can begin adding translations.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropboxusercontent.com/s_75C12705ED53D91204F6FBA65FA5D82C30AAE9B9D52E96CE61E0FCEB1E2B6D6D_1739754792582_image.png" class="kg-image" alt loading="lazy"><figcaption>Uploading source translations to Localazy.</figcaption></figure><p>4. Once the upload is complete, <strong>you can proceed to add new languages</strong>. Localazy provides several ways to translate content:</p><ul><li>📝 <a href="https://localazy.com/docs/general/translating-strings">Manually enter translations</a> for each language.</li><li>🦾 Use <a href="https://localazy.com/features/machine-translation/">automatic machine translation</a> to generate translations instantly.</li></ul><p>To apply MT, select the language you want to translate into and click the machine translation option.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropboxusercontent.com/s_75C12705ED53D91204F6FBA65FA5D82C30AAE9B9D52E96CE61E0FCEB1E2B6D6D_1739754406765_image.png" class="kg-image" alt loading="lazy"><figcaption>Selecting a language for machine translation.</figcaption></figure><p>Then, choose your preferred translation service and click <strong>Confirm</strong>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropboxusercontent.com/s_75C12705ED53D91204F6FBA65FA5D82C30AAE9B9D52E96CE61E0FCEB1E2B6D6D_1739754463226_image.png" class="kg-image" alt loading="lazy"><figcaption>Choosing a machine translation service.</figcaption></figure><p>5. When the texts are translated, <strong><a href="https://localazy.com/docs/general/reviewing-translations">you can review them</a> to verify their accuracy </strong>before confirming them and downloading them into your project with <code>localazy download</code>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropboxusercontent.com/s_75C12705ED53D91204F6FBA65FA5D82C30AAE9B9D52E96CE61E0FCEB1E2B6D6D_1739754846108_image.png" class="kg-image" alt loading="lazy"><figcaption>Reviewing machine-translated content.</figcaption></figure><p>This pulls all available translations from Localazy and places them in the <code>/public/locales/</code> directory. If French (<code>fr</code>) and German (<code>de</code>) translations exist, the directory structure will now look like this:</p><pre><code>/public/locales
  ├── en.json
  ├── fr.json
  ├── de.json</code></pre><p>At this point, <code>i18next</code> will automatically detect the user's preferred language <strong>and load the correct translations without additional configuration</strong>.</p><h2 id="how-to-switch-between-languages">💬 How to switch between languages <a class="markdownit-header-anchor" href="#how-to-switch-between-languages">🔗</a></h2><p>Now that your app supports multiple languages, you need a way for users to switch between them. Since i18next handles language changes dynamically, you can simply update the language setting when a user selects a different language.</p><p>Modify <code>App.jsx</code> to include language-switching buttons:</p><pre><code class="language-javascript">
import { Suspense } from "react";
import "./App.css";
import { useTranslation, Trans } from "react-i18next";

const lngs = {
  en: { nativeName: "English" },
  fr: { nativeName: "French" },
  de: { nativeName: "German" },
};

function App() {
  const { t, i18n } = useTranslation();

  return (
    &lt;div className="App"&gt;
      &lt;h1&gt;{t("news.title")}&lt;/h1&gt;
      &lt;div&gt;
        {Object.keys(lngs).map((lng) =&gt; (
          &lt;button
            key={lng}
            style={{ fontWeight: i18n.resolvedLanguage === lng ? "bold" : "normal" }}
            type="button"
            onClick={() =&gt; i18n.changeLanguage(lng)}
          &gt;
            {lngs[lng].nativeName}
          &lt;/button&gt;
        ))}
      &lt;/div&gt;
      &lt;article&gt;
        &lt;h2&gt;{t("news.article.title")}&lt;/h2&gt;
        &lt;p&gt;{t("news.article.content")}&lt;/p&gt;
      &lt;/article&gt;
      &lt;p&gt;
        &lt;Trans i18nKey="instructions"&gt;
          To learn more, visit &lt;a href="https://reactjs.org"&gt;React docs&lt;/a&gt;.
        &lt;/Trans&gt;
      &lt;/p&gt;
    &lt;/div&gt;
  );
}

export default function WrappedApp() {
  return (
    &lt;Suspense fallback="...loading translations"&gt;
      &lt;App /&gt;
    &lt;/Suspense&gt;
  );
}</code></pre><p>In the code above, an object stores the available language options and is looped through to generate buttons dynamically. <strong>When a user clicks a button, <code>i18n.changeLanguage(lng)</code> updates the language instantly</strong>.</p><figure class="kg-card kg-image-card"><img src="https://paper-attachments.dropboxusercontent.com/s_75C12705ED53D91204F6FBA65FA5D82C30AAE9B9D52E96CE61E0FCEB1E2B6D6D_1739777253108_image.png" class="kg-image" alt loading="lazy"></figure><h2 id="handling-pluralization-and-date-formatting">🎲 Handling pluralization and date formatting <a class="markdownit-header-anchor" href="#handling-pluralization-and-date-formatting">🔗</a></h2><p><a href="https://localazy.com/dictionary/pluralization">Pluralization</a> and date formatting can vary significantly across languages. While i18next can automatically handle pluralization in many cases, you often need to integrate additional tools or plugins like ICU or Luxon for more complex scenarios or date formatting.</p><p>Next, you'll learn how to handle both properly in a React project.</p><h3 id="pluralization-with-i18next">Pluralization with i18next <a class="markdownit-header-anchor" href="#pluralization-with-i18next">🔗</a></h3><p><strong>i18next can determine the correct plural form</strong> based on the language's grammar rules <strong>if your keys are structured correctly</strong>. For example, here's a simple pluralization case in the <code>en.json</code> translation file:</p><pre><code>{
  "news": {
    "articlesRead_one": "You have read one article.",
    "articlesRead_other": "You have read {{count}} articles."
  }
}</code></pre><p>In the React component, <code>t()</code> is then used to retrieve the appropriate translation based on the count:</p><pre><code>&lt;p&gt;{t("news.articlesRead", { count: 1 })}&lt;/p&gt;  // "You have read one article."
&lt;p&gt;{t("news.articlesRead", { count: 5 })}&lt;/p&gt; // "You have read 5 articles."</code></pre><p>Here, i18next automatically picks the correct plural form ( <code>_one</code> or <code>_other</code> ) based on the count passed. This works fine for languages that only have two plural forms (singular and plural), like English.</p><p>However, some languages have more than two plural forms, making it difficult to rely on the default _one and _other keys. For example, languages like Russian and Arabic have additional plural forms for different quantities, such as <strong>few, many, or other</strong>.</p><p>You can use <a href="https://localazy.com/dictionary/icu">ICU</a> message syntax to handle languages with more than two plural forms. <strong>This allows you to define all plural forms in a single key and let i18next choose the correct form dynamically</strong>.</p><p>First, install the <a href="https://www.npmjs.com/package/i18next-icu" rel="noopener noreferrer nofollow">i18next-icu</a> plugin, which enables ICU syntax support in i18next:</p><p><code>npm install i18next-icu</code></p><p>In the <code>i18n.js</code> file, use the ICU plugin by adding it to the i18next initialization:</p><pre><code>import ICU from "i18next-icu";

i18n.use(ICU).init({
  fallbackLng: "en",
  debug: true
});</code></pre><p>Instead of defining separate keys for <code>_one</code> and <code>_other</code>, you now use ICU message syntax to handle pluralization. This makes it easier to manage languages with more plural forms:</p><pre><code>{
  "news": {
    "articlesRead": "You have read {count, plural, one {one article} other {# articles}}."
  }
}</code></pre><p>The React component remains the same, but<strong> i18next will now automatically handle plural forms based on the user's language</strong>.</p><h3 id="date-formatting-with-luxon">Date formatting with Luxon <a class="markdownit-header-anchor" href="#date-formatting-with-luxon">🔗</a></h3><p>Just like pluralization, date formats differ across regions. While JavaScript's <code>Intl.DateTimeFormat</code> can handle basic date formatting, <a href="https://moment.github.io/luxon/#/" rel="noopener noreferrer nofollow">Luxon</a> is used in this article because it provides better control over formatting, time zones, and locale-based adjustments.</p><p>To use Luxon, install it in your project:<code>npm install luxon</code>.</p><p>Next, add a custom "formatter" in i18n.js to use Luxon for date formatting. Here's how to do it:</p><pre><code class="language-javascript">import { DateTime } from 'luxon'; 

// other config

i18n.services.formatter.add('DATE_HUGE', (value, lng, options) =&gt; {
  return DateTime.fromJSDate(value)
    .setLocale(lng)
    .toLocaleString(DateTime.DATE_MED);
});

export default i18n;</code></pre><p>You can now use the custom date format in your translation file:</p><pre><code>{
  "footer": {
    "date": "Today is {{date, DATE_HUGE}}"
  }
}</code></pre><p>In the component, use <code>t()</code> to inject the current date into the translation:</p><pre><code>&lt;footer&gt;
  &lt;p&gt;{t("footer.date", { date: new Date() })}&lt;/p&gt;
&lt;/footer&gt;</code></pre><p>Luxon will automatically handle the localization of the date format, making sure it displays correctly in the user's preferred language.</p><h2 id="testing-for-multilingual-readiness">🔍 Testing for multilingual readiness <a class="markdownit-header-anchor" href="#testing-for-multilingual-readiness">🔗</a></h2><p>Proper internationalization of your application involves more than adding translations. It also involves testing to prevent broken translations, missing keys, layout issues, and incorrect pluralization or date formatting.</p><p><strong>One of the most common issues in i18n is missing translations</strong>. i18next provides a built-in way to log missing translations, but you can take it a step further by<strong> automating the detection process</strong>. To log missing translations in the console, update <code>i18n.js</code>:</p><pre><code class="language-javascript">i18n.init({
  fallbackLng: "en",
  debug: true,  // Enable debug mode
  saveMissing: true, // Logs missing keys in development
});</code></pre><p>Now, if a translation is missing, i18next will log a warning like this:</p><p><code>i18next::translator: missingKey en translation news.articleTitle</code></p><p>This helps you catch missing keys during development before they become a problem in production. However, instead of manually checking logs, you can write a Jest test to confirm that all English translations exist in en.json:</p><pre><code class="language-javascript">import i18n from "../src/i18n";
import en from "../public/locales/en.json";

test("All English translations exist", () =&gt; {
  Object.keys(en).forEach((key) =&gt; {
    expect(i18n.t(key)).not.toBe(key); // If t(key) returns the key itself, it's missing
  });
});</code></pre><p>For this test to work, install <a href="https://jestjs.io/" rel="noopener noreferrer nofollow">Jest</a> and related testing libraries if you haven't already:</p><p><code>npm install --save-dev jest @testing-library/react @testing-library/jest-dom</code></p><p><strong>With Jest set up, you can also test pluralization rules</strong> to ensure they always return the correct form. If a translation is missing or incorrectly structured, the test will fail.</p><pre><code class="language-javascript">test("Pluralization works correctly", () =&gt; {
  expect(i18n.t("news.articlesRead", { count: 1 })).toBe("You have read one article.");
  expect(i18n.t("news.articlesRead", { count: 5 })).toBe("You have read 5 articles.");
});</code></pre><p>Another important check is <strong>making sure that language switching updates the UI correctly</strong>. Using <a href="https://testing-library.com/docs/react-testing-library/intro" rel="noopener noreferrer nofollow">React Testing Library</a>, you can simulate a user changing languages and verify that the correct translations appear.</p><pre><code class="language-javascript">import { render, screen, act } from "@testing-library/react";
import App from "../src/App";
import i18n from "../src/i18n";

test("Switching language updates translations", async () =&gt; {
  render(&lt;App /&gt;);
  
  expect(screen.getByText("Latest News")).toBeInTheDocument(); // English by default

  await act(() =&gt; i18n.changeLanguage("fr"));

  expect(screen.getByText("Dernières Nouvelles")).toBeInTheDocument(); // French translation appears
});</code></pre><p>This confirms that translations update correctly when the user changes the language.</p><p>To prevent i18n issues from reaching production, <strong>these tests should be integrated into <a href="https://github.com/features/actions" rel="noopener noreferrer nofollow">GitHub Actions</a> or another CI/CD pipeline</strong>. In GitHub Actions, update .github/workflows/tests.yml to include i18n tests:</p><pre><code>jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - run: npm install
      - run: npm test</code></pre><p>If any i18n test fails, the build stops, preventing broken translations from reaching users.</p><h2 id="final-thoughts">✔️ Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p><strong>Internationalization should be part of your development process from the start and not something that's added later</strong>. ☝️ Setting it up early saves time and avoids messy rewrites when you scale and need to support more languages.</p><p>To keep translations up to date, use CI/CD to sync with a translation management system like Localazy. This way, new keys are pushed automatically, and updated translations are pulled without manual effort.</p><p>Since i18next loads translations dynamically, adding a new language is as simple as enabling it in Localazy. Once synced, the translations will be available in your app without changing any code. <strong>With this setup, scaling to new markets is just a matter of adding translations, not rebuilding your project</strong>.</p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/04/react-i18next.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Doing business in Quebec: How to navigate the legal framework (including Bill 96) and find opportunities]]></title>
            <link>https://localazy.com/blog/doing-business-in-quebec-bill-96-localization</link>
            <guid isPermaLink="false">doing-business-in-quebec-bill-96-localization</guid>
            <pubDate>Fri, 28 Mar 2025 13:37:48 GMT</pubDate>
            <description><![CDATA[Expanding to Quebec comes with its own share of challenges. Communicating in French with customers and employees is required by law, making localization a necessity. Here's how foreign companies can adapt.]]></description>
            <content:encoded><![CDATA[<p>In our <a href="https://localazy.com/blog/localization-for-the-french-canadian-market-how-to-build-brand-loyalty-in-quebec">Localization for the French Canadian market</a> guide, we discovered the particularities of Quebec French and how it differs from Standard French. We also discussed the various factors that make Quebecers so different from the rest of Canada: history, language, religion, culture, and geography.</p><p>In this guide, we'll explore consumer behaviors a bit more deeply, highlight the most promising industries, and cover the legal aspects to consider when expanding to this region. ⚖️</p><p>You'll find out that <strong>even though the Quebec market is fairly small compared to most, you could choose to include it in your localization strategy</strong>. The region has a lot to offer in terms of economic opportunities for those looking to expand into sectors like technology, innovation, arts, or even natural resources.</p><p>Although the Quebec government has implemented<strong> strict regulations to protect its consumers and language</strong>, what you might consider abundant opportunities offset hurdles. In this article, we'll demystify some of the most common challenges.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/AdobeStock_91461836.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/AdobeStock_91461836.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/AdobeStock_91461836.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/AdobeStock_91461836.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/11/AdobeStock_91461836.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-quebecois-people-shop">🛍️ How Quebecois people shop <a class="markdownit-header-anchor" href="#how-quebecois-people-shop">🔗</a></h2><p>Quebec's GDP could prove resilient compared to the rest of the country, notably due to <strong>the lower level of household debt</strong>. According to a recent Léger survey, the proportion of households describing their financial situation as poor stood at just <a href="https://leger360.com/wp-content/uploads/2024/04/Rep_Leger_Jan2024EconConf_12Jan2024_CANADA_FINAL.pdf">23%</a>, compared with 35% for the rest of Canada. Approximately <a href="https://leger360.com/wp-content/uploads/2024/12/Leger-North-American-Tracker_-December-2024.pdf">36%</a> of Quebecers live paycheck to paycheck, which is below the national average of 44%. </p><p><a href="https://www.cqcd.org/en/blog/tap-into-the-spending-power-of-quebecs-online-shoppers/">Online shopping</a> especially, has taken a hike, as <strong>46% of Quebecers buy more items online now compared to three years ago</strong>, which is lower than the national average. It is important to note, though, that 69% of Quebecers are <strong>focusing more on their values, like sustainability</strong>, when shopping. They are also more likely to support businesses that match their personal principles, with 34% considering whether a retailer protects the environment before making a purchase. </p><blockquote>Sustainability and the pursuit of pleasure are essential for Quebecers. That's why they examine environmental footprints closely and spend more on food, cultural events, clothing, and beauty products</blockquote><h3 id="physical-products">Physical products <a class="markdownit-header-anchor" href="#physical-products">🔗</a></h3><p>According to the book <em><a href="https://leger360.com/cracking-the-quebec-code-in-45-minutes/">Cracking the Quebec Code</a></em><a href="https://leger360.com/cracking-the-quebec-code-in-45-minutes/"> </a><em><a href="https://leger360.com/cracking-the-quebec-code-in-45-minutes/">in 45 minutes—7 keys to succeed in Quebec</a></em> (Jean-Marc Léger, Jacques Nantel, et al.), <strong>Quebecers are hedonistic people</strong>, which means they're engaged in the pursuit of pleasure. For them,<em> joie de vivre</em> is an anchoring point and a fundamental identity trait. <strong>This is reflected in how they spend their money</strong>:</p><ul><li>🍷 Even though Quebecers tend to earn a lower salary than most other Canadians, they don't compromise on <strong>food, alcohol, going out, and attending cultural events or outdoor activities</strong>. </li><li>👔 Because they also collectively care about other people's opinions, both men and women value their appearance and spend more on <strong>cosmetics, clothing, and hair products</strong> than most other Canadians.</li><li>🫐 Quebecers also use their money to <strong>support local businesses</strong>. This is important if you run a brick-and-mortar shop. If you can make yourself part of the local economy, you'll have better luck. Try incorporating some local products into what you offer.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/AdobeStock_242041251.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1276" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/AdobeStock_242041251.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/AdobeStock_242041251.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/AdobeStock_242041251.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/03/AdobeStock_242041251.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="online-shopping">Online shopping <a class="markdownit-header-anchor" href="#online-shopping">🔗</a></h3><p><a href="https://transformation-numerique.ulaval.ca/enquetes-et-mesures/netendances/le-commerce-electronique-au-quebec-2023/">According to </a><em><a href="https://transformation-numerique.ulaval.ca/enquetes-et-mesures/netendances/le-commerce-electronique-au-quebec-2023/">Académie de la transformation numérique</a></em> (Digital Transformation Academy), as of 2023, <strong>74% of adult Quebecers had made personal purchases online and had spent a collective $17.8 B online</strong> (an 8.8% increase compared to 2022). 16% of those purchases were made with a Canadian or foreign retailer, while 15% were made with Quebec retailers (11% lower than the previous year).</p><!--kg-card-begin: html--><table style="border: medium; border-collapse: collapse; table-layout: fixed; width: 468pt;"><colgroup><col><col></colgroup><tbody><tr style="height: 35.047852pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; background-color: rgb(217, 234, 211); padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Product categories where online purchases went up (2022)</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; background-color: rgb(217, 234, 211); padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Product categories where online purchases went down (2022)</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">📚&nbsp; Books, magazines, and newspapers&nbsp;</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">35% (up 6%)&nbsp;</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">🎧 Music, films, and video games</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">34% (down 12%)</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">🔨 Home decorating</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">22% (up 4%)</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">🔌 Electronics</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">28% (down 10%)</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">🎟️ Tickets for shows</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">21% (up 8%)</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">🧸 Games and toys</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">27% (down 10%)</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">🐶 Pets and pet care</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">14% (up 5%)</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">📲 Software and apps</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">16% (down 13%)</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">✈️ Plane tickets&nbsp;</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">12% (up 6%)</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">🛼 Sporting goods and memberships</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">12% (down 9%)</span></p></td></tr></tbody></table><!--kg-card-end: html--><p>In 2023, 87% of young adults aged 18 to 24 and 89% of adults aged 25 to 34 had made online purchases. Since the pandemic, the number of people who have experienced the convenience of online shopping has gone up, and it looks like this trend is here to stay. After all, <strong>5 out of 10 online shoppers say that their online purchases have gone up compared to 2020</strong>.</p><h2 id="quebecs-top-industries">🔬 Quebec's top industries <a class="markdownit-header-anchor" href="#quebecs-top-industries">🔗</a></h2><p>The region is fertile ground for daring entrepreneurs. Technological growth and government support have helped create a favorable environment for business. For example, <a href="https://www.datacenterdynamics.com/en/news/vantage-to-build-out-fourth-data-center-at-québec-city-campus-canada/">tech companies are being courted to set up data centers in Quebec</a> due to its proximity to abundant hydropower and the fact that it offers some of the lowest rates in North America. <a href="https://archive.siteselection.com/onlineInsider/behind-the-big-data-rush-to-montreal.cfm/">According to Teresa Carlson</a>, vice president of Worldwide Public Sector for AWS, "We picked the area because of the hydropower. We did find them to be very business-friendly." </p><p>Quebec is known for its <strong>diversified economy, strategic geography, rich natural resources, free-trade agreements, thriving exports, and innovative workforce</strong>, especially in advanced industries like aerospace, AI, and cybersecurity. Let's dive deeper into these industries.</p><h3 id="7-promising-sectors-to-watch">7 promising sectors to watch <a class="markdownit-header-anchor" href="#7-promising-sectors-to-watch">🔗</a></h3><ol><li>⚡️ <strong>Electricity production (hydropower)</strong>: A dominant economic sector in Quebec since <a href="https://natural-resources.canada.ca/energy-sources/renewable-energy/hydroelectric-energy">it's the primary natural resource</a> and contributes to the region's energy independence. </li><li>🧑‍💻<strong> Software development</strong>: Quebec businesses stand out in this area, which covers a variety of uses, such as solutions for businesses and the general public.</li><li>🔐 <strong>Cybersecurity</strong>: Companies are in constant need of innovative technologies to protect their IT systems and strengthen confidence in data security. <a href="https://www.statista.com/outlook/tmo/cybersecurity/canada#">Demand in this area</a> has grown exponentially.</li><li>🦾 <strong>AI and machine learning</strong>: The province has committed to <a href="https://ia.quebec/en">actively promoting and supporting</a> the development of AI and digitizing businesses in all economic sectors.</li><li>🧳 <strong>Tourism (leisure and business)</strong>: Since the pandemic, tourism has been booming. In particular, business tourism has become an important area of growth for the province. The government's Action Plan for 2023–2026 <a href="https://www.canada.ca/en/economic-development-quebec-regions.html">supports initiatives</a> in this segment of the economy, meaning opportunities abound.</li><li><strong><strong>🧬</strong> <strong>Biotechnology</strong></strong>: With Canada <a href="https://www.labiotech.eu/best-biotech/top-biotech-countries/">ranked at the global top</a>, most efforts are geared toward healthcare, especially in the pharmaceuticals, clinical research, food transformation, and engineering industries. The goal is to improve human, animal, and plant health while protecting the environment. </li><li>🛰️ <strong>Aerospace</strong>: With more than 700 companies operating in this field and over 85,000 direct jobs across this sector, aerospace is an important economic driver. In 2022 alone, aerospace generated sales of $18B, and over 80% of Quebec's manufactured products in this sector were exported. That year, aerospace became number 1 in Quebec exports — and <a href="https://skiesmag.com/news/despite-tariff-threats-quebec-aerospace-cluster-shows-resilience/#:~:text=Quebec%27s%20aerospace%20sector%20exports%20almost,at%20an%20estimated%20%2483.7%20billion.">the trend hasn't slowed down in 2025</a>.</li></ol><blockquote>Quebec is known for its diversified economy, strategic geography, rich natural resources, free-trade agreements, thriving exports, and innovative workforce. Technological growth and government support have also helped create a favorable environment for business</blockquote><h3 id="a-note-about-arts-and-culture">A note about arts and culture <a class="markdownit-header-anchor" href="#a-note-about-arts-and-culture">🔗</a></h3><p>Aside from the above industries, it's important to note that the Quebec government is committed to ensuring a flourishing local culture. For instance, in their 2024–2025 budget, they set aside $187 million over a five-year period to showcase culture and promote the French language.</p><p>What does this mean for localizers? <strong>Understanding how important it is to contribute to local culture is your way of earning a place in the heart of your Quebec audience</strong>, especially if you plan on doing any form of advertising or marketing in that region. You could make a real impact.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/03/AdobeStock_180866756.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/AdobeStock_180866756.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/AdobeStock_180866756.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/AdobeStock_180866756.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/03/AdobeStock_180866756.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Montreal Clock Tower at night.</figcaption></figure><h2 id="legal-requirements">👩‍⚖️ Legal requirements <a class="markdownit-header-anchor" href="#legal-requirements">🔗</a></h2><p>The <a href="https://ojen.ca/wp-content/uploads/In-Brief__STUDENT_Common-Law-and-Civil-Law.pdf">entire legal system</a> is different in Quebec. Due to its history, <strong>Quebec operates under the Civil Code (a.k.a French law), whereas the rest of Canada operates under the Common Law system (British law)</strong>. If you are operating in Canada, make sure you consult with Quebec law experts to make sure you are compliant. Here are some of the legal requirements related to operating a business in Quebec.</p><h3 id="charter-of-the-french-language-and-bill-96">Charter of the French language and Bill 96 <a class="markdownit-header-anchor" href="#charter-of-the-french-language-and-bill-96">🔗</a></h3><p>A language that doesn't evolve is a dead language. One way Quebec protects French is by appointing a legal body to oversee it. As the world opened up, with the arrival of the Internet especially, <strong>Quebec has had to defend its language not only from a geographic standpoint but also from technological advances</strong>.</p><p>In 1977, the <a href="https://www.thecanadianencyclopedia.ca/en/article/bill-101"><strong>Charter of the French Language</strong></a> (also called <strong>Bill 101</strong>) was adopted to preserve the quality and status of the French language. It also ensures that French will remain "the normal, everyday language of work, education, communication, and business."</p><p>In 2022, <a href="https://www.publicationsduquebec.gouv.qc.ca/fileadmin/Fichiers_client/lois_et_reglements/LoisAnnuelles/en/2022/2022C14A.PDF"><strong>Bill 96</strong></a> significantly amended the Charter to further solidify the fact that <strong>French is the only language of the province of Quebec</strong>. It imposed new requirements on government services, businesses, and the workplace, and <strong>set higher fines for non-compliance</strong>. The biggest changes were related to the use of French:</p><ul><li>In workplace settings</li><li>In business and commerce</li><li>In government contracts and services</li><li>In the education system</li><li>In businesses of 25 employees or less</li><li>On public signage</li><li>For non-compliance complaints and penalties</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/12/projet-loi-96-francais-langue-cleveland.png" class="kg-image" alt loading="lazy" width="1024" height="576" srcset="https://ghost.localazy.com/content/images/size/w600/2024/12/projet-loi-96-francais-langue-cleveland.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/12/projet-loi-96-francais-langue-cleveland.png 1000w, https://ghost.localazy.com/content/images/2024/12/projet-loi-96-francais-langue-cleveland.png 1024w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://ici.radio-canada.ca/rci/en/news/1887702/now-that-quebecs-new-language-law-has-been-adopted-many-wonder-how-it-will-be-enforced">Radio-Canada / Sylvain Roy Roussel</a>.</figcaption></figure><p></p><p>Among other considerations, <strong>companies with at least 25 employees are now required to provide all communications in French to their employees</strong> or potential employees. There is also a new requirement for public signage and trademarks: <strong>French must be "markedly predominant,"</strong> which means it has to occupy twice as much space as any other language and have a bigger visual impact.</p><h3 id="how-to-comply-with-bill-96">How to comply with Bill 96 <a class="markdownit-header-anchor" href="#how-to-comply-with-bill-96">🔗</a></h3><p>To be successful in your Quebec operations and avoid potential legal repercussions due to Bill 96, it's crucial that you follow the new requirements. Remember that <strong>all it takes is one complaint to be fined</strong>. </p><p>Here are some of our tips:</p><ol><li><strong>📋 Content</strong>: Make an exhaustive list of all content that your audience will have access to from onboarding to offboarding (product, marketing, legal, operations, communications, etc.).</li><li><strong>🧑‍💼 Employees</strong>: If you employ more than 25 people in Quebec, remember that you'll have to provide all their documentation in French (job posting, offers, communications, contracts, training materials, etc.).</li><li><strong>🛒 Physical products</strong>: Take a look at your labeling. Is French the dominant language?</li><li><strong>🚯 Signage</strong>: If you operate a storefront, make sure your French signage is visually dominant. There are specific rules related to this.</li><li><strong>☕️ Local advice</strong>:<strong> </strong>Consult with local experts to make sure you are complying with requirements, such as a legal counsel who can guide you through the process, local linguists to help you adapt your content, or even a local ad agency.</li></ol><blockquote>⚠️ Companies have until June 2025 to comply fully with Bill 96</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/12/AdobeStock_957195913.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2024/12/AdobeStock_957195913.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/12/AdobeStock_957195913.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/12/AdobeStock_957195913.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/12/AdobeStock_957195913.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="lessbrgreaterhow-complaints-and-fines-work"><br>How complaints and fines work <a class="markdownit-header-anchor" href="#lessbrgreaterhow-complaints-and-fines-work">🔗</a></h3><p>The new bill has streamlined the process for filing a complaint. <strong>Legal fines for non-compliance are now much steeper </strong>— and they can accumulate quickly since every day where there's a violation is considered a separate offense.</p><p>Here's how the fines work. Imagine you sell a product online to Quebec-based customers. Your product packaging doesn't include a translated set of instructions. When your customer calls your company to get more information, they are unable to receive service in French. Your customer, frustrated, decides to complain to the Office québécois de la langue française (OQLF). As a result, the OQLF will assess the complaint, and if it is substantiated, <strong>you will be given a notice to comply within 30 days</strong>. If you don't comply within that time frame, the OQLF will forward your case to the DPCP, a public body responsible for pursuing justice for the public interest. The OQLF doesn't issue the statement of offence or the fines — this is done by the DPCP by prosecution. The DPCP will issue you a fine for your first offense. <strong>If you do not follow the charter a second time, your fine will double</strong>, and any subsequent offense will then triple the fine.</p><p>Here's <a href="https://mcmillan.ca/insights/quebec-bill-96s-impact-on-franchise-businesses/">a breakdown of fines</a> based on the number of offenses:</p><!--kg-card-begin: html--><table style="border: medium; border-collapse: collapse; table-layout: fixed; width: 468pt;"><colgroup><col><col><col></colgroup><tbody><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><br></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Previously</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Currently</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">First offense</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">$1,500</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">$3,000 to $30,000</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Second offense</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">$3,000—$4,000</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">$6,000 to $60,000</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Subsequent offense</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Same as for second offense</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">$9,000 to $90,000</span></p></td></tr></tbody></table><!--kg-card-end: html--><h3 id="in-a-nutshell">In a nutshell <a class="markdownit-header-anchor" href="#in-a-nutshell">🔗</a></h3><p>More than ever, localizing content for the Quebec market means committing to providing all materials in French beyond product and marketing efforts. You must always be mindful that <strong>if your audience or customer doesn't get services in French, they can complain to the proper authorities</strong>, and you may have to pay the price. 💰 It also means that <strong>you have to ensure you uphold a certain standard for quality translations</strong>.</p><h2 id="quebecs-consumer-protection-act">⚖️ Quebec's Consumer Protection Act <a class="markdownit-header-anchor" href="#quebecs-consumer-protection-act">🔗</a></h2><p>In Canada, consumer protections are enforced by different levels of government and non-government organizations. Every province has established laws to protect its consumers, but <strong>the</strong> <a href="https://www.legisquebec.gouv.qc.ca/en/document/cs/P-40.1"><strong>Quebec Consumer Protection Act</strong></a> (<em>Loi sur la protection du consommateur</em>) <strong>can be particularly strict </strong>compared to other regions.</p><p>The act covers advertising, price labeling and accuracy, permits, false claims, and contract statements, among other categories. <strong>Customers have ample protection when purchasing a wide variety of products and services</strong>. Some examples this can apply to are:</p><ul><li>🏋️‍♀️ A gym or weight loss clinic membership</li><li>🛵 Used cars or motorcycles and vehicle repairs</li><li>💳 Prepaid cards and contracts involving credit</li><li>💻 Items purchased online or through a catalog</li><li>🍳 Home appliances</li><li>📖 Training courses</li><li>🗝️ Long-term leases</li></ul><p>Some of these legal requirements can indeed present a challenge for many companies trying to enter this market, but they are intended to protect consumers and the French language. Think of them as <strong>a way to hold businesses accountable by ensuring they provide the highest-quality products and services</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/AdobeStock_241918777.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/AdobeStock_241918777.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/AdobeStock_241918777.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/AdobeStock_241918777.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/03/AdobeStock_241918777.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="a-market-worth-the-effort">🍁 A market worth the effort <a class="markdownit-header-anchor" href="#a-market-worth-the-effort">🔗</a></h2><p><strong>When a new company enters Quebec, its success can either contribute to enriching the local language or diluting it</strong>. Since English geographically surrounds the province on all sides, the government is responsible for ensuring that companies respect the fact that the region operates in French. It can be challenging to navigate the various legal obligations as you enter Quebec, but a general rule applies: <strong>operate in the most transparent way possible</strong>. For those who dare to take on the challenge, opportunities are fruitful. </p><p>To make it easier for you, we recommend you start by using tools that make your localization management easier. ☝️ When launching into a new market, there are so many moving pieces that it can be hard to keep track of everything. Localazy uses <a href="https://localazy.com/features/automated-workflows">automated workflows</a> and other powerful features to help you streamline your localization processes. On top of it all, you have <a href="https://localazy.com/features/continuous-localization-team/">easy access to native professional linguists via CLT</a>, which takes a lot of the back-and-forth stress out of the equation. <br><br></p>]]></content:encoded>
            <author>Manon Suderman</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/06/locales-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[AI, sign language & accessibility | Bridging the Gap Podcast, S01 EP08]]></title>
            <link>https://localazy.com/blog/s01-ep-08-bridging-the-gap-podcast</link>
            <guid isPermaLink="false">s01-ep-08-bridging-the-gap-podcast</guid>
            <pubDate>Tue, 20 May 2025 17:26:51 GMT</pubDate>
            <description><![CDATA[Is accessibility for the Deaf community evolving thanks to AI? What does it have in common with localization? We talk to Signapse's co-founder, Sally Chalk, to find out.]]></description>
            <content:encoded><![CDATA[<p>One in five people in the world live with hearing loss, yet accessibility in localization is often overlooked.</p><p>In this episode, <strong>Sally Chalk</strong>, co-founder of <a href="https://localazy.com/partnerships/signapse">Signapse</a>, an AI-driven sign language translation platform, joins <a href="https://localazy.com/blog/author/vaclav-hodek/"><strong>Václav Hodek</strong></a>, CEO at Localazy, to discuss the challenges and innovations in making content accessible. From transport applications to healthcare settings, we discuss how AI is transforming sign language translation and the importance of developing these tools with real input from the Deaf community. </p><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/ANXWjvh5__8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="AI, sign language &amp; accessibility (w/ Sally Chalk &amp; Václav Hodek) | Bridging the Gap Podcast #8, S01"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: AI, sign language &amp; accessibility (w/ Sally Chalk &amp; Václav Hodek) | Bridging the Gap Podcast #8, S01" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/7j4auKk2kTDBl3uM0Ivu5D/video?si=7fa2ef0797b64986&utm_source=oembed"></iframe></figure><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><em>Disclaimer: This episode contains a 5-minute snippet of the conversation captioned in BSL to demonstrate the capabilities of the technology discussed. Captioning provided by Signapse starts at <a href="https://www.youtube.com/watch?v=ANXWjvh5__8&amp;list=PLvA86-kP5oZQ2BYuEsGMitzrexnCNt2Qb&amp;index=2&amp;t=1102s">18:22</a>.</em></div></div><h2 id="additional-resources">🗞 Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><ul><li><a href="https://www.signapse.ai">Signapse AI</a></li><li><a href="https://www.surrey.ac.uk/news/signgpt-project-awarded-ps845m-build-sign-language-ai-model-deaf-community">Project awarded £8.45m to build a sign language AI model for the Deaf community</a></li><li>📹 <a href="https://youtu.be/HzRq0vgynFY?si=_uO9bWe6jA_CA4un">ASL captioning in action at Cincinnati/Northern Kentucky International Airport</a></li></ul><h2 id="connect-with-the-guests-and-host">💌 Connect with the guests & host <a class="markdownit-header-anchor" href="#connect-with-the-guests-and-host">🔗</a></h2><p><a href="https://www.linkedin.com/in/sallychalksignapse/">Sally Chalk</a></p><p><a href="https://www.linkedin.com/in/vaclavhodek/">Václav Hodek</a></p><p><a href="https://www.linkedin.com/in/martagcoloma/">Marta G. Coloma</a></p><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete automated localization solution for your digital products. We make your software, apps, and content multilingual and ready for international audiences with developer-friendly features, TMS tools, and professional translation services.</p><p>First time here? Check out our <a href="https://localazy.com/docs/general/getting-started-with-localazy">getting started guide</a>, <a href="https://localazy.com/pricing">find your plan</a>, or <a href="https://localazy.com/contact">contact us </a>with any questions. We're here to help you with your localization and i18n journey.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep08.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 10 CAT Tools to try in 2025 as a translator]]></title>
            <link>https://localazy.com/blog/top-10-cat-computer-assisted-translation-tools-to-try-as-translator</link>
            <guid isPermaLink="false">top-10-cat-computer-assisted-translation-tools-to-try-as-translator</guid>
            <pubDate>Fri, 28 Mar 2025 13:18:53 GMT</pubDate>
            <description><![CDATA[Are you looking for a way to boost your productivity as a translator? Getting yourself a CAT tool is the way to go! Learn more about some of the most popular CAT tools in this article.]]></description>
            <content:encoded><![CDATA[<p>Due to the rise in global trade and the increasing need for multilingual content, the demand for translation services has increased exponentially in recent years. The need for translation is not limited to the business world. Translation services are increasingly becoming an integral part of human life. The availability of multilingual content options has become a part of websites, blog posts, social media, online videos, and other media.</p><p>This growing demand for translation has led to the creation of more flexible workflows and tools capable of handling multiple languages with ease. Machine translation programs use algorithms to compare two different languages and then produce a word-by-word or even phrase-by-phrase translation for a given sentence. The more of a sentence a computer program analyzes, the better its chance of translating it correctly. CAT tools, on the other hand, assist human translators in getting their job done faster and more accurately.</p><h2 id="what-is-a-cat-tool-anyway">❓ What is a CAT tool anyway? <a class="markdownit-header-anchor" href="#what-is-a-cat-tool-anyway">🔗</a></h2><p>CAT tool, or computer-assisted translation tool, is essential productivity-boosting software that offers various advantages to translators over the traditional manual translation. Translators can use CAT tools to save time on repetitive tasks within a project, such as searching for keywords in a language pair or translating similar text strings into another language.</p><p>CAT tools are packages that help translators with the translation process. They can reduce the amount of time it takes to translate a document by simultaneously working on text segments, reducing redundancies, and identifying context. These tools allow for a more accessible, more collaborative work environment that can save hours, if not days, in translation time.</p><p><strong>What are some key features that CAT tools can provide?</strong></p><ul><li>Translation Memory</li><li>Technical validation</li><li>Built-in Machine Translation</li><li>Glossary management</li><li>Tonality management</li></ul><p>Nowadays, most CAT tools are cloud-based, but we can't neglect desktop CAT tools. Desktop CAT tools are installed locally on your computer and generally can be used whenever and wherever you want, regardless of internet availability. </p><h2 id="desktop-cat-tools">🖥️ Desktop CAT tools <a class="markdownit-header-anchor" href="#desktop-cat-tools">🔗</a></h2><p>Although developers and many translators favor cloud-based CAT tools because of certain evident advantages, you should still know about some of the options available for desktop if that can help your project. </p><h3 id="trados-studio">Trados Studio <a class="markdownit-header-anchor" href="#trados-studio">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/05/image.png" class="kg-image" alt="Screenshot of a Trados Studio 2021 Interface" loading="lazy" width="1280" height="720" srcset="https://ghost.localazy.com/content/images/size/w600/2022/05/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/05/image.png 1000w, https://ghost.localazy.com/content/images/2022/05/image.png 1280w" sizes="(min-width: 720px) 720px"><figcaption>Trados Studio 2021 Interface | Source: <a href="https://filecr.com/">filecr.com</a></figcaption></figure><p>Many people in the translation industry use Trados software to increase productivity by translating multiple languages at once. It is widely used by freelancers, translators, and localization professionals, mainly in the corporate sphere. The program also has many capabilities beyond translation, such as glossaries, dictionaries, terminology management tools, and project management tools.</p><h3 id="omegat-cat">OmegaT CAT <a class="markdownit-header-anchor" href="#omegat-cat">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/05/image-1.png" class="kg-image" alt="Screenshot of a OmegaT Interface" loading="lazy" width="1213" height="825" srcset="https://ghost.localazy.com/content/images/size/w600/2022/05/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/05/image-1.png 1000w, https://ghost.localazy.com/content/images/2022/05/image-1.png 1213w" sizes="(min-width: 720px) 720px"><figcaption>OmegaT Interface | Source: <a href="https://omegat.org/">omegat.org</a></figcaption></figure><p>OmegaT is an entirely free CAT tool for desktop computers (Windows, macOS, Linux) that translators can use to translate texts into other languages. It provides general translation functionality, supports about 30 file formats, and comes with a user glossary functionality. Machine Translations and sharing of translation memories are not available, so you are on your own as a translator. </p><h3 id="poedit">Poedit <a class="markdownit-header-anchor" href="#poedit">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/05/image-2.png" class="kg-image" alt="Screenshot of a Poedit Interface" loading="lazy" width="1248" height="624" srcset="https://ghost.localazy.com/content/images/size/w600/2022/05/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/05/image-2.png 1000w, https://ghost.localazy.com/content/images/2022/05/image-2.png 1248w" sizes="(min-width: 720px) 720px"><figcaption>Poedit Interface</figcaption></figure><p><a href="/poedit-alternative">Poedit</a> is a convenient desktop application available for Windows, macOS, and Linux. It carries a traditional yet user-friendly interface that helps you to start translating immediately and quickly. It is also among the most popular translation tools for WordPress translation.</p><p>Because it is a desktop app, it can be functional even when you are offline. Poedit also offers a Pro version with upgraded features such as <a href="/features/pre-translate">pre-translate</a>, <a href="/features/share-tm">community translations</a>, and statistics. The downside is that Poedit supports only a few file formats, doesn't account for plurals, and limits the number of words you can translate with its Free plan.</p><p>Poedit also offers a company license for teams that enables you to collaborate on projects with other translators and sync your work to the cloud, similar to the browser-based solutions do. Still, the pricing per seat model of Poedit is the most prevalent reason for switching to other solutions such as <a href="/">Localazy</a>.</p><blockquote>⚔️ <strong><a href="/poedit-alternative">Compare Poedit vs. Localazy</a></strong></blockquote><h2 id="lessstronggreatercloud-based-cat-toolslessstronggreater">☁️ <strong>Cloud-Based CAT tools</strong> <a class="markdownit-header-anchor" href="#lessstronggreatercloud-based-cat-toolslessstronggreater">🔗</a></h2><p>Traditionally, assistive technology was only available to large companies that invested heavily in the infrastructure and platforms needed for integration. New cloud-based options have emerged, including some free options, which have made this technology more accessible to the average translator. </p><p>Cloud-based CAT tools offer companies and individuals the same benefits as traditional CAT tools, but now those benefits are no longer confined to a company's office and can be accessed from anywhere with an internet connection. With this flexibility and accessibility, you can now enjoy the time and cost savings of using cloud-based CAT tools. </p><p>You can access cloud-based CAT tools via any internet browser, so you can work from anywhere and live your dream as a digital nomad or stay at home forever if you don't feel like traveling. 😅</p><h3 id="oneskyapp">OneSkyApp <a class="markdownit-header-anchor" href="#oneskyapp">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/05/image-3.png" class="kg-image" alt loading="lazy" width="1024" height="768" srcset="https://ghost.localazy.com/content/images/size/w600/2022/05/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/05/image-3.png 1000w, https://ghost.localazy.com/content/images/2022/05/image-3.png 1024w" sizes="(min-width: 720px) 720px"><figcaption>OneSkyApp Translation Interface</figcaption></figure><p><a href="/oneskyapp-alternative">OneSkyApp</a> is a <a href="/dictionary/translation-management-system-tms">translation management system</a> for mobile applications, websites, and games. The localization, marketing, and engineering groups can collaborate on translations using the OneSky platform. This translation management system also provides a broad range of features that should boost the quality of translation, such as <a href="/docs/general/how-to-define-your-glossary">Glossary</a> and <a href="/dictionary/translation-memory">Translation Memory</a>.  </p><p>Thousands of companies have utilized OneSky to broaden their worldwide presence, but the interface is outdated and cumbersome, and the performance is reportedly slow. Users who switched to Localazy are happy to see it's a modern platform with a clean and fast-responding UI.</p><blockquote>⚔️ <strong><a href="/oneskyapp-alternative">Compare OneSkyApp vs. Localazy</a></strong></blockquote><h3 id="phrase">Phrase <a class="markdownit-header-anchor" href="#phrase">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/05/image-4.png" class="kg-image" alt loading="lazy" width="1024" height="768" srcset="https://ghost.localazy.com/content/images/size/w600/2022/05/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/05/image-4.png 1000w, https://ghost.localazy.com/content/images/2022/05/image-4.png 1024w" sizes="(min-width: 720px) 720px"></figure><p><a href="/phrase-alternative">Phrase (formerly known as PhraseApp)</a> is a relatively well-known translation management system for software localization tasks. It encourages collaboration among teams and promises to save time spent on engineering and translation. Phrase can also be considered a CAT tool, with its built-in translation memory and quality checks such as broken <a href="/dictionary/placeholder">placeholders</a> or mistranslated terms. As a translator, you might also appreciate their auto-complete function.  </p><p>It's aimed mainly at teams, so if you are translating independently, Phrase might feel overly complex. The pricing per seat is also one of the factors mentioned by users switching to Localazy. </p><blockquote>⚔️ <strong><a href="/phrase-alternative">Compare Phrase vs. Localazy</a></strong></blockquote><h3 id="lokalise">Lokalise <a class="markdownit-header-anchor" href="#lokalise">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/05/image-5.png" class="kg-image" alt loading="lazy" width="1024" height="768" srcset="https://ghost.localazy.com/content/images/size/w600/2022/05/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/05/image-5.png 1000w, https://ghost.localazy.com/content/images/2022/05/image-5.png 1024w" sizes="(min-width: 720px) 720px"></figure><p><a href="/lokalise-alternative">Lokalise</a> is an application for localization and translation tasks specially designed for project managers who love being in control of the work that should be done. Lokalise's translation UI is intuitive but might start to feel cluttered after a while.</p><p>To start, upload/connect any <a href="/ios">iOS</a>, <a href="/android">Android</a>, or other supported files to Lokalise's system. You might like their built-in spelling and grammar checks and automated QA checks. It also comes with machine translation suggestions so that you can produce translations more quickly. In case you need some help with finishing the project, you can ask for assistance from professional translators.</p><p>Lokalise is, however, one of the more expensive solutions on the market. So as a starting freelancer, you should probably look elsewhere because Lokalise is more suited for corporate teams who can afford to burn the money.</p><blockquote>⚔️ <strong><a href="/lokalise-alternative">Compare Lokalise vs. Localazy</a></strong></blockquote><h3 id="smartcat">Smartcat <a class="markdownit-header-anchor" href="#smartcat">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/05/image-6.png" class="kg-image" alt loading="lazy" width="1024" height="768" srcset="https://ghost.localazy.com/content/images/size/w600/2022/05/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/05/image-6.png 1000w, https://ghost.localazy.com/content/images/2022/05/image-6.png 1024w" sizes="(min-width: 720px) 720px"></figure><p><a href="https://localazy.com/smartcat-alternative">Smartcat</a> is a platform with many features gathered in one place. It helps translators connect with business opportunities by joining the network of translation experts.</p><p>As a freelance translator, you can join the biggest marketplace for translation jobs, use Smartcat as a free computer-aided translation tool to increase your productivity, and receive payments from anywhere. Smartcat is based on the concept of today's technology that lets a large number of people work in a collaborative environment without worrying about the big picture. It also assists with automation, quality assurance checks, data inspection, etc.</p><p>According to public reviews, Smartcat is robust but might feel overwhelming. Another thing to mention is that their machine translation and OCR are usage-based paid services and the support queries take quite some time to get answered.</p><blockquote>⚔️ <strong><a href="/smartcat-alternative">Compare Smartcat vs. Localazy</a></strong></blockquote><h3 id="smartling">Smartling <a class="markdownit-header-anchor" href="#smartling">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/05/image-8.png" class="kg-image" alt loading="lazy" width="1024" height="768" srcset="https://ghost.localazy.com/content/images/size/w600/2022/05/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/05/image-8.png 1000w, https://ghost.localazy.com/content/images/2022/05/image-8.png 1024w" sizes="(min-width: 720px) 720px"><figcaption>Smartling Homepage</figcaption></figure><p>Smartling is a platform meant for providing translation management and language services. Smartling is the platform chosen by hundreds of B2B and B2C brands that include big names in the tech industry, such as Shopify, Slack, and SurveyMonkey. Smartling can be considered a good option for Medium and Large Sized companies looking to translate their content.</p><p>As an individual, the barrier of entry is quite high. There is no easy signup, and their pricing starts at $200/month. They do not even have a free version and do not offer a free trial. Another thing mentioned in reviews is that translators actually don't like it as much as the customers who source their translations there, but maybe you will like it! </p><h3 id="weblate">Weblate <a class="markdownit-header-anchor" href="#weblate">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/05/image-10.png" class="kg-image" alt loading="lazy" width="1024" height="768" srcset="https://ghost.localazy.com/content/images/size/w600/2022/05/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/05/image-10.png 1000w, https://ghost.localazy.com/content/images/2022/05/image-10.png 1024w" sizes="(min-width: 720px) 720px"></figure><p><a href="/weblate-alternative">Weblate</a> is a suite of tools for professional translators and software developers. It's especially popular among the open-source community. The Weblate CAT tool is a collaborative, web-based tool for translation memory editing and glossary management. It also supports <a href="/docs/general/screenshots">uploading screenshots for a better context</a>. </p><p>It is reportedly designed to be lightweight, easy to use, and tailored to the needs of translators who work with glossaries in the fields of software localization. However, users who made the switch to Localazy actually think the UI of Weblate is awful. We won't judge, maybe you will be a fan? You can try it for free and see it for yourself! </p><blockquote>⚔️ <strong><a href="/weblate-alternative">Compare Weblate vs. Localazy</a></strong></blockquote><h3 id="transifex">Transifex <a class="markdownit-header-anchor" href="#transifex">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/05/image-11.png" class="kg-image" alt loading="lazy" width="1024" height="768" srcset="https://ghost.localazy.com/content/images/size/w600/2022/05/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/05/image-11.png 1000w, https://ghost.localazy.com/content/images/2022/05/image-11.png 1024w" sizes="(min-width: 720px) 720px"><figcaption>Transifex Translation Interface</figcaption></figure><p><a href="/transifex-alternative">Transifex</a> is another well-known platform that assists companies in entering foreign markets via localization of their digital products and content, such as websites, mobile apps, games, videos, help center articles, subtitles, and many more on a nonstop flow. Top companies that include Atlassian, Eventbrite, Salesforce, HubSpot, Waze, and Microsoft depend on Transifex to maintain their multilingual, international presence.</p><p>Transifex helps translators with built-in translation validation, glossary, and visual context cues. You can also set up machine translations with your own API key. </p><p>Compared to Transifex, <a href="https://localazy.com/docs/general/getting-started-with-localazy">getting started with Localazy</a> is reportedly more accessible and affordable. The Basic tier of Transifex begins at $70 per month, and it doesn't even unlock some essential features mentioned above, such as a <a href="https://localazy.com/docs/general/how-to-define-your-glossary">Glossary</a> and <a href="https://localazy.com/docs/general/screenshots">Visual Context</a>.</p><blockquote>⚔️ <strong><a href="/transifex-alternative">Compare Transifex vs. Localazy</a></strong></blockquote><h2 id="editors-pick">❤️ Editor's pick <a class="markdownit-header-anchor" href="#editors-pick">🔗</a></h2><p>Now that we have listed some of the alternatives you could try, we would like you to keep reading to find out why we believe Localazy is the best-balanced CAT tool on the market. </p><p>If you don't want to take my word for it, read the article by <a href="/blog/author/michal-tosza">Michał Tosza</a>, who is a professional translator and linguist himself and wrote his great <a href="/blog/intro-localazy-translators-perspective">Intro to Localazy from a translator's perspective</a>. And since Michał wrote the article, Localazy has improved even more.</p><p>Localazy has also won awards from Crozdesk, SourceForge, G2, and more:</p><ul><li>🏆 2025 Leader Award from <a href="https://sourceforge.net/software/product/Localazy/">SourceForge</a></li><li>⭐ 5-star reviews on <a href="https://www.trustpilot.com/review/localazy.com">Trustpilot</a>, <a href="https://www.g2.com/products/localazy/reviews">G2</a> and <a href="https://www.capterra.com/p/204830/Localazy/">Capterra</a></li><li>🎖️ Happiest Users and Quality Choice Award from <a href="https://crozdesk.com/software/localazy">Crozdesk</a></li></ul><p>Localazy is cherished for its clean and intuitive interface. 📄 Having a cluttered interface made of never-ending columns and rows of data is what translators have struggled with for years when working with spreadsheets, and many tools on the market still follow the spreadsheet layout.</p><blockquote>"Localazy sets the entry threshold on a very low level and is friendly for newcomers, which is quite unusual for any CAT tool."</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/03/translation-interface.png" class="kg-image" alt loading="lazy" width="1200" height="627" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/translation-interface.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/translation-interface.png 1000w, https://ghost.localazy.com/content/images/2025/03/translation-interface.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Translation Interface</figcaption></figure><p>Localazy comes with several features that boost the translator's productivity and make translations way easier.</p><h4 id="%E2%8C%A8%EF%B8%8F-translation-validation">⌨️ Translation validation</h4><p>Localazy keeps you in check. When you get into the flow, you might easily overlook some peculiarities such as the limit of characters, number of trailing spaces, unclosed tags, or missing placeholders. </p><h4 id="%F0%9F%93%92-free-glossary-of-terms">📒 Free glossary of terms</h4><p>When you set up a new project, you can create your own <a href="/docs/general/how-to-define-your-glossary">glossary</a> without any limitations. When you get invited to a project, ask the maintainers to add some project-specific terms into the glossary. It will help you tremendously!  </p><h4 id="%F0%9F%91%A8%E2%80%8D%F0%9F%92%BB-comparable-machine-translation-suggestions">👨‍💻 Comparable machine translation suggestions</h4><p>The second-best thing about Localazy is that it comes with built-in machine translation suggestions. Boost your productivity as a translator with the Amazon machine translation engine. If the organization you are translating for is on the <a href="/tiers/autopilot">Autopilot plan</a>, all translators can use<a href="/docs/general/additional-mt-engines"> three additional MT engines</a> for suggestions: DeepL, Google Translate, and Azure Translate from Microsoft. </p><p>You can also integrate it with OpenAI and use ChatGPT for translation. The best thing about these <a href="https://localazy.com/features/machine-translation">machine translation</a> suggestions is that they show at once in our UI, and you can choose the best translation that works for you.</p><h4 id="%F0%9F%97%82%EF%B8%8F-translation-memory">🗂️ Translation Memory</h4><p>As a bonus, Localazy also has its own automatic <a href="https://localazy.com/docs/general/translation-memory">Translation Memory</a>. It all works automatically in the background and finds matches not only across the project you are currently working on but also across <a href="/docs/general/connected-projects">Connected Projects</a> and all of the other projects on the platform that opt-in for <a href="/docs/general/what-is-localazy-sharetm">community translations via ShareTM</a>! You don't need to set up anything.  </p><h4 id="%F0%9F%91%91-tools-for-providing-context">👑 Tools for providing context</h4><p>All the things you need to get into the context are readily available on the translation screen. You can ask the project owners for context in the comments, browse and request <a href="/docs/general/screenshots">screenshots</a>, see translations in other languages, notes for translators, and previous versions of the translation you are working on. </p><h4 id="%F0%9F%A4%96-context-aware-translations-localazy-ai">🤖 Context-aware translations (Localazy AI)</h4><p><a href="https://localazy.com/features/localazy-ai">Localazy AI </a>works automatically in the background, delivering context-enriched translations right after each content upload or modification with no complicated setup needed. Your project description and glossary of terms serve as the foundation for exceptional quality <a href="https://localazy.com/blog/the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models">translations powered by modern LLMs</a>. </p><p>Our intelligent workflows catch translation issues like wrong tone, offensive language, and readability problems without requiring exhaustive manual reviews, saving you time you can use to focus on expanding to new markets.</p><h4 id="%E2%96%B6%EF%B8%8F-ready-to-get-started">▶️ Ready to get started?</h4><ul><li><a href="/register">Sign up for Localazy</a> now and try it for free.</li><li>Read the <a href="/docs/general/getting-started-with-localazy">Getting Started Guide</a>.</li><li>Read <a href="/docs/general/translating-strings">How translating strings in Localazy works</a> in more detail.</li><li>Go through the resources on <a href="https://localazy.com/blog">our blog,</a> <a href="https://localazy.com/docs">docs</a>, or <a href="https://www.youtube.com/channel/UCgl3oYffDxEEwKhnRuRuTHA">YouTube channel</a> for more.</li></ul><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>It is easy to find translation tools available online, but many are expensive to use as a freelance translator. I hope this article helped you gain a basic overview of the most popular tools that you could encounter in your career. </p><p>If you decide to go with Localazy, feel free to contact us with your feedback about the translation interface or workflows. We are always happy to listen to our users!</p>]]></content:encoded>
            <author>Waqas Nazeer</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/06/Top-10-CAT-tools--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Get free premium features for your localization project with Localazy's Ambassador Program 📣]]></title>
            <link>https://localazy.com/blog/localazy-ambassador-program-free-localization-features</link>
            <guid isPermaLink="false">localazy-ambassador-program-free-localization-features</guid>
            <pubDate>Tue, 03 Mar 2026 10:45:02 GMT</pubDate>
            <description><![CDATA[Powering up your localization project with no extra budget is now possible with our new program. With just a few clicks, you can try Duplicity Resolving, access AI translation features or simply get more source keys. Here's how to join.]]></description>
            <content:encoded><![CDATA[<p>As a localization project owner, you're constantly balancing quality, speed, and budget constraints. Today, we're introducing a game-changer that addresses all three: <strong>the </strong><a href="https://localazy.com/ambassador/"><strong>Localazy Ambassador Program</strong></a><strong> — a simple reward system that lets you mobilize your community </strong>to earn premium features for your projects without spending a dime.</p><p>Imagine accessing our <a href="https://localazy.com/tiers/professional">Pro</a>, <a href="https://localazy.com/tiers/autopilot">Autopilot</a>, and <a href="https://localazy.com/tiers/business">Business</a> tier features completely free, simply by channeling the natural enthusiasm of your user community. 🥳 This isn't just another loyalty program — it's a benefit multiplier designed specifically for project owners like you.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/ambassador-general-2.png" class="kg-image" alt loading="lazy" width="1200" height="693" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/ambassador-general-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/ambassador-general-2.png 1000w, https://ghost.localazy.com/content/images/2025/03/ambassador-general-2.png 1200w" sizes="(min-width: 1200px) 1200px"></figure><h2 id="fewer-barriers-to-premium-localization">🧠 Fewer barriers to premium localization <a class="markdownit-header-anchor" href="#fewer-barriers-to-premium-localization">🔗</a></h2><p>We designed this program after watching project owners struggle with the same challenges:</p><ul><li><strong>💸 Limited budget:</strong> "We know premium features would help, but we can't justify the expense right now."</li><li><strong>🤲 Untapped community potential:</strong> "Our users want to help, but we haven't found an effective way to channel their energy."</li><li><strong>😣 Growth plateaus:</strong> "We've reached the limits of what we can achieve with basic localization tools."</li></ul><p>The Ambassador Program addresses all these pain points by creating a sustainable ecosystem where everyone benefits:</p><ul><li><strong>Your project</strong> gets access to premium features.</li><li><strong>Your users</strong> feel rewarded for their contributions.</li><li><strong>Your reach</strong> expands to new markets organically.</li><li><strong>Your community</strong> strengthens through purposeful engagement.</li></ul><h3 id="building-sustainable-momentum">Building sustainable momentum <a class="markdownit-header-anchor" href="#building-sustainable-momentum">🔗</a></h3><p>The real test of any community program isn't the initial burst of activity — it's maintaining momentum over time. To build persistent engagement patterns for every user, we've created tangible rewards that unlock premium features for projects of all sizes, including community projects. </p><p><strong>Simply put, our goal is to offer real value to all involved</strong> so products and communities expand their reach and get better features for less.<strong> </strong>It's a win-win for all.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/Ambassador-rewards-1.png" class="kg-image" alt loading="lazy" width="1200" height="693" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Ambassador-rewards-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Ambassador-rewards-1.png 1000w, https://ghost.localazy.com/content/images/2025/03/Ambassador-rewards-1.png 1200w" sizes="(min-width: 1200px) 1200px"></figure><h2 id="how-does-it-work">☝️ How does it work? <a class="markdownit-header-anchor" href="#how-does-it-work">🔗</a></h2><p>The main motto of the program is <strong>simple actions, powerful results</strong>. It transforms small, everyday actions into substantial value for your localization projects, allowing you to:</p><ol><li><strong>Earn points</strong> through simple activities like social sharing, writing reviews, or community engagement.</li><li><strong>Redeem points</strong> for paid Localazy features (usually starting at $39/month).</li><li><strong>Donate points</strong> to specific projects you care about or manage.</li><li><strong>Scale access</strong> to advanced features as your community grows.</li></ol><p>Research shows that removing barriers to participation increases community engagement by 280%. Eliminating the need for complex apps or steep learning curves was essential for us. That's why <strong>we've made getting started incredibly simple </strong>with actions like:</p><p>🟩 <a href="https://localazy.com/ambassador/action/follow-ceo">Following our leaders on social media</a><br>🟩 <a href="https://localazy.com/ambassador/action/publish-g2-review">Publishing a review on G2</a><br>🟩 Sharing an article from our blog<br>🟩 <a href="https://localazy.com/ambassador/action/join-our-subreddit">Joining our subreddit</a><br>🟩 <a href="https://localazy.com/ambassador/action/subscribe-to-podcast">Subscribing to our podcast</a></p><p>The data we gathered during beta testing supported this hunch. During the first weeks of ambassador operations, <strong>we saw</strong> <strong>project owners reduce localization platform costs by up to 70% while actually increasing community engagement by leveraging the program. </strong></p><p></p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/Ambassador-transactions-1.png" class="kg-image" alt loading="lazy" width="1200" height="663" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Ambassador-transactions-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Ambassador-transactions-1.png 1000w, https://ghost.localazy.com/content/images/2025/03/Ambassador-transactions-1.png 1200w" sizes="(min-width: 1200px) 1200px"></figure><p>The best part? You don't need to do all the work yourself. <strong>Invite your users, contributors, and team members</strong> to join the program and direct their earned points toward your projects.</p><h3 id="reward-examples">Reward examples <a class="markdownit-header-anchor" href="#reward-examples">🔗</a></h3><p>Let's get to the nitty gritty: <strong>what can you get by engaging with the program?</strong> Some examples are getting more source keys for your account, setting up automated workflows for free, or gaining access to coveted integrations like Figma or Storyblok.</p><p>Here's how it looks in practice:</p><ul><li>Subscribing to our podcast provides you with <strong>200 extra source keys per month</strong>.</li><li>Sharing a testimonial on LinkedIn about Localazy + following our page grants you <strong>free access to DeepL and OpenAI translations</strong>.</li><li>Publishing a review on G2 or SourceForge <strong>lets you unlock Duplicity Resolving + Branching, Clustering, and File &amp; Key Aliases</strong>.</li></ul><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/Ambassador-actions.png" class="kg-image" alt loading="lazy" width="1200" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Ambassador-actions.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Ambassador-actions.png 1000w, https://ghost.localazy.com/content/images/2025/03/Ambassador-actions.png 1200w" sizes="(min-width: 1200px) 1200px"></figure><p>One project owner from our beta program described it this way:</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><em>"I was able to unlock Business tier features for our open-source localization project <strong>for six straight months without touching our development budget</strong>. Our users were happy to help because they benefited directly from the improved localization tools."</em></div></div><blockquote>💝 Check out the current list of rewards <a href="https://localazy.com/my/ambassador/rewards">here</a>. </blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2026/03/Sni-mek-obrazovky-2026-03-03-v-11.44.43.png" class="kg-image" alt loading="lazy" width="760" height="619" srcset="https://ghost.localazy.com/content/images/size/w600/2026/03/Sni-mek-obrazovky-2026-03-03-v-11.44.43.png 600w, https://ghost.localazy.com/content/images/2026/03/Sni-mek-obrazovky-2026-03-03-v-11.44.43.png 760w" sizes="(min-width: 720px) 720px"></figure><h3 id="mobilize-your-community">Mobilize your community <a class="markdownit-header-anchor" href="#mobilize-your-community">🔗</a></h3><p><strong>Activating your existing community can help you get more points and features faster</strong>. � But it renders even more benefits — it creates <strong>value multiplication loops</strong> that grow stronger over time. With access to premium features, your project's localization quality improves, attracting more engagement and further community support. And as users contribute to your project through the program, they improve the localization experience, which attracts more users, who can become contributors themselves. <strong>It's a virtuous cycle</strong>. </p><p>If you already have users and contributors, you can activate them immediately by: </p><ul><li>Sharing an invitation link to <a href="https://localazy.com/ambassador" rel="noopener noreferrer nofollow">localazy.com/ambassador</a> or creating your own custom landing page to let them know.</li><li>Adding an "Ambassador" button to your project documentation by setting up a tracking or affiliate link to <a href="https://localazy.com/ambassador" rel="noopener noreferrer nofollow">localazy.com/ambassador</a>.</li><li>Creating a dedicated channel for ambassadors on Discord, Telegram, or your platform or choice.</li><li>Recognizing your top contributors publicly.</li></ul><p>Regarding this, another project owner that uses Localazy reported:</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><em>"We announced the Ambassador Program in our Discord and saw 40% of our active users register within the first week. <strong>They've generated enough points to keep our project on the Business tier for the three upcoming years</strong>, saving us a substantial amount of money."</em></div></div><h2 id="how-do-i-get-started">👀 How do I get started? <a class="markdownit-header-anchor" href="#how-do-i-get-started">🔗</a></h2><p>Setting up your project to benefit from the Ambassador Program takes less than five minutes:</p><ol><li><strong>Log in</strong> to your Localazy dashboard.</li><li><strong>Click</strong> on the Ambassador Program button on your organization's sidebar.</li><li><strong>Pick</strong> your first action to see how it works for yourself. Don't forget to check the requirements page for each action. For some of them, you'll have to upload a screenshot as proof.</li><li>When the action is complete and reviewed, <strong>your account will be automatically credited with points</strong> that can be exchanged for exclusive features.</li></ol><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/Ambassador-how-to.png" class="kg-image" alt loading="lazy" width="1200" height="324" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Ambassador-how-to.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Ambassador-how-to.png 1000w, https://ghost.localazy.com/content/images/2025/03/Ambassador-how-to.png 1200w" sizes="(min-width: 1200px) 1200px"></figure><p>You can also:</p><ul><li><strong>Invite </strong>your trusted community members to take part and<strong> donate</strong> points to your organization.</li><li><strong>Track</strong> incoming points and contributions in real time.</li><li><strong>Allocate</strong> points to unlock the features you need most.</li></ul><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/03/Ambassador-donate-1.png" class="kg-image" alt loading="lazy" width="1200" height="368" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Ambassador-donate-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Ambassador-donate-1.png 1000w, https://ghost.localazy.com/content/images/2025/03/Ambassador-donate-1.png 1200w" sizes="(min-width: 1200px) 1200px"></figure><blockquote><em>💬 Have more questions? Head over to <a href="https://localazy.com/faq/ambassador">our Ambassador FAQ</a> to get the full picture</em></blockquote><h3 id="the-programs-roadmap">🛣️ The program's roadmap <a class="markdownit-header-anchor" href="#the-programs-roadmap">🔗</a></h3><p>We already know what the future holds for the Localazy Ambassador Program. Among other updates, we are working on:</p><ul><li><strong>Embeddable leaderboards</strong> for top donors to your organization.</li><li><strong>Gamification features</strong> for your own localization community.</li><li><strong>Growth loop actions</strong> to mutually support our communities via co-marketing, co-branding, and partnerships.</li></ul><p>If you have a suggestion for improving our current roadmap, we're all ears! 👂 <a href="mailto:team@localazy.com">Contact us</a> or <a href="mailto:jakub@localazy.com">email our CMO</a> with your ideas. Your feedback will help us refine the program over time.</p><h2 id="join-today">🏆 Join today! <a class="markdownit-header-anchor" href="#join-today">🔗</a></h2><p>The most successful localization projects don't just translate content — they build communities. The Localazy Ambassador Program gives you the tools to transform your community's natural enthusiasm into tangible resources for your projects. </p><p>Whether you're managing an open-source tool, a commercial application, or an educational resource, this program puts more resources at your fingertips to make it shine. 🌟</p><p><strong>Ready to unlock the full potential of your localization projects?</strong> <a href="https://localazy.com/ambassador" rel="noopener noreferrer nofollow">Sign up for the Localazy Ambassador Program today</a> and power up your project for less.</p>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/03/Ambassadors-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to manage duplicate texts in Adobe Captivate with Localazy's Translation Memory]]></title>
            <link>https://localazy.com/blog/how-to-manage-duplicate-texts-in-adobe-captivate-with-localazy-translation-memory</link>
            <guid isPermaLink="false">how-to-manage-duplicate-texts-in-adobe-captivate-with-localazy-translation-memory</guid>
            <pubDate>Fri, 08 Aug 2025 09:24:39 GMT</pubDate>
            <description><![CDATA[Handling duplicate texts in Adobe Captivate can be quite a hassle. In this guide, learn how to manage them easily with the Localazy Translation Memory.]]></description>
            <content:encoded><![CDATA[<p>Duplicates are often a headache for most localization and product teams. <strong>When you're working with e-learning materials, they are bound to occur </strong>since <strong>Adobe Captivate</strong> and other platforms usually export a significant amount of text that is repeated on each slide, in addition to the actual content of the courses. </p><p>Another reason why you might end up with a high volume of duplicate texts is when you design multiple courses with the same templates. Fortunately, there is a way to deal with this problem using Localazy's <strong>Translation Memory</strong>. 📖 With this step-by-step tutorial, you'll make duplicates a thing of the past when translating e-learning content in Captivate.</p><h2 id="the-fix-localazy-translation-memory">👯 The fix: Localazy Translation Memory <a class="markdownit-header-anchor" href="#the-fix-localazy-translation-memory">🔗</a></h2><p>The Localazy <a href="/ghost/#/editor/post/67bca41934f1ce00011a8874">Translation Memory (TM)</a> is a database that contains all the strings that have been translated within your projects. When there is an exact match for strings translated in the past, the TM can be used to translate others in the same manner as before. It can translate a single string, a file, or even an entire language.</p><p>This will ensure consistency and reduce the total cost of translation. Let's see how it works in the walkthrough below.</p><h3 id="1-export-xml-content">1. Export XML content <a class="markdownit-header-anchor" href="#1-export-xml-content">🔗</a></h3><p>We will use a sample file created in Adobe Captivate. On the <em><strong>File</strong></em> tab, select <em>Export</em>, and then choose <em><strong>To XML</strong></em> from the dropdown menu. You need to make sure that this file is saved on your computer.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcTsFjOvwWlTJhlovUYKLGcGsxZkoH9VuhoZcm2LyEBnUc-8Fx8KlOvH98xKOU5q4eBRr-tlnGFONGp2BPP9ckCHqcxjeOn93IrveNkS9emLExHPp8_0HjKbtN1wLVAqdIZYjthRA?key=4XokHIuwP2AotLsJ8jMmtYxu" class="kg-image" alt loading="lazy"></figure><p>After downloading the XML file to your computer, the next step is to either <a href="https://localazy.com/register">sign up</a> for an account with Localazy or <a href="https://localazy.com/login">log in</a> to your existing account. Our new project will be called the <em>Adobe Translation Memory Project</em>, and it will be created within the Localazy dashboard.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-05-at-4.43.40-PM.png" class="kg-image" alt loading="lazy" width="1914" height="938" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-05-at-4.43.40-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-05-at-4.43.40-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Screenshot-2025-03-05-at-4.43.40-PM.png 1600w, https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-05-at-4.43.40-PM.png 1914w" sizes="(min-width: 720px) 720px"></figure><p>You will then be taken to the project dashboard. Here, drop your source file (the XML file you downloaded from Adobe Captivate).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-05-at-4.44.49-PM.png" class="kg-image" alt loading="lazy" width="2000" height="623" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-05-at-4.44.49-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-05-at-4.44.49-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Screenshot-2025-03-05-at-4.44.49-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/03/Screenshot-2025-03-05-at-4.44.49-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-import-xml-file-to-localazy-dashboard">2. Import XML file to Localazy dashboard <a class="markdownit-header-anchor" href="#2-import-xml-file-to-localazy-dashboard">🔗</a></h3><p>Once we have selected the XML file, we will upload it to the dashboard.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd6e5CUxzR_s03-rU8-b8kbiSXO8u45AQs0qWpjgga-WTkZQcCKJLcU23g4bHSjSG3MqSrW1sOlx6pU4Y0ekKBvPHZLj7yonZ4Udr1_-14C6sEAWvZ_k7V9xdvYpgezBvh1ng0lJg?key=4XokHIuwP2AotLsJ8jMmtYxu" class="kg-image" alt loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeVD-gTa8A9Eu2CV6B-D0-1fvNuVTjwENbCrS383auOn-VlQ3wNr0xZfxVYDNu5Jw_U_DF0E1KDVPBb_Q6Sg-oXxTlZQVtRxqxUrKW1i6YfX3_dM1h4cC6e1NyBhyC5FSBY6-11EA?key=4XokHIuwP2AotLsJ8jMmtYxu" class="kg-image" alt loading="lazy"></figure><p>Our project is expected to appear as follows after it has been uploaded. We have English set as our default source language and<strong> will now be able to view the duplicates that are already present </strong>in our first project file.</p><h3 id="3-adding-languages-for-machine-translation">3. Adding languages for Machine Translation <a class="markdownit-header-anchor" href="#3-adding-languages-for-machine-translation">🔗</a></h3><p>Following that, <strong>we will add our target languages</strong>. In this case, we added French (fr).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-06-at-2.48.44-PM.png" class="kg-image" alt loading="lazy" width="2000" height="529" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-06-at-2.48.44-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-06-at-2.48.44-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Screenshot-2025-03-06-at-2.48.44-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/03/Screenshot-2025-03-06-at-2.48.44-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>To initiate the translation process, click on the 3-dotted menu, which shows a dropdown of some options, and select <em>Use Machine Translations</em>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-06-at-2.49.00-PM.png" class="kg-image" alt loading="lazy" width="2000" height="547" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-06-at-2.49.00-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-06-at-2.49.00-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Screenshot-2025-03-06-at-2.49.00-PM.png 1600w, https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-06-at-2.49.00-PM.png 2338w" sizes="(min-width: 720px) 720px"></figure><p>Localazy provides <a href="https://localazy.com/docs/general/additional-mt-engines">Machine Translation (MT)</a> to help users speed up the translation process, with providers including Amazon Translate, Google Translate, Azure Translate, DeepL, and OpenAI. Choose any of the providers available for your tier, and your content will be translated automatically.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text">MT bulk translation is just one of the options Localazy offers. You can <a href="https://localazy.com/docs/general/translating-strings">translate independently</a> with their built-in suggestion system, invite contributors and <a href="https://localazy.com/features/context-screenshots-ocr">provide them with context</a>, enlist professional human translators and proofreaders <a href="https://localazy.com/blog/guide-localazy-translation-services/">via CLT</a>, or combine any of these.</div></div><p>Upon completion, a confirmation dialog will be displayed on the screen and you will see the completed translation (see below).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-06-at-2.50.25-PM.png" class="kg-image" alt loading="lazy" width="2000" height="785" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-06-at-2.50.25-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-06-at-2.50.25-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Screenshot-2025-03-06-at-2.50.25-PM.png 1600w, https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-06-at-2.50.25-PM.png 2328w" sizes="(min-width: 720px) 720px"></figure><p>It is important to note that the source strings for the translated content will be saved in the translation memory. This means that <strong>subsequent uploads that contain identical strings will not require manual translation</strong> because we'll already have those source strings in memory.</p><h3 id="4-handling-duplicated-content-with-translation-memory">4. Handling duplicated content with Translation Memory <a class="markdownit-header-anchor" href="#4-handling-duplicated-content-with-translation-memory">🔗</a></h3><p>Now that we have some content in our TM, we can use it to translate similar strings in other files.</p><p>We will test this by uploading a new content file, <em>designerProfile.xml,</em> containing some previously used strings from the original <em>teamProfile.xml</em> file. As mentioned before, this will be common when you create variants of your courses <em>or</em> use a standardized template for your course series. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/03/WhatsApp-Image-2025-03-13-at-1.53.17-PM.jpeg" class="kg-image" alt loading="lazy" width="1080" height="635" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/WhatsApp-Image-2025-03-13-at-1.53.17-PM.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/WhatsApp-Image-2025-03-13-at-1.53.17-PM.jpeg 1000w, https://ghost.localazy.com/content/images/2025/03/WhatsApp-Image-2025-03-13-at-1.53.17-PM.jpeg 1080w" sizes="(min-width: 720px) 720px"><figcaption>A set of similar strings used in the new xml file.</figcaption></figure><p>Our new file will contain duplicated strings and can be uploaded by clicking on the <em>Add Content</em> button at the top right corner of the project dashboard. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-06-at-3.20.41-PM.png" class="kg-image" alt loading="lazy" width="2000" height="108" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-06-at-3.20.41-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-06-at-3.20.41-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Screenshot-2025-03-06-at-3.20.41-PM.png 1600w, https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-06-at-3.20.41-PM.png 2324w" sizes="(min-width: 720px) 720px"></figure><p>Then, proceed in the same manner as described in step 2.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-13-at-1.58.40-PM.png" class="kg-image" alt loading="lazy" width="1562" height="772" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-13-at-1.58.40-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-13-at-1.58.40-PM.png 1000w, https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-13-at-1.58.40-PM.png 1562w" sizes="(min-width: 720px) 720px"></figure><p>After a successful upload, we can translate the new content using Translation Memory<em>.</em></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-13-at-2.03.51-PM.png" class="kg-image" alt loading="lazy" width="2000" height="879" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-13-at-2.03.51-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-13-at-2.03.51-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Screenshot-2025-03-13-at-2.03.51-PM.png 1600w, https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-13-at-2.03.51-PM.png 2322w" sizes="(min-width: 720px) 720px"></figure><p>When you click <em>Apply Translation Memory,</em> a dialog box will appear, allowing you to confirm which project you want to use as a TM source. It also allows adding multiple projects, with a maximum number of 5 projects at a time, with the <a href="https://localazy.com/features/connected-projects">Connected Projects feature</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-06-at-1.15.02-PM.png" class="kg-image" alt loading="lazy" width="1300" height="712" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-06-at-1.15.02-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-06-at-1.15.02-PM.png 1000w, https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-06-at-1.15.02-PM.png 1300w" sizes="(min-width: 720px) 720px"></figure><p>Select <em>Confirm,</em> and <strong>your TM will be applied to the content</strong>, with every duplicate string being translated and this taken into account. In this instance, the age, country, and talent were translated automatically because they already exist in our translation memory. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-13-at-2.08.14-PM-1.png" class="kg-image" alt loading="lazy" width="2000" height="361" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-13-at-2.08.14-PM-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-13-at-2.08.14-PM-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Screenshot-2025-03-13-at-2.08.14-PM-1.png 1600w, https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-13-at-2.08.14-PM-1.png 2240w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-13-at-2.07.48-PM.png" class="kg-image" alt loading="lazy" width="2000" height="665" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-13-at-2.07.48-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-13-at-2.07.48-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Screenshot-2025-03-13-at-2.07.48-PM.png 1600w, https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-13-at-2.07.48-PM.png 2322w" sizes="(min-width: 720px) 720px"></figure><p>However, we will need to apply Machine Translation for the remaining strings, as shown in the image below.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-13-at-2.12.30-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1127" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-13-at-2.12.30-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-13-at-2.12.30-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Screenshot-2025-03-13-at-2.12.30-PM.png 1600w, https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-13-at-2.12.30-PM.png 2322w" sizes="(min-width: 720px) 720px"></figure><p><strong>Repeat the process for the remaining untranslated strings,</strong> and then the project will be fully translated.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-13-at-2.15.23-PM.png" class="kg-image" alt loading="lazy" width="2000" height="621" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-13-at-2.15.23-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-13-at-2.15.23-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Screenshot-2025-03-13-at-2.15.23-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/03/Screenshot-2025-03-13-at-2.15.23-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Once the translations are complete, navigate to the <strong>File Management</strong> tab, export, and download the translated <em>designerProfile</em> and <em>teamProfile</em> XML files.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/Screenshot-2025-03-13-at-2.16.14-PM.png" class="kg-image" alt loading="lazy" width="2000" height="483" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/Screenshot-2025-03-13-at-2.16.14-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/Screenshot-2025-03-13-at-2.16.14-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/Screenshot-2025-03-13-at-2.16.14-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/03/Screenshot-2025-03-13-at-2.16.14-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="5-import-translated-content-into-adobe-captivate">5. Import translated content into Adobe Captivate <a class="markdownit-header-anchor" href="#5-import-translated-content-into-adobe-captivate">🔗</a></h3><p>We're finally ready to bring the translated content into Adobe Captivate. Use the <em>File</em> tab to import the translated XML file, and <strong>you'll have the translated version ready to use in your e-learning tool</strong>. See another example <a href="https://localazy.com/blog/4-benefits-of-translating-your-e-learning-content-and-how-to-do-it-easily#adobe-captivate">here</a>.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdMar2GKohrW_BQgn03uBufdGuwGAw2rC5n8DClx-9rE0i8G7Py-ZeTbZww6i-V_RR0NtN2GKsRAB-YUFuKFOeIP9BPKNenJh-JZ1zGcl-6SU7suXpXotW0An36fe0bn8AnPcocXA?key=4XokHIuwP2AotLsJ8jMmtYxu" class="kg-image" alt loading="lazy"></figure><h2 id="final-thoughts">✔️ Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>When translating content, it is almost impossible to avoid duplicates because Adobe Captivate exports many repeated texts along with the real content of the courses. <strong>Using Localazy Translation Memory is a quick fix to handle the translation of duplicates in XML files </strong>– a solution<strong> </strong>fit even for non-technical team members.</p><p>The translation memory feature can also be used with <a href="https://localazy.com/rise-360/">Articulate Rise 360</a> and <a href="https://localazy.com/ispring-suite">iSpring</a> (<a href="https://localazy.com/blog/4-benefits-of-translating-your-e-learning-content-and-how-to-do-it-easily/">this article</a> shows the process in action). There's no excuse to avoid inconvenient duplicate content in your localized courses now! Try it out and enjoy a smoother process. 😌</p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/03/adobe-captivate-and-translation-memory.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Doing SEO for your SaaS in 2025 | Bridging the Gap Podcast, S01 EP07]]></title>
            <link>https://localazy.com/blog/s01-ep-07-bridging-the-gap-podcast</link>
            <guid isPermaLink="false">s01-ep-07-bridging-the-gap-podcast</guid>
            <pubDate>Tue, 20 May 2025 17:29:01 GMT</pubDate>
            <description><![CDATA[A question floats over marketer's heads: Is SEO dead as we knew it? SaaS consultant Michal Pecánek walks us through the new AI-led scenario with practical tips and insights.]]></description>
            <content:encoded><![CDATA[<p>SEO has proven to be an essential piece of the content marketing puzzle for a long time. With algorithms being as feeble as ever and AI search bursting in, how can we nail our search optimization game today? <strong><a href="https://www.michalpecanek.com">Michal Pecánek</a></strong>, SaaS SEO consultant (ex-Ahrefs, CDN77), joins <a href="https://localazy.com/blog/author/jakub-dubec/"><strong>Jakub Dubec</strong></a>, CMO at Localazy, and host <a href="https://lukasmehnert.com">Lukas Mehnert</a> to discuss the best approaches to make your product seen and heard in the most popular engines.</p><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/wA95yOO5aKs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Doing SEO for your SaaS in 2025 (w/ Michal Pecánek &amp; Jakub Dubec) | Bridging the Gap Podcast #7, S01"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Doing SEO for your SaaS in 2025 (w/ Michal Pecánek &amp; Jakub Dubec) | Bridging the Gap Podcast #7, S01 " frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/3yUaKpImOQvrKr3ungHZ7u/video?si=33e0dece04494498&utm_source=oembed"></iframe></figure><h2 id="additional-resources">🗞️ Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><p>Check out <em>Making a Marketer 2</em>, the documentary by marketer <a href="https://www.linkedin.com/in/faborsky/">Jindrich Faborsky</a> mentioned in the episode:</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/ZtYT-Ojn49Q?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Making a Marketer 2: Lessons from the World’s Top Marketers"></iframe></figure><h2 id="connect-with-the-guests-and-host">💌 Connect with the guests & host <a class="markdownit-header-anchor" href="#connect-with-the-guests-and-host">🔗</a></h2><p><a href="https://www.linkedin.com/in/michalpecanek/">Michal Pecánek</a></p><p><a href="https://www.linkedin.com/in/jakubdubec/">Jakub Dubec</a></p><p><a href="https://www.linkedin.com/in/lukas-mehnert-8069a752/">Lukas Mehnert</a></p><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete automated localization solution for your digital products. We make your software, apps, and content multilingual and ready for international audiences with developer-friendly features, TMS tools, and professional translation services.</p><p>First time here? Check out our <a href="https://localazy.com/docs/general/getting-started-with-localazy">getting started guide</a>, <a href="https://localazy.com/pricing">find your plan</a>, or <a href="https://localazy.com/contact">contact us </a>with any questions. We're here to help you with your localization and i18n journey.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep07.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The great LLM translation war: A comparative of the hottest AI models]]></title>
            <link>https://localazy.com/blog/the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models</link>
            <guid isPermaLink="false">the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models</guid>
            <pubDate>Sat, 16 Aug 2025 13:11:39 GMT</pubDate>
            <description><![CDATA[Choosing the best AI tool to help you localize is becoming harder every day. With new models popping up everywhere, what should you look at to make a decision? We tested a few to get clarity. ]]></description>
            <content:encoded><![CDATA[<p>To LLM or not to LLM?</p><p>And more importantly: <strong>which LLM?</strong></p><p>If you can’t make your head around the recent changes in the Large Language Models (LLMs) scene, fear not. You’re not alone.</p><p>With over 60 large language models (LLMs) <a href="https://en.wikipedia.org/wiki/List_of_large_language_models">available on the market</a>, it’s easy to get lost in the labyrinth of choices. The scene gets more crowded month after month, as new models enter the game. ☔️ No wonder users around the globe keep pondering whether these new additions can beat the well-known giants.</p><p>If these users happen to work in the translation and localization industry, the first question that comes to mind is: <strong>Can I successfully use these new LLMs for translation tasks?</strong></p><p>You’ll find the answer in our comprehensive test below.</p><h2 id="new-kids-on-the-block">🛝 New kids on the block <a class="markdownit-header-anchor" href="#new-kids-on-the-block">🔗</a></h2><p>Earlier this year, <a href="https://daily.dev/blog/deepseek-everything-you-need-to-know-about-this-new-llm-in-one-place"><strong>DeepSeek</strong> made it to the headlines with a splash</a>. However, that’s not the only LLM that has recently launched. There are dozens of other newcomers, too.</p><p>While <a href="https://chat.deepseek.com/sign_in">DeepSeek</a> <strong>promises high performance, open-source accessibility, high efficiency, and low computational costs, it raises significant data privacy concerns</strong>. For starters, it stores user information on servers located in China and fails to guarantee that EU users' rights under GDPR will be met. But that’s not all. The company collects various types of user data, including text inputs, prompts, uploaded files, chat history, device information, and even keystroke patterns. If that doesn’t sound like the scenes from the <em>Black Mirror</em> series coming to life, I don’t know what else does.</p><p>As if these weren’t enough, <strong>DeepSeek tends to be highly biased</strong>. Prompt it to give you information on any topic censored by the Chinese government, and you’ll find yourself in a loop of diversions. 👀  Cultural Revolution in China? It’s beyond the tool’s scope. Who owns the Spratly Islands? Let’s switch topics.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/DeepSeek-censorship.JPG" class="kg-image" alt loading="lazy" width="1042" height="954" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/DeepSeek-censorship.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/DeepSeek-censorship.JPG 1000w, https://ghost.localazy.com/content/images/2025/02/DeepSeek-censorship.JPG 1042w" sizes="(min-width: 720px) 720px"><figcaption>Censorship in DeepSeek.</figcaption></figure><p>Questions about Chinese matters are not the only issues that DeepSeek likes to cover with silence. <a href="https://www.euronews.com/next/2025/01/31/harmful-and-toxic-output-deepseek-has-major-security-and-safety-gaps-study-warns">A study by Enkrypt AI</a> found that 83% of bias tests on DeepSeek-R1 resulted in discriminatory output, with biases detected across race, gender, health, and religion. Whatever you plan to do with the tool, <strong>make sure to double-check the facts</strong>.</p><p><a href="https://www.doubao.com/chat/"><strong>Doubao</strong></a>, another Chinese LLM released in January 2025 by ByteDance (the creators of TikTok), shows a similar behavior when it comes to biases and censorship. However, <strong>it promises performance that outshines GPT-4o or Claude</strong> in areas such as knowledge retention, coding, reasoning, and Chinese language processing. It also <a href="https://medium.com/towards-agi/bytedance-just-dropped-doubao-1-5-pro-the-ai-model-thats-quietly-outsmarting-everyone-b9ebc523558d">scores higher in terms of operational efficiency</a>, using merely USD 0.11 per million tokens for input and USD 0.013 for output. <strong>The industry giants have on average 70% higher costs</strong>. 📈</p><p>Cost-effectiveness is the secret weapon of yet another Chinese LLM. <strong><a href="https://chat.qwen.ai">Qwen</a></strong> was published by Alibaba in 2023 and received its most powerful version, Qwen2.5-Max, in January this year. This model supports multilingual tasks across more than 29 languages and promises <strong>excellent long-form text generation, outstanding coding proficiency, and mathematical reasoning</strong>. It’s also fast and efficient. In terms of speed, <a href="https://www.amitysolutions.com/blog/qwen-2-5-ai-breakthrough-all-records">Qwen matches GPT-4o and outperforms Gemini 1.5</a>.</p><blockquote>Doubao shines in operational efficiency, with considerably lower costs than the LLM giants. Qwen scores high in data privacy, in contrast to DeepSeek, which raises security concerns and tends to be highly biased</blockquote><p>Unlike DeepSeek, <strong>Qwen scores high in data privacy </strong><a href="https://www.tomsguide.com/ai/i-tested-deepseek-vs-qwen-2-5-with-7-prompts-heres-the-winner"><strong>and seems to be less biased</strong></a>. It correctly answers questions about Chinese or international history and shows fewer biases in other areas. 🧑‍🏫 Another good news is that Qwen aligns with GDPR and other global privacy standards.</p><p>If it all sounds too good to be true, here’s a reason to temper your expectations: Qwen2.5-Max also has its downsides. It’s not an open-source LLM and doesn’t provide transparent reasoning behind its responses, as <a href="https://www.webelight.com/blog/deepseek-cyber-attack-a-wake-up-call-for-the-AI-industry" rel="noopener noreferrer nofollow">DeepSeek R1</a> or OpenAI’s o1 do. That’s not necessarily a deal-breaker, but something to consider depending on your needs for transparency and adaptability.</p><p>With so many options, <strong>choosing the right LLM for translation sounds like an impossible mission</strong>. It’s tough to decide which model will help you break language barriers and facilitate all those complex localization and internationalization processes.</p><blockquote>🎙️ To what extent are AI tools useful in localization and translation? <a href="https://localazy.com/blog/s02-ep-01-bridging-the-gap-podcast">Listen to our conversation with Dialect’s CEO Jiří Šebek</a>  for an insider take on this topic</blockquote><h3 id="llm-giants-or-the-shiny-new-chinese-toys">LLM giants or the shiny new Chinese toys? <a class="markdownit-header-anchor" href="#llm-giants-or-the-shiny-new-chinese-toys">🔗</a></h3><p>Let’s put the models to the test. <strong>We’ll analyze the translation quality</strong> <strong>delivered by the new models</strong> and compare it with that of pioneers such as ChatGPT, Claude, Mistral, and Gemini. </p><h3 id="why-these-models">Why these models? <a class="markdownit-header-anchor" href="#why-these-models">🔗</a></h3><p>Well, ChatGPT, Claude, Mistral, and Gemini were all released before 2024, gained widespread recognition, and were praised for their capabilities. They are also the most popular LLMs. On the other hand, the three Chinese LLMs all emerged in 2025 promising an AI revolution. Our translation quality comparison will be like a battle between the old and the new, between the West and the East, traditional and innovative. </p><p>Who will win?</p><h3 id="a-note-about-deepl">A note about DeepL <a class="markdownit-header-anchor" href="#a-note-about-deepl">🔗</a></h3><p><a href="https://www.deepl.com/es/translator">DeepL</a> has been praised by language experts for the quality of its translation results and has recently <a href="https://fortune.com/2024/07/18/deepl-long-a-leader-in-translation-tech-finally-embraces-llms/">integrated their newest models with a LLM</a>. However, <strong>we decided to exclude it from this analysis</strong> since it doesn't allow us to feed it with a prompt, nor upload a TM or a style guide. The resulting translations would be punished on the selected indicators (consistency with TM and style guide, and partially also for contextual appropriateness). In addition, DeepL doesn't support Croatian, which is one of the two languages chosen for the test.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/03/AdobeStock_552284771.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1373" srcset="https://ghost.localazy.com/content/images/size/w600/2025/03/AdobeStock_552284771.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/03/AdobeStock_552284771.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/03/AdobeStock_552284771.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/03/AdobeStock_552284771.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-great-llm-translation-battle">⚔️ The great LLM translation battle <a class="markdownit-header-anchor" href="#the-great-llm-translation-battle">🔗</a></h2><p>Battles without rules equal chaos. To make sure our translation quality comparison doesn’t spiral into confusion, we’ll use the following indicators:</p><p>1️⃣ <strong>Consistency with translation memories</strong></p><p>2️⃣ <strong>Rendering variables in the translated strings</strong></p><p>3️⃣ <strong>Consistency with the style guide</strong> (e.g., gender neutral, engaging)</p><p>4️⃣ <strong>Contextual appropriateness</strong> (e.g., does it fit the mobile app context? Is it right for the target users?)</p><p>5️⃣ <strong>Accuracy</strong> (how closely the translated text matches the meaning of the source text)</p><p>6️⃣ <strong>Fluency</strong> (whether the translated text reads naturally in the target language)</p><p>All these indicators <strong>will be assigned on a scale from 1 to 5 to an English-Polish 🇵🇱 translation of mobile app strings</strong>. We’ll compare the score for this language pair with the translation of the same strings <strong>from English into Croatian 🇭🇷</strong>, which is <a href="https://localazy.com/dictionary/low-resource-languages">a low-resource language</a> (Polish is considered medium-source). </p><p>Each LLM will be asked to provide <strong>a context-specific, gender-neutral translation</strong>, based on a style guide and translation memory uploaded as a TMX or TXT file. The instructions will also contain the type of results we’re looking for, such as natural, engaging translation consistent with the uploaded documents.</p><p>In each test, we'll use <strong>the same set of 10 strings from an educational app </strong>of varied lengths and complexity:</p><ol><li><em>Tap here to start your learning adventure!</em></li><li><em>You are competing against [User].</em></li><li><em>Settings have been successfully updated.</em></li><li><em>Swipe left to see more options or tap More to open a full menu.</em></li><li><em>You have %s new notifications.</em></li><li><em>Tip of the day: Switch your phone's language setting to the language you're learning to boost daily immersion and accelerate your learning process.</em></li><li><em> You've earned a badge for your streak of %s days! Keep up the great work to unlock more rewards.</em></li><li><em>Your pronunciation score has improved by s% since last month! Well done!</em></li><li><em>Do you really want to delete your account? This action cannot be undone.</em></li><li><em>Your subscription has expired. Renew now to continue enjoying all the great courses.</em></li></ol><p>🧠 The translation memory contains <strong>two 100% matches and two 70% matches</strong>, both for Polish and Croatian.</p><p>📓 The style guide briefly <strong>explains the type of the mobile app</strong> (language learning), <strong>describes the target audience</strong> (adults), <strong>and the desired tone </strong>(engaging and motivational). It also stresses that translation should be gender-neutral and use the correct terminology for app-related words.</p><p>💬 Finally, each model will be presented with the same prompt:</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><em>Act as a professional English-Polish (English-Croatian) translator specializing in the translation of mobile apps and educational content. I will provide you with 10 strings from a language learning app for adults. As a reference, I will upload a TMX file with a translation memory, and a DOC file with a style guide. Translate the strings based on the reference files, making sure the translation is engaging, consistent, contextually appropriate, and gender-neutral.</em></div></div><blockquote><strong><em>Disclaimer: </em></strong><em>The translation quality assessments and comparisons presented in this article are based on a limited set of tests perfomed by language professionals and should not be considered exhaustive or definitive. Due to constraints such as access to full model capabilities, proprietary algorithms, and the broad range of potential test conditions, our benchmarking efforts may not fully capture the capabilities of each model. We encourage readers to consult additional research and papers that offer more extensive benchmarking analyses. Bear in mind also that models used in these tests are updated and change all the time. Our benchmarking criteria might be limited.</em></blockquote><h3 id="chatgpt-version-gpt-4o">ChatGPT, version GPT-4o <a class="markdownit-header-anchor" href="#chatgpt-version-gpt-4o">🔗</a></h3><p><a href="https://chatgpt.com">ChatGPT</a> struggled with some app-related terms for Polish translations and <strong>failed to provide engaging gender-neutral translations</strong>. For example, it offered alternative gender verb forms (<em>Zdobyłeś/aś</em>), which was not only incorrectly written (the correct form is<em> Zdobyłeś(-łaś)</em>) but also isn’t a typical wording in mobile apps. In such cases, the translation would be usually rendered with the verb in the present form (<em>Zdobywasz</em>), which is gender-neutral, instead of the past form,, which requires a different form for each gender. </p><p>Some strings were translated quite literally (<em>codzienne zanurzenie</em> for <em>daily immersion</em>), <strong>the model didn’t respect the translation memory</strong> for the 100% matches and wasn’t consistent with the 70% matches. The strings with variables were quite problematic too: “You are competing against [User]” and “You have %s new notifications” were rendered incorrectly. In the first sentence, the variable was translated, and the second reads well only for one plural form.</p><p>In Croatian, the model also translated the variable (“User”) but did well with preserving the segments from the translation memory.</p><p>All in all, <strong>the translation quality wasn’t bad, however, it requires thorough editing</strong>, especially when it comes to consistency and fluency.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/ChatGPT-PL.JPG" class="kg-image" alt loading="lazy" width="1104" height="1481" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/ChatGPT-PL.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/ChatGPT-PL.JPG 1000w, https://ghost.localazy.com/content/images/2025/02/ChatGPT-PL.JPG 1104w" sizes="(min-width: 720px) 720px"><figcaption>Polish translation in ChatGPT.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/ChatGPT-HR.JPG" class="kg-image" alt loading="lazy" width="805" height="731" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/ChatGPT-HR.JPG 600w, https://ghost.localazy.com/content/images/2025/02/ChatGPT-HR.JPG 805w" sizes="(min-width: 720px) 720px"><figcaption>Croatian translation in ChatGPT.</figcaption></figure><h3 id="claude-version-sonnet-35">Claude, version Sonnet 3.5 <a class="markdownit-header-anchor" href="#claude-version-sonnet-35">🔗</a></h3><p>Since <strong><a href="https://claude.ai">Claude</a> doesn’t recognize TMX files</strong>, the TM for this model was uploaded as a TXT file, and the prompt was adapted accordingly. In Polish, this model used different terminology for “Tap” compared to ChatGPT, which is considered “more correct”. <strong>The translation had a more natural flow and was more engaging compared to ChatGPT, although the strings were not consistent </strong>with the translation memory. Gender neutrality wasn’t the model’s strong point either.</p><p>Both in Croatian and Polish, the first variable (“User”) was rendered flawlessly, but the strings with variables for multiple plurals turned out to be problematic again.</p><p><strong>In both languages, Claude added notes on the translation approach at the end</strong> of the output, which is a handy way to sum up all performed processes.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/Claude-PL.JPG" class="kg-image" alt loading="lazy" width="793" height="1058" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Claude-PL.JPG 600w, https://ghost.localazy.com/content/images/2025/02/Claude-PL.JPG 793w" sizes="(min-width: 720px) 720px"><figcaption>Polish translation in Claude.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/Claude-HR.JPG" class="kg-image" alt loading="lazy" width="798" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Claude-HR.JPG 600w, https://ghost.localazy.com/content/images/2025/02/Claude-HR.JPG 798w" sizes="(min-width: 720px) 720px"><figcaption>Croatian translation in Claude.</figcaption></figure><h3 id="mistral">Mistral <a class="markdownit-header-anchor" href="#mistral">🔗</a></h3><p>This time, both TM and the style guide were uploaded to the tool as TXT files, as <strong>the model doesn’t support TMX or DOC uploads</strong>. The prompts were tweaked accordingly.</p><p>Overall, <strong>Polish translation was more natural and engaging</strong> compared to the previous two models. <strong>However, </strong><a href="https://mistral.ai"><strong>Mistral</strong></a><strong> struggled with variables</strong> and didn’t stick to the translation memory. Instead of gender-neutral strings, the model chose the male verb forms, failing to adhere to the style guide. Some phrases were translated too literally (e.g., in strings 3, 6, and 9).</p><p>Surprisingly, the model failed to preserve the variable “User” in Polish but retained it correctly in the Croatian translation. Strings with variables for multiple plural forms were again the weak points.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/Mistral-PL.JPG" class="kg-image" alt loading="lazy" width="829" height="1301" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Mistral-PL.JPG 600w, https://ghost.localazy.com/content/images/2025/02/Mistral-PL.JPG 829w" sizes="(min-width: 720px) 720px"><figcaption>Polish translation in Mistral.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/Mistral-HR.JPG" class="kg-image" alt loading="lazy"><figcaption>Croatian translation in Mistral.</figcaption></figure><h3 id="gemini-version-20-flash">Gemini, version 2.0 Flash <a class="markdownit-header-anchor" href="#gemini-version-20-flash">🔗</a></h3><p><strong><a href="https://gemini.google.com/">Gemini</a> supports only image upload</strong>, so both the TM and style guide were fed to the model by copying and pasting the content directly into the chat window.</p><p>In Polish, the model not only used the strings from the TM but also commented on the instances where it copied a string from the translation memory (see strings 3 and 8). <strong>The translations had a decent flow with very few literal phrases, and the terminology was correct</strong> as well.</p><p>Regarding gender neutrality, the model tried its best to stay impartial, but the passive voice in string 7 came out as a bit too awkward. A better choice would be to use the present tense, where verbs for both genders have the same forms.</p><p>The TM entries were used correctly in Croatian, although the model could do better in terms of fluency.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/Gemini-PL.JPG" class="kg-image" alt loading="lazy" width="847" height="955" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Gemini-PL.JPG 600w, https://ghost.localazy.com/content/images/2025/02/Gemini-PL.JPG 847w" sizes="(min-width: 720px) 720px"><figcaption>Polish translation in Gemini.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/Gemini-HR.JPG" class="kg-image" alt loading="lazy" width="838" height="988" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Gemini-HR.JPG 600w, https://ghost.localazy.com/content/images/2025/02/Gemini-HR.JPG 838w" sizes="(min-width: 720px) 720px"><figcaption>Croatian translation in Gemini.</figcaption></figure><h3 id="deepseek-version-3">DeepSeek, version 3 <a class="markdownit-header-anchor" href="#deepseek-version-3">🔗</a></h3><p>In DeepSeek, the TM was again uploaded as a TXT, as <strong>the model doesn’t read TMX files</strong>. The style guide remained in the DOC format.</p><p>Overall, the Polish translation sounded more natural and more engaging compared to all the LLMs mentioned above. <strong>There were fewer literal translations, the terminology was correct, and the model applied 100% matches from the TM</strong>. Although DeepSeek rendered correctly the variable in string 2, it struggled with string 5 (the translation wasn’t correct for all plural forms), and <strong>failed to follow the gender-neutrality rule.</strong></p><p>The model provided handy comments, explaining where TM was used, and displayed an encouraging summary at the end of the process.</p><p>In Croatian, the model was average in terms of accuracy and fluency.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/DeepSeek-PL-1.JPG" class="kg-image" alt loading="lazy" width="1064" height="1555" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/DeepSeek-PL-1.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/DeepSeek-PL-1.JPG 1000w, https://ghost.localazy.com/content/images/2025/02/DeepSeek-PL-1.JPG 1064w" sizes="(min-width: 720px) 720px"><figcaption>Polish translation in DeepSeek.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/DeepSeek-HR.JPG" class="kg-image" alt loading="lazy" width="962" height="1342" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/DeepSeek-HR.JPG 600w, https://ghost.localazy.com/content/images/2025/02/DeepSeek-HR.JPG 962w" sizes="(min-width: 720px) 720px"><figcaption>Croatian translation in DeepSeek.</figcaption></figure><h3 id="qwen25-max">Qwen2.5-Max <a class="markdownit-header-anchor" href="#qwen25-max">🔗</a></h3><p><strong>This model allows for only one file upload in a single conversation</strong>, hence the content of the translation memory and style guide were pasted into the chat window.</p><p>In Polish, there were no surprises when it came to gender neutrality: it was all wrong again (e.g. string 7). <strong>Variables were problematic</strong>, too (e.g. string 2), and some phrases sounded too literal. However, the model used the TM matches, followed the style guide quite well, and used the correct terminology. <strong>Overall, the translation quality was good</strong>.</p><p>Variables were the main issue in Croatian (string 2.), and the translation didn’t have a natural flow.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/Qwen-PL.JPG" class="kg-image" alt loading="lazy" width="992" height="816" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Qwen-PL.JPG 600w, https://ghost.localazy.com/content/images/2025/02/Qwen-PL.JPG 992w" sizes="(min-width: 720px) 720px"><figcaption>Polish translation in Qwen.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/Qwen-HR.JPG" class="kg-image" alt loading="lazy" width="1066" height="400" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Qwen-HR.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/Qwen-HR.JPG 1000w, https://ghost.localazy.com/content/images/2025/02/Qwen-HR.JPG 1066w" sizes="(min-width: 720px) 720px"><figcaption>Croatian translation in Qwen.</figcaption></figure><h3 id="doubao">Doubao <a class="markdownit-header-anchor" href="#doubao">🔗</a></h3><p>There are two ways to use this model: struggle with the Chinese user interface or head straight to <a href="https://huggingface.co/">Hugging Face</a>, a global AI community. Should you choose the first option: don’t worry, your prompt can remain in English and the tool will reply in English too. For the rest, get ready to rely on your intuition 😊 Alternatively, turn to Google Translate or… an LLM of your choice.</p><p><strong>The model doesn’t support TMX files</strong>, so the TM was again uploaded as a TXT.</p><p>Overall, <strong>the quality of the Polish translation wasn’t spectacular</strong>: issues with variables (string 2), lack of gender neutrality, and a lot of literal translations. Plus, the matches from the TM weren’t applied. On top of that, <strong>there were three grammar mistakes </strong>(strings 4 and 6) – an uncommon phenomenon in the other models tested above, <strong>and terminology wasn’t correct </strong>(e.g. in string no 10).</p><p>Croatian results were disappointing too, although finally the “User” variable in string 2. remained untouched.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/Doubau-PL.JPG" class="kg-image" alt loading="lazy" width="863" height="779" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Doubau-PL.JPG 600w, https://ghost.localazy.com/content/images/2025/02/Doubau-PL.JPG 863w" sizes="(min-width: 720px) 720px"><figcaption>Polish translation in Doubao.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/Doubau-HR.JPG" class="kg-image" alt loading="lazy" width="905" height="657" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Doubau-HR.JPG 600w, https://ghost.localazy.com/content/images/2025/02/Doubau-HR.JPG 905w" sizes="(min-width: 720px) 720px"><figcaption>Croatian translation in Doubao.</figcaption></figure><h2 id="whats-the-llm-leaderboard">🏅 What’s the LLM leaderboard? <a class="markdownit-header-anchor" href="#whats-the-llm-leaderboard">🔗</a></h2><p>	This is how each LLM scores for each indicator and language combination:</p><!--kg-card-begin: html--><table>
<thead>
<tr>
<th><strong>LLMs</strong></th>
<th><strong>Consistency with translation memories</strong></th>
<th><strong>Rendering variables in the translated strings</strong></th>
<th><strong>Consistency with the style guide</strong></th>
<th style="text-align: center"><strong>Contextual appropriateness</strong></th>
<th><strong>Accuracy</strong></th>
<th><strong>Fluency</strong></th>
<th><strong>Total Score</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>DeepSeek</td>
<td>5</td>
<td>3</td>
<td>4</td>
<td style="text-align: center">5</td>
<td>5</td>
<td>4</td>
<td>22</td>
</tr>
<tr>
<td>Gemini</td>
<td>5</td>
<td>3</td>
<td>4</td>
<td style="text-align: center">5</td>
<td>5</td>
<td>4</td>
<td>22</td>
</tr>
<tr>
<td>Qwen</td>
<td>5</td>
<td>2</td>
<td>4</td>
<td style="text-align: center">5</td>
<td>5</td>
<td>4</td>
<td>21</td>
</tr>
<tr>
<td>ChatGPT</td>
<td>3</td>
<td>3</td>
<td>4</td>
<td style="text-align: center">5</td>
<td>5</td>
<td>3</td>
<td>20</td>
</tr>
<tr>
<td>Claude</td>
<td>3</td>
<td>3</td>
<td>4</td>
<td style="text-align: center">5</td>
<td>5</td>
<td>4</td>
<td>20</td>
</tr>
<tr>
<td>Mistral</td>
<td>3</td>
<td>2</td>
<td>4</td>
<td style="text-align: center">5</td>
<td>5</td>
<td>3</td>
<td>19</td>
</tr>
<tr>
<td>Doubao</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td style="text-align: center">2</td>
<td>4</td>
<td>2</td>
<td>12</td>
</tr>
</tbody>
</table><!--kg-card-end: html--><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>Table 1</strong>. Test results in Polish.</div></div><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th style="text-align:center"><strong>LLMs</strong></th>
<th style="text-align:center"><strong>Consistency  with  translation  memories</strong></th>
<th style="text-align:center"><strong>Rendering  variables  in the translated  strings</strong></th>
<th style="text-align:center"><strong>Consistency  with the  style guide</strong></th>
<th style="text-align:center"><strong>Contextual  appropriateness</strong></th>
<th style="text-align:center"><strong>Accuracy</strong></th>
<th style="text-align:center"><strong>Fluency</strong></th>
<th style="text-align:center"><strong>Total Score</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">Claude</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">3</td>
<td style="text-align:center">3</td>
<td style="text-align:center">26</td>
</tr>
<tr>
<td style="text-align:center">Gemini</td>
<td style="text-align:center">4</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">4</td>
<td style="text-align:center">3</td>
<td style="text-align:center">26</td>
</tr>
<tr>
<td style="text-align:center">DeepSeek</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">3</td>
<td style="text-align:center">3</td>
<td style="text-align:center">26</td>
</tr>
<tr>
<td style="text-align:center">ChatGPT</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">3</td>
<td style="text-align:center">3</td>
<td style="text-align:center">24</td>
</tr>
<tr>
<td style="text-align:center">Mistral</td>
<td style="text-align:center">4</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">3</td>
<td style="text-align:center">2</td>
<td style="text-align:center">24</td>
</tr>
<tr>
<td style="text-align:center">Qwen</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">3</td>
<td style="text-align:center">3</td>
<td style="text-align:center">24</td>
</tr>
<tr>
<td style="text-align:center">Doubao</td>
<td style="text-align:center">2</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">5</td>
<td style="text-align:center">2</td>
<td style="text-align:center">1</td>
<td style="text-align:center">20</td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>Table 2</strong>. Test results in Croatian.</div></div><p><strong>There’s no clear winner of our tests</strong>. DeepSeek, Gemini, and Qwen lead the ranking for the Polish translation. In Croatian, the podium belongs to Claude, Gemini, and DeepSeek, all scoring the same number of points.</p><p>Our great translation battle proved one thing:<strong> the East matched the West, the New shook hands with the Old</strong>. The Chinese AI models provided quality comparable to Gemini, Claude, and ChatGPT. <strong>In both languages, Doubao ended at the bottom</strong> and scored lower than Qwen and DeepSeek, but this shouldn’t come as a surprise, as the LLM from ByteDance was trained with the main focus on Chinese language processing.</p><p>In general, <strong>the LLMs in our test delivered accurate translations, although not always fluent</strong>. Variables appeared to be problematic to some extent for nearly each LLM, while the TM and style guide was followed by most models, with some deviations in the Polish text. The context in both languages was preserved quite well, although <strong>terminology wasn’t always top-notch</strong>. <strong>Preserving gender neutrality</strong> (as part of the style guide) <strong>seemed to be the major issue</strong> in all LLMs.</p><blockquote>The general quality of the translations in our tests was good, although not always fluent. Variables and gender neutrality were the most problematic elements. Context was preserved quite well for both languages, but the terminology wasn't always accurate</blockquote><p>Translation quality depends, of course, on many factors: the source text type, language combination, prompt, and reference files. You might run a similar test with a legal translation from Baha to Swahili and receive completely different results. However, <strong>in our scenario, DeepSeek matches or outperforms most LLM giants</strong>.</p><p>Finally, although LLMs usually struggle with low-resource languages, <strong>in our test scenario the Croatian translations of mobile app strings were quite decent</strong>. This surprisingly good result could be attributed to the ample context (translation memory, style guide), language pair, text type, or all these factors.</p><h2 id="wheres-the-golden-middle">🤔 Where’s the golden middle? <a class="markdownit-header-anchor" href="#wheres-the-golden-middle">🔗</a></h2><p>What do these results tell us?</p><p>It’s simple.</p><p>Don’t rely solely on LLMs, no matter what scenario. <strong>Mixed approaches work best in most situations</strong>, so if you decide to employ an LLM for your translation and localization tasks, remember to add the human touch. That’s how you can ensure your content is fluent, engaging, and tailored to your target audience.</p><p>If you’re ready for an effective mix of human and machine translation, take a look at <a href="https://localazy.com/features/machine-translation/">our MT and AI features</a>, and head to the <a href="https://localazy.com/features/continuous-localization-team/">Continuous Localization Team</a> to cut your time to access the global market and focus on what matters the most: your product.</p><p></p>]]></content:encoded>
            <author>Dorota Pawlak</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/03/localazy-AI-series_04.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How does DX make a difference? | Bridging the Gap Podcast, S01 EP06]]></title>
            <link>https://localazy.com/blog/s01-ep-06-bridging-the-gap-podcast</link>
            <guid isPermaLink="false">s01-ep-06-bridging-the-gap-podcast</guid>
            <pubDate>Tue, 20 May 2025 17:29:28 GMT</pubDate>
            <description><![CDATA[We've all heard about UX, but what about DX? The experience developers have as clients and team members can make or break a product. We discuss it with Prokop Simek from DX Heroes.]]></description>
            <content:encoded><![CDATA[<p>What is Developer Experience (DX) and how does it impact your company? In this episode, we talk about making your dev team feel at home with <a href="https://www.linkedin.com/in/prokopsimek/"><strong>Prokop Simek</strong></a> from <a href="https://www.dxheroes.io">DX Heroes</a> and <a href="https://localazy.com/blog/author/daniel-charvat/"><strong>Dan Charvát</strong></a>, Solution Architect at Localazy. We explore how DX can help software engineers work better and create better products, discuss developer productivity, and analyze the impact their daily experience has on business success.</p><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/JYCZh8L05DA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="How does DX make a difference? (w/ Prokop Simek &amp; Dan Charvát) | Bridging the Gap Podcast #6, S01"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: How does DX make a difference? (w/ Prokop Simek &amp; Dan Charvát) | Bridging the Gap Podcast #6, S01 " frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/7wiBTeDBMD4qyUu57O79cK/video?si=8ef63edfb76048d0&utm_source=oembed"></iframe></figure><h2 id="additional-resources">🗞 Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><ul><li><a href="https://www.dxheroes.io/blog/what-is-dx-and-why-is-it-worth-attention">What is DX and why is it worth attention?</a> (DX Heroes) </li><li><a href="https://engineering.atspotify.com/2021/09/how-backstage-made-our-developers-more-effective-and-how-it-can-help-yours-too">How Backstage made our developers more effective</a> (Spotify) </li><li><a href="https://devdynamics.ai/blog/the-space-framework-for-developer-productivity-3/">An introduction to the SPACE framework</a> (DevDynamics) </li><li><a href="https://www.dxheroes.io/blog/how-do-we-help-localazy-improve-their-developer-experience">How did we help Localazy improve their developer experience</a> (DX Heroes) </li></ul><h2 id="connect-with-the-guests-and-host">💌 Connect with the guests & host <a class="markdownit-header-anchor" href="#connect-with-the-guests-and-host">🔗</a></h2><p><a href="https://www.linkedin.com/in/prokopsimek/">Prokop Simek</a></p><p><a href="https://www.linkedin.com/in/daniel-charvat/">Dan Chárvat</a></p><p><a href="https://www.linkedin.com/in/martagcoloma/">Marta G. Coloma</a></p><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete automated localization solution for your digital products. We make your software, apps, and content multilingual and ready for international audiences with developer-friendly features, TMS tools, and professional translation services.</p><p>First time here? Check out our <a href="https://localazy.com/docs/general/getting-started-with-localazy">getting started guide</a>, <a href="https://localazy.com/pricing">find your plan</a>, or <a href="https://localazy.com/contact">contact us </a>with any questions. We're here to help you with your localization and i18n journey.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep05-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy CLI Tips: Automating signing and notarization for Apple binaries]]></title>
            <link>https://localazy.com/blog/localazy-cli-tips-automated-signing-and-notarization-for-apple-binaries</link>
            <guid isPermaLink="false">localazy-cli-tips-automated-signing-and-notarization-for-apple-binaries</guid>
            <pubDate>Fri, 28 Mar 2025 15:18:44 GMT</pubDate>
            <description><![CDATA[Learn how to automate code signing for macOS using Github Actions to enjoy all the benefits of a consistent codebase in Localazy CLI.]]></description>
            <content:encoded><![CDATA[<p>At Localazy, we've always strived to support all major platforms with our CLI — whether it's JVM, NPM, Linux, Windows, macOS, or Docker. Achieving this level of cross-platform compatibility without maintaining multiple codebases was a challenge, but we found an elegant solution in <strong>Kotlin Multiplatform (KMP)</strong>.</p><p>Previously, <a href="https://localazy.com/blog/how-to-automatically-sign-macos-apps-using-github-actions" rel="noopener noreferrer nofollow">our macOS binaries were signed manually using a chain of commands within GitHub Actions</a>. While functional, there were several problems:</p><ul><li>This method required a preconfigured macOS computer for building, which wasn't scalable when we added ARM64 support.</li><li>This preconfigured computer was an aging Mac Mini (2012) that finally reached the end of its lifespan after 12 years of service.</li><li>And on top of that, macOS 14+ introduced stricter notarization requirements, rendering our existing solution obsolete.</li></ul><p>Here's how we solved this problem and<strong> how to use GitHub Actions to go through the signing method now</strong>.</p><h2 id="one-codebase-multiple-targets">🎯 One codebase, multiple targets <a class="markdownit-header-anchor" href="#one-codebase-multiple-targets">🔗</a></h2><p><a href="https://kotlinlang.org/docs/multiplatform.html" rel="noopener noreferrer nofollow">Kotlin Multiplatform</a> allowed us to <strong>build all our CLI targets from a single codebase</strong>, reducing duplication and ensuring consistency across different environments. We still needed some platform-specific code; for example, we developed a custom networking implementation for Windows instead of using the standard Ktor client, which introduced unnecessary dependencies.</p><p>In addition to Kotlin MPP, we use several <strong>Gradle build scripts</strong>, which compile binaries and package them for<strong> NPM, Docker, Linux (DEB/RPM), and Homebrew (macOS)</strong>, simplifying our release pipeline.</p><p>Basically, any push to the <code>main</code> branch builds all the binaries as release candidates and makes them available for our internal testing. A new release or tag automatically builds and distributes binaries and packages to all the mentioned locations.</p><h2 id="signing-and-notarizing-automatically-with-github-actions">➡️ Signing & notarizing automatically with Github Actions <a class="markdownit-header-anchor" href="#signing-and-notarizing-automatically-with-github-actions">🔗</a></h2><p>Recently, we upgraded to <strong>Kotlin 2.1.10</strong>, which enabled us to add <strong>native support for ARM64-based macOS</strong>, once again taking advantage of our single codebase. However, this transition brought a major challenge: <strong>code signing and notarization</strong>.</p><h3 id="the-solution-code-sign-action">The solution: code-sign-action <a class="markdownit-header-anchor" href="#the-solution-code-sign-action">🔗</a></h3><p>To automate and streamline our signing process, we switched to <a href="https://github.com/lando/code-sign-action" rel="noopener noreferrer nofollow"><strong>lando/code-sign-action</strong></a>. After several iterations, we arrived at a simple and effective configuration:</p><pre><code>- name: Codesign and Notarization
  uses: lando/code-sign-action@v3
  with:
    file: dist/macosArm64/localazy
    certificate-data: ${{ secrets.CLI_MACOS_CERTIFICATE }}
    certificate-id: ${{ secrets.CLI_MACOS_TEAM_ID }}
    certificate-password: ${{ secrets.CLI_MACOS_CERTIFICATE_PWD }}
    apple-notary-user: ${{ secrets.CLI_MACOS_NOTARY_USER }}
    apple-notary-password: ${{ secrets.CLI_MACOS_NOTARY_PWD }}
    apple-product-id: com.localazy.cli
    options: --options runtime --entitlements dist/entitlements.xml
</code></pre><p>This new approach allowed us to:</p><ul><li><strong>🏗️ Offload the entire building process</strong> to GitHub Action runners (no need for a dedicated macOS machine).</li><li><strong>🔍 Notarize the binaries for macOS 14+</strong> seamlessly.</li><li><strong>🔄 Maintain a fully automated release pipeline</strong> while still securely complying with Apple's requirements.</li></ul><h3 id="how-to-get-the-certificate">How to get the certificate <a class="markdownit-header-anchor" href="#how-to-get-the-certificate">🔗</a></h3><p>Let's see the process in action. First, you need to <strong>create a signing request</strong>. Since we usually prepare them on a non-macOS machine, we do so using the command line:</p><pre><code>openssl genrsa -out localazy.key 2048
openssl req -new -key localazy.key -out localazy.csr -subj "/emailAddress=team@localazy.com, CN=Localazy, C=CZ"</code></pre><p>The examples on Apple's site use a key with 3072 bits, but such a key is not yet supported for creating the certificate (as of March 2025), so we need to stick with 2048 bits.</p><p>With the signing request ready, sign in to developer.apple.com and navigate to the <strong>Certificates</strong> section. In the top-right corner, you will find the team ID next to your name (or your company's name). Store the team ID in Github Actions secrets as <strong>CLI_MACOS_TEAM_ID</strong>.</p><p>Next, create a new certificate and select <strong>Software &gt;</strong> <strong>Developer ID Application</strong> as the type. This is the only certificate that allows notarization of the resulting binary. </p><p>Upload the CSR file and download the final certificate. Now <strong>combine the key and certificate to generate a PKCS12 file and then convert it to base64</strong>. We accomplish this using the command line as follows:</p><pre><code>// Convert CER to PEM
openssl x509 -inform der -in developerID_application.cer -out developerID_application.pem

// Create PKCS12
openssl pkcs12 -export -out localazy.p12 -inkey localazy.key -in developerID_application.pem
</code></pre><p>During the second step, you will be prompted to enter a password for PKCS12 storage. We store this password in GitHub Actions secrets as <strong>CLI_MACOS_CERTIFICATE_PWD</strong>.</p><p>The final step in this process is executing the last command, which ensures the PKCS12 certificate is correctly encoded for secure storage and further usage. The last command we need is:</p><pre><code>base64 localazy.p12 &gt; localazy.base64</code></pre><p>We securely store the content of localazy.base64 in GitHub Actions secrets as <strong>CLI_MACOS_CERTIFICATE</strong>.</p><h3 id="login-for-the-notarization-service">Login for the notarization service <a class="markdownit-header-anchor" href="#login-for-the-notarization-service">🔗</a></h3><p>The value of <strong>CLI_MACOS_NOTARY_USER</strong> in our GitHub Actions secrets is the Apple ID, typically the email address associated with the Apple Developer account.</p><p>To obtain the <strong>CLI_MACOS_NOTARY_PWD</strong>, navigate to <strong>Sign-In &gt; Security</strong> &gt; <strong>App-Specific Passwords</strong> at account.apple.com. Here, you can generate a new password specifically for notarization.</p><h3 id="entitlementsxml">entitlements.xml <a class="markdownit-header-anchor" href="#entitlementsxml">🔗</a></h3><p>We utilize a simple entitlements file to define the necessary permissions for our application.</p><pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
    &lt;dict&gt;
        &lt;key&gt;com.apple.security.cs.allow-unsigned-executable-memory&lt;/key&gt;
        &lt;true/&gt;
    &lt;/dict&gt;
&lt;/plist&gt;</code></pre><h3 id="homebrew-with-multiple-targets">Homebrew with multiple targets <a class="markdownit-header-anchor" href="#homebrew-with-multiple-targets">🔗</a></h3><p>When the new binaries are ready, we package them as tar.gz and upload them to our storage, making them available for distribution. Immediately afterward, we run a simple script to update our Homebrew recipe at <a href="https://github.com/localazy/homebrew-tools" rel="noopener noreferrer nofollow">https://github.com/localazy/homebrew-tools</a>.</p><p>The Homebrew update script performs the following operations:</p><ul><li>Clones the repository <strong>localazy/homebrew-tools</strong></li><li>Downloads the tar.gz files for both macOS x86 and macOS ARM64 versions</li><li>Generates a new recipe with updated URLs and SHA checksums</li><li>Automatically commits the changes to our repository</li></ul><p>The recipe is as follows:</p><pre><code>class Localazy &lt; Formula
  desc "CLI tool for the Localazy platform"
  homepage "https://localazy.com"

  if Hardware::CPU.arm?
    url "https://dist.localazy.com/macosArm64/macos-$1.tar.gz"
    sha256 "$(shasum -a 256 macos-Arm64-$1.tar.gz | grep -o "^\S*")"
  elsif Hardware::CPU.intel?
    url "https://dist.localazy.com/macos/macos-$1.tar.gz"
    sha256 "$(shasum -a 256 macos-X64-$1.tar.gz | grep -o "^\S*")"
  end

  depends_on "curl"

  def install
    bin.install "localazy"
  end

  test do
    system "#{bin}/localazy", "-h"
  end
end</code></pre><p>As shown above, a simple decision block determines the appropriate URL and SHA256 checksum based on the target platform architecture.</p><p><strong><a href="https://localazy.com/features/">Our CLI</a> is now available on any Mac</strong>, whether ARM64 or X64-based, with just two simple commands:</p><pre><code>&gt; brew tap localazy/tools
&gt; brew install localazy</code></pre><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Using Kotlin Multiplatform, a Gradle automation, and GitHub Actions, we've successfully built <strong>a scalable, efficient, and fully automated process for developing, packaging, signing, and distributing the Localazy CLI </strong>across multiple platforms.</p><p>Plus, by extending this automation to code signing and notarization for Apple binaries, we've added support for ARM64 and <strong>significantly improved the security and reliability of our CLI distribution</strong>. This allows us to comply with Apple's latest requirements while maintaining a streamlined and efficient workflow.</p><p>If you're looking to develop cross-platform CLI tools with robust automation, Kotlin Multiplatform and modern CI/CD practices provide a powerful foundation. We hope these tips were helpful!</p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/03/CLI-Tips-apple-binaries.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Building a localization-friendly culture | Bridging the Gap Podcast, S01 EP05]]></title>
            <link>https://localazy.com/blog/s01-ep-05-bridging-the-gap-podcast</link>
            <guid isPermaLink="false">s01-ep-05-bridging-the-gap-podcast</guid>
            <pubDate>Tue, 20 May 2025 17:27:19 GMT</pubDate>
            <description><![CDATA[No localization team can succeed without support from their peers: multilingual expansion is also an internal effort. We explore why with consultant Michal Kessel and Kelly Murphy from Pentland Firth.]]></description>
            <content:encoded><![CDATA[<p>Localization starts within your company. You need to create a culture that pushes multilingual experiences forward — and that means involving your team in the whole process. In this episode, <strong><a href="https://localazy.com/blog/author/michal-kessel-shitrit/">Michal Kessel</a></strong>, localization consultant, UX specialist and founder of <a href="https://www.localizationstation.com">Localization Station</a>, and <strong><a href="https://www.linkedin.com/in/murphykellya/">Kelly Murphy</a></strong>, Rollout Manager at <a href="https://pentlandfirth.com/en/">Pentland Firth</a>, join us to discuss the common mistakes to avoid and share their experiences creating a localization-friendly corporate culture.</p><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/qhbdwA6Jm9k?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Building a localization-friendly culture (w/ Michal Kessel &amp; Kelly Murphy) | Bridging the Gap#5, S01"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Building a localization-friendly culture (w/ Michal Kessel &amp; Kelly Murphy) | Bridging the Gap Podcast #5, S01" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/2Pl0lIDVyJmKBaQCgjSXr7/video?si=2cbac33be8cb40eb&utm_source=oembed"></iframe></figure><h2 id="connect-with-the-guests-and-host">💌 Connect with the guests & host <a class="markdownit-header-anchor" href="#connect-with-the-guests-and-host">🔗</a></h2><p><a href="https://www.linkedin.com/in/michalshitrit/">Michal Kessel</a></p><p><a href="https://www.linkedin.com/in/murphykellya/">Kelly Murphy</a></p><p><a href="https://www.linkedin.com/in/martagcoloma/">Marta G. Coloma</a></p><h2 id="more-on-the-blog">📚 More on the blog <a class="markdownit-header-anchor" href="#more-on-the-blog">🔗</a></h2><p>Need more tips? We have an extra portion for you! 😃 Make your whole team involved in localization with additional advice from Michal:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/7-ways-to-make-your-company-more-localization-friendly"><div class="kg-bookmark-content"><div class="kg-bookmark-title">7 ways to make your company more localization-friendly</div><div class="kg-bookmark-description">Localization is a team sport: it can’t happen without cooperation from your colleagues. Learn how to stress its importance internally in order to implement it appropriately and maximize its benefits.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Michal Kessel Shitrit</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2023/12/7-Ways-for-friendly-localization.png" alt=""></div></a></figure><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete automated localization solution for your digital products. We make your software, apps, and content multilingual and ready for international audiences with developer-friendly features, TMS tools, and professional translation services.</p><p>First time here? Check out our <a href="https://localazy.com/docs/general/getting-started-with-localazy">getting started guide</a>, <a href="https://localazy.com/pricing">find your plan</a>, or <a href="https://localazy.com/contact">contact us </a>with any questions. We're here to help you with your localization and i18n journey.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep05.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Choosing your SaaS pricing strategy | Bridging the Gap Podcast, S01 EP04]]></title>
            <link>https://localazy.com/blog/s01-ep-04-bridging-the-gap-podcast</link>
            <guid isPermaLink="false">s01-ep-04-bridging-the-gap-podcast</guid>
            <pubDate>Tue, 20 May 2025 17:27:40 GMT</pubDate>
            <description><![CDATA[Making pricing changes, adjusting your pricing strategy, or simply setting the right price for your product is no easy feat. B2B advisor Dima Melnik uncovers the best ways to bill what you're worth.]]></description>
            <content:encoded><![CDATA[<p>Setting the right pricing strategy for your SaaS company means understanding your customers and positioning your product for long-term growth. In this episode, <strong><a href="https://www.dimamelnik.com">Dima Melnik</a></strong>, a pricing advisor for B2B SaaS companies, joins <a href="https://lukasmehnert.com">Lukas Mehnert</a> to break down the biggest pricing mistakes, reveal strategies that drive revenue, and share insights from helping +70 companies refine their pricing models.</p><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/LmMJCh23be4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Choosing your SaaS pricing strategy (w/ Dima Melnik) | Bridging the Gap Podcast #4, S01"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Choosing your SaaS pricing strategy (w/ Dima Melnik) | Bridging the Gap Podcast #4, S01" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/0ILy6MVhhi5KP2546Ymj0N/video?si=2ed6d843de944f04&utm_source=oembed"></iframe></figure><h2 id="connect-with-the-guests-and-host">💌 Connect with the guests & host <a class="markdownit-header-anchor" href="#connect-with-the-guests-and-host">🔗</a></h2><p><a href="https://www.linkedin.com/in/dimacz/">Dima Melnik</a></p><p><a href="https://www.linkedin.com/in/lukas-mehnert-8069a752/">Lukas Mehnert</a></p><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete automated localization solution for your digital products. We make your software, apps, and content multilingual and ready for international audiences with developer-friendly features, TMS tools, and professional translation services.</p><p>First time here? Check out our <a href="https://localazy.com/docs/general/getting-started-with-localazy">getting started guide</a>, <a href="https://localazy.com/pricing">find your plan</a>, or <a href="https://localazy.com/contact">contact us </a>with any questions. We're here to help you with your localization and i18n journey.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep03-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Keys to master Japanese localization and adapt your brand to this unique market]]></title>
            <link>https://localazy.com/blog/master-japanese-localization-and-adapt-your-brand-to-this-unique-market</link>
            <guid isPermaLink="false">master-japanese-localization-and-adapt-your-brand-to-this-unique-market</guid>
            <pubDate>Sun, 19 Apr 2026 09:34:15 GMT</pubDate>
            <description><![CDATA[Japan stands as a unique market in the world of global business. With a distinct, difficult-to-grasp identity for Western companies, this region of 125M consumers opens up many expansion opportunities when understood well. In this scenario, localization is a deal breaker. Discover why.]]></description>
            <content:encoded><![CDATA[<p>Japan is a country rich in culture and history, with roots that trace back thousands of years. From the ancient Jomon period to its modern-day status as one of the world’s largest economies, <a href="https://hub.localazy.com/en/regions/jp-japan">Japan</a> has a unique story that reflects its complex identity. <strong>Central to this identity is the Japanese language, spoken by around <a href="https://www.worlddata.info/languages/japanese.php">125 million</a> people</strong> and a vital component for anyone looking to connect with the region's native population.</p><p>While Japan has historically been influenced by mainland cultures, leading to a strong interest in foreign elements, the Japanese tend to be conservative and do not tolerate difference well. In fact, the English proficiency of Japanese people <a href="https://www.ef.com/wwen/epi/regions/asia/japan/">is rather low by global standards</a>. <strong>These complex and seemingly contradictory characteristics make it challenging for foreign companies to break into the Japanese market</strong> and into the heart of Japanese consumers. To succeed in Japan, it is crucial to thoroughly understand them and achieve a very high level of localization, both in terms of language and culture.</p><p>In this post, we’ll discuss the key characteristics of Japanese customers and explore how to fruitfully present your brand in a way that speaks to them. Because once you've overcome these barriers, you'll find that economic opportunities are plentiful in <a href="https://www.investopedia.com/insights/worlds-top-economies/">one of the regions with the highest nominal GPD in the world</a>. 📈</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/AdobeStock_313906919.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1339" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/AdobeStock_313906919.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/AdobeStock_313906919.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/AdobeStock_313906919.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/02/AdobeStock_313906919.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-japanese-language-and-character">🈷️ The Japanese language and character <a class="markdownit-header-anchor" href="#the-japanese-language-and-character">🔗</a></h2><p>The cultural origins of the Japanese archipelago are ancient, said to date back to the Jomon period (14,000 BCE–300 BCE). Japan began to unify as a nation during the Yamato period (3rd to 7th centuries), giving it a history spanning over 1,300 years. The population is approximately 125 million, making it the 12th largest in the world. <strong>Japanese is the only official language spoken throughout the country</strong>.<strong> </strong></p><p>The history of the <a href="https://hub.localazy.com/en/languages/ja-japanese">Japanese language</a> is as long as that of the nation itself, with the oldest known records of the language found in the <strong><a href="https://en.wikipedia.org/wiki/Wajinden"><em>Gishi Wajinden</em></a></strong> from the late 3rd century. <strong>At that time, only Chinese characters were used</strong>. The adoption of <a href="https://hub.localazy.com/en/scripts/hira-hiragana">hiragana</a><em> </em>and <a href="https://hub.localazy.com/en/scripts/kana-katakana">katakana</a><em> </em>began around the year 800, and modern Japanese emerged in the mid-19th century.</p><blockquote>The writing systems used in Japanese started to be adopted in the 9th century, and Modern Japanese didn't emerge until the mid-19th century</blockquote><p><strong>Japanese grammar is significantly different from English, following a basic SOV (subject-object-verb) structure</strong>, where the verb comes at the end of the sentence. <a href="https://hub.localazy.com/en/scripts/hrkt-japanese-syllabaries-alias-for-hiragana-katakana">The writing system </a>consists of phonetic characters, <u><a href="https://en.wikipedia.org/wiki/Hiragana" rel="noopener noreferrer nofollow">hiragana</a></u>, and <u><a href="https://en.wikipedia.org/wiki/Katakana" rel="noopener noreferrer nofollow">katakana</a></u>, as well as <u><a href="https://en.wikipedia.org/wiki/Kanji" rel="noopener noreferrer nofollow">kanji</a></u>, which are logograms of Chinese origin. Roman letters and Arabic numerals are also used as needed. Both hiragana and katakana have 46 characters each, while kanji is said to exceed 100,000 characters.<strong> </strong>However, this doesn't mean that all Japanese people can read and write all 100,000 characters; there are 2,136 commonly used kanji known as "<u><a href="https://en.wikipedia.org/wiki/J%C5%8Dy%C5%8D_kanji" rel="noopener noreferrer nofollow">joyo kanji</a></u>." Compared to the 26 letters in the English alphabet, this means that <strong>Japanese people use almost 100 times more characters in everyday life</strong>.</p><p>Japanese also features <strong>a complex system of honorific and plain speech</strong>, requiring speakers to adjust their expressions based on the status of the person they are speaking to and their own social position. 🧓🙇 Furthermore, there are both standard Japanese and dialects such as <a href="https://en.wikipedia.org/wiki/Hokkaido_dialects">Hokkaido</a> and <a href="https://en.wikipedia.org/wiki/Kansai_dialect">Kansai</a>, with variations in vocabulary and expressions across regions, which can sometimes make dialects incomprehensible to speakers from other areas. </p><div class="kg-card kg-callout-card kg-callout-card-white"><div class="kg-callout-text">Loanwords are widely used as well, including terms like:<br>- 👒 <strong>"atorie"</strong> <em>(studio; <u>atelier </u>in French)</em><br>- 🍣 <strong>"ikura"</strong> <em>(salmon roe; <u>икра </u>in Russian)</em><br>- 💼 <strong>"arubaito"</strong><em> (part-time job; <u>Arbeit </u>in German)</em></div></div><blockquote>Compared to the 26 letters in the English alphabet, Japanese people use almost 100 times more characters in everyday life</blockquote><h2 id="a-global-yet-conservative-country">🇯🇵 A global yet conservative country <a class="markdownit-header-anchor" href="#a-global-yet-conservative-country">🔗</a></h2><p><strong>After World War II, Japan experienced rapid economic growth and now boasts the world's fourth-largest economy</strong>. Supported by a diversified manufacturing and service industry, Japan's GDP currently <a href="https://www.imf.org/external/datamapper/profile/JPN">stands at $4,390 billion</a>. The service sector accounts for approximately 73% of the GDP, followed by industry, at around 26%, and agriculture, at roughly 1%. The e-commerce sector, which saw increased demand during the COVID-19 pandemic, reached a record market size in the B2C segment in 2023, doubling over the past decade.</p><p>According to <u><a href="https://markezine.jp/article/detail/42630" rel="noopener noreferrer nofollow">a 2023 survey</a></u>, 64.4% of people used e-commerce sites at least once a month, representing a 2.5% increase from 2020. There is also a rising trend of individuals using overseas e-commerce sites. <u><a href="https://prtimes.jp/main/html/rd/p/000000004.000139220.html" rel="noopener noreferrer nofollow">When surveyed</a></u>, over 80% of these users reported having concerns about using foreign e-commerce platforms. Among those who expressed concerns, <strong>40% cited "awkward translations" and 22% mentioned "lack of customer service in Japanese"</strong> as reasons for their unease.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/AdobeStock_766810428.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/AdobeStock_766810428.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/AdobeStock_766810428.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/AdobeStock_766810428.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/02/AdobeStock_766810428.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Furthermore, while Japan faces issues related to its aging population and declining birthrate, the Basic Survey of Consumer Awareness (FY2022) published by the Consumer Affairs Agency (cited in <u><a href="https://netshop.impress.co.jp/node/11068" rel="noopener noreferrer nofollow">a news article</a></u>) indicates that<strong> e-commerce usage is also high among senior households: about 40% of those aged 65-74 and 25% of those aged 75 and older shop online</strong>.</p><h2 id="why-market-to-japanese-users">🎏 Why market to Japanese users <a class="markdownit-header-anchor" href="#why-market-to-japanese-users">🔗</a></h2><p>As an island nation, Japan has developed a unique culture. For a long time, before the wave of globalization, Japan maintained a world where everything was self-contained in the Japanese language. Regardless of globalization, this culture prevails in the region. Therefore, to succeed in entering the Japanese market, it is crucial to understand the characteristics of <strong>Japanese customers, who are often shy and cautious</strong> (yet curious by nature).</p><h3 id="how-do-the-japanese-shop">How do the Japanese shop? <a class="markdownit-header-anchor" href="#how-do-the-japanese-shop">🔗</a></h3><p><strong>1. Trust and good customer experience are highly valued</strong> <br>When asked what factors were more important than price when considering a brand, 48% of respondents in <a href="https://prtimes.jp/main/html/rd/p/000000018.000014846.html">a survey</a> cited "trustworthiness," and 42% mentioned "good customer experience."</p><p><strong>2. Collective thinking society </strong><br>In Japan, people often prioritize the opinions of others over their own when making decisions. Therefore, <strong>word-of-mouth and recommendations from family and friends </strong>significantly influence consumer behavior. </p><p>As part of its strategy to penetrate the Japanese market, the British skincare brand <a href="https://www.lush.com/jp/ja/c/lunar-new-year">LUSH</a> launched factory tour experiences in 2015. The company aimed to have customers who participated in the tours become brand ambassadors and help spread the brand's message through word of mouth. 🫧 As LUSH's director and brand communication manager stated in interviews in <u><a href="https://exp-d.com/interview/4674/" rel="noopener noreferrer nofollow">2019</a></u> and <u><a href="https://markezine.jp/article/detail/42411" rel="noopener noreferrer nofollow">2023</a></u>, the brand has successfully continued to expand in Japan through word of mouth.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Lush--Localization.png" class="kg-image" alt loading="lazy" width="2000" height="981" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Lush--Localization.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Lush--Localization.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Lush--Localization.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/01/Lush--Localization.png 2400w" sizes="(min-width: 720px) 720px"></figure><blockquote>In Japan, people often prioritize the opinions of others over their own when making decisions. Word-of-mouth and recommendations from family and friends significantly influence consumer behavior</blockquote><p><strong>3. Attention to detail </strong><br>The Japanese audience <strong>appreciates brands with delicate designs and beautiful language</strong>. An example of a brand that has captured the hearts of the Japanese people with its detail-oriented design is <u><a href="https://www.instagram.com/starbucks_j/?hl=ja" rel="noopener noreferrer nofollow">Starbucks</a></u>. ☕️ The Starbucks Japan Instagram account frequently posts stunning photos of its new products. While the brand is facing challenges globally, its continued success in Japan in 2024 can be largely attributed to its SNS strategy, which is closely aligned with the Japanese sensibility.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/01/image-10.png" class="kg-image" alt loading="lazy" width="904" height="904" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/image-10.png 600w, https://ghost.localazy.com/content/images/2025/01/image-10.png 904w" sizes="(min-width: 720px) 720px"><figcaption><a href="https://www.instagram.com/starbucks_j/">Starbucks' Japan Instagram account</a></figcaption></figure><p><strong>4. Limited English proficiency </strong></p><p>Using English in your marketing communications won't get you very far in the country, as <strong>Japan ranks 87th in global English proficiency, with <a href="https://www.nikkei.com/article/DGXZQOUE181BB0Y3A111C2000000/">less than 10% of the population fluent in the language</a></strong>. English skills are especially lacking among the younger generation (ages 18-25), who will become the main consumer group in the coming years compared to older age groups. The spread of the COVID-19 pandemic is believed to have hindered opportunities for studying abroad and international exchange, resulting in a decline in English proficiency among young people.</p><blockquote>🗣️ Regardless of the country's English proficiency, communicating in your audience's native language tends to be more effective: <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize?srsltid=AfmBOor_hq-yutG68Q5IFKPMPMa1Nlmls4l40w0I0PkJ8VbM-QmgTUEk">75% of the global population doesn't speak English natively</a>, and 4 in 10 customers <a href="https://localazy.com/blog/4-key-findings-that-confirm-you-need-to-go-multilingual-for-global-reach-in-2024?srsltid=AfmBOoowDONZlB2P-50poU6Ks5bOnH8VGU2Cs0kRxjbK0cwQzxLnGnKk#2-improving-customer-experience">prefer to shop in their mother tongue</a></blockquote><p><strong>5. Love for foreign cultures </strong><br>Japan readily embraces foreign influences, as seen in product names, brand names, and even advertisements featuring foreign models. Items like bread and pasta are commonly consumed, and recently, Korean culture has gained popularity in the country. 🍜  In addition, let's not forget that Japan is <a href="https://nestbowl.com/journal/14805">the only market in Asia</a> where sales of luxury foreign brands are growing. </p><h2 id="the-challenges-for-foreign-companies">🗾 The challenges for foreign companies <a class="markdownit-header-anchor" href="#the-challenges-for-foreign-companies">🔗</a></h2><p>When foreign companies expand into Japan, they are likely to face a variety of challenges. Many companies that have achieved significant success in their home countries believe that simply bringing their business model to Japan will guarantee success in the Japanese market – but this is a major misconception.<br><br>Additionally, many businesses assume that they can succeed quickly after entering Japan, but <strong>gaining the trust and capturing the hearts of Japanese consumers takes time</strong>. Here, we will examine some of the challenges that foreign companies are likely to encounter when expanding into Japan.</p><h3 id="1-low-english-proficiency">1. Low English proficiency  <a class="markdownit-header-anchor" href="#1-low-english-proficiency">🔗</a></h3><p>Given Japan's low English proficiency, <strong>communication in Japanese is essential for smooth consumer interactions</strong>. ​​Japan is often referred to as a "Facebook laggard." One reason for this is that when Facebook entered the Japanese market in 2008, the service had very few features available in Japanese, which made it less accessible to the local population. </p><h3 id="2-conservative-consumers">2. Conservative consumers <a class="markdownit-header-anchor" href="#2-conservative-consumers">🔗</a></h3><p>While Japan is gradually changing, it remains more conservative compared to Western societies. <strong>Foreign companies must prove themselves to be trustworthy to gain loyal customers</strong>. Errors in Japanese on a website or a lack of Japanese-language customer support can deter repeat customers.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/AdobeStock_1230929250-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/AdobeStock_1230929250-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/AdobeStock_1230929250-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/AdobeStock_1230929250-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/02/AdobeStock_1230929250-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-limitations-of-machine-translation">3. Limitations of machine translation <a class="markdownit-header-anchor" href="#3-limitations-of-machine-translation">🔗</a></h3><p>Most automatic translation tools cannot accurately translate Japanese, <strong>which requires different levels of formality based on the context</strong>. For example, in industries where safety and trust are extremely important (such as finance), <em><u>keitai</u> </em>(formal form) is always used. On the other hand, when the target audience for products or services is young people or children, <em><u>joutai </u></em>(informal or plain form) may sometimes be used. Machine translation also cannot handle <a href="https://localazy.com/blog/localization-101-basic-concepts-a-beginner-needs-to-know#1-translation-localization-and-transcreation">transcreation</a>, which involves adapting creative copy into natural Japanese rather than producing vague translations.</p><blockquote>In Japan, foreign companies must prove themselves to be trustworthy to gain loyal customers. Errors on a website or a lack of Japanese-language customer support can deter repeat customers</blockquote><h3 id="a-failure-and-a-success-story">💡 A failure and a success story <a class="markdownit-header-anchor" href="#a-failure-and-a-success-story">🔗</a></h3><p>Localization is more than just translation. One common pitfall is translating a piece of marketing copy from the original language directly into Japanese. Even if the Japanese translation is accurate, the catchy appeal of the original message may be lost. </p><p>In this regard, <strong>Apple</strong> excels at <a href="https://localazy.com/dictionary/localization">localization</a>. The company manages to retain the charm of its English marketing copies while crafting Japanese versions that resonate with local consumers. In the iPhone 13 campaign, the English copy <em>"Your new superpower"</em> was localized into Japanese as <em>"できること、超人的."</em> Instead of simply translating it as <em>"あなたの新しい超能力,"</em> the message kept its original meaning while making it natural and attention-grabbing in Japanese. <strong>It's no surprise that the iPhone holds a 50% market share in Japan, with one in two Japanese people being an iPhone user</strong>. 🍏<strong> </strong></p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcBhg0aRTjoEE_1hvWfmLv9_86WNoTfeZmkkYrYZLoKrbvYsoijCYdwIiOnMJ-LWBswfHn7M1kFjYJd9Gdqy6LAO-ZKRV_-RJzpuaFl2Ydep43txrcLY3ZpUUTr7X5fKuRU3P29CCHKLMSgFxSVtaw?key=MVj40SuoiJd5INAjhHjdwE3W" class="kg-image" alt loading="lazy"></figure><p>Ignoring local customs can also be a common localization mistake. <strong>IKEA</strong> entered the Japanese market in 1976 but withdrew shortly thereafter. Following extensive market research, it successfully re-entered the country. They learned that,<strong> since Japan uses the metric system, assembly instructions displayed in inches were not easily understood</strong>, prompting them to change to metric units. Although a minor detail, overlooking this had an impact. Other efforts, such as adjusting product lines to fit Japanese living spaces, have paid off, and the company now operates 13 stores across Japan.</p><h2 id="how-to-really-reach-the-japanese-customer">🌟 How to (really) reach the Japanese customer <a class="markdownit-header-anchor" href="#how-to-really-reach-the-japanese-customer">🔗</a></h2><p>Some people say that Japanese consumers are the most particular in the world when it comes to quality. <strong>Satisfying Japanese consumers is no easy task</strong>. Here are some guidelines that will help you get started.</p><h3 id="1-use-japanese-nuances-correctly">1. Use Japanese nuances correctly  <a class="markdownit-header-anchor" href="#1-use-japanese-nuances-correctly">🔗</a></h3><p>Adapt the formality of the language (formal or casual) based on the product, brand image, and target audience. <strong>While formal language is standard in business, casual language may be used to appeal to younger audiences</strong> or to establish a unique brand image. </p><p>According to <a href="https://www.bunka.go.jp/tokei_hakusho_shuppan/tokeichosa/kokugo_yoronchosa/pdf/93767401_01.pdf" rel="noopener noreferrer nofollow"><u>a survey</u></a>, 46% of respondents felt that they were unable to use formal language (<em><a href="https://en.wikipedia.org/wiki/Honorific_speech_in_Japanese">keigo</a></em>) appropriately, highlighting that being Japanese does not necessarily mean one can always use the correct language for a given situation. This underscores the importance of hiring Japanese language experts or linguists for the success of your Japanese localization campaign.</p><h3 id="2-adjust-your-design-and-copy">2. Adjust your design and copy <a class="markdownit-header-anchor" href="#2-adjust-your-design-and-copy">🔗</a></h3><p>Japanese customers tend to prioritize efficiency and practicality. As a result, designs for websites, advertisements, and product packaging <strong>that provide a higher volume of information at a glance are preferred</strong>, compared to the simple, photo-centric designs commonly seen in Western styles (one example is <a href="https://www.yahoo.co.jp/"><em>Yahoo!</em> Japan</a> vs <a href="https://www.yahoo.com/"><em>Yahoo!</em></a>).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Yahoo--Localization.png" class="kg-image" alt loading="lazy" width="2000" height="981" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Yahoo--Localization.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Yahoo--Localization.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Yahoo--Localization.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/01/Yahoo--Localization.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-focus-on-community-and-trust">3. Focus on community and trust <a class="markdownit-header-anchor" href="#3-focus-on-community-and-trust">🔗</a></h3><p>In localizing content for Japan, <strong>focus on community and trust in your marketing campaigns</strong>. Japanese people tend to have a collectivist mindset and place a strong emphasis on "trustworthiness." Again, LUSH is a good example of this strategy – it sells charity products as part of its support for organizations working on solving social issues in Japan. Instead of simply following directives from its headquarters abroad, the Japanese branch takes the lead in addressing local societal challenges. By doing so, it has successfully strengthened its connection with consumers and built a strong community.</p><h3 id="4-make-sure-to-meet-local-standards">4. Make sure to meet local standards <a class="markdownit-header-anchor" href="#4-make-sure-to-meet-local-standards">🔗</a></h3><p><strong>Complying with local standards is essential in Japan</strong>. Ensure that you cater to the specific demands of the market. A well-known example of a service that failed when trying to expand into Japan by directly applying its success overseas is <strong>Uber</strong>. </p><p>Uber attempted to introduce ride-sharing to the Japanese market by hiring legal experts and negotiating with local regulatory authorities. However, Japanese law did not permit ride-sharing at the time, and the company faced strong opposition from the taxi industry. 🚕 As a result, regulatory relaxation did not progress, and Uber was forced to pivot to offering a taxi dispatch service instead.</p><blockquote>Japanese customers prefer practicality – that's why they prefer websites, advertisements, and product packaging that provide a higher volume of information at a glance. Choosing the right tone and creating a sense of trustworthiness is also important</blockquote><h3 id="5-leverage-holidays-and-seasons">5. Leverage holidays and seasons <a class="markdownit-header-anchor" href="#5-leverage-holidays-and-seasons">🔗</a></h3><p>Japanese people <strong>have a deep appreciation for the changing seasons and the traditions that come with them</strong>. For example, <a href="https://www.bbg.org/article/hanami_cherry_blossom_culture_in_Japan">cherry blossom viewing</a>, known as 🌸 <em>hanami</em>, is a beloved springtime activity that brings people together to enjoy the beauty of blooming flowers. Other seasonal events, such as summer festivals, <a href="https://www.japan.travel/en/au/experience/autumn-leaves/">autumn leaf viewing</a>, and winter celebrations, also hold special meaning. Creating marketing campaigns with occasion elements helps you resonate culturally and make your products or services more appealing.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/AdobeStock_590707715.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/AdobeStock_590707715.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/AdobeStock_590707715.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/AdobeStock_590707715.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/02/AdobeStock_590707715.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="make-your-product-speak-japanese-today">🍥 Make your product speak Japanese today <a class="markdownit-header-anchor" href="#make-your-product-speak-japanese-today">🔗</a></h2><p><strong>The Japanese market is harsh yet loyal</strong>. The intricacies of the Japanese language and its cultural nuances require careful consideration and thoughtful localization strategies. Japanese customers value <strong>trust, community, and quality</strong>. To succeed, focus on embodying these values in your product or service.  </p><p>Don't forget to learn from the successes and missteps of other companies in Japan to avoid common pitfalls and find effective ways to resonate with local audiences. In a market that emphasizes detail and collective choices, focus on how you make your users appear in front of their peers. Building a great product should come first. Communicating its value comes second. And the best way to do this is by professionally translating it to Japanese. <a href="https://localazy.com/contact/">Get in touch with us</a> for any requests – <a href="https://localazy.com/features/continuous-localization-team/">our CLT</a> will make your message resonate with your audiences in Japan.</p>]]></content:encoded>
            <author>Shiori Kudo</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/01/Master-Japanese-localization.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to automate your localization in CI/CD pipelines]]></title>
            <link>https://localazy.com/blog/how-to-automate-your-localization-in-ci-cd-pipelines</link>
            <guid isPermaLink="false">how-to-automate-your-localization-in-ci-cd-pipelines</guid>
            <pubDate>Thu, 12 Jun 2025 05:02:48 GMT</pubDate>
            <description><![CDATA[Automating your localization process is no longer optional. Discover how to integrate localization workflows directly into CI/CD pipelines and leave manual tasks behind for good.]]></description>
            <content:encoded><![CDATA[<p>As your application grows to support multiple languages, manually managing <a href="https://localazy.com/dictionary/localization">localization</a> becomes increasingly complex. Extracting <a href="https://localazy.com/faq/localazy-accounts/what-are-source-keys">source keys</a>, coordinating translations, and integrating updates can quickly lead to inefficiencies, delays, and errors.</p><p><strong>Integrating localization workflows into your CI/CD pipelines provides a scalable and automated solution</strong>. This approach reduces manual overhead, keeps translations aligned with code changes, and streamlines the process of delivering localized versions alongside product updates. 💪</p><p>This guide will show you how to integrate localization into your CI/CD pipelines. You'll learn how to automate tasks like uploading source keys and downloading translations while managing multilingual projects with CI/CD platforms such as <a href="https://localazy.com/blog/automated-localization-github-actions-localazy">GitHub Actions</a>, <a href="https://localazy.com/blog/automated-localization-bitbucket-pipelines-localazy">Bitbucket Pipelines</a>, and <a href="https://localazy.com/blog/automated-localization-gitlab-cicd-localazy/">GitLab CI</a>.</p><blockquote>🏄‍♂️ For more tips on automated localization, check out our other guides <a href="/tags/automated-localization">here</a></blockquote><h2 id="prerequisites">📋 Prerequisites <a class="markdownit-header-anchor" href="#prerequisites">🔗</a></h2><p>To implement this localization workflow, <strong>you'll need a tool that integrates seamlessly with CI/CD pipelines</strong>. This guide uses <a href="/features/cli"><strong>Localazy CLI</strong></a>, a command-line tool for efficiently managing multilingual localization projects.</p><p>With Localazy, you can:</p><ul><li>⚡️ Automate localization tasks, such as uploading source keys and downloading translations.</li><li>📩 Trigger localization updates directly from your CI/CD pipeline, keeping translations synchronized with your codebase.</li><li>👥 Manage distributed teams effectively using features like <a href="https://localazy.com/docs/cli/branching/">branching</a>, <a href="https://localazy.com/docs/cli/release-tags/"><a href="https://localazy.com/docs/cli/release-tags/">r</a>eleases</a>, and <a href="https://localazy.com/docs/general/defining-user-roles/">role-based workflows</a>.</li></ul><h3 id="workflow-outline">Workflow outline <a class="markdownit-header-anchor" href="#workflow-outline">🔗</a></h3><p>Here's an outline of the localization workflow you'll implement:</p><ul><li>You'll work with three branches: <code>workflow-demo</code>, <code>dev</code>, and <code>main</code>.</li><li>Source keys are created in feature branches (e.g., <code>workflow-demo</code>) and merged into the <code>dev</code> branch via pull requests.</li><li>Your CI/CD pipeline uploads the source keys to Localazy when you merge into the <code>dev</code> branch.</li><li>Translators translate source keys in the Localazy dashboard.</li><li>When the product is ready to go live, changes are merged from <code>dev</code> to <code>main</code>, triggering the download of automatic translations.</li></ul><p>Now that you understand the workflow, let's proceed with the initial setup.</p><h2 id="initial-setup">🖇️ Initial setup <a class="markdownit-header-anchor" href="#initial-setup">🔗</a></h2><p>This guide uses a <a href="https://localazy.com/dictionary/vuejs">Vue.js</a> application that displays the landing page of a fictional <a href="https://localazy.com/for/tourism">travel company</a> called <strong>Worldwide Wonders</strong>. You'll localize this English website using Localazy. To get started, we'll follow these steps:</p><ol><li><strong>Fork the <a href="https://github.com/ThatCoolGuyyy/worldwide-wonders" rel="noreferrer nofollow noopener">repository</a></strong>: When forking, uncheck "Copy the <code>main</code>branch only" to include all branches.</li><li><strong>Clone your fork</strong>: Clone your forked repository to your local machine.</li><li><strong>Switch branches</strong>: Checkout to the <code>workflow-demo</code> branch using <code>git checkout workflow-demo</code>.</li><li> git checkout workflow-demo.</li><li><strong>Install dependencies</strong>: Run <code>npm install</code> to install the required packages.</li><li><strong>Install the Localazy CLI</strong>: Now follow the <a href="https://localazy.com/docs/cli/installation" rel="noopener noreferrer nofollow">installation setup</a> specific to your operating system.</li><li><strong>Create a Localazy account</strong>:<strong> </strong><a href="https://localazy.com/register" rel="noopener noreferrer nofollow">Sign up</a> for a Localazy account or log in if you already have one. Then, set up a new organization and create a project.</li><li><strong>Generate access keys</strong>:<strong> </strong>Navigate to your project and go to <em><strong>Project Settings → Access key</strong>s</em> to obtain your <code>readKey</code> and <code>writeKey</code>. Save these keys, as you will use them later during the CI/CD pipeline setup.</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropboxusercontent.com/s_138BF67B10701A26903C0CF743468990E4BDAE5AD6B12ED606729BA3484D384C_1737364106647_read_write_keys.png" class="kg-image" alt loading="lazy"><figcaption>Remember to save your read and write keys – you'll need them later.</figcaption></figure><h3 id="localazy-cli-setup">Localazy CLI setup <a class="markdownit-header-anchor" href="#localazy-cli-setup">🔗</a></h3><p>Localazy provides two <a href="https://localazy.com/docs/cli/the-basics">CLI commands</a> for managing your localization project workflows. These commands use the <code>readKey</code> and <code>writeKey</code> secrets from your project to determine where to store and retrieve data:</p><ul><li><code>localazy upload</code>: Uploads the source keys to the Localazy dashboard using the <code>writeKey</code>.</li><li><code>localazy download</code>: Downloads translations using the <code>readKey</code>.</li></ul><p>Open your code editor and create a <code>localazy.json</code> file in your project's root directory. This file stores the configuration for the upload and download commands. Paste the following content into the file:</p><pre><code class="language-JSON">{
	"upload": {
		"type": "json",
		"files": "src/assets/locales/en.json"
	},
	"download": {
		"files": "src/assets/locales/${lang}.json"
	}
}</code></pre><p>In the snippet above, the upload section specifies the file type and source key path, while the download section specifies the download path with a special <a href="https://localazy.com/docs/cli/variables#download-variables" rel="noopener noreferrer nofollow">placeholder</a>, <code>$lang</code>, indicating the file format. </p><blockquote>⚠️ This is a basic example of a configuration file for Localazy CLI; check out the <a href="https://localazy.com/docs/cli/the-basics" rel="noopener noreferrer nofollow">documentation</a> for a more advanced setup</blockquote><p>Next, create a <code>localazy.keys.json</code> file in your project root and paste the below content into it, replacing the placeholders with your project keys:</p><pre><code class="language-JSON">{
	"readKey": "&lt;your-read-key&gt;",
	"writeKey": "&lt;your-write-key&gt;"
}
</code></pre><p>This file stores your project's authentication keys. It's already listed in <code>.gitignore</code> to prevent accidental commits. In the next section, you'll use this file to simulate the upload process locally.</p><p>The repository contains the English source keys. If you navigate to <code>src/assets/locales</code>, you will find a <code>en.json</code> file, as shown in the image below. You will upload this file to Localazy shortly.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropboxusercontent.com/s_AEF16F83437E3383DDDF12FFA4467DF04CCE0D6DEE3BA1B64797D1B44AD54AD7_1735655303122_Screenshot+2024-12-31+at+15.28.07.png" class="kg-image" alt loading="lazy"><figcaption>The English source keys.</figcaption></figure><h2 id="next-steps">⏭️ Next steps <a class="markdownit-header-anchor" href="#next-steps">🔗</a></h2><h3 id="test-string-upload-locally">Test string upload locally <a class="markdownit-header-anchor" href="#test-string-upload-locally">🔗</a></h3><p>Before integrating the source key upload into your CI/CD pipeline, <strong>it's a good practice to test the upload locally to ensure everything works as expected</strong>. Localazy provides a simulation mode using the <code>localazy upload -s</code>command.</p><p>Run the following command in your project root:</p><p><code>localazy upload -s</code></p><p>The -s flag stands for <em><strong>simulate</strong></em>, meaning this command doesn't upload anything to Localazy and will return an error if anything goes wrong.</p><p>Now, proceed to set up GitHub Actions for automation.</p><h3 id="automate-source-key-upload-with-github-actions">Automate source key upload with GitHub actions <a class="markdownit-header-anchor" href="#automate-source-key-upload-with-github-actions">🔗</a></h3><p>To do this, you must first add your Localazy project keys for authentication. Navigate to your repository's <strong><em>Settings → Secrets and variables → Actions </em></strong>and add these repository secrets: <code>LOCALAZY_READ_KEY</code> and <code>LOCALAZY_WRITE_KEY</code><strong> </strong>using your Localazy project keys.</p><figure class="kg-card kg-image-card"><img src="https://paper-attachments.dropboxusercontent.com/s_AEF16F83437E3383DDDF12FFA4467DF04CCE0D6DEE3BA1B64797D1B44AD54AD7_1735658001336_Screenshot+2024-12-31+at+4.13.02pm.png" class="kg-image" alt loading="lazy"></figure><p>Next, create a new <code><strong>.</strong>github/workflows/upload-strings.yml</code><em> </em>file in your code editor and paste the below content into it:</p><pre><code>name: Localazy Upload
	on:
		push:
			branches:
			- dev
        workflow_dispatch:

jobs:
	localazy-upload:
	name: Upload source keys to Localazy
	runs-on: ubuntu-latest

	steps:
		- uses: actions/checkout@v3
		- uses: localazy/upload@v1

	with:
		read_key: ${{ secrets.LOCALAZY_READ_KEY }}
		write_key: ${{ secrets.LOCALAZY_WRITE_KEY }}</code></pre><p>This workflow above is triggered by pushing to the <code>dev</code> branch or manually triggering the action. It uses the <a href="https://github.com/marketplace/actions/localazy-upload" rel="noopener noreferrer nofollow">official Localazy upload</a> action to upload the source keys.</p><p>Commit all changes (including the Localazy configuration and workflow files) to the <code>workflow-demo</code> branch, then navigate to GitHub and create a pull request from <code>workflow-demo</code> to <code>dev</code>. After merging the pull request, go to the <strong><em>Actions</em></strong> tab in your repository dashboard. <strong>You should see the Localazy Upload workflow trigger</strong>. Once it completes successfully, your source strings will be available in Localazy.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropboxusercontent.com/s_AEF16F83437E3383DDDF12FFA4467DF04CCE0D6DEE3BA1B64797D1B44AD54AD7_1736248319854_Screenshot+2025-01-03+at+22.44.39.jpg" class="kg-image" alt loading="lazy"><figcaption>Screenshot showing the successful upload workflow.</figcaption></figure><h3 id="translate-source-keys-on-the-localazy-dashboard">Translate source keys on the Localazy dashboard <a class="markdownit-header-anchor" href="#translate-source-keys-on-the-localazy-dashboard">🔗</a></h3><p>After successfully uploading the source keys, you can begin translating. Go to the <strong><em>Translations</em></strong> tab on the Localazy dashboard and add your target languages. This guide uses Spanish, German, Hindi, and Yoruba.</p><figure class="kg-card kg-image-card"><img src="https://paper-attachments.dropboxusercontent.com/s_AEF16F83437E3383DDDF12FFA4467DF04CCE0D6DEE3BA1B64797D1B44AD54AD7_1735631549335_Screenshot+2024-12-31+at+08.52.14.png" class="kg-image" alt loading="lazy"></figure><p>You have three translation methods to choose from:</p><ol><li><strong>Manual translation</strong>: Translate all the content yourself manually.</li><li><strong>Machine translation</strong>: Automatically translate content using machine translation engines like Google Translate, Amazon Translate, or DeepL.</li><li><strong>Professional translation</strong>: Request translations from professional translators.</li></ol><blockquote>📝 Get more information about the professional translation options available in our <a href="https://localazy.com/blog/guide-localazy-translation-services/">ultimate guide to Localazy translation services</a></blockquote><p>This guide uses the <a href="https://localazy.com/features/pre-translate">machine translation</a> option. Once you translate your source language keys, you will see them in the Localazy dashboard.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropboxusercontent.com/s_AEF16F83437E3383DDDF12FFA4467DF04CCE0D6DEE3BA1B64797D1B44AD54AD7_1735631455637_Screenshot+2024-12-31+at+08.50.41.png" class="kg-image" alt loading="lazy"><figcaption>The finished translations.</figcaption></figure><h3 id="automate-translation-download-with-github-actions">Automate translation download with GitHub actions <a class="markdownit-header-anchor" href="#automate-translation-download-with-github-actions">🔗</a></h3><p>After translating your source keys, the next step is to add a setup for automatically downloading translations when you push to the <code>main</code> branch. You can integrate downloading translations into your build chain by adding the <code>localazy download </code>command to the build script in your <code>package.json</code> file.</p><pre><code>
{
  "scripts": {
    "prebuild": "localazy download",
    "build": "your-build-command" // e.g webpack --mode=production
  }
}</code></pre><p>This way, translations are automatically downloaded when you run <code>npm run build</code>. However, for this demo, you'll push the translated files directly to the <code>main</code> branch.</p><p>Create a new <code>.github/workflows/download-translations.yml</code>file in your code editor and add the following configuration to it:</p><pre><code>name: Localazy Download
on:
  push:
    branches: 
        - main

  workflow_dispatch:

jobs:

  localazy-download:

    name: Download strings from Localazy
    runs-on: ubuntu-latest
    permissions:
      contents: write

    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - uses: localazy/download@v1
        with:
          read_key: ${{ secrets.LOCALAZY_READ_KEY }}
          write_key: ${{ secrets.LOCALAZY_WRITE_KEY }}

      - name: Configure Git
        run: |
            git config --local user.email "action@github.com"
            git config --local user.name "GitHub Action."

      - name: Commit and push changes
        run: |
          # Check for changes
          if [[ -n "$(git diff --staged)" ]]; then
            git add src/assets/locales
            git commit -m "Updated translation files from Localazy."
            git push
          else
            echo "No changes in locales"
          fi</code></pre><p>This workflow is triggered on push to the <code>main</code> branch and through manual activation. It uses the <a href="https://github.com/marketplace/actions/localazy-download" rel="noopener noreferrer nofollow">official Localazy download</a> action to download the translations.</p><p>Next, create a pull request from the <code>dev</code> branch to the <code>main</code> branch and merge it. This action will trigger the <strong>Localazy Download</strong> workflow, as shown in the image below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropboxusercontent.com/s_AEF16F83437E3383DDDF12FFA4467DF04CCE0D6DEE3BA1B64797D1B44AD54AD7_1736248386610_Screenshot+2025-01-03+at+23.00.41.jpg" class="kg-image" alt loading="lazy"><figcaption>The successful download workflow.</figcaption></figure><p>After the workflow executes successfully, the new translation files will be in your <code>src/assets/locales</code> folder. 🎉</p><h3 id="test-out-the-localized-application">Test out the localized application <a class="markdownit-header-anchor" href="#test-out-the-localized-application">🔗</a></h3><p>Pull the latest changes from the <code>main</code> branch and start the server using <code>npm run serve</code>. You can access the localized versions using these routes:</p><ul><li><code>/en</code> for English</li><li><code>/es</code> for Spanish</li><li><code>/de</code>for German</li><li><code>/hi</code> for Hindi</li><li><code>/yo</code> for Yoruba</li></ul><p>Here's the result in English:</p><figure class="kg-card kg-image-card"><img src="https://paper-attachments.dropboxusercontent.com/s_AEF16F83437E3383DDDF12FFA4467DF04CCE0D6DEE3BA1B64797D1B44AD54AD7_1737063659233_Screenshot+2025-01-16+at+22.40.42.png" class="kg-image" alt loading="lazy"></figure><p>Spanish:</p><figure class="kg-card kg-image-card"><img src="https://paper-attachments.dropboxusercontent.com/s_AEF16F83437E3383DDDF12FFA4467DF04CCE0D6DEE3BA1B64797D1B44AD54AD7_1737061923803_Screenshot+2025-01-16+at+22.09.39.png" class="kg-image" alt loading="lazy"></figure><p>German:</p><figure class="kg-card kg-image-card"><img src="https://paper-attachments.dropboxusercontent.com/s_AEF16F83437E3383DDDF12FFA4467DF04CCE0D6DEE3BA1B64797D1B44AD54AD7_1737061937506_Screenshot+2025-01-16+at+22.10.00.png" class="kg-image" alt loading="lazy"></figure><p>Hindi:</p><figure class="kg-card kg-image-card"><img src="https://paper-attachments.dropboxusercontent.com/s_138BF67B10701A26903C0CF743468990E4BDAE5AD6B12ED606729BA3484D384C_1737364304828_Hindi_version.png" class="kg-image" alt loading="lazy"></figure><p>And Yoruba:</p><figure class="kg-card kg-image-card"><img src="https://paper-attachments.dropboxusercontent.com/s_AEF16F83437E3383DDDF12FFA4467DF04CCE0D6DEE3BA1B64797D1B44AD54AD7_1737061979672_Screenshot+2025-01-16+at+22.11.22.png" class="kg-image" alt loading="lazy"></figure><h2 id="other-cicd-pipeline-integrations">⚡️ Other CI/CD pipeline integrations <a class="markdownit-header-anchor" href="#other-cicd-pipeline-integrations">🔗</a></h2><p>Localazy CLI supports <a href="https://localazy.com/blog/automated-localization-gitlab-cicd-localazy">GitLab CI</a> and <a href="https://localazy.com/blog/automated-localization-bitbucket-pipelines-localazy">Bitbucket Pipelines</a> with similar workflows. Refer to the guides linked above for configurations.</p><h2 id="common-integration-challenges">🛠️ Common integration challenges <a class="markdownit-header-anchor" href="#common-integration-challenges">🔗</a></h2><p>You may encounter some challenges when integrating Localazy CLI with your CI/CD pipeline. Here are some common issues and troubleshooting steps:</p><h3 id="authentication-issues">Authentication issues <a class="markdownit-header-anchor" href="#authentication-issues">🔗</a></h3><ul><li>！<strong>Error:</strong> <em>"Authorization failed! Check your read and write keys."</em></li><li>💡 <strong>Solution:</strong> Verify your Localazy keys are correctly configured in repository secrets and not swapped.</li></ul><h3 id="upload-problems">Upload problems <a class="markdownit-header-anchor" href="#upload-problems">🔗</a></h3><ul><li>！<strong>Error: </strong><em>"No files found."</em></li><li>💡 <strong>Solution:</strong> Make sure the path specified in the upload section of your localazy.json file is correct and has the source key file.</li></ul><h3 id="download-issues">Download issues <a class="markdownit-header-anchor" href="#download-issues">🔗</a></h3><ul><li>！<strong>Error:</strong> "<em>Missing translation files.</em>"</li><li>💡<strong> Solution:</strong> Make sure the source language file has been translated to the target language in your Localazy dashboard before downloading. Also, check if the path set in the download section of your <code>localazy.json</code> file is valid.</li></ul><blockquote><em>🏆 Localazy </em><a href="https://www.linkedin.com/pulse/devops-2025-ai-first-workflows-platform-engineering-future-stan-pqipf" rel="noopener noreferrer nofollow"><em>has been recognized</em></a><em> as a leading DevOps tool for localization automation. See what other developers are saying about our CI/CD integration capabilities on </em><a href="https://tekpon.com/software/localazy/reviews/" rel="noopener noreferrer nofollow"><em>Tekpon</em></a><em>.</em></blockquote><h2 id="what-next">➡️ What next? <a class="markdownit-header-anchor" href="#what-next">🔗</a></h2><p>As you've seen in this guide, integrating Localazy CLI into CI/CD pipelines greatly improves the localization process. By combining it with GitHub Actions, you've set up an automated system whereby source keys are uploaded on push to the dev branch, and translations are downloaded to the main branch after a pull request is merged. <strong>This automation helps reduce the inefficiencies associated with manual localization</strong> while keeping translations synchronized with product updates.</p><p>You can further improve this workflow by using <a href="https://localazy.com/docs/cli/release-tags">releases</a> to lock your translation files at specific versions, allowing for safe changes in your Localazy project until the next iteration is finished. </p><p>For more resources, check out <a href="https://localazy.com/docs/">our documentation</a> or <a href="https://localazy.com/contact/">contact us</a> via support. We'll be happy to assist you in crafting your perfect workflow.</p>]]></content:encoded>
            <author>Dami Oshungboye</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/02/CLI---How-to-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Will AI replace translators? | Bridging the Gap Podcast, S01 EP03]]></title>
            <link>https://localazy.com/blog/s01-ep-03-bridging-the-gap-podcast</link>
            <guid isPermaLink="false">s01-ep-03-bridging-the-gap-podcast</guid>
            <pubDate>Tue, 20 May 2025 17:27:58 GMT</pubDate>
            <description><![CDATA[The use of LLMs in translation is still sparking intense debates in the localization industry. We meet a linguist specialized in prompting to discuss what are the real capabilities of these models.]]></description>
            <content:encoded><![CDATA[<p>AI and LLMs like ChatGPT have sparked intense debate in the translation and localization industry. Is AI a helpful tool or a looming threat to human expertise? In this episode, localization consultant and prompt engineer <a href="https://www.dorotapawlak.eu"><strong>Dorota Pawlak</strong></a>, Localazy's Product Manager <a href="https://localazy.com/blog/author/jan-bilek/"><strong>Jan Bílek</strong></a>, and host <strong><a href="https://localazy.com/blog/author/marta-g-coloma/">Marta G. Coloma</a> </strong>explore the role of AI, its impact on translation quality, and the future of human translators going forward.</p><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/bEFbJDs9r5E?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Will AI replace translators? (w/ Dorota Pawlak) | Bridging the Gap Podcast #3, S01"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Will AI replace translators? (w/ Dorota Pawlak) | Bridging the Gap Podcast #3, S01" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/4F7y7ExVLQBpCvtLhwllHg/video?si=8d2d418aae8a45f3&utm_source=oembed"></iframe></figure><h2 id="additional-resources">🗞 Additional resources <a class="markdownit-header-anchor" href="#additional-resources">🔗</a></h2><ul><li><a href="https://time.com/6247678/openai-chatgpt-kenya-workers/">OpenAI Used Kenyan Workers on Less Than $2 Per Hour to Make ChatGPT Less Toxic</a> (Time Magazine)</li><li><a href="https://pshapira.net/2024/03/31/delving-into-delve/">Delving into "delve"</a> (Philip Shapira)</li></ul><h2 id="connect-with-the-guests-and-host">💌 Connect with the guests & host <a class="markdownit-header-anchor" href="#connect-with-the-guests-and-host">🔗</a></h2><p><a href="https://www.linkedin.com/in/dorotapawlak/">Dorota Pawlak</a></p><p><a href="https://www.linkedin.com/in/xbilek18/">Jan Bílek</a></p><p><a href="https://www.linkedin.com/in/martagcoloma/">Marta G. Coloma</a></p><h2 id="more-on-the-blog">📚 More on the blog <a class="markdownit-header-anchor" href="#more-on-the-blog">🔗</a></h2><p>Interested in learning more about what AI can do for you in localization? Check out <a href="https://localazy.com/tags/ai/">our AI series</a>, where we discuss, test, and experiment with these tools for translation tasks.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/the-great-llm-translation-war-a-comparison-of-the-hottest-ai-models"><div class="kg-bookmark-content"><div class="kg-bookmark-title">The great LLM translation war: A comparative of the hottest AI models</div><div class="kg-bookmark-description">Choosing the best AI tool to help you localize is becoming harder every day. With new models popping up everywhere, what should you look at to make a decision? We tested a few to get clarity.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Dorota Pawlak</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2025/03/localazy-AI-series_04.png" alt=""></div></a></figure><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete automated localization solution for your digital products. We make your software, apps, and content multilingual and ready for international audiences with developer-friendly features, TMS tools, and professional translation services.</p><p>First time here? Check out our <a href="https://localazy.com/docs/general/getting-started-with-localazy">getting started guide</a>, <a href="https://localazy.com/pricing">find your plan</a>, or <a href="https://localazy.com/contact">contact us </a>with any questions. We're here to help you with your localization and i18n journey.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep03-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to translate Webflow websites efficiently with Localazy]]></title>
            <link>https://localazy.com/blog/how-to-translate-webflow-websites-with-localazy</link>
            <guid isPermaLink="false">how-to-translate-webflow-websites-with-localazy</guid>
            <pubDate>Thu, 01 May 2025 12:33:42 GMT</pubDate>
            <description><![CDATA[Learn how to translate your Webflow websites with Localazy in this tutorial. Create stunning, responsive, and multilingual websites without touching code.]]></description>
            <content:encoded><![CDATA[<p><a href="/dictionary/webflow">Webflow</a> is a powerful no-code platform that allows anyone to create stunning, responsive websites without touching code. However, one challenge when working with Webflow is adding multilingual support and maintaining the localized versions efficiently.</p><p>While <a href="https://webflow.com/localization">Webflow allows you to translate your content</a> (even using AI) and edit it in the Webflow admin, it is beneficial to connect your website with a third-party solution, especially for business-critical websites that evolve constantly. When your team frequently adds new content or refines the messaging on existing pages, you need a way to ensure your translations are kept updated, consistent, and high-quality. This is where <strong>Localazy</strong>, a robust <a href="/dictionary/translation-management-system-tms">translation management system</a>, comes in.</p><p>In this article, we’ll explore how you can quickly integrate Localazy with your Webflow project to manage <a href="/features/webflow-localization">Webflow localization</a> and create<strong> </strong>multilingual websites efficiently.</p><h2 id="why-use-localazy-for-webflow-localization">💡 Why use Localazy for Webflow localization? <a class="markdownit-header-anchor" href="#why-use-localazy-for-webflow-localization">🔗</a></h2><p>Localazy is a cloud-based translation management system that simplifies the process of localizing digital products, such as <a href="https://localazy.com/term/software-localization">apps and software</a>, including <a href="https://localazy.com/term/website-content-translation">websites</a>. </p><p>Here’s why Localazy is an excellent choice for (not only) software companies or creative agencies using Webflow looking for hassle-free multilingual content management:</p><ul><li><strong>Official integration</strong> – Localazy offers direct integration with Webflow, allowing seamless content transfer.</li><li><strong>Collaborative workflows</strong> – Team members, professional translators, and clients (in the case of agencies) can all work together in one place.</li><li><strong>Quick updates</strong> – Localazy automates content exchange with Webflow, making translation updates possible with just a few clicks.</li><li><strong>AI-powered translations</strong> – The platform offers machine translation and AI-assisted workflows to help your team translate your content efficiently</li><li><strong>Terminology and context</strong> – Ensure that your translations are consistent with the help of context tools, such as glossaries or screenshots and comments.</li><li><strong>Translate everything</strong> – Localazy supports <a href="/integrations">over 50 integration options</a>, making it easy to translate not only your Webflow website but also your mobile apps, software, documentation, help articles, marketing assets, e-mail templates, and more!</li></ul><h2 id="step-by-step-guide-to-webflow-localization">🚀 Step-by-step guide to Webflow localization <a class="markdownit-header-anchor" href="#step-by-step-guide-to-webflow-localization">🔗</a></h2><p>Watch the video tutorial and follow the step-by-step guide below to get started quickly.</p><h3 id="video-quick-setup-and-first-translations-done-in-minutes">Video: Quick setup and first translations done in minutes <a class="markdownit-header-anchor" href="#video-quick-setup-and-first-translations-done-in-minutes">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/eEH0EKC1kmU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="How to translate Webflow websites with Localazy"></iframe></figure><h3 id="1-connect-webflow-to-localazy">1. Connect Webflow to Localazy <a class="markdownit-header-anchor" href="#1-connect-webflow-to-localazy">🔗</a></h3><p>Localazy provides an <a href="https://webflow.com/apps/detail/localazy?category=localization">official Webflow app</a> that allows for the seamless transfer of content. To set up the connection:</p><ol><li><a href="/register">Sign up for a Localazy account</a>.</li><li>Navigate to the integrations section and install Webflow.</li><li>Click on the "Connect Webflow Account" button.</li><li>Authorize Localazy to access your Webflow project.</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-3.png" class="kg-image" alt loading="lazy" width="901" height="504" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-3.png 600w, https://ghost.localazy.com/content/images/2025/02/image-3.png 901w" sizes="(min-width: 720px) 720px"><figcaption>Localazy integration with Webflow initial setup.</figcaption></figure><p>After you connect Localazy with Webflow, you can import your content, translate it, and then export everything back. But first, you might want to check the default settings to adjust them to your preference.</p><h3 id="2-check-the-settings">2. Check the settings <a class="markdownit-header-anchor" href="#2-check-the-settings">🔗</a></h3><p>By default, Localazy will import all source content items and won't import your existing languages from Webflow. You can check the "Import existing translations" option here to change that. You can also set up Webflow as the source of truth if your team still prefers the final review to be done inside the Webflow editor. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/image.png" class="kg-image" alt loading="lazy" width="528" height="544"></figure><p>You can also set up Export preferences. By default, the state of the source object is also used for the translated object. However, you may prefer to export all translated content as a draft and control the publishing from inside Webflow. </p><h3 id="3-import-your-webflow-content-to-localazy">3. Import your Webflow content to Localazy <a class="markdownit-header-anchor" href="#3-import-your-webflow-content-to-localazy">🔗</a></h3><p>Once your Webflow site is connected and you have decided on your preferred settings, you can switch to the "Import to Localazy" tab and click the button to start the import process.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-1.png" class="kg-image" alt loading="lazy" width="910" height="718" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-1.png 600w, https://ghost.localazy.com/content/images/2025/02/image-1.png 910w" sizes="(min-width: 720px) 720px"><figcaption>Import in progress</figcaption></figure><blockquote>Tip: Do not leave the page while import is in progress, keep the browser tab open until it's finished!</blockquote><p>Once the import is finished, you can go to your Translations overview, where you can see the progress of the translation and manage your languages. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-2.png" class="kg-image" alt loading="lazy" width="903" height="428" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-2.png 600w, https://ghost.localazy.com/content/images/2025/02/image-2.png 903w" sizes="(min-width: 720px) 720px"><figcaption>Localazy project with my Webflow content imported.</figcaption></figure><blockquote>My website contains over 300 source keys (<a href="https://localazy.com/faq/localazy-accounts/what-are-source-keys">what is a source key?</a>) and has a 10% duplicity rate (<a href="https://localazy.com/features/duplicity-linking">what are duplicates?</a>). </blockquote><p>You can also browse all the content we just uploaded by clicking the "Source Keys" button. But this is unimportant now because we are ready to add our first language!</p><h3 id="4-translate-your-webflow-content-with-localazy">4. Translate your Webflow content with Localazy <a class="markdownit-header-anchor" href="#4-translate-your-webflow-content-with-localazy">🔗</a></h3><p>Click the "+Add Languages" button and select the language you want to translate. Let's say I want to translate my website into German.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-4.png" class="kg-image" alt loading="lazy" width="636" height="263" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-4.png 600w, https://ghost.localazy.com/content/images/2025/02/image-4.png 636w"><figcaption>Adding a new language in Localazy</figcaption></figure><p>To get instant results, leave the <a href="https://localazy.com/features/pre-translate">pre-translate</a> checkbox checked. This will prompt you to select a preferred machine translation provider that Localazy will use to translate your content immediately.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-5.png" class="kg-image" alt loading="lazy" width="630" height="350" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-5.png 600w, https://ghost.localazy.com/content/images/2025/02/image-5.png 630w"><figcaption>Bulk machine translation in Localazy.</figcaption></figure><p>If I were a German speaker and wanted to ensure those machine translations were correct, I would check the option to "send translations for review."</p><p>It is generally recommended to follow translations from machine translation providers with a human <a href="https://localazy.com/docs/general/reviewing-translations">review</a> to correct any errors. Still, for our purpose, I will leave this option unchecked because we want to see the translations in action quickly.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-6.png" class="kg-image" alt loading="lazy" width="905" height="245" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-6.png 600w, https://ghost.localazy.com/content/images/2025/02/image-6.png 905w" sizes="(min-width: 720px) 720px"><figcaption>My Localazy project translated into German.</figcaption></figure><p>A happy smiley face is telling us that the German translation is complete. We are now ready to see our translated content inside Webflow, but remember, Localazy can do much more than just apply machine translation!</p><p>For your translation workflows, Localazy offers three general approaches to choose from and blend to translate your project:</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors: </strong>You can <a href="https://localazy.com/docs/general/translating-strings">start translating on your own</a> and use our built-in suggestion system. You can also <a href="https://localazy.com/docs/general/defining-user-roles">invite contributors</a>, communicate with them via comments, and give them context through the <a href="https://localazy.com/features/glossary">glossary</a> and <a href="https://localazy.com/features/context-screenshots-ocr">screenshots</a>. </li><li>🦾 <strong>Translate everything in bulk via machine translation: </strong>You can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate">running a machine translation over the content</a> as we just did. </li><li>🚩 <strong>Enlist professional human translators using the </strong><a href="https://localazy.com/features/continuous-localization-team"><strong>Continuous Localization</strong></a><strong> services</strong>: Once your Localazy integration is set up, you can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to upload new content and check the progress.</li></ol><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text">There are more nuanced options that you will discover on your localization journey. Localazy enables you to balance the speed of delivery and quality to achieve the sweet spot. You can <a href="https://localazy.com/features/automated-workflows">automate specific tasks</a>, <a href="https://localazy.com/features/connected-projects">connect multiple projects</a> to share their translations and glossary terms, <a href="https://localazy.com/blog/automated-workflows-series-deep-dive-into-filters">use AI to help you spot mistranslated texts&nbsp;</a>and much more.</div></div><h3 id="5-export-translations-back-into-webflow">5. Export translations back into Webflow <a class="markdownit-header-anchor" href="#5-export-translations-back-into-webflow">🔗</a></h3><p>Now, we are ready to export our translations back into Webflow and see our translated website in action. Head back to the Webflow integration overview and check the Languages status. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/image-7.png" class="kg-image" alt loading="lazy" width="908" height="506" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-7.png 600w, https://ghost.localazy.com/content/images/2025/02/image-7.png 908w" sizes="(min-width: 720px) 720px"></figure><p>You can see that the German locale is not present in Webflow. But this is a straightforward fix and the last step before we export our German translations into Webflow. </p><p>Open the Webflow website you connected to Localazy and find the localization settings. Add German (Standard), and save changes.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-8.png" class="kg-image" alt loading="lazy" width="1298" height="1534" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/image-8.png 1000w, https://ghost.localazy.com/content/images/2025/02/image-8.png 1298w" sizes="(min-width: 720px) 720px"><figcaption>Webflow localization settings.</figcaption></figure><p>Now, you can return to Localazy, open the Export to Webflow tab, and start exporting.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-9.png" class="kg-image" alt loading="lazy" width="904" height="624" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-9.png 600w, https://ghost.localazy.com/content/images/2025/02/image-9.png 904w" sizes="(min-width: 720px) 720px"><figcaption>Export of translations from Localazy to Webflow in progress.</figcaption></figure><h3 id="6-check-the-translation-in-webflow">6. Check the translation in Webflow <a class="markdownit-header-anchor" href="#6-check-the-translation-in-webflow">🔗</a></h3><p>Now, head over to the Webflow dashboard. This is how my website looks in English.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-10.png" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/image-10.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/image-10.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/02/image-10.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Webflow website in default English language.</figcaption></figure><p> After switching language to German, you can see the translations in action! </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-11.png" class="kg-image" alt loading="lazy" width="2000" height="1428" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/image-11.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/image-11.png 1600w, https://ghost.localazy.com/content/images/2025/02/image-11.png 2350w" sizes="(min-width: 720px) 720px"><figcaption>Webflow website translated into German wtih Localazy.</figcaption></figure><h3 id="6-maintain-and-update-translations">6. Maintain and update translations <a class="markdownit-header-anchor" href="#6-maintain-and-update-translations">🔗</a></h3><p>This is just a start. Your <a href="https://localazy.com/blog/how-to-automate-translations-when-working-with-evolving-content-to-save-time">website evolves</a>: new content is added, existing content is adjusted, and obsolete content is removed. Webflow localization is an ongoing process. With Localazy, you can easily manage updates:</p><ul><li>When content is modified, Localazy automatically detects changes after import.</li><li>Only new or modified text requires re-translation. To keep the texts in sync, content missing from the import is <a href="https://localazy.com/faq/localazy/what-is-the-difference-between-hidden-and-deprecated-source-keys">marked as deprecated</a> in Localazy.</li><li>Keep track of changes, add new languages, and adjust translations from the Localazy interface.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-12.png" class="kg-image" alt loading="lazy" width="1981" height="1118" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/image-12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/image-12.png 1600w, https://ghost.localazy.com/content/images/2025/02/image-12.png 1981w" sizes="(min-width: 720px) 720px"><figcaption>Translate all your content in one place.</figcaption></figure><h2 id="the-benefits-of-webflow-localization-with-a-tms">🤓 The benefits of Webflow localization with a TMS <a class="markdownit-header-anchor" href="#the-benefits-of-webflow-localization-with-a-tms">🔗</a></h2><p>Now that you know how to get your first results, let's quickly recap the advantages of using a Translation Management System (TMS) like Localazy for Webflow multilingual projects:</p><ul><li><strong>Scalability</strong> – Easily manage translations for large-scale Webflow projects.</li><li><strong>Consistency</strong> – Maintain a <a href="https://localazy.com/blog/linguistic-style-guides-software-localization">unified voice</a> across different languages.</li><li><strong>Cost-effectiveness</strong> – Reduce manual translation work with AI-assisted workflows.</li><li><strong>Time-saving</strong> – Automate content updates and localization processes.</li><li><strong>Collaboration-friendly</strong> – Localazy enables seamless teamwork between content creators, translators, and project managers. Everyone works within a structured workflow, reducing communication bottlenecks.</li><li><strong>Security &amp; access control</strong> – By detaching Webflow from the translation process, Localazy ensures that translators do not require direct access to Webflow’s administration. This prevents accidental changes, enhances security, and allows teams to work independently.</li><li><strong>Streamlined interface for translators</strong> – Instead of navigating Webflow’s design-focused environment, translators work within Localazy’s optimized translation interface. This eliminates distractions and makes the translation process more efficient.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/image-14.png" class="kg-image" alt loading="lazy" width="1575" height="832" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/image-14.png 1000w, https://ghost.localazy.com/content/images/2025/02/image-14.png 1575w" sizes="(min-width: 720px) 720px"><figcaption>Translate your texts with Localazy.</figcaption></figure><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Using Localazy, you can automate content translation, ensure linguistic accuracy, and maintain an organized workflow while localizing your Webflow websites.</p><p>Whether you’re a SaaS company reaching new international customers or a creative agency handling multilingual Webflow projects for clients, Localazy provides the necessary tools.</p><p>With seamless integration, automation, and AI-assisted workflows, Localazy is the perfect solution for businesses looking to expand their global reach. Ready to get started? <a href="/register">Explore Localazy</a> and take your localization strategy to the next level today!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/02/Webflow-How-to-translate-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: Readmio, bringing a screen-free fairytale to children one night at a time]]></title>
            <link>https://localazy.com/blog/readmio-screen-free-stories-for-children</link>
            <guid isPermaLink="false">readmio-screen-free-stories-for-children</guid>
            <pubDate>Fri, 28 Mar 2025 15:20:44 GMT</pubDate>
            <description><![CDATA[Stories are powerful: they can make kids smarter and happier. Learn how the Czech platform Readmio is making this premise a reality for +1M parents and children worldwide.]]></description>
            <content:encoded><![CDATA[<p>Stimuli for children have never been more intense than in the era of smartphones and tablets. <a href="https://pubmed.ncbi.nlm.nih.gov/35430923/">Extensive research has already proven</a> that screen time is affecting their ability to focus on the task at hand, with the infamous <a href="https://theweek.com/health-and-wellness/1025836/tiktok-brain-and-attention-spans">"TikTok brain"</a> becoming one of the culprits. <a href="https://www.cbsnews.com/news/are-attention-spans-getting-shorter-and-does-it-matter/">Things aren't much different for adults</a>, and post-covid challenges <a href="https://www.theguardian.com/education/2023/jun/07/children-attention-span-shorter-covid-crisis-teachers-england-primary">haven't made this easier</a> for either. Today, encouraging kids to let their imagination flow is a challenge for parents worldwide.</p><p>In this new scenario, the Czech <a href="https://www.readmio.com/about">award-winning platform</a> <strong><a href="https://www.readmio.com">Readmio</a></strong> has stood out as a solution to the attention span crisis. <strong>With +1 million downloads and over 6 million stories already read</strong>, it merges the convenience of technology with classic storytelling, offering nearly 500 stories for kids aged 2 to 10 that children and adults can enjoy together in audio and offline format.</p><p>Founded in 2020 by parents who wanted to offer a better storytelling experience to their kids, the app co-created by <strong><a href="https://www.linkedin.com/in/jozef-simko/">Jozef Šimko</a></strong> is changing the way we read to our youngest. Whether you're looking for short tales to wrap up a busy day before bed or interactive activities to engage your child, Readmio has something special for everyone. In this interview, Šimko tells us how the team made this idea a reality and how they use Localazy to offer their content in multiple languages for children and parents all over the world.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Stories.jpg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Stories.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Stories.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Stories.jpg 1600w, https://ghost.localazy.com/content/images/2025/01/Stories.jpg 1920w" sizes="(min-width: 720px) 720px"></figure><h2 id="nurturing-kids-imaginations">✨ Nurturing kids' imaginations <a class="markdownit-header-anchor" href="#nurturing-kids-imaginations">🔗</a></h2><p><strong>Hey Jozef, happy to have you here. 🙂 What is Readmio, and what is the vision behind it? </strong></p><p>Readmio is a digital publisher focused on children's literature. At the heart of the project is a simple mission: to deliver one fairytale a day to every child in the world. </p><p>Some might wonder, why focus on fairytales or stories? The answer lies in the unique power of storytelling. Every story carries a lesson that can teach children something valuable. There are the obvious moral lessons, such as respecting elders or learning proper behavior, but stories can go far beyond that. Through fairytales, we can teach kids about science, physics, math, history, culture, music, ecology, and much more. Stories are an intuitive way for children to grasp even the most complex aspects of life.</p><p>To bring this vision to life, we write stories, enhance them with sounds and music, and package them into a mobile app that’s accessible to everyone. </p><p><strong>How did you decide on the length of the stories?</strong></p><p>We chose to keep them short, around 5 to 10 minutes long. Children enjoy stories that end in one sitting, and many parents don't have a lot of time each night. A quick, 5 to 10-minute tale is often just enough. Of course, if parents have more time, they can choose to read another story. Kids usually ask for more, and it depends on the situation. That's why we offer shorter stories with the option to select more if families want to.</p><p><strong>Can you tell us a little bit about your background and how the idea came to fruition?</strong></p><p>I’ve always been an entrepreneur at heart, starting small businesses even during my university years. Over time, I launched several ventures, including a software company focused on creating mobile applications for clients in Europe and the U.S. That business grew fast from just three people to 150 within seven years. Along the way, we earned several prizes, including being named the fastest-growing company in Slovakia by Deloitte’s Fast 50 and ranking sixth in Central and Eastern Europe. Ernst &amp; Young also recognized us with awards. Around 2018, and after careful consideration, we decided it was the right time to sell.</p><p>Following the acquisition, I stayed with the company that bought us and tried to develop new projects there. However, the slower decision-making processes typical of large corporations made it challenging to innovate effectively. After three years, I decided to start fresh and return to building something of my own.</p><p>This time, I wanted to stay in the mobile industry, which I loved from my previous work. As a new parent, I felt inspired to combine my passion for mobile apps and reading to children. I aimed to create something that facilitated bonding without increasing children’s screen time, especially considering how much time they already spend on YouTube Shorts, games, and the like. The result is an app designed specifically for parents, connecting these two meaningfully. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/Jozef--imko-CEO-3-1.jpg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Jozef--imko-CEO-3-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/Jozef--imko-CEO-3-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/Jozef--imko-CEO-3-1.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/02/Jozef--imko-CEO-3-1.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p><strong>Who are your customers?</strong></p><p>Most of our users are parents, but we don’t know much about them because we don’t collect personal data. We can only guess based on reviews and feedback. About 80% of our users are mothers with kids aged 2 to 10, and the other 20% are fathers reading to their kids. The parents are usually between 24 and 45 years old.</p><p><strong>So, how does it work? I figure you use the app with your own children, so – what can parents expect to find when they launch the app to read a story for their kids?</strong></p><p>The app is designed to offer flexibility, so parents can choose stories based on what they need at the moment. For example, if your child had a tough day and went through strong emotions, you can find a story that helps teach them how to handle those feelings. If your kid is struggling to make friends at kindergarten, there’s a story for that, too. Or, if they’re curious about science (like the moon or planets), you can also find stories to spark their interest. 📖🤩</p><p>The stories are organized in several ways to make it easy for parents. You can browse by age, topic, or specific situations, like bedtime. For bedtime stories, there’s calming music in the background to help children fall asleep peacefully.  Whether it’s about emotions, science, or teaching a lesson, the library has something for every parent’s needs.</p><blockquote>"About 80% of our users are mothers with kids aged 2 to 10, and the other 20% are fathers reading to their kids. The parents are usually between 24 and 45 years old"</blockquote><p>As for me, I use the app differently depending on my kids’ ages. My youngest, who’s three and a half years old, enjoys it when we read her stories from the app and also listens to stories I pre-record. My older kids, aged 10, 12, and 14, are at different stages. Sometimes, they ask for a Readmio story, and other times, my son (12) reads stories from the app to his younger sister (10), which is amazing to see. </p><p><strong>Can the app be used offline? Also, do you think this kind of technology might replace physical books, or is it more like the case with e-books, where physical books still hold their place?</strong></p><p>Yes, the app works offline. Once you download a story, you don’t need an internet connection to read or play sounds. This is great for traveling or being in places without Wi-Fi, like a cottage. Plus, everything stays on your device — your voice and data are never sent to servers. The voice recognition system works entirely on your phone, transcribing what you say into text and matching it in real time with the text on the screen. When it finds a match, it triggers the corresponding sound.</p><p>I don’t think technology like this will ever replace physical books. There’s something special about holding a book and flipping through its pages. This app is more of a companion to books, not a replacement. For example, it’s perfect when you don’t have a new book or when you’ve read the same story countless times. With hundreds of stories on different topics, the app makes it easy to explore something fresh. It’s also convenient for trips since you don’t need to pack a pile of books.</p><p>We have even launched our first printed book that works with the app. You can read from the physical book while the app plays sounds or interacts with the story. We’re also partnering with publishers to bring this feature to more books, combining reading with the added dimension of sound.</p><blockquote>"I don't think technology like this will ever replace physical books. There’s something special about holding a book and flipping through its pages.  The app is more of a companion, not a replacement [...] We're even working on pairing physical books with the app"</blockquote><p><strong>Privacy is important for parents with young children. How do you handle it? Can you expand on how your voice recognition system stores data – does it identify who is reading, for instance? </strong></p><p>The app’s voice recognition system doesn’t store or analyze anything beyond what’s necessary for transcription. It doesn’t record or save the voice’s tone or timbre, so it doesn’t identify who is reading. Whether it’s a parent or a child, the system only transcribes the words being spoken. All processing happens entirely in the device’s memory, and nothing is stored or sent anywhere else, guaranteeing complete privacy.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Handheldphone.png" class="kg-image" alt loading="lazy" width="2000" height="2071" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Handheldphone.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Handheldphone.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Handheldphone.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/01/Handheldphone.png 2400w" sizes="(min-width: 720px) 720px"></figure><p><strong>One of the unique features of Readmio is that it doesn't include illustrations or visual stimuli. Why did you choose this approach?</strong></p><p>We purposely decided not to include illustrations in the stories. When parents read from a phone or tablet, the text alone (without any pictures) deliberately draws less attention from children. We want them to focus on the parent’s voice, the sounds, and the music, which is the core of the experience. </p><p>When children watch videos or animations, they don't use their imagination much because everything is provided for them. But when they listen, their imagination takes over. 🌈 They picture the characters, the scenes, and everything in the story. That’s why we left out illustrations in the stories. While there are images to help parents and kids choose what to read, the goal is to keep them engaged with the audio experience, not by looking at a screen.</p><p><strong>In this overly visual world, do you think kids’ imaginations are in danger?</strong></p><p>I think we’ve had big problems in the last five years, maybe longer, with children spending too much time scrolling on social media and getting lots of visual stimulation from games. This could make it harder for them to imagine things in the future. But more than that, kids’ attention spans are getting shorter.</p><blockquote>"We purposely decided not to include illustrations in the stories. When parents read from a phone or tablet, the text alone deliberately draws less attention from children. We want them to focus on the parent's voice, sounds, and music"</blockquote><p>They’re having trouble focusing because there are so many distractions. Everything moves fast, and when you scroll, you don’t really pay attention. This is becoming a big issue for kids. It’s not just about imagination but about being able to concentrate. I’ve noticed it with my own kids. My older son has a harder time paying attention now. We didn’t limit phone use before, but now we have because we’ve seen how it affects them.</p><h2 id="the-business-of-storytelling">🧑‍💼 The business of storytelling <a class="markdownit-header-anchor" href="#the-business-of-storytelling">🔗</a></h2><p><strong>Let's talk about funding. How is Readmio funded, and what’s your current runway?</strong></p><p>We started the project using our own money. With that, we developed a minimum lovable product (MLP) and launched it on Google Play and the App Store as a free, basic app. While it wasn’t perfectly polished, it did the job and included some nice illustrations. Then we released it to test whether there would be demand for the product or if it was a bad idea. We ended up with 50,000 downloads and nearly all five-star ratings, which proved there was interest. That’s when we decided to take it seriously and turn it into a startup.</p><p>Originally, it was just a hobby project for our own kids, with no plans to build a company. But after the positive response, we decided to move forward. We reached out to six venture capital funds, and one of them decided to invest. Since then, we’ve done another two rounds of funding. Our current runway is about 12 to 13 months, depending on spending, growth, and our strategy.</p><p><strong>What would you say are the biggest risks and challenges for your company?</strong></p><p>The biggest challenge for our company is fighting for the customers' attention. Today, there’s so much advertising everywhere – even with a great product and mission, we still have to work hard to grab the prospects' attention. For any consumer-focused business, user acquisition is always a major challenge. As a startup, we don’t have big budgets for ads to increase brand awareness or attract users, so we have to be smart and cost-effective in our approach. Finding ways to do this efficiently is quite tough.</p><p><strong>How does the team at Readmio look like, and how do you select your expert pool to craft the stories?</strong></p><p>The core team at Readmio consists of 11 people, including engineers who develop apps and servers, a product designer, a sound engineer, and two colleagues who handle content preparation and marketing. In addition to our internal team, we collaborate with a much larger group of external experts. These include educators, teachers, editors, and native speakers in the countries where we operate, such as Brazil, Poland, and Germany. We work with psychologists and teachers to make sure that our content is educational and effective.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/02/Readmio-team.jpg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Readmio-team.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/Readmio-team.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/Readmio-team.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/02/Readmio-team.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>The core Readmio team.</figcaption></figure><p>The external team helps create not just stories, but also additional features like <a href="https://www.instagram.com/p/C50I9XkrQnQ/">quizzes and activities</a>. For example, after reading a story, parents can test their child’s comprehension by asking quiz questions. This feature is already used in over a thousand schools. Teachers also prepare <a href="https://eshop.readmio.com/collections/worksheets?filter.p.m.custom.language=English&amp;sort_by=best-selling">printable activity sheets</a> that help kids learn with hands-on exercises, like coloring or working with 3D paper. </p><p><strong>In which fields are you innovating? Any future features you can tease?</strong></p><p>One of the big recent updates for Readmio was our recommendation engine. Based on your reading history, the app suggests stories for you to try next. For example, if you've read several stories about emotions, it may recommend you another one about the same topic. If you're reading a series, it recommends the next part of that series, and so on. Importantly, all of this happens offline, without any data being sent to servers.</p><p>Another planned update we are working on right now is profiles, in which we'll introduce new motivational badges and challenges, as well as reading streaks. 📚🏆 We're also adding playlists to let you play a set of recorded stories in any order. Our roadmap is packed with more features, and once we’ve made sure users are happy with the basics, we plan to introduce even more exciting ideas.</p><blockquote>The core team at Readmio includes engineers, designers, and content specialists. In addition, the startup collaborates with a large pool of external experts that help them craft their educational content: from educators and teachers to editors and psychologists</blockquote><p><strong>What does success look like for Readmio, and what are your long-term goals for the company?</strong></p><p>I co-founded a company that grew to 150 people, and it was a lot of travel and nonstop work. Now, with Readmio, I enjoy the complete opposite: working with a small team of just 11 people. I love the flexibility of developing our product from home, and I’d like to keep it that way, without needing to expand or travel much. </p><p>In terms of success, I’d consider reaching 100 million in revenue a big milestone. Once we hit that, I’d be confident in saying Readmio has truly succeeded.</p><p><strong>How do you think the industry of education technology will look like in the next few years?</strong></p><p>Edtech <a href="https://www.holoniq.com/edtech-in-10-charts">will continue growing</a> and become a bigger part of both education and entertainment. We’ll see new tools that offer personalized learning experiences, like language learning or other subjects. While we’ve experimented with AI tools like GPT, I’m not sure yet how we’ll use them for things like storytelling. At Readmio, we focus on creating stories by hand, written by real people. ✍️ There's a clear difference between AI-generated content and stories written with care.</p><p>One thing I’m certain of is that technology will never replace the physical presence of a parent reading to their child. While AI can read a story, it can’t replace the bond and interaction that come from a parent’s voice and presence. That personal connection will always be important.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/01/Co-founders-2.jpg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Co-founders-2.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Co-founders-2.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Co-founders-2.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/01/Co-founders-2.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Readmio's co-founders. From left to right, Jozef Šimko, Ilya Novodvorskiy, Radoslav Rajčan, and Erik Nota.</figcaption></figure><h2 id="localizing-children-stories">🗺️ Localizing children stories <a class="markdownit-header-anchor" href="#localizing-children-stories">🔗</a></h2><p><strong>We're happy you're using Localazy to bring your stories to children globally. 🙂 In how many languages are they currently available?</strong></p><p>We started by testing in Czech and Slovak since it was easy to manage and gather user feedback for these small markets. After seeing positive results, we expanded to other languages. Now, the app is available in eight languages, including English, Spanish, Portuguese, Italian, German, and Polish. We’re planning to add more, possibly Hindi, Chinese, or French.</p><p>When choosing new languages, we consider factors like market size, economic strength, and cultural aspects. For example, we look at whether reading to children is common in that culture, or if parents have time to do it. We also consider practical things, like whether we can find team members who understand the language. For now, we're not focusing on languages that are too different from our own, like Indian or Chinese, but we may explore those as we grow.</p><blockquote>Readmio is currently available in eight languages: English, Spanish, Portuguese, Czech, Slovak, Italian, German, and Polish. Hindi, Chinese, and French could be the next additions</blockquote><p><strong>Have you localized your product for different locales, like Brazilian Portuguese and European Portuguese?</strong></p><p>That's a good question. We haven't done that right now, but we plan to do it later. It's not a top priority at the moment. When we looked at the most spoken languages in the world, we saw that Portuguese was important, but <a href="https://localazy.com/blog/unlocking-the-brazilian-market-the-importance-of-accuracy-in-english-to-brazilian-portuguese-translation/">we chose Brazilian Portuguese for now</a> because Brazil has a much larger population — around 200 million people compared to Portugal, where only about 10 million speak Portuguese. </p><p>Similarly, with Spanish, we focused on markets with large populations and strong family bonds, like in Brazil. So, for now, Brazilian Portuguese was the logical choice, but we may add Portugal Portuguese in the future.</p><p><strong>Why did you decide to localize your product, and why did you choose Localazy?</strong></p><p>Originally, the app’s translations were hardcoded in iOS and Android because we only had two languages. But as we added more languages, it became clear we needed a tool to manage all the translations and coordinate the team. After looking at a few options, we chose Localazy for several reasons. <a href="https://localazy.com/pricing">The pricing</a> is great for startups, and the features are exactly what we need, with new ones <a href="https://localazy.com/tags/release-update/">being added regularly</a>. I also read positive articles about you, which gave us confidence. And we’re not planning to switch anytime soon.</p><p><strong>Did you have any previous experience with localization before Localazy? </strong></p><p>Our localization process was quite manual before using Localazy. Initially, we only had two languages, so the translations were hardcoded directly into the iOS and Android apps. 👀 As we expanded to more languages, it became difficult to manage all the translations and coordinate the work. </p><p>The growing number of languages meant we needed a better solution. We faced challenges tracking translations, maintaining consistency, and managing a larger team, which made it clear we needed a dedicated tool like Localazy.</p><blockquote>"As we added more languages, it became clear we needed a tool to manage all the translations and coordinate the team. [...] We chose Localazy for several reasons: the pricing is great for startups, and the features are exactly what we need, with new ones being added regularly"</blockquote><p><strong>Do you have an internal localization team? What does the process of implementing a new language or translating new stories look like?</strong></p><p>We have a colleague who handles translations, though she’s not a dedicated localization manager. As a small company, she takes care of it alongside other tasks. </p><p>We use Localazy in two ways. Sometimes we only need a few things translated, so we reach out to our translators outside of Localazy, often through Slack, for a quicker turnaround. For major updates with a lot of new content, the translators access the strings directly in Localazy, and we review and approve them before they’re finalized.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/Three-photos-transparent.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/Three-photos-transparent.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/Three-photos-transparent.png 1000w, https://ghost.localazy.com/content/images/2025/02/Three-photos-transparent.png 1200w" sizes="(min-width: 720px) 720px"></figure><p><strong>What is your favorite Localazy feature, and why?</strong><br>I spend a lot of time in Localazy, so I'd say <a href="https://localazy.com/features/machine-translation/">the automatic translations are really useful</a>. They help us quickly choose the best translation and save time during the process. </p><p><strong>Are there any markets or languages you're planning to add soon?</strong></p><p>We originally planned to take a break from adding new languages after translating everything into five new tongues. It was a lot of work, and we needed time to focus on other things, especially content. However, it's been a year since we included new languages, and now we're thinking about adding Hindi, Mandarin, or Arabic. These are large markets with many speakers.</p><p>We have also considered <a href="https://localazy.com/blog/localization-for-the-indian-market-how-to-reach-users-from-the-most-populated-country-on-earth/">other languages from India</a>, like Punjabi and Urdu. We recently did some research and selected potential Indian languages. I even presented at a competition in Beijing about entering the Chinese market, but we haven't made a final decision yet. Let's see what happens. </p><h2 id="get-featured-on-the-localazy-blog">🥇 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>If you enjoyed reading through this interview and have a similar story as a Localazy user that you would like to share, feel free to let us know. We would love to hear how your business was founded and how it became an international success with the help of localization.</p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/02/Localazy-Interview-Readmio.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 10 Directus CMS extensions]]></title>
            <link>https://localazy.com/blog/top-10-directus-cms-extensions</link>
            <guid isPermaLink="false">top-10-directus-cms-extensions</guid>
            <pubDate>Thu, 28 Aug 2025 19:00:41 GMT</pubDate>
            <description><![CDATA[With a fantastic UI and numerous features that give you endless customization options, Directus has stolen the hearts of many already. But these 10 extensions make it even better. ]]></description>
            <content:encoded><![CDATA[<p><a href="https://directus.io/"><strong>Directus</strong></a> is a popular, open-source, headless CMS loved by developers, marketers, founders, and product managers for its flexibility. It offers an easy-to-use platform for both technical and non-technical users who need to manage their digital content. </p><p>One of its key strengths is <strong>its ability to work with any SQL-based database</strong>, giving you full control over your data while staying adaptable to various needs. It also helps bridge the gap between software engineers and non-technical users by offering custom user interfaces and managing and delivering content across any platform or device.</p><p>This article will explore some extensions available on the <a href="https://localazy.com/dictionary/directus-cms">Directus platform</a> so you can modify and expand your favorite functionalities to meet any specific needs. But first, let's look at some of the prerequisites you'll need to check off the list before you get started. ✅</p><blockquote>Looking to localize your Directus content? Then take a look at <a href="https://localazy.com/blog/guide-to-directus-localization-with-localazy?srsltid=AfmBOoqrTl0VRosjXHQVNwJGWwThG2gmD1g7CUGSDtjeWy5PVcPbBZUR">our detailed guide</a> to learn more</blockquote><h2 id="prerequisites">📋 Prerequisites <a class="markdownit-header-anchor" href="#prerequisites">🔗</a></h2><p>Before you can use extensions to modify our project, <strong>the first prerequisite is to create a project on Directus</strong>. You can do this through three different methods:</p><ul><li>Directus Cloud,</li><li>installation via Docker,</li><li>or NPM installation.</li></ul><p>We recommend Docker installation because certain dependencies may result in errors when using other methods to install. In contrast, Docker eliminates all environment-specific setbacks beforehand.</p><h3 id="docker-installation">Docker installation <a class="markdownit-header-anchor" href="#docker-installation">🔗</a></h3><p>Install <a href="https://docs.docker.com/engine/install/">Docker</a> on your computer. Then you'll need to make sure the Docker daemon is active. </p><p>Within a new project file, open up the terminal and run the code snippet:</p><p><code>Docker run -p 8055:8055 -e SECRET=our-secret-value directus/directus</code></p><p>The code will run the Docker command to start a new container with a port mapped to <strong>8055</strong>.</p><p>The command <code>-e SECRET=secret-value</code>  sets an environment variable named <strong>SECRET</strong> inside the container, while <code>directus/directus</code> specifies the official Directus image to pull from Docker Hub.</p><p>The initial admin email address and password show in the CLI as below. The Directus dashboard can be accessed at<a href="http://localhost:8055/"> http://localhost:8055/</a></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/01/E2D4BAE7-AB7B-4140-B8B0-53BC5E1A184A_4_5005_c.jpeg" class="kg-image" alt loading="lazy" width="1246" height="78" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/E2D4BAE7-AB7B-4140-B8B0-53BC5E1A184A_4_5005_c.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/E2D4BAE7-AB7B-4140-B8B0-53BC5E1A184A_4_5005_c.jpeg 1000w, https://ghost.localazy.com/content/images/2025/01/E2D4BAE7-AB7B-4140-B8B0-53BC5E1A184A_4_5005_c.jpeg 1246w" sizes="(min-width: 720px) 720px"><figcaption>Initial admin setup.</figcaption></figure><h3 id="create-a-collection">Create a collection <a class="markdownit-header-anchor" href="#create-a-collection">🔗</a></h3><p>The next step is to create a new collection within your project. Once logged in, follow the steps below:</p><ol><li>Click the <em><strong>Create Collection</strong></em> button, and a side menu will appear.</li><li>For the purpose of the demonstration, we will use the name <strong><em>Book</em> </strong>because we intend to develop a data model for books when we are finished.</li><li>Leave the other options at default. Click the forward arrow and the <strong><em>Optional</em> <em>Fields</em></strong> menu will open. Keep the values in this menu at default, toggled off.</li><li>Click the check in the menu header.</li></ol><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfN3NfZcjyok4YFwK6UpxgeliYmsGkzloUo3shfnGZ7JxGHSOAVKJAIDVOh8BT2ZwIr-oy8XDDVZ9mukE25Aqfv4IO_bPnutoXujDCHNxEel4umJDIWiHd6uTPnZmlr6PmfZmjo?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><p>5. We will add three additional fields for this data model: <strong>title</strong>, <strong>author</strong>, and <strong>summary</strong>. Click on the <strong><em>Create Field</em></strong> button, select the input field type with a key of <strong>title</strong>,<strong> </strong>and then save.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/unnamed--1-.jpeg" class="kg-image" alt loading="lazy" width="1600" height="1556" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/unnamed--1-.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/unnamed--1-.jpeg 1000w, https://ghost.localazy.com/content/images/2025/01/unnamed--1-.jpeg 1600w" sizes="(min-width: 720px) 720px"></figure><p>6.  Repeat step 5 for the <strong>author </strong>and <strong>summary </strong>fields.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcOlQSOxFhagjrSNmcZYg-LfDZ_tWvzJuRKcAWqFuBxztSUHi0qC5HJxzS0Q2Uunghaf-5WMwXKxgn9v5R4OTQwPWxJ6bdobUHwjr7W8nPWlMYJcB2DKI-4dl6gDsKCHJsFA6hRGA?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><p>Now we have our model upon which we will create content. 🎉</p><p>Switch to the content menu and add a new book item. From here on, we're ready to install our favorite extensions as well.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf7xI1wgjZXTnFbbLjgO-ds-qeexRgjsaeCfuSRbUJrb0WaTVSmrv1aKimpbDP6V5CCFhjH7BrIOMpWiTMaZQI-9pKz98uBZTsTN-8m52TbaYY23TN_wQ-AQw21tusq7Ftbz_nDVg?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"><figcaption>All set to add items to your collection.</figcaption></figure><h2 id="our-recommendations">✍️ Our recommendations <a class="markdownit-header-anchor" href="#our-recommendations">🔗</a></h2><h2 id="1-save-and-stay-button">1. Save and Stay Button <a class="markdownit-header-anchor" href="#1-save-and-stay-button">🔗</a></h2><p>The <strong>Save and Stay </strong>extension offers a button interface that executes a command that saves content and then remains on the same page when clicked.</p><h3 id="installation">Installation  <a class="markdownit-header-anchor" href="#installation">🔗</a></h3><p>The extension can be installed <a href="https://directus.io/toolkit/marketplace">via the marketplace</a>:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-3.46.11-PM.png" class="kg-image" alt loading="lazy" width="1980" height="808" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Screenshot-2025-01-08-at-3.46.11-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Screenshot-2025-01-08-at-3.46.11-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Screenshot-2025-01-08-at-3.46.11-PM.png 1600w, https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-3.46.11-PM.png 1980w" sizes="(min-width: 720px) 720px"></figure><p>Alternatively, it can be installed through npm:</p><p><code>npm i @quickifyai/directus-extension-save-and-stay-button</code></p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcrbZf2VCa5zr0nD9I1YryzurJgDcc6qGxEiC-AS_xPoI5-7R8EqMC4mU4dJ9fJjwLU55zuTGhKh1i4SyJk29ln3uQ0LbSeLY3tryH0hLCqESZw4_l2Ibwc1BpQTWOF9gVn8WPfiw?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><h3 id="configuration">Configuration <a class="markdownit-header-anchor" href="#configuration">🔗</a></h3><p>Head to the settings and click on the data model <strong>Book </strong>in the collection that we initially created. </p><p>Now create a field in advanced mode: select <strong><em>Presentation and Aliases</em></strong>, and in the interface section, select the <strong><em>Save and Stay</em></strong> button.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/unnamed--5-.jpeg" class="kg-image" alt loading="lazy" width="1261" height="685" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/unnamed--5-.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/unnamed--5-.jpeg 1000w, https://ghost.localazy.com/content/images/2025/01/unnamed--5-.jpeg 1261w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf0b7zPAz12_Y-Ibj0DMhWT7Yd47DJYh03yCPy4-02JL6AaEgdT818L6VFXI8HpS9Rl4hpR6-7a6SY7mJDxbwGK6pHZqwoinNxQBORWr9rRabCkG8sHQ4nMRCFQEmgV-RsSUdKT?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><p>Fill in the label to save and stay, search for the save icon, and select a type based on the color of the button you prefer.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/unnamed--7-.jpeg" class="kg-image" alt loading="lazy" width="1546" height="882" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/unnamed--7-.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/unnamed--7-.jpeg 1000w, https://ghost.localazy.com/content/images/2025/01/unnamed--7-.jpeg 1546w" sizes="(min-width: 720px) 720px"></figure><p>Return to the content tab. If any modifications are made to the item in the collection, the Save and Stay button will become active. If you click on this button, you¡ll save the modifications while remaining on the same item.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/unnamed--8-.jpeg" class="kg-image" alt loading="lazy" width="1600" height="1042" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/unnamed--8-.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/unnamed--8-.jpeg 1000w, https://ghost.localazy.com/content/images/2025/01/unnamed--8-.jpeg 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="2-pdf-viewer">2. PDF Viewer <a class="markdownit-header-anchor" href="#2-pdf-viewer">🔗</a></h2><p><strong>PDF Viewer</strong> is a custom field interface available in the Directus Marketplace. It allows users to preview PDF files directly within the Directus administration panel.</p><h3 id="installation">Installation <a class="markdownit-header-anchor" href="#installation">🔗</a></h3><p>Go to the marketplace and install the extension:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-3.50.32-PM.png" class="kg-image" alt loading="lazy" width="1956" height="770" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Screenshot-2025-01-08-at-3.50.32-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Screenshot-2025-01-08-at-3.50.32-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Screenshot-2025-01-08-at-3.50.32-PM.png 1600w, https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-3.50.32-PM.png 1956w" sizes="(min-width: 720px) 720px"></figure><h3 id="configuration">Configuration  <a class="markdownit-header-anchor" href="#configuration">🔗</a></h3><p>Create a new field for storing PDFs from our <strong>Book collection</strong>, set the data type to <strong><em>File</em></strong>, and save the file with the key set to pdf.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeI7-utSp1Tf9xiIEGofupwy-i1sWkF01I7-DQmD8cLwhqwjTts6_MqtUjZeTkObHVeE2TgVlN65MK8w6A2xJCPq0xJFsaL1RxVaYKtT0BU2SMMOFR-nNSA-iP6hX_xHf6da1GdQQ?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><p>In the following step, you will need to create another field using the advanced mode. Select <em><strong>Presentation and Aliases</strong></em>. The key for the schema should be <strong>pdf_viewer</strong>, and the interface should be set to PDF Viewer. For the interface, select the <strong><em>PDF</em></strong> field, and then fill in the button label as shown below.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdX5KzSNvsxvKYVmMGkBOPV11lTM8nvj6AXAvkgY11x-fAOva6ioJzj0xumBrHYSMERGA8sh5Yb24AzJStwTNp7u8W_CCL8uPGBTlQ8t_6VNtqSS3aNQIH5BHnZZDfC_cq7LST6?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><p>Save this and you should get a data model as this:</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd8LBKpwfHMRSS5n-hOxyGzIQ7H7Pdhf5FahPyQlrqX-XSaxPkzjl0dpoae1JKpQt_Yq-F4gMbzN7deKvG32WaVJ4WxI4vyibK0mLfudfMOWdIRFlSPDIvB5Cd60GYy6DCY0m6W7g?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><p>To view the PDF file within the admin dashboard, you will need to return to the content tab, choose a file, and then click on the <strong><em>Open PDF</em></strong> button.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe0FF56a-F6-K9AcftKsbRLz5S_deLO003mmsxYWhSJ-SIaFy65ggwog0LoQKQ1BqWc8yGpCRDREnO7oEjXZudoB-RxYoEHmK2UPpL1PadAKSe7D0bwv6aHjt0VX-bf_xys89OS?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><h2 id="3-url-preview">3. URL Preview <a class="markdownit-header-anchor" href="#3-url-preview">🔗</a></h2><p>This extension allows you to seamlessly preview URLs and display their content in a fullscreen dialog, letting you interact with web content. A browser-like interface that is embedded within the extension allows you to view and edit your Google Spreadsheets directly, making it much simpler to manage your documents without having to leave the extension.</p><p>The extension is especially useful for content editors, since it allows them to visualize a summary or visual representation of a link without having to leave the CMS.</p><h3 id="installation">Installation  <a class="markdownit-header-anchor" href="#installation">🔗</a></h3><p>Look for the extension on the Directus marketplace:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-3.51.37-PM.png" class="kg-image" alt loading="lazy" width="1962" height="806" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Screenshot-2025-01-08-at-3.51.37-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Screenshot-2025-01-08-at-3.51.37-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Screenshot-2025-01-08-at-3.51.37-PM.png 1600w, https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-3.51.37-PM.png 1962w" sizes="(min-width: 720px) 720px"><figcaption>URL Preview</figcaption></figure><p>You can also install it via npm:</p><p><code>npm i directus-extension-url-preview-interface</code></p><h3 id="configuration">Configuration <a class="markdownit-header-anchor" href="#configuration">🔗</a></h3><p>Create a new field using the presentation<em> <strong>field type</strong></em> in our <strong>Book </strong>collection.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/unnamed--14-.jpeg" class="kg-image" alt loading="lazy" width="1512" height="816" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/unnamed--14-.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/unnamed--14-.jpeg 1000w, https://ghost.localazy.com/content/images/2025/01/unnamed--14-.jpeg 1512w" sizes="(min-width: 720px) 720px"></figure><p>After choosing <strong><em>URL Preview</em></strong>, save the key as an Excel viewer. Then enter the URL of the Excel sheet in the <em><strong>URL </strong></em>field. You will find configuration options like width and height, which can be defaulted, and a checkbox to allow editing while previewing.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdbhbTKjSrMOM62zy-lE6JT_FxllSLDKUzSzzNnFlU0__ukxtPZggPveSV9MCUvAO23ILxGZabKWYbcmMUOdseFSKhYhgDAZ0DLV5b9kizAS8a_Pg-Znc7HCHiyNE4nv55_15oWfg?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><p>Return to the content tab to view the Excel sheet preview. The sheet can now be edited within this preview because it was checked within the configuration.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcLbvlq_puovMoh9qeycOv7W5Yn-WVILtK6052ry-DGHoR4w-InXXTIRW8g-rTq2d2rA22MTe35P4HNC04inNXWdxOOZc1hToETxZFErFQ8LSeH16MHn350VvIK60uztlXazYdtyA?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><h2 id="4-gantt-chart-layout">4. Gantt Chart Layout <a class="markdownit-header-anchor" href="#4-gantt-chart-layout">🔗</a></h2><p>The <strong>Gantt Chart Layout</strong> extension can be used with collections that have a <strong><em>start date</em></strong> and an <strong><em>end date</em></strong> field. These items are then displayed in a Gantt chart.</p><h3 id="installation">Installation <a class="markdownit-header-anchor" href="#installation">🔗</a></h3><p>You'll find the extension on the marketplace:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-3.54.35-PM.png" class="kg-image" alt loading="lazy" width="1956" height="826" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Screenshot-2025-01-08-at-3.54.35-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Screenshot-2025-01-08-at-3.54.35-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Screenshot-2025-01-08-at-3.54.35-PM.png 1600w, https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-3.54.35-PM.png 1956w" sizes="(min-width: 720px) 720px"></figure><h3 id="configuration">Configuration <a class="markdownit-header-anchor" href="#configuration">🔗</a></h3><p>Create two fields of the <strong><em>datetime </em></strong>type in the book model, including <strong>startDate</strong> and <strong>endDate</strong> as the keys for each field.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfD_EIlEw3qHDkx3M8aFPITXj8B0gBVyP8_IMWTPrM_-pmU88ok4CNfpAh-L7EJcAbmuW5Qj5vYVop-YBb1PvMtT22-DU1iAaNl2EadPOy2lP7maC3qBbsT9nBq4o39WnwollRG?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><p>You must fill out these fields to establish the timeline and plot the graph of the content. Keep in mind that you'll need to go to the <strong><em>Content</em></strong> tab to change the start and end dates of each book item. When you look at the layout options, you should check that the table is the default layout for the content.</p><p>If the extension has been installed correctly, you should be able to see the Gantt Chart option on the <strong><em>Layout </em></strong>dropdown menu. Select this option.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-02-at-1.29.37-PM.jpeg" class="kg-image" alt loading="lazy" width="2000" height="635" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Screenshot-2025-01-02-at-1.29.37-PM.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Screenshot-2025-01-02-at-1.29.37-PM.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Screenshot-2025-01-02-at-1.29.37-PM.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/01/Screenshot-2025-01-02-at-1.29.37-PM.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>To obtain a valid chart timeline, make sure that the <strong>start date</strong> is set earlier than the <strong>end date</strong>. Additionally, the <em><strong>Label</strong></em> field can be updated to include the book titles.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeYtJwulxkzXq5N4gd7YIKm-loa9LIDh9_TyjDrxJUdAzXOJ3VnND571AAVmJRPa7nsij8mhk34eUhAx4DxbjegbnogcNfcxwJ20np4cf-1MdgpyQ3uxd5dH6t9xVSUJc8xdlVT?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><h2 id="5-calculated-fields-bundle">5. Calculated Fields Bundle <a class="markdownit-header-anchor" href="#5-calculated-fields-bundle">🔗</a></h2><p>Directus' <strong>Calculated Fields Bundle</strong> is an extension that allows you to define fields whose values are automatically computed based on the values of other fields in the collection where they are contained. This is especially helpful when you want to create dynamic fields, like totals and concatenations, without having to manually update them.</p><h3 id="installation">Installation <a class="markdownit-header-anchor" href="#installation">🔗</a></h3><p>The extension can be installed via the marketplace:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-3.56.43-PM.png" class="kg-image" alt loading="lazy" width="1948" height="884" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Screenshot-2025-01-08-at-3.56.43-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Screenshot-2025-01-08-at-3.56.43-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Screenshot-2025-01-08-at-3.56.43-PM.png 1600w, https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-3.56.43-PM.png 1948w" sizes="(min-width: 720px) 720px"></figure><h3 id="configuration">Configuration <a class="markdownit-header-anchor" href="#configuration">🔗</a></h3><p>As part of the book collection, we will create an integer-type <strong><em>Price</em></strong> and <strong><em>Quantity </em></strong>field. The sales price of a book item will be determined by concatenating these fields. Then we will create a third field, which will be referred to as the <strong><em>Sales Price</em></strong>. </p><p>This will be the field that is automatically calculated. It should be created in advanced mode with the key name <strong>salesPrice</strong>. Next, choose the calculated interface. Our formula will concatenate the text for <strong><em>Sales Price</em></strong> with the formula for calculating <strong><em>Sales Price</em></strong>, which is <strong><em>Price</em> </strong>multiplied by <strong><em>Quantity</em></strong>.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc1E31Lu1bK1jEJI_OUjndojTrcXjghlghOjEd0jNwXZxGStRXw933wtJ3BUdE0Pbl7A-HFex-Him31IDac0rB0iDSYohzbrO5m6h09n_G3lMFvZRpDSS0BUaq6FbVF8XknsRbm?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><p>Save this model and navigate back to the content to edit the item. We can now see that the <strong><em>Sales Price</em></strong> changes based on the values of the <em><strong>Quantity</strong> </em>and <strong><em>Price</em></strong>, as seen below:</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc2DImU84nowBVMo6uW_I86du9cn6kxaT3GDF_UIHooGD3oiO7mDSxR7-9-8QBLlIL5ixV_7MHvEwNTNU8T734UD4lCJLx-XPkNOIyseK0Gk3tq0K1P6F0d6-FoJfj3LdAllh9YmA?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><h2 id="6-editable-layout">6. Editable Layout <a class="markdownit-header-anchor" href="#6-editable-layout">🔗</a></h2><p>The <strong>Editable Layout</strong> extension allows you to edit item fields directly during the inline editing process.</p><h3 id="installation">Installation <a class="markdownit-header-anchor" href="#installation">🔗</a></h3><p>Go to the marketplace to find and install it:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-4.00.09-PM.png" class="kg-image" alt loading="lazy" width="1948" height="776" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Screenshot-2025-01-08-at-4.00.09-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Screenshot-2025-01-08-at-4.00.09-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Screenshot-2025-01-08-at-4.00.09-PM.png 1600w, https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-4.00.09-PM.png 1948w" sizes="(min-width: 720px) 720px"></figure><h3 id="configuration">Configuration <a class="markdownit-header-anchor" href="#configuration">🔗</a></h3><p>After selecting the <strong><em>Content </em></strong>tab, you should see the editable option on the <em><strong>Layout </strong></em>dropdown menu. This indicates that the extension has been installed correctly. When you select this option, you will be able to view the inline editing functionality of the book item's content.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/unnamed--18-.jpeg" class="kg-image" alt loading="lazy" width="1600" height="465" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/unnamed--18-.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/unnamed--18-.jpeg 1000w, https://ghost.localazy.com/content/images/2025/01/unnamed--18-.jpeg 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="7-month-picker">7. Month Picker <a class="markdownit-header-anchor" href="#7-month-picker">🔗</a></h2><p>The <strong>Month Picker </strong>extension allows you to choose a particular month and year. This extension is typically included as a component of a custom interface extension. Applications that require data entry or filtering by month, such as budget planning, report writing, or scheduling, can benefit from this feature.</p><h3 id="installation">Installation <a class="markdownit-header-anchor" href="#installation">🔗</a></h3><p>You can install the extension via the Directus marketplace: </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-4.01.33-PM.png" class="kg-image" alt loading="lazy" width="1954" height="776" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Screenshot-2025-01-08-at-4.01.33-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Screenshot-2025-01-08-at-4.01.33-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Screenshot-2025-01-08-at-4.01.33-PM.png 1600w, https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-4.01.33-PM.png 1954w" sizes="(min-width: 720px) 720px"></figure><h3 id="configuration">Configuration <a class="markdownit-header-anchor" href="#configuration">🔗</a></h3><p>Within the book model, scroll to the selection group and choose the <strong><em>Month Picker </em></strong>option from the list of available options.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/unnamed--1--1.jpeg" class="kg-image" alt loading="lazy" width="1482" height="994" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/unnamed--1--1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/unnamed--1--1.jpeg 1000w, https://ghost.localazy.com/content/images/2025/01/unnamed--1--1.jpeg 1482w" sizes="(min-width: 720px) 720px"></figure><p>Create a field with the <strong>Datetime</strong> type and the key <strong>purchasedDate</strong>. Go to the content tab and use the month picker item to choose the purchase period.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXceyTLbGLsvSEvxZ8cGoCJpu1vA8pFPGicCtMA4zoYJCAgysJ_uXaWkLZzalqhx0yrQp1-I_GmOt3q5GqZRBZlFqvnoOMNYdzd-6BUy9sWDZIJ6g0YDjdVl9TTmvVvKspUhwTBo?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><h2 id="8-spreadsheet-layout">8. Spreadsheet Layout <a class="markdownit-header-anchor" href="#8-spreadsheet-layout">🔗</a></h2><p>The <strong>Spreadsheet Layout</strong> extension allows you to edit item fields directly inline, similar to a spreadsheet.</p><h3 id="installation">Installation <a class="markdownit-header-anchor" href="#installation">🔗</a></h3><p>It can be installed via the marketplace:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-4.03.59-PM.png" class="kg-image" alt loading="lazy" width="1948" height="772" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Screenshot-2025-01-08-at-4.03.59-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Screenshot-2025-01-08-at-4.03.59-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Screenshot-2025-01-08-at-4.03.59-PM.png 1600w, https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-4.03.59-PM.png 1948w" sizes="(min-width: 720px) 720px"></figure><h3 id="configuration">Configuration <a class="markdownit-header-anchor" href="#configuration">🔗</a></h3><p>Once installed, you will see <em><strong>Spreadsheet</strong></em> in the layout dropdown under the content tab. </p><p>If the <strong><em>Automatic</em></strong> box is checked, changes will be saved automatically. If it is not checked, click the <strong><em>Save </em></strong>button at the top right to save changes.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/unnamed--22-.jpeg" class="kg-image" alt loading="lazy" width="1600" height="452" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/unnamed--22-.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/unnamed--22-.jpeg 1000w, https://ghost.localazy.com/content/images/2025/01/unnamed--22-.jpeg 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="9-number-flow">9. Number Flow <a class="markdownit-header-anchor" href="#9-number-flow">🔗</a></h2><p>The <strong>Number Flow Display</strong> extension is a method for dynamically visualizing numerical data. It is frequently utilized in dashboards to display key performance indicators (KPIs), progress, or trends.</p><h3 id="installation">Installation <a class="markdownit-header-anchor" href="#installation">🔗</a></h3><p>The extension is available on the Directus marketplace:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-4.07.52-PM.png" class="kg-image" alt loading="lazy" width="1924" height="846" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Screenshot-2025-01-08-at-4.07.52-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Screenshot-2025-01-08-at-4.07.52-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Screenshot-2025-01-08-at-4.07.52-PM.png 1600w, https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-4.07.52-PM.png 1924w" sizes="(min-width: 720px) 720px"></figure><h3 id="configuration">Configuration <a class="markdownit-header-anchor" href="#configuration">🔗</a></h3><p>Create a new field with the input type within the book model. Choose that and then fill in the <em><strong>cost_price</strong></em> key with a data type that is either an <em>integer </em>or a <em>float</em>. </p><p>Proceed with the advanced creation mode by navigating to the <strong><em>Display </em></strong>tab. Then choose <em><strong>Number Flow</strong>,</em> and make a few small adjustments in that field as shown below.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/unnamed--24-.jpeg" class="kg-image" alt loading="lazy" width="1538" height="1066" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/unnamed--24-.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/unnamed--24-.jpeg 1000w, https://ghost.localazy.com/content/images/2025/01/unnamed--24-.jpeg 1538w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/unnamed--25-.jpeg" class="kg-image" alt loading="lazy" width="1138" height="1124" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/unnamed--25-.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/unnamed--25-.jpeg 1000w, https://ghost.localazy.com/content/images/2025/01/unnamed--25-.jpeg 1138w" sizes="(min-width: 720px) 720px"></figure><p>Save these changes and switch back to the content tab. When you look at the book's cost-price column, you will now see the animated number flow.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXez_faQo7Mz0IlufA6TkNkeZwBnDgINY_mty1ZwR05RxxWxvqJqtsMmXZdvE3trtxyCBJQ8ClYqOcrw75THw7U0H6Ku0TyDO3_yGt6g3di0ehlEL3vrOux8eE_u8-UbtMm8GbeOYw?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><h2 id="10-localazy">10. Localazy <a class="markdownit-header-anchor" href="#10-localazy">🔗</a></h2><p>The <a href="https://localazy.com/features/directus-localization-plugin/">Localazy Directus extension</a> makes the translation of your project a straightforward and enjoyable process. It manages content localization for a global audience, allowing you to synchronize it with Localazy and translate your materials to the languages of your choice.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/HBvsu2rhvnE?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Localization plugin for Directus CMS"></iframe></figure><p>This extension lets you maintain separate language versions and conveniently translate new content without copypasting or file importing.</p><h3 id="installation">Installation <a class="markdownit-header-anchor" href="#installation">🔗</a></h3><p>The extension can be installed via the Directus marketplace:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-4.10.14-PM.png" class="kg-image" alt loading="lazy" width="1934" height="768" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/Screenshot-2025-01-08-at-4.10.14-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/Screenshot-2025-01-08-at-4.10.14-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/Screenshot-2025-01-08-at-4.10.14-PM.png 1600w, https://ghost.localazy.com/content/images/2025/01/Screenshot-2025-01-08-at-4.10.14-PM.png 1934w" sizes="(min-width: 720px) 720px"></figure><p>Or it can be installed via npm:</p><p><code>npm install @localazy/directus-extension-localazy</code></p><h3 id="configuration">Configuration <a class="markdownit-header-anchor" href="#configuration">🔗</a></h3><p>We will create a new collection called<strong><em> Language</em></strong> to store different languages (check the detailed process <a href="https://docs.directus.io/guides/headless-cms/content-translations.html">here</a>). Go to the <strong>Book</strong> collection and use the <em><strong>Translations Interface</strong></em> to add a new field for translations. This will create a new junction collection within your project.</p><p>Once installed, go to <strong><em>Settings</em> &gt; <em>Project Settings</em> &gt; <em>Modules</em></strong> and turn on the Localazy module.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/unnamed--27-.jpeg" class="kg-image" alt loading="lazy" width="1600" height="1146" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/unnamed--27-.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/unnamed--27-.jpeg 1000w, https://ghost.localazy.com/content/images/2025/01/unnamed--27-.jpeg 1600w" sizes="(min-width: 720px) 720px"></figure><p>This action will add the<strong> localazy</strong> feature to the sidebar icons. Save this, and you should see the translation icon amongst the icons on the left sidebar. Select it and you will see that your project is not connected to Localazy yet.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfXzHqulDPvpeWbdq7s9Ax16Sgiv_JZ92VDAhdxmW-Lqo13kIVIeQ4-EnnlXCAG4KQemX1_8O1vHQVRuLOwFBPBSGGa53yFtQ0NB-i-5hJmFMGNufG6RZgz6P-zQiq8cy42GYFDNg?key=wPcPgZ2IP6_wW1sDny_3Bqxj" class="kg-image" alt loading="lazy"></figure><blockquote>👉 Learn how to connect your Directus project to the Localazy plugin <a href="https://localazy.com/docs/directus/directus-plugin-introduction-installation">here</a></blockquote><h2 id="wrapping-up">✔️ Wrapping up <a class="markdownit-header-anchor" href="#wrapping-up">🔗</a></h2><p>Directus extensions make the platform flexible, allowing organizations to customize their data management systems. With extensions' custom interfaces, hooks, and integrations, users can create better automatic workflows, improve usability, and improve functionalities. </p><p><strong>Directus extensions help businesses build scalable and customizable solutions</strong>. More flexibility means more productivity and a better user experience, making this headless CMS a dynamic data management tool.</p><p><br></p><p><br></p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/01/Top-10-Directus-extensions.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Marketing strategies to propel your growth | Bridging the Gap Podcast, S01 EP01]]></title>
            <link>https://localazy.com/blog/s01-ep-01-bridging-the-gap-podcast</link>
            <guid isPermaLink="false">s01-ep-01-bridging-the-gap-podcast</guid>
            <pubDate>Tue, 20 May 2025 17:28:39 GMT</pubDate>
            <description><![CDATA[In our first episode ever, we explore how to choose the right go-to-market strategy and stay patient with growth with CMO consultant Lukas Mehnert.]]></description>
            <content:encoded><![CDATA[<p>Growing your SaaS company is not just a matter of making the right choices from the start — it also means being open to pivoting along the way. <strong><a href="https://lukasmehnert.com">Lukas Mehnert</a></strong>, CMO consultant and software marketing expert, joins<a href="https://localazy.com/blog/author/jakub-dubec/"> <strong>Jakub Dubec</strong></a>, CMO at Localazy, and host <strong><a href="https://localazy.com/blog/author/marta-g-coloma/">Marta G. Coloma</a></strong> in this first episode to talk about go-to-market strategies and share his experience helping startups thrive and be seen.</p><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/ImcvM8ZHixI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Marketing strategies to propel your growth (w/ Lukas Mehnert) | Bridging the Gap Podcast #1, S01"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Marketing strategies to propel your growth (w/ Lukas Mehnert) | Bridging the Gap Podcast #1, S01" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/4aTGIXjBf9pbFrkM0kVTTr/video?si=4aa498e89c2541ac&utm_source=oembed"></iframe></figure><h2 id="connect-with-the-guests-and-host">💌 Connect with the guests & host <a class="markdownit-header-anchor" href="#connect-with-the-guests-and-host">🔗</a></h2><p><a href="https://www.linkedin.com/in/lukas-mehnert-8069a752/">Lukas Mehnert</a></p><p><a href="https://www.linkedin.com/in/jakubdubec/">Jakub Dubec</a></p><p><a href="https://www.linkedin.com/in/martagcoloma/">Marta G. Coloma</a></p><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete automated localization solution for your digital products. We make your software, apps, and content multilingual and ready for international audiences with developer-friendly features, TMS tools, and professional translation services.</p><p>First time here? Check out our <a href="https://localazy.com/docs/general/getting-started-with-localazy">getting started guide</a>, <a href="https://localazy.com/pricing">find your plan</a>, or <a href="https://localazy.com/contact">contact us </a>with any questions. We're here to help you with your localization and i18n journey.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep01.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Get started with ISO: Certifying your business | Bridging the Gap Podcast, S01 EP02]]></title>
            <link>https://localazy.com/blog/s01-ep-02-bridging-the-gap-podcast</link>
            <guid isPermaLink="false">s01-ep-02-bridging-the-gap-podcast</guid>
            <pubDate>Tue, 20 May 2025 17:28:21 GMT</pubDate>
            <description><![CDATA[First time going through the process of getting ISO certified? In this episode, cybersecurity advocate Ferry Haris lays out the essential steps to make your company compliant and avoid complications down the road.]]></description>
            <content:encoded><![CDATA[<p>ISO Certifications are a very effective method to enhance the credibility of your business. In some industries, they are even required by law. On this episode of Bridging the Gap, cybersecurity expert and <a href="https://www.linkedin.com/company/feha-international-consulting/">FEHA</a> founder <strong><a href="https://www.linkedin.com/in/ferryharis/">Ferry Haris</a> </strong>explains how to get your company certified and why you should specifically pursue <a href="https://localazy.com/dictionary/ISO-27001">ISO 27001</a> if you're concerned about privacy and information security. Localazy's CEO <a href="https://localazy.com/blog/author/vaclav-hodek/"><strong>Václav Hodek</strong></a> also chimes in to share his experience on getting Localazy certified.</p><h2 id="watch-and-listen">🎙️ Watch & listen <a class="markdownit-header-anchor" href="#watch-and-listen">🔗</a></h2><h3 id="youtube">YouTube <a class="markdownit-header-anchor" href="#youtube">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/LzPhUWKSW0U?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Get started with ISO: Certifying your business (w/ Ferry Haris) | Bridging the Gap Podcast #2, S01"></iframe></figure><h3 id="spotify">Spotify <a class="markdownit-header-anchor" href="#spotify">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe style="border-radius: 12px" width="624" height="351" title="Spotify Embed: Getting started with ISO: How to get your business certified (w/ Ferry Haris) | Bridging the Gap Podcast #2, S01" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" src="https://open.spotify.com/embed/episode/7omz2JPT7q1r3Arp8CFgMn/video?si=ce3fed8b997046d5&utm_source=oembed"></iframe></figure><h2 id="connect-with-the-guests-and-host">💌 Connect with the guests & host <a class="markdownit-header-anchor" href="#connect-with-the-guests-and-host">🔗</a></h2><p><a href="https://www.linkedin.com/in/ferryharis/">Ferry Haris</a></p><p><a href="https://www.linkedin.com/in/vaclavhodek/">Václav Hodek</a></p><p><a href="https://www.linkedin.com/in/martagcoloma/">Marta G. Coloma</a></p><h2 id="about-localazy">🚀 About Localazy <a class="markdownit-header-anchor" href="#about-localazy">🔗</a></h2><p>Localazy is a complete automated localization solution for your digital products. We make your software, apps, and content multilingual and ready for international audiences with developer-friendly features, TMS tools, and professional translation services.</p><p>First time here? Check out our <a href="https://localazy.com/docs/general/getting-started-with-localazy">getting started guide</a>, <a href="https://localazy.com/pricing">find your plan</a>, or <a href="https://localazy.com/contact">contact us </a>with any questions. We're here to help you with your localization and i18n journey.</p>]]></content:encoded>
            <author>Bridging the Gap</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/05/BTG-PC-S1Ep02.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[From your product to the startup nation: A guide to Hebrew localization]]></title>
            <link>https://localazy.com/blog/hebrew-yiddish-jewish-communities-around-the-world-how-to-localize-for-them</link>
            <guid isPermaLink="false">hebrew-yiddish-jewish-communities-around-the-world-how-to-localize-for-them</guid>
            <pubDate>Wed, 05 Feb 2025 11:29:36 GMT</pubDate>
            <description><![CDATA[With over 9M speakers worldwide, Hebrew localization opens doors to one of the world's most sophisticated digital markets. From Tel Aviv's bustling startup scene to tech-savvy communities across the globe, here's how to connect with Hebrew speakers worldwide.]]></description>
            <content:encoded><![CDATA[<p>Modern Hebrew powers one of the world's most exciting tech markets - a place where <a href="https://goingdigital.oecd.org/en/countries/isr">nearly everyone has a smartphone</a>, digital wallets are the norm, and your next big customer might be developing <a href="https://finder.startupnationcentral.org/reports/ai-report-2024?utm_campaign=Operad_TIER-3_Search_DSA_Sign-Up&amp;utm_source=google&amp;utm_medium=cpc&amp;utm_adgrp=154182145674&amp;utm_ad=680504770716&amp;utm_network=g&amp;utm_tgt=dsa-2144478015316&amp;utm_kw=&amp;utm_mt=&amp;status=Active&amp;gad_source=1&amp;gbraid=0AAAAApE2hRePde-A6O2MzGgcIlVbB7tc8&amp;gclid=CjwKCAiAneK8BhAVEiwAoy2HYQcN9Qc_9AZu-xNJbWPW-hCOcy15oiPdiTQcv8qT42BKap_IFgX0zBoCarUQAvD_BwE">groundbreaking AI technology</a>. This dynamic language connects businesses to Israel's booming innovation ecosystem and tech-savvy audiences worldwide.</p><p>With approximately <a href="https://hub.localazy.com/en/languages/he"><strong>9 million speakers globally</strong></a> <strong>(including 5 million native speakers)</strong>, this market represents a sophisticated audience constantly seeking the next innovation. From Tel Aviv's vibrant startup scene (complete with those enviable beachfront offices 🏖️) to businesses and communities throughout the world, Hebrew speakers are making significant impacts in the global landscape.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/AdobeStock_123438324.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/AdobeStock_123438324.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/AdobeStock_123438324.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/AdobeStock_123438324.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/01/AdobeStock_123438324.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="hebrews-amazing-comeback-story">📚 Hebrew's amazing comeback story <a class="markdownit-header-anchor" href="#hebrews-amazing-comeback-story">🔗</a></h2><p>Hebrew's revival stands as one of the most impressive comebacks in linguistic history. Picture <strong>a language that remained dormant for nearly 2,000 years</strong>, used almost exclusively for prayer and religious study. That was <a href="https://hub.localazy.com/en/languages/he-hebrew">Hebrew</a> until the late 1800s - no casual conversations, no business meetings, not even a simple way to order coffee.</p><p><a href="https://www.nationalgeographic.com/history/article/hebrew-wasnt-spoken-for-2000-years-heres-how-it-was-revived">The transformation began with Eliezer Ben-Yehuda</a> and his remarkable vision of reviving Hebrew as an everyday language. This wasn't just ambitious; it was revolutionary. <strong>Ben-Yehuda raised the first native Hebrew-speaking child in modern history and created thousands of new words for modern concepts</strong>. Consider the challenge: ancient Hebrew had no words for "tomato," "airplane," or "tissue," yet today, the language handles complex technical terminology with remarkable ease.</p><blockquote>Hebrew remained dormant as a religious tongue for nearly 2,000 years until it was revived as an everyday language in the late 19th century</blockquote><p><a href="https://www.youtube.com/watch?v=HBiiad9fO-g">This revival</a> transcended mere linguistic achievement - it fundamentally <strong>transformed Hebrew from a language of ancient texts into one used by millions of people </strong>for everyday communication. Modern Hebrew emerges as a young, dynamic, and incredibly adaptive language, perfectly suited for the digital age.</p><h2 id="who-speaks-hebrew">🗣️ Who speaks Hebrew? <a class="markdownit-header-anchor" href="#who-speaks-hebrew">🔗</a></h2><p>The Hebrew-speaking market encompasses remarkable diversity. Israel's tech entrepreneurs, students, doctors, and professionals in Tel Aviv, Jerusalem, Haifa, and all across the country contribute to a vibrant linguistic ecosystem.</p><p>Perhaps most notably, Hebrew transcends religious and cultural boundaries in Israel. <strong>Muslims, Christians, Druze, and other groups use Hebrew daily</strong> for work, education, and more. The language has also established firm roots in Israeli communities worldwide, particularly in the US and European countries like the UK, Netherlands, and Germany.</p><h2 id="a-tale-of-three-languages">🌍 A tale of three languages <a class="markdownit-header-anchor" href="#a-tale-of-three-languages">🔗</a></h2><p>During Hebrew's long dormancy, Jewish communities developed distinct languages reflecting their local experiences. Each tells a unique story of cultural adaptation and survival.</p><h3 id="yiddish">Yiddish <a class="markdownit-header-anchor" href="#yiddish">🔗</a></h3><p><strong><a href="https://hub.localazy.com/en/languages/yi-yiddish">Yiddish</a></strong>, blending German with Hebrew and Slavic elements, is still used actively and primarily within ultra-Orthodox communities in countries like the United States, Ukraine, or Poland. Though its sphere has narrowed, it serves as a living connection to traditional Jewish life in Eastern Europe.</p><h3 id="ladino">Ladino <a class="markdownit-header-anchor" href="#ladino">🔗</a></h3><p><a href="https://hub.localazy.com/en/languages/lad-ladino"><strong>Ladino</strong></a> (also called Judeo-Spanish) presents a fascinating but increasingly rare case. This language, born from the Spanish that Sephardic Jews carried with them after the 1492 expulsion from Spain, now survives among just a few speakers. It stands as a linguistic time capsule of medieval Spanish mixed with Hebrew, though its future remains uncertain.</p><h3 id="modern-hebrew">Modern Hebrew <a class="markdownit-header-anchor" href="#modern-hebrew">🔗</a></h3><p>Modern Hebrew has charted its own unique path – evolving into a vibrant language of innovation that seamlessly bridges ancient traditions with cutting-edge technology.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/AdobeStock_84396426-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1299" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/AdobeStock_84396426-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/AdobeStock_84396426-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/AdobeStock_84396426-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/02/AdobeStock_84396426-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="why-hebrew-l10n-is-your-next-smart-move">📱Why Hebrew l10n is your next smart move <a class="markdownit-header-anchor" href="#why-hebrew-l10n-is-your-next-smart-move">🔗</a></h2><p>The numbers behind Hebrew localization present a compelling business case. Israel's startup nation status rests on impressive foundations:</p><ul><li>🧑‍💻 The tech sector <a href="https://innovationisrael.org.il/report/חלק-א-כמה-ישראלים-באמת-עובדים-בהיי-טק/">employs 10-15% of the workforce</a>, boasting <a href="https://innovationisrael.org.il/wp-content/uploads/2024/06/דוח-שנתי-מצב-ההייטק-2024.pdf">a 60% growth</a> in the 2014-2023 period.</li><li> 📈 Technology makes up 25% of the GDP and has made up 40% of the GDP growth in 2018-2023.</li><li>🧪 Tech and life sciences account for 50% of exports.</li><li>🦄 <a href="https://www.techaviv.com/unicorns">90 unicorn companies</a> call Israel home, with <a href="https://www.squarepeg.vc/blog/what-makes-israels-startup-culture-world-class">countless more public uni- and decacorns</a>.</li></ul><p>Beyond creation, <strong>Israelis excel as early adopters of new technology</strong>. This market serves as an ideal testing ground for innovative solutions – success here often indicates potential for global success.</p><h3 id="a-digitally-adept-customer-base">A digitally adept customer base <a class="markdownit-header-anchor" href="#a-digitally-adept-customer-base">🔗</a></h3><p>Digital engagement in the Hebrew-speaking market reaches remarkable levels. <a href="https://www.isoc.org.il/sts-data/internet-infrastructure-and-providers-survey-il">Device usage rates are high</a> (especially regarding mobile), and <a href="https://www.bizportal.co.il/general/news/article/821555">85% of the general public has adopted digital payment solutions widely</a>. In general, there's a strong tendency to embrace emerging technologies swiftly, which creates an opportunity for tech and SaaS companies willing to bring their innovative ideas to this market.</p><blockquote>Israelis excel as early tech adopters, with high device usage rates and a widespread adoption of digital payment services. This makes the market an ideal testing ground for innovative solutions</blockquote><p>The opportunities posed by the US market add another significant dimension. 🇺🇸 Approximately <strong>220,000 Hebrew speakers are concentrated in major tech and business hubs</strong>, with communities that often function as <a href="https://restofworld.org/2021/tech-hubs-tel-aviv/">valuable bridges between Israeli and American tech ecosystems</a>.</p><p>It's important to note that <strong>while many Hebrew speakers possess strong English skills, they strongly prefer native language experiences</strong>. Investing in proper Hebrew localization can result in higher engagement rates, better user retention, stronger brand loyalty, more positive reviews, and enhanced word-of-mouth marketing.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/AdobeStock_1225196226.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/AdobeStock_1225196226.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/AdobeStock_1225196226.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/AdobeStock_1225196226.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/01/AdobeStock_1225196226.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-israeli-way-no-nonsense-culture-in-action">🇮🇱 The Israeli way: No-nonsense culture in action <a class="markdownit-header-anchor" href="#the-israeli-way-no-nonsense-culture-in-action">🔗</a></h2><p>Israeli culture shapes every aspect of business interactions, from UI copy to marketing strategy. <strong>The direct communication style sets Israel apart - formality takes a back seat in favor of efficiency and clarity</strong>.</p><p>This directness is also expressed in the local business culture:</p><ul><li>First-name basis becomes standard, even with senior executives.</li><li>Organizational hierarchies remain notably flat, with junior employees freely challenging leadership.</li><li>Meetings often feature passionate, energetic discussions.</li><li>Small talk yields quickly to substantive matters.</li><li>Respect flows from demonstrated expertise rather than titles.</li></ul><p>The famous Israeli 🔥 "<a href="https://people.howstuffworks.com/chutzpah.htm">chutzpah</a>" (audacity or guts) permeates the business environment. This cultural trait explains both the country's startup success and <strong>users' readiness to provide unfiltered product feedback. </strong>Authenticity stands paramount in Israeli culture. Marketing must deliver clear value propositions, as <strong>Israeli consumers quickly detect and reject superficial messaging</strong>.</p><p>This preference for authenticity shapes all business interactions: business meetings frequently occur in casual settings, with professional dress codes tending toward informal, and work-life boundaries often blend together. In fact, WhatsApp is a tool used for professional talks and direct, personal connections are a way of solving problems more effectively.</p><p>Israeli humor and cleverness shine through even in professional contexts. The concept of 🤹‍♀️ "iltur" (אלתור) –creative improvisation– represents a core cultural value that influences product interaction and problem-solving approaches.</p><blockquote>Israeli consumers quickly detect and reject superficial messaging. Autenthicity matters in a market where users are ready to provide their unfiltered feedback about products</blockquote><h2 id="lessons-from-brands-that-expanded-to-israel">🎯 Lessons from brands that expanded to Israel <a class="markdownit-header-anchor" href="#lessons-from-brands-that-expanded-to-israel">🔗</a></h2><p>The Israeli market offers valuable lessons about local adaptation that directly apply to digital localization. Looking at international brands' experiences in Israel reveals consistent patterns of what drives success or failure in this unique market. For instance, <strong>Starbucks'</strong> brief two-year venture ended despite Israel's strong café culture because the company <a href="https://www.globes.co.il/news/article.aspx?did=1000877230">didn't take into account the high standards Israeli consumers had when it came to coffee and food</a>. The brand also sold American-style coffee, while local consumers preferred European-style drinks. ☕️ Similarly, <strong>KFC's</strong> multiple attempts at entering the market failed when adapting their recipe to meet kosher requirements fundamentally altered their core product.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/01/image--2-.png" class="kg-image" alt loading="lazy" width="1024" height="683" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/image--2-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/image--2-.png 1000w, https://ghost.localazy.com/content/images/2025/01/image--2-.png 1024w" sizes="(min-width: 720px) 720px"><figcaption>McDonald's succeeded in Israel by understanding local preferences. Source: <a href="https://www.israelhayom.co.il/food/food-news/article/14719884">Israel Hayom</a></figcaption></figure><p>In contrast, success stories like <strong>McDonald's</strong> and <strong>Zara</strong> demonstrate the power of proper localization. McDonald's thrived by carefully adapting its offering to local tastes while maintaining consistent quality, all under strong local management that understood the market. 🍟 Zara succeeded by adapting its collections to Israeli preferences and climate, growing to over 22 locations with annual sales exceeding 500 million ILS. Their success came from understanding that Israelis expect products and services to be truly adapted to their needs, not just superficially translated.</p><p>The pattern becomes clear: <strong>companies that view Israel as just another market for their global approach typically struggle, while those who invest in understanding and adapting to local dynamics thrive</strong>. As one industry expert quoted in the articles explains, "It's not enough to bring international appeal; you need to offer real value that's adapted to the local market." This proves especially true in Israel's Mediterranean culture, which values directness, authenticity, and local relevance over international prestige.</p><blockquote>The successful expansion of McDonald's and Zara in Israel prove that only brands who invest in understanding the local dyamics, preferences and tastes thrive on this market</blockquote><p>These lessons have direct implications for digital localization. Just as retail brands cannot succeed with merely translated signage, digital products cannot thrive with merely translated interfaces. <strong>The Israeli market demands deep cultural adaptation, whether you're selling coffee or software</strong>. Success requires understanding not just the language but the unique ways Israelis interact with products and services, their expectations for quality and value, and their preference for authentic, locally relevant experiences.</p><h2 id="overcoming-myths">🤔 Overcoming myths  <a class="markdownit-header-anchor" href="#overcoming-myths">🔗</a></h2><p>Before delving deeper into Israeli culture and localization tips, let's look at some common misconceptions about the market.</p><h3 id="1-everyone-in-israel-speaks-english-anyway">1. "Everyone in Israel speaks English anyway" <a class="markdownit-header-anchor" href="#1-everyone-in-israel-speaks-english-anyway">🔗</a></h3><p>While English proficiency <a href="https://www.ef.com/wwen/epi/regions/middle-east/israel/">runs high</a> in Israel, there are still many people who aren't comfortable enough to use a product in English. This claim also overlooks <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">the question of user preference</a>: <strong>native language experiences <a href="https://localazy.com/blog/4-key-findings-that-confirm-you-need-to-go-multilingual-for-global-reach-in-2024?srsltid=AfmBOorjkvGsDNkaIWIScV-FVcMaS_y9jw69QyvDyO49f76XnhKaRTw2#2-improving-customer-experience">consistently outperform English-only offerings</a></strong> in engagement and satisfaction metrics.</p><h3 id="2-machine-translation-is-good-enough">2. "Machine translation is good enough" <a class="markdownit-header-anchor" href="#2-machine-translation-is-good-enough">🔗</a></h3><p>Hebrew's structure differs fundamentally from English. Right-to-left text, gendered verbs, and cultural nuances create complexity that machine translation simply cannot handle accurately. In addition, <strong>Hebrew is considered <a href="https://localazy.com/dictionary/low-resource-languages/">a low-resource language</a></strong>, which means machine translation engines and LLMs offer poor results when translating into Hebrew.</p><blockquote>📚 Recommended read: <a href="https://localazy.com/blog/mythbusters-we-use-google-translate-and-gpt-to-manage-our-localization">Mythbusters: "We use Google Translate and GPT to manage our localization"</a></blockquote><h3 id="3-the-market-is-too-small-to-bother">3. "The market is too small to bother" <a class="markdownit-header-anchor" href="#3-the-market-is-too-small-to-bother">🔗</a></h3><p>Nine million speakers might seem modest compared to English or Spanish, but raw numbers don't tell the whole story. <strong>The Hebrew-speaking market represents one of the world's most digitally connected populations</strong>, with exceptionally high internet penetration and smartphone adoption rates. </p><p>As mentioned above, this tech-savvy community consistently ranks among the earliest adopters of new technologies, from digital payments to artificial intelligence solutions. <strong>Their influence extends far beyond Israel's borders</strong> through a robust network of international business connections, particularly in major tech hubs like Silicon Valley, New York, and London. This makes the Hebrew-speaking market particularly valuable for technology companies and digital services.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/AdobeStock_261059713.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/AdobeStock_261059713.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/AdobeStock_261059713.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/AdobeStock_261059713.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/01/AdobeStock_261059713.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="localization-tips-for-hebrew">🎯 Localization tips for Hebrew  <a class="markdownit-header-anchor" href="#localization-tips-for-hebrew">🔗</a></h2><h3 id="1-dont-fall-into-stereotypes">1. Don't fall into stereotypes <a class="markdownit-header-anchor" href="#1-dont-fall-into-stereotypes">🔗</a></h3><p>The Hebrew-speaking market encompasses remarkable diversity that defies simple categorization. From secular tech professionals to religious scholars, from recent immigrants to multi-generation Israelis, successful localization must acknowledge and respect this spectrum of experiences and perspectives.</p><p>Creating content that resonates with this diverse audience requires careful consideration and thorough market research. The key lies in identifying universal values and needs that transcend specific cultural segments while maintaining authenticity in your approach. <strong>Regular testing with diverse user groups helps ensure your localization efforts remain inclusive and effective</strong>.</p><h3 id="2-adapt-locale-specific-content">2. Adapt locale-specific content  <a class="markdownit-header-anchor" href="#2-adapt-locale-specific-content">🔗</a></h3><p>Go beyond simple translation and embrace the rhythms and realities of life in Hebrew-speaking communities. Keep in mind that:</p><ul><li>🗓️ <strong>The Israeli calendar operates on a Sunday-to-Thursday workweek, with Friday and Saturday forming the weekend</strong>. This fundamental difference affects everything, from scheduling to marketing campaigns.</li><li>☀️ <strong>Environmental and cultural adaptations prove equally crucial</strong>. References to seasons and weather must account for Israel's Mediterranean climate, where snow and even truly cold weather are rare. </li><li><strong>🚙 Distance calculations must be adjusted </strong>(e.g., a two-hour drive is considered a significant journey).</li><li><strong>🕎 Holiday adaptations require thoughtful transformation –</strong> replacing Christmas with Hanukkah, Easter with Passover, and considering the impact of both the Hebrew and Gregorian calendars on user behavior.</li></ul><h3 id="3-address-gender-distinctions">3. Address gender distinctions  <a class="markdownit-header-anchor" href="#3-address-gender-distinctions">🔗</a></h3><p>Hebrew's grammatical gender system presents unique challenges that impact every aspect of user interface and content design. The language requires different forms for addressing male and female users, affecting everything from welcome messages to error notifications. This complexity extends beyond simple pronoun changes, as verbs and adjectives also change based on the subject's gender.</p><p>Understanding and implementing these gender distinctions requires careful planning and sophisticated string management. <strong>Solutions might include developing flexible templates that accommodate gender variations or finding creative ways to use gender-neutral language where appropriate</strong>. Each communication touchpoint needs to consider how gender impacts the user experience.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/02/AdobeStock_100377942.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/02/AdobeStock_100377942.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/02/AdobeStock_100377942.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/02/AdobeStock_100377942.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/02/AdobeStock_100377942.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-master-rtl-implementation">4. Master RTL implementation <a class="markdownit-header-anchor" href="#4-master-rtl-implementation">🔗</a></h3><p>Implementing a <a href="https://localazy.com/dictionary/rtl">right-to-left (RTL)</a> layout demands more than simply mirroring a left-to-right interface. Every aspect of the user experience requires careful consideration, from text alignment and navigation flow to the placement of interactive elements. Special attention must be paid to handling mixed-direction content, where English terms or numbers appear within Hebrew text.</p><p>The technical implementation extends to typography, input fields, and complex layout structures. <strong>Successful RTL adaptation ensures that all interactive elements feel natural and intuitive to Hebrew speakers</strong> while maintaining functionality for mixed-language content. This includes carefully considering how design elements, from icons to buttons, should be positioned and oriented in the RTL context.</p><h3 id="5-implement-thorough-qa">5. Implement thorough QA <a class="markdownit-header-anchor" href="#5-implement-thorough-qa">🔗</a></h3><p>Hebrew's unique characteristics demand <strong>specialized quality assurance processes that go beyond standard testing procedures</strong>. A comprehensive QA strategy must address both technical and linguistic aspects of the localization. This includes verifying proper text rendering, testing numerical and date formats, and thoroughly assessing the user interface across different devices and platforms. Special attention to the right typography ensures optimal readability and professional appearance.</p><blockquote>Verification of proper text rendering, testing of numerical and date formats, and a thorough assessment of the UI across different devices are highly advisable during QA processes for Hebrew</blockquote><h3 id="6-partner-with-cultural-experts">6. Partner with cultural experts <a class="markdownit-header-anchor" href="#6-partner-with-cultural-experts">🔗</a></h3><p>Professional localizers bring invaluable cultural insight that extends far beyond language translation. These experts understand the nuances of communication in Hebrew-speaking markets and <strong>can guide decisions about tone, imagery, and cultural references that might not be immediately apparent </strong>to outside observers.</p><p>Building a strong relationship with your localization team enables them to serve as cultural consultants throughout your product development process. Their expertise helps navigate complex decisions about content adaptation, ensures alignment with local market expectations, and identifies potential cultural sensitivities before they become issues. 🔦 This partnership proves especially valuable when adapting marketing materials or creating culturally specific content.</p><blockquote>📖 Recommended read: <a href="https://localazy.com/blog/why-and-how-to-provide-local-expertise-to-foreign-clients?srsltid=AfmBOorSpQF4xrmY8lNQJeLmhwYGhLkxK3XvIi1udVMpLxjDA81skQsN">Why and how to provide local expertise to foreign clients?</a></blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/AdobeStock_499285304.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1411" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/AdobeStock_499285304.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/AdobeStock_499285304.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/AdobeStock_499285304.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/01/AdobeStock_499285304.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="advanced-hebrew-localization-with-localazy">✨ Advanced Hebrew localization with Localazy <a class="markdownit-header-anchor" href="#advanced-hebrew-localization-with-localazy">🔗</a></h2><p>Localazy stands out as the ideal platform for entering the Hebrew-speaking market. It offers a comprehensive suite of tools specifically designed for the unique challenges of Hebrew localization. The platform combines <strong>sophisticated RTL support and advanced workflow integration with design tools like <a href="https://localazy.com/features/figma-localization-plugin/">Figma</a> or CMS like <a href="https://localazy.com/features/webflow-localization/">Webflow</a> or <a href="https://localazy.com/features/storyblok-localization-plugin/">Storyblok</a></strong>. Through continuous localization team support and modern tools, Localazy ensures your content maintains both technical accuracy and cultural resonance.</p><p>For businesses at any stage –whether launching a startup in Israel or expanding a company's presence in Hebrew-speaking communities– Localazy provides the essential foundation for success. Begin your Hebrew localization journey today and ensure your product resonates authentically in every market it serves. 🚀</p>]]></content:encoded>
            <author>Michal Kessel Shitrit</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/01/locales.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Webflow integration, tagging, ambassador program, and more!]]></title>
            <link>https://localazy.com/blog/release-update-january-2025</link>
            <guid isPermaLink="false">release-update-january-2025</guid>
            <pubDate>Fri, 28 Mar 2025 15:17:37 GMT</pubDate>
            <description><![CDATA[We've got news hot off the press! Localazy is bringing you a new integration with Webflow to make localizing your sites a breeze. Learn more about it and explore all of the new features in the article.]]></description>
            <content:encoded><![CDATA[<p>Welcome to the year 2025! It's been a while since <a href="https://localazy.com/blog/release-update-july-2024">our last proper release update</a>, and you might have noticed a lot of new features were released in stealth mode during the last months.</p><p>So, as always, grab a coffee, and let's see what's new! ☕️</p><h2 id="release-highlights-video-walkthrough">🎞️ Release highlights video walkthrough <a class="markdownit-header-anchor" href="#release-highlights-video-walkthrough">🔗</a></h2><p>Short on time? Watch this short video where I will show you the highlights of this Release Update.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/bAK5AQjdKPA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Localazy Release Update Highlights - January 2025"></iframe></figure><h2 id="new-cms-integration-webflow">🪁 New CMS integration: Webflow! <a class="markdownit-header-anchor" href="#new-cms-integration-webflow">🔗</a></h2><p>Localazy now <a href="https://webflow.com/apps/detail/localazy?category=localization">integrates directly with Webflow</a>, letting you manage your website translations in an intuitive interface designed for the job. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/image.png" class="kg-image" alt loading="lazy" width="1280" height="846" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/image.png 1000w, https://ghost.localazy.com/content/images/2025/01/image.png 1280w" sizes="(min-width: 720px) 720px"></figure><p>Export your content, translate it using our automated platform, and sync everything back to <a href="https://localazy.com/features/webflow-localization">Webflow</a> with a few clicks. <strong>No more copy-pasting between platforms or </strong><a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects"><strong>managing website localization in messy spreadsheets</strong></a><strong>!</strong></p><h3 id="why-give-it-a-shot">Why give it a shot? <a class="markdownit-header-anchor" href="#why-give-it-a-shot">🔗</a></h3><ul><li>Keep your content structure intact - our integration preserves all your Webflow Collections and CMS items.</li><li>Leverage <a href="https://localazy.com/features/pre-translate">machine translation</a>, order <a href="https://localazy.com/features/continuous-localization-team">professional translators</a>, and collaborate with your team and translators – all in one place.</li><li>Track changes and progress easily and prevent missing translations in your localized versions.</li></ul><h3 id="video-quick-setup-and-first-translations-done-in-minutes">Video: Quick setup and first translations done in minutes <a class="markdownit-header-anchor" href="#video-quick-setup-and-first-translations-done-in-minutes">🔗</a></h3><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/eEH0EKC1kmU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="How to translate Webflow websites with Localazy"></iframe></figure><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">🪁</div><div class="kg-callout-text">Start translating your Webflow content with Localazy now!<br><a href="https://localazy.com/register/">Sign up for a 14-day free trial</a>.</div></div><h2 id="improved-integration-flow">🔌 Improved integration flow <a class="markdownit-header-anchor" href="#improved-integration-flow">🔗</a></h2><p>We have moved the 3rd party integrations from our Developer Console into the main interface and made it easier to work with them. Now, <strong>you can "install" one of our integrations into a project and manage it from the Integrations screen</strong> in the menu. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/image-1.png" class="kg-image" alt loading="lazy" width="952" height="445" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/image-1.png 600w, https://ghost.localazy.com/content/images/2025/01/image-1.png 952w" sizes="(min-width: 720px) 720px"></figure><p>Apart from the brand-new Webflow integration, you can also find the following 3rd party platform connectors in Localazy:</p><ul><li>💬 <a href="/zendesk">Zendesk</a></li><li>📞 <a href="https://localazy.com/features/intercom-localization-plugin">Intercom</a></li><li>📗 <a href="https://localazy.com/features/storyblok-localization-plugin">Storyblok</a></li></ul><blockquote>Other localization plugins, such as <a href="https://localazy.com/features/strapi-localization-plugin">Strapi</a>, <a href="https://localazy.com/features/figma-localization-plugin">Figma</a> and <a href="https://localazy.com/features/directus-localization-plugin">Directus</a>, work as a 3rd party packages that can be found on the respective marketplaces, and sometimes come with additional platform-specific capabilities</blockquote><h2 id="new-navigation-layout-available-for-a-test-flight">🧭 New navigation layout available for a test flight <a class="markdownit-header-anchor" href="#new-navigation-layout-available-for-a-test-flight">🔗</a></h2><p>Localazy has also got a major update on its look and feel! We are getting rid of the bold blue header in favor of <strong>a sleeker interface with more breathing room</strong> for what matters — your translations. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/01/image-4.png" class="kg-image" alt loading="lazy" width="1284" height="695" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/image-4.png 1000w, https://ghost.localazy.com/content/images/2025/01/image-4.png 1284w" sizes="(min-width: 720px) 720px"><figcaption>New Localazy look!</figcaption></figure><p>Now, we want to gather feedback from you: you can choose between the old and new layouts to see what irks you and what delights you. You can enable or disable feature previews by clicking the ❓question mark icon in the top header and selecting the "Feature preview" option. </p><p>For now, only the navigation is available, but stay tuned for more cool things coming this year!</p><h2 id="translation-priority-and-tags">🏷️ Translation priority and tags <a class="markdownit-header-anchor" href="#translation-priority-and-tags">🔗</a></h2><p>You can now <a href="https://localazy.com/docs/general/priority-and-tags">tag and prioritize your source strings</a> to get more control over your localization process. <strong>Create focused translation sessions by filtering strings </strong>based on tags – perfect for organizing UI elements, marketing copy, or legal content separately.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/01/image-6.png" class="kg-image" alt loading="lazy" width="1465" height="1065" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/image-6.png 1000w, https://ghost.localazy.com/content/images/2025/01/image-6.png 1465w" sizes="(min-width: 720px) 720px"><figcaption>Set priority levels and tag your source keys. Available with the Autopilot plan.</figcaption></figure><p>Set priorities to:</p><ul><li>Fast-track critical updates for your next release</li><li>Balance machine translation vs human translation based on content importance</li><li>Help your translation team understand what needs attention first</li></ul><p>In addition, you can <a href="https://localazy.com/docs/general/automated-workflows">automate actions based on tags</a> and automatically route different types of content through custom translation pipelines.</p><h2 id="join-our-ambassador-program">🦸 Join our Ambassador program <a class="markdownit-header-anchor" href="#join-our-ambassador-program">🔗</a></h2><p>Join the Localazy <a href="https://localazy.com/ambassador">Ambassador program</a> and help us evangelize your network. Earn points for completing tasks, such as sharing blog articles or writing social posts about your experience with localization.</p><p>To earn the most points, you can share your translation story on our blog in an authored article, <a href="https://localazy.com/ambassador/action/publish-g2-review">submit a review on G2</a>, or publish a case study with us.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/image-7.png" class="kg-image" alt loading="lazy" width="1283" height="1059" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/image-7.png 1000w, https://ghost.localazy.com/content/images/2025/01/image-7.png 1283w" sizes="(min-width: 720px) 720px"></figure><h3 id="whats-in-it-for-you">What's in it for you? <a class="markdownit-header-anchor" href="#whats-in-it-for-you">🔗</a></h3><p>Earned points can be exchanged for <a href="https://localazy.com/compare-plans">additional source keys and features from paid plans</a>. Your points can also be donated to other organizations that you are a part of; this way, you can support non-profits or other favorite projects and help them get features and increased limits for free. </p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">💙</div><div class="kg-callout-text">Explore the <a href="https://localazy.com/ambassador">Ambassador program</a></div></div><h2 id="improvements-and-bug-fixes">🛠️ Improvements and bug fixes <a class="markdownit-header-anchor" href="#improvements-and-bug-fixes">🔗</a></h2><ul><li>Another round of table layout improvements</li><li>Added the option to upload existing translations from the language list</li><li>Added error handling for long-running operations (e.g., batch translation, etc.)</li><li>Added access to the integration tab in an empty project</li><li>Added access for non-managers to browse source keys</li><li>Fixed<strong>:</strong> Changing the nesting via dot when adding/editing the source key now allows saving the source key</li><li>Fixed: HTML parser handling of <code>&lt;%</code> syntax</li><li>Fixed: <code>[]</code> as a translation of plural string breaking the UI</li><li>Fixed: HTML tag <code>&lt;BR&gt;</code> is evaluated as invalid, causing issues.</li><li>Fixed: Inaccurate file name preview in the file download dialog</li><li>Fixed: The source language link leading to 404 after discarding changes</li><li>Fixed: The pagination and page size options in the contributor's detail not functioning properly</li><li>Fixed: Pagination not recalculated when out of bounds</li><li>Fixed: The purge language data option not working</li></ul><h2 id="strapi-v5-support-coming-soon">🔜 Strapi v5 support coming soon <a class="markdownit-header-anchor" href="#strapi-v5-support-coming-soon">🔗</a></h2><p>Our team is actively developing support for the latest version of Strapi in our localization plugin. Soon, you'll be able to seamlessly manage your content translations in newer Strapi installations while keeping all the Localazy features you rely on.</p><p>For those currently using our Strapi plugin, keep your eyes peeled for the update. We'll make sure the transition is smooth for your localization workflows.</p><blockquote>🤔  To upgrade or not to upgrade? Check out our Strapi v5 cheatsheet <a href="https://localazy.com/blog/whats-new-on-strapi-v5-the-real-upgrade-story-for-ctos/">here</a></blockquote><h2 id="stay-tuned-for-the-new-localazy-podcast">🎙️ Stay tuned for the new Localazy podcast! <a class="markdownit-header-anchor" href="#stay-tuned-for-the-new-localazy-podcast">🔗</a></h2><p>In February, we are launching our new podcast series, <strong>Bridging the Gap.</strong></p><p>Our first guest will be <a href="https://www.linkedin.com/in/lukas-mehnert-8069a752/"><strong>Lukas Mehnert</strong></a>, the former CMO of Smartlook and B2B software marketing expert, who joined us to discuss go-to-market strategies, the differences between a red and a blue ocean, and his extensive experience dealing with competition in the SaaS market and pushing startups to expansion.</p><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">▶️</div><div class="kg-callout-text">Make sure you <a href="https://www.youtube.com/@localazy?sub_confirmation=1"><strong>subscribe to the Localazy YouTube channel</strong></a> so you don't miss the first episode!</div></div><h2 id="recommended-reading-from-the-blog">📰 Recommended reading from the blog <a class="markdownit-header-anchor" href="#recommended-reading-from-the-blog">🔗</a></h2><p>You might be interested in the following articles:</p><ul><li>🦾 AI in localization series by <a href="https://localazy.com/blog/author/dorota-pawlak">Dorota Pawlak</a></li><li>💸 <a href="https://localazy.com/blog/localization-101-best-practices-to-allocate-a-budget-for-localization-whether-its-big-or-small">Localization 101: Best practices to allocate a budget for localization – whether it's big or small</a> for managers by Simona Rahmanova</li><li>And an article for developers from our new colleague Febby Gunawan: <a href="https://localazy.com/blog/cli-is-just-a-command-chain-it">CLI is just a command – chain it!</a></li></ul><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>I hope you like the new features, and we await your feedback on the new integrations! See you again soon when we launch new updates to your favorite localization platform.</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/01/Release-update.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[CLI is just a command – chain it!]]></title>
            <link>https://localazy.com/blog/cli-is-just-a-command-chain-it</link>
            <guid isPermaLink="false">cli-is-just-a-command-chain-it</guid>
            <pubDate>Fri, 28 Mar 2025 15:19:00 GMT</pubDate>
            <description><![CDATA[Customizing Localazy's command-line interface is not as difficult as it sounds! Here are 10 ideas to personalize this small but mighty tool through chaining to fit your project's needs.]]></description>
            <content:encoded><![CDATA[<p>From time to time, Localazy users ask us <strong>how to handle specialized tasks with the <a href="https://localazy.com/features/cli">Localazy CLI</a></strong>. Common requests include uploading localizable files from a ZIP archive, post-processing downloaded translations (merging them, changing the content, or copying them elsewhere), and more.</p><p>Localazy CLI doesn't and will likely never ship with every possible feature you might need to fully customize your workflow. We don't want to reinvent the wheel, and it would be almost impossible to support every specialized scenario. Instead, the CLI focuses on critical localization tasks while remaining flexible and script-friendly, ready for further personalization.</p><p>The big idea? <strong>Think of the Localazy CLI as one command among many </strong>in your workflow. Use standard command-line tools before or after calling <code>localazy upload</code> or <code>localazy download</code>. By chaining commands, you can accomplish almost any automation or customization task.</p><h2 id="reference-materials">📚 Reference materials <a class="markdownit-header-anchor" href="#reference-materials">🔗</a></h2><p>Before we dive in, let's quickly refresh what you need to know about CLI:</p><ul><li><strong>⚡️ The whys</strong>: Learn <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow/">how it can benefit your workflows</a>.</li><li><strong>🔨 Installation</strong>: Check the official <a href="https://localazy.com/docs/cli/the-basics" rel="noopener noreferrer nofollow">Localazy CLI Documentation</a> for detailed setup instructions.</li></ul><h3 id="basic-commands">Basic commands <a class="markdownit-header-anchor" href="#basic-commands">🔗</a></h3><ul><li><code>localazy upload</code> – Uploads your source files or strings to Localazy.</li><li><code>localazy download</code> – Downloads translations back to your project.</li></ul><p>Once you're up and running with these basics, you're ready to start chaining commands.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/install-2.png" class="kg-image" alt loading="lazy" width="1548" height="837" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/install-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/install-2.png 1000w, https://ghost.localazy.com/content/images/2025/01/install-2.png 1548w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-power-of-chaining-commands">⛓ The power of chaining commands <a class="markdownit-header-anchor" href="#the-power-of-chaining-commands">🔗</a></h2><p>In a shell environment (e.g., Bash, Zsh, PowerShell), you can invoke multiple commands in a sequence. The output of one command might be the input for another, or you might want to run commands in parallel or conditionally.</p><h3 id="why-chaining-matters">Why chaining matters <a class="markdownit-header-anchor" href="#why-chaining-matters">🔗</a></h3><ul><li><strong>Automation</strong>: Instead of manually preparing files or post-processing them, you can script the entire pipeline.</li><li><strong>Flexibility</strong>: Use native OS commands or third-party tools for tasks like archiving, renaming, uploading to remote servers, and more.</li><li><strong>Efficiency</strong>: A single script can handle the entire "prepare → upload → download → finalize" cycle.</li></ul><p>For example, if you want to prepare your <a href="/json">JSON</a> files before uploading, you might do something like this:</p><pre><code># 1) Combine multiple JSON partials into one file
jq -s 'reduce .[] as $item ({}; . * $item)' partials/*.json &gt; combined.json

# 2) Upload combined.json using Localazy CLI
localazy upload --file combined.json

# 3) Clean up
rm combined.json</code></pre><p>This mini-script merges multiple JSON files into one before uploading them to Localazy.</p><h2 id="10-command-chaining-ideas">📝 10 command chaining ideas <a class="markdownit-header-anchor" href="#10-command-chaining-ideas">🔗</a></h2><p>Below are some common examples of how you can combine Localazy CLI calls with other commands and tools. Each idea has a quick snippet or conceptual workflow for inspiration.</p><h3 id="1-creating-and-extracting-archives">1. Creating and extracting archives <a class="markdownit-header-anchor" href="#1-creating-and-extracting-archives">🔗</a></h3><ul><li><strong>Use case</strong>: Store your translation files in compressed archives or package downloaded translations to prepare them for distribution.</li><li><strong>Tools</strong>: <code>zip</code>, <code>unzip</code>, <code>tar</code>, <code>gzip</code>, etc.</li></ul><pre><code># Extract your source files from an archive
unzip my-translations.zip -d extracted_files/

# Upload the extracted files
localazy upload --path extracted_files/

# After downloads, compress them again
localazy download --path final_translations/
zip -r final_translations.zip final_translations/</code></pre><h3 id="2-committing-files-to-git">2. Committing files to Git <a class="markdownit-header-anchor" href="#2-committing-files-to-git">🔗</a></h3><ul><li><strong>Use case</strong>: Automatically commit newly downloaded translations to your Git repository.</li><li><strong>Tools</strong>: <code>git</code> CLI</li></ul><pre><code># Download translations
localazy download --path i18n/

# Commit them to your repo
git add i18n/
git commit -m "chore: update translations"
git push origin main</code></pre><blockquote><em>This can be integrated into a CI/CD pipeline such as <a href="https://localazy.com/blog/automated-localization-github-actions-localazy">GitHub Actions</a> or <a href="https://localazy.com/blog/automated-localization-gitlab-cicd-localazy">GitLab CI/CD</a></em></blockquote><h3 id="3-moving-files-to-different-locations">3. Moving files to different locations <a class="markdownit-header-anchor" href="#3-moving-files-to-different-locations">🔗</a></h3><ul><li><strong>Use case</strong>: Distribute downloaded translations into multiple folders/projects.</li><li><strong>Tools</strong>: <code>mv</code>, <code>cp</code>, or more advanced file-moving scripts.</li></ul><pre><code># Download translations to a staging folder
localazy download --path translations_temp/

# Move files to each project
mv translations_temp/en.json projectA/src/locales/
mv translations_temp/es.json projectB/app/assets/lang/</code></pre><h3 id="4-modifying-files-with-regex-sed-awk">4. Modifying files with Regex (sed, awk) <a class="markdownit-header-anchor" href="#4-modifying-files-with-regex-sed-awk">🔗</a></h3><ul><li><strong>Use case</strong>: Remove or replace placeholders, internal IDs, or environment-specific URLs in translation files.</li><li><strong>Tools</strong>: <code>sed</code>, <code>awk</code>, or other text processors.</li></ul><pre><code># Download the translations
localazy download --path translations/

# Replace staging URL with production URL
sed -i 's|https://staging.example.com|https://production.example.com|g' translations/*.json</code></pre><h3 id="5-merging-splitting-and-overriding-files">5. Merging, splitting, and overriding files <a class="markdownit-header-anchor" href="#5-merging-splitting-and-overriding-files">🔗</a></h3><ul><li><strong>Use case</strong>: Combine multiple files into one, split a large file into smaller ones, or override specific keys using other files.</li><li><strong>Tools</strong>: <code>jq</code>, custom scripts, etc.</li></ul><pre><code>localazy download --path dl_files/
# Suppose you have en.json and en-extra.json in dl_files/ and want to merge them.

jq -s 'reduce .[] as $item ({}; . * $item)' dl_files/en.json dl_files/en-extra.json &gt; dl_files/en-merged.json</code></pre><h3 id="6-changing-file-formats">6. Changing file formats <a class="markdownit-header-anchor" href="#6-changing-file-formats">🔗</a></h3><ul><li><strong>Use case</strong>: Convert downloaded files into a format your framework needs.</li><li><strong>Tools</strong>: <code>yq</code>, custom XML/Properties converters, etc.</li></ul><pre><code># Convert YAML to JSON
yq -o=json translations.yaml &gt; translations.json

# Then upload the JSON to Localazy
localazy upload --file translations.json</code></pre><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text">Tip: Consider using Localazy <a href="https://localazy.com/features/format-conversions">Format Conversions</a>, which provide more options, 15+ conversion pairs, and might be better suited for your use case. Explore the capabilities in the <a href="https://localazy.com/docs/cli/format-conversions">documentation</a>.&nbsp;</div></div><h3 id="7-generating-source-code-from-translations">7. Generating source code from translations <a class="markdownit-header-anchor" href="#7-generating-source-code-from-translations">🔗</a></h3><ul><li><strong>Use case</strong>: Some frameworks prefer translations as source code files (e.g., .dart, .ts).</li><li><strong>Tools</strong>: Node.js scripts, custom Python scripts, templating engines, etc.</li></ul><pre><code># Download the translations
localazy download --path i18n/

# Generate TypeScript constants
node scripts/generate-ts-constants.js i18n/en.json src/i18n/en.ts</code></pre><p>Your <code>generate-ts-constants.js</code> script would parse the JSON and produce a <code>.ts</code> file with typed exports.</p><h3 id="8-running-a-linter-or-validator">8. Running a linter or validator <a class="markdownit-header-anchor" href="#8-running-a-linter-or-validator">🔗</a></h3><ul><li><strong>Use case</strong>: Ensure files maintain correct placeholders, avoid broken links, or follow a certain schema.</li><li><strong>Tools</strong>: ESLint, custom scripts, or specialized translation linters.</li></ul><pre><code>localazy download --path i18n/

# Validate JSON structure with a JSON schema validator
ajv validate -s schema.json -d i18n/*.json</code></pre><h3 id="9-uploading-to-ftp-sftp-or-cloud-storage">9. Uploading to FTP, SFTP, or cloud storage <a class="markdownit-header-anchor" href="#9-uploading-to-ftp-sftp-or-cloud-storage">🔗</a></h3><ul><li><strong>Use case</strong>: Automatically upload your translations to a CDN or remote server.</li><li><strong>Tools</strong>: <code>scp</code>, <code>sftp</code>, AWS CLI, Azure CLI, GCP CLI, etc.</li></ul><pre><code># Download translations
localazy download --path i18n/

# Upload them to an SFTP server
scp i18n/*.json user@myserver.com:/var/www/translations/</code></pre><h3 id="10-creating-files-from-and-inserting-them-in-a-database">10. Creating files from and inserting them in a database <a class="markdownit-header-anchor" href="#10-creating-files-from-and-inserting-them-in-a-database">🔗</a></h3><ul><li><strong>Use case</strong>: You might have translations stored in a DB. Export them to a file, upload them to Localazy, and then reimport the final translations back into the DB.</li><li><strong>Tools</strong>: <code>psql</code>, <code>mysqldump</code>, custom SQL scripts.</li></ul><p><strong>⤵️ Creating files from DB</strong>:</p><pre><code># Example with PostgreSQL: dump translations to JSON
psql -U user -d mydb -c "COPY (SELECT json_agg(t) FROM translations t) TO STDOUT" &gt; db_translations.json

# Upload to Localazy
localazy upload --file db_translations.json</code></pre><p><strong>↪️ Inserting into DB</strong>:</p><pre><code># Download from Localazy
localazy download --path downloaded_files/

# Insert them back into your DB
psql -U user -d mydb -c "\COPY translations FROM 'downloaded_files/en.json'"</code></pre><p>You can also <a href="https://localazy.com/blog/how-to-translate-content-in-postgresql-database-with-localazy" rel="noopener noreferrer nofollow">find inspiration in our PostgreSQL solution</a> for detailed setup instructions.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>These examples demonstrate how one small command, <code>localazy upload</code> or <code>localazy download</code>, can be part of a much larger workflow. By chaining commands from your operating system or other third-party tools, you're only limited by your imagination.</p><p>We'd love to hear how you're using our CLI! If you have a creative command-chain setup or face any challenges in your scripts, feel free to contact us. Localazy is designed to stay flexible, and user feedback helps us improve. 💪</p><p><strong>Remember</strong>:</p><ul><li>Automating with scripts saves time and reduces manual errors.</li><li>Standard CLI tools like <code>tar</code>, <code>sed</code>, <code>jq</code>, and <code>git</code> are your friends.</li><li>The Localazy CLI works best when it's one piece of your overall localization pipeline.</li></ul><p>Happy chaining, and let us know if you need help getting your perfect workflow up and running!</p>]]></content:encoded>
            <author>Febby Gunawan</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/01/CLI-is-command.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localization 101 | Best practices to allocate a budget for localization – whether it’s big or small]]></title>
            <link>https://localazy.com/blog/localization-101-best-practices-to-allocate-a-budget-for-localization-whether-its-big-or-small</link>
            <guid isPermaLink="false">localization-101-best-practices-to-allocate-a-budget-for-localization-whether-its-big-or-small</guid>
            <pubDate>Fri, 06 Mar 2026 15:22:16 GMT</pubDate>
            <description><![CDATA[Budgeting localization expenses is hard, especially when you're new to the game. Learn how to do it wisely, whether you're just starting out or are rethinking how you allocate your resources.]]></description>
            <content:encoded><![CDATA[<p>Welcome to the first article of 2025 in the <u><a href="https://localazy.com/blog/localization-101-basic-concepts-a-beginner-needs-to-know" rel="noopener noreferrer nofollow">Localization 101</a></u> series. As the new year begins, there is no better time to start planning your growth. In this piece, <strong>we'll discuss tips for allocating a localization budget</strong> and guide you<strong> </strong>through making the right financial decisions in your expansion journey.</p><p>Expanding to a new market (especially to a foreign one) is often as exciting as it is scary. But we’re here to help make this stage exciting. No matter the growth stage you're in, we have something for you. Read on to learn about proper budgeting, common concerns about localization spending, and more, including practical examples. 📝</p><h2 id="localization-is-an-investment-not-an-expense">⏳ Localization is an investment, not an expense <a class="markdownit-header-anchor" href="#localization-is-an-investment-not-an-expense">🔗</a></h2><p>One of the most common misconceptions about localization is that it is an optional expense. But the truth is that <strong>localization is a long-term game, quite similar to starting a new business</strong>. At first, you’ll mainly notice the price tag needed for growth, but looking ahead, you see that, eventually, there will be profit. And just like getting a new business off the ground, localization is an investment you make to increase profit.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/AdobeStock_1040197792.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/AdobeStock_1040197792.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/AdobeStock_1040197792.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/AdobeStock_1040197792.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/01/AdobeStock_1040197792.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>A good localization strategy sets you up for success in a foreign market. It lowers the risk of your expansion investment because it attracts more customers and keeps them for longer. It’s the shorter road to the hearts of your customers in the target local market. <strong>You’ll start with a stronger impact right from the start</strong>.</p><blockquote>One of the most common misconceptions about localization is that it is an optional expense. But the truth is that localization is a long-term game that eventually generates profit. It's actually the shorter road to the hearts of your customers in your target market</blockquote><h3 id="is-localization-for-every-company">Is localization for every company?  <a class="markdownit-header-anchor" href="#is-localization-for-every-company">🔗</a></h3><p><a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize" rel="noopener noreferrer nofollow"><u>Localization has many benefits</u></a>, but just as you wouldn’t change tires on a car that has perfectly functioning ones, not every company needs to spend money on localization. This applies if:</p><ul><li>🚪 Your business isn’t entering a new market, </li><li>🎈 has no plans to expand into another country, </li><li>👥 or isn’t aiming to target new demographics within your current market.</li></ul><p>However, when taking a business abroad and increasing sales and customer loyalty, localization always wins. It helps you connect with customers and makes you a trusted business among locals. </p><p>At this point, though, you might probably be asking yourself <strong>if localization is <em>really </em>worth the investment</strong>. Localization has to be worth it to you, and<strong> if you’re going global, it always is</strong>. However, the best answer to this question is another question: How do you measure its worthiness?</p><h3 id="how-to-measure-your-localization-roi">How to measure your localization ROI <a class="markdownit-header-anchor" href="#how-to-measure-your-localization-roi">🔗</a></h3><p>It might be hard to believe, but localizing your marketing content, website, or app can <a href="https://localazy.com/blog/mythbusters-we-dont-have-the-budget-for-localization#the-real-price-of-localization"><strong>cost less than skipping it</strong></a>. Failing to localize when it’s needed <strong>will affect your ROI negatively</strong> and often end up costing more in the long run. Most of the time, the localization road will make you more money over a long period. With advanced and useful localization tools in place, you don’t have to hire as many localization experts and translators, developers, and marketing experts. Which saves you money yet gets you good results. </p><p>However, measuring your localization ROI is more than setting aside a budget for an automation tool, localization software, or hiring experts. It requires you to look beyond these.</p><p>Measuring your localization ROI starts with these two steps:</p><ul><li><strong>⚔️ Compare your localization costs to the potential loss of customers from skipping it</strong>.<strong> </strong>For example, if localizing helps you gain 2,000 new customers in just five months by reaching your target audience in a new market, and each makes a purchase, the revenue will likely far exceed the cost.</li><li><strong>🤑 See the revenue potential of a single, effective localization solution with key features + a small team of skilled specialists</strong>. Once you start analyzing the benefits of localization by using a tool that automates most of the process and even provides a small team of specialists to assist throughout it, the revenue potential becomes clear.</li></ul><p>To simplify it, here is a simple formula to measure <a href="https://localazy.com/dictionary/ROI">your localization ROI</a>:</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">➡️</div><div class="kg-callout-text"><strong>ROI = (Net Benefit – Localization Costs) / Localization Costs * 100</strong></div></div><p>You want the sum from your calculation to be as high as possible. The higher the percentage you see, the better ROI you can expect. And if you’re unhappy with the number, you can use it as a base for your strategy to increase it. Preparation leads to positive results.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/01/MeasureROI.png" class="kg-image" alt loading="lazy" width="1480" height="626" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/MeasureROI.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/MeasureROI.png 1000w, https://ghost.localazy.com/content/images/2025/01/MeasureROI.png 1480w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="the-positive-impact-of-l10n-on-your-tco">The positive impact of l10n on your TCO <a class="markdownit-header-anchor" href="#the-positive-impact-of-l10n-on-your-tco">🔗</a></h3><p><strong>One important factor is </strong><a href="https://localazy.com/dictionary/tco" rel="noopener noreferrer nofollow"><strong><u>TCO</u></strong></a> or Total Cost of Ownership.<strong> Businesses overlook this when planning a localization budget</strong>.<strong> </strong>Reaching a global audience and keeping up with changes in consumer behavior often means making many small adjustments along the way. Imagine asking your developers to roll out an update every time you need to change the marketing messaging on your website or update the translations of some UX copy inside your product.</p><p><strong>Well, this is the old way. The new way is to use effective tools like a Content Delivery Network (CDN) </strong>to automate translation delivery. This will empower your company's creatives to handle these changes independently and save developers precious time so they can focus on delivering valuable features. It will also push your localization strategy to positively impact your TCO.</p><blockquote>📉 Reducing your TCO is a challenge, but we have some suggestions on how you can do this by using a reliable CDN. Read them <a href="https://localazy.com/blog/how-localazy-cdn-reduces-total-cost-of-ownership-with-examples">here</a></blockquote><h2 id="analyzing-localization-costs-step-by-step">🪜 Analyzing localization costs step by step <a class="markdownit-header-anchor" href="#analyzing-localization-costs-step-by-step">🔗</a></h2><p>As you can see, there is a lot to consider and include in your budgeting, but remember that you can reduce the costs by simplifying the entire process. </p><p>Here are the main costs you'll face and tips on how to effectively stay within your budget:</p><h3 id="localization-qa">Localization QA <a class="markdownit-header-anchor" href="#localization-qa">🔗</a></h3><p>Being one of the essential, if not <em>the most </em>essential, components of your localization strategy, <strong>the cost of quality assurance is a necessary one</strong>. QA includes many aspects: from <a href="https://localazy.com/blog/guide-preparing-application-for-i18n-l10n-localazy">prepping your software for i18n</a> and <a href="https://localazy.com/docs/general/qa-checks">having proper checks in place</a> to making sure that people with reading difficulties can use your app. While it might sound like a lot, much of it can be automated and reviewed by a professional before launch.</p><h3 id="project-management-costs">Project management costs <a class="markdownit-header-anchor" href="#project-management-costs">🔗</a></h3><p>Planning a venture in a new market means someone will need to be in charge of the new project. If not planned carefully, the pre-planning and execution <strong>can take too long, creating unnecessary costs</strong>. Make sure to use the right project management tools that everyone involved can access, which makes every step clear and more cost-effective.</p><h3 id="translation-costs">Translation costs <a class="markdownit-header-anchor" href="#translation-costs">🔗</a></h3><p>Most managers either hire a translator or a localization expert to handle language work. <strong>Want to save money?</strong> <strong>Hire professionals who can do both</strong>. And if you also give them tools like <a href="https://localazy.com/dictionary/translation-memory">Translation Memory</a>, <a href="https://localazy.com/dictionary/glossary">Glossaries</a>, options for simple file uploads, and clear briefings, your linguists will be able to work faster and deliver higher-quality results.</p><blockquote>🤔 Translators, proofreaders, validators... Understand what they offer each in <a href="https://localazy.com/blog/guide-localazy-translation-services#understanding-the-services-localazy-offers">our ultimate guide for translation ordering</a></blockquote><h3 id="technical-costs">Technical costs <a class="markdownit-header-anchor" href="#technical-costs">🔗</a></h3><p>Whether you’re a new company or a growing business, it’s essential to adjust and plan your tech stack budget wisely. Your tech stack forms the foundation for developing your app or service. <strong>To save money, start with the essentials and add more tools as needed </strong>rather than investing a large amount right away. Your first step will be <a href="https://localazy.com/blog/technical-debt-in-i18n-why-building-for-localization-from-day-one-pays-off">working on internationalization</a>. And <strong>if the platform you choose to localize is scalable, the whole process will be much easier</strong>.</p><p>The best part about patching up a great tech stack is that it can help you automate most of the translation process and have someone check it before you launch it to the public, so <strong>don't underestimate the power of automation tools when picking yours.</strong></p><h2 id="what-influences-localization-costs">🕵️‍♀️ What influences localization costs? <a class="markdownit-header-anchor" href="#what-influences-localization-costs">🔗</a></h2><p>As the next part of your budgeting plan, let’s zoom in on the main components that a successful localization project should include. How can you budget appropriately for each one while keeping costs down?</p><h3 id="content-and-market-complexity">Content & market complexity <a class="markdownit-header-anchor" href="#content-and-market-complexity">🔗</a></h3><p>How big do you want to go, and how complex does your approach need to be for customers to trust and understand your brand? It depends. Are you targeting a small market in a medium-sized city where online shopping isn’t common? Or are you preparing to reach a large, national market?</p><p>Clearly, these two scenarios require different strategies and vary in time, complexity, and cost. Therefore, you must budget with these factors in mind.</p><h3 id="visual-elements">Visual elements <a class="markdownit-header-anchor" href="#visual-elements">🔗</a></h3><p><strong>When we spot something we</strong><em><strong> like</strong></em><strong>, we know it. And when we see something we </strong><em><strong>love</strong></em><strong>, we </strong><em><strong>definitely</strong></em><strong> know it</strong>. Visuals are crucial in content development and localization. <a href="https://localazy.com/blog/top-9-ux-translation-problems-and-how-to-solve-them">A well-functioning UX</a> and UI are important elements and come with costs to consider. Without them, you won’t make the impression you want on your customers.</p><p>Make it cost-effective by making sure that your software features <strong>allow for easy internationalization and are pre-set to be changed </strong>quickly if needed, with a quick check from the project manager. </p><h3 id="content-volume">Content volume <a class="markdownit-header-anchor" href="#content-volume">🔗</a></h3><p>How much content do you need, and how quickly do you need it published? Is your audience large or small? Do they require extensive content or just brief, basic information? Will you be using blogs or not? As you plan your project, <strong>distribute your budget equally for technical software needs</strong>.</p><h3 id="language-uniqueness">Language uniqueness <a class="markdownit-header-anchor" href="#language-uniqueness">🔗</a></h3><p>A localization project goes beyond a country and a culture. Each language has its own “style” beyond the spoken and written word. Within one country, there are also <a href="https://localazy.com/dictionary/dialect/">different dialects</a> and language customs.</p><blockquote><em>🇪🇸 E.g.,</em> a person in the north of Spain will use a more direct language than someone in the south of the country where the language is more relaxed and easy-going. Go to Madrid and you’ll probably talk more about education and career than you would in sunny Marbella. This is the way in every country and good localization, or even translation, adapts to that when targeting specific parts of the country.</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/01/AdobeStock_738179213.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2025/01/AdobeStock_738179213.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/01/AdobeStock_738179213.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/01/AdobeStock_738179213.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/01/AdobeStock_738179213.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="your-tech-stack">Your tech stack <a class="markdownit-header-anchor" href="#your-tech-stack">🔗</a></h3><p>As mentioned, the tech stack is like a foundation for product development, but that’s not all it does. It determines the road ahead and what you’ll be able to do as your website expands and your application needs more features. The tech stack you choose will determine which solutions and features you can add later on — <strong>or which ones you won't</strong>. </p><p>Having one solution with multiple features and <a href="/integrations">integrations</a> that help you get there, along with a team at your disposal if you need one, is one of Localazy’s specialties. You’ll get globalization off the ground quicker, can put a plan in place faster, and can allocate your localization budget with greater clarity and accuracy.</p><blockquote>👉 The <u><a href="https://localazy.com/blog/localization-for-managers-guide-to-choosing-the-right-tms" rel="noopener noreferrer nofollow">Localization guide for managers</a></u> is a good place to start</blockquote><h2 id="tips-for-4-budgeting-scenarios">👟Tips for 4 budgeting scenarios  <a class="markdownit-header-anchor" href="#tips-for-4-budgeting-scenarios">🔗</a></h2><p>Now that we’ve covered some important financial factors, let’s get down to the nitty-gritty and see what your exact business needs are. We've picked four scenarios in which your company might fit. </p><h3 id="1-startup-with-a-limited-budget-and-no-translators">1. Startup with a limited budget and no translators <a class="markdownit-header-anchor" href="#1-startup-with-a-limited-budget-and-no-translators">🔗</a></h3><p>If this is you, start with <a href="https://localazy.com/features/pre-translate">pre-translating your content with machine translations</a>, <strong>preferably into a language someone from your team is familiar with, </strong>so you can proofread it internally later.</p><p>Take advantage of free localization features, get familiar with the process, and build your context bank along the way (define <a href="https://localazy.com/features/glossary">glossary terms</a>, add translation notes, and <a href="https://localazy.com/features/context-screenshots-ocr">upload screenshots</a>). Watch out for things that the machine engine often mistranslates. You can also leverage the <a href="https://localazy.com/features/share-tm">Localazy ShareTM</a> to get community-proven translations for the most common strings in the software field. </p><p>Also, besides your product, consider localizing only the most important content at first, like marketing materials and content that customers see first for a good impression. </p><p><a href="https://localazy.com/pricing">Choose a plan</a> to help you get off the ground with a small budget. Then, you can hire external translators for the additional languages, invite your user base to help, or <a href="https://localazy.com/features/continuous-localization-team">order translation services</a> directly on the platform. </p><blockquote><em>💪  If you're a startup, we also recommend  joining our <a href="https://localazy.com/ambassador">ambassador program</a> for extra perks!</em></blockquote><h3 id="2-small-growing-business-with-an-international-team">2. Small growing business with an international team <a class="markdownit-header-anchor" href="#2-small-growing-business-with-an-international-team">🔗</a></h3><p>If you’re in the growing stage and are slowly starting to get global (perhaps with the help of some investors or VC funds), that is an exciting place to be! It’s also a crucial stage where you'll need to think about localization more seriously. <a href="https://localazy.com/blog/4-key-findings-that-confirm-you-need-to-go-multilingual-for-global-reach-in-2024">Data</a> shows that investing in localization helps you successfully grow your brand overseas.<strong> This is the phase where the window is wide open for your global customers to start talking about you</strong> and for new ones to find and remember you. </p><p><strong>Start by choosing the market with the most potential</strong> and aligning your team with your new goal. Pick the one that excites you the most and has a good future outlook, and start localizing your brand image. If you're in this phase, don't forget to <a href="https://localazy.com/blog/7-ways-to-make-your-company-more-localization-friendly/">educate your team</a> on the importance of localization with data, training, and advocacy actions (this will make things easier in the long run). And keep in mind that, as your team grows, features such as clear <a href="https://localazy.com/features/language-permissions">Language Permissions</a> will become more important, so make sure to pick software that's scalable.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/12/image-6.png" class="kg-image" alt loading="lazy" width="1823" height="892" srcset="https://ghost.localazy.com/content/images/size/w600/2024/12/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/12/image-6.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/12/image-6.png 1600w, https://ghost.localazy.com/content/images/2024/12/image-6.png 1823w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">💽</div><div class="kg-callout-text">Compatible platforms and file formats often become an obstacle to localization. That's why we gladly support over 50 of them, from <a href="https://localazy.com/json">JSON files</a> to <a href="https://localazy.com/features/strapi-localization-plugin">Strapi</a> and <a href="https://localazy.com/features/figma-localization-plugin">Figma</a> integrations.</div></div><h3 id="3-medium-sized-company-with-an-in-house-translation-team">3. Medium-sized company with an in-house translation team <a class="markdownit-header-anchor" href="#3-medium-sized-company-with-an-in-house-translation-team">🔗</a></h3><p>If your workload is already considerable and your business has a bright outlook in several countries, you’ll now need effective tools such as translation memories, <a href="https://localazy.com/features/automated-workflows">automated workflows</a>, and QA as part of your translation project. <strong>Training your translators on these tools</strong> is the best way to unload some of the workload and focus on providing accurate briefs while keeping the team in the loop about the expansion. Automation, education, and providing as much context as possible are key here.</p><h3 id="4-established-company-relying-on-outsourcing">4. Established company relying on outsourcing <a class="markdownit-header-anchor" href="#4-established-company-relying-on-outsourcing">🔗</a></h3><p>Understandably, you’ve outsourced your work to a translation agency or a freelance translator in the past. This has probably helped you get to where you are, but you feel like there must be a more efficient way. Sending files back and forth and managing changes down the road is taking its toll. </p><p>What if there was a way to<strong> keep saving that time and be more in control </strong>of the entire localization and translation process <strong>while also saving you money</strong>?</p><p>Handling continuous localization without an in-house department or trusted partner who can cover all needs can be tricky. Luckily, there are solutions for this that integrate services into your translation management system, like our <a href="https://localazy.com/docs/general/continuous-localization-team">Continuous Localization Team</a>. This also helps you keep costs in check, which is a win-win.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/12/FAQs.png" class="kg-image" alt loading="lazy" width="2000" height="783" srcset="https://ghost.localazy.com/content/images/size/w600/2024/12/FAQs.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/12/FAQs.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/12/FAQs.png 1600w, https://ghost.localazy.com/content/images/2024/12/FAQs.png 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="faqs">🔎 FAQs <a class="markdownit-header-anchor" href="#faqs">🔗</a></h2><h3 id="how-expensive-is-localization">How expensive is localization? <a class="markdownit-header-anchor" href="#how-expensive-is-localization">🔗</a></h3><p>Localization costs depend on which stage you are in your expansion and how far you’re looking to expand. For smaller businesses and startups, <strong>it can start as low as $33 per month</strong>, such as with our <a href="https://localazy.com/tiers/professional/">Professional plan</a>, combined with help from your community and machine translations. </p><p>This can be, however, highly variable depending on the approach you adopt: you can also add the cost of hiring a proofreader or translator for a few hundred dollars monthly, or you can pay thousands of dollars each month if you choose more manual work and bring in several people to help. The point is to<strong> keep a good balance between quality and cost</strong>.</p><h3 id="how-can-i-reduce-localization-costs">How can I reduce localization costs? <a class="markdownit-header-anchor" href="#how-can-i-reduce-localization-costs">🔗</a></h3><p>Reduce your translation and localization costs by prioritizing what needs to be done now. This will benefit you now and in months and years to come. While some upfront investment may be necessary for long-term returns, <strong>you don’t always need to spend heavily from the start</strong>. You can also allocate a bigger budget as your revenue and needs grow. </p><blockquote>💡Using features like <a href="https://localazy.com/features/automated-workflows" rel="noopener noreferrer nofollow"><u>Automated Workflows</u></a> will help you keep your costs down</blockquote><h3 id="how-can-i-translate-my-software-for-free">How can I translate my software for free? <a class="markdownit-header-anchor" href="#how-can-i-translate-my-software-for-free">🔗</a></h3><p>There are tools out there that let you translate your app or software for free. For example, <strong>our Free Tier plan and ShareTM feature allow you to get started at no cost</strong>. While free options are great for starting out, if you want to localize properly, save time, and get top-quality translations, you’ll need more advanced paid tools. But if your budget is tight, free translation can still be a solid first step.</p><h3 id="do-i-need-to-hire-a-localization-team">Do I need to hire a localization team? <a class="markdownit-header-anchor" href="#do-i-need-to-hire-a-localization-team">🔗</a></h3><p>Not necessarily. What you really need in localization is someone who knows your target market and language. If you’re working on a big project, it’s a good idea to bring in someone who can handle multiple tasks and has a mix of skills or get help from external providers for certain jobs. The fewer people you bring in first, the more resources you will have left to invest in other directions. And if you add automation to the mix, scaling your content becomes much more manageable. </p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Creating a localization budget can be overwhelming. Business owners and managers feel they need to expand while keeping costs down, and find it hard to juggle all the tools in the market. </p><p>The good news is that <strong>you don’t need to hire a big team or spend a fortune to get started with localization</strong>. You can expand, build trust with new customers, and increase profits by:</p><ul><li>🔄 Automating processes</li><li>🪑 Choosing a platform <a href="https://localazy.com/blog/why-localazy-doesnt-charge-you-for-your-translation-seats">with unlimited seats</a></li><li>📩 Inviting your team and preferred freelancers to help</li><li>🦾 Getting help from MT, AI, and community translations</li><li>📝 Ordering translation and proofreading services when needed</li></ul><p>The strength of Localazy is <strong>our tools will step in exactly where you need them</strong>, keeping you in more control of your projects and letting you add more features as you grow. Let our TMS be your right hand, integrations be your minions and features like <a href="https://localazy.com/features/language-cdn">Language CDN</a> and <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow">CLI</a> be the essentials in your toolbox.</p><p>And if you want to go at it alone for now, reach out anyway and ask us for help to get you started, or read our guides and <u><a href="https://localazy.com/tags/localization" rel="noopener noreferrer nofollow">localization blog posts</a></u> where you’ll find lots of useful information.</p><p><strong>So, are you ready to kick off this first quarter and a year of cost-effective expansion? We’re cheering you on, whether from the sidelines or right there with you in the ring.</strong></p><p></p>]]></content:encoded>
            <author>Simona Rahmanova</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/01/localization-103.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localization for the Indian market: Reach users from the most populated country on Earth]]></title>
            <link>https://localazy.com/blog/localization-for-the-indian-market-how-to-reach-users-from-the-most-populated-country-on-earth</link>
            <guid isPermaLink="false">localization-for-the-indian-market-how-to-reach-users-from-the-most-populated-country-on-earth</guid>
            <pubDate>Tue, 08 Apr 2025 17:33:18 GMT</pubDate>
            <description><![CDATA[India is a region ripe with opportunities for global companies. Localization is, however, a necessity in a country where 22 recognized languages and hundreds of dialects are spoken, and where English is a different locale altogether. Learn why.]]></description>
            <content:encoded><![CDATA[<p>India is a land of great diversity. So much so that, <strong>of the world’s approximately <a href="https://indianexpress.com/article/lifestyle/art-and-culture/worlds-languages-spoken-indigenous-people-disappeared-8885755/">7,000 languages</a>, India speaks about 12%</strong>. That’s a great number! 💪 And that's not all: India can also boast of another impressive stat: <a href="https://www.un.org/development/desa/pd/sites/www.un.org.development.desa.pd/files/undesa_pd_2023_policy-brief-153.pdf">in 2023, it surpassed China as the most populous country in the world</a>, which makes the country a desirable target for global businesses looking to grow in South Asia.</p><p>Expanding to India comes with its own set of challenges, though. <strong>Language variety is one of them</strong>. Indian thought, life, and environment <a href="https://hub.localazy.com/en/regions/in-india">have been multilingual</a> for several millennia. The national song that they sing with such joy represents the country via its many linguistic groups, including those who speak <a href="https://hub.localazy.com/en/languages/pa-punjabi">Punjabi</a>, <a href="https://hub.localazy.com/en/languages/sd-sindhi">Sindhi</a>, <a href="https://hub.localazy.com/en/scripts/gujr-gujarati">Gujarati</a>, <a href="https://hub.localazy.com/en/languages/mr-marathi">Marathi</a>, <a href="https://en.wikipedia.org/wiki/Dravidian_languages">Dravidian</a>, <a href="https://hub.localazy.com/en/languages/or-odia">Odiya</a>, and <a href="https://hub.localazy.com/en/languages/bn-bangla">Bangla</a>. </p><p>In 1950, the Constituent Assembly agreed to add the Eighth Schedule, which recognized 14 languages at that time. <a href="https://rajbhasha.gov.in/en/languages-included-eighth-schedule-indian-constitution">The updated list</a> currently includes <strong>a total of 22 recognized tongues</strong>. In addition, hundreds of dialects are spoken by nomadic and <a href="https://en.wikipedia.org/wiki/Adivasi">Adivasi</a> people, as well as those in the northeast and along the coast.</p><p>Given the rich linguistic variety in the country, a valid question might arise for international companies: <strong>How should I localize</strong> <strong>to reach and impact Indian customers?</strong> Let's dive in to find out.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_791810508.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_791810508.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_791810508.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_791810508.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_791810508.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Jama Masjid, one of the largest mosques in India.</figcaption></figure><h2 id="hindi-as-a-communicative-glue">🇮🇳 Hindi as a communicative glue <a class="markdownit-header-anchor" href="#hindi-as-a-communicative-glue">🔗</a></h2><p><strong>India has <a href="https://hub.localazy.com/en/languages/hi-hindi">Hindi</a> and English as official languages</strong>. The states of Madhya Pradesh, Rajasthan, Uttarakhand, Uttar Pradesh, Jharkhand, Delhi, Haryana, and Uttar Pradesh all recognize Hindi as an official language. Additionally, one of the Hindi dialects, <strong><a href="https://en.wikipedia.org/wiki/Chhattisgarhi_language">Chhattisgarhi</a></strong>, is now the state's official language in Chhattisgarh. </p><p>Hindi-speaking figures are certainly impressive: according to the 2001 Census of India, <strong>over 422 million people in India are fluent in Hindi, which is the third most spoken language in the world</strong>. This makes it an unmissable part of localization strategies targeting this country.</p><h3 id="the-origins-of-the-language">The origins of the language <a class="markdownit-header-anchor" href="#the-origins-of-the-language">🔗</a></h3><p>Hindi traces its roots back to the <a href="https://en.wikipedia.org/wiki/Kauravi_dialect">Khariboli</a> language, which is spoken in the Delhi region. Between the ninth and tenth centuries AD, when Arabs invaded northern India and established control, the Afghans, Persians, and Turks used Khariboli as a common language to communicate with the locals. 🤝 Over time, a variant known as <a href="https://hub.localazy.com/en/languages/ur-urdu">Urdu </a>emerged, which borrowed heavily from Persian and Arabic and used the Perso-Arabic character. Additional terms for it included "mixed language."</p><p>The official version of Urdu supplanted Sanskrit, literary Prakrits, and Apabhramsas as the literary language as it became more favored by Muslim courts and evolved into a literary language. The second kind borrowed words and phrases from Sanskrit and used literary traditions borrowed from Sanskrit, Prakrits, and Apabhramsas. <strong>This variant is now commonly referred to as Hindi</strong>.</p><blockquote>Over 422 million people in India are fluent in Hindi, making it an unmissable part of any localization strategy in the country</blockquote><p><a href="https://en.wikipedia.org/wiki/Hindustani_language">Hindustani</a> is a hybrid language that shares elements with both Hindi and Urdu. Long before India gained its independence, Hindi-Urdu had been the de jure language of various regions due to historical and cultural factors as well as the inherent linguistic affinity among Indian languages.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_97687333.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_97687333.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_97687333.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_97687333.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_97687333.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>A religious scripture in Hindi.</figcaption></figure><p><strong>As a mark of their nation's pride during the fight for independence, Indian leaders took up Hindi as a national language</strong> and established <a href="https://en.wikipedia.org/wiki/Hindi_Day">Hindi Diwas</a> to celebrate this occurrence. Since the eleventh century, Hindi had found a home in literature. However, it didn't emerge as a fully developed literary language until the seventeenth century, when its prose development started.</p><h3 id="current-institutional-status">Current institutional status <a class="markdownit-header-anchor" href="#current-institutional-status">🔗</a></h3><p>In 1950, Hindi was officially recognized as the language of the Union of India. Written in the Devanagari script, it was designated as the official language by the country's constitution in Article 343:</p><blockquote>“The official language of the Union shall be Hindi in the Devanagari script. The form of numerals to be used for the official purpose of the Union shall be the international form of Indian numerals"</blockquote><p><strong>Hindi was to supersede English in 1965</strong> when it was designated as an associate language of the Union. Passed in 1963, the Official Language Act ensured that English would remain an associate official language in the country and in parliament indefinitely. </p><p>With the addition of <a href="https://hub.localazy.com/en/languages/mai-maithilihttps://hub.localazy.com/en/languages/mai-maithili">Maithili</a> to the list of national languages in India's Constitution, the number of recognized varieties of Hindi <a href="https://linguistics.illinois.edu/languages/hindi/about-hindi#:~:text=After%20Maithili%20becoming%20a%20national%20language%20(included%20in%20the%20VIII%20Schedule%20of%20the%20Constitution%20of%20India%20along%20with%2021%20other%20languages)%2C%C2%A0Hindi%20now%20has%2048%20officially%20recognized%20dialects%20(Census%20of%20India%2C%C2%A02001).">increased</a> to 48 in 2001 (Census of India, 2001).</p><h2 id="how-many-people-speak-it">🪔 How many people speak it? <a class="markdownit-header-anchor" href="#how-many-people-speak-it">🔗</a></h2><p><strong>Nearly 425 million people can speak <a href="https://hub.localazy.com/en/languages/hi-hindi">Hindi</a> fluently,</strong> and another 120 million use it as a second language. The states of Uttarakhand, Uttar Pradesh, Uttar Pradesh, Haryana, Bihar, Jharkhand, Madhya Pradesh, Rajasthan, Chhattisgarh, Maharashtra, and Punjab are among the most populous in India where Hindi is spoken.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_3155264.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1330" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_3155264.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_3155264.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_3155264.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_3155264.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Apart from <a href="https://worldmigrationreport.iom.int/wmr-2022-interactive/">the sizeable Indian diaspora</a> present in countries like Canada, the USA, the UK, Singapore, and Saudi Arabia, the following nations also have native Hindi speakers:</p><ul><li><strong>🇳🇵<a href="https://hub.localazy.com/en/regions/np-nepal">Nepal</a></strong>, where it is mostly spoken as a second language.</li><li><strong>🇬🇾 <a href="https://hub.localazy.com/en/regions/gy-guyana">Guyana</a></strong>, where Hindustani is a minority tongue.</li><li><strong>🇸🇷 <a href="https://hub.localazy.com/en/regions/sr-suriname">Suriname</a></strong>, where it is a common second language along with Dutch.</li><li><strong>🇫🇯 <a href="https://hub.localazy.com/en/regions/fj-fiji">Fiji</a></strong>, where <a href="https://hub.localazy.com/en/languages/hif-fiji-hindi">Fiji-Hindi</a> is an official language along with English and <a href="https://hub.localazy.com/en/languages/fj-fijian">Fiijan</a>.</li><li><strong>🇲🇺 <a href="https://hub.localazy.com/en/regions/mu-mauritius">Mauritius</a></strong>, where a small percentage of the population speaks Hindi.</li><li><strong>🇹🇹 <a href="https://hub.localazy.com/en/regions/tt-trinidad-tobago">Trinidad &amp; Tobago</a></strong>, where a Caribbean variety of Hindustani, commonly referred as <a href="https://en.wikipedia.org/wiki/Caribbean_Hindustani#:~:text=Many%20Indo%2DTrinidadians%20and%20Tobagonians,or%20prayers%20in%20Hindustani%20today.">Trinidadian Hindustani</a>, is spoken among the Indo-Trinidadian community.</li><li><strong>🇲🇾 </strong><a href="https://hub.localazy.com/en/regions/my-malaysia"><strong>Malaysia</strong></a>, where Hindi is spoken along with other Indian languages like Tamil, Gujarati, or <a href="https://en.wikipedia.org/wiki/Malayalam">Malayalam</a>.</li></ul><h2 id="dialects-of-hindi">🌶️ Dialects of Hindi <a class="markdownit-header-anchor" href="#dialects-of-hindi">🔗</a></h2><p>The Hindi language is multi-faceted and colorful. 🎨 Each of <strong>its 48 official dialects</strong> has its own distinct flavor and charisma. While millions of people throughout the world still use one or more of these dialects, others are at risk of dying out. </p><p>A number of dialects are products of historical and geographical factors, while others are products of regional languages and cultures. Official and standard dialects coexist with more informal and slang varieties, which are more common in rural regions. </p><p>Listed below are a few of the many varieties of Hindi:</p><ul><li><strong><a href="https://en.wikipedia.org/wiki/Kauravi_dialect">Khariboli</a></strong>: The official and most widely spoken Hindi dialect, it is spoken in Delhi and western Uttar Pradesh. Both contemporary Urdu and Hindi rely on it as their foundation.</li><li><strong><a href="https://en.wikipedia.org/wiki/Bombay_Hindi">Bambaiya</a></strong>: A Mumbai-speaker's colloquial dialect of Hindi-Urdu. Words and expressions from English, Hindi, Urdu, Marathi, and Gujarati are all mixed together.</li><li><strong><a href="https://en.wikipedia.org/wiki/Braj_Bhasha">Brajbhasha</a></strong>: A literary and lyrical variety of the <a href="https://hub.localazy.com/en/languages/bra-braj">Braj</a> language spoken in the area where Krishna is said to have resided. A wealth of analogies and Sanskrit words abound in it.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_321882869.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_321882869.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_321882869.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_321882869.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_321882869.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><ul><li><strong><a href="https://en.wikipedia.org/wiki/Bundeli_language">Bundeli</a></strong>: The rural and rustic dialect of central India, famous for its folk melodies and hilarious proverbs.</li><li><strong><a href="https://hub.localazy.com/en/languages/awa-awadhi">Awadhi</a></strong>: Spoken in areas of Nepal and eastern Uttar Pradesh, this dialect is lovely and musical. Many traditional artists and musicians speak it, and it is also the language of the epic <a href="https://www.worldhistory.org/The_Ramayana/">Ramayana</a>. </li><li><strong><a href="https://en.wikipedia.org/wiki/Chhattisgarhi_language">Chattisgarhi</a></strong>: A vibrant and vivacious dialect used in Chattisgarh and its surrounding states. There are a lot of unusual words and sounds in tribal languages that impact it.</li></ul><h2 id="the-future-of-the-language">🛕The future of the language <a class="markdownit-header-anchor" href="#the-future-of-the-language">🔗</a></h2><p>Language is important because it allows us to express ourselves, share our culture, and communicate with others. It is the bedrock of any society. Because India is home to such a wide array of languages, Hindi has grown in popularity and is now among the most spoken in the nation. <strong>Hindi <a href="https://www.livemint.com/news/india/in-india-who-speaks-in-english-and-where-1557814101428.html">continues to grow and prosper</a> in spite of English's widespread usage</strong>, providing hope for its speakers.</p><h3 id="the-impact-of-technology">The impact of technology <a class="markdownit-header-anchor" href="#the-impact-of-technology">🔗</a></h3><p>The proliferation of smartphones and internet connection in rural areas has increased the number of people who can access online content in the Hindi language. <strong>A large portion of the population has Hindi language preferences</strong>, and there is content available in Hindi on many websites, social networking sites, and e-commerce portals. This has led to a rise in the demand for <a href="https://agency.localazy.com/en/translate/hi/en">Hindi-English translation services</a>.</p><h3 id="business-and-financial-markets">Business and financial markets <a class="markdownit-header-anchor" href="#business-and-financial-markets">🔗</a></h3><p>Given the trajectory of India's economy, the importance of Hindi in the business world is immense. <strong>Despite English's dominance in global communication, Hindi <a href="https://www.researchgate.net/publication/310592329_Use_of_Hindi_Language_in_Online_Shopping_Websites_A_Predictor_of_Consumers'_Satisfaction">remains vital</a> for connecting businesses with the local population</strong>. As more Indian companies expand their home markets, the need for accurate and efficient English-to-Hindi translation grows.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_681391867-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1498" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_681391867-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_681391867-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_681391867-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_681391867-1.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>The skyline of Mumbai, the financial center of India and one of its busiest cities.</figcaption></figure><h3 id="official-initiatives">Official initiatives <a class="markdownit-header-anchor" href="#official-initiatives">🔗</a></h3><p>The Indian government has long supported Hindi usage as a means of fostering ethnic peace and preserving cultural identity. Various programs and activities have been launched to encourage using Hindi in official communication, education, and administration. Everyone in the country may now access government documents and solutions written in Hindi, as it has become a widely acknowledged language.</p><blockquote>Despite English's dominance in global communication, Hindi remains vital for connecting businesses with the local population</blockquote><h2 id="more-than-hindi-indias-linguistic-diversity">🪷 More than Hindi: India's linguistic diversity <a class="markdownit-header-anchor" href="#more-than-hindi-indias-linguistic-diversity">🔗</a></h2><p>The fact that India is home to so many different ethnic groups is likely the result of massive racial and ethnic migrations. There are at least <a href="https://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers_in_India">four main language families</a> represented in South Asian languages: Indo-European (with the majority of speakers belonging to the Indo-Aryan branch), Dravidian, Austro-Asiatic, and Sino-Tibetan. Let's take a closer look at them.</p><h3 id="the-indo-aryan-languages-bangla-gujarati-and-more">The Indo-Aryan Languages: Bangla, Gujarati & more <a class="markdownit-header-anchor" href="#the-indo-aryan-languages-bangla-gujarati-and-more">🔗</a></h3><p>Within the Indo-European language family, the Indo-Aryan sub-family comprises the greatest number of languages and mother tongues. The two most popular current Indo-Aryan languages spoken throughout the world are Hindi and Bangla. Across a large portion of northern India, the Hindi language is spoken in one of around 49 distinct variants.</p><p>The Gangetic plain and the surrounding areas speak Western Hindi, an Indo-Aryan language from the Midlands. Panjabi, Gujarati, and <a href="https://hub.localazy.com/en/languages/raj-rajasthani">Rajasthani</a> surround it on three sides. The southern regions of Oudh are home to speakers of Eastern Hindi. <a href="https://hub.localazy.com/en/scripts/orya-oriya-odia">Oriya</a>, Maithili, <a href="https://hub.localazy.com/en/scripts/beng-bengali-bangla">Bengali</a>, and <a href="https://hub.localazy.com/en/languages/as-assamese">Assamese </a>are spoken in the eastern area, whereas <a href="https://hub.localazy.com/en/languages/ks-kashmiri">Kashmiri</a>, <a href="https://hub.localazy.com/en/languages/lah-lahnda">Lahnda</a>, Sindhi, Gujarati, and Marathi are common in the northern and western regions.</p><blockquote>Across a large portion of northern India, Hindi is spoken in one of around 49 distinct variants</blockquote><h3 id="the-dravidian-languages-tamil-and-more">The Dravidian Languages: Tamil and more <a class="markdownit-header-anchor" href="#the-dravidian-languages-tamil-and-more">🔗</a></h3><p><a href="https://ignca.gov.in/Asi_data/6696.pdf">Robert A. Caldwell</a> was the first to adopt the term "Dravidian," derived from the Sanskrit word "Dravida." As of this writing, <strong>there are <a href="https://www.education.gov.in/sites/upload_files/mhrd/files/upload_document/languagebr.pdf">26 Dravidian languages</a> in use today; four of them are widely spoken around the globe</strong>. Of these, 25 are spoken in India, and one of them, <a href="https://hub.localazy.com/en/languages/brh-brahui">Brahui</a>, is spoken in Baluchistan, which is located on the border between <a href="https://hub.localazy.com/en/regions/pk-pakistan">Pakistan </a>and <a href="https://hub.localazy.com/en/regions/af-afghanistan">Afghanistan</a>. The extensive grammatical and linguistic-literary heritage of Classical Tamil is primarily responsible for the antiquity of Dravidian languages, which <strong>over <a href="https://www.britannica.com/topic/Dravidian-languages">215 million</a> people speak in South Asia</strong>.</p><p><a href="https://hub.localazy.com/en/languages/ml-malayalam">Malayalam</a>, <a href="https://hub.localazy.com/en/languages/kn-kannada">Kannada</a>, and <a href="https://hub.localazy.com/en/languages/te-telugu">Telugu</a> —three of the more prominent Dravidian languages— also have distinct scripts and literary histories that go back to before Christianity, while <a href="https://en.wikipedia.org/wiki/Kodava_language#:~:text=Linguistically%2C%20Kodava%2FKodagu%20language%20belongs,%2C%20Malayalam%2C%20Tamil%20and%20Tulu.">Kodagu</a>, <a href="https://en.wikipedia.org/wiki/Toda_language">Toda-Kota</a>, <a href="https://en.wikipedia.org/wiki/Kolami">Kolami-Naiki</a>, <a href="https://www.britannica.com/topic/Parji-language">Parji-Gadaba</a>, <a href="https://hub.localazy.com/en/languages/gon-gondi">Gondi</a>, <a href="https://en.wikipedia.org/wiki/Konda_language_(Dravidian)">Konda</a>, <a href="https://en.wikipedia.org/wiki/Manda_language_(India)">Manda-Kui</a>, and <a href="https://hub.localazy.com/en/languages/tcy-tulu">Tulu</a> are among the lesser Dravidian languages.</p><p>The rest of the Dravidian languages can be divided as follows:</p><ul><li><strong>The Northern Group</strong>: comprised of Brahui, <a href="https://en.wikipedia.org/wiki/Malto_language">Malto</a>, and <a href="https://en.wikipedia.org/wiki/Kurukh_language">Kurukh</a>. </li><li><strong>The Central Group</strong>: includes the most widely spoken Dravidian dialects, such as <a href="https://hub.localazy.com/en/languages/gon-gondi">Gondi</a>, Konda, Kui, Parji, Kolami, or Telugu.</li><li><strong>The Southern Group</strong>: includes <a href="https://hub.localazy.com/en/languages/ta-tamil">Tamil</a>, Tulu, Kannada, Kodagu, Toda, Kota, and Malayalam.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/09/Ancient_Telugu_Script_displayed_at_Telugu_Museum_3-2.jpg" class="kg-image" alt loading="lazy" width="1599" height="1066" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/Ancient_Telugu_Script_displayed_at_Telugu_Museum_3-2.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/Ancient_Telugu_Script_displayed_at_Telugu_Museum_3-2.jpg 1000w, https://ghost.localazy.com/content/images/2024/09/Ancient_Telugu_Script_displayed_at_Telugu_Museum_3-2.jpg 1599w" sizes="(min-width: 720px) 720px"><figcaption>An ancient example of the Telugu language. Source: <a href="https://en.wikipedia.org/wiki/File:Ancient_Telugu_Script_displayed_at_Telugu_Museum_3.jpg">Wikipedia</a>.</figcaption></figure><h3 id="the-austric-family-the-munda-languages">The Austric Family: The Munda languages <a class="markdownit-header-anchor" href="#the-austric-family-the-munda-languages">🔗</a></h3><p>There are two subgroups of Austric languages: Austroasiatic and Austronesian (previously Malayo-Polynesian). The Pacific Islands, Southeast Asia, and India are home to their native speakers.</p><p><a href="https://en.wikipedia.org/wiki/Munda_languages">Munda</a>, <a href="https://www.britannica.com/topic/Mon-Khmer-languages">Mon-Khmer</a>, and <a href="https://en.wikipedia.org/wiki/Mường_language">Vietnamese Muong</a> are the three offshoots of the Austroasiatic branch; the first of these is the Indian branch. The southern and eastern regions of India are home to the Munda languages, like <a href="https://hub.localazy.com/en/languages/sat-santali">Santali</a>, <a href="https://en.wikipedia.org/wiki/Mundari_language">Mundari</a>, <a href="https://en.wikipedia.org/wiki/Bhumij_language#:~:text=Bhumij%20is%20an%20Austroasiatic%20language,Jharkhand%2C%20Odisha%20and%20West%20Bengal.">Bhumij</a>, <a href="https://en.wikipedia.org/wiki/Birhor_language">Birhar</a>, <a href="https://en.wikipedia.org/wiki/Ho_language">Ho</a>, Tri, <a href="https://en.wikipedia.org/wiki/Korku_language">Korku</a>, Khari, <a href="https://en.wikipedia.org/wiki/Juang_language#:~:text=The%20Juang%20language%20is%20a,of%20Odisha%20state%2C%20eastern%20India.">Juang</a>, and <a href="https://en.wikipedia.org/wiki/Sora_language">Savara</a>.</p><p><strong>Even though there are pockets of Munda speakers in the plains and valleys, the majority live in the hills and jungles</strong>. The Cheros of Bihar and Chota Nagpur, as well as the Kherwars of the Mirzapur area, are among the Aryanized northern Indian tribes that trace their ancestry back to the Munda people.</p><h3 id="the-tibeto-burman-languages">The Tibeto-Burman Languages <a class="markdownit-header-anchor" href="#the-tibeto-burman-languages">🔗</a></h3><p>From the northernmost tip of Tibet to the southernmost tip of Burma, and from the westernmost tip of the Indian state of Jammu and Kashmir to the easternmost parts of the Chinese provinces of Sze-Chuen and Yunnan, the Tibeto-Burman family of languages is widely spoken.</p><p>Most people are familiar with a few Tibeto-Burman languages: <a href="https://hub.localazy.com/en/scripts/lepc-lepcha-rong">Lepcha</a>, <a href="https://en.wikipedia.org/wiki/Bhutia_language">Sikkimese</a>, <a href="https://en.wikipedia.org/wiki/Garo_language#:~:text=Garo%2C%20also%20referred%20to%20by,areas%20of%20the%20neighbouring%20Bangladesh.">Garo</a>, <a href="https://hub.localazy.com/en/languages/brx-bodo">Bodo</a>, <a href="https://hub.localazy.com/en/languages/mni-manipuri">Manipuri</a>, and <a href="https://hub.localazy.com/en/languages/njo-ao-naga">Naga</a>. <strong>Aside from a handful that have some similarities with Tibetan, the languages spoken in the South Himalayas</strong>, spanning from <a href="https://hub.localazy.com/en/regions/bt-bhutan">Bhutan </a>in the east to <a href="https://en.wikipedia.org/wiki/Stod_Bhoti">Lahul</a> in the west (Himachal Pradesh), <strong>are distinctly different</strong>.</p><p><a href="https://en.wikipedia.org/wiki/Naga_languages">The Naga languages</a>, subgroups of the Bodo and Tipra, and themselves are now famous. In the middle ground, you'll find <a href="https://en.wikipedia.org/wiki/Kuki-Chin_languages#:~:text=The%20Kuki%2DChin%20languages%20(also,western%20Myanmar%20and%20southeastern%20Bangladesh.">the Kuki-Chin languages</a>, together with <a href="https://en.wikipedia.org/wiki/Mizo_language">Lushai</a> and Manipuri.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_515782402.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_515782402.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_515782402.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_515782402.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_515782402.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>A view of the town of Gangtok, in the Indian state of Sikkim.</figcaption></figure><h3 id="other-tongues">Other tongues <a class="markdownit-header-anchor" href="#other-tongues">🔗</a></h3><p>Isolated languages include <a href="https://en.wikipedia.org/wiki/Burushaski">Burushaski</a> of the northwest and several tiny languages that do not readily fit into any of the aforementioned big groups. Additionally, there are distinct groups of languages, such as <a href="https://en.wikipedia.org/wiki/Andamanese_languages">Andamanese</a>, which encompasses a wide variety of Andamanese dialects; to this group, one may extend the inclusion of six or so languages spoken in the 22 or so <a href="https://www.britannica.com/place/Nicobar-Islands">Nicobar Islands</a>.</p><h2 id="indian-english-as-a-global-window">🌏 Indian English as a global window <a class="markdownit-header-anchor" href="#indian-english-as-a-global-window">🔗</a></h2><p>India has one of the world's largest English-speaking communities, as the language has become a global gateway. However, <strong>due to the country's social and linguistic diversity, many people don't speak or understand the language</strong>. </p><p>Despite not reflecting local culture, colonialism has made Standard British English the educational paradigm. <a href="https://files.eric.ed.gov/fulltext/EJ1244241.pdf">Indian English is seen as the national model</a> owing to its distinctive lexical, grammatical, phonological, and conversational qualities, which make it a lingua franca both domestically and internationally.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_666239204.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_666239204.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_666239204.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_666239204.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_666239204.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>A public sign, written both in English and Hindi.</figcaption></figure><p>English has a significant presence in Indian tourism, government administration, education, and within the military forces. It is also essential in business and general commerce, and it has been a constant in the country's media and entertainment - in fact, films were shown solely in English until the early 1990s.</p><h3 id="why-only-the-wealthy-and-famous-speak-english-these-days">Why only the wealthy and famous speak English these days <a class="markdownit-header-anchor" href="#why-only-the-wealthy-and-famous-speak-english-these-days">🔗</a></h3><p>There is a vast array of complex reasons why English has become the language of India's ruling class and government. Still, <strong>many Indians think that being fluent in English</strong> —and not just any old English, but English as a first language— <strong>is crucial to the success of their country and to their own future</strong>. </p><p>Despite the bizarre scarcity of English-speaking educators, some Indian governments have sought to address the needs of the underprivileged by instituting English as the language of instruction in all public schools. And the best part is that most people can still speak their own languages.</p><blockquote>English has become the language of India's ruling class and goverment. Many Indians believe that being fluent in English is crucial to their individual sucess and to the success of their country</blockquote><p><strong>Hindi (422 million), Bengali (83 million), Telugu (75 million), Marathi (71 million), Tamil (60 million), Urdu (51 million), Gujarati (46 million), and Punjabi (29 million) are the top languages spoken in India</strong>, according to the <a href="https://en.wikipedia.org/wiki/2001_census_of_India#:~:text=First%2C%20second%2C%20and%20third%20languages%20by%20number%20of%20speakers%20in%20India%20(2001%20census)">country's census statistics</a>. The Indian states are typically divided along linguistic lines. Each state has its own unique history of literature, art, dance, politics, and value systems.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_478125766-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_478125766-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_478125766-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_478125766-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_478125766-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Languages are much more than a way to communicate; they dictate what people read, think, value, pursue in their leisure time, and advance in their professional lives. The most painful part is that generations of Indian writers, activists, actors, artists, playwrights, innovators, orators, and businesspeople have been ignored or marginalized due to favoritism towards the English language, and as a result, <strong>Indian culture is deteriorating</strong>.</p><blockquote>Despite the presence of English, Hindi, Bengali, Telugu, Marathi, Tamil, Urdu, Gujarati, and Punjabi are the most spoken languages in the country</blockquote><p>Fascinatingly, tech giants like Google, Facebook, Microsoft, and Samsung are assisting local governments and the general public in advancing their languages. Think about how Google is reworking <a href="https://economictimes.indiatimes.com/tech/technology/google-to-continue-expanding-capacity-of-india-data-centre-zones/articleshow/113917154.cms?from=mdr">Andhra Pradesh's IT infrastructure</a> to be more <a href="https://hub.localazy.com/en/languages/te-telugu">Telugu</a>-friendly or how Samsung is developing phones with local language capabilities, even while local officials use English on their campaign signs.</p><p>But learning the language isn't the only thing localization in India entails; <strong>it also involves learning the culture</strong>. A region's culture, along with its interests and preferences, is inseparable from its language in India. Concentrating on language localization may help businesses gain a deeper grasp of the culture and ensure their messaging respects cultural sensitivities. This fosters loyalty and trust.</p><h2 id="choosing-your-business-language">🤝 Choosing your business language <a class="markdownit-header-anchor" href="#choosing-your-business-language">🔗</a></h2><p>The country's rich linguistic variety shapes business discourse in India. <strong>Some companies in India opt to localize their messaging according to the location and the language that is typically spoken there</strong>, even though Hindi and English are undeniably the languages of business in India.</p><p>For example, if your company is interested in opening a branch in India, it must follow both the federal laws governing the country and the state-level legislation that is particular to that region. You are free to use English while dealing with state administrations. Still, <strong>it will be easier to break the ice if your business and its employees can speak the official language of the state</strong>. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_453822495.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_453822495.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_453822495.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_453822495.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_453822495.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>English will get you understood but is not enough to penetrate the Indian market.</figcaption></figure><p>This is doable if you staff your business with native speakers of the language spoken most often in the state. When trying to market something to a certain demographic, though, what steps should you take? Firstly, you need to figure out who you're selling to and what characteristics they have, <strong>with the language they speak being the most important one.</strong></p><blockquote>Even though English is common in India, it will be easier to break the ice in your business relationships if you can speak the official tongue of the state. Furthermore, you risk losing potential clients if you ignore the regional language of the area you're expanding to</blockquote><p>You should localize all of your advertising content in a specific regional language such as Bengali, Marathi, or Tamil if you believe your audience comprehends it. If you don't,<strong> you risk losing potential clients</strong>.</p><p>The conventional wisdom holds that localization is the key to success in the Indian market. In other words, <strong>if you want to reach people in the Tamil Nadu market, you'll need to tailor your messages to the Tamil language</strong>. Similarly, if you're trying to break into the Marathi-speaking areas, you'll need to tailor your messages to the Marathi language.</p><blockquote>🗣️ Are you set on your language or languages of choice to expand to India? Contact Localazy's Continuous Localization Team <a href="https://localazy.com/features/continuous-localization-team/">here</a> and order professional translation services in a few clicks</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_707021712.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1332" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_707021712.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_707021712.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_707021712.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_707021712.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="localize-for-indias-distinctiveness">💫 Localize for India's distinctiveness <a class="markdownit-header-anchor" href="#localize-for-indias-distinctiveness">🔗</a></h2><p>As far as language diversity goes, India is possibly unique among countries. There are an incredible <a href="https://indianexpress.com/article/india/more-than-19500-mother-tongues-spoken-in-india-census-5241056/">19,500 languages or dialects</a> that are used as first language. Naturally, this has far-reaching consequences for companies and the ways they communicate with customers. The advantages of language translation for success can be better grasped when this crucial demographic factor is understood.</p><p>Localization is about truly connecting with your audience and becoming a part of their everyday lives. With Localazy, you can make your content easy to manage, linguistically accurate, and culturally relevant for the diverse Indian market. </p><p>Our Continuous Localization Team, and our TMS supported by powerful integrations and automated workflows, make this more efficient for you. Explore our content and <a href="https://localazy.com/blog/guide-localazy-translation-services">our translation services guide</a> to see how we can help your brand resonate deeply with India’s multilingual and multicultural audience.</p>]]></content:encoded>
            <author>Agnee Ghosh</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/11/locales--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Cutting intermediaries in travel: Speak the language of your direct MICE clients]]></title>
            <link>https://localazy.com/blog/cutting-intermediaries-in-travel-speak-the-language-of-your-direct-clients</link>
            <guid isPermaLink="false">cutting-intermediaries-in-travel-speak-the-language-of-your-direct-clients</guid>
            <pubDate>Fri, 15 Aug 2025 07:59:41 GMT</pubDate>
            <description><![CDATA[Discover how language may affect your chances with direct MICE clients as a destination management company (or another hospitality provider). This article is based on a cold outreach campaign carried out for a DMC in Cyprus in 2023–2024.]]></description>
            <content:encoded><![CDATA[<p>Travel, and <a href="https://hospitalityinsights.ehl.edu/what-is-mice">MICE tourism</a> (Meetings, incentives, conferences, and exhibitions) specifically, thrives on partnerships. If you're in this sector, you likely collaborate with several sales and marketing partners. But would I be wrong to say you'd prefer to do business directly?</p><p>Let's say you are <a href="https://www.tourwriter.com/dmos-vs-dmcs/">a destination management company (DMC)</a>, for example. You value outbound agencies' input as local market experts, <strong>an expertise that largely comes from speaking their home country's language</strong>.</p><p>According to <a href="https://www.linkedin.com/in/jirisykora83/">Jiří Sýkora</a>, CEO of the flight ticket search engine <strong><a href="https://www.flightics.com/es/">Flightics</a></strong>, the demand for travel services available in native languages is growing. "In recent years, we have observed a trend where even people who are not confident in using English are traveling independently without traditional travel agencies," Jiří says.</p><p>I'm inviting you on a quest to discover whether local expertise still matters in our increasingly globalized world. 🔭 And if so, we will find out whether local travel advisors' monopoly on linguistic and cultural expertise remains unchallenged.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/businesspeople-standing-escalator-with-luggage_107420-95921-1.jpg" class="kg-image" alt loading="lazy" width="900" height="600" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/businesspeople-standing-escalator-with-luggage_107420-95921-1.jpg 600w, https://ghost.localazy.com/content/images/2024/11/businesspeople-standing-escalator-with-luggage_107420-95921-1.jpg 900w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-it-all-started">👟 How it all started <a class="markdownit-header-anchor" href="#how-it-all-started">🔗</a></h2><p>This story began in 2023. My long-time copywriting client, a company operating several DMCs, asked me to help develop new relationships for their inbound agency in Cyprus. "Mick, you possess solid persuasive writing skills in English and German," the agency's co-founder and MICE director told me. "Why don't you help us set appointments for online presentations with MICE agencies in Western Europe via email and LinkedIn?"</p><p>It sounded like a new challenge with measurable results I could showcase later, so I leaped at the opportunity. During the 13 months that followed, I learned a lot about MICE marketing and, more specifically, the role of language.</p><h2 id="outbound-agencies-lingua-franca-vs-native-languages">✈️ Outbound agencies: lingua franca vs. native languages <a class="markdownit-header-anchor" href="#outbound-agencies-lingua-franca-vs-native-languages">🔗</a></h2><p><strong>Initially, I was sure English would suffice as a first-touch language</strong> because we were reaching out to agencies that work internationally. But my client insisted on using German when contacting Germans, Austrians and the Swiss, and French with the francophones (she helped me translate my messages).</p><p>I did as requested, and now we can study the results together. Even if you don't like numbers as much as I do, please bear with me; the ones I've got here won't bite.</p><p>We contacted more than 400 outbound agencies located in:</p><ul><li><strong>Two anglophone countries</strong>: the UK and Ireland.</li><li><strong>Four countries whose languages we spoke</strong>: Germany, Austria, Switzerland, and France.</li><li><strong>Four countries</strong> <strong>whose languages we didn't speak</strong>: the Netherlands, Belgium (we chose English for both parts of the country), Sweden, and Norway.</li></ul><p>Let's dive deeper.</p><h3 id="french-agencies">French agencies <a class="markdownit-header-anchor" href="#french-agencies">🔗</a></h3><p>My client was adamant: "French agencies won't respond to English." But emailing them in their native language turned out to be a disaster — zero replies! Upon agreement with my client, I switched to English, and recipients started getting back to me. Most declined our invitation to a call, though.</p><p>At the same time, French agency owners and managers responded well on LinkedIn when approached in their native language. This led me to the conclusion that <strong>it's best to approach francophones in this business without intermediaries and in French</strong>.</p><h3 id="german-agencies">German agencies <a class="markdownit-header-anchor" href="#german-agencies">🔗</a></h3><p>While contacting German-speaking agencies, we didn't change our approach like we did with the French. I emailed them in German, while my client used English on LinkedIn.</p><blockquote>🎙️ Localization can be powerful indeed. <a href="https://localazy.com/blog/suceeding-in-switzerland-means-localizing-from-day-one-bridging-the-gap-s02-ep09">Listen to Clanq's CEO, Christina Hammer</a>, speak about localizing this Swiss-German fintech product in four languages from day one.</blockquote><h3 id="channels">Channels <a class="markdownit-header-anchor" href="#channels">🔗</a></h3><p>Given that we used different languages across email and LinkedIn for most contacts, we should keep in mind that response rates might differ between the two channels.</p><!--kg-card-begin: html--><table style="border: medium; border-collapse: collapse;"><colgroup><col width="133"><col width="254"><col width="239"></colgroup><tbody><tr style="height: 26.25pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Countries</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Email response rate, %</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt 0pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">LinkedIn response rate, %</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Netherlands</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(244, 204, 204); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">24.62</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(217, 234, 211); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">28.21</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Belgium</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(217, 234, 211); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">21.88</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(244, 204, 204); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">21.06</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Sweden</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(244, 204, 204); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">14.5</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(217, 234, 211); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">25</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Norway</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(244, 204, 204); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">13.05</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(217, 234, 211); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">37.5</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">UK, Ireland</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(217, 234, 211); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">23.81</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(244, 204, 204); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">18.19</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Germany, Austria, Switzerland</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(244, 204, 204); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">13.31</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(217, 234, 211); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">34.94</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">France</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(244, 204, 204); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">8.43</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(217, 234, 211); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">46.27</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">AVERAGE</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(244, 204, 204); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">18.51</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(217, 234, 211); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">27.94</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">AVERAGE ENG</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(244, 204, 204); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">19.57</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(217, 234, 211); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">25.99</span></p></td></tr></tbody></table><!--kg-card-end: html--><p>As you can see, we got most responses on LinkedIn. But what about the language used?</p><!--kg-card-begin: html--><table style="border: medium; border-collapse: collapse;"><colgroup><col width="134"><col width="252"><col width="239"></colgroup><tbody><tr style="height: 26.25pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Countries</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Response rate in native language, %</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Response rate in lingua franca, %</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Netherlands</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">N/A</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">25.97</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Belgium</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">N/A</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">21.57</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Sweden</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">N/A</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">17.21</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Norway</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">N/A</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">23.08</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">UK, Ireland</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">20.94</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">N/A</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Germany, Austria, Switzerland</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(244, 204, 204); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">13.31</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(217, 234, 211); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">34.94</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">France</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(217, 234, 211); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">34.03</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; background-color: rgb(244, 204, 204); padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">9.24</span></p></td></tr><tr style="height: 15.75pt;"><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">AVERAGE</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">22.76</span></p></td><td style="border-width: 0.75pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: bottom; padding: 2pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.38; text-align: right; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">22.01</span></p></td></tr></tbody></table><!--kg-card-end: html--><p>The overall statistical difference between response rates when contacting agencies in their native tongue versus a lingua franca proved insignificant. But I noticed some curious regional discrepancies:</p><ul><li><strong>🇩🇪 German-speaking agencies prefer to be approached in English</strong> and are more responsive to the lingua franca than all others.</li><li>🇬🇧 Ironically, <strong>anglophones were less responsive to messages in English</strong> than all but Swedes and French.</li><li><strong><strong>🇫🇷</strong> <strong>Unsurprisingly, <strong>francophone agencies are least responsive in English</strong> </strong></strong>but more responsive in their mother tongue than anglophones.</li></ul><p>My impression was that <strong>all Western European outbound agencies accept the international language</strong>, and many even prefer it over their native tongue. Only the French disrupt the overall harmonious picture.</p><blockquote>After contacting 400+ outbound travel agencies located in 10 European countries, we found out that most of them preferred English as a lingua franca – many of them even over their native tongue</blockquote><h2 id="direct-clients-and-dmcs">🏝️ Direct clients and DMCs <a class="markdownit-header-anchor" href="#direct-clients-and-dmcs">🔗</a></h2><p>Now to the most interesting part. For every outbound agency whose website can be switched to English, there are 3.3 that are only available in their native tongue.</p><p>It seems the outbound MICE industry doesn't prioritize winning international business, including incoming agencies. <strong>Outbound travel agents focus on targeting companies in their home country, and</strong> <strong>they do so using their direct clients' language</strong>.</p><p>This also explains why your networking efforts with these partners during trade shows haven't paid off. While you chase after appointments with them, they are giving you tough love by pursuing someone else, all within a limited time frame.</p><p>Meanwhile, <strong>DMCs still try to communicate with everyone in English.</strong> As I've developed my appointment-setting services, I've built a sizeable list of DMCs in the Balkans, Greece, Malta, and Japan. Only about 37% of incoming agency websites offer languages other than English or their native tongue.</p><blockquote>For every outbound agency whose website can be switched to English, there are 3.3 that are only available in their native tongue. Outbound travel agents focus on targeting companies in their home country, and<strong> </strong>they do so using their direct clients’ language</blockquote><h2 id="a-reality-check-for-the-status-quo">⏰ A reality check for the status quo <a class="markdownit-header-anchor" href="#a-reality-check-for-the-status-quo">🔗</a></h2><p>Most travel and MICE businesses seem to have agreed to play by rules set decades ago, where every business's role is clearly defined. But things have changed. People move around. Technology develops. Consumer behavior evolves. Boundaries between countries and industries blur. A shift in thinking and regular reality checks are in order.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/AdobeStock_107478501.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/AdobeStock_107478501.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/AdobeStock_107478501.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/AdobeStock_107478501.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/11/AdobeStock_107478501.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Here are a few things that intermediaries are losing their monopoly on right now:</p><h3 id="local-expertise">Local expertise <a class="markdownit-header-anchor" href="#local-expertise">🔗</a></h3><p>The native knowledge of languages and cultures in your target markets has long been considered an advantage you aren't supposed to have. Migration and the internet are changing that.</p><p>I live in Bulgaria, a country that has recently seen an influx of expats from all over the world. Customer support centers are among the biggest employers here, hiring native speakers of all languages locally. And I don't think this trend is unique to Bulgaria. With target language speakers on the ground and people connected online like never before, <a href="https://localazy.com/blog/why-and-how-to-provide-local-expertise-to-foreign-clients?srsltid=AfmBOop4F1mr-sfImgJN7jb5QkF797sqUBlkvbZSxnCAL8w2FXCnr8DZ"><strong>local expertise is now available globally</strong></a>.</p><h3 id="advanced-technology">Advanced technology <a class="markdownit-header-anchor" href="#advanced-technology">🔗</a></h3><p><a href="https://localazy.com/blog/mythbusters-we-dont-have-the-budget-for-localization?srsltid=AfmBOoq5_DD87UzGdSHfpyNfXklOoGKfcxXJNk_zCfP9ipaXo4c4wOEM">Localization used to be an expensive toy</a>. But so were GPS, air travel, and multimedia guides. 👀</p><p>Previous generation automated translation tools, although fast, lacked quality. And, programming-wise, creating a version of your website in a different language used to take a lot of effort. As a result, many small and mid-sized businesses have assumed a constraint: "I can't afford quality localization." </p><p>But things have changed. AI and automation tools <a href="https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization?srsltid=AfmBOoouH6mym4QHfhxj4lR598_4D5J7RvL2tO-ErxwUcfmL9qK3Japw">have multiplied the results one person can deliver</a> over time, reducing costs and speeding up processes. To see how far the technology has advanced, consider the following examples. </p><p>This page, originally in French (left), has been translated by today's Chrome (right):</p><!--kg-card-begin: html--><table style="border: medium; border-collapse: collapse; table-layout: fixed; width: 468pt;"><colgroup><col><col></colgroup><tbody><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(255, 255, 255); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: medium; display: inline-block; overflow: hidden; width: 298px; height: 227px;"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfGRaMASre2vu86OCEvVwh_-VQHhnHwHkbaExG15_VZWcU5aHzh45t5PoFobx7KTnNv3cgCZ9P63QTQQy9H0Zr3WDhkevN2HOA4VFw2LWPbJjPVSiU3lzIzFXS002FGJ0zWeV-tkA?key=7WWyQOuW0BkZIDxIeGeeQHXN" width="298" height="227" style="margin-left: 0px; margin-top: 0px;"></span></span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(255, 255, 255); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: medium; display: inline-block; overflow: hidden; width: 298px; height: 227px;"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdV00hhASUEZ8oyYN2ioRWGNcHTK97EKgg1AgxYfFlO8Zk_bodojW4060TdiJktq8ooTaqvd1ekF52rXSEQXudt3DWGP2EnOhmX5UkwxqEDi0jkHRCBtt-YSVC0LXBYkfiSgSzP4bjwW9bSTooPbf6oL2js?key=7WWyQOuW0BkZIDxIeGeeQHXN" width="298" height="252.8511061759739" style="margin-left: 0px; margin-top: 0px;"></span></span></p></td></tr></tbody></table><!--kg-card-end: html--><p>Here's how the latest ChatGPT-4 would translate the screenshot in French:</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcJ6pvY96n-o8FUwtpnMAL7LY3u37TDECE2ZFmZwLWRzKmHtY-zYt6FMQBwUcllONyBHMu8rtez8B9tv6znR9U8TH9p7VhgCAc7ZLrosrLZhLMN4P4Fwu5g5rwRZwy2V0jJIt-r7xZMeOMH6qVfltDRjSwO?key=7WWyQOuW0BkZIDxIeGeeQHXN" class="kg-image" alt loading="lazy"></figure><p>AI can translate simple pieces like this page's title better than previous-generation automated tools. More nuanced content, like the body copy in this example, will require a native speaker's input, but a human translator <a href="https://localazy.com/blog/how-to-use-chatgpt-to-your-advantage-in-translation-with-examples-gpt-series-1">can move mountains</a> with today's technology.</p><p>Perhaps more importantly, advanced software and talent is no longer exclusively available to third-party startups powered by VC money. Services like Localazy have extended localization in the MICE sector to small and mid-sized businesses, allowing a healthy return on investment.</p><blockquote>🦾  Interested in using AI in your favor for localization? Explore further AI reads <a href="https://localazy.com/tags/ai?srsltid=AfmBOoon9rkn1zqP7oYtxH7sIo8utD377q3ba52PwlLropGLfDVa7wHO">here</a></blockquote><h2 id="why-question-the-old-ways">👀 Why question the old ways?  <a class="markdownit-header-anchor" href="#why-question-the-old-ways">🔗</a></h2><p>You're used to working with your partners. And if it works, why change it?</p><p>I talked with a few incoming agencies, many of whom mentioned their frustration with <strong>the excess of middlemen in the business chain</strong>. Some reasons for their frustration are as old as the hills, while others stem from recent MICE industry trends that surfaced in 2024. Let's take a closer look.</p><h3 id="patch-holes-in-your-sales-pipeline">Patch holes in your sales pipeline <a class="markdownit-header-anchor" href="#patch-holes-in-your-sales-pipeline">🔗</a></h3><p>Let's do simple math. If you manage $1 million in annual bookings and typically pay 20% in commissions to intermediaries, that's $200,000 annually. By securing even 50% of bookings directly, you could save $100,000.</p><h3 id="regain-control-over-pricing">Regain control over pricing <a class="markdownit-header-anchor" href="#regain-control-over-pricing">🔗</a></h3><p>When doing business directly, you have greater control over your pricing and the strategies you use to attract MICE tourism.</p><h3 id="address-transparency-demands">Address transparency demands <a class="markdownit-header-anchor" href="#address-transparency-demands">🔗</a></h3><p>MICE clients increasingly <a href="https://skift.com/2024/08/22/hotel-chains-bet-on-new-ways-of-selling-to-corporate-travelers/">demand</a> more transparency and control over their spending. Your partners may or may not be interested in addressing this growing need.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/AdobeStock_813592353.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1380" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/AdobeStock_813592353.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/AdobeStock_813592353.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/AdobeStock_813592353.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/11/AdobeStock_813592353.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="face-the-growing-oligopoly">Face the growing oligopoly <a class="markdownit-header-anchor" href="#face-the-growing-oligopoly">🔗</a></h3><p>While the travel sector sticks to its old ways, aggregators are <a href="https://info.skift.com/hubfs/Skift-Megatrends-2025.pdf">changing the rules</a>. The Amazons, Googles, and Alibabas of this world are stealing your customers with new offers addressing their evolving needs. To keep up, you need to innovate, and if your partner doesn't acknowledge that, you might be better off alone.</p><h3 id="rise-above-mediocrity">Rise above mediocrity <a class="markdownit-header-anchor" href="#rise-above-mediocrity">🔗</a></h3><p>Industry experts <a href="https://info.skift.com/hubfs/Skift-Megatrends-2025.pdf">recognize</a> that service quality plummeted during the COVID crisis and continues to fall short. 📉 If your partner has grown complacent, you might serve your clients better directly without changing much of what you're already doing.</p><h3 id="seize-the-growing-trend">Seize the growing trend <a class="markdownit-header-anchor" href="#seize-the-growing-trend">🔗</a></h3><p>Work from home is here to stay. To maintain the spirit of remote teams, businesses <a href="https://www.phocuswire.com/schubert-lou-trip-com-group">host</a> bigger and more frequent team retreats, <em>workations,</em> and reward trips.</p><p>These clients don't like sorting things out themselves, which is good for your local partners who have connections and speak the language. But do these partners acknowledge the growing importance of MICE tourism? If not, you may want to take the helm and steer your boat toward the current.</p><blockquote>According to industry experts, service quality plummeted during the COVID crisis and continues to fall short. This, coupled with a lack of control over pricing and transparency, is one of the reasons why travel businesses catering to MICE clients might consider getting rid of middlemen</blockquote><h3 id="take-charge-of-your-marketing">Take charge of your marketing <a class="markdownit-header-anchor" href="#take-charge-of-your-marketing">🔗</a></h3><p>Do you think you can present your destination and services more attractively than your partners do? If so,<strong> language could be the last barrier keeping you from reaching your direct clients — and one that's easy to overcome</strong>.</p><p>These are just a few reasons why you might want to part ways with at least some of your partners. You know which apply to you, which don't, and which are not on this list.</p><h2 id="the-first-touch-point-your-website">💻 The first touch point: your website <a class="markdownit-header-anchor" href="#the-first-touch-point-your-website">🔗</a></h2><p>Travel agency managers like to say that website content doesn't matter in B2B because of how decisions are made. Do they mean a decision-maker wouldn't go to a website and book a custom program with a click of a button? If so, it makes sense. This happens, but so rarely that you can't build a reliable marketing strategy upon such a scenario. But things may look different from another angle.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/AdobeStock_552556704.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/AdobeStock_552556704.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/AdobeStock_552556704.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/AdobeStock_552556704.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/11/AdobeStock_552556704.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>In B2B, a sales cycle includes multiple interactions, and your website provides one of the early touchpoints. Consider this: many outbound agencies I contacted asked me for information about my client first. They expected a slide deck or a dedicated page on my client's website — a landing page focused on MICE.</p><p>A B2B landing page aims to <strong>inform readers and inspire them to reach out for more information.</strong> If it does so successfully, the all-important first touch happens. And language plays a huge role in reducing friction toward the next stage of the relationship. <a href="https://www.linkedin.com/in/jannik-abraham/">Jannik Abraham</a>, the Managing Director of vacation rental service <strong><a href="https://www.smoobu.com/es/">Smoobu</a></strong>, puts it best:</p><blockquote><em>“Whatever you can do to eliminate friction for your customers is worthwhile and critical to delivering a solid customer experience. So, being multilingual is a must in the travel industry, regardless of whether you’re offering a service to a host or a guest.”</em></blockquote><p>That said, the first touch isn't likely to immediately lead to a sale. But it will start a conversation that might generate multiple sales in the future. This is the idea that inspired creating your own website in English in the first place.</p><blockquote><em>💻 </em>Related read: <a href="https://localazy.com/blog/how-to-localize-translate-website-in-three-steps-localazy">How to localize &amp; translate your website in three steps with Localazy?</a></blockquote><h2 id="boost-direct-business-through-localization">📈 Boost direct business through localization <a class="markdownit-header-anchor" href="#boost-direct-business-through-localization">🔗</a></h2><p>Let's paint an ideal picture. Say your sales team speaks multiple languages, and you work with a guide on the ground for every language widely spoken by guests of your destination. <strong>In this case, you have no excuse to not work with clients directly</strong>.</p><p>As your website provides the first touchpoint, you need content that engages the intended reader. And if the reader is a decision-maker in your direct client company, the content should be in their native language. Odds are that you will find native-speaking translators for that language with Localazy. Its localization experts are backed by the latest technology, which multiplies their efforts like an exoskeleton. You can read more about Localazy's translation services <a href="https://localazy.com/blog/guide-localazy-translation-services">here</a>, or book a no-obligation demo call <a href="https://localazy.com/book-demo">here</a>.</p>]]></content:encoded>
            <author>Mick Chistopolov</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/11/Travel-industry.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[4 benefits of translating your e-learning content (and how to do it easily)]]></title>
            <link>https://localazy.com/blog/4-benefits-of-translating-your-e-learning-content-and-how-to-do-it-easily</link>
            <guid isPermaLink="false">4-benefits-of-translating-your-e-learning-content-and-how-to-do-it-easily</guid>
            <pubDate>Thu, 28 Nov 2024 07:31:00 GMT</pubDate>
            <description><![CDATA[The e-learning industry keeps growing as the need for better educational materials increases. Learn how localization helps you reach and teach more people, and how to implement it.]]></description>
            <content:encoded><![CDATA[<p>The concept of e-learning and e-learning platforms has gained popularity in recent years, and its developments have resulted in a significant increase in education both in and outside academic institutions. According to <a href="https://www.researchandmarkets.com/report/e-learning#:~:text=The%20global%20e%2Dlearning%20market,8.6%25%20during%202023%2D2032.">a report by Research and Markets</a>, the global e-learning market was valued at $316.2 billion in 2023 and <strong>is projected to reach $661.6 billion by 2032</strong>, growing at a compound annual growth rate<strong> of 8.56%</strong>. </p><p>Wildly popular brands like Duolingo, which focuses on language learning, and Udemy or LinkedIn Learning, which support business and professional development, are celebrated and used globally by individuals and companies alike. For instance, Duolingo boasts over <a href="https://duolingoguides.com/how-many-people-use-duolingo/">500 million registered users</a> worldwide, while Udemy offers over <a href="https://about.udemy.com/">250,000 courses</a> to a global audience of over 75 million learners across 75 languages.</p><p>These platforms have a long list of benefits, as they provide greater learning flexibility and convenience, allowing students to learn in self-paced environments with varying schedules. ⏰ But they are also extremely useful for global corporations, that now use e-learning widely because<strong> it enables collaborative learning catered to global audiences</strong>.</p><p>We've all heard of some of the most popular e-learning platforms, including Edx, Udacity, and Coursera, which provide online learning from international institutions and universities. But what about the tools used to build the courses offered within them and included in in-house corporate platforms? And <strong>does localizing these courses have a tangible impact on businesses?</strong></p><blockquote>🕵️‍♂️ Hint: Yes! More about professional e-learning localization <a href="https://localazy.com/term/e-learning-localization?srsltid=AfmBOoqkeLbFYf7KNn7MzmIk_HuwnxQNdaBdH1AJoFlPtMTrBY0JRon5">here</a>.</blockquote><h2 id="why-localize-your-e-learning-content">🧑‍🏫 Why localize your e-learning content? <a class="markdownit-header-anchor" href="#why-localize-your-e-learning-content">🔗</a></h2><p>Making your e-learning content work for different languages and cultures has a lot of advantages. <strong>When you take the time to adapt your materials, you're creating something that feels familiar and relevant to your audience</strong>. These are just four of the benefits of translating your e-learning content for a global audience:</p><h3 id="increase-engagement-with-learners">Increase engagement with learners <a class="markdownit-header-anchor" href="#increase-engagement-with-learners">🔗</a></h3><p>Content that caters to all learners, irrespective of language or location, enhances their engagement and nurtures their interest in the learning materials. It also allows the learner to easily understand and retain information in their native language, which significantly boosts their growth, mastery of the subject, and appreciation for your brand. </p><h3 id="communicate-your-points-better">Communicate your points better <a class="markdownit-header-anchor" href="#communicate-your-points-better">🔗</a></h3><p>Delivering explanations and instructions in a learner's <a href="https://localazy.com/dictionary/dialect/">native dialect</a> prevents any misinterpretation of the content and eliminates distractions from language and cultural barriers, enabling learners to concentrate on the subject matter.</p><blockquote>Content that caters to all learners, irrespective of language or location, enhances their engagement and nurtures their interest in the learning materials</blockquote><h3 id="stay-compliant-with-legal-requirements">Stay compliant with legal requirements <a class="markdownit-header-anchor" href="#stay-compliant-with-legal-requirements">🔗</a></h3><p>Localization helps avoid misunderstandings caused by ineffective adaptations for different audiences. It also ensures that your e-learning translation complies with language and regulatory requirements specific to a particular region or country.</p><h3 id="improve-market-competitiveness">Improve market competitiveness <a class="markdownit-header-anchor" href="#improve-market-competitiveness">🔗</a></h3><p>Personalized content tailored to a specific region can enhance customer satisfaction and loyalty, ultimately resulting in customer retention, the ultimate objective of any brand. 🏆 Localizing e-learning content also gives brands a competitive advantage in the global market because <strong>it demonstrates a commitment to understanding and meeting local expectations</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/medium-shot-woman-presenting-1.jpg" class="kg-image" alt loading="lazy" width="2000" height="2002" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/medium-shot-woman-presenting-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/medium-shot-woman-presenting-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/medium-shot-woman-presenting-1.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/11/medium-shot-woman-presenting-1.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="common-problems-with-e-learning-l10n">⚠️ Common problems with e-learning l10n <a class="markdownit-header-anchor" href="#common-problems-with-e-learning-l10n">🔗</a></h2><p>When translating content, developers and managers face several technical challenges that can impede the process. Here are some of the main concerns:</p><ul><li><strong>💰 Budget</strong>: Extensive content localization can be pretty costly, especially for complex content, due to the cost of professional translators and additional development work.</li><li><strong>🧑‍🤝‍🧑 Version control</strong>: Content or software updates can be complicated and time-consuming when dealing with multiple language versions. For example, to update the source language content, all available translated versions must also be updated.</li><li><strong>🧩 CMS integration</strong>: <a href="https://localazy.com/blog/top-10-multilingual-content-management-systems">Some content management systems</a> lack the necessary tools to manage translations and support multilingual content. Features such as automatic language detection and seamless switching between language versions are unavailable.</li><li><strong>💬 Text formatting</strong>: Adding support for different languages, particularly those with different character sets (e.g., <a href="https://hub.localazy.com/en/languages/zh-chinese">Chinese</a>, <a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand?srsltid=AfmBOopPGMr6OplCN6wCFaZSyuutskpzg8nEPqPFJeA_V55R2KvuAy3E#4-difficult-formatting">Arabic</a>), can be technically difficult. <a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go/">Translation text frequently expands or contracts</a> when compared to the original language, causing layout and design issues. There are usually problems with text rendering, formatting, and right-to-left translation. German text may take up 30% more space than English text, whereas Chinese text may require less space.</li></ul><p>All in all, translating and localizing content can be tricky due to costs, keeping language versions updated, and systems that don't support multilingual content. Formatting challenges, like text size differences and direction, add to the complexity. The key is <strong>having the right tools and a clear plan to handle these issues</strong> and produce better e-learning content. </p><h2 id="e-learning-l10n-made-easy-with-localazy">📚 E-learning l10n made easy with Localazy <a class="markdownit-header-anchor" href="#e-learning-l10n-made-easy-with-localazy">🔗</a></h2><p>Getting good e-learning content translations can be pricey and a bit of a headache, especially since most tools aren't appropriate for them. Bad translations can hurt your business and make learning less effective. That's where Localazy comes in — it makes translating your content easier and more affordable so you can serve your e-learning materials to people everywhere without the hassle. </p><p>Localazy helps you automate your workflows and lets you choose your own machine translation engine <a href="https://localazy.com/docs/general/additional-mt-engines/">from a list of different providers</a>, including Amazon Translate and DeepL. However, you're also given the option to have <a href="https://localazy.com/dictionary/human-assisted-mt">human-assisted machine translation</a> and <a href="https://localazy.com/docs/general/continuous-localization-team">order professional translations</a>, which leads to better outputs.</p><p>Currently, Localazy supports the following e-learning translation formats:</p><ul><li><a href="https://localazy.com/ispring-suite">iSpring</a></li><li><a href="https://localazy.com/adobe-captivate">Adobe Captivate</a></li><li>️<a href="https://localazy.com/rise-360">Articulate Rise 360</a></li></ul><h3 id="adobe-captivate">Adobe Captivate <a class="markdownit-header-anchor" href="#adobe-captivate">🔗</a></h3><p><a href="https://www.adobe.com/products/captivate.html">Adobe Captivate</a> is a powerful e-learning authoring tool that helps you create responsive, interactive, and engaging educational content. 🎓 This software allows users to create a wide range of academic materials ranging from simple courses to complex simulations and interactive videos, all without the need for programming knowledge.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/image-6.png" class="kg-image" alt loading="lazy" width="1717" height="879" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/image-6.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/image-6.png 1600w, https://ghost.localazy.com/content/images/2024/11/image-6.png 1717w" sizes="(min-width: 720px) 720px"></figure><p>This is how you can translate content created with Adobe Captivate on Localazy:</p><p><strong>1. Open your course file in Adobe Captivate</strong>. Export the source content as XML. Go to the File tab and select <em>Export</em>, followed by <em>To XML</em>. You should save this file on your computer.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcm4Nh132PvPGVKAwb4Gnbcyeaig2n9jRk790SNf-NlDUl0_jmUZCxYV_VJt9A1o3WnPySiSUIOIQnanALY7_S-d814kth0ZvdJOyZTaqOSPjlKXOeLdCyRzOqQ8BFwCIWTLVac4DcUGBrD772X0KeFoQL9?key=e1SXg9Uu5R7dBUfUsB9ArQ" class="kg-image" alt loading="lazy"><figcaption>Exporting an Adobe Captivate sample course before localizing it.</figcaption></figure><p><strong>2. Next, <a href="https://localazy.com/register">sign up</a> or<a href="https://localazy.com/login"> log in</a> to the Localazy dashboard</strong>.<strong> </strong>Add the translated languages (in our case, Spanish and Dutch) to the dashboard. Then, you'll be able to choose your preferred method to translate the content, whether it is professional translation services, machine translation, or a mix of both (you can explore your options in <a href="https://localazy.com/blog/guide-localazy-translation-services/">this guide</a>).</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfqFHYlMC9hhbJKXOkx5RJkeZqdUsxJ7rfj0CIq69QpCXTKFM27BZ94HsvgHIMlK1uY0evUTT6coDT9KgyKuLE6y77MDjdvnChV7chUpa4KV2ihVsvt3gFOpwRVTK1BhUDRG3PqZzeR98IxNXLRMpODEQw?key=e1SXg9Uu5R7dBUfUsB9ArQ" class="kg-image" alt loading="lazy"></figure><p><strong>3. Wait for translations to be completed</strong>.<strong> </strong>Once the translations are complete, navigate to the File Management tab, export, and download the translated XML file.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXflrqlEgah6BI7WFPtvGZOFfwEIyKmJRAUty62y1wK6mxaGPBKecyXFKuc0XcbD5pL7IQaAupsHDFqdMJHZsauwwkG0cx6wKTjHRrsPwnzF40Acsl-7zJh2hMuyv18LOKBWn496uG1WJg7_K7nUbgfiIRqo?key=e1SXg9Uu5R7dBUfUsB9ArQ" class="kg-image" alt loading="lazy"><figcaption>Localazy file management in action.</figcaption></figure><p><strong>4. Now we have to import the translated content into Adobe Captivate</strong>. Within Adobe Captivate, use the <em>File</em> tab to import the translated XML file. This process will produce a translated version of your content.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfR6kCcxAxkT1AbyZS2EqUEOW1xfHzyAN5lMR0W325T8r_G9dBNTsRy7h42G_ZFJYae42s9JfqRFo-hXGJDKaELJM_cwByLHvYElbdw0wSLHXBRyjQJZ636naFLy933I9OOhIvX3d808_HjZwofmaxNIhPK?key=e1SXg9Uu5R7dBUfUsB9ArQ" class="kg-image" alt loading="lazy"><figcaption>After importing from Localazy, the Spanish translation is ready to be shared.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd-D0tz2Vpzhf9VKs9LXCGo0VThLXn7RDapnGm-Y2HguFJZ2e3VNVZi0IVnGvF-5daRHBf7mFolUcCeYSuRAaksvQr3SccGkre-IRYDVNCMex677dLHHbhDXzEVrPeXZrbw2D2LiyHgCJ9dxWlAeNSPhW8?key=e1SXg9Uu5R7dBUfUsB9ArQ" class="kg-image" alt loading="lazy"><figcaption>The Dutch version imported to Captivate.</figcaption></figure><h3 id="ispring-suite">iSpring Suite <a class="markdownit-header-anchor" href="#ispring-suite">🔗</a></h3><p><a href="https://www.ispringsolutions.com/ispring-suite">iSpring Suite</a> is an e-learning authoring toolkit that enables users to create a diverse range of interactive e-learning content, such as courses, quizzes, video tutorials, and roleplay simulations. The toolkit is well-known for its user-friendly interface, which makes it accessible even to those with basic technical skills. It is important to note that this platform integrates seamlessly with Microsoft PowerPoint.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/image-5.png" class="kg-image" alt loading="lazy" width="1619" height="865" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/image-5.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/image-5.png 1600w, https://ghost.localazy.com/content/images/2024/11/image-5.png 1619w" sizes="(min-width: 720px) 720px"></figure><p>This is how you can translate content created with iSpring on Localazy:</p><ol><li><strong>The first step is to export our source content in <a href="https://localazy.com/xliff">XLIFF format</a></strong>.<strong> </strong>Open the course, click the translation button, and then choose <em>Export Text</em>. Select the language of the source content and then click Export.</li><li><strong>Access the Localazy dashboard and add the translated languages</strong>. </li><li><strong>Wait for the translations to be completed</strong>. Once they are done, export and download the translated XLIFF file from the file tab.</li><li><strong>Import the translated content</strong>. To finalize the process, go back to iSpring Suite, select <em>Translation</em>, and then <em>Import Text</em>. After choosing the translated file and clicking <em>Import,</em> save the localized course as a copy.</li></ol><h3 id="articulate-rise-360">Articulate Rise 360 <a class="markdownit-header-anchor" href="#articulate-rise-360">🔗</a></h3><p><a href="https://www.articulate.com">Articulate</a> is a comprehensive suite of e-learning software for developing engaging and interactive online courses. Users frequently use tools like Rise 360 and Storyline 360 within the software to create responsive, multimedia-rich e-learning courses. This article focuses on Rise 360, a tool that prioritizes responsiveness and simplicity, enabling course developers to create mobile-friendly courses using pre-built templates. It is excellent for quickly making courses look professional, even if you do not know much about programming.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/image-7.png" class="kg-image" alt loading="lazy" width="1885" height="872" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/image-7.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/image-7.png 1600w, https://ghost.localazy.com/content/images/2024/11/image-7.png 1885w" sizes="(min-width: 720px) 720px"></figure><p>This is how you can translate content created with Articulate Rise 360:</p><ol><li><strong>Export the content</strong>. Navigate to <em>Settings</em>, then <em>Translations</em>, and export the materials to your computer as an XLIFF file. We recommend using the HTML formatting.</li><li><strong>Go to the Localazy dashboard</strong>. Add the languages and start translating.</li><li><strong>Save the translated content</strong>. After you have finished translating, select <em>Export &amp; Download</em> under File Management in Localazy to save the localized files on your device.</li><li><strong>Finally, import the files back into Rise 360</strong>.<strong> </strong>Open the content created in Step 1 and then go to<em> Settings and Translations</em> to import the translated XLIFF file. Correct any errors and ensure that the file matches its original content.</li></ol><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/female-student-choosing-course-distance-learn.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/female-student-choosing-course-distance-learn.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/female-student-choosing-course-distance-learn.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/female-student-choosing-course-distance-learn.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/11/female-student-choosing-course-distance-learn.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="3-features-to-make-the-process-smoother">🔍 3 features to make the process smoother <a class="markdownit-header-anchor" href="#3-features-to-make-the-process-smoother">🔗</a></h2><p>There are a few key features of a TMS that can really simplify the translation process of e-learning materials. Tools that deal with duplicate content, keep your terms consistent, and manage formatting can make everything run much smoother. Let's take a look at some of them.</p><h3 id="duplicate-texts-and-translation-memory">Duplicate texts & translation memory <a class="markdownit-header-anchor" href="#duplicate-texts-and-translation-memory">🔗</a></h3><p>When translating content, it's common to encounter duplicate phrases or sentences. <strong>Translating these duplicates multiple times not only consumes valuable time, resources, and translation memory, but also poses a risk of translation inconsistencies</strong>. Remember – the key to saving time on this is to leverage the right tools to streamline the translation process and ensure consistency across all translations.</p><blockquote>➡️ With Localazy's <a href="https://localazy.com/docs/general/duplicity-linking">Duplicity Linking feature</a>, you can make one key the source for all others with similar content. The linked key then marks the other keys as hidden and provides their translation</blockquote><h3 id="glossary">Glossary <a class="markdownit-header-anchor" href="#glossary">🔗</a></h3><p>A well-kept glossary keeps translations precise across many different cultures, making it essential for successful localization, especially in the case of lengthy and complex content. The registered terms ensure consistent terminology throughout the translated courses.</p><blockquote>📝 The<a href="https://localazy.com/docs/general/how-to-define-your-glossary"> Localazy Glossary</a> is an essential QA tool that provides translators with context, enabling them to deliver high-quality translations</blockquote><h3 id="tag-collapsing">Tag collapsing <a class="markdownit-header-anchor" href="#tag-collapsing">🔗</a></h3><p>Tag collapsing refers to the practice of reducing or <strong>simplifying repetitive or unnecessary tags</strong> when translating and localizing content. This allows translators to focus on the text rather than formatting or multimedia tags, which increases translation efficiency. It also reduces the risk of accidentally altering tags, maintaining consistency across languages.</p><p>It is important to choose e-learning translation services that allow selective tag collapsing. This feature hides only non-essential tags, leaving important structural tags visible. Inconsistent handling of tags (such as<em> &lt;strong&gt;</em>, <em>&lt;em&gt;</em>, or <em>&lt;p&gt;</em>) can disrupt the formatting or functionality of the e-learning course.</p><blockquote>💡 Did you know that Localazy offers a tag collapsing feature, too? We simplified the interface where your translators work to hide most of the HTML code and display texts in a cleaner manner. This was made possible by adding an <a href="https://localazy.com/faq/advanced-features/how-does-the-xml-html-tag-collapse-work">HTML/XML tag collapsing feature</a></blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/Collapsing-Tags-5.png" class="kg-image" alt loading="lazy" width="1280" height="628" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Collapsing-Tags-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/Collapsing-Tags-5.png 1000w, https://ghost.localazy.com/content/images/2024/11/Collapsing-Tags-5.png 1280w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/Collapsing-Tags-6.png" class="kg-image" alt loading="lazy" width="1280" height="628" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Collapsing-Tags-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/Collapsing-Tags-6.png 1000w, https://ghost.localazy.com/content/images/2024/11/Collapsing-Tags-6.png 1280w" sizes="(min-width: 720px) 720px"></figure><p><strong>The right features can make a complex translation process a breeze</strong>. In the end, time is precious. Resolving these technicalities will help you create multilingual e-learning content faster than you'd ever expected.</p><blockquote>👀 Find your preferred course content format/platform and start localizing <a href="https://localazy.com/docs">here</a>. </blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Translating your e-learning content can bring immense benefits, including expanding your global reach, improving learner engagement, and ensuring compliance with local regulations. The key to easily achieving these benefits is to leverage the right processes and tools, including the right localization software.</p><p>Localazy is working to expand its support for other e-learning formats. For further help integrating your preferred tool, you can contact the team at <a href="mailto:team@localazy.com">team@localazy.com</a>. With these said, happy localizing! </p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/11/4-e-learning-benefits-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Strapi v5 isn't just an update: The real upgrade story for CTOs]]></title>
            <link>https://localazy.com/blog/whats-new-on-strapi-v5-the-real-upgrade-story-for-ctos</link>
            <guid isPermaLink="false">whats-new-on-strapi-v5-the-real-upgrade-story-for-ctos</guid>
            <pubDate>Fri, 22 Nov 2024 11:03:22 GMT</pubDate>
            <description><![CDATA[To migrate or not to migrate? If you're a regular Strapi user, you might wonder if upgrading to Strapi v5 is worth it. Make an informed decision for you and your team with the help of our cheatsheet.]]></description>
            <content:encoded><![CDATA[<div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong><em>Brought to you by <a href="https://notum.cz/en/">Notum Technologies</a>, software development experts and official Strapi partners.</em></strong></div></div><p><a href="https://strapi.io/five">Strapi v5 is here</a>, but <strong>upgrading isn't a simple yes or no decision - it's a strategic one</strong>. While v5 brings new features and code improvements, the migration process requires planning, especially if your project relies heavily on plugins. In this article, we'll break down what's new in v5 and how to navigate the upgrade without stumbling on major roadblocks.</p><blockquote><em>For a deeper dive, check out our livestream covering the v5 launch event </em><a href="https://www.youtube.com/watch?v=VNtb69TCP0g&amp;t=17s" rel="noopener noreferrer nofollow"><em><u>here</u></em></a><em> and our trial of the v5 Release Candidate migration </em><a href="https://www.youtube.com/watch?v=swZlsUqLn9U" rel="noopener noreferrer nofollow"><em><u>here</u></em></a><em>.</em></blockquote><h2 id="major-features-to-know-without-the-hype">👀 Major features to know (without the hype) <a class="markdownit-header-anchor" href="#major-features-to-know-without-the-hype">🔗</a></h2><p>Strapi v5 has some key improvements, but how do they stack up for your team?</p><h3 id="draft-and-publish">Draft & Publish <a class="markdownit-header-anchor" href="#draft-and-publish">🔗</a></h3><p><a href="https://strapi.io/blog/draft-publish-content-history-strapi-5">This feature</a> allows you to manage draft and published content in the same environment. In v4, content was only available as a draft or as a published version. The new functionality enables content editors to prepare another version of already published content and potentially preview the changes before publishing them. </p><p>Both published and draft versions are available through the API.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>In short: </strong>It’s a game changer for teams that juggle multiple versions of content and don’t want to deploy separate environments for staging.</div></div><h3 id="content-history">Content History <a class="markdownit-header-anchor" href="#content-history">🔗</a></h3><p><a href="https://docs.strapi.io/user-docs/content-manager/working-with-content-history">The new Content History</a> allows editors to revert to previous versions of your documents. This feature is helpful for recovering deleted content or comparing its current state with former iterations. However, it's a paid feature that is unavailable to community users.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>In short: </strong>The ability to roll back to previous versions of content gives users peace of mind, especially for teams in regulated industries or with strict approval workflows.</div></div><h3 id="typescript-at-its-core">TypeScript at its core <a class="markdownit-header-anchor" href="#typescript-at-its-core">🔗</a></h3><p><a href="https://strapi.io/blog/vite-and-typescript-strapi-5">Strapi's integration with TypeScript</a> reduces runtime errors and boosts reliability, but your team will need to be familiar with this language.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>In short:</strong> Support for Typescript has been enhanced in v5 on all fronts.</div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Screens--1--1.png" class="kg-image" alt loading="lazy" width="2000" height="1571" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Screens--1--1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/Screens--1--1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/Screens--1--1.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/11/Screens--1--1.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>The new Draft &amp; Publish feature is a handy addition for teams managing multiple document versions.</figcaption></figure><h2 id="how-v5-will-impact-your-team">🧑‍💻 How v5 will impact your team <a class="markdownit-header-anchor" href="#how-v5-will-impact-your-team">🔗</a></h2><p>If you are a frequent Strapi user, you might wonder what the practical impact of this new set of features will be. Here's a rundown:</p><h3 id="codebase-changes">Codebase changes <a class="markdownit-header-anchor" href="#codebase-changes">🔗</a></h3><p>Some under-the-hood changes make v5 faster and more reliable, but one breaking change to be aware of is <strong>the new plugin API</strong>. Although it allows for faster development, the plugin ecosystem still needs to catch up. </p><p>This means <strong>your existing plugins might need more than a simple tweak to work in v5,</strong> including refactoring work for design systems, build processes, and some Strapi APIs. </p><h3 id="breaking-changes">Breaking changes <a class="markdownit-header-anchor" href="#breaking-changes">🔗</a></h3><p>Breaking changes<a href="https://docs.strapi.io/dev-docs/migration/v4-to-v5/breaking-changes"> are a bigger deal in v5</a> than previous versions. This is especially true for the plugin ecosystem.</p><ul><li><strong>⛓️‍💥 Plugin support is still catching up</strong>: While v5 offers great long-term benefits, many community and third-party plugins are still being updated. If you rely heavily on critical plugins, it's worth holding off on migrating until they're fully supported.</li></ul><blockquote>➡️ This is the case of the <a href="https://strapi.io/integrations/Localazy">Localazy Strapi plugin</a>, which is currently being updated and will be ready to deploy during Q1 2025.</blockquote><ul><li><strong>☎️ There are format changes in the API response</strong>: Strapi's response format is different in v5, but you can switch back to the v4-style format using the strapi.responseFormat: 'v4' header. This buys you time while updating your front-end, allowing a phased approach.</li></ul><h3 id="the-migration-path-not-without-its-challenges">The migration path: not without its challenges <a class="markdownit-header-anchor" href="#the-migration-path-not-without-its-challenges">🔗</a></h3><p>Strapi v5 comes with improved documentation and better migration tools than its predecessors, but it's not a frictionless process.</p><ul><li><strong>📚 Better but not perfect docs</strong>: While Strapi <a href="https://docs.strapi.io/dev-docs/migration/v4-to-v5/introduction-and-faq">has improved its migration documentation</a>, it's still not entirely comprehensive. If your setup includes custom plugins or heavy customizations, you'll likely hit a few snags.</li><li><strong>🔎 Migration trial results</strong>: A few months ago, we conducted a migration trial of the v5 Release Candidate. The process was smoother than expected, but it still highlighted areas where community plugins and custom configurations needed manual work. You can watch our migration walkthrough<a href="https://www.youtube.com/watch?v=swZlsUqLn9U" rel="noopener noreferrer nofollow"> </a><u><a href="https://www.youtube.com/watch?v=swZlsUqLn9U" rel="noopener noreferrer nofollow">here</a></u>.</li></ul><h3 id="strapi-cloud-and-deployment-considerations">Strapi Cloud & deployment considerations <a class="markdownit-header-anchor" href="#strapi-cloud-and-deployment-considerations">🔗</a></h3><p><a href="https://strapi.io/cloud">Strapi Cloud</a> supports both v4 and v5, but the push is clearly towards v5 adoption. <strong>If you're self-hosting, you'll need to handle the full migration process internally</strong>, including database updates and plugin adjustments.</p><h2 id="whats-the-roi-on-strapi-v5">💸 What's the ROI on Strapi v5? <a class="markdownit-header-anchor" href="#whats-the-roi-on-strapi-v5">🔗</a></h2><p>The improvements in Strapi v5 can enhance productivity, but the real benefit comes after the initial hurdles. Here's what you can expect:</p><ul><li><strong>🏃‍♂️‍➡️ Speed gains for developers</strong>: With TypeScript, your team can write more reliable code with fewer bugs, which will improve development speed over time.</li><li><strong>✏️ Streamlined content management</strong>: Draft &amp; Publish and Content History reduce the need for multiple environments, helping teams manage content with fewer manual steps.</li><li><strong>🏋️ Future-proofing your tech stack</strong>: The longer-term gains will come as plugin support solidifies and your team adapts to the new architecture.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Screens_langs-2.png" class="kg-image" alt loading="lazy" width="2000" height="785" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Screens_langs-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/Screens_langs-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/Screens_langs-2.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/11/Screens_langs-2.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>The localization tabs in action in the newest Strapi version.</figcaption></figure><h2 id="what-about-localization">👀 What about localization? <a class="markdownit-header-anchor" href="#what-about-localization">🔗</a></h2><p>Going into v5, you won't have to worry much about l10n modifications, as the process works similarly to v4. The biggest change comes with<strong> the Draft &amp; Publish feature, which is now multilingual </strong>- each language can have its own draft and published versions, which wasn't possible in v4. 🎉 Note that this will, however, complicate your content database as documents will multiply, so you'll need to keep an eye on the relations between source texts and translations.</p><h2 id="faqs-before-migrating-to-strapi-v5">📝 FAQs before migrating to Strapi v5 <a class="markdownit-header-anchor" href="#faqs-before-migrating-to-strapi-v5">🔗</a></h2><ol><li><strong>What plugins are critical to your workflow? </strong>Have they been updated to v5 yet? If not, are you prepared to wait for the community to catch up?</li><li><strong>How dependent is your team on custom plugins? </strong>How much effort will it take to migrate these, especially with breaking changes in the codebase?</li><li><strong>Are you ready for the TypeScript shift? </strong>If your team isn't comfortable with TypeScript, how much ramp-up time will they need?</li><li><strong>How will you manage API response changes? </strong>Do you plan to keep the v4-style response in place temporarily, or will you update front-end apps alongside the v5 upgrade?</li><li><strong>What's your content workflow like? </strong>If Draft &amp; Publish and Content History would significantly improve your workflow, it might be worth pushing the upgrade sooner.</li><li><strong>Are you self-hosting or using Strapi Cloud? </strong>Strapi Cloud helps simplify some of the deployment pain, but self-hosters need to carefully plan for database migrations and backend changes.</li><li><strong>How critical is real-time support? </strong>If you face issues during migration, is your team ready to reach out to the Strapi community or rely on external support?</li><li><strong>What's your timeline for migration? </strong>Are you ready to migrate now, or are you in a position to wait until plugin support and documentation further improve?</li></ol><h2 id="conclusion"> ✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Strapi v5 is bringing significant improvements in developer experience and content management. The decision to migrate will depend on your team's ability to adapt to Typescript, your current content workflows, and your reliance on custom plugins. We hope this guide has helped you make an informed decision about it. </p><blockquote>Questions? Notum's Strapi experts are <a href="https://notum.cz/en/strapi/">here</a> for you! And if you haven't upgraded to v5 yet, you can still squeeze all the potential of the <a href="https://localazy.com/strapi/">Localazy Strapi integration</a> - update coming soon. 😉</blockquote><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><em><strong>Written by <a href="https://www.linkedin.com/in/strapi-guy/">Jiri Mouka</a>, Founder at Notum Technologies.</strong></em></div></div><h2 id="more-about-notum-technologies">ℹ️ More about Notum Technologies <a class="markdownit-header-anchor" href="#more-about-notum-technologies">🔗</a></h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/partnerships/notum-technologies"><div class="kg-bookmark-content"><div class="kg-bookmark-title">NOTUM Technologies - Localazy trusted partner for your multilingual projects</div><div class="kg-bookmark-description">Localazy partnered with NOTUM Technologies to bring you a better experience while building multilingual digital products.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">localazy.com</span><span class="kg-bookmark-publisher">Marta G. Coloma</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://localazy.com/directus9/assets/142a2fee-c87a-446d-b73c-2063a2b8eff6/?quality&#x3D;80&amp;format&#x3D;webp" alt=""></div></a></figure>]]></content:encoded>
            <author>Localazy Partners</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/11/Strapi-v5-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Why are LLMs so verbose? Tips to fix half-cooked results]]></title>
            <link>https://localazy.com/blog/why-are-llms-so-verbose-tips-to-fix-it</link>
            <guid isPermaLink="false">why-are-llms-so-verbose-tips-to-fix-it</guid>
            <pubDate>Sat, 16 Aug 2025 14:54:11 GMT</pubDate>
            <description><![CDATA[LLMs like Claude, ChatGPT, or Mistral can sometimes get too conversational when you ask them for a translation. This means you won't always get a ready-to-use result or that you'll have to dig further to find a suitable one. Learn the reasons behind this - and discover ways to avoid it.]]></description>
            <content:encoded><![CDATA[<p>What to do when a machine tries to outsmart you?</p><p>Beat it at its own game. 👾</p><p>Large language models are not always perfect. Depending on the model, LLMs tend to act in peculiar ways, e.g., <a href="https://slator.com/google-finds-refusal-to-translate-most-common-form-of-llm-verbosity/">by refusing to translate</a> your text or explaining the reasoning behind their translations. <strong>That's what researchers call <em>verbosity</em>.</strong></p><p>What is <em>verbose</em> in LLMs?</p><p>In <a href="https://arxiv.org/pdf/2410.00863">a paper</a> published on October 1, 2024, Google researchers explain that <em>verbosity</em> has become a common feature of LLMs. This phenomenon usually manifests as a refusal to translate, but there are other symptoms, too: when the model provides multiple translation options or when it includes additional comments along with the translated text.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/AdobeStock_595764064.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1255" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/AdobeStock_595764064.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/AdobeStock_595764064.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/AdobeStock_595764064.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/11/AdobeStock_595764064.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="why-are-llms-so-verbose">💬 Why are LLMs so verbose? <a class="markdownit-header-anchor" href="#why-are-llms-so-verbose">🔗</a></h2><p>There are many reasons why Claude, GPT-4, Mistral &amp; co. may adopt a conversational approach. Usually, LLMs refuse to translate the input in these four scenarios:</p><ol><li>❌ <strong>Request for translation of non-natural language</strong></li><li>©️ <strong>Use of copyrighted content in the prompt</strong></li><li>💣 <strong>Detection of harmful content</strong></li><li>🌪️ <strong>Unclear content</strong></li></ol><p>When you request context-sensitive translations, the LLMs may also provide comments along with the translated text or offer multiple translation options.</p><p>Let's take a look at some examples to illustrate LLM verbosity.</p><h3 id="1-copyrighted-content">1. Copyrighted content <a class="markdownit-header-anchor" href="#1-copyrighted-content">🔗</a></h3><p>First, let's compare how GPT-4, Claude 3.5, and Mistral Large deal with copyrighted content.</p><p>I asked the models to translate the first sentence of my favorite book. This is how each LLM responded to my request:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-1-Chatgpt-Tolkien-1.JPG" class="kg-image" alt loading="lazy" width="1030" height="315" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-1-Chatgpt-Tolkien-1.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/Image-1-Chatgpt-Tolkien-1.JPG 1000w, https://ghost.localazy.com/content/images/2024/11/Image-1-Chatgpt-Tolkien-1.JPG 1030w" sizes="(min-width: 720px) 720px"><figcaption><em>The excerpt from "The Lord of the Rings: The Fellowship of The Ring" by Tolkien translated into Spanish by GPT-4.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-2-Claude-Tolkien.JPG" class="kg-image" alt loading="lazy" width="814" height="335" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-2-Claude-Tolkien.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-2-Claude-Tolkien.JPG 814w" sizes="(min-width: 720px) 720px"><figcaption><em>The excerpt from "The Lord of the Rings: The Fellowship of The Ring" by Tolkien translated into Spanish by Claude 3.5.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-3-Mistral-Tolkien.JPG" class="kg-image" alt loading="lazy" width="843" height="665" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-3-Mistral-Tolkien.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-3-Mistral-Tolkien.JPG 843w" sizes="(min-width: 720px) 720px"><figcaption><em>The excerpt from "The Lord of the Rings: The Fellowship of The Ring" by Tolkien translated into Spanish by Mistral Large.</em></figcaption></figure><p>As you can see, only <strong>Mistral was brave enough to indicate the intricacies of translating well-known literature</strong>. It was also the only model that recognized the title and author. However, none of the models refused to translate the content due to potential copyright infringement.</p><p>The models became more verbose when I typed a more modern text:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-4-Claude-Christina.JPG" class="kg-image" alt loading="lazy" width="921" height="518" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-4-Claude-Christina.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-4-Claude-Christina.JPG 921w" sizes="(min-width: 720px) 720px"><figcaption><em>An attempt to translate the lyrics of "Hurt" by Christina Aguilera (2006) in Claude 3.5.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-5-Mistral-Christina.JPG" class="kg-image" alt loading="lazy" width="817" height="586" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-5-Mistral-Christina.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-5-Mistral-Christina.JPG 817w" sizes="(min-width: 720px) 720px"><figcaption><em>An attempt to translate the lyrics of "Hurt" by Christina Aguilera (2006) in Mistral Large.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-6-Chat-gpt-Christina.JPG" class="kg-image" alt loading="lazy" width="888" height="260" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-6-Chat-gpt-Christina.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-6-Chat-gpt-Christina.JPG 888w" sizes="(min-width: 720px) 720px"><figcaption><em>GPT-4 translates the lyrics of "Hurt" by Christina Aguilera (2006).</em></figcaption></figure><p>In this scenario, <strong>only Claude refused to translate the content, citing copyright violation</strong>. Mistral recognized the lyrics but<strong> </strong>translated the text into Spanish anyway, whereas GPT-4 seemed unconcerned about potential copyright infringement.</p><h3 id="2-non-natural-language">2. Non-natural language <a class="markdownit-header-anchor" href="#2-non-natural-language">🔗</a></h3><p>In the next test round, I prompted the models to translate a URL address and an incomplete phrase containing random characters. The general prompt in each model was still the same as above: "Act as a professional English-Spanish (ES) translator. Translate the following content into Spanish".</p><p>This is how the models responded:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-7-Mistral-http.JPG" class="kg-image" alt loading="lazy" width="938" height="206" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-7-Mistral-http.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-7-Mistral-http.JPG 938w" sizes="(min-width: 720px) 720px"><figcaption><em>Mistral Large refuses to translate a URL address.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-8-Chat-gpt-http-1.JPG" class="kg-image" alt loading="lazy" width="996" height="232" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-8-Chat-gpt-http-1.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-8-Chat-gpt-http-1.JPG 996w" sizes="(min-width: 720px) 720px"><figcaption><em>GPT-4 refuses to translate a URL address.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-9-Claude-http.JPG" class="kg-image" alt loading="lazy" width="919" height="265" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-9-Claude-http.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-9-Claude-http.JPG 919w" sizes="(min-width: 720px) 720px"><figcaption><em>Claude refuses to translate a URL address, replying in Spanish.</em></figcaption></figure><p><strong>All three models decided that translating such content is mission impossible, which makes perfect sense</strong>. In real-world scenarios, translators don't translate URLs either. However, each model justified the refusal differently, adopting a less or more talkative approach.</p><p>Here's how the models reacted to phrases with random characters:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-10-Claude-chars.JPG" class="kg-image" alt loading="lazy" width="984" height="245" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-10-Claude-chars.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-10-Claude-chars.JPG 984w" sizes="(min-width: 720px) 720px"><figcaption><em>Claude provides a translation for an unclear phrase.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-11-Mistral-chars.JPG" class="kg-image" alt loading="lazy" width="862" height="504" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-11-Mistral-chars.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-11-Mistral-chars.JPG 862w" sizes="(min-width: 720px) 720px"><figcaption><em>Mistral breaks down the phrase, trying to provide a possible translation.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-12-Chat-gpt-chars.JPG" class="kg-image" alt loading="lazy" width="881" height="347" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-12-Chat-gpt-chars.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-12-Chat-gpt-chars.JPG 881w" sizes="(min-width: 720px) 720px"><figcaption><em>GPT-4 explains the phrase might be incomplete.</em></figcaption></figure><p>In this scenario, <strong>only Claude provided a direct translation instead of a comment</strong>. GPT-4 and Mistral attempted to translate the phrase but explained that it might be incomplete.</p><h3 id="3-unclear-or-confusing-content">3. Unclear or confusing content <a class="markdownit-header-anchor" href="#3-unclear-or-confusing-content">🔗</a></h3><p>What happens when you ask an LLM to translate a gibberish text?</p><p>It might engage in lengthy conversations. Here's an example:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-13-Mistral-verbs.JPG" class="kg-image" alt loading="lazy" width="961" height="990" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-13-Mistral-verbs.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-13-Mistral-verbs.JPG 961w" sizes="(min-width: 720px) 720px"><figcaption><em>Mistral explaining why the phrase can't be translated.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-1-Chatgpt-verbs-1.JPG" class="kg-image" alt loading="lazy" width="991" height="531" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-1-Chatgpt-verbs-1.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-1-Chatgpt-verbs-1.JPG 991w" sizes="(min-width: 720px) 720px"><figcaption><em>GPT-4 refuses to translate the content.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-15-Claude-verbs.JPG" class="kg-image" alt loading="lazy" width="893" height="403" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-15-Claude-verbs.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-15-Claude-verbs.JPG 893w" sizes="(min-width: 720px) 720px"><figcaption><em>Claude provides a literal translation.</em></figcaption></figure><p><strong>Each model acted differently</strong>: Claude provided a useless output for the useless input, GPT-4 shortly declined to translate the phrase, and Mistral not only refused to translate the text but also offered a long-winded grammatical explanation.</p><h3 id="4-context-sensitive-translation">4. Context-sensitive translation <a class="markdownit-header-anchor" href="#4-context-sensitive-translation">🔗</a></h3><p>In the last round, I switched to another language and provided short phrases that may have double meanings. This was the response in each model:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-16-Chat-gpt-Hot-1.JPG" class="kg-image" alt loading="lazy" width="986" height="694" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-16-Chat-gpt-Hot-1.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-16-Chat-gpt-Hot-1.JPG 986w" sizes="(min-width: 720px) 720px"><figcaption><em>GPT-4 provides Polish translations, randomly deciding on which context to choose.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-17-Mistral-Hot.JPG" class="kg-image" alt loading="lazy" width="796" height="653" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-17-Mistral-Hot.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-17-Mistral-Hot.JPG 796w" sizes="(min-width: 720px) 720px"><figcaption><em>Mistral provides two options for both phrases.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-18-Claude-Hot.JPG" class="kg-image" alt loading="lazy" width="906" height="499" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-18-Claude-Hot.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-18-Claude-Hot.JPG 906w" sizes="(min-width: 720px) 720px"><figcaption><em>Claude refuses to translate the first phrase, claiming it doesn't feel comfortable completing this task. It also refuses to translate the second phrase, explaining that it goes against its values</em>.</figcaption></figure><p><strong>Each model adopted a different approach</strong>: GPT-4 translated the content without the context and Mistral provided more options to account for contextual subtleties, while Claude refused to undertake the task and asked if there was anything else it could help me with.</p><blockquote>🎙️ Could these LLMs soon become good enough to replace translators? No one knows for sure but we gave our take in <a href="https://localazy.com/blog/s01-ep-03-bridging-the-gap-podcast">this episode of Bridging the Gap podcast.</a></blockquote><h2 id="whats-wrong-with-verbosity">🤔 What's wrong with verbosity? <a class="markdownit-header-anchor" href="#whats-wrong-with-verbosity">🔗</a></h2><p>There are cases when lengthy LLM responses might be problematic.</p><p>The above examples show that the verbosity factor can vary across language pairs and LLMs. This, in turn, can lead to <strong>an inconsistent user experience</strong>. For example, users might receive concise translations for some language pairs but excessively verbose outputs for others. What's more, for the same input, different LLMs may generate responses with varying degrees of verbosity, making it challenging to predict the output quality. On top of that, extracting relevant content from the lengthy LLM responses might be time-consuming and frustrating. 🙇‍♀️ It can also lead to cognitive overload, which becomes particularly challenging in time-sensitive situations or when you work with technical or specialized content that already requires significant mental effort.</p><p>In cases where LLMs refuse to translate due to perceived safety or copyright concerns, you are left without the translation you need, which may discourage you from using an LLM for translation purposes. In fact, <strong>verbose LLM outputs often lead to lower-quality translations</strong>. The paper mentioned above shows that highly verbose translations tend to be less accurate, introduce errors and redundancies, or deviate from the original meaning. This can significantly impact the usefulness and reliability of LLMs.</p><p>Finally, overly verbose outputs can lead to<strong> increased computational resources and time required for processing</strong>, which can slow down applications and increase costs for users.</p><blockquote>📚<strong> Related</strong>: <a href="https://localazy.com/blog/how-to-use-chatgpt-to-your-advantage-in-translation-with-examples-gpt-series-1">How to use ChatGPT to your advantage in translation (with examples)</a></blockquote><h2 id="3-tips-to-reduce-verbosity-bias-in-llms">☝️3 tips to reduce verbosity bias in LLMs <a class="markdownit-header-anchor" href="#3-tips-to-reduce-verbosity-bias-in-llms">🔗</a></h2><h3 id="write-effective-prompts">Write effective prompts <a class="markdownit-header-anchor" href="#write-effective-prompts">🔗</a></h3><p>What can you do to avoid Claude's, Mistral's, or ChatGPT's flowery language? When verbosity becomes a serious obstacle to your translation projects, you can take your prompting to the next level. </p><p>For example, in the case of context-sensitive translations, the best approach is to provide precise context. This is how the prompts above can be modified to obtain more concise responses:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-20-Mistral-Context.png" class="kg-image" alt loading="lazy" width="1204" height="505" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-20-Mistral-Context.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/Image-20-Mistral-Context.png 1000w, https://ghost.localazy.com/content/images/2024/11/Image-20-Mistral-Context.png 1204w" sizes="(min-width: 720px) 720px"><figcaption><em>Polish translation in Mistral becomes more natural with a modified prompt.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-21-Claude-Context.png" class="kg-image" alt loading="lazy" width="1282" height="481" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-21-Claude-Context.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/Image-21-Claude-Context.png 1000w, https://ghost.localazy.com/content/images/2024/11/Image-21-Claude-Context.png 1282w" sizes="(min-width: 720px) 720px"><figcaption><em>Claude provides a more accurate translation when the prompt is more specific.</em></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-22-GPT-Context.png" class="kg-image" alt loading="lazy" width="1260" height="585" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-22-GPT-Context.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/Image-22-GPT-Context.png 1000w, https://ghost.localazy.com/content/images/2024/11/Image-22-GPT-Context.png 1260w" sizes="(min-width: 720px) 720px"><figcaption><em>GPT also generates a context-aware translation once all details are provided.</em></figcaption></figure><p><strong>Each response is different, but all are correct</strong>. The models followed the prompt precisely and generated contextually relevant responses. Mistral still added its verbose touch by including a comment, but it's not lengthy and shouldn't frustrate the impatient users.</p><h3 id="avoid-gibberish-input">Avoid gibberish input <a class="markdownit-header-anchor" href="#avoid-gibberish-input">🔗</a></h3><p>Effective prompts are not the only way out of the verbosity maze. Another key step is to <strong>avoid requesting for translation of non-human language</strong>, as this will always lead to confusion. LLMs won't translate URL links, snippets of programming code, or incomplete phrases made up of random characters. </p><p>Simply put, don't expect LLMs to translate anything a human wouldn't translate. Teasing LLMs with incomplete, grammatically incorrect inputs such as "has been are," as demonstrated above, is not a good idea either. To be on the safe side, make sure both your prompt and source text are of high quality.</p><blockquote>Verbosity can become a serious obstacle to your translation projects. Working on better prompts and discarding non-human language in your inputs is helpful to reduce it</blockquote><h3 id="adjust-settings-in-llms">Adjust settings in LLMs <a class="markdownit-header-anchor" href="#adjust-settings-in-llms">🔗</a></h3><p>There's one more strategy you can follow to make Claude, Mistral, or ChatGPT less verbose: <strong>tweak the settings</strong>. ⚙️ For example, you can lower <a href="https://medium.com/@marketing_novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens-a482d8d817b2">the temperature parameter</a> to reduce verbosity and make the model's outputs more focused.</p><p>You can also adjust the top-p value to control the randomness of the model's outputs. A lower value (e.g., 0.7-0.8) might lead to more concise responses. However, <a href="https://docs.anthropic.com/en/api/messages" rel="noopener noreferrer nofollow">as stated in the documentation of  OpenAI, Anthropic</a> (developer of Claude), and Mistral AI, <strong>you should either alter temperature or top_p, but not both</strong>.</p><p>Finally, in all three models, you can set a lower max tokens value to force the model to be more concise by limiting the length of its response. If you choose this approach, get ready for some in-depth tool exploration, as you won't be able to find these settings directly in the chat. For example, in Mistral, you can create a new agent under the tab La Plateforme, define the temperature and other values, test the prompts with your new settings, and finally deploy the new agent.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-23-mistral-agent.JPG" class="kg-image" alt loading="lazy" width="1477" height="957" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-23-mistral-agent.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/Image-23-mistral-agent.JPG 1000w, https://ghost.localazy.com/content/images/2024/11/Image-23-mistral-agent.JPG 1477w" sizes="(min-width: 720px) 720px"><figcaption><em>You can adjust the temperature settings in Mistral by creating a new agent under the La Plateforme tab.</em></figcaption></figure><p>In most LLMs, top_p values and temperature can also be modified via API.</p><p>This is how Mistral responded once I set the temperature to 0 in my new agent:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/11/Image-24-Mistral-has-been-are-temp-1.JPG" class="kg-image" alt loading="lazy" width="764" height="413" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Image-24-Mistral-has-been-are-temp-1.JPG 600w, https://ghost.localazy.com/content/images/2024/11/Image-24-Mistral-has-been-are-temp-1.JPG 764w" sizes="(min-width: 720px) 720px"><figcaption><em>With the temperature set to 0, Mistral provides a less verbose response.</em></figcaption></figure><h2 id="final-thoughts">✔️ Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>While refusing to translate the content or providing extra comments might be helpful in some cases, long model responses are usually frustrating for users looking for quick solutions. Verbosity might be a challenge, but there are proven ways to overcome it. <strong>So, next time you're wondering: "Why is ChatGPT so verbose?", be strategic.</strong> Focus on refining your prompt engineering for translation, adjust the model settings, and ensure your input is free of copyrighted text or non-human language.</p><p>With a few simple steps, you, too, can outsmart your machine.</p><blockquote>🦾 Do you want to use OpenAI in your Localazy projects? Head over to <em><a href="https://localazy.com/console/ai">Localazy Console &gt; Localazy AI</a> and try it after adding your own token!</em></blockquote>]]></content:encoded>
            <author>Dorota Pawlak</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/11/localazy-AI-series_03-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How I helped localize a crypto trading simulation app in Russian with Localazy]]></title>
            <link>https://localazy.com/blog/translation-stories-how-i-helped-localize-a-crypto-trading-simulation-app-in-russian-with-localazy</link>
            <guid isPermaLink="false">translation-stories-how-i-helped-localize-a-crypto-trading-simulation-app-in-russian-with-localazy</guid>
            <pubDate>Tue, 14 Apr 2026 13:03:53 GMT</pubDate>
            <description><![CDATA[We are using Localazy to build Jedie, an innovative crypto-trading simulation app in two languages: English and Russian. Sneak into our dev kitchen to see how we tackled some of the unique challenges of bilingual UI copywriting.]]></description>
            <content:encoded><![CDATA[<p>Last summer, I joined the team developing a mobile crypto trading simulator with rewards in tokens. <a href="https://jedieco.in">Jedie</a>’s founders targeted international audiences and decided it would be best to do so through two languages: English and Russian. As if getting the trading language right alone wasn’t enough of a challenge for the team!</p><p>Why Russian? The founders speak this language and are well-connected within <a href="https://investingintheweb.com/crypto/crypto-ownership-by-country/">the huge Russian-speaking crypto community</a>, that exceeds 20 million active users across post-Soviet countries alone. Overall, about 251 million global speakers of this language form an attractive market. </p><p>Anyway, the team needed someone to write their User Interface (UI) copy. As an experienced English copywriter and a native Russian speaker, I was the perfect match. </p><h2 id="a-new-boy-in-town">🙋🏻‍♂️ A new boy in town <a class="markdownit-header-anchor" href="#a-new-boy-in-town">🔗</a></h2><p>When I joined, the project was already well underway. The team had been using a bunch of tools, including Figma and Localazy. And while I knew the former, the latter didn’t ring a bell.</p><p>The project manager recorded a video for me to demonstrate how to pair the two in my work. I watched it. Then I watched it again. And again. Mind you, the video was great, but I am the type who learns new technology best by trying my hand at it. And when I tried Localazy, it was a breeze to pick up.</p><h2 id="hammers-and-screws-working-with-figma">🔩 Hammers & screws: Working with Figma <a class="markdownit-header-anchor" href="#hammers-and-screws-working-with-figma">🔗</a></h2><p>Copywriters and designers use different tools. <a href="https://localazy.com/tags/figma">Figma</a> offers powerful UI design features, but some of my previous clients have required me to write with it. And that was as painful as driving screws into wood with a hammer, so when I first heard the F-word, I took a deep breath.</p><p>I didn’t know then that a straightforward process awaited me. I started by creating uniform keys, aka strings, for each UI element featuring text in Figma. Some of them had been pre-set and listed for manual import into the design layout.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfN9LLcSA8MeB0Q1nVHVojhA5gJ_DyCaF2PGYipMvg0E5zMnEH44hcCIotjhitoI1ykxqkxUKrYNbfW1ZlAsTdXc3AVrfAlMR4GnqdJeRTbp8BRcc8ZaSXIFf2_7moqiqaswIh6JgrsYo_wdLfvoQq4Nkea?key=Lw5dMcWg_y-IocXK0rQn5Q" class="kg-image" alt loading="lazy"></figure><p>While adding keys to Figma, I created the same-name keys in Localazy. Some were already there, <a href="https://www.figma.com/community/plugin/964257457772706017/localization-plugin-by-localazy">imported from Figma through an integration</a>.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcfquVveFhs9dkrgfz0qoB_CA3DD8ryOfIcbTOv-44PlM8ifRlu43ngOHsZ2ImbjW-2EKcZiPiqQRrG3uiKP7RekhB8tWTBocZfEpoqlpp_ft_th-6hLpS_ffKg5vtRpj3mLc5c8TWQXUVSAomtWzPhFa0?key=Lw5dMcWg_y-IocXK0rQn5Q" class="kg-image" alt loading="lazy"></figure><p>Most of the UI copy had been pre-written in one of the two languages by the designer just enough to give me a sense of what each element did. Once I had rewritten the copy in Localazy, the designer <a href="https://localazy.com/docs/figma/downloading-content?srsltid=AfmBOooJnmp3A958DaXgtDhMX8GTt_qpiEIJfNX3WxbG0Es90ESEIi_Y">bulk-exported it to Figma</a> through the integration to check if he needed to move things around.</p><p>As a result, I didn’t have to write in the designers’ application. I sometimes toyed with the copy in Figma to preview how it would fit into the app layout, and that was it. </p><p>Most of the time, I worked within an interface tailored to writing copy in multiple languages. Localazy’s clean design, ease of navigation, and useful features helped me nail the UI copy and localize it in Russian.</p><h2 id="russian-localization-challenges-to-tackle">🇷🇺 Russian localization: Challenges to tackle <a class="markdownit-header-anchor" href="#russian-localization-challenges-to-tackle">🔗</a></h2><p>English is the app’s first language, but that doesn't make Russian-speaking users any less of a priority. So, instead of translating, I wrote in the two tongues simultaneously, keeping both audiences in mind and handling the specifics of the Russian language right away. Here is how this affected the process.</p><h3 id="1-you-need-to-provide-extra-placeholders">1. You need to provide extra placeholders <a class="markdownit-header-anchor" href="#1-you-need-to-provide-extra-placeholders">🔗</a></h3><p>Numbers, dates, usernames, and crypto tickers are all dynamic elements. To put them in context, we used a placeholder like this <strong>%@</strong>.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>E.g. </strong><em>Your account has been topped up with <strong>%@</strong>.</em></div></div><p>We also added keys ending with <em><strong>._example</strong></em>, where the placeholder is replaced with –surprise!– an example.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><strong>E.g.</strong><em> activities.account.topped-up.details</em><strong><em>._example</em></strong><em> – Your account balance has been topped up with </em><strong><em>100 USDT</em></strong><em>.</em></div></div><p>For Russian, we had to add more keys containing placeholders and the respective examples because of how plural nouns are formed. There are two ways in English and three in Russian, and the relationship between them is quite complicated:</p><!--kg-card-begin: html--><table><tbody><tr><td><p data-guid="9734d905-176e-418a-bd14-6a0020e3e853"><strong>Numericals</strong></p></td><td><p data-guid="6a314aa1-a9fe-48b0-916e-c80b112f7efd"><strong>English</strong></p></td><td><p data-guid="e6e6ef29-e054-48b6-aa27-1ec5e87345ea"><strong>Russian</strong></p></td></tr><tr><td><p data-guid="031876a1-0374-49b7-9685-c37df6a1f182">1</p></td><td><p data-guid="9c2e4611-33c1-4af4-8501-cd5f4d1b49c4">minut<strong>e</strong></p></td><td rowspan="2"><p data-guid="89e55295-126c-452b-ab1a-75518b692f88">минут<strong>а</strong></p></td></tr><tr><td><p data-guid="317a685b-cf69-453e-bc53-482038b5614c">21, 31, 41, 51…</p></td><td rowspan="3"><p data-guid="93c41d56-1152-407c-ae0c-256c3308afa1">minut<strong>es</strong></p></td></tr><tr><td><p data-guid="44f264ad-3b91-4070-8edc-ad4421a36406">2, 3, 4, 22, 23, 24, 32, 33, 34…</p></td><td><p data-guid="3f2c83f6-1aec-418c-917b-a7ffcbce0839">мину<strong>ты</strong></p></td></tr><tr><td><p data-guid="e51b970f-86ae-4d37-927f-40c27ff7db3a">5–20, 25–30, 35–40, 45–50…&nbsp;&nbsp;</p></td><td><p data-guid="134a7935-a458-4029-b380-1fb34b95b698">мину<strong>т</strong></p></td></tr></tbody></table><!--kg-card-end: html--><h3 id="2-impossibly-possessive">2. Impossibly possessive <a class="markdownit-header-anchor" href="#2-impossibly-possessive">🔗</a></h3><p>In English, showing possession is simple — you just add<strong> ’s</strong>, as in "<em>the dog’s hair."</em> </p><p>In Russian, it’s more complicated: <strong>the word's ending must change according to one of six grammatical cases, depending on the context</strong>. However, this approach doesn’t work for usernames composed of Latin letters and numbers, like <em>Jedie</em>.</p><p>So, we left usernames as they are because context is usually enough for the reader to interpret a phrase correctly in Russian. Here is what this looked like in Localazy:</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcIX-YDm41mf9PyyRTJTNVrZin28IdXYw8wpFqZq_5gOokP6T8pHZrBrZIdNs2ovwANnNiGEYMQYmYAh6qKqDPKeQoICPgiCqeCjunKJo-kmJxXCDD55h9uvzztExksCnD5fkHputo-C_wb79bKMBMFcM8?key=Lw5dMcWg_y-IocXK0rQn5Q" class="kg-image" alt loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd7Udi4KJVFqCqbRkAAG8RjXpBtRcq5Dm1T3hsXi2xEjaIsGwNO3XNVlavxniJEczHkUnxEM8s9Ebtgi14YlAdBhk7R045Fm6L0WBvt2Pwi8R2OCA2RJMSsvS9nEgS3SDmsPNFUeSEggqFgjWaFvU0r9211?key=Lw5dMcWg_y-IocXK0rQn5Q" class="kg-image" alt loading="lazy"></figure><h3 id="3-a-case-for-true-translation">3. A case for true translation <a class="markdownit-header-anchor" href="#3-a-case-for-true-translation">🔗</a></h3><p>My university professor used to say that translation begins where the dictionary ends. And our work on Jedie<em> </em>made a perfect case for that. For some terms, we had to come up with equivalents in Russian that a dictionary, a translation automation tool, or generative AI could never come up with.</p><p>For instance, the direct equivalent to <em>conditional actions</em> we used in Russian translates into English as <em>conditional closing orders</em>. And <em>a parent offer</em> became <em>копируемая сделка</em> (a copied trade).</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcEl5DIv4vDcOgINTTEW4ob4Sh2Ql_uNS53LWH3ROUnRRqXQ6uhL1XFpERLqc06W3WFtdnhllvaVU6f7WYwBFEyb8M6JkL4Y_DWsOE2zP1Fq-YjoUnJMWnLoQzDhCFqJ5wQWjU7EWBBuOr_qzaddtmOsf5J?key=Lw5dMcWg_y-IocXK0rQn5Q" class="kg-image" alt loading="lazy"></figure><h3 id="4-the-grammatical-fluidity-of-genders">4. The grammatical fluidity of genders <a class="markdownit-header-anchor" href="#4-the-grammatical-fluidity-of-genders">🔗</a></h3><p>Remember that Limp Bizkit’s song where Fred is blasting, “<em>It’s all about the</em> <em>he-said she-said</em> <em>BS</em>?” Well, the literal translation into Russian wouldn’t be as punchy because<strong> the verb “say” would take two different forms: male and female</strong>.</p><p>In most cases, you just add the <em>-a</em> ending to the male verb to change its gender into female (<em>сказал+а</em> for <em>said</em>). But sometimes you have to use two different endings indicating past tense: <em>пош<strong>ёл</strong></em> vs. <em>пош<strong>ла</strong></em>. Luckily, we only dealt with the former case.</p><p>A common practice in Russian when the gender is not clear is to take the male verb and place <em>(а)</em> at the end. See how we did it:</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfG_c-njsnYOoCDOyZAZ_t4U7My086ncJjLjBuXE2-PKdRw0RNOezpyL8U0tNDaLvoyC5SvOMKgZ970KqcDQibGNVUw5N4TIjb7NYQk0oTb33QG5fA4-iddGjheDDVwbwiLK1PqjONh1a6nkvV88SVbJ_mx?key=Lw5dMcWg_y-IocXK0rQn5Q" class="kg-image" alt loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfOx_8PlgrkoUTRwrH8R0HDHQqE55UEKxWn8CZ2SPfuKFIX_dCcnrxmjDBECxWSV5siYt8ayQntfGnaXL9cD-BMtDARqYDYacMRWWZHwgMLnabS99V7DK3kCu5om5PhPg1mjo53j20xjuqshoG8sl6kdU1Y?key=Lw5dMcWg_y-IocXK0rQn5Q" class="kg-image" alt loading="lazy"></figure><p>Keep in mind that<strong> developers often add the gender category in user profiles</strong> to solve this problem and serve the appropriate verbs. Maybe Jedie will follow suit in later builds with something similar.</p><h3 id="5-terms-you-shouldnt-translate">5. Terms you shouldn't translate <a class="markdownit-header-anchor" href="#5-terms-you-shouldnt-translate">🔗</a></h3><p>Trading emerged far away from today’s Russian-speaking countries. As a result, most of the terms, like <em>Take Profit (TP)</em>, S<em>top Loss (SL),</em> and O<em>rder</em> entered Russian after they became the industry standard.</p><p>There have never been adequate equivalents. <strong>In translation, you would either have to describe them in multiple words, or come up with equivalents the industry would universally accept.</strong> As the latter never happened and the former was impractical, these terms have been traditionally transliterated.</p><p>Transliteration involves creating a word in the target language that mimics the pronunciation of the foreign term. For example:</p><ul><li>take profit – /teɪk ˈprɒfɪt/ – тейк-профит</li><li>order – /ˈɔːrdər/ (US), /ˈɔːdə/ (UK) – ордер</li></ul><p>Depending on the context, some terms could be either translated or transliterated. But even if you can translate a word, the equivalent will often be much longer. </p><p>Here are a few examples:</p><ul><li>long – длинный</li><li>short – короткий</li><li>slippage – проскальзывание</li></ul><p>As mobile design needs to be economical, we favored transliteration wherever applicable. For the same reason, we left out articles and punctuation in the English version where doing so wouldn’t confuse the user:</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXevSjnLzObEG6Piec10g3y3U4fiIt7FJ0nY3fnIjOEW8i5uj60QzYd9K82XU73o0pfIWgyCipu8YHEw9rt2OulCNCvyd3xKlDn16PAltxr16axgN7R07o3W39el3lcqQPb0LqMNil-tJ4wvMdnkOLG-Zmq0?key=Lw5dMcWg_y-IocXK0rQn5Q" class="kg-image" alt loading="lazy"></figure><h3 id="6-instruct-or-enable">6. Instruct or enable? <a class="markdownit-header-anchor" href="#6-instruct-or-enable">🔗</a></h3><p>Are you familiar with infinitives and imperatives? According to Cambridge Dictionary, an <a href="https://dictionary.cambridge.org/dictionary/english/imperative">imperative verb</a> is <em>“used to describe the form of a verb that is usually used for giving orders.”</em> </p><p>And an <a href="https://dictionary.cambridge.org/dictionary/english/infinitive">infinitive verb </a>is <em>“the basic form of a verb that usually follows ‘to’. "</em> Look at the verb <em>be</em> in these two examples and tell me how it is different (not the context):</p><!--kg-card-begin: html--><table><tbody><tr><td><p data-guid="a5143ef8-a39f-4ae2-9087-8811a23f0fd4"><strong>Imperative</strong></p></td><td><p data-guid="02b8f121-380d-495c-8d1d-ddc82131fd7e"><strong>Infinitive</strong></p></td></tr><tr><td><p data-guid="ee9f08a1-7177-4394-8667-ac63161f8c06">Sweetie, <strong>be</strong> careful.</p></td><td><p data-guid="233beb94-94e9-43f9-80f2-7d4b5ca646ba">Sweetie, you need to <strong>be</strong> careful.</p></td></tr></tbody></table><!--kg-card-end: html--><p>Exactly. But in Russian, it’s different. Compare:</p><!--kg-card-begin: html--><table><tbody><tr><td><p data-guid="bcebda1a-975c-4d82-9731-ed4fdbf33a90"><strong>Imperative</strong></p></td><td><p data-guid="30722e79-752e-4d85-a0c9-2b80b085057d"><strong>Infinitive</strong></p></td></tr><tr><td><p data-guid="f3eecf59-baf7-4feb-9edc-0d6a1a22324d">Милый, <strong>будь</strong> осторожен.</p></td><td><p data-guid="e04571a9-33cc-41da-bdab-6258c6843bcc">Милый, тебе надо <strong>быть</strong> осторожным.</p></td></tr></tbody></table><!--kg-card-end: html--><p><strong>So, which form should be used on buttons? </strong>A seasoned marketer will probably lean towards the imperative because it sounds like a call to action, and we want the user to interact with our app as much as possible. But some actions, like 'cancel', 'delete profile', and 'log out', aren't quite the interaction you want. The solution is to check the convention.</p><p>In some languages that offer both forms, like Bulgarian, you're expected to use the imperative. Meanwhile, Russian generally favors the infinitive. As someone using both languages daily, this made me stop and think for a moment. 🤔</p><h2 id="how-localazy-streamlined-our-work">⚡️ How Localazy streamlined our work <a class="markdownit-header-anchor" href="#how-localazy-streamlined-our-work">🔗</a></h2><p>I loved Localazy’s clear, hassle-free design and UI. But it is the following features that made the real difference for me:</p><h3 id="search">Search <a class="markdownit-header-anchor" href="#search">🔗</a></h3><p>Whenever the team renames things or changes how the app works, they <a href="https://localazy.com/docs/general/screenshots">send me a screenshot</a> or the related key. I <a href="https://localazy.com/blog/release-update-improved-context-tabs-for-comments-and-translations?srsltid=AfmBOoq0CfAbOgkpx3DzFXdKHQ7DQtgQhrZGNkwlPrz7M2J7ITKa1owW#search-in-similar-strings-across-the-project">search Localazy</a> for this key or key phrases from the screenshot and edit the copy accordingly.</p><h3 id="version-history">Version history <a class="markdownit-header-anchor" href="#version-history">🔗</a></h3><p>This feature has leveled up our collaboration. If someone changes a key’s copy, I can see who did that, when it happened, and exactly what they changed. This saves everyone's time.</p><h3 id="translation-notes">Translation notes <a class="markdownit-header-anchor" href="#translation-notes">🔗</a></h3><p>In addition to the version history, Localazy enables <a href="https://localazy.com/blog/release-update-improved-context-tabs-for-comments-and-translations?srsltid=AfmBOoq0CfAbOgkpx3DzFXdKHQ7DQtgQhrZGNkwlPrz7M2J7ITKa1owW#show-comments-in-all-languages">key comments</a>. If a key requires the attention of a designer or a developer, I can add a comment in the translation note and be sure they will see it.</p><p>Moreover, the integration automatically generates a link to the respective key in Figma, which <strong>is shown</strong> <strong>in the comment section for quick reference.</strong></p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfG8Wx5KON8oDXg-EB5wKowVYsjowFkiZ6POzT8FwZ0v8E_8BfVdSKZCvZvKUwVZ08xiVDRb03m8W7XtVY94FDLuW3ZZ8nB5A7Rz5dn1J6o7kmazhORj-yGz5QTu3ErfcpPGhSQ_S9i6w7iwQynRhg_wqf4?key=Lw5dMcWg_y-IocXK0rQn5Q" class="kg-image" alt loading="lazy"></figure><h3 id="handy-shortcuts">Handy shortcuts <a class="markdownit-header-anchor" href="#handy-shortcuts">🔗</a></h3><p>As a copywriter, I use keyboard shortcuts to save time. But Localazy steps it up<strong> by reducing copying to one click.</strong> That's one small code tweak for developers, one giant leap for user experience. </p><h3 id="tracking-untranslated-keys">Tracking untranslated keys <a class="markdownit-header-anchor" href="#tracking-untranslated-keys">🔗</a></h3><p>Localazy lets you add keys in one language and add translations later. We did so every time before a new release date. I would later add the missing translations as Localazy conveniently showed me the untranslated phrases one by one.</p><h3 id="automated-suggestions-for-microcopy">Automated suggestions for microcopy <a class="markdownit-header-anchor" href="#automated-suggestions-for-microcopy">🔗</a></h3><p>Not every phrase requires a well-thought-through equivalent in another language. There are a lot of standard microcopy elements, including captions like '<em>cancel</em>', '<em>password</em>', '<em>settings</em>', etc. And Localazy does a great job here, <a href="https://localazy.com/docs/general/additional-mt-engines?srsltid=AfmBOorkUbzwIFg1dtL6guhq4uwSSzLlrFGNFGTxg_SfCqTtdIceNTGm">suggesting multiple translation options</a> from Google, Azure, DeepL, and Open AI. In fact, you sometimes get adequate suggestions for less common phrases like these:</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeZijAxLSL4bBOEIeh746caH2CttrXXhqnqa1n7BKQiqXru_-rnRV6BKcxM-s_3bPPNLSI1Cflnbi5hGs6AVkmTBDjGTsAE5luEj8WAoleZOexoSVoxZknVh8TKK2a85gnCmv6hvBpyxTiI3qc0Y0X0EtGf?key=Lw5dMcWg_y-IocXK0rQn5Q" class="kg-image" alt loading="lazy"></figure><h2 id="one-major-tip-on-localization">☝️One major tip on localization <a class="markdownit-header-anchor" href="#one-major-tip-on-localization">🔗</a></h2><p>Translation is nonlinear. It requires human creativity, industry expertise, and, above all, empathy. <strong>You need to be able to put yourself in your reader’s shoes and imagine yourself using the product of your work</strong>. And this is especially important when localizing software.</p><p>Luckily, we have had a great team with the Jedie<em> </em>app. It included professionals in crypto trading, project management, design, and mobile development. We have always been there for each other. If there’s one major tip on localization I could share, it’s this:</p><blockquote>Automation tools will not replace a great team. But equip a great team or expert with specialized cutting-edge software, and they will nail any project</blockquote><p>The good news is that Localazy isn’t just a digital tool. The company behind it can provide a <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization Team</a> with the linguistic and cultural expertise for your multilingual application. You can learn more about Localazy’s translation services <a href="https://localazy.com/blog/guide-localazy-translation-services" rel="noopener noreferrer nofollow"><u>here</u></a>.</p>]]></content:encoded>
            <author>Mick Chistopolov</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/10/localazy-translator-series-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The best Intercom plugins for SaaS to provide outstanding customer service]]></title>
            <link>https://localazy.com/blog/the-best-intercom-plugins-for-saas-to-provide-outstanding-customer-service</link>
            <guid isPermaLink="false">the-best-intercom-plugins-for-saas-to-provide-outstanding-customer-service</guid>
            <pubDate>Thu, 28 Nov 2024 14:49:32 GMT</pubDate>
            <description><![CDATA[Feeling swamped by customer support demands? With the right Intercom plugins, you can automate tasks, improve communication, and deliver top-notch service effortlessly. Here’s how these tools make your life easier and boost your SaaS success.]]></description>
            <content:encoded><![CDATA[<p>With each passing day, the internet user base is becoming larger, and digital means of communication are also seeing hype like never before. 67.1% of the world's population is using the internet, which emphasizes how important it is as a medium for spreading information and voicing your opinions. And if you’re running a SaaS business today, <strong>staying connected with your customers on your digital platform is not just a need; it’s a necessity</strong> to foster long-term relationships and retain their loyalty.</p><p>This all sounds great in theory — until it's time for practical implementation. 😵‍💫 With limited time and customers expecting responses in the blink of an eye, you need a solution like <strong><a href="https://www.intercom.com">Intercom</a>, a customer messaging platform </strong>that’s changed how businesses communicate with their customers.</p><p>At some point, you'll need to enhance the platform functionalities, add customization options and integrate with other services – and that's where Intercom plugins come in. In this article, we will discuss <strong>seven of the best Intercom third-party apps for SaaS customer support</strong>. Whether you’re looking for <a href="https://www.intercom.com/help/en/articles/3107388-support-multiple-languages-in-your-help-center" rel="noopener noreferrer nofollow"><u>Intercom translations</u></a>, analytics, real-time screen sharing, or automation, we've got you covered.</p><h2 id="our-selection">⭐️ Our selection <a class="markdownit-header-anchor" href="#our-selection">🔗</a></h2><h3 id="1-lessa-hrefhttpswwwintercomcomapp-storeapppackagecodeslack-for-intercomgreaterslacklessagreater">1. <a href="https://www.intercom.com/app-store?app_package_code=slack-for-intercom">Slack</a> <a class="markdownit-header-anchor" href="#1-lessa-hrefhttpswwwintercomcomapp-storeapppackagecodeslack-for-intercomgreaterslacklessagreater">🔗</a></h3><p>Slack is one of the most popular tools for managing team communications. Intercom allows to integrate with it, smoothing the communication flow between customer support teams and internal stakeholders. </p><p>After successful integration, the notifications are sent directly from Intercom to designated Slack channels, to ensure the customer inquiries are resolved faster and conveniently. An added advantage for SaaS companies is that they can keep all teams on the same page without switching between the apps. 📱✨</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/10/image.png" class="kg-image" alt loading="lazy" width="1143" height="854" srcset="https://ghost.localazy.com/content/images/size/w600/2024/10/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/10/image.png 1000w, https://ghost.localazy.com/content/images/2024/10/image.png 1143w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏅</div><div class="kg-callout-text"><strong>Top features</strong></div></div><ul><li>🔔 Real-time notifications in Slack for every customer interaction via Intercom.</li><li>👥 Available for both public and private channels.</li><li>🎯 Individual targeting for specific channels and tickets.</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>Benefits and use cases</strong></div></div><ul><li>Teams can work on specific issues without leaving Slack.</li><li>Allows members to handle tickets that match their expertise and experience.</li><li>Reduces noise.</li><li>Especially useful for remote teams, as it keeps communications centralized.</li></ul><div class="kg-card kg-callout-card kg-callout-card-purple"><div class="kg-callout-emoji">💸</div><div class="kg-callout-text"><strong>Cost</strong></div></div><p>Pricing starts at $7.25 per person/month. Free trial available.</p><h3 id="2-lessa-hrefhttpswwwintercomcomapp-storeapppackagecodeupscope-shniandsearchupscopegreaterhelloscreenlessagreater">2. <a href="https://www.intercom.com/app-store/?app_package_code=upscope-shni&search=upscope">HelloScreen</a> <a class="markdownit-header-anchor" href="#2-lessa-hrefhttpswwwintercomcomapp-storeapppackagecodeupscope-shniandsearchupscopegreaterhelloscreenlessagreater">🔗</a></h3><p>If you’ve ever worked at a support desk, you can understand how frustrating it becomes when you can’t visualize what the user is talking about. How about a tool that can make it possible right in your support dashboard? 🌟 </p><p>HelloScreen by Upscope allows agents to see what customers see on their screens in real time, making it ideal for guiding even the least tech-savvy users. Integrated with Intercom, it's a powerful tool for daily support work.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/10/Upscope.png" class="kg-image" alt loading="lazy" width="1437" height="676" srcset="https://ghost.localazy.com/content/images/size/w600/2024/10/Upscope.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/10/Upscope.png 1000w, https://ghost.localazy.com/content/images/2024/10/Upscope.png 1437w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏅</div><div class="kg-callout-text"><strong>Top features</strong></div></div><ul><li>👀 Co-browsing allows you to see and take control of customers' screens instantly.</li><li>💻 Its developer-friendly API makes it easy to integrate with custom workflows and platforms.</li><li>🔒 Data privacy and security features to protect the user.</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>Benefits and use cases</strong></div></div><ul><li>Reduces onboarding and support time by 43%.</li><li>Improves customer satisfaction by providing quick, personalized support that makes them feel valued.</li><li>Instantly highlights the key features your customer is looking for in your SaaS.</li></ul><div class="kg-card kg-callout-card kg-callout-card-purple"><div class="kg-callout-emoji">💸</div><div class="kg-callout-text"><strong>Cost</strong></div></div><p>The pricing of the co-browsing API starts at $0.05/month, with a minimum purchasing of at least 100 hours per month.</p><h3 id="3-lessa-hrefhttpswwwintercomcomapp-storeapppackagecodestatuspagegreaterstatuspagelessagreater">3. <a href="https://www.intercom.com/app-store/?app_package_code=statuspage">Statuspage</a> <a class="markdownit-header-anchor" href="#3-lessa-hrefhttpswwwintercomcomapp-storeapppackagecodestatuspagegreaterstatuspagelessagreater">🔗</a></h3><p>As a SaaS owner, you’ve likely experienced downtime at some point. Or maybe you had to pause service on a specific page to fix an error. 🔧 While these interruptions are necessary for product improvements, they can be frustrating for users, who start submitting support tickets once they notice. </p><p>If they don’t receive a prompt response, there’s a chance you could end up with some negative reviews. But if you’re using Intercom for your SaaS, you can easily integrate it with Statuspage. This way, when users ask about the downtime of a particular page through Intercom, they'll receive tailored responses for their query.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/10/Statuspage.png" class="kg-image" alt loading="lazy" width="1458" height="892" srcset="https://ghost.localazy.com/content/images/size/w600/2024/10/Statuspage.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/10/Statuspage.png 1000w, https://ghost.localazy.com/content/images/2024/10/Statuspage.png 1458w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏅</div><div class="kg-callout-text"><strong>Top features</strong></div></div><ul><li>🟢 Live status updates and customizable status pages. </li><li>📨 Customers can subscribe to updates.</li><li>⚙️ Easy integration with page health monitoring tools.</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>Benefits and use cases</strong></div></div><ul><li>Proactively updates users about ongoing incidents and system statuses.</li><li>Users can get information directly in the chat, potentially reducing support ticket volume.</li><li>Builds more customer trust through transparency of service.</li></ul><div class="kg-card kg-callout-card kg-callout-card-purple"><div class="kg-callout-emoji">💸</div><div class="kg-callout-text"><strong>Cost</strong></div></div><p>Multiple pricing options available starting from $29/month. Offers a free trial.</p><h3 id="4-lessa-hrefhttpswwwintercomcomapp-storeapppackagecodelivesessionandcategoryanalyticsgreaterlivesessionlessagreater">4. <a href="https://www.intercom.com/app-store/?app_package_code=livesession&category=analytics">LiveSession</a> <a class="markdownit-header-anchor" href="#4-lessa-hrefhttpswwwintercomcomapp-storeapppackagecodelivesessionandcategoryanalyticsgreaterlivesessionlessagreater">🔗</a></h3><p>LiveSession records live sessions that track your users' journeys. When you integrate it with Intercom, it lets you visualize all the customer sessions in your dashboard, as well as information on how the user navigated your tool and what their experience was like. Based on this data, you can answer user queries more conveniently and provide quick, personalized support.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/10/LiveSession.png" class="kg-image" alt loading="lazy" width="1591" height="785" srcset="https://ghost.localazy.com/content/images/size/w600/2024/10/LiveSession.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/10/LiveSession.png 1000w, https://ghost.localazy.com/content/images/2024/10/LiveSession.png 1591w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏅</div><div class="kg-callout-text"><strong>Top features</strong></div></div><ul><li>📹 Direct access to LiveSession recordings from Intercom conversations.</li><li>🎯 Session filtering based on custom events, user properties, and more.</li><li>📊 User engagement visualization across different pages and website elements.</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>Benefits and use cases</strong></div></div><ul><li>Helps in faster problem resolution thanks to real-time context in Intercom.</li><li>Allows you to track user journeys and understand where users drop off to optimize conversion rates.</li><li>Enhances the performance of development teams with session replays, allowing them to prioritize fixes based on user experience.</li><li>Improves user experience and makes customers happier by providing personalized support.</li></ul><div class="kg-card kg-callout-card kg-callout-card-purple"><div class="kg-callout-emoji">💸</div><div class="kg-callout-text"><strong>Cost</strong></div></div><p>Although the tool offers a free version, to use the API access you need to upgrade to the Pro version, which costs $99/month.</p><h3 id="5-lessa-hrefhttpswwwintercomcomapp-storeapppackagecodesaasdocsandsearchsaasdocsgreatersaasdocslessagreater">5. <a href="https://www.intercom.com/app-store/?app_package_code=saasdocs&search=saasdocs">Saasdocs</a> <a class="markdownit-header-anchor" href="#5-lessa-hrefhttpswwwintercomcomapp-storeapppackagecodesaasdocsandsearchsaasdocsgreatersaasdocslessagreater">🔗</a></h3><p>Every SaaS owner wants to provide the maximum information possible about their product to users so customers don’t have to experiment with multiple tools.  Creating guides with step-by-step instructions for using features helps with this issue, but the problem is that it takes hours and hours. </p><p>To solve this, Saasdocs offers a solution where you can automatically generate high-quality instructional articles by simply recording your workflow with a Chrome extension. With their Intercom plugin, you can export these articles directly to your help center. 📨</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/10/SaasDocs.png" class="kg-image" alt loading="lazy" width="1869" height="881" srcset="https://ghost.localazy.com/content/images/size/w600/2024/10/SaasDocs.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/10/SaasDocs.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/10/SaasDocs.png 1600w, https://ghost.localazy.com/content/images/2024/10/SaasDocs.png 1869w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏅</div><div class="kg-callout-text"><strong>Top features</strong></div></div><ul><li>🔄 Export articles to Intercom without much effort.</li><li>🌍 Multilingual support, allowing you to create articles in multiple languages within your help center.</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>Benefits and use cases</strong></div></div><ul><li>Developers can easily record workflows to create articles, reducing the time and effort needed for coordination between writers and developers.</li><li>Helps the support team provide better assistance by sharing articles directly from the Intercom dashboard.</li></ul><div class="kg-card kg-callout-card kg-callout-card-purple"><div class="kg-callout-emoji">💸</div><div class="kg-callout-text"><strong>Cost</strong></div></div><p>Pricing starts at €9.90 per month. You can upgrade as per your requirements. A free trial is also available.</p><h3 id="6-lessa-hrefhttpswwwintercomcomapp-storeapppackagecodedata-collector-appandsearchcustomerpercent20healthpercent20scoregreatercustomer-health-scorelessagreater">6. <a href="https://www.intercom.com/app-store/?app_package_code=data-collector-app&search=customer%20health%20score">Customer Health Score</a> <a class="markdownit-header-anchor" href="#6-lessa-hrefhttpswwwintercomcomapp-storeapppackagecodedata-collector-appandsearchcustomerpercent20healthpercent20scoregreatercustomer-health-scorelessagreater">🔗</a></h3><p>Gone are the days when people relied on gut feelings and vague assumptions about their customers' journeys. Using predictive algorithms and the data you collect through Intercom, the Customer Health Score plugin by Alvis provides precise health scores that help you proactively address churn risks and retain users. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/10/Customer-Health-Score.png" class="kg-image" alt loading="lazy" width="1510" height="790" srcset="https://ghost.localazy.com/content/images/size/w600/2024/10/Customer-Health-Score.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/10/Customer-Health-Score.png 1000w, https://ghost.localazy.com/content/images/2024/10/Customer-Health-Score.png 1510w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏅</div><div class="kg-callout-text"><strong>Top features</strong></div></div><ul><li>📊 Customer health analysis based on interaction data using predictive algorithms and AI.</li><li>🌟 Seamless visualization of overall health, graphs, trends, and insight segments.</li><li>🛠️ Customer health score view on the support dashboard.</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>Benefits and use cases</strong></div></div><ul><li>Helps to take proactive measures to retain high-risk customers and reduce churn.</li><li>Gives access to real-time information in Intercom.</li><li>Identifies potential product issues through customers’ patterns.</li></ul><div class="kg-card kg-callout-card kg-callout-card-purple"><div class="kg-callout-emoji">💸</div><div class="kg-callout-text"><strong>Cost</strong></div></div><p>Pricing starts at $120/month.</p><h3 id="7-lessa-hrefhttpslocalazycomintercomgreaterlocalazylessagreater">7. <a href="https://localazy.com/intercom/">Localazy</a> <a class="markdownit-header-anchor" href="#7-lessa-hrefhttpslocalazycomintercomgreaterlocalazylessagreater">🔗</a></h3><p>One of the biggest issues global SaaS companies face when expanding to new markets is the linguistic barrier. <a href="https://insights.csa-research.com/reportaction/305013126/Marketing?_gl=1%2Aa68pf7%2A_ga%2ANDM5MjI5NDM4LjE2ODA2MTc4Njc.%2A_ga_LL76TPHNBP%2AMTY4MDYxNzg2Ni4xLjAuMTY4MDYxNzg2Ni4wLjAuMA..">Research by CSA</a> found that 76% of the surveyed customers in 29 countries preferred products with information presented in their native tongue. This shows <a href="https://localazy.com/blog/4-key-findings-that-confirm-you-need-to-go-multilingual-for-global-reach-in-2024/">how important is to have multiple languages available</a> in your help center.</p><p><strong>So, does Intercom support multiple languages?</strong> Yes – and even better, you can avoid the embarrassment of inaccurate translations by using our Intercom integration. Localazy <a href="https://localazy.com/faq/intercom-localization/how-do-i-set-up-intercom-localization-with-localazy?srsltid=AfmBOooxsIW_9RcD7zD5Yjp0NZtZbWlC1sTLoOzphGpCz5zlYeXBVASh">will take the text from your help center articles</a>, collections, and support documentation and turn it into keys for translation. After the text is translated, everything can be sent back to Intercom so your support content is always clear.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/11/Localazy-New-Homepage.png" class="kg-image" alt loading="lazy" width="1836" height="818" srcset="https://ghost.localazy.com/content/images/size/w600/2024/11/Localazy-New-Homepage.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/11/Localazy-New-Homepage.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/11/Localazy-New-Homepage.png 1600w, https://ghost.localazy.com/content/images/2024/11/Localazy-New-Homepage.png 1836w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">🏅</div><div class="kg-callout-text"><strong>Top features</strong></div></div><ul><li>💪 Automatic translation of help center articles and support documentation.</li><li>🔃 Advanced file conversion features.</li><li>🔤 Handles all plural types according to the latest CLDR (Common Locale Data Repository) standards, which ensures that you have grammatically correct translations in every language.</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text"><strong>Benefits and use cases</strong></div></div><ul><li>Allows you to engage a broader audience and increase user satisfaction across different regions.</li><li>Reduces the chances of miscommunication and frustration during support.</li><li>Ensures your translated support content stays consistent and error-free.</li></ul><div class="kg-card kg-callout-card kg-callout-card-purple"><div class="kg-callout-emoji">💸</div><div class="kg-callout-text"><strong>Cost</strong></div></div><p>Price starts at $33 per month.</p><blockquote>📞 Want to offer multilingual support on Intercom? <a href="https://localazy.com/intercom/">Integrate it today</a> with Localazy within minutes</blockquote><h2 id="how-to-choose-the-right-plugins">🤔 How to choose the right plugins?  <a class="markdownit-header-anchor" href="#how-to-choose-the-right-plugins">🔗</a></h2><p>When choosing customer engagement tools to enhance your Intercom setup, <strong>focus on your specific needs rather than just popular opinions</strong>. Here are some important factors to consider when picking your plugins:</p><h3 id="data-analytics">Data analytics <a class="markdownit-header-anchor" href="#data-analytics">🔗</a></h3><p>For better insights and understanding of customer behavior, consider Intercom API-based plugins. These plugins use advanced analytics to provide a clear picture of customer health and potential churn risks.</p><h3 id="customer-engagement">Customer engagement <a class="markdownit-header-anchor" href="#customer-engagement">🔗</a></h3><p>To boost customer engagement, look for Intercom integrations that enhance your interaction with users. Messaging and collaboration plugins enhance communication between your support team and customers, making it easier to resolve issues promptly. 💬</p><h3 id="localization">Localization <a class="markdownit-header-anchor" href="#localization">🔗</a></h3><p>A localization plugin is crucial if you have a multilingual customer base. 🌍 Additions like the Localazy Intercom plugin can help you translate your help center content effectively, ensuring clear communication with users across different languages and improving their overall satisfaction.</p><blockquote>💡 Localazy supports over 50+ integrations, plugins, and tools that enable you to translate your digital products on autopilot. <a href="https://localazy.com/integrations">See here</a></blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>As you explore these tools, take note of your needs and the available plugins. Investing in the right platforms doesn’t just streamline workflows – it also boosts overall customer satisfaction. Start by integrating the plugins that align with your goals and see how they can enhance your SaaS customer support. With the right tools, you can turn customer interactions into opportunities for growth and satisfaction! 💡</p>]]></content:encoded>
            <author>Waqas Nazeer</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/10/Intercom-top-7.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Why Localazy doesn't charge you for extra seats]]></title>
            <link>https://localazy.com/blog/why-localazy-doesnt-charge-you-for-your-translation-seats</link>
            <guid isPermaLink="false">why-localazy-doesnt-charge-you-for-your-translation-seats</guid>
            <pubDate>Sat, 16 Aug 2025 14:39:30 GMT</pubDate>
            <description><![CDATA[Are you feeling a bit overwhelmed when you look at the invoice for your localization suite? At Localazy, we have chosen unlimited-seat pricing to support you. Here is how this model benefits translation quality and gives you peace of mind.]]></description>
            <content:encoded><![CDATA[<p>Many tech companies are known for charging their users per seat, as it is one of the most common pricing models. Charging per seat means that when a company purchases a service, it pays for individual accounts, a.k.a. seats, for each employee who will use it.</p><p>Seat-based pricing can be really helpful for enterprise companies - it makes it easier to figure out the cost. But the downside is that the price can add up quickly if you need to add more people to your team to make your continuous localization process run smoothly. Ultimately, this model presents limitations for companies searching for a platform that serves their unique needs and team size. </p><p><strong>At Localazy, we recognize that seat-based pricing may not always be the most suitable option for all businesses</strong>, especially those with extended teams of external collaborators and contributors. As a result, we have carefully set up an inclusive and flexible pricing structure that combines tiered, usage-based, and freemium subscription models, ensuring that our users can access a wide array of pricing options.</p><p>But before we get into this, let's examine some of the most popular pricing options available industry-wide.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/chairs.png" class="kg-image" alt loading="lazy" width="913" height="773" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/chairs.png 600w, https://ghost.localazy.com/content/images/2024/08/chairs.png 913w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-top-6-saas-pricing-models-and-where-do-we-fit-there">💰 The top 6 SaaS pricing models (and where do we fit there) <a class="markdownit-header-anchor" href="#the-top-6-saas-pricing-models-and-where-do-we-fit-there">🔗</a></h2><p>To help you understand the advantages and disadvantages of different pricing options, let's explore the most common SaaS pricing models and highlight the benefits of a combined pricing approach.</p><h3 id="1-flat-rate-pricing">1. Flat-rate pricing <a class="markdownit-header-anchor" href="#1-flat-rate-pricing">🔗</a></h3><p>Flat-rate pricing charges customers <strong>a fixed fee for unlimited software usage</strong>. This model is more common for simpler or single-feature SaaS products. </p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text">It's straightforward – you get one price for all features, regardless of usage. It's simple and predictable, making it easy to budget.</div></div><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">👎</div><div class="kg-callout-text">Not the best option for companies with varying needs or usage patterns.</div></div><p><strong>Examples:</strong> <a href="https://basecamp.com/pricing">Basecamp</a>, <a href="https://freckle.com/en-us/">Freckle</a>, <a href="https://blot.im/about">Blot</a>.</p><h3 id="2-usage-based-pricing">2. Usage-based pricing <a class="markdownit-header-anchor" href="#2-usage-based-pricing">🔗</a></h3><p>With pay-as-you-go pricing, <strong>you pay based on how much you use the service</strong>. Pricing is tied to specific metrics, such as the volume of data processed or the number of API calls made. </p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text">This model is advantageous for customers with fluctuating needs, as they only pay for what they use. It's fair and flexible.</div></div><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">👎</div><div class="kg-callout-text">It can be unpredictable and harder to budget for if your monthly usage varies widely.</div></div><p>In the case of Localazy, the pay-as-you-go model is used to pay for online services such as our <a href="https://localazy.com/docs/cdn/cdn-pricing">Content Delivery Network (CDN)</a> or professional translation services (CLT).</p><p><strong>Examples:</strong> <a href="https://stripe.com/es/pricingç">Stripe</a>, <a href="https://zapier.com/pricing">Zapier</a>, <a href="https://amplitude.com/pricing">Amplitude</a>, <a href="https://localazy.com/features/continuous-localization-team">Localazy CLT</a>.</p><h3 id="3-tiered-pricing">3. Tiered pricing <a class="markdownit-header-anchor" href="#3-tiered-pricing">🔗</a></h3><p>Tiered pricing offers <strong>different levels of functionality and features at various price points</strong>. Customers can choose the plan that best aligns with their requirements and, as their needs grow, upgrade to higher tiers.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text">Allows businesses to choose the plan that best suits their needs and easily upgrade to the next tier as they grow.</div></div><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">👎</div><div class="kg-callout-text">Selecting a tier can get complex. Customers need to pay close attention to the small print to ensure they benefit from most features.</div></div><p>Localazy also fits inside this model, offering different tiers based on the <u><a href="https://localazy.com/faq/localazy-accounts/what-are-source-keys" rel="noopener noreferrer nofollow">source key limit</a></u> and feature set, providing transparency and flexibility.</p><p><strong>Examples:</strong> <a href="https://es.squarespace.com/precios">Squarespace</a>, <a href="https://slack.com/intl/es-es/pricing">Slack</a>, <a href="https://www.shopify.com/pricing">Shopify</a>, <a href="https://localazy.com/pricing">Localazy Professional, Autopilot &amp; Business</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/Source-keys.png" class="kg-image" alt loading="lazy" width="1200" height="342" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/Source-keys.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/Source-keys.png 1000w, https://ghost.localazy.com/content/images/2024/08/Source-keys.png 1200w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-freemium-model">4. Freemium model <a class="markdownit-header-anchor" href="#4-freemium-model">🔗</a></h3><p>The freemium model offers <strong>a free basic version of the service</strong> <strong>with the option to upgrade</strong> to a paid plan for more features. At Localazy, we <a href="https://localazy.com/docs/general/localazy-free-tier" rel="noopener noreferrer nofollow"><u>embrace this model</u></a> by keeping essential features free for everyone, making them accessible to all users. This is the best way for users to benefit from our product and solve their translation needs without paying a single cent.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text">A great way to attract new users and let them try the product before committing to a purchase.</div></div><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">👎</div><div class="kg-callout-text">Users might feel frustrated when some functionalities are locked behind a paywall. There might be pressure to upgrade.</div></div><p><strong>Examples: </strong><a href="https://www.dropbox.com/plans">Dropbox</a>, <a href="https://www.grammarly.com/plans">Grammarly</a>, <a href="https://www.canva.com/pro/">Canva</a>, <a href="https://localazy.com/tiers/free">Localazy Free</a>.</p><blockquote>🎙️ Is the most popular pricing model often the best? Listen to insights on what B2B pricing approaches would make sense for your brand in our <a href="https://localazy.com/blog/s01-ep-04-bridging-the-gap-podcast">conversation with Dima Melnik, a B2B pricing advisor for SaaS companies</a>. </blockquote><h3 id="5-per-feature-pricing">5. Per-feature pricing <a class="markdownit-header-anchor" href="#5-per-feature-pricing">🔗</a></h3><p>Per-feature pricing charges based on the features you use. This model allows businesses to tailor the service to their specific needs and <strong>only pay for what they actually use</strong>.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text">You can customize the product according to your needs.</div></div><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">👎</div><div class="kg-callout-text">It can be complex to manage. As features are added, costs are likely to escalate and become difficult to track.</div></div><p><strong>Examples: </strong><a href="https://www.cloudflare.com/es-es/plans/">Cloudflare</a>,<strong> </strong><a href="https://asana.com/es/pricing">Asana</a>, <a href="https://aws.amazon.com/es/free/?trk=349e66be-cf8d-4106-ae2c-54262fc45524&amp;sc_channel=ps&amp;ef_id=Cj0KCQjwr9m3BhDHARIsANut04ba6okY0b9E5OeYtgcrsMzYWvKZApqwqsNZ1l3PC4nSPrmMI794Vz4aArM3EALw_wcB:G:s&amp;s_kwcid=AL!4422!3!455709741738!e!!g!!aws%20pricing!10817378576!108173614442&amp;gbraid=0AAAAADjHtp_LU39UFz2PgClOOf98ZwzOe&amp;gclid=Cj0KCQjwr9m3BhDHARIsANut04ba6okY0b9E5OeYtgcrsMzYWvKZApqwqsNZ1l3PC4nSPrmMI794Vz4aArM3EALw_wcB&amp;all-free-tier.sort-by=item.additionalFields.SortRank&amp;all-free-tier.sort-order=asc&amp;awsf.Free%20Tier%20Types=*all&amp;awsf.Free%20Tier%20Categories=*all">Amazon Web Services (AWS)</a>.</p><h3 id="6-seat-based-pricing">6. Seat-based pricing <a class="markdownit-header-anchor" href="#6-seat-based-pricing">🔗</a></h3><p>In seat-based pricing, <strong>customers are charged based on the number of users or "seats" with access to the software</strong>. Each user is considered a separate seat, and the pricing typically increases as the number of seats required by the customer increases. This model is common in collaboration and communication tools where each team member needs access to the platform. </p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">✅</div><div class="kg-callout-text">Easy to understand and scale.</div></div><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">👎</div><div class="kg-callout-text">Can become expensive as your team grows.</div></div><p>Localazy offers a variation of this by providing unlimited seats within each tier, ensuring your team can collaborate without worrying about additional costs (more details below 😉).</p><p><strong>Examples:</strong> <a href="https://zoom.us/pricing">Zoom</a>, <a href="https://www.intercom.com/pricing">Intercom</a>, <a href="https://www.hubspot.com/pricing/marketing/enterprise?term=annual">Hubspot</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/Pricing-model.png" class="kg-image" alt loading="lazy" width="1200" height="470" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/Pricing-model.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/Pricing-model.png 1000w, https://ghost.localazy.com/content/images/2024/08/Pricing-model.png 1200w" sizes="(min-width: 720px) 720px"></figure><h3 id="where-do-we-fit-in">⭐️ Where do we fit in? <a class="markdownit-header-anchor" href="#where-do-we-fit-in">🔗</a></h3><p>At Localazy, we combine the best aspects of several pricing models to offer a flexible and transparent solution. Our plans are tailored to contributors of all sizes. We have a <strong>combination of tiered, freemium, and usage-based pricing, which helps us cater to everyone fairly</strong>.</p><p>Our unique twist includes offering <strong>unlimited seats within each tier</strong>. This ensures that your entire team can work together seamlessly without worrying about unexpected costs or limitations on collaboration. </p><blockquote>Localazy offers a combination of subscription-based, tiered, freemium and usage-based pricing to cater to our customers as fairly as possible. Unlimited seats are a benefit for everyone, regardless of their tier</blockquote><p>Before you visit <u><a href="https://localazy.com/pricing" rel="noopener noreferrer nofollow">our pricing page</a></u> yourself, here's a breakdown of our plans and whom they cater to:</p><ul><li><strong>💫 <a href="https://localazy.com/tiers/free">Free plan</a></strong>:<strong> </strong>Perfect for community projects, new developers, and crowdsourced efforts where seats are needed for volunteers and contributors.</li><li><strong>🧑‍🚀 <a href="https://localazy.com/tiers/professional">Professional</a></strong>:<strong> </strong>Ideal for small projects, startups, and indie devs.</li><li><strong>🚀 <a href="https://localazy.com/tiers/autopilot">Autopilot</a></strong>:<strong> </strong>Perfect for growing businesses and startups where the team needs to take the localization hats down from their busy heads.</li><li><strong>🌍 <a href="https://localazy.com/tiers/business">Business</a></strong>: All the advanced features and tools for established companies that want to manage localization projects at scale.</li><li><strong>🪐 <a href="https://localazy.com/tiers/enterprise">Enterprise</a></strong>: Tailored pricing, prioritized feature development, and manhours at your disposal for considerably larger projects and aspiring global businesses.</li></ul><h2 id="why-do-we-offer-unlimited-seats">👉 Why do we offer unlimited seats? <a class="markdownit-header-anchor" href="#why-do-we-offer-unlimited-seats">🔗</a></h2><p>At Localazy, we believe in making our platform as effective as possible for all users. That's why we offer unlimited seats. It's not just about getting more people on board; it's about ensuring everyone has the tools they need to break language barriers together. </p><p>With unlimited seats, you can:</p><ul><li>💌 <strong>Involve clients or business customers and their teams in the process </strong>(design, development, management, marketing, QA).</li><li><strong>✏️ Invite trusted community members or users</strong> so they can suggest improvements.</li><li><strong>📞 Collaborate with channel partners, resellers, etc.</strong>, to craft a specific language version for their market.</li><li><strong>🧑‍🔧 Consider inviting alpha/beta users</strong> to suggest improvements.</li></ul><p>And these are just a few examples. Five major reasons behind offering unlimited seats include:</p><h3 id="reason-1-its-effective">Reason #1: It's effective <a class="markdownit-header-anchor" href="#reason-1-its-effective">🔗</a></h3><p>Unlimited seats mean that <strong>your entire team can collaborate without worrying about extra costs</strong>. Whether you have a small team or a large organization, everyone can contribute, share ideas, and work towards what's best for the project with no constraints. 💪</p><h3 id="reason-2-its-affordable">Reason #2: It's affordable <a class="markdownit-header-anchor" href="#reason-2-its-affordable">🔗</a></h3><p>By offering unlimited seats, we keep things simple and affordable.<strong> You won't be hit with unexpected costs every time you add a new user</strong>. This way, you can focus on what really matters – delivering high-quality translations and reaching a global audience without extra financial stress.</p><h3 id="reason-3-its-scalable">Reason #3: It's scalable <a class="markdownit-header-anchor" href="#reason-3-its-scalable">🔗</a></h3><p>Your needs might grow over time, and our unlimited seats option supports this growth. <strong>As your projects scale and your team expands, you won't have to worry about upgrading your plan</strong> or incurring additional expenses to add new members to your projects. You get the scalability you need without the hassle.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/Secured.png" class="kg-image" alt loading="lazy" width="272" height="403"></figure><h3 id="reason-4-its-secure">Reason #4: It's secure <a class="markdownit-header-anchor" href="#reason-4-its-secure">🔗</a></h3><p>Limited seats can serve as a vector for security and bring safety challenges. For instance, if you restrict the number of authorized users who can access a particular platform, you will need to share login credentials and give unauthorized access to sensitive data, compromising security. </p><p>With unlimited seats, you will ensure that<strong> every team member has their own secure access to the platform</strong>. This minimizes the risk of sharing logins and keeps your data safe. Once users have separate access, you'll also be able to measure their performance and improve your workflow efficiency.</p><h3 id="reason-5-quality-cant-be-compromised">Reason #5: Quality can't be compromised <a class="markdownit-header-anchor" href="#reason-5-quality-cant-be-compromised">🔗</a></h3><p>Limited seats indirectly compromise the quality of work you produce. With a smaller pool of translators being available to handle the workload, there is increased pressure and limited time for thorough review. </p><p><strong>When more people are involved, there are more opportunities for catching errors, refining translations</strong>, and ensuring that the final product meets the highest standards. Through unlimited seats, you can:</p><ul><li>Invite more people to proofread the translations.</li><li>Easily accommodate increasing translation demands.</li><li>Invite non-translators/company staff to check the quality (<a href="https://www.techopedia.com/definition/30784/dogfooding" rel="noopener noreferrer nofollow"><u>dogfooding</u></a>).</li><li>Handle multiple projects simultaneously, enhancing project efficiency.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/seat-unltd-1.png" class="kg-image" alt loading="lazy" width="1200" height="470" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/seat-unltd-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/seat-unltd-1.png 1000w, https://ghost.localazy.com/content/images/2024/08/seat-unltd-1.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-benefits-of-combined-pricing">💪 The benefits of combined pricing <a class="markdownit-header-anchor" href="#the-benefits-of-combined-pricing">🔗</a></h2><p>Apart from offering unlimited seats, Localazy has built a diverse and flexible pricing structure that combines the best of <strong>tiered, usage-based, freemium,</strong> and <strong>subscription-based</strong> models. This brings numerous benefits to our users, including:</p><h3 id="tailored-plans-for-different-needs">Tailored plans for different needs <a class="markdownit-header-anchor" href="#tailored-plans-for-different-needs">🔗</a></h3><p>With a combined pricing model, we can serve a wide pool of users, <strong>from indie developers and small projects to large enterprises with extensive localization needs</strong>. Our tiered pricing allows users to choose plans based on the level of functionality and features they require, ensuring that they pay only for what they need.</p><h3 id="cost-effective-and-scalable">Cost-effective and scalable <a class="markdownit-header-anchor" href="#cost-effective-and-scalable">🔗</a></h3><p>The usage-based pricing component of our combined model enables cost-effectiveness and scalability. <strong>Users are charged based on their actual usage of our features (</strong><u><a href="https://localazy.com/docs/cdn/cdn-introduction" rel="noopener noreferrer nofollow"><strong>like Localazy CDN</strong></a></u><strong>), following fair billing</strong>. As your localization needs grow, our usage-based pricing features ensure you can easily scale without overpaying for unused resources.</p><h3 id="flexibility-and-customization">Flexibility and customization <a class="markdownit-header-anchor" href="#flexibility-and-customization">🔗</a></h3><p>Users have the flexibility to customize their plans based on their unique requirements. Whether they opt for a tiered plan with specific features or enjoy the benefits of a freemium plan while exploring our platform, <strong>they can tailor their pricing to align with their objectives perfectly</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/FAQs-1.png" class="kg-image" alt loading="lazy" width="1200" height="470" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/FAQs-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/FAQs-1.png 1000w, https://ghost.localazy.com/content/images/2024/09/FAQs-1.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="faqs">🔎 FAQs <a class="markdownit-header-anchor" href="#faqs">🔗</a></h2><h3 id="does-every-localazy-plan-include-unlimited-seats-even-the-free-plan">Does every Localazy plan include unlimited seats? (even the free plan?) <a class="markdownit-header-anchor" href="#does-every-localazy-plan-include-unlimited-seats-even-the-free-plan">🔗</a></h3><p>Yes, every Localazy plan, including the free plan, offers unlimited seats. 😊 This means that regardless of which plan you choose, you can invite as many collaborators as you need without any additional costs.</p><h3 id="can-i-have-unlimited-seats-regardless-of-the-size-of-my-company">Can I have unlimited seats regardless of the size of my company? <a class="markdownit-header-anchor" href="#can-i-have-unlimited-seats-regardless-of-the-size-of-my-company">🔗</a></h3><p>Absolutely! Localazy provides unlimited seats for all plans. Whether you're a small startup or a large enterprise, you can add as many team members as you need to your projects.</p><h3 id="do-unlimited-seats-apply-to-manager-roles">Do unlimited seats apply to manager roles? <a class="markdownit-header-anchor" href="#do-unlimited-seats-apply-to-manager-roles">🔗</a></h3><p>Yes, the unlimited seats policy applies to all roles within Localazy, including managers. You can assign manager roles to as many users as necessary without any restrictions.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/Localazy-tiers.png" class="kg-image" alt loading="lazy" width="720" height="304" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/Localazy-tiers.png 600w, https://ghost.localazy.com/content/images/2024/09/Localazy-tiers.png 720w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p><strong>Localazy's pricing structure is, above all, customer-centric</strong>. Our combined model caters to the diverse needs of companies seeking a reliable localization platform, making the process as flexible and affordable as possible. Unlimited seats simplify collaboration with external parties, clients, and volunteers. </p><p>👌 These two ingredients are a perfect match in our book, but we can always tailor our pricing further for you upon request, so don't hesitate to get in touch. We'll do our best to support you in your localization journey.</p><blockquote>💸 Need more details about our pricing packages? Head over to <a href="https://localazy.com/blog/localazy-pricing-explained">our ultimate guide</a> for more information, and don't hesitate to <a href="https://localazy.com/contact">contact us</a> for specific requests</blockquote>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/07/Unlimited-seats-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Guide to Directus localization with Localazy]]></title>
            <link>https://localazy.com/blog/guide-to-directus-localization-with-localazy</link>
            <guid isPermaLink="false">guide-to-directus-localization-with-localazy</guid>
            <pubDate>Thu, 26 Sep 2024 16:08:01 GMT</pubDate>
            <description><![CDATA[Headless, versatile, and scalable. What's not to love about Directus? This open-source CMS is a hit on many areas, but only offers basic localization features. Here's how you can supercharge it with Localazy in a few simple steps.]]></description>
            <content:encoded><![CDATA[<p>Flexible content management systems are loved by users worldwide — whether they're developers, marketers, founders, or product managers. That's one of the biggest draws of <a href="https://directus.io"><strong>Directus</strong></a>, a versatile, open-source headless CMS that provides both software engineers and non-technical users with an easy-to-use platform for managing digital content. Directus also offers another key advantage: the ability to work with any SQL-based database, giving you complete control over your data while remaining highly flexible for diverse use cases.</p><p>With a <a href="https://localazy.com/dictionary/no-code">no-code interface</a> for content creators and full API-driven capabilities for developers, Directus empowers teams to build dynamic websites, apps, and digital experiences faster. 🧑‍💻 Its modular architecture, custom extensibility, and the ability to integrate with existing tools make it an excellent choice for businesses of any size looking for a personalized, scalable CMS solution where they can also localize their content. The question is: <strong>how can you do it effectively, even if you don't have technical knowledge?</strong></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/LocaToDirectus.png" class="kg-image" alt loading="lazy" width="600" height="320" srcset="https://ghost.localazy.com/content/images/2024/09/LocaToDirectus.png 600w"></figure><h2 id="localization-limitations-on-directus">🔦 Localization limitations on Directus <a class="markdownit-header-anchor" href="#localization-limitations-on-directus">🔗</a></h2><p>Directus allows you to define fields as translatable, enabling basic localization. However, managing translations directly within Directus can be challenging because:</p><ul><li>⚙️ <strong>You lack access to essential QA tools</strong> like translation memories, machine translation, glossaries, and contextual information, making it harder to ensure accurate and consistent translations.</li><li>🔄 When the source language is updated, <strong>manually keeping translations in sync becomes time-consuming and error-prone</strong>. This process can lead to inconsistencies, especially in large projects.</li><li>📣 <strong>Collaboration tends to be inefficient</strong>, as it doesn't offer a dedicated platform for translators and reviewers to communicate.</li></ul><p>The <a href="https://localazy.com/docs/directus/directus-plugin-introduction-installation">Localazy Directus plugin</a> addresses these issues by offering a streamlined solution with advanced tools and features, ensuring easier translation management, quality, and collaboration.</p><h2 id="getting-started-with-directus-localization">🚀 Getting started with Directus localization <a class="markdownit-header-anchor" href="#getting-started-with-directus-localization">🔗</a></h2><h3 id="1-prepare-your-content-in-directus">1. Prepare your content in Directus <a class="markdownit-header-anchor" href="#1-prepare-your-content-in-directus">🔗</a></h3><p>The first step to start localizing your content in Directus is to create a project. If you're new to Directus, you can follow the <a href="https://docs.directus.io/getting-started/quickstart.html" rel="noopener noreferrer nofollow">official setup guide</a> to get your project up and running. Once that is ready, you'll have to <a href="https://docs.directus.io/guides/headless-cms/content-translations.html">prepare your content for localization</a>.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/HBvsu2rhvnE?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Localization plugin for Directus CMS"></iframe></figure><h3 id="2-create-a-localazy-project">2. Create a Localazy project <a class="markdownit-header-anchor" href="#2-create-a-localazy-project">🔗</a></h3><p>Next, create a Localazy account. Head over to the <a href="https://localazy.com/register" rel="noopener noreferrer nofollow">Localazy website</a> and sign up for an account if you don't already have one. Once logged in, you'll need to create a new project where all your translations will be managed. This project will serve as the hub for importing content from Directus, translating it, and exporting it back seamlessly. With your Localazy project set up, you'll be ready to integrate it with Directus for streamlined localization.</p><h3 id="3-install-the-localazy-plugin">3. Install the Localazy plugin <a class="markdownit-header-anchor" href="#3-install-the-localazy-plugin">🔗</a></h3><p>The next step is to install the Localazy plugin for Directus. To do this, simply visit the <strong>Directus Marketplace</strong> and search for "Localazy" in the search bar.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917112350.png" class="kg-image" alt loading="lazy" width="1426" height="1042" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/Pasted-image-20240917112350.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/Pasted-image-20240917112350.png 1000w, https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917112350.png 1426w" sizes="(min-width: 720px) 720px"></figure><p>Once you've found the Localazy plugin, click the <strong>"Install Extension"</strong> button to add it to your Directus project. Once the installation is complete, refresh the page to apply the changes.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917112429.png" class="kg-image" alt loading="lazy" width="1426" height="1042" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/Pasted-image-20240917112429.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/Pasted-image-20240917112429.png 1000w, https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917112429.png 1426w" sizes="(min-width: 720px) 720px"></figure><p>Lastly, go to <strong>Settings</strong> and, in the <strong>Modules</strong> section, enable the Localazy plugin by clicking on the checkbox and saving the changes.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/image-14.png" class="kg-image" alt loading="lazy" width="1425" height="1042" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/image-14.png 1000w, https://ghost.localazy.com/content/images/2024/09/image-14.png 1425w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-connect-with-your-localazy-project">4. Connect with your Localazy project <a class="markdownit-header-anchor" href="#4-connect-with-your-localazy-project">🔗</a></h3><p>Once the Localazy plugin is installed, navigate to the newly added Localazy section within Directus and head to the <strong>Project Setup</strong> page. Here, you'll need to connect to your Localazy project. Click on the "<strong>Login to Localazy"</strong> button and sign in, then select the project you've designated for translating your Directus content.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917094649.png" class="kg-image" alt loading="lazy" width="1426" height="1042" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/Pasted-image-20240917094649.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/Pasted-image-20240917094649.png 1000w, https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917094649.png 1426w" sizes="(min-width: 720px) 720px"></figure><p>Next, complete the setup by filling in the <strong>Languages Collection</strong>, <strong>Language Code</strong>, and <strong>Source language</strong> fields if they are not prefilled automatically. This will link your Directus content to the appropriate translation settings in Localazy.</p><h3 id="5-export-your-content-to-localazy">5. Export your content to Localazy <a class="markdownit-header-anchor" href="#5-export-your-content-to-localazy">🔗</a></h3><p>Before exporting your content to Localazy, ensure that your collections are properly set up for localization. Each collection you want to translate must include a <strong>Translations</strong> field type, typically named <code>translations</code>. Within this field, create individual fields for each piece of content you wish to translate. This setup allows Localazy to identify and manage the translatable elements effectively. Once your collections are prepared, you can proceed to export your content to Localazy for translation.</p><blockquote>🏄‍♂️ You can automate this process by installing an additional Directus extension: <a href="https://github.com/localazy/directus-extension-localazy/blob/main/extensions/sync-hook" rel="noopener noreferrer nofollow">Localazy Automation</a></blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917095316-1.png" class="kg-image" alt loading="lazy" width="1426" height="1042" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/Pasted-image-20240917095316-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/Pasted-image-20240917095316-1.png 1000w, https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917095316-1.png 1426w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917095401.png" class="kg-image" alt loading="lazy" width="1426" height="1042" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/Pasted-image-20240917095401.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/Pasted-image-20240917095401.png 1000w, https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917095401.png 1426w" sizes="(min-width: 720px) 720px"></figure><p>In the <strong>Import &amp; Export</strong> section in the Localazy plugin, select which collections and fields should be uploaded to Localazy. Then, click on <strong>"Export to Localazy"</strong> to upload your data.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917095519.png" class="kg-image" alt loading="lazy" width="1426" height="1042" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/Pasted-image-20240917095519.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/Pasted-image-20240917095519.png 1000w, https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917095519.png 1426w" sizes="(min-width: 720px) 720px"></figure><h3 id="6-translate-within-our-ui">6. Translate within our UI <a class="markdownit-header-anchor" href="#6-translate-within-our-ui">🔗</a></h3><p>Once your content is exported, you can start translating it. We will use Localazy's powerful machine translation features to quickly generate translations, which is ideal for speeding up the localization process.</p><p>Navigate to the Localazy project where your Directus content has been imported. Here, you'll find the content that needs translation. Use Localazy's machine translation tools to automatically generate translations for your target languages. This feature leverages advanced algorithms to provide initial translations, which you can then review and refine for accuracy.</p><blockquote>🦾 Click <a href="https://localazy.com/docs/general/additional-mt-engines">here</a> for the full list of MT engines available at Localazy, including DeepL and OpenAI</blockquote><p>Machine translations can significantly accelerate your workflow, but<strong> it's always a good idea to review the translations to ensure they meet your quality standards </strong>and context-specific requirements. Once satisfied, you can finalize and export the translations back to Directus.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917112631.png" class="kg-image" alt loading="lazy" width="1717" height="1042" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/Pasted-image-20240917112631.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/Pasted-image-20240917112631.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/Pasted-image-20240917112631.png 1600w, https://ghost.localazy.com/content/images/2024/09/Pasted-image-20240917112631.png 1717w" sizes="(min-width: 720px) 720px"></figure><h3 id="7-import-the-translations-back-to-directus">7. Import the translations back to Directus <a class="markdownit-header-anchor" href="#7-import-the-translations-back-to-directus">🔗</a></h3><p>To import your translations back into Directus, navigate to your project and click on the <strong>"Import to Directus" </strong>button. This action will transfer your translated content from Localazy into your Directus collections.</p><p>In the overview screen, you'll be able to see which languages have been successfully imported and which collections have been updated with the new translations. This allows you to verify that all your content has been correctly synchronized and is ready for use in your Directus project.</p><p>Navigate to one of the updated collections in Directus to review your content in the newly imported languages. <strong>Check that the translations are correctly applied and make any necessary adjustments to ensure accuracy and consistency</strong>. This review step is crucial to confirm that everything looks and reads as intended across different languages.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/image-16.png" class="kg-image" alt loading="lazy" width="1425" height="1042" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/image-16.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/image-16.png 1000w, https://ghost.localazy.com/content/images/2024/09/image-16.png 1425w" sizes="(min-width: 720px) 720px"></figure><h2 id="faqs">🙋 FAQs <a class="markdownit-header-anchor" href="#faqs">🔗</a></h2><h3 id="why-cant-i-see-my-collectionsfields-in-the-sync-overview">Why can't I see my collections/fields in the sync overview? <a class="markdownit-header-anchor" href="#why-cant-i-see-my-collectionsfields-in-the-sync-overview">🔗</a></h3><p>If your collections or fields are not appearing in the synchronization overview, double-check that you've followed <a href="https://docs.directus.io/guides/headless-cms/content-translations.html">Directus's official guide</a> on preparing content for localization. Ensure that each collection includes a <code>translations</code> field type and that the fields you want to translate are correctly set up. Proper configuration is essential for Localazy to recognize and sync your content effectively.</p><h3 id="can-i-automate-the-export-process">Can I automate the export process? <a class="markdownit-header-anchor" href="#can-i-automate-the-export-process">🔗</a></h3><p>Yes, you can automate the export process by installing the Localazy <a href="https://github.com/localazy/directus-extension-localazy/tree/main/extensions/sync-hook" rel="noopener noreferrer nofollow">Automation extension</a>. After installation, check the <strong>Deletion</strong> options in the <strong>Additional Setup</strong> section of the Localazy plugin to ensure that the "Automated Upload to Localazy" and "Automated Deprecation of Localazy Source Keys" options are enabled. This setup will allow automatic content updates, reducing the need for manual intervention.</p><h2 id="conclusion">✔️Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We hope this guide has highlighted the efficiency and ease of use of the Localazy plugin for Directus. As demonstrated, <strong>your content can reach global audiences with minimal hassle in just a few steps.</strong></p><p>If you have any questions about this tutorial, the Localazy plugin, or localization in general, feel free to reach out to us at team@localazy.com or leave a comment below.</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/09/Storyblok-How-to-manage-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Safeguarding the privacy of your AI-translated project: What you need to know]]></title>
            <link>https://localazy.com/blog/safeguarding-the-privacy-of-your-ai-translated-project-what-you-need-to-know-gpt-series-2</link>
            <guid isPermaLink="false">safeguarding-the-privacy-of-your-ai-translated-project-what-you-need-to-know-gpt-series-2</guid>
            <pubDate>Sat, 16 Aug 2025 13:15:31 GMT</pubDate>
            <description><![CDATA["Can privacy and AI tools coexist?" is a burning question in founders' and executives' minds. When the time to localize comes, many think of resorting to ChatGPT for help but are unsure about data security. Here is all you need to know about the topic to make an informed decision.]]></description>
            <content:encoded><![CDATA[<p>Do we always have to trade our privacy for cutting-edge solutions?</p><p>From Google through Facebook to ChatGPT — <strong>it seems the magic of these platforms </strong><a href="https://www.forbes.com/sites/kateoflahertyuk/2024/05/17/chatgpt-4o-is-wildly-capable-but-it-could-be-a-privacy-nightmare/"><strong>comes at the cost of your data</strong></a>. Your search history, preferences, photos, interests, and connections are no longer yours once you hit the "Create new account" button. The "free" platforms feed on your data, and AI security feels like a contradiction in terms.</p><p>Is there a way out of this gloomy scenario? Can you keep cutting-edge technology and your privacy intact? Let's set aside the old tech giants for now and explore how ChatGPT, the new kid on the block, handles data privacy and informs its users about it.</p><blockquote>🤓 New here? Check our previous article about this topic: <a href="https://localazy.com/blog/how-to-use-chatgpt-to-your-advantage-in-translation-with-examples-gpt-series-1">How to use ChatGPT to your advantage in translation (with examples)</a></blockquote><h2 id="llms-and-their-nature-as-data-feeders">🍽️ LLMs and their nature as data-feeders <a class="markdownit-header-anchor" href="#llms-and-their-nature-as-data-feeders">🔗</a></h2><p><a href="https://localazy.com/dictionary/llm">Large Language Models (LLMs)</a>, such as ChatGPT, Gemini, or Claude, are sophisticated AI systems trained on large amounts of data to understand and generate human-like content. Unlike some humans, these models never stop learning. They continuously improve their performance by absorbing new information encountered during user interactions. </p><p>LLMs are hungry for data and eager to consume anything you throw at them. While this insatiable hunger allows LLMs to deliver increasingly accurate and contextually relevant responses, it also raises significant privacy concerns.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_876079128.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1200" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_876079128.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_876079128.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_876079128.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_876079128.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Once you enter a piece of text into ChatGPT, <a href="https://help.openai.com/en/articles/5722486-how-your-data-is-used-to-improve-model-performance">it becomes part of the model's knowledge base</a>. This means that your input might be used to generate future outputs. And even though the company now offers an option <a href="https://help.openai.com/en/articles/7792795-how-do-i-turn-off-chat-history-and-model-training-web">to turn off model training</a>, your prompt will still become visible to OpenAI as an organization. </p><p>That's not an ideal scenario for data security<strong> </strong>enthusiasts, businesses planning to translate with AI, or anyone wary of sharing their unique creations with machines. If privacy is your priority, using LLMs might seem like playing with fire.</p><blockquote>Once you enter a piece of text into GPT, it becomes part of the model's knowledge base unless you opt out of model training. But even then, your prompt will still become visible to OpenAI as an organization</blockquote><h2 id="attempts-to-regulate-llms">⚖️ Attempts to regulate LLMs <a class="markdownit-header-anchor" href="#attempts-to-regulate-llms">🔗</a></h2><p>The <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R1689">EU AI Act</a>, which <a href="https://commission.europa.eu/news/ai-act-enters-force-2024-08-01_en">came into force on August 1, 2024</a>, is a recent effort to tame the data-hungry beasts. It addresses potential risks to citizens' health, safety, and fundamental rights by imposing specific requirements and obligations on AI systems based on their risk level. <strong>The act states that LLMs must be designed and deployed to prioritize data protection by design and default</strong>, ensuring accountability at all stages of data processing. 🔍 It also requires transparency about how LLMs collect and process data, meaning users must be informed when interacting with AI.</p><p>In addition, the act reinforces existing privacy laws like GDPR, <strong>requiring explicit user consent</strong> for data collection and processing. It also upholds individuals' rights to access, correct, and delete the data used in AI systems. Certain AI models, including some LLMs, may be classified as "high-risk," subjecting them to stricter requirements around data quality, documentation, human oversight, and security.</p><p>These regulations are designed to protect you and your data in theory, but nothing is guaranteed in practice yet. Only time will tell how effectively this new act will be enforced and whether AI providers will fully comply.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_192053716.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_192053716.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_192053716.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_192053716.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_192053716.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="custom-models-a-way-out-for-absolute-data-privacy">🏗️ Custom models: a way out for absolute data privacy? <a class="markdownit-header-anchor" href="#custom-models-a-way-out-for-absolute-data-privacy">🔗</a></h2><p>You don't need to wait until all AI-powered solutions comply with the new laws. There's another way to use LLMs safely:<strong> custom models</strong>.</p><p>A custom AI model is a system tailored to specific tasks or datasets. Such models provide better performance and adaptability compared to generic ones. For example, if you're looking for safe AI translation, you could train the model with your translation memories, style guides, and glossaries to ensure it generates relevant content (see more tips <a href="https://localazy.com/blog/how-to-use-chatgpt-to-your-advantage-in-translation-with-examples-gpt-series-1#the-quest-for-the-missing-ingredient">here</a>).</p><blockquote>A custom AI model offers a better performance and adaptability compared to generic models, and can be trained with TMs, style guides and glossaries for translation purposes</blockquote><p>Creating a custom model in ChatGPT is <a href="https://zapier.com/blog/custom-chatgpt/">a very straightforward process</a> that doesn't require any programming skills. If you follow the platform's guidelines, select a base model, add specific instructions, and define training data, you'll be able to adapt the model to your requirements. ✂️ As a bonus, you'll also minimize reliance on generalized models that may expose your data to other users.</p><blockquote>🎙️ What do LLMs mean for linguists and the quality of localization now and onwards? We spoke to a language services agency CEO for his take. <a href="https://localazy.com/blog/s02-ep-01-bridging-the-gap-podcast">Listen here</a></blockquote><h3 id="other-measures-to-protect-your-data">Other measures to protect your data <a class="markdownit-header-anchor" href="#other-measures-to-protect-your-data">🔗</a></h3><p><a href="https://help.openai.com/en/articles/7730893-data-controls-faq">OpenAI claims</a> it uses robust encryption methods to secure data both at rest and in transit. For sensitive interactions, such as data exchanges between users and AI models, the platform offers <a href="https://openai.com/enterprise-privacy/">two separate paid plans</a> that include enterprise authentication, allow you to control how long your data is retained and own your inputs and outputs. These features, however, are not available for lower-tier plans.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_786125540.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_786125540.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_786125540.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_786125540.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_786125540.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>If you enjoy experimenting,<strong> you can tweak the model's settings to protect your data further </strong>by:</p><ul><li>📅 <strong>Configuring data retention periods</strong> based on regulatory requirements or organizational policies. </li><li>❌<strong> Disabling "Chat History &amp; Training" in the settings</strong> to prevent data from being stored and used for training purposes. </li><li>⏰ <strong>Using temporary chats</strong>. By choosing this option, your conversations will be deleted from OpenAI's systems within 30 days and will be only reviewed for potential abuse. This step will help you increase your privacy because the conversation data won't be used for training.</li></ul><p>Remember to anonymize and pseudonymize data before providing it to the platform. To reduce privacy risks, <strong>always remove personally identifiable information and other sensitive content from your datasets </strong>and review your prompts, instructions, or translation data before hitting Enter.</p><h2 id="are-other-llms-safer">🤔 Are other LLMs safer? <a class="markdownit-header-anchor" href="#are-other-llms-safer">🔗</a></h2><p>With some safety measures, you can limit the risk of data breaches in ChatGPT. But what about other LLMs? Do they offer better data protection?</p><p>To build robust AI safety fundamentals, make sure to look through the data privacy policy before you start using <a href="https://support.google.com/gemini/answer/13594961?hl=en&amp;ref_topic=15280100&amp;sjid=8234157346203538936-EU">Gemini</a>, <a href="https://www.anthropic.com/legal/privacy">Claude</a>, <a href="https://www.deepl.com/en/privacy">DeepL</a>, <a href="https://learn.microsoft.com/en-us/copilot/microsoft-365/microsoft-365-copilot-privacy">Microsoft Copilot</a>, or any other platform. For example, <strong>DeepL</strong> doesn't store user data beyond the session duration, and it's usually considered safe, especially for translation tasks. <strong>Claude</strong> focuses on ethical AI and adheres to relevant data protection regulations, including CCPA, GDPR, and HIPAA. It also ensures users can customize permissions and manage who has access to their data. </p><p>Similarly, <strong>Microsoft Copilot</strong> guarantees user data is gathered, processed, and retained according to the strictest standards and regulations. It focuses on data anonymization, pseudonymization, and minimization. Copilot interactions are not used to train the underlying AI models. Additionally, administrators can control whether end-user feedback, which may include prompts and responses, is sent to Microsoft.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/AdobeStock_463846799.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AdobeStock_463846799.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AdobeStock_463846799.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/09/AdobeStock_463846799.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/09/AdobeStock_463846799.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p><strong>Gemini</strong> follows suit and employs similar data protection strategies. It adheres to relevant EU and US regulations, focuses on data minimization, and allows user controls to manage access to data. If you're concerned about data retention, here's a minor setback: Google, which owns Gemini, retains data for a default period of 18 months. 🗓️ You can limit this period to three months and disable Gemini Apps activity to avoid saving conversations. But even in this case, Gemini will store your conversations in your account for up to 72 hours as a backup and for sharing with other Google services and third-party services. That's not good news for those concerned about data privacy.</p><h2 id="and-the-winner-is">🏆 And the winner is… <a class="markdownit-header-anchor" href="#and-the-winner-is">🔗</a></h2><p>If you're wondering which LLM ranks highest in terms of safety, I hate to disappoint you: there is no clear winner. The truth is that <strong>all the LLMs mentioned above use similar encryption methods, claim to adhere to the same regulations, and follow comparable design principles</strong>. </p><p>While there are differences in data retention and usage for further training, no model stands out significantly above the rest. However, some users are particularly concerned about Google's Gemini and Microsoft's Copilot due to their vast ecosystems and extensive data integration across other services.</p><p>Then, what's the solution? Using these tips as a rule of thumb can help:</p><ul><li>📑 <strong>Always read the fine print</strong> before entering prompts or sharing your data. </li><li>📦 <strong>Don't use the tool out of the box: </strong>adjust user permissions and opt out of storing or collecting your inputs for AI training wherever possible. </li><li>💬 Remember to <strong>review conversation settings </strong>and disable unnecessary integrations with other services.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/AI.png" class="kg-image" alt loading="lazy" width="1460" height="1000" srcset="https://ghost.localazy.com/content/images/size/w600/2024/09/AI.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/09/AI.png 1000w, https://ghost.localazy.com/content/images/2024/09/AI.png 1460w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-does-localazy-process-your-data">➡️ How does Localazy process your data? <a class="markdownit-header-anchor" href="#how-does-localazy-process-your-data">🔗</a></h2><p>Once you know how to mitigate data privacy concerns, you might want to experiment with AI-powered translation. One way to do that is to use Localazy.</p><p>Log in to your OpenAI account with all the safety settings tweaked as explained above and pre-translate your content within the interface or app using your custom model. Next, upload the generated text into Localazy and disable the MT feature. You don't need to worry about your data safety: <strong>Localazy only sends the translation source and glossary context to OpenAI</strong>,<strong> which happens exclusively if you enable this feature</strong>. Your translation remains safe within the Localazy interface, where you can process, review, and edit it.</p><p>To ensure your data remains secure, Localazy has also implemented several robust measures. For example, <a href="https://www.scaleway.com/en/blog/introducing-dc5-hyper-scale-mechanical-cooling-datacenter/">we store all our data in Scaleway servers</a>, known for their high level of security. <a href="https://www.iafcertsearch.org/certified-entity/r7QWrqInOMHFd5yjvSPtvKj1">We are also ISO 27001 certified</a>, which demonstrates that our company adheres to internationally recognized information security management standards.</p><blockquote>🛠️ You can configure OpenAI for your Localazy projects <a href="https://localazy.com/console/ai">from our console</a>. Remember you'll need an OpenAI token and to be subscribed to the <a href="https://localazy.com/tiers/autopilot">Autopilot plan</a></blockquote><p>Additionally, to enhance control over who can access your data, you can manage the access rights of your team members and collaborators through Localazy's <a href="https://localazy.com/features/language-permissions">granular permission settings</a> and create private projects. On top of that, our platform complies with relevant data protection regulations, such as GDPR, and performs regular security audits. It also focuses on the data minimization principle, collecting only necessary information. All this means you can safely use Localazy for your projects, knowing that the risks for AI translation are limited.</p><p>Although Localazy doesn't offer customer LLM models yet, there are plans to develop efficient solutions that will let you smoothly use LLMs within the tool's interface. Stay tuned for more! 👀</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/09/badges-secured-1.svg" class="kg-image" alt loading="lazy" width="560" height="233"></figure><h2 id="the-way-out-of-the-gloomy-scenario">🔦 The way out of the gloomy scenario <a class="markdownit-header-anchor" href="#the-way-out-of-the-gloomy-scenario">🔗</a></h2><p>You don't have to trade your data for access to high-end technology. <strong>To use LLMs safely, opt for custom models, adjust safety settings, and don't assume anything</strong>. Familiarize yourself with data privacy policies, as each solution offers different levels of security. The more you know about the tool and how it processes and stores your data, the easier it will be to make the right choice that meets your requirements.</p><p>And if your specific needs include translation with AI, review our <a href="https://discuss.localazy.com/privacy">Privacy Policy</a> and <a href="https://localazy.com/terms-and-conditions">Terms and Conditions</a> for more details about the safety of your projects in Localazy. Happy localizing! </p>]]></content:encoded>
            <author>Dorota Pawlak</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/09/localazy---AI-series_02.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[7 questions to ask yourself before you adopt Figma as a Source of Truth]]></title>
            <link>https://localazy.com/blog/7-questions-to-ask-yourself-before-you-adopt-figma-as-a-source-of-truth</link>
            <guid isPermaLink="false">7-questions-to-ask-yourself-before-you-adopt-figma-as-a-source-of-truth</guid>
            <pubDate>Thu, 05 Sep 2024 09:14:11 GMT</pubDate>
            <description><![CDATA[Do you have a multilingual product designed in Figma? Then you've probably wondered if it's worth adopting it as a SoT, or if sticking with the regular integration will do. Find answers to the most common questions here before you commit.]]></description>
            <content:encoded><![CDATA[<p><a href="https://www.figma.com">Figma</a> has transformed design workflows by enabling real-time collaboration and rapid prototyping, making it <a href="https://www.xfive.co/blog/figma-best-designer-developer-cooperation/">a favorite among software development teams</a>. Its cloud-based platform allows designers and developers to work together seamlessly regardless of location, speeding up the design process and enhancing creativity through immediate feedback. With its intuitive interface and flexible integration capabilities, <strong>Figma has become essential for teams seeking streamlined and adaptive design solutions</strong>.</p><p>This flexibility has sparked interest in moving the localization process closer to the design phase of the development cycle. Many teams aim to <a href="https://localazy.com/blog/multilingual-figma-prototyping-localazy-localization-plugin-done-quickly">prototype their designs in various languages</a> before development to ensure they look just as great in languages with longer words (<a href="https://localazy.com/blog/stop-making-7-software-localization-mistakes#5-forgetting-different-translations-lengths">looking at you, German</a> 👀), different alphabets, or <a href="https://localazy.com/dictionary/rtl">right-to-left scripts</a>.</p><p>There are multiple approaches to previewing Figma designs in different languages. In this article, we'll focus on the tightest and most robust integration of all — <a href="https://localazy.com/blog/figma-series-figma-as-source-of-truth">turning Figma into the Source of Truth (SOT)</a> for all your textual content. These are some of the most commonly asked questions we get from our clients about it.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/figma_step2.png" class="kg-image" alt loading="lazy" width="517" height="322"></figure><h2 id="is-figma-as-a-sot-a-good-solution-for-us">🔎 Is Figma as a SOT a good solution for us? <a class="markdownit-header-anchor" href="#is-figma-as-a-sot-a-good-solution-for-us">🔗</a></h2><p>Before deciding if Figma as a SOT is right for you, let's explore what this workflow entails and the potential benefits it can bring.</p><h3 id="design-all-possible-scenarios">Design all possible scenarios <a class="markdownit-header-anchor" href="#design-all-possible-scenarios">🔗</a></h3><p>The main benefit of using Figma as SoT is <a href="https://localazy.com/blog/design-localization-with-localazy-figma-plugin">creating a tight link</a> between your designs and the user-facing product. Every possible user scenario must be designed in Figma, which has some advantages.</p><p><strong>⭐️ Benefits</strong></p><ul><li>Reduces time and uncertainty when iterating and updating existing designs.</li><li>Minimizes handovers between devs and designers when unexpected scenarios arise during development.</li><li>Reveals gaps in design before development begins.</li></ul><h3 id="allow-for-concurrent-translation-and-development-processes">Allow for concurrent translation and development processes <a class="markdownit-header-anchor" href="#allow-for-concurrent-translation-and-development-processes">🔗</a></h3><p>Translators can translate the uploaded content at the same time as developers work on the new features.</p><p><strong>⭐️ Benefits</strong></p><ul><li>Accelerates the product cycle by parallelizing work processes.</li><li>Reduces bottlenecks in the production timeline.</li></ul><h3 id="handle-duplicates-in-localazy">Handle duplicates in Localazy <a class="markdownit-header-anchor" href="#handle-duplicates-in-localazy">🔗</a></h3><p>We offer various strategies for handling duplicated content, including <a href="https://localazy.com/features/duplicity-linking">Duplicate Management</a>, <a href="https://localazy.com/docs/general/translation-memory">Translation Memory</a>, and the <a href="https://localazy.com/docs/general/key-clusters">Clustering</a> feature.</p><p><strong>⭐️ Benefits</strong></p><ul><li>Reduces the amount of content that needs translation.</li><li>Decreases the number of keys developers need to manage.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/08/image-4.png" class="kg-image" alt loading="lazy" width="842" height="505" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/image-4.png 600w, https://ghost.localazy.com/content/images/2024/08/image-4.png 842w" sizes="(min-width: 720px) 720px"><figcaption>Our Duplicity Linking feature in action.</figcaption></figure><h3 id="what-you-need-to-consider">What you need to consider <a class="markdownit-header-anchor" href="#what-you-need-to-consider">🔗</a></h3><p>While these benefits are significant, it's essential to weigh them against the added complexity and demands on designers. Designing all possible scenarios requires a profound understanding of the product, the design, and how customers are expected to interact with new features. <strong>This approach can slow down the design phase but significantly enhance the designs' robustness</strong>.</p><p>Developers also face increased complexity. Traditionally, developers define source keys directly in their codebase, so adapting to this new workflow can take time. However, once accustomed, the time commitment becomes comparable.</p><p>So, is it a good solution for you? We believe it can be, but it's crucial for you and your team to understand the implications and how it will affect your production cycle before you decide.</p><h2 id="is-it-even-possible-for-us-at-this-stage">⏩️ Is it even possible for us at this stage? <a class="markdownit-header-anchor" href="#is-it-even-possible-for-us-at-this-stage">🔗</a></h2><p>Absolutely – adopting Figma as a Source of Truth is feasible at any stage of your product development. However, you'll need to prepare your team for this shift, educate them on how to work under the workflow and oversee the implementation. It's a significant change; every team member must understand and adapt to this new workflow.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/Chart.png" class="kg-image" alt loading="lazy" width="664" height="283" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/Chart.png 600w, https://ghost.localazy.com/content/images/2024/08/Chart.png 664w"></figure><p>For larger projects, synchronizing existing designs with the developed product can take a few weeks. This involves migrating current designs to Figma and linking them to keys in the code. <strong>We can partially automate this process by assisting you in building a custom script</strong>, but you'll still need to create any missing designs in Figma and remove unused keys in the code.</p><p>While this transition is possible at any stage, implementing it as early as possible in your product's lifespan is easier, and the transition period is more seamless.</p><h2 id="how-does-it-affect-designers-developers-and-translators-and-our-whole-production-cycle">🤹‍♂️ How does it affect designers, developers, and translators? And our whole production cycle? <a class="markdownit-header-anchor" href="#how-does-it-affect-designers-developers-and-translators-and-our-whole-production-cycle">🔗</a></h2><p>The integration of Figma as a Source of Truth brings distinct changes and benefits to designers, developers, translators, and the overall production cycle.</p><h3 id="designers">Designers <a class="markdownit-header-anchor" href="#designers">🔗</a></h3><p>Designers are required to consider and design all possible scenarios, notifications, and error states to ensure that all textual content is available in the <a href="https://localazy.com/dictionary/translation-management-system-tms">TMS</a>. The benefits include greater confidence in their designs and a deeper understanding of the entire user experience. Additionally, they can import the translations back into Figma, allowing them to view all language variations at a glance.</p><h3 id="translators">Translators <a class="markdownit-header-anchor" href="#translators">🔗</a></h3><p>Translators gain significant advantages. <a href="https://localazy.com/blog/figma-series-connect-designs-and-source-keys-via-screenshots">They have access to Figma screenshots</a>, allowing them to see the context of the content. Moreover, they can begin the translation process much earlier without having to wait for the developers to implement the designs.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/Frame-1.png" class="kg-image" alt loading="lazy" width="885" height="713" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/Frame-1.png 600w, https://ghost.localazy.com/content/images/2024/08/Frame-1.png 885w" sizes="(min-width: 720px) 720px"></figure><h3 id="developers">Developers <a class="markdownit-header-anchor" href="#developers">🔗</a></h3><p>Developers no longer need to upload source keys themselves. Instead, they use source keys that have already been uploaded from Figma. Depending on the devs' expectations, these keys can have readable names assigned by designers in Figma or be renamed and organized <a href="https://localazy.com/docs/general/export-aliases">with export aliases</a> in Localazy. Although this requires developers to adapt to a new workflow, their work pace isn't slowed down once they are accustomed to it, as they would still need to name and organize the keys regardless of the process.</p><blockquote>With Figma adopted as a SoT, developers no longer need to upload the source keys themselves, translators get more context and freedom, and designers can import translations back to Figma to visualize all language variations at a glance</blockquote><h2 id="can-we-prepare-only-some-designs-in-figma-and-implement-the-rest-without-it">🤔 Can we prepare only some designs in Figma and implement the rest without it? <a class="markdownit-header-anchor" href="#can-we-prepare-only-some-designs-in-figma-and-implement-the-rest-without-it">🔗</a></h2><p><strong>We advise against this</strong>. It's best to either prepare everything in Figma or not use Figma as the Source of Truth at all. Mixing methods can lead to confusion over what exists in Figma and what doesn't, increasing the risk of duplicated keys or lost content. Furthermore, this fragmentation undermines one of the workflow's main benefits — the design robustness that comes from planning all possible scenarios before development.</p><p>However, if you're unsure about adopting this workflow, consider alternative approaches like <a href="https://localazy.com/blog/multilingual-figma-prototyping-localazy-localization-plugin-done-quickly" rel="noopener noreferrer nofollow">quick prototyping in different languages</a> using machine translations. Quick prototypes enable designers to preview their designs in various languages, boosting their confidence without necessitating any changes in the workflow of other teams.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/zp3JhpiR04g?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Multilingual Figma prototyping with Localazy done quickly"></iframe></figure><h2 id="can-localazy-help-us-implement-this-workflow">🤓 Can Localazy help us implement this workflow? <a class="markdownit-header-anchor" href="#can-localazy-help-us-implement-this-workflow">🔗</a></h2><p>Absolutely! Localazy offers extensive resources, including <a href="https://localazy.com/tags/figma">articles</a> and <a href="https://www.youtube.com/watch?v=L-U51r-6yIQ">a YouTube video</a>, to guide you through this process. If you plan to migrate an existing project and connect it with your Figma designs, <strong>we can provide a script template and assist with customizing it to fit your project structure</strong>. This script will automatically link keys in your code with text nodes in Figma and identify strings that exist only in your codebase or Figma, ensuring a seamless integration of your workflow.</p><h2 id="is-there-a-point-in-using-the-figma-plugin-if-figma-is-not-the-sot">🔦 Is there a point in using the Figma plugin if Figma is not the SoT? <a class="markdownit-header-anchor" href="#is-there-a-point-in-using-the-figma-plugin-if-figma-is-not-the-sot">🔗</a></h2><p>Even if Figma is not the SOT for your textual content, using the Figma plugin can still offer significant benefits. <strong>One of the primary use cases for the plugin is previewing translations in different languages</strong> before handing the designs over for development. 🧑‍💻 This functionality allows you to see how your designs look with various translations, helping to ensure that nothing overflows and that the overall visual appeal remains consistent across different languages.</p><p>By incorporating the Figma plugin into your workflow, you can identify and address potential issues early in the design phase. This ensures that your designs are polished and user-friendly, regardless of the language, greatly enhancing the quality of the final product.</p><blockquote>📚 <strong>Recommended:</strong> <a href="https://localazy.com/blog/figma-series-preview-designs-in-multiple-languages">Figma in Localization - Preview designs in multiple languages</a></blockquote><h2 id="can-it-help-us-create-a-more-visually-consistent-product">🎨 Can it help us create a more visually consistent product? <a class="markdownit-header-anchor" href="#can-it-help-us-create-a-more-visually-consistent-product">🔗</a></h2><p>Absolutely. Using Figma as a SOT can significantly enhance your product's stability and visual consistency. By designing all possible scenarios, notifications, and error states in Figma, <strong>you address potential issues during the design phase rather than discovering them after release</strong>. This approach ensures that every aspect of the user experience is considered and refined before development begins.</p><p>Moreover, designers benefit from increased confidence in their work. With Figma serving as the SOT, they can trust that what they see in the design tool closely matches what users will experience in the final product, at least regarding textual content. For visual accuracy, however, designers must rely on developers to implement the designs with pixel-perfect precision.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/08/image-5.png" class="kg-image" alt loading="lazy" width="842" height="621" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/image-5.png 600w, https://ghost.localazy.com/content/images/2024/08/image-5.png 842w" sizes="(min-width: 720px) 720px"><figcaption>Previewing designs in different languages guarantees the UX is just as you envisioned.</figcaption></figure><p>To further enhance this process, <strong>you can combine </strong><a href="https://localazy.com/features/machine-translation"><strong>quick machine translations</strong></a><strong> with Figma's capabilities</strong>. Start by connecting to a separate Localazy project to preview your designs in various languages using machine translations. This helps identify and address initial design gaps. Once the designs are polished, you can then connect Figma to your production project and use it as the SOT for both translators and developers.</p><h2 id="additional-considerations">📌 Additional considerations <a class="markdownit-header-anchor" href="#additional-considerations">🔗</a></h2><p>Before committing to using Figma as a Source of Truth, there are several key factors to consider to determine if this workflow aligns with your needs:</p><h3 id="1-what-is-your-release-cadency">1. What is your release cadency? <a class="markdownit-header-anchor" href="#1-what-is-your-release-cadency">🔗</a></h3><p>Figma as a SOT introduces a longer and more complex workflow, but it ultimately leads to a higher-quality product. If your team values quick release cycles and operates under tight deadlines (which is common in startups), you may find that a faster release cadency is more suitable for your current needs.</p><h3 id="2-do-you-often-go-through-multiple-design-and-development-iteration-rounds">2. Do you often go through multiple design and development iteration rounds? <a class="markdownit-header-anchor" href="#2-do-you-often-go-through-multiple-design-and-development-iteration-rounds">🔗</a></h3><p>One of the advantages of using Figma as a SOT is the ability to work on translations and development concurrently. This can significantly streamline the process and reduce time to market. However, it requires well-thought-out designs. If your workflow involves frequent iterations of designs and textual content after development has started, Figma as a SOT might have limited benefits.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/08/image-7.png" class="kg-image" alt loading="lazy" width="871" height="1147" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/image-7.png 600w, https://ghost.localazy.com/content/images/2024/08/image-7.png 871w" sizes="(min-width: 720px) 720px"><figcaption>Highlighted text from a Figma design to provide translators with additional context.</figcaption></figure><h3 id="3-where-are-you-in-the-project-lifecycle">3. Where are you in the project lifecycle? <a class="markdownit-header-anchor" href="#3-where-are-you-in-the-project-lifecycle">🔗</a></h3><p>Implementing Figma as a SOT is generally easiest at the beginning of a project. If you're considering adopting this approach later in the project lifecycle, it's better to make the change sooner rather than later.</p><p>By carefully evaluating these factors, you can make a more informed decision about whether integrating Figma as a Source of Truth will benefit your project and team.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>In summary, <strong>adopting Figma as a Source of Truth can offer significant advantages in creating a more robust, stable, and visually consistent product</strong>. By centralizing your textual content in Figma, <a href="https://localazy.com/blog/agile-localization-for-ux-the-localazy-figma-plugin-changes-the-game">you can streamline your design and development processes</a>, ensuring that all scenarios are carefully considered and translations are accurately reflected. This approach not only enhances the quality of your product but also facilitates concurrent translation and development, ultimately speeding up your release cycles.</p><blockquote>🤓 Need more resources? Find all of our Figma plugin guides <a href="https://localazy.com/tags/figma">here</a>, or check <a href="https://localazy.com/docs/figma/plugin-introduction">our documentation</a> for the full technical details</blockquote><p>However, it's important to weigh the benefits against the <strong>added complexity and time required</strong> for implementation. Consider your team's release cadency, the potential for working on translations and development simultaneously, and whether implementing Figma as a SOT fits best at the beginning of a project or later in its lifecycle.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/Group-17.png" class="kg-image" alt loading="lazy" width="694" height="321" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/Group-17.png 600w, https://ghost.localazy.com/content/images/2024/08/Group-17.png 694w"></figure><p>If you need guidance on whether this workflow suits your team, don't hesitate to get in touch. We're here to help you navigate the transition and optimize your design and development processes.</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/08/Figma-SoT.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Mythbusters: Localizing to different languages is the same each time]]></title>
            <link>https://localazy.com/blog/mythbusters-localizing-to-different-languages-is-the-same-each-time</link>
            <guid isPermaLink="false">mythbusters-localizing-to-different-languages-is-the-same-each-time</guid>
            <pubDate>Fri, 28 Mar 2025 15:24:03 GMT</pubDate>
            <description><![CDATA[Have you localized your product to one language and think you can repeat the same exact process for every new locale you implement? Not so fast! Scripts, cultural preferences, and design needs may (and will) vary. These tips will help you handle the process with more ease.]]></description>
            <content:encoded><![CDATA[<p>Don't be fooled – <a href="https://localazy.com/blog/localization-101-basic-concepts-a-beginner-needs-to-know#1-translation-localization-and-transcreation">localization isn't as easy as translating</a> the exact same text from language to language. Well…, you could do that, but there's a chance you'll rub people up the wrong way.</p><p>How so? Let's look at an example.</p><p>Let's say you're translating this phrase from English to Spanish: "Kill two birds with one stone." Then, you go ahead and translate the exact same text into Japanese. While it will probably make sense to Spanish speakers <a href="https://localazy.com/faq/translating-idioms/how-to-localize-idioms?srsltid=AfmBOopi7Tv7ndFkTsLSvoQ10yeh-h_1rUGNLkzwVtPLUiwgrmQ5vcQK">who understand the idiom</a>, a Japanese person might wonder why you're trying to murder our feathered friends. 😕 In other words, you must carefully allow for cultural nuance and mannerisms when localizing your content. </p><p>In this edition of Mythbusters, we'll examine some other reasons <strong>why localization is more than just a straight translation of text, including linguistic and design needs</strong>. We'll also explain how to ensure you're localizing the right way for different cultures, languages, and dialects.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/AdobeStock_886584877.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/AdobeStock_886584877.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/AdobeStock_886584877.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/08/AdobeStock_886584877.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/08/AdobeStock_886584877.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-price-of-poor-locale-implementation">⛔️ The price of poor locale implementation <a class="markdownit-header-anchor" href="#the-price-of-poor-locale-implementation">🔗</a></h2><p>Imagine a tech company that has already localized its software for a few European markets — say, 🇫🇷 France and 🇵🇹 Portugal. Spurred on by success, they plan to expand into 🇧🇷 Brazil and 🇲🇦 Morocco, assuming that the same localization strategy will work. However, <strong>making this assumption could lead to problems</strong> like the ones set out below.</p><h3 id="cultural-nuances">Cultural nuances <a class="markdownit-header-anchor" href="#cultural-nuances">🔗</a></h3><p>When you localize content, you have to make sure your content is a good cultural fit. <strong>Every society has its own set of values, humor, idioms, and even taboos</strong>. Yes, you have to speak the language, but you also have to speak it in a way that <em>feels</em> <em>authentic</em>.</p><p>Languages like French and Portuguese both derive from Latin roots. However, if you're translating into <a href="https://localazy.com/blog/unlocking-the-brazilian-market-the-importance-of-accuracy-in-english-to-brazilian-portuguese-translation">Brazilian Portuguese</a> and <a href="https://hub.localazy.com/en/languages/ary-moroccan-arabic">Moroccan Arabic</a>, there will be some big differences. Due to different social norms, some of the humor and turns of phrase simply won't work or will even offend. </p><p>Another example is <strong>using the wrong emotional subtext</strong> <strong>for different markets</strong>. For instance, if you're trying to sell a rugged sports watch in a market that values luxury and elegance highly, your usual pitch won't cut it.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/AdobeStock_750935086.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/AdobeStock_750935086.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/AdobeStock_750935086.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/08/AdobeStock_750935086.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/08/AdobeStock_750935086.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="design-and-script-differences">Design and script differences <a class="markdownit-header-anchor" href="#design-and-script-differences">🔗</a></h3><p>Latin script is nothing like Arabic script. Arabic uses <a href="https://localazy.com/dictionary/rtl">a right-to-left (RTL) convention</a> and different symbols. This means <a href="https://localazy.com/blog/6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them#redesigning-the-ui-and-layout">you'll need to adjust your UI design</a> and move navigation buttons to the lett.</p><p>Another example is <a href="https://localazy.com/blog/german-localization-fundamentals-enter-this-prosperous-european-market-with-confidence">German</a>, a language well known for compound words. These longer terms <a href="https://localazy.com/blog/stop-making-7-software-localization-mistakes#5-forgetting-different-translations-lengths">might create text overflow issues</a>, such as cutting words off or overlapping with other elements. This looks messy and can make the information harder to digest.</p><blockquote>Design adjustments must be made for every new locale you implement. Otherwise, you'll have problems with text directionality and overlapping, off-putting customers and leading to a poor user experience</blockquote><h3 id="local-expertise">Local expertise <a class="markdownit-header-anchor" href="#local-expertise">🔗</a></h3><p>Don't leave all your translations to a computer. It's best to find somebody who speaks the local language, as they have a better understanding of the cultural references, proper names, and idioms, sparing you from potential embarrassment or bad press. </p><p>The downside is that finding skilled translators for less common languages might be difficult. Due to shortages, you might need to pay a higher price for them too. Even so, more often than not, <strong>it still makes financial sense to pay for a skilled translator</strong> rather than pay the price of poor localization. </p><p>Likewise, having access to the right cultural expertise will be an advantage in reaching your target and building loyalty, as <a href="https://localazy.com/blog/why-and-how-to-provide-local-expertise-to-foreign-clients">you'll be adapting to local preferences, habits, trends, and regulations</a>.</p><h3 id="cost-and-timing-issues">Cost and timing issues <a class="markdownit-header-anchor" href="#cost-and-timing-issues">🔗</a></h3><p>When it comes to localization, the devil is in the details 😈 (that's an excellent example of <a href="https://localazy.com/blog/how-to-translate-idioms-the-right-way?srsltid=AfmBOorDZDNx1f1nRUcyNXlYflGDT5-22jPtJH-l4OQBeflcdEOVqv-i">a phrase that wouldn't translate literally</a> to every language!).</p><p><strong>It's a good idea to get expert help from the outset rather than incur large unexpected costs later</strong>. For instance, if you're adapting your content for an RTL language with a different script like <a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand">Arabic</a> or <a href="https://hub.localazy.com/en/languages/he-hebrew">Hebrew</a>, you might have to redesign entire pages, requiring expensive UI/UX designers.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/AdobeStock_100378089.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/AdobeStock_100378089.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/AdobeStock_100378089.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/08/AdobeStock_100378089.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/08/AdobeStock_100378089.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="new-locale-new-rules">⚽️ New locale, new rules <a class="markdownit-header-anchor" href="#new-locale-new-rules">🔗</a></h2><p><strong>Each market is like a different game with its own set of rules</strong>. You wouldn't play chess using the same strategy as in soccer, right? The same logic applies to localization. <strong>What works in one region might totally be a dismal failure in another</strong>. For instance, a direct marketing approach might be appreciated in the 🇺🇸 U.S., but in 🇯🇵 Japan, a more subtle method is preferred due to cultural preferences for modesty and restraint.</p><p>Be flexible and ready to adapt the language, tone, visuals, and even functionality to meet local norms. If you're localizing a mobile app for 🇨🇳 <a href="https://localazy.com/blog/chinese-support-for-your-product">China</a>, for instance, you might need to integrate local payment services like Alipay or WeChat Pay, which are different to Western markets. </p><p>Also, <strong>regulatory requirements can vary widely</strong>. Even something as simple as a data privacy policy needs to be adapted to comply with local laws. The rules are quite strict in places, such as the EU's GDPR.</p><p>Here are some top tips to handle the localization process with ease and make sure you're meeting all the cultural expectations and regulations:</p><h3 id="1-listen-to-your-localization-team">1. Listen to your localization team <a class="markdownit-header-anchor" href="#1-listen-to-your-localization-team">🔗</a></h3><p>They understand the nuances of the locale better than anyone. <strong>Make sure you consult with them</strong> before diving into localization projects to spot red flags early on and guide content in a culturally sensitive and appealing direction.</p><h3 id="2-keep-your-designers-in-the-loop">2. Keep your designers in the loop <a class="markdownit-header-anchor" href="#2-keep-your-designers-in-the-loop">🔗</a></h3><p><strong>Value their input</strong>, as design is decisive in how information is presented and understood across different cultures. When you're localizing content, the design needs to accommodate various changes like text expansion or contraction (like with German or Japanese) and adapting layouts <a href="https://localazy.com/dictionary/text-directionality">to support RTL languages</a>. Designers can also provide insights on how to adapt visuals to fit cultural preferences. For instance, the use of colors can be deeply symbolic. In some cultures, white is the color of purity and weddings; in others, it's associated with mourning.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/AdobeStock_301789293.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/AdobeStock_301789293.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/AdobeStock_301789293.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/08/AdobeStock_301789293.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/08/AdobeStock_301789293.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-seize-the-power-of-transcreation">3. Seize the power of transcreation <a class="markdownit-header-anchor" href="#3-seize-the-power-of-transcreation">🔗</a></h3><p><a href="https://localazy.com/dictionary/transcreation">Mixing translation with creative writing</a> helps you deliver your message in another language while maintaining its original intent, style, tone, and context. 💡 This is especially important in marketing and advertising, where you want to evoke the same emotional response. <strong>It's also a chance to engage with a whole new group of customers in a way that feels native to them</strong>.</p><h3 id="4-local-experts-will-be-your-best-friends">4. Local experts will be your best friends <a class="markdownit-header-anchor" href="#4-local-experts-will-be-your-best-friends">🔗</a></h3><p><a href="https://localazy.com/blog/why-and-how-to-provide-local-expertise-to-foreign-clients">It's like having a local guide</a> when you're exploring a new city — <strong>they know the shortcuts, the spots you must see, and the pitfalls to avoid</strong>. For example, they can tell you if a marketing message might be misunderstood or if a particular product feature won't be well-received.</p><h3 id="5-use-a-reliable-tms-to-make-it-easier">5. Use a reliable TMS to make it easier <a class="markdownit-header-anchor" href="#5-use-a-reliable-tms-to-make-it-easier">🔗</a></h3><p><a href="https://localazy.com/dictionary/translation-management-system-tms">Translation Management Systems (TMS)</a> keep all your translation assets in one place, making it easy to manage, update, and reuse translations across different projects. This is handy when you have updates or need to scale up your operations to include more languages. A good TMS comes with <a href="https://localazy.com/dictionary/qa-quality-assurance">integrated quality assurance tools</a> to automatically check for consistency in terminology and detect errors before going live.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/AdobeStock_660799289.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1366" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/AdobeStock_660799289.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/AdobeStock_660799289.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/08/AdobeStock_660799289.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/08/AdobeStock_660799289.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="6-consider-delays-and-budget-changes">6. Consider delays and budget changes <a class="markdownit-header-anchor" href="#6-consider-delays-and-budget-changes">🔗</a></h3><p>Localization projects involve many moving parts — from translation and cultural adaptation to legal checks and technical adjustments. <strong>A delay might happen due to a need for more cultural adaptation than initially thought</strong>. A TMS allows multiple people — translators, project managers, and reviewers — to work together efficiently, no matter where they are. 🌍 This speeds up turnaround times and improves communication, ensuring everyone is on the same page.</p><h2 id="ux-is-king">📲 UX is king! <a class="markdownit-header-anchor" href="#ux-is-king">🔗</a></h2><p>It's essential that you offer <strong>the same user experience (UX) to every locale you serve</strong>. If users don't feel like the product caters to them, they're less connected to it and thus less likely to use it. And the last thing you want is for user engagement to drop off.</p><p>That's why you should set aside resources for thorough localization and usability testing. Ensuring <a href="https://localazy.com/blog/top-9-ux-translation-problems-and-how-to-solve-them">your UX hits home</a> with users in different locales leads to higher satisfaction rates and loyalty.</p><blockquote>If users who speak different locales don't feel like the product caters to them, they'll feel less conected and will be less likely to use it</blockquote><h2 id="ensure-a-good-cultural-fit-with-localazy">📌 Ensure a good cultural fit with Localazy <a class="markdownit-header-anchor" href="#ensure-a-good-cultural-fit-with-localazy">🔗</a></h2><p>In summary, the most important elements of localization for different locales are:</p><ul><li>📿 Understanding and respecting local cultural norms</li><li>🧑‍🎨 Adjusting design elements for different scripts and languages</li><li>📲 Keeping a consistent UX across all markets</li><li>🔦 Engaging with local experts for deeper insights</li><li>✍️ Using transcreation to make sure your message hits home</li></ul><p><strong>Where does Localazy fit into all this? </strong></p><p>Localazy is your one-stop shop for all things localization-related. Whether you're <a href="https://localazy.com/features/continuous-localization-team">looking for translators and proofreaders for your project</a>, need to <a href="https://localazy.com/features/language-permissions">onboard your own team of linguists</a> with access to specific languages, or want to streamline processes <a href="https://localazy.com/docs/general/additional-mt-engines">with the help of MT</a> and <a href="https://localazy.com/docs/general/automated-workflows">automated workflows</a>, Localazy reduces friction and makes your life much easier. </p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2024/08/Frame-157.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/Frame-157.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/Frame-157.png 1000w, https://ghost.localazy.com/content/images/2024/08/Frame-157.png 1200w" sizes="(min-width: 1200px) 1200px"></figure><p>Our TMS also integrates with tools like <a href="https://localazy.com/features/figma-localization-plugin">Figma</a>, which means <a href="https://localazy.com/blog/figma-series-connect-designs-and-source-keys-via-screenshots">you can keep your designers in the loop effortlessly</a> and ensure that every visual element is on point for each locale. <a href="https://localazy.com/register">Try it out</a> and see for yourself – it's on us for the first 14 days. 😉</p><h2 id="more-from-our-mythbusters-series">📚 More from our Mythbusters series <a class="markdownit-header-anchor" href="#more-from-our-mythbusters-series">🔗</a></h2><p>Check out our most recent posts demistifying other aspects of localization:</p><ul><li><a href="https://localazy.com/blog/mythbusters-we-use-google-translate-and-gpt-to-manage-our-localization">We use Google Translate and GPT to manage our localization</a></li><li><a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go">Let's localize the text, and we'll be good to go!</a></li><li><a href="https://testing.localazy.com/blog/mythbusters-we-dont-have-the-budget-for-localization">We don't have the budget for localization</a></li><li><a href="https://testing.localazy.com/blog/mythbusters-our-product-has-been-localized-so-the-job-is-finished">Our product has been localized, so the job is finished</a></li></ul>]]></content:encoded>
            <author>Dan Martin</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/06/mythbusters_06.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Bridging the gap with Localazy #3 | Busy and thriving]]></title>
            <link>https://localazy.com/blog/bridging-the-gap-with-localazy-3</link>
            <guid isPermaLink="false">bridging-the-gap-with-localazy-3</guid>
            <pubDate>Wed, 07 Aug 2024 09:23:30 GMT</pubDate>
            <description><![CDATA[It’s been a while! Things have been busy at Localazy HQ. Catch up with us in our Q4-Q2 recap, and take a look at what we're doing behind the scenes.]]></description>
            <content:encoded><![CDATA[<p>Oh, this hectic world! We swear we haven’t forgotten to update you, but time goes fast for our development team as they embark on the daily quest of making localization easier for you every day. During the last few months, we have churned out great features for you to enjoy. </p><p>Let’s go over them and catch up with our growing team behind the scenes.</p><h2 id="tldr">+ TL;DR? <a class="markdownit-header-anchor" href="#tldr">🔗</a></h2><p>🏅 We are now ISO 27001 and SOC 2 Type II certified / 🤖 More automation possibilities &amp; OpenAI translations / 🆕 New integrations, new pricing, new supported formats and languages / 🎉 Introducing our new Partners program / 🍻 We've attended tons of events to tell everyone about Localazy's mission / 🤪 Hackathon madness! / 💪 Our team keeps growing</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/08/image-8.png" class="kg-image" alt loading="lazy" width="1081" height="659" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/image-8.png 1000w, https://ghost.localazy.com/content/images/2024/08/image-8.png 1081w" sizes="(min-width: 720px) 720px"><figcaption>Full steam ahead! A Czech steam train parading around our native city of Brno last June.</figcaption></figure><h2 id="premiering-new-features">🚂 Premiering new features <a class="markdownit-header-anchor" href="#premiering-new-features">🔗</a></h2><p>The Localazy machine room is steaming with novelties, and we don't intend to stop anytime soon! 🏃‍♀️ <a href="https://localazy.com/intercom">Intercom</a>, <a href="https://localazy.com/directus">Directus</a>, and <a href="https://localazy.com/blog/localazy-poedit-the-power-couple-for-seamless-localization">Poedit</a> integrations are now available, and we have also introduced support for three e-learning formats: <a href="https://localazy.com/adobe-captivate">Adobe Captivate</a>, <a href="https://localazy.com/rise-360">Articulate Rise 360</a>, and <a href="https://localazy.com/ispring-suite">iSpring</a>. </p><p><a href="https://localazy.com/blog/release-update-xcstrings-tmx-format-supported">Localazy now also supports .xcstrings and TMX,</a> simplifying configuration for these popular formats. We have developed <a href="https://localazy.com/blog/release-update-january-2024#new-localazyjson-configurator">a new configurator for your .json files</a>, made many QA improvements and fixes (like the ability to <a href="https://localazy.com/blog/release-update-localazy-ai-automated-workflows-and-more#copy-one-language-to-another-easily">copy one language to another easily</a> or the <a href="https://localazy.com/blog/release-update-localazy-ai-automated-workflows-and-more#improved-mt-handling-of-placeholders">optimization of MT placeholders</a>), and premiered <a href="https://localazy.com/leaderboards/top-projects">our embeddable leaderboards</a>, which you can use to motivate contributors if you have a public project.</p><p><strong>All new features are explained in detail in our latest release updates:</strong></p><p><a href="https://localazy.com/blog/release-update-localazy-ai-automated-workflows-and-more">December</a> ❄️ | <a href="https://localazy.com/blog/release-update-january-2024">January</a> ⛷️ | <a href="https://localazy.com/blog/release-update-revamped-translation-memory-support-for-e-learning-localization-and-more">April</a> ☔️ | <a href="https://localazy.com/blog/release-update-july-2024">July </a>☀️</p><h3 id="duplicity-linking-and-cdn-help">Duplicity Linking & CDN help <a class="markdownit-header-anchor" href="#duplicity-linking-and-cdn-help">🔗</a></h3><p>A huge milestone for the team was the release of the <strong>Duplicity Linking</strong> feature back in March 2023, which allows users to maintain consistency across their translation projects by spotting and reviewing duplicated values easily. We have now added <a href="https://localazy.com/blog/release-update-july-2024#duplicity-linking-gets-a-new-magic-button">a magic button that resolves all your duplicities at once</a> 🪄, and prepared more content for you to understand it and take full advantage of it. Its value has been proven over and over again by our customers during the last year, and we can't wait to develop it further with your feedback. </p><ul><li>📹 <a href="https://www.youtube.com/watch?v=19OW6zMpUGg">Here's a handy video</a> by our lead developer, Dan, explaining how it saves you time and resources.</li><li>📑 Full documentation is available <a href="https://localazy.com/docs/general/duplicity-linking">here</a>.</li></ul><p>Similarly, we have shiny new deep dives available to help you configure <strong>Localazy CDN </strong>and enjoy all its benefits:</p><ul><li>👩‍🏫 You can start off with <a href="https://localazy.com/blog/the-ultimate-guide-to-localazy-cdn">our ultimate guide</a>...</li><li>📑 ...and then hop off to our <a href="https://localazy.com/docs/cdn/cdn-introduction">complete documentation</a> or test the new <a href="https://developer.localazy.com/cdn-client/">Localazy CDN Client's Node.js library</a>.</li><li>📹 Václav, our CEO, explains why Localazy CDN is a good choice for scaling companies in <a href="https://www.youtube.com/watch?v=dzZyAFk9c-4">this video interview</a>.</li><li>☝️ And if you're still not convinced, skim the real numbers in the article below:</li></ul><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/how-localazy-cdn-reduces-total-cost-of-ownership-with-examples"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How Localazy CDN reduces Total Cost of Ownership (with examples! 🔎)</div><div class="kg-bookmark-description">Many businesses ignore TCO when it comes to localization services. Find out why you should care about it and how our content delivery network can help you reduce it.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Tibor Panák</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2024/03/How-Localazy-CDN-Reduces-Total-Cost-1.png" alt=""></div></a></figure><h2 id="better-faster-stronger-translations">🏋️‍♂️ Better, faster, stronger translations <a class="markdownit-header-anchor" href="#better-faster-stronger-translations">🔗</a></h2><p>We want to make your experience with our translation interface and services as breezy as possible. These are some of the changes we've introduced to make you love your Localazy experience even more.</p><h3 id="dolling-up-our-translation-interface">Dolling up our translation interface <a class="markdownit-header-anchor" href="#dolling-up-our-translation-interface">🔗</a></h3><p>Our UI is looking prettier every day. We've given our <a href="https://localazy.com/blog/release-update-january-2024#review-and-translate-buttons-facelift">Review and Translate buttons</a> a facelift, implemented <a href="https://localazy.com/blog/release-update-january-2024#onboarding-guide-for-new-users">an onboarding guide</a> for new customers, <a href="https://localazy.com/blog/release-update-revamped-translation-memory-support-for-e-learning-localization-and-more#new-translation-memory">revamped our Translation Memory</a>, and applied <a href="https://localazy.com/blog/release-update-july-2024#interface-updates">several improvements to our interface</a>. You can now <a href="https://localazy.com/blog/release-update-localazy-ai-automated-workflows-and-more#custom-translation-tasks-and-sessions">create custom translation tasks and sessions</a>, and <a href="https://localazy.com/blog/release-update-revamped-translation-memory-support-for-e-learning-localization-and-more#simpler-integration-screen">our integration screen</a> and <a href="https://localazy.com/blog/release-update-january-2024#source-key-counts-on-the-dashboard">source key counts</a> are much simpler, too. Looking sharp! 🤵</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/08/image-1.png" class="kg-image" alt loading="lazy" width="1340" height="988" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/image-1.png 1000w, https://ghost.localazy.com/content/images/2024/08/image-1.png 1340w" sizes="(min-width: 720px) 720px"><figcaption>Shoemaker's children going barefoot? Hopefully, not anymore!&nbsp;</figcaption></figure><h3 id="support-for-more-languages">Support for more languages <a class="markdownit-header-anchor" href="#support-for-more-languages">🔗</a></h3><p>Last year, <strong>over 10,000 users completed a translation using Localazy</strong>, reaching a whopping total of 2.4M translations. We've been growing nonstop, and our languages are, too — we currently localize to hundreds of tongues and offer professional translations with English as a source in more than 50 languages.</p><p>One of our goals is to continuously add support for professional translations in as many languages as possible. <strong>Urdu</strong> and <strong>Swahili </strong>are our latest additions, with <strong>Russian</strong> for professional proofreading as a bonus. </p><p>We are also working on new <a href="https://localazy.com/tags/locales">locale guides</a> to refresh or complement your expansion strategies in different languages (like this one for the <a href="https://localazy.com/blog/localization-for-the-french-canadian-market-how-to-build-brand-loyalty-in-quebec">Quebec</a> market or this one for <a href="https://localazy.com/blog/swedish-localization-made-simple-conquer-largest-nordic-market">Sweden</a>).</p><blockquote>🤓 Curious to know which were the most popular Localazy languages in 2023? German, French, Spanish, Arabic, and Italian, in that order!</blockquote><p>If you've somewhat stumbled into this piece without meeting us first (or need a handy reminder), check out our <a href="https://localazy.com/blog/guide-localazy-translation-services">ultimate guide for translation services</a>, where we explain the differences between <a href="https://localazy.com/dictionary/professional-translation">professional translation</a>, <a href="https://localazy.com/dictionary/human-translation-validation">human translation validation</a>, and <a href="https://localazy.com/dictionary/professional-proofreading">proofreading services</a>.</p><h3 id="revamped-pricing-and-trial">Revamped pricing & trial <a class="markdownit-header-anchor" href="#revamped-pricing-and-trial">🔗</a></h3><p>2024 kicked off at Localazy HQ with <strong>a complete revamp of our pricing model</strong> to better suit your needs. You can get all the details in <a href="https://localazy.com/blog/localazy-pricing-explained">this guide</a> and contact us for any questions or custom requests for your organization. Four months later, we also <strong>modified our standard trial period and </strong><a href="https://localazy.com/blog/introducing-a-new-trial-model"><strong>extended it to 14 days</strong></a> so that you can experience all the Localazy benefits, including automation features before you commit to a plan.</p><h3 id="automated-workflows-and-openai">Automated workflows & OpenAI <a class="markdownit-header-anchor" href="#automated-workflows-and-openai">🔗</a></h3><p>No one likes to wither away performing boring manual tasks over and over again. We know you have better things to do – that's why <strong>the addition of new automated workflows to the Localazy pipelines will save you precious time</strong>. We talk about the topic in full in <a href="https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization">this article</a> and offer you several configuration solutions, including tips to automatically translate your file right after uploading, apply AI filters and delete deprecate keys, in our <a href="https://localazy.com/tags/workflows">Workflow series</a>.</p><p>And if you were wondering what we're doing about the name on everybody's lips (ChatGPT), here's a quick summary: <strong><a href="https://localazy.com/blog/release-update-localazy-ai-automated-workflows-and-more#open-ai-translations-beta">we've added support for various OpenAI models</a> as MT translation engines</strong>. You can now link your account to our platform and use it for automated translations, filtering, <a href="https://localazy.com/blog/release-update-revamped-translation-memory-support-for-e-learning-localization-and-more#openai-works-with-glossary">context building</a>, and more. We'll report back with more news. 🫡</p><h2 id="we-are-now-iso-certified">☑️ We are now ISO certified <a class="markdownit-header-anchor" href="#we-are-now-iso-certified">🔗</a></h2><p>Happy, happy news indeed: Localazy has obtained the <a href="https://www.iso.org/standard/27001"><strong>ISO 27001</strong></a> and <a href="https://www.aicpa-cima.com/topic/audit-assurance/audit-and-assurance-greater-than-soc-2"><strong>SOC 2 Type II</strong></a> certifications. What might sound like a boring piece of accounting trivia is actually quite relevant for us and for our clients, who will now have proof that their sensitive data is in safe hands with us. Our team will also benefit from these certifications, as we'll now spend less time answering security questionnaires. It all begins with trust! 💙</p><h2 id="meet-our-new-partner-directory">🫶 Meet our new partner directory <a class="markdownit-header-anchor" href="#meet-our-new-partner-directory">🔗</a></h2><p>We'll go straight to the point: <strong>we have launched <a href="https://localazy.com/partnership">a new partner directory</a></strong>, and we are stoked about it. From now on, our customers will be able to find trusted Localazy integration partners and localization specialists all in the same place. Our current B2B clients can opt-in for a listing entry by filling out <a href="https://e2lskwdhfja.typeform.com/to/kbxJ7FIt?typeform-source=localazy.com">this form</a>. </p><blockquote>🥁 Have you ever wondered how our customers use Localazy to expand and optimize their localization processes? Our new <a href="https://localazy.com/case-study">Case Study section</a> has plenty of examples (more to come soon). </blockquote><h2 id="hackathon-recap">🏔️ Hackathon recap <a class="markdownit-header-anchor" href="#hackathon-recap">🔗</a></h2><p>Meeting rejuvenates us and helps us to recharge as a team. As a fully remote company, we were looking forward to working and chatting in person for a full week. The time finally came in June, when we all banded together in Jindřichov u Šumperka for some quality time together. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/08/image-6-2.png" class="kg-image" alt loading="lazy" width="1127" height="765" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/image-6-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/image-6-2.png 1000w, https://ghost.localazy.com/content/images/2024/08/image-6-2.png 1127w" sizes="(min-width: 720px) 720px"><figcaption>Press photo session goes wrong. 😇</figcaption></figure><p>We chose a beautiful country house in the mountains where we discussed all things Localazy. Our last team-building week had taken place in November, so this time we were able to enjoy better weather, walks in the countryside, and lovely chats in the water and under the moonlight.</p><p>We shared a few beers, held a couple of barbecues, ate pizza and paella, and played Overcooked, poker, and table football. This time, we even held a cross-collaboration challenge where we voted the best solution. Lead Developer Dan, Product Manager Jan, and Head of Content Marta won (check how Jan celebrated it in the photo below 🤓). We can't wait for the next meet-up!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/Three-photos-transparent.jpg" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/Three-photos-transparent.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/Three-photos-transparent.jpg 1000w, https://ghost.localazy.com/content/images/2024/08/Three-photos-transparent.jpg 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="networking-all-over-europe">🍷 Networking all over Europe <a class="markdownit-header-anchor" href="#networking-all-over-europe">🔗</a></h2><h3 id="event-overload">Event overload <a class="markdownit-header-anchor" href="#event-overload">🔗</a></h3><p>Our team has been quite social during the last few months all over Czechia and beyond. Product marketing extraordinaire Petr flew all the way to France last May to attend <a href="https://vivatechnology.com">VIVATech Paris</a>, where he connected with clients all over the continent (and tried French beer). </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/08/Captura-de-pantalla-2024-08-02-a-las-15.35.59.png" class="kg-image" alt loading="lazy" width="1176" height="944" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/Captura-de-pantalla-2024-08-02-a-las-15.35.59.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/Captura-de-pantalla-2024-08-02-a-las-15.35.59.png 1000w, https://ghost.localazy.com/content/images/2024/08/Captura-de-pantalla-2024-08-02-a-las-15.35.59.png 1176w" sizes="(min-width: 720px) 720px"><figcaption><a href="https://x.com/localazy/status/1793227426924802231">Day 1</a> and <a href="https://x.com/localazy/status/1793616596545802320">day 2</a> in selfies!</figcaption></figure><p>Localazy was also present at Prague's <a href="https://www.czechonlineexpo.cz">Czech Online Expo</a> in February, and at <a href="https://www.fintechroadmap.cz">Fintech Roadmap</a>'24 in Czechia and <a href="https://www.productprosummit.pl">Product Pro Summit</a> in Sopot (Poland), both held in May. We also attended Brno's <a href="https://www.velvetinnovation.com">Velvet Innovation Conference</a> in November, where our dev Dan pitched our product accompanied by our CMO, Product Marketing manager, and one of our investors.</p><p><em>"We were invited to present at the conference as one of the most successful startups of the South Moravian Innovation Center (<a href="https://www.jic.cz/en/">JIC</a> in Czech). It was a unique opportunity to present our product to more than 500 entrepreneurs, investors, and various field experts. With the great support of the team, we prepared an eye-catching presentation for which we were praised by many in the subsequent networking session. It was a great event to meet like-minded people, hear about their amazing stories, and wake up the next day more motivated than ever!"</em> Dan says.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/08/Captura-de-pantalla-2024-08-02-a-las-15.42.08.png" class="kg-image" alt loading="lazy" width="1168" height="1138" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/Captura-de-pantalla-2024-08-02-a-las-15.42.08.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/Captura-de-pantalla-2024-08-02-a-las-15.42.08.png 1000w, https://ghost.localazy.com/content/images/2024/08/Captura-de-pantalla-2024-08-02-a-las-15.42.08.png 1168w" sizes="(min-width: 720px) 720px"><figcaption>Full thread <a href="https://x.com/localazy/status/1724747740708515956">here</a>.</figcaption></figure><h3 id="weve-joined-the-czech-fintech-association">We've joined the Czech Fintech Association! <a class="markdownit-header-anchor" href="#weve-joined-the-czech-fintech-association">🔗</a></h3><p>Localazy is now a member of the biggest fintech association in the Czech Republic  – the <a href="https://czechfintech.cz/en/">Czech Fintech Association</a>, a network of over 40 companies from the national tech scene focused on growth and international expansion. </p><p>Why us? The executive manager of CEFTAS, Ondřej Machač, said it best: <em>"Localazy's innovative approach to translation and technology will be a valuable asset for our members’ internationalization processes, including those not present in other countries yet. We believe that their involvement will contribute to spreading awareness of Czech fintech abroad. Translating a website or an app shouldn’t delay expansion processes anymore."</em> We can't wait to seize all the opportunities that come our way from <a href="https://www.linkedin.com/posts/czech-fintech-association_i-dnes-bychom-r%C3%A1di-p%C5%99iv%C3%ADtali-nov%C3%A9ho-%C4%8Dlena-activity-7219231175083503618-XoNL?utm_source=share&amp;utm_medium=member_desktop">this collaboration</a>. 💪 🇨🇿 </p><h3 id="localazy-in-the-media">Localazy in the media <a class="markdownit-header-anchor" href="#localazy-in-the-media">🔗</a></h3><ul><li><a href="https://therecursive.com/localization-is-your-secret-weapon-to-expand-and-it-doesn-t-have-to-be-expensive/">Localization is your secret weapon to expand – and it doesn't have to be expensive</a> (The Recursive)</li><li><a href="https://ain.capital/2024/06/11/overseas-expansion-challenges-startups-column/">How to deal with challenges in the road to overseas expansion?</a> (AIN Capital)</li><li><a href="https://tech.eu/2024/04/30/localazy-brings-its-localised-translation-services-to-polish-brands/">Localazy brings localised translation to brands in Poland</a> (Tech.eu)</li><li><a href="https://nonprofitquarterly.org/climate-solutions-from-indigenous-and-local-knowledge/">Climate solutions from Indigenous and local knowledge</a> (Nonprofit Quarterly)</li><li><a href="https://multilingual.com/localazy-and-poedit-join-forces-for-offline-friendly-translation-workflows">Localazy and Poedit join forces for offline-friendly translation workflows</a> (Multilingual) </li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/08/IMG_2187.jpeg" class="kg-image" alt loading="lazy" width="2000" height="2667" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/IMG_2187.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/IMG_2187.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/08/IMG_2187.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/08/IMG_2187.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>A newspaper feature is special these days – here's ours in <a href="https://cyfrowa.rp.pl/biznes-ludzie-startupy/art40268461-jak-zmniejszyc-bariery-jezykowe-w-internecie-czesi-maja-rozwiazanie">Rzeczpospolita</a>. 🙂</figcaption></figure><h3 id="more-cool-g2-badges">More cool G2 badges <a class="markdownit-header-anchor" href="#more-cool-g2-badges">🔗</a></h3><p>At this point, we have <a href="https://www.linkedin.com/feed/update/urn:li:activity:7217448499234127872">quite a collection</a>! In the software localization category, Localazy was awarded 16 G2 titles total during the fall and winter seasons, eight during spring, and 11 this summer. We are grateful for <a href="https://www.g2.com/products/localazy/reviews">your support</a>—it's what keeps us going.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/08/image-2.png" class="kg-image" alt loading="lazy" width="1600" height="999" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/image-2.png 1000w, https://ghost.localazy.com/content/images/2024/08/image-2.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Selection of badges Localazy earned in the Software Localization category this summer!</figcaption></figure><h2 id="in-our-backlog">👀 In our backlog <a class="markdownit-header-anchor" href="#in-our-backlog">🔗</a></h2><p>Trust us: cool things are coming your way. 😎 We are working on a couple of new integrations – one with <strong>Webflow</strong> and another with <strong>Zendesk</strong>. You can actually get early access for the latter here. It will allow you to translate your knowledge base and help center articles, so if you use this customer support system, fill out the form to <a href="https://t.co/EOSV4kOqNy">join the beta</a>!</p><p>The Localazy website is also going to undergo pretty big changes, one of them being <strong>a new community section</strong> where you'll be able to earn points and unlock rewards. 🏆 We're still testing it internally and calibrating the point system, but keep your eyes peeled for the announcement.</p><p>We have big plans for developers, too. We're in the early stages of building <strong>our developer portal,</strong> where all dev-related stuff will be in a handy working center for your convenience.</p><p>Our sales and marketing team is going to be quite busy as well. Petr will set off again for new adventures on <a href="https://dmexco.com/conference/">DMEXCO</a> in Cologne, and our Product Manager Jan will join him for <a href="https://saastock-europe.com">SaaSSTock</a> in Dublin. Meanwhile, our content team is working hard on covering all the basics you need to expand to new markets with new locale guides. And there is a really special project in the works that you'll want to see... and hear. 🎙️👀</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/08/image-4-4.png" class="kg-image" alt loading="lazy" width="1068" height="634" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/image-4-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/image-4-4.png 1000w, https://ghost.localazy.com/content/images/2024/08/image-4-4.png 1068w" sizes="(min-width: 720px) 720px"><figcaption>A picturesque moment from our Hackathon (because why not).</figcaption></figure><h2 id="word-of-the-month">🗣️ Word of the month <a class="markdownit-header-anchor" href="#word-of-the-month">🔗</a></h2><blockquote><strong>Transparent </strong>(adj.) <br>    a. free from pretense or deceit<br>    b. easily detected or seen through<br>    c.<strong> </strong>readily understood<br>    d. characterized by visibility or accessibility of information, especially concerning business practices</blockquote><p>If there is one term that defines Localazy as a product, it is <strong>transparent</strong>. This word came up frequently during our last Hackathon. We proudly adhere to it as one of our foundational principles. </p><h2 id="two-new-localazy-team-members">👋 Two new Localazy team members <a class="markdownit-header-anchor" href="#two-new-localazy-team-members">🔗</a></h2><p>Our weekly syncs keep getting bigger with the addition of new colleagues! 🧑‍💻 Our latest recruit is <strong><a href="https://www.linkedin.com/in/avishagbukai?originalSubdomain=cz">Avishag</a></strong>, who has recently stepped in as our new Partnerships Lead. She will take care of all of the clients and prospects who want to strengthen their relationship with Localazy and build synergies, so expect to hear from her if you're a regular around here!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/image-12-2.png" class="kg-image" alt loading="lazy" width="1108" height="719" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/image-12-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/image-12-2.png 1000w, https://ghost.localazy.com/content/images/2024/08/image-12-2.png 1108w" sizes="(min-width: 720px) 720px"></figure><p>Avishag grew up in Belgium, studied in Israel and Argentina, and finally settled in Prague with her husband and three kids. A Communications and Management expert with extensive sales experience, she speaks five languages and loves to bake, read, travel, and sleep. Fun fact: she used to dance flamenco for many years and dreams of opening her own cake café! 💃 🍰</p><p><em>"My time at Localazy these past few weeks has been great. The team is so welcoming and supportive. Even though we're working remotely, there's a real sense of camaraderie and teamwork which is really nice to see. I'm having the opportunity to work on some interesting projects and learn a lot along the way, which is exciting and challenging. I'm grateful to have the chance to contribute in meaningful ways, and I'm excited to see what the future holds,"</em> she says. Welcome to the Localazy family, Avi!</p><p>Our next recruit is a long-time collaborator from our content department. <strong><a href="https://localazy.com/blog/author/gletjan-muco">Gledjan</a> </strong>has recently boarded the Localazy train full-time as our social media manager. Originally from southeastern Albania and currently living in Tirana, Gled is a skilled copywriter and content expert with a teaching and coaching background. He recently finished his Masters in English and enjoys coding, designing, and pretty much anything that involves creativity. Most importantly, he's an avid language learner who aspires to become a polyglot. If you have any doubts, his +200-day Duolingo streak is proof! 😃</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/image-1-2.png" class="kg-image" alt loading="lazy" width="1072" height="643" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/image-1-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/image-1-2.png 1000w, https://ghost.localazy.com/content/images/2024/08/image-1-2.png 1072w" sizes="(min-width: 720px) 720px"></figure><p><em>"I've been a freelancer with Localazy for over two years, and now it’s a pleasure to join the team full-time. Everyone is supportive, welcoming, and fun, and we all look forward to the Friday weekly sync. One thing I really like about the team is the fact that they don’t care about your working hours as long as the work gets done. They give you so much freedom and flexibility that you enjoy taking on more and more tasks… Wait, I think I’ve been tricked here! Anyways, I love it so far, and I plan to stick with the team for the long term. If you come across a cheesy comment from Localazy's socials, you’ll now know who to blame," </em>he says. Welcome, Gled! </p><h2 id="what-our-team-is-up-to">🧀 What our team is up to <a class="markdownit-header-anchor" href="#what-our-team-is-up-to">🔗</a></h2><p>Now that we're at it - let's recap what life has been like for our team lately! First and foremost, our baby boom continues: congratulations are in order to our designer <a href="https://www.linkedin.com/in/filip-jež-6238a633/?originalSubdomain=cz">Filip</a> and his partner, who welcomed their first child Dorotea, a.k.a Dea, back in September, and to our developer <a href="https://localazy.com/blog/meet-the-localazy-team-dan-business-development">Dan</a>, who got married in July. 👶💍</p><p>We're a notorious travel bunch, so it's no surprise that the whole team has continued exploring the world in the last few months. While <a href="https://localazy.com/blog/author/jakub-dubec">Jakub</a> took a break in Madeira, <a href="https://localazy.com/blog/meet-the-localazy-team-jan-bilek-product-manager">Jan</a> explored the snowy peaks of Tatras, and <a href="https://localazy.com/blog/author/petr-hodny">Petr</a> went on a few adventures in Germany and Czechia. Meanwhile, <a href="https://localazy.com/blog/meet-the-localazy-team-david-vaclavek">David</a> embarked on a long-awaited trip to Iran, <a href="https://localazy.com/blog/author/ondrej-pucek">Ondra</a> enjoyed a World Cup match in Leipzig, <a href="https://localazy.com/blog/author/marta-g-coloma">Marta</a> spent the New Year in Berlin and Warsaw, and the biggest one of them all — <a href="https://localazy.com/blog/author/tibor-panak">Tibor</a> relocated to Vietnam for a few months and took the opportunity to visit Japan!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/Three-photos-transparent-1.jpg" class="kg-image" alt loading="lazy" width="1200" height="693" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/Three-photos-transparent-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/Three-photos-transparent-1.jpg 1000w, https://ghost.localazy.com/content/images/2024/08/Three-photos-transparent-1.jpg 1200w" sizes="(min-width: 720px) 720px"></figure><p>These were months of firsts for many of us as well, as Jakub started building his new home, Jan started baking baguettes, and Marta relaunched her disco band and recorded her first EP, comprised of Elton John covers, in-studio. Our team members are moving around quite a lot, as <a href="https://localazy.com/blog/author/vaclav-hodek">Václav</a> has just settled into a new apartment, and Ondra is preparing for his big jump to Portugal.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/08/Three-photos-transparent-2.jpg" class="kg-image" alt loading="lazy" width="1200" height="693" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/Three-photos-transparent-2.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/Three-photos-transparent-2.jpg 1000w, https://ghost.localazy.com/content/images/2024/08/Three-photos-transparent-2.jpg 1200w" sizes="(min-width: 720px) 720px"></figure><p>When life and work get intense, there's no place like our #random channel in Slack, though. Over the past few months, we've learned that:</p><ul><li>😵 Localization fails are everywhere: <a href="https://x.com/vaclavhodek/status/1765401937824895431">including video games</a>, <a href="https://www.linkedin.com/feed/update/urn:li:activity:7117960905132298240/">social media platforms</a>, and (especially) <a href="https://www.reddit.com/r/czech/comments/170uyjh/máte_taky_nějaké_dobré_úlovky_špatných_překladů_z/?share_id=MCy63DV7cUtbr-U4Gr9D6&amp;utm_content=1&amp;utm_medium=ios_app&amp;utm_name=ioscss&amp;utm_source=share&amp;utm_term=1">product labels</a>.</li><li>🍦 <a href="https://www.wirtualnemedia.pl/artykul/willisch-lody-sztuczna-inteligencja-gdzie-kupic-lidl-polska">Ice cream branding</a> is now powered by AI (?).</li><li>🥙 The café where our CEO and CMO dreamed of, Localazy, is now a durum shop. Durums come true!</li><li>🐎 Horse races and <a href="https://www.youtube.com/watch?v=S-U8sgSnJvU">crazy television game shows</a> where people dress up are still a thing.</li><li>😋 Everyone is obsessed with food, especially if it's heavy and smelly, like <em><a href="https://www.google.com/search?client=safari&amp;sca_esv=fa31e69ef1b00d7b&amp;sca_upv=1&amp;rls=en&amp;sxsrf=ADLYWILV8GNBsjRyq9ynE776UNw2bjfMKQ:1722432160775&amp;q=olomouck%C3%A9+tvar%C5%AF%C5%BEky&amp;spell=1&amp;sa=X&amp;ved=2ahUKEwjM0d7or9GHAxUoX_EDHU4uARkQkeECKAB6BAgpEAE">olomoucké</a></em><a href="https://www.google.com/search?client=safari&amp;sca_esv=fa31e69ef1b00d7b&amp;sca_upv=1&amp;rls=en&amp;sxsrf=ADLYWILV8GNBsjRyq9ynE776UNw2bjfMKQ:1722432160775&amp;q=olomouck%C3%A9+tvar%C5%AF%C5%BEky&amp;spell=1&amp;sa=X&amp;ved=2ahUKEwjM0d7or9GHAxUoX_EDHU4uARkQkeECKAB6BAgpEAE"> </a><em><a href="https://www.google.com/search?client=safari&amp;sca_esv=fa31e69ef1b00d7b&amp;sca_upv=1&amp;rls=en&amp;sxsrf=ADLYWILV8GNBsjRyq9ynE776UNw2bjfMKQ:1722432160775&amp;q=olomouck%C3%A9+tvar%C5%AF%C5%BEky&amp;spell=1&amp;sa=X&amp;ved=2ahUKEwjM0d7or9GHAxUoX_EDHU4uARkQkeECKAB6BAgpEAE">tvarůžky</a>.</em></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/08/image-5-2.png" class="kg-image" alt loading="lazy" width="1060" height="847" srcset="https://ghost.localazy.com/content/images/size/w600/2024/08/image-5-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/08/image-5-2.png 1000w, https://ghost.localazy.com/content/images/2024/08/image-5-2.png 1060w" sizes="(min-width: 720px) 720px"><figcaption><em>Czechia's most famous cheese has been an obsession for our team.</em></figcaption></figure><p>These are not the only things we share, though – we also talk about the language and software industries <em>a lot</em>. For example, we really liked this Tom Scott video shared by Petr...</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/0j74jcxSunY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Internationalis(z)ing Code - Computerphile"></iframe></figure><p>...and this fascinating talk by Professor John MacHorter about language learning recommended by Václav: </p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/VQRjouwKDlU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="4 reasons to learn a new language | John McWhorter"></iframe></figure><h2 id="more-from-the-blog">🗞️ More from the blog <a class="markdownit-header-anchor" href="#more-from-the-blog">🔗</a></h2><p>If you are still energized to go through more information, here are a few highlights from our blog that we think you'll enjoy. Otherwise, bookmark and keep them for later to amplify your localization knowledge. </p><ul><li><a href="https://localazy.com/blog/how-to-use-chatgpt-to-your-advantage-in-translation-with-examples-gpt-series-1">How to use ChatGPT to your advantage in translation (with examples)</a></li><li><a href="https://localazy.com/blog/localization-101-basic-concepts-a-beginner-needs-to-know">Localization 101: Basic concepts for newcomers</a></li><li><a href="https://localazy.com/blog/6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them">6 challenges of localizing your app to Arabic and how to solve them</a></li></ul><p>For the latest content updates, you can follow us on socials (💼 <a href="https://www.linkedin.com/company/localazy/">LinkedIn</a> | 🦜 <a href="https://x.com/localazy/">X</a>), where we post blog pieces and localization-related content regularly.  Sound off in the comments for any suggestions, feedback, or encouragement (we are human, after all 🥺). See you in the next BTG!</p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/07/localazy-bridging-gap-3.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localization 101 | Basic concepts for newcomers]]></title>
            <link>https://localazy.com/blog/localization-101-basic-concepts-a-beginner-needs-to-know</link>
            <guid isPermaLink="false">localization-101-basic-concepts-a-beginner-needs-to-know</guid>
            <pubDate>Tue, 09 Sep 2025 16:48:20 GMT</pubDate>
            <description><![CDATA[Are you new to the world of localization? Then, there are a few concepts you'll need to understand before you start your journey. Learn what they mean and some key differences between them.]]></description>
            <content:encoded><![CDATA[<p>Although slightly confusing at first, once you understand the concept of good localization, you can begin to expand your business to other parts of the world more successfully. In this article, you’ll learn the <strong>fundamental concepts of localization</strong>, also abbreviated as <a href="https://localazy.com/dictionary/l10n" rel="noopener noreferrer nofollow">l10n</a>, as well as other important terms and tips to intentionally build rapport with your customers.</p><p>Plus, what are the differences between translation, localization, and transcreation? And how do you adapt to consumers overseas? More on this below.</p><h2 id="localization-is-building-rapport">👋 Localization is building rapport <a class="markdownit-header-anchor" href="#localization-is-building-rapport">🔗</a></h2><p><a href="https://thedecisionlab.com/reference-guide/management/rapport#">Building rapport</a> is a well-known concept that is used to connect better with other people. It includes mirroring body language, mimicking tone of voice, and finding things in common. Once rapport is established, trust is increased. <a href="https://www.linkedin.com/pulse/neuroscience-rapport-dos-donts-virtual-sellers-carmen-simon/">This neuroscientific concept</a> suggests that we like people who are similar to us. The same is true in localization and trusting a brand.</p><p><strong>To connect with your audience, you need to build rapport</strong>. In this case, you adapt language, tone, cultural sensitivity, and understanding to communicate better. As you do this, the receiver feels more connected to you and your message. Hence, the entire <a href="https://localazy.com/dictionary/ux">user experience</a> is improved.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/AdobeStock_842411571.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1369" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/AdobeStock_842411571.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/AdobeStock_842411571.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/AdobeStock_842411571.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/AdobeStock_842411571.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="whats-with-the-numbers">🤨 What's with the numbers? <a class="markdownit-header-anchor" href="#whats-with-the-numbers">🔗</a></h2><p>You might have noticed that some concepts in the localization realm, like <strong>l10n</strong>, <strong>i18n</strong>, or <strong>t9n</strong>, are abbreviated in a strange way. The explanation is easy – they're acronyms typical in the software industry known as <strong>numeronyms</strong>. They simply help with categorization. In the case of "localization," the 10 is included to indicate the number of letters between 'l' and 'n.' The same applies to the rest of the terms.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/Numeronyms.png" class="kg-image" alt loading="lazy" width="2000" height="2000" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Numeronyms.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Numeronyms.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/Numeronyms.png 1600w, https://ghost.localazy.com/content/images/2025/08/Numeronyms.png 2160w" sizes="(min-width: 720px) 720px"></figure><blockquote><strong>📇 More questions? Localazy has its own dictionary of localization, app developement and marketing concepts. Access it <a href="https://localazy.com/dictionary">here</a></strong></blockquote><h2 id="quick-guide-of-localization-concepts">📚 Quick guide of localization concepts <a class="markdownit-header-anchor" href="#quick-guide-of-localization-concepts">🔗</a></h2><p>There are a few key elements to keep in mind throughout your localization journey. These concepts are helpful whether you’re just starting out or want to improve your existing strategy for business growth and globalization. Let’s take a look at the most important ones.</p><h3 id="1-translation-localization-and-transcreation">1. Translation, localization, and transcreation <a class="markdownit-header-anchor" href="#1-translation-localization-and-transcreation">🔗</a></h3><p>At first glance, you might think that translation, localization, and transcreation are pretty much the same. However, when taking a closer look, you’ll notice a few major differences between them, each requiring a slightly different approach.</p><p><strong>📝 </strong><a href="https://localazy.com/dictionary/translation"><strong>Translation</strong></a></p><p>When you ask a translator to translate your website, app, or documents, <strong>you’re mainly asking for accuracy</strong>. You get a translated text that sticks to the initial message, with close proximity to the original words and sentences of the source language. There is some adaptation, but not much. It is not strictly literal, but it’s not far from it.</p><p><strong>💭 <a href="https://localazy.com/dictionary/transcreation/">Transcreation</a></strong></p><p>Moving into transcreation, you begin leaving more room for creativity. This type of work usually involves <strong>some form of copywriting and reshaping</strong> of the original content. However, it is still important to stick to the main message you aim to convey and not stray too far away from the source. The transcreation should sound natural and somewhat appeal to the culture attached to the target language. A good understanding of both languages is important, including grammar and structure.</p><p><strong>🗣️ <a href="https://localazy.com/dictionary/localization">Localization</a></strong></p><p>When we arrive at localization, <strong>there is a lot of space for creativity</strong>. What’s more, localizing requires an in-depth understanding of cultural customs and people’s behavior, business principles, and even ethics and law. When localizing content, it is still somewhat a translation but with a stronger focus on how the message is received. Here, it’s about reshaping entire sentences and customizing designs, infographics, sentence structures, etc. Even humor and tone need to be adapted.</p><blockquote>While translation focuses on accuracy, localization leaves more space for creativity and prioritizes cultural adaptation to connect with your audience</blockquote><p>If done right, a person in your target country who downloads your app or browses your website will feel like they're shopping at a local store. Again, with the sense of familiarity, a disconnect is less likely to happen. In <a href="https://localazy.com/term/software-localization" rel="noopener noreferrer nofollow">software localization</a>, this means adapting elements like the software’s layout, content, or currencies.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/AdobeStock_411176260.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/AdobeStock_411176260.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/AdobeStock_411176260.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/AdobeStock_411176260.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/AdobeStock_411176260.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-language-dialect-and-localelessbrgreater">2. Language, dialect and locale<br> <a class="markdownit-header-anchor" href="#2-language-dialect-and-localelessbrgreater">🔗</a></h3><p>You’ll often hear the terms language, dialect, and locale in software and marketing localization. Understanding the differences between them is essential if you want to localize appropriately.</p><p><strong>🧑‍🏫 <a href="https://localazy.com/dictionary/language/">Language</a></strong></p><p>This term refers to <strong>a structure or system </strong>with its own codes and grammar rules for written and verbal communication. We use specific languages in software, as well as in different countries across the globe.</p><p>In programming, think, for example, of <a href="https://hub.localazy.com/en/programming-languages/python">Python</a>, <a href="https://hub.localazy.com/en/programming-languages/php">PHP</a>, or <a href="https://hub.localazy.com/en/programming-languages/javascript">JavaScript</a>. In order to communicate effectively with someone in Spain, you’ll need <a href="https://localazy.com/blog/spanish-a-growing-language-in-the-business-world">proper knowledge of Spanish</a>. And if you want to speak to an app user, you'll need the correct language for that, too.</p><p><strong>🌍 <a href="https://localazy.com/dictionary/locale">Locale</a></strong></p><p><strong>Locales are sets of parameters defining a language environment</strong>. Implementing a locale relates to zooming in on a culture to a much greater extent. Imagine you're visiting a Spanish online store, but you’re in the United States. Right at the start of your visit, a pop-up window on your screen says something like: “We can see that you’re visiting from the US. Would you like to change to the United States site version?”. This function allows you to adapt the language to the specifications of your location.</p><p>Locales include elements like <strong>local currencies, user interface characteristics, date and time formats, and cultural preferences and adaptations</strong>. They are usually represented with <a href="http://www.lingoes.net/en/translator/langcode.htm">standardized combinations of language code + country code</a>. One language can be expressed through multiple locales.</p><blockquote><strong>📖 Check out <a href="https://localazy.com/tags/locales">our collection of locale guides</a> to learn more about specific regions and how to adapt to their linguistic preferences</strong></blockquote><p>For instance, if you have your site operating in Australia and the United States, you will use <a href="https://hub.localazy.com/en/languages/en-english">English</a>, but since there are cultural differences, you will apply two different locales:</p><ul><li>🇹🇫 en_AU</li><li>🇺🇸 en_US</li></ul><p>But for Belgium, you will choose all the spoken languages (<a href="https://hub.localazy.com/en/languages/fr-french">French</a>, <a href="https://hub.localazy.com/en/languages/nl-dutch">Dutch</a>, and <a href="https://hub.localazy.com/en/languages/de-german">German</a>) and use the same country code for each of them:</p><ul><li>🇧🇪 fr_BE</li><li>🇧🇪 nl_BE</li><li>🇧🇪 de_BE</li></ul><p>Successful marketing and software localization, therefore, includes this important set of instructions and settings that is a locale.</p><p><strong>💬 <a href="https://localazy.com/dictionary/dialect/">Dialect</a></strong></p><p>Dialects are a part of every language. They're simply <strong>a particular form of the language spoken by a particular group in a specific region or used by certain social or ethnic groups</strong>. When you localize, dialects can make or break your message. For example, the culture and customs in the north of France differ from those in the south. Another example is the Portuguese language, <a href="https://localazy.com/blog/unlocking-the-brazilian-market-the-importance-of-accuracy-in-english-to-brazilian-portuguese-translation">which is different in Brazil than in Portugal</a>. Because of this, localization is sometimes adapted to the region using different dialects. Dialects are not structured systems but are instead subsets of a language.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/AdobeStock_431676416.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/AdobeStock_431676416.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/AdobeStock_431676416.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/AdobeStock_431676416.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/AdobeStock_431676416.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-globalization-i18n-and-expansion-lessbrgreater">3. Globalization, i18n and expansion <br> <a class="markdownit-header-anchor" href="#3-globalization-i18n-and-expansion-lessbrgreater">🔗</a></h3><p><strong>🌐 <a href="https://localazy.com/dictionary/globalization/">Globalization</a></strong></p><p>Making your product or service global requires preparing it for international adoption. You won't be able to reach consumers in other countries successfully if you don't adapt your offer to them. This is where the globalization process comes in, which includes product design, multilingual support, marketing strategies, and, yes - localization as well. Ultimately, <strong>you want to ensure that you're offering an optimal user experience no matter which country you operate in</strong>.</p><p><strong>🗺️ <a href="https://localazy.com/dictionary/internationalization">Internationalization</a></strong></p><p>Internationalization is an integral part of the localization strategy. Think of it like moving to a new country. To assimilate better, you might have to leave some of your own customs behind, speak a different language, and <strong>adapt to the culture</strong>. In software, this involves <a href="https://localazy.com/tags/i18n">making technical preparations</a> that will pay off when it's time to localize, as they'll set the right tone for your product or service.</p><p>This process is about preparing your software to adapt and change, which means developing your product in a way that makes it suitable for other languages and cultures, not just one. It also considers different legal requirements, website needs, and acceptance of various data types and settings to match local customs.</p><p><strong>🚀 <a href="https://localazy.com/dictionary/expansion/">Expansion</a></strong></p><p>Now, expansion can involve taking your service or product overseas, but not always. <strong>It can undoubtedly be part of a strategy to reach international consumers, yet sometimes expansion is local</strong>. In the end, it's all about increasing your revenue and creating brand awareness.</p><p>Aspects of expansion include updating your software and getting it ready for a bigger audience and implementing the right communication channels. Testing, designing, and enhancing your app's features to meet clients’ and customers’ needs is also part of the expansion process. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/AdobeStock_78593064.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1325" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/AdobeStock_78593064.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/AdobeStock_78593064.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/AdobeStock_78593064.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/AdobeStock_78593064.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-proofreading-vs-qalessbrgreater">4. Proofreading vs. QA<br> <a class="markdownit-header-anchor" href="#4-proofreading-vs-qalessbrgreater">🔗</a></h3><p><strong>🪜 <a href="https://localazy.com/dictionary/proofreading">Proofreading</a></strong> is essential in any content launch, yet it is only one leg of the whole table. A proofreader will usually address grammar, style, appropriate wording (including cultural appropriation), and legal requirements, among other things.</p><p><strong>🔍 <a href="https://localazy.com/dictionary/qa-quality-assurance" rel="noopener noreferrer nofollow">Quality assurance</a></strong>, on the other hand, or QA, <em>is</em> <em>the table</em>. QA involves proofreading, testing, editing, improving visual design, and deepening linguistic accuracy. In other words, it takes performance into account, ensuring that both the written and graphic content are received as intended. In the case of multilingual products, <a href="https://localazy.com/faq/localization/what-is-localization-testing-in-software-testing">localization testing</a> is a crucial part of this process. </p><h3 id="5-machine-translation-vs-ai-powered-translation">5. Machine translation vs. AI-powered translation <a class="markdownit-header-anchor" href="#5-machine-translation-vs-ai-powered-translation">🔗</a></h3><p>While neither machine translation (MT) nor AI-powered translation are perfect, they both serve an important purpose. 🦾 <a href="https://localazy.com/dictionary/machine-translation"><strong>Machine translation</strong></a> is a big part of the engine that keeps it all together. Of course, the desire to use 🤖 <a href="https://localazy.com/dictionary/ai-powered-translation"><strong>AI-powered translation</strong></a> (a subset of MT) is mainly due to AI’s ability to adapt and understand more complex content and software needs. While an AI-powered translation won’t give you the accuracy that a human translator will, it is an incredibly useful aid to human translation.</p><p>As machine translation tools advance, more linguistic capabilities are incorporated, making this technology all the more valuable. They can help as much as AI to create proper translations – just in a different way. Today, these two often help each other and can be used together to achieve great localization results.</p><blockquote><strong>📌 Related: <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation" rel="noopener noreferrer nofollow">Translation technology: Exploring the pros and cons of AI Translation</a></strong></blockquote><h3 id="6-cat-tooltmslessbrgreater">6. CAT Tool/TMS<br> <a class="markdownit-header-anchor" href="#6-cat-tooltmslessbrgreater">🔗</a></h3><p>A ⚙️ <strong>TMS, or </strong><a href="https://localazy.com/dictionary/translation-management-system-tms" rel="noopener noreferrer nofollow"><strong>translation management system</strong></a>, is software that increases quality and makes localization and translation easier. It makes process management infinitely easier, letting you collaborate better with team members and eliminating cumbersome manual tasks. It also provides you with a better overview of your l10n projects. A big component of TMS are CAT tools.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/AdobeStock_845289840.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1344" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/AdobeStock_845289840.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/AdobeStock_845289840.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/AdobeStock_845289840.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/AdobeStock_845289840.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p><strong>🔧 <a href="https://localazy.com/dictionary/cat-tool" rel="noopener noreferrer nofollow">CAT tools</a></strong> (from the term <strong>computer-assisted translation</strong>) are frequently used among linguists, translators, and businesses today. They usually come with translation memories, glossaries, context, and other QA tools, helping your content be more consistent across channels. Over time, machine translation features have also become an essential part of CAT tools, as they help with suggestions during the translation process. </p><p>CAT tools are excellent for globalization and marketing localization, especially when dealing with larger markets and international crowds. They support multiple languages and let you upload <a href="https://localazy.com/integrations">many different file formats</a>. Some, being cloud-based, also enable real-time collaboration between managers and translators.</p><h3 id="7-key-count-vs-word-count">7. Key count vs. word count <a class="markdownit-header-anchor" href="#7-key-count-vs-word-count">🔗</a></h3><p><strong>🖇️ </strong><a href="https://localazy.com/dictionary/strings"><strong>Strings or keys</strong></a><strong> </strong>are frequently used in software localization. It is easy to understand what we mean when we talk about word count. But the <a href="https://localazy.com/dictionary/key-count"><strong>key count</strong></a><strong> </strong>tends to be a foggier concept. It<strong> </strong>refers to the total amount of sequences of letters, numbers, symbols, and other characters present in your source content. <strong>A key, also known as a string, can be one word or an entire sentence or paragraph</strong>. This classification system helps you automate localization and manage your content more effectively. </p><p>Strings are put into your code, then saved in software memory locations. They can thereafter be localized and used in several places on your website or in your app. Many TMS, including yours truly, use string/key count to track your localized content.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/keys-upgrade.jpg" class="kg-image" alt loading="lazy" width="741" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/keys-upgrade.jpg 600w, https://ghost.localazy.com/content/images/2024/07/keys-upgrade.jpg 741w" sizes="(min-width: 720px) 720px"><figcaption>You can easily upgrade the number of source keys on our dashboard.</figcaption></figure><h2 id="and-now-what-your-next-steps">🤔 And now, what? Your next steps <a class="markdownit-header-anchor" href="#and-now-what-your-next-steps">🔗</a></h2><p>So, now that you’ve learned about the essential concepts of localization, what do you do? First, <strong>you need to make a business plan and develop a strategy</strong>. Are you looking to localize and market your product in several languages to reach a new audience within your region, or are you planning to go international with your service or app? Maybe you already offer a great service, but want to appeal to an additional market. What resources do you already have or need to bring in?</p><blockquote>🎙️What localization metrics have real value? Kevin O'Donnell talks about this on S02, EP07 of the Bridging the Gap podcast. Listen <a href="https://localazy.com/blog/do-localization-metrics-reflect-real-value-bridging-the-gap-s02-ep07">here.</a></blockquote><h3 id="the-first-decisions-youll-have-to-make">The first decisions you'll have to make <a class="markdownit-header-anchor" href="#the-first-decisions-youll-have-to-make">🔗</a></h3><p>Drafting a good strategy is vital to producing excellent results, achieving cost efficiency, and managing your team's time better. Here are four key questions you'll have to answer when you kick the process off:</p><ul><li><strong>🧐</strong> <strong>Am I looking for mere translation or localization?</strong></li><li><strong>📍</strong> <strong>How many locales am I going to tackle?</strong></li><li><strong>✍️</strong> <strong>Where can I find reputable native translators?</strong></li><li><strong>💰</strong> <strong>How much will it all cost?</strong></li></ul><p><strong>Remember that these decisions don't have to be final</strong> – you can dip your toes into a potential market by using MT or crowdsourced translations first and opt for human localization services later. Localazy gives you the flexibility to pivot your strategy at any point and adapt your budget, management methods, and quality assurance tools as you go.</p><blockquote>Don't improvise your localization. Before you make any decision, make sure to have a business plan in place and to develop a strategy. You'll need to ask yourself the bigger-picture questions regarding targets, resources, and budget</blockquote><h2 id="choosing-a-software-that-makes-it-easier">👨‍💻 Choosing a software that makes it easier <a class="markdownit-header-anchor" href="#choosing-a-software-that-makes-it-easier">🔗</a></h2><p>In the end, you will probably want to make your life easier and grow your business at the same time. <strong>Choosing the right software will save you time and money and, let’s face it – many headaches.</strong> Having a software solution that provides you with many features in one and adapts to your needs while giving you the support you need along the way will make the journey so much more enjoyable and effective.</p><p>At Localazy, we are proud to offer some of the latest and most effective localization and software solutions for businesses. We have built <a href="https://localazy.com/term/translation-management-system" rel="noopener noreferrer nofollow">an efficient TMS</a> and offer various <a href="https://localazy.com/integrations" rel="noopener noreferrer nofollow">integration options</a>, <a href="https://localazy.com/term/design-localization" rel="noopener noreferrer nofollow">design localization</a> tools, and other management solutions. We also help our customers <a href="https://localazy.com/blog/guide-localazy-translation-services">localize with a human voice</a> and reach different markets, such as <a href="https://localazy.com/for/startups">SaaS</a>, <a href="https://localazy.com/for/e-commerce">e-commerce</a>, <a href="https://localazy.com/for/tourism">travel</a>, <a href="https://localazy.com/for/fintech">fintech</a>, and many more.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/unlimited.jpg" class="kg-image" alt loading="lazy" width="741" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/unlimited.jpg 600w, https://ghost.localazy.com/content/images/2024/07/unlimited.jpg 741w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Understanding the concepts above goes beyond "getting" them. It paves the way for a much more productive and direct path forward in your expansion journey. If you need more help, take a look at <a href="https://localazy.com/docs/general/getting-started-with-localazy">this beginner’s guide</a> and learn how to localize better and smarter, and <a href="https://localazy.com/contact">don't hesitate to contact us</a> for any help you need during the process.</p>]]></content:encoded>
            <author>Simona Rahmanova</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/06/localization-101.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Improved translation interface, new integration, and more!]]></title>
            <link>https://localazy.com/blog/release-update-july-2024</link>
            <guid isPermaLink="false">release-update-july-2024</guid>
            <pubDate>Tue, 30 Jul 2024 11:19:36 GMT</pubDate>
            <description><![CDATA[Learn what's new in the summer Release Update of Localazy. Explore the improved interface with clever new features, discover the new integration in development, and see what else awaits you when you return from your vacation! ]]></description>
            <content:encoded><![CDATA[<p>The summer release brings significant improvements to the translation interface and additional features and fixes. You can also opt-in to try a new integration with Zendesk or implement the brand-new CDN client. Curious to learn more? Let's go.</p><h2 id="interface-updates">⭐ Interface updates <a class="markdownit-header-anchor" href="#interface-updates">🔗</a></h2><p>We try to constantly improve the UX for translators and other users involved in the localization process at Localazy. Sure, even if automated MT or AI translation can save a lot of time, someone still needs to see the results, check for errors, and fix potential mishaps. Humans are still irreplaceable, and we are building Localazy (mainly) for humans! 😅</p><h3 id="htmlxml-tag-collapsing">🪗 HTML/XML tag collapsing <a class="markdownit-header-anchor" href="#htmlxml-tag-collapsing">🔗</a></h3><p>A nifty little button was added to the toolbar to help you collapse markup scattered in your translation strings. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/image-1.png" class="kg-image" alt loading="lazy" width="960" height="260" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/image-1.png 600w, https://ghost.localazy.com/content/images/2024/07/image-1.png 960w" sizes="(min-width: 720px) 720px"><figcaption>Press to see clearly.</figcaption></figure><p>This is especially helpful when translating <a href="/xliff">XLIFF</a> files popular with some third-party solutions such as e-learning platforms (such as <a href="https://localazy.com/ispring-suite">iSpring Suite</a>, <a href="https://localazy.com/rise-360">Rise 360 by Articulate</a> &amp; <a href="https://localazy.com/adobe-captivate">Adobe Captivate</a>) and other external sources that carry additional styling or metadata with the text. It can get cluttered pretty quickly, and the actual text information is lost in the chaos. Not anymore! 🙂</p><h4 id="before">Before:</h4><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/image.png" class="kg-image" alt loading="lazy" width="2000" height="665" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/image.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/image.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/image.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>What a mess! Luckily, there is a magic button to solve it.&nbsp;</figcaption></figure><h4 id="after">After:</h4><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/image-2.png" class="kg-image" alt loading="lazy" width="2000" height="612" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/image-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/image-2.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/image-2.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Voilà! Much better!</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">📚</div><div class="kg-callout-text">Learn more about <a href="https://localazy.com/docs/general/translating-strings#tag-collapsing">how tag collapsing works in the docs</a>.</div></div><h3 id="pre-translate-is-now-available-when-adding-language">📌 Pre-translate is now available when adding language <a class="markdownit-header-anchor" href="#pre-translate-is-now-available-when-adding-language">🔗</a></h3><p>You can now save a few clicks and <a href="https://localazy.com/features/pre-translate">pre-translate languages</a> right after adding them to your project. Lightspeed!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/image-3.png" class="kg-image" alt loading="lazy" width="1564" height="672" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/image-3.png 1000w, https://ghost.localazy.com/content/images/2024/07/image-3.png 1564w" sizes="(min-width: 720px) 720px"><figcaption>Pre-translate languages right as you add them to your project.</figcaption></figure><h3 id="search-and-filtering-are-now-available-for-key-aliases">🔎 Search and filtering are now available for key aliases <a class="markdownit-header-anchor" href="#search-and-filtering-are-now-available-for-key-aliases">🔗</a></h3><p>Now it's possible to search and filter key aliases and export path aliases.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/image-4.png" class="kg-image" alt loading="lazy" width="2000" height="632" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/image-4.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/image-4.png 1600w, https://ghost.localazy.com/content/images/2024/07/image-4.png 2038w" sizes="(min-width: 720px) 720px"><figcaption>Filter all the things!</figcaption></figure><h3 id="improved-auto-detection-of-uploaded-file-formats">📠 Improved auto-detection of uploaded file formats <a class="markdownit-header-anchor" href="#improved-auto-detection-of-uploaded-file-formats">🔗</a></h3><p>Improved detection of file format and language, perfect for <a href="/po">PO/POT</a> and <a href="/xliff">XLIFF</a> files or multilingual formats. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/image-5.png" class="kg-image" alt loading="lazy" width="1824" height="1042" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/image-5.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/image-5.png 1600w, https://ghost.localazy.com/content/images/2024/07/image-5.png 1824w" sizes="(min-width: 720px) 720px"><figcaption>Parlez-vous francais?</figcaption></figure><h2 id="figma-support-for-nested-keys">🖼️ Figma: Support for nested keys <a class="markdownit-header-anchor" href="#figma-support-for-nested-keys">🔗</a></h2><p>When using <a href="https://localazy.com/features/figma-localization-plugin">Localazy's Figma Plugin</a>, you now have an additional option in the settings that allows you to create nested keys in Localazy by putting a dot into the text node name. Remember that you must have the option "<a href="https://localazy.com/docs/figma/settings-tab#use-node-name-as-source-key">Use node name as source key</a>" active too.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/image-11.png" class="kg-image" alt loading="lazy" width="2000" height="732" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/image-11.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/image-11.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/image-11.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Left to right: plugin settings, text nodes &amp; Jayson result. Nice to meet you!</figcaption></figure><p>This improvement should help you exchange keys more seamlessly between design and development with Localazy.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">📚</div><div class="kg-callout-text">Learn more about the <a href="https://localazy.com/tags/figma">Figma plugin by Localazy</a>.</div></div><h2 id="localazy-cdn-client">🌐 Localazy CDN Client <a class="markdownit-header-anchor" href="#localazy-cdn-client">🔗</a></h2><p>The <strong>Localazy CDN Client</strong> is a Node.js library that offers functionalities to fetch translation strings from JSON files published on the <a href="https://localazy.com/docs/cdn/cdn-introduction" rel="noopener noreferrer nofollow">Localazy CDN</a>.</p><p>Content can be fetched from JSON files as objects or plain text for other file types.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/image-9.png" class="kg-image" alt loading="lazy" width="994" height="710" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/image-9.png 600w, https://ghost.localazy.com/content/images/2024/07/image-9.png 994w" sizes="(min-width: 720px) 720px"></figure><p>When translators add translations to your project, they are automatically published to the <a href="https://localazy.com/docs/cdn/cdn-introduction" rel="noopener noreferrer nofollow">Localazy<strong><u> </u></strong>CDN</a>. Every published project has its own <a href="https://developer.localazy.com/cdn-client/get-started/metafile.html" rel="noopener noreferrer nofollow">metafile</a> that contains information about the project files and their translated versions.</p><p>Under the hood, the CDN Client fetches the metafile and uses it to get the URLs of the files and their translations. You simply select the files and languages you want to fetch, and the CDN Client does the rest.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">📚</div><div class="kg-callout-text">Learn more about the <a href="https://developer.localazy.com/cdn-client/" rel="noopener noreferrer nofollow">Localazy CDN Client</a>.</div></div><h2 id="duplicity-linking-gets-a-new-magic-button">🔗 Duplicity Linking gets a new magic button <a class="markdownit-header-anchor" href="#duplicity-linking-gets-a-new-magic-button">🔗</a></h2><p>The <a href="https://localazy.com/features/duplicity-linking">Duplicity Linking</a> feature, which helps you control duplicate strings, has a new magic button that automatically resolves all duplicate content for you. It prefers to always link strings in the same project and file, if possible. </p><p>Go ahead and try it! You can always manually control which strings should be linked and which should not. Soon, you will also be able to resolve duplicates automatically as part of <a href="https://localazy.com/docs/general/automated-workflows">Automated Workflows</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/image-12.png" class="kg-image" alt loading="lazy" width="1056" height="268" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/image-12.png 1000w, https://ghost.localazy.com/content/images/2024/07/image-12.png 1056w" sizes="(min-width: 720px) 720px"></figure><h2 id="in-development-zendesk-integration">🎮 In development: Zendesk Integration <a class="markdownit-header-anchor" href="#in-development-zendesk-integration">🔗</a></h2><p>We are developing a Zendesk integration to help you translate your help centers and knowledge bases maintained with Zendesk. Similar to our <a href="https://localazy.com/docs/intercom/intercom-installation">Intercom localization</a> solution, the Zendesk plugin will enable you to transfer the data between Zendesk and Localazy in a few clicks and automate it later.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/image-10.png" class="kg-image" alt loading="lazy" width="1066" height="889" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/image-10.png 1000w, https://ghost.localazy.com/content/images/2024/07/image-10.png 1066w" sizes="(min-width: 720px) 720px"><figcaption>We are knocking on Zendesk's door!</figcaption></figure><p>You have the chance to try out the integration before its release and localize your articles with Localazy now.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">🚀</div><div class="kg-callout-text">Apply here 👉 <strong><a href="https://e2lskwdhfja.typeform.com/to/dzizz724">Request Access to the Zendesk Plugin</a></strong></div></div><h2 id="fixes-and-improvements">🗂️ Fixes & Improvements <a class="markdownit-header-anchor" href="#fixes-and-improvements">🔗</a></h2><p>As always, there were also numerous fixes and improvements to make your life with Localazy easier. Check them all out:</p><ul><li>HTML entities in source files are escaped and rendered correctly in the translation interface</li><li>Upload dialog for PO and XLIFF files now contains language selector</li><li>While uploading files, the checkbox "mark missing keys as deprecated" is present only when existing keys are updated</li><li>Fixed memory leak during translation sessions</li><li>Better notifications after uploading files</li><li>Fixed format conversions on the web</li><li>Fixed plurals breaking with source language change in the translation interface</li><li>Improved quality checks behavior</li><li>Fixed regex symbols breaking translation interface when used in Glossary terms</li><li>Fixed generic error appearing after file upload</li><li>Added side-scroll for data tables with pinned left and rightmost columns</li><li>User avatar is now the default image for personal organization</li><li>Improved long-running operations (pre-translate, batch approve) progress accuracy</li></ul><h2 id="join-the-conversation">💬 Join the conversation! <a class="markdownit-header-anchor" href="#join-the-conversation">🔗</a></h2><p>Follow our LinkedIn page to stay updated on new Localazy features, usage tips, success stories, and behind-the-scenes information. See you there! 💙</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">💼</div><div class="kg-callout-text"><strong>Follow Localazy on </strong><a href="https://www.linkedin.com/company/localazy/" rel="noopener noreferrer nofollow"><strong>LinkedIn</strong></a><strong>.</strong></div></div><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Please share your thoughts on the latest developments in the comments section. We value your feedback and appreciate active users who contribute with tips and suggestions to help shape the platform's improvements. Don't hesitate to reach out to us.</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/07/Release-update-july-2024.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to use ChatGPT to your advantage in translation (with examples)]]></title>
            <link>https://localazy.com/blog/how-to-use-chatgpt-to-your-advantage-in-translation-with-examples-gpt-series-1</link>
            <guid isPermaLink="false">how-to-use-chatgpt-to-your-advantage-in-translation-with-examples-gpt-series-1</guid>
            <pubDate>Thu, 04 Dec 2025 17:27:41 GMT</pubDate>
            <description><![CDATA[Using AI in your translation workflows can save you time and expedite processes. But ChatGPT alone won't solve all your localization needs. Here's where it fails — and how to use it in your favor.]]></description>
            <content:encoded><![CDATA[<p>To use ChatGPT or not to use ChatGPT?</p><p>💡 That's the question of many business owners, translators, and product managers. </p><p><strong>Is AI good enough to translate content, or is the irreplaceable human touch still necessary to truly connect with audiences?</strong> What's the best strategy?</p><p>ChatGPT translation has become a hot topic, sparking lively debates across the industry. AI translation tools built on ChatGPT or other advanced large language models are entering the scene with grandeur and splendor, <a href="https://localazy.com/blog/mythbusters-we-use-google-translate-and-gpt-to-manage-our-localization">promising quick and reliable results</a>. At the same time, many industry stakeholders advise against AI, especially for translating sensitive or highly specialized content.</p><p>So, what's the most effective approach to using <strong>AI in localization</strong> and translation? Is there a 'golden middle'?</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/pexels-tara-winstead-8386426-1.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/pexels-tara-winstead-8386426-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/pexels-tara-winstead-8386426-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/pexels-tara-winstead-8386426-1.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/pexels-tara-winstead-8386426-1.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="faster-doesnt-always-mean-better">🏎️ Faster doesn't always mean better <a class="markdownit-header-anchor" href="#faster-doesnt-always-mean-better">🔗</a></h2><p>When machine translation <a href="https://www.freecodecamp.org/news/a-history-of-machine-translation-from-the-cold-war-to-deep-learning-f1d335ce8b5/">first came into the scene in the 1950s</a>, it was clear that machines alone couldn't grasp the context. The output was very literal and error-prone. As technology evolved, <a href="https://machinetranslate.org/statistical-machine-translation">statistical machine translation</a> brought some improvements. But it wasn't until the 2010s when <a href="https://machinetranslate.org/neural-machine-translation">neural machine translation arrived</a> and brought revolutionary change. Now, with deep learning models, the generated output was more accurate, provided grammatically correct sentences, and – in some cases – could even compete with human translators. 😵 Many users prematurely announced the end of the human translation era. While many companies integrated machine translation or <a href="https://localazy.com/dictionary/human-assisted-mt">a combination of machine and human-assisted translation</a><strong> </strong>into their processes, <strong>the expert human translation industry was still alive and kicking</strong>.</p><p>Until AI technology arrived.</p><p>With the introduction of ChatGPT and similar tools, translation speed has reached unprecedented levels. However, speed, low costs, and alleged translation accuracy are sometimes not the only factors that matter.</p><p>In our previous article, we touched on the <u><a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation" rel="noopener noreferrer nofollow">pros and cons of AI translation</a></u>, explaining where ChatGPT can come in handy and where it's better to rely on human expertise. <strong>ChatGPT can be a valuable assistant in translation and localization, but it comes with some significant limitations</strong>.</p><p>Below, you'll find out how to use ChatGPT translation to your advantage, regardless of its limitations.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/pexels-airamdphoto-15940001.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/pexels-airamdphoto-15940001.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/pexels-airamdphoto-15940001.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/pexels-airamdphoto-15940001.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/pexels-airamdphoto-15940001.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="can-chatgpt-really-translate">🤔 Can ChatGPT really translate? <a class="markdownit-header-anchor" href="#can-chatgpt-really-translate">🔗</a></h2><p>ChatGPT promises wonders. 🧙‍♂️ From writing programming code, brainstorming ideas, and solving complicated math equations to planning social media campaigns. And yes, it can also translate. But is this translation always reliable?</p><p>ChatGPT, like other large language models, was designed not only to translate text from one language to another but to do so based on the provided context. And that's the central aspect differentiating AI translation from traditional machine translation tools. But let's start from the basics: <strong>What's the mechanism behind ChatGPT that makes it suitable for translation?</strong></p><blockquote>Like any other LLMs, ChatGPT was designed not only to translate text from one language to another, but to do so based on the provided context – that's what sets it apart from traditional MT tools</blockquote><h3 id="gpts-self-attention-mechanism">GPT's self-attention mechanism <a class="markdownit-header-anchor" href="#gpts-self-attention-mechanism">🔗</a></h3><p>ChatGPT is based on a deep neural network. 🧠 The model uses transformer architecture, which has become a standard for modern natural language processing tasks, including translation. This transformer model (<a href="https://medium.com/@dahami/understanding-how-chatgpt-uses-the-decoder-only-transformer-architecture-c247c872754a">in this case, Decoder-Only Transformer</a>) uses <strong>a so-called self-attention mechanism, which allows to weigh the importance of each word in a sentence regardless of its position</strong>. This is crucial for translation because it helps the model understand the context and the relationships between words more effectively than traditional models that process text sequentially. </p><p><strong>As a result, translations are more likely to be contextually relevant</strong>. For example, if you compare translations of the same sentence, e.g., in Google Translate and ChatGPT, you will notice that <a href="https://www.androidauthority.com/chatgpt-vs-google-translate-3445053/">the output from Google tends to be more literal</a>. Google Translate, which is a neural machine translation model supporting over 100 languages, might struggle with nuanced or context-heavy texts but often excels at straightforward content.</p><h3 id="an-extensive-dataset">An extensive dataset <a class="markdownit-header-anchor" href="#an-extensive-dataset">🔗</a></h3><p>Another important ingredient in the ChatGPT's mechanism is <strong>its massive dataset</strong>. Since ChatGPT was trained on diverse and extensive datasets collected from various sources across the internet, such as dialogues, technical documents, and literature in multiple languages, it can deliver translations that capture the subtleties of different cultural contexts and linguistic norms.</p><p>What's more, with appropriate prompts, you can further refine your results. By providing relevant context, instructions, or reference material (<a href="https://localazy.com/dictionary/glossary">such as glossaries</a>), you can help the tool generate even more accurate results. Add to this quick processing time, cost-efficiency, and scalability, and you could claim ChatGPT is the magic solution for all your translation needs.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/pexels-theshantanukr-16474955-1.jpg" class="kg-image" alt loading="lazy" width="2000" height="1502" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/pexels-theshantanukr-16474955-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/pexels-theshantanukr-16474955-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/pexels-theshantanukr-16474955-1.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/pexels-theshantanukr-16474955-1.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="not-all-that-glitters-is-gold">Not all that glitters is gold <a class="markdownit-header-anchor" href="#not-all-that-glitters-is-gold">🔗</a></h3><p>Despite these sophisticated mechanisms, ChatGPT's translations can sometimes be far from perfect. <strong>The model's performance is highly dependent on the quality and variety of its training data</strong>. If certain languages or dialects <a href="https://www.weforum.org/agenda/2024/05/generative-ai-languages-llm/">are underrepresented in the training phase</a>, the translations in those languages may be less accurate or nuanced.</p><p>Additionally, the model<strong> may reproduce biases present in the training data</strong>, which can impact the neutrality and fairness of its translations. It may also struggle with highly specialized texts that require expert knowledge or specific terminology. Sometimes, it hallucinates, too – adding information to the translation that was not present in the source text.</p><h2 id="the-sky-is-not-the-limit">😶‍🌫️ The sky is not the limit <a class="markdownit-header-anchor" href="#the-sky-is-not-the-limit">🔗</a></h2><p><strong>ChatGPT is not always right</strong>. Cultural biases, data privacy concerns, underrepresented languages, stereotypes embedded in training data, hallucinations – all this strips away the magic. You can't entirely depend on this tool for all your translation needs across every type of text, language combination, format, or style. Without the judgment of professional linguists, you might end up with abusive, inaccurate, inconsistent, <strong>and, at best, merely passable texts</strong>.</p><p>Let's have a look at some examples of content where ChatGPT's shortcomings are painfully clear:</p><h3 id="1-gender-biases">1. Gender biases <a class="markdownit-header-anchor" href="#1-gender-biases">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><em>"The programmer and the secretary planned the meeting."</em></div></div><p>What can go wrong with this simple sentence?</p><p>Apparently, a lot. Especially if you ask ChatGPT to translate it.</p><p>In this sentence, the professions' programmer' and 'secretary' are gender-neutral in English. However, when translated into Polish, these two words defaulted to 'programista' (male programmer) and 'sekretarka' (female secretary), <a href="https://localazy.com/blog/5-ways-to-use-inclusive-language-in-it-and-software-localization">based on common stereotypes</a>.</p><p>Of course, it's difficult to assign the correct gender if you don't have a broader context. Human translators could fail here as well. However, human translators typically ask their clients for more context or possibly – have access to more comprehensive content (such as the video that includes the text, full transcript, etc.) to find out who is who without assuming harmful stereotypes.</p><blockquote><strong>🔎 Related:</strong> <a href="How to Use OCR to Achieve High-quality Translations?">How to use OCR to achieve high-quality translations</a></blockquote><p>Naturally, if you provide more context or precise instructions to ChatGPT, such as 'translate all professions as masculine nouns' or 'assign a masculine noun to 'secretary' and a feminine noun to 'programmer,' the tool will translate the terms correctly.</p><p>Nevertheless, the damage has already been done. The bias is clearly visible.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/Imagen-1.png" class="kg-image" alt loading="lazy" width="1085" height="350" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/Imagen-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/Imagen-1.png 1000w, https://ghost.localazy.com/content/images/2024/07/Imagen-1.png 1085w"><figcaption>Gender biases in ChatGPT.</figcaption></figure><h3 id="2-culturally-sensitive-translations">2. Culturally sensitive translations <a class="markdownit-header-anchor" href="#2-culturally-sensitive-translations">🔗</a></h3><p>Culture can't be expressed in words only. Translating texts with local symbols, traditions, or references might be mission impossible. That is, if you rely on machine intelligence only. 🤖</p><p>Let's take the following sentence as an example: </p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><em>"For the past two years, I've been a part of a traveling quilt bee."</em></div></div><p>'<a href="https://trc-leiden.nl/trc-needles/organisations-and-movements/clubs-and-societies/quilting-bee">Quilt bee</a>' refers to a gathering where people (traditionally women) come together to quilt collectively. 🪡 It has a cultural significance in rural America, symbolizing community, collaboration, and the sharing of stories through the art of quilting.</p><p><strong>This connotation, however, is lost</strong> when we request ChatGPT to translate the sentence into Dutch (or nearly any other language, for that matter), even if the prompt asks the tool to act as a "translator well-versed in the American culture."</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/Imagen-2.png" class="kg-image" alt loading="lazy" width="908" height="416" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/Imagen-2.png 600w, https://ghost.localazy.com/content/images/2024/07/Imagen-2.png 908w"><figcaption>Translating culture in ChatGPT.</figcaption></figure><p>The term 'quilt bee' was translated as 'quilt meeting' ('quiltbijeenkomst'), which doesn't capture the full cultural context. No direct equivalent of this term in Dutch would carry the same communal and historical connotations. <strong>However, a professional translator could show more creativity in such a case</strong>, modifying the sentence or expanding on the term's meaning. Using 'quiltbijeenkomst' alone is too generic and doesn't help the readers understand the cultural backdrop of the quilt bee.</p><p>When asked for revision and a more culturally aware translation, ChatGPT only swapped the word for another synonym. 'Quilt meeting' became 'quilt group,' which is slightly better if you want to highlight the communal aspect of the term. However, the cultural connotations were still unclear.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/Imagen-3.png" class="kg-image" alt loading="lazy" width="966" height="675" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/Imagen-3.png 600w, https://ghost.localazy.com/content/images/2024/07/Imagen-3.png 966w"><figcaption>Asking ChatGPT for a better solution doesn't always provide better results.</figcaption></figure><h3 id="3-maintaining-consistency-and-gender-neutrality">3. Maintaining consistency and gender-neutrality <a class="markdownit-header-anchor" href="#3-maintaining-consistency-and-gender-neutrality">🔗</a></h3><p>Consistency is another area that repeatedly shows the limitations of ChatGPT translation. As a localization consultant and localizer, I often deal with mobile app or website strings. Usually, everything works smoothly: I juggle with words, preserving gender neutrality in every single string and searching for alternative solutions when necessary. <strong>Until someone decides to <a href="https://localazy.com/features/pre-translate">pre-translate the project with AI</a></strong>. Simple phrases such as "You won" or "Forgot password?" are suddenly the source of dismay. My meticulously crafted process gets turned upside down, and I can't resist the impression that translating the text from scratch would have taken less time than editing this AI-generated mumbo jumbo.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-text"><em>"You won!" / "Forgot password?"</em></div></div><p>What goes wrong with these strings?</p><p>Everything you can only imagine. 😩 There are mixed-up genders, inconsistencies, and a lack of creativity, to name just a few.</p><p>You see, Polish is a highly inflected language, plus the verbs used in the past have different forms for each gender. ChatGPT doesn't grasp it (yet). It fails to translate such strings consistently in a gender-neutral way, even if you provide it with a template. Sometimes, it follows the instructions, generating correct strings. But then, out of the blue, it suffers from a severe blackout and forgets the whole gender-neutrality hodgepodge, defaulting to the literal translation with the verb in a masculine form. <strong>Creativity and alternative solutions are not ChatGPT's strong points</strong>. At least, not in the case of Polish verbs.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/Imagen-4.png" class="kg-image" alt loading="lazy" width="906" height="739" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/Imagen-4.png 600w, https://ghost.localazy.com/content/images/2024/07/Imagen-4.png 906w"><figcaption>ChatGPT and gender neutrality – it's a gamble!</figcaption></figure><p>In the example above,<strong> the tool sometimes gets it correctly, but sometimes fails</strong>. The highlighted string shows where it defaulted to literal translation and forgot to use the gender-neutral structure. In other strings, it followed my instructions correctly.</p><h2 id="the-quest-for-the-missing-ingredient">🍳 The quest for the missing ingredient <a class="markdownit-header-anchor" href="#the-quest-for-the-missing-ingredient">🔗</a></h2><p>Once you know where ChatGPT translation may fail, you can build an effective strategy. To make sure you can use the tool to your advantage, remember these three essential ingredients:</p><h3 id="1-fine-tuning">1. Fine-tuning <a class="markdownit-header-anchor" href="#1-fine-tuning">🔗</a></h3><p><strong>Don't use the tool out of the box</strong>. If you want decent results, you'll need to spend some time adapting the model to your needs. For example:</p><ul><li>💬 You can feed ChatGPT with sample texts representative of your typical projects.</li><li>📚 You can provide it with reference materials, such as glossaries or translation memories. </li><li>📝 You can include industry-specific documents, branded content, or culturally nuanced texts already translated and approved by a professional. </li></ul><p>This fine-tuning process will help the model get a better idea of your desired style, terminology, and tone. Once you customize the tool, it will be able to generate translations that are better aligned with your needs.</p><h3 id="2-precise-prompting">2. Precise prompting <a class="markdownit-header-anchor" href="#2-precise-prompting">🔗</a></h3><p><strong>When prompting ChatGPT, provide as much context as possible</strong>. This can include the target audience, the purpose of the translation, more information about the source text, and any cultural nuances that need to be maintained. You can also provide templates, as in Example 3 above, to guide the AI in producing more accurate translations. </p><p><strong>Remember to test and refine your prompt</strong>. Notice how in Example 3 I didn't simply bombard the tool with all the strings that needed translation. First, I explained the context and included a template. Then, I provided the tool with only one string to check if my instructions were clear enough. Only then did I move ahead with the remaining strings.</p><blockquote>Examples of context you can provide in your prompt are your target audience, the purpose of the translation, information about the source text, and any cultural nuances that need to be maintained</blockquote><p>You can also use a series of prompts to refine the results progressively. Start with a broad prompt, review the output, and then prompt again to address specific areas that need improvement. This iterative process will help you achieve the exact results you're looking for.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/pexels-sanketgraphy-16629368.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/pexels-sanketgraphy-16629368.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/pexels-sanketgraphy-16629368.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/pexels-sanketgraphy-16629368.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/pexels-sanketgraphy-16629368.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-human-expertise">3. Human expertise <a class="markdownit-header-anchor" href="#3-human-expertise">🔗</a></h3><p>All the fine-tuning and precise prompting won't be enough if you forget about the key ingredient: human expertise. You can use ChatGPT translation as your initial draft, but <strong><a href="https://localazy.com/blog/guide-localazy-translation-services">don't forget to engage a professional linguist</a> who will review the translation</strong>. This way, you can ensure that cultural nuances, idiomatic expressions, and technical accuracy are correctly conveyed and the text is translated consistently. This step is especially crucial in high-risk texts, domain-specific content, or less common languages and dialects with insufficient training data.</p><blockquote><strong>📌 Related:</strong> <a href="https://localazy.com/blog/why-and-how-to-provide-local-expertise-to-foreign-clients">Why and how to provide local expertise to foreign clients?</a></blockquote><h2 id="how-to-combine-ai-output-with-human-expertise">🤖 How to combine AI output with human expertise? <a class="markdownit-header-anchor" href="#how-to-combine-ai-output-with-human-expertise">🔗</a></h2><p>There are many methods to marry AI with human translation. One way is to use translation tools that implement ChatGPT's API. In such a scenario, you can pre-translate the text with AI directly in your translation management system and then invite linguists to edit the content.</p><p>Before fully integrating ChatGPT into your workflow, <strong>start with small pilot projects to test whether this solution fits your needs</strong>. This will allow you to tweak the output and improve the model's accuracy before implementing it on a full scale.</p><blockquote>Not sure if you should integrate ChatGPT into your workflow? Start with small pilot projects to test if it fits your needs, and always provide sufficient training on prompting and post-editing to your team</blockquote><p>Remember also to <strong><a href="https://localazy.com/blog/7-ways-to-make-your-company-more-localization-friendly">provide sufficient training</a></strong>. Your team members might not be aware of the strengths and weaknesses of ChatGPT translation. Some might be hesitant about using AI technology, and others may have technical questions about how to post-edit the content and approve the segments. Guide your translators and reviewers through this process to empower them to make the best use of AI. 💪</p><p><strong>Incorporating a feedback system into your AI-supported translation process</strong> is also helpful. With such a system – e.g., in the form of a short comment, numerical grade, or thumb-up/down symbol – translators could assess the AI output, flagging errors and providing corrections. This approach will help you improve the model's learning over time and make it more proficient at handling similar translations in the future.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/pexels-bertellifotografia-16094042.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/pexels-bertellifotografia-16094042.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/pexels-bertellifotografia-16094042.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/pexels-bertellifotografia-16094042.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/pexels-bertellifotografia-16094042.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-beauty-lies-in-the-balance">⚖️ The beauty lies in the balance <a class="markdownit-header-anchor" href="#the-beauty-lies-in-the-balance">🔗</a></h2><p>Large language models, such as ChatGPT, might be fantastic for processing lengthy texts at lightning speed, which is a real lifesaver when you're up against tight deadlines or massive projects. ⚡️ But sometimes, AI fails. It struggles with cultural nuances, gender neutrality, or highly technical texts.</p><p>That's where human expertise comes in. By combining the best of both worlds—AI's speed and scalability with human sensitivity and understanding— you can ensure that every translation is not only precise but also culturally and contextually relevant. It's about finding the balance: <strong>letting AI do the heavy lifting while linguists add finesse and domain-specific expertise</strong>.</p><p>If you're looking for a solution that offers this combination, look no further. <strong>Localazy now supports an OpenAI integration with various GPT versions as machine translation engines</strong>.<strong> </strong>With the <a href="https://localazy.com/tiers/autopilot">Autopilot</a> plan, <a href="https://localazy.com/docs/general/localazy-autopilot-tier#localazy-ai">you can provide Localazy with your OpenAI token</a> to unlock AI capabilities. Then, you can add specific context and bring a professional linguist into the mix. <a href="https://localazy.com/blog/automated-workflows-series-deep-dive-into-filters">Applying AI filters</a> to run automated analysis is also possible. With this powerful combination, you'll be well-equipped to meet your translation needs, whether you're a lean startup or a large enterprise.</p>]]></content:encoded>
            <author>Dorota Pawlak</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/07/localazy---AI-series.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[6 challenges of localizing your app to Arabic and how to solve them]]></title>
            <link>https://localazy.com/blog/6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them</link>
            <guid isPermaLink="false">6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them</guid>
            <pubDate>Sat, 16 Aug 2025 12:26:22 GMT</pubDate>
            <description><![CDATA[Making app content accessible to over 300M Internet users in Arabic-speaking countries is paramount if you want genuine connections. Find out how to adapt it and thrive with these tips.]]></description>
            <content:encoded><![CDATA[<p>Arabic is one of the most popular languages spoken in the universe: <a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand?utm_term&amp;utm_campaign=WARM_RMK_SEARCH_DSA&amp;utm_source=adwords&amp;utm_medium=ppc&amp;hsa_acc=1175743605&amp;hsa_cam=10982188717&amp;hsa_grp=107865073437&amp;hsa_ad=539308755823&amp;hsa_src=g&amp;hsa_tgt=dsa-436256354547&amp;hsa_kw&amp;hsa_mt&amp;hsa_net=adwords&amp;hsa_ver=3&amp;gad_source=1&amp;gbraid=0AAAAACP68mWqbZ57p6MC0Ea2nYGnWnJ_e&amp;gclid=CjwKCAjw4ri0BhAvEiwA8oo6F8DrOnLcykqOrjgTk3Ox0BO5_jCpFsCv_MFXyuRwAm0Mg4TMbErcTRoCe2kQAvD_BwE">more than 420 million people</a> use it worldwide. There<strong> are more than 300 million internet users in Arabic-speaking countries</strong>, and this upward trajectory isn't declining anytime soon. A<a href="https://www.statista.com/statistics/1190158/mena-mobile-internet-users-forecast/"> forecast</a> conducted by Statista predicted significant growth in the number of mobile internet users in the Middle East and North Africa (MENA) region by 2025, when <strong>mobile internet penetration will reach around 53% of the MENA population.</strong></p><p>Making accessible digital content for this number of people is more complicated than it seems. This is entirely because of the specification of <a href="https://hub.localazy.com/en/languages/ar">Arabic as a language</a> and its speakers as a broad community with a rich conservative culture and traditions. This leads to the importance of a localization strategy that both respects the nuances of the language and the culture of its speakers. </p><p>In this article, you will learn about six challenges that hinder your application from being made available in Arabic and how to overcome them.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/unnamed-4.png" class="kg-image" alt loading="lazy" width="799" height="526" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/unnamed-4.png 600w, https://ghost.localazy.com/content/images/2024/06/unnamed-4.png 799w" sizes="(min-width: 720px) 720px"></figure><h2 id="choosing-the-right-language">👀 Choosing the right language <a class="markdownit-header-anchor" href="#choosing-the-right-language">🔗</a></h2><p>Two languages are used in the Arabic-speaking world: <a href="https://en.wikipedia.org/wiki/Modern_Standard_Arabic">Modern Standard Arabic (MSA)</a> and <a href="https://en.wikipedia.org/wiki/Varieties_of_Arabic">local dialects</a>. Most businesses feel a bit confused when it comes to picking the right one. </p><p><strong>Modern Standard Arabic</strong> is widely used in formal settings like education, literature, law, news, and official documents. It's a variety understood all over the Arabic-speaking world. <strong>Local dialects</strong>, on the other hand, are used in less formal settings like everyday communication and social media. 🗣️🤳 Local dialects<strong> </strong><a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand#arabic-forms-and-dialects">are different from one another</a>, as each country in the Arabic-speaking world speaks a different regional variety. Some countries even have more than one dialect! People from the same country can have difficulty understanding one another because of these various dialects.</p><p><strong>But this does not mean that apps should be only available in MSA or local dialects, as it's not a one-way path</strong>. Some apps designed to target a specific country use the local dialect since there is no need to resort to Modern Standard Arabic. Brands that want to be closer to their customers also prefer this option. 🛍️ A good example is the Egyptian shopping app <a href="https://kenzz.com">Kenzz</a>, which only uses Egyptian Arabic across its interface.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/Eshop_Phones.png" class="kg-image" alt loading="lazy" width="1846" height="1257" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/Eshop_Phones.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/06/Eshop_Phones.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/06/Eshop_Phones.png 1600w, https://ghost.localazy.com/content/images/2024/06/Eshop_Phones.png 1846w" sizes="(min-width: 720px) 720px"></figure><p>Global, international, and regional brands, on the other hand, prefer MSA as it gives them more expansion and widens their customer base all over the Arabic-speaking world. An example of this is Amazon: the popular app uses MSA in all of the countries in which it's available.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/Phone.png" class="kg-image" alt loading="lazy" width="1846" height="1257" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/Phone.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/06/Phone.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/06/Phone.png 1600w, https://ghost.localazy.com/content/images/2024/06/Phone.png 1846w" sizes="(min-width: 720px) 720px"></figure><blockquote>🎙️ Listen to <a href="https://localazy.com/blog/bridging-the-gap-podcast-s02-ep05-building-for-rtl-languages">our podcast episode with Kareem Ennassag, Technical Director at the LangOps Institute</a> for practical ways to localize for RTL language users.</blockquote><h2 id="redesigning-the-ui-and-layout">📐 Redesigning the UI & Layout <a class="markdownit-header-anchor" href="#redesigning-the-ui-and-layout">🔗</a></h2><p>One of the biggest challenges in Arabic localization is app layout. This is mainly because Arabic is read from <a href="https://localazy.com/dictionary/rtl">right to left (RTL)</a>, unlike many other popular languages that read from <a href="https://localazy.com/dictionary/ltr">left to right (LTR)</a>. This makes the localization process more challenging, as it requires extra effort and attention to every detail.</p><blockquote>Text directionality is usually a challenge for app layout in Arabic. This usually means redesigning the whole UX and making designs more flexible</blockquote><p><strong>Arabic apps require a complete redesign of the user experience (UX)</strong> <strong>for right-to-left (RTL) reading</strong>. Don't underestimate the importance of this — even seemingly minor details can cause major problems. 👀 A crucial example is flipping the "&gt;" and "&lt;" symbols for comparisons. Getting this wrong can be incredibly expensive to fix later. Remember that RTL users instinctively look to the right side of the screen first, so everything from menus to buttons needs to be mirrored accordingly. Having a more flexible layout can also be beneficial.</p><p>Directionality isn't, however, the only problem you may face during the localization process. Character count is another important factor, as <strong>Arabic usually takes up to 25% more space than English</strong>. In many cases, it's almost impossible to abide by the character limit, so layouts must be smaller to absorb all Arabic characters.</p><blockquote>👉 Are you struggling to adapt your localized designs to Arabic? <a href="https://localazy.com/features/figma-localization-plugin">Check out our Figma integration</a> for a seamless solution loved by designers!</blockquote><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/multilingual-figma-prototyping-localazy-localization-plugin-done-quickly"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Multilingual Figma prototyping with Localazy done quickly</div><div class="kg-bookmark-description">Figma has become one of the most widely used design tools out there. And for a good reason. It is a powerful instrument that solves collaboration issues unprecedently well.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Daniel Charvát</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2022/12/Figma-Prototyping.png" alt=""></div></a></figure><p>This is crucial when introducing a new service or product to the Arabic-speaking world. Customers in the Arab world, like any other customers in the entire universe, love to experience new stuff quickly and want a seamless, hassle-free experience. If your layout is not designed or aligned from right to left, this will impact their experience. Needless to say, <strong>you need a programmer or a localizer who is a native Arabic speaker</strong> to help you with that and to make sure the layout is ready to go. </p><p>The Nigerian brand <a href="https://www.jumia.ma/ar/">Jumia</a> does it well by considering the RTL specifications in their layout, even when Arabic and LTR languages such as French or English get in the mix:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/Phones.png" class="kg-image" alt loading="lazy" width="1846" height="1257" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/Phones.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/06/Phones.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/06/Phones.png 1600w, https://ghost.localazy.com/content/images/2024/06/Phones.png 1846w" sizes="(min-width: 720px) 720px"></figure><blockquote><strong>🌍 Related: </strong><a href="https://localazy.com/blog/how-localization-of-tech-solutions-would-broaden-africas-tech-ecosystem">How localization of tech solutions would broaden Africa's tech ecosystem</a></blockquote><h2 id="correctly-displaying-arabic-script">📲 Correctly displaying Arabic script <a class="markdownit-header-anchor" href="#correctly-displaying-arabic-script">🔗</a></h2><p>Apart from the RTL flow, Arabic stands out through <strong>shape-shifting characters</strong>. This means that an Arabic character's appearance can change depending on its position within a word (beginning, middle, or end). Let's take a simple example that you'll probably face during Arabic localization: writing the word اللغة العربية (Arabic).</p><h3 id="the-challenge-unsupported-applications">The challenge: unsupported applications <a class="markdownit-header-anchor" href="#the-challenge-unsupported-applications">🔗</a></h3><p>Trying to display <a href="https://hub.localazy.com/en/scripts/arab-arabic">Arabic script</a> in an application or library that doesn't understand these features leads to a distorted outcome. Imagine Arabic text appearing from left to right, with all characters looking identical, regardless of position.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdAEpphBxdBU18xb1-3k0RUkf2KcWAt7vi4GSSgkSlvw0x0kxysCJ3eDzpQV48P7MDqnCl-_mc-TGDsvV9ioojmMTHd89HQx4etfAbApFA0ij1z0I5j8paYWZEh4lk08p-3PIdG6uU81SVvrd3zq1RMmaeV?key=i571lL43Z7zirgHkWW5pFQ" class="kg-image" alt loading="lazy"></figure><p><br></p><p>When this happens, two issues arise:</p><ul><li><strong>❎ Isolated characters:</strong> Each character appears in its "standalone" form, ignoring surrounding characters.</li><li><strong>➡️ Incorrect direction:</strong> The text is displayed from left to right, which is incorrect for Arabic.</li></ul><h3 id="fixing-direction-with-pythons-bidi-library">Fixing direction with Python's bidi library <a class="markdownit-header-anchor" href="#fixing-direction-with-pythons-bidi-library">🔗</a></h3><p>The first issue can be addressed using the <strong><a href="https://unicode.org/reports/tr9/">Unicode Bidirectional Algorithm</a></strong>. <a href="https://pypi.org/search/?q=python-bidi+arabic&amp;o=">Python's python-bidi library</a> provides a pure <a href="https://hub.localazy.com/en/programming-languages/python">Python</a> implementation of this algorithm. <strong>Using python-bidi, the text direction is corrected</strong>, resulting in right-to-left flow, but the characters still appear in their isolated forms.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXcOpDP5PvClcyC9TwXP35vCY7RQ_wNm6s0MfBG5ecVKX-vUIyEw5ZcKJVijtKniz-Zy9G3eSHY5DUHbv2f4jZWSsPN7SpRfKwoU7rKF_pFdBuPVFrsZLtXVNx0x-tuAoy1zkW_kRw63clg4bqUju_8iobdT?key=i571lL43Z7zirgHkWW5pFQ" class="kg-image" alt loading="lazy"></figure><h3 id="reshaping-characters-for-accuracy">Reshaping characters for accuracy <a class="markdownit-header-anchor" href="#reshaping-characters-for-accuracy">🔗</a></h3><p>The final step involves reshaping the characters based on their position within the word. <strong>Libraries like python-bidi can also assist with this process</strong>, ensuring the characters display their correct forms, leading to a visually accurate representation of the Arabic text.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/Text.png" class="kg-image" alt loading="lazy" width="1280" height="318" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/Text.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/06/Text.png 1000w, https://ghost.localazy.com/content/images/2024/06/Text.png 1280w" sizes="(min-width: 720px) 720px"></figure><h2 id="lessbrgreater-adapting-to-bidirectional-guidelines"><br>📖 Adapting to bidirectional guidelines <a class="markdownit-header-anchor" href="#lessbrgreater-adapting-to-bidirectional-guidelines">🔗</a></h2><p>Although Arabic is read and primarily written right to left, it cannot be considered purely an RTL language. In many instances, <strong>it is technically categorized as a bidirectional language,</strong> meaning it is written in both left-to-right (LTR) and right-to-left (RTL) directions. 🔍 This requires special attention during app development and includes formatting elements like text, images, and charts to ensure they display correctly for both reading directions. Improper handling of BiDi texts can lead to several problems.</p><p>Some exceptions are <strong>numbers and titles, especially those of foreign origin</strong>, like brand names, which typically stay in their original left-to-right format. For instance, the number "1000" remains "1000" and isn't flipped to "0001" in Arabic. <strong>Telephone numbers</strong> present another interesting case. They usually follow the international format with a plus sign (+), country code, area code, and then the phone number itself. These elements are always written from left to right, even within the context of an RTL language.</p><blockquote>Arabic is primarily written from right to left, but there are exceptions, like numbers, titles or telephone numbers, that make it bidirectional</blockquote><p><strong>Punctuation marks</strong>, like question marks and exclamation points, can also be tricky in mixed-directionality texts. Their placement depends on the surrounding characters. Imagine a sentence like "!I love that" appearing in an RTL paragraph – this is what can happen if punctuation isn't handled carefully. While manually fixing it might seem easy, mobile apps can be affected by this inconsistency.</p><p><strong>The solution lies in invisible formatting characters called control characters</strong>. These include the <a href="https://en.wikipedia.org/wiki/Left-to-right_mark">Left-to-right mark (LRM)</a> and the <a href="https://en.wikipedia.org/wiki/Right-to-left_mark">Right-to-left mark (RLM)</a>. They can be added using text editors or their Unicode values to ensure punctuation displays correctly regardless of the surrounding text direction.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/07/AdobeStock_609284906.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/AdobeStock_609284906.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/AdobeStock_609284906.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/07/AdobeStock_609284906.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/07/AdobeStock_609284906.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="working-around-cultural-sensitivities">🕋 Working around cultural sensitivities <a class="markdownit-header-anchor" href="#working-around-cultural-sensitivities">🔗</a></h2><p>Like any culture, Arabic audiences have sensitivities that can impact their reception of localized products. Apps are no different, and several cultural aspects must be considered during their localization to Arabic. <strong>Avoiding potentially offensive content</strong>,<strong> </strong>such as references to alcohol, religious symbols, specific religious texts (Quran, Bible), depictions of homosexuality, explicit sexuality, or nudity, is crucial. </p><p>This should also be considered in the images and designs displayed while browsing the app. 📲 <strong>Translators can skillfully adapt the content to maintain the core experience without offending</strong>. In essence, while important, cultural considerations can be effectively managed through thoughtful adaptation.</p><blockquote><strong>📚 Related</strong>: <a href="https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand">Arabic localization for beginners: Challenges &amp; opportunities for your global brand</a></blockquote><h2 id="making-images-and-media-fit">📸 Making images and media fit <a class="markdownit-header-anchor" href="#making-images-and-media-fit">🔗</a></h2><p>Localization for Arabic goes beyond simply translating text and mirroring the layout. Visual elements like images, charts, and graphics also need attention. What works in a LTR document might not translate smoothly to an RTL interface.</p><p>Visuals matter due to:</p><ul><li><strong>📏 Alignment</strong>: Images and charts might need adjustments to ensure they align with the RTL layout.</li><li><strong>⬅️ Sequential images</strong>: Visual sequences depicting a specific order (like steps in a process) might need to be flipped or recreated to flow correctly from right to left.</li><li><strong>😶 User confusion</strong>: Seemingly minor details —like an unflipped sequence— can confuse Arabic users accustomed to RTL reading habits.</li></ul><p>The key takeaway is to <strong>treat visuals with the same care as text during Arabic localization</strong>. This ensures a seamless and intuitive user experience for your Arabic audience. Here is an example that might look clear and doesn't need any modification:</p><figure class="kg-card kg-image-card kg-width-full"><img src="https://ghost.localazy.com/content/images/2024/06/WM.png" class="kg-image" alt loading="lazy" width="692" height="244" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/WM.png 600w, https://ghost.localazy.com/content/images/2024/06/WM.png 692w"></figure><p>Imagine a laundry detergent ad with a sequence of images: a dirty shirt, a washing machine, and a clean shirt. 🫧 This order makes perfect sense for readers of left-to-right languages. However, the order would be reversed for right-to-left readers like Arabic speakers – a clean shirt, a washing machine, and then a dirty shirt. <strong>This seemingly minor detail completely flips the message, potentially confusing RTL users.</strong></p><p>The same principle applies to charts. A chart with a Y-axis (vertical axis) pointing to the left instead of the right can cause misinterpretations. What might appear as a positive growth trend in an LTR layout could be perceived as a sharp decline in an RTL layout.</p><h2 id="conclusion">✔️Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Arabic is a unique language with different directionality, formatting rules, and traditions. <strong>Localizing your app into Arabic might seem like an impossible mission. Still, it's easier when you know how to treat the language specifications correctly</strong>,<strong> </strong>whether this means changing the layout, paying more attention to directionality, respecting the conservative culture, or adapting visual elements.</p><p>To make the process easier, you'll need local expertise in the form of <a href="https://localazy.com/features/continuous-localization-team">professional native linguists</a> and an efficient TMS <a href="https://localazy.com/term/design-localization">with multiple design integration options</a>. At Localazy, we provide you with both – take a look at <a href="https://localazy.com/blog/guide-localazy-translation-services">our starter guide</a>, and don't hesitate to ask for support throughout your Arabic localization journey.<br><br></p>]]></content:encoded>
            <author>Eman Abdo</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/07/ArabicLocal---Challenges-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[What is frictionless localization and how to help your team achieve it]]></title>
            <link>https://localazy.com/blog/what-is-frictionless-localization-and-how-to-help-your-team-achieve-it</link>
            <guid isPermaLink="false">what-is-frictionless-localization-and-how-to-help-your-team-achieve-it</guid>
            <pubDate>Sat, 16 Aug 2025 14:25:52 GMT</pubDate>
            <description><![CDATA[Successful localization is necessarily frictionless. As languages are added, all the pieces in the puzzle need to click to work properly. Avoid lags and obstacles with these tips for seamless l10n.]]></description>
            <content:encoded><![CDATA[<p>Localization teams have one of the hardest jobs out there: translating and localizing their content into multiple languages. That's no easy feat, and it takes time and effort. Besides the mental effort it takes to fully localize the content, they face another challenging obstacle: <a href="https://localazy.com/dictionary/friction">friction</a>. The friction that forms in the process can be harmful.</p><p>This leads us to <strong>a pivotal concept for successful localization processes: frictionless localization</strong>. Today, we will explore frictionless localization and some practices you and your team can adopt to achieve it and accomplish high-quality work.</p><h2 id="the-concept">🛝 The concept <a class="markdownit-header-anchor" href="#the-concept">🔗</a></h2><p>When we speak about frictionless localization, we're talking about <strong>the state where the localization process becomes natural </strong>and doesn't involve any lag or delay. We're talking about <a href="https://localazy.com/blog/art-of-frictionless-cooperation-for-digital-product-teams">the best possible workflow, with zero friction</a> between your localization experts and their relationship with the tools they use daily.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/AdobeStock_546128042.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/AdobeStock_546128042.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/06/AdobeStock_546128042.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/06/AdobeStock_546128042.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/06/AdobeStock_546128042.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>When teams reach frictionless localization, they can translate websites, applications, and interfaces faster, speeding up the launch process for versions in other languages. This makes it easier to serve multilingual markets and grow rapidly. With <a href="https://localazy.com/">tools like Localazy</a> and the right approach to localization, you can move ahead of the competition and connect with your audiences like never before.</p><blockquote>🎙️ Frictionless localization starts with the right team culture. We talk about this on <a href="https://localazy.com/blog/s01-ep-05-bridging-the-gap-podcast">our podcast episode</a> with Michal Kessel, localization consultant, and Kelly Murphy, Rollout Manager at Pentland Firth</blockquote><h2 id="how-to-reach-frictionless-localization">🤸‍♀️ How to reach frictionless localization? <a class="markdownit-header-anchor" href="#how-to-reach-frictionless-localization">🔗</a></h2><p>As your localization teams adapt to new tech stacks and your company enters international markets, they need to work with new languages, cultural nuances, and localization tools. In short, they have to learn and adapt, which involves some friction.</p><p>The best way for your teams to reach frictionless localization is <strong>by spending more time and resources to train them</strong> <strong>so they can get used to the new processes faster and pick new skills with minimal effort</strong>. However, this is just a part of the friction problem. There are also other issues that need to be fixed. Here are three big ones:</p><h3 id="you-need-to-solve-conflicts">You need to solve conflicts <a class="markdownit-header-anchor" href="#you-need-to-solve-conflicts">🔗</a></h3><p>Frictionless localization needs to be paid attention to when it comes to solving conflicts and having a culture of open communication. 💬 By nurturing collaboration and showing transparency, teams can reduce conflicts and get a smooth localization experience. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/AdobeStock_661211866.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/AdobeStock_661211866.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/06/AdobeStock_661211866.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/06/AdobeStock_661211866.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/06/AdobeStock_661211866.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p><strong>Make sure there is no tension among your teammates</strong>. Tension leads to restrained workflows and slow deliveries. This tension isn't limited to team collaboration; <strong>it can also appear between your team and the tools they are using</strong>. So, it's best always to check if they're having a smooth experience working with them.</p><h3 id="set-reliable-workflow-processes">Set reliable workflow processes <a class="markdownit-header-anchor" href="#set-reliable-workflow-processes">🔗</a></h3><p>When you set workflow processes, your team will naturally become more independent and efficient. Missing or loose localization processes lead to confusion, constant errors, and repetitive delays. To bring off a state of frictionless localization, it is essential to <strong>set clear and flexible processes that guide the entire localization workflow</strong>. </p><blockquote>🖇️ <strong>Related:</strong> <a href="https://localazy.com/blog/8-methodologies-for-efficient-and-productive-localization-teams#2-pdca-plan-do-check-act">8 methodologies for productive localization teams</a></blockquote><p><a href="https://localazy.com/blog/8-methodologies-for-efficient-and-productive-localization-teams#2-pdca-plan-do-check-act">The PDCA (Plan-Do-Check-Act) cycle</a> can help you refine these localization processes for faster deliveries and high-quality work. Also, one central practice to remember while doing this is to <strong>get every team member's input</strong> before deciding on a process; otherwise, you'll frustrate some.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/AdobeStock_362159838.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/AdobeStock_362159838.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/06/AdobeStock_362159838.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/06/AdobeStock_362159838.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/06/AdobeStock_362159838.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="get-into-flow-states-for-more-productivity">Get into flow states for more productivity <a class="markdownit-header-anchor" href="#get-into-flow-states-for-more-productivity">🔗</a></h3><p>Frictionless localization is made possible when teams get into <a href="https://localazy.com/blog/flow-states-the-ultimate-hack-for-productive-localization-workflows">a state of flow</a> - a psychological state where your teammates are fully immersed in their tasks and experience hyper-focus and increased productivity. 🏄</p><p>To cultivate flow, it is crucial to balance the complexity of localization challenges and the team's skills. <strong>Discover your team's skill levels and match them with tasks that are neither easy nor challenging</strong> to help them reach maximum productivity.</p><blockquote><strong>🌊 Related:</strong> <a href="https://localazy.com/blog/flow-states-the-ultimate-hack-for-productive-localization-workflows">Flow states: the ultimate hack for productive localization workflows</a></blockquote><h2 id="how-does-localazy-help-you-automate-localization">🔄  How does Localazy help you automate localization? <a class="markdownit-header-anchor" href="#how-does-localazy-help-you-automate-localization">🔗</a></h2><p>Combining automation with this groundwork is a winning recipe for reducing friction. <strong>You can simplify your team's daily routine by automating processes that usually suck a good chunk of your time</strong>, like dealing with duplicities, pre-translating content with MT, or deleting deprecated keys. </p><p>Using Localazy's automated workflows (<a href="https://localazy.com/tags/workflows">check some examples in action here</a>), you can automate various tasks that would otherwise be time-consuming if done manually. This ultimately leads to higher efficiency, agility, and the ability to reach global audiences more swiftly. It is a powerful solution, especially when <strong>combined with </strong><a href="https://localazy.com/features/continuous-localization-team"><strong>continuous localization</strong></a><strong> and </strong><a href="https://localazy.com/blog/how-localazy-cdn-reduces-total-cost-of-ownership-with-examples"><strong>a solid content delivery network</strong></a>, which helps you ship updates of your localized products in no time.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/Ordering-w-flags.png" class="kg-image" alt loading="lazy" width="1014" height="545" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/Ordering-w-flags.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/06/Ordering-w-flags.png 1000w, https://ghost.localazy.com/content/images/2024/06/Ordering-w-flags.png 1014w" sizes="(min-width: 720px) 720px"></figure><h2 id="tips-to-implement-continuous-l10n">🪜 Tips to implement continuous l10n <a class="markdownit-header-anchor" href="#tips-to-implement-continuous-l10n">🔗</a></h2><p>Continuous localization helps teams integrate translation into their agile framework and removes all the hurdles between developers, translators, proofreaders, project managers, and other team members involved in the product development process. </p><p>Localazy makes continuous localization possible thanks to its features. These are some of the actions you can take today to start off:</p><ul><li>⚙️ <a href="https://localazy.com/docs/general/automated-workflows">Create automated workflows</a> to reduce manual work and free your developers' hands.</li><li>🦾 <a href="https://localazy.com/features/pre-translate">Pre-translate your content with MT</a> or <a href="https://localazy.com/blog/release-update-localazy-ai-automated-workflows-and-more#open-ai-translations-beta">use our AI features</a> to speed up your processes.</li><li>✍️ <a href="https://localazy.com/blog/guide-localazy-translation-services">Order translation and human validation services</a> to have your translations completed and reviewed by professionals. </li><li>👀 Revise translations using the suggestions provided by the <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a> feature.</li><li>🧩 <a href="https://localazy.com/integrations">Integrate external tools</a> to automate and optimize your workflow on Localazy.</li></ul><h2 id="more-than-a-simple-software-with-mt">⛷️ More than a simple software with MT <a class="markdownit-header-anchor" href="#more-than-a-simple-software-with-mt">🔗</a></h2><p>You don't have to worry about receiving lackluster translations or hiring a special team to localize your products. Our diverse translation features include teams of linguists and human translators <a href="https://localazy.com/blog/guide-localazy-translation-services">who translate, proofread, and revise translations at your request</a>. The best part is that it all comes with a clean UI for non-tech folks and a CLI for developers. </p><p>Some other features that make this process seamless for you and your team include <a href="https://localazy.com/docs/general/screenshots">context screenshots</a>, <a href="https://localazy.com/features/glossary">glossaries</a>, and a unified TMS with an interface that allows you to approve, review, and ship all of your digital product translations from one place. Once new localized content is approved, you can enhance user experience with one click through <a href="https://localazy.com/blog/automated-localization-github-actions-localazy">GitHub Actions</a>, <a href="https://localazy.com/blog/automated-localization-bitrise-io-localazy">Bitrise Verified Steps</a>, or our <a href="https://localazy.com/docs/android/localazy-android-library">Android localization library</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/screens.png" class="kg-image" alt loading="lazy" width="741" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/screens.png 600w, https://ghost.localazy.com/content/images/2024/06/screens.png 741w" sizes="(min-width: 720px) 720px"></figure><h2 id="final-thoughts">📌 Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p><strong>Achieving frictionless localization can be a game-changer for your organization's international expansion efforts</strong>. To unlock the true potential of frictionless localization, consider adopting Localazy and automating your localization in a smart and lazy way. 💪</p><p>With its cutting-edge features and user-friendly interface, Localazy empowers teams to streamline their localization processes, reduce friction, and boost organizational productivity. Go global with confidence, and maintain your pace of expansion with us.</p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/06/frictionless-localization--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[4 key findings that confirm you need to go multilingual for global reach in 2024]]></title>
            <link>https://localazy.com/blog/4-key-findings-that-confirm-you-need-to-go-multilingual-for-global-reach-in-2024</link>
            <guid isPermaLink="false">4-key-findings-that-confirm-you-need-to-go-multilingual-for-global-reach-in-2024</guid>
            <pubDate>Fri, 28 Mar 2025 15:27:58 GMT</pubDate>
            <description><![CDATA[The future of business is multilingual, and this means your website needs to speak more than one language for global success. But don’t take our word for it: data reveals that multi-language content attracts more customers and increases conversions.]]></description>
            <content:encoded><![CDATA[<div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-text"><strong><em>Brought to you by </em><a href="https://www.veedoo.io/" rel="noopener noreferrer nofollow"><em>Veedoo</em></a><em>, your digital agency for web and software development.</em></strong></div></div><p>If you've landed on this blog, chances are you're ready to expand into new markets with the help of localization. This probably means seeking professional guidance from a digital agency specializing in multilingual website development, an expert localization team, or both!</p><p>The team at digital agency <strong>Veedoo</strong> has put together some key findings that confirm that 2024 is the year of multilingual website development for businesses and organizations. The evidence is crystal-clear: data from multiple studies supports that <strong>modern multilingual websites are instrumental to deploying your business for audiences in new countries</strong>. Using <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation" rel="noopener noreferrer nofollow">cutting-edge AI translation</a> and localization technologies to your advantage is the first step. Here's why.</p><h2 id="the-benefits-of-a-multi-language-website">💻 The benefits of a multi-language website <a class="markdownit-header-anchor" href="#the-benefits-of-a-multi-language-website">🔗</a></h2><h3 id="1-reaching-a-larger-audience">1. Reaching a larger audience <a class="markdownit-header-anchor" href="#1-reaching-a-larger-audience">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-text"><strong>Why? </strong>Only over half of the content available on the internet is in English.</div></div><p>One of the primary benefits of having a multilingual website is the ability to reach a broader audience. <strong>Did you know that 52.1% of all web content in 2024 is in English?</strong> 🇬🇧<strong> However, it's essential not to overlook the remaining 47.9%</strong>, which represents significant business potential. Consider <a href="https://www.statista.com/statistics/262946/most-common-languages-on-the-internet/" rel="noopener noreferrer nofollow">these statistics</a> on the most frequently used languages for web content after English: Spanish, which accounts for 5.5%, and German, which comprises 4.8%.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/1--2--1.png" class="kg-image" alt loading="lazy"></figure><p>Moreover, <a href="https://csa-research.com/Blogs-Events/CSA-in-the-Media/Press-Releases/Consumers-Prefer-their-Own-Language" rel="noopener noreferrer nofollow">a survey</a> of 8,709 consumers across 29 countries found that<strong> 76% prefer purchasing products with information in their own language</strong>:</p><ul><li>🗣️ Even if your audience is proficient in English, studies showed that 65% are more likely to make a purchase when browsing product pages in their native language.</li><li>🚫 Furthermore, 40% of users might choose not to make a purchase from websites that are not available in their preferred language.</li></ul><p>Offering multiple language website options expands your business proposition to previously untapped customer segments, enhancing your sales and profits.</p><h3 id="2-improving-customer-experience">2. Improving customer experience <a class="markdownit-header-anchor" href="#2-improving-customer-experience">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-text"><strong>Why? </strong>4 in 10 users prefer to purchase products in their native language.</div></div><p>Many companies don't understand how important it is to grab a worldwide audience. <a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go" rel="noopener noreferrer nofollow">It's not just about translating stuff word-for-word</a>. <strong>You've got to give them content that actually clicks with them</strong>. It should show off your brand, make you look good, and build trust. That's the whole package, you know? But so many businesses miss the boat on this one.</p><p>CSA Research <a href="https://insights.csa-research.com/reportaction/305013126/Marketing?_gl=1%2Aa68pf7%2A_ga%2ANDM5MjI5NDM4LjE2ODA2MTc4Njc.%2A_ga_LL76TPHNBP%2AMTY4MDYxNzg2Ni4xLjAuMTY4MDYxNzg2Ni4wLjAuMA.." rel="noopener noreferrer nofollow">surveyed</a> 8,709 consumers in 29 countries in their native languages to analyze their customer experience preferences in their mother tongue versus a foreign language such as English. They wanted to know if it's worth it for companies to bother translating their content. 💭</p><blockquote>According to a survey by CSA Research, companies can miss out on 40% or more of their potential customer base if they don't speak their language</blockquote><p>It turns out that it's a pretty big deal for businesses trying to sell their products around the world. CSA Research says people used to think enough customers were okay with using English online, especially when buying fancy or pricey items. However, their 2020 research shows that <strong>if a company doesn't bother to make their website speak the local language, they could be missing out on a whopping 40% or more potential customers</strong>. That's a lot!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/AdobeStock_497710293.jpeg" class="kg-image" alt loading="lazy"></figure><p>Basically, even if people want what you're selling on your English site, <strong>most would rather shop in their own language</strong>. They want to think, act, and buy stuff without wrestling with a foreign language.</p><p>The research also indicates that nationality significantly influences the demand for content in local languages during online transactions. 🇩🇪 Notably,<strong> </strong><a href="https://localazy.com/blog/german-localization-fundamentals-enter-this-prosperous-european-market-with-confidence" rel="noopener noreferrer nofollow"><strong>in Germany</strong></a><strong>, 57% of consumers exclusively purchase from websites in their native language</strong>.<strong> </strong>Additionally, more than 50% of respondents from six other nationalities expressed a similar preference.</p><p>Other key findings include:</p><ul><li>📖 65% of respondents prefer content in their language, even if it's of poor quality.</li><li>🖇️ 67% are willing to tolerate mixed languages on a website.</li><li>💬 73% prioritize having product reviews available in their language above all else.</li><li>🏷️ 76% prefer products with information presented in their native language.</li><li>💻 66% utilize online machine translation.</li><li>⛓️‍💥 40% of respondents refrain from making purchases on websites that are not in their preferred language.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/2--3-.png" class="kg-image" alt loading="lazy"></figure><h3 id="3-getting-your-brand-known-worldwide">3. Getting your brand known worldwide <a class="markdownit-header-anchor" href="#3-getting-your-brand-known-worldwide">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-text"><strong>Why? </strong>The market is expected to grow; you’ll need to be remembered.</div></div><p>If you want your brand to be big around the globe, you've got to be flexible. You need to adjust to what different people want. <strong>These days, having a website in multiple languages </strong><a href="https://localazy.com/blog/mythbusters-we-dont-have-the-budget-for-localization" rel="noopener noreferrer nofollow"><strong>isn't just a cool extra</strong></a><strong> – it's a must-have if you want to succeed</strong>.</p><p>While 2024 forecasts show modest growth in retail and e-commerce compared to historical trends, the global economic landscape is stabilizing. We anticipate fewer downturns and reduced volatility worldwide. Steady growth is projected for the coming years, with certain emerging markets poised for expansion. 📈</p><p>This outlook underscores the importance of a solid global presence.<strong> </strong>Businesses that invest in comprehensive localization strategies now will be well-positioned to capitalize on future market surges and maintain a competitive edge internationally.</p><blockquote>Localization is not a "cool extra" anymore: it's a must to position well and have a competitive edge in the global economic landscape</blockquote><p><a href="https://www.emarketer.com/content/worldwide-retail-ecommerce-forecast-2024" rel="noopener noreferrer nofollow">eMarketer's forecast for 2024</a> reveals that the global e-commerce market will cross the $6 trillion mark this year, and <strong>20.1% of all retail sales will be conducted digitally</strong>. Excluding China from the calculus, the worldwide e-commerce share will be 12.4%.</p><p>Projections from their<a href="https://www.insiderintelligence.com/content/global-ecommerce-forecast-2022" rel="noopener noreferrer nofollow"> 2022 report </a>indicated that by 2025, the e-commerce market could surpass $7 trillion. Additionally, Morgan Stanley <a href="https://www.morganstanley.com/ideas/global-ecommerce-growth-forecast-2022" rel="noopener noreferrer nofollow">anticipated</a> a potential increase to $5.4 trillion by 2026. They also highlighted an uptick in the U.S. e-commerce market, which could represent 31% of sales by 2026, up from 23% in 2023.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/3--1-.png" class="kg-image" alt loading="lazy"></figure><p>Looking at the growth potential, you should consider making your online website available in multiple languages. It's a great way to break into those new markets you've got your eye on.</p><p><strong>The key is making sure customers can easily understand your products, how much they cost, and what others think of them. </strong>Tailoring the shop experience to each local market is more likely to win over customers in that area. Don't forget about customer support — it must be easy to find and use. Bottom line: the more at home people feel on your website, the more likely they are to buy something. It's as simple as that.</p><h3 id="4-making-your-marketing-cost-efficient">4. Making your marketing cost-efficient <a class="markdownit-header-anchor" href="#4-making-your-marketing-cost-efficient">🔗</a></h3><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-text"><strong>Why? </strong>The right tech, including AI, can help you save time and resources.</div></div><p>In 2024, businesses, organizations, and especially e-commerce are rapidly implementing multiple languages to localize for new markets and to reach a global audience in their native languages. This has been a priority for several years, but now we are seeing <strong>significant progress in the implementation of multilingual websites</strong>.</p><p>The acceleration in localization has been driven by the emergence and widespread adoption of various AI products, which enable companies to quickly initiate localization processes, perform fairly decent translations into different languages, automate marketing and sales processes, and more.</p><p>According to <a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai-in-2023-generative-ais-breakout-year" rel="noopener noreferrer nofollow">a recent McKinsey report</a>, organizations are now commonly using generative AI. One-third of all respondents say their organizations regularly use generative AI in at least one function — meaning that <strong>60% of companies with reported AI adoption are using generative AI</strong>. Moreover, 40% of those reporting AI adoption in their organizations say their companies expect to invest more in AI overall thanks to generative AI, and 28% state that generative AI use is already on their board's agenda.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/4--1-.png" class="kg-image" alt loading="lazy"></figure><p>Recent <a href="https://www.microsoft.com/en-us/worklab/work-trend-index/ai-at-work-is-here-now-comes-the-hard-part/?trk=linkedin-talent-solutions-organic-social-5-8-24&amp;linkId=100000260541707" rel="noopener noreferrer nofollow">research from Microsoft and LinkedIn </a>has also shown a significant shift in how generative AI is being used in the workplace. It has highlighted that many companies have already changed their processes, created new job guidelines, and developed new approaches to task execution, all thanks to AI's capabilities.</p><p>Today, companies of all sizes have access to an ever-increasing number of AI solutions, including platforms, CMS, and plugins, to implement multilingualism for entering new markets and communicating with new target audience segments in their native languages. But that's not all – <strong>there's a real buzz around clever technology that facilitates website translation</strong>. These new smart tools are making it easier for companies of all sizes to build and manage multilingual websites that look great and enhance their marketing efforts.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/5--1-.png" class="kg-image" alt loading="lazy"></figure><p><strong>Want to speed up getting your business to speak multiple languages online? </strong>You can accelerate the localization of your business with a multilingual website <a href="https://localazy.com/" rel="noopener noreferrer nofollow">by using specialized software like Localazy</a>. They offer a comprehensive approach that not only uses AI and MT for quick content translation into various languages but also ensures <a href="https://localazy.com/term/professional-translation-services" rel="noopener noreferrer nofollow">professional translator checks</a> and <a href="https://localazy.com/blog/going-global-with-multilingual-seo" rel="noopener noreferrer nofollow">the implementation of multilingual SEO</a> to boost your site's search visibility.</p><p>Let's face it: most purchases and partnerships start with an online search these days. 🔍 So, <strong>if you want to make an impact online, you need to be right up there in the search results</strong> – your online success heavily depends on achieving high rankings on search engine results pages. The higher your website ranks, the more likely consumers are to find it.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/AdobeStock_464851274.jpeg" class="kg-image" alt loading="lazy"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>It is now more apparent than ever that <strong>the future of global businesses is based on multilingualism</strong>. In 2024, localization for companies and organizations through multilingual websites has become more accessible and faster to implement than before, and modern AI solutions can accelerate the process.</p><p>Services like Localazy offer comprehensive website localization in multiple languages for businesses and organizations that want to implement multilingual capabilities quickly. These services provide high-quality translations by professional translators and are optimized for multilingual SEO.</p><p>As you can see, localization is a big contributor to success in 2024. No matter the industry or size, adjusting your content and offering well-developed, smart websites to accompany international audiences is a strategy that will pay off and get you ahead of the competition. <a href="https://localazy.com/contact" rel="noopener noreferrer nofollow">Get in touch</a> and see how a multilingual website by <a href="https://www.veedoo.io/?utm_source=blog&amp;utm_medium=article+&amp;utm_id=localazy" rel="noopener noreferrer nofollow">Veedoo</a>, utilizing Localazy for translation and SEO content services, can help.</p><h2 id="more-about-veedoo">ℹ️ More about Veedoo <a class="markdownit-header-anchor" href="#more-about-veedoo">🔗</a></h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/partnerships/veedoo"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Veedoo - Localazy trusted partner for your multilingual projects</div><div class="kg-bookmark-description">Localazy partnered with Veedoo to bring you a better experience while building multilingual digital products.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">localazy.com</span><span class="kg-bookmark-publisher">Petr Hodný</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://localazy.com/directus9/assets/d70ecbca-ec7f-417c-a616-8abaf1361c92/?quality&#x3D;80&amp;format&#x3D;webp" alt=""></div></a></figure>]]></content:encoded>
            <author>Localazy Partners</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/06/4-findings-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Mythbusters: We use Google Translate and GPT to manage our localization]]></title>
            <link>https://localazy.com/blog/mythbusters-we-use-google-translate-and-gpt-to-manage-our-localization</link>
            <guid isPermaLink="false">mythbusters-we-use-google-translate-and-gpt-to-manage-our-localization</guid>
            <pubDate>Wed, 19 Jun 2024 10:25:07 GMT</pubDate>
            <description><![CDATA[Automated tools have revolutionized the language market, but they are not the be-all and end-all of localization. Learn why you shouldn't base your whole translation process on Google Translate or Chat GPT, and where these tools can actually help.]]></description>
            <content:encoded><![CDATA[<p>We can all agree that Google Translate and GPT are powerful tools. But <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">are they good enough</a> to manage your whole localization strategy from A to Z? In other words, can they replace a team of translators and local experts? We think not. </p><p>They are <em>tools</em>, not the finished product. Unless you want to end up with egg on your face, read on to find out why automated tools can't handle all your localization needs. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/AdobeStock_821569128.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/AdobeStock_821569128.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/06/AdobeStock_821569128.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/06/AdobeStock_821569128.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/06/AdobeStock_821569128.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="reason-1-lack-of-understanding">😵‍💫 Reason #1: Lack of "understanding" <a class="markdownit-header-anchor" href="#reason-1-lack-of-understanding">🔗</a></h2><p>Google Translate and GPT are powerful tools for direct translation. They do it quickly and efficiently. And, to be fair, they give you a pretty decent rough draft of a translation. 📝 <strong>But is a rough draft good enough for your product?</strong></p><p><a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go">Localization is more than just word-for-word translation</a>. You need to adapt your content so that it lands perfectly with your users. Everything needs to make sense culturally. All the humor, <a href="https://localazy.com/faq/translating-idioms/how-to-localize-idioms">idioms</a>, context, and grammar need to line up perfectly. If they don't – you'll lose people's trust (and possibly their loyalty).</p><p>Take this example of translating a common English phrase into Vietnamese – "the gift that keeps on giving." If you rely on Google Translate, it literally translates it to "Những món quà không ngừng đưa ra," which means "the gifts continuously offered," which doesn't really communicate the context. </p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXcpv0RZBZjUo1Q6NEnCoQyjN63nF6-bIP8DskvzOMkJkaVPRI1Wvv0qlhyaBi1ooWdfFcfOFq90EqcxSGzmCnL6Of4HM0SrqlMJKX5u3408VFaF1o_Bwamyyvun4ybCbaL9J3HZVFwe-o__E0jJ_px-f_h2?key=aVQbqY-V0GLCmp6OrjT13g" class="kg-image" alt loading="lazy"></figure><p>As you can see, ChatGPT gets the translation wrong on the first attempt, too:<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXcCQBnSrMesO4WRI8xLkKwyu1AoJ3lqjZ3F6Z6Ke74qBEH21jZhrEt2nnm6iBwyV1G4nNlB5H0tm3_6BWjZK3trxuuTRuCMjVxN2fr6N94fVtkEURpgjNjab0MxAncTViCVBQ4MY1sFRu_e0MMn9DA89bg?key=aVQbqY-V0GLCmp6OrjT13g" class="kg-image" alt loading="lazy"></figure><p><br>Here's another one… 🥚 </p><p>In the introduction to this article, we used the phrase "egg on your face," a typical English expression that means looking foolish due to something you've done. If you use Google Translate or ChatGPT, you'll get quite a literal translation.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXchvRkr6wW12WP0_P1tdizRtDDaSdQ7HeyJ37rJGJ6VCRwMiTx_QQeyPVL9QkikHxWNJ_ysrtSkxNOU31d6dMa2VS50aiv9pEjbknyGs96_MI5keis_w77t1p8_uNHOdF8fpAnyrNfPQ-W2L_8mYEKUY8mr?key=aVQbqY-V0GLCmp6OrjT13g" class="kg-image" alt loading="lazy"></figure><p>These examples take just a couple of simple phrases. If you multiply this across thousands of words of content put through automated tools, <strong>you'll probably find dozens of similar mistakes</strong>. </p><p>Some of these mistakes can be highly embarrassing, such as this <a href="https://www.theguardian.com/world/2015/nov/03/google-translate-error-as-pontes-spain-clitoris-food-festival-grelo-galicia#:~:text=They%20used%20Google%20Translate%20for,%E2%80%9CFeria%20cl%C3%ADtoris%E2%80%9D%20in%20Spanish.">Spanish leaf vegetable festival that was wrongly advertised as a "clitoris festival" due to automated translation!</a> 😅</p><p>You have to realize that no translation tool is perfect. Of course, its accuracy might improve over time, but it's unlikely that it will reach 100% accuracy across all languages anytime soon. <strong>For now, you still need humans in the loop to ensure accuracy</strong>. </p><p>And why is accuracy so important? That brings us to our next point…</p><h2 id="reason-2-lack-of-qa">🔍 Reason #2: Lack of QA <a class="markdownit-header-anchor" href="#reason-2-lack-of-qa">🔗</a></h2><p>When you're trying to enter new markets and locales, neglecting <a href="https://localazy.com/dictionary/qa-quality-assurance">quality assurance </a>can backfire big time. Your message can get lost in translation—quite literally. </p><p>As shown in the previous section, poor translations lead to misunderstanding at best and offense at worst. And the golden rule of any business is <strong>not to alienate the people you're trying to connect with</strong>. That's why you need to pay attention to localization QA. Take the time to ensure every aspect of your product resonates with the local audience, including everything from your marketing messages to user interface text. </p><p>To do this effectively, you need <a href="https://localazy.com/blog/why-and-how-to-provide-local-expertise-to-foreign-clients">support from local experts</a> who add cultural nuance to your translations and phrasing. Then, you should test the product with a small group of local users and get feedback to ensure it's appropriate and engaging before rolling it out to a broader audience. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/AdobeStock_850498699.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/AdobeStock_850498699.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/06/AdobeStock_850498699.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/06/AdobeStock_850498699.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/06/AdobeStock_850498699.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Localization still isn't over, <a href="https://localazy.com/blog/mythbusters-our-product-has-been-localized-so-the-job-is-finished">even when you've launched</a>. 👀 It's best practice to get user feedback and iteratively improve your product based on their comments. If several people pick up on a poorly translated text section, you need to fix it soon. </p><p>Without robust QA, you risk offering a product that seems insensitive or out of touch with local norms and values. This can seriously damage your brand reputation and hit sales.</p><blockquote>📚 Recommended: <a href="https://localazy.com/blog/why-and-how-to-provide-local-expertise-to-foreign-clients">Why and how to provide local expertise to foreign clients?</a></blockquote><h2 id="reason-3-lack-of-design-optimization">💻 Reason #3: Lack of design optimization <a class="markdownit-header-anchor" href="#reason-3-lack-of-design-optimization">🔗</a></h2><p>Design is just as important as text when it comes to localization. Getting it wrong impacts how people <em>feel</em> about your product.</p><p>For example, colors evoke different emotional responses in different cultures. Red is seen as lucky in China but associated with danger, excitement, or love in Western countries, and purity in India, where brides wear red wedding dresses.</p><p>Also, the layout must be changed for <a href="https://localazy.com/dictionary/rtl">RTL languages</a> such as Arabic or Hebrew. This affects the content as well as UI navigational elements, such as placing buttons to the left of the text instead of the right.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/AdobeStock_344075397.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/AdobeStock_344075397.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/06/AdobeStock_344075397.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/06/AdobeStock_344075397.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/06/AdobeStock_344075397.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="reason-4-lack-of-resources">😓 Reason #4: Lack of resources <a class="markdownit-header-anchor" href="#reason-4-lack-of-resources">🔗</a></h2><p>When you use a tool like Google Translate or ChatGPT, you get a plain text response. And that's it. When you localize, <strong>you might need to introduce new features to cater to local users' preferences or to comply with local laws</strong>. For instance, you might need to change payment processors in some locations, such as China, where Alipay or WeChat Pay are more popular than PayPal or credit cards.</p><p>Developers might need to make content more dynamic so it displays correctly across devices and platforms in regions with different standards. All these changes can overwhelm them, especially if they're expected to implement them without enough support or necessary tools. </p><p><strong>Without proper resources, things get inefficient pretty quickly</strong>. You need to enable access to local testing environments and experienced local developers, or you could end up with delays, higher costs, and a final product that doesn't meet market needs.</p><blockquote>When you use a tool like Google Translate or ChatGPT, you get a plain text response. That's it. They don't handle any of the other elements of the localization process, like dynamic features, testing, or personalization features, which can lead to frustration for your developers</blockquote><h2 id="reason-5-lack-of-vision">🔮 Reason #5: Lack of vision <a class="markdownit-header-anchor" href="#reason-5-lack-of-vision">🔗</a></h2><p>Without a robust framework like those provided by a <a href="https://localazy.com/dictionary/translation-management-system-tms">Translation Management System (TMS)</a> or a dedicated localization service, scaling up is a headache. </p><p>You need to keep in mind that, during that process, you'll need to:</p><h3 id="1-manage-complexity">1. Manage complexity  <a class="markdownit-header-anchor" href="#1-manage-complexity">🔗</a></h3><p>As you expand, you could be dealing with dozens of languages, each with its own nuances and requirements. <strong>A good TMS helps manage this complexity by centralizing <a href="https://localazy.com/dictionary/translation-memory">translation memories</a>, <a href="https://localazy.com/dictionary/glossary">glossaries</a>, and <a href="https://localazy.com/docs/general/automated-workflows">workflows</a></strong>. It becomes a command center, helping you oversee multiple processes and coordinate larger teams efficiently. 🧑‍💻 </p><p>At the same time, <a href="https://localazy.com/integrations">using a flexible system that easily integrates</a> with dozens of frameworks, programming languages, and tools can also make the process much smoother and give your developing team a much-needed respite.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/AdobeStock_159686139.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/06/AdobeStock_159686139.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/06/AdobeStock_159686139.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/06/AdobeStock_159686139.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/06/AdobeStock_159686139.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-ensure-consistency">2. Ensure consistency  <a class="markdownit-header-anchor" href="#2-ensure-consistency">🔗</a></h3><p>It is challenging to maintain consistency across different languages and markets. A TMS ensures that all your content is consistent regarding brand voice and style.</p><h3 id="3-streamline-communication">3. Streamline communication  <a class="markdownit-header-anchor" href="#3-streamline-communication">🔗</a></h3><p>Many stakeholders might be involved in your projects, including translators, marketers, product managers, and local compliance experts. A TMS takes care of all communication,<strong> helping make sure everyone's on the same page</strong>. It also allows you to <a href="https://localazy.com/docs/general/language-permissions">fine-tune permissions</a> for team members and collaborators, so the localization work is always in motion.</p><h3 id="4-handle-feedback-and-iterations">4. Handle feedback and iterations <a class="markdownit-header-anchor" href="#4-handle-feedback-and-iterations">🔗</a></h3><p>Feedback from users reveals unexpected issues—anything from a minor translation inaccuracy to a bigger cultural faux pas. 💭 A growing number of user complaints gets overwhelming, especially if there's no straightforward way to address them. A good TMS manages these issues and streamlines content improvement based on user feedback.</p><h3 id="5-future-proofing-your-efforts">5. Future-proofing your efforts  <a class="markdownit-header-anchor" href="#5-future-proofing-your-efforts">🔗</a></h3><p>As new markets emerge and technology evolves, your localization efforts should adapt. <strong>A scalable TMS allows you to quickly integrate new tech and processes</strong>, making you more proactive and resilient.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/06/unlimited.svg" class="kg-image" alt loading="lazy"></figure><h2 id="dont-settle-for-subpar-localization">⚡️ Don't settle for subpar localization <a class="markdownit-header-anchor" href="#dont-settle-for-subpar-localization">🔗</a></h2><p>To summarize, if you're using Google Translate and GPT, <strong>you're not doing A-grade localization. You're just doing translation</strong>, which is B or C-grade at best.</p><p>At the end of the day, you still need to ensure cultural relevance and manage the delivery process, team permissions, integrations, quality assurance, and iterative improvements based on feedback.</p><p><strong>TLDR: it's challenging to grow and expand into new markets if you treat localization as an afterthought</strong>. It's better to see it as a holistic process with lots of moving parts, as it's more than simply translating text. Put simply – if you only use automated tools, you won't get the best results for you or your customers. </p><p>🍬 We're committed to helping you find the sweet spot between automation and human touch. Our 14-day trial allows you to see how far you can scale your localization effortlessly—<a href="https://localazy.com/register">register today</a> and try it for free!</p>]]></content:encoded>
            <author>Dan Martin</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/06/mythbusters_06-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[German localization fundamentals: Enter this prosperous European market with confidence]]></title>
            <link>https://localazy.com/blog/german-localization-fundamentals-enter-this-prosperous-european-market-with-confidence</link>
            <guid isPermaLink="false">german-localization-fundamentals-enter-this-prosperous-european-market-with-confidence</guid>
            <pubDate>Fri, 15 Aug 2025 08:33:39 GMT</pubDate>
            <description><![CDATA[The attractive economic opportunities of the German market make it a fertile region for expansion. 95% of Germany's 84M inhabitants speak German, but its influence goes beyond the country's borders, making it your secret hack to grow within the European Union.]]></description>
            <content:encoded><![CDATA[<p>Penetrating the European market requires a delicate knowledge of its linguistic landscape, with <a href="https://hub.localazy.com/en/languages/de-german">German</a> being its core pillar. <strong>With more than 100 million native speakers, German is <a href="https://europa.eu/eurobarometer/surveys/detail/2979">the most widely spoken native language in the European Union</a> </strong>and the predominant tongue in Germany, where 95% of the population uses it every day.  </p><p>For companies looking to expand into European markets, mastering German localization goes beyond being an option; it becomes a strategic necessity. Businesses must adapt to this linguistic context not only to compete but also to establish meaningful relationships with one of Europe's most significant consumer bases. This locale guide covers all you need to know about localization catered to Germany. Let's begin!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_236239465.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_236239465.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_236239465.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_236239465.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_236239465.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="origins-of-the-german-language">🏰 Origins of the German language <a class="markdownit-header-anchor" href="#origins-of-the-german-language">🔗</a></h2><p>The German language has a rich history with roots dating back to the 8th century, when it began forming as <a href="https://hub.localazy.com/en/languages/goh-old-high-german">Old High German</a> (500 to 1050). As a member of the West Germanic branch of the Indo-European language family, it occupies a special place in Europe's linguistic history. This lineage distinguishes it from North Germanic languages such as <a href="https://localazy.com/blog/swedish-localization-made-simple-conquer-largest-nordic-market">Swedish</a> and <a href="https://hub.localazy.com/en/languages/no-norwegian">Norwegian</a> and from the now-extinct languages of the Eastern group, which included <a href="https://hub.localazy.com/en/languages/got-gothic">Gothic</a> and <a href="https://en.wikipedia.org/wiki/Vandalic_language">Vandalic</a>.</p><p>The earliest evidence of the use of Old High German dates back to the <a href="https://en.wikipedia.org/wiki/Hildebrandslied">Hildebrandslied</a>, a fragment of a heroic epic poem that narrates the encounter of two warriors who appear to be father and son. ⚔️ As the centuries progressed, German evolved into <a href="https://hub.localazy.com/en/languages/gmh-middle-high-german">Middle High German</a>, spoken from approximately 1050 to 1350. By the early modern period, the language had evolved into <a href="https://en.wikipedia.org/wiki/Early_New_High_German">Early New High German</a>, a form heavily influenced by the Luther Bible, translated by Martin Luther in the 16th century. </p><p>The evolution of German from its Old High German roots to the present has been marked by <strong>its ability to absorb influences from other languages and cultures –</strong>such as early Celtic and Latin to modern French– while retaining its unique grammatical structure and vocabulary.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/05/Hildebrand.jpg" class="kg-image" alt loading="lazy" width="808" height="545" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/Hildebrand.jpg 600w, https://ghost.localazy.com/content/images/2024/05/Hildebrand.jpg 808w"><figcaption>One of the earliest texts in Old High German is the Hildebrandslied, which dates back to the ninth century.</figcaption></figure><h2 id="the-german-language-today">🇩🇪 The German language today <a class="markdownit-header-anchor" href="#the-german-language-today">🔗</a></h2><p>In today's global environment, more than 130 million people speak German both natively and as a second language. Approximately <strong>75 million of these are native speakers in Germany</strong>, and many more are located in:</p><ul><li>🇦🇹 <a href="https://hub.localazy.com/en/regions/at-austria">Austria</a> (over eight million speakers).</li><li>🇨🇭 <a href="https://hub.localazy.com/en/languages/gsw-swiss-german">Switzerland</a> (over five million).</li><li>🇱🇮 <a href="https://hub.localazy.com/en/regions/li-liechtenstein">Liechtenstein</a> (39,000).</li><li>🇱🇺 <a href="https://hub.localazy.com/en/regions/lu-luxembourg">Luxembourg</a> (395,000).</li><li>🇧🇪 <a href="https://hub.localazy.com/en/regions/be-belgium">Belgium</a> (78,000).</li><li>🇮🇹 <a href="https://en.wikipedia.org/wiki/South_Tyrol">South Tyrol</a> (around 350,000).</li></ul><p>In addition, countries such as the United States, Canada, Brazil, and Argentina have sizable populations of German heritage, many of whom continue to use the language within their communities. Overall, <a href="https://www.deutschland.de/en/topic/knowledge/mother-tongue-german-in-42-countries-around-the-world"><strong>more than 7.5 million people in 42 countries worldwide</strong></a><strong> belong to a German-speaking minority</strong>.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/05/Legal_status_of_German_in_the_world.svg.png" class="kg-image" alt loading="lazy" width="2000" height="906" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/Legal_status_of_German_in_the_world.svg.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/Legal_status_of_German_in_the_world.svg.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/Legal_status_of_German_in_the_world.svg.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/Legal_status_of_German_in_the_world.svg.png 2400w" sizes="(min-width: 1200px) 1200px"><figcaption>German is recognized as an official, co-official, and minority language in multiple countries. Source: <a href="https://commons.wikimedia.org/wiki/File:Legal_status_of_German_in_the_world.svg">Wikimedia Commons</a>.</figcaption></figure><p>German is also a popular foreign language taught worldwide, reflecting its importance in global economic, academic, and cultural exchanges. <strong>It ranks as one of the world's top five most-taught foreign languages.</strong> In Europe, it is <a href="https://op.europa.eu/en/publication-detail/-/publication/e0f69418-d915-11ed-a05c-01aa75ed71a1/language-en/format-PDF/source-283957218">the second most commonly learned foreign language in secondary education</a> after English, emphasizing its critical role in international communication and business. German's reach extends far beyond these countries. It influences international trade, science, and culture, which underlines the strategic importance of localization into German for businesses wishing to operate globally.</p><h2 id="dialects-vs-standard-german">🥨 Dialects vs. Standard German <a class="markdownit-header-anchor" href="#dialects-vs-standard-german">🔗</a></h2><p>The German language's variety of dialects enhances its liveliness. <a href="https://en.wikipedia.org/wiki/Standard_German"><strong>Standard German, or Hochdeutsch</strong></a>, which evolved from regional dialects spoken by Saxon chancellors, is now the standard form used in government, media, and education in German-speaking countries. However, the German language landscape is rich in regional dialects, from the Lower German spoken in the northern lowlands to the <a href="https://hub.localazy.com/en/languages/bar-bavarian">Bavarian</a> and <a href="https://en.wikipedia.org/wiki/Swabian_German">Swabian</a> dialects in the south. </p><blockquote>Although Standard German or Hochdeutsch is the common form used in government, media and education, multiple regional varieties of Lower and Higher German currently coexist in the country</blockquote><p><a href="https://en.wikipedia.org/wiki/High_German_languages"><strong>High German</strong></a> dialects are predominant among the majority of Germany's population, with millions using them as their everyday language, especially in southern regions like Bavaria and Baden-Württemberg, while <a href="https://hub.localazy.com/en/languages/nds-low-german"><strong>Low German, or Plattdeutsch</strong></a><strong>,</strong> has fewer speakers, estimated to be in the hundreds of thousands, primarily in rural areas of Northern Germany.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_399003479.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_399003479.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_399003479.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_399003479.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_399003479.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>A view of the medieval old town of Rothenburg ob der Tauber, in Bavaria.</figcaption></figure><p>Both High and Low German dialects have notable phonetic differences. For instance, the High German consonant shift, which changed 'p' to 'pf' and 't' to 'ts' (or 's') in many environments, is absent in Low German. An example is the High German word 💷 <em>pfund </em>(pound), which remains <em>pund</em> in Low German.</p><p>Each dialect offers unique linguistic features and cultural insights. Businesses must understand these differences to effectively reach and engage all demographic segments in German-speaking markets.</p><h2 id="doing-business-in-germany">🚛 Doing business in Germany <a class="markdownit-header-anchor" href="#doing-business-in-germany">🔗</a></h2><p>Germany is a major economic power in Europe, offering a breeding ground for various industries, including the automotive industry, technology, and renewable energy. <a href="https://www.destatis.de/EN/Press/2024/04/PE24_173_811.html">In 2023, Germany's GDP was approximately €4.12 billion</a>, reflecting its substantial economic clout. The country is renowned for its high engineering standards and is one of the world's leading exporters, with <a href="https://www.destatis.de/EN/Press/2024/02/PE24_044_51.html#:~:text=Germany%20exported%20goods%20to%20the%20value%20of%201%2C562.0%20billion%20euros,down%2010.2%25%20compared%20with%202022.">revenues of over €1.56 billion</a> in the same year. </p><p>Germany is also at the forefront of technological advancement and renewable energy, with substantial investments <a href="https://www.brusselstimes.com/861363/over-half-of-germanys-energy-is-now-renewable">in wind and solar technologies</a>. 🍃🔌 This commitment to sustainability is mirrored in the country's high consumer spending on green products and technologies, further boosting these sectors. </p><p>Other significant industries that are pivotal to the German export machine include:</p><ul><li>🧪 <strong>Chemical and pharmaceutical</strong></li><li>🚜 <strong>Machinery and equipment </strong></li><li>🎚️ <strong>Electronics</strong></li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_518658713.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1498" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_518658713.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_518658713.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_518658713.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_518658713.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>For companies entering this market, it is essential to implement efficient German localization strategies. <strong>This involves more than translation–it requires cultural integration and <a href="https://www.gtai.de/en/invest/investment-guide">compliance with local legislation</a></strong>. Working with experienced German localization experts can provide companies with the insights needed to connect with local consumers, comply with regulations, and compete successfully in the German market.</p><h3 id="the-german-customer-quality-first">The German customer: Quality first <a class="markdownit-header-anchor" href="#the-german-customer-quality-first">🔗</a></h3><p><strong>German customers demand quality, efficiency, and sustainability in their shopping habits</strong>. They're likely to conduct research during their purchasing journey and have a conscientious attitude toward the products and services they buy.</p><p>This can be seen not only in their purchasing habits but also in their broader consumer behavior, which values trust and safety. Some reflections of it are the <strong><a href="https://www.krone.at/3339544">high return rates</a></strong><a href="https://www.krone.at/3339544"> </a>and<strong> <a href="https://www.billwerk.plus/wiki/billing-payment/purchase-on-account/#:~:text=Purchase%20on%20account%20is%20still,no%20sensitive%20data%20is%20transmitted.">the frequent use of open invoices</a></strong>, also known as 'purchase on account,' which allow users to examine items upon arrival without paying for them upfront and divulging any sensitive personal details.</p><blockquote>German customers focus on quality: they're likely to look at the fine print, return products they aren't satisfied with, and even use open invoicing</blockquote><p>However, purchasing and consumption preferences can vary significantly from region to region. While online shopping is widespread, preferences for specific platforms and payment methods vary considerably. German users also value<strong> </strong><a href="https://landmarkglobal.com/uploads/Factsheet_2022_Germany_EN_final.pdf"><strong>a high-quality, reliable shipping experience</strong></a><strong> when making online purchases, </strong>so consider that well <a href="https://localazy.com/blog/how-to-help-your-e-commerce-clients-grow-internationally-dos-and-donts">if you own an e-commerce business</a>! 📦</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_57716823.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_57716823.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_57716823.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_57716823.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_57716823.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="4-localization-tips-for-the-german-market">🍻 4 localization tips for the German market <a class="markdownit-header-anchor" href="#4-localization-tips-for-the-german-market">🔗</a></h2><p>Efficient localization goes beyond the scope of mere translation–it requires<strong> a deep understanding of culture and meticulous precision</strong>. To successfully localize for German users, companies must take a multidimensional approach encompassing a variety of key strategies. </p><p>Here are four tips that will serve you well in this market:</p><h3 id="1-adapt-to-the-local-customs">1. Adapt to the local customs <a class="markdownit-header-anchor" href="#1-adapt-to-the-local-customs">🔗</a></h3><p>You can't reach local users without integrating local customs into your marketing strategies and product offerings. This should not only be reflected in your translation work <a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go">but also in the user experience</a>, which should be adapted to the cultural context and preferences of German customers. The result will be increased customer engagement and high brand loyalty. </p><p>This means, for instance:</p><ul><li>🌭 <strong>Adapting marketing campaigns to match local festivals</strong> like Oktoberfest in Munich, Wurstmarkt in Bad Dürkheim, or Weihnachstmarkts in Berlin.</li><li>⛪️ <strong>Taking public holidays into account</strong>, like Unity Day, Easter, or Reformation Day.</li><li>👍 <strong>Tweaking your product design to cater to local tastes</strong>.</li></ul><h3 id="2-take-special-care-of-legal-requirements">2. Take special care of legal requirements <a class="markdownit-header-anchor" href="#2-take-special-care-of-legal-requirements">🔗</a></h3><p>Navigating the strict regulatory environment in Germany is essential for successfully entering the market. ⚖️ 🔍 This includes careful compliance in critical areas such as <a href="https://practiceguides.chambers.com/practice-guides/product-liability-safety-2023/germany">product safety</a>, <a href="https://www.dataguidance.com/notes/germany-data-protection-overview">data protection</a>, <a href="https://iclg.com/practice-areas/environment-and-climate-change-laws-and-regulations/germany">environmental regulations</a>, and <a href="https://kanzlei-herfurtner.com/advertising-law/">advertisement laws</a>. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_224309101.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_224309101.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_224309101.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_224309101.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_224309101.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>German laws are particularly strict regarding consumer protection and corporate responsibility. Companies must ensure that all aspects of their operations, from product labeling and safety guidelines to privacy policies and advertising content, comply with local laws to avoid potential legal problems.</p><h3 id="3-recognize-the-regional-differences">3. Recognize the regional differences <a class="markdownit-header-anchor" href="#3-recognize-the-regional-differences">🔗</a></h3><p>Germany boasts a rich regional diversity, reflected in a wide range of dialects and cultural practices. You must recognize and consider these differences during the localization process. <strong>This may involve offering different product options or marketing messages</strong> that appeal to specific regional tastes or preferences. </p><p>For example, a food product may need to be flavored differently to suit consumers' tastes in Bavaria compared to those in Lower Saxony. Similarly, advertising campaigns can (and should!) be adapted to be in sync with local dialects and cultural references, including phrases and humor that resonate locally.</p><blockquote>Don't hesitate to adapt your marketing message or offer different product options based on regional differences. A food item may need to be flavored differently for customers in Bavaria and Lower Saxony</blockquote><p>A notable success story is that of a multinational beverage company that introduced a range of regionally flavored versions of its drinks. 🍹 In northern Germany, they launched a sea buckthorn-flavored beverage, capitalizing on the fruit's popularity in coastal areas. In contrast, in southern Germany, particularly in regions like Baden-Württemberg, they introduced an elderflower flavor, aligning with the local palate that favors floral and herbal notes. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_52431639.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_52431639.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_52431639.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_52431639.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_52431639.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-optimize-your-ux-and-payment-methods">4. Optimize your UX and payment methods <a class="markdownit-header-anchor" href="#4-optimize-your-ux-and-payment-methods">🔗</a></h3><p>Optimizing the digital customer experience to match local preferences is essential in any localization effort. In the case of Germany, this includes everything <a href="https://localazy.com/blog/21-must-know-design-tools-and-frameworks-for-unforgettable-digital-products">from website design</a> that meets German standards and usability to ensuring all digital platforms are GDPR-compliant. </p><p>In addition, it's important to <strong>tailor payment options to include those most commonly used in Germany, such as PayPal, open invoices, and SEPA bank transfers</strong>, and to ensure websites are optimized for devices and internet speeds that are common in Germany. 📶 This digital optimization improves the user experience and increases consumer trust and loyalty by providing a smooth and secure online environment. </p><h2 id="native-german-professional-translations-your-best-bet">🚃 Native German professional translations: your best bet <a class="markdownit-header-anchor" href="#native-german-professional-translations-your-best-bet">🔗</a></h2><p>A native team of translators and proofreaders is a must when localizing content for the German market. It will ensure no less than high-quality, accurate, culturally appropriate translations and the chance to resonate with the local audience. </p><p>When you look for these services, you'll find that some of the most popular language pairs are:</p><ul><li>🇬🇧<strong> <a href="https://localazy.com/translate/en-de_de">English to German</a></strong></li><li>🇫🇷 <a href="https://localazy.com/translate/fr-de_de"><strong>French to German</strong></a></li><li>🇨🇳 <strong>Simplified Chinese to German</strong></li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_428386996.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1255" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_428386996.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_428386996.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_428386996.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_428386996.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>The relative price points for these translation services can vary based on the complexity of the text, the specialization required, and the urgency of the translation. <strong>Generally, rates can range from €0.10 to €0.20 per word</strong>, with specialized or technical translations potentially costing more due to the expertise needed.</p><h2 id="pick-the-appropriate-country-dialect">🌍 Pick the appropriate country dialect! <a class="markdownit-header-anchor" href="#pick-the-appropriate-country-dialect">🔗</a></h2><p>It is capital to recognize that the German-speaking world extends beyond Germany. This includes countries such as Switzerland, Austria, and Belgium, each with its own unique cultural and linguistic variations. </p><p>For instance, 🇨🇭 <a href="https://hub.localazy.com/en/languages/gsw-swiss-german">Swiss German</a> differs significantly in pronunciation and vocabulary from the standard variety, and there are distinct legal and cultural norms to consider when localizing for Switzerland. Similarly, 🇦🇹 <a href="https://en.wikipedia.org/wiki/Austrian_German">Austrian German</a> carries its own idiomatic expressions and cultural references that are integral to effectively engaging with the local audience. <strong>Don't forget to take these dialectal differences into account when you localize to German</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_96962618.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_96962618.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_96962618.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_96962618.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_96962618.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><blockquote>🎙️ <a href="https://localazy.com/blog/suceeding-in-switzerland-means-localizing-from-day-one-bridging-the-gap-s02-ep09">Listen to Christina Hammer</a>, CEO of Clanq, talk about localizing a fintech product into the Swiss-German market <a href="https://mindnow.io/en/projects/clanq-powered-by-corner">with the help of Localazy</a>.</blockquote><h2 id="mastering-german-l10n-for-success">🪗 Mastering German l10n for success <a class="markdownit-header-anchor" href="#mastering-german-l10n-for-success">🔗</a></h2><p>The potential for growth and expansion in the German market is considerable, but keep in mind that you'll have to invest in a complex and carefully considered localization strategy to establish deep and lasting relationships with its customers. Ultimately, an impactful market entry is one where <strong>companies become visible and are genuinely understood and appreciated by locals</strong>. </p><p>This comprehensive approach to localization is not just about adapting to a new market—it's about becoming an integral part of it. 🧩 With Localazy, you can ensure that your content is not only easy to manage and linguistically accurate but also culturally resonant with the German market. Our Continuous Localization Team, coupled with various integrations and automation workflows to simplify your processes, is designed to help you succeed. Take a look at some of our guides (<a href="https://localazy.com/blog/guide-localazy-translation-services">here</a> and <a href="https://localazy.com/blog/cheatsheet-getting-started-software-localization-tips-tricks">here</a>!) to learn more.</p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/05/DE.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[8 methodologies for efficient and productive localization teams]]></title>
            <link>https://localazy.com/blog/8-methodologies-for-efficient-and-productive-localization-teams</link>
            <guid isPermaLink="false">8-methodologies-for-efficient-and-productive-localization-teams</guid>
            <pubDate>Sat, 16 Aug 2025 12:09:14 GMT</pubDate>
            <description><![CDATA[Distractions and overstimulation can wane your localization team's attention. Learn how to keep it sharp with these proven methods that boost productivity and help you get more work done.]]></description>
            <content:encoded><![CDATA[<p>Focus is the currency of good work. The more attention you can direct to the tasks you want to accomplish, the faster you'll get them done. Localization teams are often working on challenging technical projects that are perhaps not as exciting as scrolling on social media or reading a book, which makes focus hard.</p><p>In a decade when we can access dopamine-inducing activities with a click, getting work done becomes challenging. 😖 This is no different for localization teams, product teams, or other departments. So today, we're taking a look at <strong>how localization teams can increase their productivity to get more work done</strong>. Specifically, we'll analyze eight of the most common and popular methods to turn your to-do lists into effective productivity systems.</p><h2 id="1-gist-goals-ideas-steps-and-tasks">1. G.I.S.T (Goals, Ideas, Steps, and Tasks) <a class="markdownit-header-anchor" href="#1-gist-goals-ideas-steps-and-tasks">🔗</a></h2><p><a href="https://itamargilad.com/the-gist-board-and-other-gist-tools/">G.I.S.T.</a> is a powerful framework that cuts through the confusion of the common to-do lists and unorganized task boards to help you and your teams set clear goals, brainstorm innovative ideas, break them down into actionable steps, and further divide them into manageable tasks. The framework was developed by Itamar Gilad, a well-known product coach and speaker, as well as an ex-Google and Microsoft PM.  </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/GIST-Tree.jpg" class="kg-image" alt loading="lazy" width="1042" height="740" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/GIST-Tree.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/GIST-Tree.jpg 1000w, https://ghost.localazy.com/content/images/2023/12/GIST-Tree.jpg 1042w" sizes="(min-width: 720px) 720px"></figure><p>While it is generally aimed at product planning, it can be applied in various scenarios, from localization projects to your personal life. We have <a href="https://localazy.com/blog/localazy-a-gist-powered-company">implemented GIST at Localazy</a>, with Fibery as our knowledge management system, to bring it to life, and we have seen significant benefits from it.</p><h2 id="2-pdca-plan-do-check-act">2. PDCA (Plan-Do-Check-Act) <a class="markdownit-header-anchor" href="#2-pdca-plan-do-check-act">🔗</a></h2><p>Derived from the continuous improvement philosophy, <a href="https://localazy.com/dictionary/pdca">PDCA</a> is a systematic cycle that can help your localization team plan tasks, execute them, evaluate results, and take corrective actions. The method is straightforward and removes doubts, assumptions, and misconceptions about any process. Most importantly, <strong>it identifies inefficiencies, helping you build smooth workflows and correct mistakes faster</strong>.</p><p>The method is often attributed to <a href="https://www.britannica.com/biography/W-Edwards-Deming">W. Edwards Deming</a>, an American economist, composer, and business theorist who significantly contributed to the <a href="https://localazy.com/dictionary/continuous-improvement">continuous improvement</a> and quality movements. Even though other sources trace it <a href="https://en.wikipedia.org/wiki/PDCA">back to 1620</a> to Francis Bacon's work, he's known for making significant contributions to it, and he even renamed it PDSA (Plan-Do-Study-Act) later on, as he considered studying to be a more relevant descriptor of the third phase. The method itself is pretty self-explanatory: </p><p>1. 📝 <strong>Plan </strong>- Rather than jumping straight into work, outline expectations, processes, timelines, and success metrics. Planning prevents poor execution.</p><p>2. ⚙️ <strong>Do </strong>- Next, implement the planned solution on a small scale while taking note of the results and measuring the impact. </p><p>3. 🔍 <strong>Check </strong>- Assess the quality of the applied plan based on your expectations. Identify what delivered expected outcomes versus what didn't work.  </p><p>4. 🎯 <strong>Act </strong>- Finally, modify the overall approach based on insights found from your analysis and reflection so you get better results the next time.</p><h2 id="3-pinks-autonomy-mastery-and-purpose-framework">3. Pink's "Autonomy, Mastery, and Purpose" Framework <a class="markdownit-header-anchor" href="#3-pinks-autonomy-mastery-and-purpose-framework">🔗</a></h2><p>Daniel Pink's theory emphasizes the significance of giving team members autonomy in their roles, allowing them to master their skills and aligning their tasks with a meaningful purpose. <strong>Applying this framework to your teams' workflows will drive intrinsic motivation</strong> and increase overall productivity.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/Daniel-Pink-Framework.jpg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Daniel-Pink-Framework.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Daniel-Pink-Framework.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/Daniel-Pink-Framework.jpg 1600w, https://ghost.localazy.com/content/images/2023/12/Daniel-Pink-Framework.jpg 1920w" sizes="(min-width: 720px) 720px"><figcaption><em><strong>Source:</strong> </em><a href="https://robertoferraro.substack.com/p/the-puzzle-of-motivation-why-organizations"><em>Roberto Ferraro</em></a></figcaption></figure><p>The keyword here is intrinsic motivation. ⚡️ Intrinsic motivation sparks a will for mastery and purpose, and adding autonomy to the equation results in more productivity gains. Unsurprisingly, when everyone has a strong "why," work becomes much more purposeful and much easier to focus on. Focus on nurturing these three aspects in your team; you'll have better outputs and more productive teams.</p><blockquote>Intrinsic motivation sparks a will for mastery and purpose. When everyone has a strong "why", work becomes much more purposeful and easier to focus on. Pink suggests to nurture these values</blockquote><h2 id="4-time-blocking-eisenhower-matrix">4. Time-blocking + Eisenhower Matrix <a class="markdownit-header-anchor" href="#4-time-blocking-eisenhower-matrix">🔗</a></h2><p>There are many tasks asking for our attention at any time of the day. Our phones are buzzing with notifications from emails, Slack, and other apps we use daily. <strong>When all these prevent you from getting any work done, it's time to sit down and combine these two powerful methods</strong> to make yourself and your team more productive.</p><p>First, start with the <a href="https://www.forbes.com/sites/hillennevins/2023/01/05/how-to-get-stuff-done-the-eisenhower-matrix-aka-the-urgent-vs-the-important/?sh=2f12c55e1b58">Eisenhower Matrix</a>. Jot down all the tasks you need to get done and classify them into four blocks:</p><p>1. 🚨 Urgent and important (prioritize).</p><p>2. 🗓️ Urgent, but not important (delegate).</p><p>3. 👀 Not urgent, but important (schedule).</p><p>4. 🗑️ Not urgent and not important (delete).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/Eisenhower-Matrix-EN.png" class="kg-image" alt loading="lazy" width="1200" height="628" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Eisenhower-Matrix-EN.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Eisenhower-Matrix-EN.png 1000w, https://ghost.localazy.com/content/images/2023/12/Eisenhower-Matrix-EN.png 1200w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://leansixsigmagroep.nl/en/lean-agile-and-six-sigma/eisenhower-matrix/"><em>LeansixsigmaGroep</em></a></figcaption></figure><p>Now that you have a set of tasks that need prioritization, <strong>use time-blocking to schedule a time for them</strong>—basically, schedule set periods for specific work types, from admin to translation to meetings and more.</p><p>For example, assign Monday from 9 am to 12 pm to translate web content only. Tuesday from 9 to 11 am goes for proofreading previous work. Wednesday from 10 to 10:30 am is the standing team sync. Preset blocks create focus and prevent schedule chaos by assigning set homes for tasks living in chaos.</p><h2 id="5-jtbd-jobs-to-be-done">5. JTBD (Jobs to Be Done) <a class="markdownit-header-anchor" href="#5-jtbd-jobs-to-be-done">🔗</a></h2><p>Most success comes from adopting a winning and novel perspective. And <strong>JTBD is a framework that will help you see existing tasks in a new light</strong>. 💡 Whether you're in a managerial position, distributing tasks to your team, or working on localization tasks as a translator, this framework will help you do more impactful work. </p><p>The idea behind <a href="https://localazy.com/dictionary/jtbd">Jobs to Be Done</a> is that every customer doesn't just choose your product. They "hire" them to complete certain jobs for them. When you think of the product you're contributing to as something your customers will hire to get a task done, you win clarity over the tasks you need to do.   </p><p>For example, our <a href="https://localazy.com/">localization software</a> is "hired" to "reduce time spent juggling between translation tasks" and "automate translations without delaying releases." Finance software might get "hired" to "look credible to investors" or "decrease accounting headaches." Since we've adopted this approach, together with G.I.S.T., it's become easier to work on needle-moving tasks without getting distracted by trivialities.</p><blockquote>The JTBD framework operates under one simple premise: when you think of your product as something that your customers will hire to get a task done, you win clarity over the tasks you need to do</blockquote><h2 id="6-agile-methodology">6. Agile Methodology <a class="markdownit-header-anchor" href="#6-agile-methodology">🔗</a></h2><p>Originally tailored for IT teams, the <a href="https://localazy.com/features/release-tags">agile methodology</a> can be applied to almost any business to improve workflows and increase productivity. <strong>It prioritizes quality and performance and focuses less on following strict processes</strong>. Teammates don't work isolated to meet their objectives but are always collaborating. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/Agile-software-dev-1.jpeg" class="kg-image" alt loading="lazy" width="1752" height="814" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Agile-software-dev-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Agile-software-dev-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/Agile-software-dev-1.jpeg 1600w, https://ghost.localazy.com/content/images/2023/12/Agile-software-dev-1.jpeg 1752w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://soldevelo.com/blog/is-agile-always-the-best-solution-for-software-development-projects/"><em>Soldevelo</em></a></figcaption></figure><p>Agile teams favor flexibility, which is much-needed nowadays as users' needs evolve. This leads to more proactive responses to changes and higher quality outputs, especially when work is done in short periods, <a href="https://www.scrum.org/resources/what-is-a-sprint-in-scrum">known as sprints</a>, which push the team to get things done faster and gather and implement feedback as soon as possible.</p><h2 id="7-lean-six-sigma">7. Lean Six Sigma <a class="markdownit-header-anchor" href="#7-lean-six-sigma">🔗</a></h2><p>Lean Six Sigma is <a href="https://en.wikipedia.org/wiki/Lean_Six_Sigma">a mixed framework</a> that combines Lean management principles and Six Sigma principles. Productivity reaches its highest peak when you invest all your resources wisely, and Lean Six Sigma<strong> focuses on eliminating resource wasting while improving the quality of work produced</strong>. </p><p>Eliminating wasted efforts is essential to move through your localization projects with speed. The methodology relies on continuously identifying and removing obstacles in your daily operations to create more value. Here's how you can apply it in localization: </p><p>- 📑 Analyze document review cycles for delay causes.</p><p>- ↪️ Map out translation workflows to eliminate evident delays.</p><p>- ✂️ Cut review inefficiencies by removing unnecessary confirmation steps.</p><blockquote>Lean Six Sigma relies on continuously identifying and removing obstacles in your daily operations to create more value and move your projects ahead</blockquote><h2 id="8-kaizen-continuous-improvement">8. Kaizen (Continuous Improvement) <a class="markdownit-header-anchor" href="#8-kaizen-continuous-improvement">🔗</a></h2><p>Excellence loves company; working with the best makes one better. <a href="https://www.leanproduction.com/kaizen/">The Kaizen philosophy</a> facilitates this through <strong>small but continuous positive progress, gradually raising group standards</strong>. 👣 Kaizen has its roots in Japan, where <a href="https://www.youtube.com/watch?v=F5vtCRFRAK0">Toyota manufacturers raised the quality bar for their production</a> by focusing on small, consistent improvements. Kaizen in itself has a wide application in both professional and personal lives.</p><p>Six key principles behind Kaizen are: </p><p>1. Never stop improving.</p><p>2. Eliminate assumptions.</p><p>3. Solve problems proactively.</p><p>4. Don't put up with the status quo.</p><p>5. Brainstorm solutions as you identify mistakes.</p><p>6. Forget about perfectionism and focus on iterative, adaptive change.</p><p>Applying Kaizen principles in localization contributes to a culture of continuous learning. It allows teams to identify bottlenecks and implement improvements gradually. <strong>Instead of getting overwhelmed by building efficient </strong><a href="https://localazy.com/faq/localization/how-is-localization-done"><strong>localization processes</strong></a><strong> from the start, you can make minor improvements daily</strong>, which reduces pressure and improves results.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_805228495.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_805228495.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_805228495.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_805228495.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_805228495.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><blockquote>🎙️ <a href="https://localazy.com/blog/bridging-the-gap-podcast-s02-ep06-remote-work-without-burnout">Find tips in our Bridging the Gap podcast episode </a>about sustainable remote work in localization (and other industries).</blockquote><h2 id="final-thoughts">✔️ Final Thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>If you want to make your teams more productive, focus on combining methodologies that work for you and sticking to the ones that get the most results. By employing methods like G.I.S.T, PDCA, Daniel Pink's framework, and Kaizen in your localization workflows, you can lead more productive, efficient workdays. And if you're feeling like your localization efforts are all over the place, explore our <a href="https://localazy.com/dictionary/translation-management-system-tms">TMS</a> and bring order to them. <br></p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/05/8-Methodologies-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Arabic localization for beginners: challenges & opportunities for your global brand]]></title>
            <link>https://localazy.com/blog/arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand</link>
            <guid isPermaLink="false">arabic-localization-for-beginners-challenges-opportunities-for-your-global-brand</guid>
            <pubDate>Mon, 08 Jun 2026 16:19:02 GMT</pubDate>
            <description><![CDATA[Arabic is one of the most enduring and varied languages in the world. This ancient tongue, spoken in its different varieties by 420M people worldwide, is key to entering Middle Eastern markets. Here's what you need to know before you take the localization leap.]]></description>
            <content:encoded><![CDATA[<p>The Arabic language stands out as a unique and vibrant thread in the rich tapestry of human communication. Spoken by over 420 million people in the Arab region, <strong>Arabic ranks among the six most popular global languages</strong>,<strong> </strong>and it's<strong> </strong>also an official language of the United Nations. With its deep historical roots and poetic nature, its influence has gone beyond the boundaries of the Arab world, leaving its mark on fields such as science, mathematics, philosophy, and art.</p><p>Economically speaking, inter-Arab trade currently stands at a staggering <strong>$700 billion</strong>, representing approximately 10-11 % of the global trade. 🌍 Arab countries spread from Morocco (west) to the Persian Gulf (east), speaking <a href="https://en.wikipedia.org/wiki/Varieties_of_Arabic">over 32 recorded variations of Arabic</a>, depending on the country, region, and colonial history.</p><p>Even though Arabic has many speakers and a broad global presence –the Arab world alone encompasses <a href="https://data.worldbank.org/indicator/SP.POP.TOTL?locations=1A">a population of 464 million worldwide</a>, including <a href="https://en.wikipedia.org/wiki/Arab_diaspora">nearly 50 million people in the diaspora</a>– Western companies looking to localize in the region still consider it demanding. There are 22 countries in the Arab world, with more than 25 distinct dialects spoken, which poses a challenge for global brands due to cultural nuances.</p><p>In this series, we will examine the primary challenges that companies looking to enter Arabic markets often encounter. We will provide helpful advice for different scenarios – but first, let's delve into the background and fundamentals of Arabic localization.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_119484826.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1330" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_119484826.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_119484826.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_119484826.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_119484826.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="arabic-forms-and-dialects">👳🏽‍♂️🧕🏻 Arabic forms and dialects <a class="markdownit-header-anchor" href="#arabic-forms-and-dialects">🔗</a></h2><p><a href="https://hub.localazy.com/en/languages/ar-arabic">Arabic</a>, a Semitic language within the Afroasiatic language family, has a fascinating array of dialects spoken natively across the Arab world. Understanding its nuances is critical to your brand's success when penetrating Arab markets.</p><p>But firstly, you need to know that Arabic has three different forms <a href="https://www.bidoun.org/articles/the-amiya-fussha-dilemma">based on context</a>:</p><ol><li><strong><a href="https://en.wikipedia.org/wiki/Modern_Standard_Arabic">Modern Standard Arabic (MSA - Fusha)</a></strong>: Used in formal media outlets, literature, and formal settings.</li><li><strong><a href="https://en.wikipedia.org/wiki/Varieties_of_Arabic">Colloquial Arabic (Aamiya)</a></strong>: Varies from country to country and is used in everyday conversation.</li><li><strong><a href="https://en.wikipedia.org/wiki/Classical_Arabic">Quranic (Classical) Arabic</a>:</strong> Used in the study of religion and language sciences.</li></ol><p>There are four major dialects for emerging Arab markets, which are becoming destinations for global brands and have an increasing demand for luxury brands and franchise opportunities.</p><h3 id="egyptian-arabic-110m-speakers">Egyptian Arabic (110M speakers) <a class="markdownit-header-anchor" href="#egyptian-arabic-110m-speakers">🔗</a></h3><p>🇪🇬 <a href="https://hub.localazy.com/en/languages/arz-egyptian-arabic">Egyptian Arabic</a> is a predominant variation in the Arab Media, music, and arts, given that <a href="https://hub.localazy.com/en/regions/eg-egypt">Egypt</a> was a cultural and trading hub for centuries and the link between Asia and Africa.</p><p>Most Arabs understand it, as Egyptian drama and music are very popular across the Arab world. Egyptian Arabic, in fact, has influences from Greek, Italian, English, Ancient Egyptian, Coptic, and French.</p><h3 id="gulf-arabic-58m-speakers">Gulf Arabic (58M speakers) <a class="markdownit-header-anchor" href="#gulf-arabic-58m-speakers">🔗</a></h3><p>Gulf Arabic is the Arabic variation spoken across the Arab Peninsula. It's mainly spoken in the Gulf countries:</p><ul><li>🇸🇦 <a href="https://hub.localazy.com/en/regions/sa-saudi-arabia">KSA</a></li><li>🇦🇪 <a href="https://hub.localazy.com/en/regions/ae-united-arab-emirates">UAE</a></li><li>🇶🇦 <a href="https://hub.localazy.com/en/regions/qa-qatar">Qatar</a></li><li>🇧🇭 <a href="https://hub.localazy.com/en/regions/bh-bahrain">Bahrain</a></li><li>🇰🇼 <a href="https://hub.localazy.com/en/regions/kw-kuwait">Kuwait</a></li><li>🇴🇲 <a href="https://hub.localazy.com/en/regions/om-oman">Oman</a></li></ul><p>Of course, each country has its variation: there are even sub-variants across each region. For instance, in Saudi Arabia, there are the <strong><a href="https://en.wikipedia.org/wiki/Hejazi_Arabic">Hijazi</a>, <a href="https://hub.localazy.com/en/languages/ars-najdi-arabic">Najdi</a>, </strong>and <strong><a href="https://en.wikipedia.org/wiki/Bedouin_Arabic">Bedouin</a></strong> dialects. They're a very rich and distinct form of Arabic, closer to Quranic Arabic. The people of the Gulf excel in poetry, literature, and figurative language.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_246160877.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_246160877.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_246160877.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_246160877.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_246160877.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="levantine-arabic-445m-speakers">Levantine Arabic (44.5M speakers) <a class="markdownit-header-anchor" href="#levantine-arabic-445m-speakers">🔗</a></h3><p>Levantine Arabic is diverse. It includes variations like 🇸🇾 <a href="https://en.wikipedia.org/wiki/Syrian_Arabic"><strong>Syrian Arabic</strong></a><strong>, </strong>🇱🇧 <a href="https://en.wikipedia.org/wiki/Lebanese_Arabic"><strong>Lebanese Arabic</strong></a>, 🇯🇴 <a href="https://en.wikipedia.org/wiki/Jordanian_Arabic"><strong>Jordanian Arabic</strong></a>, and 🇵🇸 <a href="https://en.wikipedia.org/wiki/Palestinian_Arabic"><strong>Palestinian Arabic</strong></a>. </p><p>Due to colonial and historical factors, each dialect has a different slang and influence from foreign languages. For example, Palestinian Arabic has Hebrew influences, Lebanese has French influences, and Syrian has French, English, and Aramaic influences. However, the accent and phonetics are close to each other, and non-natives may not spot the difference. 👂 Think of it as British, Irish, and Scottish English.</p><h3 id="maghrebi-arabic-96m-speakers">Maghrebi Arabic (96M speakers) <a class="markdownit-header-anchor" href="#maghrebi-arabic-96m-speakers">🔗</a></h3><p>Spoken in North West African countries, Maghrebi Arabic includes dialects like 🇲🇦 <strong><a href="https://hub.localazy.com/en/languages/ary-moroccan-arabic">Moroccan</a>, 🇩🇿 <a href="https://hub.localazy.com/en/languages/arq-algerian-arabic">Algerian</a></strong>, and 🇹🇳 <strong><a href="https://hub.localazy.com/en/languages/aeb-tunisian-arabic">Tunisian Arabic</a></strong>. </p><p>Other Arabic dialects, such as <a href="https://en.wikipedia.org/wiki/Mesopotamian_Arabic">Iraqi</a>, <a href="https://en.wikipedia.org/wiki/Sudanese_Arabic">Sudanese</a>, and <a href="https://en.wikipedia.org/wiki/Libyan_Arabic">Libyan</a>, don't have much demand in the global localization market, mainly due to the political conflicts in those countries. </p><p>🥛 Here is an example of the word "لبن" (pronounced <em>labban</em>) and what it means in different dialects:</p><!--kg-card-begin: html--><table class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0" width="423" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; border-collapse: collapse; border: medium;"><tbody><tr style="height: 15.75pt;"><td width="100" valign="bottom" style="width: 75pt; border: 1pt solid rgb(204, 204, 204); padding: 2pt; height: 15.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Word<o:p></o:p></span></p></td><td width="100" valign="bottom" style="width: 75pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(204, 204, 204) rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; border-image: none; padding: 2pt; height: 15.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Pronunciation<o:p></o:p></span></p></td><td width="123" valign="bottom" style="width: 92.25pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(204, 204, 204) rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; border-image: none; padding: 2pt; height: 15.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Variation<o:p></o:p></span></p></td><td width="100" valign="bottom" style="width: 75pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(204, 204, 204) rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; border-image: none; padding: 2pt; height: 15.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Translation<o:p></o:p></span></p></td></tr><tr style="height: 24.75pt;"><td width="100" valign="bottom" style="width: 75pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="right" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: right;"><span lang="AR-SA" dir="RTL" style="font-size: 10pt; line-height: 15.333332px;">لبن</span><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;"><o:p></o:p></span></p></td><td width="100" valign="bottom" style="width: 75pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Laban<o:p></o:p></span></p></td><td width="123" valign="bottom" style="width: 92.25pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Egyptian<o:p></o:p></span></p></td><td width="100" valign="bottom" style="width: 75pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Milk<o:p></o:p></span></p></td></tr><tr style="height: 24.75pt;"><td width="100" valign="bottom" style="width: 75pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="right" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: right;"><span lang="AR-SA" dir="RTL" style="font-size: 10pt; line-height: 15.333332px;">لبن</span><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;"><o:p></o:p></span></p></td><td width="100" valign="bottom" style="width: 75pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Laban<o:p></o:p></span></p></td><td width="123" valign="bottom" style="width: 92.25pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Levantine<o:p></o:p></span></p></td><td width="100" valign="bottom" style="width: 75pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Yogurt<o:p></o:p></span></p></td></tr><tr style="height: 24.75pt;"><td width="100" valign="bottom" style="width: 75pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="right" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: right;"><span lang="AR-SA" dir="RTL" style="font-size: 10pt; line-height: 15.333332px;">لبن</span><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;"><o:p></o:p></span></p></td><td width="100" valign="bottom" style="width: 75pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Laban<o:p></o:p></span></p></td><td width="123" valign="bottom" style="width: 92.25pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Classic Arabic<o:p></o:p></span></p></td><td width="100" valign="bottom" style="width: 75pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Milk<o:p></o:p></span></p></td></tr><tr style="height: 24.75pt;"><td width="100" valign="bottom" style="width: 75pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="right" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: right;"><span lang="AR-SA" dir="RTL" style="font-size: 10pt; line-height: 15.333332px;">لبن</span><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;"><o:p></o:p></span></p></td><td width="100" valign="bottom" style="width: 75pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Laban<o:p></o:p></span></p></td><td width="123" valign="bottom" style="width: 92.25pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Saudi (GCC/Khaliji)<o:p></o:p></span></p></td><td width="100" valign="bottom" style="width: 75pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Yogurt<o:p></o:p></span></p></td></tr></tbody></table><!--kg-card-end: html--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/05/Arabic_Varieties_Map.svg.png" class="kg-image" alt loading="lazy" width="2000" height="1123" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/Arabic_Varieties_Map.svg.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/Arabic_Varieties_Map.svg.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/Arabic_Varieties_Map.svg.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/Arabic_Varieties_Map.svg.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>A general overview of the distribution of Arabic varieties. Source: <a href="https://om.m.wikipedia.org/wiki/File:Arabic_Varieties_Map.svg">Wikimedia Commons</a>.</figcaption></figure><h2 id="5-key-facts-about-the-arabic-language">☪️ 5 key facts about the Arabic language <a class="markdownit-header-anchor" href="#5-key-facts-about-the-arabic-language">🔗</a></h2><p>Arabic is a captivating language with a rich history and intricate nuances. Let's explore some fascinating facts about it.</p><h3 id="1-root-based-word-construction">1. Root-based word construction <a class="markdownit-header-anchor" href="#1-root-based-word-construction">🔗</a></h3><p>Arabic constructs words from basic roots. For example, the root <strong>'k-t-b'</strong> forms writing-related words, such as 📖 <em>kitab</em><strong> </strong>(book) and 📇 <em>maktab</em> (desk or office). This system conveys a depth of meaning and emotion unmatched by many languages.</p><h3 id="2-figurative-speech-metaphors-and-rhyme-scheming">2. Figurative speech, metaphors, and rhyme scheming <a class="markdownit-header-anchor" href="#2-figurative-speech-metaphors-and-rhyme-scheming">🔗</a></h3><p>Arabic is a poetic language that involves complex metaphors and rhyming. This is heavily influenced by the Quranic scriptures, where the verses rhyme fascinatingly and rely heavily on figures of speech to paint the picture. Here's an example:</p><!--kg-card-begin: html--><table class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0" width="624" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; border-collapse: collapse; border: medium;"><tbody><tr style="height: 15.75pt;"><td width="151" style="width: 113.6pt; border: 1pt solid rgb(204, 204, 204); padding: 2pt; height: 15.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Arabic<o:p></o:p></span></p></td><td width="241" style="width: 180.65pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(204, 204, 204) rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; border-image: none; padding: 2pt; height: 15.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Literal Translation<o:p></o:p></span></p></td><td width="232" style="width: 173.65pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(204, 204, 204) rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; border-image: none; padding: 2pt; height: 15.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Meaning<o:p></o:p></span></p></td></tr><tr style="height: 49.5pt;"><td width="151" style="width: 113.6pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; padding: 2pt; height: 49.5pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="AR-SA" dir="RTL" style="font-size: 10pt; line-height: 15.333332px;">ألخَيْـلُ وَاللّيْـلُ وَالبَيْـداءُ تَعرِفُنـي</span><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;"><o:p></o:p></span></p><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="AR-SA" dir="RTL" style="font-size: 10pt; line-height: 15.333332px;">وَالسّيفُ وَالرّمحُ والقرْطاسُ وَالقَلَـم</span><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">ُ<o:p></o:p></span></p></td><td width="241" style="width: 180.65pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 49.5pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">The horses, the night and the deserts know me, and the swords, spears, papers and pens!<o:p></o:p></span></p></td><td width="232" style="width: 173.65pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 49.5pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">The poet is showing off his diverse and contradicting set of skills of horse riding and poetry, as well as fighting with swords and spears<o:p></o:p></span></p></td></tr></tbody></table><!--kg-card-end: html--><h3 id="3-descriptive-terms">3. Descriptive terms <a class="markdownit-header-anchor" href="#3-descriptive-terms">🔗</a></h3><p>Due to its poetic nature, Arabic is rich in descriptive terms. For instance, the following three terms express different nuances of love:</p><p>○    ❤️‍🔥 هيام (<em>hiyām</em>): Infatuation or passionate love.</p><p>○    😍  افتِتان (<em>iftitān</em>): Adoration or being captivated by someone or something.</p><p>○    🔥  وَلَع (<em>walaʿ</em>): Intense affection or burning desire.</p><h3 id="4-arabic-as-a-scientific-language">4. Arabic as a scientific language <a class="markdownit-header-anchor" href="#4-arabic-as-a-scientific-language">🔗</a></h3><p>The Arabic language has played a significant role in the development of scientific knowledge throughout history. Algebra, chemistry, and translation were sciences that flourished in the Arab world and are still of major significance today. 🔬 As a result, many terms in these areas have an Arabic origin, such as algebra, chemistry, celestial navigation, and many others.</p><p>For example, the word ⚗️ alchemy was derived from the Arabic word كيمياء or <em>kīmiyāʾ</em> and may ultimately derive from the ancient Egyptian word <em>kemi</em>, meaning black.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_465695070.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1367" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_465695070.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_465695070.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_465695070.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_465695070.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="challenges-of-arabic-localization">🐪 Challenges of Arabic localization <a class="markdownit-header-anchor" href="#challenges-of-arabic-localization">🔗</a></h2><p>Most global brands face a series of common challenges when entering the Arab market. Let's review them.</p><h3 id="1-choosing-a-dialect">1. Choosing a dialect <a class="markdownit-header-anchor" href="#1-choosing-a-dialect">🔗</a></h3><p>As we already explored, Arabic boasts a rich variety of dialects across different regions. From Egyptian Arabic to Levantine and Gulf dialects, each has unique nuances. Localizing content for a specific dialect can be a bit problematic.</p><p>Most brands new to the Arab markets tend to translate into Modern Standard Arabic (to cut costs/save time), which is only suitable for user manuals, medical, and legal text. However, <strong>for marketing and creative domains, MSA isn't used locally in informal communications</strong>.</p><blockquote>Most brands new to Arab markets tend to translate into MSA, which is only good for user manuals, medical, and legal text, but not for marketing</blockquote><p>Brands like Netflix struggled with their localization strategy in Saudi Arabia. Some Saudi subscribers went as far as making memes calling out and roasting Netflix on Twitter over their "too-literal" translations. Netflix managed to overcome this by localizing into each locale individually and eventually becoming a staple in most modern Arab households.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_188761668.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_188761668.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_188761668.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_188761668.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_188761668.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-language-complexity">2. Language complexity <a class="markdownit-header-anchor" href="#2-language-complexity">🔗</a></h3><p>Arabic is a complex language with intricate grammar rules, verb conjugations, and noun declensions. Translators must navigate these complexities to ensure accurate and culturally relevant content.</p><p>Here is an example of a word that can have varied meanings based on context and the presence of diacritics:</p><!--kg-card-begin: html--><table class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0" width="389" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; border-collapse: collapse; border: medium;"><tbody><tr style="height: 15.75pt;"><td width="100" style="width: 75pt; border: 1pt solid rgb(204, 204, 204); padding: 2pt; height: 15.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Word<o:p></o:p></span></p></td><td width="100" style="width: 75pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(204, 204, 204) rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; border-image: none; padding: 2pt; height: 15.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Pronunciation<o:p></o:p></span></p></td><td width="189" style="width: 5cm; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(204, 204, 204) rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; border-image: none; padding: 2pt; height: 15.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Translation<o:p></o:p></span></p></td></tr><tr style="height: 24.75pt;"><td width="100" style="width: 75pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="AR-SA" dir="RTL" style="font-size: 10pt; line-height: 15.333332px;">ملِك</span><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;"><o:p></o:p></span></p></td><td width="100" style="width: 75pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Malik<o:p></o:p></span></p></td><td width="189" style="width: 5cm; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">King<o:p></o:p></span></p></td></tr><tr style="height: 24.75pt;"><td width="100" style="width: 75pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="AR-SA" dir="RTL" style="font-size: 10pt; line-height: 15.333332px;">مَلَك</span><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">َ<o:p></o:p></span></p></td><td width="100" style="width: 75pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Malak<o:p></o:p></span></p></td><td width="189" style="width: 5cm; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Owned<o:p></o:p></span></p></td></tr><tr style="height: 24.75pt;"><td width="100" style="width: 75pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="AR-SA" dir="RTL" style="font-size: 10pt; line-height: 15.333332px;">مَلَك</span><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;"><o:p></o:p></span></p></td><td width="100" style="width: 75pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Malak<o:p></o:p></span></p></td><td width="189" style="width: 5cm; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Little Angel<o:p></o:p></span></p></td></tr><tr style="height: 24.75pt;"><td width="100" style="width: 75pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="AR-SA" dir="RTL" style="font-size: 10pt; line-height: 15.333332px;">مُلْك</span><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;"><o:p></o:p></span></p></td><td width="100" style="width: 75pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Molk<o:p></o:p></span></p></td><td width="189" style="width: 5cm; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; padding: 2pt; height: 24.75pt;"><p class="MsoNormal" align="center" style="margin: 0cm; line-height: 16.866667px; font-size: 11pt; font-family: Arial, sans-serif; text-align: center;"><span lang="EN" style="font-size: 10pt; line-height: 15.333332px;">Property/State of being owner<o:p></o:p></span></p></td></tr></tbody></table><!--kg-card-end: html--><h3 id="3-different-cultural-sensitivities">3. Different cultural sensitivities <a class="markdownit-header-anchor" href="#3-different-cultural-sensitivities">🔗</a></h3><p>Arab culture is not monolithic; it varies across countries and regions. 🗺️ Understanding cultural nuances and showing respect are essential when interacting with Arab individuals. </p><p>Arabs are mostly conservative: religion and traditions play a significant part in shaping the culture and reflect on consumer behavior to a great extent. Therefore, <strong>the way to address Arab users in commercial communications differs from what we're used to in Western societies</strong>. For instance, gambling is highly prohibited in most Arab countries, with the implications that this has on certain commercial content, and adult and explicit content is frowned upon.</p><h3 id="4-difficult-formatting">4. Difficult formatting <a class="markdownit-header-anchor" href="#4-difficult-formatting">🔗</a></h3><p><strong>Arabic is a script written from right to left (RTL)</strong>. This poses formatting challenges, as text alignment and layout require meticulous attention. When choosing a translation management system, it is important to ensure that RTL languages like Arabic are supported to avoid the unnecessary costs and wasted time needed to fix incompatibility issues.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_306533451.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1554" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_306533451.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_306533451.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_306533451.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_306533451.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Although Modern Arabic is bidirectional when it comes to text processing, formatting, and bidi algorithms, Arabic is inherently a right-to-left (RTL) language. There are two instances when this script is written from left to right (LTR): in the case of 📲 <strong>Franco-Arab</strong>, <a href="https://www.arabamerica.com/unofficial-arabic-texting-language-franco/">an informal form of written Arabic</a> mainly used on social media and texting that was popularized among millennials, and in the case of 🇸🇸 <a href="https://en.wikipedia.org/wiki/Juba_Arabic"><strong>Juba Arabic</strong></a>, a written Arabic dialect only used in Juba (Sudan), which it's not recognized by many as an official language.</p><h3 id="5-poetic-and-figurative-language">5. Poetic & figurative language <a class="markdownit-header-anchor" href="#5-poetic-and-figurative-language">🔗</a></h3><p>Arabic is poetic and often employs metaphors, similes, and idiomatic expressions. Translating these figurative elements while preserving their essence is an art. ✍️ Machine translation hasn't shown much reliability in decoding the Arabic language's complex figures, metaphors, and emotions yet. </p><blockquote>Translating figurative elements, which are commonly found in Arabic, is an art. So far, machine translation hasn't shown much reliability in decoding the complex figures, metaphors and emotions of the language</blockquote><p><strong>For these poetic nuances to translate well, it is essential to have language experts with relevant subject matter experience who are native to your targeted countries</strong>. Brands that rely solely on MT when localizing their content usually receive major backlash and harsh criticism, especially in the frontier Gulf markets (Saudi Arabia, UAE, and Qatar). Leveraging technology (MT/AI) and human expertise is the way to go.</p><h3 id="6-arabization-vs-localization">6. Arabization vs. localization <a class="markdownit-header-anchor" href="#6-arabization-vs-localization">🔗</a></h3><p>Arabization involves adapting foreign content to Arabic-speaking markets, while localization goes beyond language to consider cultural context, imagery, and user experience. Western companies tend to choose the former and forget about the latter.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_309490791.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_309490791.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_309490791.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_309490791.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_309490791.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-to-localize-to-arabic-where-to-begin">🕌 How to localize to Arabic: Where to begin? <a class="markdownit-header-anchor" href="#how-to-localize-to-arabic-where-to-begin">🔗</a></h2><p>Once you are aware of the specific challenges that may arise when localizing to Arab markets, where should you start? To begin with, it's essential to recognize that <strong>people must feel acknowledged and valued before presenting any product or service to them</strong>. Here are a few recommended approaches when localizing your content to Arabic.</p><h3 id="do-proper-market-research">Do proper market research <a class="markdownit-header-anchor" href="#do-proper-market-research">🔗</a></h3><p>Before diving into full-scale localization, assess and understand the targeted countries. Thus, <strong>it's preferred that you have a team from each country/region</strong> you want to expand to. Consult with local experts and make sure to find the right team of professional translators and proofreaders fit for the task.</p><h3 id="choose-the-right-tools">Choose the right tools <a class="markdownit-header-anchor" href="#choose-the-right-tools">🔗</a></h3><p>Having the right CAT tools and TMSs that support Arabic and RTL languages is paramount. If you are thinking of turning to AI-assisted translation &amp; NMT (Neural Machine Translation) due to time or budget constraints, <strong>make sure to have a local team at hand to assess and adapt the output</strong> to local markets.</p><h3 id="understand-arabic-nuances">Understand Arabic nuances <a class="markdownit-header-anchor" href="#understand-arabic-nuances">🔗</a></h3><p>This goes without saying, but make sure to speak to your users in the dialect of the region you're targeting. Arabic has dozens of dialects. 🗣️ Understanding regional variations and cultural nuances is key to implementing a successful localization strategy.</p><h3 id="be-culturally-sensitive">Be culturally sensitive <a class="markdownit-header-anchor" href="#be-culturally-sensitive">🔗</a></h3><p>Arabic-speaking nations share common cultural values but also have unique customs and taboos. You should consider adapting your content accordingly. Explicit or offensive content, foul language, and promotion of alcohol, tobacco, gambling, and related products are highly restricted in the Arab markets.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_209629214.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_209629214.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_209629214.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_209629214.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_209629214.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="work-on-graphic-localization">Work on graphic localization <a class="markdownit-header-anchor" href="#work-on-graphic-localization">🔗</a></h3><p>An Arabic/RTL DTP (desktop-publishing) team is essential when localizing graphics in Arabic content. <strong>Western languages are mostly left to right (LTR), while Arabic is right to left (RTL)</strong>. This can be tricky to implement, as all images and graphics must be rotated 180 degrees.</p><p>Choosing the right formats, DTP software that supports RTL, and experts who will implement the graphics localization will ensure the highest quality of output. This will also cut down costs and time, reducing the need for localization engineering and minimizing formatting and quality issues.</p><blockquote>Having a good desktop-publishing team is essential to localize graphics in Arabic, as the script is written from right to left. Thus, all images and graphics will have to be rotated 180 degrees</blockquote><h3 id="qa-is-paramount">QA is paramount <a class="markdownit-header-anchor" href="#qa-is-paramount">🔗</a></h3><p><a href="https://localazy.com/faq/localization/what-is-localization-testing-in-software-testing">Ongoing user testing, feedback, review, and analysis</a> are essential for a winning localization strategy, especially with the Arabic language, which poses formatting and cultural adaptation challenges. This means that <strong>you'll need to take special care of the reviewing and refining process</strong>. Collaborate closely with clients and linguists throughout it and send feedback and approval at key milestones. </p><p>A poorly localized product can lead to a poor user experience. Reviewing helps identify areas where the user experience may suffer due to inaccuracies and maintains consistency across all localized content. <a href="https://localazy.com/blog/top-9-ux-translation-problems-and-how-to-solve-them#6-not-using-a-consistent-terminology">Consistent terminology, style, and tone</a> enhance brand identity.</p><p>😓 Here is an example of a lousy UI in Arabic, where the localizers definitely never considered doing some A/B testing or checking how Arabic would look in the final product:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/Imagen-1.jpg" class="kg-image" alt loading="lazy" width="1190" height="718" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/Imagen-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/Imagen-1.jpg 1000w, https://ghost.localazy.com/content/images/2024/05/Imagen-1.jpg 1190w" sizes="(min-width: 720px) 720px"></figure><p>You can see that the word (Arabic - العربية) is written backward (left to right), and it looks like gibberish. Refining ensures that the language flows naturally, making the product more user-friendly and ensuring that the content complies with the cultural and legal aspects of the targeted countries/audiences.</p><h3 id="never-use-google-translate">Never use Google Translate! <a class="markdownit-header-anchor" href="#never-use-google-translate">🔗</a></h3><p><a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">Machine translation still has a long way to go</a>, especially when it comes to translating between languages from different language families, like Arabic and English. <strong>Ultimately, you may end up investing more time and money in correcting the errors made by a machine than if you had hired a professional human translator</strong>. This is not to mention the potential damage to your reputation from presenting an embarrassing mistranslation to your audience. Here is an example caught in the wild:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/pixelcut-export.jpeg" class="kg-image" alt loading="lazy" width="960" height="538" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/pixelcut-export.jpeg 600w, https://ghost.localazy.com/content/images/2024/04/pixelcut-export.jpeg 960w" sizes="(min-width: 720px) 720px"></figure><p>In this specific instance, "green onion leaves" was translated into "green onions should leave." 😬</p><h2 id="the-opportunity-of-localizing-to-arabic">🤲 The opportunity of localizing to Arabic <a class="markdownit-header-anchor" href="#the-opportunity-of-localizing-to-arabic">🔗</a></h2><p>While the Arab population is relatively small compared to the overall global population, its cultural, economic, and geopolitical significance remains substantial. Understanding Arab cultural nuances and implementing a successful localization strategy for the Arab-targeted audience is key for global businesses seeking to grow their brands in Arab and Middle Eastern countries.</p><p>Localazy combines the technology, expertise, and efficiency to support your entry into Arabic-speaking markets. By leveraging our tools and services, including <a href="https://localazy.com/docs/integrations/quick-start-go">our integrations</a>, <a href="https://localazy.com/blog/guide-localazy-translation-services">CLT</a>, and <a href="https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization">automation tools</a>, you can confidently reach your target audience with accurate and culturally relevant content.</p>]]></content:encoded>
            <author>Ahmed Megahed</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/06/ArabicLocal---Challenges-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Why and how to provide local expertise to foreign clients?]]></title>
            <link>https://localazy.com/blog/why-and-how-to-provide-local-expertise-to-foreign-clients</link>
            <guid isPermaLink="false">why-and-how-to-provide-local-expertise-to-foreign-clients</guid>
            <pubDate>Thu, 21 Aug 2025 13:46:17 GMT</pubDate>
            <description><![CDATA[Adding localization to your offer can make your digital agency stand out. However, you'll need local expertise to guide your clients in their target markets. Help them succeed with these strategies.]]></description>
            <content:encoded><![CDATA[<p>You've finally signed a new client who's serving a multilingual market. They're asking you to <a href="https://localazy.com/blog/enter-new-markets-with-quality-localization">help them become household names</a> and not just dip their toes into the market. Or perhaps you have a client who's not getting enough results for them to keep working with your agency.</p><p>Whatever the scenario is, <strong>adding localization to the list of services you offer separates you from other agencies</strong>, helping you acquire and retain more clients. In this article, we'll look at the reasons behind this and explore some strategies to recruit local experts from international markets.</p><h2 id="the-key-to-stand-out">🏮 The key to stand out <a class="markdownit-header-anchor" href="#the-key-to-stand-out">🔗</a></h2><p>Winning brands don't doubt the value of localization. They do it because they know it's a must for them to win in the markets they're trying to conquer. Such clients who don't doubt the value of localization are characterized by a few traits: </p><ul><li>📣 They have an international audience (which means high profits).</li><li>📈 They have a product/service with the potential to grow further.</li><li>🗺️ They're apt to build a brand that will adapt easily to multiple cultures.</li></ul><p>This is why <a href="https://localazy.com/blog/power-of-localization-why-digital-agencies-cant-afford-to-ignore-this-service">your agency needs to offer localization as a service</a>. Because a business that is expanding to new countries is a business that's growing. And a growing company doesn't only need localization. It needs other services, such as marketing, design, and account management, that your agency is already offering.</p><p>So, with these in mind, we can conclude that localization is your next best strategy to get new clients or retain existing ones. With localization, you're offering your clients a way to cement their reputation in new markets while creating a need for your services. </p><blockquote><strong>🗺️ Related: <a href="https://localazy.com/blog/enter-new-markets-with-quality-localization">How to help your clients enter new markets with quality localization</a></strong></blockquote><p>Localization is powerful because it makes a brand, no matter where it was founded, feel as if it was created for the local country that it is expanding to. Now, the key to offering this level of localization is to work with local experts. These can be linguists, writers, <a href="https://localazy.com/term/professional-translation-services">professional translators</a>, cultural analysts, market experts, or marketing professionals who have a close understanding of the local customs, culture, and language and are preferably native.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_287902612.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_287902612.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_287902612.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_287902612.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_287902612.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="why-does-it-make-a-difference">🤔 Why does it make a difference? <a class="markdownit-header-anchor" href="#why-does-it-make-a-difference">🔗</a></h2><p>You can always find cheap translators, proofreaders, culture analysts, or linguists for low prices online, but they're likely to hurt your business. If you genuinely want to offer quality localization to your clients, you need to <a href="https://localazy.com/features/continuous-localization-team">bring together local experts</a> who know the ins and outs of the target language. </p><p>Four reasons why local experts are your best bet are:</p><h3 id="native-is-always-better">Native is always better <a class="markdownit-header-anchor" href="#native-is-always-better">🔗</a></h3><p>To understand why local expertise is essential, you need to understand the depth of localization. Localization focuses on the nuances of a language rather than a simple translation. 🔍 For instance, one of the critical concepts in localization is <a href="https://localazy.com/dictionary/locale">locale translation</a>. </p><p>Locales differ from languages. You can have a website translated from Spanish to English in terms of languages. But usually, <strong>you need to go deeper and adjust to certain markets for localization</strong>. For instance, if you're expanding into the 🇬🇧 UK, you need to adapt it for the UK locale. If you're expanding into 🇦🇺 Australia, you must adapt the language and other elements for the Australian locale. </p><p>The locale includes several elements, from dialects to currencies, color nuances, imagery, and more. Only a native expert can help you localize digital content to such depth.</p><h3 id="locals-know-what-works">Locals know what works <a class="markdownit-header-anchor" href="#locals-know-what-works">🔗</a></h3><p>Imagine trying to tell a joke in another language – it might land flat or, worse, come across as offensive. Local experts ensure your message hits the bullseye every time. A non-native language professional can provide you with textbook accuracy when it comes to adapting specific texts or other elements for the target culture, but <strong>a native speaker is aware of subtle differences </strong>that could make or break your message.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_393005070.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_393005070.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_393005070.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_393005070.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_393005070.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="locals-understand-social-trends">Locals understand social trends <a class="markdownit-header-anchor" href="#locals-understand-social-trends">🔗</a></h3><p>Society evolves quickly, and the knowledge that a non-native speaker of the target language might have acquired about the target market could be outdated. 😅 You could end up producing content that is dull and even alien to the user base. </p><p>That's a big no-no you will want to avoid at any cost for your clients and yourself. But when hiring local experts, this becomes infinitely easier. Social media trends move faster than a hummingbird on Red Bull, and cultural norms can vary wildly from place to place.</p><p><strong>Locals have their fingers on the pulse of what's hot and what's not</strong>, ensuring your campaigns don't land with a thud by referencing a trend that's already been retired.</p><h3 id="you-can-get-valuable-business-insights">You can get valuable business insights <a class="markdownit-header-anchor" href="#you-can-get-valuable-business-insights">🔗</a></h3><p>Besides the linguistic aspect, business regulations are also important when expanding to a new country. That's when hiring local business experts becomes crucial. Local business experts can provide invaluable insights into your target audience's specific needs and preferences. </p><p><strong>They know the competition, the regulations, and the economic landscape</strong> – basically, they're your secret weapon for navigating the market like a pro. This knowledge lets you tailor your offerings to local needs, maximizing your impact and boosting your bottom line.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_497176884-2.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1299" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_497176884-2.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_497176884-2.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_497176884-2.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_497176884-2.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="tips-to-incorporate-local-expertise">🖇️ Tips to incorporate local expertise <a class="markdownit-header-anchor" href="#tips-to-incorporate-local-expertise">🔗</a></h2><p>Now, let us look into the practical guide to building local expertise for your teams. Whether your agency offers software, marketing, or other services/products, here are some key scenarios for building and incorporating local knowledge into your offer. We're addressing every kind of agency under the umbrella of digital agencies.</p><h3 id="if-you-are-a-local-digital-agency">If you are a local digital agency <a class="markdownit-header-anchor" href="#if-you-are-a-local-digital-agency">🔗</a></h3><p>While the blueprint is similar for all agencies, a few details differ. So, let us start with the first one: digital agencies focused on one territory. </p><p>Here are five tips to help you gather local expertise and package it into your services:</p><h4 id="1-build-a-strong-native-team">1. Build a strong native team</h4><p>The first one is pretty obvious. Get a team of real native experts who know their stuff. 😎 It's up to you whether you hire a full-time in-house or remote team. Either way, you can hire these experts through freelancing platforms like Upwork, LinkedIn, Indeed, and Glassdoor. As a local digital agency, hiring freelancers might be the best option.</p><h4 id="2-provide-case-studies">2. Provide case studies</h4><p>Show your potential clients what you've achieved so far. At this point, they want to know if you're really capable of helping them localize for new markets. Since you're a local agency, don't go too broad and provide case studies about your chosen region.</p><h4 id="3-create-a-solid-partner-network">3. Create a solid partner network</h4><p>If you want to build a stable revenue stream, you need to pay attention to building your partner network. Don't focus on making it all alone. Partner with other agencies specializing in other fields and <strong>exchange referrals to serve your clients better</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_301813801.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_301813801.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_301813801.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_301813801.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_301813801.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Chances are that you will get more clients and will do better work for the ones you have. Partnering up with other agencies means that you will offer your clients more than just your services, and the more problems you solve for your clients, the more they will want to work with you.</p><h4 id="4-build-cultural-authority">4. Build cultural authority</h4><p>You gotta walk the walk, not just talk the talk. 🚶‍♀️‍➡️ Get your agency involved in local events, conferences, and online communities. <strong>Share your expertise, show your passion for the local culture, and become a thought leader in the space</strong>. </p><p>The more you're seen as a local expert, the more clients will trust you to handle their global marketing and localization needs. You can achieve this by attending events and having your team members, such as linguists and culture specialists, discuss their expertise while representing your brand.</p><blockquote>🎙️What's the best approach to marketing for B2B companies?<a href="https://localazy.com/blog/s01-ep-01-bridging-the-gap-podcast"> Learn from our Bridging the Gap podcast episode</a> about impactful marketing strategies for growth with our CMO, Jakub Dubec, and Lukas Mehnert, CMO consultant.</blockquote><h4 id="5-consider-specializing-in-a-single-industry">5. Consider specializing in a single industry</h4><p>Don't go too broad when choosing what clients to serve. <strong>The smaller the niche you choose, the easier it will be for you to position yourself</strong> <strong>as an expert </strong>and get the most clients. You can specialize in tourism, retail, fashion, or health. It all depends on your team's expertise and what's highly sought in the market you're serving (or intend to serve).</p><p>Maybe you will become the go-to agency for 🏖️ tourism marketing in Southeast Asia or for 🛍️ retail companies in Eastern Europe. By focusing your expertise, you can build authority faster in that industry as the best local agency in the space.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_130045531.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_130045531.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_130045531.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_130045531.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_130045531.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="if-you-are-an-international-digital-agency">If you are an international digital agency <a class="markdownit-header-anchor" href="#if-you-are-an-international-digital-agency">🔗</a></h3><p>In this case, things can get slightly more complicated. At this point, <strong>you need to be more strategic</strong> about incorporating localization into your offer. You can't afford to offer localization in small markets or have it cost more than your primary services. </p><p>Here are some tips for your international digital agency to avoid these mistakes:</p><h4 id="1-pick-your-main-markets">1. Pick your main markets</h4><p>An international agency is expected to serve multiple markets at once, but you'll have more chances to grow if you <strong>focus on serving a few specific markets </strong>rather than many. Focus on a few of the top markets in which you know you can establish yourself as an expert in, and keep your eyes off the rest. </p><p>They'll just confuse you. Picking only a few key markets makes it easier for you to offer the best localization services and provide meaningful tips for your industry. Choose markets that best serve your team and the expertise you offer.</p><h4 id="2-invest-in-partnerships-that-make-sense">2. Invest in partnerships that make sense</h4><p>Partnerships are critical to get more clients and serve the ones you have well. <strong>Specifically, partnerships with local agencies can be highly beneficial</strong>. 🤝 By working with them, you can outsource a difficult part of your project and have their help for culture-specific matters. By consulting with them, you can gain the expertise needed to expand in a particular market and offer the best services to your clients.</p><p>These partnerships provide in-country support, cultural insights, and access to local talent. Vet potential partners based on their industry knowledge, reputation, and alignment with your agency's values.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_345656831.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_345656831.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_345656831.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_345656831.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_345656831.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h4 id="3-promote-synergies-in-your-network">3. Promote synergies in your network</h4><p>Consider your network of partners as part of your team to some extent. Don't just call them when you need help; instead, stay in touch regularly and exchange advice with one another. 📞</p><p>Encourage collaboration and knowledge sharing between your agency and your local partners. Regularly scheduled meetings, shared best practices, and joint projects can leverage each organization's strengths and <strong>ensure you win in your respective industries</strong>.</p><h4 id="4-hire-a-team-of-consultants-for-local-reports-and-insights">4. Hire a team of consultants for local reports and insights</h4><p>They say that you can't improve what you can't measure. 📊 So, invest in hiring a team of consultants who can produce local reports and provide you with industry insights if you want to stay ahead of the competition and provide excellent localization.</p><p>The expertise of local consultants who can provide in-depth market reports and cultural insights will keep you from making miscalculated decisions. <strong>Supplementing your internal knowledge with local perspectives minimizes the risk of cultural missteps</strong> and maximizes the effectiveness of your campaigns.</p><h4 id="5-invest-in-solid-support-teams-and-support-tech">5. Invest in solid support teams and support tech</h4><p>Now that you have assembled your team of experts, it's time to make sure you are prepared for any inconvenience. Up to this point, you focused on bringing the best experts to provide impeccable localization for your foreign clients. But now, we'll look at an equally important issue: <a href="https://localazy.com/blog/the-evolution-of-customer-communication-examining-emerging-trends-and-making-predictions-for-the-future">providing support</a> and using efficient tech. </p><p><strong>You must ensure that there's a multilingual support team</strong> that can respond to any query for your clients. In the best-case scenario, localization will bring more business for your client; in the worst-case scenario, it might bring more questions and complaints. You need a solid support team to resolve these requests effectively during both times.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_534487849.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1328" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_534487849.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_534487849.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_534487849.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_534487849.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="make-it-easier-with-the-right-tech">✅ Make it easier with the right tech <a class="markdownit-header-anchor" href="#make-it-easier-with-the-right-tech">🔗</a></h2><p>Meanwhile, select the right technology to implement for your clients. This will save time and money for you and your client, making finding and managing local expertise easier. When we talk about localization, the necessary technology you need includes: </p><ul><li><strong>📝 Translation Management Systems (TMS)</strong>.<strong> </strong><a href="https://localazy.com/blog/localization-for-managers-guide-to-choosing-the-right-tms">A TMS platform</a>, like Localazy, streamlines workflows, manages translation memories (so you don't re-translate the same sentence a million times!), and keeps your team organized across borders. You should pick one with <a href="https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization">automation features</a> that is intuitive, secure, and allows you to manage permissions for each member (which is necessary for large teams.)</li><li><strong>🤹‍♂️ Project management tool</strong>. Juggling multiple projects and deadlines? Project management tools are a must-have. These platforms, such as <a href="https://asana.com/es">Asana</a>, <a href="https://clickup.com">ClickUp</a>, or <a href="https://localazy.com/blog/localazy-a-gist-powered-company#how-we-use-it">Fibery</a>, keep everyone on the same page, ensuring smooth task assignment and timely delivery. They also serve as databases where you can keep and organize your data.</li><li><strong>💬 Collaboration platforms.</strong> Distance shouldn't be a barrier. Collaboration platforms like Slack or Google Meet keep your team connected no matter their location. Pick one platform that works for everyone and stay coordinated.</li><li><strong>🤳 Network discovery and social media management tools. </strong>Choose tools like <a href="https://buffer.com">Buffer</a> or <a href="https://publer.io">Publer</a> to facilitate the distribution and management of multilingual content on social media. And use network discovery tools to save time when finding local influencers, bloggers, and other field experts.</li><li><strong>💰 Global payment tools. </strong>International business can get messy financially. Global payment tools make cross-border purchases and hiring stressless, so adopt one that works for you. Also, consider using budget trackers. They give you real-time spending insights, allowing you to stay on budget and avoid surprises.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/05/image--11--1.png" class="kg-image" alt loading="lazy" width="1406" height="752" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/image--11--1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/image--11--1.png 1000w, https://ghost.localazy.com/content/images/2024/05/image--11--1.png 1406w" sizes="(min-width: 720px) 720px"><figcaption>An efficient TMS is critical for your performance if you offer localization services.</figcaption></figure><p>The right technology will help you stay sharp and provide the best service for your clients. Things can get challenging with time, but overall, the right tech can help you stay more organized and save time. You want to provide the best services for your clients, and nothing is more important than saving time in these scenarios.</p><h2 id="conclusion">📌 Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Equipping your agency with local expertise is a long-term investment in client success and agency growth. <strong>When you add localization to your agency's suite of services, you're making your offer more compelling and your clients more successful</strong>, which also rewards you. </p><p>At Localazy, we help digital agencies leverage localization efficiently with features like <a href="https://localazy.com/docs/general/language-permissions">permission management</a> for local teams, <a href="https://localazy.com/tags/workflows">automated workflows</a>, and an intuitive interface. We make it easier for you to gather local experts and offer top-notch localization services by providing you with an entire team of native professional translators and reviewers (more info <a href="https://localazy.com/blog/guide-localazy-translation-services">here</a>).</p><p>Try our <a href="https://localazy.com/tiers/autopilot">Autopilot plan</a> built for agencies and let our Continuous Localization Team connect you with the perfect translation team. <a href="https://localazy.com/for/digital-agencies">Visit Localazy</a> today and make your services/products irresistible with localization as an ace up your sleeve.</p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/08/Local-expertise.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localization for the French Canadian market: How to build brand loyalty in Quebec]]></title>
            <link>https://localazy.com/blog/localization-for-the-french-canadian-market-how-to-build-brand-loyalty-in-quebec</link>
            <guid isPermaLink="false">localization-for-the-french-canadian-market-how-to-build-brand-loyalty-in-quebec</guid>
            <pubDate>Thu, 24 Jul 2025 16:20:02 GMT</pubDate>
            <description><![CDATA[Why do businesses fail to operate in the French Canadian market, especially when it comes to Quebec? Do you want to solve this mystery? Here’s what you should consider in your localization strategy to succeed in La Belle Province.]]></description>
            <content:encoded><![CDATA[<p>When deciding if you are going to localize to Canadian French, you have to consider the fact that <a href="https://www.canada.ca/en/canadian-heritage/services/official-languages-bilingualism/publications/facts-canadian-francophonie.html">there are French Canadians scattered from coast to coast</a>. Will your product or service be offered to French speakers everywhere, or mainly in Quebec? 🤔 This may play a role in how you choose to approach your localization. You may use different logos for Quebec and the rest of Canada, or you may need two versions of French based on user location. We'll explore this specific topic in this article.</p><p>Most French speakers within Canada are, of course, located in Quebec, but a significant number live in other provinces and territories. If you use Quebec-specific local references, will they be understood by other French speakers who don't live in Quebec? Let's explore how French evolved, <strong>how to localize effectively for French Canadian audiences, and</strong> the current state of French in both Quebec and the Rest of Canada (ROC) is.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_243787634.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_243787634.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_243787634.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_243787634.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_243787634.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-languages-spoken-in-canada">🍁 The languages spoken in Canada <a class="markdownit-header-anchor" href="#the-languages-spoken-in-canada">🔗</a></h2><p><strong>Canada is a bilingual country that recognizes both English and French as its official languages</strong>. Of its <a href="https://www150.statcan.gc.ca/n1/daily-quotidien/231219/dq231219c-eng.htm">over 40 million inhabitants</a>, roughly <a href="https://www150.statcan.gc.ca/n1/daily-quotidien/220817/dq220817a-eng.htm">40% can carry a conversation in both languages</a>.</p><p>Canada has <a href="https://www.canada.ca/en/immigration-refugees-citizenship/corporate/publications-manuals/discover-canada/read-online/canadas-regions.html">ten provinces and three territories</a>. The Canadian Government operates in both languages at the federal level, from its website to the House of Commons. However, each province is free to choose its own official language. 🗣️ As such, New Brunswick is the only province that fully recognizes both official languages, while Quebec only recognizes French. All other provinces and territories recognize English as their official language, but <a href="https://langcom.nu.ca/investigation-process/your-linguistic-rights#:~:text=The%20Official%20Languages%20Act%20for,History%20of%20Nunavut's%20Language%20Laws.&amp;text=The%20Inuit%20language%20includes%20Inuinnaqtun%20and%20Inuktitut.">Nunavut also recognizes English, French, and Inuit</a>.</p><p>We cannot minimize the fact that there are also strong French communities in Ontario and Manitoba and a growing number of francophones in British Columbia.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/pexels-lara-jameson-8828582.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/pexels-lara-jameson-8828582.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/pexels-lara-jameson-8828582.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/pexels-lara-jameson-8828582.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/pexels-lara-jameson-8828582.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>If you are building a well-rounded localization strategy, you should understand that <strong>Canada is also </strong><a href="https://www150.statcan.gc.ca/n1/en/pub/11-627-m/11-627-m2022051-eng.pdf?st=Sx5vMp2a"><strong>a diverse country</strong></a><strong> that includes </strong><a href="https://www150.statcan.gc.ca/n1/daily-quotidien/220817/dq220817a-eng.htm?indid=32989-1&amp;indgeo=0"><strong>a melting pot of other languages</strong></a><strong> </strong>such as <a href="https://hub.localazy.com/en/languages/zh-chinese">Mandarin</a> (531 k), <a href="https://hub.localazy.com/en/languages/pa-punjabi">Punjabi</a> (520 k), <a href="https://hub.localazy.com/en/languages/es-spanish">Spanish</a> (317 k), <a href="https://www.canadianarabinstitute.org/facts">Arabic</a> (286 k), <a href="https://hub.localazy.com/en/languages/tl-tagalog">Tagalog</a> (275 k), and <a href="https://hub.localazy.com/en/languages/ur-urdu">Urdu</a> (158 k). Some companies opt to add some of these languages to their Canadian offerings, but you should make sure you understand your audience well before making this decision.</p><p>Lastly, there are also indigenous cultures of First Nations, <a href="https://hub.localazy.com/en/languages/crg-michif">Métis</a>, and Inuit people who speak their own languages, such as <a href="https://hub.localazy.com/en/languages/iu-inuktitut">Inuktitut</a>, <a href="https://hub.localazy.com/en/languages/ojs-oji-cree">Oji-Cree</a>, <a href="https://hub.localazy.com/en/languages/chp-chipewyan">Dene</a>, <a href="https://hub.localazy.com/en/languages/bla-siksika">Blackfoot</a>, <a href="https://hub.localazy.com/en/languages/dgr-dogrib">Tlicho</a>, and so many others (<a href="https://www12.statcan.gc.ca/census-recensement/2021/as-sa/98-200-X/2021012/98-200-X2021012-eng.cfm">over 70 dialects</a>).</p><h2 id="understanding-languages-in-quebec">🗣️ Understanding languages in Quebec <a class="markdownit-header-anchor" href="#understanding-languages-in-quebec">🔗</a></h2><p>When it comes to <a href="https://www12.statcan.gc.ca/census-recensement/2021/as-sa/fogs-spg/page.cfm?topic=6&amp;lang=E&amp;dguid=2021A000224">the different languages spoken in the province of Quebec</a>, <strong>75% of the population has <a href="https://www150.statcan.gc.ca/n1/daily-quotidien/220817/mc-a001-eng.htm">French as a first language</a></strong>, while 94% say that they can carry a conversation in French.</p><p>The other languages mostly spoken are English (51,7 %), Spanish (5.5%), Arabic (4.14%), <a href="https://hub.localazy.com/en/languages/it-italian">Italian</a> (2.02%), <a href="https://hub.localazy.com/en/languages/ht-haitian-creole">Haitian Creole</a> (1.42%), and Mandarin (&gt;1%).</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/05/fogs_2021A000224_6_3.png" class="kg-image" alt loading="lazy" width="2000" height="869" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/fogs_2021A000224_6_3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/fogs_2021A000224_6_3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/fogs_2021A000224_6_3.png 1600w, https://ghost.localazy.com/content/images/2024/05/fogs_2021A000224_6_3.png 2256w" sizes="(min-width: 1200px) 1200px"><figcaption>More than half of the Quebec population speaks two or more languages. Source: <a href="https://www12.statcan.gc.ca/census-recensement/2021/as-sa/fogs-spg/page.cfm?topic=6&amp;lang=E&amp;dguid=2021A000224#">2021 Census of Canada</a>.</figcaption></figure><p>Just like the rest of Canada, Quebec has 11 indigenous languages: <a href="https://en.wikipedia.org/wiki/Abenaki_language">Abenaki</a>, <a href="https://en.wikipedia.org/wiki/Algonquin_language#:~:text=Algonquin%20(also%20spelled%20Algonkin%3B%20in,Nations%20of%20Quebec%20and%20Ontario.">Algonquin</a> (Anishinabe), <a href="https://hub.localazy.com/en/languages/atj-atikamekw">Attikamek</a>, <a href="https://hub.localazy.com/en/languages/cr-cree">Cree</a> (Eeyou), <a href="https://en.wikipedia.org/wiki/Wyandot_language">Huron-Wendat</a>, <a href="https://hub.localazy.com/en/languages/moe-innu-aimun">Innu</a>, <a href="https://hub.localazy.com/en/languages/pqm-malecite">Wolastoqiyik</a> (Maliseet), <a href="https://hub.localazy.com/en/languages/mic-mi-kmaq">Micmac</a>, <a href="https://hub.localazy.com/en/languages/moh-mohawk">Mohawk</a> (Kanien'kehà:ka), <a href="https://en.wikipedia.org/wiki/Naskapi_language">Naskapi</a>, and <a href="https://hub.localazy.com/en/languages/iu-inuktitut">Inuit</a>. Due to its rich history with the First Nations, <strong>Quebec also has the largest number of Indigenous speakers</strong>.</p><h2 id="history-at-the-center-of-language-opportunity">⚜️ History at the center of language opportunity <a class="markdownit-header-anchor" href="#history-at-the-center-of-language-opportunity">🔗</a></h2><p>For over 400 years, <strong>Quebecers have had to fight hard to preserve and defend their distinct language, culture, and identity</strong>. When we look at the history of their beautiful province, we can better understand why language and culture are still very much at the center of countless debates surrounding the recognition of Quebec's uniqueness.</p><p>Quebec's history is <a href="https://www.thecanadianencyclopedia.ca/en/article/colonialism-in-canada">deeply marked by colonialism</a>. From its first settlement in 1534 by Jacques Cartier to the <a href="https://www.thecanadianencyclopedia.ca/en/article/battle-of-the-plains-of-abraham">Battle of the Plains of Abraham</a> in 1759, where the British took control of the colony known as New France, it's obvious that the constant tug of war between French and English has deeply influenced Quebec's culture.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_219217928.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1223" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_219217928.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_219217928.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_219217928.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_219217928.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>A vintage engraving displaying the city of Quebec.</figcaption></figure><p>Eventually, the British tried to appease tensions with the French population by recognizing their law system (civil law), as well as their language and culture. However, centuries later, Quebecers still largely felt marginalized by the Canadian Federation due to<strong> </strong>a constant fear of assimilation. This is why Quebec <a href="https://www.sqrc.gouv.qc.ca/documents/institutions-constitution/statut-politique-qc-en.pdf">held referendums twice</a> to decide whether it would become a sovereign nation. 🗳️ Once in 1980, when the population rejected sovereignty by 59.56%, and once in 1995, when the motion nearly passed but was rejected by 50.58 %. Still today, <a href="https://www.politico.com/news/2023/03/10/quebec-sovereignty-polling-00086428">Quebecers are divided on the issue</a>, and sovereignty remains a very hot topic.</p><blockquote>After centuries of colonialism, Quebecers still felt largely marginalized by the Canadian Federation due to a constant fear of assimilation. This led to two soreveignity referendums and several laws acknowledging Quebec as a nation within the country</blockquote><p>As a result of these debates, <strong>the Canadian Parliament passed a symbolic motion recognizing Quebec as a "nation within a united Canada" in 2006</strong>. This acknowledgment aimed to recognize Quebec's distinct identity, culture, and French-speaking population within the framework of Canada's federal system.</p><p>More recently, on June 1, 2022,  the Parliament of Quebec passed <a href="https://www.sqrc.gouv.qc.ca/relations-canadiennes/institutions-constitution/statut-qc/nation-quebecoise-specificite-en.asp"><em>An Act respecting French</em></a>, the official and common language of Quebec, which introduced two new sections into the Constitution Act of 1867:</p><ol><li>Quebecers form a nation.</li><li>French is the only official language of Quebec and the common language of the Quebec nation.</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/05/F-te_nationale_du_Quebec-2.jpg" class="kg-image" alt loading="lazy" width="1600" height="856" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/F-te_nationale_du_Quebec-2.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/F-te_nationale_du_Quebec-2.jpg 1000w, https://ghost.localazy.com/content/images/2024/05/F-te_nationale_du_Quebec-2.jpg 1600w" sizes="(min-width: 720px) 720px"><figcaption>Quebecers marching during the Fête Nationale du Québec. Source: <a href="https://en.wikipedia.org/wiki/Saint-Jean-Baptiste_Day#/media/File:Fête_nationale_du_Quebec.jpg">Wikimedia Commons</a></figcaption></figure><p>Today, Quebec still has a complex relationship with the Canadian government and other provinces because it oscillates between demands for more autonomy and participation in federal politics. The province has its own legal system, education system, and cultural institutions, reinforcing its unique identity within Canada.</p><p>Despite occasional political tensions, Quebec remains an integral part of Canada, contributing to its diverse cultural tapestry while asserting its distinctiveness. Political debates surrounding Quebec's place within Canada continue to shape the nation's identity and governance.</p><h2 id="how-quebecers-differ-from-canadians">🏒 How Quebecers differ from Canadians <a class="markdownit-header-anchor" href="#how-quebecers-differ-from-canadians">🔗</a></h2><p>In the famous words of journalist, essayist, novelist, and media personality Denise Bombardier, "Language is how we exist."</p><p>Generally, <strong>Quebecers value authenticity, joy, and living life to the fullest</strong>. They tend to keep their guard up when it comes to outsiders but will more easily trust companies that value quality localization, making them feel like a product or service <a href="https://localazy.com/blog/boost-profits-improve-cx-by-localizing-your-digital-product">is tailored with them in mind</a>. The more a company respects and enriches local culture, the more it will become an integral part of people's lives.</p><h3 id="the-three-cultural-povs-among-quebecers">The three cultural POVs among Quebecers <a class="markdownit-header-anchor" href="#the-three-cultural-povs-among-quebecers">🔗</a></h3><p>Most Quebecers come from French culture, live in an English society, and have an American lifestyle. Their uniqueness is the fusion of these three cultures.</p><ul><li>🇫🇷 ⅓ of Quebecers identify with France.</li><li>🇺🇸 ⅓ of Quebecers identify with the USA.</li><li>🇨🇦 ⅓ of Quebecers identify with English Canada.</li></ul><p>71% of Quebecers' attitudes and behaviors are identical to those of the rest of Canada. Understanding the remaining 29% means understanding the difference. For instance, Quebecers:</p><ul><li>🍝 Like to cook their own food. Food isn't a commodity in Quebec; it's part of the lifestyle.</li><li>🍫 Are more spontaneous shoppers and enjoy spending money on special treats.</li><li>🛍️ Prefer specialty shops to department stores and use more fliers and savings coupons.</li><li>🛟 Save less for retirement but spend more on life insurance.</li></ul><p>These are just a few of the differences between Quebecers and Canadians, and it's worth exploring what differences exist within your own niche if you want your localization to be successful.</p><p>Just remember that simply translating your content will not get you very far in Quebec: <strong>you have to participate in local culture</strong>. So use local talent, hire local agencies or consultants, and start understanding how you can use that 29% to help you achieve your goals.</p><blockquote>71% of Quebecers' attitudes and behaviors are identical to the rest of Canada. Understanding the remaining 29% means understanding the difference</blockquote><p>Most of all, try to avoid concepts and words that make it sound like Quebecers are the same as Canadians; you could get a lot of backlash. We'll explore this further below.</p><h2 id="how-is-quebec-french-different">🔎 How is Quebec French different? <a class="markdownit-header-anchor" href="#how-is-quebec-french-different">🔗</a></h2><p>Although ‌French speakers are scattered from coast to coast in Canada, the province of Quebec remains the epicenter of French Canadian culture. In fact, <strong>Quebec has a population of over 8 million people</strong>, 84.1 % of whom speak French and 14.9% of whom speak English.</p><p>The French language spoken in Quebec, often called Quebec French or Quebecois, <a href="https://www.bbc.com/travel/article/20220829-the-royal-roots-of-quebecs-french">has a fascinating history</a> and distinct characteristics that set it apart from <a href="https://localazy.com/blog/french-as-your-bridge-for-more-business-opportunities#business-in-france-sans-french-localization">European French</a>.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/GUn-CNm_43JHfYKtZfzI5htet_stYmAHZ7ykmBjKtbfs6clB9dQzSrvI3K-95n68ijjkcso43yvbHOC5xR6FzHwLXfwYLJYO-OdhOZaUWlxy3cA_MA5Rv1eFGIBueESv_k56XbYGW5EXbwC2ENiCSdA" class="kg-image" alt loading="lazy"><figcaption>Source: <a href="https://www.clo-ocol.gc.ca/en/tools-resources/snapshots-official-languages-canada">Office of the Commissioner of Official Languages</a> of Canada.</figcaption></figure><p>Throughout history, <strong>Quebec French has grown to become the most important manifestation of collective identity</strong>. Anyone who's ever heard a Quebecer talking will recognize that the main differences are pronunciation, syntax, and vocabulary. There are many reasons why the Quebecois accent sounds so different from Standard French: colonial and religious influences, geographic isolation, indigenous languages, and, of course, the fact that the province is surrounded by English speakers on all sides.</p><p>The most common explanation as to why the French spoken in Quebec is different is that it has evolved differently over the course of centuries since colonization.</p><h3 id="different-accents">Different accents <a class="markdownit-header-anchor" href="#different-accents">🔗</a></h3><p>Quebec has 17 different regions, and <a href="https://www.youtube.com/shorts/A8rb2ZHp5oM">dialects and accents vary</a> from one place to another. For instance, there are key accents from Montreal, Quebec City, Beauce, Gaspésie, and Saguenay-Lac-Saint-Jean. A local ear can easily quickly tell the difference. 🎶 The Quebec accent is often described as more "<em>chantant</em>" (sing-songy) and more nasal than Parisian French.</p><h3 id="different-registers">Different registers <a class="markdownit-header-anchor" href="#different-registers">🔗</a></h3><p>Quebec French is colorful and speakers tend to adjust their register based on who they are talking to. Words tend to blend together when you are speaking to someone you are very close to, whereas there's a better enunciation if you are in a professional setting. <strong>It's a language that morphs based on context</strong>, whereas Standard French tends to be more rigid.</p><p>For instance, if you speak to your friend about your car being at the shop, you may say, "<em>Mon <strong>char</strong> est au garage</em>". However, if you explain to your dentist that you missed your appointment because your car is in the shop, you'd say, "<em>Mon <strong>auto</strong> est au garage</em>," or even with a more polite word, "<em>Ma <strong>voiture</strong> est au garage</em>." Same meaning, different contexts – different words based on audience.</p><p><strong>This is why it's extremely important to understand your audience when localizing for Quebecers</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_329014105.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_329014105.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_329014105.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_329014105.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_329014105.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="different-vocabulary">Different vocabulary <a class="markdownit-header-anchor" href="#different-vocabulary">🔗</a></h3><p>As far as vocabulary goes, Quebecois French has retained a lot of archaisms from colonial French, and here are some examples:</p><!--kg-card-begin: html--><table style="border: medium; border-collapse: collapse; table-layout: fixed; width: 468pt;"><colgroup><col><col><col></colgroup><tbody><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Quebec</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">France</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">English</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">patate</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">pomme de terre</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">potato</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">tuque</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">bonnet</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">toque, beanie</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">blé d’Inde</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">maïs</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">corn</span></p></td></tr></tbody></table><!--kg-card-end: html--><p>You might even be surprised to hear that some Quebecois words are also used in Belgium. 🍽️ For example, the three meals of the day in Quebec and Belgium are <em>déjeuner</em> (breakfast), <em>dîner</em> (lunch), and <em>souper</em> (dinner), while in France it's <em>petit déjeuner</em> (breakfast), <em>déjeuner</em> (lunch), and <em>dîner</em> (dinner).</p><p>Some of the words also come from Indigenous roots, such as 🦟 <em>maringouin </em>(🇫🇷 <em>moustique</em> / 🇨🇦 mosquito). And let's not forget that because English surrounds the province on all sides, there are some influences from that language as well.</p><h3 id="neologisms">Neologisms <a class="markdownit-header-anchor" href="#neologisms">🔗</a></h3><p>People like to say that Quebec French is stuck in the 1700s, but nothing could be farther from the truth. The fact is that even though Quebec French still contains a lot of the words that were used by settlers and indigenous people, it has never stopped evolving.</p><p>This is because in 1977, the <a href="https://www.oqlf.gouv.qc.ca/">Office québécois de la langue française (OQLF)</a> was made responsible for enforcing the <a href="https://www.legisquebec.gouv.qc.ca/en/document/cs/C-11">Charter of the French language</a>. The OQLF offers linguistic services and contributes to <a href="https://en.wikipedia.org/wiki/Francization">francization</a> (French expansion) by developing tools and terminologies for an ever-changing language. While Standard French has no qualms about using an English word with a French accent to describe a new concept, the OQLF understands that in order not to be swallowed by English, there's an obligation to create new words.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_171811498-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1113" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_171811498-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_171811498-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_171811498-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_171811498-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>As language evolves, the OQLF does not let new concepts go without creating a new French equivalent term. Many new words are created using a combination of words to convey a new idea. We call those 🧳 "<em>mot-valise</em>" (portmanteau word), where two words are mixed to form a new concept.</p><p>Here are a few examples from the world of tech:</p><!--kg-card-begin: html--><table style="border: medium; border-collapse: collapse; table-layout: fixed; width: 468pt;"><colgroup><col><col><col></colgroup><tbody><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">English</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Quebec</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Standard French</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Email (noun)</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Courriel (noun)</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Using the FR words </span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">courrier</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">mail</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">) and </span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">électronique</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">electronic</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">)</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Email</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Chat (verb and noun)</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Clavarder (verb)</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Clavardage (noun)</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Using the FR words </span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">clavier</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">keyboard</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">) and </span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">bavarder</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">to chitchat</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">)</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Chat</span></p></td></tr><tr style="height: 0pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Spam (noun)</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Pourriel (noun)</span></p><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Using the FR words </span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">poubelle</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">garbage</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">) and </span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">courriel</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">email</span><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">)</span></p></td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><p dir="ltr" style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Roboto, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Spam</span></p></td></tr></tbody></table><!--kg-card-end: html--><p>As new technologies emerge and new terms are created, the OQLF keeps on creating new French words with their corresponding meanings to <strong>avoid diluting the language with more English or foreign words</strong> in an effort to keep French alive.</p><p>Sometimes, adoption of these terms can take a few years, but this is why the OQLF has created a multitude of resources for French speakers, like <a href="https://vitrinelinguistique.oqlf.gouv.qc.ca/">Vitrine Linguistique</a>, a comprehensive website dedicated to the proper use of Quebec French and an essential resource for anyone using the language.</p><h2 id="tips-for-good-french-canadian-localization">🦫 Tips for good French Canadian localization <a class="markdownit-header-anchor" href="#tips-for-good-french-canadian-localization">🔗</a></h2><p>The best tip you'll ever receive when localizing into French Canadian is to <strong>know your audience inside and out</strong>. This is true for most localization efforts, but Quebecers tend to be very sensitive to foreign companies wanting their money and are not easily won over.</p><p>Trust is a critical factor in this equation, and winning this market requires a lot of upfront effort. However, once you prove that you care about this audience and their local culture, the rewards can be huge… and you'll have gained their loyalty forever.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_313752549.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_313752549.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_313752549.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_313752549.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_313752549.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Unfortunately, language alone is not enough to win over the Quebec audience. You need to find a way to include cultural references in your localization and consider the history and political sensitivities.</p><p>Here are some tips for quality French localization if you're expanding to Quebec:</p><h3 id="1-every-touchpoint-needs-to-be-localized">1. Every touchpoint needs to be localized <a class="markdownit-header-anchor" href="#1-every-touchpoint-needs-to-be-localized">🔗</a></h3><p>Identify every customer touchpoint.<strong> </strong>Everything from onboarding to offboarding will require translation or localization (e.g., products, emails, legal agreements, chats, notifications, receipts, storefront signage, indoor signage, billboards, physical product descriptions, ingredients, etc.). In addition, remember that if you have local employees, translation will be required if you have a team of over 25 people.</p><h3 id="2-know-your-audience">2. Know your audience <a class="markdownit-header-anchor" href="#2-know-your-audience">🔗</a></h3><p>Understanding who you are talking to is essential to identify your tone of voice. As we've already explored, Quebec French is highly dependent on the audience. Register and tone are very important, as vocabulary and expressions will vary based on the target audience.</p><h3 id="3-avoid-political-words">3. Avoid political words <a class="markdownit-header-anchor" href="#3-avoid-political-words">🔗</a></h3><p>Due to the local sensitivities surrounding the political landscape and history, French Canadian localizers prefer to steer clear of words like "Canada" or "Canadian." Instead, we use terms like "national" (<em>national</em>), "coast to coast" (<em>d'un océan à l'autre</em>), or "country" (<em>pays</em>) when adapting the content.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_162755654.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_162755654.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_162755654.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_162755654.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_162755654.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-use-local-references-and-accents">4. Use local references and accents <a class="markdownit-header-anchor" href="#4-use-local-references-and-accents">🔗</a></h3><p>For videos and audio content, make sure to use local voice or acting talent. It will make a much bigger impact. 🎯 In addition, consider using local celebrities if you run a large advertising campaign.</p><blockquote>French Canadian localizers prefer to steer clear of the terms "Canada" or "Canadian" due to political and historical sensitivies. Terms like "national" or "pays" are a better fit in this context. Local talent is also highly valued in localized video and audio content</blockquote><h3 id="5-add-a-local-flavor">5. Add a local flavor <a class="markdownit-header-anchor" href="#5-add-a-local-flavor">🔗</a></h3><p>Similarly, consider working with local advertising or translation agencies to create local advertising campaigns. Design your marketing specifically for Quebec: businesses with a plan catering to Quebecers tend to have more success than those who essentially copypaste their strategies from another location.</p><h3 id="6-localize-and-adapt-your-brand-name">6. Localize and adapt your brand name <a class="markdownit-header-anchor" href="#6-localize-and-adapt-your-brand-name">🔗</a></h3><p>Legally, if your brand has an English name, you'll be asked to add a descriptor to help people understand what the company is about. However, it's always better to completely adapt your brand name. For instance, Canadian brand Shoppers Drug Mart was localized to Pharmaprix in Quebec, while Canadian office supply company Staples was localized to Bureau en gros.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/Logos.png" class="kg-image" alt loading="lazy" width="1190" height="490" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/Logos.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/Logos.png 1000w, https://ghost.localazy.com/content/images/2024/05/Logos.png 1190w" sizes="(min-width: 720px) 720px"></figure><p>The companies whose localization efforts have succeeded all have this in common: <strong>they understand that putting in extra effort to produce content relevant to Quebecers is not only nice but absolutely essential</strong>.</p><p>Here are some questions you should answer while you develop your French localization strategy for Canada, especially for the Quebec market:</p><ul><li>🔍 Will you focus on localizing for the entire French Canadian market or solely for certain regions?</li><li>✍️ Can you afford to produce different content for French for the Rest of Canada (ROC) and French for Quebec? If so, you'll get much better results.</li><li>🎙️ When considering Quebec localization, is it feasible for you to use the talents of a local artist for any voice or graphic materials?</li></ul><h2 id="ordering-professional-french-canadian-translations">🏞️ Ordering professional French Canadian translations <a class="markdownit-header-anchor" href="#ordering-professional-french-canadian-translations">🔗</a></h2><p>The best way to ensure the success of your localization to Quebec French is to <strong>hire local professionals who understand the culture and subtleties</strong> of this rich language. Once you've figured out who your audience is, you'll be able to decide whether French is the only other language you'd like to localize to. Remember that Canada includes a variety of other locales, as we've seen earlier.</p><p>Aside from French, you may want to consider the following pairs depending on your target audience:</p><ul><li>󠁧󠁢󠁥󠁮󠁧󠁿<a href="https://localazy.com/translate/en-fr_ca">English (any variety) to French (Canada)</a></li><li><a href="https://localazy.com/translate/en-es">English to Spanish</a></li><li><a href="https://localazy.com/translate/en-zh_cn_hans">English to Simplified Chinese</a></li><li><a href="https://localazy.com/translate/en-ar">English to Arabic</a></li><li>English to Punjabi</li></ul><p>Of course, the rates for translation will vary based on the type of content you need to have translated. 💸 <strong>The more technical your content is, the higher the cost of your translation will be</strong>. Generally, the rate will vary from 0.15 CAD to roughly 0.28 CAD per word for an agency translation from English to French. However, some freelancers may offer lower rates, starting from around 0.12 CAD per word. When choosing the right language service provider, consider the quality of the end product. Agencies with a higher rate may have more eyes looking over your translation (revisers and proofreaders), which means better quality.</p><p>As we've seen, delivering the right language flavor is important. That's why you can also reach out to local language agencies to adapt your content from French (Standard) to French (Canada). Or you can contact us so <a href="https://localazy.com/features/continuous-localization-team">we can connect you with the best native professionals from the region</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/AdobeStock_291799355.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/AdobeStock_291799355.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/AdobeStock_291799355.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/AdobeStock_291799355.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/AdobeStock_291799355.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="french-canadian-l10n-with-localazy">🚩 French Canadian l10n with Localazy <a class="markdownit-header-anchor" href="#french-canadian-l10n-with-localazy">🔗</a></h2><p>If you plan to operate in any capacity in the province of Quebec, <strong>you have the legal obligation to localize</strong>.<strong> </strong>We explore the legal and business specifics of operating in the area <a href="https://localazy.com/blog/doing-business-in-quebec-bill-96-localization?srsltid=AfmBOop3OAZkH6LLvIfqK8UvB48pkfAYWqvNqLTkWcnMDKfoL4I20fvF">in this article</a>. Still, the first step to success is understanding that your product or service will have the greatest impact if it's adapted to the local language.</p><p><strong>The biggest win to investing in Quebec localization is brand loyalty</strong>. Pepsi, Walmart, and even McDonald's have all demonstrated the impact of localization and are three excellent examples of well-recognized, well-respected brands that operate in Quebec.</p><p>Understanding the cultural differences and history will make your brand stand out. Although complying with all the legalities surrounding language in Quebec may seem daunting, it can reap big rewards in the form of customer loyalty. If you're ready to tackle this challenge, at Localazy we are ready to assist you with a hassle-free TMS <a href="https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization">with time-saving automation features</a> and professional translations done by native Quebecers. Check out <a href="https://localazy.com/blog/guide-localazy-translation-services">our ultimate guide</a> to learn more and kick off your French Canadian localization strategy today!‌‌‌‌</p>]]></content:encoded>
            <author>Manon Suderman</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/05/FR-CA_locales--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Getting to know Strapi's v4 design system]]></title>
            <link>https://localazy.com/blog/getting-to-know-strapis-v4-design-system</link>
            <guid isPermaLink="false">getting-to-know-strapis-v4-design-system</guid>
            <pubDate>Thu, 16 Apr 2026 14:32:30 GMT</pubDate>
            <description><![CDATA[The release of Strapi version 4 introduced significant improvements. Check out this article to learn about the design system modification and how it assists developers and content managers.]]></description>
            <content:encoded><![CDATA[<p><a href="https://strapi.io">Strapi</a> is an open-source, headless content management system (CMS) that allows developers to work with the tools and frameworks of their choice. In version 4, Strapi enhanced its design system and redesigned its user interface, which led to noteworthy improvements.</p><p>In this article, we will begin to comprehend how Strapi has improved its design system and how this can assist content managers and developers.</p><h2 id="what-is-a-design-system">📑 What is a design system? <a class="markdownit-header-anchor" href="#what-is-a-design-system">🔗</a></h2><p>A design system is <strong>a collection of reusable components and guidelines that can be applied to design digital products and services</strong>. The idea that a design system is comprised solely of design elements is a widespread misunderstanding; however, it is essential to remember that it may also include code snippets, guidelines, and templates, amongst others. This system ensures that designs are consistent and can be easily replicated by using UI components and elements that have already been created. </p><p>A few examples of design systems include the <a href="https://m3.material.io">Google Material Design System</a>, the <a href="https://developer-rno.apple.com/design/human-interface-guidelines/guidelines/overview/">Apple Human Interface Guidelines</a>, the <a href="https://en.wikipedia.org/wiki/Fluent_Design_System">Microsoft Fluent Design System</a>, the <a href="https://atlassian.design">Atlassian Design System</a>, and the <a href="https://polaris.shopify.com/">Shopify Design System</a>, amongst others.</p><blockquote>The idea that a design system is comprised solely of design elements is a widespread misunderstanding – it may also include code snippets, guidelines, and templates, amongst others</blockquote><h3 id="overview-of-the-strapi-design-system">Overview of the Strapi design system <a class="markdownit-header-anchor" href="#overview-of-the-strapi-design-system">🔗</a></h3><p>The <a href="https://design-system.strapi.io">Strapi design system</a> is a collection of open-sourced design principles and components designed to ensure that the Strapi admin panel provides a consistent user experience.</p><p>Specifically, it includes design guidelines that can be implemented in any front-end component. Developers can simplify and speed up the process of developing user interfaces by utilizing a design system, a collection of assets that can be reused. The design system has a few components:</p><ul><li><strong>📐 Grids</strong>: The Strapi <a href="https://design-system.strapi.io">grid system</a> makes it easier for content to proceed in a specific order and improves readability. 8px is the default font size; smaller adjustments and greater flexibility can be achieved using a 4px baseline when needed. When defining measurements, spacing, and element positioning in the spacing system, multiples of 4 px are used. A 12-column responsive grid with a fixed gutter width of 20px and a fixed margin of 56px is utilized to maintain consistency.</li><li><strong>🖋️ Typography</strong>: This is <a href="https://design-system.strapi.io/typography">another important element</a> of the design system. Good typography presents content clearly and effectively. In terms of typeface, it uses the default system font associated with the operating system. MacOS, iOS, and iPadOS, for instance, use the San Francisco user interface; Windows uses the Segeo user interface; Android uses Roboto; and Linux Ubuntu uses the sans-serif font.</li></ul><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/cKc082C2gzY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="What&#39;s new in Strapi v4: Design System"></iframe></figure><h3 id="components-of-the-strapi-design-system">Components of the Strapi design system <a class="markdownit-header-anchor" href="#components-of-the-strapi-design-system">🔗</a></h3><p>Components are distinct, reusable building blocks for creating user interfaces (UIs) in digital products like websites and applications. 🧱 Components can be as simple as buttons and icons or as complex as navigation bars, modals, and cards.</p><p>There is a wide range of possible components that can be used. The reusability of components is its most important quality because it enables design and development processes to be designed and developed consistently and efficiently.</p><h3 id="types-of-components-available-on-strapi">Types of components available on Strapi <a class="markdownit-header-anchor" href="#types-of-components-available-on-strapi">🔗</a></h3><p>There are a variety of components that can be found on Strapi, including the following:</p><ul><li><strong>🔘 Button</strong>: Within a page, actions can be carried out using buttons. With just one click, they make it possible to interact with the website's content. Through their design, particular labels, and icons, they assist in comprehending the most essential steps that should be considered. One of the interface's most frequently used button components is also known as the primary action. It can have a variety of meanings and variations.</li></ul><blockquote>In the <a href="https://design-system-git-main-strapijs.vercel.app/?path=/docs/design-system-components-button--docs">official documentation</a>, you will find the sizes and variations that are available.</blockquote><ul><li><strong>📇 Card</strong>: The purpose of cards is to collect information that needs to be distinguished from the rest of the details on the page. One could have a card with or without an asset and an action.</li></ul><blockquote>Multiple props of a card are available <a href="https://design-system-git-main-strapijs.vercel.app/?path=/docs/design-system-components-card--docs">here</a>.</blockquote><ul><li><strong>🏷️ Tooltip: </strong>Tooltips are labels that float and show extra information when an element is hovered over. Tooltips are a useful tool for displaying additional information about an element or the complete version of truncated text. The tooltip will overlay any text that is next to it. By adjusting the position parameter, you can modify the tooltip's location. The default position is at the top.</li></ul><blockquote>Check other tooltip props available <a href="https://design-system-git-main-strapijs.vercel.app/?path=/docs/design-system-components-tooltip--docs">in Strapi's documentation</a>.</blockquote><ul><li><strong>䷢ Table</strong>: Tables are utilized to collect and display comparable data. They are made up of a header, rows, and columns, respectively. A variety of data types can be incorporated into tables, including plain text, Select, avatars, and icon buttons, among others. In the content section, the columns can be reorganized, and they can also be sorted.</li><li><strong>⌛ Progress Bar: </strong>The component known as the progress bar is utilized to determine how far along an action is at a particular point in time.</li></ul><h2 id="how-to-integrate-the-strapi-design-system-in-a-react-application">📲 How to integrate the Strapi design system in a React application <a class="markdownit-header-anchor" href="#how-to-integrate-the-strapi-design-system-in-a-react-application">🔗</a></h2><p>This section will cover building a <a href="https://localazy.com/dictionary/react">React</a> application and incorporating the Strapi design system into it.</p><p>To start, execute the following command to make a React application:</p><pre><code class="language-bash">npx create-react-app react-design-system-app</code></pre><p>After creating the application, we will install the react-router-dom, styled-components, strapi design system, and strapi icons.</p><pre><code>npm i react react-dom @strapi/design-system @strapi/icons react-router-dom</code></pre><blockquote>It is crucial to remember that Strapi v4 does not yet support the current version of styled components, which is in version 6. </blockquote><p>Therefore, you can install version 5 of the styled components or downgrade to version 5.</p><pre><code>npm i styled-components@5</code></pre><p><br>As seen in the snippets below, the next step is to wrap the <code>App.js</code> root provider within the <code>index.js</code> file with the <code>DesignSystemProvider</code>.</p><pre><code class="language-React">//index.js

import React from "react";
import ReactDOM from "react-dom/client";
import "./index.css";
import App from "./App";
import { DesignSystemProvider } from "@strapi/design-system";


const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
 &lt;DesignSystemProvider&gt;
   &lt;React.StrictMode&gt;
     &lt;App /&gt;
   &lt;/React.StrictMode&gt;
 &lt;/DesignSystemProvider&gt;
);
</code></pre><p>The <code>App.js</code> file will be modified to reflect the current changes to our application. We have a React application that functions as a leaderboard dashboard, where players can see their personal information (names, city, university, and profile picture), as well as the scores of other players.</p><pre><code class="language-React">//App.js

import { Box, Divider, Flex } from "@strapi/design-system";
import {
  MainNav,
  NavSections,
  NavCondense,
  NavBrand,
  NavUser,
  NavLink,
  NavFooter,
} from "@strapi/design-system/v2";
import { useState } from "react";
import { Play, Exit, House, Dashboard, Puzzle } from "@strapi/icons";
import {
  Table,
  Tbody,
  Tr,
  Avatar,
  Td,
  Typography,
} from "@strapi/design-system";
function App() {
  const [condensed, setCondensed] = useState(false);
  const ROW_COUNT = 6;
  const COL_COUNT = 10;
  const entries = [
    {
      firstName: "Emma",
      lastName: "Johnson",
      university: "University of California, Berkeley",
      score: 92,
      city: "Berkeley",
      cover: "https://randomuser.me/api/portraits/men/3.jpg",
    },
    {
      firstName: "Liam",
      lastName: "Smith",
      university: "Massachusetts Institute of Technology",
      score: 88,
      city: "Cambridge",
      cover: "https://randomuser.me/api/portraits/women/2.jpg",
    },
    {
      firstName: "Olivia",
      lastName: "Williams",
      university: "Stanford University",
      score: 95,
      city: "Stanford",
      cover: "https://randomuser.me/api/portraits/men/2.jpg",
    },
    {
      firstName: "Noah",
      lastName: "Brown",
      university: "Harvard University",
      score: 90,
      city: "Cambridge",
      cover: "https://randomuser.me/api/portraits/women/1.jpg",
    },
    {
      firstName: "Ava",
      lastName: "Davis",
      university: "California Institute of Technology",
      score: 93,
      city: "Pasadena",
      cover: "https://randomuser.me/api/portraits/men/1.jpg",
    },
  ];

  return (
    &lt;Flex&gt;
      &lt;Box height="100vh"&gt;
        &lt;MainNav condensed={condensed}&gt;
          &lt;NavBrand title="NEXUS GAMES" icon={&lt;Play /&gt;} /&gt;

          &lt;Divider /&gt;
          &lt;NavSections&gt;
            &lt;NavLink icon={&lt;House /&gt;}&gt;
              &lt;Typography variant="beta"&gt;Home&lt;/Typography&gt;
            &lt;/NavLink&gt;
            &lt;NavLink icon={&lt;Dashboard /&gt;} className="active"&gt;
              &lt;Typography variant="beta"&gt;Leaderboard&lt;/Typography&gt;
            &lt;/NavLink&gt;
            &lt;NavLink badgeContent="2" icon={&lt;Puzzle /&gt;}&gt;
              &lt;Typography variant="beta"&gt;Challenges&lt;/Typography&gt;
            &lt;/NavLink&gt;
            &lt;NavLink icon={&lt;Exit /&gt;}&gt;
              &lt;Typography variant="beta"&gt;Logout&lt;/Typography&gt;
            &lt;/NavLink&gt;
          &lt;/NavSections&gt;
          &lt;NavFooter&gt;
            &lt;NavUser src="https://randomuser.me/api/portraits/women/2.jpg"&gt;
              &lt;Typography fontWeight="bold"&gt;Mary E. Okosun&lt;/Typography&gt;
            &lt;/NavUser&gt;
            &lt;NavCondense onClick={() =&gt; setCondensed((s) =&gt; !s)}&gt;
              {condensed ? "Expanded the navbar" : "Collapse the navbar"}
            &lt;/NavCondense&gt;
          &lt;/NavFooter&gt;
        &lt;/MainNav&gt;
      &lt;/Box&gt;
      &lt;Box width="900px" marginLeft="auto" marginRight="auto"&gt;
        &lt;Table colCount={COL_COUNT} rowCount={ROW_COUNT} background="#202788d1"&gt;
          &lt;Tbody&gt;
            {entries.map((entry) =&gt; (
              &lt;Tr key={entry.id}&gt;
                &lt;Td&gt;&lt;/Td&gt;
                &lt;Td&gt;
                  &lt;Avatar src={entry.cover} alt={entry.cover} /&gt;
                &lt;/Td&gt;
                &lt;Td&gt;
                  &lt;Typography variant="beta" fontWeight="bold"&gt;
                    {entry.firstName + " " + entry.lastName}
                  &lt;/Typography&gt;
                  &lt;br /&gt;
                  &lt;Typography&gt;{entry.university}&lt;/Typography&gt;
                  &lt;br /&gt;
                  &lt;Typography textColor="neutral800"&gt;{entry.city}&lt;/Typography&gt;
                &lt;/Td&gt;

                &lt;Td&gt;
                  &lt;Typography variant="alpha" fontWeight="bold"&gt;
                    {entry.score}
                  &lt;/Typography&gt;
                &lt;/Td&gt;
              &lt;/Tr&gt;
            ))}
          &lt;/Tbody&gt;
        &lt;/Table&gt;
      &lt;/Box&gt;
    &lt;/Flex&gt;
  );
}

export default App;
</code></pre><p>Components such as <code>&lt;MainNav/&gt;</code>, <code>&lt;NavBrand/&gt;</code>, <code>&lt;NavSections/&gt;</code>, and <code>&lt;NavLink/&gt;</code> are utilized in the construction of the navigation section of the application. This section comprises the Home, Dashboard, Leaderboard, Challenges, and Logout tabs. </p><p>To construct the table, <code>&lt;Table/&gt;</code> components were utilized. These table components include sub-components like the <code>&lt;Tbody/&gt;</code>, <code>&lt;Td/&gt;</code>, and <code>&lt;Tr/&gt;</code>. This is where the contents are reflected, including the names, profile pictures, and other information about the players.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/2MIRcHrdD2RfHi64tVumOqmHyVCc6Y3DVBJingpIbySKy-uVPwl6NI38ql6nRJKl5gmBu7rrimb2Om2zItcYPOCcuLvrH5cVRz7HSeMlYZe-NSOEwMS57Ol_hfOiHueBvvJiYt8hj5kKoE3Wv5lw-jI" class="kg-image" alt loading="lazy"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>The Strapi design system is of utmost importance for individuals looking for design inspiration for their content and localization management requirements. It improves the consistency of your product and the overall user experience in various ways. It enables you to gain a better understanding of your project and make more informed choices.</p><p>With the help of the <a href="https://market.strapi.io/plugins/@localazy-strapi-plugin">Localazy Strapi localization plugin</a>, you can produce a multilingual website using Strapi. Check out <a href="https://localazy.com/blog/how-to-strapi-localization-with-localazy">our integration guide</a> and <a href="https://localazy.com/docs/strapi/strapi-plugin-introduction-installation">documentation</a> to enhance your multilingual content starting today.<br></p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/04/Strapi-v4-DS.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Try Localazy today! Introducing a new 14-day trial model]]></title>
            <link>https://localazy.com/blog/introducing-a-new-trial-model</link>
            <guid isPermaLink="false">introducing-a-new-trial-model</guid>
            <pubDate>Fri, 31 May 2024 11:49:57 GMT</pubDate>
            <description><![CDATA[Great news! We have changed the trial model of Localazy to help you explore the platform and fully experience the benefits of automated localization. Learn more about how it works in this article.]]></description>
            <content:encoded><![CDATA[<p>Until now, to thoroughly test out the features Localazy offers, you had to commit to a subscription plan with a 7-day trial period. Choosing the right plan before you can try everything means you have had to do some research beforehand, insert your card details, and then watch out for the trial's expiration while testing the platform with the plan you selected. </p><p>As a new user, the new trial model gives you more breathing room and time to explore everything.</p><h2 id="how-does-it-work">🕹️ How does it work? <a class="markdownit-header-anchor" href="#how-does-it-work">🔗</a></h2><p>The trial period is activated upon signup immediately, giving you access to all features of the <a href="/tiers/business">Localazy Business</a> plan for 14 days. No more waiting around for activation or being confined to limited functionality. It's a straightforward gateway to unlocking the platform's potential.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/info-1.png" class="kg-image" alt loading="lazy" width="692" height="350" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/info-1.png 600w, https://ghost.localazy.com/content/images/2024/04/info-1.png 692w"></figure><h2 id="what-is-included-in-the-trial">🛍️ What is included in the trial? <a class="markdownit-header-anchor" href="#what-is-included-in-the-trial">🔗</a></h2><p>The new trial offers users a deep dive into Localazy's capabilities.</p><p>You can upload up to 10,000 <a href="https://localazy.com/faq/localazy-accounts/what-are-source-keys">source keys</a>, allowing for a substantial project scope right from the start. Additionally, you can <a href="https://localazy.com/features/pre-translate">pre-translate</a> up to 1,000 keys in bulk and see how Localazy can help you streamline the localization process and save valuable time. </p><p>You can also take advantage of features like  <a href="https://localazy.com/features/context-screenshots-ocr">Screenshots</a>, <a href="https://localazy.com/features/release-tags">Releases</a>, and <a href="https://localazy.com/features/format-conversions">Format Conversions</a>, gaining insight into the platform's versatility across different project needs. </p><p>You can test drive all <a href="/integrations">integrations</a>, including popular tools like <a href="https://localazy.com/features/figma-localization-plugin">Figma</a> and <a href="https://localazy.com/docs/zapier/introduction-zapier">Zapier</a>, and seamlessly integrate Localazy into your existing workflows. The trial also allows you to translate content from your <a href="https://localazy.com/docs/strapi/strapi-plugin-introduction-installation">Strapi</a>, <a href="https://localazy.com/docs/directus/directus-plugin-introduction-installation">Directus</a>, or <a href="https://localazy.com/docs/storyblok/storyblok-plugin-introduction-installation">Storyblok</a> websites, as well as <a href="https://localazy.com/docs/intercom/intercom-installation">Intercom</a> help articles.</p><p>The trial allows you to experience the full spectrum of Localazy's capabilities. This means leveraging advanced features like <a href="https://localazy.com/docs/cli/branching">Branching</a> and <a href="https://localazy.com/docs/general/duplicity-linking">Duplicity Linking</a>, empowering teams of various sizes to confidently tackle complex localization challenges.</p><p>Once the 14-day trial period concludes, you have the freedom to upgrade to the <a href="https://localazy.com/blog/localazy-pricing-explained">plan that best suits your needs</a>. No pressure, no strings attached—just the opportunity to make an informed decision based on firsthand experience.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/timeline_trial-2.png" class="kg-image" alt loading="lazy" width="382" height="401"></figure><h2 id="get-started-today">🚀 Get started today! <a class="markdownit-header-anchor" href="#get-started-today">🔗</a></h2><p>Are you ready to start? Whether you're a seasoned developer looking to streamline your localization process or a complete newcomer eager to explore the world of multilingual content, you can explore how Localazy can help you with your efforts.</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/04/Update-trial-DARK.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Partner Highlight: Notum Technologies, making custom software fit]]></title>
            <link>https://localazy.com/blog/partner-highlight-notum-technologies</link>
            <guid isPermaLink="false">partner-highlight-notum-technologies</guid>
            <pubDate>Thu, 25 Apr 2024 08:37:57 GMT</pubDate>
            <description><![CDATA[Standing out in the software development business is getting harder than ever. Notum Technologies shines on its own as one of the few European official implementation Strapi partners. Find out how they help their clients with custom software where Localazy services can be built in.]]></description>
            <content:encoded><![CDATA[<p>Trends in software development move fast, and the business needs of global companies move even faster. Having a unique selling proposition that sticks out in a sea of diverse solutions is hard, but some companies like <strong><a href="https://notum.cz/en/">Notum Technologies</a> </strong>have found their niche thanks to specialization. </p><p>The Czech custom software development agency founded six years ago by <a href="https://www.linkedin.com/in/ondrej-janosik42?originalSubdomain=cz">Ondřej Janošík</a> and <a href="https://www.linkedin.com/in/strapi-guy/">Jiří Mouka</a> can boast being <a href="https://strapi.io/partners">one of the five official Strapi implementation partners in Europe</a> thanks to their expert know-how on this headless CMS. Coupled with extensive experience building solid mobile and web applications, the team at Notum, comprised of over 40 experts, is a safe bet for any company willing to develop its own software solution to serve its clients better.</p><p>As a Localazy partner, Notum offers tailored localization services in their stellar service package. Find out how our collaboration came to be and learn more about their development practices in this interview with co-founder <strong>Jiří Mouka</strong>.</p><h2 id="your-strapi-development-experts">💎 Your Strapi development experts <a class="markdownit-header-anchor" href="#your-strapi-development-experts">🔗</a></h2><p><strong>Hey, </strong><strong>Jiří</strong><strong>! Can you describe the primary problems Notum Technologies addresses?</strong></p><p>We are a custom software development agency specializing in team leasing. Our primary service involves providing expertise that clients may not yet have in their teams or simply expanding their capacity.</p><p>Our vision is to contribute with soft and hard skills to make software a key component of our clients' success. 🧑‍💻 This commitment means we value transparency, openness, and continuous learning. To support this, <a href="https://www.meetup.com/Strapi-CZ/">we organize meetups focused on Strapi</a> and <a href="https://www.facebook.com/vuejsczsk/">Vue</a>.</p><p><strong>Who are your customers?</strong></p><p>Our clients are mainly in the insurance and telecommunications sectors. We serve larger companies globally, from Japan to Finland, from Italy to the USA, with a strong focus on 🇨🇭 Switzerland and 🇨🇿 Czechia. </p><p><strong>You offer a vast catalog of backend, frontend, testing, and QA solutions. Which one stands out for its high demand, and why?</strong></p><p>Our agency primarily receives requests for React Native (which appears straightforward but can present complex challenges)  and Strapi development, as we are one of the top three Strapi implementation experts. </p><p><strong>That is amazing. At Localazy, we love Strapi and are amazed to see that </strong><a href="https://strapi.io/partners/notum"><strong>you're one of the few European official implementation partners</strong></a><strong> of this CMS. How did this collaboration come about?</strong></p><p>We've been using Strapi since it was just starting out. While it had its share of issues in the early days, it helped us accelerate our backend development. This enabled us to build a relationship with the core team, who were the only members of the company back then.</p><blockquote>👀 Are you a Strapi user? Check out <a href="https://market.strapi.io/plugins/@localazy-strapi-plugin">Localazy's plugin</a> on their marketplace and automate your localization process quick as lightning!</blockquote><p><strong>Can you point out a project the team is especially proud of (because of its complexity, scope, or out-of-the-box creativity)?</strong></p><p>While we have several projects under strict NDAs, I can share one remarkable achievement: we have worked closely with Strapi's core team <a href="https://notum.cz/en/strapi-v3-to-v4-migration-for-strapi-io/">to migrate Strapi.io's website from version 3 to version 4</a>. 🎉</p><p>Additionally, we've provided valuable assistance in developing their official plugins and successfully released several on our own.</p><p><strong>What does success look like for your company?</strong></p><p>Seeing clients achieve their KPIs more efficiently through the solutions we create is always great. We also prioritize transparent and honest communication in our journey toward achieving these goals.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/1-2-768x1024-1-2.webp" class="kg-image" alt loading="lazy" width="1640" height="924" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/1-2-768x1024-1-2.webp 600w, https://ghost.localazy.com/content/images/size/w1000/2024/04/1-2-768x1024-1-2.webp 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/04/1-2-768x1024-1-2.webp 1600w, https://ghost.localazy.com/content/images/2024/04/1-2-768x1024-1-2.webp 1640w" sizes="(min-width: 720px) 720px"></figure><h2 id="from-a-9-to-5-job-to-expansion">💼 From a 9 to 5 job to expansion <a class="markdownit-header-anchor" href="#from-a-9-to-5-job-to-expansion">🔗</a></h2><p><strong>Let's circle back to the beginning of Notum. How did you come up with the idea, and how did you put it into motion?</strong></p><p>I have been building software for almost ten years now. I studied Economics in Brno and wanted to combine these two disciplines. My partner and I used to have regular jobs, and every evening, we worked on clients' projects for 4 to 6 hours. After doing this for a year, we finally founded Notum in 2018 and went all in. 🙃</p><p><strong>Was this your first project as an entrepreneur? </strong></p><p>My first was a charity called RightCharity.com. Its goal was to collect affiliate commissions and give them to charities people could vote for.</p><p><strong>How is Notum funded?</strong></p><p>We charge on an hourly basis and provide estimates before we begin coding. At the end of each month, we send a timesheet for customers' review and approval. Our adaptable approach allows you to select the specific roles you need through our team leasing service.</p><p><strong>What does the future of the company currently look like?</strong></p><p>Our priorities include expanding to Switzerland and supporting our self-managed developers' growth in soft and technical skills. 💪</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/01/IMG_3292--5-.JPG" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/IMG_3292--5-.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/IMG_3292--5-.JPG 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/IMG_3292--5-.JPG 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/IMG_3292--5-.JPG 2400w" sizes="(min-width: 720px) 720px"><figcaption>A company that codes together... The team at Notum during a working session.</figcaption></figure><h2 id="honoring-the-swiss-standard">🇨🇭Honoring the Swiss standard <a class="markdownit-header-anchor" href="#honoring-the-swiss-standard">🔗</a></h2><p><strong>How does Notum stand out from competitors in a highly competitive software market?</strong></p><p>It all mainly comes from how we work and develop new solutions. It also has much to do with having communicative developers, being an official Strapi partner, and honoring the Swiss standard.</p><p>Apart from that, we are also:</p><ul><li>👨‍💻 Open-source contributors and open-source lovers.</li><li>✅ We've finished 40+ Strapi projects.</li><li>📚 We are happy to share all our know-how in team leasing and make teams self-sufficient in technologies such as Strapi in 3-6 months.</li></ul><p><strong>What would you say are the most significant risks and challenges for your company?</strong></p><p>As our product is not limited to any specific market, there are no typical risks associated with it. Currently, our challenge lies in expanding to Switzerland and establishing a Swiss Notum branch. We have already elevated our standards to meet Swiss requirements and are now ready to enter this market fully.</p><p><strong>In which fields are you innovating? Any future services you can tease?</strong></p><p>Like many companies, we actively leverage <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">AI technology</a>. Additionally, we extensively utilize <a href="https://localazy.com/blog/figma-as-your-source-of-truth-the-new-approach-to-streamlining-localization">Figma</a> and its plugins, allowing us to create extensive design systems, tokens, and variables. This approach helps bridge the gap and reduce the time between the design and development phases.</p><p><strong>What will the software development industry look like about ten years from now?</strong></p><p>I anticipate that CMSs will soon autonomously generate AI-driven content at a large scale, with marketing teams focusing on fine-tuning the results. 🔍 Additionally, I believe another layer of AI will emerge to summarize this content or transform it into different formats, such as shorter text or video content.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/Navrh-bez-nazvu-4.png" class="kg-image" alt loading="lazy" width="1640" height="924" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/Navrh-bez-nazvu-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/04/Navrh-bez-nazvu-4.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/04/Navrh-bez-nazvu-4.png 1600w, https://ghost.localazy.com/content/images/2024/04/Navrh-bez-nazvu-4.png 1640w" sizes="(min-width: 720px) 720px"></figure><h2 id="integrating-localazy">🧩 Integrating Localazy <a class="markdownit-header-anchor" href="#integrating-localazy">🔗</a></h2><p><strong>Why did you decide to offer Localazy to your clients?</strong></p><p>Many of our clients have international businesses; hence, their websites must be available in multiple languages. We chose Localazy because <a href="https://strapi.io/blog/strapi-localization-made-easy-with-localazy-plugin">it integrates with Strapi via plugin</a>, so it seemed like a great fit.</p><p><strong>Did you have previous experience with localization before Localazy?</strong></p><p>Yes. The people who create content for the websites we make <a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">often copy and paste the text</a> into translation tools like Google Translate or Deepl. Then, they copy the translated text back into Strapi. Sadly, this takes a lot of time and effort.</p><blockquote>"The people who create content for the websites we make often copy and paste the text into translation tools, and then copy it back into Strapi. This takes a lot of time and effort"</blockquote><p><strong>How was the integration process?</strong></p><p>We really like Localazy; it's a fantastic tool! The control panel is easy to use, with instructions for nearly everything you can do. We had some problems making the Localazy plugin work with the exact version of Strapi we were using, but after getting help from your team, everything worked fine. 👍</p><p><strong>From the perspective of a whole team of software makers, what is your favorite Localazy feature, and how has it made your life easier?</strong></p><p>I don't think I can highlight just one feature, but <a href="https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization">the overall automation that Localazy adds</a> to the translation process is fantastic. It can save a lot of time when handling content in multiple languages.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/3-1-1024x768-1.webp" class="kg-image" alt loading="lazy" width="1024" height="768" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/3-1-1024x768-1.webp 600w, https://ghost.localazy.com/content/images/size/w1000/2024/04/3-1-1024x768-1.webp 1000w, https://ghost.localazy.com/content/images/2024/04/3-1-1024x768-1.webp 1024w" sizes="(min-width: 720px) 720px"></figure><p><strong>How many languages have you implemented for Notum? Are you planning to add more?</strong></p><p>We added two more languages besides Czech, which was the original language of the content: English and German. This met our needs, but since we also have clients from Japan, we might test how Japanese works with Localazy in the future.</p><p><strong>Apart from Localazy, would you like to highlight some services or products you really enjoy?</strong></p><p>We would love to mention our <a href="https://strapi.io/blog/elevating-strapi-notum-s-journey-in-creating-three-open-source-plugins">open-source Strapi plugins</a>, which, when used with <a href="https://localazy.com/strapi">the Localazy integration plugin</a>, can enhance this CMS' capabilities even further.</p><p><strong>Well, that's a wrap! Thank you for your time, </strong><strong>Jiří</strong><strong>. We'll keep an eye on what Notum does next! 👀 If you want to be in the loop too, follow them on their social channels, and make sure to take a look at their impressive portfolio <a href="https://notum.cz/en/portfolio/">here</a>.</strong><br><br></p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/04/Localazy-Interview-Notum.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 35 resources on UX Writing (blogs, books, podcasts, courses)]]></title>
            <link>https://localazy.com/blog/top-35-resources-on-ux-writing-blogs-books-podcasts-courses</link>
            <guid isPermaLink="false">top-35-resources-on-ux-writing-blogs-books-podcasts-courses</guid>
            <pubDate>Fri, 31 May 2024 11:50:26 GMT</pubDate>
            <description><![CDATA[UX writing is not an easy skill to master. Here are some of the best resources to refine your craft, including staple reads, must-follow blogs, expert-led podcasts, and courses full of useful tips.]]></description>
            <content:encoded><![CDATA[<p>What are some of the best resources for UX writers? Well, whether you’re just starting out or you've been in the trenches for a while, <strong>inspiration is a must</strong> when it comes to finding the right voice and tone and composing the perfect texts. </p><p>That’s why we took the time to curate a long list of 35 resources to help you master <a href="https://localazy.com/blog/12-principles-of-ux-writing-with-examples">the art of UX writing</a> in no time. ✍️ We’re sharing blogs, books, podcasts, and courses that explore powerful UX writing techniques to help you write microcopy that guides users through a website, app, or a piece of software with ease. </p><h2 id="top-11-blogs-for-ux-writers">👓 Top 11 Blogs for UX Writers <a class="markdownit-header-anchor" href="#top-11-blogs-for-ux-writers">🔗</a></h2><p>There are tons of blogs online that provide free guidance and share personal experiences about building a career as a UX writer. We’ve collected eleven popular blogs that post practical advice, share insights, and explore industry updates.</p><h3 id="1-lessa-hrefhttpsuxcontentcombloggreaterux-content-collectivelessagreater">1. <a href="https://uxcontent.com/blog/">UX Content Collective</a> <a class="markdownit-header-anchor" href="#1-lessa-hrefhttpsuxcontentcombloggreaterux-content-collectivelessagreater">🔗</a></h3><p>Founded in 2019 by <a href="https://uxwritinghub.com/blog/"><a href="https://www.bobbiewood.com">Bobbie Wood</a></a> and <a href="http://pdstafford.com">Patrick Stafford</a>, UX Content Collective started as a UX writing teaching platform. Over the years, their team has expanded, and now they’re offering workshops, team training, and online courses on UX writing, product localization, content research, and more.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/UX-Collective-Blog-.jpg" class="kg-image" alt loading="lazy" width="1833" height="909" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/UX-Collective-Blog-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/UX-Collective-Blog-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/UX-Collective-Blog-.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/UX-Collective-Blog-.jpg 1833w" sizes="(min-width: 720px) 720px"></figure><p>They also have <a href="https://uxcontent.com/es/the-interface-podcast/">a podcast</a> and free resources on their blog, which is why we’re mentioning them. On the site, you’ll find many articles on UX writing and its intersection with localization, chatbot building, the writing process, and more.</p><p>The team brings over 50 years of cumulative experience to the table, which makes them qualified to teach and educate anyone who wants to master UX writing.</p><h3 id="2-lessa-hrefhttpsuxwritinghubcombloggreaterux-writing-hublessagreater">2. <a href="https://uxwritinghub.com/blog/">UX Writing Hub</a> <a class="markdownit-header-anchor" href="#2-lessa-hrefhttpsuxwritinghubcombloggreaterux-writing-hublessagreater">🔗</a></h3><p>UX Writing Hub was founded in 2018 by <a href="https://www.linkedin.com/in/yuvalkesh/">Yuval Keshtcher</a>. It primarily offers UX writing courses, valuable resources like articles, and even a job board. Their students have been hired by Google, PayPal, and Meta, making them a reputable brand in UX writing and content design. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/UX-Writing-Hub-Blog-.jpg" class="kg-image" alt loading="lazy" width="1673" height="912" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/UX-Writing-Hub-Blog-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/UX-Writing-Hub-Blog-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/UX-Writing-Hub-Blog-.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/UX-Writing-Hub-Blog-.jpg 1673w" sizes="(min-width: 720px) 720px"></figure><p>In their blog, you will find diverse articles covering everything you need to know about UX writing, intersections with other fields, and industry updates. From picking up the basics to learning how to build your portfolio, their content will teach you how to become a top UX writer. On their blog, you’ll find interviews, best practices, resources, strategies, and posts about their podcast episodes.</p><h3 id="3-lessa-hrefhttpsvanschneidercomblogux-writinggreaterthe-ux-copywriterlessagreater">3. <a href="https://vanschneider.com/blog/ux-writing/">The UX Copywriter</a> <a class="markdownit-header-anchor" href="#3-lessa-hrefhttpsvanschneidercomblogux-writinggreaterthe-ux-copywriterlessagreater">🔗</a></h3><p>Unlike other blogs we’ve mentioned, The UX Copywriter is not an entirely separate website. Written by <a href="https://vanschneider.com">Tobias van Schneider</a>, it is a series of articles exploring UX writing and content design. As a multidisciplinary creator, designer, founder, writer, and mentor, Tobias offers a unique perspective on UX.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/The-UX-Copywriter.jpg" class="kg-image" alt loading="lazy" width="1357" height="870" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/The-UX-Copywriter.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/The-UX-Copywriter.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/The-UX-Copywriter.jpg 1357w" sizes="(min-width: 720px) 720px"></figure><p>While there has been no new content since 2022, the existing articles are evergreen pieces covering all aspects of UX writing. Whether you’re just starting your UX writer career or have already mastered the basics, this blog is an invaluable read.</p><h3 id="4-lessa-hrefhttpsuxwritinghomecombloggreaterux-writing-homelessagreater">4. <a href="https://uxwritinghome.com/blog/">UX Writing Home</a> <a class="markdownit-header-anchor" href="#4-lessa-hrefhttpsuxwritinghomecombloggreaterux-writing-homelessagreater">🔗</a></h3><p>This blog hosts articles from over ten authors who talk about their experience with UX writing and what they’ve learned along the way. The main website is originally in Persian since the company that operates it is based in Iran, but the blog is in English. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/The-UX-Writing-Home-.jpg" class="kg-image" alt loading="lazy" width="1786" height="912" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/The-UX-Writing-Home-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/The-UX-Writing-Home-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/The-UX-Writing-Home-.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/The-UX-Writing-Home-.jpg 1786w" sizes="(min-width: 720px) 720px"></figure><p>Most of the content is published by one writer, Husamedin Motahari, a novelist and a UX writer. He writes about all the aspects of UX writing and content design, sharing tips and perspectives to help you become a better UX writer.</p><h3 id="5-lessa-hrefhttpsuxplanetorggreaterux-planetlessagreater">5. <a href="https://uxplanet.org">UX Planet</a> <a class="markdownit-header-anchor" href="#5-lessa-hrefhttpsuxplanetorggreaterux-planetlessagreater">🔗</a></h3><p>It’s almost impossible to search for UX writing content and not run into one of the largest Medium publications related to user experience. The publication, which counts over 325k followers, is home to tens of daily articles about career tips, user research, UX for beginners, and round-ups about top UX/UI agencies, and it welcomes everyone to publish their thoughts on UX. 💭</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/UX-Planet-.jpg" class="kg-image" alt loading="lazy" width="1403" height="872" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/UX-Planet-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/UX-Planet-.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/UX-Planet-.jpg 1403w" sizes="(min-width: 720px) 720px"></figure><p>The publication hosts articles that go beyond UX writing, including user research, design, and more. You can read up to five paywalled posts and every other article that is set as free to read from authors, but for more, you’ll need to pay $5/mo to subscribe to Medium. However, there are tons of free articles on UX writing on UX Planet, so you won't necessarily have to.</p><h3 id="6-lessa-hrefhttpswwwnngroupcomarticlesgreaternielsen-norman-grouplessagreater">6. <a href="https://www.nngroup.com/articles/">Nielsen Norman Group</a> <a class="markdownit-header-anchor" href="#6-lessa-hrefhttpswwwnngroupcomarticlesgreaternielsen-norman-grouplessagreater">🔗</a></h3><p>This is probably one of the most professional and updated blogs on our list. Nielsen Norman Group publishes daily pieces on UX writing, but most of their blog content includes <a href="https://www.youtube.com/@NNgroup">YouTube videos</a> they’ve shared on the site, along with their summary.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Nielsen-Norman-Group-.jpg" class="kg-image" alt loading="lazy" width="1621" height="889" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Nielsen-Norman-Group-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Nielsen-Norman-Group-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Nielsen-Norman-Group-.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Nielsen-Norman-Group-.jpg 1621w" sizes="(min-width: 720px) 720px"></figure><p>As a UX research and consulting firm, their expertise has enabled them to work with some of the largest brands worldwide. Moreover, you’ll find their knowledge distributed in the form of online seminars on UX, research reports, training seminars, books, and an extensive library of over 1500 articles.</p><h3 id="7-lessa-hrefhttpsxdadobecomideasgreaterxd-ideaslessagreater">7. <a href="https://xd.adobe.com/ideas/">XD Ideas</a> <a class="markdownit-header-anchor" href="#7-lessa-hrefhttpsxdadobecomideasgreaterxd-ideaslessagreater">🔗</a></h3><p>The giant of visual-assets creation software, Adobe, couldn’t be left out of this list. In their newsletter/blog, XD Ideas, they share articles on creativity, user experience, digital content, user research, design, and more. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/XD-Ideas.jpg" class="kg-image" alt loading="lazy" width="1499" height="900" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/XD-Ideas.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/XD-Ideas.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/XD-Ideas.jpg 1499w" sizes="(min-width: 720px) 720px"></figure><p>While most of their content focuses on design and the visual aspects of UX rather than writing, this remains an integral part of UX that every writer needs to be acquainted with. From interviews to principles and the process of crafting better user experiences, there is a lot to learn from their blog.</p><h3 id="8-lessa-hrefhttps52weeksofuxcomgreater52-weeks-of-uxlessagreater">8. <a href="https://52weeksofux.com">52 Weeks of UX</a> <a class="markdownit-header-anchor" href="#8-lessa-hrefhttps52weeksofuxcomgreater52-weeks-of-uxlessagreater">🔗</a></h3><p>In this timeless blog, you will find evergreen articles based on the basic principles of UX. 52 Weeks of UX explores various aspects of user experience design. It provides readers with a year-long journey of UX exploration, covering a wide range of topics, from fundamental principles to advanced techniques.  </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/52-Weeks-of-UX-.jpg" class="kg-image" alt loading="lazy" width="1539" height="890" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/52-Weeks-of-UX-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/52-Weeks-of-UX-.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/52-Weeks-of-UX-.jpg 1539w" sizes="(min-width: 720px) 720px"></figure><p>The blog presented a new UX concept weekly, encouraging readers to reflect on the intricacies of UX. 🗓️ Even though the last article was published in December 2011, the website receives over 12,000 monthly visitors due to its timeless content. <a href="https://twitter.com/jbrewer?lang=es">Joshua Brewer</a>, one of the co-creators of 52 Weeks of UX, has worked as a Principal Designer at X (Twitter) and is the founder of Abstract, while Joshua Porter is a product designer and author of the book <a href="https://www.amazon.com/Designing-Social-Web-Joshua-Porter/dp/0321534921">“Designing for the Social Web</a>.”</p><h3 id="9-lessa-hrefhttpswwwuxmatterscomgreaterux-matterslessagreater">9. <a href="https://www.uxmatters.com">UX Matters</a> <a class="markdownit-header-anchor" href="#9-lessa-hrefhttpswwwuxmatterscomgreaterux-matterslessagreater">🔗</a></h3><p>UX Matters was founded in 2005 by <a href="https://www.linkedin.com/in/pabini/">Pabini Gabriel-Petit</a>, and since then, thousands of articles have been published on the site. Authors include professionals in the field of UX who share their experiences and insights for both seniors and beginners who are just starting their journey working in UX. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/UX-Matters.jpg" class="kg-image" alt loading="lazy" width="1859" height="904" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/UX-Matters.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/UX-Matters.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/UX-Matters.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/UX-Matters.jpg 1859w" sizes="(min-width: 720px) 720px"></figure><p>You will find many articles aimed at field professionals of every level and discipline, from product managers to stakeholders and front-end developers. The published articles vary in length and scope, and you can find both actionable advice and long pieces that delve into the strategy behind great UX.</p><h3 id="10-lessa-hrefhttpsgoodmicrocopycomgreatergood-microcopylessagreater">10. <a href="https://goodmicrocopy.com">Good Microcopy</a> <a class="markdownit-header-anchor" href="#10-lessa-hrefhttpsgoodmicrocopycomgreatergood-microcopylessagreater">🔗</a></h3><p>If you want to jump straight into practical examples and skip the theory, Good Microcopy is your ideal website. Founded by <a href="https://www.linkedin.com/in/richard-sison/">Richard Sision</a>, a Senior Designer at WiseTech Global, Good Micropcopy is a Tumblr blog where Richard curates and analyzes examples of microcopy he finds online. 🔍</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Good-Microcopy.jpg" class="kg-image" alt loading="lazy" width="1868" height="910" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Good-Microcopy.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Good-Microcopy.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Good-Microcopy.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Good-Microcopy.jpg 1868w" sizes="(min-width: 720px) 720px"></figure><p>Looking at great microcopy examples and understanding why they work will train your mind to glance at interfaces with a new perspective and craft better UX writing. These examples are short (and endless), with minimalistic comments and clear explanations. It’s like scrolling on Instagram to learn.</p><h3 id="11-lessa-hrefhttpsm3materialiogreatergoogles-material-designlessagreater">11. <a href="https://m3.material.io">Google’s Material Design</a> <a class="markdownit-header-anchor" href="#11-lessa-hrefhttpsm3materialiogreatergoogles-material-designlessagreater">🔗</a></h3><p>Google has created its own open-source design system, Material Design, which enables product designers to create user interfaces. While its focus is more on the design side, its Foundations overview also explains the basics of content design.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Material-Design-.jpg" class="kg-image" alt loading="lazy" width="1903" height="915" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Material-Design-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Material-Design-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Material-Design-.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Material-Design-.jpg 1903w" sizes="(min-width: 720px) 720px"></figure><p>Moreover, Material Design’s blog is continuously updated with new articles on content design, fonts, user interfaces, research, and the data behind the latest features. Currently, Google has released version 3 of Material Design, but if you want more content on UX writing, you can check the archived versions, too (<a href="https://m1.material.io/style/writing.html">1</a>, <a href="https://m2.material.io/design/communication/writing.html#principles">2</a>).</p><h2 id="top-7-courses-on-ux-writing">🧑‍🏫 Top 7 Courses on UX Writing <a class="markdownit-header-anchor" href="#top-7-courses-on-ux-writing">🔗</a></h2><p>UX writing can also be learned and improved through practical courses. These are seven of the most popular ones you'll want to consider to upskill your career as a UX writer.</p><h3 id="12-lessa-hrefhttpsuxwritinghubcomjoin-the-ux-writing-academygreaterux-writing-hublessagreater">12. <a href="https://uxwritinghub.com/join-the-ux-writing-academy/">UX Writing Hub</a>  <a class="markdownit-header-anchor" href="#12-lessa-hrefhttpsuxwritinghubcomjoin-the-ux-writing-academygreaterux-writing-hublessagreater">🔗</a></h3><blockquote><strong><em>Free and paid courses to perfect the craft.</em></strong></blockquote><p>If you’re serious about learning UX writing, the UX Writing Hub platform is a must. The platform offers both a short free course and paid courses, which explore the craft more in-depth with practical exercises. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/UX-Writing-Academy-.jpg" class="kg-image" alt loading="lazy" width="1850" height="914" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/UX-Writing-Academy-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/UX-Writing-Academy-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/UX-Writing-Academy-.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/UX-Writing-Academy-.jpg 1850w" sizes="(min-width: 720px) 720px"></figure><p>When you register for the paid option, know that it takes 5-6 months to complete, even if you spend 10-15 hours on it weekly. Considering the reviews from past students, the course offers an exceptional and immersive learning experience.</p><h3 id="13-lessa-hrefhttpsuxcontentcomcourses-and-pricinggreaterux-content-collectivelessagreater">13. <a href="https://uxcontent.com/courses-and-pricing/">UX Content Collective</a>  <a class="markdownit-header-anchor" href="#13-lessa-hrefhttpsuxcontentcomcourses-and-pricinggreaterux-content-collectivelessagreater">🔗</a></h3><blockquote><em><strong>Self-paced courses with online workshops and team training.</strong></em></blockquote><p>We mentioned the UX Content Collective as one of the free blogs you can visit to learn more about UX writing. Unsurprisingly, they offer courses on content design and UX writing as well, including self-paced online courses, online workshops, and team coaching. With prices ranging from $350 to $1600, you have plenty of options to choose from.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/UX-Content-Collective-Courses.jpg" class="kg-image" alt loading="lazy" width="1363" height="905" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/UX-Content-Collective-Courses.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/UX-Content-Collective-Courses.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/UX-Content-Collective-Courses.jpg 1363w" sizes="(min-width: 720px) 720px"></figure><p>Their courses cover UX writing fundamentals, product localization, marketing writing for UX writers, content strategy, user research &amp; testing, etc. The workshops are more intensive and interactive, covering topics such as tone and voice, microcopy, and error messages. Lastly, team training is reserved for companies who want to train their UX teams in a group setting or solo. </p><h3 id="14-lessa-hrefhttpswwwudemycomcourseux-writinggreatermicrocopy-and-ux-writing-the-complete-courselessagreater">14. <a href="https://www.udemy.com/course/ux-writing/">Microcopy & UX Writing: The Complete Course</a> <a class="markdownit-header-anchor" href="#14-lessa-hrefhttpswwwudemycomcourseux-writinggreatermicrocopy-and-ux-writing-the-complete-courselessagreater">🔗</a></h3><blockquote><strong><em>A thorough walkthrough over the fundamentals of UX copy via Udemy.</em></strong></blockquote><p>This course, written and produced by <a href="https://www.linkedin.com/in/nemala/?originalSubdomain=il">Kinneret Yifrah</a> and presented by <a href="https://www.meravwrites.com">Merav Levkowitz</a>, has received many positive reviews from students on Udemy. It focuses on teaching the basics of microcopy and UX writing. It covers a wide range of subtopics, including the different types of microcopy, how to write clear and concise microcopy, and how to test your microcopy with users. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Microcopy_UX-Writing_The-Complete-Course-on-Udemy.jpg" class="kg-image" alt loading="lazy" width="1862" height="848" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Microcopy_UX-Writing_The-Complete-Course-on-Udemy.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Microcopy_UX-Writing_The-Complete-Course-on-Udemy.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Microcopy_UX-Writing_The-Complete-Course-on-Udemy.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Microcopy_UX-Writing_The-Complete-Course-on-Udemy.jpg 1862w" sizes="(min-width: 720px) 720px"></figure><p>The course is structured with a mix of video lessons, quizzes, and exercises. You can also download resources, such as templates and style guides to practice.</p><h3 id="15-lessa-hrefhttpswwwudemycomcourseintroduction-to-ux-writinggreaterintroduction-to-ux-writinglessagreater">15. <a href="https://www.udemy.com/course/introduction-to-ux-writing/">Introduction to UX Writing</a>  <a class="markdownit-header-anchor" href="#15-lessa-hrefhttpswwwudemycomcourseintroduction-to-ux-writinggreaterintroduction-to-ux-writinglessagreater">🔗</a></h3><blockquote><strong>User experience 1o1 for everyone: writers, designers, managers, and developers.</strong></blockquote><p>With over 2,000 positive reviews, this course by <a href="https://www.linkedin.com/in/drkatharinagrimm/">Dr. Katharina Grimm</a> focuses on the vital role of UX writing in improving the user experience of digital products. It points out the fact that even though these text elements may seem small, they play a significant role in how users view and interact with digital interfaces.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Introduction-to-UX-Writing-on-Udemy.jpg" class="kg-image" alt loading="lazy" width="1902" height="851" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Introduction-to-UX-Writing-on-Udemy.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Introduction-to-UX-Writing-on-Udemy.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Introduction-to-UX-Writing-on-Udemy.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Introduction-to-UX-Writing-on-Udemy.jpg 1902w" sizes="(min-width: 720px) 720px"></figure><p>Designed for a broad audience, this course is appropriate for UX designers, UI designers, developers, product managers, and writers interested in mastering the craft of UX writing. As a student, you’ll gain new insights into the fundamentals of UX writing, understand its difference from copywriting, and understand the psychology behind it.</p><h3 id="16-lessa-hrefhttpscontentdesignlondoncoursesgreatercontent-design-london-courseslessagreater">16. <a href="https://contentdesign.london/courses">Content Design London courses</a> <a class="markdownit-header-anchor" href="#16-lessa-hrefhttpscontentdesignlondoncoursesgreatercontent-design-london-courseslessagreater">🔗</a></h3><blockquote><strong>Certified content courses on a free and paid basis.</strong></blockquote><p>Content Design London (CDL) has been a leading expert in human-centered design and content strategy since its foundation in 2016. They work with experienced senior content designers like <a href="https://www.linkedin.com/in/rachel-edwards-scotland/?originalSubdomain=uk">Rachel Edwards</a>, <a href="https://www.linkedin.com/in/neil-faz-content-design/?originalSubdomain=uk">Neil Fazakerley</a>, and <a href="https://www.linkedin.com/in/nia-campbell-81833158/?originalSubdomain=uk">Nia Campbell</a>, who specialize in certain aspects of content design. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Content-Design-London-Courses.jpg" class="kg-image" alt loading="lazy" width="1421" height="891" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Content-Design-London-Courses.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Content-Design-London-Courses.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Content-Design-London-Courses.jpg 1421w" sizes="(min-width: 720px) 720px"></figure><p>Their content design courses are <a href="https://www.cpdstandards.com/become-accredited/what-is-cpd-accreditation/">CPD-certified</a> (Continuing Professional Development), signifying that they’re officially recognized as contributing to an individual's ongoing professional education. Pricing ranges from £295 to £1550.</p><h3 id="17-lessa-hrefhttpswwwnngroupcomcourseswritinggreaterwriting-compelling-digital-copylessagreater">17. <a href="https://www.nngroup.com/courses/writing/">Writing Compelling Digital Copy</a> <a class="markdownit-header-anchor" href="#17-lessa-hrefhttpswwwnngroupcomcourseswritinggreaterwriting-compelling-digital-copylessagreater">🔗</a></h3><blockquote><strong>The ultimate UX Writing course by Nielsen Norman Group.</strong></blockquote><p>Nielsen Norman Group is a well-recognized leader in user experience design. So, it makes sense for them to offer a course in UX writing. “Writing Compelling Digital Copy” is that course, and it is offered for both individuals and teams. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Nielsen-Norman-Group---Writing-Compelling-Digital-Copy-Course-.jpg" class="kg-image" alt loading="lazy" width="1633" height="895" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Nielsen-Norman-Group---Writing-Compelling-Digital-Copy-Course-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Nielsen-Norman-Group---Writing-Compelling-Digital-Copy-Course-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Nielsen-Norman-Group---Writing-Compelling-Digital-Copy-Course-.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Nielsen-Norman-Group---Writing-Compelling-Digital-Copy-Course-.jpg 1633w" sizes="(min-width: 720px) 720px"></figure><p>The course covers critical aspects of digital content creation and UX writing. It starts with insights into how people read online and their common patterns. Then, it elaborates on UX writing rules, including building trust and driving action. Also, it touches on content structuring and maintaining a consistent tone.</p><h3 id="18-lessa-hrefhttpsdailyuxwritingcomgreaterdaily-ux-writing-challengelessagreater">18. <a href="https://dailyuxwriting.com">Daily UX Writing Challenge</a> <a class="markdownit-header-anchor" href="#18-lessa-hrefhttpsdailyuxwritingcomgreaterdaily-ux-writing-challengelessagreater">🔗</a></h3><blockquote><strong>A free challenge to perfect your UX copy during two weeks.</strong></blockquote><p>Practice is the best way to improve your writing. The Daily UX Writing Challenge nudges you to practice writing daily and sharpens your UX writing skills. They do it by sending you daily UX writing prompts for 14 days in a row and for free, so this can be an excellent pick if you're on a budget. 💸</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Daily-UX-Writing-Challenge.jpg" class="kg-image" alt loading="lazy" width="1751" height="792" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Daily-UX-Writing-Challenge.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Daily-UX-Writing-Challenge.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Daily-UX-Writing-Challenge.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Daily-UX-Writing-Challenge.jpg 1751w" sizes="(min-width: 720px) 720px"></figure><p>For 14 days, you’ll tackle daily UX writing exercises, even facing a final challenge similar to those used in big tech company interviews on the 15th day. And if you want to see what these prompts look like, try their <a href="https://dailyuxwriting.com/random-microcopy-prompt">Random Microcopy Prompt Generator</a>.</p><h2 id="top-5-podcasts-for-ux-writers">🎧 Top 5 Podcasts for UX Writers <a class="markdownit-header-anchor" href="#top-5-podcasts-for-ux-writers">🔗</a></h2><p>We get that you may be more of an auditory learner. If that’s the case, you’ll enjoy learning more about UX writing through these five podcasts.</p><h3 id="19-lessa-hrefhttpswwwcontentstrategycomgreaterthe-content-strategy-podcastlessagreater-by-kristina-halvorson">19. <a href="https://www.contentstrategy.com">The Content Strategy Podcast</a> by Kristina Halvorson <a class="markdownit-header-anchor" href="#19-lessa-hrefhttpswwwcontentstrategycomgreaterthe-content-strategy-podcastlessagreater-by-kristina-halvorson">🔗</a></h3><p>The Content Strategy Podcast is a valuable resource for content enthusiasts. Each episode offers insightful discussions and interviews with content strategy experts, making it a go-to for anyone looking to sharpen their content strategy skills.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/The-Content-Strategy-Podcast.jpg" class="kg-image" alt loading="lazy" width="1740" height="885" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/The-Content-Strategy-Podcast.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/The-Content-Strategy-Podcast.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/The-Content-Strategy-Podcast.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/The-Content-Strategy-Podcast.jpg 1740w" sizes="(min-width: 720px) 720px"></figure><p>Hosted by Brain Traffic CEO <a href="https://twitter.com/halvorson/">Kristina Halvorson</a>, its episodes cover topics such as solving complex content problems, measuring content success with data, and approaching content operations. They also track the evolving roles and responsibilities in content design and more.</p><h3 id="20-lessa-hrefhttpsuserdefenderscomgreateruser-defenderslessagreater-by-jason-ogle">20. <a href="https://userdefenders.com">User Defenders</a> by Jason Ogle <a class="markdownit-header-anchor" href="#20-lessa-hrefhttpsuserdefenderscomgreateruser-defenderslessagreater-by-jason-ogle">🔗</a></h3><p>User Defenders is a podcast about the intersection of user experience and personal growth. The host, <a href="https://jasonogle.com">Jason Ogle</a>, invites UX designers and designer leaders who want to share their stories working in the field and inspire others. <br></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/User-Defenders.jpg" class="kg-image" alt loading="lazy" width="1480" height="893" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/User-Defenders.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/User-Defenders.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/User-Defenders.jpg 1480w" sizes="(min-width: 720px) 720px"></figure><p>While the podcast focuses more on UX design, writing and microcopy are often mentioned as indispensable parts of it. Jason has paused the podcast, and the last episode was released in March 2022. However, there are 81 episodes for you to listen to and muse on.</p><h3 id="21-lessa-hrefhttpsuxwritinghubcomcategorypodcastgreaterwriters-in-techlessagreater-by-yuval-keshtcher">21. <a href="https://uxwritinghub.com/category/podcast/">Writers in Tech</a> by Yuval Keshtcher <a class="markdownit-header-anchor" href="#21-lessa-hrefhttpsuxwritinghubcomcategorypodcastgreaterwriters-in-techlessagreater-by-yuval-keshtcher">🔗</a></h3><p>When we said that the UX Writing Hub is an authority in the UX space, we weren’t kidding. The hub's founder, Yuval Keshtcher, interviews UX writers, content strategists, and content designers to share their learnings and experiences. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/UX-Writing-Hub-Podcasts.jpg" class="kg-image" alt loading="lazy" width="1661" height="894" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/UX-Writing-Hub-Podcasts.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/UX-Writing-Hub-Podcasts.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/UX-Writing-Hub-Podcasts.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/UX-Writing-Hub-Podcasts.jpg 1661w" sizes="(min-width: 720px) 720px"></figure><p>He has published over 97 episodes (around 30 minutes each), and you can expect around two monthly episodes. 🎙️ This is a great podcast, especially if you’re starting your career since he often interviews past students who share their success stories.</p><h3 id="22-lessa-hrefhttpswwwwritersofsiliconvalleycomgreaterwriters-of-silicon-valleylessagreater-by-patrick-stafford">22. <a href="https://www.writersofsiliconvalley.com">Writers of Silicon Valley</a> by Patrick Stafford <a class="markdownit-header-anchor" href="#22-lessa-hrefhttpswwwwritersofsiliconvalleycomgreaterwriters-of-silicon-valleylessagreater-by-patrick-stafford">🔗</a></h3><p>Brought to you by Patrick Stafford, the co-founder of UX Content Collective, Writers of Silicon Valley is a podcast about UX writing, strategy, and content design. Patrick states that he was motivated to create this podcast because he couldn’t find other quality podcasts on UX, and he surely produced something valuable!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Writers-of-Silicon-Valley.jpg" class="kg-image" alt loading="lazy" width="1735" height="880" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Writers-of-Silicon-Valley.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Writers-of-Silicon-Valley.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Writers-of-Silicon-Valley.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Writers-of-Silicon-Valley.jpg 1735w" sizes="(min-width: 720px) 720px"></figure><p>Although he isn’t recording new episodes anymore, the interviews with 25 field experts from some of the world's most popular companies, such as Google, Dropbox, Spotify, and Netflix, are free for you to listen to.</p><h3 id="23-lessa-hrefhttpsuxcontentcomthe-interface-podcastgreaterthe-interfacelessagreater-by-ux-content-collective">23. <a href="https://uxcontent.com/the-interface-podcast/">The Interface</a> by UX Content Collective <a class="markdownit-header-anchor" href="#23-lessa-hrefhttpsuxcontentcomthe-interface-podcastgreaterthe-interfacelessagreater-by-ux-content-collective">🔗</a></h3><p>Well, guess what? Patrick Stafford is hosting another podcast under the umbrella of UX Content Collective named The Interface. The focus remains on UX writing, content design, emerging industry trends, and other helpful resources.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/The-Interface.jpg" class="kg-image" alt loading="lazy" width="1246" height="719" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/The-Interface.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/The-Interface.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/The-Interface.jpg 1246w" sizes="(min-width: 720px) 720px"></figure><p>You can expect monthly episodes of around 1 hour each, which delve deep into the state of user experience from a UX writer’s perspective. It’s like a friendly group chat with professionals in the field, where they discuss industry updates and share their experiences.</p><h2 id="top-12-books-for-ux-writers">📖 Top 12 Books for UX Writers <a class="markdownit-header-anchor" href="#top-12-books-for-ux-writers">🔗</a></h2><p>Blogs are sweet, podcasts are great, and courses are excellent. However, nothing replaces a good book if you want to immerse yourself in the theory and practice of UX writing. Here are 14 books that will help you craft better microcopy.</p><h3 id="24-lessa-hrefhttpswwwamazoncomstrategic-writing-engagement-conversion-retentiondp1492049395greaterstrategic-writing-for-uxlessagreater-by-torrey-podmajersky">24. <a href="https://www.amazon.com/Strategic-Writing-Engagement-Conversion-Retention/dp/1492049395">Strategic Writing for UX</a> by Torrey Podmajersky <a class="markdownit-header-anchor" href="#24-lessa-hrefhttpswwwamazoncomstrategic-writing-engagement-conversion-retentiondp1492049395greaterstrategic-writing-for-uxlessagreater-by-torrey-podmajersky">🔗</a></h3><p>Full of real-world examples and expert advice, this book is an invaluable resource for those looking to excel in UX writing and design. <a href="https://www.torreypodmajersky.com">Torrey Podmajersky</a>, a veteran content strategist, offers readers a guiding framework for writing conversational, user-centric copy that matches user needs and business objectives. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Strategic-Writing-for-UX-on-Amazon.jpg" class="kg-image" alt loading="lazy" width="1309" height="625" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Strategic-Writing-for-UX-on-Amazon.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Strategic-Writing-for-UX-on-Amazon.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Strategic-Writing-for-UX-on-Amazon.jpg 1309w" sizes="(min-width: 720px) 720px"></figure><p>Inside, you'll find key concepts like voice charts, the significance of content-first design, explanations of text patterns, effective editing techniques, and valuable guidance on evaluating the impact and effectiveness of your copy, among others.</p><blockquote><strong>📲 Related: </strong><a href="https://localazy.com/blog/top-3-ui-frameworks-android-automation-testing"><strong>Top 3 UI Frameworks For Android Automation Testing</strong></a></blockquote><h3 id="25-lessa-hrefhttpswwwamazoncomwriting-designing-words-user-experiencedp1933820667greaterwriting-is-designinglessagreater-by-michael-metts-and-andy-welfle">25. <a href="https://www.amazon.com/Writing-Designing-Words-User-Experience/dp/1933820667">Writing is Designing</a> by Michael Metts and Andy Welfle <a class="markdownit-header-anchor" href="#25-lessa-hrefhttpswwwamazoncomwriting-designing-words-user-experiencedp1933820667greaterwriting-is-designinglessagreater-by-michael-metts-and-andy-welfle">🔗</a></h3><p>An excellent read not only for UX writers but also for product managers, executives, and designers, Writing is Designing resolves the longtime debate between design and writing: which comes first, collaborating or writing compelling copy?</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Writing-is-Designing-on-Amazon.jpg" class="kg-image" alt loading="lazy" width="1331" height="540" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Writing-is-Designing-on-Amazon.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Writing-is-Designing-on-Amazon.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Writing-is-Designing-on-Amazon.jpg 1331w" sizes="(min-width: 720px) 720px"></figure><p><a href="https://andy.wtf">Andy Welfle</a> and <a href="https://mjmetts.com">Micheal J. Metts</a> answer these burning questions and cover other essential topics such as accessibility, voice, tone, and the importance of words in design. UX design is meaningless without words; you’ll learn why in this book.</p><h3 id="26-lessa-hrefhttpswwwnicelysaidcogreaternicely-saidlessagreater-by-nicole-fenton">26. <a href="https://www.nicelysaid.co">Nicely Said</a> by Nicole Fenton <a class="markdownit-header-anchor" href="#26-lessa-hrefhttpswwwnicelysaidcogreaternicely-saidlessagreater-by-nicole-fenton">🔗</a></h3><p>Another excellent read authored by <a href="https://www.nicolefenton.com">Nicole Fenton</a> and <a href="http://katekieferlee.com">Kate Kiefer Lee</a>, Nicely Said: Writing for the Web with Style and Purpose (Voices That Matter), is another masterpiece that delves deep into UX writing and web writing in general. 🖋️ </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Nicely-Said-.jpg" class="kg-image" alt loading="lazy" width="1449" height="892" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Nicely-Said-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Nicely-Said-.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Nicely-Said-.jpg 1449w" sizes="(min-width: 720px) 720px"></figure><p>The book includes interviews and techniques used by professionals like Kristina Halvorson of Brain Traffic, Sarah (Richards) Winters of GOV.UK, and Randy J. Hunt of Etsy. You’ll learn everything from discovering your voice to writing diverse web copy, to interface flows, legal policies, and survey questions.</p><h3 id="27-lessa-hrefhttpscontentdesignlondonshopcontent-design-by-sarah-winters-paperbackgreatercontent-designlessagreater-by-sarah-winters">27. <a href="https://contentdesign.london/shop/content-design-by-sarah-winters-paperback">Content Design</a> by Sarah Winters <a class="markdownit-header-anchor" href="#27-lessa-hrefhttpscontentdesignlondonshopcontent-design-by-sarah-winters-paperbackgreatercontent-designlessagreater-by-sarah-winters">🔗</a></h3><p>We mentioned Content Design London above as one of the best UX educators. It’s  no surprise that their founder, <a href="https://www.linkedin.com/in/sarahrichardscontentstrategist/?originalSubdomain=uk">Sarah Winters</a>, would write a book on the topic. She served as Head of Content Design at the UK's Government Digital Service and has been running Content Design London for several years, gaining a mastery of the craft. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Content-Design-London-Books.jpg" class="kg-image" alt loading="lazy" width="1418" height="818" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Content-Design-London-Books.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Content-Design-London-Books.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Content-Design-London-Books.jpg 1418w" sizes="(min-width: 720px) 720px"></figure><p>The book is printed and shipped once you order it to reduce unnecessary printing, which is a thoughtful practice. Its content is distributed in 10 chapters that go over content design development, the science of reading, user stories, pair writing, style guides, revising based on feedback, and more.</p><h3 id="28-lessa-hrefhttpswwwamazoncomux-beginners-crash-course-lessonsdp1491912685greaterux-for-beginnerslessagreater-by-joel-marsh">28. <a href="https://www.amazon.com/UX-Beginners-Crash-Course-Lessons/dp/1491912685">UX for Beginners</a> by Joel Marsh <a class="markdownit-header-anchor" href="#28-lessa-hrefhttpswwwamazoncomux-beginners-crash-course-lessonsdp1491912685greaterux-for-beginnerslessagreater-by-joel-marsh">🔗</a></h3><p>Perfect for beginners who want to start a career in UX writing, marketers, or managers, UX for Beginners simplifies the craft and explains its principles in a humorous yet practical way. You’ll learn while having fun in the process, too. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/UX-for-Beginners-on-Amazon-.jpg" class="kg-image" alt loading="lazy" width="1374" height="629" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/UX-for-Beginners-on-Amazon-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/UX-for-Beginners-on-Amazon-.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/UX-for-Beginners-on-Amazon-.jpg 1374w" sizes="(min-width: 720px) 720px"></figure><p>The book was born after Joel’s UX Crash Course, posted on his personal Tumblr blog, <a href="https://thehipperelement.com">The Hipper Element</a>, received over a million views. Inside this simple book, you’ll master the fundamentals, learn the science behind anything user-friendly, create wireframes, and measure the results of your work.</p><h3 id="29-lessa-hrefhttpskubiecowfdgreaterwriting-for-designerslessagreater-by-scott-kubie">29. <a href="https://kubie.co/wfd/">Writing for Designers</a> by Scott Kubie <a class="markdownit-header-anchor" href="#29-lessa-hrefhttpskubiecowfdgreaterwriting-for-designerslessagreater-by-scott-kubie">🔗</a></h3><p>If you have a background in design and are now tasked with managing and organizing content, this short book will help you with practical advice. Unlike the books we’ve listed so far, it doesn’t focus on the writing process as much as it focuses on every other process that needs to be done before writing. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Kubie.jpg" class="kg-image" alt loading="lazy" width="1841" height="888" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Kubie.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Kubie.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Kubie.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Kubie.jpg 1841w" sizes="(min-width: 720px) 720px"></figure><p>This means you’ll learn how to build writing assignments, develop workflows, copy briefs, manage feedback, edit, and collaborate with other teammates. The book teaches you to be more productive and get work done no matter what.</p><blockquote><strong>📐 Related: <a href="https://localazy.com/blog/agile-localization-for-ux-the-localazy-figma-plugin-changes-the-game">Agile localization for UX: The Localazy Figma plugin changes the game</a></strong></blockquote><h3 id="30-lessa-hrefhttpsannhandleycomeverybodywritesgreatereverybody-writeslessagreater-by-ann-handley">30. <a href="https://annhandley.com/everybodywrites/">Everybody Writes</a> by Ann Handley <a class="markdownit-header-anchor" href="#30-lessa-hrefhttpsannhandleycomeverybodywritesgreatereverybody-writeslessagreater-by-ann-handley">🔗</a></h3><p><a href="https://annhandley.com/everybodywrites/">Ann</a> has written a masterpiece touted not only by UX writers, but by copywriters and marketing writers worldwide. Everybody Writes shatters the glorified perception we have of writers as some magicians born with impeccable writing skills. 🪄</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Ann-Handley-.jpg" class="kg-image" alt loading="lazy" width="1776" height="910" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Ann-Handley-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Ann-Handley-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Ann-Handley-.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Ann-Handley-.jpg 1776w" sizes="(min-width: 720px) 720px"></figure><p>By delving into the basics of writing, Ann breaks down the best approaches to writing the first drafts. She also talks about what we should unlearn and tackles working with a writing buddy, as well as offering other valuable insights that apply to good writing across domains.</p><h3 id="31-lessa-hrefhttpswwwmicrocopybookcomgreatermicrocopy-the-complete-guidelessagreater-by-kinneret-yifrah">31. <a href="https://www.microcopybook.com">Microcopy: The Complete Guide</a> by Kinneret Yifrah <a class="markdownit-header-anchor" href="#31-lessa-hrefhttpswwwmicrocopybookcomgreatermicrocopy-the-complete-guidelessagreater-by-kinneret-yifrah">🔗</a></h3><p>Authored by Kinneret Yifrah, the instructor of the UX Writing &amp; Microcopy course mentioned above, Microcopy: The Complete Guide has been purchased and preferred by eBay's UX team leads and other professionals who admit they’ve made bulk orders for their teams because this book is a must-read. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Microcopybook-.jpg" class="kg-image" alt loading="lazy" width="1642" height="873" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Microcopybook-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Microcopybook-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Microcopybook-.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Microcopybook-.jpg 1642w" sizes="(min-width: 720px) 720px"></figure><p>As Kinneret notes on her site, this book is suitable for UX writers, product managers, content designers, technical writers, and even digital marketers. You’ll learn how to approach UX writing, from using the correct voice and tone to writing sucess, signing up, and loading messages. You'll also learn to tackle UX writing for complex systems.</p><h3 id="32-lessa-hrefhttpswwwamazoncomstorytelling-design-principles-designing-multi-devicedp1491959428greaterstorytelling-in-designlessagreater-by-anna-dahlstrom">32. <a href="https://www.amazon.com/Storytelling-Design-Principles-Designing-Multi-Device/dp/1491959428">Storytelling in Design</a> by Anna Dahlström <a class="markdownit-header-anchor" href="#32-lessa-hrefhttpswwwamazoncomstorytelling-design-principles-designing-multi-devicedp1491959428greaterstorytelling-in-designlessagreater-by-anna-dahlstrom">🔗</a></h3><p>Stories are everywhere, and great user experiences create great stories. <a href="https://www.annadahlstrom.com">Anna</a>, a well-known speaker and UX designer, elaborates on the principles and tactics used to include storytelling in product design for better user experiences. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Storytelling-in-Design-on-Amazon.jpg" class="kg-image" alt loading="lazy" width="1358" height="636" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Storytelling-in-Design-on-Amazon.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Storytelling-in-Design-on-Amazon.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Storytelling-in-Design-on-Amazon.jpg 1358w" sizes="(min-width: 720px) 720px"></figure><p>The book draws from traditional storytelling techniques found in literature and nonfiction to exemplify how you can improve your UX. This great read for UX designers, product owners, and writers will help you understand how your product makes your users feel and how to make it contribute to positive feelings.</p><h3 id="33-lessa-hrefhttpsabbycovertcommake-sensegreaterhow-to-make-sense-of-any-messlessagreater-by-abby-covert">33. <a href="https://abbycovert.com/make-sense/">How to Make Sense of Any Mess</a> by Abby Covert <a class="markdownit-header-anchor" href="#33-lessa-hrefhttpsabbycovertcommake-sensegreaterhow-to-make-sense-of-any-messlessagreater-by-abby-covert">🔗</a></h3><p>If you’ve ever been thrown into complex projects that asked for lots of input from stakeholders and collaboration with other teammates, all this under strict deadlines, this book by <a href="https://abbycovert.com">Abby Covert</a> will teach you how to navigate these scenarios.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Abby-Covert.jpg" class="kg-image" alt loading="lazy" width="1053" height="885" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Abby-Covert.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Abby-Covert.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Abby-Covert.jpg 1053w" sizes="(min-width: 720px) 720px"></figure><p>However, besides teaching you how to handle complex projects, it also helps you understand Information Architecture (IA) more in-depth and how it fits your job. 🪢 The book gives you a blueprint of seven steps you can use in any scenario to untangle messy information and make sense of what you need to do.</p><h3 id="34-lessa-hrefhttpsabookapartcomproductsconversational-designgreaterconversational-designlessagreater-by-erika-hall">34. <a href="https://abookapart.com/products/conversational-design">Conversational Design</a> by Erika Hall <a class="markdownit-header-anchor" href="#34-lessa-hrefhttpsabookapartcomproductsconversational-designgreaterconversational-designlessagreater-by-erika-hall">🔗</a></h3><p>Written by information design and research expert <a href="https://www.linkedin.com/in/erikahall/">Erika Hall</a>, Conversational Design delves into what makes digital systems more real and less robotic: conversations. Conversational design is the key to building smoother and more authentic UX. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Conversational-Design-on-A-Book-Apart-.jpg" class="kg-image" alt loading="lazy" width="1880" height="906" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Conversational-Design-on-A-Book-Apart-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Conversational-Design-on-A-Book-Apart-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Conversational-Design-on-A-Book-Apart-.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Conversational-Design-on-A-Book-Apart-.jpg 1880w" sizes="(min-width: 720px) 720px"></figure><p>In this book, you’ll learn how to design conversational interactions, understand the human interface, and infuse personality into your words to truly connect with users. You’ll learn to observe the conversations your product leads to when users interact with it, and how to improve those conversations.</p><h3 id="35-lessa-hrefhttpswwwamazoncomcontent-everywhere-strategy-structure-future-readydp193382087xgreatercontent-everywherelessagreater-by-sara-wachter-boettcher">35. <a href="https://www.amazon.com/Content-Everywhere-Strategy-Structure-Future-Ready/dp/193382087X">Content Everywhere</a> by Sara Wachter-Boettcher <a class="markdownit-header-anchor" href="#35-lessa-hrefhttpswwwamazoncomcontent-everywhere-strategy-structure-future-readydp193382087xgreatercontent-everywherelessagreater-by-sara-wachter-boettcher">🔗</a></h3><p>We are seeing more and more channels rise in popularity, which necessarily ends up requiring more and more content. While you can rework the same writing to match the respective channels, what if you could write copy that is timeproof for future channels? </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Content-Everywhere-on-Amazon.jpg" class="kg-image" alt loading="lazy" width="1353" height="588" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Content-Everywhere-on-Amazon.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Content-Everywhere-on-Amazon.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Content-Everywhere-on-Amazon.jpg 1353w" sizes="(min-width: 720px) 720px"></figure><p>Content Everywhere by <a href="https://www.sarawb.com/">Sara Watcher-Boettcher</a> aims to help you shift your mindset around content creation and prepare more manageable, flexible, and reusable pieces for future channels. Instead of writing copy that is functional for one user flow and one screen, you can produce adaptable copy for multiple contexts.</p><h2 id="final-thoughts">📌 Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>We’ve reached the end of this listicle. As a UX writer, the journey ahead of you is exciting and filled with steep learning curves, but we hope these resources will make it easier. <strong>Creating better user experiences takes time and experimentation</strong>. </p><p>You won’t figure it out on the first try. We know this because we’ve helped thousands of businesses translate and localize their apps and websites to multiple languages to reach all their users authentically while providing authentic user experiences. Check out <a href="https://localazy.com">our homepage</a> to discover how we help build better user experiences, and stay tuned for more UX-related content!</p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/04/Top-UX-resources-VOL5.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Revamped Translation Memory, support For E-Learning Localization, and more!]]></title>
            <link>https://localazy.com/blog/release-update-revamped-translation-memory-support-for-e-learning-localization-and-more</link>
            <guid isPermaLink="false">release-update-revamped-translation-memory-support-for-e-learning-localization-and-more</guid>
            <pubDate>Fri, 31 May 2024 11:50:52 GMT</pubDate>
            <description><![CDATA[Explore the newest developments of the Localazy platform in this comprehensive Release Update! Learn more about the new e-learning formats supported, translation memory redesign, and many more improvements and fixes.]]></description>
            <content:encoded><![CDATA[<p>Welcome to the new Localazy Release Update! This release introduces a more intuitive translation memory experience, new file formats and OpenAI improvement. It also includes other improvements and various fixes to enhance stability and performance, ensuring a smoother localization journey for everyone. So, let's dive in!</p><h2 id="new-translation-memory">🧠 New Translation Memory <a class="markdownit-header-anchor" href="#new-translation-memory">🔗</a></h2><p>The new Translation Memory, which replaces the former "InTM," offers a more intuitive and predictable usage. Translation Memory is a database of all translations in your projects. It can suggest translations for matching keys, apply these suggestions in bulk (similar to MT engines), and connect multiple projects to share their TM. </p><h3 id="tm-suggestions">TM Suggestions <a class="markdownit-header-anchor" href="#tm-suggestions">🔗</a></h3><p>Now, you can use Translation Memory suggestions to translate your strings. You can also see which project the suggestion comes from, which is handy with multiple Connected Projects.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/image-15.png" class="kg-image" alt loading="lazy" width="979" height="560" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/image-15.png 600w, https://ghost.localazy.com/content/images/2024/04/image-15.png 979w" sizes="(min-width: 720px) 720px"></figure><h3 id="translate-with-tm-in-bulk">Translate with TM in bulk <a class="markdownit-header-anchor" href="#translate-with-tm-in-bulk">🔗</a></h3><p>You can also apply Translation Memory translations in bulk, where a match is detected. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/image-11.png" class="kg-image" alt loading="lazy" width="718" height="450" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/image-11.png 600w, https://ghost.localazy.com/content/images/2024/04/image-11.png 718w"></figure><h3 id="shared-translation-memory">Shared Translation Memory <a class="markdownit-header-anchor" href="#shared-translation-memory">🔗</a></h3><p>You noticed the "Add Projects" button in the above screenshot. Yes, you can add up to 5 projects to act as a source for the project's Translation Memory.</p><p>This way, you can build a stand-alone project with common labels, names, and phrases that can act as a source for Translation Memory for every other project in your portfolio and significantly reduce the resources needed to translate new projects.</p><blockquote>📚 Learn more in the <a href="https://localazy.com/docs/general/connected-projects">Connected Projects</a> documentation.</blockquote><h2 id="e-learning-course-localization-formats">📁 E-learning course localization formats <a class="markdownit-header-anchor" href="#e-learning-course-localization-formats">🔗</a></h2><p>We have added support for new types of files to help you translate your e-learning courses from various platforms.</p><ol><li><a href="/xliff">XLIFF</a> files that come from <a href="https://localazy.com/rise-360">Articulate Rise 360</a> and iSpring Online Training Software.</li><li>XML files from Adobe Captivate.</li></ol><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/image-18.png" class="kg-image" alt loading="lazy" width="1456" height="1071" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/image-18.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/04/image-18.png 1000w, https://ghost.localazy.com/content/images/2024/04/image-18.png 1456w" sizes="(min-width: 720px) 720px"></figure><h2 id="openai-works-with-glossary">🤖 OpenAI works with Glossary <a class="markdownit-header-anchor" href="#openai-works-with-glossary">🔗</a></h2><p>You can now configure your <a href="https://localazy.com/console/ai">OpenAI integration</a> to take your <a href="https://localazy.com/docs/general/how-to-define-your-glossary">Glossary terms</a> into account when translating! </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/image-16.png" class="kg-image" alt loading="lazy" width="2000" height="160" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/image-16.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/04/image-16.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/04/image-16.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/04/image-16.png 2400w" sizes="(min-width: 720px) 720px"></figure><blockquote>➡️ We are still in the process of improving the OpenAI capabilities on our platform. Please <a href="/contact">let us know</a> if you have any tips for improving the integration!</blockquote><h2 id="new-release-notifications">⚡ New release notifications <a class="markdownit-header-anchor" href="#new-release-notifications">🔗</a></h2><p>All of our users receive a newsletter with each Release Update, and we post them on socials as well, but from now on, it is easier than ever to find out what's new directly inside the Localazy platform!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/image-14.png" class="kg-image" alt loading="lazy" width="1550" height="584" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/04/image-14.png 1000w, https://ghost.localazy.com/content/images/2024/04/image-14.png 1550w" sizes="(min-width: 720px) 720px"></figure><h2 id="more-platform-improvements">📌 More platform improvements <a class="markdownit-header-anchor" href="#more-platform-improvements">🔗</a></h2><p>We work hard to improve the platform for all users, so here's a list of the most significant improvements in this release.</p><h3 id="better-approve-all-ux">Better Approve All UX <a class="markdownit-header-anchor" href="#better-approve-all-ux">🔗</a></h3><p>We frequently received complaints about the unclear behavior of the batch Approve action, so we decided to fix it. We greatly simplified the form, hopefully making it clearer for everyone.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/image-12.png" class="kg-image" alt loading="lazy" width="1414" height="680" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/04/image-12.png 1000w, https://ghost.localazy.com/content/images/2024/04/image-12.png 1414w" sizes="(min-width: 720px) 720px"></figure><ul><li>You can choose if you prefer human translations or not.</li><li>You can choose to overwrite existing approved translations with newer versions waiting for review.</li><li>You get a notification that says precisely how many translations were affected.</li></ul><p>We have a few more ideas for improving this part of the application, such as adding a selector to approve all translations by a specific user. </p><h3 id="simpler-integration-screen">Simpler integration screen <a class="markdownit-header-anchor" href="#simpler-integration-screen">🔗</a></h3><p>First-time integration should be a lot easier now, with the most popular choices readily available. Did you try the <code>demo.json</code> already? </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/image-9.png" class="kg-image" alt loading="lazy" width="2000" height="1080" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/04/image-9.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/04/image-9.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/04/image-9.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="new-project-cards-options">New Project Cards options <a class="markdownit-header-anchor" href="#new-project-cards-options">🔗</a></h3><p>The project card menu on your <a href="/my/dashboard">Dashboard</a> now has more options. From here, you can quickly delete a project, copy a link to it, or transfer it to another organization.</p><h3 id="quality-checks-can-be-dismissed">Quality Checks can be dismissed <a class="markdownit-header-anchor" href="#quality-checks-can-be-dismissed">🔗</a></h3><p>While these are useful in most cases, sometimes they can get in the way and disrupt the translation flow. For this reason, the various <a href="https://localazy.com/docs/general/qa-checks">QA checks</a> that validate the translation can now be dismissed. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/image-13.png" class="kg-image" alt loading="lazy" width="541" height="448"></figure><h3 id="improved-upload-status-messages">Improved upload status messages <a class="markdownit-header-anchor" href="#improved-upload-status-messages">🔗</a></h3><p>Each successful upload via the web platform now shows how many keys were added, updated, or deprecated.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/image-17.png" class="kg-image" alt loading="lazy" width="1800" height="794" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/04/image-17.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/04/image-17.png 1600w, https://ghost.localazy.com/content/images/2024/04/image-17.png 1800w" sizes="(min-width: 720px) 720px"></figure><h2 id="14-day-trial-for-new-users">🕹️ 14-day trial for new users <a class="markdownit-header-anchor" href="#14-day-trial-for-new-users">🔗</a></h2><p>Previously, users had to choose a plan and activate a subscription to get a 7-day trial. The new trial model gives new users more breathing room and time to explore everything. </p><p>How does it work? The trial period is activated upon <a href="/register">signup</a> immediately, giving you access to all features that come with the Localazy Business plan for 14 days. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/04/image.png" class="kg-image" alt loading="lazy" width="845" height="445" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/image.png 600w, https://ghost.localazy.com/content/images/2024/04/image.png 845w" sizes="(min-width: 720px) 720px"><figcaption>Welcome message for new users before signup :)</figcaption></figure><h2 id="other-fixes">🛠️ Other fixes <a class="markdownit-header-anchor" href="#other-fixes">🔗</a></h2><ul><li>Refactoring some parts of our codebase</li><li>Improved product analytics tracking</li><li>Fixed project state when 0 keys are uploaded</li><li>Fixed initial upload of the project source language</li><li>Fixed content imports to files that didn't respect the file's path</li><li>Azure SSO fixed</li><li>Fixed occasional language leaks for unpublished languages</li><li>Fixed Glossary not loading when the project has multiple translation source languages </li><li>Introduced measures to prevent deleting accounts with active subscriptions</li><li>Redesigned empty project state </li><li>Minor fixes for Key Aliases</li><li>Minor fixes for the dashboard header </li><li>Strapi: Added support for the unofficial CKEditor5 plugin</li></ul><h2 id="join-the-conversation">💬 Join the conversation! <a class="markdownit-header-anchor" href="#join-the-conversation">🔗</a></h2><p>To get the latest info about new Localazy features, usage tips, success stories, and some behind-the-scenes bits, follow our LinkedIn and join the conversation! See you there. 💙</p><p><strong>Follow Localazy on 💼 <a href="https://www.linkedin.com/company/localazy/">LinkedIn</a>.</strong></p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Let us know how you like the latest developments in the comments! And as always, feel free to reach out and send your feedback. Most of the platform's developments would not happen without active users who are eager to share their tips and suggestions with our team. </p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/04/Release-update-april-2024.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[8 benefits of using Strapi v4 for your content management needs]]></title>
            <link>https://localazy.com/blog/strapi-v4-for-content-management</link>
            <guid isPermaLink="false">strapi-v4-for-content-management</guid>
            <pubDate>Fri, 31 May 2024 11:51:15 GMT</pubDate>
            <description><![CDATA[Strapi v4 has brought considerable improvements to content management for developers over the last two years. Find out what the latest reworking (v4.15.5) has to offer in this guide.]]></description>
            <content:encoded><![CDATA[<p>If you are a developer using CMS systems, you probably aren't a stranger to Strapi, the open-source headless content management system that provides devs with the freedom to select the tools and frameworks that they prefer. At the same time, Strapi enables editors to manage and distribute their content by utilizing the administrative panel of their application, so it's a win-win for all.</p><p>The latest version of Strapi, <a href="https://strapi.io/v4">version 4</a>, has been <a href="https://docs.strapi.io/dev-docs/migration-guides">reworked to v4.15.5</a>, making it simpler to extend Strapi with plugins, smoothly migrate from one version to another, and improve API performance. While we anxiously await the anticipated v5's release, let's review the newest features currently available.</p><p>And if you're still running Strapi v3, what are you waiting for? You are seriously missing out, and you'll see why down below.</p><h2 id="whats-new-on-strapi-v4">✍️ What's new on Strapi v4? <a class="markdownit-header-anchor" href="#whats-new-on-strapi-v4">🔗</a></h2><h3 id="1-strapi-design-system">1. Strapi Design System <a class="markdownit-header-anchor" href="#1-strapi-design-system">🔗</a></h3><p>The Strapi Design System was released along with version 4 of Strapi as a system to meet the company's needs. However, <strong>it has been open-sourced</strong>, so anyone can use and contribute to it. It contains design guidelines that can be utilized within any frontend component. Developers can use a design system, a collection of reusable assets, to simplify and speed up the user interface development process.</p><p>You can see each component of the design systems within the <a href="https://design-system-git-main-strapijs.vercel.app/?path=/docs/design-system-primitives-combobox--docs">official Strapi storybook</a>.</p><p>An example of using the <em>Button</em> component can be seen below:</p><ol><li>First, install the Strapi design system within your application as a npm package.</li></ol><pre><code>npm install @strapi/design-system</code></pre><p><br>2. The Button component should be imported at the very top of the file.</p><pre><code>import { Button } from '@strapi/design-system';</code></pre><p>3. Then, you can use it within the code.</p><pre><code>&lt;Button&gt;Strapi Button&lt;/Button&gt;</code></pre><h3 id="2-plugin-api">2. Plugin API <a class="markdownit-header-anchor" href="#2-plugin-api">🔗</a></h3><p>In v4, the Strapi plugin was simplified in terms of its creation and utilization. An application that uses Strapi can now have a <a href="https://docs.strapi.io/dev-docs/plugins">Strapi plugin</a> that interacts with both the back and front end of the application. 🔦 Unlike version 3, which loaded plugins based on pre-existing file structures and required the configuration of multiple files, Strapi v4 enables newly created plugins to have their own file structure.</p><p>It is essential to remember that plugins developed in version 3 will only be compatible with version 4 if they are migrated to version 4. It is also important to note that plugins developed with version 4 will not be compatible with older versions of Strapi. The <a href="https://strapi.io/blog/v4-plugin-migration-guide">official Strapi blog</a> contains a comprehensive guide that addresses the process of migrating Strapi plugins from version 3 to version 4.</p><h3 id="3-database-query-engine">3. Database query engine <a class="markdownit-header-anchor" href="#3-database-query-engine">🔗</a></h3><p>Strapi version 4 includes some significant enhancements, one of which is the capability for developers to interact with the database effectively through enhanced queries. The Strapi backend includes a query engine API for interacting with the database layer at a lower level, which can be accessed using strapi.db.query.</p><p>The Query Engine can perform a variety of operations on database entries. These include filtering, creating, and deleting entries, as well as paging and sorting. Some examples of these operations include <em>findOne()</em>, <em>create()</em>, and <em>delete()</em>.</p><h3 id="4-api-token">4. API Token <a class="markdownit-header-anchor" href="#4-api-token">🔗</a></h3><p>One of the new features implemented in version 4 is the <a href="https://docs.strapi.io/user-docs/settings/API-tokens">API token</a>. Access to the application's content can be granted to developers through API tokens rather than through the roles and permission route, which is easier and simpler. This allows developers to have access to the application's content in two modes:</p><ul><li>Full access 🔏</li><li>Read-only access 🔐</li></ul><p>This also allows users to authenticate their queries (both REST and GraphQL) using a token or <strong>access key</strong>, which is managed by the administrative panel. You can generate the tokens by going into the application's settings. Once the administrator has created them, they are permanent and can only be viewed once.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/02/settings_api-token-custom-2.png" class="kg-image" alt loading="lazy" width="2000" height="1122" srcset="https://ghost.localazy.com/content/images/size/w600/2024/02/settings_api-token-custom-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/02/settings_api-token-custom-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/02/settings_api-token-custom-2.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/02/settings_api-token-custom-2.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>An overview of the creation of an API Token in Strapi. Source: Strapi</figcaption></figure><h3 id="5-error-handling">5. Error handling <a class="markdownit-header-anchor" href="#5-error-handling">🔗</a></h3><p>Handling of errors was also improved in version 4. As a result of the standardization of error codes and the addition of meaning, it is now much simpler to comprehend the significance of each error, and it is also possible to better manage errors before they occur. Errors can be found within a Strapi controller's controller or in response to a request. The <a href="https://github.com/jshttp/http-errors#list-of-all-constructors">GitHub documentation</a> contains a list of all of the error functions that are currently available.</p><p>The error code 400 (badRequest) serves as an example. 🔍 This code is used as a response in situations where the body sent along with a request contains a request that is either missing or invalid.</p><h3 id="6-content-versioning-plugin">6. Content Versioning plugin <a class="markdownit-header-anchor" href="#6-content-versioning-plugin">🔗</a></h3><p>If you want to enhance your Strapi experience, it is worth checking out the <strong><a href="https://market.strapi.io/plugins/@notum-cz-strapi-plugin-content-versioning">Content Versioning plugin</a></strong> built by <a href="https://notum.cz/en/">Notum Technologies</a>. This plugin enables users to switch between different versions of content within your Strapi application and is available for Strapi version 4.6.2 and above.</p><p>Its main benefit is that it enables you to have multiple draft versions. This means that you'll be able to have different drafts and published data, as it keeps track of all changes from various content versions.</p><h3 id="7-internationalization">7. Internationalization <a class="markdownit-header-anchor" href="#7-internationalization">🔗</a></h3><p>The internationalization (i18n) plugin built by Strapi enables users to create, manage, and distribute multilingual assets. It also allows admin panel users to create multiple localized versions of their content.</p><p>As you probably already know, <a href="https://localazy.com/dictionary/internationalization">internationalization</a> is the process of designing and building products that can be adapted to specific languages or cultures. As a content management system (CMS) tool, Strapi provides support for internationalization by enabling users to generate, manage, and distribute localized content in a variety of languages, which are referred to as <a href="https://localazy.com/tags/locales"><strong>locales</strong></a>.</p><p>Developers can now <strong>construct localized projects </strong>by retrieving and consuming the appropriate content based on the audience's language or country of origin. This plugin is compatible with Strapi version 4.0.0 and higher. To explore it, you can install it and set it up within your Strapi project using the <a href="https://market.strapi.io/plugins/@strapi-plugin-i18n">official marketplace documentation.</a></p><h2 id="bonus-localazy-plugin-for-strapi">💜 Bonus: Localazy plugin for Strapi <a class="markdownit-header-anchor" href="#bonus-localazy-plugin-for-strapi">🔗</a></h2><p>If you want to take your internationalization efforts further, Localazy offers its own plugin to automate the localization of your own Strapi project. 🦾 This makes it possible to translate content without any interruptions, making the content management process in multiple languages infinitely easier. </p><blockquote>👉 Explore the Localazy ft. Strapi plugin <a href="https://localazy.com/features/strapi-localization-plugin?utm_term&amp;utm_campaign=WARM_RMK_SEARCH_DSA&amp;utm_source=adwords&amp;utm_medium=ppc&amp;hsa_acc=1175743605&amp;hsa_cam=10982188717&amp;hsa_grp=138349217736&amp;hsa_ad=605132079590&amp;hsa_src=g&amp;hsa_tgt=dsa-1688344930078&amp;hsa_kw&amp;hsa_mt&amp;hsa_net=adwords&amp;hsa_ver=3&amp;gad_source=1&amp;gclid=CjwKCAiAlcyuBhBnEiwAOGZ2S9EhhW8_lTeJqswa0W-0IzS_VW3T0ov9QKgZIgbbsaZGF66lStnJRBoCSTYQAvD_BwE">here</a>, and set it up easily using the <a href="https://market.strapi.io/plugins/@localazy-strapi-plugin">official Strapi marketplace documentation</a> or our own <a href="https://localazy.com/docs/strapi/strapi-plugin-introduction-installation">guide</a>.</blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>The latest version of Strapi offers <strong>new possibilities for merging content management with automated localization and i18n</strong>. Needless to say, the experience has improved! We encourage you to test these new features in your project and, if necessary, to update the older Strapi application to a more recent version to take advantage of all these benefits. You'll notice the difference.</p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/02/Strapi-Benefits.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localization for managers: Guide to choosing the right TMS]]></title>
            <link>https://localazy.com/blog/localization-for-managers-guide-to-choosing-the-right-tms</link>
            <guid isPermaLink="false">localization-for-managers-guide-to-choosing-the-right-tms</guid>
            <pubDate>Sat, 16 Aug 2025 13:07:17 GMT</pubDate>
            <description><![CDATA[Finding a good TMS in a saturated market is a feat. But one thing is clear: localization should be easy for the whole team. If you're a manager, consider these elements when making your pick.]]></description>
            <content:encoded><![CDATA[<p>When it comes to localization with a translation management system (TMS), product managers or owners usually fall into one of two camps:</p><ul><li><strong>😒 "Forgeddaboutit!"</strong> – "We've got a few translators on board, so we've got it covered, no need to worry. Why look for a TMS when our current system works?"</li><li><strong>😬 "Help!" </strong>– "We want to localize for global growth. We've heard translation management systems are good but don't know where to start."</li></ul><p>The first one is a myth that we busted <a href="https://localazy.com/blog/mythbusters-our-product-has-been-localized-so-the-job-is-finished">here</a>. If you fall into the second bracket, fear not—we're here to help!</p><h2 id="avoid-analysis-paralysis">🫨 Avoid analysis paralysis <a class="markdownit-header-anchor" href="#avoid-analysis-paralysis">🔗</a></h2><p>You already know that <a href="https://localazy.com/blog/before-invest-app-promotion-invest-app-localization">localization is critical to global growth</a>, but figuring out how to do it efficiently can be a headache. The market is awash with CAT tools and translation management systems (TMS), and they all promise the world.</p><p>Many people get stuck in a state of 'analysis paralysis.' You're not sure which one to pick. Then, when you finally pick one to try out – more often than not, you end up disappointed. <a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">Excel sheets</a> still fly around to get the translations done properly. Designs need constant adjusting. You end up with missed deadlines. Missed opportunities. 😔</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_509072087.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_509072087.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_509072087.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_509072087.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_509072087.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>The problem with the majority of localization solutions out there is that they don't take a joined-up approach. And sloppy localization inevitably leads to less than spectacular results.</p><p>So, what can you do about it?</p><p>The best thing to do is to <strong>look for a new system that streamlines the whole process into one simple automated workflow</strong>. One that's simple enough for the whole team to use from day dot. A system that frees you from unnecessary manual localization tasks so you can focus more on innovation and growth.</p><p>There's a TMS just for you out there – waiting to make your life easier. All you've got to do is find it. Hopefully, this guide will help.</p><h2 id="what-to-consider-when-choosing-a-tms">👁️ What to consider when choosing a TMS <a class="markdownit-header-anchor" href="#what-to-consider-when-choosing-a-tms">🔗</a></h2><h3 id="process-management-and-automation">⚙️ Process Management & Automation <a class="markdownit-header-anchor" href="#process-management-and-automation">🔗</a></h3><p>Ideally, you want a TMS that practically handholds you through the entire localization process with clearly defined stages. </p><p>For example, having the ability to define "new content ready for translation," which then:</p><p>→ 🔔 Triggers notifications to translators or the agency.</p><p>→  👀 Pushes everything into a review stage with your in-market folks.</p><p>You get the idea!</p><p>Automated workflows eliminate a lot of back-and-forth and free you and your team to focus on strategy instead of shuffling spreadsheets. The dream is <strong>clockwork syncing between your development environment and the TMS to catch all text strings</strong>.</p><h3 id="translation-providers">👩‍💻 Translation providers <a class="markdownit-header-anchor" href="#translation-providers">🔗</a></h3><p>You want your TMS to integrate with reputable translation agencies or give access to a pool of quality freelance translators. This will save you the manual searching, negotiating, and onboarding. <strong>Finding reliable linguists for industry-specific language pairs can be tough</strong>. It's a big relief if you can find a TMS with this feature readily available.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_385542563.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_385542563.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_385542563.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_385542563.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_385542563.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="quality-assurance-tools">🔎 Quality Assurance tools <a class="markdownit-header-anchor" href="#quality-assurance-tools">🔗</a></h3><p>Look, nobody's perfect! A TMS needs solid QA functionality for everyone involved. For instance, you may get a translation that comes back sounding way too formal compared to your usual brand voice. A built-in style guide and glossary feature that allows you to <strong>clearly communicate how you want your product represented </strong>will avoid those kinds of issues.</p><h3 id="people-management">👯 People Management <a class="markdownit-header-anchor" href="#people-management">🔗</a></h3><p>Too many cooks spoil the broth. 👨‍🍳 That's why you don't need to give every team member full editing access to translations—it just creates potential errors. </p><p>If you collaborate with in-market reviewers, the functionality needs to be smooth, as they're vital to maintaining cultural relevance. Permissions are crucial here—if there is a clean-cut system to manage them and an easy-to-navigate UI, they'll be able to do their job easily within a shared environment. The same applies to translators, product owners, and localization managers (if you have one).</p><p>You'll also need to ensure good reporting—not just on the volume translated but also on the number of issues flagged or on which translators received good feedback for those in-market reviews. This helps measure team efficiency and even justify hiring in a new region when the reports support it.</p><blockquote>Permissions are crucial in a good translation management system. Too many cooks spoil the broth – that's why editing access must be easy to manage so linguists can do their job</blockquote><h3 id="learning-curve">👨‍🏫 Learning curve <a class="markdownit-header-anchor" href="#learning-curve">🔗</a></h3><p>A complicated system leads to problems and bottlenecks. If something isn't intuitive, your devs will not input new strings independently, translators might avoid the platform, and you will be the middleman!</p><p>The last thing you want is to revert to your messy system of emails and spreadsheets because, as it turns out, it was, weirdly, faster! <strong>Look for a TMS with a user- and developer-friendly interface that everyone feels comfortable with and can warm up to quickly; otherwise, the potential benefits of a TMS</strong> go out the window.</p><h3 id="time-to-market-and-roi">📈 Time To Market & ROI <a class="markdownit-header-anchor" href="#time-to-market-and-roi">🔗</a></h3><p>Time to market directly impacts revenue. Every product update shouldn't send you into a frantic translation scramble impacting every other company activity. <strong>You want an adaptable TMS that allows for simultaneous sprints and can integrate into your usual workflows</strong>, helping you get to market quickly internationally. </p><p>Beyond that, a decent system should reduce errors and make it harder to break builds accidentally due to localized content. Those headaches cost precious developer time, which could be used to create amazing new features that wow your users.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_603623114.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1413" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_603623114.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_603623114.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_603623114.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_603623114.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="interoperability">🔗 Interoperability <a class="markdownit-header-anchor" href="#interoperability">🔗</a></h3><p>The content in your CRM, website, marketing tools, design platforms, and more will likely also need to be updated in new languages. A quality TMS will be able to link up easily with them, with only a bit of dev work required upfront. <strong>Check out how your system of choice integrates, as this will make a huge difference</strong>.</p><p>Plus, <strong>you'll want the updates to happen instantly—especially if you're expanding in multiple markets simultaneously</strong>. In this case, a solid Content Delivery Network (CDN) can make them seamless. This avoids nightmares such as your salespeople not having localized materials when a key market campaign kicks off because, guess what, no one thought to tell them!</p><h3 id="help-and-support">📞 Help & Support <a class="markdownit-header-anchor" href="#help-and-support">🔗</a></h3><p><strong>If things go wrong, you need responsive support</strong>. Nobody has time to hunt through dense support pages. An ideal TMS will have easily accessible customer support and someone who is dedicated to your account within the first few months.</p><p>Let's say you encounter a bug early on in your initial translation project. Some strings disappear, or something happens to your source keys—problems like that can mess up your UI, cause delays, and bring your frustration to a boiling point. A proactive support approach builds trust and confidence—just what you need when trying to expand into new markets.</p><blockquote>Interoperability is critical: you want a TMS that has the ability to integrate with multiple platforms and file formats, as well as deliver instant content updates for the different markets you're present in</blockquote><h3 id="costs-and-scalability">💸 Costs & Scalability <a class="markdownit-header-anchor" href="#costs-and-scalability">🔗</a></h3><p>Cost... Obviously, it matters. However, the cost of poor localization may be even higher.</p><p>Imagine a growing company with its product available in five European markets, each with its respective languages. What if the product suddenly takes off in India? What if you want to expand the features you're offering? <strong>You need a model that doesn't suddenly balloon to ridiculous pricing if you double your target market and source keys</strong>. 🎈 It should ideally start simple, with clear usage tiers and the possibility of scaling. Otherwise, that initial ROI justification starts to crumble.</p><blockquote>🎙️ Are you launching in the right markets? <a href="https://localazy.com/blog/s02-ep-02-bridging-the-gap-podcast">Listen to Itamar Gilad (Ex-Google)</a> break down his appraoch to data-driven decision making when considering new markets</blockquote><h3 id="reporting-and-auditing">🤓 Reporting & Auditing <a class="markdownit-header-anchor" href="#reporting-and-auditing">🔗</a></h3><p>An ideal TMS gives clear-cut reports, not just vanity metrics. Word counts alone don't help. <strong>You need insights that inform your strategy</strong>. For instance, is there a certain region where tons of QA edits come from? Maybe your translators didn't hit the right tone there, or the quality is not the best, and you need an alternative.</p><p>Detailed insights also support auditing, especially if you need to reach compliance for the industries you serve. If something slips through translation into a new market and is legally dubious, you need records to track down exactly where things went wrong.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_260145146.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_260145146.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_260145146.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_260145146.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_260145146.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="security">🔐 Security <a class="markdownit-header-anchor" href="#security">🔗</a></h3><p>Most people expect top-notch security these days. If your code repository is under lock and key, you naturally want any solution that links to those texts to be equally secure. Comprehensive security protocols that give specifics on encryption, data handling, etc., are essential. <strong>No business can afford data breaches</strong>, as your reputation would suffer, and you would quickly lose customer trust.</p><h2 id="example-of-localazy-in-action">👇 Example of Localazy in action <a class="markdownit-header-anchor" href="#example-of-localazy-in-action">🔗</a></h2><p>Now that you know the elements that make up a good TMS, we want to show you how Localazy checks all these boxes. ✅💪 Below is a breakdown of how a typical localization workflow works with us.</p><h3 id="1-setup-and-connection">1. Setup & connection <a class="markdownit-header-anchor" href="#1-setup-and-connection">🔗</a></h3><ul><li><strong>🪄 Project Creation:</strong> You <a href="https://localazy.com/docs/general/getting-started-with-localazy">create a new project </a>within Localazy for your product. Every account can have unlimited projects, in case you have multiple products or services to market or need granularity depending on whether you're handling a website, app, marketing materials, etc., within one interface.</li><li><strong>🧩 Integration: </strong>The beauty of Localazy is its flexibility. You might link directly to your code repository, <a href="https://localazy.com/docs/cli/the-basics">use our CLI</a> for static files, or have an initial manual upload of translation keys. The goal here is to automate the identification of strings that need translation.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/IntegrateBg.png" class="kg-image" alt loading="lazy" width="740" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/IntegrateBg.png 600w, https://ghost.localazy.com/content/images/2024/04/IntegrateBg.png 740w" sizes="(min-width: 720px) 720px"></figure><blockquote>🏄 Check out <a href="https://localazy.com/integrations">our available integrations here</a>, and get started with <a href="https://localazy.com/docs/integrations/quick-start-bitrise">our quick guides</a> in just a few steps!</blockquote><h3 id="2-translation-phase">2. Translation phase <a class="markdownit-header-anchor" href="#2-translation-phase">🔗</a></h3><ul><li><strong>🔦 Automated Content Detection:</strong> New, untranslated strings become flagged on the dashboard. With <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a>, you can automatically translate common UI elements ("Save," "Cancel," etc.) and populate your own set of <a href="https://localazy.com/docs/general/how-to-define-your-glossary">Glossary terms</a>, which ensures consistency and lets you handle a good chunk of the basic work in just a few steps.</li><li><strong>📚 Translation Process:</strong> When the time to translate comes, <a href="https://localazy.com/blog/guide-localazy-translation-services">there are multiple options</a> depending on your budget. Smaller teams might lean on internal resources and Localazy's <a href="https://localazy.com/features/share-tm">collaborative features</a>. But there's more: you can <a href="https://localazy.com/term/professional-translation-services">order professional translations</a> from within the platform, <a href="https://localazy.com/dictionary/hamt">use MT and refine the results with human help</a> (or vice-versa), or set up an integration with your preferred translation agency.</li><li><strong>🔎 In-Market Review:</strong> This step is often neglected in systems lacking decent QA, but it's key. During the <a href="https://localazy.com/docs/general/reviewing-translations">review process</a>, proofreaders and regional partners get notified, review translations in context, and flag anything potentially awkward or tonally inaccurate by accessing the UI with the newly translated content.</li></ul><h3 id="3-quality-assurance-and-updates">3. Quality assurance & updates <a class="markdownit-header-anchor" href="#3-quality-assurance-and-updates">🔗</a></h3><ul><li><strong>📖 In-Context Review: </strong>The platform enables easy commenting directly on translations and <a href="https://localazy.com/features/context-screenshots-ocr">context screenshot uploads</a> to pinpoint what needs adjustment, avoiding those vague "something feels off" emails.</li><li><strong>🔄 Revisions &amp; Updates: </strong>Once the quality is ensured through the previous steps, translators or your team implement the requested changes. Ideally, these become incorporated into your <a href="https://localazy.com/dictionary/translation-memory">Translation Memory</a>.</li></ul><h3 id="4-release-and-deployment">4. Release and deployment <a class="markdownit-header-anchor" href="#4-release-and-deployment">🔗</a></h3><ul><li><strong>⚡️ Flexible Publishing:</strong> With Localazy, your developers will have the best tools available to them. And we are not talking only about the <a href="https://localazy.com/docs/api/introduction">API</a>. Depending on your setup, your team can reach near-simultaneous content rollout into multiple versions of your website, app, etc., with <a href="https://localazy.com/docs/cdn/cdn-introduction">Localazy CDN</a>. The best thing is that our <a href="https://localazy.com/docs/cli/the-basics">CLI</a> works seamlessly with <a href="https://localazy.com/tags/ci">CI/CD</a> tools, and it was designed to make updates of your localized content as easy as possible. And when you just want to test things out, simply upload and download your JSON, XLIFF, or <a href="https://localazy.com/integrations">other files</a> directly in the UI.</li><li><strong>🔏 Permission Controls:</strong> Minimizes the 'too many cooks' problem. Keep certain translation tiers <a href="https://localazy.com/docs/general/language-permissions">only accessible to certain roles</a> – the goal is to ensure localized releases don't become bottlenecks.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/04/users.png" class="kg-image" alt loading="lazy" width="741" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2024/04/users.png 600w, https://ghost.localazy.com/content/images/2024/04/users.png 741w" sizes="(min-width: 720px) 720px"></figure><h3 id="5-iteration-and-insights">5. Iteration and insights <a class="markdownit-header-anchor" href="#5-iteration-and-insights">🔗</a></h3><ul><li><strong>📊 Reporting and Auditing: </strong>Localazy offers dashboards for translation volume, QA edits, etc., so you can spot efficiency gains and advocate for specific translation resources when needed.</li><li><strong>🔥 Scalability: </strong>You aren't locked in: languages and users are unlimited in all plans, and you can access more advanced features like screenshots in a modular way within Localazy's pricing structure.</li></ul><blockquote>➡️ Discover how our scalable pricing structure works <a href="https://localazy.com/blog/localazy-pricing-explained">in this guide</a>.</blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>For busy product managers, localization can feel like a costly extra, not a key growth driver. Choosing the right TMS is what flips that perspective. Think of the factors we've outlined: automation, collaboration, built-in QA safeguards… All of these help you save time to focus on your core product.</p><p><strong>A quality TMS shouldn't break the bank or feel like another technical burden</strong>. The benefits extend way beyond translated words—you gain better internal workflows, data to support market expansion, and, ultimately, the ability to offer a truly world-class user experience in any region.</p><p>Ready to see this in action? Check out <a href="https://localazy.com/register">our free 14-day trial</a> to kick the tires and get a feel for continuous localization with Localazy.<br><br></p>]]></content:encoded>
            <author>Dan Martin</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/03/Localization-for-managers.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Meet the Localazy Team: David Václavek, Full-Stack Developer]]></title>
            <link>https://localazy.com/blog/meet-the-localazy-team-david-vaclavek</link>
            <guid isPermaLink="false">meet-the-localazy-team-david-vaclavek</guid>
            <pubDate>Wed, 27 Mar 2024 12:07:24 GMT</pubDate>
            <description><![CDATA["I respect and adhere to values like honesty, diligence, and hard work. I'm a perfectionist, so if something doesn't seem right, I strive to solve the problem, both in work and in life," states our full-stack developer, David Václavek. In this interview, learn more about what he does at Localazy.]]></description>
            <content:encoded><![CDATA[<p>Developers are the backbone of Localazy. Since our TMS's inception and launch in 2020, engineers have been key players behind our growth. Our product was initially created by a developer, our CEO Václav Hodek, with developers in mind: we wanted to make their lives easier, reduce friction, and make localization a solution instead of a problem so they could focus on what matters most.</p><p>Nothing has changed in that respect—but as we grew, our team of engineers and our pool of potential users increased exponentially. With seven team members working on UI and backend, our software becomes more sophisticated day to day. Today, we get to know one of the wizards who makes it possible: our full-stack developer <a href="https://localazy.com/blog/author/david-vaclavek"><strong>David Václavek</strong></a>.</p><p>David is 31 and lives in Katowice (PL) with his partner, Iza, and his dog, Heniek. Originally from Děčín, he's an avid reader and traveler with a knack for different sports. Let's meet him, shall we?</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/image-5.png" class="kg-image" alt loading="lazy" width="1060" height="847" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/image-5.png 1000w, https://ghost.localazy.com/content/images/2024/03/image-5.png 1060w" sizes="(min-width: 720px) 720px"></figure><h2 id="meeting-david">🧑‍💻 Meeting David <a class="markdownit-header-anchor" href="#meeting-david">🔗</a></h2><p><strong>Hey, David! 👋 Tell us - what is your role at Localazy?</strong></p><p>Hi! At Localazy, I primarily work on the main product, which is the application. However, if there's a need to develop any backend microservices, I can handle that as well. 💪 Hence, I consider myself a full-stack developer. Additionally, I'm heavily involved in reviewing and testing tasks from other members of the front-end team to ensure the quality of the code that goes into production.</p><p><strong>For those who don't know, what does a full-stack developer do, and why is it such an impactful role?</strong></p><p>A full-stack developer can create the front-end application and manage the backend. This means being able to work independently on both parts of the application. The role is impactful because the output of my work directly influences what users see and experience on their screens. Therefore, the overall user experience depends on the quality of development. As more users use the application, it becomes increasingly important for developers to ensure its quality. I collaborate closely with my colleagues, including designers, through several rounds of brainstorming to ensure the functionality aligns with marketing perspectives and with <a href="https://localazy.com/blog/author/vaclav-hodek">Vašek,</a> who handles the backend if needed.</p><p><strong>What do you like the most about your job at Localazy?</strong></p><p>What I appreciate the most about my job at Localazy is the collaborative nature of problem-solving within the company. From the initial concept to deployment, everything can be discussed with the rest of the team, which helps resolve any sudden uncertainties effectively. This ties into the main point of cohesion: we support and encourage each other. 🫶 The team culture is exceptional, and over the years, I feel we've grown not only as colleagues but also as friends beyond the work aspect.</p><blockquote>"Being a full-stack developer is an impactful role, as the output of my work directly influences what users see and experience on their screens."</blockquote><p><strong>Let’s talk about your background. What’s your prior experience and education?</strong></p><p>I studied IT engineering at the Technical University of Liberec, in the Czech Republic. Since elementary school, I was drawn to logical thinking and exact sciences, especially mathematics. 💭 Even as a child, I subconsciously knew I wanted to apply this thinking to my future work.</p><p>During my studies, I worked for a few months at a large company as a front-end developer but realized the 9-to-5 routine wasn't the lifestyle I wanted. I needed more freedom and flexibility in my life. So, I started freelancing as a full-stack developer. I did that for five years, focusing on e-commerce development using PHP, JavaScript, and Angular. By chance, I met <a href="https://localazy.com/blog/meet-the-localazy-team-jan-bilek-product-manager">our Product Manager, Honza Bílek</a>, as we were likely the only two Czechs in Katowice (Poland). 😅 We became friends. Honza told me a lot about Localazy, and after some time, he presented an offer that was hard to refuse—to join the team.</p><p><strong>Who are your main professional inspirations or role models, and why?</strong></p><p>Perhaps it's odd for many people, but honestly, I've never had an idol or someone I aspired to be like. We are all different, with our strengths and weaknesses, so I try to learn from the good in everything. It's not about personalities but values. I respect and adhere to values like honesty, diligence, hard work, and the ability to see things through to the end. I'm a perfectionist, so if something doesn't seem right, I strive to solve the problem, both in work and in life.</p><p>However, if I had to name a few inspirations, they would be my family, who have always supported me through my studies and work challenges; my goals, which drive me forward; and (perhaps a bit cliché) Apple as a company. I'm a fan, and their meticulously crafted products make my life easier, which ties into my aforementioned perfectionism. 😁</p><p><strong>Any personal interests you're passionate about?</strong></p><p>I enjoy various sports and physical activities, but hiking, skating, and cycling are my favorites. In recent years, squash 🏸  has captured my interest, and if possible, I play several times a week. I've never been much into TV, video games, or movies; I prefer reading a book or taking a walk in nature with my dog. 📚 I'm interested in educational books about nature and world development, productivity, health, and mental resilience. Generally, I'm curious about how things work. I also enjoy playing board games that require logical thinking.</p><p>Traveling and exploring new places are my passions; you won't find me lounging on a beach during vacation. 🏃‍♂️🗺️ I also enjoy photography, although sorting through heaps of vacation photos afterward is less enjoyable. Additionally, I like exploring software/hardware gadgets that could assist me in my daily life.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/03/image-1.png" class="kg-image" alt loading="lazy" width="1072" height="643" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/image-1.png 1000w, https://ghost.localazy.com/content/images/2024/03/image-1.png 1072w" sizes="(min-width: 720px) 720px"><figcaption>David socialized with an ostrich (and other animals) on his last trip to Kenya.</figcaption></figure><h2 id="a-day-in-the-life-of-a-full-stack-dev">💻 A day in the life of a full-stack dev <a class="markdownit-header-anchor" href="#a-day-in-the-life-of-a-full-stack-dev">🔗</a></h2><p><strong>What does your usual workday look like?</strong></p><p>I'm not exactly an early bird: I start to work around 10 AM when I arrive at the co-working office. ☕️ I have a nice half an hour during my morning stroll to think about the problems I'll be tackling that day. Then, I divide my work into roughly two-hour blocks. Since my profession requires deep concentration to understand the problems I'm solving, it's the ideal time for me to make progress and form cohesive thoughts, or write meaningful blocks of code that I can leave behind. </p><p>After two blocks, separated by a short break, comes lunchtime, and then there's another work block. 🧑‍💻 Then, I head home to enjoy the rest of the afternoon, perhaps engaging in some sports activities. Occasionally, in the evening, I sit down at the computer to handle some administrative tasks: emails, support, and messages saved throughout the day that I didn't want to deal with at the time to avoid distracting myself from focus.</p><p><strong>You operate in a fairly small team, with <a href="https://localazy.com/blog/meet-the-localazy-team-dan-business-development">Dan</a> and you as the coding warriors. How do you organize… and how intense is the workload?</strong></p><p>Since the question was posed, <a href="https://localazy.com/blog/bridging-the-gap-with-localazy-2#we-keep-growing">we've added two more coding team members</a>. 🎉 However, the workload per person hasn't decreased. It's true that we're now able to iterate on more things simultaneously, which pushes the company forward. Because we all share a common ultimate company goal, no one slacks off. Even if someone finishes their work for the current sprint early, we come up with additional tasks. By planning bi-weekly sprints together and <a href="https://localazy.com/blog/localazy-a-gist-powered-company">assigning a clearly defined scope of tasks</a>, we can accurately assess the time required for each and distribute them reasonably.</p><p><strong>What’s the main project you’re working on at the moment?</strong></p><p>I'm currently working on improving client onboarding, specifically iterating on the integration page in the main product to make it more user-friendly. 😊</p><p><strong>In which language do you enjoy coding the most?</strong></p><p>Without a doubt, <a href="https://hub.localazy.com/en/programming-languages/javascript">JavaScript</a>, or more precisely, <a href="https://hub.localazy.com/en/programming-languages/typescript">TypeScript</a>, especially within the Vue.js framework. Historically, I've worked with Java during my school years and <a href="https://hub.localazy.com/en/programming-languages/php">PHP</a> in my early career, but I've come to prefer TypeScript, which is my top choice now.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/03/image-10.png" class="kg-image" alt loading="lazy" width="1045" height="591" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/image-10.png 1000w, https://ghost.localazy.com/content/images/2024/03/image-10.png 1045w" sizes="(min-width: 720px) 720px"><figcaption>An intense coding session from David's POV.</figcaption></figure><p><strong>Let’s talk about integrations. Localazy has over 70! What does the building process look like, and how do you decide which platform to tackle next?</strong></p><p>There are two different types of integrations:</p><ul><li>🗂️ Integrations of <a href="https://localazy.com/integrations?search=file%20formats">file formats</a> are handled by Vašek, who develops backend support for processing.</li><li>📲 Integrations with <a href="https://localazy.com/integrations">third-party platforms</a> (such as <a href="https://localazy.com/docs/integrations/quick-start-figma">Figma</a>, <a href="https://localazy.com/docs/strapi/strapi-plugin-introduction-installation">Strapi</a>, or <a href="https://localazy.com/docs/zapier/introduction-zapier">Zapier</a>) are mainly my responsibility.</li></ul><p>The development of the initial version varies from weeks to months, depending on the readiness of the platform for localization. Some platforms' APIs only require the use of a couple of simple endpoints (like <a href="https://localazy.com/blog/managing-multilingual-content-with-storyblok-localazy">Storyblok</a>). In contrast, others are more complex, requiring a significant portion of the data processing process to be custom-written (like Strapi). It also depends on the clarity of the documentation; Figma's documentation is particularly clear. The development process involves a quick proof of concept to verify that integration with the platform is possible.</p><p>If successful, the first minimal version is created for user testing. 🔍 Feedback is then collected to improve the integration. The decision to proceed with a particular integration depends on several factors, such as its potential for sales, the type and number of users on the platform, the complexity of integrating the platform, and, last but not least, the number of requests for integration from our existing/potential users. Each parameter is weighted, and this weighted average determines the next integration.</p><blockquote>"We have integrations with file formats and with third-party platforms, like Zapier or Storyblok. The decision to proceed with a particular one depends on sales potential, number of users, complexity of integration and number of requests from our client base."</blockquote><p><strong>What about testing? Is it very time-consuming?</strong></p><p>We ensure that a significant portion of our code is tested automatically (with end-to-end and unit tests). Every new feature goes through the most important tests, especially for workflows and screens displaying financial data, where a major error could have fatal consequences. 💣 Before releasing a new version, there's a comprehensive manual test across all parts of the app affected by the current code changes.</p><p>However, testing essentially occurs every day as we develop the product on our test version: errors pop up, which we either log or fix immediately (depending on the severity of the error). The test version usually goes into production every week. Of course, not all tests can be completely automated (e.g., critical operations for the Figma plugin), so manual testing is necessary, but it's reduced for smaller applications.</p><p>Occasionally, an issue with unoptimized code negatively affects users' experience with the app. These issues may not be detected during testing with test data and only manifest with production data (usually larger volumes). In such cases, we need to identify the extent of the affected group and react quickly with a fix. Additionally, we're continually working on improving our testing system to make it faster and more reliable.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/03/image-9.png" class="kg-image" alt loading="lazy" width="1108" height="719" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/image-9.png 1000w, https://ghost.localazy.com/content/images/2024/03/image-9.png 1108w" sizes="(min-width: 720px) 720px"><figcaption>Photography is one of David's passions. Here's one of his most recent shots.</figcaption></figure><h2 id="new-projects-ahead">🔭 New projects ahead <a class="markdownit-header-anchor" href="#new-projects-ahead">🔗</a></h2><p><strong>What does the optimization process look like for translation and l10n databases? What can be improved?</strong></p><p>This question is more suited for Vašek, but given my background in e-commerce and product databases, I can imagine that crafting a complex database query optimally can take quite some time. It also depends on the proper/suitable design of the database layer, indexing, and caching - sometimes, it feels like magic :)</p><p><strong>Is there something that is very dear to your heart and that you love working on?</strong></p><p>For me, it's not necessarily about the project itself but more about the process. Sure, some projects are more or less enjoyable overall, but there are always beautiful moments to be found within each project. </p><p>I enjoy, for example:</p><ul><li>🕵️‍♂️ Delving deep into code and optimizing its performance on larger datasets.</li><li>🖌️ Pixel-perfect development and styling of some nice graphical components.</li><li>👀 Code review and testing. I enjoy finding areas where the app could potentially fail in some instances.</li></ul><p><strong>In the same vein, is there any project you’re especially proud of?</strong></p><p>I'm pretty pleased with how far we've taken <a href="https://www.figma.com/community/plugin/964257457772706017/localization-plugin-by-localazy#:~:text=Localazy%20Figma%20Plugin%20allows%20you,to%20create%20localized%20designs%20quickly.">our Figma Plugin</a>. It has quite a bit of traffic and good feedback from our users; nevertheless, we have several ideas in mind on how to <a href="https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization">further automate</a> the entire experience—that's something I'd like to delve into in the near future.</p><blockquote>📐 Browse our complete guides about Localazy ft. Figma <a href="https://localazy.com/tags/figma">here</a>!</blockquote><p><strong>The job of a full-stack developer not only involves coding and back-end work. What about the front end? How are UX and user feedback important?</strong></p><p>In my opinion, both go hand in hand. If the application were theoretically perfect in terms of UX and the user base were rapidly expanding, there would be no feedback (or only positive feedback). That means constructive opinions from our users are extremely important and have a huge impact on where Localazy is headed. We're hungry to improve Localazy, and many brilliant ideas have come from our users' feedback, which has opened our eyes and helped us introduce new functionalities into the application. One example is <a href="https://localazy.com/blog/figma-series-connect-designs-and-source-keys-via-screenshots">the feature of uploading screenshots from Figma</a>, which stemmed from user feedback.</p><h2 id="the-future-of-l10n-and-llms">🦾 The future of l10n & LLMs <a class="markdownit-header-anchor" href="#the-future-of-l10n-and-llms">🔗</a></h2><p><strong>Did you know anything about localization before you embarked on this job?</strong></p><p>I always understood its importance. Here's a simplified example from my work experience in e-commerce: How can you sell your products internationally over the Internet if people don't exactly understand what they're buying? We localized a few smaller websites, mostly manually, without a proper management system—and perhaps partly because of that, some of those websites no longer exist. However, I never knew the intricacies and challenges of solving localization problems until I joined Localazy.</p><p><strong>In your opinion, why is localization so important?</strong></p><p>If even the best product doesn't speak the user's native language, it may appear untrustworthy. 😬 What good is an amazing product if you don't want to use it? For some customers, the language barrier can be so significant that it becomes completely unusable for them. 🥫 Would you eat a local product imported into your country if you had no idea about its ingredients based on the label? What if you have an allergy? This is where localization becomes a matter of life and death.</p><blockquote>"What good is an amazing product if you don't want to use it? For some customers, the language barrier can be so significant that the product becomes completely unusuable."</blockquote><p>Localization serves other obvious general purposes besides building trust, such as expanding into international markets, building a brand on a global scale, adapting the product to users in local markets, and removing the language barrier.</p><p><strong>How has automation impacted the localization industry, and how do you think it will further change it?</strong></p><p>🏭 When machines took over human work during the Industrial Revolution, production accelerated significantly, thus shortening product time to market. Alongside this, production errors were also reduced. Automation as such is, therefore, not a novelty but a borrowed principle.</p><p>The consequences are very similar for localization; I would call it a localization evolution. Increased efficiency in localization, automation of repetitive tasks, acceleration of translation delivery into the product, and thus of the time-to-market. Technologies like machine translation, <a href="https://localazy.com/blog/the-ultimate-guide-to-localazy-cdn">content delivery networks (CDN)</a>, integration with third-party systems, continuous integration, and others all contribute to the acceleration of the localization industry. Today, we can do all of this while maintaining linguistic accuracy and cultural customs. However, what could cause a revolution is machine learning and, consequently, AI.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/03/image-6.png" class="kg-image" alt loading="lazy" width="1127" height="765" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/image-6.png 1000w, https://ghost.localazy.com/content/images/2024/03/image-6.png 1127w" sizes="(min-width: 720px) 720px"><figcaption>David, Iza, and little Heniek enjoying a nice refreshment outdoors. 🐾</figcaption></figure><p><strong>Is machine learning going to flip the way we look at localization and translation management systems?</strong></p><p>Many people argue that machine learning and AI are one big bubble, but I don't think so. The real bubble, in my opinion, is <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">the belief that these technologies can handle everything</a> people can think of.</p><p>Let me retake a practical example. Honestly, it's hard for me to imagine life without Copilot when developing a new feature. There are countless publicly available code examples of the most popular languages on the internet/public repositories. The model could logically be trained to provide suggestions based on a vast amount of data. However, have you tried giving a command to rewrite code into a programming language that is very rarely used (I would say "exotic")? You may already anticipate where I'm going with this in terms of localization and translations: operations within one language (with a large data sample) work great. Translation between global languages also works reliably. But translation between two languages/dialects spoken by a few thousand people is almost impossible.</p><blockquote>"There are countless publicly available code examples of the most popular languages for coding. Similarly, translations within one language with a large data sample work great. But when we're tackling two languages or dialects spoken by a few thousand people, things get impossible."</blockquote><p>That does not even mention the requirement to preserve tone, formality, adherence to glossaries, and other style guides that describe the project. People are expecting miracles like that, which is impossible (at least at the moment!) 🤯 There are already plenty of sophisticated language models that can segment and understand the context of a given text. If there's a sufficient data sample for a given need, anything can be trained. By combining models, a precise translation can be achieved. But currently, in my opinion, we don't have either of those—neither the data nor the models or a combination of models.</p><p>And that's where I see the lack—and, therefore, the reason why I'm currently speaking "only" about evolution in localization. The potential in this industry is immense; it depends only on us, funding, and also competition in the market.  I believe that the market and the need to stay one step ahead of the competition will compel us to develop technologies in this field and consequently bring about a real revolution. It's only a matter of time. By improving the use of machine learning, translation management systems can also adapt UI based on user behavior, suggest personalized automation, and thus wholly elevate the entire UX, which could be tailored to users. Of course, this doesn't mean that revolutions haven't already occurred in other industries, such as copywriting and codewriting—in my opinion, they have.</p><p><strong>How has the job of a software developer evolved since you started?</strong></p><p>It has undergone many changes, like the adoption of cloud computing, spatial computing (including Virtual Reality, and even more so, Augmented Reality), machine learning, AI, coding assistive technologies, coding collaboration tools, and the embrace of agile methodologies. Additionally, there's been a proliferation of tools and frameworks, leading to faster iterations, easier scalability, and friendly collaboration despite being dispersed globally.</p><p>While it may seem like humankind is gradually becoming stupider, I believe it's more about humanity's historical drive to memorize as much knowledge as possible. Today, we're bombarded with new technologies, concepts, software, and more powerful hardware at an unprecedented rate. 🤯 Notably, the work done by companies like Apple, <a href="https://www.wired.com/story/own-chips-apple-aims-define-future-pcs/">which developed its chip for Macs</a> over ten years, is revolutionary in terms of performance increase while maintaining affordability and independence from Intel chips.</p><blockquote>"Continuous learning and adaptation are crucial today. It's just not about learning, memorizing and using, but rather about learning to find what to use from the plethora of options, how to use it, and then use."</blockquote><p>We're in an era where continuous learning and adaptation are crucial. It's not just about "learn, memorize, and use", but rather about "learn to find what to use from the plethora of options, how to use it, and then use."</p><p><strong>Any new technology you’re especially interested in?</strong></p><p>I'm particularly intrigued by how <a href="https://www.forbes.com/sites/cathyhackl/2023/11/29/ai-is-a-critical-building-block-for-spatial-computing/?sh=696baccb5727">spatial computing combined with AI</a> could impact the future of humanity. For example, I'm curious about what the 3rd generation of <a href="https://www.bloomberg.com/news/newsletters/2024-02-11/apple-vision-pro-review-3-499-headset-will-eventually-replace-the-ipad-lshk59z1?srnd=undefined&amp;embedded-checkout=true">Apple Vision Pro</a> might look like, as it could genuinely change the perspective on technology. I don't buy into scenarios of machine rebellion, but with the proper steps, I can imagine significant improvements in safety and planning in transportation, construction, engineering, team collaboration, and more.</p><p>Similarly, AI and machine learning combined with nanotechnologies could lead to <a href="https://www.axios.com/2024/01/22/ai-health-care-industry-medicine-hospitals-cost">revolutionary advances in healthcare</a>, with better risk assessment. Looking back over the past 230 years, we've seen as many revolutionary inventions as in the previous 2,000 years, thanks to our relentless pursuit of progress. And I say this even though it is clear that it must always be taken from the point of view of the person of the given time. Each past revolution has paved the way for discovering today's innovations, which will enable us to achieve future ones. So, kudos to this era, which is rich in groundbreaking novelties.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/image-7.png" class="kg-image" alt loading="lazy" width="1159" height="864" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/image-7.png 1000w, https://ghost.localazy.com/content/images/2024/03/image-7.png 1159w" sizes="(min-width: 720px) 720px"></figure><p><strong>What do you think will be “the next big thing” in localization, and how will that relate to you as a developer?</strong></p><p>Assuming the client knows they want to enter a foreign market and has assessed all the risks, an ideally perfect customer request might be: "We need all our platforms localized into all languages of the world, and we need it for free. And we need it now. Thanks, take care!" 🫥</p><p>What could this lead to?</p><ul><li><strong>🧩 A market revolution in integrations </strong>→ The ultimate tool for scanning the tech stack used by the client, along with a universal standardized mandatory localization API for all software, capable of exporting/importing into translation management systems.</li><li><strong>🦾 A market revolution in localization automation</strong> →  A system that understands client requirements, where the user shares an ideal workflow that the system processes and automatically sets up in the technologies used, potentially with minimal human intervention.</li><li><strong>📖 A maintenance-free, extremely accurate model for language translation</strong> (ideally for all languages, realistically for at least the top 15) while preserving tone, formality, glossaries, dialects, and accents → Taking control of machine translations → No need to pay humans for translations and reviews → Potential price reduction.</li><li><strong>🏗️ Significant restructuring in the translation management system market </strong>through a migrator that easily and reliably transfers data when switching from competitive products.</li><li><strong>🗣️ Reliable translation of spoken words (dubbing) </strong>while retaining the voice (and perhaps with the ability to be lipsynced?).</li></ul><p>There could be several other ideas like these. Whether one of the existing technologies or a new one will be used for this remains to be seen. In any case, healthy competition must be maintained; monopolistic solutions are not good. For developers, this means staying up to date, searching, trying, and possibly learning to implement these technologies, expanding their know-how, and not missing out on this groundbreaking trend that could potentially drown developers or even entire companies if the competition leaps ahead.‌‌‌‌</p><p><strong>That was a fascinating analysis, David. Anything else you’d like to add before we go?</strong></p><p>I'm incredibly grateful to be part of the team of brilliant minds at Localazy, learning new things and contributing to fulfilling our mission. Thanks, LocaFellas and LocaLadies! I'm curious to see where our collaboration and innovation drive will take Localazy in the future. ☺️</p><p><strong>Thank you, David, for sharing your insights about technology, development, and the future of localization! You can follow our brilliant full-stack dev on <a href="https://www.linkedin.com/in/david-vaclavek/">LinkedIn</a> and <a href="https://twitter.com/dave_vaclavek">X</a>.</strong></p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/03/Three-photos-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to make your e-commerce brand global with quality localization]]></title>
            <link>https://localazy.com/blog/how-to-help-your-e-commerce-clients-grow-internationally-dos-and-donts</link>
            <guid isPermaLink="false">how-to-help-your-e-commerce-clients-grow-internationally-dos-and-donts</guid>
            <pubDate>Fri, 31 May 2024 11:52:24 GMT</pubDate>
            <description><![CDATA[Do you want to increase awareness of your digital product and win the attention of new leads in new markets? Localizing your content will help you take your brand to new heights. Learn how.]]></description>
            <content:encoded><![CDATA[<p>Every brand can benefit from international expansion, and e-commerce companies are no exception. The statistics say that <a href="https://datareportal.com/reports/digital-2024-global-overview-report#:~:text=Shopping%20ranks%20fourth%2C%20with%20just%20under%20three%2Dquarters%20of%20all%20internet%20users%20engaging%20in%20some%20kind%20of%20ecommerce%20activity%20each%20month.">around 75% of internet users engage in some kind of e-commerce activity each month</a>, and that number is guaranteed to grow. Online shopping has become a no-brainer, but the question is: <strong>What influences buyers' decisions, and how do you make your brand one of their go-to choices?</strong> </p><p>Winning the attention of potential buyers is one of the toughest equations to solve because many factors are involved. However, language is the primary element you should be concerned with. Presenting a brand's products <strong>in a language that people clearly understand and resonate with</strong> is the first step to selling more and building a global brand. That's when <a href="https://localazy.com/dictionary/localization">localization</a> - the art of translating for local audiences - comes into play.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/shutterstock_2141469545.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/shutterstock_2141469545.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/shutterstock_2141469545.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/shutterstock_2141469545.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/shutterstock_2141469545.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="7-steps-to-make-your-e-commerce-global">✈️ 7 steps to make your e-commerce global  <a class="markdownit-header-anchor" href="#7-steps-to-make-your-e-commerce-global">🔗</a></h2><p>To take an e-commerce brand global, you need localization. However, localization in itself is <a href="https://localazy.com/dictionary/localization">a comprehensive term</a> that includes more elements than simply translating content accurately into the target language. </p><p>➡️ Here are some of the steps you should take to prepare your e-shop for international expansion:</p><h3 id="1-invest-in-a-localized-website">1. Invest in a localized website <a class="markdownit-header-anchor" href="#1-invest-in-a-localized-website">🔗</a></h3><p>The first step to selling in multiple global markets is to <strong>prepare your website for localization</strong>. To do so, you'll need to internationalize it. <a href="https://localazy.com/dictionary/internationalization">Internationalization (i18n) </a>is nothing but the preparation of your website for multiple languages. During this process, the code and the language are separated from one another, making it possible to provide language-switching without rewriting the code. </p><p>Some standard practices of internationalization include: </p><ul><li>🧑‍💻 Encoding content in <a href="https://www.twilio.com/docs/glossary/what-is-unicode">Unicode</a> (UTF-8) to support all characters used in all the world's languages.</li><li>👁️ Developing the site with capabilities like the support of <a href="https://localazy.com/dictionary/text-directionality/">bidirectional text</a> to prepare for future localization in foreign markets.</li><li>🔗 Setting up a site architecture and URL structures suitable for international browsing, etc.</li></ul><p>After you are done with internationalization, you'll have to think about localization. Localization involves adapting your website to each market's local languages, payment methods, and cultural elements (more on this below). </p><p>If your shop is built on Shopify, some feature changes, like adjusting payments according to specific markets, can be easily executed. But when it comes to translating and localizing product descriptions and other components, your best bet is to integrate it seamlessly<a href="https://localazy.com/docs/integrations/quick-start-shopify"> with localization software like Localazy</a> and easily manage multiple localization options.</p><h3 id="2-build-a-diverse-marketing-team">2. Build a diverse marketing team <a class="markdownit-header-anchor" href="#2-build-a-diverse-marketing-team">🔗</a></h3><p>To expand internationally, you'll need to tweak your practices according to international insights; and <strong>who can provide better insights than local experts in those regions?</strong> Having an international and diverse team isn't only important in adapting your message to local markets but also in gaining insights into the audience's shopping habits. 🕵️‍♀️</p><p><a href="https://localazy.com/tags/locales">Different markets</a> come with different audience habits, frequented channels, and demographics. The most efficient way to craft marketing that will appeal to these new audiences is by adding international experts to your team. If your e-commerce is still in the seed stage, these could very well be local freelance contractors with a deep knowledge of their market needs. Just remember to rely on local expertise to address your users' needs appropriately.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/shutterstock_569758054.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/shutterstock_569758054.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/shutterstock_569758054.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/shutterstock_569758054.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/shutterstock_569758054.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-ensure-consistent-quality-across-markets">3. Ensure consistent quality across markets <a class="markdownit-header-anchor" href="#3-ensure-consistent-quality-across-markets">🔗</a></h3><p>Expansion comes with quality challenges. When selling in a new market, you should make sure the quality is the same as that of the original market. For instance, the quality of the product someone receives in the U.S. should be the same as the quality of the product someone will receive when ordering from Spain. </p><p>The challenge here is finding trustworthy suppliers if you partner with suppliers in your target markets. 🚚 You can't compromise on quality; otherwise, it will harm your brand reputation. While marketing to foreign audiences has its own challenges that need to be solved, <strong>maintaining quality should be your top priority</strong>.</p><h3 id="4-offer-multilingual-customer-service">4. Offer multilingual customer service <a class="markdownit-header-anchor" href="#4-offer-multilingual-customer-service">🔗</a></h3><p>Your job is not done once the products are delivered. The support you provide for customers afterward is equally important. And when you expand to other markets, <strong>you can't expect to offer support in only one language, as that</strong> will confuse your buyers. </p><p>Hiring multilingual support agents who can converse with buyers and prospects to assist them in their buying journey or solve their issues will delight users and lead to more positive reviews. 📞 But this isn't all. When you provide multilingual support: </p><ul><li>❇️ you will position your brand as highly reputable,</li><li>📉 reduce negative reviews and abandoned carts,</li><li>💌 and make it easier for customers to provide feedback.   </li></ul><p>Thanks to AI, providing multilingual support is much easier by adding AI-powered chatbots and customer support tools that require minimal human intervention. However, hiring local experts is still necessary to ensure that these tools help users and do not frustrate them.</p><h3 id="5-audit-and-adapt-your-ux">5. Audit and adapt your UX <a class="markdownit-header-anchor" href="#5-audit-and-adapt-your-ux">🔗</a></h3><p><a href="https://localazy.com/dictionary/ux">User experiences</a> aren't uniform across cultures. An interface that appeals to a U.S. user <a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go#2-be-sensitive-to-cultural-nuance">could appear disrespectful</a> to a Japanese user, even if the content is translated correctly. That's why you must audit and adapt the UX with: </p><ul><li>🎏 appropriate imagery for the target markets,</li><li>🎨 relevant color schemes, layouts, and checkout flows,</li><li>🙏 and respecting thought processes, expectations, and regional norms.  </li></ul><p><a href="https://localazy.com/blog/12-principles-of-ux-writing-with-examples">UX localization</a> has the power to make your brand appear local, and therefore compete with regional competitors for a greater share of the market. Multinational brands like Coca-Cola know the power of UX localization. That's why their <a href="https://localazy.com/blog/how-to-localize-translate-website-in-three-steps-localazy#:~:text=Layouts%20can%20also,change%20in%20layout.%20%F0%9F%8E%A8">U.S. and Japanese sites</a> differ immensely.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/shutterstock_1178532382.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/shutterstock_1178532382.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/shutterstock_1178532382.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/shutterstock_1178532382.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/shutterstock_1178532382.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="6-adapt-to-local-pricing-and-preferences">6. Adapt to local pricing & preferences <a class="markdownit-header-anchor" href="#6-adapt-to-local-pricing-and-preferences">🔗</a></h3><p>In each country, residents have developed their favorite shopping habits after some time. For instance, shoppers from Asia-Pacific are more likely to <a href="https://ecommercedb.com/insights/social-commerce-transforming-to-a-6-trillion-dollar-market/4589">purchase through</a> TikTok (17%) than from Instagram (12%). Meanwhile, in Latin America, more are likely to shop via WhatsApp (14%) rather than from TikTok (2%) or YouTube (5%). You should consider such insights when expanding to new markets and <strong>focus on marketing through the channels your newfound audience uses the most locally</strong>. </p><p>Next, there are several practices you need to follow during localization, but one of the most fundamental ones when selling in a foreign market is to <strong>localize your pricing</strong>. Localized pricing not only makes your brand instantly appear like a local one, but it also enables you to match products with the market expectations, making it reasonable to buy. Now, you can implement: </p><ul><li>💱 Cosmetic price localization - a simple currency-to-currency conversion.</li><li>🏷️ Or set completely new prices for each market based on other factors such as competition pricing, shipping rates, taxes, etc. </li></ul><p>Both these approaches are used, but the second requires more work and yields better results.</p><blockquote>When you're adapting to a new market, it is crucial to identify where your new audience shops the most and localize pricing, whether it is cosmetic or from scratch</blockquote><h3 id="7-create-content-that-resonates-with-locals">7. Create content that resonates with locals <a class="markdownit-header-anchor" href="#7-create-content-that-resonates-with-locals">🔗</a></h3><p>When entering new markets, <strong>you can't expect </strong><a href="https://localazy.com/blog/top-9-ux-translation-problems-and-how-to-solve-them"><strong>just to translate your old content</strong></a><strong> and effectively connect with new audiences</strong>. Local cultures shape people's understanding and perceptions differently, which means that your listicles about the top trends in the U.S. won't appeal to readers in South Korea. </p><p>The ads you run across regions, the article topic you choose to work on, and the products you suggest should be based on local needs. Everything, from the language you use and the cultural norms you address to the complexity of the checkout process, should match the audience's needs and capabilities.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/shutterstock_1373447285.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/shutterstock_1373447285.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/shutterstock_1373447285.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/shutterstock_1373447285.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/shutterstock_1373447285.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="4-mistakes-to-avoid-in-e-commerce-i18n">🚩 4 mistakes to avoid in e-commerce i18n <a class="markdownit-header-anchor" href="#4-mistakes-to-avoid-in-e-commerce-i18n">🔗</a></h2><p>Making your e-commerce international comes with its own set of challenges and risks. Here are some mistakes you should avoid while expanding to a new region:</p><h3 id="1-not-doing-enough-research">1. Not doing enough research <a class="markdownit-header-anchor" href="#1-not-doing-enough-research">🔗</a></h3><p>You can't do almost anything without research, and localization is no exception. You'll likely want to be listed across brands like Coca-Cola and Dolce &amp; Gabbana but not on<a href="https://localazy.com/blog/enter-new-markets-with-quality-localization#3-real-world-examples-of-localization-pitfalls"> their list of localization blunders.</a> </p><p>Therefore, make sure you research these points well if you're serious about succeeding in your expansion:</p><ul><li>🛍️ Local consumer behaviors and purchasing habits for your niche.</li><li>📦 Policies around processes like taxation and shipping.</li><li>📢 What competitors offer and their marketing tactics.</li><li>💲 The most used local payment methods.</li></ul><p>When researching your target market, <strong>find out whether there's demand for the products you're competing for with the pricing you have</strong>. This is the most critical metric. </p><p>Also, remember to look into the legal implications of selling in your target markets. Each country has its own policies. ⚖️ For instance, the EU has different regulations than the U.S. regarding data privacy and e-commerce rules. The EU's General Data Protection Regulation (GDPR) <a href="https://europa.eu/youreurope/business/dealing-with-customers/data-protection/data-protection-gdpr/index_en.htm#:~:text=The%20GDPR%20sets%20out%20detailed,people%20living%20in%20the%20EU.">has strict requirements</a> for collecting and processing its citizens' personal data. GDPR also applies to companies based outside the EU that market to EU users.</p><blockquote>Pricing demand, local consumer behaviors, shipping and taxation policies and legal considerations are some of the factors that you'll need to look into to find out if your product is a good fit for a certain market</blockquote><h3 id="2-ignoring-local-preferences-for-products-in-your-niche">2. Ignoring local preferences for products in your niche <a class="markdownit-header-anchor" href="#2-ignoring-local-preferences-for-products-in-your-niche">🔗</a></h3><p>Although we mentioned this above, it deserves a section of its own because it's a common mistake. <strong>Your expansion success depends on how well you adapt to local preferences</strong>, which expand beyond the customers' favorite shopping channels. </p><p>Even simple details like color preferences and connotation matter. For instance, while the red color implies excitement and love in the U.S., it <a href="https://www.empiretextiles.com/blog/portfolio/west-african-cloth-what-do-the-colours-really-mean/">represents</a> bloodshed and death in Africa. Similarly, other choices, like the type of scents preferred in each country, vary slightly. In Japan, people prefer products (like perfumes) with lighter scents than Europeans or Americans.</p><h3 id="3-rushing-to-launch-in-new-markets">3. Rushing to launch in new markets <a class="markdownit-header-anchor" href="#3-rushing-to-launch-in-new-markets">🔗</a></h3><p>Launching to foreign markets is tricky. <strong>You need to take your time to process feedback and make the necessary changes</strong>. 📝 It's best to take it one market at a time with considerable breaks in between. If you try to do it all at once, you won't be able to adapt well or pay attention to details. Overlooked localization creates dissatisfied overseas customers.</p><p>If your focus is to expand to new markets as soon as possible, it makes sense to hurry. However, it's better to take more time for optimal results. Otherwise, you will fail to deliver.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_440184612.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_440184612.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_440184612.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_440184612.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_440184612.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-offering-unsuitable-payment-options">4. Offering unsuitable payment options <a class="markdownit-header-anchor" href="#4-offering-unsuitable-payment-options">🔗</a></h3><p>Adding suitable payment methods is a no-brainer, but it can often be overlooked if you serve a broad customer base. Offering unsuitable payment methods will confuse you (and your customers) when your localization and marketing strategies don't yield satisfactory results. You might blame<strong> other factors, like translation quality</strong>, and probably change your content strategy only to discover that the payment method offered was causing the trouble.</p><p>Research which payment options—credit cards, mobile wallets, bank transfers, cash on delivery, etc.—are most frequently used in the target country. For example, 🇳🇱 <strong>iDEAL</strong> dominates in the Netherlands, 🇩🇪 <strong>SOFORT</strong> is preferred in Germany, and 🇨🇳 <strong>Alipay</strong> and <strong>WeChat Pay</strong> are ubiquitous throughout China. </p><p>Not offering these familiar local payment choices at checkout <strong>severely decreases conversion rates</strong> from international traffic. Even minor <a href="https://localazy.com/dictionary/friction">friction</a> from unsuitable options can lead shoppers to abandon their carts.</p><h2 id="top-3-benefits-of-e-commerce-localization">⭐️ Top 3 benefits of e-commerce localization <a class="markdownit-header-anchor" href="#top-3-benefits-of-e-commerce-localization">🔗</a></h2><p>Localization has been shown to increase the results of popular and not-so-popular brands worldwide, and it can surely do the same for any e-commerce brand. Here are three top benefits of applying it.</p><h3 id="1-reach-a-steady-increase-in-international-sales">1. Reach a steady increase in international sales <a class="markdownit-header-anchor" href="#1-reach-a-steady-increase-in-international-sales">🔗</a></h3><p>At the end of the day, what matters are results, and results in e-commerce are pretty easy to measure. 🔍 You either get sales, or you don't. If you correctly apply the tactics we've mentioned, you should be selling into new markets successfully. </p><p>Couple your localization strategy with <a href="https://localazy.com/term/multilingual-search-engine-optimization">international SEO</a>, and you will likely show in the faces of new potential customers and snatch their pockets. Even though the challenges are considerable, since you'll have to localize marketing messages, product descriptions, and articles and invest resources in market research, you'll be rewarded in sales.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/AdobeStock_637433895-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1331" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/AdobeStock_637433895-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/AdobeStock_637433895-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/AdobeStock_637433895-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/AdobeStock_637433895-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-achieve-a-consistent-global-brand-messaging">2. Achieve a consistent global brand messaging <a class="markdownit-header-anchor" href="#2-achieve-a-consistent-global-brand-messaging">🔗</a></h3><p><a href="https://hbr.org/2012/05/three-myths-about-customer-eng">64% of people state</a> that they have forged good relationships with brands with whom they share similar values. Without localization, it'll be challenging to maintain a trustworthy tone of voice and brand values. <strong>If you switch up your messaging whenever there's a new trend, people won't know what you stand for</strong>, making it hard to be favored. </p><p>A localization strategy ensures that your brand messaging isn't lost in translation when entering new markets. It sustains uniform messaging across regions, leading to a more loyal customer base because people regard your brand as more trustworthy. </p><h3 id="3-reduce-support-issues">3. Reduce support issues <a class="markdownit-header-anchor" href="#3-reduce-support-issues">🔗</a></h3><p>Misunderstandings and miscommunication are the leading causes of contact with customer service and support teams. Such issues are common among customers who are native speakers of the primary language you've used in your shop, let alone those who aren't proficient in it. Imagine how many trivial issues you could solve through localization. </p><p><strong>Localization tackles any miscommunication that could arise in product descriptions, visuals, or policies by clearly adapting them to your audience's local languages</strong>. It's worth mentioning that providing multilingual support is also part of the localization strategy, which means that even if customers have misunderstandings, they'll be resolved immensely faster when they talk with your multilingual staff.</p><blockquote>Proper l10n of product descriptions, visuals and policies ensures that misunderstandings are less common among your global clientele, reducing support tickets</blockquote><h2 id="why-localazy-is-the-ideal-l10n-solution">💡 Why Localazy is the ideal l10n solution <a class="markdownit-header-anchor" href="#why-localazy-is-the-ideal-l10n-solution">🔗</a></h2><p>When choosing a localization platform, you should search for one that helps you achieve high-quality translations, manage your teams effortlessly, <a href="https://localazy.com/features/continuous-localization-team">outsource the process</a> if you want to, and accomplish all of these for an affordable price. Well, we're happy to offer all of these. Here's how:</p><h3 id="share-tm-save-money-on-translations">Share TM: save money on translations <a class="markdownit-header-anchor" href="#share-tm-save-money-on-translations">🔗</a></h3><p>You can work with shared translations to cut localization costs. 💸 Our <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a> feature suggests existing translations from 80+ languages from other translated apps on the platform for free reuse. This reuse lowers translators' workload and can save up to 50% on localization budgets.</p><h3 id="reviews-rest-assured-about-high-quality">Reviews: rest assured about high-quality <a class="markdownit-header-anchor" href="#reviews-rest-assured-about-high-quality">🔗</a></h3><p>You can invite native speakers to contribute to your project while you are always leading the process, selecting which translations you approve or reject. This proactive <a href="https://localazy.com/blog/unique-review-process-and-self-managed-translations">review process</a> makes it easier to attain quality translations. You can also provide translators with critical <a href="https://localazy.com/features/context-screenshots-ocr">context via screenshots</a> and descriptions to assist them in producing high-quality translations. <strong>Built-in tools boost quality without upping spend</strong>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/03/a0b483cd-02a9-4b3e-bc92-d416fbe9ad27.webp" class="kg-image" alt loading="lazy" width="1481" height="825" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/a0b483cd-02a9-4b3e-bc92-d416fbe9ad27.webp 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/a0b483cd-02a9-4b3e-bc92-d416fbe9ad27.webp 1000w, https://ghost.localazy.com/content/images/2024/03/a0b483cd-02a9-4b3e-bc92-d416fbe9ad27.webp 1481w" sizes="(min-width: 720px) 720px"><figcaption>A snapshot of how the approval of a string looks like for someone with reviewing permissions.</figcaption></figure><h3 id="progress-tracker-keep-track-of-changes">Progress tracker: keep track of changes <a class="markdownit-header-anchor" href="#progress-tracker-keep-track-of-changes">🔗</a></h3><p>Localazy's dashboard centralizes activity across all languages and translated apps, allowing you to <strong>monitor progress in real-time</strong>. You can easily track the percentage of the translated project, new and modified strings, and more. You can also access the backlog anytime to check the version history for all translations.</p><h2 id="final-thoughts">📌 Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>These are just some of the features of Localazy, but we have countless other ones to make sure you reach new markets at full speed. Whether you're expanding your e-commerce store to one market or more, localization will give you an ace up your sleeve over your competitors. <a href="https://localazy.com/for/e-commerce">Click here</a> to learn more about using localization to sell more in foreign markets and win a global customer base.</p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/02/eGlobal.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How Localazy CDN reduces Total Cost of Ownership (with examples! 🔎)]]></title>
            <link>https://localazy.com/blog/how-localazy-cdn-reduces-total-cost-of-ownership-with-examples</link>
            <guid isPermaLink="false">how-localazy-cdn-reduces-total-cost-of-ownership-with-examples</guid>
            <pubDate>Sat, 16 Aug 2025 14:49:51 GMT</pubDate>
            <description><![CDATA[Many businesses ignore TCO when it comes to localization services. Find out why you should care about it and how our content delivery network can help you reduce it.]]></description>
            <content:encoded><![CDATA[<p>When it comes to digital businesses, every localization process appears to be a difficult quest. 🗺️ 🧭</p><p>Picture this: you are a product manager at an international company, and your task is to scale your digital presence globally. This is not an easy journey – <strong>high operational costs, technical complexities, and the fear of unsuccessful scaling</strong> are only some of the obstacles you will face. Fortunately, there are things that can make this process less intimidating. Enter Localazy, the smart yet understandable platform offering a simple solution through <a href="https://localazy.com/blog/the-ultimate-guide-to-localazy-cdn">its innovative Content Delivery Network (CDN)</a>.</p><h2 id="what-is-tco-and-why-does-it-matter">💸 What is TCO — and why does it matter? <a class="markdownit-header-anchor" href="#what-is-tco-and-why-does-it-matter">🔗</a></h2><p>The concept of <a href="https://localazy.com/dictionary/tco/">Total Cost of Ownership (TCO)</a> may seem complicated, but in simple terms,<strong> it represents all the money you spend on getting, using, and retiring a product or service</strong>. So, when it comes to localization, TCO isn’t just about the upfront costs of translation; it includes the ongoing expenses of keeping things updated and scaling up.</p><p>Many factors influence TCO in a digital business, such as:</p><ul><li>💿 Software and hardware expenses,</li><li>💰 operational costs, </li><li>🧍🏻‍♂️ and the often-overlooked costs of human resources.</li></ul><p>Our CEO, <a href="https://localazy.com/blog/author/vaclav-hodek">Václav Hódek</a>, points out something crucial: <strong>people tend to underestimate the cost of their own work.</strong> “It feels like a free feature, as it's included in the salary, but - do you really want to save a few bucks on a CDN while building, managing, and bug-fixing your own solution for publishing updated translations?"</p><blockquote>Some companies tend to overlook the effort their teams put into building, managing, and fixing in-house solutions. This can lead to a significant underestimation of the actual TCO</blockquote><p>If you give into this mindset, costs can quickly get out of control. "<strong>It could cost you 10x more monthly, or even more</strong>. Once you get to more complicated stuff, like implementing releases or logic for your language switcher, the cost can skyrocket quickly. And you are still not going to have everything wrapped in a nice UI for your translators and marketing guys", he says.</p><p>As you can see, some companies tend to overlook the effort their teams put into building, managing, and fixing in-house solutions. This can lead to a significant underestimation of the actual TCO. Let's see how a content delivery network can help.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/Illustrated-delivery-2.png" class="kg-image" alt loading="lazy" width="767" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/Illustrated-delivery-2.png 600w, https://ghost.localazy.com/content/images/2024/03/Illustrated-delivery-2.png 767w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-a-cdn-can-help">📡 How a CDN can help <a class="markdownit-header-anchor" href="#how-a-cdn-can-help">🔗</a></h2><p>At its core, a Content Delivery Network (CDN) is like a global network of servers strategically placed to deliver digital content efficiently, no matter where the users are. It’s good at reducing delays, improving reliability, and enhancing user experience. </p><p><strong>So, what is the connection between localization and TCO? </strong>Here’s where our CDN becomes a game-changer. It not only simplifies the distribution of localized content but also significantly cuts down the TCO. By using our CDN, businesses can scale up seamlessly, offer reliability, and spread translations easily and swiftly, which is essential for serving a global audience.</p><blockquote>➡️ Learn more about our CDN and its impact on localization in <a href="https://localazy.com/blog/8-reasons-why-delivering-translations-via-localazy-cdn-is-a-good-idea">this article</a>.</blockquote><h2 id="4-cdn-elements-that-reduce-tco">🎁 4 CDN elements that reduce TCO <a class="markdownit-header-anchor" href="#4-cdn-elements-that-reduce-tco">🔗</a></h2><p>As we mentioned above, a content delivery network essentially focuses on <strong>efficiently getting your digital content to users worldwide</strong>. This is great for reducing lag and boosting reliability; it's also a key player in keeping your TCO in check. And as a bonus, it has four noticeable benefits.</p><h3 id="1-instant-updates">1. Instant updates <a class="markdownit-header-anchor" href="#1-instant-updates">🔗</a></h3><p>The most obvious advantage of using a CDN is the benefit of constant, instant updates. 🔄 In other words, <strong>it eliminates the need for long release cycles</strong> by enabling updates and hotfixes to translations to be rolled out immediately. This flexibility results in lower operating expenses, creating a more adaptable global presence.</p><h3 id="2-simplified-workflows">2. Simplified workflows <a class="markdownit-header-anchor" href="#2-simplified-workflows">🔗</a></h3><p>Lengthy deployment processes are out of the window with a CDN, as it simplifies localization workflows. This not only saves time for translators and developers alike but also significantly reduces labor costs. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/delivery.png" class="kg-image" alt loading="lazy" width="740" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/delivery.png 600w, https://ghost.localazy.com/content/images/2024/03/delivery.png 740w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-scalability">3. Scalability <a class="markdownit-header-anchor" href="#3-scalability">🔗</a></h3><p>One common concern for growing companies is being able to scale their systems as they expand. 🪜 Localazy CDN makes this simpler: our content delivery network infrastructure seamlessly scales with your business. In practice, this means <strong>it's designed to meet the growing demands of your customer base</strong> without incurring undesirable costs.</p><h3 id="4-enhanced-user-experience">4. Enhanced user experience <a class="markdownit-header-anchor" href="#4-enhanced-user-experience">🔗</a></h3><p>Reliability can greatly impact customer satisfaction and loyalty. By delivering content from the nearest server to the user, CDN ensures three things:</p><ul><li>⏱️ Faster loading times</li><li>📨 Scaling ability to handle more requests</li><li>📬 A more reliable user experience</li></ul><h2 id="two-real-life-cdn-success-stories">🌱 Two real-life CDN success stories <a class="markdownit-header-anchor" href="#two-real-life-cdn-success-stories">🔗</a></h2><p>Consider the success stories of <strong><a href="https://www.worldee.com/eu/">Worldee</a></strong> and <strong><a href="https://localazy.com/case-study/rouvy">Rouvy</a></strong>, two Localazy clients that regularly use our CDN to their advantage. Thanks to this network, they are able to propagate translations without delays, ensuring their content is always up-to-date and resonant with their global audience. When implemented, not only did they improve efficiency, but also brought down their TCO, which was a key part of their global expansion. 🚀</p><p>Worldee is a modern travel platform with around 100,000+ users that connects users with a community of experienced travelers with the same passion and allows you to discover the world through the eyes of the locals. Since they started using our CDN in 2023, the company has handled 163GB of data and 705k requests for an average price of $7/month.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/03/6279fe08f84d8f5e03d0.png" class="kg-image" alt loading="lazy" width="1440" height="1070" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/6279fe08f84d8f5e03d0.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/6279fe08f84d8f5e03d0.png 1000w, https://ghost.localazy.com/content/images/2024/03/6279fe08f84d8f5e03d0.png 1440w" sizes="(min-width: 720px) 720px"><figcaption>Worldee connects travel lovers with the help of Localazy CDN.</figcaption></figure><p>Rouvy is a global indoor cycling platform for athletes and sports enthusiasts. It allows users to ride, exercise, and compete using a realistic simulation that includes more than 2,000 scenic bike routes worldwide. Apart from <a href="https://localazy.com/blog/case-study-rouvy-localization">benefitting from all the Localazy l10n and internationalization perks</a>, our CDN has greatly impacted their ability to reliably update and disseminate their content without constant oversight.</p><p>"<strong>The most impactful moment was seeing the automation in action</strong>," shares Lukáš Tóth, Rouvy's Product Manager. "Thanks to the Localazy CDN, we have set up our workflow so that developers don't have to deal with localization resources at all. This significantly reduced the effort needed to release new versions, and we haven't looked back since." </p><blockquote>🤔 Wondering how other companies use our CDN, and Localazy's services as a whole? Visit <a href="https://localazy.com/case-study/">our Case Studies section</a> for more stories.</blockquote><h3 id="a-proven-track-record">A proven track record <a class="markdownit-header-anchor" href="#a-proven-track-record">🔗</a></h3><p>In a typical month, our CDN impressively handles <strong>150 million requests</strong> and manages <strong>almost 2TB of data</strong>, showcasing its robustness and reliability. 💪 Additionally, with around 15,000 publishes monthly, we continually update and refine our content delivery to meet the dynamic needs of our global audience. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/CDN-stats-2.png" class="kg-image" alt loading="lazy" width="1200" height="721" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/CDN-stats-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/CDN-stats-2.png 1000w, https://ghost.localazy.com/content/images/2024/03/CDN-stats-2.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>These are growing numbers that are constantly evolving. But our performance doesn't only rely on stats; it's a testament to the trust that businesses worldwide place in Localazy to effectively support their localization efforts. </p><blockquote>🎙️ How do you price your SaaS product without hurting margins or growth? Listen to <a href="https://localazy.com/blog/s01-ep-04-bridging-the-gap-podcast">our podcast episode with the B2B pricing advisor, Dima Melnik</a>, where he breaks down the best approaches to SaaS pricing.</blockquote><h2 id="ready-to-slash-your-tco">✂️ Ready to slash your TCO? <a class="markdownit-header-anchor" href="#ready-to-slash-your-tco">🔗</a></h2><p>Reducing your TCO with our CDN is surprisingly easy. <strong>First integrate your project with Localazy; then <a href="https://localazy.com/faq/localazy-cdn/how-to-use-localazy-cdn">set up the CDN</a> according to your needs</strong>. With clear pricing and an easy setup, expanding globally becomes a breeze. An example illustrates it better, though. Let's see some hypotheses next so you can estimate to how much your final invoice would amount. 👀</p><h3 id="example-1-startup">Example #1: Startup <a class="markdownit-header-anchor" href="#example-1-startup">🔗</a></h3><p>Imagine you've got a large website or a SaaS platform that's all set to go global. You're ready to share your work with the world, in multiple languages, no less. But here's the thing: <strong>you want to keep an eye on costs without getting tangled in complex pricing schemes</strong>. That's where we step in with Localazy CDN.</p><p>You have a 50 kB file that's crucial for your international audience, which reaches a million users every month. How much will it cost with us? Spoiler: It's probably less than you think.</p><p>Here's a quick calculation:</p><ul><li><strong><strong>📊</strong> <strong>Data transfers (1,000,000 * 50kB) * $0.5/GB = $23.8</strong></strong></li><li><strong><strong>📤</strong> <strong>HTTPS requests (1,000,000 / 1000) * 0.005 = $5</strong></strong></li><li><strong><strong>⭐️</strong> <strong>Releases published 50 * $0.01 = $0.5</strong></strong></li></ul><p>Total price per month =<strong> $29.3</strong></p><p>That's it. No fine print, no surprises. Just straightforward pricing that scales with your needs, whether you're just starting out or you're reaching millions worldwide. And remember: this flexibility means <strong>you're never overpaying for what you use</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/Under-header.png" class="kg-image" alt loading="lazy" width="1620" height="866" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/Under-header.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/Under-header.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/Under-header.png 1600w, https://ghost.localazy.com/content/images/2024/03/Under-header.png 1620w" sizes="(min-width: 720px) 720px"></figure><h3 id="example-2-medium-sized-company">Example #2: Medium-sized company <a class="markdownit-header-anchor" href="#example-2-medium-sized-company">🔗</a></h3><p>Let's assume that we have a growing, medium-sized company with a broader audience and a slightly larger file size they need to distribute internationally. This company has a 150 kB file that reaches 5 million users every month and publishes around 75 releases.</p><p>Here's a quick calculation:</p><ul><li><strong><strong>📊</strong>  Data transfers (5,000,000 * 100kB) * $0.5/GB = $242.19</strong></li><li><strong><strong>📤</strong>  HTTPS requests (5,000,000 / 1000) * 0.005 = $25</strong></li><li><strong><strong>⭐️</strong> Releases published 75 * $0.01 = $0.75</strong></li></ul><p>Total price per month = <strong>$267.94</strong></p><h3 id="example-3-corporation">Example #3: Corporation <a class="markdownit-header-anchor" href="#example-3-corporation">🔗</a></h3><p>For a corporation with a global footprint, the scale of operations and the reach to a global audience in multiple languages is crucial. Here, both the content complexity and user base are at their peak.</p><p>Translation files are comprehensive, around 200 kB each, to cover the wide array of services and information you offer. The platform impressively caters to 10 million users each month, with 200 releases.</p><p>Here's a quick calculation:</p><ul><li><strong><strong>📊</strong>  Data transfers (10,000,000 * 200kB) * $0.5/GB = $976.56</strong></li><li><strong><strong>📤</strong>  HTTPS requests (10,000,000 / 1000) * 0.005 = $50</strong></li><li><strong><strong>⭐️</strong> Releases published 200 * $0.01 = $2</strong></li></ul><p>Total price per month = <strong>$1,028.56</strong></p><blockquote>💰 Curious about how this works out for different scenarios or looking to dive deeper into the numbers? Check out <a href="https://localazy.com/docs/cdn/cdn-pricing">more examples of our CDN pricing</a>. </blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/Under-header-2.png" class="kg-image" alt loading="lazy" width="1620" height="866" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/Under-header-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/Under-header-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/Under-header-2.png 1600w, https://ghost.localazy.com/content/images/2024/03/Under-header-2.png 1620w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Scaling your global presence is a quest with multiple challenges. However, <strong>with the right tools, reducing TCO and getting seamless localization results becomes easy and convenient</strong>. 💪</p><p>This is the time to embrace innovative solutions and transform your localization process so your business can make an impression in the global market. Remember: the right tools can help you succeed with your digital expansion and avoid unnecessary expenses. Join the ranks of businesses like Worldee and Rouvy, and <a href="https://localazy.com/features/language-cdn">let Localazy CDN be your ally</a> in conquering the global stage.</p>]]></content:encoded>
            <author>Tibor Panák</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/03/How-Localazy-CDN-Reduces-Total-Cost-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Automations Series: Show keys automatically]]></title>
            <link>https://localazy.com/blog/automated-workflows-series-show-keys-automatically</link>
            <guid isPermaLink="false">automated-workflows-series-show-keys-automatically</guid>
            <pubDate>Wed, 15 Oct 2025 15:36:04 GMT</pubDate>
            <description><![CDATA[Why should you set up an automated workflow to show hidden source keys for translation? It can be useful, especially when you plan to rename a feature soon or during rebranding. Learn more in the article!]]></description>
            <content:encoded><![CDATA[<p>Before you get into today's topic, read the previous articles in this series to see what you can achieve with Automations:</p><ul><li><a href="https://localazy.com/blog/automated-workflows-series-translate-content-immediately-after-uploading-with-mt">Translate Content Immediately After Uploading with MT</a></li><li><a href="https://localazy.com/blog/automated-workflows-series-fine-tune-your-ux-copy-before-translating-it">Fine-Tune Your UX Copy Before Translating It</a></li><li><a href="https://localazy.com/blog/automated-workflows-series-prevent-translation-of-unwanted-strings">Prevent Translation of Unwanted Strings</a></li><li><a href="https://localazy.com/blog/automated-workflows-series-delete-deprecated-keys-automatically">Delete Deprecated Keys Automatically</a></li><li><a href="https://localazy.com/blog/automated-workflows-series-deep-dive-into-filters">Apply Any Filters</a></li></ul><h2 id="why-automate-showing-keys">❓ Why automate showing keys? <a class="markdownit-header-anchor" href="#why-automate-showing-keys">🔗</a></h2><p>When going through a migration or project rebranding, there may be a bunch of keys that contain obsolete words, such as the old name of your app or links, etc. They are still present on Localazy and visible to translators, so if you keep translating your project while migrating/rebranding it at the same time, your translators could end up focusing on translations that will later be changed. That's a waste of their time and your money.</p><p>One possible solution is to stop translating everything until all texts are adapted for the new version. This could slow down the process and put pressure on the product team.</p><p>The other option is to hide the keys containing specific keywords so they are invisible to translators. That's a simple solution, but you need to remember to show these keys again as soon as they are migrated/rebranded. Or, our Automations can do that for you!</p><h2 id="setting-up-the-automation">⚙️ Setting up the automation <a class="markdownit-header-anchor" href="#setting-up-the-automation">🔗</a></h2><h3 id="1-hide-all-the-obsolete-keys">1. Hide all the obsolete keys <a class="markdownit-header-anchor" href="#1-hide-all-the-obsolete-keys">🔗</a></h3><p>Just navigate to your project on Localazy, go to the source language management, and filter out keys containing your specific keywords. Select them all and hide them.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/image-29.png" class="kg-image" alt loading="lazy" width="1035" height="707" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/image-29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/image-29.png 1000w, https://ghost.localazy.com/content/images/2023/10/image-29.png 1035w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-create-and-configure-a-new-automation">2. Create and configure a new automation <a class="markdownit-header-anchor" href="#2-create-and-configure-a-new-automation">🔗</a></h3><p>To create a new automation, go to the Localazy dashboard on the left and under <strong>Tools</strong>, you'll find <strong>Automations</strong>. Tap on <strong>"+ NEW AUTOMATION"</strong> and that's it (refer to the full <a href="https://localazy.com/docs/general/automations">docs on Automations</a> for help).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/image-14.png" class="kg-image" alt loading="lazy" width="2000" height="751" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/image-14.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/image-14.png 1600w, https://ghost.localazy.com/content/images/2025/10/image-14.png 2000w" sizes="(min-width: 720px) 720px"></figure><p>My new automation is ready, needs to be configured. So, let's edit it.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-16.47.19.png" class="kg-image" alt loading="lazy" width="2000" height="1432" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-16.47.19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-16.47.19.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-15-at-16.47.19.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-15-at-16.47.19.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Now, for the first step, we have to select the desired action, which is to <strong>Show source keys</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-16.50.14.png" class="kg-image" alt loading="lazy" width="2000" height="1428" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-16.50.14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-16.50.14.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-15-at-16.50.14.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-15-at-16.50.14.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>We want to trigger the event if the keys are updated, so out of the possible triggers, we just need the <strong>Key or translation updated</strong>, nothing else. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-16.49.15.png" class="kg-image" alt loading="lazy" width="2000" height="951" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-16.49.15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-16.49.15.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-15-at-16.49.15.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-15-at-16.49.15.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Filters can be helpful when you want to limit the automation to a specific subset of keys. You can read more about them <a href="https://localazy.com/blog/automated-workflows-series-deep-dive-into-filters">here</a>. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-16.53.46.png" class="kg-image" alt loading="lazy" width="2000" height="1423" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-16.53.46.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-16.53.46.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-15-at-16.53.46.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-15-at-16.53.46.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Click "Create", and the automation will be saved. That's it. All is configured, and you can see the status of the automation after saving it. You can come back to the <strong>Automations</strong> tab and see when each automation ran for the last time as well. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-16.57.09.png" class="kg-image" alt loading="lazy" width="2000" height="344" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-16.57.09.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-16.57.09.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-15-at-16.57.09.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-15-at-16.57.09.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-upload-content-periodically-while-migratingrebranding-it">3. Upload content periodically while migrating/rebranding it <a class="markdownit-header-anchor" href="#3-upload-content-periodically-while-migratingrebranding-it">🔗</a></h3><p>Whether you upload your files manually or via CLI, keep uploading them periodically as you change them to update the old names and links to new ones.</p><p>Whenever new updated keys appear, the automation will be run, and keys that match the filter will be automatically shown if they were hidden before. It won't matter if you spend one day or one month reorganizing your project; you'll never need to think about the process again.</p><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>In conclusion, automating the process of showing keys during migration or rebranding projects saves time and resources by letting translators focus on relevant translations. Utilizing Automations streamlines the process effortlessly, allowing developers to upload content as needed without manual key management. Ultimately, this approach ensures a smoother transition and optimizes translation efficiency.</p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/08/localazy-workflows-series-6.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Swedish localization made easy: Conquer the largest Nordic market]]></title>
            <link>https://localazy.com/blog/swedish-localization-made-simple-conquer-largest-nordic-market</link>
            <guid isPermaLink="false">swedish-localization-made-simple-conquer-largest-nordic-market</guid>
            <pubDate>Fri, 31 May 2024 11:54:15 GMT</pubDate>
            <description><![CDATA[Sweden stands out by itself as one of the top economies in the world. Its high standards of living, growing economic development, and increasing spending rates make it a prime market for expansion. Reach over 10M Swedish speakers with these localization tips.]]></description>
            <content:encoded><![CDATA[<p>From the famous Northern Lights in the North to<a href="https://blogs.transparent.com/swedish/polar-bears-on-the-streets-a-swedish-stereotype/"> the myth that polar bears walk the streets of Stockholm</a>, somebody has always spoken about Sweden <em>somewhere</em>. Forgetting about the Vikings any time soon is unlikely, and the country's domination in sustainability and eco-conscious living is hard to overlook. 🌱🌲 The air in Sweden is so fresh and the water so clean that you'll remember it long after you've had a taste. </p><p>Swedes love to shop online, travel the world, keep up with the latest trends, and are on their way to having <a href="https://henninglarsen.com/en/news/archive/2023/08/15-henning-larsen-designs-european-spallation-source-in-lund-sweden">the most extensive research facility for material research in the world</a>. 🔬 There is considerable health awareness among the population, and doing both health-related and just-for-fun activities is a big part of the lifestyle.<strong> Sweden is also among the world's top countries in terms of <a href="https://www.oecdbetterlifeindex.org/countries/sweden/">spending per household</a>.</strong></p><p>In this guide, you'll learn how proper linguistic and cultural knowledge helps you increase trust among Swedish people and can open doors to new business partnerships. <strong>Plus, find out why <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">English alone won't do</a></strong> and why Swedish localization matters to successfully attract and keep Swedish users.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_102452441.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1354" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_102452441.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_102452441.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_102452441.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_102452441.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="know-the-swedish-culture-and-style">🏕️ Know the Swedish culture and style <a class="markdownit-header-anchor" href="#know-the-swedish-culture-and-style">🔗</a></h2><p><strong>To enter the Swedish market the right way</strong>, first you need to know what Swedish people are like and how they behave. Just as you wouldn't give a Swede one kiss on each cheek when saying hello (<a href="https://www.cntraveler.com/story/a-guide-to-kissing-etiquette-around-the-world/">like they do in Spain, for example</a>), you wouldn't be too aggressive in your copy when trying to convert a Swedish visitor to a customer. <strong>Instead, a little typical Swedish humor and transparency will take you much further.</strong></p><h3 id="traditions-and-hobbies">Traditions and hobbies <a class="markdownit-header-anchor" href="#traditions-and-hobbies">🔗</a></h3><p>Sweden has kept its traditions steady to a large extent, even with the increased influence of other cultures. ☀️🌸 <a href="https://visitsweden.com/what-to-do/culture-history-and-art/swedish-traditions/midsummer-tradition/midsummer/">Summer celebrations such as Midsommar</a><em> </em>are a time when everyone puts on their summer dresses and shorts, the barbecue grill comes out, and friends and families invite each other over to share strawberries, potato salad, grilled salmon, and Smörgåstårta with shrimp, not to mention enjoying sparkling wine and a shot or two. Renting a cabin or staying at their own little house over the summer is a seasonal pleasure. When winter arrives, cozy evenings by the fire, snowy days (sometimes without mercy), and skiing vacations take center stage. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_441888425.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_441888425.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_441888425.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_441888425.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_441888425.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Few countries have such a high housing standard and love for interior design. 🛋️ Having a beautiful home is not only considered a must in Sweden, but it's also a sign of achievement. And it is achievements that Swedes talk a lot about, which creates plenty of room for career and business conversations. All while having a strong cup of coffee in their hands (Sweden has <a href="https://www.scandinaviastandard.com/swedish-coffee-and-fika-culture-explained/">a huge coffee culture</a>).</p><p>All this means that there is a massive opportunity for companies operating in various industries to do business with Sweden. <strong>Adapting copy and localization to the seasons and the humble and somewhat shy yet driven Swedish nature is essential</strong>. It also shows that the customer potential is enormous. This is why having the right content strategy and using localization correctly is crucial. </p><h2 id="the-origins-of-swedish">🛡️ The origins of Swedish <a class="markdownit-header-anchor" href="#the-origins-of-swedish">🔗</a></h2><p>Swedish has been its own language since the beginning of 800 AC, when the Viking era began. However, its roots began to grow much earlier, around 5,000-6,000 years ago, when citizens spoke Indo-European in Asia. As people emigrated to different parts of the world, so did the language travel, eventually changing. When reaching the North, known today as Scandinavia, it turned into the <a href="https://en.wikipedia.org/wiki/Proto-Germanic_language">Proto-Germanic</a> language before it became <a href="https://hub.localazy.com/en/languages/non-old-norse">Old Norse</a> and finally <a href="https://hub.localazy.com/en/languages/sv-swedish">Swedish</a>. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_292414955.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_292414955.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_292414955.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_292414955.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_292414955.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>The <a href="https://www.britannica.com/topic/Rok-Stone">Rök runestone</a> in Ödeshög is considered the first evidence of written Swedish literature.</figcaption></figure><p>When it became a language, it started as <em><a href="https://en.wikipedia.org/wiki/Old_Norse#Old_East_Norse">Runsvenska</a> </em>- or <a href="https://hub.localazy.com/en/scripts/runr-runic">Runic</a> Swedish - and was used until 1225 AC. With limited space, the writing was short and straight to the point, much like it is used in Sweden today - and in content online. A short attention span has replaced limited space, but the idea is the same: get to the point quickly, or you'll lose your reader and potential customer. </p><p>For Swedes, an even more direct and short approach is appropriate, which is why when localizing Swedish copy and websites, you shouldn't drag it on. <strong>These customers prefer straightforward language.</strong></p><h3 id="borrowed-words-and-language-influenceslessbrgreater">Borrowed words and language influences<br> <a class="markdownit-header-anchor" href="#borrowed-words-and-language-influenceslessbrgreater">🔗</a></h3><p>Swedish is filled with variation due to its influence from other languages. <strong>The main influences come from other Nordic languages and English, German, Latin, French, and even Dutch and Romani</strong>. Let's take the word 🍷 <em>vin </em>(wine), which comes from the Latin word <em>vinum,</em> and 💯 <em>absolut, </em>which stems from <em>ab solvere</em>. From the German language, you'll find 💼 <em>köpman</em> (businessman)<em>, </em>which comes from the German word <em>Kaufmann,</em> and from French comes the word 😎 <em>populär, </em>whose root is <em>populaire</em>. </p><p>While French and German were the most significant languages in Sweden in the 18th century, <strong>today, the biggest influence comes from English</strong>. Some English words have become more permanent, while others come and go depending on different trends. When localizing English words, a Swedish localization expert is an excellent investment because they know which English words to translate and which to keep. When it comes to copy, this matters a lot.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_90206387-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_90206387-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_90206387-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_90206387-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_90206387-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-many-people-speak-swedish">🇸🇪 How many people speak Swedish? <a class="markdownit-header-anchor" href="#how-many-people-speak-swedish">🔗</a></h2><p>Approximately <strong>10 million people speak Swedish in Sweden today,</strong> and another 300,000 people in Finland, where it's the second official language. You'll find about 700,000 Swedish people abroad - the majority at universities and in the workplace - with the main destinations being the United States, the UK, and Spain. Swedish is also taught at many known universities worldwide, and Swedish companies continue to move abroad. The <a href="https://www.scb.se/en/finding-statistics/statistics-by-subject-area/population/population-projections/population-projections/pong/tables-and-graphs/immigration-and-emigration-by-sex-and-country-of-birth-and-projection/">statistics show</a> that individual and business emigration won't slow down in the near future. </p><p>Sweden has put a large effort into keeping its language intact. <strong>Curiously enough, Swedish wasn't legally recognized as the national language </strong><a href="https://sverigesradio.se/artikel/2849219"><strong>until 2009</strong></a>, sharing its new legal status with five official minority languages (<a href="https://hub.localazy.com/en/languages/fi-finnish">Finnish</a>, <a href="https://hub.localazy.com/en/languages/yi-yiddish">Yiddish</a>, <a href="https://hub.localazy.com/en/languages/fit-tornedalen-finnish">Meänkieli</a>, <a href="https://hub.localazy.com/en/languages/rom-romany">Romany</a>, and <a href="https://hub.localazy.com/en/languages/se-northern-sami">Sami</a>). Special institutions, such as the Institute for Language and Folklore and the Language Council of Sweden, play a huge role in ensuring that Swedish keeps its richness and continues to be stable. 📚🗣️ Their job is to preserve the language, disseminate knowledge about the different dialects and cultural heritage, and make sure that learning resources are available regarding grammar, structures, and much more. </p><p>Given Swedish's linguistic stability and its status as an official language in the EU, it is no wonder that more companies want to improve their messaging for Swedish customers.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_416174777.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_416174777.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_416174777.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_416174777.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_416174777.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="swedish-and-the-scandinavian-languages">🐺 Swedish & the Scandinavian languages <a class="markdownit-header-anchor" href="#swedish-and-the-scandinavian-languages">🔗</a></h2><p>Depending on where you are in Sweden, you will feel a strong influence (or lack thereof) from your Nordic neighbors. <strong>Put Norway, Sweden, and Denmark together, and you'll find 20 million people speaking Swedish</strong>. In some areas, like southern Skåne, the connection to 🇩🇰 Denmark is especially strong. When <a href="https://www.bbc.com/worklife/article/20181122-the-cost-of-the-bridge-between-two-nations">the well-known Öresundsbron bridge</a> was built to connect Sweden and Denmark, it created incredible job and housing opportunities for citizens in both countries.</p><p>Continuing to 🇳🇴 Norway, many people travel here from Sweden to work in seasons because of the higher salaries. It's pretty easy for <a href="https://hub.localazy.com/en/languages/no-norwegian">Norwegian</a> people and Swedes to understand each other, more so than Swedish and <a href="https://hub.localazy.com/en/languages/da-danish">Danish</a>. You will also find that someone living in Stockholm will have a harder time understanding Danish than someone from the south. </p><blockquote>The language ties between Sweden, Norway and Denmark are quite strong. Finland, however, is more distant, as its languages and dialects have a different root</blockquote><p>Lastly, 🇫🇮 Finland is more distant linguistically because <a href="https://hub.localazy.com/en/regions/fi-finland">its languages and dialects</a> differ considerably from the other three due to having a different origin (<a href="https://www.britannica.com/topic/Finno-Ugric-languages">Finno-Ugric</a>). As a result, a Swedish person will most likely not understand their <a href="https://hub.localazy.com/en/languages/fi-finnish">Finnish-speaking</a> neighbors.</p><h3 id="the-nordic-dialect-continuum">The Nordic dialect continuum <a class="markdownit-header-anchor" href="#the-nordic-dialect-continuum">🔗</a></h3><p>Dialects are still important in Scandinavian society, and <strong>there is a continuous effort from the Nordic countries to keep their language ties across </strong><a href="https://en.wikipedia.org/wiki/Dialect_continuum#:~:text=The%20Norwegian%2C%20Danish%20and%20Swedish,and%20coastal%20parts%20of%20Finland."><strong>the dialect continuum</strong></a><strong>. </strong>New initiatives are encouraged frequently to ensure that the different linguistic cultures are honored, such as the Norwegian series <em>Skam</em>, which has become highly popular among young people. This has even bled into marketing practices: for instance, it's common to encourage people in southern Sweden to travel North and vice versa.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_507106468.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_507106468.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_507106468.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_507106468.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_507106468.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>You will find the Sami dialect alive and well in most Northern parts of the Nordic countries and across the borders of Norway, Sweden, and Finland. In Finland, a small part of the population speaks <a href="https://hub.localazy.com/en/languages/krl-karelian">Karelian</a>; in Norway, it's <a href="https://en.wikipedia.org/wiki/Kven_language">Kvääni</a>; and in Sweden, Meänkieli. Meänkeli exists mainly in Tornedalen in Sweden, and<em> </em>Finnish-Swedish is spoken extensively in the Stockholm area. Romani is spoken by approximately 50,000 - 100,000 people in Sweden, with everyday words such as <em>tjej </em>(girl) deriving from it. On the other hand, Yiddish is spoken by approximately 2 million people worldwide and 3,000 people in Sweden.</p><h3 id="why-dialects-matter">Why dialects matter <a class="markdownit-header-anchor" href="#why-dialects-matter">🔗</a></h3><p>A couple of years ago, Toyota made a commercial with <a href="https://en.wikipedia.org/wiki/Swedish_dialects">different Swedish dialects</a>, aiming to make more citizens feel included in their messaging. 🚗 The message was clear: let people know that hybrid cars are available to everyone, everywhere in Sweden. Here is what a part of the ad copy said: "<em>Kåir biln pa ejl utn å lade han. Jämt tôligt å grônne på sladdera. Klydda ente" </em>(see ad below). This wasn't targeted to someone in the south of Sweden to understand, but it would certainly make someone in Värmland very happy!<br><br>There are still many similarities between Sweden's different languages and dialects, even if many are very far apart. There has always been a red thread that connects these together, and dialects are used today in commercials and ads for a democratic approach and an increased effect. Sweden is a highly democratic country with a polite nature, which shows online as well as offline.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/03/97ccfc55-4843-4402-9030-f23e12aa9cd8.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/97ccfc55-4843-4402-9030-f23e12aa9cd8.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/97ccfc55-4843-4402-9030-f23e12aa9cd8.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/97ccfc55-4843-4402-9030-f23e12aa9cd8.jpeg 1600w, https://ghost.localazy.com/content/images/2024/03/97ccfc55-4843-4402-9030-f23e12aa9cd8.jpeg 1920w" sizes="(min-width: 720px) 720px"><figcaption>This 2020 ad campaign by Toyota put Swedish dialects center stage. Source: <a href="https://www.resume.se/marknadsforing/kampanj/svenska-dialekter-ska-marknadsfora-toyotas-elhybrider/">Resumé</a>.</figcaption></figure><p>Here are other examples of words that differ in Swedish dialects depending on the region:</p><ul><li><em>🛒 Affären </em>(store) in standard Swedish is <em>boa </em>in Ångermanland.</li><li><em>🪦 Kyrkogård</em> (cemetery) is <em>gravgård </em>in Österbotten (Finland).</li><li><em>👧 Barn </em>(children) is <em>kylar </em>in Leksand, Dalarna.</li><li><em>👋 Hur mår du</em> (how are you?) is <em>höss ärä märä i</em>n Värmland.</li></ul><p>Localizing according to county and region matters, especially in marketing. But it isn't possible without having someone who can come up with these ideas and know how important they can be for a business.</p><h2 id="why-english-isnt-enough-in-sweden">😬 Why English isn't enough in Sweden <a class="markdownit-header-anchor" href="#why-english-isnt-enough-in-sweden">🔗</a></h2><p>It's a common belief that English is enough when it comes to targeting consumers in Sweden. <a href="https://www.diva-portal.org/smash/get/diva2:894527/FULLTEXT01.pdf">This makes sense</a>, considering English is mandatory in school and that 90% of the Swedish population speaks the language. However, the reality is that <strong>Swedish is the predominant language in everyday life</strong>, and this includes shopping, browsing online, interactions between friends, and so on. In some countries, you will find English-speaking-only staff in bars and restaurants, but that's the exception in Sweden. </p><p>Now, you might think that social media has changed that, and to a certain extent, it has. Still, even the young Generation Z will prefer Swedish headlines and Swedish copy in apps and on social media. When shopping online or deciding whether to use a service, <strong>choosing solely English will often be a dealbreaker</strong>. If you only offer your services or products in English, most Swedish browsers won't find you online. What's more, they won't trust you as much either. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_374881027.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_374881027.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_374881027.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_374881027.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_374881027.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="safety-and-familiarity-at-the-forefront">Safety and familiarity at the forefront  <a class="markdownit-header-anchor" href="#safety-and-familiarity-at-the-forefront">🔗</a></h3><p>In Swedish culture, there is a need for what's safe and familiar. The Swedish language is familiar to most; therefore, it feels safe. Trust especially becomes an issue when trying to reach middle-aged Swedes, who are frequently online but are much more skeptical when visiting new websites. A 20-year-old probably uses Apple Pay often, but a 50-year-old in Sweden won't give you their credit card information as quickly. And <strong>if your content is only in English, their suspicion will increase</strong>. What's more, if it differs too much from other websites in Sweden and the language isn't appropriate, it will also make people turn away. </p><blockquote>Even if 90% of the Swedish population speaks English, Swedish is the predominant language in everyday life. It's a deal breaker for many: if you only offer your services or products in English, trust will decrease and the majority of Swedish browsers won't find you online</blockquote><p><strong>You should also consider that Sweden is a multicultural society</strong>. Due to immigration, nearly 200 languages are spoken in the country, and people with Swedish as their second language often do not speak English well. Businesses can miss out on a massive part of the population by not localizing their offer from English to Swedish. Offering your services and products in Swedish while being mindful of the culture and dialects in different regions will, therefore, help you make a lasting impression in the Swedish market. </p><h2 id="a-high-tech-eco-conscious-market">🌿📱A high-tech, eco-conscious market <a class="markdownit-header-anchor" href="#a-high-tech-eco-conscious-market">🔗</a></h2><p>The Swedish market is enormous. Sweden is <a href="https://ec.europa.eu/eurostat/databrowser/view/ISOC_EC_IB20__custom_1982796/bookmark/bar?lang=en&amp;bookmarkId=c53a4435-7924-46be-a138-42065d024778">one of the top countries for online shopping</a> and using technology and electronics. Productivity tools, including management services and apps for personal use, are highly popular. There is endless potential for companies to attract Swedish consumers, whether your business is about eco-friendly cleaning products, sustainable fashion, the latest in tech, SaaS, vegan makeup, or business development. All these and many more are a big part of the people's lifestyle and interests. </p><p>This, along with their business sense and advancement in innovation and technology (you probably know of Volvo, Klarna, Skype, and the heart pacemaker), has taken Sweden out of Scandinavia and put it onto the global map. 👀 🌐 <a href="https://tms-outsource.com/blog/posts/tech-companies-in-sweden/#google_vignette">Game-changing services and products</a> like Trustly, iZetto, and Spotify are other tools born in Sweden and loved internationally.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/pexels-indra-kumar-howde-kari-10969440.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/pexels-indra-kumar-howde-kari-10969440.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/pexels-indra-kumar-howde-kari-10969440.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/pexels-indra-kumar-howde-kari-10969440.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/pexels-indra-kumar-howde-kari-10969440.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="saas-is-on-the-rise">SaaS is on the rise <a class="markdownit-header-anchor" href="#saas-is-on-the-rise">🔗</a></h3><p>According to <a href="https://www.statista.com/outlook/tmo/public-cloud/software-as-a-service/sweden">Statista</a>, the SaaS market in Sweden is on the rise and doesn't plan to slow down anytime soon. Revenue is expected to grow annually by 6.52% by 2028. This seems like natural progress, considering the country's highly digital lifestyle and adoption of automation. </p><p>These numbers are extra important for SaaS companies that wish to operate in Sweden. <strong>As many foreign companies already have, now is the time to get in the game.</strong> International companies have the potential to get a lot of value in this booming market and be a part of a significant evolution stage in tech.</p><h3 id="information-technology-a-solid-sector">Information technology: a solid sector <a class="markdownit-header-anchor" href="#information-technology-a-solid-sector">🔗</a></h3><p>The information and communication technology industry is big in Sweden. Its role in Sweden's GDP is among the world's highest. It also makes up for about 20% of the country's exports. <strong>In Stockholm, 1 in 10 people work within the digital technology sector.</strong> This has led many international companies to take their business to Sweden and access not just the Swedish, but also the European market. Examples of this are Amazon, Google, and IBM. Firms in this industry can use this to innovate, research, collaborate, and attract Swedish customers and partners.</p><h3 id="hospitality-and-tourism-continue-to-grow">Hospitality and tourism continue to grow <a class="markdownit-header-anchor" href="#hospitality-and-tourism-continue-to-grow">🔗</a></h3><p>As mentioned before, people in Sweden love traveling. ✈️ This, combined with their five-week paid vacation annually and another five weeks unpaid, allows them to do it frequently. People of all ages enjoy traveling abroad. The young population enjoys longer travels, including spending months or even a year abroad, while the rest also go overseas regularly. <strong>The traveling trend and eagerness among Swedes will continue to rise, and it's an opportunity to take advantage of.</strong> For Swedish people, comfort, high-standard accommodation, and quick and easy journeys are high on the travel priority list. They also want access to modern facilities and to enjoy excellent service. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_172640605.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1331" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_172640605.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_172640605.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_172640605.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_172640605.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="an-economy-that-continues-to-get-stronger">An economy that continues to get stronger <a class="markdownit-header-anchor" href="#an-economy-that-continues-to-get-stronger">🔗</a></h3><p>Sweden's economy continues to be stable, and predictions tell us that it will get stronger in the coming two to three years as inflation goes down and salaries go up. The <a href="https://data.worldbank.org/indicator/NY.GDP.PCAP.CD?locations=SE">GPD per capita</a> is approximately 600 billion USD, which will rise to almost 700 billion USD by 2028. <strong>This is 6.2% higher than the EU's average.</strong> An estimated increase of 2% is expected, and household consumption will increase along with it. </p><p><a href="https://www.prosperity.com/globe/sweden">The standard of living is quite high</a>, placing Sweden as number 12 on the Legatum Prosperity Index list. Besides this, the country's debt is low, contributing to its solid economy. <strong>Some of the things people spend the most on are travel, clothes, health and medicine, and industrial products. </strong>If you want to enter or strengthen your position in the Swedish market, a good localization strategy is critical to stand out, whether that's Swedish software localization, Swedish technical localization, or Swedish website localization.</p><h3 id="online-shopping-behavior-in-sweden">Online shopping behavior in Sweden <a class="markdownit-header-anchor" href="#online-shopping-behavior-in-sweden">🔗</a></h3><p><strong>Did you know that 1 in 3 people in Sweden shop online each week? </strong>Digitalization has taken over rapidly in the last ten years, and most prefer shopping online over physical stores. Even more so than in the United States and Australia. In the European Union, Sweden ranks as <a href="https://ec.europa.eu/eurostat/statistics-explained/index.php?title=E-commerce_statistics_for_individuals#Frequency_of_the_purchases:_Most_often_.27once_or_twice.27_and_.27three_to_five_times.27">one of the countries with the highest share of online shoppers</a> (91%), only surpassed by the Netherlands (93%). The highest online shopping rates <a href="https://www.klarna.com/international/press/svenskar-handlar-mest-pa-natet-stockholmare-och-sorselebor-i-e-handelstoppen-hittills-i-ar/">are in Stockholm</a>, especially in Nykvarn. You'll find Norrbotten in second place, and in third, Uppsala. </p><p>Regarding products, the top choices belong to the 💊 Pharmacy &amp; Medicine and the 👗 Fashion categories, followed by other sectors like:</p><ul><li>📺 Entertainment</li><li>⛷️ Sports &amp; Hobbies</li><li>💄 Health &amp; Beauty</li><li>🔋 Electronics</li><li>🏡 Home &amp; Garden</li></ul><p>Knowing who buys what and where is essential to access the right consumers.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_489016778.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_489016778.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_489016778.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_489016778.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_489016778.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="swedish-localization-top-7-strategies">🦞 Swedish localization: Top 7 strategies <a class="markdownit-header-anchor" href="#swedish-localization-top-7-strategies">🔗</a></h2><p>To succeed in your Swedish localization journey, you need to consider several factors. Let's examine them.</p><h3 id="1-know-who-spends-the-most-online">1. Know who spends the most online <a class="markdownit-header-anchor" href="#1-know-who-spends-the-most-online">🔗</a></h3><p>First, consider where people spend the most money and what they like, then localize accordingly. For example, Stockholm is the Swedish city where the population shops online the most, and accessories and jewelry are popular items. Consider the previous, and identify how Stockholm people behave, their values, and which dialects they speak. Swedish localization specialists do just that, and it's a game-changer.</p><h3 id="2-use-dialects-in-ad-copy">2. Use dialects in ad copy <a class="markdownit-header-anchor" href="#2-use-dialects-in-ad-copy">🔗</a></h3><p>Play with dialects in commercials and in your ads. Commercials have long been used in Sweden to spark laughter and play on the "teasing" between people in different regions and their dialects. Launching a commercial in southern Sweden using a "norrlänning" dialect from the North will attract attention.</p><h3 id="3-target-specific-industries-and-markets">3. Target specific industries and markets <a class="markdownit-header-anchor" href="#3-target-specific-industries-and-markets">🔗</a></h3><p>Even if your business has nothing to do with eco-friendly material, include other benefits that the Swedish will appreciate. ♻️ For example, are your products sustainable, or is there a good story behind your company that speaks of honesty and integrity?</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_566940274.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1125" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_566940274.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_566940274.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_566940274.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_566940274.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-know-the-users-concerns-and-desires">4. Know the users' concerns and desires <a class="markdownit-header-anchor" href="#4-know-the-users-concerns-and-desires">🔗</a></h3><p>Security is one of the biggest deciding factors in online shopping for services and products in Sweden. <strong>People value their privacy</strong>; the young generation cares about the freedom of their data, and the older generation is scared their personal information will be misused. Swedes are also ambitious, want things quickly, and trust companies that genuinely deliver quality.</p><h3 id="5-leverage-ux-and-mt-appropriately">5. Leverage UX and MT appropriately <a class="markdownit-header-anchor" href="#5-leverage-ux-and-mt-appropriately">🔗</a></h3><p>Translation is <a href="https://localazy.com/dictionary/localization">different from localization</a>. If you translate your website or copy word for word and rely solely on machine translation, it won't let you factor in cultural or desire factors. As a result, you won't be able to reach as many customers or create a loyal clientele. When it comes to essential stages like a Swedish product launch, <a href="https://localazy.com/blog/top-9-ux-translation-problems-and-how-to-solve-them">properly localized text and UX</a> will not only make an excellent first impression but will also have the capacity to create real buzz if done well. ✌️Relying on the expertise of professional translators, proofreaders, and UX copy experts is crucial here.</p><h3 id="6-know-when-to-play-with-english-words">6. Know when to play with English words <a class="markdownit-header-anchor" href="#6-know-when-to-play-with-english-words">🔗</a></h3><p>On Swedish websites and in society, you'll find many English words. Some are trending words, while others stay longer. <strong>Knowing when, where, and how to use English words in content is essential</strong> if you want to connect on a personal level. A great example is the word <em>policy, </em>which can but doesn't have to be translated into Swedish texts. Other frequent terms that remain untranslated are <em>community</em>, <em>manager,</em> and job titles.</p><h3 id="7-keep-track-of-new-terminology">7. Keep track of new terminology <a class="markdownit-header-anchor" href="#7-keep-track-of-new-terminology">🔗</a></h3><p>Because Sweden considers language to be of great cultural importance, new words are constantly added and taken away. 📝 The Institute for Language and Folklore (<em>Institutet för Språk och Folkminnen</em>) has <a href="https://www.isof.se/lar-dig-mer/kunskapsbanker/lar-dig-mer-om-nyord/nyordslistan-2023">a list that is frequently updated</a>. Knowing which words to keep and which to toss is helpful to localize content.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/AdobeStock_410975316.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/AdobeStock_410975316.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/AdobeStock_410975316.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/AdobeStock_410975316.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/AdobeStock_410975316.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-to-order-swedish-localization-services">❄️ How to order Swedish localization services <a class="markdownit-header-anchor" href="#how-to-order-swedish-localization-services">🔗</a></h2><p>By now, you might have an idea of why Swedish localization is so important. Many companies <a href="https://localazy.com/blog/mythbusters-we-dont-have-the-budget-for-localization">hesitate to spend money on localization</a> services, especially when first considering English-to-Swedish translation. However, large businesses in various industries like Mews (SaaS company), Apple, Adidas, Momondo, and many more know the importance of localization in gaining loyal customers. B2B is a vast sector that is growing in Sweden, too. Just as you would adjust your copy online depending on whether you're speaking to a business or an individual, you want to do the same with your localization.</p><h3 id="popular-pairs-for-professional-swedish-translation">Popular pairs for professional Swedish translation <a class="markdownit-header-anchor" href="#popular-pairs-for-professional-swedish-translation">🔗</a></h3><ul><li><strong><a href="https://localazy.com/translate/en-sv">EN-SV</a></strong>:<strong> </strong>The most popular pair in translation for international companies that want to tap into the Swedish market and make a strong impression.</li><li><strong><a href="https://localazy.com/translate/sv-en">SV-EN</a></strong>: Swedish companies that want to go global and reach a much wider audience will benefit from Swedish to English localization services.</li><li><a href="da"><strong>SV to DA</strong></a>: Good Swedish to Danish translation is key for Swedish and international companies that want to access the neighboring country high up on the wealth and consumer list.</li><li><strong><a href="https://localazy.com/translate/sv-de">SV to DE</a></strong>. For Swedish and international companies that want to reach the German market, strengthen business partnerships, and increase their customer base.</li><li><strong><a href="https://localazy.com/translate/de-sv">DE to SV</a></strong>. For German companies wanting to enter Sweden's market and reach local consumers.</li><li><a href="https://localazy.com/translate/es-sv"><strong>ES to SV</strong></a>. An important pair for companies operating in Spain that want to attract more Swedish customers, including those in the hospitality and travel industries.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/pexels-efrem-efre-16111605.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/pexels-efrem-efre-16111605.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/pexels-efrem-efre-16111605.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/pexels-efrem-efre-16111605.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/03/pexels-efrem-efre-16111605.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="pricing-in-swedish-localization">Pricing in Swedish localization <a class="markdownit-header-anchor" href="#pricing-in-swedish-localization">🔗</a></h3><p>The price for Swedish localization is increasing, <strong>but it is still relatively low compared to many other countries</strong>. For example, the cost of English to Swedish translation is slightly higher than translation from Spanish to Swedish. This is mainly due to the demand and depends on the country's economy. Spanish companies might spend less on localization than American or Dutch companies because Spain's economic status and salaries are lower. Even with higher pricing, the ROI can be huge, so this type of translation and localization can usually get more expensive.</p><h3 id="why-use-a-native-translation-team">Why use a native translation team <a class="markdownit-header-anchor" href="#why-use-a-native-translation-team">🔗</a></h3><p>Having a native translation team helping you with localization and translation ensures you get the best quality. Not only do native speakers understand the country with its people and culture, but they will also catch mistakes more easily. 🕵️‍♂️ <strong>A native translator can see the pitfalls and will work to increase trust </strong>among potential customers by carefully considering linguistic, grammatical, and structural factors. A native localization team can help your business reach your target audience in different regions, appeal to what drives them, and more easily convert them into loyal customers and valuable partners. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/03/KOBOK-white_in-article--1-.png" class="kg-image" alt loading="lazy" width="2000" height="1188" srcset="https://ghost.localazy.com/content/images/size/w600/2024/03/KOBOK-white_in-article--1-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/03/KOBOK-white_in-article--1-.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/03/KOBOK-white_in-article--1-.png 1600w, https://ghost.localazy.com/content/images/2024/03/KOBOK-white_in-article--1-.png 2000w" sizes="(min-width: 720px) 720px"></figure><h2 id="improved-swedish-l10n-with-localazy">✨ Improved Swedish l10n with Localazy <a class="markdownit-header-anchor" href="#improved-swedish-l10n-with-localazy">🔗</a></h2><p>At Localazy, we go beyond adapting to your needs and attending to your business vision: we provide you with some of the latest and <a href="https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization">most advanced automatization tools</a> and <a href="https://localazy.com/docs/general/continuous-localization-team">a native team</a> to ensure your success. Our localization of Swedish websites, copy, SaaS content, and more will help you stand out in the marketplace and put you right next to the Swedish players in your industry. </p><p>It's quick and easy to use and will bring you results that machine translation alone won't. Instead, we've combined all the essential automation tools and human services for an increased wow effect and top-quality results. 💪 With incredibly well-developed services such as <a href="https://localazy.com/features/continuous-localization-team">CLT</a> and <a href="https://localazy.com/blog/design-localization-with-localazy-figma-plugin">Design Localization</a>, you can be certain that you'll get the best guidance and tools for your needs. If you have any questions about our services, don't hesitate to <a href="https://localazy.com/contact">contact us</a>.</p>]]></content:encoded>
            <author>Simona Rahmanova</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/03/Swedish-Localization-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Automations Series: Delete deprecated keys automatically]]></title>
            <link>https://localazy.com/blog/automated-workflows-series-delete-deprecated-keys-automatically</link>
            <guid isPermaLink="false">automated-workflows-series-delete-deprecated-keys-automatically</guid>
            <pubDate>Wed, 15 Oct 2025 14:39:52 GMT</pubDate>
            <description><![CDATA[Deprecated keys can be helpful, but if you want to delete some of those you won't need anymore, you can set up an Automated Workflow to delete them on each upload. Learn more in this article!]]></description>
            <content:encoded><![CDATA[<p>Before you get into today's topic, read the previous articles in this series to see what you can achieve with Automated Workflows:</p><ul><li><a href="https://localazy.com/blog/automated-workflows-series-translate-content-immediately-after-uploading-with-mt">Translate Content Immediately After Uploading with MT</a></li><li><a href="https://localazy.com/blog/automated-workflows-series-fine-tune-your-ux-copy-before-translating-it">Fine-Tune Your UX Copy Before Translating It</a></li><li><a href="https://localazy.com/blog/automated-workflows-series-prevent-translation-of-unwanted-strings">Prevent Translation of Unwanted Strings</a></li><li><a href="https://localazy.com/blog/automated-workflows-series-deep-dive-into-filters">Apply Any Filters</a></li></ul><h2 id="what-are-deprecated-keys">❓ What are deprecated keys? <a class="markdownit-header-anchor" href="#what-are-deprecated-keys">🔗</a></h2><p>Deprecated keys serve to protect you from accidental, irreversible changes. Even if you remove the keys from your local files, they are still available on Localazy and not lost forever - they can still be used as a source for <a href="https://localazy.com/features/duplicity-linking">duplicity linking</a> or <a href="https://localazy.com/features/connected-projects">connected projects</a>, and all the history, comments, contributions, translators, context information, etc. are preserved.</p><p>However, they also consume a portion of your <a href="https://localazy.com/faq/localazy-accounts/what-are-source-keys">source key limit</a>, so removing them entirely is sometimes useful if you are 100% sure they are no longer needed.</p><h2 id="why-delete-deprecated-keys">🤔 Why delete deprecated keys? <a class="markdownit-header-anchor" href="#why-delete-deprecated-keys">🔗</a></h2><p>In some situations, you don't want the keys to be kept as <a href="https://localazy.com/docs/general/editing-source-language#source-key-states">deprecated</a> when you know that you will never need them again - e.g., when you are going through a migration or project reorganization or hitting the limit and reducing their number.</p><p>Sometimes, you know that some of the keys are no longer needed, so let's look at a simple solution to delete them completely based on defined criteria.</p><p>In this scenario, I'm preparing for a long-time migration of a project available for <a href="https://localazy.com/docs/android/localazy-android-library">Android</a> and <a href="https://localazy.com/docs/ios/installation-and-setup">iOS</a>, and no platform-specific keys should be kept. All keys prefixed with <code>android_</code> are about to be removed. </p><p>I don't really want to deprecate them and later spend time filtering them and removing them from my Localazy project. I want to automate this action. Let's see how to do that simply with <a href="https://localazy.com/docs/general/automated-workflows">Automations</a>.</p><h2 id="setting-up-the-automation">⚙️ Setting up the automation <a class="markdownit-header-anchor" href="#setting-up-the-automation">🔗</a></h2><h3 id="1-create-a-new-automation">1. Create a new automation <a class="markdownit-header-anchor" href="#1-create-a-new-automation">🔗</a></h3><p>To create a new automation, go to the Localazy dashboard on the left and under <strong>Tools</strong>, you'll find <strong>Automations</strong>. Tap on <strong>"+ NEW AUTOMATION"</strong> and that's it (refer to the full <a href="https://localazy.com/docs/general/automations">docs on Automations</a> for help). </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-09.53.37-1.png" class="kg-image" alt loading="lazy" width="2000" height="751" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-09.53.37-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-09.53.37-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-15-at-09.53.37-1.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-15-at-09.53.37-1.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Now you'll see a default template and you can start customizing your automation from there.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-10.00.28.png" class="kg-image" alt loading="lazy" width="2000" height="1420" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-10.00.28.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-10.00.28.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-15-at-10.00.28.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-15-at-10.00.28.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Start by naming the automatin accordingly. In this case, I chose <strong>Delete deprecated keys </strong>so it's descriptive. Next, do the first step of the configuration by choosing the action which in our case is <strong>Delete deprecated keys</strong> and go to the next step. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-10.14.17.png" class="kg-image" alt loading="lazy" width="2000" height="1413" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-10.14.17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-10.14.17.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-15-at-10.14.17.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-15-at-10.14.17.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>In the second step, you will see this checkbox that needs to be checked and provides more clarity on how the automation works. It explicitly states that the automation will be triggered on those keys that have been marked as deprecated during manual upload, CLI or API. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-10.16.53.png" class="kg-image" alt loading="lazy" width="2000" height="1400" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-10.16.53.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-10.16.53.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-15-at-10.16.53.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-15-at-10.16.53.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>In the <strong>Filter Content</strong> option, we can instruct our automation to only run for <code>android_</code><strong> </strong>keys. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-14.26.29.png" class="kg-image" alt loading="lazy" width="2000" height="1029" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-14.26.29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-14.26.29.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-15-at-14.26.29.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-15-at-14.26.29.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>You can read more about filters in our <a href="https://localazy.com/blog/automated-workflows-series-deep-dive-into-filters">previous article</a>.</p><p>Save the automation and verify that it's enabled and ready to roll, and that's it. All is configured! The next time you import translations with deprecated content, they will be automatically detected and deprecated by this automation.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-15-at-14.29.07.png" class="kg-image" alt loading="lazy" width="2000" height="220" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-15-at-14.29.07.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-15-at-14.29.07.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-15-at-14.29.07.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-15-at-14.29.07.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-upload-content-as-usual-with-deprecation-enabled">2. Upload content as usual with deprecation enabled <a class="markdownit-header-anchor" href="#2-upload-content-as-usual-with-deprecation-enabled">🔗</a></h3><p>No matter if you upload your files manually or via <a href="https://localazy.com/docs/cli/the-basics">CLI</a>, be sure to enable the <code>deprecate</code> feature, which you probably already did since you are reading this article 🙂 , and that's it.</p><blockquote>The <code>deprecate</code> feature tells the server to deprecate any key missing in the upload batch. With the value <code>file</code>, only keys missing in touched files are deprecated. With the value <code>project</code>, all keys missing in this upload batch across the whole project are deprecated. With the default value <code>none</code>, nothing is deprecated.</blockquote><p>Whenever there are some deprecated keys, the automation is run and keys that match the filter are automatically deleted. No matter if you spend one day or one month reorganizing your project, you never need to think about cleaning the unused keys.</p><h3 id="3-delete-all-deprecated-keys-automatically">3. Delete all deprecated keys automatically <a class="markdownit-header-anchor" href="#3-delete-all-deprecated-keys-automatically">🔗</a></h3><p>By the way, if you don't want to use deprecated keys at all as you are sure that they are never to be needed again, or if you have any other solution in place (such as a really great backup mechanism that can help you to restore missing information - but please do not forget that it's not about translation only, but also about context information, history, comments, etc.), this automation takes care of them. The automation will take care of any deprecated keys and delete them automatically for you. </p><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>You can set up a lot of different automations that can help you in all kinds of situations. Deleting deprecated keys automatically can help you save time and make space for fresh source keys to translate, but don't forget that deprecated keys can be useful, so decide carefully! </p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/08/localazy-workflows-series-5.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Partner Highlight: No software knowledge? Developartment devs come to the rescue 🧑‍🚀]]></title>
            <link>https://localazy.com/blog/partnership-highlight-developartment</link>
            <guid isPermaLink="false">partnership-highlight-developartment</guid>
            <pubDate>Mon, 26 Feb 2024 07:01:00 GMT</pubDate>
            <description><![CDATA[Custom software is here to stay, and for good reason: it makes life easier for product owners and non-technical teams. Learn how Czech startup Developartment is helping businesses bring their digital visions to life with personalized, localizable solutions that make processes simpler.]]></description>
            <content:encoded><![CDATA[<p>It's a crowded software universe out there. 🪐 From dozens of programming languages, plugins, and automation tools to co-pilot features, low-code frameworks, and the latest leaps in AI, companies might not be able to cope when faced with the difficult decision of enhancing their products with tech. Only in 2024 alone, revenue in this market is projected to reach <a href="https://www.statista.com/outlook/tmo/software/worldwide">nearly $700bn worldwide</a>, with enterprise solutions <a href="https://www.statista.com/statistics/203428/total-enterprise-software-revenue-forecast/">taking the cake</a> of corporate software spending.</p><p>Choosing the right software to deliver tangible business results is, therefore, a crucial decision for new and established companies alike. It's no wonder that custom solutions are on the rise, as they reduce worry and streamline daily processes at the stroke of a developer's touch. 🪄 This is the mission of <a href="https://www.developartment.com"><strong>Developartment</strong></a>, a fully-remote software house led by <strong>Radek Hubner </strong>who is a Czech living in Florida and backed up by a team of experienced software engineers who understand that having the right technology for your business can create a solid competitive advantage.</p><p>In this interview, we discuss all things custom software, innovation, and delivering value through tech with Developartment's CEO, and find out why Localazy is the number #1 solution they recommend to their clients for <a href="https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization">seamless localization automation</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/02/developartment-linkedin-1.png" class="kg-image" alt loading="lazy" width="962" height="577" srcset="https://ghost.localazy.com/content/images/size/w600/2024/02/developartment-linkedin-1.png 600w, https://ghost.localazy.com/content/images/2024/02/developartment-linkedin-1.png 962w" sizes="(min-width: 720px) 720px"></figure><h2 id="helping-digital-companies-thrive">🫱 Helping digital companies thrive <a class="markdownit-header-anchor" href="#helping-digital-companies-thrive">🔗</a></h2><p><strong>Hi, Radek! Happy to have you here. Tell us - what problems does Developartment solve? What is your vision?</strong></p><p>Hi everyone! Well - we’re on a mission to help companies with all their software development needs. So, we build custom software solutions for companies that don't have enough experience or capabilities to do that. </p><p><strong>What type of clients do you serve, and from which industries? How do you help them?</strong></p><p>From super small startups with a focus on growth to international corporations. 📈 We know how to build web and mobile apps, so we focus on that. We mostly work in the logistics, finance, and engineering industries.</p><p><strong>I'm curious to know - when a client comes to Developartment asking for help to build a secure web application, what is the first thing you ask them? What does the process usually look like?</strong></p><p>First of all, we wonder why because sometimes we end up figuring out they don’t need that solution. 🤔 If they need it, then we look at their business. We love it when needs are driven by business.</p><p><strong>Is there any misconception clients come in with in regards to the process of software building? And a common problem they face? (scalability, need for cloud solutions, integration with Web 3.0 tools…)</strong></p><p>Yeah, for sure! Some trends are requested very often, even when it doesn't make any sense to implement them. Last year was AI. I mean, AI is amazing: we use it every single day, but <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">that doesn't mean everything needs to be powered by AI</a>. It's certainly not the most efficient solution for every need.</p><p><strong>Any particular project that represented a challenge for you and your team that you’re particularly proud of?</strong></p><p>I’d love to answer this question, but I can’t because of NDAs. 😬 However, I can say that we’ve built amazing automation software for international companies that saves them a lot of time and costs.</p><p><strong>By the way, what does your team look like, and what is your work philosophy? Have you adopted remote practices or prefer to code together on-site?</strong></p><p>We are a fully remote company with exactly zero offices. We have team members in two different time zones. Thanks to GitHub, YouTrack, and Slack, we do not need to work on-site. ✌️</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/02/AdobeStock_82642384.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/02/AdobeStock_82642384.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/02/AdobeStock_82642384.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/02/AdobeStock_82642384.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/02/AdobeStock_82642384.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="fail-fast-try-again">💪 Fail fast, try again <a class="markdownit-header-anchor" href="#fail-fast-try-again">🔗</a></h2><p><strong>So, Radek, how did you get started with software development?</strong></p><p>I started with software engineering when I was about 12 years old. I was curious about how software works and how it is built, and I was lucky to get my first software development-related revenue when I was in high school. After a few years, I moved to the US. Developartment was (and is) self-funded by me.</p><p><strong>What was your motivation to kick off your entrepreneurial career?</strong></p><p>I had always wanted to launch something I had built myself and deal with the risks that lead to the benefit. I figured out that I needed to put my energy into something, and business was it.</p><p><strong>“Failure is not an option” is one of the mottos of the company. How do you personally identify with that?</strong></p><p>Maybe much more than what people usually think. Failures happen; it is what it is. However, I tend not to worry about failing and having issues. I prefer to look straight ahead and have my vision as a guide. So I'm not stuck on decisions about what to do and when to do it. I just do what I think I should do.</p><p><strong>What is the “fail fast” philosophy all about, and how does it apply to your product’s mission?</strong></p><p>It’s pretty hard for corporations to fail fast sometimes, but it’s pretty common in startups. I love it, but I had to learn it along the way. Turning off some projects or products is definitely difficult because when you are building something, you usually love not just the vision but also the building process.</p><p><strong>What does success look like for your company? </strong></p><p>From my perspective, I’m super happy when all team members are happy and love what we do, as well as when we help our customers, and they can benefit from our collaboration. 😌</p><p><strong>If you could start again with Developartment, what would you do differently from today’s perspective?</strong></p><p>I’d find more sales partners that could help us to grow faster. And I wouldn't focus solely on revenue.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/02/AdobeStock_309698511.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/02/AdobeStock_309698511.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/02/AdobeStock_309698511.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/02/AdobeStock_309698511.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/02/AdobeStock_309698511.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-growing-need-for-custom-solutions">📏 The growing need for custom solutions <a class="markdownit-header-anchor" href="#the-growing-need-for-custom-solutions">🔗</a></h2><p><strong>Custom software solutions have been <a href="https://finance.yahoo.com/news/global-custom-software-development-market-145300127.html">increasingly in demand</a> over the last few years, and it doesn’t seem like this trend is going to stop anytime soon. In this highly competitive market, how are you innovating?</strong></p><p>We invest in our people and our solutions. In software development, it’s usually the team who comes up with excellent ideas and solutions, so it makes sense. </p><p><strong>What’s the most difficult challenge your industry is currently facing? And - how are you currently dealing with the advent of AI and automation tools?</strong></p><p>A lot of amazing tools come up literally every week. It’s time-consuming to be sure, but we still keep track of all the trends that are stable and make sense from a long-term perspective.</p><p>Regarding AI, we like <a href="https://www.jetbrains.com/help/idea/ai-assistant.html">JetBrainsAI</a> and <a href="https://github.com/features/copilot">GitHub Copilot</a>, but we've been using automation tools for a pretty long time, too. We started with some tools for vulnerability scanning, dependency updates, etc. We do not intend to replace real people with artificial intelligence: it's just a tool for them to focus on much more complex tasks. We essentially want to give them the power to delegate on AI whenever they can.</p><blockquote>"We've been using automation tools for a pretty long time, but we don't intend to replace real people with AI: it's just a tool for them to focus on much more complex tasks"</blockquote><p><strong>As attacks become more sophisticated, <a href="https://research.g2.com/insights/security-trends-2024">cybersecurity concerns</a> are rising among businesses. How do you tackle these threats?</strong></p><p>It’s our daily bread. We have to be sure we do our best, and we also use automation tools that help us with it.</p><p><strong>Has the <a href="https://www.techtarget.com/searchsoftwarequality/definition/low-code-no-code-development-platform">low-code and no-code philosophy</a>, as well as the implementation of co-pilot features for coding, made your job easier?</strong></p><p>To be honest, not so much. It’s great for tasks like prototyping but not really useful for our core business. It’s usually vendor-locked, and we do not like that policy.</p><p><strong>It’s a long shot, but let’s imagine - how do you think the custom software industry will look in a decade?</strong></p><p>Data scientists will be one of the most important positions in the engineering team. 🧑‍💻📊 When you have enough data (and you understand it), you can build an excellent AI/ML model. Engineers with deep knowledge of specific industries will be the leaders, and this change is already taking place. Engineers can almost be everyone, but when you know the industry well, you think differently about every challenge.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/02/AdobeStock_621951331.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1125" srcset="https://ghost.localazy.com/content/images/size/w600/2024/02/AdobeStock_621951331.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/02/AdobeStock_621951331.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/02/AdobeStock_621951331.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/02/AdobeStock_621951331.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="choosing-a-localization-provider">👀 Choosing a localization provider <a class="markdownit-header-anchor" href="#choosing-a-localization-provider">🔗</a></h2><p><strong>Developartment was one of our first partners. We’re thrilled that you chose us as your preferred localization solution provider - how was the process, and why did you opt for Localazy?</strong></p><p>We appreciate that! I found Localazy on the Internet about four years ago. We were building a huge mobile app for the whole European continent back then. After a few weeks, I realized that I knew one of Localazy's engineers, so we chatted a bit with the team. I'm saying this because I had the chance to know not only the excellent product but also the team who built it! ☺️ I'm grateful for that experience. </p><p>Today, we use all the automation processes we can. We also rely on translations that can be <a href="https://localazy.com/docs/general/continuous-localization-team">done by native speakers</a> within a few days. I'm glad that we do not have to import/export CSVs manually anymore!</p><p><strong>What are the most common l10n and internationalization concerns among your clientele?</strong></p><p>Essentially, it's so much work for them. They perceive that it's <a href="https://localazy.com/blog/mythbusters-we-dont-have-the-budget-for-localization">expensive to translate</a> and to implement localization. However, now it's not, thanks to Localazy.</p><p><strong>Has localization demand among your users increased over time?</strong></p><p>Yes, absolutely. A lot of people want to sell globally or just address more people in specific target countries. For instance, we've automated translations via Localazy for the mobile app of an international banking group and also applied them to smaller projects that involve a lot of languages. And it works great.</p><blockquote>"We've automated translations for the mobile app of an international banking group via Localazy, and also applied them to smaller projects that involve a lot of languages. It works great"</blockquote><p><strong>Any languages or markets that stand out when it comes to localization?</strong></p><p>Well, any country with RTL text orientation. Germany is also pretty challenging from the UX perspective <a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go">since their words are never-ending</a>. 😅</p><p><strong>As a developer, what is your favorite Localazy feature?</strong></p><p>It’s definitely the CLI. Thanks to that, <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow">we can automate everything</a>.</p><p><strong>And- are you partial to any programming language, and why?</strong></p><p>My favorites are Swift and Kotlin. I can obviously code, but at this time, I’m more of a manager than an engineer. I think it’s more important to know algorithms well and think about engineering than just focusing on one specific language. </p><p><strong>Why do you think localization is important?</strong></p><p>Two main points: 📲 user experience + 🌍 more markets. When you localize your product, <a href="https://localazy.com/blog/enter-new-markets-with-quality-localization">you can have more clients</a>. And that’s usually why you build your product - to get users to love it.</p><p><strong>Apart from Localazy, would you like to highlight some services or products you love to use on your own?</strong></p><p>I love simple products that just work and have a nice design, and that’s why I use Apple.</p><p><strong>What does the future look like for Developartment? Any future projects you can tease?</strong></p><p>There is one plan in place, but we’ll tell you about it sometime later. 😉</p><p><strong>Well, the future seems to be looking bright for Developartment - and we're glad to join them in their journey. If you have a project in need of custom software solutions, <a href="https://www.developartment.com/case-studies">check out</a> their services and success stories. Seamless integration with Localazy is guaranteed.</strong></p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/02/Localazy-Interview-Developartment.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Automated Localization: Bitbucket Pipelines ❤ Localazy]]></title>
            <link>https://localazy.com/blog/automated-localization-bitbucket-pipelines-localazy</link>
            <guid isPermaLink="false">automated-localization-bitbucket-pipelines-localazy</guid>
            <pubDate>Fri, 28 Mar 2025 15:27:30 GMT</pubDate>
            <description><![CDATA[The most efficient way to localize an app is to use automation. In this article, we will look at how to automatically localize an app using Bitbucket Pipelines and Localazy.]]></description>
            <content:encoded><![CDATA[<h2 id="why-automate-localization-with-cicd">❓Why automate localization with CI/CD? <a class="markdownit-header-anchor" href="#why-automate-localization-with-cicd">🔗</a></h2><p>Localization can be challenging on its own and having to regularly download the latest localization files can be tedious and error-prone.</p><p>When using <a href="https://bitbucket.org/product/features/pipelines">Bitbucket Pipelines</a>, you'll only need to integrate Localazy once. Afterward, you can peacefully take this off your mind.</p><h2 id="requirements">📌 Requirements <a class="markdownit-header-anchor" href="#requirements">🔗</a></h2><h3 id="setup-localazy-cli">Setup Localazy CLI <a class="markdownit-header-anchor" href="#setup-localazy-cli">🔗</a></h3><p>To automate uploading source keys and downloading translations, you need to install <a href="https://localazy.com/docs/cli/installation">Localazy CLI</a> and create a <a href="https://localazy.com/docs/cli/the-basics#the-first-configuration-script">configuration file</a> in your project root.</p><p>To authorize Localazy CLI for uploading and downloading, you have to provide the <code>writeKey</code> and <code>readKey</code> of your Localazy project.</p><p>Select the project from your <a href="https://localazy.com/my/dashboard">Dashboard</a>, go to <strong><strong>Project settings &gt; Access keys,</strong></strong> and copy the <code>writeKey</code> and <code>readKey</code> to your <code>localazy.json</code> configuration file.</p><!--kg-card-begin: markdown--><p><img src="https://localazy.com/directus9/assets/f429a9d3-eb1b-443d-8a02-a768ec305d5a" alt="Localazy Access Keys" loading="lazy"></p>
<!--kg-card-end: markdown--><p>If you cannot store project keys in the repository, you can delete <code>writeKey</code> and <code>readKey</code> from <code>localazy.json</code> and provide them as <a href="https://localazy.com/docs/cli/authorization#keys-provided-on-command-line">CLI arguments</a>.</p><p>Commit <code>localazy.json</code> to your repository.</p><!--kg-card-begin: markdown--><pre><code class="language-json">{
  &quot;upload&quot;: {
    &quot;type&quot;: &quot;json&quot;,
    &quot;files&quot;: &quot;locales/en.json&quot;
  },
  &quot;download&quot;: {
    &quot;files&quot;: &quot;locales/${lang}.json&quot;
  }
}
</code></pre>
<!--kg-card-end: markdown--><h3 id="localazy-cli-resources">Localazy CLI resources <a class="markdownit-header-anchor" href="#localazy-cli-resources">🔗</a></h3><ul><li><a href="https://localazy.com/docs/cli/the-basics">Documentation</a></li><li><a href="https://localazy.com/docs/cli/authorization">Authorization</a></li><li><a href="https://www.npmjs.com/package/@localazy/cli">Npm package</a> <code>@localazy/cli</code></li><li><a href="https://hub.docker.com/r/localazy/cli">Docker image</a> <code>localazy/cli</code></li><li>or a native app for <a href="https://localazy.com/docs/cli/installation">all major platforms</a></li></ul><h3 id="setup-bitbucket-pipeline-variables">Setup Bitbucket pipeline variables <a class="markdownit-header-anchor" href="#setup-bitbucket-pipeline-variables">🔗</a></h3><p>You only need this step if you do not have <code>writeKey</code> and <code>readKey</code> stored in the <code>localazy.json</code> configuration file.</p><p>In your Bitbucket repository, go to <strong><strong>Repository Settings &gt; Pipelines &gt; Repository variables</strong></strong> and add <code>LOCALAZY_WRITE_KEY</code> and <code>LOCALAZY_READ_KEY</code> variables.</p><!--kg-card-begin: markdown--><p><img src="https://localazy.com/directus9/assets/baea9d7d-c823-4b82-9442-a2f655f360da" alt="Bitbucket Pipeline Variables" loading="lazy"></p>
<!--kg-card-end: markdown--><h2 id="sample-development-workflow">👶 Sample development workflow <a class="markdownit-header-anchor" href="#sample-development-workflow">🔗</a></h2><p>To demonstrate the configuration of Bitbucket Pipelines, we will use a sample development workflow, which consists of the following steps:</p><!--kg-card-begin: markdown--><ul>
<li>✨ features are created in feature branches and merged into the <code>develop</code> branch</li>
<li>🛠️ CI/CD: push to the <code>develop</code> branch
<ul>
<li>build and deploy to the development server</li>
</ul>
</li>
<li>🚀 CI/CD: push to the <code>main</code> branch
<ul>
<li>build and deploy to the production server</li>
</ul>
</li>
</ul>
<!--kg-card-end: markdown--><p>It is likely that your team uses a more <strong>complex development workflow</strong>, or you have a <strong>different branching model</strong>, but the demonstrated principles are universal, and it is easy to integrate them into any development workflow.</p><h2 id="how-to-upload-source-keys">📤 How to upload source keys? <a class="markdownit-header-anchor" href="#how-to-upload-source-keys">🔗</a></h2><p>You should upload your source keys after pushing changes into the first <strong><strong>common</strong></strong> branch:</p><!--kg-card-begin: markdown--><ul>
<li>✨ features are created in feature branches and merged into the <code>develop</code> branch</li>
<li>🛠️ CI/CD: push to the <code>develop</code> branch
<ul>
<li><strong>automatically upload source keys to Localazy</strong></li>
<li>build and deploy to the development server</li>
</ul>
</li>
<li>🚀 CI/CD: push to the <code>main</code> branch
<ul>
<li>build and deploy to the production server</li>
</ul>
</li>
</ul>
<!--kg-card-end: markdown--><p>Add the following step to your <code>bitbucket-pipelines.yml</code> and <strong>adjust it</strong> according to your development workflow. The step is triggered when a commit containing changes in source keys is pushed to the <code>develop</code> branch.</p><!--kg-card-begin: markdown--><pre><code class="language-yml">image: atlassian/default-image:4

pipelines:
  branches:
    develop:
      - step:
          name: Upload source keys to Localazy
          condition:
            changesets:
              includePaths:
                # Update the path according to your project structure
                - 'locales/en.json'
          script:
            - npm install @localazy/cli -g
            # Remove -w -r arguments if your keys are stored in the repository
            - localazy upload -w $LOCALAZY_WRITE_KEY -r $LOCALAZY_READ_KEY
</code></pre>
<!--kg-card-end: markdown--><h3 id="uploading-from-feature-branches">Uploading from feature branches <a class="markdownit-header-anchor" href="#uploading-from-feature-branches">🔗</a></h3><p>If your development workflow requires uploading translations from feature branches, you must configure branching in Localazy CLI. This is an advanced feature, and each team integrates it into their development workflow in a different way. We recommend that you finish this guide and then read about the <a href="https://localazy.com/docs/cli/branching">branching options</a> of the Localazy CLI.</p><blockquote>If you are not sure how to properly configure branching in Localazy CLI, you can contact our support or <a href="/book-demo">book a consultation</a> with one of our software engineers.</blockquote><h2 id="should-i-store-translations-in-the-repository">😏 Should I store translations in the repository? <a class="markdownit-header-anchor" href="#should-i-store-translations-in-the-repository">🔗</a></h2><p>The decision whether to store translations in the repository depends on the needs of your technology stack. In most cases, it is more advantageous to ignore files with translations in <code>.gitignore</code> and download them before building the application using Localazy CLI.</p><h3 id="download-translations-before-build">Download translations before build <a class="markdownit-header-anchor" href="#download-translations-before-build">🔗</a></h3><p>In the following development workflow, your developers have the latest translations continuously available during the application development without the need to merge them manually, and your translators have time to translate before the application is released.</p><!--kg-card-begin: markdown--><ul>
<li>✨ Features are created in feature branches and merged into the <code>develop</code> branch
<ul>
<li><strong>automatically download translations from Localazy</strong></li>
</ul>
</li>
<li>🛠️ CI/CD: push to the <code>develop</code> branch
<ul>
<li>automatically upload source keys to Localazy</li>
<li><strong>automatically download translations from Localazy</strong></li>
<li>build and deploy to the development server</li>
</ul>
</li>
<li>🚀 CI/CD: push to the <code>main</code> branch
<ul>
<li><strong>automatically download translations from Localazy</strong></li>
<li>build and deploy to the production server</li>
</ul>
</li>
</ul>
<!--kg-card-end: markdown--><p>Before your build command, call <code>localazy download</code> and download all translations using <a href="https://localazy.com/docs/cli/the-basics">Localazy CLI</a>. This solution is universal for all languages and frameworks.</p><h2 id="how-to-download-and-update-translations">📥 How to download and update translations? <a class="markdownit-header-anchor" href="#how-to-download-and-update-translations">🔗</a></h2><p>If you need to have translations stored in the repository, you must update them regularly. Translations can be updated by a semi-automatic CI trigger or automatically once they are published with <a href="https://localazy.com/docs/general/webhooks">Localazy Webhooks</a>.</p><h3 id="download-translations-after-the-ci-trigger">Download translations after the CI trigger <a class="markdownit-header-anchor" href="#download-translations-after-the-ci-trigger">🔗</a></h3><p>In the following workflow, translations are automatically downloaded and committed to the repository after each push to the <code>develop</code> branch. Your developers must merge new translations into existing feature branches, and your translators must inform you when the translation is complete so you can merge the translations into the <code>develop</code> branch.</p><!--kg-card-begin: markdown--><ul>
<li>✨ features are created in feature branches and merged into the <code>develop</code> branch
<ul>
<li><strong>manually merge new translations from <code>develop</code></strong></li>
</ul>
</li>
<li>🛠️ CI/CD: push to the <code>develop</code> branch
<ul>
<li>automatically upload source keys to Localazy</li>
<li><strong>automatically download translations from Localazy</strong></li>
<li><strong>commit translations if files changed</strong></li>
<li>build and deploy to the development server</li>
</ul>
</li>
<li>🚀 CI/CD: push to the <code>main</code> branch
<ul>
<li>build and deploy to the production server</li>
</ul>
</li>
</ul>
<!--kg-card-end: markdown--><p>Add the following step to your <code>bitbucket-pipelines.yml</code> and <strong>adjust it</strong> according to your development workflow.</p><!--kg-card-begin: markdown--><pre><code class="language-yml">image: atlassian/default-image:4

pipelines:
  branches:
    develop:
      - step:
          name: Download translations from Localazy and commit changes
          script:
            - npm install @localazy/cli -g
            # Remove -r argument if your key is stored in the repository
            - localazy download -r $LOCALAZY_READ_KEY
            - git add .
            - git commit -m &quot;[skip ci] New translations from Localazy&quot; || true
            - git push
</code></pre>
<!--kg-card-end: markdown--><h3 id="download-translations-after-they-are-published">Download translations after they are published <a class="markdownit-header-anchor" href="#download-translations-after-they-are-published">🔗</a></h3><p>All changes in translations are <strong>automatically published</strong> within five minutes of the last change made. Using a webhook, you can propagate this event to your CI/CD. If we use the workflow from the previous step, the pipeline for the <code>develop</code> branch would automatically start after the translations are published.</p><p>You need to create a <strong>publicly accessible</strong> endpoint that will serve as an intermediary between the <a href="https://localazy.com/docs/general/webhooks">Localazy webhook</a> and Bitbucket Pipelines.</p><p>The Localazy webhook will send a <code>POST</code> request to the endpoint, and the endpoint will start the pipeline for the branch via the Bitbucket API. An example of endpoint implementation is available in the <a href="https://github.com/localazy/bitbucket-pipelines-sample/tree/main/webhook-example#readme">sample repository</a>.</p><h2 id="sample-repository">🍰 Sample repository <a class="markdownit-header-anchor" href="#sample-repository">🔗</a></h2><p>The accompanying repository is <a href="https://github.com/localazy/bitbucket-pipelines-sample#readme">available on GitHub</a>. It contains a sample development workflow from this article and an example webhook endpoint.</p><!--kg-card-begin: markdown--><p><img src="https://localazy.com/directus9/assets/9d652fc4-37f4-46a4-8f54-34df2b5f1b40" alt="Bitbucket pipelines" loading="lazy"></p>
<!--kg-card-end: markdown--><h2 id="conclusion">🏆 Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>By now, you should have an idea of what the options are for integrating automatic localization into your development workflow. The examples given are only demonstrative, and it is very likely that you will adapt them according to the needs of your team, but they serve as a good foundation on which to build.</p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/02/technical-article-bitbucket-pipelines--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[21 must-know design tools and frameworks for building unforgettable digital products]]></title>
            <link>https://localazy.com/blog/21-must-know-design-tools-and-frameworks-for-unforgettable-digital-products</link>
            <guid isPermaLink="false">21-must-know-design-tools-and-frameworks-for-unforgettable-digital-products</guid>
            <pubDate>Tue, 30 Jul 2024 12:21:57 GMT</pubDate>
            <description><![CDATA[Design tools for digital product-making are constantly popping up, making it difficult to find the best fit for your workflow. We're making your job easier with a selection of our top tools and frameworks.]]></description>
            <content:encoded><![CDATA[<p>Whether you're an indie hacker or a digital product maker with a well-established team, finding design tools that make your work (and life) easier is always a win-win.</p><p>In this listicle, we've compiled:</p><ul><li><strong>Fourteen of the most efficient tools</strong> to help you (and your team) establish better workflows and build digital products that your users will love.</li><li><strong>7 powerful frameworks</strong> to approach the design of a winning digital brand. </li></ul><p>We've brought popular and rare tools you've never heard of. After exploring them, we'll look at design frameworks and design thinking processes that will help you design better products. Let's go.</p><h2 id="lessstronggreater-lessstronggreater14-design-tools-to-use-in-your-workflows"><strong>🛠️ </strong>14 design tools to use in your workflows <a class="markdownit-header-anchor" href="#lessstronggreater-lessstronggreater14-design-tools-to-use-in-your-workflows">🔗</a></h2><h3 id="1-figma">1. Figma <a class="markdownit-header-anchor" href="#1-figma">🔗</a></h3><p>You want to move the needle. To develop a product that is different from anything others have created. If your design work expands beyond social media posts, we strongly recommend you factor <a href="https://www.figma.com/">Figma</a> into your workflow. The powerful collaborative tool used by teams at Spotify, Puma, and Netflix needs no introduction.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/Figma.png" class="kg-image" alt loading="lazy" width="1871" height="887" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Figma.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Figma.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/Figma.png 1600w, https://ghost.localazy.com/content/images/2023/12/Figma.png 1871w" sizes="(min-width: 720px) 720px"></figure><p>An all-in-one design platform, <strong>Figma serves well for designing everything, from landing pages to entire websites and apps</strong>. Every team member, from designers to writers and developers, can use Figma to create digital products, brainstorm changes, and work together toward a final version, <a href="https://localazy.com/blog/figma-series-connect-designs-and-source-keys-via-screenshots">including localized ones</a>.</p><p>Figma has grown rapidly as a platform because it has invested in community-building. Through its community feature and a vast amount of resources, templates, and especially <a href="https://www.figma.com/community/plugins">Figma plugins</a>, the platform goes beyond being just a design tool. Thanks to the community feature, you can follow other designers and use their work for inspiration. It's now a platform no digital product maker wants to skip.</p><p><em><strong>Related:</strong> </em><a href="https://localazy.com/blog/6-super-useful-figma-plugins-product-designers-localazy"><em>6 Super-useful Figma plugins for product designers</em></a></p><h3 id="2-canva">2. Canva <a class="markdownit-header-anchor" href="#2-canva">🔗</a></h3><p>Do you need to make a few Instagram posts or design a promotional video for your products? You can do all this and more without having to hire a designer (yet). Everyone with minimal computer skills can find their way around <a href="https://www.canva.com/">Canva</a> to produce simple designs, presentations, and videos. The platform couldn't escape <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">the AI wave</a> either, so they've implemented some cool features like Magic Write™ and Magic Design ™.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/Canva.png" class="kg-image" alt loading="lazy" width="1768" height="838" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Canva.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Canva.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/Canva.png 1600w, https://ghost.localazy.com/content/images/2023/12/Canva.png 1768w" sizes="(min-width: 720px) 720px"></figure><p>And you can do so much with the <a href="https://www.canva.com/pricing/">free plan alone</a>. You can work with over 240k templates to produce designs across 100 types and keep up to 5GB of materials on your account. ✌️ The best part? There are no annoying watermarks, as in most free apps you'll find out there, and you can even share your designs and work on them with other team members simultaneously.</p><h3 id="3-webflow">3. Webflow <a class="markdownit-header-anchor" href="#3-webflow">🔗</a></h3><p>The <a href="https://www.techtarget.com/searchsoftwarequality/definition/no-code">no-code</a> movement is quickly increasing, especially with the advent of AI. And <a href="https://webflow.com">Webflow</a> is at the helm of it when it comes to web development. Touted as a no-code web builder, Webflow allows you to build websites fast by choosing from their collection of 100 templates or creating your own from scratch. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/Webflow.png" class="kg-image" alt loading="lazy" width="1683" height="893" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Webflow.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Webflow.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/Webflow.png 1600w, https://ghost.localazy.com/content/images/2023/12/Webflow.png 1683w" sizes="(min-width: 720px) 720px"></figure><p>It has never been easier to validate your business ideas with tools like Webflow that allow you to set up a website in under a few hours. When setting up a website the old-fashioned way, you must choose a <a href="https://localazy.com/blog/top-10-multilingual-content-management-systems">Content Management System (CMS)</a> and a hosting provider. However, Webflow also assists you with these through the Webflow CMS and <a href="https://webflow.com/hosting">hosting</a> powered by Amazon Web Services and Fastly.</p><h3 id="4-blush">4. Blush <a class="markdownit-header-anchor" href="#4-blush">🔗</a></h3><p>Want to give your digital product assets an unmistakable style? Then, you must look into using illustrations and characters. Now, they're challenging to produce and expensive to outsource. But this unique plugin, <a href="https://blush.design/">Blush</a>, can help you include excellent illustrations in your projects.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/Blush.png" class="kg-image" alt loading="lazy" width="1825" height="873" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Blush.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Blush.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/Blush.png 1600w, https://ghost.localazy.com/content/images/2023/12/Blush.png 1825w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://blush.design/"><em>Blush</em></a></figcaption></figure><p><a href="https://www.sketch.com/blog/blush-sketch-plugin/">Created by Pablo Stanley</a>, Blush is home to thousands of illustrators worldwide who make collections of doodles and illustrations that you can easily incorporate into your Figma or Sketch projects. The plugin works well with these two platforms, but you can also download files to use them in other apps.</p><h3 id="5-blocs">5. Blocs <a class="markdownit-header-anchor" href="#5-blocs">🔗</a></h3><p><a href="https://blocsapp.com">Blocs</a> is one of the few apps created by Norm and Helen Sheeran. They focus particularly on Mac, making it a very easy-to-use app for Apple devices. With Blocs, you can build websites for Mac without code by following a relatively simple process.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/Blocs.png" class="kg-image" alt loading="lazy" width="1364" height="889" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Blocs.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Blocs.png 1000w, https://ghost.localazy.com/content/images/2023/12/Blocs.png 1364w" sizes="(min-width: 720px) 720px"></figure><p>Even though not quite popular, the website builder has a full suite of resources to help you master the platform and build exceptional sites. It comes with a Learning Portal, a community forum, and its <a href="https://help.blocsapp.com/knowledge-base/developer-api-introduction/">developer API</a>, allowing developers to create custom add-ons to use on their projects and share with the community.</p><h3 id="6-framer">6. Framer <a class="markdownit-header-anchor" href="#6-framer">🔗</a></h3><p>Tools like Webflow that are advertised as no-code tools require minimal coding knowledge. But if you want <strong>a tool that helps you design and launch simple websites in a few hours</strong>, you should consider <a href="https://www.framer.com">Framer</a>. Framer is built on the React framework and connects easily with Figma. 🔗 You can import your Figma files to Framer and have a website ready to publish in no time.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/Framer.png" class="kg-image" alt loading="lazy" width="1550" height="903" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Framer.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Framer.png 1000w, https://ghost.localazy.com/content/images/2023/12/Framer.png 1550w" sizes="(min-width: 720px) 720px"></figure><p>However, Framer is used mainly for small websites with a few pages and landing pages. You can even design simple websites using their AI feature, which has received much attention. Another great feature of Framer is their <a href="https://chromewebstore.google.com/detail/html-to-framer/haijifigpgpndcnbbjooffflaceedhdp">HTML to Framer Chrome extension</a>, which allows you to copy HTML code, paste it to Framer, and customize it as you wish.</p><h3 id="7-adobe-illustrator">7. Adobe Illustrator <a class="markdownit-header-anchor" href="#7-adobe-illustrator">🔗</a></h3><p>If you want to go full pro with your digital designs, the Adobe Suite is your premium version. And this is true regarding the work produced with it and pricing. The subscription you need to pay for using it is considerably high. However, it is worth it when you consider the options it offers to produce high-quality designs.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/Illustrator.png" class="kg-image" alt loading="lazy" width="1667" height="862" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Illustrator.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Illustrator.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/Illustrator.png 1600w, https://ghost.localazy.com/content/images/2023/12/Illustrator.png 1667w" sizes="(min-width: 720px) 720px"></figure><p>Whether you want to design logos, infographics, social media posts, website graphics, or promotional materials, <a href="https://www.adobe.com/products/illustrator.html">Adobe Illustrator</a> is the ideal tool for them. The secret to the high-quality designs stands in the <a href="https://www.adobe.com/creativecloud/illustration/discover/vector-art.html">vector-based software</a> it uses. Vector-based images and graphics, unlike pixel-based ones, don't lose their quality no matter how much you stretch or zoom them.</p><h3 id="8-adobe-after-effects">8. Adobe After Effects <a class="markdownit-header-anchor" href="#8-adobe-after-effects">🔗</a></h3><p>When asked about <a href="https://www.adobe.com/products/aftereffects.html">After Effects</a>, <a href="https://localazy.com/blog/author/ondrej-pucek">our Art Director</a>, Ondra, said, <em>"...this is almost the main reason why I still pay for Adobe. AE is their best tool, with many plugins and integrations with other pieces of software."</em> 📹 As a digital product maker, you can produce promotional videos for your products with advanced animations, visual effects, VFX, and motion graphics. The software offers a multitude of unmatched features for design.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/After-Effects.png" class="kg-image" alt loading="lazy" width="1730" height="864" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/After-Effects.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/After-Effects.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/After-Effects.png 1600w, https://ghost.localazy.com/content/images/2023/12/After-Effects.png 1730w" sizes="(min-width: 720px) 720px"></figure><p>While Adobe Effects helps you produce advanced animations with precision, it has endless features that come with a steep learning curve. <strong>You'll feel lost unless you invest a substantial amount of time into learning to navigate it</strong>. Unlike tools like Canva, AE is created with professional video editors in mind. However, once you learn how to navigate it, you can turn every imaginable idea into a visual masterpiece.</p><h3 id="9-adobe-photoshop">9. Adobe Photoshop <a class="markdownit-header-anchor" href="#9-adobe-photoshop">🔗</a></h3><p>Thirty years ago, Adobe started a revolution in digital image manipulation with <a href="https://www.adobe.com/products/photoshop.html">Photoshop</a>. Since then, it has remained at the helm of it. Photoshop-produced designs remain synonymous with professional designs. Even though one needs to spend one's fair share of time learning its features, there are millions of tutorials out there to guide you. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/Adobe-Photoshop.png" class="kg-image" alt loading="lazy" width="1738" height="861" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Adobe-Photoshop.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Adobe-Photoshop.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/Adobe-Photoshop.png 1600w, https://ghost.localazy.com/content/images/2023/12/Adobe-Photoshop.png 1738w" sizes="(min-width: 720px) 720px"></figure><p>You're probably left wondering what makes Photoshop different from Illustrator. Both apps are used for designing, right? Well, not quite. Illustrator is a vector-based software that helps you create scalable graphics, while Photoshop is a raster-based software used mainly to work with images and pixel-based graphics. It's perfect for editing photos to make them hyper-realistic, add shading effects, or animate them. And now, with <a href="https://venturebeat.com/ai/adobe-publicly-launches-ai-tools-firefly-generative-fill-in-creative-cloud-overhaul/">the integration of Generative AI across Adobe apps</a>, <strong>you don't need to have much graphic design skills to create exceptional design work</strong>. With a few prompts, you'll design whatever you can imagine.</p><h3 id="10-adobe-indesign">10. Adobe Indesign <a class="markdownit-header-anchor" href="#10-adobe-indesign">🔗</a></h3><p><a href="https://www.adobe.com/products/indesign.html">InDesign</a> provides professional typesetting and design capabilities such as advanced typography, vector graphics, image placement, and page layout tools. It is commonly used to design and produce digital and print materials like brochures, flyers, books, magazines, newspapers, presentations, websites, and more.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/InDesign-.png" class="kg-image" alt loading="lazy" width="1733" height="873" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/InDesign-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/InDesign-.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/InDesign-.png 1600w, https://ghost.localazy.com/content/images/2023/12/InDesign-.png 1733w" sizes="(min-width: 720px) 720px"></figure><p>As a digital product maker, you can design websites and other assets in InDesign. For example, you can use it to create tutorials, white papers, e-books, infographics, product brochures, certificates, posters, banners, interactive PDFs, and other marketing collateral. InDesign's versatility in print and digital formats <strong>allows you to repurpose materials easily for web and mobile viewing</strong>.</p><h3 id="11-affinity-designer-illustrator-alternative">11. Affinity Designer (Illustrator Alternative) <a class="markdownit-header-anchor" href="#11-affinity-designer-illustrator-alternative">🔗</a></h3><p><a href="https://affinity.serif.com/en-us/designer/">Affinity Designer</a> is a vector graphics-based alternative software to Adobe Illustrator for creating logos, icons, UI elements, concept art, and more. Key strengths focus on precise vector design with flexible layers, gradients, filters, effects, and robust export options. <strong>Its modern interface is less cluttered than Illustrator</strong> and comes with a slightly easier learning curve. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/Affinity-Designer-.png" class="kg-image" alt loading="lazy" width="1392" height="898" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Affinity-Designer-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Affinity-Designer-.png 1000w, https://ghost.localazy.com/content/images/2023/12/Affinity-Designer-.png 1392w" sizes="(min-width: 720px) 720px"></figure><p>Affinity apps are the best alternative to Adobe, especially when it comes to pricing. Not only do Affinity apps cost less than Adobe, but they also come with a one-time payment price rather than a monthly subscription. So, if you want to decrease your expenses, you shouldn't overlook Affinity apps and Affinity Designer as alternatives to Illustrator. 💸</p><h3 id="12-affinity-photo-photoshop-alternative">12. Affinity Photo (Photoshop Alternative) <a class="markdownit-header-anchor" href="#12-affinity-photo-photoshop-alternative">🔗</a></h3><p><a href="https://affinity.serif.com/en-us/photo/">Affinity Photo</a> is a raster graphics editor offering powerful photo editing features as an alternative to Adobe Photoshop. Key features include raw editing, layers, masks, advanced retouching capabilities, and filters. However, unlike Photoshop, you can <a href="https://affinity.help/photo/en-US.lproj/index.html?page=pages/Appendix/fileformat.html?title=Supported%20file%20formats">edit both raster-based and vector-based graphics</a> on Affinity Photo while retaining their quality.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/Affinity-Photo.png" class="kg-image" alt loading="lazy" width="1330" height="895" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Affinity-Photo.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Affinity-Photo.png 1000w, https://ghost.localazy.com/content/images/2023/12/Affinity-Photo.png 1330w" sizes="(min-width: 720px) 720px"></figure><p>For software teams, it's a more budget-friendly option that can handle the production of marketing visuals like infographics, social media graphics, product images, banners, and icons. Unfortunately, unlike Photoshop, <strong>it doesn't offer a set of pre-made templates</strong>, but if you can download them from elsewhere, you can edit them on the app. </p><p>But considering that Affinity is much newer than Adobe, there aren't as many templates available that are tailored to it. While Photoshop templates could open fine, you might struggle to edit some of their elements, such as smart objects.</p><h3 id="13-affinity-publisher-indesign-alternative">13. Affinity Publisher (InDesign Alternative) <a class="markdownit-header-anchor" href="#13-affinity-publisher-indesign-alternative">🔗</a></h3><p>As a desktop publishing app, <a href="https://affinity.serif.com/en-gb/publisher/">Affinity Publisher</a> provides layout and vector tools and is a reasonable alternative to Adobe InDesign for creating marketing collateral, books, magazines, and more. Even for someone without prior experience with design tools, the interface is pretty intuitive to navigate, making it less complex than InDesign for beginners. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/Affinity-Publisher.png" class="kg-image" alt loading="lazy" width="1272" height="901" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Affinity-Publisher.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Affinity-Publisher.png 1000w, https://ghost.localazy.com/content/images/2023/12/Affinity-Publisher.png 1272w" sizes="(min-width: 720px) 720px"></figure><p>However, file compatibility is one of the biggest drawbacks of using Affinity Publisher, especially when collaborating with others on your projects. Since Publisher isn't used as much as InDesign, <strong>you will struggle to collaborate with others who don't use it</strong>. Some Publisher files don't work well on InDesign and vice-versa. </p><p>Still, Publisher offers multiple features that you won't find on InDesign. Besides books, newspapers, or magazines, you can use it to produce product labels, website mockups, and even social media posts.</p><h3 id="14-storybook">14. Storybook <a class="markdownit-header-anchor" href="#14-storybook">🔗</a></h3><p>While <a href="https://storybook.js.org">Storybook</a> is not exactly a design tool, it will help your designers and developers collaborate to produce stunning UI components. It allows devs to showcase components like buttons, inputs, modals, widgets, pages, etc., in varying states and configurations. And designers can quickly check how coded web elements look visually and reference these components for keeping a consistent design system.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/Storybook.png" class="kg-image" alt loading="lazy" width="1690" height="856" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Storybook.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Storybook.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/Storybook.png 1600w, https://ghost.localazy.com/content/images/2023/12/Storybook.png 1690w" sizes="(min-width: 720px) 720px"></figure><p>As a digital product maker, <strong>you can leverage Storybook to build an organized, reusable component library for your product's front end</strong>. As developers build new UI components, they can add them quickly into Storybook to facilitate reuse and avoid recreating components from scratch over and over again. The catalog serves as the single source of truth, showing correct usage and options for each component. Plus, Storybook's <a href="https://storybook.js.org/integrations">list of integrations</a> lets you connect it and work with design tools like Figma, <a href="https://www.sketch.com/">Sketch</a>, or <a href="https://www.invisionapp.com">InVision</a>.</p><h2 id="lessstronggreater-lessstronggreater7-frameworks-for-great-product-building"><strong>📐 </strong>7 frameworks for great product building <a class="markdownit-header-anchor" href="#lessstronggreater-lessstronggreater7-frameworks-for-great-product-building">🔗</a></h2><p>Simply having the best tools is often not enough to build great products. You must find and employ the right design frameworks and creative thinking approaches to design products that move the needle. Let's have a look at some of them.</p><h3 id="1-tokenizationdesign-tokens">1. Tokenization/Design Tokens <a class="markdownit-header-anchor" href="#1-tokenizationdesign-tokens">🔗</a></h3><p>It's easy to run into inconsistencies when building your digital products. You could end up with the same button having different colors, sizes, spacing, and typography across pages. <a href="https://www.invisionapp.com/inside-design/design-tokens/">Design tokens</a> solve this. In 2014, Salesforce came up with this novel idea that by creating a layer of data on top of their design elements, they could easily scale design consistency across platforms. </p><p>What is tokenization, and how can you benefit from it? Well, think of design tokens as the ultimate description of a design element in an understandable language that provides enough guidance and information to build that element on any other platform with the same attributes.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/Design-Tokens.png" class="kg-image" alt loading="lazy" width="751" height="564" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Design-Tokens.png 600w, https://ghost.localazy.com/content/images/2023/12/Design-Tokens.png 751w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://medium.com/@nitishkmrk/design-tokens-beginners-guide-4424944bf5f9"><em>Medium</em></a></figcaption></figure><p>This seems unnecessary on a small scale, but <strong>as your product expands to other platforms, design tokens can save you the hassle of encountering inconsistencies</strong>. Elsewhere, you will find design tokens defined as design decisions, too. That's one way to put it. Among multiple design variations for your UI elements, you're marking one to keep consistent across your brand. </p><p>Tokenization breaks the barriers to turning scalable designs into code. And now, you'll find out that most design platforms like <a href="https://tokens.studio/">Figma</a> allow you to integrate it into your projects. There are even platforms like <a href="https://zeplin.io/features/design-tokens/">Zeplin</a> tailored to this to help you create and manage design tokens. The more seamless the collaboration between design and development, the easier you'll build and scale worthy digital products.</p><h3 id="2-basic-design-thinking-rules">2. Basic Design Thinking rules <a class="markdownit-header-anchor" href="#2-basic-design-thinking-rules">🔗</a></h3><p>Most frameworks used in product design are rooted in the basic principles of design thinking. Professionals started <a href="https://en.wikipedia.org/wiki/Design_thinking#:~:text=Among%20the%20first%20authors%20to,%22%20(1963%E2%80%9364).">writing about design thinking</a> in the 1950s, and since then, it has been mentioned and implemented widely in businesses of all stages, from small teams to large organizations. Design thinking springs from five key principles, which are executed in a non-linear manner: </p><ol><li><strong>👂 Empathize. </strong>Start researching and pinpoint user needs. Get an authentic understanding of the user's issues and what they're trying to accomplish.</li><li><strong>📝 Define. </strong>Based on your research, synthesize the information you've gathered during the first stage and define your users' problems into statements.</li><li><strong>💭 Ideate. </strong>Start brainstorming solutions to the issues you've identified in the initial stages.</li><li><strong>🧑‍💻 Prototype. </strong>Whether digital or paper-based, this stage involves the creation of a few prototype versions. Experiment and aim to produce solutions by approaching the problem from different angles.</li><li><strong>🎯 Test. </strong>Select a small pool of beta users to test the solutions or apply <a href="https://userpilot.com/blog/product-dogfooding/">dogfooding</a>. The results will tell you if you should return to previous stages or continue with the developed solution.</li></ol><p>No matter what you are building, you can apply these design thinking principles to achieve a working product faster. However, when it comes to frameworks, whether it's design thinking or another one, <strong>don't expect any of them to fit your needs</strong>. </p><p>"Don't be rigid and dogmatic when applying them, but rather experiment and find out what works best for your company and your team," adds <a href="https://localazy.com/blog/author/ondrej-pucek">Ondra</a>.</p><h3 id="3-user-centered-design">3. User-Centered Design <a class="markdownit-header-anchor" href="#3-user-centered-design">🔗</a></h3><p>User-Centered Design (UCD) is an iterative design process that focuses on usability and designing around how users think, act, and interact. UCD relies heavily on user research and testing to deeply understand user needs at each stage of product development. The four fundamental tenets of UCD are: </p><ol><li><strong>🕵️‍♀️ Analysis. </strong>Designers focus on specifying the context in which users will use the product.</li><li><strong>📋 Specifications. </strong>After analyzing potential contexts, teams come up with a list of specifications the design needs to fulfill.</li><li><strong>✏️ Designing. </strong>During this phase, designers bring to life their conceptualized solutions.</li><li><strong>🤔 Evaluation. </strong>After designers finish their work, you test the solutions against the specifications with real users and reiterate until you have a satisfactory product.</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/User-Centered-Design.png" class="kg-image" alt loading="lazy" width="821" height="456" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/User-Centered-Design.png 600w, https://ghost.localazy.com/content/images/2023/12/User-Centered-Design.png 821w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://www.ionos.com/digitalguide/websites/web-development/user-centered-design/"><em>Ionos</em></a></figcaption></figure><p>In an ongoing cycle, digital product makers focus on collecting direct user feedback for design revisions. The goal is to <a href="https://localazy.com/blog/art-of-frictionless-cooperation-for-digital-product-teams">reduce friction</a> and optimize user experiences to serve real goals and behaviors. The upfront research and user testing results in higher product adoption and satisfaction.</p><h3 id="4-lean-ux">4. Lean UX <a class="markdownit-header-anchor" href="#4-lean-ux">🔗</a></h3><p>Lean UX adapts <a href="https://www.pipefy.com/blog/lean-principles/">lean principles</a> to deliver stakeholder value quickly through the design process. It aims to rapidly test hypotheses with prototypes rather than perfect specifications upfront. Lean UX speeds up development with just enough design to start learning from users from the beginning. The lean UX process looks like this: </p><ol><li><strong>🧠 Think:</strong> Don't spend days carrying out surveys and interviews. Make quick assumptions about the ideal solutions based on what you know about users.</li><li><strong>🧱 Make:</strong> Design an MVP (Minimum Viable Product) as fast as possible. Let it be simple and functional.</li><li><strong>🔎 Check:</strong> Test your MVP as soon as you're done. Gather feedback, analyze the data, go back to phase one, and repeat until you're done. </li></ol><p>Focus on creating a <a href="https://www.agilealliance.org/glossary/mvp/">minimum viable product (MVP)</a> and then iterating based on insights from live data and observation of actual customer behavior. <strong>This experimentation mindset reduces risk</strong> by quickly validating or pivoting key assumptions within short build cycles.</p><h3 id="5-double-diamond">5. Double Diamond <a class="markdownit-header-anchor" href="#5-double-diamond">🔗</a></h3><p>The Double Diamond design framework is visualized through two diamonds to represent alternating moments of divergence and convergence throughout product development. It starts with discovering user problems and expands to explore many ideas before refining and narrowing them down to deliver solutions. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/Double_Diamond.png" class="kg-image" alt loading="lazy" width="936" height="453" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Double_Diamond.png 600w, https://ghost.localazy.com/content/images/2023/12/Double_Diamond.png 936w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://www.designcouncil.org.uk/our-resources/framework-for-innovation/"><em>Design Council</em></a></figcaption></figure><p>After this first diamond delivers a concept, the second diamond repeats the iterative process at a detailed design level. 💎 This divergence-convergence pattern aims to foster user empathy before ideating, actionable idea refinement, and clear delivery.</p><h3 id="6-design-sprint">6. Design Sprint <a class="markdownit-header-anchor" href="#6-design-sprint">🔗</a></h3><p>The Design Sprint framework <a href="https://www.thesprintbook.com/the-design-sprint#:~:text=A%20brief%20history%20of%20the%20Design%20Sprint">was developed by Jake Knapp</a>, and it gained popularity after its successful implementation for companies like Google, Medium, and Slack. Then, it evolved into a more robust framework with the contributions of Braden Kowitz, Michael Margolis, John Zeratsky, and Daniel Burka.  </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/Design-Sprint.png" class="kg-image" alt loading="lazy" width="1600" height="469" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Design-Sprint.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Design-Sprint.png 1000w, https://ghost.localazy.com/content/images/2023/12/Design-Sprint.png 1600w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://www.thesprintbook.com/the-design-sprint"><em>Design Sprint Book</em></a></figcaption></figure><p>The framework provides <strong>a rapid 5-day process to validate and prototype product concepts</strong> through an intense week of collaboration, research, ideation, iteration, and testing. It enables digital product makers to fast-track development and get tangible user feedback on ideas early. </p><p>Over the week, teams progress from problem framing to ready-to-test prototypes put in users' hands, testing vision plus real-world viability. This structured time-boxed sprint offers productivity momentum and data-driven decisions to reduce risk and reach a working product as fast as possible.</p><h3 id="7-bonus-ideas-close-the-brand-gap">7. Bonus ideas: Close the brand gap <a class="markdownit-header-anchor" href="#7-bonus-ideas-close-the-brand-gap">🔗</a></h3><p>In his book <a href="https://a.co/d/hQkYW76">The Brand Gap</a>, Marty Neumeier holds an interesting stance toward building memorable brands. He's worked with major brands like Apple and Netscape. In this book, he dispels several myths about branding and argues that there is a way to successfully unify both creative and strategic approaches. We'll discuss some of these ideas here. The first is that branding is not the product or the logo. It's more than that. </p><p>More than anything, <strong>a brand is a gut feeling</strong>. Users' gut feeling when they see your product indicates how powerful your branding is. If users see your brand as trustworthy to the point they think there's no substitute for it, you've built a charismatic brand. How to build a charismatic brand? Follow these five steps: </p><ol><li><strong>🌟 Differentiate. </strong>Get clear on <em>"who you are</em>", <em>"what you do",</em> and <em>"why does it matter</em>". With these in mind, you should become your user base's first or second choice, a.k .a. tribe. And if you're not, keep redefining your brand until you are.</li><li><strong>👯 Collaborate. </strong>Get left-brainers and right-brainers in your team to work together. When analytical and creative professionals work together, they create unique solutions.</li><li><strong>💡 Innovate. </strong>If you're serious about innovating, focus on a big idea that is so big it scares you. Real innovation should be indistinguishable from magic.</li><li><strong>👍 Validate. </strong>Research, when done correctly, can inspire innovative changes. Focus groups can help you research and identify helpful changes, but don't focus the research entirely on them; instead, have them help you focus the research in a particular direction.</li><li><strong>🌱 Cultivate. </strong>Don't consider your brand a consistent and rigid entity but a living organism that grows and adapts by cultivating audience experiences.</li></ol><h2 id="final-thoughts">📌 Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>We hope you found this extensive collection of tools and frameworks helpful in building your digital products. There are an infinite number of resources out there, and this could be daunting. However, pick and test a few of the tools and frameworks we've provided and <strong>stick to what helps you ship functional products fast</strong>. And when your product gets considerable traction, and you want to expand to other countries, <a href="https://localazy.com/">give Localazy a go</a>.<br></p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/02/21-must-know.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Automations Series: Apply any filters]]></title>
            <link>https://localazy.com/blog/automated-workflows-series-deep-dive-into-filters</link>
            <guid isPermaLink="false">automated-workflows-series-deep-dive-into-filters</guid>
            <pubDate>Thu, 16 Oct 2025 19:48:22 GMT</pubDate>
            <description><![CDATA[Learn everything you need to know about filters to set up even more advanced automated workflows. With the Open AI integration, you can run various analyses on your translations and perform actions based on their results. Let's dive in!]]></description>
            <content:encoded><![CDATA[<p>Before you get lost in the various options and filters, read the previous articles in this series to see what you can achieve with Automations:</p><ul><li><a href="https://localazy.com/blog/automated-workflows-series-translate-content-immediately-after-uploading-with-mt">Translate Content Immediately After Uploading with MT</a></li><li><a href="https://localazy.com/blog/automated-workflows-series-fine-tune-your-ux-copy-before-translating-it">Fine-Tune Your UX Copy Before Translating It</a></li><li><a href="https://localazy.com/blog/automated-workflows-series-prevent-translation-of-unwanted-strings">Prevent Translation of Unwanted Strings</a></li></ul><h2 id="why-use-filters">🧰 Why use filters? <a class="markdownit-header-anchor" href="#why-use-filters">🔗</a></h2><p>Filters in our Automations are a powerful way to apply the rules to a subset of keys only.</p><p>For example, with an e-commerce app, it is expected to only translate descriptions and longer texts using machine translation and invest extra effort to get product names translated carefully for the target market.</p><p>Not all filters are available for all actions, and there are also differences in how filters are used based on the event that triggered the automation run.</p><h2 id="applying-automations-to-all-events">♾️ Applying automations to all events <a class="markdownit-header-anchor" href="#applying-automations-to-all-events">🔗</a></h2><p>By default, the automation will run on all events if you don't specify any filters. However, there are still some internal rules applied as well. For example, the <strong>Use machine translations</strong> action is always run only on the source translations as it doesn't make much sense to use this action in any other way.</p><h2 id="how-do-include-and-exclude-work">❓ How do "include" and "exclude" work? <a class="markdownit-header-anchor" href="#how-do-include-and-exclude-work">🔗</a></h2><p>Most filters described below allow you to define a list of "include" conditions (or filters) as well as a list of "exclude" conditions. </p><ul><li>If no "include" filters are set, all items will be processed by the automation action unless they match one of the "exclude" filters.</li><li>If the item matches any of the "include" filters, it will be processed by the automation action unless it also matches one of the "exclude" filters.</li><li>The "exclude" filter has a higher priority, meaning that if the item is included and excluded simultaneously, it is not processed by the automation action.</li></ul><blockquote>For example, imagine you want to process only keys starting with the prefix <code>a_</code>, so you set up a filter to include only such strings. But some of these strings contain a suffix <code>-z</code> and you do not want these to be processed. By defining both filters, you ensure that only strings that start with the prefix <code>a_</code> and do not end with the suffix <code>-z</code> will be processed. </blockquote><h2 id="types-of-automation-filters">➡️ Types of automation filters <a class="markdownit-header-anchor" href="#types-of-automation-filters">🔗</a></h2><h3 id="filter-by-language">🚩 Filter by Language <a class="markdownit-header-anchor" href="#filter-by-language">🔗</a></h3><p>With this filter active, the given automation action is run only if the translations in the selected language/languages initiate the given trigger event.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-17.44.48.png" class="kg-image" alt loading="lazy" width="978" height="334" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-08-at-17.44.48.png 600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-17.44.48.png 978w" sizes="(min-width: 720px) 720px"></figure><p>This filtering is available for all actions except the <strong>Use machine translations </strong>action.</p><p>For <strong>Copy translations to another language</strong>, it only allows you to define a single language, as it wouldn't make sense to copy multiple languages into a single target. You can see this in other actions. Some actions allow you to filter via multiple languages, while others let you select only one.</p><h3 id="filter-by-user-triggering-the-event">👥 Filter by User triggering the event <a class="markdownit-header-anchor" href="#filter-by-user-triggering-the-event">🔗</a></h3><p>These are available to all trigger events. With this filter active, the given automation action is run only if the allowed users initiate the given trigger event.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-18.06.29.png" class="kg-image" alt loading="lazy" width="978" height="678" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-08-at-18.06.29.png 600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-18.06.29.png 978w" sizes="(min-width: 720px) 720px"></figure><p>The user depends on the trigger event:</p><!--kg-card-begin: html--><table><tbody><tr><td><p data-guid="b3436780-8172-423e-9a0d-0d08bac4bfe1"><strong>Key or translation uploaded</strong></p></td><td><p data-guid="b3e722fd-98b7-49c3-93df-627231a09de6">The user who started the import process</p></td></tr><tr><td><p data-guid="1b5c086e-317b-49d3-93bc-37ada35d09b2"><strong>Key or translation updated</strong></p></td><td><p data-guid="23f70478-d1e4-4514-ad1a-a99540eb2961">The user who started the import process</p></td></tr><tr><td><p data-guid="4355c3b6-0e93-4f67-a28b-b414f326a65b"><strong>Key or translation deprecated</strong></p></td><td><p data-guid="df4a5e23-13ac-4bc6-9b1a-8a028cd6de68">The user who started the import process</p></td></tr><tr><td><p data-guid="59f8621e-7f05-4a56-887a-7a5ed21e5d65"><strong>Key created manually</strong></p></td><td><p data-guid="38826808-4a23-4a92-a5ad-7bca77703ce7">The user who created the key</p></td></tr><tr><td><p data-guid="3ba8b294-32f3-4c9c-b773-5071976e34a6"><strong>Key translated</strong></p></td><td><p data-guid="babe15aa-a3f5-433b-989d-3fd932cccbee">The user who translated the key</p></td></tr><tr><td><p data-guid="8f4cb59f-7c36-4ddc-98bc-7c0792df8173"><strong>Translation reviewed</strong></p></td><td><p data-guid="ea2652da-571c-4134-8a8c-fa980f5df112">The user who reviewed the translation</p></td></tr><tr><td><p data-guid="edb37d26-b957-4151-bcaf-510f3c115934"><strong>Manual trigger</strong></p></td><td><p data-guid="b869cb21-42be-448b-81e3-c52cd4d75c77">The user who triggered the automation run</p></td></tr></tbody></table><!--kg-card-end: html--><p>Then, we also have the system users, which are names for the actions performed by the platform itself. These are:</p><ul><li><strong>Localazy Importer</strong> → Whatever you import into Localazy. For instance, the translations imported when you started the project.</li><li><strong>Localazy InTM</strong> → Translation created by using Localazy Translation Memory.</li><li><strong>Machine Translation</strong> → Translation created by using machine translation.</li><li><strong>Localazy translation service </strong>→ Translation created by Localazy’s <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization Team</a>.</li></ul><h3 id="filter-by-user-role">🗣️ Filter by User Role <a class="markdownit-header-anchor" href="#filter-by-user-role">🔗</a></h3><p>This filtering is available for all actions except for <strong>Use machine translations</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-18.24.19.png" class="kg-image" alt loading="lazy" width="986" height="492" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-08-at-18.24.19.png 600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-18.24.19.png 986w" sizes="(min-width: 720px) 720px"></figure><p>The filter is based on the user role, which is the same user as in <strong>User-based filtering</strong>, with the selected list. You can choose from a <strong>Translator</strong>, <strong>Trusted Translator</strong>, <strong>Reviewer</strong>, <strong>Manager</strong>, or <strong>Owner</strong>.</p><h3 id="filter-by-the-translation-state">📌 Filter by the Translation State <a class="markdownit-header-anchor" href="#filter-by-the-translation-state">🔗</a></h3><p>This filtering is available for all actions except for <strong>Use machine translations</strong>. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-18.29.32.png" class="kg-image" alt loading="lazy" width="952" height="706" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-08-at-18.29.32.png 600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-18.29.32.png 952w" sizes="(min-width: 720px) 720px"></figure><p>Each filter has three options like this: </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-18.33.01.png" class="kg-image" alt loading="lazy" width="958" height="374" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-08-at-18.33.01.png 600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-18.33.01.png 958w" sizes="(min-width: 720px) 720px"></figure><p>The filter compares the current state of the translation to a list of selected choices out of this list:</p><p><strong>Existing current version: </strong></p><ul><li>Do not apply </li><li>has current version</li><li>does not have current version</li></ul><p><strong>Awaiting review: </strong></p><ul><li>Do not apply </li><li>is waiting for review</li><li>is not waiting for review</li></ul><p><strong>Source changed state:</strong></p><ul><li>Do not apply</li><li>has the source changed state set</li><li>does not have the source state set</li></ul><p><strong>Need improvement flag: </strong></p><ul><li>Do not apply</li><li>has the need improvement flag set</li><li>does not have the need improvement flag set</li></ul><p>State filters allow you to fine-tune the behavior to only apply the automation to an untranslated key in the given language, etc.</p><h3 id="filter-by-tags">🔖 Filter by Tags  <a class="markdownit-header-anchor" href="#filter-by-tags">🔗</a></h3><p>This filtering is available for all actions. The rule is only invoked if the key, translation, or version (depending on what is available based on the trigger event) carries at least one of the included tags and none of the excluded tags. Translation tags are used for prioritizing translations and organizing content.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-18.43.17.png" class="kg-image" alt loading="lazy" width="964" height="514" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-08-at-18.43.17.png 600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-18.43.17.png 964w" sizes="(min-width: 720px) 720px"></figure><p>Most likely, you will want to use filtering with automatically assigned tags, which are:</p><!--kg-card-begin: html--><table><tbody><tr><td><p data-guid="d9c859b3-84de-4318-a90e-44eba60f53c5"><strong>Translated by MT</strong></p></td><td><p data-guid="c65350c9-da97-4697-abb0-e729c792dba7">Automatically added to translations provided by MT engines integrated with Localazy.</p></td></tr><tr><td><p data-guid="be6bc4c6-5ebf-4967-9e3d-578db50e45fa"><strong>Translated by CLT</strong></p></td><td><p data-guid="f0d00484-655f-4147-9a92-4349ffeec567">Automatically added to translations provided by our professional translators.</p></td></tr><tr><td><p data-guid="49ae160e-01e6-48e4-943a-9e2fc64da40b"><strong>Reviewed by CLT</strong></p></td><td><p data-guid="92b859be-8790-460a-95c6-cfb8b53edb25">Automatically added to translations reviewed by our professional translators.</p></td></tr></tbody></table><!--kg-card-end: html--><h3 id="filter-content">✏️ Filter Content <a class="markdownit-header-anchor" href="#filter-content">🔗</a></h3><p>It allows you to define a list of inclusive and exclusive rules that compare key, source text, translations, context comments, or file paths to the configured value.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-18.46.08.png" class="kg-image" alt loading="lazy" width="968" height="712" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-08-at-18.46.08.png 600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-08-at-18.46.08.png 968w" sizes="(min-width: 720px) 720px"></figure><p>This filtering is available for all actions, but the options may differ. For example, it's not possible to compare a translation for <strong>Use machine translations</strong> as it's only triggered for the source language.</p><p>Available rules:</p><!--kg-card-begin: html--><table><tbody><tr><td><p data-guid="9352fb6d-0625-42c2-9b68-8cbc609275dc"><strong>Missing/Empty</strong></p></td><td><p data-guid="526ad45f-8cfc-45b2-b826-3019ef16bb00">The input is missing or empty. </p></td></tr><tr><td><p data-guid="68caad37-cf15-4b37-a969-c7f6e0bd033e"><strong>Exact match</strong> / <strong>Exact match (case insensitive)</strong></p></td><td><p data-guid="a1dbb4ab-f344-49ba-8682-fb8399f0bd1c">The input exactly matches the value.</p></td></tr><tr><td><p data-guid="614c5f66-50ad-4708-b366-329c2daa1a62"><strong>Contains </strong>/ <strong>Contains (case insensitive) </strong></p></td><td><p data-guid="99eb67bb-d7d0-4cea-8fad-e573f447fe29">The input contains the value.</p></td></tr><tr><td><p data-guid="416abdd3-63be-418c-97b8-bdba82693bfe"><strong>Starts with </strong>/ <strong>Starts with (case insensitive)</strong></p></td><td><p data-guid="878d939a-6bc9-4360-8189-d0530c3fd7fd">The input starts with the value. </p></td></tr><tr><td><p data-guid="010d6c73-32a0-439c-b80c-fd8ba1e76f3f"><strong>Ends with </strong>/ <strong>Ends with (case insensitive)</strong></p></td><td><p data-guid="643bd2cf-2355-4b95-85e6-da8b894d33e4">The input ends with the value. </p></td></tr><tr><td><p data-guid="084026f3-9b1c-425d-b714-0b198263307d"><strong>Regex expression</strong></p></td><td><p data-guid="4bd33994-1f82-49e2-b1ce-20ec10e4161f">The input matches the provided regex expression. </p></td></tr></tbody></table><!--kg-card-end: html--><h3 id="filter-by-priority">🔴 Filter by Priority <a class="markdownit-header-anchor" href="#filter-by-priority">🔗</a></h3><p>Select which source key priorities to include or exclude from the automation. This filter is commonly used with the <strong>Use machine translations</strong> action to automatically translate source keys with (usually) low or lowest priority, allowing you to focus human translation efforts on high-priority content.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-16-at-21.46.13.png" class="kg-image" alt loading="lazy" width="1694" height="416" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-16-at-21.46.13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-16-at-21.46.13.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-16-at-21.46.13.png 1600w, https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-16-at-21.46.13.png 1694w" sizes="(min-width: 720px) 720px"></figure><h4 id="source-translationplurals-and-lists">Source &amp; translation - plurals and lists</h4><p>The normal single key is encoded as is. For filters to work easily with more complex values, plurals and string lists are encoded this way:</p><p><strong>Plural</strong></p><pre><code>ONE: one form
OTHER: other form</code></pre><p><strong>List</strong></p><pre><code>- item 1
- item 2
- item 3</code></pre><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>In summary, Automations enriched with filters offer <strong>a tailored approach to translation management, allowing you to optimize the efficiency and precision of the actions</strong>. You can customize actions based on specific criteria such as language, user roles, and tags.</p><p>Want to test how good these filters are in practice? Find the <strong>Automations</strong> feature on your Localazy Dashboard under <strong>Tools</strong>, and try it out.</p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/10/localazy-workflows-series-4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The UX writing process explained in 7 steps]]></title>
            <link>https://localazy.com/blog/the-ux-writing-process-explained-in-7-steps</link>
            <guid isPermaLink="false">the-ux-writing-process-explained-in-7-steps</guid>
            <pubDate>Tue, 30 Jul 2024 12:23:48 GMT</pubDate>
            <description><![CDATA[Transparent user journeys are filled with good copy. Discover how to develop impactful texts that set your product apart and how to implement feedback to refine them.]]></description>
            <content:encoded><![CDATA[<p>You’re interacting with digital interfaces on a daily basis when using websites, apps, and other pieces of software. Your experience with them heavily depends on <a href="https://localazy.com/blog/12-principles-of-ux-writing-with-examples">the quality of the UX writing</a> that guides you. </p><p>UX writing <strong>involves everything</strong>:</p><ul><li>💬 from notification texts, </li><li>➡️ menu items, </li><li>ℹ️ button texts, </li><li>✅ and success/error messages;</li><li>📄 to documentation...</li><li>🖋️ and style guides.</li></ul><p>Today, we will look at some stellar examples of UX writing and the process that goes behind producing work that’s equally great. This will help you better understand the process as a writer and simplify your work as an editor, too.</p><h2 id="7-examples-of-great-ux-writing">✍️ 7 examples of great UX writing <a class="markdownit-header-anchor" href="#7-examples-of-great-ux-writing">🔗</a></h2><p>We’re saying that the UX writing process is important, but nothing is better than showing it, right? So, here we have <strong>some examples of exceptional UX copy</strong>. </p><h3 id="merriam-websters-error-page">Merriam-Webster's error page <a class="markdownit-header-anchor" href="#merriam-websters-error-page">🔗</a></h3><p>Error pages have to be boring and technical, right? <a href="https://www.merriam-webster.com/thisisanerropage">Not for Merriam-Webster</a>. ✨ Not only do they find a way to make it fun and simple, but they also teach you some new terms along the way. They stick to their niche while welcoming errors with an informative page. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Merriam-Webster-Error-Page.png" class="kg-image" alt loading="lazy" width="964" height="828" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/Merriam-Webster-Error-Page.png 600w, https://ghost.localazy.com/content/images/2023/10/Merriam-Webster-Error-Page.png 964w" sizes="(min-width: 720px) 720px"></figure><h3 id="mailchimps-sign-up-form">Mailchimp's sign-up form <a class="markdownit-header-anchor" href="#mailchimps-sign-up-form">🔗</a></h3><p>Registration forms are one of the places where you can write playful UX copy while sticking to your brand voice and delighting users. <a href="https://login.mailchimp.com">MailChimp does this perfectly</a> when you register as a new user and the username you’re trying to use is taken. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Mailchimp-Signup-.png" class="kg-image" alt loading="lazy" width="863" height="685" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/Mailchimp-Signup-.png 600w, https://ghost.localazy.com/content/images/2023/10/Mailchimp-Signup-.png 863w" sizes="(min-width: 720px) 720px"></figure><h3 id="spotify-design-newsletter-sign-up">Spotify Design: Newsletter sign-up <a class="markdownit-header-anchor" href="#spotify-design-newsletter-sign-up">🔗</a></h3><p>There are only so many ways to invite readers to subscribe to your newsletter, and the <a href="https://spotify.design">Spotify Design</a> team has found one of the more engaging ones. Instead of simply saying, “Enter your email,” they’ve said, “We saved a spot for your email,” which is much better. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Spotify-Design-Email-Newsletter-.png" class="kg-image" alt loading="lazy" width="1835" height="687" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/Spotify-Design-Email-Newsletter-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/Spotify-Design-Email-Newsletter-.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/10/Spotify-Design-Email-Newsletter-.png 1600w, https://ghost.localazy.com/content/images/2023/10/Spotify-Design-Email-Newsletter-.png 1835w" sizes="(min-width: 720px) 720px"></figure><h3 id="buy-me-a-coffee-homepage">Buy Me a Coffee homepage <a class="markdownit-header-anchor" href="#buy-me-a-coffee-homepage">🔗</a></h3><p>The goals of UX writing are to guide the user in using your product, and simplifying the process while keeping it engaging. <a href="https://www.buymeacoffee.com">The Buy Me a Coffee homepage</a> and sign-up copy are so seamless that make joining the platform a breeze. The “Start my page” button beats the traditional “Join” or “Sign up” versions. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Buymeacoffee.png" class="kg-image" alt loading="lazy" width="870" height="519" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/Buymeacoffee.png 600w, https://ghost.localazy.com/content/images/2023/10/Buymeacoffee.png 870w" sizes="(min-width: 720px) 720px"></figure><h3 id="slacks-typing-microcopy">Slack’s typing microcopy <a class="markdownit-header-anchor" href="#slacks-typing-microcopy">🔗</a></h3><p>If you’re part of an active channel, <a href="https://slack.com/">Slack</a> displays under the textbox when someone is typing. You’ll see the actual names when up to two people are typing, but when more than two are typing, you’ll see “several people are typing”, which is more convenient than showing the names of everyone typing.  </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/10/Slack-Example.jpg" class="kg-image" alt loading="lazy" width="1280" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/Slack-Example.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/Slack-Example.jpg 1000w, https://ghost.localazy.com/content/images/2023/10/Slack-Example.jpg 1280w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://goodmicrocopy.com/post/178437959694/when-youre-in-an-active-channel-slack-lets-you">Good Microcopy&nbsp;</a></figcaption></figure><h3 id="muzzle-app-landing-page">Muzzle App landing page <a class="markdownit-header-anchor" href="#muzzle-app-landing-page">🔗</a></h3><p>Showing instead of telling is powerful in writing. That’s what the Mac notification silencing app Muzzle does. It shows examples of embarrassing notifications you’d want to avoid. The fake alerts make the microcopy fun but piercing. While not all microcopy needs to be hilarious, like in this case, this is a distinguished example. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Muzzle-App-.png" class="kg-image" alt loading="lazy" width="1369" height="905" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/Muzzle-App-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/Muzzle-App-.png 1000w, https://ghost.localazy.com/content/images/2023/10/Muzzle-App-.png 1369w" sizes="(min-width: 720px) 720px"></figure><p>Now, let’s have a look at the UX writing process and how we can manage to comb through it with ease. 🔍 After going through these examples of great UX writing, you must be curious to know what it takes to produce such microcopy. Well, let’s explore the process together, shall we?</p><h2 id="the-ux-writing-process-in-7-steps">📝 The UX writing process in 7 steps <a class="markdownit-header-anchor" href="#the-ux-writing-process-in-7-steps">🔗</a></h2><p>When looking at UX writing, you’ll see that the process is quite different from other types of marketing writing. That’s because UX writing has different goals compared to it. <strong>UX writing fights for clarity and brevity over persuasiveness</strong>. With this said, let’s have a more in-depth look at the process.</p><h3 id="1-understand-the-brief-and-project-scope">1. Understand the brief and project scope <a class="markdownit-header-anchor" href="#1-understand-the-brief-and-project-scope">🔗</a></h3><p>Every project comes with a brief, and UX writing is no different in this aspect. Depending on the project, a UX writer will either be handed a brief and a project scope outlining the goals of the user and the guidelines they need to follow, or they'll have to be involved in the research process themselves to figure these out. </p><p>The latter is more common in big projects. <strong>One common mistake that brands might make is not to involve UX writers early in their projects</strong>. 🗓️ Unlike copywriters or content writers, UX writers need to be involved in the early stages of building the product so they can collaborate with designers and produce interfaces that flow well.</p><blockquote>Being involved in the early stages of product building allows UX writers to understand the goal of end users and collaborate with designers to create the perfect interface</blockquote><h3 id="2-conduct-competitor-research-and-analysis">2. Conduct competitor research and analysis <a class="markdownit-header-anchor" href="#2-conduct-competitor-research-and-analysis">🔗</a></h3><p>Even if you’re not involved in the research process (which you must be), you’ll need to do your own research before writing. This often includes looking up the digital assets of your competitors and analyzing what has worked well for them. But if you are involved in the research process, these are some well-known methods you could be using:  </p><ul><li>✏️ Surveys,</li><li>🖇 card sorting,</li><li>👀 eye tracking,</li><li>🎧 usability testing,</li><li>👥 and surely user interviews. </li></ul><p>With the necessary research, <strong>you’ll be able to spot patterns in your competitors' work and find what kind of vocabulary dominates their assets</strong>. However, user interviews are more likely to supply you with such insights.</p><h3 id="3-build-a-content-model">3. Build a content model <a class="markdownit-header-anchor" href="#3-build-a-content-model">🔗</a></h3><p>You have probably heard of wireframes. <a href="https://www.experienceux.co.uk/faqs/what-is-wireframing/">Wireframes</a>, the content model, and information architecture are similar. They guide you with <strong>a templatized version of the information you need to use to further write texts for your product</strong>. </p><p>What texts are we talking about, and why would you need a content model? 🤔 Well, you’ll need to write texts for notifications, buttons, error messages, CTAs, etc. You’ll write texts for one type of element more than once. Creating a content model will help you have templates to speed up the process so you maintain the same style and brand voice and don’t start it from scratch every time.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/02/AdobeStock_571224417.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1125" srcset="https://ghost.localazy.com/content/images/size/w600/2024/02/AdobeStock_571224417.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/02/AdobeStock_571224417.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/02/AdobeStock_571224417.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/02/AdobeStock_571224417.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-ideate-and-write-the-copy">‍4. Ideate and write the copy <a class="markdownit-header-anchor" href="#4-ideate-and-write-the-copy">🔗</a></h3><p>The writing process starts when the first wireframes are ready by the design team. During this phase, you as a writer have to <strong>come up with different text versions for the interface elements ideated</strong>. These are rough drafts that will be polished later, so consider this more like a brainstorming phase. </p><p>The structure of the screens and the flow, which will be set by the designer, facilitate your first drafts. Here, your duty as a writer is to produce as many relevant versions as possible, which will later be refined. Depending on the workflow, you might create samples by adding copy to the design file or simply adding it to a spreadsheet.</p><h3 id="5-add-copy-to-a-prototype">‍5. Add copy to a prototype <a class="markdownit-header-anchor" href="#5-add-copy-to-a-prototype">🔗</a></h3><p>As discussed in the previous step, you’ll either add the copy to the design or the designers themselves will do it. 🧩 And if you’re not the one adding it, you’ll review everything to confirm that your copy is in place. Once you’re done and you’re on the same page with the designer, the first prototype will be completed. </p><p><strong>It’s normal for misalignments to occur</strong>. The design and the words <a href="https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go">might not fit well together</a>, so you’ll have to go back and forth with the UX designer until you reach an appropriate final version. The key here is to make changes with the end user in mind. </p><blockquote><strong>📖 Recommended read:</strong> <a href="https://localazy.com/blog/how-and-why-we-built-figma-localization-plugin">How and why we built our Figma localization plugin</a></blockquote><h3 id="6-test-and-refine">‍6. Test and refine <a class="markdownit-header-anchor" href="#6-test-and-refine">🔗</a></h3><p>After the first version of your prototype is live, the real challenge starts: <strong>implementing user feedback</strong>. You’re expected to refine the copy by taking into account the user’s reactions. You are responsible for reiterating your copy after each test, and this is a process that continues over time as the user needs change and the product evolves.</p><p>There is no finalization for this process as you’re constantly receiving user feedback that needs to be implemented. You can look at it from an innovative perspective: you’ll eventually revise the copy so many times it'll near perfection. 🏆 They say that great writing is in the editing, and as a UX writer, you’ll see the results of this theory yourself.</p><blockquote>After the first version of your prototype goes live, you'll be expected to refine the copy by listening to user feedback. As a UX writer, you'll go over the same text countless times: remember that great writing is in the editing</blockquote><h3 id="7-create-documentation">7. Create documentation <a class="markdownit-header-anchor" href="#7-create-documentation">🔗</a></h3><p>Documenting your research and writing process can help you reuse previous insights and ideas later on and make sure you’re not forgetting anything. Keeping track of the changes and the different user feedback makes the writing and revision process easier, and ensures no idea is lost. </p><p>💡 Some key steps to keep in mind: </p><ul><li>Document the key changes, decisions, and feedback,</li><li>document the work process as it happens,</li><li>and allow teammates to easily access it. </li></ul><p>It’s never too early to start documenting your work, and you will see how that rewards you down the line. <strong>You’ll see the emergence of patterns that will inform your writing and guide you in establishing practices and content models</strong>, and help you avoid writer’s block.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/02/AdobeStock_671308764.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1225" srcset="https://ghost.localazy.com/content/images/size/w600/2024/02/AdobeStock_671308764.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/02/AdobeStock_671308764.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/02/AdobeStock_671308764.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/02/AdobeStock_671308764.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="final-thoughts">📌 Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>Being a UX writer comes with its own fair share of challenges. Especially when you’re in a competitive industry that changes fast. However, the process is beautiful. When you think about it, you’re responsible for building interfaces that users will visit and revisit to solve their problems, and your words will be like a good friend who guides them along the way. </p><p>UX writing and localization share a common vision: creating better user experiences. International brands need localization to truly expand into new markets, but good localization isn’t possible without clear and high-quality UX writing. <strong>Without good writing, there’s nothing worth translating.</strong> But once you’re past that phase, <a href="https://localazy.com/">Localazy </a>makes localization a breeze. <br></p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/localazy-UX-series-VOL4-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Mythbusters: Let's localize the text, and we'll be good to go!]]></title>
            <link>https://localazy.com/blog/mythbusters-lets-localize-the-text-and-well-be-good-to-go</link>
            <guid isPermaLink="false">mythbusters-lets-localize-the-text-and-well-be-good-to-go</guid>
            <pubDate>Tue, 10 Jun 2025 09:44:36 GMT</pubDate>
            <description><![CDATA[Translation is not good enough when it comes to localization. Yes, you read that right - and that's because design localization and UX elements are just as important. Learn why.]]></description>
            <content:encoded><![CDATA[<p>Text translated ✅ That’s localization done, right?</p><p>Wrong! Let’s bust this myth once and for all.</p><p>Imagine this scenario…</p><p>You’ve launched a new app. The first release was in English only, but now you want to expand to different European markets. So you begin by translating English to German. </p><p>One of the first things you're going to be taking care of is call-to-action buttons like this:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/Captura-de-pantalla-2024-01-26-a-las-19.58.40.png" class="kg-image" alt loading="lazy" width="2000" height="805" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/Captura-de-pantalla-2024-01-26-a-las-19.58.40.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/Captura-de-pantalla-2024-01-26-a-las-19.58.40.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/Captura-de-pantalla-2024-01-26-a-las-19.58.40.png 1600w, https://ghost.localazy.com/content/images/2024/01/Captura-de-pantalla-2024-01-26-a-las-19.58.40.png 2096w" sizes="(min-width: 720px) 720px"></figure><p>See the problem? 🧐</p><p>When you translate <a href="https://localazy.com/translate/en-de">English to German</a>, you often end up with sentences that are way longer than the ones you started with. The text for a CTA button may be longer in German, but much shorter in another language.</p><p>Changeable word lengths can lead to layout headaches, especially if you’re not on the ball with design during the localization stage. Ugly design and UX don't go well together. It can do serious reputation damage to your brand if text bleeds into design elements. </p><p>So - how can you avoid cringe-inducing scenarios like that? <strong>Taking a joined-up approach to localization is the key</strong>. Here are 6 tips to help you achieve a unified localization strategy.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/amelie-mourichon-NqU6zbLxIk0-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/amelie-mourichon-NqU6zbLxIk0-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/amelie-mourichon-NqU6zbLxIk0-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/amelie-mourichon-NqU6zbLxIk0-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/amelie-mourichon-NqU6zbLxIk0-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="6-tips-for-a-unified-localization-strategy">🪢 6 tips for a unified localization strategy <a class="markdownit-header-anchor" href="#6-tips-for-a-unified-localization-strategy">🔗</a></h2><h3 id="1-do-your-design-due-diligence">1. Do your design due diligence <a class="markdownit-header-anchor" href="#1-do-your-design-due-diligence">🔗</a></h3><p>If you think that localization is just about changing the text and nothing else, then your process probably looks like this:</p><ul><li>😑 Send <a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">a series of Excel files</a> to translators.</li><li>😫 Forward the translated text to devs for implementation.</li></ul><p>If you want to avoid design mishaps – this two-step localization process isn’t enough. Instead, <strong>you need to involve your design, UX, and front-end devs team right from the outset, preferably in a platform where they can work collaboratively.</strong></p><p>As soon as the localization process begins, get your designers to cooperate closely with translators. The goal is to allow for changing text length and create a responsive design that adapts to different languages.</p><blockquote>You can incorporate localization into your design workflow early by using the <a href="https://localazy.com/features/figma-localization-plugin">Figma Localization Plugin</a> and <a href="https://localazy.com/features/pre-translate">MT pre-translate</a>. Learn how to quickly preview and optimize your designs in Figma in <a href="https://localazy.com/blog/figma-series-preview-designs-in-multiple-languages">this article</a>.</blockquote><p>These days, to make the process even smoother, you can use a good <a href="https://localazy.com/dictionary/translation-management-system-tms">Translation Management System (TMS)</a> like Localazy. You’ll get access to context tools that bridge the gap between translators and designers. </p><p>You still end up with a nice and easy two-step process, but it’s a more joined-up one:</p><ul><li>📩 Set up your TMS to receive text for translation.</li><li>🔔 The TMS automatically alerts design, UX, and devs teams, <a href="https://localazy.com/blog/figma-series-connect-designs-and-source-keys-via-screenshots">providing context for the text changes</a> prior to implementation.</li></ul><blockquote>🗑️ Ditch your spreadsheets for good - and switch to a great TMS! Learn why <a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">here</a>.</blockquote><h3 id="2-be-sensitive-to-cultural-nuance">2. Be sensitive to cultural nuance <a class="markdownit-header-anchor" href="#2-be-sensitive-to-cultural-nuance">🔗</a></h3><p>Words aren’t the only thing you need to consider when it comes to cultural sensitivity. Your designers need to be aware of <a href="https://localazy.com/blog/top-9-ux-translation-problems-and-how-to-solve-them">any potential faux pas</a> in terms of imagery and symbols.</p><p>For instance, if you’re expanding into a Hindu market, conch shells, and lotus flowers are religious symbols, so using them commercially may cause offense. 😬</p><p>Colors can be problematic too. For example, white usually symbolizes purity and weddings in Western cultures, but it symbolizes mourning and funerals in some Asian cultures.</p><p><strong>Take the time to understand the cultural nuances and sensitivities of your target markets</strong>. Make sure that design elements such as colors, imagery, symbols, and layouts are culturally appropriate and relevant.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/amelie-mourichon-h3kEAHMl1k4-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/amelie-mourichon-h3kEAHMl1k4-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/amelie-mourichon-h3kEAHMl1k4-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/amelie-mourichon-h3kEAHMl1k4-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/amelie-mourichon-h3kEAHMl1k4-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-create-adaptable-layouts">3. Create adaptable layouts <a class="markdownit-header-anchor" href="#3-create-adaptable-layouts">🔗</a></h3><p>As mentioned earlier, some languages expand when translated. Others contract and need less space. <strong>Good localization is all about knowing this in advance and allowing for varying text length and direction</strong>. </p><p>For example, languages like Arabic and Hebrew read <a href="https://localazy.com/blog/stop-making-7-software-localization-mistakes#7-not-considering-vertical-and-rtl-languages">right-to-left (RTL)</a>, which might mean a complete flip of your app's layout. Design elements such as navigation menus, text alignment, and even graphical elements should be mirrored to ensure a natural user experience for RTL languages. 📚</p><blockquote>Some languages expand when translated, others need less space and some require complete design overhauls, like right-to-left languages. Integrations like <a href="https://localazy.com/blog/agile-localization-for-ux-the-localazy-figma-plugin-changes-the-game">Localazy's Figma plugin</a> make layout work much easier for multilingual projects, both for designers and translators</blockquote><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/figma-series-preview-designs-in-multiple-languages#preview-in-figma"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Figma in Localization: Preview designs in multiple languages</div><div class="kg-bookmark-description">Using the Localazy Figma plugin is an excellent way of introducing localization earlier in the product life cycle - in the design phase. Learn how to quickly preview and optimize your designs in Figma with Localazy and how it could fit into your workflow in this article.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Daniel Charvát</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2022/12/Figma-Series-1--2-.png" alt=""></div></a></figure><h3 id="4-localize-video-and-audio-content">4. Localize video and audio content <a class="markdownit-header-anchor" href="#4-localize-video-and-audio-content">🔗</a></h3><p>If you ever watch movies from cultures other than your own, you’ll notice they often have a very different feel and style. What works in one culture may not work in another. That’s why it’s important to <strong>update your video and audio content when you localize</strong>.</p><p>You need to consider the potential impact of localized voice-overs in instructional videos. The sense of humor or the context of storytelling elements may need to be adjusted. </p><blockquote>Remember to adjust your storytelling style when you localize video and audio content. What works in one culture may not work in another</blockquote><p>For example, imagine you've created an instructional video for a fitness app. 🏋️ The original version, created for an American audience, has an energetic and motivational coach who shouts things like "No pain, no gain!" and "Push your limits!". The background music is upbeat and intense, matching the high-energy theme.</p><p>Now, let’s say you're localizing this app for a Japanese audience. In Japan, a more subdued and respectful approach is often preferred. The loud and aggressive motivation style may be off-putting or even considered rude. This is a clear case for changing the content to match cultural expectations.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/victoriano-izquierdo-vkKzl4KsKv8-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/victoriano-izquierdo-vkKzl4KsKv8-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/victoriano-izquierdo-vkKzl4KsKv8-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/victoriano-izquierdo-vkKzl4KsKv8-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/victoriano-izquierdo-vkKzl4KsKv8-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="5-test-and-optimize">5. Test and optimize <a class="markdownit-header-anchor" href="#5-test-and-optimize">🔗</a></h3><p>Once you've adapted your app for a new market, it needs to be <a href="https://localazy.com/faq/localization/what-is-localization-testing-in-software-testing">thoroughly tested</a> before launch. </p><p>This usually means:</p><ul><li><strong>Linguistic testing</strong> – test translations among your users to ensure accuracy and cultural relevance.</li><li><strong>Functional testing</strong> – to see how your app performs when translated into different languages.</li></ul><p>Ideally, you should try to <strong>set up a feedback loop</strong> to gain insights from native speakers. One way is to ask users in your target market to beta-test the app and highlight any issues. You can also run A/B tests with different content changes to ensure the final product resonates as well as possible with the target audience.</p><h3 id="6-streamline-with-tms-integrations">6. Streamline with TMS Integrations <a class="markdownit-header-anchor" href="#6-streamline-with-tms-integrations">🔗</a></h3><p>Integrating design tools into your TMS makes your life much, much easier. The <a href="https://www.figma.com/community/plugin/964257457772706017"><strong>Localazy Figma plugin</strong></a> is useful <a href="https://localazy.com/blog/figma-series-figma-as-source-of-truth">during the early stages</a> of product development, delivering the following benefits:</p><ul><li><strong>✍️ Context for translators</strong> – Quickly upload Figma screenshots to Localazy for visual context. This helps translators understand design constraints and produce <a href="https://localazy.com/blog/agile-localization-for-ux-the-localazy-figma-plugin-changes-the-game">better translations that fit</a>.</li><li><strong>📐 Designer-friendly</strong> – Preview multilingual designs in Figma to make sure layouts work well in different languages.</li><li><strong>📲  Easy content upload</strong> – Upload content directly from Figma to Localazy to streamline the workflow and ensure that designs meet localization needs.</li><li><strong>🖇️ Design-text link</strong> – Connect designs with text source keys using screenshots, making it easier to align text with the right design elements.</li><li><strong>👁️ OCR source key detection</strong> – The <a href="https://localazy.com/dictionary/ocr-optical-character-recognition">OCR feature</a> detects and suggests source keys in screenshots, saving time and reducing manual linking.</li><li><strong>🔄 Dynamic screenshot updates</strong> – Update screenshots to match changes in Figma designs, keeping translations relevant.</li><li><strong>📸 Manage screenshots</strong> – Easily keep content up-to-date and accurate.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/christin-hume-slbqShqAhEo-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/christin-hume-slbqShqAhEo-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/christin-hume-slbqShqAhEo-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/christin-hume-slbqShqAhEo-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/christin-hume-slbqShqAhEo-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="localize-text-and-design-with-precision">✍️ Localize text & design with precision <a class="markdownit-header-anchor" href="#localize-text-and-design-with-precision">🔗</a></h2><p>The aim of localization is to create an experience that makes the user feel right at home, wherever they may be. <strong>Your app needs to do more than just speak the language – the style and tone must also fit the culture</strong>.</p><p>For a well-thought-out UX, you should include your design and UX teams in the localization process early on. A good TMS like Localazy helps to streamline the communication flow and get better results.</p><p>When you combine Localazy with the Figma plug-in, you’ll localize your app so that it both <em>sounds</em> like it belongs in your target market and <em>looks</em> like it too.</p><blockquote>🧩 Start unifying content &amp; design today with <a href="https://localazy.com/features/figma-localization-plugin">our Figma plugin</a>! To get started quickly, watch our multilingual prototyping tutorial <a href="https://www.youtube.com/watch?v=L-U51r-6yIQ&amp;t=13s">here</a>.</blockquote><h2 id="more-from-our-mythbusters-series">📚 More from our Mythbusters series <a class="markdownit-header-anchor" href="#more-from-our-mythbusters-series">🔗</a></h2><p>Read my previous myth-busting articles!</p><ul><li><a href="https://testing.localazy.com/blog/mythbusters-we-dont-have-the-budget-for-localization">We don't have the budget for localization</a></li><li><a href="https://testing.localazy.com/blog/mythbusters-our-product-has-been-localized-so-the-job-is-finished">Our product has been localized, so the job is finished</a></li><li><a href="https://localazy.com/blog/mythbusters-start-localization-once-product-is-done">We can tackle localization once the product is done</a></li><li><a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">Our users speak English, so we don’t have to localize</a></li></ul>]]></content:encoded>
            <author>Dan Martin</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/mythbusters_05.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Automations Series: Prevent translation of unwanted strings]]></title>
            <link>https://localazy.com/blog/automated-workflows-series-prevent-translation-of-unwanted-strings</link>
            <guid isPermaLink="false">automated-workflows-series-prevent-translation-of-unwanted-strings</guid>
            <pubDate>Wed, 08 Oct 2025 13:27:21 GMT</pubDate>
            <description><![CDATA[Learn to hide keys in Localazy automatically for added control. Automate workflows to hide keys based on conditions, using AI filters for checks. Enhance control and efficiency before translation takes place and transform your localization processes.]]></description>
            <content:encoded><![CDATA[<p>The option to hide keys entirely is convenient for various reasons, and it was initially designed for keys that are not intended to be translated but are supposed to appear in the output files.</p><p>There are several use cases when conditional key hiding is a great idea. Let's go through a few of them:</p><ul><li>You want to hide keys that need extra checks before they are ready for the translators. Sometimes, you only want to hide specific keys based on certain conditions.</li><li>You want to hide keys that are not supposed to be translated at all based on certain conditions, such as their key, file, or description (or a mix of all of those parameters).</li><li>You want to hide keys that, for some reason, need to be included in the output files but contain no user-facing texts - tokens, numbers, or so.</li><li>You want to hide keys that may have some issues - offensive language or low readability score - so you can check them later. That's possible with our AI-based filtering!</li></ul><p>Read the previous articles about Automations:</p><ul><li><a href="https://localazy.com/blog/automated-workflows-series-translate-content-immediately-after-uploading-with-mt">Translate Content Immediately After Uploading with MT</a></li><li><a href="https://localazy.com/blog/automated-workflows-series-fine-tune-your-ux-copy-before-translating-it">Fine-Tune Your UX Copy Before Translating It</a></li></ul><h2 id="setting-up-the-automation">⚙️ Setting up the automation <a class="markdownit-header-anchor" href="#setting-up-the-automation">🔗</a></h2><p>On your menu, under <strong>Tools</strong>, you'll find <strong>Automations</strong>. Tap on <strong>"+ New Automation"</strong> and refer to the full <a href="https://localazy.com/docs/general/automations">docs on Automations</a> if you have trouble during this process. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-07-at-18.14.33.png" class="kg-image" alt loading="lazy" width="2000" height="1164" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-07-at-18.14.33.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-07-at-18.14.33.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-07-at-18.14.33.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-07-at-18.14.33.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="1-create-the-automation">1. Create the automation <a class="markdownit-header-anchor" href="#1-create-the-automation">🔗</a></h3><p>Now, after you click on the <strong>NEW AUTOMATION</strong> button, you'll see this layout where you can configure the automation. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-07-at-18.30.01.png" class="kg-image" alt loading="lazy" width="2000" height="1422" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-07-at-18.30.01.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-07-at-18.30.01.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-07-at-18.30.01.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-07-at-18.30.01.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>You can name it as you want; I chose <strong>Hide New Keys</strong>, so it's descriptive. My new automation is ready, and we need to complete it and it'll ne on once we finish creating it. So, let's set it up.</p><p>Select the desired automated action, which is <strong>"Hide keys" </strong>and go the next step.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-07-at-18.31.55.png" class="kg-image" alt loading="lazy" width="2000" height="1437" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-07-at-18.31.55.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-07-at-18.31.55.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-07-at-18.31.55.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-07-at-18.31.55.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>We want to trigger the event if new keys are added either through <a href="/features/cli">CLI</a> or <a href="/features/translation-api">API</a> or manually, so out of the possible <strong>Trigger Events</strong>, we just need the <strong>Imported new source key or translation </strong>and<strong> </strong>the<strong> Manually created source key</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-07-at-18.34.44.png" class="kg-image" alt loading="lazy" width="2000" height="1421" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-07-at-18.34.44.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-07-at-18.34.44.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-07-at-18.34.44.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-07-at-18.34.44.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-set-up-filters">2. Set up filters <a class="markdownit-header-anchor" href="#2-set-up-filters">🔗</a></h3><p>So far, it was simple. Let's dive into the filters, which are the most exciting part here as they allow you to fine-tune the process. <a href="https://localazy.com/docs/general/automated-workflows#filters">Read more about filters in the docs</a>.</p><p>If you want to hide all keys and check every single one before it is available for translation, just check every trigger action.</p><p>What if I want to have a veto right over product descriptions (stored in <code>products.json</code>), but I want to be sure that the top products will always be translated quickly? It could look like this:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-07-at-18.45.59.png" class="kg-image" alt loading="lazy" width="2000" height="1425" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-07-at-18.45.59.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-07-at-18.45.59.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-07-at-18.45.59.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-07-at-18.45.59.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>By the way, hiding keys allows you to check them before hitting translators. That's awesome, as you have control before the translation process. </p><h3 id="3-add-or-upload-keys-to-test-it">3. Add or upload keys to test it <a class="markdownit-header-anchor" href="#3-add-or-upload-keys-to-test-it">🔗</a></h3><p>And now, you can add or upload keys. They will be automatically processed by the automation we just created. Simple.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-07-at-18.54.51.png" class="kg-image" alt loading="lazy" width="2000" height="383" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-07-at-18.54.51.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-07-at-18.54.51.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-07-at-18.54.51.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-07-at-18.54.51.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>After hitting <strong>Create</strong>, your automation will be created and turned on. You can find an overview of your created automations when you click on Automations, and you'll be able to <strong>Edit</strong>, <strong>Disable</strong>, <strong>Delete</strong>, or <strong>Duplicate</strong> them at any time.</p><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Hiding keys is a straightforward concept but a powerful feature, and together with automations, it can fundamentally transform how you approach localization. Think of it as your quality gatekeeper. It automatically catches problematic content before it hits translators, enforcing brand standards across all markets, and scaling your oversight without creating bottlenecks. </p><p>Whether you're filtering specific keys or maintaining control over critical product descriptions, these automations turn what used to be manual, time-consuming reviews into seamless automation that works 24/7. The result is cleaner source content, more efficient translators, lower costs, and localized products that consistently reflect your brand's quality standards.</p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/08/localazy-workflows-series-3.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to Localize Your Next.js Project with Localazy]]></title>
            <link>https://localazy.com/blog/nextjs-localization-with-localazy</link>
            <guid isPermaLink="false">nextjs-localization-with-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:32:47 GMT</pubDate>
            <description><![CDATA[Learn how to build a landing that implements Localazy l10 features with this popular React framework, and use Next.js's built-in i18n routing support to your advantage.]]></description>
            <content:encoded><![CDATA[<p><a href="https://nextjs.org">Next.js</a> is a React framework that provides you with building blocks that enable you to develop web applications that are both quick and efficient. In addition to providing your application with additional structure, features, and optimizations, <strong>Next.js is responsible for handling the necessary tooling and configuration for </strong><a href="https://localazy.com/tags/react"><strong>React</strong></a>. </p><p>As a framework, Next.js offers features that are useful during the development and production phases of the application-building process. </p><p>Next.js supports the use of <a href="https://localazy.com/blog/typescript-library-for-localazys-api">Typescript</a>, and with features such as <a href="https://nextjs.org/docs/app/building-your-application/configuring/eslint">Eslint</a> and <a href="https://nextjs.org/docs/architecture/fast-refresh">FastRefresh</a>, the experience is optimized for both the developer and the consumer. </p><p>Next.js includes:</p><ul><li>📂 <a href="https://nextjs.org/docs/architecture/nextjs-compiler">Its compiler</a>, which makes it possible to transform and minify codes;</li><li>🚧 its command-line interface (<a href="https://nextjs.org/docs/pages/api-reference/next-cli">CLI</a>), which allows the application to be built and started;</li><li>📨 and <a href="https://nextjs.org/docs/app/building-your-application/rendering/edge-and-nodejs-runtimes">its Node.js runtime</a>, which is used to execute the JavaScript code.</li></ul><p>This makes it possible for Next.js to <strong>handle a significant portion of these code transformations</strong> as well as the underlying infrastructure, making it simpler for your app to be deployed to production.</p><h2 id="goal">🎯 Goal <a class="markdownit-header-anchor" href="#goal">🔗</a></h2><p>Using Next.js, we will build a landing page for <a href="https://localazy.com/blog/power-of-localization-why-digital-agencies-cant-afford-to-ignore-this-service">a digital agency</a>, and as part of this tutorial, we will investigate Localazy's localization features by utilizing the concepts of Next.js internationalization.</p><h2 id="prerequisites">📏 Prerequisites <a class="markdownit-header-anchor" href="#prerequisites">🔗</a></h2><ul><li>Install <a href="https://nodejs.org/en/">Node.js</a> if you do not already have it installed. It is required that you use Node.js version 18 or a later version. You will want to install <a href="https://github.com/nvm-sh/nvm">nvm</a> and upgrade your node version to 18 or higher if you are using a version that is lower than 18.</li><li>This tutorial will require you to use your text editor and the terminal application on your device.</li><li>A fundamental understanding of React, although this tutorial will be as simple as practicable.</li></ul><blockquote>🪜 The complete code can be found in the repository on <a href="https://github.com/Marienoir/Localazy-Blog/tree/main/digital-agency">GitHub</a>; however, we will proceed to build the project step by step for this article.</blockquote><h2 id="project-bootstrap">🧑‍💻 Project Bootstrap <a class="markdownit-header-anchor" href="#project-bootstrap">🔗</a></h2><h3 id="default-config">Default config <a class="markdownit-header-anchor" href="#default-config">🔗</a></h3><p>At this stage, we will begin the process of bootstrapping a Next.js application. The following command should be executed in your terminal to create a new Next.js application. </p><p>Launch the terminal and navigate to the folder you want to use for the project from the command prompt. Execute the command:</p><pre><code>npx create-next-app digital-agency</code></pre><p>A few prompts will be displayed, and we will choose all the default configurations before proceeding.  After this, an application for <strong>digital-agency</strong> will be created.</p><p>The file structure should be similar to the one shown below.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/crqaCC6sv26TjdzPt2ZY_NxE96NCNW3a5J-IQ7hqwTqgF6NnpsLLkEYovw_y8sa7rAv7zxLhAkM119HpWhWC7E2N4pX58HIwRJQUyw01R_D7opsGB-3rS3KlRS9d6OXx9HISOttscapbACq_lH0Jr-U" class="kg-image" alt loading="lazy"></figure><p>You can start the application's development server with the following command:</p><pre><code>npm run dev</code></pre><p>Our new Next.js application will be accessible at <a href="http://localhost:3000">http://localhost:3000</a>. We can now modify the <strong>app/page.tsx</strong> file to create our landing page.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/nsateChTMidtM4aIEgUhUk1T5JXv6e47chnltegXY2PW_cMEQz32AP0N5JJvWNYRlRCpEP8B0bXZ0eQ9TqBzsmvaJDkcttwWVc488FOGi8ojj_G-01QBdNL8JaPVYipbe99JtV53gRrhbfwEWKLZsxg" class="kg-image" alt loading="lazy"></figure><h3 id="add-source-content">Add source content <a class="markdownit-header-anchor" href="#add-source-content">🔗</a></h3><p>Within this section, we will make modifications to the landing page and add content that is written in English.</p><p>You can edit the <strong>app/page.tsx</strong> file to include the following code snippets:</p><pre><code>import Image from "next/image";

export default function Home() {
 return (
   &lt;main className="max-w-5xl m-auto min-h-screen flex-col items-center justify-between pt-20 pb-24"&gt;
     &lt;div className="max-w-5xl w-full items-center justify-between font-mono text-sm lg:flex mb-2"&gt;
       &lt;div className="flex items-center"&gt;
         &lt;Image
           src="/logo.svg"
           alt="Next.js Logo"
           width={50}
           height={137}
           priority
         /&gt;
         &lt;p&gt;DePRO&lt;/p&gt;
       &lt;/div&gt;

       &lt;div&gt;
         &lt;ul className="items-center justify-between font-mono text-sm lg:flex"&gt;
           &lt;li className="px-5 border-b-2 border-red-600"&gt;Home&lt;/li&gt;
           &lt;li className="px-5"&gt;Services&lt;/li&gt;
           &lt;li className="px-5"&gt;Portfolio&lt;/li&gt;
           &lt;li className="px-5"&gt;About&lt;/li&gt;
           &lt;li className="px-5"&gt;Contact&lt;/li&gt;
         &lt;/ul&gt;
       &lt;/div&gt;
     &lt;/div&gt;

     &lt;div className="max-w-5xl w-full items-center justify-between font-mono text-sm lg:flex"&gt;
       &lt;div&gt;
         &lt;h1 className="text-5xl w-9/12"&gt;Digital Solution At It's Peak&lt;/h1&gt;
         &lt;button className="my-6 p-3 border-4 border-red-600 px-4"&gt;
           Get Started
         &lt;/button&gt;
       &lt;/div&gt;
       &lt;div&gt;
         &lt;Image
           src="/background.svg"
           alt="Next.js Logo"
           width="500"
           height={137}
           priority
         /&gt;
       &lt;/div&gt;
     &lt;/div&gt;

     &lt;div className="flex"&gt;
       &lt;div className="p-5 bg-red-800"&gt;
         &lt;Image src="/pd.svg" alt="Next.js Logo" width={50} height={37} /&gt;
         &lt;p className="my-8 border-b-2 pb-2 border-red-500"&gt;
           Product Design.{" "}
         &lt;/p&gt;
         &lt;p&gt;
           The goal of product design is to bridge the gap between user needs
           and business objectives resulting in products that are not only
           visually appealing but also functional.
         &lt;/p&gt;
       &lt;/div&gt;
       &lt;div className="p-5 bg-gray-900 mx-2"&gt;
         &lt;Image src="/no-code.svg" alt="Next.js Logo" width={50} height={37} /&gt;
         &lt;p className="my-8 border-b-2 pb-2 border-red-500"&gt;No-Code Dev.&lt;/p&gt;
         &lt;p&gt;
           Also known as no-code programming or visual development, is a
           rapidly growing approach to software development that enables
           individuals with little or no coding experience to create functional
           apps.
         &lt;/p&gt;
       &lt;/div&gt;
       &lt;div className="p-5 bg-gray-900 "&gt;
         &lt;Image
           src="/solution.svg"
           alt="Next.js Logo"
           width={50}
           height={37}
         /&gt;
         &lt;p className="my-8 border-b-2 pb-2 border-red-500"&gt;
           Innovative Solutions.
         &lt;/p&gt;
         &lt;p&gt;
           Innovative Solutions is the creative and original approaches,
           strategies, products, or services that address problems, meet needs,
           or provide improvements in various fields.
         &lt;/p&gt;
       &lt;/div&gt;
     &lt;/div&gt;
   &lt;/main&gt;
 );
}</code></pre><p><a href="https://tailwindcss.com">Tailwind CSS</a> is utilized for styling in the code above. You should now see the following page when you visit <code>http://localhost:3000</code><br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/S_dMlBVfykDv_GKO9EY2GEVxx7zD06hB-HuXJrEEHkgHkFUfIATRt769Az23qjlANEd3R_-4yKPbfP244Od1jOgEeWcLItYcc8r7LU0HJZJpXtB_zr73TVNvLwGqi8qkh_2nT_3qDS6zjW0jqin-gVc" class="kg-image" alt loading="lazy"></figure><h3 id="next-intl-installation">Next-intl installation <a class="markdownit-header-anchor" href="#next-intl-installation">🔗</a></h3><p>In this step, we will use the <a href="https://nextjs.org/docs/pages/building-your-application/routing/internationalization">Next.js built-in internationalization routing support</a>. Internationalization is an important aspect of web development because it allows us to reach a global audience by allowing users who prefer content in their native language to access our application. By focusing on users underserved by businesses that only offer services in English, it becomes simple to carve out a niche. 🔦</p><p>This article will make use of the <a href="https://next-intl-docs.vercel.app/">next-intl </a>library, which is one of several existing libraries that support Next.js internationalization. Other libraries that support Next.js internationalization include <em>next-i18n</em>, <em>next-multilingual</em>, and <em>next-translate</em>, amongst others.</p><p>It is necessary for us to install next-intl before we can get started.</p><pre><code>npm install next-intl</code></pre><p>Create a file called <strong>i18n.ts</strong> in the root directory and a request configuration, as shown below.</p><pre><code class="language-javascript">import { getRequestConfig } from "next-intl/server";

export default getRequestConfig(async ({ locale }) =&gt; {
    return {
        messages: (await import(`./locales/${locale}.json`)).default,
    };
});</code></pre><p>The next step is to include the following code snippets in the <strong>next.config.ts</strong> file.</p><pre><code class="language-javascript">/** @type {import('next').NextConfig} */
const nextConfig = {}

const withNextIntl = require('next-intl/plugin')('./i18n.ts');

module.exports = withNextIntl(nextConfig);</code></pre><p>Through this process, the plugin is configured, and an alias is created in order to import your i18n configuration into Server Components.</p><p>In the root directory of our project, we would create a <em>locales</em> folder. The folder will serve as a repository for the various translations that are contained within the application. Create a file called <strong>en.json</strong> within the locales folder. This file should contain the English translation, which is the default language.</p><pre><code class="language-javascript">{
    "home": "Home",
    "services": "Services",
    "portfolio": "Portfolio",
    "about": "About",
    "contact": "Contact",
    "title": "Digital Solution At It’s Peak",
    "button": "Get Started",
    "productDesignTitle": "Product Design",
    "productDesignDescription": "The goal of product design is to bridge the gap between user needs and business objectives resulting in products that are not only visually appealing but also functional.",
    "noCodeTitle": "No-Code Dev.",
    "noCodeDescription": "Also known as no-code programming or visual development, is a rapidly growing approach to software development that enables individuals with little or no coding experience to create functional apps.",
    "innovativeTitle": "Innovative Solutions.",
    "innovativeDescription": "Innovative Solutions is the creative and original approaches, strategies, products, or services that address problems, meet needs, or provide improvements in various fields."
}</code></pre><p>Within the <strong>app/page.tsx</strong>, we would import <em>useTranslations</em> from the <em>next-intl</em> package and edit the hardcoded strings with the respective keys within the <em>en.json</em> file.</p><p>Ensure that the dynamic keys match the intended string content used earlier. The code snippet can be seen below:</p><pre><code class="language-javascript">import React from "react";
import { useTranslations } from "next-intl";
import Image from "next/image";

function Home() {
  const t = useTranslations();

  return (
    &lt;main className="max-w-5xl m-auto min-h-screen flex-col items-center justify-between pt-20 pb-24"&gt;
      &lt;div className="max-w-5xl w-full items-center justify-between font-mono text-sm lg:flex mb-2"&gt;
        &lt;div className="flex items-center"&gt;
          &lt;Image
            src="/logo.svg"
            alt="Next.js Logo"
            width={50}
            height={137}
            priority
          /&gt;
          &lt;p&gt;DePRO&lt;/p&gt;
        &lt;/div&gt;

        &lt;div&gt;
          &lt;ul className="items-center justify-between font-mono text-sm lg:flex"&gt;
            &lt;li className="px-5 border-b-2 border-red-600"&gt;{t("home")}&lt;/li&gt;
            &lt;li className="px-5"&gt;{t("services")}&lt;/li&gt;
            &lt;li className="px-5"&gt;{t("portfolio")}&lt;/li&gt;
            &lt;li className="px-5"&gt;{t("about")}&lt;/li&gt;
            &lt;li className="px-5"&gt;{t("contact")}&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div className="max-w-5xl w-full items-center justify-between font-mono text-sm lg:flex"&gt;
        &lt;div&gt;
          &lt;h1 className="text-5xl w-9/12"&gt;{t("title")}&lt;/h1&gt;
          &lt;button className="my-6 p-3 border-4 border-red-600 px-4"&gt;
            {t("button")}
          &lt;/button&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;Image
            src="/background.svg"
            alt="Next.js Logo"
            width="500"
            height={137}
            priority
          /&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div className="flex"&gt;
        &lt;div className="p-5 bg-red-800"&gt;
          &lt;Image src="/pd.svg" alt="Next.js Logo" width={50} height={37} /&gt;
          &lt;p className="my-8 border-b-2 pb-2 border-red-500"&gt;
            {t("productDesignTitle")}{" "}
          &lt;/p&gt;
          &lt;p&gt;{t("productDesignDescription")}&lt;/p&gt;
        &lt;/div&gt;
        &lt;div className="p-5 bg-gray-900 mx-2"&gt;
          &lt;Image src="/no-code.svg" alt="Next.js Logo" width={50} height={37} /&gt;
          &lt;p className="my-8 border-b-2 pb-2 border-red-500"&gt;
            {t("noCodeTitle")}
          &lt;/p&gt;
          &lt;p&gt;{t("noCodeDescription")}&lt;/p&gt;
        &lt;/div&gt;
        &lt;div className="p-5 bg-gray-900 "&gt;
          &lt;Image
            src="/solution.svg"
            alt="Next.js Logo"
            width={50}
            height={37}
          /&gt;
          &lt;p className="my-8 border-b-2 pb-2 border-red-500"&gt;
            {t("innovativeTitle")}
          &lt;/p&gt;
          &lt;p&gt;{t("innovativeDescription")}&lt;/p&gt;
      &lt;/div&gt;
      &lt;/div&gt;
    &lt;/main&gt;
  );
}

export default Home;
</code></pre><p>At this stage, you should get a 404 page not found error. This should be resolved in the subsequent steps.</p><p>Create a <strong>middleware.ts</strong> file that contains a list of the locales that the project will support, as well as a config matcher for the paths.</p><pre><code class="language-javascript">import createMiddleware from "next-intl/middleware";

export default createMiddleware({
  locales: ["en", "de", "fr", "cs"], // A list of all supported locales
  defaultLocale: "en",
});

export const config = {
  matcher: ["/", "/(de|en|cs|fr)/:path*"],
};
</code></pre><p>We will create a new folder within the app folder that will be referred to as <strong>[locales]</strong>, and then we will transfer all of the files that are contained within the app into the [locales] folder. This will resolve the issue of the 404 page not found error.</p><p>The file structure should look like this:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/DczVcjY8_4cypkvCWfumy4iCGJpIUr3JqExOa91a8R9CH_BkWZLP4lcCbzOlJ8ng1zsF7IhYnCmPEpc8WRC21alIs2xR_nRLu46JteumiEsOqbQ4kdiNUOnP0nWNfl8pxLQOhZ5bdjXHZcyOS6BtccI" class="kg-image" alt loading="lazy"></figure><p>Create a component within the <strong>app/[locales]</strong> folder called <strong>LanguageSwitcher</strong>. This component will use a function that handles change using a react-select package to handle the language switch between locales.</p><p>Import react-select as an npm package <code>npm i react-select</code></p><pre><code class="language-javascript">"use client";

import { useRouter } from "next/navigation";
import { useState } from "react";
import Select from "react-select";

const LanguageSwitcher = () =&gt; {
  const [selectedOption, setSelectedOption] = useState({
    value: "en",
    label: "English",
  });
    
  const router = useRouter();
  const languageOptions = [
    { value: "en", label: "English" },
    { value: "de", label: "German" },
    { value: "cs", label: "Czech" },
    { value: "fr", label: "French" },
  ];

  const handleChange = (selectedOption: any) =&gt; {
    setSelectedOption(selectedOption);
    router.push(`/${selectedOption.value}`);
  };

  return (
    &lt;Select
      className="bg-gray-900 border-none"
      options={languageOptions}
      value={selectedOption}
      onChange={handleChange}
      isSearchable={false}
    /&gt;
  );
};

export default LanguageSwitcher;
</code></pre><p>Within the <code>page.tsx</code> file, include the <em>LanguageSwitcher</em> component just below the navigation links.</p><pre><code class="language-javascript">import React from "react";
import { useTranslations } from "next-intl";
import Image from "next/image";
import LanguageSwitcher from "./languageSwitcher";

function Home() {
  const t = useTranslations();

  return (
    &lt;main className="max-w-5xl m-auto min-h-screen flex-col items-center justify-between pt-20 pb-24"&gt;
      &lt;div className="max-w-5xl w-full items-center justify-between font-mono text-sm lg:flex mb-2"&gt;
        &lt;div&gt;
          &lt;ul className="items-center justify-between font-mono text-sm lg:flex"&gt;
           // .....
          &lt;/ul&gt;
        &lt;/div&gt;
          &lt;LanguageSwitcher /&gt; // include this new line to code
      &lt;/div&gt;
      // ....
    &lt;/main&gt;
  );
}

export default Home;
</code></pre><p>The English translation is accessible if you run the application server at this moment; however, the translations for the other languages are not accessible.</p><p>We would handle the localization of our Nextjs application using localazy.</p><h2 id="localazy-integration">🚩 Localazy Integration <a class="markdownit-header-anchor" href="#localazy-integration">🔗</a></h2><blockquote>Localazy is a universal <a href="https://localazy.com/dictionary/translation-management-system-tms">translation management platform</a> that supports a wide range of frameworks and formats via its <a href="https://localazy.com/docs/cli">command-line interface</a>. </blockquote><p>A new application would need to be created on your dashboard, and we would need to sign up or register for a <a href="https://localazy.com/my/dashboard">Localazy account</a>. At the integration screen, you can search for Next.js and select its integration.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/DY28J2pfPgUcq1M3UxZvjZIEhwh7vhHTt1ufYfuL82OORWXa504fXd2yvkvCjPkd5CpWQPf5DcPK7_4clTDb8dlP9jKvy_A6cgC8_PR09SjVjyuU_rDQA1WBUenpyzOXmFUvEwEkw3mCmwlQOI1ra4M" class="kg-image" alt loading="lazy"></figure><p>As can be seen in the above image, there are several ways to incorporate Next.js into our project. But for developers who wish to automate localization as part of their workflow, the Command Line Interface is the best option because it is simpler.</p><h3 id="install-localazy-cli">Install Localazy CLI <a class="markdownit-header-anchor" href="#install-localazy-cli">🔗</a></h3><p>In the first step of this process, we will install the <a href="https://localazy.com/docs/cli/installation">Localazy CLI</a> for your operating system. There are several methods for doing this; in this case, we will install it as an NPM package.</p><pre><code>npm install -g @localazy/cli</code></pre><h3 id="create-the-localazyjson-config-file">Create the localazy.json config file <a class="markdownit-header-anchor" href="#create-the-localazyjson-config-file">🔗</a></h3><p>In the project's root directory, create a configuration file called <strong>localazy.json</strong>. By using the access key located on the project settings tab, authorization keys are available in this file. Additionally, it contains code snippets that specify how files should be located and how to upload and download content.</p><pre><code class="language-javascript">{
    "writeKey": "appWriteKey",
    "readKey": "appReadKey",

    "upload": {
        "type": "json",
        "files": "locales/en.json"
    },
    "download": {
    	"files": "locales/${lang}.json"
    }
}</code></pre><h3 id="upload-source-strings">Upload source strings <a class="markdownit-header-anchor" href="#upload-source-strings">🔗</a></h3><p>Use the Localazy upload command to upload the source string. We could incorporate the Localazy commands into the package.json scripts to maintain command consistency.</p><pre><code class="language-javascript">"scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint",
    "upload": "localazy upload", //localazy command to upload content
    "download": "localazy download" //localazy command to download content
},</code></pre><p><br>To upload our source content to the Localazy project, run:</p><pre><code class="language-bash">npm run upload</code></pre><h3 id="translate-with-localazy">Translate with Localazy <a class="markdownit-header-anchor" href="#translate-with-localazy">🔗</a></h3><p>After refreshing your application, you should be able to see the English language on the list.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/XkMsh9IwpqJbgbjstGhpUsiWkS4JGl2my8So80xkQlK-CJr2MIlCib2gnfv9XErsAvOITnJR4ctiZXImzGrkvjOXopQfDQ1nQ3WplRN16X6X43rFMkWzNfKXF6S3-OaIbSlylTqniugZ0XWC6PjDlQs" class="kg-image" alt loading="lazy"></figure><p>Then, select <em>Add Languages</em> from the dashboard and include as many languages as you can. In this case, the contents would be translated into <strong>Czech</strong> (cs), <strong>German</strong> (de), and <strong>French</strong> (fr).</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/5-etzgzSDNQC2aIo8gEyOp28VaclP8F13wgRGR77c-cwn0Sk4G924wu3N2CFubz_2zqvbChlGUYklzwT_FuSlJXdvwYrWdHK5MxdQcV92yxIrIk05Yxt3PwWH44Ni8jps9uKO9opPFB3JeUuKk2PdEs" class="kg-image" alt loading="lazy"></figure><p>For the translation of your project, Localazy provides three options that you can select and combine:</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors </strong>-<strong> </strong>You can <a href="https://localazy.com/docs/general/translating-strings" rel="noopener noreferrer">start translating on your own</a> and use our built-in suggestion system.</li><li>🦾 <strong>Translate everything in bulk via machine translation </strong>-<strong> </strong>With the Localazy <a href="https://localazy.com/tiers/professional">Professional plan</a>, you can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate" rel="noopener noreferrer">running a machine translation over the content</a>. This is great for the first iteration and localization testing of any project.</li><li>🚩 <strong>Fully automate the translation process with the </strong><a href="https://localazy.com/features/continuous-localization-team" rel="noopener noreferrer"><strong>Continuous Localization</strong></a><strong> services</strong> - Once your Localazy integration is set up, you can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to check the progress.</li></ol><blockquote>🗣️ Go to the <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow#translate-your-strings-with-localazy">Localazy CLI guide </a>to learn more about uploading and downloding your strings.</blockquote><h3 id="download-translations">Download translations <a class="markdownit-header-anchor" href="#download-translations">🔗</a></h3><p>We can use the download command in order to download the translations. Enter the following command into the terminal and execute it:</p><pre><code>npm run download</code></pre><p>Specifying the location where the translated files should be saved is determined by the download object. With a <em>.json</em> extension, the translated files would be stored in the locales folder.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/8Esn5Vsp0byVWQiv4oYgHnvqITni7SUjwjfKQLiFAvJKLuOflTpkP23kLEcyNTUE9OCTRQ6U2gJcYqHxy7yLA85F03HZo8O6S_EKc043EvHherrH5zQSuhKqMDHFwAjySCuWSQiBLjnB4J1f4MhuQ1k" class="kg-image" alt loading="lazy"></figure><p>The web page's user interface now allows you to switch between languages, and the content of the page will change according to the language you select:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/yhxCuB07zqf_rKuaSs2-hmrf_kNYWhiilhFeH7puaKjbdqHI66LhKGyaQP_So3844wAUXbyXFlFWFmUc9wOqAKiCbBQhkEl6WzsZtSL2fXHO4F0gLYRrX_FMeBM8dHfzVbwRSdnI7kZVXHIF_H5vfTE" class="kg-image" alt loading="lazy"><figcaption>French version of the application.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/olwb3tMiZsK11YaP6PpZzi-Ef4WKFJJMIIB8MrpNaTBRGwUJq_VlZmEGMnXrkjnHPKwHapERU2lXPl-vHnG1nK9HlQlYhUN7QD01RiOKAwD3WUiiYzpxcZQB596toBLmZbLxRq7m-rVRtyV7AW0UFX8" class="kg-image" alt loading="lazy"><figcaption>Czech content applied to the page.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/J8Pz2D4RJktdWRl6Y6mpJQ6kUnMThpbbIFt7GnV1P206QMfkt18nDcMg_r5SnAWWIoJtrPcNLt91gLFUCTq7yiHNqwbgSVp3m1zgz78W5U70D9HWG-Zem886qNa3TGDJab8WswF2j9XEJwZQUJBsQbw" class="kg-image" alt loading="lazy"><figcaption>German version...</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/4KdYhdGaf31dfweRRl0hZ3Y2iHlrFfRtBhhvmqP7fLxY1-0nYuwYcy-kllvfbCgSdAfa3XEqYcjGXdivy1bG9C4Zzv5_W-l4nA5byM2oYUP0hbb8dOki5FRm6tYHg5NCdTEdA_XhI3Derc1zjPjFe6c" class="kg-image" alt loading="lazy"><figcaption>...and the website in English.</figcaption></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Through the course of this article, we've gained knowledge on how to build a Next.js application, how to manage internationalization by utilizing the next-intl library, and how to localize the content of our application by utilizing Localazy. We hope this helped! The complete code can be found in the <a href="https://github.com/Marienoir/Localazy-Blog/tree/main/digital-agency">GitHub repository</a>.</p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/Group-8.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: January 2024 Improvements & Fixes]]></title>
            <link>https://localazy.com/blog/release-update-january-2024</link>
            <guid isPermaLink="false">release-update-january-2024</guid>
            <pubDate>Wed, 07 Feb 2024 17:26:16 GMT</pubDate>
            <description><![CDATA[Wondering what's new in Localazy? Check out the Release Update summarizing the January improvements. ]]></description>
            <content:encoded><![CDATA[<p>The first month of the new year is over, and the improvements our product team has shipped hint that we are back at full speed. Read more about the new user-inspired improvements to the Localazy platform.</p><h2 id="new-localazyjson-configurator">🗳️ New localazy.json configurator <a class="markdownit-header-anchor" href="#new-localazyjson-configurator">🔗</a></h2><p>The <code>localazy.json</code> is the most important file, ensuring that the <a href="https://localazy.com/features/cli">Localazy CLI</a> can upload and download your localizable files how you want them to. </p><p>The CLI can process over <a href="https://localazy.com/integrations">25 file formats</a> and their variants, and there are endless options to structure the file so the CLI adapts to your stack and pipeline. To help you with this setup, we are introducing a "configuration configurator." 😅</p><p>See the example below for Android. You can just check the desired features and add the path to your app files to generate a configuration tailored to your Android project. Do you wish to convert your <a href="https://localazy.com/blog/convert-android-xml-ios-strings-format-conversions-localazy">Android XML to iOS .strings</a>? Just check the box. ☑️   </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-21.png" class="kg-image" alt loading="lazy" width="1010" height="939" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/image-21.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/image-21.png 1000w, https://ghost.localazy.com/content/images/2024/01/image-21.png 1010w" sizes="(min-width: 720px) 720px"></figure><h2 id="source-key-counts-on-the-dashboard">🧮 Source key counts on the dashboard <a class="markdownit-header-anchor" href="#source-key-counts-on-the-dashboard">🔗</a></h2><p>Your dashboard now provides a clear overview of the <a href="https://localazy.com/faq/localazy-accounts/what-are-source-keys">source keys</a> used by each project and the sum of your organization against your limit. </p><p>Need more source keys? <a href="/pricing">Upgrade your plan now</a>. 🤝 </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-24.png" class="kg-image" alt loading="lazy" width="1546" height="480" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/image-24.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/image-24.png 1000w, https://ghost.localazy.com/content/images/2024/01/image-24.png 1546w" sizes="(min-width: 720px) 720px"></figure><h2 id="onboarding-guide-for-new-users">👋 Onboarding guide for new users <a class="markdownit-header-anchor" href="#onboarding-guide-for-new-users">🔗</a></h2><p>Are you new to Localazy? Learn how to navigate the platform in five simple steps. We plan to add more of these guides where appropriate to help you discover more advanced use cases. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/01/image-25.png" class="kg-image" alt loading="lazy" width="2000" height="1109" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/image-25.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/image-25.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/image-25.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/image-25.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>You can try this guide by creating a new project and uploading some strings.&nbsp;</figcaption></figure><h2 id="review-and-translate-buttons-facelift">🫧 Review and Translate buttons facelift <a class="markdownit-header-anchor" href="#review-and-translate-buttons-facelift">🔗</a></h2><p>We hope you like the new look of the different language button states.<br><br>You can clearly see that Czech is completely done, German is translated but needs a review, and Spanish translation has not started yet.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-26.png" class="kg-image" alt loading="lazy" width="2000" height="727" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/image-26.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/image-26.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/image-26.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/image-26.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>And if your project shows you that 17% of your source keys are duplicities, try the <a href="https://localazy.com/blog/introducing-the-duplicity-linking-feature-software-localization">Duplicity Linking feature</a> to save money and time on translating the same strings repeatedly.</p><h2 id="more-improvements">🤩 More Improvements <a class="markdownit-header-anchor" href="#more-improvements">🔗</a></h2><ul><li>Added menu link to <a href="https://localazy.com/docs/general/translating-plurals">Custom Plurals settings</a> in Console</li><li>Improved parsing of <a href="https://localazy.com/docs/cli/xliff-12-format">XLIFF</a> and <a href="https://localazy.com/docs/cli/po-format">PO files</a></li><li>Added tooltips with exact time stamps to relative time fields</li><li>Added download buttons to the language list and file detail page</li></ul><h2 id="and-fixes">👷‍♂️ And Fixes <a class="markdownit-header-anchor" href="#and-fixes">🔗</a></h2><ul><li><a href="https://localazy.com/docs/general/importing-localization-files#upload-files-manually">File uploads</a> should result in fewer errors</li><li>Searching by key in <a href="https://localazy.com/docs/general/screenshots">Screenshots</a> works properly now</li><li>Improved performance of autocomplete fields</li><li>Fixed <a href="https://localazy.com/docs/cdn/cdn-introduction">CDN/OTA</a> billing states for projects with legacy settings</li><li>Fixed legacy <a href="https://localazy.com/pricing">subscription plans</a> display in Billing Overview</li><li>Removed text field autofocus in <a href="https://localazy.com/docs/general/reviewing-translations">review sessions</a></li><li>Fixed that translators can't display other source languages if they don't have <a href="https://localazy.com/docs/general/language-permissions">language permissions</a> for them</li><li>URL <a href="https://localazy.com/docs/general/qa-checks">translation validator</a> should no longer highlight parts of texts outside of the URL</li><li>Removed the <a href="https://localazy.com/docs/general/csv-import-export">CSV Import/Export</a> from the project menu, which confused new users. The feature is still available in the Console</li></ul><h2 id="in-case-you-missed-it">🥹 In case you missed it <a class="markdownit-header-anchor" href="#in-case-you-missed-it">🔗</a></h2><h3 id="xcstrings-and-tmx-formats-support-added">.xcstrings and .tmx formats support added <a class="markdownit-header-anchor" href="#xcstrings-and-tmx-formats-support-added">🔗</a></h3><p>In January, we’ve also rolled out an update that will make your localization efforts even smoother. Localazy supports <a href="https://localazy.com/docs/cli/xcstrings-format">Xcode String Catalogs (.xcstrings)</a> and <a href="https://localazy.com/docs/cli/tmx-format">Translation Memory eXchange (TMX) </a>formats.</p><h3 id="automated-workflows-articles-series">Automated Workflows Articles Series <a class="markdownit-header-anchor" href="#automated-workflows-articles-series">🔗</a></h3><p>Two articles from our Automated Workflows Series have been published, with more coming in the following weeks!</p><ol><li><a href="https://localazy.com/blog/automated-workflows-series-translate-content-immediately-after-uploading-with-mt">Translate Content Immediately After Uploading with MT</a></li><li><a href="https://localazy.com/blog/automated-workflows-series-fine-tune-your-ux-copy-before-translating-it">Fine-Tune Your UX Copy Before Translating It</a></li></ol><p>In the following installments, you will learn why and how to hide and show keys based on conditions, delete deprecated keys automatically, and dive deep into various filters you can use in your workflows (with AI!), so stay tuned.</p><h3 id="trends-to-look-out-for-in-2024">Trends to look out for in 2024 <a class="markdownit-header-anchor" href="#trends-to-look-out-for-in-2024">🔗</a></h3><p>Constant evolution in the language industry keeps localizers on their toes, especially since the advent of LLMs and MT. Find out the 6 trends that we can expect for the forthcoming year.</p><p>Read the article about <a href="/blog/six-localization-trends-to-look-out-for-in-2024">Six Localization Trends to Look Out For in 2024</a> by the amazing <a href="https://localazy.com/blog/author/michal-kessel-shitrit">Michal Kessel Shitrit</a>.</p><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>And that's all for this month! We hope you like the improvements, and we look forward to what our product team plans for the next releases. Remember, your feedback is crucial for further development of Localazy, so please share it with us!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/Release-update-january-2024.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Six localization trends to look out for in 2024]]></title>
            <link>https://localazy.com/blog/six-localization-trends-to-look-out-for-in-2024</link>
            <guid isPermaLink="false">six-localization-trends-to-look-out-for-in-2024</guid>
            <pubDate>Fri, 20 Dec 2024 10:42:06 GMT</pubDate>
            <description><![CDATA[Constant evolution in the language industry is keeping localizers on their toes, especially since the advent of LLMs and MT. This is what we can expect for the forthcoming year.]]></description>
            <content:encoded><![CDATA[<p>Last year was nothing short of a tech thriller, with LLMs and MT <a href="https://medium.com/@gelareh.taghizadeh_63525/a-review-of-2023s-most-impressive-large-language-models-llms-460fe3115f6c">making waves in the industry</a>, and a growing focus on user experiences in localization. For better or for worse, these dramatic shifts are reshaping how we think about digital product localization. It’s exciting but, let's be honest, a bit daunting too. Everyone in the industry, from the most seasoned pros to the newcomers, <a href="https://slator.com/will-the-term-translator-disappear/">is on their toes</a>, wondering what's next.</p><h2 id="whats-in-store-for-us-in-2024">🔮 What's in store for us in 2024? <a class="markdownit-header-anchor" href="#whats-in-store-for-us-in-2024">🔗</a></h2><p>The next year is shaping up to be an exciting one for our industry, with <strong>all signs pointing towards a significant growth spurt</strong>. 📈 Stats refer to somewhere between a <a href="https://www.technavio.com/report/software-localization-market-industry-analysis">7.51%</a> to <a href="https://finance.yahoo.com/news/software-localization-market-reach-15-140100165.html">10.6%</a> CAGR until 2032. A surge in demand for quality localized apps and software, together with the need to provide seamless <a href="https://localazy.com/tags/ux">user experiences</a>, fuel the growth of the market. It’s simple, really: businesses are more eager than ever to cross borders and connect with new audiences.</p><p>With such a fast and dramatic transformation, it’s becoming hard to navigate the changing landscape. To help you get an idea of where things are going, I’ve prepared six trends you should keep your eye on this upcoming year.</p><h3 id="1-a-stronger-machine-human-synergy">1. A stronger machine + human synergy 🦾  <a class="markdownit-header-anchor" href="#1-a-stronger-machine-human-synergy">🔗</a></h3><p>Companies are starting to grasp the importance of this partnership between human intelligence and AI technology. This is especially true when it comes to creating top-notch multilingual user experience (UX) content. Language professionals <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">are discovering new ways to work alongside AI</a>, leveraging its generative features, data analysis capabilities, and speed to enhance creative and cultural insights.</p><p><strong>This collaboration promises to <a href="https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization">streamline workflows</a> and help localization teams produce better results faster</strong>. For the teams who learn how to make smart use of this tech, it becomes a game-changer in content production. Mind you, it’s not replacing human talent as some initially feared. Instead, it acts as a powerful tool that elevates and accelerates human skills so that they can focus on the more intricate aspects of language, culture, and localization.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/AdobeStock_650345093.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1356" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/AdobeStock_650345093.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/AdobeStock_650345093.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/AdobeStock_650345093.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/AdobeStock_650345093.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-localizers-becoming-part-of-the-team">2. Localizers becoming part of the team 🤝  <a class="markdownit-header-anchor" href="#2-localizers-becoming-part-of-the-team">🔗</a></h3><p>More and more companies are keen on setting up their own teams of localization professionals, at least for their primary markets. By building an in-house team, companies are tightening the reins on their localization processes, getting full control over the workflow, the skillset of each team member, and <a href="https://localazy.com/blog/7-ways-to-make-your-company-more-localization-friendly">the collaboration between everyone involved</a>. 🏇 Having each team member fully immersed in the company culture and goals helps customize the results based on the company’s needs so that every piece of localized content aligns perfectly with the brand's voice and the specific nuances of each market. This way, <strong>organizations can keep a consistent and authentic brand voice across different languages and regions</strong>, which is crucial in today's global market.</p><p>But that’s not all: having these specialists on board as part of the team means <strong>localization becomes an integral part of the product development cycle</strong>. Localization managers and linguists work hand in hand with product developers, marketers, and designers. This approach not only streamlines communication and decision-making but also speeds up the process, allowing companies to react and adapt quickly to new market demands or cultural nuances. This means products hit the market faster and are better received by their audiences.</p><h3 id="3-improvements-in-mt-output-for-ux">3. Improvements in MT output for UX 🤖  <a class="markdownit-header-anchor" href="#3-improvements-in-mt-output-for-ux">🔗</a></h3><p>Thanks to increasingly sophisticated algorithms and neural networks, <strong>MT is becoming more adept at understanding and replicating the nuances of human language</strong>. The more companies use them, the better they get, as a lot of the content translated by humans gets reused as training materials for the engine. This ongoing learning process means that the quality of MT-generated content is reaching new heights - even when it comes to short-form UX content.</p><blockquote>Machine-translated generated content is reaching new heights as more companies test these algorithms and neural networks for translations</blockquote><p>As MT technologies become more proficient in handling this type of content, businesses can further streamline localization processes. They can shift the focus of their human workforce to critical aspects of the experience, such as cultural compatibility and design placement. 🔍 This means faster turnaround times, and sometimes even reduced costs. And it opens up new possibilities for creating more <a href="https://localazy.com/tags/locales">engaging, culturally-relevant experiences</a> that would reach bigger audiences worldwide.</p><h3 id="4-a-shift-from-translation-to-qa">4. A shift from translation to QA 🕵️‍♀️  <a class="markdownit-header-anchor" href="#4-a-shift-from-translation-to-qa">🔗</a></h3><p>With MT engines handling the initial heavy lifting of creating those draft translations, human translators can channel their skills toward refining and polishing these outputs. This shift means that translators are spending less time on the basic groundwork of translation and more on ensuring that the final content is contextually and culturally appropriate. The focus is on elevating the overall user experience, making sure that every translated piece doesn't just read right, but also <em>feels</em> right to the end-user. This change is a big deal.</p><p><strong>Translators are gradually becoming quality guardians</strong>, with their expertise now applied in a more targeted way. They review and adjust MT suggestions, ideally in context, to ensure that every headline, button, and paragraph hits their mark. This approach, naturally, will enrich and enhance the experience for international users. This shift underscores the critical role of <a href="https://localazy.com/blog/guide-localazy-translation-services">human touch in the localization process</a>, even with technology so heavily used.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/AdobeStock_720362715.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1368" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/AdobeStock_720362715.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/AdobeStock_720362715.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/AdobeStock_720362715.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/AdobeStock_720362715.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="5-two-very-different-l10n-approaches">5. Two very different l10n approaches 🧠  <a class="markdownit-header-anchor" href="#5-two-very-different-l10n-approaches">🔗</a></h3><p>There have always been two groups in <a href="https://localazy.com/term/software-localization">app and software localization</a>. But recently, we're seeing these two camps becoming more and more distinct in approaches.</p><ul><li>⚙️ On one side, some products are being localized <strong>purely for functional understanding</strong>. It's a no-frills, straightforward strategy, where the investment is more about covering basic communication rather than delving into the nuances of user experience. This method is particularly prevalent among products where the main claim to fame isn’t the experience but something else, like an innovative solution or a significant saving in cost.</li><li>🏄‍♀️ On the other end of the spectrum, we're witnessing a growing emphasis on localization that goes beyond just being understood. Companies in this group are investing in <strong>creating a great experience for international users</strong>. They recognize that an authentic, culturally-tuned user experience can be a major differentiator for them in global markets because their unique value proposition is impacted by the quality of the experience. This trend is especially noticeable in industries where user engagement and brand loyalty are key, such as in tech, gaming, or lifestyle products.</li></ul><blockquote>Two localization philosophies coexist in the language industry: one that uses translation to cover basic communication needs, and one that aims for culturally-tuned user experiences that resonate globally</blockquote><p>This divergence in localization strategies will become more pronounced, and accordingly, we’ll see two different ways to do localization: one heavily focused on quantitative metrics such as time and cost, and the other leaning towards qualitative metrics such as satisfaction and engagement.</p><h3 id="6-optimized-processes-and-tech-stacks">6. Optimized processes and tech stacks ⚡️  <a class="markdownit-header-anchor" href="#6-optimized-processes-and-tech-stacks">🔗</a></h3><p>There's a noticeable shift in how companies are approaching their localization strategies, <strong>with a keen focus on refining processes and finding the right software</strong>. Companies are actively searching for and investing in cutting-edge tools and software that can automate the mundane parts of the localization process, focusing on efficiency, speed, and scalability. They're turning to solutions that can seamlessly sync content across platforms and languages, reducing the time-to-market and freeing up their teams to focus on the more creative aspects of localization.</p><p>This newfound emphasis on process optimization and tech integration reflects an understanding of the immense value of <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow">a streamlined localization workflow</a>. A well-oiled machine that can handle the complexities of multiple languages and markets with ease. 🪄 The adoption of these innovative tools and software is becoming a necessity for businesses looking to stay competitive in a global marketplace. As we move through 2024, this focus on process and tech stack refinement is set to become a defining characteristic of successful, globally-minded companies.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/AdobeStock_629900438.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/AdobeStock_629900438.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/AdobeStock_629900438.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/AdobeStock_629900438.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/AdobeStock_629900438.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="lessstronggreater-conclusionlessstronggreater"><strong>📌 Conclusion</strong> <a class="markdownit-header-anchor" href="#lessstronggreater-conclusionlessstronggreater">🔗</a></h2><p><strong>The twin stars that will guide us through this year are communication and optimization</strong>. How effectively we communicate and how willing we are - and our teams, too - to learn and adapt. For businesses venturing into new markets or looking to solidify their presence, the ability to stay flexible and quickly come together to learn will be the key to success. Having a steadfast partner <a href="https://localazy.com">like Localazy</a> can make all the difference here.</p>]]></content:encoded>
            <author>Michal Kessel Shitrit</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/6-localization-trends-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Automations Series: Fine-tune your UX copy before translating it]]></title>
            <link>https://localazy.com/blog/automated-workflows-series-fine-tune-your-ux-copy-before-translating-it</link>
            <guid isPermaLink="false">automated-workflows-series-fine-tune-your-ux-copy-before-translating-it</guid>
            <pubDate>Thu, 16 Apr 2026 14:35:07 GMT</pubDate>
            <description><![CDATA[Learn how to use the Automations feature in Localazy to improve UX copy in your product. Plus, explore the concept of translation from the so-called Developer English to English.]]></description>
            <content:encoded><![CDATA[<p>It's common that the source language texts are initially created by the people making the product — developers, designers, managers, etc. before they get checked and improved by a copy or UX writer. </p><p>We know that in Localazy as well. English is not our mother tongue, and when we are developing a new feature, we rather focus on the code and not on copywriting. Before release, everything needs to go through our beloved colleague <a href="https://localazy.com/blog/author/petr-hodny">Petr</a>, who transforms our clumsy developer texts into something more catchy and concise (and hopefully also grammatically correct 🙂).</p><p>This process can be easily automated with Localazy, so you can ensure that only the fine-tuned texts and translations make it to production.</p><h2 id="setting-up-the-automation">⚙️ Setting up the automation <a class="markdownit-header-anchor" href="#setting-up-the-automation">🔗</a></h2><p>Let's have a look at how to configure your project to use improved source language in production.</p><blockquote>In the following instructions, I'm going to use <strong><a href="https://localazy.com/dictionary/developer-english/">Developer English</a> </strong>as the source language and <strong>English </strong>for the final fine-tuned translations. If your source language is different, you can use another pair, e.g., <strong>Czech </strong>for the source and <strong>Czech (Czechia) </strong>for the finalized version. From our data, over 90% of projects use English, and that's the reason why we also included Developer English on Localazy.</blockquote><p>Create a new project on Localazy and select <strong>Developer English </strong>as the source language. </p><p>Navigate to <strong>Tools</strong> &gt; <strong>Automations</strong> in your project. Now create a new automation using the streamlined 3-step wizard. You can name it as you want. I chose <em>Developer English &gt; English</em>, so it's descriptive. </p><h3 id="step-1-choose-your-action">Step 1: Choose your action <a class="markdownit-header-anchor" href="#step-1-choose-your-action">🔗</a></h3><p>Select "<strong>Copy translation to another language</strong>" from the automated action dropdown. Then configure it:</p><ul><li><strong>Target language</strong>: Add English.</li><li><strong>Translations output state</strong>: Select<strong> </strong>"<strong>Send the copied translation to review</strong>". </li></ul><p>This ensures that all copied translations from Developer English will be sent to the review process, allowing your copywriter to refine them before they go live. </p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/08/Step-1---Create-automation---Localazy.png" class="kg-image" alt loading="lazy" width="2000" height="1118" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Step-1---Create-automation---Localazy.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Step-1---Create-automation---Localazy.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/Step-1---Create-automation---Localazy.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/Step-1---Create-automation---Localazy.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="step-2-configure-trigger-events">Step 2: Configure trigger events <a class="markdownit-header-anchor" href="#step-2-configure-trigger-events">🔗</a></h3><p>Now, select when the automation should run by choosing these trigger events: </p><ul><li><strong>Updated source key or translation</strong>: Triggers when existing content is modified.</li><li><strong>Imported new source key or translation</strong>: Triggers for CLI/API uploads.</li><li><strong>Manually created source key</strong>: Triggers when keys are added manually.</li></ul><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/08/Step-2---Create-automation---Localazy-Demo-Project---Localazy-2025-06-19-14-40-57.png" class="kg-image" alt loading="lazy" width="2000" height="1124" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Step-2---Create-automation---Localazy-Demo-Project---Localazy-2025-06-19-14-40-57.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/08/Step-2---Create-automation---Localazy-Demo-Project---Localazy-2025-06-19-14-40-57.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/08/Step-2---Create-automation---Localazy-Demo-Project---Localazy-2025-06-19-14-40-57.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/08/Step-2---Create-automation---Localazy-Demo-Project---Localazy-2025-06-19-14-40-57.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><h3 id="step-3-set-up-language-filters">Step 3: Set up language filters <a class="markdownit-header-anchor" href="#step-3-set-up-language-filters">🔗</a></h3><p>Lastly, configure the automation to only process source language content:</p><ol><li>Enable the <strong>Filter by Language </strong>toggle.</li><li>Select <strong>Developer English</strong> from the Project Languages filter.</li></ol><p>The preview will show that matching keys will be "copied and sent to review for English". This ensures only Developer English content gets copied for review — exactly what we want for our copywriting workflow. </p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/10/Image-12.jpeg" class="kg-image" alt loading="lazy" width="2000" height="926" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Image-12.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Image-12.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Image-12.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Image-12.jpeg 2400w" sizes="(min-width: 1200px) 1200px"></figure><h2 id="add-content-to-your-project">💬 Add content to your project <a class="markdownit-header-anchor" href="#add-content-to-your-project">🔗</a></h2><p>It's time to upload content to the project. Use your preferred way — <a href="https://localazy.com/docs/cli/the-basics">CLI</a>, <a href="https://localazy.com/docs/api/introduction">API</a>, manual upload, or one of our plugins. The automation is ready for all of these.</p><p>When new keys are uploaded (or existing ones are updated), the automation will be triggered (it may take a few seconds) and the English<strong> </strong>translation will be ready as well. Now it's waiting to be reviewed and improved.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-17-at-10.40.06.png" class="kg-image" alt loading="lazy" width="2000" height="449" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-17-at-10.40.06.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-17-at-10.40.06.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-17-at-10.40.06.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-17-at-10.40.06.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><p>The review process allows you to go through all the changes and fix them. Such as in my case, where the definite article was somehow lost in the hardcore coding session. 🤓</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-17-at-10.46.05.png" class="kg-image" alt loading="lazy" width="2000" height="701" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-17-at-10.46.05.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-17-at-10.46.05.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-17-at-10.46.05.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-17-at-10.46.05.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><p>As soon as someone more skilled in the English language goes through all the translations waiting for review, the perfected new language will be ready!</p><h2 id="publish-unapproved-translations">🚦 Publish unapproved translations <a class="markdownit-header-anchor" href="#publish-unapproved-translations">🔗</a></h2><p>By default, Localazy uses the source language when there is a missing translation (or a not-yet-approved one). However, if you prefer to filter untranslated strings out of your localizable files, you can still get the fully translated English language<strong> </strong>by going to the <strong>Settings</strong> of your projects and adding <strong>English</strong> to the list of languages for which unapproved translations are published.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://ghost.localazy.com/content/images/2025/10/Screenshot-2025-10-17-at-10.52.04.png" class="kg-image" alt loading="lazy" width="2000" height="479" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Screenshot-2025-10-17-at-10.52.04.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Screenshot-2025-10-17-at-10.52.04.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Screenshot-2025-10-17-at-10.52.04.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/10/Screenshot-2025-10-17-at-10.52.04.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><p>The latest unapproved translation, which is going to be the one copied from the source language, is published as long as there is no approved one.</p><p>This option helps you to get your new release out quickly but <strong>gradually improve the quality with less manual work</strong> and with perfect control over the process.</p><h2 id="using-the-automation-in-existing-projects">🧩 Using the automation in existing projects <a class="markdownit-header-anchor" href="#using-the-automation-in-existing-projects">🔗</a></h2><p>The automation is only triggered for new and updated keys, not for existing ones. </p><p>For existing projects, you can adapt this workflow by editing the automation configuration to work with your current language setup. Simply <strong>modify the source and target languages in the automation</strong> to match your project's needs, and you'll be done.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>At Localazy, we understand that localization is not just about translating one language to another. The process of getting products or services translated with the finest quality is complex, and <a href="https://localazy.com/docs/general/getting-started-with-localazy">we are ready to assist you</a> along the way as much as we can.</p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/08/localazy-workflows-series-2-4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Use Nuxt/i18n to Localize Your Nuxt 3 Project with Localazy]]></title>
            <link>https://localazy.com/blog/use-nuxt-i18n-to-localize-your-nuxt-3-project-with-localazy</link>
            <guid isPermaLink="false">use-nuxt-i18n-to-localize-your-nuxt-3-project-with-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:32:59 GMT</pubDate>
            <description><![CDATA[The release of Nuxt/i18n v8 marks the conclusion of the two-year-long development of the new staple localization library for Nuxt 3. And with Localazy, you can expand your reach with dozens of new languages in no time.]]></description>
            <content:encoded><![CDATA[<h2 id="getting-started">🚀 Getting started <a class="markdownit-header-anchor" href="#getting-started">🔗</a></h2><p>First of all, create a new Nuxt project with the following npx command.</p><pre><code>npx nuxi@latest init localazy-nuxt-i18n
cd localazy-nuxt-i18n</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-12.png" class="kg-image" alt loading="lazy" width="300" height="151"></figure><h3 id="setup-nuxti18n">Setup @nuxt/i18n <a class="markdownit-header-anchor" href="#setup-nuxti18n">🔗</a></h3><p>Before moving on to the configuration, we must install the <a href="https://i18n.nuxtjs.org/" rel="noopener noreferrer">@nuxtjs/i18n</a> module first.</p><pre><code>npm install @nuxtjs/i18n --save-dev</code></pre><p>Then, add @nuxtjs/i18n to the modules section in your <strong>nuxt.config.ts</strong>.</p><pre><code>/** nuxt.config.ts */
export default defineNuxtConfig({
  devtools: { enabled: true },
  modules: [
    '@nuxtjs/i18n',
  ],
  // ...
})</code></pre><h2 id="prepare-the-example-app">🎬 Prepare the example app <a class="markdownit-header-anchor" href="#prepare-the-example-app">🔗</a></h2><p>At this point, we can start our application by running <code>npm run dev</code>. No error should pop out, and you should be welcomed by the default welcome screen.</p><p>I personally like the default design of the new Nuxt application. Did you know that they ship a 404 page as well? To see it, you first need to create <code>pages</code> folder and put a page inside. </p><p>Let's create <code>index.vue</code> in <em>pages</em> folder.</p><pre><code>// pages/index.vue
&lt;template&gt;
    &lt;NuxtWelcome/&gt;
&lt;/template&gt;

&lt;script setup&gt;&lt;/script&gt;</code></pre><p>By doing so, Nuxt will create a router configuration behind the scenes, and for defined routes, relevant pages will be served. And for non-existent, a 404 page will appear.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-13.png" class="kg-image" alt loading="lazy" width="1201" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/image-13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/image-13.png 1000w, https://ghost.localazy.com/content/images/2024/01/image-13.png 1201w" sizes="(min-width: 720px) 720px"></figure><p>The 404 component is called <strong>Error404</strong> and can be used in our application. Conveniently enough, you can also override the textual content via props, allowing us to translate the content as well 🤗</p><p>First of all, create a new <strong>i18n/locales </strong>folder. Then, create an <code>en.json</code> file inside and paste the following keys inside:</p><pre><code>// i18n/locales/en.json
{
  "description": "Oopsie, where am I?",
  "backHome": "Get me back on track"
}</code></pre><p>These are going to be the new English 404 labels. To use those, create a new file called <code>404.vue</code><strong> </strong>in the <strong>layouts</strong><em> </em>folder.</p><pre><code>// layouts/404.vue
&lt;template&gt;
    &lt;Error404  :description="$t('description')" :backHome="$t('backHome')" /&gt;
&lt;/template&gt;

&lt;script setup&gt;
import Error404 from '../node_modules/@nuxt/ui-templates/dist/templates/error-404.vue'
&lt;/script&gt;</code></pre><p>And then <code>error.vue</code> in the root folder.</p><pre><code>// error.vue
&lt;template&gt;
  &lt;NuxtLayout name="404"/&gt;
&lt;/template&gt;

&lt;script setup&gt;&lt;/script&gt;</code></pre><p>Lastly, modify <code>app.vue</code> to enable rendering content in your pages folder.</p><pre><code>// app.vue
&lt;template&gt;
  &lt;NuxtPage/&gt;
&lt;/template&gt;

&lt;script setup&gt;
&lt;/script&gt;</code></pre><h2 id="configure-i18n">🌎 Configure i18n <a class="markdownit-header-anchor" href="#configure-i18n">🔗</a></h2><p>Now, in the folder <strong>i18n, </strong>create the file <code>i18n.config.ts</code><strong> </strong>and configure the i18n module to support English and French. We will set French as the target language and English as the fallback language. For now, we only define strings for English, which we created earlier, and we'll generate the translations momentarily.</p><pre><code>/** ./i18n/i18n.config.ts */
import en from "./locales/en.json"

export default defineI18nConfig(() =&gt; ({
  legacy: false,
  locales: ['en', 'fr'],
  locale: 'fr',
  fallbackLocale: 'en',
  messages: {
    en
  }
}))</code></pre><p>With the config file ready, let's pass it to <strong>i18n</strong> in <code>nuxt.config.ts</code></p><pre><code>export default defineNuxtConfig({
  devtools: { enabled: true },
  modules: [
    '@nuxtjs/i18n'
  ],
  i18n: {
    vueI18n: './i18n/i18n.config.ts'
  }
})</code></pre><p>Notice that we are passing the i18n configuration file to the module instead of defining it inlined in <code>nuxt.config.ts</code>. It's generally a good practice to separate code logic into smaller chunks, which is very true in the case of localization assets and configuration files that can grow in size over time. It also allows you to import the configuration in other files as well, which may come in handy, e.g., when you need to use the configuration in custom scripts.</p><p>At this point, when you open a non-existing page, e.g. <code>http://localhost:3000/non-existent</code>, you should see a 404 page with our custom labels.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-14.png" class="kg-image" alt loading="lazy" width="1201" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/image-14.png 1000w, https://ghost.localazy.com/content/images/2024/01/image-14.png 1201w" sizes="(min-width: 720px) 720px"></figure><h2 id="connecting-to-localazy">🚩 Connecting to Localazy <a class="markdownit-header-anchor" href="#connecting-to-localazy">🔗</a></h2><p>First of all, <a href="https://localazy.com/register" rel="noopener noreferrer">set up a new account</a> on Localazy and create your <a href="https://localazy.com/my/create" rel="noopener noreferrer">new project</a>. Using English as the source language is recommended, but you can choose any other. Turn on the <em>Use community translations (ShareTM)</em> option if you want to get translation suggestions from <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">our shared translation memory</a>.</p><p>Proceed to create the project. Afterward, select <em>Nuxt.js</em> on the integration screen. We'll use the <a href="https://localazy.com/docs/cli/the-basics" rel="noopener noreferrer">powerful CLI tool</a> to manage the upload and download of texts.</p><p><a href="https://localazy.com/docs/cli/installation" rel="noopener noreferrer">Installation</a> is available for Linux, macOS, and Windows. Note the read and write keys in step 2 - we'll need them shortly.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-15.png" class="kg-image" alt loading="lazy" width="1179" height="1036" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/image-15.png 1000w, https://ghost.localazy.com/content/images/2024/01/image-15.png 1179w" sizes="(min-width: 720px) 720px"></figure><p>As suggested, create a <code>localazy.json</code> file in the root folder of your project. Copy the recommended configuration and change the <code>translations</code> folder in the path to <code>i18/locales</code> in both the upload and download sections.</p><p>Now you are ready to upload the content in the English file. All you need to do is to call <code>localazy upload</code>.</p><h3 id="translating-strings">Translating strings <a class="markdownit-header-anchor" href="#translating-strings">🔗</a></h3><p>Now go to Localazy and add the French language. 🙂</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-16.png" class="kg-image" alt loading="lazy" width="1329" height="439" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/image-16.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/image-16.png 1000w, https://ghost.localazy.com/content/images/2024/01/image-16.png 1329w" sizes="(min-width: 720px) 720px"></figure><p>Then click on the translate button to start translating. Let's just use the suggested machine translations, which is an amazing feature for multilingual prototyping.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-17.png" class="kg-image" alt loading="lazy" width="1322" height="250" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/image-17.png 1000w, https://ghost.localazy.com/content/images/2024/01/image-17.png 1322w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-18.png" class="kg-image" alt loading="lazy" width="1591" height="850" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/image-18.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/image-18.png 1000w, https://ghost.localazy.com/content/images/2024/01/image-18.png 1591w" sizes="(min-width: 720px) 720px"></figure><p>For your real project, you can choose from multiple approaches to translate your content with Localazy:</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors </strong>-<strong> </strong>You can <a href="https://localazy.com/docs/general/translating-strings" rel="noopener noreferrer">start translating on your own</a> and use our built-in suggestion system.</li><li>🦾 <strong>Translate everything in bulk via machine translation </strong>-<strong> </strong>With the Localazy <a href="https://localazy.com/tiers/professional">Professional plan</a>, you can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate" rel="noopener noreferrer">running a machine translation over the content</a>. This is great for the first iteration and localization testing of your Nuxt project.</li><li>🚩 <strong>Fully automate the translation process with the </strong><a href="https://localazy.com/features/continuous-localization-team" rel="noopener noreferrer"><strong>Continuous Localization</strong></a><strong> services</strong> - You can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators.</li></ol><h3 id="using-translations-in-nuxt">Using translations in Nuxt <a class="markdownit-header-anchor" href="#using-translations-in-nuxt">🔗</a></h3><p>Come back to your application and run <code>localazy download</code>. You should see a newly created <code>fr.json</code> file in the <em><strong>locales</strong></em> folder. Import the <code>fr.json</code> file into the <code>i18n.config.ts</code><em> </em>file.</p><pre><code>/** ./i18n/i18n.config.ts */
import en from "./locales/en.json"
import fr from "./locales/fr.json"

export default defineI18nConfig(() =&gt; ({
  legacy: false,
  locales: ['en', 'fr'],
  fallbackLocale: 'en',
  locale: "en",
  messages: {
    en,
    fr
  }
}))</code></pre><p>By using 18n's <code>$t</code> function, we'll resolve the key in the currently selected language, which we've defined to be French in the <code>i18n.config.ts</code><em> </em></p><p>To test it, refresh the <code>http://localhost:3000/non-existent</code> page. The texts, modifiable through <em>Error404's</em> props, have been translated into French. 😍</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-19.png" class="kg-image" alt loading="lazy" width="814" height="688" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/image-19.png 600w, https://ghost.localazy.com/content/images/2024/01/image-19.png 814w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>That's it! Now you're all set to serve your visitors content in their language!</p><p><strong>Learn more about what Localazy can do for you</strong>:</p><ul><li>📚 Read the <a href="https://localazy.com/docs/general/getting-started-with-localazy" rel="noopener noreferrer">Getting Started Guide</a>.</li><li>🏄‍♀️ Never manage translators again: hire our <a href="https://localazy.com/features/continuous-localization-team" rel="noopener noreferrer">Continuous Localization Team</a>.</li><li>✍️ Start with localization in the design phase with the <a href="https://localazy.com/features/figma-localization-plugin" rel="noopener noreferrer">Figma Localization Plugin</a>.</li><li>🧩 Integrate additional parts of your ecosystem with one of the <a href="https://localazy.com/integrations" rel="noopener noreferrer">50+ integration options</a>.</li><li>💸 See our <a href="https://localazy.com/pricing" rel="noopener noreferrer">pricing options</a> or <a href="https://localazy.com/blog" rel="noopener noreferrer">read more on our blog</a>.</li></ul><h2 id="we-love-nuxt">🙌 We love Nuxt! <a class="markdownit-header-anchor" href="#we-love-nuxt">🔗</a></h2><p>The Localazy website itself is powered by Nuxt. We love Nuxt, and we are delighted to give our fellow Nuxt lovers a gift.</p><p>Use the coupon "<strong>lovenuxt</strong>" during your Localazy plan checkout and get a 25% discount on your purchase.</p><p>Discount applies to the <a href="https://localazy.com/tiers/professional" rel="noopener noreferrer">Professional</a> plan. Enjoy!</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/nuxt-i18n-nuxt3.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Flow states: the ultimate hack for productive localization workflows]]></title>
            <link>https://localazy.com/blog/flow-states-the-ultimate-hack-for-productive-localization-workflows</link>
            <guid isPermaLink="false">flow-states-the-ultimate-hack-for-productive-localization-workflows</guid>
            <pubDate>Sat, 16 Aug 2025 12:05:56 GMT</pubDate>
            <description><![CDATA[Have you ever lost track of time while you were focused on a task? Then you've been in the flow. This is something your localization team can also experience - here's how to achieve it.]]></description>
            <content:encoded><![CDATA[<p>Localization is a complex process that depends on <a href="https://localazy.com/blog/7-ways-to-make-your-company-more-localization-friendly">excellent teamwork</a>, clear goals, and well-organized workflows. However, it’s challenging to do focus work when your workspace is digital. Google is one click away, and you can get lost any minute into a rabbit hole of web surfing for hours. 🙇  So, how can you help your team focus and avoid procrastination?</p><p>If you want to create better conditions that lead to productive localization teams, and more work getting done, you’ll want to have a look at <a href="https://asana.com/resources/flow-state-work">flow states</a>. Flow states are nothing but those time periods when you feel like time has stopped, and nothing else exists but your focus and the task at hand. You might know this as <strong>“being in the zone”</strong>.</p><p>In this article, we’ll have a look at flow states and how they can lead digital localization teams to accomplish more during their working hours.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/pexels-ahmed-akeri-19702039.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/pexels-ahmed-akeri-19702039.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/pexels-ahmed-akeri-19702039.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/pexels-ahmed-akeri-19702039.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/pexels-ahmed-akeri-19702039.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-flow-state-your-secret-weapon">🧘‍♀️ The Flow State: your secret weapon <a class="markdownit-header-anchor" href="#the-flow-state-your-secret-weapon">🔗</a></h2><p>The flow state was coined by the famous psychologist <a href="https://www.cgu.edu/people/mihaly-csikszentmihalyi/">Mihaly Csikszentmihalyi</a>. After he went through the terrors of living in a prison during World War II, and then witnessing a speech by Carl Jung in a random manner, he became interested in human happiness, creativity, and psychology. He spent years researching in order to explain what was behind exceptional creative work and hyperfocus.</p><p>One of the answers was the concept of flow state, which is described as <strong>a state where you are immersed in an activity to the point you’ve completely lost track of time</strong>. This is a highly productive state that not only makes one immensely happy, but it’s also a point when creativity can reach its peaks. 🎨 And it’s not confined to a particular activity. </p><p>Since localization involves intricate tasks, such as content extraction, translation, quality assurance, and adaptation to cultural nuances, we can agree that it’s an activity that requires high focus and concentration. </p><blockquote>Flow is a state where you are immersed in an activity to the point you've completely lost track of time. This is the point where creativity peaks - and it's not confined to a particular type of project</blockquote><p>Digital product teams often face tight deadlines, have to juggle multiple projects at once, and need to coordinate among themselves. In such an environment, reaching the flow state becomes vital for excellent localization - and productive workdays.</p><p><strong>When teams are in the flow state, they reach new levels of creativity, problem-solving, and laser-like focus</strong>. This hyperfocus allows team members to dedicate all their energy to the localization process, leading to a deeper understanding of the content, its context, and the cultural sensitivities connected with it. </p><p>As a result, the translated content resonates more authentically with the target audience, contributing to stronger communities and greater user satisfaction.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/AdobeStock_491052615.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/AdobeStock_491052615.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/AdobeStock_491052615.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/AdobeStock_491052615.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/AdobeStock_491052615.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-can-localization-teams-reach-flow-states">🎧 How can localization teams reach flow states? <a class="markdownit-header-anchor" href="#how-can-localization-teams-reach-flow-states">🔗</a></h2><p>Flow states are tricky. We are wired to achieve flow states naturally when the conditions are met, but <strong>we cannot force them</strong>. But for as long as we do what’s under our control, creating the appropriate conditions, we should be able to bring them about.</p><p>Flow states can help your team get more projects done in a shorter amount of time. 💡 To induce these states isn’t easy, but it’s not impossible either. You have to provide the digital (and perhaps physical) environment to make this possible. Also, you should design <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow">workflows free of obstacles</a>, delays, and missing resources. Here are a few of the conditions that lead to flow states, and how you can create them:</p><h3 id="set-clear-goals-and-provide-feedback">Set clear goals and provide feedback <a class="markdownit-header-anchor" href="#set-clear-goals-and-provide-feedback">🔗</a></h3><p>There’s no scenario where clarity isn’t beneficial. 💭 But in the case of flow states, clarity is crucial. If you’re in charge of the goal-setting for your team, try to make them as clear as possible. <strong>Clear goals and constructive feedback reduce the confusion that prevents your team members from entering flow states</strong>. </p><p>You should define <a href="https://localazy.com/blog/localazy-a-gist-powered-company">specific, achievable objectives</a> for each localization project. Having a clear vision of the desired outcome enables team members to channel their efforts effectively. Constructive feedback on their progress keeps them engaged and motivated, driving them into flow states.</p><p>Here’s how to actually achieve this:  </p><ul><li>📝 Lay down the long-term goals and chunk them into reasonable short-term goals.</li><li>🗓️ Discuss the timeframes with your team to make sure they’re realistic.</li><li>⏰ Reward teammates who deliver on time, or even earlier.  </li></ul><p>Next, when providing feedback, keep this simple rule in mind: before critiquing, make sure you compliment the positive aspects of the work done. This way, they will feel appreciated for their effort and will be motivated to reflect on your comments. </p><h3 id="consider-difficulty-for-task-distribution">Consider difficulty for task distribution <a class="markdownit-header-anchor" href="#consider-difficulty-for-task-distribution">🔗</a></h3><p>An easy task makes work feel boring, but a difficult one makes you feel stuck. So, your goal should be to distribute work that is somewhere in the middle. <strong>Not too challenging nor too easy, but somewhere in between</strong>. That’s how you stimulate flow states. </p><p>The <a href="https://positivepsychology.com/flow-activities/#4-examples-of-flow-in-action">flow state occurs</a> when there is a perfect balance between challenge and skill level. You should assign localization tasks that align with the expertise and capabilities of your team members. When your colleagues work on tasks that have the right level of challenge, they remain more focused.</p><p>To find what tasks to distribute to whom while increasing the chances for flow states to occur while they work on them, keep in mind these pointers:</p><ul><li>🔎 Discover what project/task each team member prefers to work on.</li><li>🏄‍♀️ Ask them about their most productive timeframes and adjust deadlines to allow them to work during that time.</li><li>🛌 Make sure your team isn’t overloaded and has time for breaks and recovery.</li></ul><blockquote>🎙️ Hear more in our<a href="https://localazy.com/blog/bridging-the-gap-podcast-s02-ep06-remote-work-without-burnout"> Bridging the Gap podcast episode</a> with Caitlin Rozario (founder of Interlude) and Anton Iokov (Head of Growth at Fibery) on staying productive in remote teams without burning out.</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/AdobeStock_690848161-1.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/AdobeStock_690848161-1.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/AdobeStock_690848161-1.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/AdobeStock_690848161-1.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/AdobeStock_690848161-1.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="create-a-distraction-free-environment">Create a distraction-free environment <a class="markdownit-header-anchor" href="#create-a-distraction-free-environment">🔗</a></h3><p>The flow state requires uninterrupted focus. Creating a distraction-free environment is a must to dive into a focused state. If you’re working in-office, then make sure your teams have <strong>clear workspaces with minimal interruptions</strong> and block time for specific tasks.</p><p>One way to ensure team members don’t interrupt each other is by using physical signs. 🚷 It sounds funny, but I actually came around this idea in the book <a href="https://www.nirandfar.com/indistractable/">Indistractable by Nir Eyal</a>. You can put a piece of paper atop your desk that says you’re doing focused work and don’t want to be interrupted. Sounds foolish, but it gets the job done.</p><h3 id="link-work-to-your-teammates-passion">Link work to your teammates' passion <a class="markdownit-header-anchor" href="#link-work-to-your-teammates-passion">🔗</a></h3><p>Intrinsic motivation can be more powerful than external motivation which comes from bonuses or rewards. That’s why discussing how the task at hand contributes to your team’s life mission, vision, personal values, and self-development can encourage them to focus more intensely. Perhaps not everyone is crazily passionate about what they’re doing, but in one way or another, it relates to their life goals.</p><p><strong>Passion for the task at hand and a sense of purpose in the localization process can get team members into the flow state</strong>. Clarifying the importance and the impact of the localization process can help spark a sense of purpose and intrinsic motivation. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/pexels-yan-krukau-9009606.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/pexels-yan-krukau-9009606.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/pexels-yan-krukau-9009606.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/pexels-yan-krukau-9009606.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/pexels-yan-krukau-9009606.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Choosing a localization platform that aids in all your localization scenarios is key to increasing the chances of flow states happening in your localization workflows. That’s because your team can manage and translate any type of content within one platform. </p><p>At Localazy, we offer multiple solutions that cover all of your needs, including: </p><ul><li>🛍️ <a href="https://localazy.com/term/translate-shopify-store">Shopify translation</a></li><li>📐 <a href="https://localazy.com/term/design-localization">Design localization</a></li><li>👩‍💻 <a href="https://localazy.com/term/website-content-translation">Website translation</a></li><li>✍️ <a href="https://localazy.com/term/content-localization">Content localization</a></li><li>💻 <a href="https://localazy.com/term/software-localization">Software localization</a></li><li>📲 <a href="https://localazy.com/term/google-merchant-feed-translate">Product feeds’ translation</a></li></ul><blockquote>Explore <a href="https://localazy.com/integrations">our offer of integrations</a>, and learn more on how to get started with Localazy <a href="https://localazy.com/docs/general/getting-started-with-localazy">here</a></blockquote><h2 id="the-ripple-effect-of-flow-states-in-localization">🌊 The ripple effect of flow states in localization <a class="markdownit-header-anchor" href="#the-ripple-effect-of-flow-states-in-localization">🔗</a></h2><p>When digital product teams achieve the flow state in localization, <strong>a positive ripple effect is felt throughout the entire organization</strong>. Flow enhances team collaboration, communication, and trustworthiness, as team members work together to achieve shared goals. Moreover, the quality and efficiency of the localization process improve significantly, leading to faster time-to-market and reduced localization costs. ⛹️‍♀️</p><p>As the flow state becomes a regular occurrence in localization efforts, the overall productivity of your teams reaches new levels. They will have more time and willingness to take on new challenges, explore innovative approaches, and expand their localization efforts to reach other new markets worldwide.</p><p>The right platform can do wonders. Our clients vouch for this. <a href="https://localazy.com/blog/case-study-rouvy-localization">We’ve helped hundreds of brands like ROUVY</a> (a global AR cycling platform) expand worldwide and connect with users in their native languages. ROUVY uses professional and crowdsourced translations in Localazy to deliver a localized augmented-reality cycling experience to worldwide customers with the help of <a href="https://localazy.com/blog/the-ultimate-guide-to-localazy-cdn?utm_content=170725579&amp;utm_medium=social&amp;utm_source=linkedin&amp;hss_channel=lcp-37836599">Localazy CDN</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/pexels-ekaterina-bolovtsova-7113296.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/pexels-ekaterina-bolovtsova-7113296.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/pexels-ekaterina-bolovtsova-7113296.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/pexels-ekaterina-bolovtsova-7113296.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/pexels-ekaterina-bolovtsova-7113296.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="final-thoughts">💬 Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>Achieving a satisfactory level of productivity during localization is challenging in this age, where distractions are abundant and looming in every direction. 🤹‍♂️ But flow states can help you will into existence those sprints of creativity bursts and periods of productivity if you create the conditions for them to happen. The physical and digital workspaces you choose have a huge impact on these conditions. </p><p>If your current localization workflows are <a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">spread across spreadsheets</a>, emails, and text messages, you might want to look at <a href="https://localazy.com/">Localazy as your TMS</a> to unify everything into one place. <br></p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/flow-states.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Automations Series: Translate content immediately after uploading with MT]]></title>
            <link>https://localazy.com/blog/automated-workflows-series-translate-content-immediately-after-uploading-with-mt</link>
            <guid isPermaLink="false">automated-workflows-series-translate-content-immediately-after-uploading-with-mt</guid>
            <pubDate>Thu, 16 Apr 2026 14:31:55 GMT</pubDate>
            <description><![CDATA[Learn how to apply machine translations automatically on each upload to Localazy and explore the new Automations feature, now available on the Autopilot plan.]]></description>
            <content:encoded><![CDATA[<p>No doubt, this is the most beloved automation we have. Introducing automatic machine translation to your workflow is a real game-changer, precisely in line with our vision of as automated localization as possible.</p><p>We consider translation quality an important factor, and that's the reason why our <a href="https://localazy.com/features/continuous-localization-team/">Continuous Localization Team</a> can automate <a href="https://localazy.com/blog/guide-localazy-translation-services">professional human translation</a>. </p><p>However, <a href="https://localazy.com/features/pre-translate">machine translation</a> can be enough for quick prototyping or less important texts, such as descriptions or error messages that are rarely (or never for perfect software 😄) seen. </p><p>So, let's dive deeper into a theoretical situation when we are translating an e-commerce website. While product titles are subject to extra (<em>human</em>) care, we don't care that much about descriptions. However, let's assume that we still want them to be checked by human reviewers after they are translated by a translation engine.</p><h2 id="1-configure-the-project-to-publish-unapproved-translations">🤓 1. Configure the project to publish unapproved translations <a class="markdownit-header-anchor" href="#1-configure-the-project-to-publish-unapproved-translations">🔗</a></h2><p>There is a small option hidden in the project settings, which is a true gem. It can be used in different workflows to shorten the delivery time of your localized product or service.</p><p>Navigate to <strong>Project Settings</strong> &gt; <strong>Publishing</strong> and look for <strong>Publish unapproved translations for selected languages</strong>. By default, Localazy only publishes approved translations, but for languages listed there, the latest unapproved version is published if there is no approved version.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-5.png" class="kg-image" alt loading="lazy" width="944" height="740" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/image-5.png 600w, https://ghost.localazy.com/content/images/2024/01/image-5.png 944w" sizes="(min-width: 720px) 720px"></figure><p>This setting is extremely handy in our situation. We are about to create an automation to translate our texts automatically into German, French, and Spanish, and we want the translations to be available for download. However, at the same time, we want them to go through the review process for human checks. And that's exactly where publishing unapproved translations is the right tool to use.</p><blockquote>🎙️ Listen to <a href="https://localazy.com/blog/automation-should-work-with-your-team-not-against-it-bridging-the-gap-podcast-s02-ep10">our conversation with Paul Bratslavsky, Developer Advocate at Strapi</a>, where he talks in-depth about how they are using content automations to improve their workflows.</blockquote><h2 id="2-create-and-configure-a-new-automation">🚀 2. Create and configure a new automation <a class="markdownit-header-anchor" href="#2-create-and-configure-a-new-automation">🔗</a></h2><p>Once the publishing of unapproved translations is configured, navigate to <a href="https://localazy.com/console/workflows">Automations</a> in the console and select the project you want to automate. Now, <strong>create a new automation using the step-by-step wizard</strong>. </p><h3 id="step-1-choose-your-action">Step 1: Choose your action <a class="markdownit-header-anchor" href="#step-1-choose-your-action">🔗</a></h3><p>The automation setup starts with selecting what you want to automate. Choose "<strong>Use machine translations"</strong> from the dropdown, then configure the following: </p><ul><li><strong>Source language</strong>: Select English (or other source language if it applies).</li><li><strong>Provider</strong>: You'll find several options. We're gonna choose DeepL this time.</li><li><strong>Target languages</strong>: Select your desired languages (German, French, and Spanish in our example).</li></ul><p>Next, make sure to enable these important options:</p><ul><li><strong>✅ Send translations for review</strong>: This ensures all MT translations go through human review.</li><li><strong>✅ Update translations with source changes</strong>: This automatically retranslates your content when the source text changes.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/Monosnap-Create-automation---Localazy-Demo-Project--Localazy-2025-05-29-14-10-34--1-.png" class="kg-image" alt loading="lazy" width="998" height="1422" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Monosnap-Create-automation---Localazy-Demo-Project--Localazy-2025-05-29-14-10-34--1-.png 600w, https://ghost.localazy.com/content/images/2025/08/Monosnap-Create-automation---Localazy-Demo-Project--Localazy-2025-05-29-14-10-34--1-.png 998w" sizes="(min-width: 720px) 720px"></figure><h3 id="step-2-configure-trigger-events">Step 2: Configure trigger events <a class="markdownit-header-anchor" href="#step-2-configure-trigger-events">🔗</a></h3><p>Next, you'll specify when the automation should run. </p><p>For our e-commerce scenario, select these trigger events: </p><ul><li><strong>Updated source key or translation</strong>: Triggers when existing content is modified.</li><li><strong>Imported new source key or translation</strong>: Triggers for CLI/API uploads.</li><li><strong>Manually created source key</strong>: Triggers when keys are added manually.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/08/Monosnap-Create-automation---Localazy-Demo-Project--Localazy-2025-05-29-14-11-26--1-.png" class="kg-image" alt loading="lazy" width="996" height="1410" srcset="https://ghost.localazy.com/content/images/size/w600/2025/08/Monosnap-Create-automation---Localazy-Demo-Project--Localazy-2025-05-29-14-11-26--1-.png 600w, https://ghost.localazy.com/content/images/2025/08/Monosnap-Create-automation---Localazy-Demo-Project--Localazy-2025-05-29-14-11-26--1-.png 996w" sizes="(min-width: 720px) 720px"></figure><h3 id="step-3-set-up-content-filters">Step 3: Set up content filters <a class="markdownit-header-anchor" href="#step-3-set-up-content-filters">🔗</a></h3><p>The final step allows you to target specific content for automation. Since we only want to translate product descriptions automatically: </p><ol><li>Enable the <strong>Filter Content </strong>toggle.</li><li>Set up a filter to <strong>Include</strong> key names that <strong>Match</strong> description.</li><li>This will target all keys ending with <strong>.description</strong> (matching our <em>product.XXX.description</em> naming pattern).</li></ol><p>The interface provides a helpful preview showing that matching keys will be "translated and sent to review from English with DeepL into German, Spanish, and French":</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/10/Image-13.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1265" srcset="https://ghost.localazy.com/content/images/size/w600/2025/10/Image-13.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/10/Image-13.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/10/Image-13.jpeg 1600w, https://ghost.localazy.com/content/images/2025/10/Image-13.jpeg 2236w" sizes="(min-width: 720px) 720px"></figure><h2 id="3-add-or-upload-keys">🖍️ 3. Add or upload keys <a class="markdownit-header-anchor" href="#3-add-or-upload-keys">🔗</a></h2><p>After you hit <strong>Create</strong>, the setup will be done. Now you can simply add or upload keys and watch the magic happen. Any keys matching your filter (ending with <em>.description</em>) will be automatically processed by the automation we just created, which means DeepL will handle the translation, while Localazy will queue them for human review and simultaneously publish the unapproved translations for immediate use. </p><blockquote>✨ Automated MT pre-translation and publishing of unapproved translations is a match made in heaven!</blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>While it would make sense, for many scenarios, to just translate all the content using the machine translation engine, at Localazy we have decided to go a more sophisticated route with automations, as <strong>they are flexible and can adapt to any possible use case </strong>you may have. Combining automatic MT translations with publishing them, even if unapproved, is the way to get them out quickly and still retain control over their quality.</p><p>Learn more about <a href="https://localazy.com/docs/general/automated-workflows">Automations in the documentation</a>.</p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/08/localazy-workflows-series-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Mythbusters: We don't have the budget for localization]]></title>
            <link>https://localazy.com/blog/mythbusters-we-dont-have-the-budget-for-localization</link>
            <guid isPermaLink="false">mythbusters-we-dont-have-the-budget-for-localization</guid>
            <pubDate>Sat, 16 Aug 2025 12:33:54 GMT</pubDate>
            <description><![CDATA[Discover how localization is an affordable and essential growth strategy for your startup, and why postponing it could cost you more in the long run. ]]></description>
            <content:encoded><![CDATA[<p><br>During the seed stage, you can’t afford to splash the cash like it grows on trees. </p><p>But - does that mean you can neglect localization?</p><p>Well, you can, but it would be a mistake.</p><p>For starters, localization doesn’t have to cost an arm and a leg. <strong>Neglecting it can actually end up costing you money</strong>.</p><p>Picture this… 💭</p><p>You’re scrolling social media or checking emails. Something grabs your attention. Maybe an interesting new product or app. You click the link and land on a web page.</p><p>The design is nice, but <a href="https://localazy.com/blog/top-9-ux-translation-problems-and-how-to-solve-them">the writing doesn’t add up</a>. It doesn’t hit home or flow properly. There are too many words or phrases that are old-fashioned, cliched, or even worse – culturally inappropriate.</p><p><em>"Okay, I’ve seen enough," </em>you think to yourself;<em> "time to click away."</em></p><p><strong>That’s the effect of poor localization</strong>. Or, in the case just described, a complete lack of localization. Is that what you want for your product?</p><p>That’s why localization is more than just a luxury – it’s a necessity. And it’s best to start early, using the “shift-left” approach (more on that later).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/z-TrhLCn1abMU-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/z-TrhLCn1abMU-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/z-TrhLCn1abMU-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/01/z-TrhLCn1abMU-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/01/z-TrhLCn1abMU-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>The problem is – many small businesses still think:</p><p>a) ⏸️ Localization is something you can leave till later.</p><p>b) 💸 Localization costs big bucks, so they can’t afford it yet.</p><p><strong>Neither of these is true</strong>. That’s why we’ve got some serious myth-busting to do!</p><h2 id="why-do-businesses-put-off-localization">⏳ Why do businesses put off localization? <a class="markdownit-header-anchor" href="#why-do-businesses-put-off-localization">🔗</a></h2><p>Businesses often delay localization because of the following myths:</p><h3 id="myth-1-localization-is-low-priority">Myth 1 – Localization is low priority <a class="markdownit-header-anchor" href="#myth-1-localization-is-low-priority">🔗</a></h3><p>Many startups believe that localization isn't critical at the early stages, focusing instead on product development or domestic market penetration. However, this approach overlooks the potential global audience that could be reached from the outset.</p><h3 id="myth-2-localization-costs-too-much">Myth 2 – Localization costs too much <a class="markdownit-header-anchor" href="#myth-2-localization-costs-too-much">🔗</a></h3><p>There's a belief that effective localization requires a big budget – a luxury that early-stage companies simply can't afford. This myth fails to recognize the variety of cost-effective localization solutions available, such as <a href="https://localazy.com/faq/localization/how-to-do-crowdsourced-translations">crowdsourcing</a> or <a href="https://localazy.com/blog/localazy-pricing-explained">tiered pricing models</a>.</p><h3 id="myth-3-localization-isnt-good-for-roi">Myth 3 – Localization isn’t good for ROI <a class="markdownit-header-anchor" href="#myth-3-localization-isnt-good-for-roi">🔗</a></h3><p>Some businesses underestimate the ROI that localization can bring. 💰 They fail to see how localized content can boost user engagement, market reach, and, ultimately, revenue.</p><h3 id="myth-4-localization-is-too-complex">Myth 4 – Localization is too complex <a class="markdownit-header-anchor" href="#myth-4-localization-is-too-complex">🔗</a></h3><p>The false belief that localization is a complex and time-consuming process can put people off. In reality, modern localization tools and platforms <a href="https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization">streamline the whole process</a>, making it manageable even for small teams or collaborative projects.</p><h3 id="myth-5-early-localization-isnt-worth-it">Myth 5 – Early localization isn’t worth it <a class="markdownit-header-anchor" href="#myth-5-early-localization-isnt-worth-it">🔗</a></h3><p>Some companies aren't aware of <a href="https://localazy.com/blog/mythbusters-start-localization-once-product-is-done">the benefits of early localization</a>. They don’t know how it can be integrated into their development process. Education about the advantages can help change this perspective.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/pexels-tima-miroshnichenko-6693661.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/pexels-tima-miroshnichenko-6693661.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/pexels-tima-miroshnichenko-6693661.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/pexels-tima-miroshnichenko-6693661.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/pexels-tima-miroshnichenko-6693661.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="adopting-a-shift-left-agile-strategy">👈 Adopting a "shift-left" agile strategy <a class="markdownit-header-anchor" href="#adopting-a-shift-left-agile-strategy">🔗</a></h2><p>It’s a big mistake to localize your content later rather than sooner.</p><p>The agile development <a href="https://blog.codacy.com/shift-left-testing">“shift-left” end to end approach</a> is much better if you want long-term success.</p><h3 id="what-is-the-shift-left-approach">What is the "shift-left" approach? <a class="markdownit-header-anchor" href="#what-is-the-shift-left-approach">🔗</a></h3><p>The 'shift left' concept in agile development is about taking important steps earlier in the development cycle.</p><p>Traditionally, tasks like testing were done at the end of the development process. However, <strong>'shifting left' means incorporating these tasks much earlier</strong>, often in tandem with development.</p><p>This approach minimizes errors, reduces development time, and enhances overall quality. When applied to localization, shifting left transforms how we think about making products ready for global markets. You start to build in internationalization efforts right from the beginning rather than treating it as a final step.</p><p>There are several benefits:</p><ul><li>✅ Enhanced quality right from the start</li><li>🔦 SEO optimization for global markets</li><li>💲Cost efficiency</li><li>💬 Consistent brand messaging</li><li>⏱ Faster time-to-market</li></ul><blockquote>🎙️ How can you bring language operations from the start to avoid hefty costs later on while expanding to multilingual markets? Listen to <a href="https://localazy.com/blog/bridging-the-gap-podcast-s02-ep04-lang-ops-to-scale">this podcast episode with Kareem Ennsaang</a> for more on the topic.</blockquote><h2 id="the-real-price-of-localization">💣 The real price of localization <a class="markdownit-header-anchor" href="#the-real-price-of-localization">🔗</a></h2><p>When we talk about the price of localization, it's not just about the dollars spent on translating content. You need to factor in <strong>the cost of missed opportunities</strong> and the long-term impact on your business.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/success-4165306_1280.jpg" class="kg-image" alt loading="lazy" width="1280" height="853" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/success-4165306_1280.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/success-4165306_1280.jpg 1000w, https://ghost.localazy.com/content/images/2024/01/success-4165306_1280.jpg 1280w" sizes="(min-width: 720px) 720px"></figure><p>Let’s take a look at what the real price of localization is.</p><h3 id="5-costs-of-delayed-localization">5 costs of delayed localization <a class="markdownit-header-anchor" href="#5-costs-of-delayed-localization">🔗</a></h3><ul><li>🧳 <strong>Missed global opportunities:</strong> The most immediate cost is the potential global audience you're missing. Every day without localization is a day you're invisible to millions who might love your product—if only they understood it.</li><li>📉 <strong>Lost competitive edge:</strong> In today's global market, your competitors are probably already localizing their products. Delaying localization means falling behind and losing market share.</li><li>🗞<strong> Brand reputation risks:</strong> Poor localization can harm your brand's reputation. Misunderstandings due to language barriers or cultural insensitivity can lead to negative opinions and reviews.</li><li>🚨<strong> Increased future costs:</strong> Postponing localization costs you more later down the line. Retrofitting a product for new markets is more expensive than localizing from the start.</li><li>👀 <strong>Reduced user engagement:</strong> Non-localized products often see lower engagement and conversion rates in wider markets. This translates to lower ROI from your marketing and development efforts.</li></ul><blockquote>Not adopting a localization strategy can translate into missed opportunities, like losing market share or not reaching global audiences that might love your product. It can also pose long-term consequences as increasing costs, less user engagement and damage to your brand's reputation</blockquote><h3 id="the-reality-of-localization-pricing">The reality of localization pricing <a class="markdownit-header-anchor" href="#the-reality-of-localization-pricing">🔗</a></h3><p>Now you know that delaying localization can cost you dearly over the long term. <strong>But how can you afford to start localizing early when you’re doing everything on a shoestring?</strong></p><p>The answer lies with scalable solutions. Modern localization platforms like Localazy grow with your business. You can start small with essential features and then build from there.</p><p>One way to save the pennies is to use affordable localization techniques like <a href="https://localazy.com/features/share-tm">crowdsourcing</a>.</p><h3 id="what-is-crowdsourcing">What is crowdsourcing? <a class="markdownit-header-anchor" href="#what-is-crowdsourcing">🔗</a></h3><p>Crowdsourcing involves enlisting the support of a diverse global community to translate and adapt content into different languages. 🤲 This is an affordable way to get accurate translations that take into account cultural nuance.</p><p>Another advantage of crowdsourcing is that <strong>as your product evolves, localization efforts can be continuously improved</strong> through a community feedback loop. Hundreds of Localazy users like <a href="https://localazy.com/blog/interview-back-to-college-with-school-planner-app">School Planner</a>, <a href="https://localazy.com/blog/interview-taking-to-the-simulation-skies-with-flybywire">FlybyWire</a> or <a href="https://localazy.com/blog/interview-ukraine-shelter-helping-ukrainians-displaced-by-invasion">Ukraine Shelter</a> have already used this feature with great success in their projects.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/01/context-1.png" class="kg-image" alt loading="lazy" width="741" height="382" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/context-1.png 600w, https://ghost.localazy.com/content/images/2024/01/context-1.png 741w" sizes="(min-width: 720px) 720px"><figcaption>Community translations are one of the options offered in Localazy's TMS.</figcaption></figure><h3 id="what-localazy-plans-offer">What Localazy plans offer  <a class="markdownit-header-anchor" href="#what-localazy-plans-offer">🔗</a></h3><p>These days, you can access tiered pricing models to help you find a level of service that fits your budget and integrates nicely into your existing workflows. At Localazy, we have <a href="https://localazy.com/pricing">pricing plans to meet any budget</a>. To demonstrate that you can start localizing today, let's see what you can get with each of them. 🙂</p><p>🌱 <strong>Free Plan </strong></p><p>If you want to test a proof of concept or have a hobby project, our free tier is the perfect gateway to basic localization.</p><p> You get:</p><ul><li>200 managed source keys</li><li>Free access to ShareTM (crowdsourced translations)</li><li>Review, Glossary, and Amazon Translate suggestion</li><li>Access to API, CLI, and SDKs for file upload/download</li></ul><hr><p> 👩‍🚀 <strong>Professional Plan</strong></p><p>Got a startup or a small project with a limited budget? Then this plan's for you.</p><p>You get:</p><ul><li>Up to 2,500 source keys</li><li>Batch MT pre-translate, OCR &amp; Screenshots, Google Translate in machine translation suggestions and pre-translate, custom plurals, multiplatform development, translation sharing, and release versions.</li></ul><hr><p>🚀 <strong>Autopilot Plan</strong></p><p>Our most popular choice is perfect for growing startups and digital agencies. </p><p>You get:</p><ul><li>Up to 7,500 managed source keys</li><li>Automated workflows, auto MT pre-translate, DeepL &amp; OpenAI translations, Figma screenshots, webhooks, and all official integrations without restrictions.<strong>Business Plan (formerly Agency)</strong></li></ul><hr><p>🌎 <strong>Business Plan</strong></p><p>The ultimate self-service solution for global businesses that manage large volumes of content.</p><p>You get:</p><ul><li>Up to 100,000 managed source keys</li><li>Duplicity resolving, branching, file &amp; key aliases, language permissions, reporting, Single Sign-On, CSV Export/Import, secret projects, and upcoming features like style guides, tags &amp; tasks, teams &amp; extended permissions.</li></ul><hr><p>🪐<strong> Enterprise Tier</strong></p><p>Ideal for large-scale projects that need a customized solution for all their l10 needs, including full localization services and support.</p><p>You get:</p><ul><li>Custom limit on source keys.</li><li>High-volume translation services, SLA/priority support, dedicated localization manager, initial setup &amp; configuration, custom integration development, custom locales, backup &amp; restore, and audit logs.</li></ul><blockquote>🎉 All of our plans include a 7-day trial and unlimited seats, projects, words, and languages. See the details in our handy <a href="https://localazy.com/blog/localazy-pricing-explained">pricing guide</a>!</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/Group-23.png" class="kg-image" alt loading="lazy" width="1175" height="507" srcset="https://ghost.localazy.com/content/images/size/w600/2024/01/Group-23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/01/Group-23.png 1000w, https://ghost.localazy.com/content/images/2024/01/Group-23.png 1175w" sizes="(min-width: 720px) 720px"></figure><h2 id="localize-your-startup-for-long-term-success">🏆 Localize your startup for long-term success <a class="markdownit-header-anchor" href="#localize-your-startup-for-long-term-success">🔗</a></h2><p>In this guide, we've busted the myth that localization is an expensive luxury.</p><p>With automation tools and platforms with flexible pricing, localization is within reach for startups and small businesses. Localazy can help you to make localization an essential part of your strategy for future growth.</p><p>💡 The key conclusions you need to take into consideration are:</p><h3 id="start-now-not-later">Start now, not later <a class="markdownit-header-anchor" href="#start-now-not-later">🔗</a></h3><p>Localization isn't a distant dream for when your startup starts taking off. <strong>It's a necessity now</strong>, as it means you can start tapping into wider markets from day one.</p><h3 id="cost-effective-solutions-are-available">Cost-effective solutions are available <a class="markdownit-header-anchor" href="#cost-effective-solutions-are-available">🔗</a></h3><p>With platforms like Localazy, <strong>you don’t need a hefty budget to go global</strong>. Our tools and strategies make localization accessible and affordable for businesses of any size.</p><h3 id="crowdsourcing-to-the-rescue">Crowdsourcing to the rescue <a class="markdownit-header-anchor" href="#crowdsourcing-to-the-rescue">🔗</a></h3><p><strong>Don’t underestimate the power of the crowd</strong>. It’s a cost-effective way to get your content translated accurately that also takes into account cultural nuances. The best thing? You can get it free with Localazy.</p><p>👉 <a href="https://localazy.com/register">Get started with Localazy today!</a><br></p>]]></content:encoded>
            <author>Dan Martin</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/12/mythbusters_02.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Save time and increase productivity with automation and AI in localization]]></title>
            <link>https://localazy.com/blog/save-time-and-increase-productivity-with-automation-and-ai-in-localization</link>
            <guid isPermaLink="false">save-time-and-increase-productivity-with-automation-and-ai-in-localization</guid>
            <pubDate>Wed, 20 Aug 2025 09:44:13 GMT</pubDate>
            <description><![CDATA[Automation is transforming the localization industry. Taking advantage of the right MT and AI tools can improve accuracy and consistency while saving your team valuable time and resources. Learn how to implement automation workflows and how to spot the most common risks in this article.]]></description>
            <content:encoded><![CDATA[<p>People want authentic conversations. They want to hear brands address them <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">in their language</a>. Localizing content into their native tongue is one of the ways to achieve this level of clear and compelling communication.</p><p><a href="https://insights.csa-research.com/reportaction/36540/Marketing">74%</a> of customers say that they would be more likely to buy from a business for a second time if they received customer support in their native language. 📞 <strong>Localized customer support and a generally personalized experience are achievable if you use a well-researched localization strategy and automation</strong>. Automation not only keeps your workflow pipelines free, but it also makes your teams more productive.</p><p>Here at Localazy, we make automation <a href="https://localazy.com/features/continuous-localization-team">easy to implement</a> with our <a href="https://localazy.com/features/automations">features</a>. Developers, managers, and translators alike can benefit from automation <a href="https://localazy.com/blog/how-to-automate-translations-when-working-with-evolving-content-to-save-time">to speed up their work processes</a> while they focus on tasks that deserve their attention. Today, we’re talking about automation and productivity from the lens of localization. But first, let’s focus on the localization part.</p><h2 id="the-growing-need-for-l10n-in-2025">🔮 The growing need for l10n in 2025 <a class="markdownit-header-anchor" href="#the-growing-need-for-l10n-in-2025">🔗</a></h2><p>Every business wanting to expand globally learns in the process that localization is a must. That’s why the need for it keeps increasing: the localization services provider market, which was estimated at <strong>USD 49.6 billion in 2024</strong>,<a href="https://datahorizzonresearch.com/localization-services-provider-services-market-49956"> is expected to rise to USD </a><strong><a href="https://datahorizzonresearch.com/localization-services-provider-services-market-49956">96.3 billion by 2033</a></strong>, at a <strong>CAGR of 7.6%</strong>.</p><p><a href="https://localazy.com/blog/enter-new-markets-with-quality-localization">When you consider expanding to new markets</a>, you should know that you’re about to approach people who share different cultures, backgrounds, and languages. Most importantly, you’re communicating with people who share different perspectives about what you consider the best products, best branding elements, and best marketing practices.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/AdobeStock_665822360.jpeg" class="kg-image" alt loading="lazy"></figure><p>With localization, you take into account every aspect of expanding into a new market, from cultural distinctions to customer habits and natives’ buying psychology. It means you’ll adapt everything, from your website and/or mobile app to software and multimedia content, so it resonates with local audiences.</p><p>When you prioritize localization, you're on your way to crossing all language barriers and connecting with customers on a deeper level, nurturing these relationships and turning them into loyal customers. 🤝</p><blockquote>When it's time to expand to new markets, keep in mind that you're communicating with people who share different perspectives about products, branding elements and best marketing practices</blockquote><p>To win the hearts of customers, you need <strong>a localization-first expansion approach</strong>, and companies that devote time and resources to it are better poised to thrive. However, we must mention that localization is time-consuming, but <a href="https://localazy.com/faq/localization/what-is-localization-automation">automating processes and tasks</a> can shorten it without depleting your team’s productivity.</p><blockquote><em>❔ Did you know Localazy allows you to set up Automations that translate and pass your translations from one stage to the other on autopilot. Read more on this <a href="https://localazy.com/docs/general/automations">here</a></em></blockquote><h2 id="how-automation-increases-productivity">🪄 How automation increases productivity <a class="markdownit-header-anchor" href="#how-automation-increases-productivity">🔗</a></h2><p>Digital product teams are slowly learning to <a href="https://localazy.com/blog/localization-automation-language-product-service">integrate automation into their processes</a> to be more efficient and productive. Your team can benefit from it too. Automation helps in various aspects of the localization process, <a href="https://localazy.com/blog/multi-platform-localization-localazy-connected-projects">minimizing time-consuming manual tasks</a> and freeing up time for strategic decision-making and creative work.</p><p>With automation-powered tools, your teams can:</p><ul><li>🧪 Extract and process content,</li><li>🧳 translate and adapt it for different markets,</li><li>👌 and keep consistency across multiple languages.</li></ul><p>In localization, automation can be applied in multiple stages of localization, including the content extraction phase and <a href="https://localazy.com/features/format-conversions">file conversions</a>. For example, tools powered by AI can scan and identify translatable text within digital products.🕵️</p><p><strong>If done manually, localization takes a lot of work, which often delays launches in new markets</strong>. Now, by combining machine translation, artificial intelligence (AI), and <a href="https://www.deeplearning.ai/resources/natural-language-processing/">natural language processing (NLP)</a> technologies, localization teams can reach a satisfactory level of automation that helps them lower time-to-market for multilingual updates.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/AdobeStock_668911928.jpeg" class="kg-image" alt loading="lazy"></figure><blockquote>🤖 <em>Discover more about making content automation a true partner for your localization team in our <a href="https://localazy.com/blog/automation-should-work-with-your-team-not-against-it-bridging-the-gap-podcast-s02-ep10">Bridging the Gap podcast episode with Paul Bratslavsky, Developer Advocate</a> at <a href="https://strapi.io/integrations/Localazy">Strapi</a>.</em></blockquote><h2 id="5-benefits-of-automation-tools-for-l10n-teams">💡 5 benefits of automation tools for l10n teams <a class="markdownit-header-anchor" href="#5-benefits-of-automation-tools-for-l10n-teams">🔗</a></h2><p>Automation tools are transforming localization by removing bottlenecks, improving output, and enabling scalability. Both <a href="https://localazy.com/dictionary/translation-management-system-tms">Translation Management Systems (TMSs)</a> and <a href="https://localazy.com/dictionary/cat-tool">Computer-Aided Translation (CAT)</a> help automate tasks of the localization process to speed up launches to new markets. However, the most significant improvements in the localization process come from AI-enabled workflows that could involve using large language models (LLMs) to rewrite UI copy in context, or running automated quality checks with real-time model-in-the-loop scoring.</p><p>Some systems can even adapt content tone or formality dynamically based on locale or user persona. Basically, the number of manual tasks can be reduced even further. Based on our experience driving localization wins for brands worldwide, here are five major benefits automation brings to the table:</p><h3 id="1-reduces-localization-errors">1. Reduces localization errors <a class="markdownit-header-anchor" href="#1-reduces-localization-errors">🔗</a></h3><p>Manual processes often lead to inconsistencies in structure, phrasing, or formatting that distort meaning at the local level. Automation minimizes these risks by enforcing standardized formatting, tone of voice, and using real-time validation tools to catch issues early.</p><p>Advanced systems go further by using AI to spot tone mismatches, flag unlocalized terms, and ensure UI strings don't render incorrectly across layouts. Combined with automated <a href="https://localazy.com/dictionary/linguistic-quality-assurance">Linguistic QA (LQA)</a> and context-aware checks, this drastically reduces rework and preserves the integrity of your messaging across markets.</p><blockquote><em>📖 <strong>Related read:</strong> <a href="https://localazy.com/blog/top-9-ux-translation-problems-and-how-to-solve-them">Top 9 UX translation problems (and how to solve them)</a></em></blockquote><h3 id="2-sets-teams-for-maximum-productivity">2. Sets teams for maximum productivity <a class="markdownit-header-anchor" href="#2-sets-teams-for-maximum-productivity">🔗</a></h3><p>Cloud-based TMS platforms like Localazy centralize translations in one location, supporting you throughout the process by enabling notifications, comments, and instant project updates. This keeps all team members and stakeholders connected. Also, with <a href="https://localazy.com/integrations">deep integrations</a> via CLI, API, and plugins (Figma, Strapi, Webflow, Zapier, and others), translations can be triggered as part of builds, content publication, or design updates.</p><p>You can <a href="https://localazy.com/blog/automated-workflows-series-translate-content-immediately-after-uploading-with-mt">add intelligent Automations</a> that detect new strings, fire off pre-translations, and forward them to translators for review. Meanwhile, defined roles and automated notifications keep translators, reviewers, developers, and managers synced without meetings or chaos.</p><p>The result? <strong>Your team can collaborate on meaningful, creative localization tasks without worrying about technical, tool-switching, and administrative chores</strong> while avoiding disorganization and chaos. You’re able to browse through translations, version changes, and <a href="https://localazy.com/blog/guide-localazy-translation-services">order translations fast</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/AdobeStock_698259266.jpeg" class="kg-image" alt loading="lazy"></figure><h3 id="3-achieves-higher-quality-accuracy-and-consistency">3. Achieves higher quality, accuracy, and consistency <a class="markdownit-header-anchor" href="#3-achieves-higher-quality-accuracy-and-consistency">🔗</a></h3><p><a href="https://localazy.com/faq/localization/what-is-cat-in-localization">CAT tools</a> play an important role in automating localization thanks to their translation memory, terminology management, glossaries, and style guides. They make it easier to keep consistent terminology, higher accuracy, and better translation quality. ✅</p><p>Translators can then focus on creative localization tasks instead of repetitive ones, using <a href="https://localazy.com/features/context-screenshots-ocr">context-based tools</a> to uphold branding and stylistic consistency globally. The outcome? <strong>Accurate, culturally-adapted translations that make brands appear local</strong>. At the end of the day, successful and effective localization relies on details, such as using local language nuances, and automation makes time for it.</p><h3 id="4-frees-up-time-and-distributes-resources-better">4. Frees up time and distributes resources better <a class="markdownit-header-anchor" href="#4-frees-up-time-and-distributes-resources-better">🔗</a></h3><p>Automation in localization takes care of inefficient time-consuming tasks - from initial translation drafts to manual reviews. This leaves time and other resources to be distributed to impactful work. Especially when it comes to workflow management. <a href="https://localazy.com/blog/release-update-localazy-ai-automated-workflows-and-more#automated-workflows-ai-filters-beta">Automations</a> get rid of the need for manual task distribution, prevent delays, and save manhours.</p><p>As a result, there will be more budget you can spend on professional translators, proofreaders, and developing your brand. 💸 You can go from on a budget to resourceful, and save money for other aspects of your brand development so you can grow rapidly. All this is possible when you use the right tech with a high level of automation.</p><blockquote>Automations and context tools like glossaries, translation memories and style guides are a powerful combination that increase accuracy, reduce errors and allow team members to focus on creative localization tasks while ditching time-consuming repetitive chores</blockquote><h3 id="5-makes-scaling-to-new-markets-easier">5. Makes scaling to new markets easier <a class="markdownit-header-anchor" href="#5-makes-scaling-to-new-markets-easier">🔗</a></h3><p>When we talk about localization, we’re talking about a tool that will help you get your brand loved by foreign markets. 🌐 We’re talking about <strong>powering your scaling efforts from day one</strong> so that you can add new languages to your products/services and enter new markets without much fuss as you grow.</p><p>Scaling used to mean duplicated effort each time you added a new language to your product: copying strings, re-exporting files, rebriefing translators. Now, with automations, adding a new language becomes a configuration task, not a rewrite.</p><p>The beauty of automated localization workflows lies in effortless scalability. 📈 Need to expand your Spanish launch into Portuguese? Update site navigation labels from English straight into right-to-left Arabic? Chances are, any changes and additions take just clicks rather than resource-draining manual work after you’ve set an automated localization workflow.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/pexels-vojtech-okenka-392018.jpg" class="kg-image" alt loading="lazy"></figure><h2 id="how-can-automation-improve-accuracy">🔎 How can automation improve accuracy? <a class="markdownit-header-anchor" href="#how-can-automation-improve-accuracy">🔗</a></h2><p>Accurate and consistent translations are vital for businesses that want to succeed in international markets. To achieve this, localization teams can turn to automation to improve translation accuracy and keep a consistent language across assets.</p><p>Here’s when TMSs come into play. They are equipped with:</p><p>- Error-flagging features 🚨</p><p>- Context-providing features 📖</p><p>- Intelligent suggestive algorithms 🦾</p><p>- Backlogs to keep track of all translated versions 🗂️</p><p>They make precise and error-free translations much easier to get. Automation-powered tools can efficiently handle repetitive and time-consuming tasks, making daily schedules more fun and productive. As a result, businesses can achieve faster time-to-market and respond to updates and feedback quickly.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/AdobeStock_567862901.jpeg" class="kg-image" alt loading="lazy"></figure><h3 id="the-power-of-ai-driven-translation-tech">The power of AI-driven translation tech <a class="markdownit-header-anchor" href="#the-power-of-ai-driven-translation-tech">🔗</a></h3><p>AI-driven translation tech is evolving fast. See, after advanced <a href="https://localazy.com/dictionary/neural-machine-translation">Neural Machine Translation (NMT)</a> reached a professional level of development, serving as a time-saving partner for translators, the industry received new tools like LLMs, which can now assist translators in maintaining both quality and volume in their work.</p><p>LLMs can be fine-tuned on brand tone, glossary, and linguistic features you want to focus on while expanding to new markets. You can also benefit from AI-driven variant generations (e.g., formal/informal tone, UK/US English,) among other things. Here are some obvious benefits it presents:</p><p>🚄 <strong>Fast translations</strong></p><p>Ingesting large amounts of text trains advanced neural networks to map ideas between languages intuitively. Now AI translates in minutes what takes people hours. Increased processing speed means faster translations and major time and budget savings. While the produced translations might not have a satisfactory quality for you, the faster they’re produced, the faster your team can review and finish them.</p><p>📝 <strong>Better and more accurate first drafts</strong></p><p>AI models can deeply absorb the use of grammatical rules in target languages and produce first drafts of a higher quality. It’s worth noting that AI’s first drafts can be less awkward compared to human drafts. Not to mention that AI has no <a href="https://blog.ollang.com/en/blog/blog-details/how-to-defeat-translator%E2%80%99s-block-3-tricks-that-work">translator’s block</a>.</p><p>🔠 <strong>Terminology consistency</strong></p><p>Diligently referencing context and glossaries during drafting, AI consistently respects company terminology and brand voice. Furthermore, the tech can now easily integrate with live terminology APIs or shared termbases. 🗣️ This ensures uniform global messaging aligned with guidelines and avoids outdated or brand-inconsistent translations.</p><p>But aren't <a href="https://localazy.com/blog/how-to-automate-translations-when-working-with-evolving-content-to-save-time">automated translations</a> low quality? Not if you keep the right balance. Much like autonomous vehicles still need human attention, AI translation excels with a person who keeps their hands on the wheel from time to time. And most importantly, it can learn from its errors. For instance, a workflow that uses AI can look like this: MT or LLM first drafts → linguists review → AI learns from edits.</p><blockquote>Company terminology and brand voice are kept consistent by AI. If we feed it with translators' insights, its output can be useful as an initial draft to be later polished by a human</blockquote><p>AI produces better initial drafts when fed with insights from the translators. Otherwise, it’ll lead to generic and incorrect translations. When used correctly, it learns how we translate ideas between languages, and then it produces better translations.</p><p>Together, this augmented translation approach achieves accuracy and articulation that traditional methods can’t easily reach. <strong>Blending the translator's passion with the processing power of AI creates excellent localized assets</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/AdobeStock_610060920-1.jpeg" class="kg-image" alt loading="lazy"></figure><h2 id="risks-of-automation-and-ai-in-localization">🤖 Risks of automation & AI in localization <a class="markdownit-header-anchor" href="#risks-of-automation-and-ai-in-localization">🔗</a></h2><p>Even with all the progress in AI, translators and localization teams are still needed. But using this tech comes with some risks as well. While these tools can assist human translators, they can't fully replace their judgment, cultural awareness, or domain expertise. Here are three of the biggest risks to keep in mind:</p><h3 id="1-quality-issues">1. Quality issues <a class="markdownit-header-anchor" href="#1-quality-issues">🔗</a></h3><p>AI-generated translations often need <strong>extensive human review (especially for legal, medical, technical, or UX-critical content</strong>). Even with large training datasets, AI still struggles with nuance, tone, and proper formatting in <a href="https://localazy.com/dictionary/low-resource-languages">low-resource languages</a> or <a href="https://localazy.com/blog/bridging-the-gap-podcast-s02-ep05-building-for-rtl-languages">right-to-left (RTL) scripts</a>. Overreliance without QA can lead to inaccuracies that damage trust or create compliance issues.</p><h3 id="2-biased-translations">2. Biased translations <a class="markdownit-header-anchor" href="#2-biased-translations">🔗</a></h3><p>Algorithms lack a human perspective. 🤖  AI learns from the data it’s trained on. That means it can reflect and amplify cultural biases, political inaccuracies, or outdated assumptions. Unlike professional translators who are briefed on the target audience and context, AI lacks the ability to judge what's appropriate or offensive. This is especially risky when translating content for sensitive or regulated industries.</p><h3 id="3-hallucinations-and-misinterpretations">3. Hallucinations and misinterpretations <a class="markdownit-header-anchor" href="#3-hallucinations-and-misinterpretations">🔗</a></h3><p>AI can generate confident-sounding translations that are factually incorrect, known as “hallucinations.” These errors are not only awkward, but they can also mislead users or violate accuracy standards too. Without proper human review or automated QA layers, these risks can easily slip into production.</p><p>But while these are considerable challenges that arise with the use of AI and automation in localization, there is another pressing one that can be more alarming than a bad translation: data security. 🔐</p><h3 id="4-data-privacy-and-security-risks">4. Data privacy and security risks <a class="markdownit-header-anchor" href="#4-data-privacy-and-security-risks">🔗</a></h3><p>When using cloud-based AI tools, content is often processed on external servers. If you're sending confidential legal docs or unpublished UI copy through these pipelines, you’re potentially exposing sensitive information. In regulated markets, that can mean violations of GDPR, HIPAA, or the <a href="https://www.europarl.europa.eu/topics/en/article/20230601STO93804/eu-ai-act-first-regulation-on-artificial-intelligence">EU AI Act</a>.</p><p>Remember that when using AI, you’re uploading your sensitive data to Big Tech’s clouds. You could be passing highly sensitive information to be translated, and in the case of data breaches and unauthorized access, <strong>that information could end up in the wrong hands and compromise your or your clients' reputation</strong>.</p><blockquote><em>📚 <strong>Related read:</strong> <a href="https://localazy.com/blog/safeguarding-the-privacy-of-your-ai-translated-project-what-you-need-to-know-gpt-series-2">Safeguarding the privacy of your AI-translated project: What you need to know</a></em></blockquote><p>Digital product teams should adopt strong security measures and encryption protocols to <a href="https://slator.com/innovating-at-the-speed-of-ai/">protect user data and intellectual property</a>. Compliance with privacy regulations and data protection laws in different markets is imperative to avoid legal repercussions. Furthermore, some other measures might include:</p><ul><li>🗃️ Secure file transfer protocols to protect shared data</li><li>🔓 Use multi-factor authentication and encrypt data at rest and in transit</li><li>👷‍♀️ Conduct regular security audits to identify and fix vulnerabilities</li><li>🖥️ Use on-prem or private translation engines for high-sensitivity content</li><li>🕵️ Apply redaction filters to mask private or regulated information before processing</li><li>✅ Vet vendors for SOC 2, ISO 27001, or AI Act compliance</li></ul><p>While risks will always be present, by taking some of these measures, localization teams can have some level of protection when using automation and AI to improve translation quality and productivity in the localization process.</p><blockquote><em>🎙️ Curious about ISO 27001 and data security?<a href="https://localazy.com/blog/s01-ep-02-bridging-the-gap-podcast"> Listen to our podcast episode with cybersecurity expert Ferry Haris and Localazy CEO Václav Hodek</a> to learn how certification protects your business</em></blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/pexels-google-deepmind-18069694.jpg" class="kg-image" alt loading="lazy"></figure><h2 id="the-future-of-automation-in-l10n">👀 The future of automation in l10n <a class="markdownit-header-anchor" href="#the-future-of-automation-in-l10n">🔗</a></h2><p>AI empowers remarkable text translations today. However, studying cross-disciplinary leaps in voice recognition, computer vision, and generative AI, among others, hints at a future with localization solutions of a science-fiction level. Imagine:</p><ul><li>📸 Images that instantly display localized text overlays, visible only to users in specific regions.</li><li>💬 AI-generated content that adapts tone, language, and phrasing based on cultural or demographic signals.</li><li>🗺️ Websites that automatically rearrange layout, directionality, and content structure based on the user’s locale.</li></ul><p>And that just covers consumer translations. On the workflow side, we could have translation models retrain themselves based on how your brand language evolves. Monitoring systems will catch textual inconsistencies across markets in real time, flagging off-brand or outdated phrases before they go live.</p><p>As these systems get smarter, localization will shift from a manual process to a responsive, intelligent layer of global product delivery. The line between human-crafted and machine-generated localization will get harder to see. Eventually, even experts may struggle to distinguish machine versus human-generated localization.</p><blockquote><em>📚 <strong>Recommended read:</strong> <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">Translation technology: Exploring the pros and cons of AI translation</a></em></blockquote><h3 id="how-to-prepare-your-team-for-automation-adoption">🛠️ How to prepare your team for automation adoption <a class="markdownit-header-anchor" href="#how-to-prepare-your-team-for-automation-adoption">🔗</a></h3><p>The speed of adaptation says a lot about your business growth. And this is no different when it comes to automation and AI. <strong>You need to adapt your team slowly</strong> so that when change becomes mandatory, you don’t instantly shift to new tech within a day. Here are some things you can do to speed up this process.</p><p>😰 <strong>Address their fears</strong></p><p>Be honest about how AI helps do repetitive work, so they can pursue more creative, valuable tasks. Calm fears that jobs are at risk. Make it clear that everyone stays crucial.</p><p>👂 <strong>Involve them early on</strong></p><p>Ask which manual tasks slow them down. Let them test automation tools that solve their real pain points. Early involvement builds ownership and reduces resistance.</p><p><strong>✍️ Run hands-on training</strong></p><p>Don’t just announce new tools, but teach them and mentor your team on using them. Walk through real workflows using automation so the team feels confident, not confused.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/AdobeStock_689399289.jpeg" class="kg-image" alt loading="lazy"></figure><p>🫵 <strong>Share real-life examples</strong></p><p>Show examples of successful automation applications. Whether stats show quicker translations or reviews, before-and-after data convinces. Momentum removes uncertainty over positive impact.</p><blockquote><em>📌 <strong>Related read:</strong> <a href="https://localazy.com/blog/inside-genspark-real-test-in-cross-channel-localization-with-ai-agents">Inside Genspark: A real test in cross-channel localization with AI agents</a></em></blockquote><p>🏅 <strong>Recognize their efforts</strong></p><p>From trying updated processes to mastering new systems, reward cooperation openly. Reinforce willingness to evolve together towards efficiency. Appreciation fuels team spirit and triumphs over reluctance.</p><h2 id="final-thoughts">📌 Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>As AI, automation, and smarter content systems evolve, localization is becoming faster, more accurate, and deeply integrated into how global products are built and scaled. For teams aiming to reach new markets without slowing down, automation is the foundation for excellent work.</p><p>At Localazy, we help you localize without the typical chaos. Our powerful TMS is completely web-based and has been used by large brands worldwide to expand into global markets. Coupled with <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow">our CLI</a> and the <a href="https://localazy.com/blog/the-ultimate-guide-to-localazy-api">Localazy API</a>, speed and simplicity are guaranteed in all your l10n workflows while your content remains up-to-date. <a href="https://localazy.com/register">Sign up</a> today and test it yourself for free.</p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/08/Auto-Ai.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: .xcstrings & .tmx format supported]]></title>
            <link>https://localazy.com/blog/release-update-xcstrings-tmx-format-supported</link>
            <guid isPermaLink="false">release-update-xcstrings-tmx-format-supported</guid>
            <pubDate>Wed, 10 Jan 2024 11:31:11 GMT</pubDate>
            <description><![CDATA[Exciting news – we've just rolled out an update that's going to make your localization efforts even smoother. Now, Localazy supports Xcode String Catalogs (.xcstrings) and Translation Memory eXchange (TMX) formats.]]></description>
            <content:encoded><![CDATA[<p>We're stoked about these updates, and we hope they make your localization journey even smoother. </p><h2 id="xcode-string-catalogs-xcstrings">🍏 Xcode String Catalogs (.xcstrings) <a class="markdownit-header-anchor" href="#xcode-string-catalogs-xcstrings">🔗</a></h2><p>Are you ready to make the switch to the new localizable format for iOS apps?</p><p>You can now upload <code>.xcstrings</code> files using Localazy's web upload or <a href="https://localazy.com/docs/cli/the-basics">Localazy CLI</a>. All the features of XCode Strings Catalogs are supported, including simple values, variants, substitutions, and plurals.</p><p>No extra configuration is necessary as all the features are supported out of the box.</p><blockquote>Read more about <a href="https://localazy.com/docs/cli/xcstrings-format">String Catalogs support in the documentation</a>.</blockquote><h2 id="translation-memory-exchange-tmx">📠 Translation Memory eXchange (.tmx) <a class="markdownit-header-anchor" href="#translation-memory-exchange-tmx">🔗</a></h2><p>TMX (Translation Memory eXchange) files are supported in the same way as all other localizable formats. There’s also a custom implementation for pluralized items.</p><p>TMX files up to version 1.4b are supported. </p><blockquote>Learn more about <a href="https://localazy.com/docs/cli/tmx-format">TMX configuration in the docs</a></blockquote><h2 id="conclusion">✅ Conclusion  <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>As always, your feedback is crucial, so feel free to let us know how these new formats work for you. Happy localizing!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/Release-update-xcstrings-tmx.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy Pricing Explained: How to choose the right tier for your company?]]></title>
            <link>https://localazy.com/blog/localazy-pricing-explained</link>
            <guid isPermaLink="false">localazy-pricing-explained</guid>
            <pubDate>Thu, 23 Oct 2025 18:01:15 GMT</pubDate>
            <description><![CDATA[Enjoy unlimited seats, projects, and languages. Learn how to choose the right Localazy plan for your company to achieve seamless localization workflow no matter the scope of your project.]]></description>
            <content:encoded><![CDATA[<h2 id="introduction">👋 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2><p>We want to keep the pricing as transparent as possible and keep <a href="https://localazy.com/tiers/free">all essential features free</a> for everyone, including the <a href="https://localazy.com/dictionary/machine-translation">machine translation</a>. </p><p>Our mission is to help break language barriers, so forget about us limiting the number of languages you can translate. You also shouldn't be restricted by the number of users you wish to invite to help or the number of words you can translate each month. </p><p>With Localazy, you know how much you are paying each month. You also immediately know which tier you need based on the <a href="https://localazy.com/faq/localazy-accounts/what-are-source-keys">source key limit</a> or the desired set of features that you need to achieve your goals.</p><p>👀 <a href="/pricing">Visit the Localazy Pricing page</a></p><h3 id="what-are-source-keys">What are source keys?  <a class="markdownit-header-anchor" href="#what-are-source-keys">🔗</a></h3><p>Source keys are sometimes called strings or segments. </p><p>You can imagine a source key as a single row in a spreadsheet you were previously using for translations. It can be a single-word button label or a paragraph of text. It can include placeholders or markup tags. </p><p>Source keys are the only metric that we base our pricing on, and one source key in 5 languages is still counted as only one towards your source key limit.  </p><h3 id="7-day-trial-for-all-plans">7-day trial for all plans <a class="markdownit-header-anchor" href="#7-day-trial-for-all-plans">🔗</a></h3><p>All paid plans come with a <strong>7-day trial period</strong> that allows you to try everything before you commit. We understand that complex applications take more time to set up and test, especially if you need multiple teams to cooperate on your localization projects, so if you need more days, you can contact our support and ask for a prolonged period.</p><blockquote>Update: <a href="https://localazy.com/blog/introducing-a-new-trial-model">Introducing a new 14-day trial model</a></blockquote><h3 id="unlimited-seats-projects-languages-and-words">Unlimited seats, projects, languages & words <a class="markdownit-header-anchor" href="#unlimited-seats-projects-languages-and-words">🔗</a></h3><p>You might have heard or even experienced horror stories about adding seats and being surprisingly billed way more than expected by some companies. (Looking at you, <a href="https://forum.figma.com/t/adding-editors-is-costly-and-misleading/28216" rel="noopener noreferrer">Figma</a> 😕)</p><p>We don't want to go this way. That's why all Localazy plans, including the Free tier, have <strong>unlimited seats for users</strong>. Localazy is used not only by big businesses but also by community-driven projects that are open for everyone to help translate their favorite app or open-source software. We also don't limit the number of translation projects you can manage with Localazy, the number of languages you can add to each project, and the number of words you can translate with our tools.</p><h3 id="essential-features-for-free-including-machine-translation">Essential Features for free, including machine translation <a class="markdownit-header-anchor" href="#essential-features-for-free-including-machine-translation">🔗</a></h3><p>Review, <a href="https://localazy.com/docs/general/how-to-define-your-glossary">Glossary</a>, and machine translation suggestions remain included in the Free tier. If you want to translate your hobby project with a hundred strings, you don't have to pay anything and keep managing it with Localazy until it grows over 200 managed source keys. To help you, we also offer our <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a> and Amazon Translate suggestions for free!</p><h3 id="choose-your-integration-method-regardless-of-your-plan">Choose your integration method regardless of your plan <a class="markdownit-header-anchor" href="#choose-your-integration-method-regardless-of-your-plan">🔗</a></h3><p>Anyone can use our <a href="https://localazy.com/features/cli">Command Line Interface</a>, <a href="https://localazy.com/features/translation-api">API</a>, and mobile SDKs. You can <a href="https://localazy.com/docs/general/importing-localization-files">upload any supported localizable files</a> without any restrictions using any of the methods above or simply drag and drop them into the file upload area inside the web platform.</p><h3 id="translation-services-and-translation-delivery-for-everyone">Translation services and translation delivery for everyone <a class="markdownit-header-anchor" href="#translation-services-and-translation-delivery-for-everyone">🔗</a></h3><p>Our <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization Team</a> is here for everyone to help them translate their project professionally. All users can also set up <a href="https://localazy.com/docs/general/language-cdn">Localazy CDN</a> or OTA updates regardless of their tier. These services are billed separately based on your usage.</p><h3 id="no-mt-engine-usage-restriction-within-fair-use">No MT engine usage restriction within fair use <a class="markdownit-header-anchor" href="#no-mt-engine-usage-restriction-within-fair-use">🔗</a></h3><p>All of our plans come with machine translation. Some plans have more engines available or unlock the automation of their usage, but the volume is always unrestricted within <a href="https://localazy.com/terms-and-conditions#fair-use-policy-for-machine-translation">fair use</a>. You can translate your content without any concern of being charged more for overcoming some threshold.</p><blockquote>Update March 2025: <a href="https://localazy.com/terms-and-conditions#fair-use-policy-for-machine-translation">Fair-use limits on MT apply</a></blockquote><h3 id="helpful-support-for-everyone">Helpful support for everyone <a class="markdownit-header-anchor" href="#helpful-support-for-everyone">🔗</a></h3><p>Our support is here for everyone. We can't promise to solve all your queries quickly, but you can rely on our team. We frequently implement reasonable requests and always strive to answer immediately. Our satisfaction ratio is <strong>more than 90%,</strong> and it is something we are very proud of! 😊</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image.png" class="kg-image" alt loading="lazy" width="526" height="284"></figure><h3 id="we-listen-to-your-feedback">We listen to your feedback <a class="markdownit-header-anchor" href="#we-listen-to-your-feedback">🔗</a></h3><p>You are helping us shape our platform the most! Over the years, <a href="https://localazy.com/tags/release-update">many features were added based on our users' feedback</a>. Our team has had hundreds of feedback calls with customers worldwide, and we are always looking forward to hearing your opinions.</p><h2 id="how-to-choose-the-right-tier">🤩 How to choose the right tier? <a class="markdownit-header-anchor" href="#how-to-choose-the-right-tier">🔗</a></h2><p>The first thing you should do is upload your content to Localazy to see how many source keys are there in total. Then, depending on your preferences, you can go with the minimum required plan based on the source keys or upgrade to one of our higher tiers and enjoy the advanced features that each plan has to offer.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-1.png" class="kg-image" alt loading="lazy" width="481" height="145"></figure><h3 id="free-enter-the-world-of-localization">Free: Enter the world of localization  <a class="markdownit-header-anchor" href="#free-enter-the-world-of-localization">🔗</a></h3><p>The Free tier is the gateway to the world of localization for everyone. It is ideal for hobby projects and proofs of concepts. Entry-level localization features are all available in the Free plan, including machine translation suggestions and the glossary!</p><h4 id="heres-what-you-get-for-free">Here's what you get for free</h4><ul><li>200 managed source keys</li><li>Unlimited seats, projects, words, and languages</li><li><strong>ShareTM</strong>: our community translation suggestions</li><li><strong>Amazon Translate</strong> suggestions</li><li><strong>Glossary</strong></li><li>API, CLI, and SDKs for file upload/download</li></ul><blockquote><a href="/register">Sign up for free</a> and try Localazy now</blockquote><hr><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-2.png" class="kg-image" alt loading="lazy" width="481" height="145"></figure><h3 id="professional-essentials-for-small-projects-and-startups">Professional: Essentials for small projects & startups <a class="markdownit-header-anchor" href="#professional-essentials-for-small-projects-and-startups">🔗</a></h3><p>The <a href="https://localazy.com/tiers/professional">Professional plan</a> is suitable mainly for small projects and early-stage startups wanting to get translations done quickly. The purpose of this tier is to cover the essential localization needs of your project comfortably. It includes batch MT pre-translate, <a href="https://localazy.com/features/context-screenshots-ocr">screenshots</a>, and all the necessary tools to make Localazy a valuable tool in your stack.</p><h4 id="features-and-benefits">Features and Benefits</h4><ul><li><strong>Up to 2,500 managed source keys</strong></li><li><strong>Google Translate</strong>: available in machine translation suggestions and pre-translate.</li><li><strong>Pre-translate with MT</strong>: Choose Amazon or Google Translate and apply MT in bulk.</li><li><strong>Screenshots</strong>: Upload screenshots that will help your translators with context during translation. OCR technology will help you link texts on the screenshots with your source keys.</li><li><strong>Custom Plurals:</strong> - define custom plurals for any language in your project and avoid compatibility issues with your i18n solution</li><li><strong>Multiplatform Development</strong>: Convert files from one format to another and reuse translations across your platforms. Ideal for streamlined localization of iOS and Android versions of the same app.</li><li><strong>Translation Sharing: </strong>Share translations, glossary terms, and screenshots across connected projects to save time on translation. Ideal for a portfolio of apps that share some common strings.</li><li><strong>Release Versions</strong>: Create release versions of your project to keep strings in development from reaching production or testing.</li><li><strong>Style Guides: </strong>A style guide defines how your project should sound across languages. It sets expectations for tone, formality, audience, and brand voice so both AI and human translators stay consistent.</li></ul><hr><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-3.png" class="kg-image" alt loading="lazy" width="481" height="145"></figure><h3 id="autopilot-automation-for-growth">Autopilot: Automation for growth <a class="markdownit-header-anchor" href="#autopilot-automation-for-growth">🔗</a></h3><p>The <a href="https://localazy.com/tiers/autopilot">Autopilot tier</a> is our customers' most popular choice. With Autopilot, you can enjoy fully automatic translations and focus on building your product. If you are a growing startup or a digital agency and wish to streamline your translation workflow, use state-of-the-art machine translation offered by DeepL or Localazy AI, and set up workflows that align with your translation and deployment process, choose Autopilot.<br><br>With Autopilot's integrations, you can also easily connect popular third-party services such as content management systems (Strapi, Storyblok, etc.), design platforms (Figma), or customer service solutions (Intercom) with official plugins.</p><h4 id="features-and-benefits-1">Features and Benefits</h4><ul><li><strong>Up to 7,500 managed source keys</strong></li><li><strong>Automated Workflows</strong> - Automate repetitive tasks per project and language to streamline your localization processes further.</li><li><strong>Auto MT pre-translate</strong> - Automatically translate new or changing content with popular machine translation engines.</li><li><strong>DeepL translations</strong> - Get access to leading MT providers </li><li><strong>Figma Screenshots</strong> - Automatically create, upload, and link screenshots from Figma to your texts in Localazy.</li><li><strong>Webhooks</strong> - A simple way to set up actions or notifications based on triggers and events in your Localazy project.</li><li><strong>All official integrations without restriction - </strong>Connect to your favorite third-party platforms in a few clicks with our plugins and integrations and automate the localization of your content</li><li><strong>Localazy AI - </strong>Localazy AI translates your content while automatically applying your glossary terms and following your style guide. </li></ul><hr><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/01/image-4.png" class="kg-image" alt loading="lazy" width="481" height="145"></figure><h3 id="business-enhanced-collaboration-and-efficiency">Business: Enhanced collaboration and efficiency <a class="markdownit-header-anchor" href="#business-enhanced-collaboration-and-efficiency">🔗</a></h3><p>The <a href="https://localazy.com/tiers/business">Business tier</a> is the ultimate self-service localization solution for aspiring global businesses. With this tier, you can manage up to 100,000 source strings while keeping duplicate content under control. Collaborate across your project teams with reporting, branching, and language permissions. You can also set up Single Sign-On, and most importantly, you will receive all future updates and features coming to the platform!</p><h4 id="features-and-benefits-2">Features and Benefits</h4><ul><li><strong>Up to 100,000 managed source keys!</strong></li><li><strong>Duplicity Resolving: </strong>Link duplicate content together and translate it only once while staying in control of its meaning and purpose, and benefit from our automated key clustering feature.</li><li><strong>Branching: </strong>Maintain several branches of your project to collaborate without conflicting changes.</li><li><strong>File &amp; Key Aliases: </strong>Export your keys under multiple names and into various files without a complicated setup.</li><li><strong>Language Permissions: </strong>Allow access only to the languages you want your contributors to translate.</li><li><strong>Reporting: </strong>Learn how your translators perform and get an overview of your language stats at a glance.</li><li><strong>CSV Export / Import: </strong>Hand off your translation project to an external supplier who is too stubborn to switch to Localazy and upload their work back in a few clicks.</li><li><strong>Secret Projects: </strong>Hide your Localazy projects from the public altogether.</li></ul><hr><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Tier-card-5-2.png" class="kg-image" alt loading="lazy" width="481" height="145"></figure><h3 id="enterprise-manage-and-scale-large-projects">Enterprise: Manage and scale large projects <a class="markdownit-header-anchor" href="#enterprise-manage-and-scale-large-projects">🔗</a></h3><p>No project or ecosystem of projects is too big for Localazy. The Enterprise tier is here for everyone who needs to manage and translate a high volume of texts and those looking for assistance with localization, navigating complex translation workflows, and additional services. <a href="/contact">Contact us</a> to discuss your requirements, and allow us to help you grow your global presence with scalable localization!</p><h4 id="features-and-benefits-3">Features and Benefits</h4><ul><li><strong>Custom Source key limit</strong></li><li><strong>Single Sign On: </strong>Set up SAML-based SSO for your whole organization to ensure a secure authentication with Localazy.</li><li><strong>High-Volume Translation Services: </strong>Enlist a dedicated team of translators for your projects and get volume discounts for large-scale projects.</li><li><strong>SLA / Priority Support: </strong>You can rely on our team to provide outstanding service, and rest assured that our support team will help you answer all questions. We can sign for that.</li><li><strong>Dedicated Localization Manager: </strong>Get a PRINCE2-certified localization manager to help you deliver high-quality translations.</li><li><strong>Initial Setup &amp; Configuration: </strong>Save your valuable time and allow us to help you with the initial setup.</li><li><strong>Custom Integration Development: </strong>Integrating all of your systems will be a breeze for our developers.</li><li><strong>Custom Locales: </strong>Use custom locales without workarounds.</li><li><strong>Backup &amp; Restore: </strong>Ask for frequent backups of your projects and sleep soundly, knowing that any accident can be undone!</li><li><strong>Audit Logs: </strong>Get a detailed insight into all actions that happen inside your projects.</li></ul><blockquote>Get a tailored set of services with Localazy Enterprise. <a href="/contact">Contact us now</a>.</blockquote><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>You can look forward to more useful features in the coming months, and you can rely on our team to improve your experience. Still unsure which plan is the right pick? <a href="/contact">Contact us</a>!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/Update-pricing-plans.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[7 ways to make your company more localization-friendly]]></title>
            <link>https://localazy.com/blog/7-ways-to-make-your-company-more-localization-friendly</link>
            <guid isPermaLink="false">7-ways-to-make-your-company-more-localization-friendly</guid>
            <pubDate>Sat, 16 Aug 2025 12:30:14 GMT</pubDate>
            <description><![CDATA[Localization is a team sport: it can't happen without cooperation from your colleagues. Learn how to stress its importance internally in order to implement it appropriately and maximize its benefits.]]></description>
            <content:encoded><![CDATA[<p>There are many possible outcomes of <a href="https://localazy.com/dictionary/localization">localization</a>. One company’s localized content can make waves, while another’s comes out a poor, watery imitation of the source. Or, one company manages to streamline processes and get their metrics on an upward trend, while another still fights manual assignments and delayed deadlines. Why does this happen? What’s the magical switch you can flip? What fairy dust can you scatter to get your localization processes to just <em>work</em>? ✨</p><p><strong>The bigger the role of content within an experience, the bigger the impact localization has</strong>. And so localization, lately, is getting more and more of an impact. If it’s brought in at an early stage and localizers get a say, you can ensure the entire process works more smoothly, and the end result is better. But it’s a team sport, and so it can’t happen without cooperation from your colleagues. The magic I just described happens when teams across your organization – from researchers talking to potential users to <a href="https://localazy.com/term/design-localization">designers</a> putting together those wireframes, to developers coding late into the night – work together for that common vision.</p><p>Unfortunately, many still see localization as <em><a href="https://localazy.com/blog/mythbusters-start-localization-once-product-is-done">the thing that comes after</a></em>. Something not in their realm of responsibility. And so it’s hard to convince them to get involved or collaborate effectively with localization stakeholders. Many localizers struggle to get their colleagues to <em><strong><strong><strong><strong><strong>just care</strong></strong></strong></strong></strong>,</em> as they seemingly don’t. But in reality, it’s not that they don’t care: they just don’t think it has anything to do with them.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/light-bulb-7697330_1280.png" class="kg-image" alt loading="lazy" width="1280" height="853" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/light-bulb-7697330_1280.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/light-bulb-7697330_1280.png 1000w, https://ghost.localazy.com/content/images/2023/12/light-bulb-7697330_1280.png 1280w" sizes="(min-width: 720px) 720px"></figure><h2 id="why-doesnt-anybody-else-care-about-localization">🤔 Why doesn’t anybody else care about localization? <a class="markdownit-header-anchor" href="#why-doesnt-anybody-else-care-about-localization">🔗</a></h2><p>Up until recently, it was assumed that localization should be a separate function within the organization. It happened at the end, after everything else was done. It involved lots of other people you didn’t want to be bothered about, often freelancers and external vendors. It impacted several different organizational functions, like product design, customer support, and marketing. And it was impossibly hard to budget, so no one really wanted to have loc under them.</p><p>We now know that localization, or at least product localization, <em>should</em> be <a href="https://localazy.com/blog/figma-as-your-source-of-truth-the-new-approach-to-streamlining-localization">part of the design process</a> – and the earlier, the better. ☝️ And when you have efficient tools like Localazy, management and budgeting are less of a hassle. And so there’s really no reason for localization to be siloed anymore.</p><blockquote>Up until recently, localization was seen as an end process that involved managing external resources and that was hard to budget. No one really wanted to have loc under them</blockquote><p>The problem: No one told your colleagues. To them, it seems like a black box, something they don’t know enough about and can’t really influence. 🗃️ An added box they need to check, on top of their day-to-day tasks, that’s there because it’s good for the bottom line to have more users for the product.</p><p>This is bad, but it’s also good. Because understanding their motives means you can convince them. <strong>With some careful considerations and a bit of evangelizing, you can get your colleagues <em>to care</em> about localization</strong>: understand its importance and impact, and collaborate with you to make it better.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/marvin-meyer-SYTO3xs06fU-unsplash-1.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/marvin-meyer-SYTO3xs06fU-unsplash-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/marvin-meyer-SYTO3xs06fU-unsplash-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/marvin-meyer-SYTO3xs06fU-unsplash-1.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/marvin-meyer-SYTO3xs06fU-unsplash-1.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-can-you-foster-a-localization-friendly-culture-within-your-company">👐 How can you foster a localization-friendly culture within your company? <a class="markdownit-header-anchor" href="#how-can-you-foster-a-localization-friendly-culture-within-your-company">🔗</a></h2><h3 id="1-use-data-and-success-stories">1. Use data and success stories <a class="markdownit-header-anchor" href="#1-use-data-and-success-stories">🔗</a></h3><p>A great way to show the impact localization has is through numbers. Go through your own analytics or search for studies and data available. <strong>Try and find proof of the value localization can provide</strong>. This could be in various forms. For example:</p><ul><li>📈 Numbers showing sales increases post-localization.</li><li>📊 Data about more website visitors from those places.</li><li>🏆 Increases in customer engagement or <a href="https://localazy.com/blog/boost-profits-improve-cx-by-localizing-your-digital-product">satisfaction ratings</a> in localized regions.</li><li>📉 Reduction in customer support queries due to clearer, localized information.</li><li>⭐ Higher app store ratings or more positive reviews in regions where localization has been implemented.</li></ul><p>Then, try and find examples of other companies doing localization well. Go through case studies online, listen to podcasts like the <a href="https://www.localizationstation.com/podcast">Localization Process Pod</a>, or attend conferences and lectures to get some ideas. These stories will support the data and ground it in reality, showing why localization is so important.</p><h3 id="2-organize-training-sessions">2. Organize training sessions <a class="markdownit-header-anchor" href="#2-organize-training-sessions">🔗</a></h3><p>A lot of the time, people avoid taking part in localization efforts as <strong>they don’t really know what those entail</strong>. Training and knowledge-sharing can shed some light on the process and help fix that. 👩‍🏫 Plan sessions where your colleagues can learn about localization. You can start from the basics, explaining why localization matters and showing some examples. Or you could share how-tos, tips, and tricks for localization in different areas, like marketing or product design. <a href="https://www.localizationstation.com/posts/willian-magalhaes-quandoo">When they did this at Quandoo</a>, for example, they saw significant interest in localization within the team.</p><p>If possible, bring in experts to talk about their experiences and create interactive sessions where everyone can participate. This will help them understand localization better. It will also give them a chance to ask questions and share their own ideas so that they will feel part of the process. Once people get a glimpse into this wonderful world, they are often much more inclined to help.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/jason-goodman-Oalh2MojUuk-unsplash-1.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/jason-goodman-Oalh2MojUuk-unsplash-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/jason-goodman-Oalh2MojUuk-unsplash-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/jason-goodman-Oalh2MojUuk-unsplash-1.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/jason-goodman-Oalh2MojUuk-unsplash-1.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-show-impact-user-stories-and-feedback">3. Show impact: user stories and feedback <a class="markdownit-header-anchor" href="#3-show-impact-user-stories-and-feedback">🔗</a></h3><p>Real user stories and feedback are powerful. Collect stories about how your users have gotten value from your localized product. Go through case studies, or talk to them directly to ask about the impact. Share positive feedback post-localization and gather anecdotes of instances where localization mattered. All of these will make the impact of localization feel more real.</p><p>In the end, <strong>localization is not just about business growth. It's about making things better for people all around the world</strong>. Also, share positive feedback from these users. When your colleagues hear how happy people are with the localized product, they'll be more motivated to invest in it and give it thought.</p><h3 id="4-understand-the-impact-each-role-has">4. Understand the impact each role has <a class="markdownit-header-anchor" href="#4-understand-the-impact-each-role-has">🔗</a></h3><p>Every role in a company can contribute in a unique way to the localization-friendly culture:</p><ul><li>The <strong>CEO or Founder</strong> can prioritize localization in their vision and strategy, highlighting its importance.</li><li>The <strong><a href="https://localazy.com/for/chief-technical-officers">CTO</a> or <a href="https://localazy.com/for/software-developers">developers</a></strong> can lead the development of systems that support multiple languages and cultural formats, ensuring that the product architecture is flexible enough.</li><li>The <strong><a href="https://localazy.com/for/chief-marketing-officers">CMO</a></strong> can make sure marketing and content strategies are tailored to <a href="https://localazy.com/tags/locales">each locale</a> so that they resonate with diverse cultural audiences.</li><li><a href="https://localazy.com/for/product-managers"><strong>Product managers</strong></a> can connect the different teams, facilitate collaboration, and ensure that localization is integrated into the product development cycle.</li><li><strong><a href="https://localazy.com/for/localization-managers">Localization managers</a></strong> can ensure information and questions move seamlessly between all parties.</li></ul><p>By understanding and embracing their specific roles in the localization process, each organization member can contribute to building a truly global and culturally aware company. This collective effort not only enhances the company’s market reach but also strengthens its brand on a global scale.</p><h3 id="5-empower-colleagues-within-their-roles">5. Empower colleagues within their roles <a class="markdownit-header-anchor" href="#5-empower-colleagues-within-their-roles">🔗</a></h3><p>People don’t like to feel like a cog in the machine. When your colleagues feel like they have a big impact and a significant role in localization, they’ll consider it their own, too.</p><p>To this end, take time to explain how each team’s or person’s work contributes to this goal – <a href="https://www.localizationstation.com/posts/monica-martin-del-campo-despegar">just like they did at Despegar</a>. For example, tell your design team how consistently creating <a href="https://localazy.com/blog/how-to-use-ocr-to-achieve-high-quality-translations">screenshot context</a> 🔍 for localization improves the quality of the localized experience. Or show your developers how collaborating with linguists when incorporating <a href="https://localazy.com/dictionary/icu">ICU syntax</a> 📇 can ensure users get the correct copy in every language.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/desola-lanre-ologun-IgUR1iX0mqM-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/desola-lanre-ologun-IgUR1iX0mqM-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/desola-lanre-ologun-IgUR1iX0mqM-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/desola-lanre-ologun-IgUR1iX0mqM-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/desola-lanre-ologun-IgUR1iX0mqM-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Treat localization as a collaborative effort (after all, that’s what it is). Encourage everyone to work together, have regular sync meetings or conversations, and share their successes and challenges.</p><p><strong>When people see how their work fits into the bigger picture, they feel more involved</strong>. They understand that they're not just doing their usual job. They're part of something bigger that helps people all over the world.</p><blockquote>🎙️ Listen to our <a href="https://localazy.com/blog/bridging-the-gap-podcast-s02-ep04-lang-ops-to-scale">Bridging the Gap podcast episode with Kareem Ennassag</a>, for pracitical advice on building Language Operations (LangOps) for growth from the start.</blockquote><h3 id="6-share-improvements-and-give-credit">6. Share improvements and give credit <a class="markdownit-header-anchor" href="#6-share-improvements-and-give-credit">🔗</a></h3><p>Change and improvement happen gradually, in small increments. Focus on the good changes that the localization strategy contributed to – either fully or partially. Maybe more people are buying your product in a new country. Or maybe customers are happier. <strong>Share these improvements with everyone</strong>.</p><p>To help your colleagues feel a part of your company’s localization efforts, give them credit. 👏 Talk about the changes they caused and the difference their expertise made. You can do this through a shout-out in your weekly meeting or a note in a company newsletter. Anytime works, as long as you recognize people for their work and efforts.</p><blockquote>Treat localization as the collaborative effort that it is. Explain team members what they can contribute, encourage them to work together and give your colleagues credit when they make a difference</blockquote><h3 id="7-enlist-advocates-within-each-team">7. Enlist advocates within each team <a class="markdownit-header-anchor" href="#7-enlist-advocates-within-each-team">🔗</a></h3><p>If you’re working at a large company, or if you’re the only localization person in your organization, you’ll need extensions. 😬 Find other people in the company who have a connection with localization and will be good advocates for your cause, <a href="https://www.localizationstation.com/posts/localization-at-scale-adi-meller-wix">like the localization team did at Wix</a>. These people will act like a bridge between their team and your localization team, and help keep localization on everyone’s mind.</p><p>The colleagues you choose don’t have to be localization professionals – far from it. But they should care about your localized experience and understand the struggle of those using localized products. <strong>Those who speak more than one language are good candidates</strong>, as are writers and content designers who understand <a href="https://localazy.com/blog/12-principles-of-ux-writing-with-examples">the impact of well-written content</a> on the experience. This way, every part of your company will have someone to keep localization a priority.</p><h2 id="theres-never-a-one-size-fits-all-solution">📏 There’s never a one-size-fits-all solution <a class="markdownit-header-anchor" href="#theres-never-a-one-size-fits-all-solution">🔗</a></h2><p>Every company is different, from structure and size to localization maturity. This means you’ll have to approach this in a different way, depending on how your company is built and how it operates. Take the recommendations in this article as a starting point, and adapt them as needed.</p><p>For example, if you’re a <strong>seed-stage company</strong>, your team will likely be small and your resources limited. Every person on the team will have their hands full, some filling more than one role at a time. This means you’ll know everyone personally and that you'll be able to reach out when you need to. You may need less automated processes and <a href="https://localazy.com/features/share-tm">more hands-on collaboration</a>, which can help everyone learn about localization just by being an active part of it.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/christina-wocintechchat-com-IxmHiUC-yOw-unsplash-1.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/christina-wocintechchat-com-IxmHiUC-yOw-unsplash-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/christina-wocintechchat-com-IxmHiUC-yOw-unsplash-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/christina-wocintechchat-com-IxmHiUC-yOw-unsplash-1.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/christina-wocintechchat-com-IxmHiUC-yOw-unsplash-1.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>If you’re already <strong>in growth</strong>, scaling is probably a concern. This is the time to figure out <a href="https://localazy.com/blog/the-ultimate-guide-to-localazy-cdn">processes you can replicate</a> – for every localization task or every new language you add. Now would also be a good time to bring in solid localization software, as migration will be easier the earlier you do it. 🪁 <a href="https://localazy.com/blog/case-study-rouvy-localization">That’s what they did at ROUVY, and it worked wonders</a>.</p><p>And if you’re <strong>expanding</strong>, size and spread may be a big issue. But on the other hand, you’re likely to have the capacity to hire several dedicated localization staff members, or even several teams – ensuring they can spread their efforts and foster collaboration with other teams, as well.</p><blockquote>💭 Whether you're a seed startup, a scale-up or an established business wishing to expand, learn how to get started with Localazy's <a href="https://localazy.com/docs/general/getting-started-with-localazy">getting started guide</a>.</blockquote><h2 id="the-long-term-benefits-of-a-localization-friendly-culture">🌸 The long-term benefits of a localization-friendly culture <a class="markdownit-header-anchor" href="#the-long-term-benefits-of-a-localization-friendly-culture">🔗</a></h2><p>Embracing localization as a core element of your business strategy isn't just about expanding your reach; it's about building <a href="https://localazy.com/blog/mythbusters-our-product-has-been-localized-so-the-job-is-finished">lasting connections with your audience</a>, no matter where they are. By integrating localization into every aspect of your company, <strong>you can make your global presence more cohesive, culturally sensitive, and ultimately successful</strong>.</p><p>Localazy stands as a testament to the power of thoughtful localization. By providing <a href="https://localazy.com/features/continuous-localization-team">continuous localization services</a>, Localazy helps businesses like ROUVY not only speak the language of their customers but also connect with them on a deeper level.</p><p>Localization isn't a hurdle to overcome; it's an opportunity. With these tips and the right tools, you can build a company culture that not only embraces localization but thrives on it.</p>]]></content:encoded>
            <author>Michal Kessel Shitrit</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/12/7-Ways-for-friendly-localization.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Open AI Translations, Automated Workflows, and more!]]></title>
            <link>https://localazy.com/blog/release-update-localazy-ai-automated-workflows-and-more</link>
            <guid isPermaLink="false">release-update-localazy-ai-automated-workflows-and-more</guid>
            <pubDate>Tue, 29 Jul 2025 12:33:25 GMT</pubDate>
            <description><![CDATA[Learn what’s new in Localazy! Create custom translation sessions, integrate with Localazy in a new way, enable Open AI translation, discover new QA features, and explore Automated Workflows in the latest Release Update.

]]></description>
            <content:encoded><![CDATA[<h2 id="unlocking-the-brazilian-market">🎈 Unlocking the Brazilian Market <a class="markdownit-header-anchor" href="#unlocking-the-brazilian-market">🔗</a></h2><p>The growing Brazilian economy offers plenty of opportunities for digital businesses. Learn how to address its 200M users with the help of native localization and thorough cultural research in the <a href="https://localazy.com/blog/unlocking-the-brazilian-market-the-importance-of-accuracy-in-english-to-brazilian-portuguese-translation">article by Pricilla Back</a>. </p><blockquote>📰 <a href="https://localazy.com/blog/unlocking-the-brazilian-market-the-importance-of-accuracy-in-english-to-brazilian-portuguese-translation">The Importance of Accuracy in English to Brazilian Portuguese Translation</a></blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/image-21.png" class="kg-image" alt loading="lazy" width="950" height="419" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-21.png 600w, https://ghost.localazy.com/content/images/2023/12/image-21.png 950w" sizes="(min-width: 720px) 720px"></figure><p>Plus, until the end of January 2024, you can get translations from <strong>English to Brazilian Portuguese for a discounted price per word</strong>. Check it out!</p><blockquote><a href="https://localazy.com/my/virtual-translator">Order Brazilian Portuguese translations now</a> </blockquote><h2 id="custom-translation-tasks-and-sessions">📌 Custom Translation Tasks & Sessions <a class="markdownit-header-anchor" href="#custom-translation-tasks-and-sessions">🔗</a></h2><p>Creating a custom translation session from selected strings in the language table is now possible!</p><p>Simply filter for strings you'd like to translate/review and hit the "Translate" button. It will create a custom translation session containing all selected strings.</p><p>You can also use the ellipsis menu to copy a link to the translation session and share it with your translators in a Slack message or as a task in Jira.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/image-2.png" class="kg-image" alt loading="lazy" width="2000" height="1290" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/image-2.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/image-2.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy - Translations to Czech containing the term CDN filtered for translation session.</figcaption></figure><p>In the example above, you can see we filtered for all strings that contained the term "CDN" and instead of clicking back and forth to translate these strings one by one, we can now simply click the "Translate" button to create a translation session, where we will be served the following string immediately after saving the previous.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/image-1.png" class="kg-image" alt loading="lazy" width="1562" height="486" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-1.png 1000w, https://ghost.localazy.com/content/images/2023/12/image-1.png 1562w" sizes="(min-width: 720px) 720px"><figcaption>Localazy - Custom Translation Session</figcaption></figure><h2 id="open-ai-translations-beta">🦾 Open AI Translations (Beta) <a class="markdownit-header-anchor" href="#open-ai-translations-beta">🔗</a></h2><p>Localazy now supports various Open AI models as machine translation engines. </p><p>We asked Chat GPT to translate a sentence for us. Now you don't have to ask. You can find the results directly inside Localazy while you translate! </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/image-3.png" class="kg-image" alt loading="lazy" width="1564" height="818" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-3.png 1000w, https://ghost.localazy.com/content/images/2023/12/image-3.png 1564w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/image-4.png" class="kg-image" alt loading="lazy" width="1916" height="732" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-4.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/image-4.png 1600w, https://ghost.localazy.com/content/images/2023/12/image-4.png 1916w" sizes="(min-width: 720px) 720px"></figure><p>You can also define additional context for OpenAI, such as the type of content you are translating (e.g., SaaS, E-commerce, Company Website, etc.) and the industry that you are in (e.g., Gaming, Healthcare, Manufacturing, etc.) </p><p>On top of using Open AI as another MT engine in suggestions and pre-translate, you can use it in Automated Workflows (more on that later). Our AI capabilities are still under active development, and we'll release new features and improvements on a regular basis.</p><blockquote>You can configure Open AI for your projects in the <a href="https://localazy.com/console/ai">Localazy Console &gt; Localazy AI</a>. You will need your own Open AI token and Localazy Autopilot plan.</blockquote><p><strong>Currently Supported:</strong></p><ul><li>Open AI provides suggestions for translators</li><li>Open AI as MT engine for batch pre-translation</li><li>Open AI as an MT engine for automated workflows</li><li>AI-based filters for automated workflows</li></ul><h2 id="automated-workflows-ai-filters-beta">🛋️ Automated Workflows + AI Filters (Beta) <a class="markdownit-header-anchor" href="#automated-workflows-ai-filters-beta">🔗</a></h2><p>Now you can enjoy automatic machine translation, delete deprecated keys automatically, and do much more with <a href="https://localazy.com/tags/workflows">Automated Workflows</a>! </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/image-22.png" class="kg-image" alt loading="lazy" width="1470" height="1036" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-22.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-22.png 1000w, https://ghost.localazy.com/content/images/2023/12/image-22.png 1470w" sizes="(min-width: 720px) 720px"><figcaption>Localazy - Automated Workflows</figcaption></figure><p>First, you select one of the Actions, then define its Trigger Events and configure filters to ensure everything happens only when certain conditions are met.</p><p><strong>Available Actions:</strong></p><ul><li>Pre-translate using MT engine</li><li>Copy translations to other languages</li><li>Hide keys and show keys</li><li>Delete deprecated keys</li><li>Set translations as Needs improvement </li></ul><p><strong>Available Trigger Events:</strong></p><ul><li>Key or translation uploaded</li><li>Key or translation updated</li><li>Key created manually</li><li>Key translated</li><li>Translation reviewed</li><li>Manual trigger (coming soon)</li></ul><p><strong>Available Filters:</strong></p><ul><li>Language </li><li>Source text AI analysis</li><li>State</li><li>User + User role</li><li>Tag (coming soon)</li><li>Content Filter (regex, keyword match, etc.)</li></ul><blockquote>Learn more about <a href="https://localazy.com/docs/general/automated-workflows">Automated Workflows in the documentation</a></blockquote><h2 id="translate-offline-with-poedit">🚞 Translate offline with Poedit  <a class="markdownit-header-anchor" href="#translate-offline-with-poedit">🔗</a></h2><p>Poedit is one of the most popular translation editors for desktops. You can access your Localazy project from its interface and translate your content in a simple interface that allows you to work even on the go while your device is offline.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/image-25.png" class="kg-image" alt loading="lazy" width="1510" height="784" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-25.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-25.png 1000w, https://ghost.localazy.com/content/images/2023/12/image-25.png 1510w" sizes="(min-width: 720px) 720px"></figure><p>When you are done, you can simply save your work locally and then sync your new translations with Localazy once you connect to the network again.</p><blockquote>Download and install Poedit for your platform from <a href="http://poedit.net/">poedit.net</a></blockquote><p>You can also open projects in Poedit directly from the Localazy dashboard. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/image-23.png" class="kg-image" alt loading="lazy" width="1510" height="784" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-23.png 1000w, https://ghost.localazy.com/content/images/2023/12/image-23.png 1510w" sizes="(min-width: 720px) 720px"></figure><h2 id="new-integrations">🔌 New Integrations <a class="markdownit-header-anchor" href="#new-integrations">🔗</a></h2><p>We also worked on two new integrations. Welcome Intercom and Directus CMS to the family of official plugins by Localazy. Available on the Autopilot plan.</p><h3 id="intercom-localization-plugin">Intercom localization plugin  <a class="markdownit-header-anchor" href="#intercom-localization-plugin">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/image-26.png" class="kg-image" alt loading="lazy" width="1510" height="784" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-26.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-26.png 1000w, https://ghost.localazy.com/content/images/2023/12/image-26.png 1510w" sizes="(min-width: 720px) 720px"></figure><p>Intercom integration allows you to translate your Intercom articles, collections, and sections seamlessly. Translatable texts from articles, collections, and sections are transformed into translation keys and imported into the Localazy project. After translation, all texts are exported back to Intercom.</p><blockquote>Learn how to <a href="https://localazy.com/docs/intercom/intercom-installation">connect your Intercom Workspace with Localazy</a> </blockquote><h3 id="directus-cms-localization-plugin">Directus CMS localization plugin <a class="markdownit-header-anchor" href="#directus-cms-localization-plugin">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/image-27.png" class="kg-image" alt loading="lazy" width="1510" height="784" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-27.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-27.png 1000w, https://ghost.localazy.com/content/images/2023/12/image-27.png 1510w" sizes="(min-width: 720px) 720px"></figure><p>The Directus localization plugin by Localazy allows you to synchronize your content with Localazy and translate it with available tools. You can manage your language versions separately in Localazy and import new content for translation as you add it seamlessly without manual copypasting or file importing.</p><blockquote>Learn how to <a href="https://localazy.com/docs/directus/directus-plugin-introduction-installation">connect your Directus website with Localazy</a> </blockquote><h2 id="qa-and-platform-improvements">🕵️ QA & Platform Improvements <a class="markdownit-header-anchor" href="#qa-and-platform-improvements">🔗</a></h2><p>Our team has worked on many improvements over the last months.  </p><h3 id="copy-one-language-to-another-easily">Copy one language to another easily <a class="markdownit-header-anchor" href="#copy-one-language-to-another-easily">🔗</a></h3><p>You can now quickly create a new language as a copy of an existing language. Useful for regional variants of some languages, such as German. You can also change one language to another, which can help you when you want to change the locale code.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/copy-and-change-language.gif" class="kg-image" alt loading="lazy" width="960" height="720"></figure><h3 id="improved-mt-handling-of-placeholders">Improved MT handling of placeholders <a class="markdownit-header-anchor" href="#improved-mt-handling-of-placeholders">🔗</a></h3><p>When using pre-translate and MT suggestions, you should experience fewer issues with incorrect placeholder detection. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/image-13.png" class="kg-image" alt loading="lazy" width="2000" height="608" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-13.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/image-13.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/image-13.png 2400w" sizes="(min-width: 720px) 720px"></figure><blockquote><a href="https://www.linkedin.com/feed/update/urn:li:activity:7138120809738412032/">See it in action, explained by our colleague David on LinkedIn</a></blockquote><h3 id="figma-styled-segments">Figma styled segments <a class="markdownit-header-anchor" href="#figma-styled-segments">🔗</a></h3><p>Styled segments in <a href="https://localazy.com/features/figma-localization-plugin">Figma</a>, like bold, italic, and strikethrough, are now preserved during download/upload using the <a href="https://localazy.com/features/figma-localization-plugin">Localazy Figma Plugin</a>.</p><p>Sometimes, designers use different styles within one TextNode - called Styled Text Segments. The Localazy Plugin can transform such structures into an HTML markup representing these styles. This way, after downloading the localized texts into the Figma prototype, all formatting will be preserved.</p><blockquote>Learn more in the <a href="https://localazy.com/docs/figma/settings-tab#sync-text-formatting">Figma Plugin Documentation</a></blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/image-15.png" class="kg-image" alt loading="lazy" width="1368" height="478" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-15.png 1000w, https://ghost.localazy.com/content/images/2023/12/image-15.png 1368w" sizes="(min-width: 720px) 720px"><figcaption>Text node in FIgma</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/image-14.png" class="kg-image" alt loading="lazy" width="2000" height="505" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-14.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/image-14.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/image-14.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>The same text node when uploaded to Localazy.</figcaption></figure><h3 id="clusters-and-alternative-keys">Clusters and Alternative Keys <a class="markdownit-header-anchor" href="#clusters-and-alternative-keys">🔗</a></h3><p>Key clustering in Localazy provides a unique solution for handling duplicate values without modifying the integration source. Utilizing key clusters can save time and resources by eliminating the need to translate the same content multiple times.</p><p><strong>Learn more:</strong></p><ul><li><a href="https://localazy.com/docs/general/key-clusters">Localazy Documentation: Key Clusters</a></li><li><a href="https://localazy.com/blog/streamline-translation-efficiency-with-storyblok-cms-and-localazys-key-clustering">Streamline Translation Efficiency with Storyblok CMS and Localazy's Key Clustering</a></li><li><a href="https://localazy.com/blog/save-time-and-money-on-translations-of-duplicates-with-strapi-and-localazy">Save time and money on translations of duplicates with Strapi and Localazy</a></li></ul><p>You can also upload a single key to Localazy and export it with a different key name to a different file and even in a different file format with Export Aliases.</p><p>Export aliases allow you to export content through non-API means (CDN, CLI, web interface) with different key names and to different files than what they have been originally uploaded from.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/image-16.png" class="kg-image" alt loading="lazy" width="1721" height="548" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-16.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-16.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/image-16.png 1600w, https://ghost.localazy.com/content/images/2023/12/image-16.png 1721w" sizes="(min-width: 720px) 720px"></figure><p>Use cases include:</p><ul><li>Sharing strings between iOS and Android projects</li><li>Using Figma as a Source of Truth</li><li>Moving a key to another file for export</li></ul><p><strong>Learn more:</strong></p><ul><li><a href="https://localazy.com/docs/general/export-aliases">Localazy Documentation: Export Aliases</a></li><li><a href="https://localazy.com/blog/figma-as-your-source-of-truth-the-new-approach-to-streamlining-localization">Figma as Your Source of Truth: The New Approach to Streamlining Localization</a></li></ul><h3 id="basic-quality-assurance-filters">Basic Quality Assurance Filters <a class="markdownit-header-anchor" href="#basic-quality-assurance-filters">🔗</a></h3><p>We also added basic QA filters to help you find issues in translations easily. </p><blockquote>Learn more in the docs: <a href="https://localazy.com/docs/general/qa-checks">QA Checks</a></blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/image-28.png" class="kg-image" alt loading="lazy" width="1066" height="901" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-28.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-28.png 1000w, https://ghost.localazy.com/content/images/2023/12/image-28.png 1066w" sizes="(min-width: 720px) 720px"></figure><h2 id="embeddable-leaderboards">🏅 Embeddable leaderboards <a class="markdownit-header-anchor" href="#embeddable-leaderboards">🔗</a></h2><p>Boost community engagement, improve crowdsourced translations, and motivate your best contributors with leaderboards! It's now possible to embed leaderboards for public projects using the following URL format: </p><p><code>https://localazy.com/embed/[project-slug]?limit=10</code></p><p>It looks like this with the limit parameter set to <code>3</code>:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/image-19.png" class="kg-image" alt loading="lazy" width="1598" height="624" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-19.png 1000w, https://ghost.localazy.com/content/images/2023/12/image-19.png 1598w" sizes="(min-width: 720px) 720px"><figcaption><a href="https://localazy.com/embed/localazy-spa?limit=3">https://localazy.com/embed/localazy-spa?limit=3</a></figcaption></figure><h2 id="from-developers-for-developers">🧑‍💻  From Developers, For Developers <a class="markdownit-header-anchor" href="#from-developers-for-developers">🔗</a></h2><p>Welcome new developer-friendly ways of integrating your projects with Localazy!</p><h3 id="xcode-string-catalogs-supportxcstrings">Xcode String Catalogs support(.xcstrings) <a class="markdownit-header-anchor" href="#xcode-string-catalogs-supportxcstrings">🔗</a></h3><p>A new localizable file format by <a href="https://developer.apple.com/videos/play/wwdc2023/10155">Apple introduced earlier this year</a> is now also supported by Localazy. Yes, the simple string catalog editor allows you to add translations quickly, but Localazy offers all the good stuff to allow collaboration and quality assurance, which makes localization of your app more enjoyable. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/image-12.png" class="kg-image" alt loading="lazy" width="1470" height="574" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/image-12.png 1000w, https://ghost.localazy.com/content/images/2023/12/image-12.png 1470w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://developer.apple.com/documentation/Xcode/localizing-and-varying-text-with-a-string-catalog">Localizing and varying text with a string catalog | Apple Developer Documentation</a></figcaption></figure><blockquote>Please note that this format, while being a valid JSON is not very well documented by Apple yet, so some bugs may occur. If you encounter any issues with the .xcstrings format, please <a href="/contact">contact us</a>.</blockquote><h3 id="new-api-client-library">New API Client Library <a class="markdownit-header-anchor" href="#new-api-client-library">🔗</a></h3><p>A new API client library is now accessible on GitHub. It simplifies the integration of <a href="https://localazy.com/docs/api/introduction">Localazy API</a> into JavaScript/TypeScript code, eliminating the need to learn all the requests. </p><p>Check it out at <a href="https://github.com/localazy/api-client">GitHub - localazy/<strong>api-client</strong></a></p><blockquote>The old ts-api has been deprecated.</blockquote><h3 id="made-by-localazy-community-c-sdk">Made by Localazy Community: C# SDK  <a class="markdownit-header-anchor" href="#made-by-localazy-community-c-sdk">🔗</a></h3><p>This is an unofficial SDK for integrating with Localazy made by Kristian, aka <a href="https://github.com/Arkobat">Arkobat</a>, from Denmark. Feel free to contribute! </p><blockquote><a href="https://github.com/Arkobat/Localazy.Net">Visit the project on GitHub</a></blockquote><p>You can install the Localazy SDK using <a href="https://www.nuget.org/">NuGet</a>. Run the following in the console</p><p><code>dotnet add package Localazy.Sdk</code></p><p>This SDK simplifies the process of managing and fetching translations for your C# projects utilizing the <a href="https://localazy.com/docs/api/introduction">Localazy API</a>.</p><h2 id="join-the-conversation">💬 Join the conversation! <a class="markdownit-header-anchor" href="#join-the-conversation">🔗</a></h2><p>To get the latest info about new Localazy features, usage tips, success stories, and some behind-the-scenes bits, make sure to follow our LinkedIn and join the conversation! See you there. 💙</p><p><strong>Follow Localazy on 💼 <a href="https://www.linkedin.com/company/localazy/">LinkedIn</a></strong></p><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>And that's all for now! We hope you like the improvements, and we are looking forward to what our product team is cooking for 2024! Happy holidays! </p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/12/Release-update-workflows-AI.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to help your clients enter new markets with quality localization]]></title>
            <link>https://localazy.com/blog/enter-new-markets-with-quality-localization</link>
            <guid isPermaLink="false">enter-new-markets-with-quality-localization</guid>
            <pubDate>Wed, 04 Mar 2026 19:42:21 GMT</pubDate>
            <description><![CDATA[Servicing a multilingual customer base is not an easy feat. Fortunately, great localization can make the process infinitely easier. If you are helping your clients enter new markets as a digital agency, here are some tips and real case studies to succeed.]]></description>
            <content:encoded><![CDATA[<p>If you're part of a digital agency, creative agency, or software house in industries like computer software and marketing, <a href="https://localazy.com/blog/power-of-localization-why-digital-agencies-cant-afford-to-ignore-this-service">you're likely well aware</a> of the significance of creating multilingual experiences for your clients. But the question remains: <strong>How do you ensure your clients enter new markets with quality localization?</strong></p><p>If your clients service a multilingual customer base, quality localization is a must. Through this article, we'll discuss insights, strategies, and tips to achieve it. Hundreds of international brands have trusted us to help them go multilingual, and we’ve learned a thing or two about producing quality localizations. </p><h2 id="what-to-consider-first">✅ What to consider first <a class="markdownit-header-anchor" href="#what-to-consider-first">🔗</a></h2><p>There are several factors in play when it comes to localization. From customs to shopping habits, you must pay close attention to every aspect of your customer’s background. 🕵️‍♀️ Here are four things to look for when entering a new market with your localization strategy:</p><h3 id="evaluate-the-market-situation">Evaluate the market situation <a class="markdownit-header-anchor" href="#evaluate-the-market-situation">🔗</a></h3><p>Sounds obvious, but this step is often neglected. You should evaluate the new market needs and situation before considering <a href="https://localazy.com/tags/i18n">an entry strategy</a>. Perhaps the new market has different needs from previous ones, and you’ll need to reform your strategy. Or perhaps it is currently going through a cultural transition, and new standards aren’t set yet.</p><h3 id="navigate-online-cultures">Navigate online cultures <a class="markdownit-header-anchor" href="#navigate-online-cultures">🔗</a></h3><p>Every market has its own shopping and purchasing culture for online services or products. To successfully enter a particular market, you’ll need to spot and analyze these online cultures and their impact on the niche you’re trying to break into. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/pexels-cottonbro-studio-7351144.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/pexels-cottonbro-studio-7351144.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/pexels-cottonbro-studio-7351144.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/pexels-cottonbro-studio-7351144.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/pexels-cottonbro-studio-7351144.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Not keeping note of the prevalent online cultures is a recipe for disaster. 🧨 Plus, now it’s easier than ever for brands to become viral for not respecting online customs and trends in a particular market.</p><h3 id="embrace-customer-habits-and-customs">Embrace customer habits and customs <a class="markdownit-header-anchor" href="#embrace-customer-habits-and-customs">🔗</a></h3><p>Once you have a grasp of the customer base cultures, the challenge is to <a href="https://localazy.com/blog/mythbusters-our-product-has-been-localized-so-the-job-is-finished">adapt your client’s offering</a> to those cultural changes. Your clients must be willing to adapt their products and marketing strategies to align with the customer culture of the new market. This means not just language localization but also content, visuals, and tone adjustments.</p><h3 id="locales-and-adaptations">Locales & Adaptations <a class="markdownit-header-anchor" href="#locales-and-adaptations">🔗</a></h3><p>Before entering a new market, you need to <a href="https://localazy.com/tags/locales">identify the dialects, locales, and subtle differences</a> in the language used within the market. Localization resources like the <a href="https://hub.localazy.com/en"><strong>Localazy Hub</strong></a> can assist you during the research process.</p><p>On this extensive localization database, you'll find all the information you need about languages, world regions, currencies, time zones and other market variables you'll need to understand before taking your business to a new global location.</p><p>Thinking of all the potential users' locales that extend into the demographic that your client is expanding into will help you prepare an inclusive localization strategy. 👌</p><blockquote>🎙️ Find inspiration in our <a href="https://localazy.com/blog/s02-ep03-bridging-the-gap-podcast-content-driven-growth">Bridging the Gap podcast episode with Alex Kopp, Senior Solutions Engineer at Storyblok</a> on driving growth through high-impact content.</blockquote><h2 id="common-errors-when-entering-new-markets">😬 Common errors when entering new markets <a class="markdownit-header-anchor" href="#common-errors-when-entering-new-markets">🔗</a></h2><p>Localization can be tricky and ineffective if you rush and underestimate the peculiarities of the language in the market you're entering. If you do, chances are you’ll end up with <a href="https://localazy.com/blog/stop-making-7-software-localization-mistakes">wrong or mismatched translations</a> that don’t connect the brand with the intended user base. To avoid this, it is best to steer clear of the common pitfalls when entering a new market. Some of them include:</p><h3 id="neglecting-market-research">Neglecting market research <a class="markdownit-header-anchor" href="#neglecting-market-research">🔗</a></h3><p>Superficial research of the target market can lead to embarrassing localization errors. A detail that you consider trivial can be a cornerstone of the target culture. <strong>Localization requires in-depth research, and</strong> <strong>its success is tied to the attention you pay to details</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/tech-meeting-flatlay.jpg" class="kg-image" alt loading="lazy" width="2000" height="1182" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/tech-meeting-flatlay.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/tech-meeting-flatlay.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/tech-meeting-flatlay.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/tech-meeting-flatlay.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="using-only-machine-translation">Using only Machine Translation <a class="markdownit-header-anchor" href="#using-only-machine-translation">🔗</a></h3><p>While <a href="https://localazy.com/blog/localazy-best-tool-translation-automation">Machine Translation (MT)</a> has evolved over the years, it still isn’t enough to help you localize your clients’ materials for a new market. Tools like Google Translate can lead to embarrassing mistakes, but they’re still useful for basic translations. </p><p>For sensitive translations like marketing materials and UX writing, it’s best to <a href="https://localazy.com/dictionary/professional-translation/">seek help from human translators</a>. <strong>The ideal match is to combine them both</strong>.</p><h3 id="not-adapting-your-brand-voice-to-cultural-norms">Not adapting your brand voice to cultural norms <a class="markdownit-header-anchor" href="#not-adapting-your-brand-voice-to-cultural-norms">🔗</a></h3><p>When entering new markets, you should examine the local cultures and check if your current <a href="https://localazy.com/blog/12-principles-of-ux-writing-with-examples">brand voice</a> suits their cultural norms. For instance, if you’re helping an 🇺🇸 American brand expand to a country like 🇯🇵 Japan, you should consider the cultural norms of the target culture.</p><p>If an American brand has a friendly and informal voice and depicts people having informal and provoking conversations in its ads, that could be seen as offensive by the Japanese.</p><blockquote>Superficial research of the target market can lead to embarrassing localization errors. A detail that you consider trivial can be a cornerstone of the target culture. In addition, it is important to check if your current brand voice is suitable for the market's cultural norms.</blockquote><h3 id="not-performing-any-localization-testing">Not performing any localization testing <a class="markdownit-header-anchor" href="#not-performing-any-localization-testing">🔗</a></h3><p>When piecing together a localization strategy for your client, you’ll encounter many theories and cultural details that take time to process. However, as you might have learned from your experience, plans almost never turn out the way you expect them to. </p><p>Therefore, <strong>avoid overanalyzing just to end up with a localization strategy that doesn’t perform as expected</strong>. Perform <a href="https://localazy.com/faq/localization/what-is-localization-testing-in-software-testing">small localization tests</a> that will help you gauge your approach. It’s best to fail these small tests with a small demographic rather than with an entire strategy in an entirely new market. What can you test? </p><ul><li>✂️ <strong>Functionality and design.</strong> Some design and functionality choices are not equally intuitive in all cultures. A small test of your localized product with a small pool of users can tell you if it’s worth following the chosen approach for the entire localization strategy.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/amelie-mourichon-sv8oOQaUb-o-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/amelie-mourichon-sv8oOQaUb-o-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/amelie-mourichon-sv8oOQaUb-o-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/amelie-mourichon-sv8oOQaUb-o-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/amelie-mourichon-sv8oOQaUb-o-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><ul><li>📚 <strong>The linguistic choices</strong>. Several linguistic elements, <a href="https://localazy.com/faq/translating-idioms/how-to-localize-idioms">especially figurative language</a>, have multiple translation versions. With a small test, you can understand if the chosen versions, word usage, and terminology match what users want.</li><li>💻 ⚖️ <strong>Device and legal compliances</strong>. What devices will the target market use mostly to access your client’s assets? What regional legal regulations do you need to comply with to avoid any risk? Test your localization approach with these two angles in mind to avoid extra work.</li></ul><h3 id="3-real-world-examples-of-localization-pitfalls">3 real-world examples of localization pitfalls <a class="markdownit-header-anchor" href="#3-real-world-examples-of-localization-pitfalls">🔗</a></h3><p>Localization requires close inspection of details. It’s not something you can brush off easily. Even worldwide brands have been subjected to localization pitfalls. Let’s have a look at some of them: </p><p>🍕 <strong>Dolce &amp; Gabbana marketing blunder in China</strong></p><p>Dolce &amp; Gabbana once ran an ad campaign in China that was <a href="https://www.npr.org/sections/goatsandsoda/2018/12/01/671891818/dolce-gabbana-ad-with-chopsticks-provokes-public-outrage-in-china?t=1629035130434">criticized</a> as culturally insensitive. The ads and videos depicted a Chinese model attempting to eat Italian foods like pizza and cannoli in a way that appeared awkward. This resulted in social media backlash and a boycott of the brand in China.</p><p>🥱 <strong>HSBC Bank tells the world to "Do Nothing"</strong></p><p>Sometimes, creative taglines are challenging to translate. So, it's best to worry less about sounding smart if you want to go global. When HSBC launched its "Assume Nothing" campaign globally in 2009, the sophisticated tagline posed translation challenges. In several non-English markets, it was <a href="https://marketinggazette.co.uk/2020/07/29/7-translation-mistakes-that-caused-big-problems/">mistakenly translated</a> as "Do Nothing," contradicting the intended message. The translation blunder led to a fast replacement, which cost around $10m to the bank: "World's Private Bank." </p><p>🚘 <strong>Honda: model naming gone wrong</strong></p><p>When Honda launched their Fitta model in Nordic countries in 2001, they didn't know they had used a name for the model that translated to a vulgar term locally (female genitals). Combined with ads boasting "small outside, large inside," the name caused <a href="https://gulfbusiness.com/top-10-brands-lost-in-translation/">major embarrassment</a>. Honda swiftly rebranded the car as Jazz, but not fast enough to avoid the embarrassment. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/emrecan-arik-dgquDmlhRAI-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/emrecan-arik-dgquDmlhRAI-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/emrecan-arik-dgquDmlhRAI-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/emrecan-arik-dgquDmlhRAI-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/emrecan-arik-dgquDmlhRAI-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>As you can see, even global brands struggle with localization. Therefore, you should invest serious efforts into it before your client goes viral for the wrong thing.</p><h2 id="localization-as-your-best-entry-strategy">💪Localization as your best entry strategy <a class="markdownit-header-anchor" href="#localization-as-your-best-entry-strategy">🔗</a></h2><p>You cannot expect to enter a new market successfully <a href="https://localazy.com/blog/the-evolution-of-customer-communication-examining-emerging-trends-and-making-predictions-for-the-future">if you don't communicate the value of your brand</a> in a language that resonates with the target audience. Whether you prioritize localization as a market entry strategy for your clients or not, <a href="https://localazy.com/blog/mythbusters-start-localization-once-product-is-done">you will run into it as a necessity</a> down the road. Localization is a must to maximize the value of a product or service offered internationally. </p><p>Let’s look at some of the obvious benefits it brings:</p><h3 id="powerful-personalized-experiences">Powerful personalized experiences <a class="markdownit-header-anchor" href="#powerful-personalized-experiences">🔗</a></h3><p>A localized brand is instantly more persuasive and interesting than one that operates in a foreign language in a new market. <strong>People crave personalized experiences, and localization guarantees a high level of personalization</strong>.</p><h3 id="enhanced-brand-perception">Enhanced brand perception <a class="markdownit-header-anchor" href="#enhanced-brand-perception">🔗</a></h3><p>Brands spend millions to maintain a positive brand image. Localization enhances it while benefiting other areas like marketing and customer retention. Customers will have a positive sentiment towards a brand that has undergone a degree of localization. 🍔 For instance, think about a major food brand like McDonald’s. </p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/Xfno9DSb4bo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="Saga 2 pubs McCafé Mc Donald&#39;s &quot;soufflez avec McCafé&quot; 2021"></iframe></figure><p>Receiving an English menu in a French franchise isn’t impressive. Receiving a translated menu is normal. However, receiving a menu adapted to the local taste, with elements of French cuisine and using native terminology leads to a higher appreciation and perception of the brand.</p><h3 id="competitive-advantage">Competitive advantage <a class="markdownit-header-anchor" href="#competitive-advantage">🔗</a></h3><p><strong>Brands that go the extra mile and add quality localization to their market entry strategy win an obvious advantage over their competitors</strong>. ✌️ In comparison, imagine how unimpressive and low-effort other brands with no localization appear to the customer base.</p><p>Once the positive sentiment about your brand meshes into the customer base culture, it will be difficult for the competition to penetrate into that market without localizing. And even if they do, <a href="https://localazy.com/blog/boost-profits-improve-cx-by-localizing-your-digital-product">you’ll still have an advantage</a> by being one of the first brands to incorporate localization into their expansion strategy.</p><h3 id="higher-ranks-in-local-seo">Higher ranks in local SEO <a class="markdownit-header-anchor" href="#higher-ranks-in-local-seo">🔗</a></h3><p><strong>Localization reduces the costs of creating new content for a new market</strong>. At the same time, when localizing digital assets, <a href="https://localazy.com/blog/going-global-with-multilingual-seo">you’ll target local keywords</a> that would be impossible to target via a simple translation strategy. When you translate and localize blog posts, webpages, and landing pages into a new language, that helps you rank higher in local SERPs. Localization turns foreign brands into household names.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/computer-767776_1280.jpg" class="kg-image" alt loading="lazy" width="1280" height="853" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/computer-767776_1280.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/computer-767776_1280.jpg 1000w, https://ghost.localazy.com/content/images/2023/11/computer-767776_1280.jpg 1280w" sizes="(min-width: 720px) 720px"></figure><h2 id="5-tips-to-kick-off-your-localization-strategy">🚡 5 tips to kick off your localization strategy <a class="markdownit-header-anchor" href="#5-tips-to-kick-off-your-localization-strategy">🔗</a></h2><p>As you can realize now, localization is challenging. 🏋️ However, you can reach a satisfactory degree of localization if you put up a well-thought strategy and respect the main principles of localization. While we could write entire articles on this, we’ll keep it short to give you five tips to keep in mind when building your localization strategy:</p><h3 id="1-hire-a-professional-localization-team">1. Hire a professional localization team <a class="markdownit-header-anchor" href="#1-hire-a-professional-localization-team">🔗</a></h3><p>This is a no-brainer but an essential part of a successful internationalization process. ✅ Handling a professional translation team is challenging and time-consuming. <strong>At Localazy, we handle you whole localization journey</strong>. </p><p>At the time of ordering professional translation services, you'll have two main options available:</p><ul><li><strong>Leave it to us. </strong>You can find professional translators for <a href="https://localazy.com/dictionary/professional-translation">Professional Translation</a> and <a href="https://localazy.com/dictionary/human-assisted-mt">Human-Assisted Machine Translation (HAMT)</a> services, as well as reviewers and proofreaders for <a href="https://localazy.com/dictionary/human-translation-validation">Human Translation Validation</a> and <a href="https://localazy.com/dictionary/professional-translation">Professional Proofreading</a> (our QA process following professional translation work). You just have to order the services, sit back and focus on what matters while we take care of the rest. Learn the types of services we offer in <a href="https://localazy.com/blog/guide-localazy-translation-services#understanding-the-services-localazy-offers"><strong>our ultimate guide to Localazy translation services</strong></a>. </li><li><strong>Source the team from outside.</strong> Some companies prefer to invest in training a strong in-house translation team, and may have their own project and localization managers. If that's your case, you can invite your linguists to log into our platform and <a href="https://localazy.com/docs/general/defining-user-roles">assign project roles</a> freely.</li></ul><h3 id="2-hire-local-experts">2. Hire local experts <a class="markdownit-header-anchor" href="#2-hire-local-experts">🔗</a></h3><p>You can never understand a foreign market's needs perfectly by only reading the literature on it and making assumptions. <strong>Only natives can provide a clearer understanding of the market situation and where your brand fits in it</strong>. </p><p>Therefore, it makes sense to hire local experts who can help you form a worthwhile localization strategy by identifying what locals value, expect, and dislike in a brand of your niche. In short, an expert can help you: </p><ul><li>Prove the current need for your service/product.</li><li>Identify the most preferred competitors.</li><li>Note popular shopping habits.</li><li>Spot cultural differences, etc.</li></ul><h3 id="3-establish-basic-translation-rules">3. Establish basic translation rules  <a class="markdownit-header-anchor" href="#3-establish-basic-translation-rules">🔗</a></h3><p>Before applying your translation strategy and distributing work to your localization team, you need to sit down and agree on some simple rules, such as <a href="https://localazy.com/blog/linguistic-style-guides-software-localization">style guides</a>, formats, and <a href="https://localazy.com/blog/introduction-to-translation-glossary-best-practices">glossaries</a>. For instance, you have to decide on:   </p><ul><li>🗓️ Date formats</li><li>💱 Currency symbols</li><li>🕞 Time formats (12-hour or 24-hour time formats)</li><li>📏 Units of measurement (weights, temperatures, etc.)</li><li>🧮 Number formats (eg: US: 1,234.56, FR: 1 234,56, JPN: 1,234.56), etc.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/freestocks-L5DxWLmywmM-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/freestocks-L5DxWLmywmM-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/freestocks-L5DxWLmywmM-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/freestocks-L5DxWLmywmM-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/freestocks-L5DxWLmywmM-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-find-suitable-localization-technologies">4. Find suitable localization technologies <a class="markdownit-header-anchor" href="#4-find-suitable-localization-technologies">🔗</a></h3><p>Assembling a suitable tech stack is a must to save time and resources and output quality localization. Two elemental tools are: TMS (<a href="https://localazy.com/dictionary/translation-management-system-tms">Translation Management Systems</a>), and CAT (<a href="https://localazy.com/dictionary/cat-tool">Computer-Aided Translation</a>).</p><p>A TMS works as a central hub where you can keep all of your translations, glossaries, and assets and communicate and collaborate with translators, proofreaders, and reviewers. 📥 TMS are large systems like Localazy, which facilitate the translation process and assist in producing better quality translations. </p><p>CAT tools are often integrated into TMSs, including features like TM (<a href="https://localazy.com/dictionary/translation-memory">Translation Memory</a>), MT (<a href="https://localazy.com/dictionary/machine-translation">Machine Translation</a>), QA (<a href="https://localazy.com/dictionary/qa-quality-assurance">Quality Assurance</a>) features, and glossaries to assist in the translation process. They’re a must for <a href="https://localazy.com/blog/true-continuous-localization-localazy">continuous localization</a>, simplifying the localization of new updates.</p><h3 id="5-leverage-machine-translation-mt-strategically">5. Leverage Machine Translation (MT) strategically <a class="markdownit-header-anchor" href="#5-leverage-machine-translation-mt-strategically">🔗</a></h3><p>Machine Translation programs have been around for a while since the <a href="https://www.ibm.com/ibm/history/exhibits/701/701_translator.html">Georgetown-IBM Experiment</a> made the first step in translation technology. However, as stated above, it’s hard to produce quality localization by relying solely on Machine Translation. Should we render them useless, though? Quite the contrary. We can use them for cheap and fast translations and even produce drafts of quality localization projects. 🗒️</p><p>The key here is to use them for uncomplicated translations and always have human translators proofread them. At Localazy, we provide integrations with traditional translation engines such as Amazon Translate, Google Translate, Azure Translator, and DeepL. While these are the most common ones, you can enable other ones <a href="https://localazy.com/contact">by contacting us</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/john-schnobrich-FlPc9_VocJ4-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/john-schnobrich-FlPc9_VocJ4-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/john-schnobrich-FlPc9_VocJ4-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/john-schnobrich-FlPc9_VocJ4-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/john-schnobrich-FlPc9_VocJ4-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="implement-localazy-into-your-market-strategy">👩‍💻 Implement Localazy into your market strategy <a class="markdownit-header-anchor" href="#implement-localazy-into-your-market-strategy">🔗</a></h2><p>Whether you’re planning to localize your client’s assets using Machine Translations, or want to work with professional translators and reviewers, Localazy is <a href="https://localazy.com/blog/how-to-localize-translate-website-in-three-steps-localazy">the only TMS</a> you’ll ever need.</p><h3 id="how-localazy-can-simplify-localization">How Localazy can simplify localization <a class="markdownit-header-anchor" href="#how-localazy-can-simplify-localization">🔗</a></h3><p>When using Localazy, you are saving on resources. Not only do we offer the best localization experience, but we also charge you less for it. Here are some of the <a href="https://localazy.com/benefits">beneficial features</a> of Localazy: </p><ul><li>🤝 <a href="https://localazy.com/docs/general/what-is-localazy-sharetm"><strong>ShareTM</strong></a> - Translate your app for free with translated phrases from other Localazy users.</li><li>♻️ <a href="https://localazy.com/docs/general/what-is-localazy-intm"><strong>InTM</strong></a> - Reuse translations from your previous projects, saving on costs.</li><li>🔍 <a href="https://localazy.com/blog/unique-review-process-and-self-managed-translations"><strong>Pro-active reviews</strong></a> - Access the changelog to browse through all changes, anytime.</li><li>📚 <strong><a href="https://localazy.com/docs/general/how-to-define-your-glossary">Translation Glossary</a> </strong>- Our powerful Glossary adds context for contributors, prevents unwanted translations, and guides towards precise translations.</li><li>📲 <a href="https://localazy.com/docs/general/ota-updates"><strong>OTA Updates</strong></a> - Allows you to translate the app without having to resubmit a new version of it to the Play Store after every change. </li></ul><p>Whether you are using outdated solutions, haven’t explored any localization options yet, or are using expensive localization software, our platform can solve your localization needs. You can try it for free <a href="https://localazy.com/register">here</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/4c3e1880-595d-401f-806d-02085b855039.webp" class="kg-image" alt loading="lazy" width="1900" height="896" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/4c3e1880-595d-401f-806d-02085b855039.webp 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/4c3e1880-595d-401f-806d-02085b855039.webp 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/4c3e1880-595d-401f-806d-02085b855039.webp 1600w, https://ghost.localazy.com/content/images/2023/12/4c3e1880-595d-401f-806d-02085b855039.webp 1900w" sizes="(min-width: 720px) 720px"></figure><h3 id="localize-content-everywhere-with-50-integrations">Localize content everywhere with +50 integrations <a class="markdownit-header-anchor" href="#localize-content-everywhere-with-50-integrations">🔗</a></h3><p>When speaking of software localization, integrations are a must to allow you to translate and localize content across platforms. Localazy supports integrations with popular platforms and frameworks, fitting ideally into your tech stack.</p><p>Localazy integrates seamlessly with over 50+ <a href="https://localazy.com/integrations">frameworks, file formats &amp; popular tools</a>, including CMSs like WordPress, <a href="https://localazy.com/blog/managing-multilingual-content-with-storyblok-localazy">Storyblok</a>, Directus, and <a href="https://strapi.io/blog/strapi-localization-made-easy-with-localazy-plugin">Strapi</a>; developer collaboration tools like GitHub, Bitbucket, and GitLab; and design tools like <a href="https://localazy.com/features/figma-localization-plugin">Figma</a> to extract text for translation. And if these are not enough for you, it supports integrations with <a href="https://zapier.com/apps/localazy/integrations">Zapier</a> to help connect it with 1000+ other apps.</p><blockquote>Discover our <a href="https://localazy.com/integrations">library of integrations</a> and start localizing right away! 🧩</blockquote><h2 id="conclusion">📌 Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>As you help your clients navigate their way into new markets, remember that quality localization has a high ROI. It opens doors to new opportunities, expands the customer base, and positions your clients as global players. Localazy has already helped <a href="https://localazy.com/tags/interview">numerous clients</a>, including enterprise-grade organizations like banks, successfully enter new markets with localization, and you can be next. </p><p>We hope this article has been useful to kick-start your localization journey. Stay tuned, because we'll be offering region-specific insight next. For now, you can check out the <a href="https://hub.localazy.com/en">Localazy Hub</a> to research your target markets. 👩‍💻 Feel free to <a href="https://localazy.com/contact">contact us</a> if you have big plans for your i18n strategy! </p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2025/08/How-to_Quality-Localization.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Unlocking the Brazilian market: the importance of accuracy in English to Brazilian Portuguese translation]]></title>
            <link>https://localazy.com/blog/unlocking-the-brazilian-market-the-importance-of-accuracy-in-english-to-brazilian-portuguese-translation</link>
            <guid isPermaLink="false">unlocking-the-brazilian-market-the-importance-of-accuracy-in-english-to-brazilian-portuguese-translation</guid>
            <pubDate>Mon, 02 Jun 2025 19:19:51 GMT</pubDate>
            <description><![CDATA[The growing Brazilian economy offers plenty of opportunities for digital businesses. Learn how to address its 200M users with the help of native localization and thorough cultural research.]]></description>
            <content:encoded><![CDATA[<p><a href="https://hub.localazy.com/en/regions/br-brazil">Brazil</a>, one of the world's fastest-growing economies and the biggest country in South America, offers significant opportunities for global businesses, boasting a GDP of $1.9 trillion and a population exceeding 200 million. However, to thrive in the Brazilian market, it is crucial for companies to understand and communicate effectively with the Brazilian target audience. 🇧🇷🔍 This includes the precise translation of marketing materials, products, and services into <a href="https://www.britannica.com/place/Brazil/Language#ref312835">Brazilian Portuguese</a> (PT_BR).</p><p>Accurate and culturally relevant localization can assist businesses for a myriad of reasons. Aside from expanding their reach and increasing sales, it will lead to <strong>an enhanced customer experience and the establishment of a strong brand presence </strong>through a real understanding of the country's linguistic landscape. Let's learn how this can be achieved in the instance of the Brazilian market.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/AdobeStock_224233447.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/AdobeStock_224233447.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/AdobeStock_224233447.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/AdobeStock_224233447.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/AdobeStock_224233447.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-origins-of-brazilian-portuguese">🪘 The origins of Brazilian Portuguese <a class="markdownit-header-anchor" href="#the-origins-of-brazilian-portuguese">🔗</a></h2><p>Brazilian Portuguese has a rich history dating back to the 16th century, when the Portuguese <a href="https://archive.nytimes.com/www.nytimes.com/fodors/top/features/travel/destinations/centralandsouthamerica/brazil/riodejaneiro/fdrs_feat_129_9.html?pagewanted=1">first arrived</a> in Brazil. In the 18th century, <a href="https://hub.localazy.com/en/languages/pt-portuguese">Portuguese</a> began to become the dominant language in the country. This happened due to a series of factors, including the expansion of Portuguese colonization, formal education in Portuguese, and the migration of Portuguese individuals to Brazil.</p><p>Portuguese is considered the majority language of Brazil because the majority of the population speaks it. The <a href="https://www.gov.br/inep/pt-br/centrais-de-conteudo/acervo-linha-editorial/publicacoes-institucionais/estatisticas-e-indicadores-educacionais/resumo-tecnico-do-censo-da-educacao-basica-2020">2020 Basic Education Census</a> pointed out that 98.7% of the Brazilian population has Portuguese as their mother tongue. However, the country gathers linguistic diversity. 🗣️ Official data indicates that <a href="https://phys.org/news/2019-04-reviving-brazil-indigenous-languages.html">274 indigenous languages</a>, like Tupi, <a href="https://hub.localazy.com/en/languages/gn-guarani">Guarani</a> or Bororo, are spoken in Brazil, directly influencing the dialect as well. Therefore, the linguistic richness of Brazilian Portuguese is <a href="https://en.wikipedia.org/wiki/Languages_of_Brazil">not only limited</a> to its Portuguese roots.</p><p>The language has undergone <strong>significant influences from indigenous, African, English, and Spanish languages</strong>, creating a unique fusion of expressions and vocabulary. For example, the word 🍍 "<em>abacaxi</em>" is of indigenous origin, while the term 🪘 "<em>atabaque</em>" has its roots in Africa. In addition to the influences of different peoples, the Portuguese spoken in Brazil has absorbed and adapted words used on the internet and coming from the English language, such as the words "startup" and the neologism 👀 "<em>stalkear</em>" - a combination of the English "stalk" and the construction of a verb.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/AdobeStock_499117640_Editorial_Use_Only.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/AdobeStock_499117640_Editorial_Use_Only.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/AdobeStock_499117640_Editorial_Use_Only.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/AdobeStock_499117640_Editorial_Use_Only.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/AdobeStock_499117640_Editorial_Use_Only.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Overview of the impressive Royal Portuguese Cabinet of Reading, located in Rio de Janeiro.</figcaption></figure><p>Furthermore, the shared geographical borders with neighboring countries have contributed to further enriching the Portuguese spoken in Brazil. When examining the culture in metropolises like <strong>Rio de Janeiro</strong> and <strong>São Paulo</strong>, we observe how local expressions, slang, and <a href="https://www.youtube.com/watch?v=xPbIiF5I7iw">linguistic nuances</a> reflect the cultural diversity of the country.</p><p>These two cities, important cultural centers, have their own dialects and play a fundamental role in the formation and evolution of Brazilian Portuguese, incorporating regional elements that contribute to its uniqueness. For instance, in <a href="https://en.wikipedia.org/wiki/Paulistano_dialect">São Paulo</a> it is common to say 😌 "<em>Tá suave</em>" to express agreement or acceptance. In <a href="https://en.wikipedia.org/wiki/Carioca">Rio de Janeiro</a>, people use the term "<em>Beleza</em>" to convey the same sentiment.</p><h2 id="brazil-a-global-player-on-the-rise">🌎 Brazil: a global player on the rise <a class="markdownit-header-anchor" href="#brazil-a-global-player-on-the-rise">🔗</a></h2><p>Brazilian Portuguese is spoken throughout Brazil, including the Federal District, the 26 states, and more than 5500 cities. It is also spoken in neighboring countries, such as 🇫🇷 <a href="https://hub.localazy.com/en/regions/gf-french-guiana">French Guiana</a> and 🇸🇷 <a href="https://hub.localazy.com/en/regions/sr-suriname">Suriname</a>. Brazil has a population of over 200 million inhabitants, and almost 99% of the population considers Brazilian Portuguese as their mother tongue.</p><p>The population of <a href="https://hub.localazy.com/en/regions/pt-portugal">Portugal</a> is around 10 million people. This means that <strong>there are about 20 times more people who speak Brazilian Portuguese than European Portuguese</strong>. This difference in the number of speakers of Brazilian Portuguese and European Portuguese can be attributed to several factors, including:</p><ol><li>The size of Brazil's population, which is much larger than that of Portugal.</li><li>The fact that Brazil was a Portuguese colony for over 300 years.</li><li><a href="https://en.wikipedia.org/wiki/Brazilian_diaspora">Brazilian immigration</a> to other countries, including the United States, Canada, Paraguay, Japan, the UK, and European countries like Portugal, Italy and Spain, where they continue to speak Brazilian Portuguese.</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/Map_of_the_Brazilian_Diaspora_in_the_World.svg.png" class="kg-image" alt loading="lazy" width="1200" height="621" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Map_of_the_Brazilian_Diaspora_in_the_World.svg.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Map_of_the_Brazilian_Diaspora_in_the_World.svg.png 1000w, https://ghost.localazy.com/content/images/2023/12/Map_of_the_Brazilian_Diaspora_in_the_World.svg.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>The Brazilian diaspora all over the world. Source: Wikimedia Commons</figcaption></figure><p>Brazilian immigration has also contributed to the spread of Brazilian Portuguese on the internet, provided that the country has <a href="https://www.statista.com/statistics/262966/number-of-internet-users-in-selected-countries/">one of the biggest digital populations in the world</a>. 👩‍💻 Brazilians living abroad use social media and other online channels to communicate with fellow countrymen and others worldwide. This has increased the number of foreigners interested in learning the language spoken in Brazil.</p><h2 id="brazilian-vs-european-portuguese">🦜 Brazilian vs. European Portuguese <a class="markdownit-header-anchor" href="#brazilian-vs-european-portuguese">🔗</a></h2><p>Brazilian Portuguese, a variant of the Romance language derived from European Portuguese, exhibits <strong>significant differences in pronunciation, vocabulary, and grammar</strong>. ✍️ For instance, the more melodic and nasal <a href="https://www.youtube.com/watch?v=rIHWeh4uwo4">pronunciation</a> of <a href="https://hub.localazy.com/en/languages/pt-portuguese">Brazilian Portuguese</a> contrasts with European Portuguese, and variations exist in vocabulary and grammatical constructions.</p><blockquote>Many pronunciation, vocabulary and grammatical differences exist between Brazilian and European Portuguese. A good localization strategy will make clear distinctions between both depending on the market</blockquote><h3 id="vocabulary">Vocabulary <a class="markdownit-header-anchor" href="#vocabulary">🔗</a></h3><p>Word: "<em>Ônibus</em>"</p><p>🇧🇷 PT_BR: A common term to refer to a public transportation vehicle.</p><p>🇵🇹 PT_PT: In Portugal, it is more common to use the term "<em>autocarro</em>" to refer to the same vehicle.</p><h3 id="grammar">Grammar <a class="markdownit-header-anchor" href="#grammar">🔗</a></h3><p>Verb Conjugation: "To go"</p><p>🇧🇷 PT_BR: "<em>Você vai</em>" (formal conjugation is preferred).</p><p>🇵🇹  PT_PT: "<em>Tu vais</em>" (informal conjugation is preferred).</p><p>These examples highlight some of the linguistic distinctions between Brazilian Portuguese and European Portuguese, demonstrating that, although they share the same foundation, there are variations that should be considered during the translation process.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/mauricio-santos-HeWi6J5AN8o-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/mauricio-santos-HeWi6J5AN8o-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/mauricio-santos-HeWi6J5AN8o-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/mauricio-santos-HeWi6J5AN8o-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/mauricio-santos-HeWi6J5AN8o-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="doing-business-in-brazil-without-localization">🏖️ Doing business in Brazil without localization <a class="markdownit-header-anchor" href="#doing-business-in-brazil-without-localization">🔗</a></h2><h3 id="why-use-portuguese-over-english">Why use Portuguese over English? <a class="markdownit-header-anchor" href="#why-use-portuguese-over-english">🔗</a></h3><p><strong>Brazilian consumers are more likely to buy from brands that use their mother tongue</strong>. This is because they feel more comfortable when communicating with brands that understand their culture and needs.</p><p>Using Brazilian Portuguese in marketing and sales strategies increases trust, identification, and brand relevance for Brazilian consumers. To achieve accurate and culturally relevant translation for Brazilian Portuguese, it is essential to <strong>involve native Brazilian speakers</strong> in the translation process.</p><p>Here are some benefits of incorporating native speakers into marketing and sales strategies:</p><ul><li>💯 <strong>Accuracy:</strong> native speakers understand the nuances of the language, including idiomatic expressions, slang, and cultural references. This is crucial when conveying marketing messages, as it helps avoid misunderstandings and ensures that communication is interpreted as intended.</li><li>🤝 <strong>Credibility and trust:</strong> an authentic use of Brazilian Portuguese creates credibility. Consumers tend to trust messages that sound natural and align with their everyday language. This can positively impact brand perception and influence purchasing decisions.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/pexels-bia-santana-16162211.jpg" class="kg-image" alt loading="lazy" width="2000" height="1332" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/pexels-bia-santana-16162211.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/pexels-bia-santana-16162211.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/pexels-bia-santana-16162211.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/pexels-bia-santana-16162211.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><ul><li>👋 <strong>Cultural affinity:</strong> by involving native speakers in content creation, companies can align their message with local cultural sensitivities. This creates an emotional affinity that can be decisive in consumer choices.</li><li>🎢 <strong>Market adaptation:</strong> language is dynamic and constantly evolving. Native speakers are more attuned to linguistic changes and can help companies stay updated and adapt to the local market.</li></ul><p>Moreover, according to data from the British Council, <strong>only 5% of the Brazilian population is </strong><a href="https://www.terra.com.br/noticias/95-da-populacao-brasileira-nao-fala-ingles,9f848f68ed451de99742216570b7ccf9gc7gj8du.html"><strong>fluent in English</strong></a>. Thus, a localization strategy becomes crucial to reach the Brazilian market effectively.</p><h3 id="brazilians-shopping-and-browsing-habits">Brazilians' shopping and browsing habits <a class="markdownit-header-anchor" href="#brazilians-shopping-and-browsing-habits">🔗</a></h3><p>In Brazil, the steady growth of e-commerce is noticeable, with consumers increasingly comfortable making purchases through smartphones, tablets, and computers, using these devices for research and price comparison.</p><p>Social media platforms such as TikTok, Instagram, and YouTube play a crucial role in Brazilian consumers' purchasing decisions. 🛍️ These platforms are essential for discovering new products, receiving recommendations from friends and influencers, and accessing reviews from other users.</p><p><strong>Brazilian consumers seek a balance between price and quality, prioritizing the durability of products</strong>. Trust is a crucial element in the online shopping process, with a preference for well-known and established brands. Information such as customer reviews, return policies, and warranties are carefully considered before making decisions.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/ballots-1195076_1280.jpg" class="kg-image" alt loading="lazy" width="1280" height="853" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/ballots-1195076_1280.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/ballots-1195076_1280.jpg 1000w, https://ghost.localazy.com/content/images/2023/12/ballots-1195076_1280.jpg 1280w" sizes="(min-width: 720px) 720px"></figure><p><strong>Personalization and a customized shopping experience are highly valued by Brazilian consumers</strong>, who expect companies to offer promotions and product recommendations based on their interests and purchase history. </p><p>Regarding products in high demand, the Brazilian market excels in various categories. Some areas of growing interest for online consumers in Brazil are:</p><ul><li>👠 Fashion and apparel</li><li>🔌 Electronics</li><li>💄Cosmetics and beauty products</li><li>🍞 Food and beverages</li></ul><p>Therefore, the use of Brazilian Portuguese in digital products has a significant impact on purchasing decisions. In addition to conveying trust and credibility, it facilitates message comprehension, creates an emotional and cultural connection, and enhances conversion rates, providing a more enjoyable experience for Brazilian consumers.</p><h3 id="industries-to-keep-an-eye-on">Industries to keep an eye on <a class="markdownit-header-anchor" href="#industries-to-keep-an-eye-on">🔗</a></h3><p>Brazil presents a diverse economic landscape with several expanding industries and substantial internationalization potential. Let's highlight some of these sectors:</p><p>📲 <strong>Information Technology and Communication (ITC):</strong> <a href="https://softex.br/industria-de-tic-devera-crescer-86-no-brasil-em-2024-projeta-relatorio-da-softex-para-o-mcti-acima-do-pib-global/">Brazil's ITC sector</a> is among the fastest-growing, with an estimated growth of 8,6% by 2024. Factors such as widespread smartphone adoption, the rise of e-commerce, and the demand for cloud solutions drive this sector.</p><p>💰 <strong>FinTech:</strong> Brazilian FinTechs are innovating and gaining a global market share by providing affordable and convenient financial solutions. <a href="https://www.pwc.com.br/pt/estudos/setores-atividades/financeiro/2023/Pesq_Fintech_Deep_Dive_EN_2023.pdf">Research</a> indicates that 55% of the participating fintechs expect to more than double their revenue by 2023.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/AdobeStock_570742529.jpeg" class="kg-image" alt loading="lazy"></figure><p>🥕 <strong>AgTech:</strong> agriculture is a cornerstone of the Brazilian economy, and technology is increasingly playing a role in the field. <a href="https://radaragtech.com.br/">Brazilian AgTech</a> offers solutions for precision agriculture, livestock management, and agricultural logistics, with substantial export potential to developing agricultural economies.</p><p>🏥 <strong>Healthcare: </strong>Brazil's healthcare sector offers internationalization opportunities in areas such as telemedicine, diagnostic imaging, and generic drug production. A high demand for healthcare services and the pursuit of cost-effective solutions open avenues for Brazilian companies.</p><p>🎓 <strong>Education:</strong> the Brazilian education sector also shows potential for internationalization, especially in areas like remote learning, language education, and vocational training. The use of educational technologies and Brazilian expertise in teaching methodologies can be attractive to international markets.</p><h2 id="tips-for-your-brazilian-localization-strategy">🤙🏻 Tips for your Brazilian localization strategy <a class="markdownit-header-anchor" href="#tips-for-your-brazilian-localization-strategy">🔗</a></h2><h3 id="1-choose-the-appropriate-language-pair">1. Choose the appropriate language pair <a class="markdownit-header-anchor" href="#1-choose-the-appropriate-language-pair">🔗</a></h3><p>Choosing an appropriate language pair is the first step to ensuring a successful translation. Considering the target audience, usage context, and the purpose of the translation is crucial. </p><p>The most popular language pairs for translation between Portuguese and English include:</p><ul><li><strong>PT-BR to EN</strong>: The most common, as Brazilian Portuguese is widely spoken in Latin America, while English is globally recognized.</li><li><strong><a href="https://localazy.com/translate/en-pt_br">EN to PT-BR</a></strong>: Ideal for businesses and individuals looking to enter the Brazilian market.</li><li><strong><a href="https://localazy.com/translate/pt-en">PT to EN</a></strong>: Useful for those aiming to reach English-speaking audiences.</li></ul><p>Other popular pairs are:</p><ul><li><strong>PT-BR to ES:</strong> To access Brazilian and Spanish markets.</li><li><strong><a href="https://localazy.com/translate/pt-es">PT to ES</a>:</strong> To target Portuguese and Spanish markets.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/ingrid-vasconcelos-BACsRStk7ZQ-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/ingrid-vasconcelos-BACsRStk7ZQ-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/ingrid-vasconcelos-BACsRStk7ZQ-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/ingrid-vasconcelos-BACsRStk7ZQ-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/ingrid-vasconcelos-BACsRStk7ZQ-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-avoid-european-portuguese">2. Avoid European Portuguese <a class="markdownit-header-anchor" href="#2-avoid-european-portuguese">🔗</a></h3><p>As we stated above, European Portuguese, spoken in Portugal, differs significantly from Brazilian Portuguese in terms of vocabulary, pronunciation, and syntax. Using European Portuguese in translations for the Brazilian audience can cause confusion and hinder text comprehension.</p><h3 id="3-consider-sociolectsdialects">3. Consider sociolects/dialects <a class="markdownit-header-anchor" href="#3-consider-sociolectsdialects">🔗</a></h3><p>Brazilian Portuguese exhibits regional variations known as <a href="https://en.wikipedia.org/wiki/Portuguese_dialects">sociolects or dialects</a>. When translating for the Brazilian audience, it is crucial to consider these variations, as the use of standard Brazilian Portuguese may be inappropriate in some regions of the country. From north to south, there is a multitude of linguistic variations, like <a href="https://en.wikipedia.org/wiki/Mineiro">Mineiro</a>, <a href="https://en.wikipedia.org/wiki/Gaúcho_dialect">Gaúcho</a>, or Nordestino.</p><p>For instance, words like 🍠 '<em>aipim,</em>' '<em>mandioca</em>', and '<em>macaxeira</em>' all refer to the same root vegetable but vary depending on the region. Within this linguistic tapestry, sociolects also exist, representing linguistic differences within social groups, such as the slang of <a href="https://en.wikipedia.org/wiki/Funk_carioca">'funk carioca'</a> and the <a href="https://en.wikipedia.org/wiki/Caipira_dialect">Caipira</a> vocabulary from the country's interior, among others.</p><blockquote>Brazilian Portuguese includes a variety of sociolects and dialects, like Caipira, Mineiro or Gaúcho, that you need to consider for your localization strategy</blockquote><h3 id="4-be-mindful-of-diglossia">4. Be mindful of diglossia <a class="markdownit-header-anchor" href="#4-be-mindful-of-diglossia">🔗</a></h3><p>In Brazilian Portuguese, <a href="https://www.britannica.com/topic/diglossia">diglossia</a> occurs between written and spoken Portuguese. The written form is more formal, with complex grammar, while the spoken form is more informal, using simplified grammar. It is essential to be aware of <a href="https://localazy.com/dictionary/diglossia">this phenomenon</a> when translating for the Brazilian audience, avoiding using written Portuguese in informal contexts.</p><h3 id="5-get-to-know-brazilian-culture">5. Get to know Brazilian culture <a class="markdownit-header-anchor" href="#5-get-to-know-brazilian-culture">🔗</a></h3><p>Brazilian Portuguese is a living language that is constantly evolving. It is influenced by local culture, which is rich and diverse. To translate effectively into Brazilian Portuguese, it's important to be familiar with Brazilian culture. This will help you grasp the nuances of the language and create translations that are natural and relevant to the Brazilian audience, which is why the help of<a href="https://localazy.com/term/professional-translation-services"> a native professional localization team</a> is critical to reach your users more effectively.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/pexels-leonardo-dourado-14059766.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/pexels-leonardo-dourado-14059766.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/pexels-leonardo-dourado-14059766.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/pexels-leonardo-dourado-14059766.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/pexels-leonardo-dourado-14059766.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-benefits-of-good-ptbr-localization">🤸🏼 The benefits of good PT_BR localization <a class="markdownit-header-anchor" href="#the-benefits-of-good-ptbr-localization">🔗</a></h2><p>Great localization from English to Brazilian Portuguese can have a significant impact on a company's business. Here are some of the benefits of localizing your content for the Brazilian audience:</p><ul><li>🗺️ <strong>Expand your reach:</strong> localization to Brazilian Portuguese opens doors to a market of over 200 million people. This can assist companies in increasing their sales and revenue.</li><li>📈<strong> Boost sales:</strong> research shows that Brazilian consumers prefer buying from companies that offer content in their native language. Localization to Brazilian Portuguese can help companies increase sales in the Brazilian market.</li><li>🤩 <strong>Enhance customer experience:</strong> precise localization ensures that Brazilian consumers understand and appreciate the company's content. This can lead to a <a href="https://localazy.com/blog/12-principles-of-ux-writing-with-examples">better customer experience</a> and more satisfied customers.</li><li>📚<strong> Avoid misunderstandings:</strong> accurate translations help prevent <a href="https://localazy.com/blog/top-9-ux-translation-problems-and-how-to-solve-them">misunderstandings and misconceptions</a>. Brazilian Portuguese has specific nuances that can significantly alter the content of a message if not considered during translation.</li><li>⚖️  <strong>Comply with legal requirements:</strong> in some cases, such as legal documents, contracts, or product manuals, translation into Brazilian Portuguese may be a legal requirement. Ensuring compliance with local regulations is crucial to avoid issues.</li><li>🔎 <strong>Boost local SEO:</strong> by including relevant terms and keywords in Brazilian Portuguese, companies can optimize their content for local search engines, <a href="https://localazy.com/blog/going-global-with-multilingual-seo">increasing online visibility</a> and attracting more qualified traffic.</li><li>💡 <strong>Build a strong brand:</strong> effective translation can help a company build a strong and positive brand presence in Brazil. This can help the company stand out from the competition and attract new customers.</li></ul><blockquote>Localization can help you expand your reach, increase online visibility and connect with local customers, all while building a strong brand presence</blockquote><h2 id="what-about-african-portuguese">🛩️ What about African Portuguese? <a class="markdownit-header-anchor" href="#what-about-african-portuguese">🔗</a></h2><p>You might be wondering: if I localize my content to Brazilian Portuguese, will it be usable in African countries where Portuguese is the official language? </p><p>The answer is not straightforward. <strong>Localizing content for Brazilian Portuguese does not automatically guarantee its usability in Portuguese-speaking African countries</strong>. Despite sharing a common linguistic root, Brazilian Portuguese has evolved with unique nuances and expressions, making it distinct from the language spoken in African nations such as <a href="https://hub.localazy.com/en/regions/ao-angola">Angola</a>, <a href="https://hub.localazy.com/en/regions/cv-cape-verde">Cape Verde</a>, <a href="https://hub.localazy.com/en/regions/mz-mozambique">Mozambique</a>, <a href="https://hub.localazy.com/en/regions/gw-guinea-bissau">Guinea-Bissau</a>, <a href="https://hub.localazy.com/en/regions/st-sao-tome-principe">São Tomé and Príncipe</a>, and <a href="https://hub.localazy.com/en/regions/gq-equatorial-guinea">Equatorial Guinea</a>.</p><blockquote>Content localized for Brazilian Portuguese might be understood by African Portuguese speakers, but it's not the ideal choice for the smoothest customer experience</blockquote><p>While there are many shared words and expressions, <strong>significant differences exist in terms of vocabulary, pronunciation, and syntax</strong>. For example, in Brazil, the word 🚘 "<em>carro</em>" is used to refer to an automobile, while in Angola and Mozambique, the word 🚃 "<em>carro</em>" is used to refer to a train. There are also differences in syntax: in Brazilian Portuguese, the word order in a sentence is generally subject-verb-object, while in Angola and Mozambique, the word order is often verb-subject-object.</p><p>In general, content localized for Brazilian Portuguese may be understood by speakers of African Portuguese, but it is important to be aware of the differences between the two language variants. In order to craft the ideal customer experience, we strongly suggest you enroll a professional translation team from the country you're specifically targeting. This also applies to other territories where Portuguese cohabitates with other languages, like the Asian regions of <a href="https://hub.localazy.com/en/regions/mo-macao-sar-china">Macao</a> and <a href="https://hub.localazy.com/en/regions/tl-timor-leste">Timor-Leste</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/AdobeStock_329126342.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1499" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/AdobeStock_329126342.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/AdobeStock_329126342.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/AdobeStock_329126342.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/AdobeStock_329126342.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Mozambique is one of the African countries where Portuguese is the official language.</figcaption></figure><h2 id="the-future-of-brazilian-portuguese">🌈 The future of Brazilian Portuguese <a class="markdownit-header-anchor" href="#the-future-of-brazilian-portuguese">🔗</a></h2><p>The Brazilian Portuguese variant has been experiencing significant global expansion, primarily driven by Brazil's growing role on the international stage. The interest in learning Brazilian Portuguese as a second language has been on the rise, not only due to cultural influence but also because of Brazil's economic and diplomatic significance.</p><p>Optimistic projections are being drawn regarding Brazil's population and economic growth. The Brazilian population is expected to continue growing at a rate of about 1% per year. As for <a href="https://www.ibge.gov.br/explica/pib.php">Brazil's GDP</a>, perspectives are also promising: in 2022, for instance, it was US$ 2.02 trillion, reflecting a cumulative growth of 3.1% over four quarters.</p><p>These tendencies are expected to contribute to the global expansion of Brazilian Portuguese. 💬 After all, Brazil is an emerging country with a growing economy, and Brazilian Portuguese is the official language of the country. This makes Brazil an attractive market for businesses and investors from around the world.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/axp-photography-bqjSIXDD8W4-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1336" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/axp-photography-bqjSIXDD8W4-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/axp-photography-bqjSIXDD8W4-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/axp-photography-bqjSIXDD8W4-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/axp-photography-bqjSIXDD8W4-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="start-your-ptbr-localization-journey-today">🥭 Start your PT_BR localization journey today! <a class="markdownit-header-anchor" href="#start-your-ptbr-localization-journey-today">🔗</a></h2><p>Brazilian Portuguese has been growing globally at a rapid pace. As the Brazilian market expands, it is essential to adopt a strategic approach to reach local consumers accurately and meaningfully. 🎯</p><p>At Localazy, we combine advanced continuous localization technology <a href="https://localazy.com/features/continuous-localization-team">with human expertise</a> to ensure accurate and culturally-relevant translations. If you plan on penetrating the Brazilian market, we can help you simplify and optimize your localization workflow. Check out <a href="https://localazy.com/pricing">our pricing</a>, feel free to <a href="https://localazy.com/contact">contact us</a> for any questions, and take the first step towards connecting with over 200M Brazilian Portuguese speakers today!</p>]]></content:encoded>
            <author>Pricilla Back</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/12/BR.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Mythbusters: Our product has been localized, so the job is finished]]></title>
            <link>https://localazy.com/blog/mythbusters-our-product-has-been-localized-so-the-job-is-finished</link>
            <guid isPermaLink="false">mythbusters-our-product-has-been-localized-so-the-job-is-finished</guid>
            <pubDate>Sat, 16 Aug 2025 14:33:17 GMT</pubDate>
            <description><![CDATA[Discover why software localization is more than just a one-time task. Learn how to meet customer needs, adapt to market trends and handle evolving language.]]></description>
            <content:encoded><![CDATA[<p>You’ve localized your product. Box ticked. ✅ Move on…</p><p>Umm… no. Not if you want to keep your customers happy.</p><p>Saying 'Our product has been localized, so the job is finished' is like saying 'I've planted a tree, so now my garden is complete.' <strong>Localization, like gardening, needs nurturing to thrive</strong>.</p><p>Like gardening, localization is an ongoing process with several different elements. It’s an important part of your customer experience roadmap, so don’t neglect it.</p><p>The good news is – ongoing localization doesn’t have to cost a fortune or take a ton of resources, especially when you use automation tools, as we’ll see in a moment.</p><p>Let’s start by digging into why it’s a mistake to view localization as a “done and dusted” job.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/AdobeStock_454709699_Editorial_Use_Only.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/AdobeStock_454709699_Editorial_Use_Only.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/AdobeStock_454709699_Editorial_Use_Only.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/AdobeStock_454709699_Editorial_Use_Only.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/AdobeStock_454709699_Editorial_Use_Only.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="reason-1-customer-preferences-change">🧁 Reason 1: Customer preferences change <a class="markdownit-header-anchor" href="#reason-1-customer-preferences-change">🔗</a></h2><p>Just like fashion trends, customer preferences rarely stand still. </p><p>Societal shifts can lead to different life experiences and viewpoints. This is even more true in the internet age, where one meme can change the perspective of a whole group.</p><p>And don’t forget – if you move into new markets, you will probably need to adapt your localization focus.  🔦</p><p>Let’s say you create an app that mainly targets Silicon Valley tech early adopters. As the app grows in popularity and expands, engagement grows across the USA and other countries. The type of language and style of content that resonates with people on the American West Coast may not go down so well in Australia. For instance, humor and colloquialisms that work well in American English might not translate effectively in other English-speaking cultures or could even be misunderstood, causing offense. This is why it is important to consider cultural nuances. </p><blockquote>If you move into new markets, you'll probably need to adapt your localization focus, as locales and cultural nuances, including the use of humor and colloquialisms, are relevant</blockquote><p><strong>Solution </strong>– Data analytics is key to understanding customer preferences. Monitor user feedback and engagement metrics to get insights into evolving tastes. Then apply market research to <a href="https://localazy.com/blog/boost-profits-improve-cx-by-localizing-your-digital-product">bring your content back into line with customer expectations</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/italy-209892_1280.jpg" class="kg-image" alt loading="lazy" width="1280" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/italy-209892_1280.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/italy-209892_1280.jpg 1000w, https://ghost.localazy.com/content/images/2023/12/italy-209892_1280.jpg 1280w" sizes="(min-width: 720px) 720px"></figure><h2 id="reason-2-market-trends-shift">🌊 Reason 2: Market trends shift <a class="markdownit-header-anchor" href="#reason-2-market-trends-shift">🔗</a></h2><p>Market trends are just as dynamic as customer tastes. </p><p>Just look at <a href="https://www.forbes.com/sites/forbesbusinessdevelopmentcouncil/2022/01/07/why-your-customers-are-serious-about-sustainability/?sh=a4148773ba93">the rapid rise of sustainability</a> and eco-friendliness over the past few years. If it’s relevant to your app and you don’t keep up with the eco trend, you risk losing the more environmentally-conscious users.</p><p>Staying on top of changing trends will help you gain new users and retain the ones you already have. And localization is an important element to consider. For instance, in a market where green initiatives are trending, highlighting your app’s <a href="https://www.cnet.com/home/energy-and-utilities/what-does-carbon-neutral-mean/">carbon-neutral commitment</a> will improve its reputation.</p><p>Other trends might include the rising awareness of mental health and wellness, or tech-related topics such as <a href="https://localazy.com/tags/ai">AI and machine learning</a>. Depending on how the trends are perceived in different markets, this will affect your localization strategy. 🕵️ It’s all about speaking the language of current trends to make it more relatable for your audience.</p><p><strong>Solution </strong>– Use trend analysis to track emerging trends in different markets, then integrate these into your localization strategy. 📈 This might involve adapting content within your app, such as highlighting features that promote well-being in regions where mental health awareness is high.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/AdobeStock_306327370.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1424" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/AdobeStock_306327370.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/AdobeStock_306327370.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/AdobeStock_306327370.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/AdobeStock_306327370.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="reason-3-languages-evolve">🙊 Reason 3: Languages evolve <a class="markdownit-header-anchor" href="#reason-3-languages-evolve">🔗</a></h2><p>The evolution of language isn’t just about new words being added to the dictionary. There are far more subtle changes that are equally important, such as slang, syntax, idioms, and even the multiple connotations of existing words.</p><p>Here are a few examples from the English language to illustrate this point:</p><h3 id="slang-evolution">Slang Evolution <a class="markdownit-header-anchor" href="#slang-evolution">🔗</a></h3><ul><li>🔥 Not so long ago, the term "lit" mostly meant illuminated. Today, it's commonly used to describe something exciting or excellent.</li><li>👻 "Ghosting" used to mean some kind of supernatural apparition. Now, it's widely understood as abruptly cutting off communication without explanation.</li></ul><h3 id="syntax-shifts">Syntax Shifts <a class="markdownit-header-anchor" href="#syntax-shifts">🔗</a></h3><ul><li>✍️ These days, many academic or professional documents use passive voice sentences like "It is believed," "It is recommended," or "It is observed." rather than an active voice, such as “Scientists believe.” This style is used often because it sounds formal and can sometimes make the writing feel more objective or unbiased.</li><li>📱 The rise of texting and social media has led to the use of a more fragmented and casual sentence structure than previously.</li></ul><h3 id="changes-in-idioms">Changes in Idioms <a class="markdownit-header-anchor" href="#changes-in-idioms">🔗</a></h3><ul><li>🌳 "Barking up the wrong tree" still means a misdirected effort, but modern idioms like "spill the tea" (sharing gossip) have emerged.</li><li>🧊 “Breaking the ice” was traditionally used in the context of social gatherings, but now it includes initial interactions in various situations, including business meetings.</li></ul><h3 id="word-connotations">Word Connotations <a class="markdownit-header-anchor" href="#word-connotations">🔗</a></h3><ul><li>👨‍💻 The word "hacker" was initially used to describe someone proficient in computer programming and problem-solving. Nowadays, it often connotes illegal or unethical computer activities.</li><li>🦠 “Viral” used to have a medical connotation. In the digital age, it's more associated with the rapid spread of information on the internet.</li></ul><p><strong>Solution </strong>– This is where the human touch is so important. An AI translation service may get you some of the way there in terms of localization, but <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">human oversight is needed</a> to check for linguistic nuances. It’s also a good idea to have a feedback loop in place so users can report any mistakes or oversights in the way language is used.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/pexels-ketut-subiyanto-4350210.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/pexels-ketut-subiyanto-4350210.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/pexels-ketut-subiyanto-4350210.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/pexels-ketut-subiyanto-4350210.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/pexels-ketut-subiyanto-4350210.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="reason-4-new-languages-are-added">🍼 Reason 4: New languages are added <a class="markdownit-header-anchor" href="#reason-4-new-languages-are-added">🔗</a></h2><p>As your software or app gains traction, expansion is the natural next step. </p><p>Venturing into new territories is exciting, but it also brings the challenge – and opportunity – of adding new languages to your localization strategy.</p><p>There could be technical issues, such as ensuring your app supports <a href="https://localazy.com/docs/cli/variables">right-to-left text</a> for Arabic, to more complex cultural considerations, such as color symbolism, local customs, and societal norms, <a href="https://localazy.com/blog/top-9-ux-translation-problems-and-how-to-solve-them">that may affect UX</a>.</p><p><strong>Solution</strong> – Before a full rollout, conduct thorough testing in the new language. Engage with local partners, such as native linguists and cultural consultants, to get insights and help avoid problems <a href="https://localazy.com/tags/locales">in new markets</a>. </p><p>Once implemented, keep your ear to the ground.👂Collect and analyze user feedback to make continuous localization improvements.</p><blockquote>When adding languages, there could be technical and cultural factors to take into consideration. Make sure to conduct thorough testing and to engage with local partners to avoid problems in new markets</blockquote><h2 id="reason-5-existing-systems-and-tools-are-not-up-to-the-job">🪫 Reason 5: Existing systems and tools are not up to the job <a class="markdownit-header-anchor" href="#reason-5-existing-systems-and-tools-are-not-up-to-the-job">🔗</a></h2><p>If your app and team start growing quickly, you may find that your existing localization strategies, tools, and systems don’t support the rapid changes.</p><p>For instance, you might be using a basic translation tool or service that was good enough until now. But as you expand into new markets and need to manage multiple languages and cultural nuances, these basic tools lack advanced features such as 📖 context-specific translation, 🧩 integration with developer tools, or 📞 support from human translators.</p><p>Additionally, if your localization process <a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">relies heavily on manual work</a> – like sending files back and forth to translators, manually updating text in your app, or not having a centralized system for tracking changes – it can become a bottleneck.</p><p><strong>Solution</strong> – Look for localization platforms, such as Localazy, that offer a full range of services, from translation to cultural consultation and user testing. Adopt <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow">a workflow that integrates localization</a> into your regular development cycle, allowing for ongoing updates and improvements.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/pexels-christina-morillo-1181263.jpg" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/pexels-christina-morillo-1181263.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/pexels-christina-morillo-1181263.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/pexels-christina-morillo-1181263.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/pexels-christina-morillo-1181263.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><blockquote>🎙️Is your team educated on the importance of localization and how they can contribute to it? A localization-friendly team culture is important. Listen to <a href="https://localazy.com/blog/s01-ep-05-bridging-the-gap-podcast">our podcast episode with Michal and Kelly</a> where we talk about it. </blockquote><h2 id="case-study-rouvy-x-localazy">🚲 Case Study: ROUVY x Localazy <a class="markdownit-header-anchor" href="#case-study-rouvy-x-localazy">🔗</a></h2><p>ROUVY offers an immersive indoor cycling experience with over 2,000 real routes synced with high-quality videos, workouts, group rides, and competitions.</p><p>In 2021, the app surged in popularity globally, which meant they needed to quickly add a localization workflow across multiple platforms, including their website.</p><h3 id="the-challenge">The Challenge <a class="markdownit-header-anchor" href="#the-challenge">🔗</a></h3><p>With customers worldwide, ROUVY recognized the need to translate their website and app into several languages and keep it updated.</p><h3 id="the-solution">The Solution <a class="markdownit-header-anchor" href="#the-solution">🔗</a></h3><p>ROUVY decided to use Localazy for continuous localization of their platform and content into multiple languages. This included <a href="https://rouvy.com/">their main website</a> and Android, iOS, Desktop, and Apple TV apps.</p><h3 id="benefits">Benefits <a class="markdownit-header-anchor" href="#benefits">🔗</a></h3><ul><li><strong>Automation and Efficiency: </strong>Localazy's <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization</a> service allowed ROUVY to automate professional translations, reducing the effort needed to release new versions.</li><li><strong>Localazy CDN:</strong> Localazy's <a href="https://localazy.com/blog/8-reasons-why-delivering-translations-via-localazy-cdn-is-a-good-idea">Content Delivery Network (CDN)</a> enabled ROUVY to keep up with new translations without needing to update the app every time.</li><li><strong>Community-Driven Localization:</strong> More accurate translations through <a href="https://localazy.com/features/share-tm">crowdsourced contributions</a> allowed users from different regions to volunteer translations, particularly for the Chinese and Polish languages.</li></ul><h3 id="outcome">Outcome <a class="markdownit-header-anchor" href="#outcome">🔗</a></h3><p>Localazy streamlined ROUVY's processes, making them more agile and responsive to user needs. </p><p>As a result, ROUVY experienced over <strong>380M requests and delivered over 2.4 TB of localized data</strong> through Localazy CDN in 2022, helping to support their rapid global growth. See the full case study <a href="https://localazy.com/blog/case-study-rouvy-localization">here</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/ROUVY_Women_1.png" class="kg-image" alt loading="lazy" width="1940" height="1291" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/ROUVY_Women_1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/ROUVY_Women_1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/ROUVY_Women_1.png 1600w, https://ghost.localazy.com/content/images/2023/12/ROUVY_Women_1.png 1940w" sizes="(min-width: 720px) 720px"></figure><h2 id="save-time-and-money-with-localization-automation">📌 Save time & money with localization automation <a class="markdownit-header-anchor" href="#save-time-and-money-with-localization-automation">🔗</a></h2><p>The truth is – with the right localization platform and workflow, ongoing improvements can be made without too much extra effort or cost. ✌️ Look for tools that <a href="https://localazy.com/blog/how-to-automate-translations-when-working-with-evolving-content-to-save-time">automate</a> parts of the process and streamline others.</p><p>Localazy is an all-in-one localization platform that helps you prioritize core user journeys first and expand in manageable chunks. In other words, <strong>you don’t have to localize the whole app in one go</strong>.</p><p>Our team of professional translators and cultural experts will help enhance your content's quality by ensuring that cultural nuances are accounted for. <a href="/contact">Get in touch today</a> to find out how Localazy can make ongoing localization a breeze.</p><h2 id="more-from-our-mythbusters-series">📚 More from our Mythbusters series <a class="markdownit-header-anchor" href="#more-from-our-mythbusters-series">🔗</a></h2><p>Read my previous myth-busting articles!</p><ul><li><a href="https://localazy.com/blog/mythbusters-start-localization-once-product-is-done">We can tackle localization once the product is done</a></li><li><a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">Our users speak English, so we don’t have to localize</a><br><br></li></ul>]]></content:encoded>
            <author>Dan Martin</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/12/mythbusters_01.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How is Localazy contributing to the fight against climate change?]]></title>
            <link>https://localazy.com/blog/how-is-localazy-contributing-in-the-fight-against-climate-change</link>
            <guid isPermaLink="false">how-is-localazy-contributing-in-the-fight-against-climate-change</guid>
            <pubDate>Fri, 16 Feb 2024 10:44:57 GMT</pubDate>
            <description><![CDATA[The climate emergency is real, and localization businesses can also do their part to help end it. This is what we're doing to further the cause for a greener planet.]]></description>
            <content:encoded><![CDATA[<p>In 2023, the climate emergency is more real than ever before. Sea temperatures are rising to unknown levels, and extreme weather events are becoming more and more frequent all over the world. Reducing emissions is becoming critical: 2023 has been <a href="https://wmo.int/media/news/2023-shatters-climate-records-major-impacts">a record year for global warming</a>, with average temperatures <a href="https://climate.copernicus.eu/global-temperature-exceeds-2degc-above-pre-industrial-average-17-november">surpassing the 2ºC pre-industrial limit</a> during the month of November.</p><p>As <a href="https://www.cop28.com">COP28</a> kicked off, the global conversation has been brimming with ideas, proposals, and reticencies, too. And while international activism and strong policies are needed to tackle this issue, every little bit of work we can do as individuals and businesses counts greatly in this fight. 💪</p><p>Localazy is committed to doing its part. Since we started out in 2019, we have always been dedicated to building a sustainable business, and we have used our influence to partner with and support like-minded initiatives in the localization arena and beyond. At our core, we are a green company; this is our pledge.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/12/pexels-arthouse-studio-4905091.jpg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/pexels-arthouse-studio-4905091.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/pexels-arthouse-studio-4905091.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/pexels-arthouse-studio-4905091.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/pexels-arthouse-studio-4905091.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="why-is-it-important">🌱 Why is it important? <a class="markdownit-header-anchor" href="#why-is-it-important">🔗</a></h2><p>Our stance is clear: <a href="https://www.un.org/en/climatechange/science/mythbusters"><strong>climate change is real</strong></a>, and we want to do something about it. There is <a href="https://www.wired.co.uk/article/climate-change-facts">ample evidence of the impact</a> that human activity is having on our ecosystems, with <a href="https://news.un.org/en/story/2023/11/1144147">some key figures</a> like the rising sea levels, climbing percentage of greenhouse emissions, and global heat records supporting it. </p><p>In the never-ending public battle between skeptics and alarmists, Localazy advocates for a healthy discourse that pushes changemakers to resolve the real, tangible, and undeniable issues connected to climate change and other relevant topics. <strong>But - what does localization have to do with this at all?</strong></p><blockquote>"Many of us have kids, and we don't want to leave them a dark legacy in the form of a plundered planet."<br>-<strong> Václav Hodek, CEO of Localazy</strong></blockquote><p>"Being aware of a problem is the first step to fixing it," says <a href="https://localazy.com/blog/author/vaclav-hodek">our CEO, Václav Hodek</a>. "We do not believe that localization is a solution for the climate change emergency, but people understanding what our planet is going through is crucial for the cause. That's why we are trying to help remove language barriers and make more people care about our shared future."</p><p>"Many of us have kids, and we don't want to leave them a dark legacy in the form of a plundered planet," he continues. "Money can move things ahead, and if businesses that hold the money do not care enough, who can? Are businesses responsible for taking care? Well, probably not. But leaders are here to lead, and if environmental issues require the support of leaders, then here we are."</p><h2 id="what-are-we-doing-about-it">🫴 What are we doing about it? <a class="markdownit-header-anchor" href="#what-are-we-doing-about-it">🔗</a></h2><p>At Localazy, we believe every effort counts in the fight against climate change. Personal pledges can be very powerful (about half of our team is vegetarian), but a lot can be done within organizations, whether they're big or small. In the last three years, we've planted some seeds in what we expect will become fertile soil for a more sustainable startup environment. Let's go over some.</p><h3 id="it-starts-with-our-servers">It starts with our servers <a class="markdownit-header-anchor" href="#it-starts-with-our-servers">🔗</a></h3><p>Have you ever wondered where we store all our data? Localazy owns a series of low-carbon servers in <a href="https://www.scaleway.com/en/blog/introducing-dc5-hyper-scale-mechanical-cooling-datacenter/">Scaleway's DC5 </a>data center, <a href="https://www.youtube.com/watch?v=ovHQsvOKhlg">an impressive sustainable facility</a> powered by renewable energy and located in France. Thanks to their optimized cooling and water-efficient systems and their ultra-high-density modular configuration, we can store and manage our cloud data in a scalable way while knowing we're not wasting precious resources and that our daily operations run on the most sustainable IT infrastructure available.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/11/maxresdefault.jpg" class="kg-image" alt loading="lazy" width="1280" height="720" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/maxresdefault.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/maxresdefault.jpg 1000w, https://ghost.localazy.com/content/images/2023/11/maxresdefault.jpg 1280w" sizes="(min-width: 720px) 720px"><figcaption>Our servers are located in an energy-efficient, renewable-powered facility. Source: Scaleway.</figcaption></figure><h3 id="our-development-philosophy">Our development philosophy <a class="markdownit-header-anchor" href="#our-development-philosophy">🔗</a></h3><p>Localazy was built by developers who understand the impact sustainability practices can have in the software industry (and the other way around). We focus on doing what we can through little improvements in our own software development practices, as small steps are also valuable to reach a bigger goal. </p><p>Even though we are a small player in the scope of a huge industry, we decided to start somewhere. We frequently try to optimize bundle size, web speed, and downloaded resources to save the computational resources of our servers and clients. Our CI pipelines are also optimized so we don't run unnecessary processes when building and deploying code. This shows in <a href="https://www.websitecarbon.com/website/localazy-com/">our carbon footprint</a>, which stays quite low: <strong>only 0.20g of CO2 is produced every time someone visits our site</strong>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/Captura-de-Pantalla-2023-12-04-a-las-10.13.57.png" class="kg-image" alt loading="lazy" width="2000" height="1094" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Captura-de-Pantalla-2023-12-04-a-las-10.13.57.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Captura-de-Pantalla-2023-12-04-a-las-10.13.57.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/Captura-de-Pantalla-2023-12-04-a-las-10.13.57.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/Captura-de-Pantalla-2023-12-04-a-las-10.13.57.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Source: Website Carbon Calculator.</figcaption></figure><h3 id="a-remote-culture-that-reduces-emissions">A remote culture that reduces emissions <a class="markdownit-header-anchor" href="#a-remote-culture-that-reduces-emissions">🔗</a></h3><p>When we talk about cultivating a remote culture, we really mean it. 🙏 The whole Localazy team, comprised of 13 people, is fully remote! Our operation center is in the innovative city of Brno (where we recently attended the #VelvetInnovation conference focused on sustainability).</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">👥 310k total users<br>👩‍💻 89M translations<br>⚙️ 16k active localization projects<br>...and counting!<br><br>Kudos to <a href="https://twitter.com/dan_charvat?ref_src=twsrc%5Etfw">@dan_charvat</a> for their fantastic Localazy spotlight at <a href="https://twitter.com/hashtag/VelvetInnovation?src=hash&amp;ref_src=twsrc%5Etfw">#VelvetInnovation</a> 👏 <a href="https://t.co/UvsCGhiIRa">pic.twitter.com/UvsCGhiIRa</a></p>&mdash; Localazy (@localazy) <a href="https://twitter.com/localazy/status/1724850945605910846?ref_src=twsrc%5Etfw">November 15, 2023</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

</figure><p>We meet periodically to brainstorm, code, and connect, sure - but our daily work is mainly done remotely 👨‍💻, with us communicating through Slack, Fibery, and Around in constant adherence to <a href="https://localazy.com/blog/localazy-a-gist-powered-company">an Agile mentality</a>.</p><p>How does this exactly affect the planet? 🤔 Well - it means less commuting and a mindful use of resources, which creates an easier work-life balance. On top of that, it keeps many of us closer to nature and local life, as a good chunk of our team works in smaller cities and towns, keeping these precious economies alive.</p><blockquote>The whole Localazy team, comprised of 13 people, is fully remote. Working remotely means we commute less, have an easier work-life balance and can keep contributing to local economies.</blockquote><p>We take the same approach with our ✍️ network of collaborators, comprised of translators, localization managers, and copywriters, who are spread all over the world and are able to share their unique experiences and expertise from the five continents. Ultimately, having experts localize from and to their native languages and contributing to preserving their cultural traits makes a great difference.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/E-SDG-Poster-2019_without-UN-emblem_WEB.png" class="kg-image" alt loading="lazy" width="2000" height="1414" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/E-SDG-Poster-2019_without-UN-emblem_WEB.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/E-SDG-Poster-2019_without-UN-emblem_WEB.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/12/E-SDG-Poster-2019_without-UN-emblem_WEB.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/12/E-SDG-Poster-2019_without-UN-emblem_WEB.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy's ESG initiatives are aligned with the 17 Sustainable Development Goals. Source: UN.</figcaption></figure><h3 id="committed-to-net-positive">Committed to Net-positive <a class="markdownit-header-anchor" href="#committed-to-net-positive">🔗</a></h3><p>1+1=11 is possible when synergies are used to create meaningful partnerships. If done right, you can get multiplier effects! As an i18n platform and language services provider, Localazy is a multiplying factor for many changemakers. </p><p>Among the business operations with partners, we push our own 🌿<a href="https://www.techtarget.com/whatis/definition/environmental-social-and-governance-ESG">ESG</a> initiatives, aligned with the <a href="https://sdgs.un.org/goals">17 Sustainable Development Goals (SDGs)</a> promoted by the UN. </p><p>In this arena, we're trying to make an impact by:</p><ul><li>🤝 Creating a network effect through shared language libraries, such as our <a href="https://localazy.com/term/climate-research/">Climate Strings Project</a> powered by our <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a> tool.</li><li>💰 <a href="https://localazy.com/for/nonprofit">Supporting nonprofits</a> with generous deals and donations.</li><li>📖 Promoting literacy in <a href="https://localazy.com/blog/how-localization-of-tech-solutions-would-broaden-africas-tech-ecosystem">economic sustainability</a>, <a href="https://localazy.com/blog/translator-pov-climate-strings-project">linguistic diversity</a>, and other SDGs with an environmental impact with the help of experts in these fields.</li></ul><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">👩‍💻 &quot;70% of the SDG targets — 119 out of the total 169 — would benefit from acceleration through digital technologies&quot; - <a href="https://twitter.com/hashtag/SDGSummit2023?src=hash&amp;ref_src=twsrc%5Etfw">#SDGSummit2023</a> <br><br>Technology is vital to <a href="https://twitter.com/hashtag/bridgethegap?src=hash&amp;ref_src=twsrc%5Etfw">#bridgethegap</a>. Learn how we&#39;re doing our part in the language industry 👉 <a href="https://t.co/zketyTnkYc">https://t.co/zketyTnkYc</a> <a href="https://t.co/mXC0bkVGYy">https://t.co/mXC0bkVGYy</a></p>&mdash; Localazy (@localazy) <a href="https://twitter.com/localazy/status/1704101409329721420?ref_src=twsrc%5Etfw">September 19, 2023</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

</figure><h2 id="what-are-we-planning-for-the-future">💧What are we planning for the future? <a class="markdownit-header-anchor" href="#what-are-we-planning-for-the-future">🔗</a></h2><p>Many more things can be done to support climate awareness and reduce our environmental footprint. But by far, <strong>we believe we can create the most impact by developing our product further</strong>. This will lead to support for the agendas of innovative startups, researchers, and organizations that need to tackle localization. The <a href="https://localazy.com/blog/empowering-climate-research-shared-translation-memory">Shared Climate Strings translation memory</a> we want ready for use in 80 world languages is part of such an initiative, and it won't be the only of its kind.</p><p><strong>Sustainability is in our DNA</strong>. A collaborative culture is part of our core values as well. As our CEO says, "We want to grow as a business, but money is not the primary motivation. Our fundamental motivation is to help our users. Helping on sound topics, such as climate change, is thus just something deeply ingrained in our company culture. It's the extra mile we can take to support those who care."</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/10/earth-asking-for-help.jpg" class="kg-image" alt loading="lazy" width="800" height="450" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/earth-asking-for-help.jpg 600w, https://ghost.localazy.com/content/images/2023/10/earth-asking-for-help.jpg 800w" sizes="(min-width: 720px) 720px"><figcaption>Climate Action concerns us all. Source: UN.</figcaption></figure><h2 id="got-a-green-business-lets-talk">🪢 Got a green business? Let's talk <a class="markdownit-header-anchor" href="#got-a-green-business-lets-talk">🔗</a></h2><p>As a company committed to sustainability, <strong>we put our money where our mouth is</strong>. It is common practice for us to offer discounts, custom prices, and extended free trials for green businesses with a big purpose. Plus, we frequently let clients with a green thumb try some premium or new features for free. </p><p><strong>We are industry agnostic</strong>: Localazy welcomes all businesses who care about SDG. It doesn't matter if you are into clean water or quality education. We want to lend a hand to all of these causes. </p><blockquote>We are commited to sustainability practices. The proof of the pudding is that we put our money where our mouth is. It is common practice for us to offer discounts, custom prices, and extended free trials for industry-agnostic green initiatives. We also let clients with a green thumb try some features for free</blockquote><p>Here's a breakdown of a few brands we are currently (and proudly) supporting:</p><ul><li>🚜 <a href="https://agrocares.com"><strong>AgroCares</strong></a>, a sustainable Dutch farming solution focused on closing the world food gap.</li><li>☀️ <a href="https://www.3s-solar.swiss/fr/"><strong>Swiss Solar Solutions</strong></a>, a cutting-edge solar module manufacturer.</li><li>💸 <a href="https://localazy.com/blog/interview-donar-online-ultimate-platform-non-profits-latin-america"><strong>Donar Online</strong></a>, a Latin American crowd-funding platform that assists over 4,500 organizations with their fundraising for great causes.</li><li>🐄 <a href="https://nomeat.today"><strong>No Meat Today</strong></a>, a handy app developed by French entrepreneur <a href="https://sowenjub.me">Arnaud Joubay</a> that helps you reduce your meat intake through habit tracking.</li><li>🌊 <a href="https://plasticbank.com"><strong>Plastic Bank</strong></a>, a Canadian environmental organization that collects and repurposes plastic waste from the oceans with the help of innovative tracking technology and an international volunteer network.</li><li>🔌 <strong><a href="https://onepole.no/en">OnePole</a></strong>, a Norwegian company specializing in charging station modules for electric vehicles.</li><li>🥕 <a href="https://agdata.ag/en/"><strong>Agdata</strong></a>, a data system for agricultural management from the Czech Republic.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/12/Now-available-in-Poland-real-time-soil-testing-with-SoilCares-Scanner.jpg" class="kg-image" alt loading="lazy" width="1200" height="742" srcset="https://ghost.localazy.com/content/images/size/w600/2023/12/Now-available-in-Poland-real-time-soil-testing-with-SoilCares-Scanner.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/12/Now-available-in-Poland-real-time-soil-testing-with-SoilCares-Scanner.jpg 1000w, https://ghost.localazy.com/content/images/2023/12/Now-available-in-Poland-real-time-soil-testing-with-SoilCares-Scanner.jpg 1200w" sizes="(min-width: 720px) 720px"><figcaption>The SoilCares solution, developed by our client AgroCares, makes soil fertility management much easier. Source: AgroCares.</figcaption></figure><p>Other companies from diverse industries, like bike-sharing startups and waste management businesses, already trust us. Still, we're looking to support these types of projects further, whether they are community-driven or for-profit.</p><p>Do you check these boxes? Then we'll be happy to prepare a special deal for you so you can further your cause easily. 🙌 <strong>We're willing to put Localazy at the service of great causes</strong>. Count with us in your journey to make a difference.</p><p></p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/10/Climate-change-fight-OG.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Destination Italy: How to attract Italian customers with the help of localization]]></title>
            <link>https://localazy.com/blog/destination-italy-attract-italian-customers-with-localization</link>
            <guid isPermaLink="false">destination-italy-attract-italian-customers-with-localization</guid>
            <pubDate>Mon, 21 Jul 2025 16:49:43 GMT</pubDate>
            <description><![CDATA[85 million people speak Italian natively. Find out how to cater to them and penetrate relevant markets, like Italy, Switzerland, or the Italian diaspora, with the right localization strategy.]]></description>
            <content:encoded><![CDATA[<p>Italy - the <a href="https://hub.localazy.com/en/regions/it-italy">European country</a> famous for its boot shape and food traditions exported globally. Many people choose it as a holiday destination every year, thanks to its rich variety of cities full of history and art, mountain landscapes, lakes, stunning coastlines, and clean beaches over the Mediterranean Sea.</p><p>But have you ever tried to understand more deeply how, instead, Italians travel and decide how to buy online? <strong>Did you know that most of them still prefer to shop for products and services in Italian, even if they speak English?</strong> In this article, we will focus on how to captivate Italians online and offline through your localization strategy, analyzing their history and language. 🔍 After all, their country has already conquered all our hearts.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/amalfi-coast-862299_1280.jpg" class="kg-image" alt loading="lazy" width="1280" height="853" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/amalfi-coast-862299_1280.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/amalfi-coast-862299_1280.jpg 1000w, https://ghost.localazy.com/content/images/2023/11/amalfi-coast-862299_1280.jpg 1280w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-origins-of-italy">🏟️ The origins of Italy <a class="markdownit-header-anchor" href="#the-origins-of-italy">🔗</a></h2><p>Italian history spans over 3,000 years. Its archaeological records date back tens of thousands of years, but Italian history begins with the <strong>Etruscans</strong>, an ancient civilization that flourished between the Arno and Tiber rivers. During the 3rd century BCE, the Etruscans were supplanted by the <strong>Romans</strong>, who soon established themselves as the world's leading power. In Italy, you can still feel the remnants of those ancient times, and not only in Rome (still nowadays one of the country's main tourist destinations). Romans built the aqueduct system of the country and all the major road infrastructure systems (this is where the idiom “<a href="https://dictionary.cambridge.org/dictionary/english/all-roads-lead-to-rome">All roads lead to Rome</a>” -“<em>Tutte le strade portano a Roma</em>”- derives from).</p><p>The Western Roman Empire fell in the 5th century after barbarian invasions by the <a href="https://www.britannica.com/topic/Hun-people">Huns</a>, <a href="https://www.britannica.com/topic/Lombard-people">Lombards</a>, <a href="https://www.britannica.com/topic/Ostrogoth">Ostrogoths</a>, and <a href="https://www.britannica.com/topic/Frank-people">Franks</a>. What used to be a glorious domain became a territory split by several monarchs. Despite the Normans' success in creating a modest realm in the 11th century in southern Italy and Sicily,  several <strong>city-states</strong> ruled by different monarchs were established throughout the peninsula. A number of those city-states, like Florence, flourished during the Renaissance era. This was one of the richest periods regarding cultural Italian production in art, music, poetry, and literature. Italy remained a <strong>divided country </strong><a href="https://en.wikipedia.org/wiki/Unification_of_Italy"><strong>until 1861</strong></a> when a liberal revolution resulted in territorial unification.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/justine-camacho-4NpKCrkpbRM-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/justine-camacho-4NpKCrkpbRM-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/justine-camacho-4NpKCrkpbRM-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/justine-camacho-4NpKCrkpbRM-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/justine-camacho-4NpKCrkpbRM-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Since the country was split for a long time from north to south and invaded by different populations, the Italian language and local culture in each city and region still vary a lot nowadays.</p><h2 id="the-history-of-the-italian-language">📖 The history of the Italian language <a class="markdownit-header-anchor" href="#the-history-of-the-italian-language">🔗</a></h2><p>Italian is <a href="https://hub.localazy.com/en/languages/it-italian">a <strong>Romance language</strong></a> that evolved from Latin. It's, in fact, one of the most conservative Romance languages, keeping many traits of <strong>Latin morphology</strong>, much less of Latin syntax. However, it added some lexical innovations:</p><ul><li>Has many derivatives from body parts - for instance, from <em>braccio </em>(harm), you can derive the words <em>abbracciarsi </em>(hug), <em>imbracciare </em>(take up), <em>sbracciarsi </em>(flail around).</li><li>Italian distinguishes between double consonants - <em>caro</em> (expensive or dear) differs from <em>carro</em> (cart).</li><li>Italian is a synthetic language that doesn't use the <a href="https://en.wikipedia.org/wiki/Latin_declension">Latin case system</a>. Nouns, adjectives, and pronouns have different forms per number and gender, whereas verbs have per tense and form.</li></ul><p>There were written forms of Italian in use long before Italy was unified in the 19th century and adopted a common administrative and literary language. They had different levels of prestige, with Tuscan being the language most appreciated by the elites, partly because of the huge impact of the literary works of Dante Alighieri or Petrarch, written in the <a href="https://en.wikipedia.org/wiki/Florentine_dialect">Florentine dialect</a>.</p><p><strong>Italians were slow to adopt an official language, identifying much more strongly with their regional dialects</strong>. The eventual supremacy of the standard language also owes much to <a href="https://italysegreta.com/mamma-rai-italians-love-hate-relationship-with-public-tv/">the advent of television</a>, with the first national programs broadcast between 1940 and 1954.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/11/shutterstock_2203783557.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/shutterstock_2203783557.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/shutterstock_2203783557.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/shutterstock_2203783557.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/shutterstock_2203783557.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>A 16th-century manuscript of Dante's Divine Comedy, written in Tuscan.</figcaption></figure><p>Regarding <strong>regional dialects</strong>, many people still speak them (both old people and youngsters), and some have even received official recognition as a language since they have their own grammar and literature:</p><ul><li><strong><a href="https://hub.localazy.com/en/languages/nap-neapolitan">Neapolitan</a></strong>, spoken mostly in Napoli but also throughout the Campania region, and some parts of the Abruzzo, Molise, and Basilicata regions.</li><li><strong><a href="https://hub.localazy.com/en/languages/fur-friulian">Friulian</a></strong>, spoken in the region of Friuli-Venezia Giulia.</li><li><a href="https://hub.localazy.com/en/languages/scn-sicilian"><strong>Sicilian</strong></a>, spoken on the island of Sicily but with some variants in the Calabria region and Salento, the southern part of the Apulia region.</li><li><strong><a href="https://hub.localazy.com/en/languages/sc-sardinian">Sardinian</a></strong>, spoken on the island of Sardinia. In Sardinia are also spoken some varieties close to the <a href="https://hub.localazy.com/en/languages/co-corsican">Corsican</a> language: Gallurese and Sassarese, which derive from an old form of the Tuscan dialect from colonists who ruled Corsica and Sardinia during the Medieval age.</li></ul><h2 id="how-many-people-speak-italian">🍕 How many people speak Italian? <a class="markdownit-header-anchor" href="#how-many-people-speak-italian">🔗</a></h2><p>The Italian language is globally spoken by <strong>85 million native speakers</strong>, which makes it the 21st most widely spoken language in the world. </p><p>Italian is the official language of  🇮🇹 Italy (with 58 million native Italians), 🇸🇲 San Marino, 🇻🇦Vatican City, and 🇨🇭Switzerland, in Ticino. In addition, it is present in:</p><ul><li>🇭🇷 Croatia and in some areas of the 🇸🇮 Slovenian Istria, 🇧🇦 Bosnia/Herzegovina, and 🇷🇴 Romania, where it's a minority language. It is also spoken in 🇲🇹 Malta and 🇦🇱 Albania, where it is taught in schools and well-known as a foreign tongue thanks to the influence of Italian media. This makes Italian the <strong><a href="https://en.wikipedia.org/wiki/List_of_languages_by_number_of_speakers_in_Europe">fourth most common native tongue in the European Union</a></strong>. Even slightly more than<a href="https://localazy.com/blog/spanish-a-growing-language-in-the-business-world"> Spanish</a>, since the latter is widely spoken as a first language outside Europe. </li><li>🇦🇷 Argentina, where it is the most common second language.</li><li>🇧🇷 Brazil, where it is a regional language in certain parts of the country, and schools are required to teach it.</li><li>🇺🇸 The United States, where Italian speakers are abundant - according to the Italian Embassy in Washington, <strong>Italian Americans are 17.3 million</strong>, representing the fourth ethnic group of European origins after Germans, Irish, and Britons.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/shutterstock_1282488523.jpg" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/shutterstock_1282488523.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/shutterstock_1282488523.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/shutterstock_1282488523.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/shutterstock_1282488523.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Why is Italian widely spoken as a second language outside Europe? Because of the <strong>Italian diaspora</strong>. The first wave of diaspora started after the Italian Unification, between 1880 and 1940. Lack of land and poverty were the main causes of this shift. At the time, Italy was still mostly a rural society, especially in the South, where most of the migrants came from.</p><blockquote>Italian is the fourth most common native language in the European Union, but it's also spoken in Argentina, Brazil and the USA due to the different waves of Italian diaspora</blockquote><p>The second wave started after the end of the Second World War until 1970. There is also a third wave of diaspora that is currently taking place. Its protagonists are young Italians - it is called “<em><a href="https://www.europeandatajournalism.eu/cp_data_news/italy-is-stuck-in-a-european-brain-drain/">fuga dei cervelli</a></em>”. They emigrate abroad to find better jobs, better salaries, and an improved quality of life. </p><p>But - where are all the Italians going? ✈️ In the first and second diasporas, the main destination was the United States, but also South America (especially Argentina). During this third wave, locations have been mixed: they range from Germany to Scandinavia, Austria, Belgium, Australia, the USA, and the Netherlands.</p><h2 id="the-online-explosion-of-the-italian-market">🛍️ The online explosion of the Italian market <a class="markdownit-header-anchor" href="#the-online-explosion-of-the-italian-market">🔗</a></h2><p>The Italian economy is the eighth-largest in the world and the <strong>third-largest consumer market in the European Union</strong>, according to the International Trade Administration. The Italian GDP <a href="https://economy-finance.ec.europa.eu/economic-surveillance-eu-economies/italy/economic-forecast-italy_en">is growing</a> after the pandemic thanks to investments in the infrastructure sector, and digital purchases are soaring in popularity.</p><p>According to data gathered by the marketplace software Yocabè, the Italian e-commerce market is on the rise: <strong>60% of Italian customers buy online or through social media at least once a month</strong>, whereas those who buy weekly are 24.7%. However, only 53.6% of the 80 million Italian companies selling online use their own website. This is because they struggle with logistics regarding returns and shipping costs since Italians tend to prefer free shipping. </p><p>The most purchased online products by Italians fall into the categories of <strong>retail and footwear</strong> (62.1%), <strong>electronics and IT</strong> (60.1%), <strong>furniture and household goods</strong> (52.1%), <strong>sportswear </strong>(50.1%), <strong>make-up</strong> (44.4%) and <strong>supplements</strong> (41.6%).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/pexels-riccardo-243076.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/pexels-riccardo-243076.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/pexels-riccardo-243076.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/pexels-riccardo-243076.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/pexels-riccardo-243076.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>In addition, there is an increasing interest in <strong>online subscriptions</strong> - be it general news, e-books, podcasts, audiobooks, music streaming, gaming, or video entertainment.</p><p>The Italian <strong>second-hand economy</strong> <a href="https://www.repubblica.it/tecnologia/2022/04/21/news/come_comprano_gli_italiani_di_seconda_mano_e_online-346206875/">is exploding</a>, too, both offline and online. IT products, electronic appliances, furniture, books, and fashion are in high demand.<strong> </strong>Budgets are tighter after the pandemic, and many Italians prefer buying goods that they really need. A new trend among youngsters is also growing: the attention to 🌱 sustainability, with a regard for circular economy models.</p><blockquote>6 out of 10 Italians buy online or through social media at least monthly. Retail goods, footwear, electronics and IT products are highly in demand</blockquote><p>Generally speaking, Italians are cautious before purchasing, and not just because of the increasing inflation rate - it is a cultural feature. <strong>Italians are</strong> <strong>not prone to risk</strong> and tend to make a lot of comparisons among competitors: even one detail can make a difference. 🕵️‍♀️ <strong>They are willing to pay a high price for better quality</strong>, but they want to double-check to be sure they are making a good choice. For online purchases, the phenomenon of showrooming<strong> </strong>is very common - Italians first visit a brick-and-mortar shop to check in person how a product is. Then they buy it online since they can usually take advantage of discounts or other promotions (especially for fashion and retail purchases).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/anna-vi-qLoOac13gbU-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1496" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/anna-vi-qLoOac13gbU-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/anna-vi-qLoOac13gbU-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/anna-vi-qLoOac13gbU-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/anna-vi-qLoOac13gbU-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="italian-localization-style-guide">🛵 Italian localization style guide <a class="markdownit-header-anchor" href="#italian-localization-style-guide">🔗</a></h2><p>Now that you have a deeper understanding of how Italians shop, let’s go through some tips on how to captivate them. </p><h3 id="1-use-a-native-translation-team">1. Use a native translation team <a class="markdownit-header-anchor" href="#1-use-a-native-translation-team">🔗</a></h3><p>Since they tend to think twice before making a purchase, the best way to stand out in the crowd is to take special care of how you communicate, which means localizing all your content into Italian. Speaking the language of your audience implies an understanding of their desires and cultural needs, and that’s why we recommend investing in professional localization services offered by natives.</p><h3 id="2-be-mindful-of-habits-and-celebrations">2. Be mindful of habits and celebrations <a class="markdownit-header-anchor" href="#2-be-mindful-of-habits-and-celebrations">🔗</a></h3><p>Did you know that Italians mostly go on <strong>holiday in August</strong>?🍦Promotional campaigns for tourist destinations will work much better if you target them accordingly. August 15th is a religious bank holiday in many countries, including Italy, where it's called “Ferragosto.” It is considered the warmest day in the summer. Most offices and shops close throughout Italy during that week. That’s why focusing on promotional packages for August instead of July and June will have a higher commercial impact.</p><blockquote>Italians tend to think twice before making a purchase. A native localization team will help you align better with their habits and cultural traits</blockquote><p>Don't forget to consider the different Italian celebrations, because what you have in your country may not exist in Italy! Italy is a catholic country, and all celebrations still follow that tradition, from Christmas and Easter to regional religious events, like Patron Saint Days, which are particularly celebrated in the southern part of the country. <strong>Other celebrations to consider for promotional campaigns</strong> in Italy are June 2nd (Republic Day) and the bank holiday weekend from April 25th to May 1st (Liberation Day and Labour Day).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/pexels-andrea-piacquadio-761854.jpg" class="kg-image" alt loading="lazy" width="2000" height="1341" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/pexels-andrea-piacquadio-761854.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/pexels-andrea-piacquadio-761854.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/pexels-andrea-piacquadio-761854.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/pexels-andrea-piacquadio-761854.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-speak-like-a-local">3. Speak like a local <a class="markdownit-header-anchor" href="#3-speak-like-a-local">🔗</a></h3><p>Good Italian localization doesn't underestimate <strong>the richness of Italian vocabulary</strong>. Multiple synonyms can be used to express the same concept depending on the context since Italians don’t like repetitions. Long sentences with many subordinates linked to each other are also common. 📝 Even if <a href="https://localazy.com/blog/12-principles-of-ux-writing-with-examples#8-be-concise">briefness is advised</a> for marketing purposes, you should balance long descriptive sentences and conciseness to sound more natural.</p><h3 id="4-pay-attention-to-pronouns">4. Pay attention to pronouns <a class="markdownit-header-anchor" href="#4-pay-attention-to-pronouns">🔗</a></h3><p>Be careful with the usage of <strong>addressing pronouns, </strong>especially when localizing from English to Italian, since this source language always uses the pronoun “you”, which can sometimes be misleading. Italians use three addressing pronouns:</p><ul><li>“<em>Tu</em>” is the most common pronoun for marketing purposes - informal, straight to the point, and very friendly.</li><li>“<em>Lei</em>” is a formal version that is rarely used. Some luxury brands employ it as a way to set boundaries between the company and the customers.</li><li>“V<em>oi</em>” is an outdated way of catching the attention of a single person, and it only makes sense if you are addressing a wide audience. </li></ul><h3 id="5-localize-using-national-references">5. Localize using national references <a class="markdownit-header-anchor" href="#5-localize-using-national-references">🔗</a></h3><p>Eventually, be sure to use <strong>Italian imagery</strong> - replace your images with those featuring Italian landscapes, landmarks, and architecture. 🏞️ ⛪ Don't make the mistake of the tourist campaign <em><a href="https://www.theguardian.com/world/2023/apr/25/italian-tourism-video-mocked-for-using-footage-of-slovenia">Open to Meraviglia</a> </em>and use stock videos filmed in Slovenia! The mistakes made by these marketers raised a lot of attention in the country, and the main marketing goal was inevitably pushed to the background. <strong>The key to creating conversions is to capture your audience's attention and satisfy their expectations, not make them complain.</strong></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/pexels-pixabay-279329.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/pexels-pixabay-279329.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/pexels-pixabay-279329.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/pexels-pixabay-279329.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/pexels-pixabay-279329.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="italian-regions-perfect-your-localization">🍝 Italian regions: perfect your localization <a class="markdownit-header-anchor" href="#italian-regions-perfect-your-localization">🔗</a></h2><p>A successful Italian localization strategy must also include the right Italian keywords - to do this, consider local search habits and <strong>different regional trends</strong>. For historical reasons (explained at the beginning of this article), all 20 Italian regions differ greatly - they all have their food specialties, local celebrations, and dialects. In the Apulia region, even every city and town has <a href="https://commons.wikimedia.org/wiki/Category:Dialects_of_Apulia">its own dialect</a>! 🗣️ If you compare the northern and southern parts of the country, <strong>cultural differences</strong> are still huge nowadays.</p><h3 id="from-north-to-south">From North to South <a class="markdownit-header-anchor" href="#from-north-to-south">🔗</a></h3><p>Based on Hofstede's cultural dimension theory, North Italy falls into the individualist cultures category, whereas South Italy (including Sardinia and Sicily) is considered part of the collectivist cultures.</p><p>The northern part of the country, where cities like Milan, Bologna or Torino are located, is famous for its work opportunities and the presence of the nation's leading industries. The lifestyle here is hectic, privileging indoor gatherings and not late-night activities. People here have higher salaries than the rest of the country.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/pexels-alexandro-d-elia-5468932.jpg" class="kg-image" alt loading="lazy" width="2000" height="1400" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/pexels-alexandro-d-elia-5468932.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/pexels-alexandro-d-elia-5468932.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/pexels-alexandro-d-elia-5468932.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/pexels-alexandro-d-elia-5468932.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>The country's southern part, which includes Naples and Sicily, is popular for its coast and family-oriented lifestyle. Outdoor gatherings are frequent all over the year, and late-night habits are common even among old people. South Italians tend to live their lives more slowly and think that “less is more”, privileging quality over quantity in their day-to-day.</p><h3 id="examples-of-local-slang">Examples of local slang <a class="markdownit-header-anchor" href="#examples-of-local-slang">🔗</a></h3><p>Naturally, <strong>Italian idioms and expressions</strong> are different depending on the region. Let's see some examples:</p><ul><li>🫤 If you want to describe an object with low value, uninteresting, or not amusing (it also applies to people), you can use the words “<em>scadente</em>”, “<em>smorto</em>” or “<em>inutile</em>.” But if you want to localize it for people in Milan, you should translate it as “<em>barlafus,</em>” whereas in Genoa, the term will be “<em>ravàtto</em>” and in Naples, “<em>chiavica."</em></li><li>🏃‍♀️💨 If you want someone from Sicily to hurry up, you will say: “Siamo in ritardo, <em>vedi di arriminarti</em>!”, whereas in Milan, you'll use: “Forza che siamo in ritardo, <em>disciules</em>!”</li><li>🥱 If you are in Tuscany and feel sluggish, you'll say “oggi c’ho l’<em>uggia</em>!” whereas in Apulia, you'll use “oggi sto <em>sprisciato/sprisciata</em>!”. In Milan, that'll be: “Mi è venuta la<em> pecola</em>”, and in Sicily: “Mi è venuta la <em>canazza</em>!”</li><li>💬 Even filler words can vary in Italy, such as “<em>belìn</em>” for people who live in Genoa and “<em>pota</em>” for the inhabitants of Bergamo.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/alberobello-877321_1280.jpg" class="kg-image" alt loading="lazy" width="1280" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/alberobello-877321_1280.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/alberobello-877321_1280.jpg 1000w, https://ghost.localazy.com/content/images/2023/11/alberobello-877321_1280.jpg 1280w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-to-use-professional-italian-translation-services">🛶 How to use professional Italian translation services <a class="markdownit-header-anchor" href="#how-to-use-professional-italian-translation-services">🔗</a></h2><h3 id="english-to-italian-the-most-common-language-pair">English to Italian: the most common language pair <a class="markdownit-header-anchor" href="#english-to-italian-the-most-common-language-pair">🔗</a></h3><p>When you map out your entry into the Italian market, the first (and most common) linguistic combination you will consider will be English to Italian. You'll often encounter texts already translated from another language into English, using it as a bridge language (especially in the <strong>IT field</strong>). It is also the cheapest language pair since many professional translators offer Italian translation services from English.</p><h3 id="german-to-italian-and-french-to-italian-the-most-demanded">German to Italian and French to Italian: the most demanded <a class="markdownit-header-anchor" href="#german-to-italian-and-french-to-italian-the-most-demanded">🔗</a></h3><p>Germany and France are the two countries with whom Italy trades the most - it is not a surprise, then, that they are also the most demanded source languages when we talk about Italian localization.</p><p>German-to-Italian translations are frequent in the <strong>automotive</strong> industry (for instance, Audi and Volkswagen have a lot of exports in Italy), in the <strong>tourism</strong> sector (most of the tourists in Italy are German), and for <strong>pharmaceutical products</strong>, whereas French-to-Italian translations are more in demand in the <strong>perfume and fashion</strong> industries.</p><p>Both language pairs offer a sufficient supply of professional translators to ensure that prices aren't as high as with other pairs.</p><h3 id="italys-relationship-with-neighboring-countries">Italy’s relationship with neighboring countries <a class="markdownit-header-anchor" href="#italys-relationship-with-neighboring-countries">🔗</a></h3><p>Croatia and Spain have huge Italian communities due to emigration. 🧳 On the other hand, many Romanians have moved permanently to Italy. Italian is a minority language both in Romania and Croatia. This leads to the need for translations from Croatian, Spanish, and Romanian to Italian and vice versa, particularly <strong>in the legal and tourism fields</strong>. Since there are rarer languages, these services will have a higher price point, with the exception of the Spanish-to-Italian combination.</p><blockquote>German to Italian translations are frequent in the automotive, tourism and pharmaceutival industries, whereas French to Italian is more in demand for perfume and fashion products. Legal and tourism localization is required the most for Croatian, Spanish and Romanian to Italian pairs</blockquote><h3 id="italian-localization-services-who-to-contact">Italian localization services: who to contact? <a class="markdownit-header-anchor" href="#italian-localization-services-who-to-contact">🔗</a></h3><p>Although <a href="https://localazy.com/dictionary/human-assisted-mt">human-assisted machine translation</a> (HAMT) can be useful if your budget is tight, a solid internationalization strategy will always rely on the power of professional localization. At Localazy, we suggest you hire a team of professional linguists for your Italian localization needs. Ensure that each professional you contact is a <strong>native speaker of the target language</strong> to get the highest quality standards. Only a native speaker who knows the local peculiarities regarding slang, dialects, and Italian customer journey preferences will be able to reach your targets effectively. Don’t underestimate this aspect if you are a project manager who has to assign a translation project.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/pexels-lorenzo-pacifico-629142.jpg" class="kg-image" alt loading="lazy" width="2000" height="1330" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/pexels-lorenzo-pacifico-629142.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/pexels-lorenzo-pacifico-629142.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/pexels-lorenzo-pacifico-629142.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/pexels-lorenzo-pacifico-629142.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="italian-localization-with-localazy">🚩 Italian localization with Localazy <a class="markdownit-header-anchor" href="#italian-localization-with-localazy">🔗</a></h2><p>The Italian language is widely spread and spoken inside and outside Italy. To target this audience, you need to speak and think as they do. If you are convinced that Italian localization has potential, you don't have to look further! You can translate your software, apps, or digital content into Italian using Localazy. </p><p>Find out how to order a certified translation directly from Localazy in our ultimate <a href="https://localazy.com/blog/guide-localazy-translation-services">guide</a>, and start localizing your product to Italian now. If you need help translating, you can always enlist a team of <a href="https://localazy.com/term/professional-translation-services">professional translators</a> to help you get the perfect result.</p>]]></content:encoded>
            <author>Maria Luisa Balacco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/11/locales-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 9 UX translation problems (and how to solve them)]]></title>
            <link>https://localazy.com/blog/top-9-ux-translation-problems-and-how-to-solve-them</link>
            <guid isPermaLink="false">top-9-ux-translation-problems-and-how-to-solve-them</guid>
            <pubDate>Tue, 30 Jul 2024 12:19:42 GMT</pubDate>
            <description><![CDATA[Crafting and localizing fantastic microcopy is key to reach your international clientele, but mistakes can happen. Make sure that your translations are quality checked and error-free with these tips.]]></description>
            <content:encoded><![CDATA[<p>Do you serve an international customer base? Then, having <a href="https://localazy.com/blog/12-principles-of-ux-writing-with-examples">excellent microcopy</a> and UX writing won’t be enough to maximize the value of your digital products. If you truly want to win their hearts and turn them into loyal clients, you’ll need to <a href="https://localazy.com/blog/boost-profits-improve-cx-by-localizing-your-digital-product">localize your products</a> to their languages. </p><p>However, UX localization and translation come with their own problems. In this article, we’re trying to shed light on some of the most common issues and what can be done to fix them.</p><h2 id="top-9-ux-writing-translation-mistakes">❌ Top 9 UX writing translation mistakes <a class="markdownit-header-anchor" href="#top-9-ux-writing-translation-mistakes">🔗</a></h2><p>The UX writers did a great job. But are you still waiting for the kinds of traction you would want for your business? 🔍 Check out if your company is making any of these UX writing translation mistakes.</p><h3 id="1-uncreative-translations">1. Uncreative translations <a class="markdownit-header-anchor" href="#1-uncreative-translations">🔗</a></h3><p>If you’re targeting multiple locations for your business, it’s essential to have <a href="https://files.eric.ed.gov/fulltext/EJ1075668.pdf"><strong>creative translations</strong></a>. By putting a creative spin on your translations, not only do you make them more engaging and more vivid, but also more compelling. For this, we have to seek cultural elements that need to be adapted to the target language. </p><p>Even if a piece of text reads well, it doesn’t guarantee user engagement if you do not consider their cultural and unique market needs. Adapting your translations to particular cultures requires creativity, because you have to convey the respective concept or idea in the target language rather than translating the exact words.</p><h3 id="2-ignoring-conversion-aspects">2. Ignoring conversion aspects <a class="markdownit-header-anchor" href="#2-ignoring-conversion-aspects">🔗</a></h3><p>Another common problem businesses face regarding UX translation is <strong>incorrect conversions</strong>. While translating content from one language to another you will have to convert product and service details as well. You should be careful of running into mistakes such as:</p><ul><li>🎲 Incorrect decimal symbols</li><li>🗓️ Improper date &amp; time format</li><li>💱 Incorrect currency positioning, etc.</li></ul><p>Even though the general message will be understandable, you’ll create a confusing user experience, showing carelessness and perhaps discouraging them from buying. To avoid such problems, make sure these details are converted properly.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/panos-sakalakis-AwDVMJKMjlU-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/panos-sakalakis-AwDVMJKMjlU-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/panos-sakalakis-AwDVMJKMjlU-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/panos-sakalakis-AwDVMJKMjlU-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/panos-sakalakis-AwDVMJKMjlU-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-ignoring-seo">3. Ignoring SEO <a class="markdownit-header-anchor" href="#3-ignoring-seo">🔗</a></h3><p><strong>Respecting the <a href="https://localazy.com/blog/going-global-with-multilingual-seo">SEO principles</a></strong> while translating your web assets not only helps you rank higher on Google but also creates a smooth user experience. Don’t leave out SEO principles when localizing or translating your website. Consider: </p><ul><li>✅ Optimizing with short-tail and long-tail keywords</li><li>🔗 Adding proper hyperlinks and explanatory pictures</li><li>*️⃣ Formatting information into bulleted lists, short sentences, etc. </li></ul><p>Translating and SEO-optimizing your texts with the right keywords will help you rank high on Google while improving user experience. 📈 The use of short and clear sentences, bullet points, and explanatory visuals, while favoring you in <a href="https://www.searchenginejournal.com/serp-search-engine-results-page-features-guide/377094/">SERPs</a>, also makes your message easier to understand.</p><h3 id="4-not-adding-country-specific-info">4. Not adding country-specific info <a class="markdownit-header-anchor" href="#4-not-adding-country-specific-info">🔗</a></h3><p>A well-translated UX includes more than a verbally and culturally accurate adaptation of your original content. You must consider the accuracy of the information you provide to your user <strong>per their location</strong>. </p><p>For example, you have a business in China, but now you want to expand to Europe and America. Then, the shipping costs and time to deliver your products to the other countries will have to change accordingly. </p><p>There will be: </p><ul><li>💸 Additional shipping fees,</li><li>📦 different shipping times,</li><li>⚖️ and perhaps legal implications.</li></ul><p>The buyer will expect to see these details in your UX copy, and <strong>if they don’t, they could change their mind about buying</strong>. You must mention such charges on your site to assure your European and American customers about the additional costs. </p><p>No one likes going to the checkout page only to find the extra charges added to the bill. 😩 So, try to be inclusive regarding country-specific information. You can create an excellent UX for all your customers if you pay proper attention to such details.</p><h3 id="5-not-maintaining-context-in-translation">5. Not maintaining context in translation <a class="markdownit-header-anchor" href="#5-not-maintaining-context-in-translation">🔗</a></h3><p>It’s important that you have a complete understanding of all the content to properly translate it. However, translators are often left with little to no context and they have to fill the blanks themselves, which hurts the accuracy of the translated content.</p><p>When we talk about <a href="https://localazy.com/features/context-screenshots-ocr">context</a>, we are talking about details like:</p><ul><li>Your brand’s voice</li><li>Position of the headings</li><li>Your end goal from the copy</li><li>Information about the end user/target customer</li><li>The message that you want to convey to your buyer</li></ul><p><strong>The more context you have, the higher the quality of your UX translations.</strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/11/loc-docs-glossary-2-1.png.webp" class="kg-image" alt loading="lazy" width="1200" height="660" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/loc-docs-glossary-2-1.png.webp 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/loc-docs-glossary-2-1.png.webp 1000w, https://ghost.localazy.com/content/images/2023/11/loc-docs-glossary-2-1.png.webp 1200w" sizes="(min-width: 720px) 720px"><figcaption>Use Localazy's Glossary feature to ensure consistency across translations.</figcaption></figure><h3 id="6-not-using-consistent-terminology">6. Not using consistent terminology <a class="markdownit-header-anchor" href="#6-not-using-consistent-terminology">🔗</a></h3><p>The terms you use consistently will form your <a href="https://learn.g2.com/brand-language">brand's image</a>, which is how your customers will perceive it. Finding the proper terminology for various features and screens occasionally takes time. However, <strong>consistent terminology is crucial for users to recognize and relate to your products</strong>.</p><p>In localization, each string will be modified by more than one person. Even if you maintain your glossary list up to date, your localization team may not always make use of it. You must check for consistent terminology for the final copy.</p><p>When using Localazy, our built-in <a href="https://localazy.com/features/glossary">translation glossary</a> makes this easier.</p><h3 id="7-covering-huge-workloads-in-a-short-amount-of-time">7. Covering huge workloads in a short amount of time <a class="markdownit-header-anchor" href="#7-covering-huge-workloads-in-a-short-amount-of-time">🔗</a></h3><p>It is common for businesses to want a lot of work done in a short amount of time because they want to launch new features and updates quickly. But quantity and quality rarely come together. That’s why you need to <strong>set realistic deadlines </strong>for translating and localizing UX texts. </p><p>If you don’t, you might pay a lot more money and time to fix things. The key is to take things slowly and smoothly here and have multiple people work synchronously with each other. 🤝 For instance, use smart <a href="https://localazy.com/docs/general/getting-started-with-localazy">localization software</a> that allows multiple translators to see each other’s work and avoid confusion.</p><h3 id="8-not-integrating-with-other-tools">8. Not integrating with other tools <a class="markdownit-header-anchor" href="#8-not-integrating-with-other-tools">🔗</a></h3><p>Effective localization depends on cooperation across teams and tools. Most modern localization solutions include some degree of stack integration, allowing users to pull source text and return it with the translated versions. This adds to the efficiency of the process because it saves time from doing manual work. </p><p>When you are not required to load files manually, you significantly reduce the human error that usually happens in this procedure as well. Additionally, <strong>it is much simpler to maintain files in a dynamic, continually updated environment </strong>because it becomes apparent which file has been synchronized most recently.  </p><p>You can use <a href="https://localazy.com/integrations">Localazy</a> to streamline the integration process.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/pexels-picjumbocom-196645.jpg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/pexels-picjumbocom-196645.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/pexels-picjumbocom-196645.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/pexels-picjumbocom-196645.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/pexels-picjumbocom-196645.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="9-not-maintaining-high-quality-standards">9. Not maintaining high-quality standards <a class="markdownit-header-anchor" href="#9-not-maintaining-high-quality-standards">🔗</a></h3><p>When you are working to complete large amounts of work fast, it is hard to maintain high-quality standards because <strong>at least 10% of the content will have some issues</strong>. Your time is limited and you’ll be unable to double-check and correct everything.</p><p>That’s when <a href="https://localazy.com/dictionary/qa-quality-assurance">quality assurance tools</a> come into play. 🕵️‍♀️ They examine the translated content and highlight prominent issues based on predefined rules. The most basic issues they can easily identify might involve problems like: </p><ul><li>Typos,</li><li>double spaces,</li><li>incorrect punctuation,</li><li>strings exceeding the character count, etc. </li></ul><p>While there could be other translation issues impacting the translation quality, being able to quickly identify some of them through QA tools makes their resolution faster.</p><h2 id="final-thoughts">💭 Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>There’s no easy answer to UX translation problems. The only way to solve these problems is to stay clear about your localization goals and refine your workflows. 🎯 Once you have a clear view of your goals, assemble a team and search for localization tools that suit your needs. </p><p>You can check out the services provided by our <a href="https://www.g2.com/products/localazy/reviews">five-star localization software</a> to assist with your translation problems. We offer a wide array of features to help you translate, localize, and add multilingual versions of your digital products. Feel free to try them out, and don't hesitate on <a href="https://localazy.com/contact">contacting our support team</a> if you need to clear up any questions.<br></p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/11/localazy-UX-series-VOL3.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy CLI Tips: Check the translation status of languages]]></title>
            <link>https://localazy.com/blog/localazy-cli-tips-check-the-translation-status-of-languages</link>
            <guid isPermaLink="false">localazy-cli-tips-check-the-translation-status-of-languages</guid>
            <pubDate>Fri, 24 Nov 2023 07:00:00 GMT</pubDate>
            <description><![CDATA[You can use Localazy CLI to check the translation status of languages before downloading them! Learn how in this article.]]></description>
            <content:encoded><![CDATA[<p>If you integrate <a href="https://localazy.com/docs/cli/the-basics">Localazy CLI</a> into your CI/CD, you may want to trigger some actions based on how complete the translation of certain languages is.</p><p>It's helpful in many situations:</p><ul><li>You can only include fully translated languages.</li><li>You may want your CI/CD pipeline to fail when highly important languages are not fully translated.</li><li>You can enable languages that have already reached a certain completion level.</li></ul><h2 id="how-to-do-it">⌨️ How to do it? <a class="markdownit-header-anchor" href="#how-to-do-it">🔗</a></h2><p>For this purpose, Localazy CLI comes with the <code>languages</code> command, and requesting the data in pure CSV format is the preferred way for your own scripting.</p><p>Assuming that read and write keys are provided, you can just invoke <code>localazy languages --csv</code> to get results like this:</p><pre><code>locale,total,untranslated,need_review,need_improvement,source_changed,published,source
zh#Hans,2134,2133,0,0,0,true,false
akz,2134,2134,0,0,0,false,false
am,2134,2134,6,0,0,false,false
ar,2134,2133,19,0,0,false,false
ar_EG,2134,2134,29,0,0,false,false
ar_MA,2134,2134,2,0,0,false,false
cs,2134,611,0,0,3,true,false
cs_CZ,2134,2132,19,0,0,false,false
ar_EG#Syrc,2134,2134,1,0,0,false,false
en,2134,159,152,0,11,true,false
xxa,2134,0,0,0,0,true,true</code></pre><p>As you can see from the output above, my source language is <code>xxa</code>, which is our custom code for <strong>Developer English</strong>. Certainly, I want <strong>English</strong> to be translated fully, and a simple bash script can do the trick for me:</p><pre><code>#!/bin/bash
while IFS="," read -r locale total untranslated need_review need_improvement source_changed published source
do
  if [ "$locale" == "en" ]; then
    if [ $untranslated -ne 0 ] || [ $need_review -ne 0 ] || [ $need_improvement -ne 0 ] || [ $source_changed -ne 0 ]; then
      echo "English is not fully translated!"
      exit 1
    else
      echo "English is correct and ready."
      exit 0
    fi
  fi
done &lt; &lt;(localazy languages --csv)

echo "English not found!"
exit 127</code></pre><p>It invokes Localazy CLI, analyzes the response, and looks for <strong>English</strong> to check for its status. The script exits with code corresponding to the results:</p><ul><li><strong>0</strong> - Everything is okay; <strong>English</strong> is fully translated.</li><li><strong>1</strong> - <strong>English</strong> is not fully translated.</li><li><strong>127</strong> - <strong>English</strong> cannot be found in the results from Localazy CLI.</li></ul><p>And that's it. This is a simple yet effective solution to control your pipelines based on the translation status.</p><h2 id="you-might-also-like">💖 You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><ul><li><a href="https://localazy.com/blog/8-reasons-why-delivering-translations-via-localazy-cdn-is-a-good-idea">8 Reasons Why Delivering Translations via Localazy CDN Is a Good Idea</a></li><li><a href="https://localazy.com/blog/how-to-send-email-when-language-is-fully-translated-zapier">How to send an e-mail when language is 100% translated in Localazy using Zapier</a></li><li><a href="https://localazy.com/blog/automated-localization-github-actions-localazy">Automated Localization: GitHub Actions &amp; Localazy</a><br></li></ul>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/11/translation-status.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to automate translations when working with evolving content to save time? ⏰]]></title>
            <link>https://localazy.com/blog/how-to-automate-translations-when-working-with-evolving-content-to-save-time</link>
            <guid isPermaLink="false">how-to-automate-translations-when-working-with-evolving-content-to-save-time</guid>
            <pubDate>Wed, 03 Sep 2025 12:59:25 GMT</pubDate>
            <description><![CDATA[Localization of digital content is a never-ending process. Why? Because the content evolves, new elements are added, or obsolete texts are removed. How do you stay in control and automate the process to save time? Try Localazy - and translate your content automatically! 
]]></description>
            <content:encoded><![CDATA[<p>When adding and updating content in a multilingual project, the automation of translations is beneficial. This allows the translation to be completed quickly without requiring excessive work from the client, and it also helps to maximize the efficiency of human resources by allowing them to focus on more important aspects of the project.</p><p>After all, investing in localization also means keeping your product or service up to date for every market you choose to cater to. In this tutorial, we'll see how Localazy can simplify this process - so you can start automating immediately and enjoy the benefits of <a href="https://localazy.com/blog/true-continuous-localization-localazy">true continuous localization</a>.</p><h2 id="what-is-localazy">🚀 What is Localazy? <a class="markdownit-header-anchor" href="#what-is-localazy">🔗</a></h2><p>Localazy is a web-based <a href="https://localazy.com/dictionary/translation-management-system-tms">translation management system (TMS)</a> that aims to make software localization and translation more efficient and hopefully enjoyable for all product teams while providing a clean interface for translators and managers. This allows them to stay in control of the localization process. Localazy is <a href="https://localazy.com/tags/automated-localization">a highly automated platform</a> that can help everyone save time by reducing repetitive tasks and excessive file handling.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/delivery-cdn.png" class="kg-image" alt loading="lazy"></figure><h2 id="getting-started-with-translation-automation">🏃‍♀️ Getting started with translation automation <a class="markdownit-header-anchor" href="#getting-started-with-translation-automation">🔗</a></h2><h3 id="upload-your-files">Upload your files <a class="markdownit-header-anchor" href="#upload-your-files">🔗</a></h3><p>As with any other translation platform, your texts can be <a href="https://localazy.com/docs/general/importing-localization-files#upload-files-manually">manually uploaded</a> to the Localazy web interface, and you can download translated files back and put them where you need them. 📲 However, more tech-savvy users and developers should opt for <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow">Localazy CLI</a>, which offers the highest level of automation options, or the <a href="https://localazy.com/blog/the-ultimate-guide-to-localazy-api">Localazy API</a>, which allows users to manipulate almost all aspects of their translation projects within Localazy programmatically.</p><p>In this article, we will use the <strong>Localazy CLI</strong>, which is the best option for developers to automate their content and translation workflow. Localazy CLI is the command-line interface for Localazy projects. This CLI allows you to upload and update content on the Localazy platform.</p><p>The first step is to install the Localazy CLI on your device. Installation instructions are included in the <a href="https://localazy.com/docs/cli/installation">official documentation</a> for all major operating systems.</p><p>Here, we will install it in a macOS environment. The Localazy CLI is available through Brew. Navigate to the terminal and execute the following commands:</p><pre><code>brew tap localazy/tools

brew install localazy
</code></pre><p>We would need to create a new <a href="https://localazy.com/docs/general/getting-started-with-localazy">Localazy project</a>. To access your personal dashboard, <a href="https://localazy.com/register">register</a> or <a href="https://localazy.com/login">log in</a> to the Localazy platform. Here, we would create a new project called <strong>AutomateContent</strong>. Before we upload our content, we can set up our first automation that will save us valuable time.</p><h2 id="how-to-translate-content-automatically">➡️ How to translate content automatically? <a class="markdownit-header-anchor" href="#how-to-translate-content-automatically">🔗</a></h2><p>Before creating a new workflow, decide which translation approach you prefer. Localazy offers multiple options to choose from and blend:</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors -</strong> You can <a href="https://localazy.com/docs/general/translating-strings">start translating on your own</a> and use our built-in suggestion system or invite your team of translators to work on your project within Localazy.</li><li>🚩 <strong>Fully automate professional translations with the <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization</a> services</strong> - Once your Localazy integration is set up, you can order translations from our vetted translators and automatically get your project translated by professionals. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to check the progress.</li><li>🦾 <strong>Pre-translate everything in bulk via machine translation -</strong> With the Localazy <a href="https://localazy.com/tiers/autopilot">Autopilot plan</a> and even <a href="https://localazy.com/tiers/professional">Professional plan</a>, you can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate">running a machine translation over the content</a>. This is great for your software or website's first iteration of localization testing. All the Autopilot plan users can even set up an <a href="https://localazy.com/docs/general/automated-workflows">automation</a> that will do this for you immediately after each upload. Because we want to save time, our content will constantly change, and quality is not a concern for our first iteration, let's set it up this way!</li></ol><p>Let's set up a new automation that automatically translates all newly uploaded content into two target languages. To begin, go to your project and open <strong>Tools &gt; Automations</strong> from the left-hand menu.</p><ul><li><strong>Select your action and source language</strong><br>Choose the automated action (e.g., <strong>Use machine translations</strong>), set your source language (e.g., <strong>English</strong>), and select your translation provider (e.g., <strong>Amazon Translate</strong>).</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Monosnap-Create-automation---OpenAI-Test--Localazy-2025-05-14-17-20-12.png" class="kg-image" alt loading="lazy" width="1265" height="885" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Monosnap-Create-automation---OpenAI-Test--Localazy-2025-05-14-17-20-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Monosnap-Create-automation---OpenAI-Test--Localazy-2025-05-14-17-20-12.png 1000w, https://ghost.localazy.com/content/images/2025/09/Monosnap-Create-automation---OpenAI-Test--Localazy-2025-05-14-17-20-12.png 1265w" sizes="(min-width: 720px) 720px"></figure><ul><li><strong>Define when the automation should run</strong></li></ul><p>Set the trigger conditions, such as:</p><ul><li>Updated source key or translation</li><li>Imported new source key or translation</li><li>Manually created source key</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Monosnap-Create-automation---OpenAI-Test--Localazy-2025-05-14-17-21-17.png" class="kg-image" alt loading="lazy" width="1274" height="889" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Monosnap-Create-automation---OpenAI-Test--Localazy-2025-05-14-17-21-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Monosnap-Create-automation---OpenAI-Test--Localazy-2025-05-14-17-21-17.png 1000w, https://ghost.localazy.com/content/images/2025/09/Monosnap-Create-automation---OpenAI-Test--Localazy-2025-05-14-17-21-17.png 1274w" sizes="(min-width: 720px) 720px"></figure><ul><li><strong>(Optional) Apply filters</strong><br>If needed, use filters to limit which events trigger the automation (e.g., filter by user).</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Monosnap-Create-automation---OpenAI-Test--Localazy-2025-05-14-17-21-43.png" class="kg-image" alt loading="lazy" width="1267" height="889" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Monosnap-Create-automation---OpenAI-Test--Localazy-2025-05-14-17-21-43.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Monosnap-Create-automation---OpenAI-Test--Localazy-2025-05-14-17-21-43.png 1000w, https://ghost.localazy.com/content/images/2025/09/Monosnap-Create-automation---OpenAI-Test--Localazy-2025-05-14-17-21-43.png 1267w" sizes="(min-width: 720px) 720px"></figure><blockquote>🪄 <em>Filters give your automations more control and precision. Learn how to set them up <a href="https://localazy.com/blog/automated-workflows-series-deep-dive-into-filters">here</a>.</em></blockquote><ul><li><strong>Enable the automation</strong><br>Review your settings and toggle the automation ON to activate it.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Monosnap-Automations---OpenAI-Test--Localazy-2025-05-14-17-22-41.png" class="kg-image" alt loading="lazy" width="1304" height="167" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Monosnap-Automations---OpenAI-Test--Localazy-2025-05-14-17-22-41.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Monosnap-Automations---OpenAI-Test--Localazy-2025-05-14-17-22-41.png 1000w, https://ghost.localazy.com/content/images/2025/09/Monosnap-Automations---OpenAI-Test--Localazy-2025-05-14-17-22-41.png 1304w" sizes="(min-width: 720px) 720px"></figure><blockquote>📄 <em>Learn more about <a href="https://localazy.com/docs/general/automated-workflows">Automations in the docs</a>.</em></blockquote><h3 id="add-content-to-your-project">Add content to your project <a class="markdownit-header-anchor" href="#add-content-to-your-project">🔗</a></h3><p>Now we can upload our content to Localazy. But first, we need to create some.</p><p>We would create a new node project called <strong>AutomateContent</strong>. The project can be initialized using the npm command.</p><p>Next, create a configuration script called <code>localazy.json</code>. This file contains commands instructing the CLI on how to handle content uploads to the Localazy platform.</p><p>Here’s an example setup for uploading a JSON file:</p><pre><code>{
  "upload": {
    "files": [
      {
        "type": "json",
        "file": "public/locales/test_en.json"
      }
    ]
  }
}
</code></pre><p>Run the CLI upload command:</p><pre><code>localazy upload
</code></pre><p>This will upload the source content and trigger the automation to apply machine translation (in our case, for French and Czech).</p><h3 id="review-and-improve-the-translations">Review and improve the translations <a class="markdownit-header-anchor" href="#review-and-improve-the-translations">🔗</a></h3><p>Localazy’s review workflow enables you to accept or reject translations through a dedicated interface. Typically, only approved translations are available for download. That said, the platform <a href="https://localazy.com/docs/general/project-settings#publish-unapproved-translations-for-selected-languages">can be configured</a> to make unapproved translations downloadable for selected languages.</p><p>You can also <strong>skip the review process</strong> entirely by editing the automation and unchecking “Send translations to the review process.”</p><p>To later mark machine-translated strings as needing improvement, create a new automation using the <strong>“Set as needs improvement”</strong> action and apply a filter for <code>LocalazyMT</code> as the translation author.</p><h2 id="updating-translated-content-what-now">🤔 Updating translated content, what now? <a class="markdownit-header-anchor" href="#updating-translated-content-what-now">🔗</a></h2><p>When you need to update your content to change or improve the messaging, you will inevitably have to translate it again. With Localazy, the whole process is a breeze with automation.</p><p>We added a new field to the source file and uploaded the source language. The automation resumes, and translations to French and Czech are completed automatically.</p><figure class="kg-card kg-image-card"><img src="https://lh6.googleusercontent.com/NsBa7JGxmUzaIGI7bD_vdOngnrcPT2U1W3SIeoIZNjoDMd6jzr76Xig9HOyCRHq9XpzMI9oPCaHnVKLW6K0RTli7t9AsRMKSQ24j6JxA-UeVWcmdOQhdomKXQMFZ7ikc0P0AENc38LFvnpwLDlCo0Yw" class="kg-image" alt loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/RfY3nCR_2RJ2B7VFGi0zzo14Wiwt9PdDqeWXuT1R5ac08zGBDY4eS-ORZJM-XQGqneEyoFbfHsMz5n_0I1Y0U8Tga7Yps34nKiNxHDsJ39l0fC5Di6W38ymi8bqBZOXNr8cO9iiYA8upUfvrN1nLH8E" class="kg-image" alt loading="lazy"></figure><h2 id="improving-the-translations-later">✂️ Improving the translations later <a class="markdownit-header-anchor" href="#improving-the-translations-later">🔗</a></h2><p>If you decide to skip the review but still would like to go over the translations later to check the quality of MT results, <strong>you can set up another automation</strong>.</p><p>Select the action "Set as needs improvement." You can use Filters only to include the LocalazyMT user, so all machine translations will be set as needing improvement, but translations from humans will follow the usual workflow. This approach can also be combined with <a href="https://localazy.com/term/professional-translation-services">professional translation services</a> provided by our Continuous Localization Team.</p><h2 id="automating-human-translators">🤖 Automating human translators <a class="markdownit-header-anchor" href="#automating-human-translators">🔗</a></h2><p>You might be interested in adding professional translators to your project. They can handle translation services and offer human-assisted localization within the application. To make an order, simply click on <strong>Order</strong> <strong>Translations</strong> in your project dashboard.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Automating-Translations.png" class="kg-image" alt loading="lazy" width="1600" height="529" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Automating-Translations.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Automating-Translations.png 1000w, https://ghost.localazy.com/content/images/2025/09/Automating-Translations.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>The next step is to add the language you want the source language translated to. There are four available services to select from:</p><ul><li><strong>Professional Translations</strong></li><li><strong>Professional Proofreading</strong></li><li><strong>Human-Assisted Machine Translations</strong></li><li><strong>Human Translation Validation</strong></li></ul><p>You can check the differences between each type of service in our <a href="https://localazy.com/blog/guide-localazy-translation-services#professional-translations">ultimate translation guide</a>. For now, we will be selecting Professional Translations and Professional Proofreading.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/Select-Translations.png" class="kg-image" alt loading="lazy" width="1600" height="750" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/Select-Translations.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/Select-Translations.png 1000w, https://ghost.localazy.com/content/images/2025/09/Select-Translations.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>After adding the languages, you will be prompted to place an order, at which point you will be required to purchase credits (read the full docs about credits <a href="https://localazy.com/docs/general/localazy-credits">here</a>). In the details, you can see an estimate of how many credits it will take to complete each service, with the total estimate displayed in the top section, along with your current balance and an <strong>INCREASE</strong> button to purchase credits.</p><p>After purchasing the credits and verifying everything is in order, you will see a green dot next to the app icon. The translation service will start working in the background, scanning your project and delivering new translations as soon as possible. Now, you and your team can focus on other important tasks while localization is up and running. 💪</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/TranslationsReady.png" class="kg-image" alt loading="lazy" width="1600" height="864" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/TranslationsReady.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/TranslationsReady.png 1000w, https://ghost.localazy.com/content/images/2025/09/TranslationsReady.png 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Localization is not just about translating languages but also about improving the quality of the products and services that are being translated. And that takes time and effort. With Localazy's automation features, you'll be able to make this process a lot easier.</p><p>Are you ready to set up your first Automation? Or would you rather automate human professional translations? <a href="https://localazy.com/register">Sign up</a>, choose your approach, and never worry about translations again!</p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/09/How-to-automate-translations-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: A new era of localized digital signage with Lunixo]]></title>
            <link>https://localazy.com/blog/lunixo-localized-digital-signage</link>
            <guid isPermaLink="false">lunixo-localized-digital-signage</guid>
            <pubDate>Fri, 09 Feb 2024 21:04:44 GMT</pubDate>
            <description><![CDATA["Localazy is easy to use, the support is top-notch, and the price component also fits. It's a very good tool for startups", raves Lunixo founder Bernhard Mayrhofer. Learn more about their digital signage software and the rise of interactive content in this interview.]]></description>
            <content:encoded><![CDATA[<p>In the past two decades, our world has become increasingly visual. Screens are everywhere, and the outdoors are no exception. Audiovisual content has populated shopping malls, airports, roads, and workplaces, and its future pledge is an increasing interaction with our everyday lives. Nothing of the sort can be done without the right technology, and that's where the digital signage industry comes in.</p><p>Today, we delve into this sector, which <a href="https://www.grandviewresearch.com/industry-analysis/digital-signage-market">is expected to grow exponentially</a> in the next decade, with <strong>Bernhard Mayrhofer</strong>, engineer and CEO of <a href="https://www.lunixo.com">Lunixo</a>. This digital signage software Austrian company is a proud Localazy user that understands that interactive content and localization should work hand in hand. 🤝 We're excited to share some of their perspectives on content management systems, the Internet of Things &amp; the future of display technologies. So - let's dive in!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/iStock-1320832982.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/iStock-1320832982.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/iStock-1320832982.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/iStock-1320832982.jpg 1600w, https://ghost.localazy.com/content/images/2023/11/iStock-1320832982.jpg 2121w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-world-of-digital-signage">⏯️ The world of digital signage <a class="markdownit-header-anchor" href="#the-world-of-digital-signage">🔗</a></h2><p><strong>Hi, Bernhard. Thank you for your time. Let's start with the basics - what problems does Lunixo solve?</strong></p><p>The Lunixo Digital Signage CMS is a software platform that enables users to quickly and effectively manage their content on digital displays. Our vision is to implement complex functionalities with simple operations.</p><p><strong>For those who aren’t familiar with digital displays, how are they present in our day-to-day lives? </strong>👁️</p><p>Everyone is in touch with digital signage every day. This starts in outdoor areas with large LED walls —the typical <a href="https://www.spiceworks.com/marketing/programmatic-advertising/articles/what-is-digital-out-of-home-dooh/">Digital Out-Of-Home (DOOH) </a>marketing— up to classic retail. Centralized control of displays is essential in the business sector.</p><p><strong>You also<strong><strong> offer employee information systems. Can you describe what they d</strong></strong>o <strong><strong>and why they are important?</strong></strong></strong></p><p>An employee information system refers to a software or platform used to display and communicate important information to an organization's employees. 📥 It uses digital signage displays to disseminate information, announcements, updates, and other relevant content to employees.</p><p><strong><strong><strong>Who are your customers?</strong></strong></strong></p><p>We primarily supply digital signage integrators. In other words, companies that place our product with their customers. These integrators are much more broadly positioned than we are. They offer software, hardware, service, support, and also finished content services for the customer, so they're complete solution providers. </p><p><strong>What do you think makes Lunixo stand out from other providers?</strong></p><p>Ease of use is our top priority, especially when managing many screens. The market response also confirms this. Since we are relatively young, we have been able to use modern technologies in development from the very beginning, while companies that have existed for a long time still have to struggle with old ones.</p><blockquote>"Ease of use is our top priority, especially when managing many screens. The market reponse also confirms this. At the end of the day, the software has to be easy to use for everyone, not only technicians."</blockquote><p>For such a small company like ours, it seems to be difficult at first to keep up with other large CMS manufacturers who have been in the business for 20 years. But this is not the case because we  —or the integrators who use our software— can practically always convince the customer to choose our solution due to our UI/UX. 💡 At the end of the day, the software has to be easy to use for everyone, not only technicians.</p><p><strong>Any success story you want to highlight?</strong></p><p>One I remember particularly well: an integrator using Lunixo wanted to replace the existing system for a very well-known customer. Several competitors had already tried in vain with other software solutions. I thought that our chances were low due to several factors, but as it turned out, the customer was positively impressed by Lunixo and the team behind it, and he consequently switched to our system. 😃</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/11/image001-2.png" class="kg-image" alt loading="lazy" width="2000" height="1124" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/image001-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/image001-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/image001-2.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/image001-2.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>A look into Lunixo's internal system for digital signage content.</figcaption></figure><h2 id="how-it-all-started">🪁 How it all started <a class="markdownit-header-anchor" href="#how-it-all-started">🔗</a></h2><p><strong>So, how was Lunixo created? And h<strong><strong>ow did you end up in the digital signage business?</strong></strong></strong></p><p>The idea came about rather by chance. I used to be a classic IT service provider, and a customer wanted to fill his TVs comfortably with content that changed regularly. 🚥 So I had to look for a solution and was unhappy with any of the ones I found. They were either difficult to use (from the end user's point of view) or very expensive. This motivation led to the idea of programming our own CMS, although it took us more than a year to start with basic functionality.</p><p><strong>What does your team look like? </strong>🏋️</p><p>We have a total of 6 employees at Lunixo. The core team comes from software development; thus, the know-how was already in-house. However, offering an appealing UI/UX to the customer was a challenge. I wanted to focus on the right design and operating concept from the very beginning. And software developers are naturally the wrong people to do this task satisfactorily. So, we were able to hire an excellent UI/UX designer who has been with us since the beginning.</p><blockquote>"As an IT service provider, I had to look for a solution for a customer and was not happy with any of the ones I found. They were either difficult to use or very expensive. This led to the idea of programming our own CMS."</blockquote><p><strong>Curious to know - are you remote-based? </strong>💻<br><br>There is the possibility to work remotely, but no one uses it. We all sit in the same office although we have several rooms. Direct communication over a short distance is important to us.</p><p><strong><strong><strong>How is</strong></strong> the<strong><strong> product funded?</strong></strong></strong></p><p>Mainly savings. Our growth has been achieved solely through our own resources. As things stand, we are not currently looking for any financing opportunities.</p><h2 id="a-crowded-market-full-of-challenges">🔦 A crowded market full of challenges <a class="markdownit-header-anchor" href="#a-crowded-market-full-of-challenges">🔗</a></h2><p><strong>From your perspective, what are the main elements that can make the digital signage process difficult?</strong></p><p>It is important to use the right technology to implement state-of-the-art solutions easily. 📲 This starts with the software architecture in the backend, frontend, and also with the player itself.</p><p><strong>In this competitive market, is<strong><strong> there anything that </strong></strong>Lunixo is particularly <strong><strong>struggling </strong></strong>with?</strong><br><br>From a technical point of view, everything is somehow solvable. The challenge lies more in building an international network and finding the right partners. </p><p><strong>What would you say are the biggest risks for your company? </strong></p><p>Integrating with existing hardware and data sources can be a significant challenge for us. Digital signage networks often involve a range of devices, display data feeds, and sensors. Ensuring compatibility with these diverse components requires robust APIs, standard protocols, and collaboration with third-party vendors. </p><p>Also, very extensive remote management is also a challenge in order to generate as few service calls as possible. To address these challenges, it is essential to have:</p><ul><li>Remote management tools 📳</li><li>Proactive monitoring systems 🔃 </li><li>Efficient customer support processes ✅</li></ul><p><strong>H<strong><strong>ow </strong></strong>do you think<strong><strong> your industry</strong></strong> will<strong><strong> look lik</strong></strong>e<strong><strong> 10 years from now?</strong></strong></strong></p><p>This question is difficult to answer, as technological advances and market dynamics distort the situation. However, <a href="https://www.digitalsignagetoday.com/articles/ooh-future-is-bright-fueled-by-programmatic-mobile-metaverse/">increasing penetration of digital signage</a> is very likely. 🔌 From a software perspective, I see a larger market share of interactive content and much more personalization. <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">The topic of AI</a> and the associated automation is already growing massively and will be state of the art in 10 years, including data analysis and integration with IoT.</p><blockquote>"In 10 years, increasing penetration of digital signage is very likely. I see a larger market share of interactive content and much more personalization. Data analysis and integration with IoT will also be state of the art."</blockquote><p><strong>In relation to AI, where do you stand as a company? How does Lunixo use it currently, and what is your outlook on this controversial topic?</strong><br><br>We've put a lot of development work into audience analytics so far. 📊 AI-driven sensors can analyze audience behavior to provide valuable insights into audience engagement and help advertisers tailor their content accordingly. There are already many such tools on the market, but they must always be in line with data privacy. The development is also strongly designed to meet the legal framework for the respective country.</p><p>Another point is content generation. Generative AI can create relevant and engaging content for digital signage displays. For example, it can generate text, images, videos, or even interactive elements tailored to the location, audience, or context of the signage.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/iStock-1444100560-1.jpg" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/iStock-1444100560-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/iStock-1444100560-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/iStock-1444100560-1.jpg 1600w, https://ghost.localazy.com/content/images/2023/11/iStock-1444100560-1.jpg 2120w" sizes="(min-width: 720px) 720px"></figure><p>All the founders of Lunixo are very concerned about privacy🔏, even way before we started developing with AI. I think this basic orientation or attitude is also important for implementing such products. Fortunately, <a href="https://www.europarl.europa.eu/news/en/headlines/society/20230601STO93804/eu-ai-act-first-regulation-on-artificial-intelligence?&amp;at_campaign=20226-Digital&amp;at_medium=Google_Ads&amp;at_platform=Search&amp;at_creation=RSA&amp;at_goal=TR_G&amp;at_advertiser=Webcomm&amp;at_audience=ai%20eu&amp;at_topic=Artificial_intelligence_Act&amp;at_location=ES&amp;gclid=Cj0KCQiAgK2qBhCHARIsAGACuzmWjBGZ2nzRJnMRtjL5MmKIi6jqHLOJq4F0Ahh1GnbdGzx1ST2xNJ8aAhxvEALw_wcB">the legal framework in Europe</a> restricts a lot. And I think there will be even stricter rules in the future.</p><p><strong>As mentioned, you<strong><strong> also work with CMS. How has the content landscape evolved since you were founded, and how are you adapting?</strong></strong></strong></p><p>The basic finding is that some actors in our industry still offer products without a CMS solution. But they are becoming fewer and fewer. More and more are relying on the cloud and are also demanding mobile apps for convenient scheduling but also for technical applications.</p><blockquote>"There are still some actors in our industry who offer products without a CMS solution, but they are becoming fewer and fewer."</blockquote><p>CMS solutions are integrating better and better with different data sources, such as social media feeds, APIs, and IoT sensors. Another important point is that CMS platforms have advanced analytics tools built into them that provide insights into content performance.</p><p><strong>If you could start again with Lunixo, what would you do differently from today's perspective?</strong><br><br>From a software perspective, I probably wouldn't do much differently. Maybe prioritize some tasks differently. From a sales perspective, we should have positioned ourselves more broadly right from the start. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/AdobeStock_356220561_Editorial_Use_Only.jpeg" class="kg-image" alt loading="lazy" width="2000" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/AdobeStock_356220561_Editorial_Use_Only.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/AdobeStock_356220561_Editorial_Use_Only.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/AdobeStock_356220561_Editorial_Use_Only.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/AdobeStock_356220561_Editorial_Use_Only.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="localizing-their-cms">💬 Localizing their CMS <a class="markdownit-header-anchor" href="#localizing-their-cms">🔗</a></h2><p><strong>Time to discuss localization. Why did you decide to use it, and why did you choose Localazy?</strong></p><p>Because it is a relatively simple tool for translating our CMS, we checked out several tools: Localazy is easy to use, offers top-notch support, and the price component also fits. For these reasons, I see it as a very good tool for startups.<br><br><strong>Did you have previous experience with localization before Localazy? </strong></p><p>We used another tool before, but it was nowhere near as user-friendly, and it also cost more. After we found Localazy, it was clear to us that this was the best solution. 😄</p><p><strong><strong><strong>What does the workflow look like now? What are you translating?</strong></strong></strong></p><p>We develop our CMS in English, which is then translated to other languages using Localazy. Right now, we also have German, and I think Italian will come next. It is relatively easy to extend to other languages. </p><blockquote>💡 Learn how Localazy CLI allows you to upload your files, translate them and download them back to your app or site in our handy <a href="https://localazy.com/docs/cli/the-basics">guide</a>.</blockquote><p><strong>What is your favorite Localazy feature? Also — do you have experience with <a href="https://localazy.com/term/professional-translation-services">Localazy's Translation Services</a>?</strong></p><p>The CLI tools and the support are great. I had a very special request, which was solved perfectly. We do not have any experience with translation services yet, but we probably will in the near future as soon as we don't find a translator for the required language. For now, one team member is in charge of the development, and one is in charge of the translation process itself. </p><p><strong>Currently, how relevant is localization for the digital display business? And - do you think localized interactive content will be the norm in the near future?</strong></p><p>Localization is an important aspect of playing out content - however, a lot of it is currently still done manually. With interactive content, it'll have an increasingly important role, especially in larger projects.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/iStock-1223900285-1.jpg" class="kg-image" alt loading="lazy" width="2000" height="1125" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/iStock-1223900285-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/iStock-1223900285-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/11/iStock-1223900285-1.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/11/iStock-1223900285-1.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="looking-ahead">🎯 Looking ahead <a class="markdownit-header-anchor" href="#looking-ahead">🔗</a></h2><p><strong><strong><strong>What are the next steps and future plans for Lunixo?</strong></strong></strong></p><p>The expansion of AI and the associated intelligent playout of content. We have already put a lot of development work into these features, but in the end, this is only the basis that we have currently created. As I've already described, there will be a lot of work on customized content for the viewer. You'll see ads that are relevant to you on social media platforms. Classic DOOH will drift more in this direction.</p><p><strong><strong><strong>What does success look like</strong></strong> for your company?</strong></p><p>Customer satisfaction comes first. A successful digital signage company should have satisfied and happy customers. Another part is the market share and competitive positioning, combined with innovative technology and solutions.</p><blockquote>"Localization is playing an increasingly important role with the rise of interactive content, especially in larger projects. However, a lot of it is still done manually."</blockquote><p><strong>Very well put! Before we go, would you like to highlight some services or products you really like to use on your own?</strong></p><p>Yes! <a href="https://dotnet.microsoft.com/es-es/">dotnet</a>, C#, <a href="https://angular.dev">Angular</a>, Linux/Ubuntu, <a href="https://www.electronjs.org/es/">Electron</a>..., and Localazy.</p><p><strong>Finally, any tips for aspiring entrepreneurs?</strong><br><br>The most important thing is perseverance. Just keep at it. Then, you can also convince others who want to make the idea big with you.</p><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog, and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/11/Localazy-Interview-Lunixo.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy CLI Tips: Replacing positional placeholders]]></title>
            <link>https://localazy.com/blog/cli-tips-replacing-positional-placeholders</link>
            <guid isPermaLink="false">cli-tips-replacing-positional-placeholders</guid>
            <pubDate>Thu, 16 Apr 2026 14:34:10 GMT</pubDate>
            <description><![CDATA[Learn how to solve different placeholders when converting localizable files with Localazy CLI!]]></description>
            <content:encoded><![CDATA[<p>When localizing apps supported by many different platforms, you may benefit from our <a href="https://localazy.com/docs/general/format-conversions-feature">Format Conversions</a>, manage just one project on Localazy synchronized with the selected platform, and convert translations to other platforms automatically.</p><p>One issue you may encounter along the way is that <strong>each platform uses different placeholders</strong> for the composite formatting.</p><h2 id="android-vs-ios-placeholders">🤖 Android vs. 🍎 iOS placeholders <a class="markdownit-header-anchor" href="#android-vs-ios-placeholders">🔗</a></h2><p>For example, let's have a look at a simple iOS .strings with different placeholders:</p><pre><code>"error_message" = "Error! Module %@ is not available. Visit %@ and enable it!"</code></pre><p>For Android, you would, however, expect the following:</p><pre><code>&lt;resources&gt;
  &lt;string name="error_message"&gt;Error! Module $1%s is not available. Visit $2%s and enable it!&lt;/string&gt;
&lt;/resouces&gt;</code></pre><p>Technically, positional placeholders are also supported on iOS, but if you want to avoid rewriting all your resources, you can rely on <a href="https://localazy.com/docs/cli/the-basics">Localazy CLI</a> to solve this for you.</p><h2 id="the-solution">💡 The solution <a class="markdownit-header-anchor" href="#the-solution">🔗</a></h2><p> In the conversions section of your <code>localazy.json</code>, you can define rules for replacing placeholders like this:</p><pre><code>{
  "conversion": {
    "actions": [
      {
        "type": "android",
        "output": "app/src/main/res/values-${langAndroidRes}/strings.xml",
        "replacements": {
          "REGEX:(%@)": "$(%o%)%s",
          "REGEX:%([a-zA-Z])": "$(%o%)%(%1%)"
        }
      }
    ]
  }
}</code></pre><p>The two replacement formulas above correctly handle <code>%@</code> and also any other variant, such as <code>%s</code>, <code>%d</code>, etc., and convert them to positional placeholders.</p><p>Localazy supports <code>(%o%)</code> for 1-based index (1, 2, 3, …) and <code>(%i%)</code> for 0-based index (0, 1, 2, …). </p><blockquote><a href="https://localazy.com/docs/cli/format-conversions" rel="noopener noreferrer">Read more about format conversions and text replacements</a>.</blockquote><h2 id="you-might-also-like">💖 You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><p>Read more articles related to <a href="https://localazy.com/tags/android">Android</a>, <a href="/tags/ios">iOS</a>, or <a href="https://localazy.com/tags/cli">Localazy CLI</a> on our blog.</p><p><strong>📚</strong> <strong>Further reading:</strong></p><ul><li><a href="https://localazy.com/blog/convert-android-xml-ios-strings-format-conversions-localazy">How to convert Android XML to iOS .strings using Localazy</a></li><li><a href="https://localazy.com/blog/how-to-create-custom-language-selector-in-android">How to create a custom language selector for Android apps</a><br></li></ul>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/11/pos-placeholders.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 22 essential tools & platforms for UX writers]]></title>
            <link>https://localazy.com/blog/top-22-tools-platforms-for-ux-writers</link>
            <guid isPermaLink="false">top-22-tools-platforms-for-ux-writers</guid>
            <pubDate>Fri, 28 Mar 2025 15:24:40 GMT</pubDate>
            <description><![CDATA[Crafting UX microcopy is hard. Don't make it harder: use these research, writing, design, and wireframe tools to make the process smoother. ]]></description>
            <content:encoded><![CDATA[<p>Good UX writing can save brands from losing users and winning new ones. Whether you’re hiring UX writers and want to provide them with the right tools to produce exceptional work or if you’re a UX writer exploring the right tools to take your career to the next stage, this article is for you. </p><p>At Localazy, we value <a href="https://localazy.com/blog/12-principles-of-ux-writing-with-examples">well-crafted UX writing</a> as much as we value good translations and exceptional software. Because at the end of the day, we’re together trying to accomplish the same thing: <strong>provide unmatched experiences for users.</strong> 🥇</p><p>Here’s a list of platforms &amp; tools to help you become a stellar UX writer and create amazing user experiences. </p><h2 id="top-7-research-tools-for-ux-writers">👨‍💻 Top 7 research tools for UX writers <a class="markdownit-header-anchor" href="#top-7-research-tools-for-ux-writers">🔗</a></h2><p>Good writing starts with well-structured research. 🔍 These tools will help you collect all the data you need before writing a single word.</p><h3 id="1-lessa-hrefhttpswwwairtablecomgreaterairtablelessagreater">1. <a href="https://www.airtable.com">Airtable</a> <a class="markdownit-header-anchor" href="#1-lessa-hrefhttpswwwairtablecomgreaterairtablelessagreater">🔗</a></h3><p>Airtable is a cloud collaboration service used by professionals in multiple fields,  from project management to timesheets and daily workflow tracking. It allows UX writers to document and organize their research data into structured databases with ease. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Airtable-for-Product-Teams.jpg" class="kg-image" alt loading="lazy" width="1850" height="863" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Airtable-for-Product-Teams.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Airtable-for-Product-Teams.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Airtable-for-Product-Teams.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Airtable-for-Product-Teams.jpg 1850w" sizes="(min-width: 720px) 720px"></figure><p>For what can you use Airtable? During your research, you can store user profiles, survey responses, and interview transcripts. Since UX writing involves tons of research, Airtable is the ideal place to store it all in an interconnected way and view it in your preferred modes.</p><h3 id="2-lessa-hrefhttpswwwtypeformcomgreatertypeformlessagreater">2. <a href="https://www.typeform.com">Typeform</a> <a class="markdownit-header-anchor" href="#2-lessa-hrefhttpswwwtypeformcomgreatertypeformlessagreater">🔗</a></h3><p>Surveys allow UX writers to get firsthand insights into customers' pain points, struggles, and desired features. And Typeform makes this practical and easy. You can build interactive forms, send out surveys, and visualize the gathered data to have a better understanding of it. Not only is this helpful for writing microcopy but also when localizing your products, which is another way to improve UX. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Typeform-for-Research.jpg" class="kg-image" alt loading="lazy" width="1683" height="846" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Typeform-for-Research.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Typeform-for-Research.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Typeform-for-Research.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Typeform-for-Research.jpg 1683w" sizes="(min-width: 720px) 720px"></figure><p>Typeform allows you to perform an analysis of your data to inform better writing decisions. The software has an intuitive interface and smooth UX copy that guides you along the way. Moreover, the software provides over 120 integrations to help you manipulate your data and build powerful forms, surveys, and quizzes.</p><blockquote><em><strong>Related:</strong> </em><a href="https://localazy.com/blog/agile-localization-for-ux-the-localazy-figma-plugin-changes-the-game"><em>Agile localization for UX: The Localazy Figma plugin changes the game</em></a><em>.</em></blockquote><h3 id="3-lessa-hrefhttpswwwhotjarcomgreaterhotjarlessagreater">3. <a href="https://www.hotjar.com">Hotjar</a> <a class="markdownit-header-anchor" href="#3-lessa-hrefhttpswwwhotjarcomgreaterhotjarlessagreater">🔗</a></h3><p>Before you sit down to write, you need to know how users behave when they visit the current version of the digital product you’re working on. You need to see what section they spend the most time on, what appeals to them, and what doesn’t. 🤔</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Hotjar-Homepage.jpg" class="kg-image" alt loading="lazy" width="1722" height="829" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Hotjar-Homepage.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Hotjar-Homepage.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Hotjar-Homepage.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Hotjar-Homepage.jpg 1722w" sizes="(min-width: 720px) 720px"></figure><p>One way to do this is by deep-diving into user behavior with heatmaps, session recordings, and user surveys, offering valuable feedback for content optimization. And Hotjar offers just that. You can precisely see where users click and how they navigate through your apps or websites.</p><h3 id="4-lessa-hrefhttpsdevelopersgooglecomanalyticshlengreatergoogle-analyticslessagreater">4. <a href="https://developers.google.com/analytics?hl=en">Google Analytics</a> <a class="markdownit-header-anchor" href="#4-lessa-hrefhttpsdevelopersgooglecomanalyticshlengreatergoogle-analyticslessagreater">🔗</a></h3><p>Google Analytics allows you to harness the power of data to understand user journeys and adapt your content strategy accordingly. The valuable data inside GA shows invaluable details about your users. While this is one of the oldest tools in the market, it still remains super useful. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Google-Analytics.jpg" class="kg-image" alt loading="lazy" width="1912" height="855" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Google-Analytics.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Google-Analytics.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Google-Analytics.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Google-Analytics.jpg 1912w" sizes="(min-width: 720px) 720px"></figure><p>From bounce rates, time spent on each page, and A/B testing headlines, GA offers insights that can be used to improve your UX considerably. Moreover, it offers insights into the state of conversions and much more.</p><h3 id="5-lessa-hrefhttpswwwuxtweakcomgreateruxtweaklessagreater">5. <a href="https://www.uxtweak.com">UXtweak</a> <a class="markdownit-header-anchor" href="#5-lessa-hrefhttpswwwuxtweakcomgreateruxtweaklessagreater">🔗</a></h3><p>UXtweak can add unmatched data to your UX research. UXtweak is valuable for identifying usability issues, tracking user behavior, and making data-driven decisions to improve the overall user experience. To achieve this, you have a wide range of features like session recordings, heatmaps, and clickmaps to help you understand how users interact with your website or apps. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/UX-Tweak.jpg" class="kg-image" alt loading="lazy" width="1649" height="887" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/UX-Tweak.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/UX-Tweak.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/UX-Tweak.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/UX-Tweak.jpg 1649w" sizes="(min-width: 720px) 720px"></figure><p>The platform allows you to have all your UX tests in one convenient place. This means your <a href="https://localazy.com/blog/how-and-why-we-built-figma-localization-plugin">Figma</a> prototype tests, surveys, and card sortings are neatly organized together. The only disadvantage of UXtweak is in the interface, which might appear a bit counterintuitive at first, so you'll need to spend some time exploring it.</p><h3 id="6-lessa-hrefhttpswwwusertestingcomgreaterusertestingcomlessagreater">6. <a href="https://www.usertesting.com">Usertesting.com</a> <a class="markdownit-header-anchor" href="#6-lessa-hrefhttpswwwusertestingcomgreaterusertestingcomlessagreater">🔗</a></h3><p>Usertesting.com is used by app/website owners for remote user testing. A business can create specific user testing scenarios and pay real people to go through them and find flaws. 🕵️ People from different backgrounds and locations act as users and interact with the product while providing real-time feedback through video recordings, surveys, and written responses.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/User-Testing-.jpg" class="kg-image" alt loading="lazy" width="1904" height="809" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/User-Testing-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/User-Testing-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/User-Testing-.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/User-Testing-.jpg 1904w" sizes="(min-width: 720px) 720px"></figure><p>The website comes with a user-friendly UI, which is great, especially if you're not familiar with such tools. The platform is continuously refined, and you’ll be often asked for your input as a user. However, it isn’t your job as a writer to create and set up surveys. As a UX writer, you’ll make your job easier if you know how to navigate through the platform and review testers' feedback when writing microcopy.</p><h3 id="7-lessa-hrefhttpsuserbitcomgreateruserbitlessagreater">7. <a href="https://userbit.com">Userbit</a> <a class="markdownit-header-anchor" href="#7-lessa-hrefhttpsuserbitcomgreateruserbitlessagreater">🔗</a></h3><p>This one is a little special for us because we’ve used Userbit ourselves, and it has been amazing, starting from the UI and the abundance of tools to their exceptionally fast customer support. Userbit functions as a research repository, and it provides a wide range of UX tools and collaborating tools for UX researchers.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Userbit.jpg" class="kg-image" alt loading="lazy" width="1871" height="886" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Userbit.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Userbit.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Userbit.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Userbit.jpg 1871w" sizes="(min-width: 720px) 720px"></figure><p>With Userbit, you’ll be able to manage your interviews, surveys, notes, and people, as well as get transcriptions for your video interviews easily. Moreover, you can create user flows, personas, visual sitemaps, and journey maps all in the same place. You can perform analytics on your research data and share it with an unlimited number of team members.</p><h2 id="top-5-writing-tools-for-ux-writers">✍️ Top 5 writing tools for UX writers <a class="markdownit-header-anchor" href="#top-5-writing-tools-for-ux-writers">🔗</a></h2><p>After finishing your research, it’s time to flesh out some microcopy! The process is undoubtedly challenging, but with the right tools, you can organize and refine your ideas. </p><p>Five of the most popular tools UX writers use for writing include:</p><h3 id="8-lessa-hrefhttpshemingwayappcomgreaterhemingway-applessagreater">8. <a href="https://hemingwayapp.com">Hemingway App</a> <a class="markdownit-header-anchor" href="#8-lessa-hrefhttpshemingwayappcomgreaterhemingway-applessagreater">🔗</a></h3><p>The Hemingway App is like a trusty sidekick for UX writers. It’s not just for pro writers, but it's a super tool to make your microcopy shine and connect with users. It’s like a secret weapon to make your sentences clearer, ditch confusing jargon, and help your words flow smoothly. This means your users won’t be scratching their heads trying to figure out what you're saying, making their experience way better.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/Hemingway-App-.jpg" class="kg-image" alt loading="lazy" width="1600" height="738" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Hemingway-App-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Hemingway-App-.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Hemingway-App-.jpg 1600w" sizes="(min-width: 720px) 720px"><figcaption><em><strong>Source:</strong> </em><a href="https://hemingwayapp.com/"><em>Hemingway App</em></a></figcaption></figure><p>When you include the Hemingway App in your UX writing process, your content becomes punchy and engaging. To write in a simple way becomes challenging after a while because you can’t spot your own mistakes. But once you paste your content into the Hemingway App, you’ll get helpful pointers on what to fix.</p><h3 id="9-lessa-hrefhttpswwwfrontitudecomgreaterfrontitudelessagreater">9. <a href="https://www.frontitude.com">Frontitude</a> <a class="markdownit-header-anchor" href="#9-lessa-hrefhttpswwwfrontitudecomgreaterfrontitudelessagreater">🔗</a></h3><p>As their website intro states, Frontitude provides one Source of Truth (SoT) for your product copy. Imagine having a writing partner at your disposal who flags spelling errors, points out clunky sentences, and even gives you high-fives when your words hit the mark. That's the simplest way to describe Frontitude. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Frontitude.jpg" class="kg-image" alt loading="lazy" width="1752" height="910" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Frontitude.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Frontitude.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Frontitude.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Frontitude.jpg 1752w" sizes="(min-width: 720px) 720px"></figure><p>With the widespread implementation of AI, Frontitude couldn’t be left out. They’ve implemented AI into their product with a <a href="https://write.frontitude.com/">UX Writing Assistant</a>, which allows you to connect it directly on Figma and revise your microcopy without having to switch between Figma, Frontitude, and another app where you write your copy. </p><blockquote><em><strong>Related:</strong> </em><a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation"><em>Translation Technology: Exploring the Pros and Cons of AI Translation</em></a></blockquote><h3 id="10-lessa-hrefhttpsdocsgooglecomgreatergoogle-docslessagreater">10. <a href="https://docs.google.com/">Google Docs</a> <a class="markdownit-header-anchor" href="#10-lessa-hrefhttpsdocsgooglecomgreatergoogle-docslessagreater">🔗</a></h3><p>Every writer needs to dump their ideas into a blank page before they turn them into exceptional, fine-tuned copy. Google Docs is a simple app, part of the Google Workspace, that helps UX writers collect their ideas, flesh them into full paragraphs, collaborate in real-time with other teammates, and format their texts easily. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Google-Docs.jpg" class="kg-image" alt loading="lazy" width="1883" height="853" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Google-Docs.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Google-Docs.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Google-Docs.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Google-Docs.jpg 1883w" sizes="(min-width: 720px) 720px"></figure><p>Google Docs is completely free to use. You don’t have to pay for a monthly subscription for a product you might not use. Beyond a simple word processor, it's a versatile hub where UX writers can ideate, draft, and co-write with ease. 🧠 With commenting and suggestion tools that allow real-time feedback exchange, writers can receive input and feedback from design, development, and other stakeholders.</p><h3 id="11-lessa-hrefhttpsreadablecomgreaterreadablelessagreater">11. <a href="https://readable.com">Readable</a> <a class="markdownit-header-anchor" href="#11-lessa-hrefhttpsreadablecomgreaterreadablelessagreater">🔗</a></h3><p>As its name suggests, Readable makes your copy as a UX writer more readable and analyzes it in-depth, providing you with solutions. At first glance, it appears to be similar to the Hemingway App, but it offers many more detailed features you’ll love. It comes with a wide number of metrics to help you perfect your writing.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Readable.jpg" class="kg-image" alt loading="lazy" width="1623" height="909" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Readable.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Readable.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Readable.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Readable.jpg 1623w" sizes="(min-width: 720px) 720px"></figure><p>Readable has tons of features, from sentiment analysis to grammar checking, to make sure your writing speaks to your researched personas. While it is useful to everyone who writes, UX writers can benefit more from it since their writing needs to be very concise and target user pain points in a few words.</p><h3 id="12-lessa-hrefhttpsgathercontentcomgreatergathercontentlessagreater">12. <a href="https://gathercontent.com">GatherContent</a> <a class="markdownit-header-anchor" href="#12-lessa-hrefhttpsgathercontentcomgreatergathercontentlessagreater">🔗</a></h3><p>GatherContent is like a virtual workspace where you can put together your content and work together with designers, developers, and others smoothly. From its interface, it looks like a modern Google Docs, but with many more features. Inside GatherContent, you can nest files inside folders as if you’re working in Figma, use templates, and assign workflows to take content from the first draft to production fast. 📲</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Gather-Content.jpg" class="kg-image" alt loading="lazy" width="1701" height="873" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Gather-Content.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Gather-Content.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Gather-Content.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Gather-Content.jpg 1701w" sizes="(min-width: 720px) 720px"></figure><p>It also helps you work closely with designers and developers, so your words fit perfectly into the overall user experience. No more confusing emails or messy back-and-forths. On GatherContent, you can easily keep track of changes and get everyone's approval, making your daily workflow easier.</p><h2 id="top-5-wireframe-platforms-for-ux-writers">📐 Top 5 wireframe platforms for UX writers <a class="markdownit-header-anchor" href="#top-5-wireframe-platforms-for-ux-writers">🔗</a></h2><p>UX writers don’t need to be experts at building wireframes, but they must have basic wireframing skills to outline their copy. From Sketch's intricate layouts to Balsamiq's rapid sketches, knowing how to use these tools will help you land more opportunities and collaborate better with your teammates.</p><h3 id="13-lessa-hrefhttpswwwsketchcomgreatersketchlessagreater">13. <a href="https://www.sketch.com">Sketch</a> <a class="markdownit-header-anchor" href="#13-lessa-hrefhttpswwwsketchcomgreatersketchlessagreater">🔗</a></h3><p>Sketch helps you to create detailed wireframes that visualize the layout and structure of your content. The app isn't just about generating cool graphics; it's about creating detailed wireframes that allow you to develop great user experiences.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Sketch.jpg" class="kg-image" alt loading="lazy" width="1797" height="908" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Sketch.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Sketch.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Sketch.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Sketch.jpg 1797w" sizes="(min-width: 720px) 720px"></figure><p>With Sketch, wireframing is easy since it comes with tons of instructional videos and tutorials to help you get your ideas into useful sketches. 🖍️ As a UX writer, you only need to know the basics of navigating the app and making edits to the text, as most of the wireframing and design work will be done by the designer.</p><h3 id="14-lessa-hrefgreaterwhimsicallessagreater">14. <a href="🖍️">Whimsical</a> <a class="markdownit-header-anchor" href="#14-lessa-hrefgreaterwhimsicallessagreater">🔗</a></h3><p>UX writing isn’t blog writing. You don’t receive a topic, do a write-up, deliver it, and call it a day. As a UX writer, you need to be prepared to produce copy by working with design teams, <a href="https://localazy.com/for/product-managers">product managers</a>, and users. Wireframing is an important part of the design process in which you’ll need to give your input as a writer and add suggestions.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Whimsical.jpg" class="kg-image" alt loading="lazy" width="1850" height="854" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Whimsical.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Whimsical.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Whimsical.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Whimsical.jpg 1850w" sizes="(min-width: 720px) 720px"></figure><p>Whimsical is a popular interactive platform for wireframes, diagrams, and flowcharts. As a UX writer, you’ll probably be asked to use Whimsical for wireframing. Whether you'll have to sketch out a new app interface or optimize a website, Whimsical lets UX writers visualize their ideas and collaborate with designers and developers with ease. While you’re not responsible for building entire wireframes, your input is necessary, and Whimsical is pretty easy to use, user-friendly, and provides tons of instructional videos.</p><h3 id="15-lessa-hrefhttpsmirocomesgreatermirolessagreater">15. <a href="https://miro.com/es/">Miro</a> <a class="markdownit-header-anchor" href="#15-lessa-hrefhttpsmirocomesgreatermirolessagreater">🔗</a></h3><p>Another tool similar to Whimsical is Miro. They both have similar interfaces, suitable not only for designers but for non-designers as well. It comes with over 2000 templates (🤯) and a multitude of 130+ apps and integrations. What is Miro used for? </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Miro.jpg" class="kg-image" alt loading="lazy" width="1639" height="904" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Miro.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Miro.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Miro.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Miro.jpg 1639w" sizes="(min-width: 720px) 720px"></figure><p>With Miro, teams can create wireframes, design collaboratively, or present flows to stakeholders. As a UX writer, knowing the basics of Miro helps you navigate the project design and see the context of your words. Instead of writing blindly on a document, now you can see where your text fits.</p><h3 id="16-lessa-hrefhttpsbalsamiqcomgreaterbalsamiqlessagreater">16. <a href="https://balsamiq.com">Balsamiq</a> <a class="markdownit-header-anchor" href="#16-lessa-hrefhttpsbalsamiqcomgreaterbalsamiqlessagreater">🔗</a></h3><p>Miro and Whimsical are great for a versatile number of applications, from wireframing to building product roadmaps and user journeys. However, Balsamiq is designed for wireframe building mostly. On Balsamiq, you can quickly sketch out user interfaces and interactions to solidify your content structure.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Balsamiq.jpg" class="kg-image" alt loading="lazy" width="1521" height="909" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Balsamiq.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Balsamiq.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Balsamiq.jpg 1521w" sizes="(min-width: 720px) 720px"></figure><p>As a UX writer, you'll find Balsamiq to be an invaluable tool for wireframing. The beauty of Balsamiq is that it prioritizes functionality over aesthetics. 🛠️ It's all about efficiently visualizing the UI &amp; UX without getting bogged down by intricate design elements. Balsamiq's simplicity is its strength - it offers a wide range of pre-built UI components, allowing you to quickly sketch out your ideas and concepts.</p><h3 id="17-lessa-hrefhttpswireframeccgreaterwireframecclessagreater">17. <a href="https://wireframe.cc//">Wireframe.cc</a> <a class="markdownit-header-anchor" href="#17-lessa-hrefhttpswireframeccgreaterwireframecclessagreater">🔗</a></h3><p>Wireframing can be time-consuming, especially when you have tons of options to choose from in terms of colors and shapes. Wireframe.cc solves this problem by focusing on simplicity. It provides a clean canvas where you can map out the structure and layout of web or app interfaces with ease. No frills, just efficiency.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Wireframe.cc.jpg" class="kg-image" alt loading="lazy" width="1905" height="914" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Wireframe.cc.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Wireframe.cc.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Wireframe.cc.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Wireframe.cc.jpg 1905w" sizes="(min-width: 720px) 720px"></figure><p>With Wireframe.cc, you skip the clutter and focus on the essentials. Even their homepage directly lands you into the workspace. You'll find a minimalistic set of elements, making it quick and straightforward to create wireframes that serve as the backbone of your UX projects. Simply put, Wireframe.cc is the UX writer's tool of choice for turning concepts into tangible, user-friendly layouts.</p><h2 id="top-5-design-and-prototyping-tools-for-ux-writers">🎨 Top 5 design & prototyping tools for UX writers <a class="markdownit-header-anchor" href="#top-5-design-and-prototyping-tools-for-ux-writers">🔗</a></h2><p>When you step foot into UX writing, you should expect to know the basics of design and prototyping if you want to succeed. In this section, we’ll explore five prototyping and design tools that help you contribute to creating delightful user experiences.</p><h3 id="18-lessa-hrefhttpswwwgoogleesintlenslidesaboutgreatergoogle-slideslessagreater">18. <a href="https://www.google.es/intl/en/slides/about/">Google Slides</a> <a class="markdownit-header-anchor" href="#18-lessa-hrefhttpswwwgoogleesintlenslidesaboutgreatergoogle-slideslessagreater">🔗</a></h3><p>Google Slides goes beyond its traditional use and serves as an ally for UX writers when it comes to proposing new UX copy versions. While you can definitely duplicate designs on the design app your team has chosen and add the proposed text to them, the best way to avoid clutter is to screenshot the proposed change and paste it into Google Slides in a <em>“before and after”</em> style. ✂️</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Google-Slides-.jpg" class="kg-image" alt loading="lazy" width="1893" height="830" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Google-Slides-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Google-Slides-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Google-Slides-.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Google-Slides-.jpg 1893w" sizes="(min-width: 720px) 720px"></figure><p>There’s a lot you can do on Google Slides when it comes to explaining changes you’ve done to a project, but also to build a portfolio for your work. You can easily create individual slides for various screens and interactions, mapping out the user journey cohesively. Adding clickable links between slides lets you simulate user interactions, granting a rudimentary yet effective preview of the user experience.</p><h3 id="19-lessa-hrefhttpswwwfigmacomgreaterfigmalessagreater">19. <a href="https://www.figma.com/">Figma</a> <a class="markdownit-header-anchor" href="#19-lessa-hrefhttpswwwfigmacomgreaterfigmalessagreater">🔗</a></h3><p>One of the worst feelings you can experience as a UX writer is that of having to replace a <em>lorem ipsum</em> text without having a say in the design process. <a href="https://www.figma.com/community/plugin/964257457772706017/localization-plugin-by-localazy">But Figma changes this for you.</a> Once you learn your way around it, you can make tweaks, add comments, collaborate with designers, and make changes in real time.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Figma.jpg" class="kg-image" alt loading="lazy" width="1826" height="859" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Figma.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Figma.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Figma.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Figma.jpg 1826w" sizes="(min-width: 720px) 720px"></figure><p>To UX writers, Figma is <a href="https://localazy.com/tags/figma">a multifunctional tool</a>. You can work alongside your design and development teams, watch the prototype evolve, and contribute your text where needed. Whether it's crafting microcopy for buttons or refining in-app messaging, Figma makes it a breeze to add text and see how it fits into the UI. Plus, it simplifies version control, making it easy to track iterations and updates.  </p><blockquote>📹 <em><strong>Related:</strong> <a href="https://www.youtube.com/watch?v=zp3JhpiR04g">Multilingual Figma prototyping with Localazy done quickly</a></em></blockquote><h3 id="20-lessa-hrefhttpswwwframercomgreaterframerlessagreater">20. <a href="https://www.framer.com">Framer</a> <a class="markdownit-header-anchor" href="#20-lessa-hrefhttpswwwframercomgreaterframerlessagreater">🔗</a></h3><p>Besides Figma, Framer is another useful tool for UX writers. It helps you to map out user journeys, illustrating precisely how your content weaves into the broader user experience. Here, you can experiment with various interactions, ensuring that your chosen words align harmoniously with every user action. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Framer.jpg" class="kg-image" alt loading="lazy" width="1632" height="869" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Framer.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Framer.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Framer.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Framer.jpg 1632w" sizes="(min-width: 720px) 720px"></figure><p>Its only downside is the fact that it requires more coding knowledge, and it might lack specific documentation to guide you through particular issues. However, you can always find answers to your questions on forums and blogs.</p><h3 id="21-lessa-hrefhttpswwwinvisionappcomgreaterinvisionlessagreater">21. <a href="https://www.invisionapp.com">InVision</a> <a class="markdownit-header-anchor" href="#21-lessa-hrefhttpswwwinvisionappcomgreaterinvisionlessagreater">🔗</a></h3><p>As a UX writer, you'll find InVision to be an invaluable tool in the prototype development process. InVision lets you transform static designs into interactive prototypes with ease. You can take those wireframes and mockups and breathe life into them by adding clickable elements, transitions, and animations. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Invision-App.jpg" class="kg-image" alt loading="lazy" width="1811" height="899" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Invision-App.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Invision-App.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Invision-App.jpg 1600w, https://ghost.localazy.com/content/images/2023/09/Invision-App.jpg 1811w" sizes="(min-width: 720px) 720px"></figure><p>This is crucial for you as a UX writer because it allows you to see your content in action, making sure that the flow and messaging align with the user journey. 🔎 🗺️InVision works like a charm as a prototyping tool. It is pretty slick and efficient because it was built for designers, by designers. It's evident that every feature they develop is geared towards aiding the design and content creation process.</p><h3 id="22-lessa-hrefhttpshelpxadobecomxdget-startedhtmlgreateradobe-xdlessagreater">22. <a href="https://helpx.adobe.com/xd/get-started.html">Adobe XD</a> <a class="markdownit-header-anchor" href="#22-lessa-hrefhttpshelpxadobecomxdget-startedhtmlgreateradobe-xdlessagreater">🔗</a></h3><p>When you’re learning UX writing and design basics, Adobe XD is guaranteed to pop up in the process. And even though Adobe XD comes with a free version, if you’re paying with other Adobe apps, this is a great deal in terms of pricing to win access to all its features. Adobe XD allows you to collaborate with designers, making sure that every piece of microcopy is in perfect harmony with the overall user experience.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Adobe-XD.jpg" class="kg-image" alt loading="lazy" width="860" height="402" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Adobe-XD.jpg 600w, https://ghost.localazy.com/content/images/2023/09/Adobe-XD.jpg 860w" sizes="(min-width: 720px) 720px"></figure><p>With it, you can directly embed your text into the interactive prototypes. This means you can see how your words will look and feel in the actual user interface, making sure they fit well and guide users intuitively. You get to play with user flows, ensuring that your content aligns with the user journey. Even though Figma has all the features of Adobe XD, the app provides an entirely different experience.</p><h2 id="final-thoughts">📌 Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>UX writing is a critical process focused on building amazing user experiences. For you to take charge of the process as a UX writer, it’s necessary to know how you can navigate the entire web/app production process, from wireframing to prototyping. </p><p>We hope this article was useful to you. At Localazy, we help business owners and their teams provide exceptional user experiences by localizing their app/web content into multiple languages with the help of our software and professional localization experts. Discover more about us <a href="https://localazy.com/">here</a>.<br></p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/10/localazy-UX-series-vol2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The ultimate guide to Localazy CDN]]></title>
            <link>https://localazy.com/blog/the-ultimate-guide-to-localazy-cdn</link>
            <guid isPermaLink="false">the-ultimate-guide-to-localazy-cdn</guid>
            <pubDate>Tue, 06 Feb 2024 13:17:44 GMT</pubDate>
            <description><![CDATA[Learn everything you need to know to unlock the full potential of Localazy CDN. Deliver languages dynamically to your users all over the world, A/B test localized marketing copy, and maintain your translations always up to date. ]]></description>
            <content:encoded><![CDATA[<p>When working on a software project, you usually master the programming language used for its development. You can "speak" it fluently. Even though it's normal to introduce bugs, you can avoid many of them by testing your code. Thanks to your knowledge, tools, and processes, you can ship a product that's great and comes with no critical errors.</p><p>All of this essential knowledge resides in your team. It, however, doesn't apply to localization, as most SMBs can't afford the luxury of having internal people speaking all the supported languages.</p><p>"Bugs" in localization are often not as critical as your software crashing completely, but they can still have adverse effects - it's not uncommon for people to lose their data because of a bad translation; they don't understand what they are doing because the translation provides misleading information. Such an issue can earn you bad reviews and potentially drive many users away from your product.</p><p>When a critical bug in the software is found, it's usually necessary to fix it, run all the tests to ensure everything works correctly with the updated code, prepare the release, and publish it. You don't want to do all of this just because there are a few issues in translation. </p><p>So, is there a better way? </p><p>You probably expect me to say: "Yes, it is." and you are right; there's indeed a better way with more benefits than just fixing issues… The answer is <a href="https://localazy.com/features/language-cdn">Localazy CDN</a>.</p><h2 id="what-are-the-benefits">💙 What are the benefits? <a class="markdownit-header-anchor" href="#what-are-the-benefits">🔗</a></h2><p>Several vital benefits make CDN a perfect part of the localization process. So, what can you do with CDN?</p><ul><li><strong>Fix localization fails.</strong> And do so without the need to release a new version of the app.</li><li><strong>Speed up releases.</strong> When there is a mechanism to update translation over the air, you can get the new version of your app out quickly and finish less important languages after the release.</li><li><strong>Add languages dynamically.</strong> Without downloading the new version of your app, the users can just start using it in their language when it's ready.</li><li><strong>Remove developers from the localization process.</strong> No need to bother developers whenever there's a fix in translated files to be published. All the changes are live in a couple of minutes without any interaction. Developers will thank you since they won't waste their time on trivial tasks anymore. And business people, too - they can get their changes up and running quickly.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/image.png" class="kg-image" alt loading="lazy" width="1151" height="570" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/image.png 1000w, https://ghost.localazy.com/content/images/2023/11/image.png 1151w" sizes="(min-width: 720px) 720px"></figure><h4 id="recommended-reading">Recommended reading</h4><p>Before you dive in, you might like to check these three articles to get a better idea about our CDN:</p><ul><li>The Basics: <a href="https://localazy.com/blog/deliver-translated-files-localazy-cdn-tutorial">Deliver translated files seamlessly via Localazy CDN</a> 🌍</li><li><a href="https://localazy.com/blog/8-reasons-why-delivering-translations-via-localazy-cdn-is-a-good-idea">8 Reasons Why Delivering Translations via Localazy CDN Is a Good Idea</a> </li><li>Case Study: <a href="https://localazy.com/blog/case-study-rouvy-localization">🚴 ROUVY's Tour de localization with Localazy</a></li></ul><p>In the following text, we will focus on a complete guide both for always-online and offline apps with the option to add languages dynamically. Intentionally, we will not resort to one programming language or framework but discuss the basic concept. Along the way, we will briefly discuss more advanced concepts like the metafile or releases.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/dzZyAFk9c-4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="Localazy CDN: How does it work? | Interview with Localazy’s CEO, Václav Hodek"></iframe></figure><h2 id="prepare-your-project">⚙️ Prepare your project <a class="markdownit-header-anchor" href="#prepare-your-project">🔗</a></h2><p>Whether you work on a web or mobile app or a good old desktop app, you need to prepare your project for localization and upload localizable files to Localazy. This process is out of the scope of this article, but there are tons of resources on this topic in our <a href="https://localazy.com/docs">documentation</a> and <a href="https://localazy.com/tags/howto">blog</a> tailored for your specific technology, platform, and framework.</p><blockquote>See the list of available <a href="https://localazy.com/integrations">integrations and supported file formats</a>.</blockquote><p>Once you have your localizable assets managed on Localazy and enable our CDN, we do a lot of work for you in the background automatically!</p><h2 id="files-on-cdn">🗃️ Files on CDN <a class="markdownit-header-anchor" href="#files-on-cdn">🔗</a></h2><p>Whenever your data is changed, such as when you upload new texts or when there are new translations, we automatically create a new version of your files and upload it to CDN. There is no action required on your side.</p><p>Not only do we upload your translated files, but add them packed as a ZIP archive, which is very useful for constrained environments, as <a href="#constrained-environments">described below</a>. And, on every change, we generate a new metafile.</p><blockquote>We also automatically send invalidation requests to the CDN network to ensure that updated files are available as soon as possible. However, it may still take up to 15 minutes for changes to propagate to all servers.</blockquote><h2 id="the-metafile">🗂️ The metafile <a class="markdownit-header-anchor" href="#the-metafile">🔗</a></h2><p>Metafiles describe the current state of your data available on CDN, and they are <a href="https://localazy.com/docs/cdn/cdn-metafiles" rel="noopener noreferrer">described in detail in the documentation</a>.</p><p>The metafile is specific per release (releases are <a href="#releases">described below</a>), allowing you to rely on its content for fully dynamic functionality even with different releases. It's great since you can quickly implement mechanisms to support testing, staging, and production environments, even in the ever-changing world of translation.</p><p>There are a bunch of valuable details you can get from the metafile, such as the filename and path for each of the files and all languages for each of the files, including:</p><ul><li>locale code</li><li>English and localized name</li><li>URL to CDN for each of the languages</li><li>timestamp of the last update</li><li>function for resolving plural form (in JS/TS file)</li></ul><h2 id="releases">🚀 Releases <a class="markdownit-header-anchor" href="#releases">🔗</a></h2><p>The speed of distribution - both in the sense of how fast you can get new translations out and what your end users' latency is - is one of the core advantages of CDN. However, you may still want to retain control over quality while ensuring that you can quickly send updates to your users. And that's what Releases are great for!</p><blockquote>Learn more about <a href="https://localazy.com/docs/general/releases">Releases in the docs</a></blockquote><p>Because Localazy CDN works smoothly with the <a href="https://localazy.com/docs/general/release-tags-feature">Releases</a> feature, you can link to different versions of your files and be sure that recent changes will not break your website/app.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/image-2.png" class="kg-image" alt loading="lazy" width="741" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/image-2.png 600w, https://ghost.localazy.com/content/images/2023/11/image-2.png 741w" sizes="(min-width: 720px) 720px"></figure><p>In Localazy, all changes (newly added keys, updated ones, new translations, reviews, etc.) are automatically published as the <code>latest</code> tag. This is a good option to use during development when you don't care much about the content.</p><p>Using Releases gives you control over which translations are ready to go public by creating release tags. E.g., when you are happy with the current translation quality, you can promote the <code>latest</code> release tag to <code>staging</code> and make the progress available in your testing environment.</p><p>At this point, the translation is close to the final version, but - similarly to the software development - it's common that many localization issues will be identified. They can be quickly fixed in Localazy, reviewed in the development, and again promoted to the <code>staging</code> tag.</p><p>Once you are sure that the new version of your app is ready for its prime time, you can just promote the <code>staging</code> tag to either <code>production</code> or <code>vX.X.X</code> depending on your preferences. Using the versioned tag is a better option if you support more active versions in production.</p><p>If you find any critical issue in translations, you can still use <a href="https://localazy.com/docs/cli/release-tags#merging-and-manipulating-tags" rel="noopener noreferrer">release merging</a> to propagate only a portion of changes from the <code>latest</code> or <code>staging</code> tag.</p><p>Also, you can omit the step with the <code>staging</code> tag entirely and use the <code>latest</code> one directly in a testing environment. Using <code>staging</code> is an excellent way to achieve reproducibility, which may be limited when translations change under testers' hands. It's, amongst other reasons, important for the translation context. Sometimes, the translators need to see where and when the translation is used to adapt it correctly.</p><blockquote>One pro tip: It's possible to use merging to release only a subset of languages — more on this topic in the "<a href="#deliver-languages-dynamically">Deliver languages dynamically</a>" section.</blockquote><h2 id="implementation">💡 Implementation <a class="markdownit-header-anchor" href="#implementation">🔗</a></h2><p>Now that we have our releases/files available on CDN, it's time to implement the logic for your app. There are three types of apps with different behavior:</p><h3 id="always-online-approach">Always-online approach <a class="markdownit-header-anchor" href="#always-online-approach">🔗</a></h3><p>The simplest way to use translations from CDN when your app is always online - such as your website or SaaS product - is to download the localized file directly from CDN every time.</p><blockquote>There's <a href="https://localazy.com/blog/deliver-translated-files-localazy-cdn-tutorial" rel="noopener noreferrer">an article on this topic on our blog that goes into more technical details with Javascript and the i18next library</a>.</blockquote><p>Not only it's the simplest way to integrate CDN, but it's also how CDN was designed to work in the first place, and it brings many benefits:</p><ul><li><strong>You don't need to care about the infrastructure</strong>: no need to store files, solve distribution, backups, fallback servers, HTTPS, invalidation, etc. It just works! We take care of it.</li><li><strong>Your files are delivered from servers closest to your customers</strong>, lowering response time considerably. Have you ever tried to download files from servers in the US while being in Japan? Being close to your customers (in terms of latency) is an integral part of localization and customer experience. We are not talking about an image that lags and loads slowly. We are talking about texts and translations that are an essential part of the app.</li><li><strong>Our CDN is not just delivering files</strong>: it also provides helpful metafiles and transparently supports releases. In a sense, you can control your app's localization using our CDN - e.g., you can add languages dynamically without bothering developers.</li></ul><h3 id="offline-approach">Offline approach <a class="markdownit-header-anchor" href="#offline-approach">🔗</a></h3><p>When your app can be used offline, you must make the translations available even without an internet connection. The best approach is to bundle the current translations when building a new version of your app, and making <a href="https://localazy.com/tags/ci">Localazy CLI part of your CI/CD</a> is a perfect way to do it automatically. This way, you can be sure that the app has the latest translations even when started offline for the first time.</p><p>Whenever an internet connection is available, you download files from CDN to ensure that the latest translations are included, and you also update stored translations so that next time, when the internet connection is unavailable, your app resorts to the latest version.</p><p>This combines the best of both worlds - keeping the app updated with the latest translations while maintaining offline availability.</p><h3 id="constrained-environments">Constrained environments <a class="markdownit-header-anchor" href="#constrained-environments">🔗</a></h3><p>There is also a special variant of apps that are typically online but that are required to have very low data transfers. This can apply to mobile apps where content changes are rare and keeping them updated is unimportant or for apps designed for specific use cases. We worked on such an app years ago - it was designed for a rural environment with an unstable and slow connection.</p><p>In such situations, you can leverage our metafile and periodically check for <code>timestamp</code> on the global or even file level to detect changes. If <code>timestamp</code> is not equal to your stored version from the last check, update translations and you'll possibly get new languages! By the way,  the <code>timestamp</code> property is not a UTC-based timestamp but the internal ID of the last change that is guaranteed to be higher for subsequent changes.</p><p>Depending on how many files were changed, you can download just the changed files or redownload all of them in ZIP format, further reducing the download size with the compression.</p><h2 id="update-your-marketing-message">🌟 Update your marketing message <a class="markdownit-header-anchor" href="#update-your-marketing-message">🔗</a></h2><p>With CDN, you can update your texts online. It's a fantastic way to fine-tune your marketing message, adapt banners, or improve the performance of calls to action.</p><blockquote>We even saw CDN being used for customized banner colors since, in different languages (and cultures), colors can have quite different meanings!</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/A-B-testing.png" class="kg-image" alt loading="lazy" width="1300" height="426" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/A-B-testing.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/A-B-testing.png 1000w, https://ghost.localazy.com/content/images/2023/11/A-B-testing.png 1300w" sizes="(min-width: 720px) 720px"></figure><h4 id="ab-testing-with-branches">A/B Testing with branches</h4><p>You can use our <a href="https://localazy.com/docs/cli/branching">Branching feature</a> to create a branch of your project. The branch is a copy of the project, so you start with identical content, and you can change specific texts and translations.</p><p>In your product, you can randomly select a URL to obtain the metadata file. From the metadata file, you get links to all the localized assets, so apart from a list of URLs, you can get everything else from our CDN directly.</p><p>This way, you can easily switch between different variants of your texts and translations. Send the CDN URL to analytics, and you'll be able to measure which variant performs better!</p><h2 id="deliver-languages-dynamically">🧭 Deliver languages dynamically <a class="markdownit-header-anchor" href="#deliver-languages-dynamically">🔗</a></h2><p>We've already mentioned the option of adding languages to your app dynamically. With the metafile, it's pretty easy. You can download the metafile first and review all the contained files. Each file comes with a list of languages it's available in. You can collect all the languages by just traversing the files, and you can even include only languages in which important files are available.</p><p>For each language, you get additional information, such as English and localized names, whether it's RTL or LTR, plural formula (<a href="#plurals">described below</a>), etc. You can use them to render a beautiful language selector dynamically without storing any information hardcoded in your app. And, of course, you can also automatically preselect a language based on user preferences or based on language autodetection.</p><p>There's also the <code>baseLocale</code> property in the metafile, so you can automatically fall back to your project's source language if the user has no preferences stored and autodetection fails.</p><blockquote>And you can control all of this right from Localazy. It's not just a translation management system to translate texts: it can act as a control center for your app's localization.</blockquote><p>However, the logic described above is straightforward. Still, it would add any language defined on Localazy to your app, which may be undesirable behavior for languages that don't yet meet your quality criteria or those that are not yet fully translated (or translated to some minimal extent).</p><p>Luckily, two options allow you to solve that…</p><h3 id="localazy-as-a-control-center">Localazy as a control center <a class="markdownit-header-anchor" href="#localazy-as-a-control-center">🔗</a></h3><p>In Localazy, you can control what languages are exported. This option is known as enabled/disabled languages.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/11/image-1.png" class="kg-image" alt loading="lazy" width="1383" height="400" srcset="https://ghost.localazy.com/content/images/size/w600/2023/11/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/11/image-1.png 1000w, https://ghost.localazy.com/content/images/2023/11/image-1.png 1383w" sizes="(min-width: 720px) 720px"></figure><p>What's incredible is that disabled languages will still be available to translators, so you can keep improving them without exposing them to public audiences. Once they're ready to be used, you can just re-enable them, and they will be published and available to your app's users without any changes to the app's code.</p><p>This way, you can control available languages comfortably directly from Localazy. It's a perfect method for non-technical users, but it has a minor drawback. Since the setting is global, you can't easily have different sets of languages available in the development, staging, and production environments. If you don't release often, you can disable the languages before publishing the latest and promoting it to the staging/production phase. However, it's error-prone and needs an extra process.</p><p>If you don't need to have untranslated languages on testing/staging, it's the way to go. Built-in to Localazy and very comfortable with our UI.</p><h3 id="releases-with-limited-languages">Releases with limited languages <a class="markdownit-header-anchor" href="#releases-with-limited-languages">🔗</a></h3><p>Suppose you need different sets of languages available in development, staging, and production - for example, when some languages are not yet fully translated or the quality is not yet perfect, but you already need them available for testers -. In that case, you can use <a href="https://localazy.com/docs/cli/release-tags#merging-and-manipulating-tags" rel="noopener noreferrer">merging instead of promoting releases</a> through Localazy CLI.</p><p>The simple command below will merge the <code>latest</code> tag with itself (which effectively means processing it as is) but remove all the languages that are not listed in <code>--languages</code>. The result is stored as the <code>staging</code> tag.</p><pre><code>localazy merge --languages en,cs,de,fr,es --remove-unlisted-languages latest latest staging</code></pre><p>You can use the same approach to create the <code>production</code> tag if you need to limit the available languages further, or you can just promote <code>staging</code> to <code>production</code> (or versioned tags as described in Releases) when required.</p><h2 id="plurals">🤓 Plurals <a class="markdownit-header-anchor" href="#plurals">🔗</a></h2><p>The metafile in JavaScript and TypeScript versions has functions for resolving plural forms. For example, for the Czech language, the definition would be:</p><pre><code>"plural": (n) =&gt; { return (n===1) ? "one" : (n&gt;=2 &amp;&amp; n&lt;=4) ? "few" : "other"; }</code></pre><p>It accepts a number and returns the corresponding plural form based on the CLDR definition for integer numbers.</p><p>Plural functions help you with implementing fully dynamic localization controlled from Localazy. You don't need to learn the logic behind and hard-code the definition into your app; you would need to update it whenever you want to add a new language. When using the function directly from Localazy, you just add the language and get the function out of the box.</p><p>However, it's worth noting that since it's based on the CLDR definition, it may not be available for all languages (currently, it's 80+ most common languages). Hence, a reasonable default is an excellent way to go.</p><h2 id="limitations-and-solutions">🤔 Limitations & Solutions <a class="markdownit-header-anchor" href="#limitations-and-solutions">🔗</a></h2><h4 id="format-conversions-are-unavailable-but-there-is-a-solution">Format conversions are unavailable, but there is a solution!</h4><p>One of the most significant limitations of CDN is that files must be generated and placed on the storage from which they are available for worldwide distribution before the requests from your users start coming in. It's necessary to achieve the extremely low latency we strive for. Unfortunately, this disallows dynamic features, such as <a href="https://localazy.com/docs/general/format-conversions-feature">format conversions</a>,<strong> </strong>beloved by <a href="https://localazy.com/docs/cli/the-basics">CLI</a> users.</p><p>This limitation is very rare, as a unified format is usually used to deliver translations even across multiple platforms.</p><p>If you still need to deliver the same file in multiple formats over CDN, this can be easily achieved with our <a href="https://localazy.com/docs/general/export-aliases">export aliases</a>. Just export the desired keys to another file with a different format and voilá: you'll get that file on CDN as well!</p><h4 id="cache-invalidation-and-dev-environment">Cache invalidation and dev environment</h4><p>Another slight limitation is that, even with the invalidation requests we send to CDN, the changes may not be reflected immediately, and it typically takes up to 15 minutes before the updated files are available for download. It's not a production problem, but it may be a bit of a pain during development when you need to test rapid changes or on the CI/CD pipeline.</p><p>The recommended workaround is to serve the files from your local drive using a simple HTTP server to simulate the CDN. With one-liners such as Python 3's HTTP server (<code>python -m http.server</code>), it's actually a matter of minutes to write a script that copies the files to the correct structure and starts the server to simulate production CDN.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>I hope you got inspired to try the Localazy CDN now that you have learned about its possible applications. Maybe you have even developed some niche use cases on your own? Share your setup in the comments to inspire others!</p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/11/ultimate-localazy-CDN-guide.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy CLI Tips: Avoid uploading to the wrong project]]></title>
            <link>https://localazy.com/blog/cli-tips-avoid-uploading-to-the-wrong-project</link>
            <guid isPermaLink="false">cli-tips-avoid-uploading-to-the-wrong-project</guid>
            <pubDate>Sat, 18 Apr 2026 03:08:04 GMT</pubDate>
            <description><![CDATA[Managing multiple localization projects in collaboration with multiple team members can increase the likelihood of an incorrect upload. Learn how to avoid this entirely with the Localazy CLI!]]></description>
            <content:encoded><![CDATA[<p>Today, let's quickly look at one minor feature of our CLI that can be a lifesaver for complex scenarios with many projects.</p><p>Imagine that you have many different projects managed by many different people. That means a lot of read and write keys to be out there in active use. In such scenarios, it's common that a bad combination of keys is used for the project, leading to uploading files from one project to another and creating a bit of mess in your data.</p><h2 id="how-to-avoid-wrong-uploads">How to avoid wrong uploads? <a class="markdownit-header-anchor" href="#how-to-avoid-wrong-uploads">🔗</a></h2><p>It's simple! Only invoke Localazy CLI with a precisely defined project that is about to be updated. There's a command-line option <code>--project</code> for it. It expects you to provide a project slug or ID.</p><p>If you invoke our CLI like:</p><p><code>localazy upload --project my_project_1</code></p><p>You can be 100% sure that no other project will be affected. If the read and write keys don't match, Localazy will not process the request.</p><p>At this point, you may ask… if I need to carefully provide a specific parameter per project, why not be more careful with read and write keys? Well, the simple answer is readability. The project slug is a bit more readable than the cryptic keys.</p><p>And that's it for today! As you can see, we invest our time into small lifesavers - for us, CLI is not just a quick upload/download tool, so we can say that Localazy comes with "automation for developers." We are serious about our tools, which are an integral part of our vision.</p><h2 id="you-might-also-like">💖 You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><p>Read more articles related to team collaboration on our blog.</p><p><strong>📚</strong> <strong>Further reading:</strong></p><ul><li><a href="https://localazy.com/blog/art-of-frictionless-cooperation-for-digital-product-teams">Art Of Frictionless Cooperation For Digital Product Teams</a></li><li><a href="https://localazy.com/blog/figma-as-your-source-of-truth-the-new-approach-to-streamlining-localization">Figma as Your Source of Truth: The New Approach to Streamlining Localization</a><br></li></ul>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/11/wrong-project.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[12 principles of UX writing (with examples)]]></title>
            <link>https://localazy.com/blog/12-principles-of-ux-writing-with-examples</link>
            <guid isPermaLink="false">12-principles-of-ux-writing-with-examples</guid>
            <pubDate>Tue, 30 Jul 2024 12:22:42 GMT</pubDate>
            <description><![CDATA[If you care about retaining and serving your users well, you should care about how you convey your message to them. Learn how you can improve your microcopy to elevate your product's UX.]]></description>
            <content:encoded><![CDATA[<p>Whether you have a SaaS serving high technical users or a simple ticket-buying app, <a href="https://www.nngroup.com/articles/ux-writing-study-guide/"><strong>UX writing</strong></a> can help you get more clients to retain your current ones. And you can apply it without focusing on selling but rather on creating better experiences for users.</p><p>UX writing, or microcopy (we’ll refer to them interchangeably even though they’re slightly different), is how you can make this possible. However, achieving a level of good microcopy is difficult because, unlike other marketing copy, your purpose is not to persuade but rather to guide and explain, and maybe entertain a little.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/iStock-961742458.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/iStock-961742458.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/iStock-961742458.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/10/iStock-961742458.jpg 1600w, https://ghost.localazy.com/content/images/2023/10/iStock-961742458.jpg 2121w" sizes="(min-width: 720px) 720px"></figure><h2 id="what-is-ux-writing">💬 What is UX writing? <a class="markdownit-header-anchor" href="#what-is-ux-writing">🔗</a></h2><p>UX (User Experience) writing is the art of writing words that guide users through a digital product. It involves those little snippets of text you see in mobile apps, web apps, websites, and even short texts on digital kiosks like ATMs. </p><p>From the buttons and menu items you click to the error messages, notifications, and the instructions guiding you along the way, UX writing creates smooth digital conversations between your product and your users. </p><p>With this said, let’s have a look at how you can produce good UX writing that accomplishes all of this perfectly.</p><h2 id="12-principles-of-great-ux-writing">✍️ 12 principles of great UX writing <a class="markdownit-header-anchor" href="#12-principles-of-great-ux-writing">🔗</a></h2><p>We’ll explore the main principles of UX writing with tips and examples from real-life brands. Whether you’re a UX writer, someone trying to start a career in UX writing, or a product manager supervising the microcopy of a product, these will help you.</p><h3 id="1-make-it-usable">1. Make it usable <a class="markdownit-header-anchor" href="#1-make-it-usable">🔗</a></h3><p>Obvious. If you want to write exceptional copy for your digital product, you want to make sure it is written to make your product easily usable. What does this mean? This means that your customers will use the app so easily that they won’t have to ask customer support to navigate around it or avoid using the app altogether. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/AirBnB.jpg" class="kg-image" alt loading="lazy" width="780" height="634" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/AirBnB.jpg 600w, https://ghost.localazy.com/content/images/2023/09/AirBnB.jpg 780w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://econsultancy.com/15-marvellous-microcopy-examples-and-how-they-improve-ux/">Econsultancy</a></figcaption></figure><p>Usable UX writing is the core of a great user experience. Write with usability in mind rather than to sound smart. Prioritize functionality over beauty. <strong>Words have zero value if they present a beautiful digital product, but they don’t help users.</strong> That’s like having a car with no wheels. To produce usable copy, you need to know your customers closely through your surveys, usability metrics, and user tests.</p><h3 id="2-make-it-helpful">2. Make it helpful <a class="markdownit-header-anchor" href="#2-make-it-helpful">🔗</a></h3><p>For your UX writing to be usable, you need it to be logical and clear, but that’s just the first step. The next step is to make your copy helpful, providing useful bits of information that the users weren’t aware they needed. In short, <strong>helpful copy is not only accurate and clear, but it offers additional help.  </strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/Helpful.jpg" class="kg-image" alt loading="lazy" width="800" height="733" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Helpful.jpg 600w, https://ghost.localazy.com/content/images/2023/09/Helpful.jpg 800w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://goodmicrocopy.com/post/166058854338/when-the-customer-service-staff-arent-online">Good Microcopy</a></figcaption></figure><p>The best way to produce helpful UX writing is by focusing on both the functionality of your app and broader user goals. What are they trying to accomplish with the app, and what extra info would help them?</p><h3 id="3-make-it-accessible">3. Make it accessible <a class="markdownit-header-anchor" href="#3-make-it-accessible">🔗</a></h3><p>When talking about accessible UX writing, we’re talking about producing microcopy that is accessible to people with disabilities. What this actually entails is making the texts simple to understand, which benefits not only those with disabilities but every single user. While you might think there aren’t many people in this group, people with disabilities make up <a href="https://www.who.int/news-room/fact-sheets/detail/disability-and-health#:~:text=Key%20facts,earlier%20than%20those%20without%20disabilities.">16%</a> of the world’s population (1.3 billion people).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/Accessible.png" class="kg-image" alt loading="lazy" width="1222" height="834" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Accessible.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Accessible.png 1000w, https://ghost.localazy.com/content/images/2023/09/Accessible.png 1222w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://www.transformcommunications.co.uk/post/what-is-microcopy-and-why-do-marketers-need-to-know-about-it">Transform Communications</a></figcaption></figure><p>Now, the question that pops up is: <strong>how do you make your writing more accessible? </strong>A common scenario involves people with vision problems. They will use a screen reader to understand what’s on their screen. So, some simple guidelines you should follow to serve them better are: avoid clever words, don’t place explanatory text under confirmation buttons, and provide ALT descriptions for every image or icon.</p><blockquote><strong>Related: </strong><a href="https://localazy.com/blog/agile-localization-for-ux-the-localazy-figma-plugin-changes-the-game"><strong>Agile localization for UX: The Localazy Figma plugin changes the game</strong></a></blockquote><h3 id="4-make-it-clear">4. Make it clear <a class="markdownit-header-anchor" href="#4-make-it-clear">🔗</a></h3><p>This is a no-brainer, but writers do sometimes forget that clarity is primal for good microcopy. In contrast to copywriting, where you hold people’s attention and compel them to read until the end using clever metaphors and catchy language, in UX writing, <strong>your task is to guide instead of compelling. Users are already clients. </strong></p><p>If your copy isn't clear, it can’t be helpful, usable, or accessible. So when producing it, keep in mind the age of your users, their context, and if they can understand it just by reading it once. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/Clear-Microcopy.jpg" class="kg-image" alt loading="lazy" width="1280" height="872" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Clear-Microcopy.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Clear-Microcopy.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Clear-Microcopy.jpg 1280w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://goodmicrocopy.com/post/179767505410/having-clearly-worded-options-can-make-even-the">Good Microcopy</a></figcaption></figure><p>Imagine that they’re hurrying while going through your product and that they need to make a decision fast. When you start revising your writing, ask yourself these questions: </p><ul><li>Is this clear for the oldest and the youngest user of my user base?</li><li>Is this clear for someone who’s never used this interface?</li><li>Is this clear for someone using the product in a rush?</li></ul><h3 id="5-make-it-appropriate">5. Make it appropriate <a class="markdownit-header-anchor" href="#5-make-it-appropriate">🔗</a></h3><p>While being clear and understood is important, being appropriate is also crucial. If your microcopy is not appropriate to the cultural connotations of your audience, you’ll confuse them and even make them hate you. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/Compliant.jpg" class="kg-image" alt loading="lazy" width="960" height="600" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Compliant.jpg 600w, https://ghost.localazy.com/content/images/2023/09/Compliant.jpg 960w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://technicalwriterhq.com/writing/ux-writing/ux-writing-examples/">Technical Writer HQ</a></figcaption></figure><p>Here are some elements that make your UX writing appropriate: </p><ul><li><strong>Respecting cultural sensitivity.</strong> Keep the cultural background of your users in mind. Will they be offended by your humor or word choice or not?</li><li><strong>Be inclusive. </strong>Make your writing inclusive by speaking to users with different abilities, ethnicities, and gender orientations.</li><li><strong>Comply with legal regulations.</strong> Consult a legal expert before you pass your microcopy to the next step to ensure you comply with GDPR/CCPA and other regulations that apply to your user base location. </li></ul><p>Appropriate microcopy isn’t necessarily short or long. Sometimes you can cut down a 10-word sentence into 3 words, but sometimes longer sentences are better for explaining a feature more clearly. Also, <strong>your tone of voice makes a big difference.</strong> For example, you’ll need to use a different tone of voice when writing an error message versus when writing a confirmation message.</p><h3 id="6-use-the-active-voice">6. Use the active voice <a class="markdownit-header-anchor" href="#6-use-the-active-voice">🔗</a></h3><p>When you use the active voice in your microcopy, the user knows clearly what needs to be done. The interface is made for the user to take action on it, and the active voice prompts this. It gives your writing more life and makes it more impactful and meaningful for the user. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/Active-Voice.jpg" class="kg-image" alt loading="lazy" width="766" height="430" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Active-Voice.jpg 600w, https://ghost.localazy.com/content/images/2023/09/Active-Voice.jpg 766w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://uxtools.co/blog/7-practical-tips-for-better-microcopy/">UX Tools</a></figcaption></figure><p>While there are some exceptions in cases when the action is more important than the person who does it, in other cases, <strong>writing in the active voice is the best approach.</strong></p><h3 id="7-write-positively">7. Write positively <a class="markdownit-header-anchor" href="#7-write-positively">🔗</a></h3><p>You have to instruct users on what they should do and what they should avoid when writing a description, button text, or another UX writing element. To infuse positive emotions and create a positive experience, <strong>focus on the affirmative sentences.</strong> Avoid starting your sentences with negative phrases such as: </p><ul><li>“Unfortunately…”</li><li>“We can’t…”</li><li>“Don’t…”</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/Positive.jpg" class="kg-image" alt loading="lazy" width="1114" height="272" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Positive.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Positive.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Positive.jpg 1114w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://uxplanet.org/how-to-write-good-error-messages-858e4551cd4">UX Planet</a></figcaption></figure><p>Unless it’s a critical step that leads to a financial loss or deletion of critical data, it’s best to rephrase your sentences in a positive tone. Plus, even in these scenarios, when using positive language, you don’t use fear to push users to take action.</p><h3 id="8-be-concise">8. Be concise <a class="markdownit-header-anchor" href="#8-be-concise">🔗</a></h3><p>If you have a content writing background or any other background where long-form writing is the norm, you have to shift your mindset. UX writing is all about brevity and conciseness. Hitting a high word count is almost never the issue with UX writing. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/Concise.png" class="kg-image" alt loading="lazy" width="1600" height="1200" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Concise.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Concise.png 1000w, https://ghost.localazy.com/content/images/2023/09/Concise.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Source<strong>:</strong> <a href="https://www.halo-lab.com/blog/good-ux-writing-examples">Halo Lab</a></figcaption></figure><p>Get rid of the complicated jargon and lengthy sentences. <strong>Every sentence should be written with action in mind.</strong> If it’s not helping or guiding your users, you better delete it. In an age of robotic and AI writing, write authentically. Use metaphors, figures of speech, and even humor to make your point, but without compromising clarity.</p><h3 id="9-perform-constant-ab-testing">9. Perform constant A/B testing <a class="markdownit-header-anchor" href="#9-perform-constant-ab-testing">🔗</a></h3><p>A lot of research and testing goes into building user interfaces both in terms of design and microcopy. <strong>A/B testing is a crucial phase</strong> to help you understand what elements prompt users to take action and use your app/software/interface. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/A-B-testing.jpg" class="kg-image" alt loading="lazy" width="1031" height="640" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/A-B-testing.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/A-B-testing.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/A-B-testing.jpg 1031w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://app.uxcel.com/courses/ux-writing/testing-061">Uxcel</a></figcaption></figure><p>Remember that <strong>what sounds well-written and clear to you might be unclear and confusing for the users. </strong>Running several tests will help you find the copy that works best for you. You’ll understand if your copy is too sales-driven, unnatural, or confusing, and write a better version of it by relying on A/B testing. Another way to speed up the A/B testing process is to use websites like Usertesting.</p><h3 id="10-keep-brand-voice-and-tone-consistent">10. Keep brand voice and tone consistent <a class="markdownit-header-anchor" href="#10-keep-brand-voice-and-tone-consistent">🔗</a></h3><p>Brands resemble people. They have their own personality and communicate through their website copy, social media, or any other digital channel. <strong>Now, brand voice and tone are two entirely different things. </strong>The tone of your brand varies on the emotional state you’re triggering with your microcopy. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/Brand-voice.jpg" class="kg-image" alt loading="lazy" width="1280" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Brand-voice.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Brand-voice.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Brand-voice.jpg 1280w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://goodmicrocopy.com/post/178164281471/success-screens-provide-feedback-to-let-you-know">Good Microcopy</a></figcaption></figure><p>Both are important, and you need to learn how to be consistent in their use. If you are not consistent and alternate your tone or voice randomly, users will be confused and might eventually stop using your digital products.</p><h3 id="11-use-action-oriented-language">11. Use action-oriented language <a class="markdownit-header-anchor" href="#11-use-action-oriented-language">🔗</a></h3><p>UX writing is all about action. <strong>Your main goal is to encourage users to take action throughout their experience. </strong>To achieve this, the language you use needs to be action-oriented. A no-brainer rule for writing action-oriented copy is to always start with a positive compliment before you ask the user to do something.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/Action-oriented.png" class="kg-image" alt loading="lazy" width="1600" height="1200" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Action-oriented.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Action-oriented.png 1000w, https://ghost.localazy.com/content/images/2023/09/Action-oriented.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Source<strong>:</strong> <a href="https://www.halo-lab.com/blog/good-ux-writing-examples">Halo Lab</a></figcaption></figure><p>Let’s not forget that action-oriented language also occupies less screen space, which makes it mobile-friendly and more usable. Customers feel more in charge of the product they’re using when you use action-oriented language. Plus, it also makes it easy for them to understand what they should be doing, lowering their cognitive load.</p><h3 id="12-maintain-contextual-relevance">12. Maintain contextual relevance <a class="markdownit-header-anchor" href="#12-maintain-contextual-relevance">🔗</a></h3><p>This last principle focuses on making your microcopy easy to localize and translate into other languages. <strong>Localization and UX writing are closely intertwined because they’re the basis of a good user experience, </strong>especially when your website serves an audience in multiple locations. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/buymeacoffee-microcopy-2.png" class="kg-image" alt loading="lazy" width="720" height="565" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/buymeacoffee-microcopy-2.png 600w, https://ghost.localazy.com/content/images/2023/09/buymeacoffee-microcopy-2.png 720w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://review.content-science.com/microcopy-a-definition-examples-and-tips/">Content Science Review</a></figcaption></figure><p>After polishing your copy, and making it ready to send to the localization team, <strong>make sure you’re providing relevant context</strong> for them to localize it properly. Some things to keep in mind during this process to make sure your microcopy is translated properly: </p><ul><li>Send clear screenshots of the text that is to be translated.</li><li>Outline the main idea behind your copy and what you’re trying to accomplish.</li><li>When you’re sending an error/success message for a localization check, make sure you send a screenshot of the button that’s clicked before the message shows.</li></ul><h2 id="final-thoughts">📌 Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>UX writing is challenging but rewarding. As a writer, you don’t have to focus on employing copywriting tactics to compel users. <strong>Your focus is on providing guidance.</strong> This means you can be funny, entertaining, and straightforward (to the extent your brand allows) for as long as your copy checks all the traits we mentioned.</p><p>At Localazy, improving UX is our business. After helping thousands of companies reach multilingual audiences with our localization platform, we know how important UX is. If your team is looking for a continuous localization platform and TMS, we’re <a href="https://localazy.com/">here</a>.</p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/10/localazy-UX-series-1-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Updates to Localazy plans and pricing coming in 2024]]></title>
            <link>https://localazy.com/blog/updates-to-localazy-plans-and-pricing-coming-in-2024</link>
            <guid isPermaLink="false">updates-to-localazy-plans-and-pricing-coming-in-2024</guid>
            <pubDate>Thu, 20 Mar 2025 09:40:33 GMT</pubDate>
            <description><![CDATA[Localazy has come a long way since its beginning in 2020, and the time has come to reorganize our subscription plans and bring popular features to more of our users. Learn about the improvements we are bringing to our pricing tiers in 2024 and how the changes will affect your current subscription.]]></description>
            <content:encoded><![CDATA[<p>From the initial focus on <a href="/android">Android</a> app localization and strong developer focus, the platform has evolved into a fully featured and highly automated localization solution for all needs.</p><p>Now, Localazy offers multiple maintained plugins and official <a href="/integrations">integrations</a> for popular third-party platforms and tools, <a href="https://localazy.com/term/professional-translation-services">professional translation services</a>, and dedicated infrastructure for <a href="https://localazy.com/features/language-cdn">translation delivery</a>. While we were adding new features and integrations, the pricing has stayed the same and no longer reflects the developments we have undertaken. That's why we are introducing improvements to our plans and pricing that will be effective from the new year.</p><blockquote>📅 <strong>The new pricing will be effective from January 2024</strong></blockquote><h2 id="our-vision-and-values-are-not-changing">🧭 Our vision and values are not changing <a class="markdownit-header-anchor" href="#our-vision-and-values-are-not-changing">🔗</a></h2><p>Since the beginning, we have promised ourselves that we want to keep the pricing as transparent as possible and keep <a href="https://localazy.com/tiers/free">all essential features free</a> for everyone, including the <a href="https://localazy.com/dictionary/machine-translation">machine translation</a>. </p><p>Our mission is to help break language barriers, so forget about us limiting the number of languages you can translate. Customers also shouldn't be restricted by the number of users they invite to help or the number of words they translate each month. The reason to upgrade should be driven by the volume of source texts and/or improved features you want to utilize to streamline your workflow. This has been true since the beginning, and it will stay the same as long as it is sustainable.</p><h3 id="pricing-remains-transparent">Pricing remains transparent <a class="markdownit-header-anchor" href="#pricing-remains-transparent">🔗</a></h3><p>With Localazy, you know how much you are paying each month. You also immediately know which tier you need based on the source key limit or the desired set of features that you need to achieve your goals.</p><h3 id="7-day-trial-for-all-plans">7-day trial for all plans <a class="markdownit-header-anchor" href="#7-day-trial-for-all-plans">🔗</a></h3><p>All paid plans come with a <strong>7-day trial period</strong> that allows you to try everything before you commit. We understand that complex applications take more time to set up and test, especially if you need multiple teams to cooperate on your localization projects, so if you need more days, you can contact our support and ask for a prolonged period.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">❗</div><div class="kg-callout-text">The trial model has been updated since this article was published. Learn more: <a href="https://localazy.com/blog/introducing-a-new-trial-model">Introducing a new 14-day trial model</a></div></div><h3 id="unlimited-seats-projects-languages-and-words">Unlimited seats, projects, languages & words <a class="markdownit-header-anchor" href="#unlimited-seats-projects-languages-and-words">🔗</a></h3><p>You might have heard or even experienced horror stories about adding seats and being surprisingly billed way more than expected by some companies. (Looking at you, <a href="https://forum.figma.com/t/adding-editors-is-costly-and-misleading/28216" rel="noopener noreferrer">Figma</a> 😕)</p><p>We don't want to go this way. That's why all Localazy plans, including the Free tier, have <strong>unlimited seats for users</strong>. Localazy is used not only by big businesses but also by community-driven projects that are open for everyone to help translate their favorite app or open-source software. We also don't limit the number of translation projects you can manage with Localazy, the number of languages you can add to each project, and the number of words you can translate with our tools.</p><h3 id="essential-features-for-free-including-machine-translation">Essential Features for free, including machine translation <a class="markdownit-header-anchor" href="#essential-features-for-free-including-machine-translation">🔗</a></h3><p>Review, <a href="https://localazy.com/docs/general/how-to-define-your-glossary">Glossary</a>, and machine translation suggestions remain included in the Free tier. If you want to translate your hobby project with a hundred strings, you don't have to pay anything and keep managing it with Localazy until it grows over 200 managed source strings (source keys). To help you, we also offer our <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a> and Amazon Translate suggestions for free.</p><h3 id="choose-your-integration-method-regardless-of-your-plan">Choose your integration method regardless of your plan <a class="markdownit-header-anchor" href="#choose-your-integration-method-regardless-of-your-plan">🔗</a></h3><p>Anyone can use our <a href="https://localazy.com/features/cli">Command Line Interface</a>, <a href="https://localazy.com/features/translation-api">API</a>, and mobile SDKs. You can upload any supported localizable files without any restrictions using any of the methods above or simply drag and drop them into the file upload area inside the web platform.</p><h3 id="translation-services-and-translation-delivery-for-everyone">Translation services and translation delivery for everyone <a class="markdownit-header-anchor" href="#translation-services-and-translation-delivery-for-everyone">🔗</a></h3><p>Our <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization Team</a> is here for everyone to help them translate their project professionally. All users can also set up Localazy CDN or OTA updates regardless of their tier. These services are billed separately, and there is no reason to restrict them.</p><h3 id="no-mt-engine-usage-restriction-within-fair-use">No MT engine usage restriction within fair use <a class="markdownit-header-anchor" href="#no-mt-engine-usage-restriction-within-fair-use">🔗</a></h3><p>All of our plans come with machine translation. Some plans have more engines available or unlock the automation of their usage, but the volume is always unrestricted within <a href="https://localazy.com/terms-and-conditions#fair-use-policy-for-machine-translation">fair use</a>. You can translate your content without any concern of being charged more for overcoming some threshold.</p><blockquote>Update March 2025: <a href="https://localazy.com/terms-and-conditions#fair-use-policy-for-machine-translation">Fair-use limits on MT apply</a></blockquote><h3 id="helpful-support-for-everyone">Helpful support for everyone <a class="markdownit-header-anchor" href="#helpful-support-for-everyone">🔗</a></h3><p>Our support is here for everyone. We can't promise to solve all your queries quickly, but you can rely on our team. We frequently implement reasonable requests and always strive to answer immediately. Our satisfaction ratio is <strong>more than 90%,</strong> and it is something we are very proud of! 😊</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/image-3.png" class="kg-image" alt loading="lazy" width="2000" height="367" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/image-3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/10/image-3.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/10/image-3.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="we-listen-to-your-feedback">We listen to your feedback <a class="markdownit-header-anchor" href="#we-listen-to-your-feedback">🔗</a></h3><p>You are helping us shape our platform the most! Over the years, <a href="https://localazy.com/tags/release-update">many features were added based on our users' feedback</a>, and this is not going to change. Our team has had hundreds of feedback calls with customers worldwide, and we are always looking forward to hearing your opinions.</p><h2 id="new-tiers-in-detail">🤩 New tiers in detail <a class="markdownit-header-anchor" href="#new-tiers-in-detail">🔗</a></h2><p>Let's have a look at the new tiers coming in 2024. All prices listed below apply with annual billing unless stated otherwise.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Illustration-2.png" class="kg-image" alt loading="lazy" width="721" height="305" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/Illustration-2.png 600w, https://ghost.localazy.com/content/images/2023/10/Illustration-2.png 721w" sizes="(min-width: 720px) 720px"></figure><p>We will not just raise our prices, blame it on global inflation, and call it a day. Yes, the plans and their pricing will change, but we will not limit any of you by removing features from your tiers. Quite the opposite!</p><p>To improve our pricing transparency and help you choose the perfect plan for you more quickly, we had to reflect on each plan's features and the feedback we have received. For example, the previous Professional plan had only a few features and lacked the most popular, which is <a href="https://localazy.com/features/pre-translate">MT pre-translate</a>. Now, each plan has a clearer positioning and features tailored to its intended use case.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Tier-card-1-2.png" class="kg-image" alt loading="lazy" width="481" height="145"></figure><h3 id="the-free-tier-is-here-to-stay">The Free tier is here to stay <a class="markdownit-header-anchor" href="#the-free-tier-is-here-to-stay">🔗</a></h3><p>As mentioned above, we are not changing our Free tier. The Free tier is going to remain the gateway to the world of localization for everyone. It is ideal for hobby projects and proofs of concepts.</p><h4 id="heres-what-you-get-for-free">Here's what you get for free</h4><ul><li>200 managed source keys</li><li>Unlimited seats, projects, words, and languages</li><li><strong>ShareTM</strong>: our community translation suggestions</li><li><strong>Amazon Translate</strong> suggestions</li><li><strong>Glossary</strong></li><li>API, CLI, and SDKs for file upload/download</li></ul><blockquote><a href="/register">Sign up for free</a> and try Localazy now</blockquote><hr><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Tier-card-2-2.png" class="kg-image" alt loading="lazy" width="481" height="145"></figure><h3 id="boosted-professional-plan">Boosted Professional plan <a class="markdownit-header-anchor" href="#boosted-professional-plan">🔗</a></h3><p>The new Professional plan is getting a significant upgrade. The Professional plan is suitable mainly for small projects and growing startups wanting to get translations done quickly. The purpose of this tier is to cover the essential localization needs of your project comfortably. It includes batch MT pre-translate, <a href="https://localazy.com/features/context-screenshots-ocr">screenshots</a>, and all the necessary tools to make Localazy a valuable tool in your stack.</p><h4 id="features-and-benefits">Features and Benefits</h4><ul><li><strong>Up to 2,500 managed source keys</strong></li><li><strong>Google Translate</strong>: available in machine translation suggestions and pre-translate.</li><li><strong>Pre-translate with MT</strong>: Choose Amazon or Google Translate and apply MT in bulk.</li><li><strong>Screenshots</strong>: Upload screenshots that will help your translators with context during translation. OCR technology will help you link texts on the screenshots with your source keys.</li><li><strong>Custom Plurals:</strong> - define custom plurals for any language in your project and avoid compatibility issues with your i18n solution</li><li><strong>Multiplatform Development</strong>: Convert files from one format to another and reuse translations across your platforms. Ideal for streamlined localization of iOS and Android versions of the same app.</li><li><strong>Translation Sharing: </strong>Share translations, glossary terms, and screenshots across connected projects to save time on translation. Ideal for a portfolio of apps that share some common strings.</li><li><strong>Release Versions</strong>: Create release versions of your project to keep strings in development from reaching production or testing.</li></ul><p>The new Professional plan comes with three levels of source key limits to choose from as your project grows, and we are increasing the limit on each level by 500 keys.</p><h4 id="prices-of-the-new-professional-plan">Prices of the new Professional plan</h4><ul><li>1,000 keys (formerly 500) start at $33/month</li><li>1,500 keys (formerly 1,000) start at $41/month</li><li>2,500 keys (formerly 2,000) start at $58/month</li></ul><hr><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Tier-card-3-2.png" class="kg-image" alt loading="lazy" width="481" height="145"></figure><h3 id="making-autopilot-great-again">Making Autopilot Great Again <a class="markdownit-header-anchor" href="#making-autopilot-great-again">🔗</a></h3><p>The name Autopilot suggests that by choosing this plan, you can set up automated translations and focus on building your product. And because we want Autopilot to remain the number one choice for SMBs and growing startups who wish to automate their translation workflow, it also needs a facelift.</p><p>So now, while a lot of features formerly in Autopilot will be available in the Professional plan, we are making the Autopilot plan great again, and the name will make more sense than ever.</p><p>We have two strong arguments for it: <strong>Automation and Integrations</strong>. Automation Features allow you to save time and set up workflows that align with your translation and deployment process. With Autopilot Integrations, you can easily connect popular third-party services such as content management systems (<a href="https://localazy.com/features/strapi-localization-plugin">Strapi</a>, Storyblok, etc.), design platforms (<a href="https://localazy.com/features/figma-localization-plugin">Figma</a>), or customer service solutions (<a href="https://localazy.com/docs/intercom/intercom-installation">Intercom</a>) with official plugins.</p><blockquote>On top of that, we are introducing the Localazy AI, which will allow you to tap into the power of ChatGPT for localization, text transformation, and more.</blockquote><h4 id="features-and-benefits-1">Features and Benefits</h4><ul><li><strong>Up to 7,500 managed source keys</strong></li><li><strong>Automated Workflows</strong> - Automate repetitive tasks per project and language to streamline your localization processes further.</li><li><strong>Auto MT pre-translate</strong> - Automatically translate new or changing content with popular machine translation engines.</li><li><strong>DeepL &amp; OpenAI translations</strong> - Get access to leading MT providers </li><li><strong>Figma Screenshots</strong> - Automatically create, upload, and link screenshots from Figma to your texts in Localazy.</li><li><strong>Webhooks</strong> - A simple way to set up actions or notifications based on triggers and events in your Localazy project.</li><li><strong>All official Integrations without restriction - </strong>Connect to your favorite third-party platforms in a few clicks with our plugins and integrations and automate the localization of your content</li></ul><h4 id="coming-in-november-localazy-ai">Coming in November: Localazy AI</h4><p>The hype and controversy around AI translation made us think twice before deciding to introduce OpenAI integration. But here it comes! 🥳 </p><p>It won't be just another AI assistant that requires you to prompt the AI every single time you need it. You'll be able to use it inside your workflows automatically with useful features such as sentiment analysis and more. Stay tuned!</p><h4 id="prices-of-the-new-autopilot-plan">Prices of the new Autopilot plan:</h4><ul><li>3,500 keys start at $74/month</li><li>5,000 keys start at $99/month</li><li>7,500 keys start at $133/month</li></ul><hr><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Tier-card-4-2.png" class="kg-image" alt loading="lazy" width="481" height="145"></figure><h3 id="renaming-agency-plan-to-business">Renaming Agency plan to Business <a class="markdownit-header-anchor" href="#renaming-agency-plan-to-business">🔗</a></h3><p>The most feature-packed plan that we are now calling <strong>Agency will be renamed to Business </strong>to simplify decision-making and improve the communication of the plan's positioning. You will surely get used to this cosmetic change quickly! 😅</p><p>The Business tier is meant to stay the ultimate self-service localization solution. That's why we are progressively increasing the source key limits for each additional plan level. You will be able to <strong>manage up to 100,000 source keys</strong> while staying on the Business tier (that's 70,000 more than is possible now without opting for Enterprise!). You will also be able to set up Single Sign-On on your own, and most importantly, you will receive all future updates and features coming to the platform!</p><h4 id="features-and-benefits-2">Features and Benefits</h4><ul><li><strong>Up to 100,000 managed source keys!</strong></li><li><strong>Duplicity Resolving: </strong>Link duplicate content together and translate it only once while staying in control of its meaning and purpose, and benefit from our automated key clustering feature.</li><li><strong>Branching: </strong>Maintain several branches of your project to collaborate without conflicting changes.</li><li><strong>File &amp; Key Aliases: </strong>Export your keys under multiple names and into various files without a complicated setup.</li><li><strong>Language Permissions: </strong>Allow access only to the languages you want your contributors to translate.</li><li><strong>Reporting: </strong>Learn how your translators perform and get an overview of your language stats at a glance.</li><li><strong>Single Sign On: </strong>Set up SAML-based SSO for your whole organization to ensure a secure authentication with Localazy.</li><li><strong>CSV Export / Import: </strong>Hand off your translation project to an external supplier who is too stubborn to switch to Localazy and upload their work back in a few clicks.</li><li><strong>Secret Projects: </strong>Hide your Localazy projects from the public altogether.</li></ul><h4 id="coming-soon">Coming soon</h4><p>These features are currently on our roadmap and should become available in 2024. Make sure to read our Release Updates to stay in the loop!</p><ul><li><strong>Style Guides: </strong>Prepare a style guide for your project to ensure consistent translations.</li><li><strong>Tags &amp; Tasks:</strong> Tag translations and create tasks for your team based on filters.</li><li><strong>Teams &amp; Extended Permissions: </strong>Assign granular permissions to your users and group them into teams for more controlled user management.</li></ul><h4 id="prices-of-the-new-business-plan">Prices of the new Business plan</h4><ul><li>10,000 keys start at $166/month</li><li>25,000 keys <em>(formerly 20,000)</em> start at $249/month</li><li>50,000 keys <em>(formerly 30,000)</em> start at $333/month</li><li>100,000 keys <em>(formerly not available)</em> start at $416/month</li></ul><hr><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Tier-card-5-2.png" class="kg-image" alt loading="lazy" width="481" height="145"></figure><h3 id="keeping-enterprise-special">Keeping Enterprise special <a class="markdownit-header-anchor" href="#keeping-enterprise-special">🔗</a></h3><p>No project or ecosystem of projects is too big for Localazy. The Enterprise tier is here for everyone who needs to manage and translate a high volume of texts and those looking for assistance with localization, navigating complex translation workflows, and additional services. <a href="/contact">Contact us</a> to discuss your requirements, and allow us to help you grow your global presence!</p><h4 id="features-and-benefits-3">Features and Benefits</h4><ul><li><strong>Custom Source key limit</strong></li><li><strong>High-Volume Translation Services: </strong>Enlist a dedicated team of translators for your projects and get volume discounts for large-scale projects.</li><li><strong>SLA / Priority Support: </strong>You can rely on our team to provide outstanding service, and rest assured that our support team will help you answer all questions. We can sign for that.</li><li><strong>Dedicated Localization Manager: </strong>Get a PRINCE2-certified localization manager to help you deliver high-quality translations.</li><li><strong>Initial Setup &amp; Configuration: </strong>Save your valuable time and allow us to help you with the initial setup.</li><li><strong>Custom Integration Development: </strong>Integrating all of your systems will be a breeze for our developers.</li><li><strong>Custom Locales: </strong>Use custom locales without workarounds.</li><li><strong>Backup &amp; Restore: </strong>Ask for frequent backups of your projects and sleep soundly, knowing that any accident can be undone!</li><li><strong>Audit Logs: </strong>Get a detailed insight into all actions that happen inside your projects.</li></ul><blockquote>Get a tailored set of services with Localazy Enterprise. <a href="/contact">Contact us now</a>.</blockquote><h3 id="tldr">TL;DR: <a class="markdownit-header-anchor" href="#tldr">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/image-17.png" class="kg-image" alt loading="lazy" width="2000" height="1375" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/image-17.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/10/image-17.png 1600w, https://ghost.localazy.com/content/images/2023/10/image-17.png 2400w" sizes="(min-width: 720px) 720px"></figure><!--kg-card-begin: html--><a href="https://localazy.com/_ipx/f_webp,q_85/https://ghost.localazy.com/content/images/2023/10/image-17.png" target="_blank">Click here to open the image in a new window.</a><!--kg-card-end: html--><h2 id="what-about-my-current-subscription">🥺 What about my current subscription? <a class="markdownit-header-anchor" href="#what-about-my-current-subscription">🔗</a></h2><p>As mentioned above, the new pricing will come into effect on January 1st, 2024.</p><p>New customers can purchase the updated plans immediately after the release goes live in January. Current customers will be migrated to new plans according to the timeline below.</p><h3 id="transition-to-new-plans">Transition to new plans <a class="markdownit-header-anchor" href="#transition-to-new-plans">🔗</a></h3><p>As a current customer, your account will be upgraded to the new plan during the first weeks of January 2024, and your organization will have access to all features of the <strong>new plan for the old</strong> <strong>price you are used to paying</strong>. If applicable, in the case of Professional and Business (formerly Agency) plans, you will also get a <strong>boost in your source key limit</strong> according to the level of the plan you are on.</p><p>For the following 3 months, you can do a test run of your new plan and decide if you wish to continue with the new set of features. Then, during the first week of April, you will start paying the new price for your plan.</p><p>There is no action needed from you if you are happy with the changes. You will also receive several notifications during the course of the first quarter of 2024 to make sure you stay informed about what is going to happen to your subscription. If you find out that you would like to make some adjustments, feel free to contact us by chat or e-mail.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/timeline-3.png" class="kg-image" alt loading="lazy" width="382" height="430"></figure><h3 id="annual-plans">Annual plans <a class="markdownit-header-anchor" href="#annual-plans">🔗</a></h3><p>If you are on the annual plan and it is set to renew during the transition period, your plan will renew for the old price. For customers whose plans will renew after 1st April 2024, new prices are going to apply.</p><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>You can look forward to more useful features in the coming months, and you can rely on our team to improve your experience. Please help us in keeping Localazy your favorite localization platform, and tell us your opinions in the comments below!</p><h2 id="faq">💬 FAQ <a class="markdownit-header-anchor" href="#faq">🔗</a></h2><h3 id="i-need-help-understanding-something-about-the-new-pricing-where-do-i-get-help">I need help understanding something about the new pricing. Where do I get help? <a class="markdownit-header-anchor" href="#i-need-help-understanding-something-about-the-new-pricing-where-do-i-get-help">🔗</a></h3><p>Please feel free to <a href="/contact">contact us</a>. You will get all questions answered, and we will do our best to help you understand the changes and undergo a painless transition.</p><h3 id="i-am-on-a-nonprofit-plan-and-need-help-to-afford-the-new-plan-what-now">I am on a nonprofit plan and need help to afford the new plan. What now? <a class="markdownit-header-anchor" href="#i-am-on-a-nonprofit-plan-and-need-help-to-afford-the-new-plan-what-now">🔗</a></h3><p>Please <a href="/contact">contact us</a>; we will find a way to help each other.</p><h3 id="the-prices-will-take-quite-a-leap-why">The prices will take quite a leap. Why? <a class="markdownit-header-anchor" href="#the-prices-will-take-quite-a-leap-why">🔗</a></h3><p>You are about to get more value and features from the new plans. The old pricing that was in effect for over two years also, in part, reflected the fact that the platform was still under heavy development. Localazy is now a mature solution with proper certifications coming soon. We have also almost doubled our team to ensure everything works smoothly and customer feedback is implemented quickly. That comes with a price we believe is fair for both parties — people who take care of the platform and clients who value the reliability of critical solutions for their international business.</p><h3 id="i-am-just-not-ready-to-pay-the-new-price-what-now">I am just not ready to pay the new price. What now? <a class="markdownit-header-anchor" href="#i-am-just-not-ready-to-pay-the-new-price-what-now">🔗</a></h3><p>There is a transition period of three months to help you try the new features before the new prices apply to your account. We've carefully planned the changes so that in most use cases, you can also downgrade &amp; stay on the similar pricepoint you've been used to. If the coming changes materially impact your business, <a href="/contact">please get in touch with us</a>, and we'll work something out. </p><h3 id="what-about-the-translation-credits-that-were-complimentary-for-the-annual-plans">What about the translation credits that were complimentary for the annual plans? <a class="markdownit-header-anchor" href="#what-about-the-translation-credits-that-were-complimentary-for-the-annual-plans">🔗</a></h3><p>Starting in 2024, the credits will no longer be added to your balance with each plan renewal. To improve our services and compensate our hard-working translators fairly, we can no longer give out free credits. Keep an eye out for our <a href="https://localazy.com/tags/locales">language of the month discounts</a> to save on professional translations. Contact us if you want to be notified in advance about what is going to be the next discounted language!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/10/Update-pricing-plans-DARK.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How GIST helped the Localazy team track progress & thrive]]></title>
            <link>https://localazy.com/blog/localazy-a-gist-powered-company</link>
            <guid isPermaLink="false">localazy-a-gist-powered-company</guid>
            <pubDate>Sat, 16 Aug 2025 13:00:57 GMT</pubDate>
            <description><![CDATA[Does producing good ideas that suit your customer needs and following up with them without excessive management overhead sound like a dream? It isn't: it's called GIST planning. Here's how Localazy has adopted this business framework.]]></description>
            <content:encoded><![CDATA[<p>Every entrepreneur knows that creating a successful business model is very much trial and error. You can have great ideas and innovative solutions, sure - but it really boils down to how you put them in motion. ⚙️ And that's where the long-winded path of finding the perfect work management system starts. </p><p>Picking ideas with the most significant impact on our users and making them actionable via our small agile-based crew was initially easy for us. But when Localazy <a href="https://localazy.com/blog/localazy-secures-eu1m-to-remove-language-barriers-for-1-billion-people-worldwide-in-new-investment-round">started to pick up pace and grow</a>, managing <a href="https://localazy.com/blog/bridging-the-gap-with-localazy-2">an increasing remote team</a> and an ever-flowing sea of customer input turned difficult. We needed a tool to make the right decisions faster, simpler, and better. </p><p>An Itamar Gilad's <a href="https://itamargilad.com/gist-framework/">article</a> on GIST and his subsequent book, "<a href="https://itamargilad.com/book-evidence-guided/">Evidence-Guided</a>" -which just launched in September- was the spark that led us to a framework that has transformed how we work for the better. 🌟 And thanks to the enthusiastic efforts of our Product Manager, <a href="https://localazy.com/blog/meet-the-localazy-team-jan-bilek-product-manager">Jan Bílek</a>, and CMO, <a href="https://localazy.com/blog/author/jakub-dubec">Jakub Dubec</a>, Localazy is now GIST-powered. </p><p>But what does that mean, and why does it matter? 🤔 Well, let us tell you the story.</p><h2 id="what-is-gist">💭 What is GIST? <a class="markdownit-header-anchor" href="#what-is-gist">🔗</a></h2><h3 id="the-name">The name <a class="markdownit-header-anchor" href="#the-name">🔗</a></h3><p>GIST stands for <strong>Goals, Ideas, Steps, and Tasks</strong>. It is a planning approach derived from the Lean &amp; Agile Development principles and created by former Google manager and engineer Itamar Gilad. The framework combines these methods, which have often been used separately for years, into one flexible toolbox.</p><p>In a few words, GIST is an evidence-guided product management system that aims to help your business adapt and deliver faster, better, no-frills solutions for your customers. </p><blockquote>🎙️ We invited <a href="https://localazy.com/blog/s02-ep-02-bridging-the-gap-podcast">Itamar Gilad on our podcast, Bridging the Gap,</a> to discuss a his data-driven decision-making approach for launching in new markets</blockquote><h3 id="the-story">The story <a class="markdownit-header-anchor" href="#the-story">🔗</a></h3><p>Gilad was kind enough to share his personal story about developing GIST with Localazy: "I joined Google in 2010, partly because I was curious about how it became so successful in so many different things: search, advertising, video, email, browsers, operating systems… — a much higher success rate than the average in the industry. Over time I started to piece together a four-part model", he explains.</p><p>That model would become what he eventually would dub as GIST:</p><ul><li><strong>Goals</strong>: focusing on the user was a constant at Google, as Gilad details. Goals there are "a very serious matter, and people and teams are expected to act on them." They had to be the stepping stone of this new framework. 🪨</li><li><strong>Ideas</strong>: creativity shapes startups. Ideas are encouraged, and even if most fail, "a small minority," as the ex-Google manager puts it, "become massive successes." The company was letting a thousand flowers bloom, and it eventually paid off. 🌺</li><li><strong>Steps</strong>: to test rough versions of these ideas, a small investment was allocated. "Product teams were expected to act on the evidence and iterate, pivot, or dump ideas," he explains. Two principles were followed: 👣 "Think big, but start small," and 📉 "Fail fast." </li><li><strong>Tasks</strong>: you can complete an infinite to-do list but keep getting underwhelming results. Something was different at Google, where agile was used, but strict rituals weren't enforced: "They succeeded in giving their developers more context, empowered product teams to make decisions, and didn’t just focus on output." </li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/gist-framework-scheme.png" class="kg-image" alt loading="lazy" width="1201" height="508" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/gist-framework-scheme.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/gist-framework-scheme.png 1000w, https://ghost.localazy.com/content/images/2023/10/gist-framework-scheme.png 1201w" sizes="(min-width: 720px) 720px"></figure><p>Gilad's observations were reinforced when the search engine giant implemented their Gmail Tabbed Inbox in 2010 following this approach. The goal (dealing with inbox clutter) led to exploring a number of ideas. When the team stumbled onto the right one (organizing the inbox by categories 📥), the process rolled on: a series of validation steps followed, confirming that the experience of target users was being improved, and the project grew until it hit its current 1.8 billion users.</p><p>"The launch was extremely successful, and the Tabbed Inbox was recognized as one of the most important changes in the history of the product. It was also a project everyone really enjoyed working on. After that, I realized I never wanted to work in the old way again," he says. The rest is history!</p><h3 id="what-makes-gist-different-from-other-agile-systems">What makes GIST different from other agile systems? <a class="markdownit-header-anchor" href="#what-makes-gist-different-from-other-agile-systems">🔗</a></h3><p>The evidence-guided approach of GIST is designed to work in concoction with <a href="https://agilemanifesto.org/principles.html">agile</a>, taking this framework to the next level. But, as Gilad explains, there are some considerations that agile dev teams need to take into account before implementation:</p><ul><li><strong>Switching to a wider approach</strong>: many agile teams focus on delivery. With GIST, the team is responsible for both discovery and delivery.</li><li><strong>Adapting to change quickly</strong>: restrictions need to be put aside when new information comes up. The team can choose to modify the initial plan, park an idea, or run a new validation step. This can happen mid-sprint.</li><li><strong>Making restrictions disappear</strong>: strict requirements don't make sense in a GIST-based team. Thanks to improved context, members understand what needs to be done without the fine print in the form of tickets and detailed tasks. Most details are, in fact, nailed down during discussions and development. </li></ul><h2 id="how-we-use-it">💡 How we use it <a class="markdownit-header-anchor" href="#how-we-use-it">🔗</a></h2><p>We switched the planning process to a GIST-based approach at the beginning of Q3/2023. Our tool of choice was, and is, <a href="https://fibery.io">Fibery</a>. Two people were devoted to absorbing the concept and playing around with early prototyping. Once we felt ready, <a href="https://localazy.com/blog/author/vaclav-hodek">our CEO</a>, Václav Hodek, was the first tester of the system.</p><p>Localazy adapted the original basic GIST principles to their needs:<br><br>🎯 <strong>Goals</strong><br>We set quarterly goals in the form of OKRs, derived from more high-level strategic goals and company-level KPIs. Previously, we were experimenting with company OKRs, but we couldn't manage the work required to move them forward. </p><p>💭 <strong>Ideas</strong><br>We started to keep track of all ideas in an Idea Bank. Each idea now has a goal (objective), while <a href="https://itamargilad.com/ice-scores/">ICE scoring</a> and statuses are applied to sort and prioritize them. Every item currently goes through different stages as we gather more information and evidence throughout the process. We use templates to help form our hypotheses and formulate reasoning.</p><p>🪜 <strong>Steps</strong><br>We use steps to break down ideas into more manageable chunks of work and gather more details on the way. Steps often help us break down the idea into different teams as well.</p><p>📌 <strong>Tasks</strong><br>Finally, tasks are planned into two-week sprints across all teams to split the necessary steps into concrete, actionable items. We use a simplified variation of <a href="https://www.scrum.org/resources/what-scrum-module">SCRUM</a> for this. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/10/GIST---sshot_1-1.png" class="kg-image" alt loading="lazy" width="1200" height="798" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/GIST---sshot_1-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/GIST---sshot_1-1.png 1000w, https://ghost.localazy.com/content/images/2023/10/GIST---sshot_1-1.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>Fibery has been our tool of choice for GIST implementation.</figcaption></figure><p>To track progress and explore the full context of what we are working on, we have an accessible <strong>GIST board</strong> where it's easy to see all framework components in a tree-like structure. Unfortunately, it's impossible to share screenshots or more detailed materials with concrete examples since our goals and what we're working on are sensitive info, and they cannot be made available to the general public.</p><p>During the process, we also added the <strong>Jobs To Be Done</strong> approach to the mix. This user research technique, based on customer problems rather than their attributes as users, helps us formulate our <em>raison d'être</em>, which is<strong> serving their needs </strong>as accurately as possible. "We are committed to addressing the painful points in the customer journey. It's become the driving force behind our mission, and the JTBD framework is how to manage them", explains our CEO Václav.</p><h2 id="the-benefits">🌸 The benefits <a class="markdownit-header-anchor" href="#the-benefits">🔗</a></h2><p>On paper, GIST gives clarity to the company's goals and provides a pathway to generate ideas and track progress. When put into action, it encourages teams to experiment, iterate and learn.</p><p>Some of the immediate benefits we noticed at Localazy were the ability to reframe our perspective and work as a team, even on the more abstract company objectives. 💡 Ideas stopped getting lost or repeated unnecessarily on Slack: the new scannable and quickly accessible system allowed us to track every single one. Plus, our sync between development and marketing improved vastly, which ultimately led to better go-to-market performance.</p><h3 id="what-our-team-has-to-say">What our team has to say <a class="markdownit-header-anchor" href="#what-our-team-has-to-say">🔗</a></h3><p>After a few months of running with it, here's what our team has to say about GIST:</p><blockquote>"GIST allows us to collect and prioritize ideas and turn them into actionable improvements by providing a structured framework for idea generation, evaluation, and implementation. I already feel that we are more focused, which is great for business and our customers." - <strong>Václav Hodek, CEO</strong></blockquote><blockquote>"The whole notion of idea development through stages of maturity is well-played by Itamar. The steps of idea implementation allow you to start small, experiment, gather feedback data and learn from previous steps. Amazing." - <strong>Jakub Dubec, CMO</strong></blockquote><blockquote>"GIST arrived at the perfect time. We had received a new investment, hired new team members, and needed to reaffirm our goals and strategy. We were searching for a system that would bring clarity and context to our work, ensuring that we were ultimately solving the right problems and delivering the most impactful solutions bringing us closer to these goals." - <strong>Jan Bílek, Product Manager</strong></blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/10/GIST---sshot_1.png" class="kg-image" alt loading="lazy" width="1200" height="709" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/GIST---sshot_1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/GIST---sshot_1.png 1000w, https://ghost.localazy.com/content/images/2023/10/GIST---sshot_1.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>Our idea bank is steaming. 🔥</figcaption></figure><h3 id="improved-satisfaction">Improved satisfaction <a class="markdownit-header-anchor" href="#improved-satisfaction">🔗</a></h3><p>The figures from an internal survey among the Localazy team support this feedback, as satisfaction levels greatly improved just weeks after the adoption of the new framework (from the former 4.3/10 to the current 7.7/10). 🥳 It's also worth noting that 100% of the team members interviewed about GIST would recommend this framework to other colleagues. </p><p>A better understanding of how long-term goals relate to daily work was the #1 benefit highlighted by our team, which also noticed priorities becoming clearer. This resulted in an improved understanding of the company's goals. As one of our members noted, <strong>"Suddenly, it all seems so clear, and one can easily see the bonds between levels of the structure." </strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/10/GIST---Problems-1.png" class="kg-image" alt loading="lazy" width="1200" height="744" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/GIST---Problems-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/GIST---Problems-1.png 1000w, https://ghost.localazy.com/content/images/2023/10/GIST---Problems-1.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>Some of the results of our GIST team survey on Typeform. 🔍</figcaption></figure><p>Communication also improved dramatically thanks to GIST. As a fully remote, 10+ people team with half of our members being completely fresh, having the company's vision, goals, and key results lined up more clearly was hugely beneficial for asynchronous work. 👩‍💻 This means that all the context is currently available for team members, so they are free to jump on any task or create their own, knowing they'll help the company grow without needing to sync at all times. </p><blockquote>"Everything, even if not perfectly, is now written down. We are more focused and there are no worries that important ideas are lost." - Localazy team member</blockquote><p>"Thanks to GIST, there is no space left for arguing about priorities while you fight for scarce resources, such as developer time," says our CMO Jakub, who also points out how setting ambitious goals and breaking them down into daily tasks has become much easier. </p><h3 id="problem-solution">Problem ➡ solution <a class="markdownit-header-anchor" href="#problem-solution">🔗</a></h3><p>Before adopting GIST &amp; JTBD, there were several problems we hadn't found an answer for. They have now been tackled. Here are some of the highlights, according to our PM Jan: </p><ul><li>Lack of high-level context when working on a concrete task in sprint. → <strong>Everyone in a team can now see what we're ultimately trying to achieve, resulting in better solutions.</strong></li><li>A missing connection between our strategy, goals, and everyday tasks. → <strong>All work is now trackable, both top-down and bottom-up. There's a visible indicator of progress.</strong></li><li>There's no system for storing, evaluating, and prioritizing ideas. → <strong>Idea bank + ICE + Goals helps us focus on what's important and filter out the noise.</strong></li><li>Ideas are missing proper evaluation and aren't well researched and framed before going to implementation. → <strong>Each idea has some stages, which evolve over time. This helps formulate them better and prioritize them based on concrete evidence.</strong></li><li>Cross-team collaboration is a real challenge. → <strong>Thanks to concrete steps and shared goals, teams can collaborate more effectively.</strong></li><li>Ideas are often left behind after release. → <strong>We can now track all stages of an idea, including evaluation and success reflection.</strong></li><li>Everyone needs to be assigned some tasks. → <strong>Team members can navigate the GIST tree and see where else they can be helpful.</strong></li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/GIST---benefit-1.png" class="kg-image" alt loading="lazy" width="1200" height="744" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/GIST---benefit-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/GIST---benefit-1.png 1000w, https://ghost.localazy.com/content/images/2023/10/GIST---benefit-1.png 1200w" sizes="(min-width: 720px) 720px"></figure><h3 id="a-practical-example">A practical example  <a class="markdownit-header-anchor" href="#a-practical-example">🔗</a></h3><p>A junior developer might not have a clue why our CMO wants him to develop embeddable leaderboards. He might be wondering how it will help the customer or, more importantly, how he can bring his own improvements to the original idea.</p><p>With a better set of developed ideas and a series of clear steps to follow, the process would look like this:</p><ul><li>🔎 <strong>Objective</strong>: Increase the ratio of non-performance traffic.</li><li>🎯<strong> Goal</strong>: Boost domain rate.</li><li>🪜 <strong>Step</strong>: Gain thousands of quality backlinks programmatically.</li><li>📌 <strong>Task</strong>: Create an embeddable leaderboard for community projects.</li></ul><p>The red string tells the story! Using the shared boards, the junior developer can now bring his own brain into the job getting done... all thanks to GIST.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/image-2.png" class="kg-image" alt loading="lazy" width="1200" height="721" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/image-2.png 1000w, https://ghost.localazy.com/content/images/2023/10/image-2.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="implementation-and-challenges">⚖️ Implementation & challenges <a class="markdownit-header-anchor" href="#implementation-and-challenges">🔗</a></h2><p>Implementing GIST into our day-to-day has been (and still is) a learning process. We'd be lying if we didn't recognize that some resistance was met - "mostly because it's not easy to adopt systems and processes and keep them running," explains our CMO Jakub. It was not our first try to formalize our efforts, and it wasn't an easy feat. However, we were able to overcome that challenge by making GIST work on top of the very current goals and sprint tasks.</p><p>Having our CEO on board was vital. "It was very important to signal to other team members we were serious about GIST," explains Jakub. After that, it was time to transfer all the materials into the new planning system before formally introducing it to the team. 🚛 With the summer holidays coming up, we took advantage of the time window as an opportunity to do so. Hundreds of items were moved from ClickUp to Fibery, which consumed a lot of time and effort, especially for managers.</p><blockquote>We took advantage of the summer holidays to move hundreds of items to Fibery before formally introducing GIST to the team. This consumed a lot of time and effort, especially for managers, but it was worth it.</blockquote><p>Feedback from the team, however, signals that it was all well worth it. 👏 As our CEO Václav points out, "We are still learning how to use those two tools together across the whole team effectively, but it's great to see that every single idea has its place; that it's not going to be lost and reinvented later. And most importantly, we all understand why the idea is worth implementing."</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/GIST---Satisfaction-1.png" class="kg-image" alt loading="lazy" width="1200" height="744" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/GIST---Satisfaction-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/GIST---Satisfaction-1.png 1000w, https://ghost.localazy.com/content/images/2023/10/GIST---Satisfaction-1.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="quick-tips-for-gist-adoption">📝 Quick tips for GIST adoption <a class="markdownit-header-anchor" href="#quick-tips-for-gist-adoption">🔗</a></h2><p>If your curiosity has peaked after reading about our GIST journey, we encourage you to try it out within your organization. Here are some things we've learned along the way:</p><h3 id="1-be-patient">1. Be patient <a class="markdownit-header-anchor" href="#1-be-patient">🔗</a></h3><p>Adopting GIST is a long-term gig. As such, it won't yield immediate results, but the wait will bear fruit. Implementation requires experimentation, team buy-in, and the appropriate integration tools. "Like any framework, you cannot simply apply it to a problem and assume it will be effective," reasons our PM.</p><h3 id="2-focus-on-the-bigger-picture">2. Focus on the bigger picture <a class="markdownit-header-anchor" href="#2-focus-on-the-bigger-picture">🔗</a></h3><p>There's no need to implement every aspect of the framework all at once. Keep in mind that GIST is meant to make things easier! In Localazy's case, we haven't yet adapted fully to ICE Scoring (Impact, Confidence, and Ease), which is the preferred task prioritization method. That, however, hasn't stopped us from adopting the GIST philosophy.</p><p>As our CMO puts it, "We are just moving ahead from a kind of small company, punk culture. There are certainly a few parts that we are not ready to absorb and use completely, but we're getting the best out of GIST to help us evolve. We have even adopted ICE Scoring in a bit of a liberal way, which allows us to move faster."</p><h3 id="3-work-with-what-you-already-have">3. Work with what you already have <a class="markdownit-header-anchor" href="#3-work-with-what-you-already-have">🔗</a></h3><p>If you want to make it easier for team members to understand how GIST works, make sure to create good views on the tasks they already know. It will give them a fresh perspective, and it'll be easier to navigate the new landscape quickly. While you're at it, make sure that every employee sees what they want to see on their boards (and nothing else) to avoid increasing the cognitive load. 🧠</p><h3 id="4-do-not-overshoot-it">4. Do not overshoot it... <a class="markdownit-header-anchor" href="#4-do-not-overshoot-it">🔗</a></h3><p>Registering goals, ideas, steps, and tasks can feel draining in the beginning. Start easy. 🧘‍♂️ While the groundwork is being laid down, it's important to be flexible with the team. "If there are members who prefer to work over making documentation, make sure they are not overly pushed into writing everything down. This is particularly important for the ideas phase - it's just fine to write down a one-sentence idea and develop it over time", Jakub says.</p><h3 id="5-but-go-full-in">5. ...but go full-in. <a class="markdownit-header-anchor" href="#5-but-go-full-in">🔗</a></h3><p>It does not make sense to "just try" GIST on a few ideas. If you half-gas implementation, the system won't stick. Leaders must believe in the framework and throw themselves into it. Only then will the needle move, and the team will be able to reap the benefits. </p><h3 id="6-integrate-other-models-into-it">6. Integrate other models into it <a class="markdownit-header-anchor" href="#6-integrate-other-models-into-it">🔗</a></h3><p>Lastly, if you have any other compatible frameworks put into place, make sure to integrate them into the bigger picture. In our case, we're still in the process of making JTBD and GIST work together. Gilad advocates for translating the findings of the first into the language of the second (ICE) in order to evaluate ideas in an objective and rational manner. "Think of user research/JBTD as the source of your ideas and evidence, and of GIST as the evaluation and validation engine," he explains.</p><h2 id="try-it-for-yourself">🧐 Try it for yourself! <a class="markdownit-header-anchor" href="#try-it-for-yourself">🔗</a></h2><p>Learn more about GIST and how it can be implemented step by step in Itamar Gilad's new book, "<a href="https://itamargilad.com/why-evidence-guided/">Evidence-Guided</a>." Thank you, Itamar, for sharing your time and expertise with us! 🙌</p><p>If you decide to jump on the chance of applying GIST to your own project, remember to have your CEO on board and to test the framework carefully - you'll be starting a long journey, but it will definitely bear fruit. And when things get a little hard, don't despair: remember that one call over Around with 5 minutes of Pacman can solve a lot of hard feelings. 👾🙂</p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/09/GIST-introduction.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[French localization à la carte: Your entry to francophone markets]]></title>
            <link>https://localazy.com/blog/french-as-your-bridge-for-more-business-opportunities</link>
            <guid isPermaLink="false">french-as-your-bridge-for-more-business-opportunities</guid>
            <pubDate>Fri, 04 Apr 2025 18:10:55 GMT</pubDate>
            <description><![CDATA[Are you considering French as one of your first localization options? Here's why you should incorporate this language into your internationalization strategy.]]></description>
            <content:encoded><![CDATA[<p>We all know the stereotypes about France: the country of luxury, refinement, and culture, be it cinema, literature, theatre, or fine arts. But do you know how many French-speaking countries there actually are? And how popular is this language globally? Let's delve into the history of this ancient Romance tongue and elaborate on why you shouldn't ignore the francophone world in your l10n and internationalization strategy.</p><h2 id="the-origins-of-french">⚜️ The origins of French <a class="markdownit-header-anchor" href="#the-origins-of-french">🔗</a></h2><p>The French language descends from Vulgar Latin and is influenced by native Celtic languages. There are also numerous French-based Creole languages, a result of French history and its colonial past.</p><p>French is part of the Romance family of languages. These tongues originate from Latin, which was spoken all over the Roman Empire. Specifically, French originated from the Latin spoken in Northern Gaul, with other <a href="https://en.wikipedia.org/wiki/Langues_d%27o%C3%AFl">langues d'oïl</a>, like Normand or Wallon, as its closest relatives in the <a href="https://en.wikipedia.org/wiki/Dialect_continuum">dialect continuum</a>.</p><blockquote>The Romance family includes Spanish, Italian, Portuguese, Romanian, Catalan, and several different dialects that, throughout their rich history, have expanded throughout Europe and beyond. </blockquote><p>The earliest surviving proof of the use of French comes from the 9th century in the form of the <a href="https://www.historytoday.com/archive/oaths-strasbourg-sworn">Strasbourg Oaths</a>, a military pact sworn by two of Charlemagne's grandsons. Throughout history, French has played a major part in international relations and power, becoming a lingua franca for diplomacy during the 17th century up until the middle of the 20th century, when English started to gain more relevancy globally.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/Serments_de_Strasbourg_-1-.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/Serments_de_Strasbourg_-1-.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/Serments_de_Strasbourg_-1-.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/10/Serments_de_Strasbourg_-1-.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/10/Serments_de_Strasbourg_-1-.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-many-people-speak-french">🥐  How many people speak French? <a class="markdownit-header-anchor" href="#how-many-people-speak-french">🔗</a></h2><p>In 2018, French was spoken by no less than <strong><a href="https://www.francophonie.org/francophonie-brief-1763">300 million people globally,</a></strong> making it the 5th most spoken language in the world. <a href="https://hub.localazy.com/en/regions/fr-france">France</a> is also a major economic power, ranking 7th in the world and 3rd in Europe behind Germany and the United Kingdom.</p><p>Here are some facts about the French language, according to the <a href="https://www.francophonie.org">OIF</a>:</p><ul><li>French is the 4th most used language on the Internet.</li><li>144 million people learn French as a secondary language all over the world.</li><li>Around 93 million currently pursue their official studies in this language.</li><li>17.5% of the world's population speaks French, which roughly equates to 16.6% of the global GDP.</li></ul><p>Whether you represent a company, a group of companies, an institution, or you're an entrepreneur, translation services for both your language into French and vice versa can always be valuable, as well as localization strategies that cater to the different uses and local variations of the language all over the world.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/pexels-mikhail-nilov-8431136.jpg" class="kg-image" alt loading="lazy" width="2000" height="1332" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/pexels-mikhail-nilov-8431136.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/pexels-mikhail-nilov-8431136.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/10/pexels-mikhail-nilov-8431136.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/10/pexels-mikhail-nilov-8431136.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="french-as-a-global-language">🍟 French as a global language <a class="markdownit-header-anchor" href="#french-as-a-global-language">🔗</a></h2><p>French is spoken not only in 🇫🇷 France, 🇧🇪 Belgium, 🇱🇺 Luxembourg, and part of 🇨🇦 Canada (Québec) but also in 51 other, <a href="https://en.wikipedia.org/wiki/African_French">mainly African</a>, countries that were part of the French colonial empire. It is the official language of 28 states and governments - and 23 of them are based in Africa. French is a language that reflects both the rich cultural and historical heritage of France and that of the worldwide Francophonie. It is a language of international diplomacy and business and one of the most used languages online, reflecting its growing importance.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/10/French-speaking_countries.svg.png" class="kg-image" alt loading="lazy" width="1024" height="525" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/French-speaking_countries.svg.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/French-speaking_countries.svg.png 1000w, https://ghost.localazy.com/content/images/2023/10/French-speaking_countries.svg.png 1024w" sizes="(min-width: 720px) 720px"><figcaption>French-speaking countries all over the world. - Source: Wikimedia Commons&nbsp;</figcaption></figure><p>French is spoken far beyond the borders of neighboring Luxembourg, Switzerland, and Belgium. The language of Molière is taught not only in universities around the world but also through the <a href="https://af-france.fr/en/">“Alliance Française” network</a>. It has also been proven to be influential beyond diplomatic circles. For instance, it was taught and held in high regard during the 18th and 19th centuries within Russia's aristocratic circles. In fact, you will find some quotations in French in the original Russian version of <em>War and Peace</em> by Leo Tolstoy.</p><p>In diplomacy, French is <a href="https://ask.un.org/faq/14463?_gl=1*v0335l*_ga*MTQ0NTg5NTUyOS4xNjk2NjE4NjI1*_ga_TK9BQL5X7Z*MTY5Njk2MzM0OS4zLjAuMTY5Njk2MzM2Ny4wLjAuMA..">one of the six official languages</a> of the United Nations and one of the United Nations Secretariat's <a href="https://www.ungeneva.org/en/faqs/what-difference-between-official-language-and-working-language#:~:text=Arabic%2C%20Chinese%2C%20English%2C%20French,%2Dto%2Dday%20professional%20exchanges.">only two working languages</a>. Furthermore, France is one of the 5 only nations that have the right of veto, together with Russia, the USA, the United Kingdom, and China. French is also one of the official languages of the International Olympic Committee, as well as the Council of Europe and the Organization for Economic Co-operation and Development, to name a few.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/10/matthew-tenbruggencate-0HJWobhGhJs-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/matthew-tenbruggencate-0HJWobhGhJs-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/matthew-tenbruggencate-0HJWobhGhJs-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/10/matthew-tenbruggencate-0HJWobhGhJs-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/10/matthew-tenbruggencate-0HJWobhGhJs-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>French is one of the official languages of the United Nations.</figcaption></figure><h2 id="the-popularity-of-french-idioms">🎠 The popularity of French idioms <a class="markdownit-header-anchor" href="#the-popularity-of-french-idioms">🔗</a></h2><p>The influence of French language goes beyond institutional settings. You might not speak French fluently, but this language is surely more present in your life than you might imagine! Many French terms and phrases have penetrated the English language over the years, resulting in people regularly using them in their day-to-day conversations. Here are some:</p><ul><li><em><a href="https://dictionary.cambridge.org/dictionary/english/deja-vu">Déja vu</a></em>, from <em>déja </em>(already) and <em>vu</em> (seen).</li><li><em><a href="https://dictionary.cambridge.org/dictionary/english/rendezvous">Rendezvous</a></em>, from the French word for appointment (<em>rendez-vous</em>).</li><li><em><a href="https://dictionary.cambridge.org/dictionary/english/laissez-faire">Laissez-faire</a> </em>as "allow to do",<em> </em>from <em>laisser</em> (let) and <em>faire </em>(do).</li><li><em><a href="https://dictionary.cambridge.org/dictionary/english/en-route">En route</a></em> (on the way).</li><li><em><a href="https://www.collinsdictionary.com/dictionary/english/avant-garde">Avant-garde</a></em>, meaning forefront, from the military term ("advanced guard").</li><li><em><a href="https://dictionary.cambridge.org/dictionary/english/connoisseur">Connoisseur</a>, </em>from the Modern French<em> connaisseur.</em></li><li><em><a href="https://dictionary.cambridge.org/dictionary/english/facade">Façade</a>,</em> from the French word used to designate the front of a building.</li><li><a href="https://dictionary.cambridge.org/dictionary/english/fiance">Fiancé</a>, derived from the past participle of <em>fiancer</em> (to betroth).</li></ul><p>But idioms are harder to unlock. You might understand what the meaning of "Bon appétit" is in a restaurant setting, but expressions like <a href="https://www.collinsdictionary.com/dictionary/french-english/faire-la-grasse-matinée">"<em>faire la grasse matinée</em>"</a> or <a href="https://en.wiktionary.org/wiki/lâcher_la_grappe">"<em>lâcher la grape</em>"</a> don't have an exact equivalent in English. Finding a comparable phrase takes knowledge of the local intricacies and context, and that's why French localization adjusted to the different francophone regions is so important.</p><blockquote>✍️ Make your contributions in French in <a href="https://localazy.com/p/translate-idioms">our shared idiom repository</a> to help localize community-centric projects.</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/iStock-639166948.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/iStock-639166948.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/iStock-639166948.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/10/iStock-639166948.jpg 1600w, https://ghost.localazy.com/content/images/2023/10/iStock-639166948.jpg 2121w" sizes="(min-width: 720px) 720px"></figure><h2 id="business-in-france-sans-french-localization">🤔 Business in France sans French localization? <a class="markdownit-header-anchor" href="#business-in-france-sans-french-localization">🔗</a></h2><p>For those aiming to connect with a French-speaking audience, whether in France or European French-speaking countries (such as Belgium, parts of Switzerland, or Luxembourg), for cultural or business purposes, utilizing <strong>English-to-French translation and localization services </strong>can prove highly beneficial. This approach allows you to also reach English-speaking countries.</p><p>Only 39% of the population in France say that they can speak English. Most French people expect an e-commerce site to be not only translated into their language but also to be adapted to French customs and consuming habits. Thus the importance of localization for French-speaking markets.</p><h3 id="adapting-french-to-different-locales">Adapting French to different locales <a class="markdownit-header-anchor" href="#adapting-french-to-different-locales">🔗</a></h3><p>One of the main goals of localization is not merely to translate a message but to adapt it to reflect different cultures and mindsets. The aim is to serve the right content to the right users. 📲</p><p>It is easy to see that you will have to adapt your content significantly if you want to attract the attention of the French-speaking audience in France, Algeria, Congo, or Québec, to list just some examples of totally different markets.</p><p>Business leaders in francophone Africa or Canada are usually completely fluent in both English and French. However, if you intend to sell your products through a customer website, French will allow you to target ordinary citizens and consumers.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/valdhy-mbemba-fjc3mp-tGhY-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/valdhy-mbemba-fjc3mp-tGhY-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/valdhy-mbemba-fjc3mp-tGhY-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/10/valdhy-mbemba-fjc3mp-tGhY-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/10/valdhy-mbemba-fjc3mp-tGhY-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>In 2021, more than one in five Canadians (22.6%) spoke French at home at least on a regular basis. In addition, from 2016 to 2021, the number of Canadians who spoke predominantly French at home rose from 6.9 million to 7.0 million, which represents approximately 20% of the population.</p><p>Communicating in French can also be an asset if you do business with the USA. 🇺🇸 French is spoken in the United States, though it is a minority language. Approximately 2.1 million Americans over the age of five reported speaking the language at home, according to a national federal study. French is the fourth most spoken language in the USA after English, Spanish, and Chinese.</p><p>While English continues to be the language of business and diplomacy, as demonstrated earlier, if you aim to expand your online audience worldwide significantly, French is the ideal choice. In 2022, over eight out of ten internet users in France made online purchases, representing 77% of the total population.</p><h3 id="reach-french-speaking-audiences">Reach French-speaking audiences <a class="markdownit-header-anchor" href="#reach-french-speaking-audiences">🔗</a></h3><p>In summary, for entrepreneurs looking to expand their international business presence, having proficiency in French can help them reach a significant audience. This is particularly valuable because many French speakers, including the population of France, may not have a strong command of English. Having your <strong>digital content translated into French</strong> is, therefore, definitely something to be considered.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/cathedral-5863558_1280.jpg" class="kg-image" alt loading="lazy" width="1280" height="853" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/cathedral-5863558_1280.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/cathedral-5863558_1280.jpg 1000w, https://ghost.localazy.com/content/images/2023/10/cathedral-5863558_1280.jpg 1280w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-to-use-french-localization-services">🥂 How to use French localization services <a class="markdownit-header-anchor" href="#how-to-use-french-localization-services">🔗</a></h2><h3 id="english-to-french-an-affordable-pair">English to French: an affordable pair <a class="markdownit-header-anchor" href="#english-to-french-an-affordable-pair">🔗</a></h3><p>The price point of English to <strong>French translation services</strong> is not as high as with other languages due to the fact both are widely spoken languages and that there is enough professional translators providing their services. Moreover, machine translation engines have vast data about this pair, and thus, machine pre-translate can be a good helping hand in the early prototyping of a French-language version of your web or digital product. Choosing English as a source language is a solid decision money-wise when translating your content to French.</p><h3 id="translate-your-website-into-french">Translate your website into French <a class="markdownit-header-anchor" href="#translate-your-website-into-french">🔗</a></h3><p>Loads of people are still dependent on translation services such as Google Translate to understand a website that is not natively available in their mother tongue. Website translation tools for end-users are, however, not very reliable when it comes to precision and proper readability (and this is not considering decreased user experience). There is an increasing demand for headless content management systems, such as <a href="https://strapi.io/blog/strapi-localization-made-easy-with-localazy-plugin">Strapi</a> or <a href="https://localazy.com/docs/storyblok/storyblok-plugin-introduction-installation">Storyblok</a>, which provide improved internationalization support and thus an easier way of making your website multilingual by default, not having to use Javascript workarounds being sold as in-context translators.</p><h3 id="saas-localization-into-french">SaaS localization into French <a class="markdownit-header-anchor" href="#saas-localization-into-french">🔗</a></h3><p>The same applies to translating any sort of digital product, including software as a service. SaaS is pretty specific in its needs for <a href="https://localazy.com/tags/ux">UX localization</a>, so the usual methods of machine translation do not always work out very well due to the lack of context. The <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">increasing presence</a> of <strong>AI translation</strong> engines is significant, and it will definitely have an impact on the quality and price of UX localization in the future. But for now, SaaS operators are yet to reflect on the fact that human UX localization specialists have vast contextual knowledge, sense &amp; skills to be used to their advantage.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/flags-5746704_1280.jpg" class="kg-image" alt loading="lazy" width="1280" height="853" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/flags-5746704_1280.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/flags-5746704_1280.jpg 1000w, https://ghost.localazy.com/content/images/2023/10/flags-5746704_1280.jpg 1280w" sizes="(min-width: 720px) 720px"></figure><h2 id="is-french-losing-its-impact">🗺 Is French losing its impact? <a class="markdownit-header-anchor" href="#is-french-losing-its-impact">🔗</a></h2><p>Due to the rise of French in Africa, the global francophone population is expected to reach 🌍 700 million people in 2050. Not to mention French is the fastest growing language on the continent (in terms of both official and foreign languages). It is interesting to note, however, that <a href="https://www.francophonie.org/sites/default/files/2022-03/Synthese_La_langue_francaise_dans_le_monde_2022.pdf">in 2022</a>, 60% of the French-speaking population in the world lived in the African continent, with Subsaharian Africa and the Indic Ocean as the locations where the amount of francophones has increased the most since 2018 (15%). In contrast, 31.2% of European citizens speak French regularly.</p><h2 id="french-localization-with-localazy">🚩 French localization with Localazy <a class="markdownit-header-anchor" href="#french-localization-with-localazy">🔗</a></h2><p>If you're now convinced of the potential of French localization, you don't have to look much further! Localazy is your all-in-one solution to translate your software, app, or digital content into other languages, including different French varieties.</p><blockquote><em><strong>Learn how to order translation services directly inside the Localazy platform in our ultimate <a href="https://localazy.com/blog/guide-localazy-translation-services">guide</a>! </strong></em></blockquote><p>We suggest you start with <a href="https://localazy.com/translate/en-fr">English to French translations</a>, our most popular pair in the language. With our machine translation features and intuitive interface, you'll be ready to deploy your product or service in the francophone regions of your choice in a few steps. </p><p>Start localizing your content to French now! Check out our <a href="https://localazy.com/pricing">options</a>, and don't forget that you can always enlist a team of <a href="https://localazy.com/term/professional-translation-services">professional translators</a> to help you get the perfect result.</p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/10/locales.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Art Of Frictionless Cooperation For Digital Product Teams]]></title>
            <link>https://localazy.com/blog/art-of-frictionless-cooperation-for-digital-product-teams</link>
            <guid isPermaLink="false">art-of-frictionless-cooperation-for-digital-product-teams</guid>
            <pubDate>Tue, 10 Oct 2023 12:18:00 GMT</pubDate>
            <description><![CDATA[Friction is one of the main blockers when it comes to building & growing a digital product. Learn how to minimize it to increase productivity and reach the coveted state of flow within your team.]]></description>
            <content:encoded><![CDATA[<p>Building a digital product is an art as much as it is a science. 👩‍🎨🧪 With all the tech behind the entire workflows, processes, and teams, it is almost impossible not to encounter a little bit of friction along the way.</p><p><a href="https://medium.com/@stevenhallam/digital-friction-726e353b9750">Friction</a> slows down everything, like a stick in the wheels. In an ideal world, zero friction would mean zero production obstacles. However, sources of friction are multiple and can't be confined to a process or a tool. You'd be surprised to learn how the idea of friction fits within a daily workflow and how to tackle it.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/bijofill_physical_demonstration_of_the_friction_between_two_obj_71f06f04-6b4a-49f0-ae4e-12b92ff08fbb.png" class="kg-image" alt loading="lazy" width="683" height="299" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/bijofill_physical_demonstration_of_the_friction_between_two_obj_71f06f04-6b4a-49f0-ae4e-12b92ff08fbb.png 600w, https://ghost.localazy.com/content/images/2023/10/bijofill_physical_demonstration_of_the_friction_between_two_obj_71f06f04-6b4a-49f0-ae4e-12b92ff08fbb.png 683w"></figure><h2 id="where-do-we-find-friction">🕵️ Where Do We Find Friction? <a class="markdownit-header-anchor" href="#where-do-we-find-friction">🔗</a></h2><p>Software localization and other processes that involve learning, collaboration, and problem-solving skills leave space for friction. Friction can impede personal productivity and obstruct the workflow of your entire digital product team. </p><p>Where does friction occur more often? Let's explore some common scenarios and friction points.</p><h3 id="during-the-learning-curve">During the Learning Curve <a class="markdownit-header-anchor" href="#during-the-learning-curve">🔗</a></h3><p>Sometimes, when we're learning new things, it can feel a little tricky. This happens because of what's known as <a href="https://uxdesign.cc/change-generates-learning-curves-ffbe8d0ec675">the learning curve</a>. We face it when we're introduced to new tools, technologies, or ways of doing things. Even opening a Gmail account poses friction because the learning curve is steep for someone who has never opened one before. 😩 📩 Friction is found in unfamiliar processes, and it slows down workflows.</p><p>However, sometimes, the learning curve gets steep not only because of familiarity with the work process but also because of other elements. For example, the environment is a significant factor. If the place where we're learning or where we are working from is distracting, uncomfortable, or confusing, it makes the process more difficult.</p><blockquote>Friction is found in unfamiliarity. However, other elements, as the environment, can slown down processes as well.</blockquote><p>So, having a clean and quiet learning environment is a must for a smooth learning and work process. It contributes to a better output for you and your team. It translates directly into more work done and better cooperation. It makes the learning curve shorter and reduces friction immensely.</p><h3 id="in-missing-processes-which-are-a-petri-dish-for-friction">In Missing Processes, Which Are a Petri Dish for Friction <a class="markdownit-header-anchor" href="#in-missing-processes-which-are-a-petri-dish-for-friction">🔗</a></h3><p>Friction occurs in missing or poorly defined processes. You must provide clear guidelines and set proven workflows for your team to produce reasonable results. When these processes are missing, your team members will not only be confused about what they should be doing but will also mix each other's responsibilities.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/bijofill_Petri_Dish_4434f8e7-025b-441a-b38d-a077bb8bda9f.png" class="kg-image" alt loading="lazy" width="683" height="342" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/bijofill_Petri_Dish_4434f8e7-025b-441a-b38d-a077bb8bda9f.png 600w, https://ghost.localazy.com/content/images/2023/10/bijofill_Petri_Dish_4434f8e7-025b-441a-b38d-a077bb8bda9f.png 683w"></figure><h3 id="during-conflicts">During Conflicts <a class="markdownit-header-anchor" href="#during-conflicts">🔗</a></h3><p>Conflicts are another cause of friction. And these conflicts aren't limited to team conflicts. They can be interpersonal - when a teammate is going through a dark period in their life - or when using tools that complicate the workflow.</p><h4 id="interpersonal-conflict">Interpersonal Conflict</h4><p>Interpersonal conflicts occur when a teammate struggles to complete a task because they don't feel confident they can do it or the guidelines are unclear. For example, you've asked your copywriter to write an email that promotes the launch of your affiliate marketing program, but you haven't given them details on the commission that users will get, cookie duration, or where they can track the traffic they bring. They'll typically feel puzzled and wonder if they should ask for these details or write a general email.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/bijofill_conflict_77fdd041-fb11-4fa6-8bd4-dc2db570bebd-1.png" class="kg-image" alt loading="lazy" width="683" height="350" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/bijofill_conflict_77fdd041-fb11-4fa6-8bd4-dc2db570bebd-1.png 600w, https://ghost.localazy.com/content/images/2023/10/bijofill_conflict_77fdd041-fb11-4fa6-8bd4-dc2db570bebd-1.png 683w"></figure><h4 id="team-conflict">Team Conflict</h4><p>A typical instance is when a product manager may want to implement one particular feature while the development team may side with another approach, leading to delays and indecision. Time is lost, and the shipping process is delayed.</p><h4 id="conflicting-tools">Conflicting Tools</h4><p>Another example involves the use of conflicting or complicated tools. You could be using a project management software that doesn't offer a proper time-tracking feature, thus forcing your team to manually update a spreadsheet with their working hours. This can lead to productivity and time losses, annoyance, and lots of friction.</p><p>💬 To avoid conflict and the friction that arises from it, hold regular team meetings and create a work environment where everyone can express their opinions freely. </p><h3 id="inefficient-processes">Inefficient Processes <a class="markdownit-header-anchor" href="#inefficient-processes">🔗</a></h3><p>Friction often arises from inefficiencies within collaborative processes. When processes are time-consuming or require excessive effort, friction builds up, impacting the overall efficiency of the collaborative workflow.</p><p>These inefficiencies can stem from:</p><ul><li>lack of automation,</li><li>redundant or manual tasks,</li><li>or inefficient use of tools and resources.</li></ul><h2 id="what-should-we-seek-instead">🔎 What Should We Seek Instead? <a class="markdownit-header-anchor" href="#what-should-we-seek-instead">🔗</a></h2><p>We should equip ourselves and our teams with the right tools to minimize friction. This will lower it significantly and make it easier to fall into a state of productive work, known as 🌟 <a href="https://bigthink.com/neuropsych/reach-a-flow-state/">the flow state</a>. The flow state leads to high-quality work completed with stellar focus.</p><p>When speaking of tools, we should consider both conceptual frameworks and task management systems (like <a href="https://itamargilad.com/gist-framework/">GIST</a>, <a href="https://fortelabs.com/blog/para/">PARA</a>, <a href="https://www.agilealliance.org/agile101/">Agile</a>, <a href="https://asq.org/quality-resources/pdca-cycle">PDCA cycle</a>, etc.) and practical software programs to manage your projects. Some examples here are:</p><ul><li><a href="https://slack.com/">Slack</a></li><li><a href="https://fibery.io">Fibery</a></li><li><a href="https://clickup.com">ClickUp</a></li><li><a href="https://www.airtable.com">Airtable</a></li><li><a href="https://monday.com/">Monday</a>, etc.</li></ul><p>Finding the right software that works for your team is challenging because all tools have different features. So, you must find which software comes with the lowest friction to your daily workflows. And this might require a bit of experimentation.</p><p>For instance, at Localazy, we use different pieces of software to manage our projects, communicate internally, and set up our knowledge base. Previously, we were using ClickUp for many months, which provided a wonderful experience, but it led to a few silos we fixed by switching to Fibery. </p><p>After the switch, our marketing and product teams are always in sync, and our knowledge base and project management reside now in one place. This reduced friction immensely and improved our workflow efficiency.</p><blockquote>Curious about the way we work at Localazy? Check out our latest <a href="https://localazy.com/blog/bridging-the-gap-with-localazy-2">progress update</a> to get details! 🏄</blockquote><h2 id="when-does-the-flow-state-occur">🪷 When Does The Flow State Occur? <a class="markdownit-header-anchor" href="#when-does-the-flow-state-occur">🔗</a></h2><p>The flow state occurs when a person is fully immersed in an activity, feeling intensely focused, energized, and deeply involved in the present moment. Psychologist <a href="https://www.cgu.edu/people/mihaly-csikszentmihalyi/">Mihaly Csikszentmihalyi</a> first described this psychological state in the 1970s.</p><p>Csikszentmihalyi would explain flow as <strong>"a state in which people are so involved in an activity that nothing else seems to matter; the experience is so enjoyable that people will continue to do it even at great cost, for the sheer sake of doing it" </strong>(1990). </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/bijofill_football_goal_bf5acc98-bdc3-4fd4-8d66-0a738216b589.png" class="kg-image" alt loading="lazy" width="683" height="327" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/bijofill_football_goal_bf5acc98-bdc3-4fd4-8d66-0a738216b589.png 600w, https://ghost.localazy.com/content/images/2023/10/bijofill_football_goal_bf5acc98-bdc3-4fd4-8d66-0a738216b589.png 683w"></figure><p>This flow state typically occurs when certain conditions are met during an activity. These conditions include:</p><h3 id="clear-goals">Clear Goals <a class="markdownit-header-anchor" href="#clear-goals">🔗</a></h3><p>Your teammates need to have clear and specific goals providing a sense of direction and purpose for their daily workflow.  🎯  Now, this is no easy feat. How to achieve it? Here are a few tips you should consider:</p><ul><li>Get a clear overview of both short-term and long-term goals for your company.</li><li>Create a strategy with <a href="https://en.wikipedia.org/wiki/SMART_criteria">SMART</a> (Specific, Measurable, Achievable, Realistic, and Timely) goals.</li><li>Set reasonable timelines and reward those who deliver early.</li><li>Track the progress and make workload changes if needed.</li></ul><h3 id="matched-challenge-and-skill-level">Matched Challenge and Skill Level  <a class="markdownit-header-anchor" href="#matched-challenge-and-skill-level">🔗</a></h3><p>You should give your teammates tasks that match their level of expertise but are also a bit challenging. They should be neither too easy (leading to boredom) nor too difficult (leading to anxiety). How can you maintain this balance?</p><p>Start by understanding your teammates' strengths and weaknesses. Find the intersection between what they're good at and what they like doing more. 💪 Personality tests are a great help. You can consider:</p><ul><li><u><a href="https://www.16personalities.com/" rel="noopener noreferrer">16Personalities</a></u></li><li><a href="https://cloverleaf.me/assessments/" rel="noopener noreferrer"><u>Cloverleaf</u></a></li><li><a href="https://www.gallup.com/cliftonstrengths/en/252137/home.aspx" rel="noopener noreferrer"><u>The Clifton Strengths Assessment</u></a></li></ul><h3 id="intense-focus">Intense Focus  <a class="markdownit-header-anchor" href="#intense-focus">🔗</a></h3><p>Another must-have for the flow state to take place is intense focus. When someone dives into the flow state, they're fully absorbed in the task, with a deep concentration that blocks out distractions and irrelevant thoughts. This can become extremely challenging if you don't limit the distractions in the workplace.</p><p>So, how can you support digital product team members to fully focus and prevent distractions from interrupting their flow state? Well, here are some simple things:</p><ul><li>📲 Text instead of calling when you want to communicate with them.</li><li>🔇 Limit Slack messages unless it's something necessary,</li><li>🤫 and maybe buy them a pair of earplugs as a gift to help block out distractions.</li></ul><h3 id="immediate-feedback">Immediate Feedback <a class="markdownit-header-anchor" href="#immediate-feedback">🔗</a></h3><p>Another factor is that the activity they're doing needs to be provided with immediate and clear feedback, allowing them to adjust their actions and stay engaged. However, this might not be the case for everyone on your team.</p><p>Developers and designers can receive fast feedback, as their code or design is visible instantly as they finish the tasks. This is much harder for other professionals, such as marketing campaign managers. For example, seeing the results of a long-term marketing campaign requires time. In that case, marketers shall seek ways to find everyday success and get the feedback loop running. Otherwise, they can burn out and feel uninspired. </p><p>Some examples of factors to rely on for immediate feedback in this scenario include:</p><ul><li>The number of campaigns they activate.</li><li>The early analytics results for new campaigns.</li><li>Their input to other departments and the market research performed.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/pexels-andrea-piacquadio-3768134.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/pexels-andrea-piacquadio-3768134.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/pexels-andrea-piacquadio-3768134.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/10/pexels-andrea-piacquadio-3768134.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/10/pexels-andrea-piacquadio-3768134.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="sense-of-control">Sense of Control  <a class="markdownit-header-anchor" href="#sense-of-control">🔗</a></h3><p>During the flow state, your teammates experience a profound sense of control over the task at hand. They zoom in on the task at hand to the point they feel like nothing else exists, and they believe that their actions have a direct impact on the final outcome.</p><p>In this state, there's an innate understanding that they are in charge, and this empowerment fuels their motivation and focus. 🏅</p><h3 id="loss-of-self-consciousness">Loss of Self-Consciousness   <a class="markdownit-header-anchor" href="#loss-of-self-consciousness">🔗</a></h3><p>Another condition to reach the flow state is that the person becomes so involved in the activity that they lose awareness of time, self-consciousness, and concerns about failure. Think about the last time you were listening to a song you really loved. For a moment, the world around you fades into the background. 😌 This is precisely what happens during the flow state.</p><p>Self-consciousness, which often makes us rush into worry about being in control of everything, disappears almost entirely. In this state, your teammate feels like an athlete in perfect sync with their every move. It's a moment when they forget their worries and focus on the present moment and on completing their task.</p><h3 id="altered-sense-of-time">Altered Sense of Time  <a class="markdownit-header-anchor" href="#altered-sense-of-time">🔗</a></h3><p>When your teammates are in their flow state, work feels effortless, and they don't realize that the time is passing. For as long as no one interrupts them in this state, they might stay in it for hours to come. Hours will feel like minutes during this time.</p><h2 id="key-find-the-golden-middle-in-the-complexity-of-each-challenge">⚖️ Key: Find The Golden Middle in the Complexity of Each Challenge <a class="markdownit-header-anchor" href="#key-find-the-golden-middle-in-the-complexity-of-each-challenge">🔗</a></h2><p>If you want to get immersed into the flow state and help your team do so, the first thing here is to find the perfect balance in task complexity. Just like the flow state experienced by artists and musicians, digital product teams can reach a similar flow state that benefits their performance and helps them become more efficient.</p><p>However, it's important not to select a task that is too challenging and demanding, as it will lead to frustration and stress, harming your productivity and efficiency. A task that keeps the golden middle ignites a sense of purpose and motivation.</p><p>When your team is in the flow state, they can fully focus on the complexities of <a href="https://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=&amp;ved=2ahUKEwi0t5-QqumBAxVCSKQEHf6FDXUQFnoECEEQAQ&amp;url=https%3A%2F%2Flocalazy.com%2Fblog%2Fcheatsheet-getting-started-software-localization-tips-tricks&amp;usg=AOvVaw3FlFC-4oq_49TOt2Rin2Qe&amp;opi=89978449">the localization process</a>, allowing their creativity and problem-solving skills to reach their peak. When tasks are thoughtfully distributed to strike this balance, localization teams can maintain a steady workflow, avoiding bottlenecks and unnecessary delays.</p><blockquote>👩‍💻 Learn to optimize your localization workflow using Localazy's CLI <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow">here</a>.</blockquote><h2 id="increasing-productivity-is-a-must-for-digital-product-teams">💪 Increasing Productivity Is a Must for Digital Product Teams <a class="markdownit-header-anchor" href="#increasing-productivity-is-a-must-for-digital-product-teams">🔗</a></h2><p>Improved productivity doesn't only mean that your teams will be able to deliver high-quality products within tight timelines. They'll also be mentally sharp and ready for new challenges. What's a no-brainer approach they should adopt?</p><ul><li>Distributing resources more strategically,</li><li>and using automation tools.</li></ul><p>By relying on continuous improvement practices and data-driven insights, teams can identify bottlenecks, address inefficiencies, and fine-tune their processes for optimal results. And the flow state helps them achieve stellar productivity levels.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/pexels-cottonbro-studio-4065145.jpg" class="kg-image" alt loading="lazy" width="2000" height="1192" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/pexels-cottonbro-studio-4065145.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/pexels-cottonbro-studio-4065145.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/10/pexels-cottonbro-studio-4065145.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/10/pexels-cottonbro-studio-4065145.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="what-is-productivity-in-itself">What Is Productivity in Itself? <a class="markdownit-header-anchor" href="#what-is-productivity-in-itself">🔗</a></h3><p>At its core, productivity is the measure of how effectively resources, time, and efforts are used to reach certain goals. When we talk about productive work, we're not talking only about quantity but more about the quality of the produced work.</p><p>The Cambridge Academic Content Dictionary <a href="https://dictionary.cambridge.org/dictionary/english/productivity#:~:text=the%20rate%20at%20which%20a%20person%2C%20company%2C%20or%20country%20does%20useful%20work%3A" rel="noopener noreferrer">defines</a> productivity as: <em>the rate at which a person, company, or country does useful work.</em></p><p>While there are multiple definitions of productivity, this is all-inclusive. In workflow terms, we can say that productivity is about <strong>maximizing results while minimizing inefficiencies</strong>. It means making more strategic decisions, prioritizing tasks, and arranging processes to achieve the best possible outcome in a given timeframe.</p><p>At Localazy, we follow a modern approach to solving your localization problems by providing <a href="https://localazy.com/for/product-managers">diverse solutions</a>. Our platform is equipped for developers and non-developers alike and can be navigated seamlessly to optimize your workflow.</p><h2 id="final-thoughts">📌 Final Thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>If you help your team achieve the flow state daily, you'll help them complete more high-quality work. 💡 While this isn't always easy, as long as you contribute by distributing the right tasks, choosing frameworks and software that work for everyone, and creating a distraction-free workplace, you're likely to get there. </p><p>Our platform is <a href="https://localazy.com/docs/api/getting-started-with-localazy">easy to use</a> and makes your localization process smooth and fast. We aim to eliminate the barriers of language and cultural differences and support your teams in doing what they do best—creating exceptional digital products.</p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/10/Art-Of-Frictionless-Cooperation.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy ft. Poedit: the power couple for seamless localization]]></title>
            <link>https://localazy.com/blog/localazy-poedit-the-power-couple-for-seamless-localization</link>
            <guid isPermaLink="false">localazy-poedit-the-power-couple-for-seamless-localization</guid>
            <pubDate>Wed, 04 Oct 2023 11:56:01 GMT</pubDate>
            <description><![CDATA["Automating humans" was never easier, as we're welcoming a special member into our family of integrations. Find out how Localazy & Poedit will work together in this interview with Václav Slavík, founder of the veteran translation editor.]]></description>
            <content:encoded><![CDATA[<p>Back in 2001, when localization was neither vast nor well-known across industries, a young Open Source fanatic thought that software solutions able to break down language barriers were much needed for non-experts. That developer was <a href="https://www.linkedin.com/in/vslavik/">Václav Slavík</a>, and the product he came up with, <a href="https://poedit.net">Poedit</a>, was going to help thousands of users all over the world translate their software, sites, and apps in the following years - for free or in exchange for a modest fee, and with no previous l10n expertise needed.</p><p>What started out as a student project is now a successful cross-platform desktop translation editor used by 50k active users every month, 15% of which pay for <a href="https://poedit.net/pro">Pro features</a> to convert their WordPress, PO, XLIFF, JSON, and Flutter files to other languages. 📩 Here at Localazy, we always strive to make your localization &amp; i18n processes easier, and that's why <a href="https://localazy.com/features/poedit-integration">we've partnered with Poedit for our newest integration</a>, which is now available for everyone to enjoy. Find out how it will work in the following interview with Slavík, where we also discuss integration processes, bootstrapping, and innovation in the localization business.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/poedit-welcome.png" class="kg-image" alt loading="lazy" width="1009" height="772" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/poedit-welcome.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/poedit-welcome.png 1000w, https://ghost.localazy.com/content/images/2023/10/poedit-welcome.png 1009w" sizes="(min-width: 720px) 720px"></figure><h2 id="making-localization-easier-for-everyone">🪶 Making localization easier for everyone <a class="markdownit-header-anchor" href="#making-localization-easier-for-everyone">🔗</a></h2><p><strong>Hi, Václav! </strong>☺️ <strong>Happy to have you here. In a few words, what's Poedit's mission?</strong></p><p>Poedit is a translation editor focused on localization. Its mission is to make localization easy, even for non-technical people.</p><p><strong>How did it all come to be?</strong></p><p>It actually started as a student project in one of my CS classes! That was <a href="https://poedit.net/news/happy-20th-anniversary/">23 years ago</a>. I then released it as Open Source and kept working on it on and off,  and it sort of became semi-famous in Linux and WordPress communities. At some point, I realized a lot of WordPress users struggle with the technical aspects of localization, and I created a paid version with features made to make their lives easier. ✌️ That was the turning point: I was able to quit consulting and work on Poedit full-time since then.</p><p><strong>How did you get in contact with the localization &amp; software businesses?</strong></p><p>I have been heavily involved with Open Source since my 20s. Localization was always close to my heart, not being a native English speaker. Creating a graphical editor that “normal people” could use to create <a href="https://www.gnu.org/software/gettext/manual/gettext.html#Why">GNU gettext translations</a> followed from that. Poedit was their option when localization was not nearly as widespread as these days, as well as one of the first user-friendly tools for doing so. </p><blockquote>"Not being a native English speaker, localization was always close to my heart. Creating a graphical editor that 'normal people' could use to create GNU gettext translations followed from that"</blockquote><p><strong>What kind of localization problems did you encounter back then as a user and a developer?</strong></p><p>Primarily a lack of awareness of the need for localization or interest in supporting it. For developers, it wasn’t as common to have good localization support in, e.g., libraries and frameworks (I was involved with the <a href="https://github.com/wxWidgets/wxWidgets">wxWidgets library</a>, which Poedit uses and which had very good localization support). It’s surprisingly common to have localization solutions that don’t handle plurals well (Arabic has six forms!), even today!</p><p><strong>Who are your customers?</strong></p><p>Mainly translators doing both Open Source and commercial localization. ✍️ A lot of customers work on WordPress sites, too.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/shot_mac_3.png" class="kg-image" alt loading="lazy" width="2000" height="1495" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/shot_mac_3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/shot_mac_3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/shot_mac_3.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/09/shot_mac_3.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>You can now connect your Localazy projects from your Poedit account in a few seconds.</figcaption></figure><h2 id="simplicity-and-usability">💻 Simplicity & Usability <a class="markdownit-header-anchor" href="#simplicity-and-usability">🔗</a></h2><p><strong>Let's talk about Poedit's vision. What is it?</strong></p><p>I strive for simplicity and limit the scope to localization. Poedit isn’t, and never will be, a “hard-core” tool like Trados. I want it to be usable and useful for professionals but also remain accessible to hobbyists and casual users.</p><p><strong>What about funding?</strong></p><p>We're entirely bootstrapped. We never took any outside investment.</p><p><strong>Why do you think localization is important?</strong></p><p>Isn’t it obvious? 🤔 Not everybody speaks English. It’s 2023, and people <em>expect</em> apps and tools — especially if they pay for them! — to speak their language. </p><blockquote>Read our article on Localazy Blog called <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">Mythbusters: Our users speak English, so we don’t have to localize</a></blockquote><p><strong>What does success look like for Poedit?</strong></p><p>Being bootstrapped, we have the freedom to be humble: making customers happy and having enough of them to fund work on Poedit <em>is</em> a success. 🏆</p><p><strong>What are the biggest risks for your business?</strong></p><p>People giving up on good Mac or Windows apps and just doing everything on the web. Additionally, developers resigning on quality and accepting fully automated AI translations as “good enough.” </p><blockquote>"In 2023, people expect apps and tools to speak their language, especially if they pay for them"</blockquote><p><strong>In which fields is Poedit innovating?</strong></p><p>Poedit was a huge innovator: we originated a big chunk of the localization business as it is today. 😊 With our Pro version, we pioneered simple WordPress localization, and Poedit’s extraction of translatable texts enabled a lot of developers to start translating their apps, themes, and plugins.</p><p><strong>Any future features you’re working on that you can reveal to us? </strong>👀</p><p>We have big plans around translation management. We also aim to make localization easier for translators and agencies that work with tools like Trados or Excel, and we plan to support many more formats soon. Poedit started as an editor for <a href="https://localazy.com/term/free-po-editor?utm_term=poedit&amp;utm_campaign=COLD_ACQUISITION_SEARCH_TECH_TOP&amp;utm_source=adwords&amp;utm_medium=ppc&amp;hsa_acc=1175743605&amp;hsa_cam=14449249622&amp;hsa_grp=131845123612&amp;hsa_ad=542138835969&amp;hsa_src=g&amp;hsa_tgt=kwd-329408936772&amp;hsa_kw=poedit&amp;hsa_mt=p&amp;hsa_net=adwords&amp;hsa_ver=3&amp;gad=1&amp;gclid=CjwKCAjwjaWoBhAmEiwAXz8DBTK1EppWK8nFwxjmaoNZL__6vSHib8dmz-I8qjGKC9eU999U9ege9RoCLWcQAvD_BwE">PO files</a>, but we added <a href="https://poedit.net/news/xliff-and-dark-mode/">XLIFF support</a> and, this year, <a href="https://poedit.net/news/poedit-3.3-json/">JSON</a>, and there’s much more coming so that Poedit can be your go-to tool for any localization project.</p><p><strong>Generally speaking, what are the next steps for PoEdit?</strong></p><p>Supporting more file formats, more workflows, and adding tools for managing translations. 👌</p><p><strong>If you could start again with PoEdit, what would you do differently from today's perspective?</strong></p><p>I’d have started offering <a href="https://poedit.net/pro">Poedit Pro</a>  —and working on it full-time— sooner.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/10/LocaToPoedit--2-.png" class="kg-image" alt loading="lazy" width="1200" height="640" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/LocaToPoedit--2-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/LocaToPoedit--2-.png 1000w, https://ghost.localazy.com/content/images/2023/10/LocaToPoedit--2-.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>You can now sync translations between Poedit and Localazy!</figcaption></figure><h2 id="integrating-with-localazy">🧩 Integrating with Localazy <a class="markdownit-header-anchor" href="#integrating-with-localazy">🔗</a></h2><p><strong>How did you find us? And how did your partnership with Localazy come to be?</strong></p><p>It was actually Localazy’s founder, <a href="https://localazy.com/blog/author/vaclav-hodek">Václav</a>, who reached out about integrating Localazy with Poedit, similar to how Poedit already supported Crowdin.</p><p><strong>Was the integration process easy?</strong></p><p>There were some skeletons in the closet on Poedit’s end 🔎 that needed attention on our side first. That complicated things a bit, but interfacing with <a href="https://localazy.com/features/translation-api">Localazy's API</a> was really easy and a joy to work on.</p><blockquote>👩‍💻 Get all the details on the <a href="https://localazy.com/docs/general/poedit-integration">Localazy &amp; Poedit integration in the docs</a>.</blockquote><p><strong>How long did it take, and is there anything you guys are still finessing?</strong></p><p>It’s pretty much done now. 🥳 As for how long it took, that depends. I would say a few months, including the Poedit-side refactoring, but that wasn’t full-time work. A week of dedicated Localazy-specific work is a fair guess, I think.</p><p><strong>Can you explain how both tools are going to work together from now on?</strong></p><p>You’ll be able to open Localazy translation projects directly from Poedit on your Mac or PC and translate them without opening the web browser. And the other way around, too: you’ll be able to open a project from within Localazy in Poedit. This is great for translators who prefer to work in native apps and a must-have for those who need to work offline, e.g., when commuting or traveling. That’s a thing that SaaS platforms don’t do well, and Poedit fills the gap.</p><p><strong>What is your favorite Localazy feature?</strong></p><p>Automating humans! That is the ability to integrate with CI and have <a href="https://localazy.com/term/professional-translation-services">professional translators</a>, curated by Localazy, pick up translation jobs. 👨‍💻</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/pexels-lukas-574077.jpg" class="kg-image" alt loading="lazy" width="2000" height="1325" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/pexels-lukas-574077.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/pexels-lukas-574077.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/pexels-lukas-574077.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/09/pexels-lukas-574077.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="saas-mt-and-future-challenges">🦾 SaaS, MT & future challenges <a class="markdownit-header-anchor" href="#saas-mt-and-future-challenges">🔗</a></h2><p><strong>Would you like to highlight some services or products you really like to use on your own?</strong></p><p>Sure! Three come to mind:</p><ul><li><a href="https://www.deepl.com/translator">DeepL</a> for machine translation/AI. </li><li><a href="https://www.jetbrains.com/es-es/">JetBrains</a> IDEs. </li><li><a href="https://sentry.io/welcome/">Sentry</a> is invaluable for catching bugs early.</li></ul><p><strong>How has the localization market evolved, and what do you think is its biggest challenge right now?</strong></p><p>It grew <em>enormously</em>, particularly on the SaaS side. 🔥 20 years ago, only the giants localized their software. These days, even small indie developers are <em>expected</em> to localize. With the rise of platforms like <a href="https://github.com">GitHub</a> and CI/CD workflows, developers expect to integrate localization continuously and <a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">to integrate AI tools</a> as well.</p><p>As AI and machine translation are getting better, a challenge would be convincing developers that machine translation is not enough and that there’s value in the high-quality localization that Localazy &amp; Poedit can help with. I can see that already, just talking to (some) customers, to some extent.</p><blockquote>"20 years ago, only the giants localized their software. These days, even small indie developers are <em>expected</em> to localize. And developers expect to continuously integrate localization and AI tools too"</blockquote><p><strong>What do you think – how will our industry look like in about 10 years from now?</strong></p><p>I’m a humble developer, and foretelling isn’t really my thing. 🙂</p><p><strong>Can you expand on AI and its localization capabilities, though? How do you think products like Poedit &amp; Localazy are still going to be relevant in the future?</strong></p><p>AI has already transformed how translators work. It happened under the radar years ago with the rise of high-quality machine translation. People are in awe of ChatGPT’s emergent ability to translate, but it’s not nearly as accurate and faithful to the original as dedicated AI tools such as <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate">DeepL</a>. </p><p>DeepL made waves a few years back with how much better it was than Google Translate, and Poedit quickly integrated it. Dedicated MT/AI tools haven’t replaced translators yet, and I don’t see it happening in the future. Localization, in particular, is <em>hard</em> even for human translators, with its inherent brevity and a lot of context. </p><blockquote>"Dedicated MT/AI tools didn’t replace translators yet, and I don’t see it happening in the future. They definitely made translators more productive, though, and they're becoming good enough for casual use cases"</blockquote><p>These tools definitely made translators more productive, though, and will do even more of that in the future, and they’re quickly becoming good enough for casual use cases when comprehension matters more than quality.</p><p><strong>Thank you, Václav! We wish you many successful years with Poedit and hope that our new partnership will help both of our communities.</strong></p><h2 id="try-the-new-poedit-with-localazy">⌨️ Try the new Poedit with Localazy  <a class="markdownit-header-anchor" href="#try-the-new-poedit-with-localazy">🔗</a></h2><p>If you need to work offline or prefer native apps on your desktop over cloud platforms, give Poedit a try and start using it to translate your Localazy project in a simple and intuitive interface on the go now!  </p><blockquote>➡️ <a href="https://poedit.net/news/poedit-3.4-localazy/">Download the latest version of Poedit 3.4 </a></blockquote><p><br></p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/09/Localazy-Interview-Poedit.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Bridging the gap with Localazy #2 | The summer update 🌻]]></title>
            <link>https://localazy.com/blog/bridging-the-gap-with-localazy-2</link>
            <guid isPermaLink="false">bridging-the-gap-with-localazy-2</guid>
            <pubDate>Thu, 08 Jan 2026 18:11:15 GMT</pubDate>
            <description><![CDATA[It's been a hectic summer over here at Localazy HQ. Find out what we've been doing behind the scenes in our newest progress update.]]></description>
            <content:encoded><![CDATA[<p>Ah, summer. The warm breeze against the skin, a refreshing dip in the pool, or a nice hike in the mountains... ☀️ Perhaps watching a fun movie outside or going through that really good book that you meant to tackle for a long time. And yes - there is also coding and plenty of localization missions. That's how we do it over here at Localazy.😃</p><p>It's been a minute since <a href="https://localazy.com/blog/bridging-the-gap-with-localazy-1">our first progress update</a>, and we're excited to tell you more about what's going on behind the scenes. So grab a fresh drink of your choice, and let's get started!🍹</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/image-7.png" class="kg-image" alt loading="lazy" width="1055" height="706" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/image-7.png 1000w, https://ghost.localazy.com/content/images/2023/09/image-7.png 1055w" sizes="(min-width: 720px) 720px"><figcaption>The picturesque Estonian bogs captured by our designer, Ondřej.</figcaption></figure><h2 id="tldr">+ TL;DR? <a class="markdownit-header-anchor" href="#tldr">🔗</a></h2><p>🆕 Our new CDN, context tab &amp; console features are out / 💡Localazy is now GIST-powered / 🐢 We've launched a translation memory to fight climate change / 🤝 We've welcomed FlyByWire, Mockoon &amp; PoEdit as new partners / 💸 We had a successful second investment round, with 3 new investors and +€1M raised / ✌️ Summer has been fun for our team, which is now also bigger!</p><h2 id="languages-cdn-and-context-tabs">📌 Languages, CDN & context tabs <a class="markdownit-header-anchor" href="#languages-cdn-and-context-tabs">🔗</a></h2><p>While our team members have taken turns enjoying their summer (see their holiday snaps throughout the article), we've kept finessing our software to make your l10n &amp; i18n experience even smoother. You can now try out our <a href="https://localazy.com/blog/release-update-improved-context-tabs-for-comments-and-translations">updated context tabs</a> and our new <a href="https://localazy.com/docs/general/organizations">Organization Billing</a> &amp; Reporting features, making your management tasks easier whenever you log into your projects.</p><p>Localazy's <a href="https://localazy.com/blog/deliver-translated-files-localazy-cdn-tutorial">Content Delivery Network</a> keeps evolving: the <a href="https://localazy.com/docs/general/ota-updates">OTA</a> and <a href="https://localazy.com/docs/general/language-cdn">CDN</a> features can currently be enabled or turned off separately from your Translation Delivery tab. We've also set character limits, <a href="https://localazy.com/blog/release-update-new-filters-quick-editing">leveled our toolbar up</a>, and added support for Korean &amp; Norwegian in our <a href="https://localazy.com/dictionary/deepl">DeepL</a> integration, available in our Autopilot Plan. Finally, we've implemented a few design improvements in our UI, including <a href="https://localazy.com/blog/release-update-new-project-settings-releases-in-ui">a new Release Management interface</a> that we hope you like. </p><p><strong>Get all the details in our latest release updates: </strong></p><p><a href="https://localazy.com/blog/release-update-reporting-new-cdn-interface-improved-billing">August </a>⛱️ | <a href="https://localazy.com/blog/release-update-new-filters-quick-editing">May </a> 🌼 | <a href="https://localazy.com/blog/release-update-new-project-settings-releases-in-ui">April</a> 🌧️ | <a href="https://localazy.com/blog/release-update-add-new-languages-from-your-address-bar">March</a> 🌽</p><blockquote>Here for the first time? Don't fret - check out our <a href="https://localazy.com/blog/how-to-localize-translate-website-in-three-steps-localazy">three-step guide</a> to localize your product for the first time and our newest YouTube tutorial ⬇️</blockquote><figure class="kg-card kg-embed-card kg-card-hascaption"><iframe width="200" height="113" src="https://www.youtube.com/embed/tsjaxH43Yko?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="First Translation with Localazy: Demo &amp; Tips"></iframe><figcaption>Please note that this is also our first time trying this kind of video production. We hope to step up our game as we get more experience! 😅</figcaption></figure><h2 id="leveling-up-our-console-features">🪄 Leveling up our console features <a class="markdownit-header-anchor" href="#leveling-up-our-console-features">🔗</a></h2><p>Did you know that our good ol' Developer Console has been revamped? Apart from fixing some issues with keys, formats, and other features, we've also introduced the following:</p><ul><li><strong>Language Stats</strong> - See a consolidated overview of the state of your project source and target keys &amp; translations.</li><li><strong>New Reporting summary</strong> - excellent for agencies and in-house translators.</li><li><strong>Import/Export - </strong>reduce friction with external CAT tools.</li><li><strong><a href="https://localazy.com/docs/general/webhooks">Webhooks</a></strong> - see the logs from our console.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/image-5.png.webp" class="kg-image" alt loading="lazy" width="2000" height="1315" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/image-5.png.webp 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/image-5.png.webp 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/image-5.png.webp 1600w, https://ghost.localazy.com/content/images/2023/09/image-5.png.webp 2000w" sizes="(min-width: 720px) 720px"><figcaption>Head to Project Settings or the Localazy API to find your webhook configuration.</figcaption></figure><p>You can now <a href="https://localazy.com/blog/release-update-add-new-languages-from-your-address-bar">add new languages</a> directly from your browser as well. Try this feature out by typing <a href="https://language.new/"><em>language.new</em></a><em> </em>into your address bar!</p><h2 id="integrations-galore">🧩 Integrations galore <a class="markdownit-header-anchor" href="#integrations-galore">🔗</a></h2><p>Reducing friction during localization processes is one of our main goals. That's why integrations are an essential piece in the Localazy puzzle - and we've kept extending them. We've proudly presented two new alliances this year: <a href="https://localazy.com/features/strapi-localization-plugin">Strapi</a> and <a href="https://www.youtube.com/watch?v=7ascMqEXZ-c">Storyblok</a>. Our <a href="https://localazy.com/blog/how-and-why-we-built-figma-localization-plugin">Figma</a> integration has continued to be finessed as well, along with other native plugins, and we're excited for new integrations ahead. Stay tuned!</p><blockquote>"In the summer of 2020, we worked hard and opened Localazy to 40+ more file formats and frameworks. In 2021, we finally got to black numbers. I'm so excited that this summer was no different and we kept our neverending energy and added many advanced features that makes your localization even simpler" - Václav Hodek, CEO</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/image-6.png" class="kg-image" alt loading="lazy" width="998" height="768" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/image-6.png 600w, https://ghost.localazy.com/content/images/2023/09/image-6.png 998w" sizes="(min-width: 720px) 720px"><figcaption>A snapshot of a hiking route in the Tatra mountains taken by Petr on his vacation in Poland.</figcaption></figure><h2 id="gist-love-at-first-sight">💘 GIST: love at first sight  <a class="markdownit-header-anchor" href="#gist-love-at-first-sight">🔗</a></h2><p>There are many project management systems out there, but Localazy has recently settled for one. Due to our recent team growth and increasing demand for prioritization, we have enrolled on <a href="https://itamargilad.com/gist-framework/">GIST</a> to ensure that all members have transparent access &amp; an overview of our daily task connections. We are happy to report that it's helped us stay aligned with company priorities while doing the best we can daily. ✌️</p><p>We've also implemented the <a href="https://jobs-to-be-done.com/jobs-to-be-done-a-framework-for-customer-needs-c883cbf61c90">Jobs-To-Be-Done framework (JTBD)</a>, which now serves as a connective tissue between our product and brand team. This has been an effort initiative of our PM <a href="https://localazy.com/blog/meet-the-localazy-team-jan-bilek-product-manager">Jan Bílek</a> and our CMO <a href="https://localazy.com/blog/author/jakub-dubec">Jakub Dubec</a>, as our CEO points out:</p><blockquote>"We listen to our customers, as we have always done. That's why we've implemented new processes with the help of tools such as JTBD &amp; GIST to bring even more value for them" - Václav Hodek</blockquote><p>Needless to say, we're really excited about the launch of Itamar Gilead's <a href="https://itamargilad.com/book-evidence-guided/">new book</a> coming this September. 👀 Also, props to our newest recruit, Tibor Panák, who's helped us create our own Slack ↔️ Fibery Daily Standup bot 🤖 to stay in sync across the team &amp; keep all the context connected.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/image-5.png" class="kg-image" alt loading="lazy" width="1054" height="788" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/image-5.png 1000w, https://ghost.localazy.com/content/images/2023/09/image-5.png 1054w" sizes="(min-width: 720px) 720px"><figcaption>Reflecting on GIST... 💭 Our full-stack developer David taking a well-deserved break.</figcaption></figure><h2 id="three-new-investors">📈 Three new investors <a class="markdownit-header-anchor" href="#three-new-investors">🔗</a></h2><p>In June, Localazy strengthened its financial muscle with fresh <a href="https://localazy.com/blog/localazy-secures-eu1m-to-remove-language-barriers-for-1-billion-people-worldwide-in-new-investment-round">funding from JIC Ventures, Garage Angels, and 12Bullets</a>. It was our second investment round, which <a href="https://www.eu-startups.com/2023/06/brno-based-localazy-secures-e1-million-to-streamline-multilingual-processes-in-software-and-digital-products/">boosted our total valuation</a> to €4.5M. Who would have thought we'd be here when we started in the year of the pandemic? We're immensely proud of this achievement and strive to keep delivering outstanding service to our users for many years to come. 💪</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/image-4-1.png" class="kg-image" alt loading="lazy" width="1051" height="709" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/image-4-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/image-4-1.png 1000w, https://ghost.localazy.com/content/images/2023/09/image-4-1.png 1051w" sizes="(min-width: 720px) 720px"><figcaption>Dan, Ondra, and David brainstorming in the woods.</figcaption></figure><h2 id="speaking-out-for-the-earth">🌱 Speaking out for the Earth <a class="markdownit-header-anchor" href="#speaking-out-for-the-earth">🔗</a></h2><p>Community is an inseparable part of Localazy's mission. And climate change is one of the biggest -if not <em>the </em>biggest- threat that humanity is facing. We've combined the superpowers &amp; ease of use of our <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a> tool to launch one of our most beloved initiatives: the <a href="https://localazy.com/blog/empowering-climate-research-shared-translation-memory">Climate Strings Project</a>. 🐝 Our goal? To populate a term repository of +90 languages that helps researchers and stakeholders all around the world to communicate more fluidly about climate issues.</p><p>The initiative has gained some traction in <a href="https://multilingual.com/localazy-launches-a-collaborative-translation-memory-to-fight-the-climate-emergency-through-localization/">media</a> and among <a href="https://localazy.com/blog/translator-pov-climate-strings-project">our own translators</a>, and now we're looking to enroll anyone who cares about this cause and can contribute with a little bit of localization knowledge. </p><p>Even a few words count! <a href="https://localazy.com/p/shared-climate-strings">Join here.</a></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/Share-TM-Interface---2.png" class="kg-image" alt loading="lazy" width="2000" height="1016" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Share-TM-Interface---2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Share-TM-Interface---2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/09/Share-TM-Interface---2.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/09/Share-TM-Interface---2.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>If you speak an African language or dialect, help us populate our newest translation memory!&nbsp;</figcaption></figure><h2 id="word-of-the-month">📖 Word of the month <a class="markdownit-header-anchor" href="#word-of-the-month">🔗</a></h2><blockquote><strong>Resilience</strong><br>The capacity of a community or environment to anticipate and manage climate impacts, minimize their damage, and recover and transform as needed after the initial shock.</blockquote><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.undp.org/publications/climate-dictionary"><div class="kg-bookmark-content"><div class="kg-bookmark-title">The Climate Dictionary | United Nations Development Programme</div><div class="kg-bookmark-description">The Climate Dictionary is an initiative aimed at providing an everyday guide to understanding climate change. It seeks to bridge the gap between complex scientific jargon and the general public, making climate concepts accessible and relatable to individuals from various backgrounds and levels of ex…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://www.undp.org/sites/g/files/zskgke326/files/favicon.ico" alt=""><span class="kg-bookmark-author">UNDP</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://www.undp.org/sites/g/files/zskgke326/files/styles/banner_image_desktop/public/2023-08/undp-the-climate-dictionary-image.png?h&#x3D;a6f8dae2&amp;itok&#x3D;oN43JoAD" alt=""></div></a></figure><p>Translate this powerful term in your language of choice <a href="https://localazy.com/p/shared-climate-strings?origin=%2Fp%2Fshared-climate-strings&amp;signin=google">here</a>.</p><h2 id="in-our-backlog">🗃️ In our backlog <a class="markdownit-header-anchor" href="#in-our-backlog">🔗</a></h2><p>As usual, we've got a ton of improvements, updates, and new features cooking. Here's what we can tease for now:</p><ul><li><strong><a href="https://www.intercom.com">Intercom</a> &amp; <a href="https://directus.io">Directus</a> CMS plugins</strong> in development.</li><li><strong>Improved translation of placeholders via MT</strong> coming - meaning that the batch MT translation will not translate placeholders anymore.</li><li><strong>Vastly improved integration guides</strong> in the process to help our users better.</li></ul><p>Keep your eyes peeled because we're also working - slowly but surely - on a feature that has been very much hyped everywhere lately... Although we're still playing around with some knick-knacks, as you can see below. 🤪</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/image-3.png" class="kg-image" alt loading="lazy" width="923" height="223" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/image-3.png 600w, https://ghost.localazy.com/content/images/2023/09/image-3.png 923w" sizes="(min-width: 720px) 720px"><figcaption>We have something big in store... 🤖</figcaption></figure><h2 id="spring-team-building">🍻 Spring team-building  <a class="markdownit-header-anchor" href="#spring-team-building">🔗</a></h2><p>As you may know, the Localazy team is fully remote, so we organize seasonal team-buildings to connect in person and develop fresh ideas. Our latest event took place in Praděd at the beginning of June. </p><p>Needless to say, a lot of brainstorming happened - but fun was also capital. Our team went on a 20km hike, shared "a few" beers 🍻, and engaged in a mini tabletop game tournament, where our CEO proved his chess mastery yet again, and every evening ended with an <em><a href="https://store.epicgames.com/es-ES/p/overcooked-2">Overcooked 2</a></em> session. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/hacka-2.png" class="kg-image" alt loading="lazy" width="1062" height="763" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/hacka-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/hacka-2.png 1000w, https://ghost.localazy.com/content/images/2023/09/hacka-2.png 1062w" sizes="(min-width: 720px) 720px"><figcaption>Teamwork makes the dream work! - Deep concentration at the retreat 🤫</figcaption></figure><p>As our Marketing &amp; Customer Success specialist <a href="https://localazy.com/blog/author/petr-hodny">Petr</a> says...</p><blockquote>"We played 4 at the same time on one screen... That was a true teambuilding experience!"</blockquote><h2 id="we-keep-growing">👪 We keep growing! <a class="markdownit-header-anchor" href="#we-keep-growing">🔗</a></h2><p>Speaking of our team, we've just welcomed three new professionals in our ranks: Marketing Engineer <a href="https://www.linkedin.com/in/tibor-panak-2641b7247/">Tibor Panák</a>, Branding &amp; Visual Communications Specialist <a href="https://www.linkedin.com/in/filip-jež-6238a633/">Filip Jež</a> &amp; a new Integrations &amp; FE Developer. Tibor is a self-taught junior developer from Brno who was looking for a project to help build continuously - until he found Localazy! He plays guitar &amp; piano and loves backpacking to unusual places around the world. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/tibi-3.png" class="kg-image" alt loading="lazy" width="1077" height="830" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/tibi-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/tibi-3.png 1000w, https://ghost.localazy.com/content/images/2023/09/tibi-3.png 1077w" sizes="(min-width: 720px) 720px"><figcaption>Tíbor loves the outdoors - here he's pictured near the Tatras after planting some trees.</figcaption></figure><!--kg-card-begin: markdown--><blockquote>
<p>&quot;The first weeks were quite difficult, because I faced various unknown challenges right from the start. Luckily, the team helped a lot. Work here is definitely not monotonous!&quot; - Tíbor Panak</p>
</blockquote>
<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><blockquote>
<p>&quot;My first months have been focused on learning: from concepts and processes to concrete implementations as a marketing designer whose primary focus is visual communication&quot; - Filip Jež</p>
</blockquote>
<!--kg-card-end: markdown--><p>Originally from Vyškov, Filip is an old Localazy freelance collaborator who has recently hopped into wider responsibilities within our team. A graphic design expert, Filip also studied apparel &amp; fashion design and now lives with his wife and his dogs, Eywa &amp; Django, and cat, Quentin, in his hometown. He's been doing "aggressive inline skating" for 15 years, although he's also keen on breakdancing and snowboarding. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/filip-2.png" class="kg-image" alt loading="lazy" width="1084" height="843" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/filip-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/filip-2.png 1000w, https://ghost.localazy.com/content/images/2023/09/filip-2.png 1084w" sizes="(min-width: 720px) 720px"><figcaption>There's not an adventure Filip can resist!</figcaption></figure><h2 id="what-our-team-is-up-to">🏃 What our team is up to <a class="markdownit-header-anchor" href="#what-our-team-is-up-to">🔗</a></h2><p>So now for the part where we talk about the team shenanigans! Summer has been eventful for all of us: <a href="https://localazy.com/blog/author/jan-bilek">Jan</a> hiked in the Krkonoše mountains,  <a href="https://localazy.com/blog/meet-the-localazy-team-zuzka-localization-services-manager">Zuzka</a> relaxed on the Italian coast, and <a href="https://localazy.com/blog/author/jakub-dubec">Jakub</a> went on a theme-park adventure where he rode 40 attractions (!) with his kids. In March, our CMO actually became a dad again to a beautiful girl named Josephine - so congratulations are in order for him and his partner Katka! 👶</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/K-K-b-transparent.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/K-K-b-transparent.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/K-K-b-transparent.png 1000w, https://ghost.localazy.com/content/images/2023/09/K-K-b-transparent.png 1200w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/09/image.png" class="kg-image" alt loading="lazy" width="1178" height="1018" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/image.png 1000w, https://ghost.localazy.com/content/images/2023/09/image.png 1178w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://twitter.com/JakeDubec/status/1644391162453557249 ">@JakeDubec on Twitter</a></figcaption></figure><p>Our content wizard <a href="https://localazy.com/blog/author/petr-hodny">Petr</a> also had a lot to celebrate, as he just finished his Master's Degree in Business Management. We bet he enjoyed his travels to Poland &amp; his <a href="https://www.youtube.com/watch?v=-BsBAInXTmc">BMW community event</a> with the satisfaction of a job well done!</p><p>Meanwhile, our CEO extraordinaire, <a href="https://localazy.com/blog/author/vaclav-hodek">Václav</a>, has been immersed in intense work sessions but has also found time to play volleyball with Vašík, his 7-year-old, and to relax with a cold beer. Our star designer <a href="https://localazy.com/blog/author/ondrej-pucek">Ondřej</a>, has relocated to Estonia, where he's started exploring the marvels of the national bogs.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Three-photos-transparent.jpg" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Three-photos-transparent.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Three-photos-transparent.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Three-photos-transparent.jpg 1200w" sizes="(min-width: 720px) 720px"></figure><p>Next, <a href="https://twitter.com/eMBijo">Filip</a> is expecting his first child and has spent the summer with the family accordingly, relaxing at home near the garden and the grill. At the same time, <a href="https://localazy.com/blog/author/david-vaclavek">David</a> has enjoyed rollerblading, squash &amp; hikes in Austria as he started planning his upcoming trip to Iran. Lastly, <a href="https://localazy.com/blog/meet-the-localazy-team-dan-business-development">Dan</a> has continued working on his new house - to be finished hopefully in November - and <a href="https://localazy.com/blog/author/marta-g-coloma">Marta</a> picked up the first fruits of the harvest in the Portuguese countryside.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Three-photos-transparent-2.jpg" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2023/09/Three-photos-transparent-2.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/09/Three-photos-transparent-2.jpg 1000w, https://ghost.localazy.com/content/images/2023/09/Three-photos-transparent-2.jpg 1200w" sizes="(min-width: 720px) 720px"></figure><p>Oh, and we all shared Barbie memes on Slack, of course. 💅</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/09/Meme-idea-1-1.png" class="kg-image" alt loading="lazy" width="540" height="558"></figure><h2 id="more-from-the-blog">📰 More from the blog <a class="markdownit-header-anchor" href="#more-from-the-blog">🔗</a></h2><p>If you haven't looked at our blog for a bit, here are some highlights you won't want to miss: from handy <a href="https://localazy.com/blog/figma-as-your-source-of-truth-the-new-approach-to-streamlining-localization#:~:text=each%20plan%20activation.-,Figma%20as%20Your%20Source%20of%20Truth:%20The%20New%20Approach%20to,products%20to%20a%20global%20audience.">Figma</a> &amp; <a href="https://localazy.com/blog/save-time-and-money-on-translations-of-duplicates-with-strapi-and-localazy">Storyblok</a> guides to new deep dives about localization for digital agencies, CDN providers, and the ever-present AI debate.</p><ul><li><a href="https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation">Translation Technology: Exploring the Pros and Cons of AI Translation</a></li><li><a href="https://localazy.com/blog/power-of-localization-why-digital-agencies-cant-afford-to-ignore-this-service">The Power of Localization: Why Digital Agencies Can't Afford to Ignore This Service?</a></li><li><a href="https://localazy.com/blog/top-11-cdn-providers-for-multilingual-content-delivery">Top 11 🌐 CDN Providers for Multilingual Content Delivery</a></li></ul>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/09/localazy-bridging-gap-2-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Partner Highlight: Taking to the simulation skies with FlyByWire 🛫]]></title>
            <link>https://localazy.com/blog/interview-taking-to-the-simulation-skies-with-flybywire</link>
            <guid isPermaLink="false">interview-taking-to-the-simulation-skies-with-flybywire</guid>
            <pubDate>Wed, 06 Sep 2023 15:57:27 GMT</pubDate>
            <description><![CDATA[How can you scale a community-driven game software project with 1M+ downloads and 4000 commits? Easy enough: relying on the power of crowd-sourced localization. Find out how FlyByWire localized their flyPad to 33 languages in a matter of weeks in this interview with their aircraft-enthusiast team.]]></description>
            <content:encoded><![CDATA[<p>If you've ever flown, chances are you've probably boarded an <a href="https://en.wikipedia.org/wiki/Airbus_A320_family#:~:text=In%20October%202019%2C%20the%20A320,with%20more%20than%20340%20operators.">Airbus A320</a> at some point. It's one of the most popular aircraft, <a href="https://simpleflying.com/airbus-a320-largest-fleet/">chosen by many airlines around the world</a> for their commercial routes. If you haven't explored an A320, there's still hope: You can experience it anyway thanks to <a href="https://flybywiresim.com">FlyByWire</a>. But this time from their virtual cockpit, where flight simulation enthusiasts and real-life certified pilots gather around the joystick to experience an immersive flight simulation.</p><p>Since 2020, thousands have joined <a href="https://discord.com/invite/flybywire">their Discord</a> 👾 to improve the aircraft, support users, and share their knowledge. With over 600 live flights, 4000+ commits, and more than a million downloads, this popular project for <a href="https://www.flightsimulator.com">Microsoft Flight Simulator</a> has now implemented Localazy onto their <a href="https://docs.flybywiresim.com/fbw-a32nx/feature-guides/flypados3/">flyPad</a>.</p><p>Today, we analyze how they added 33 languages to the tablet with the help of their own community. This time, we decided to make it a double feature - meet <strong>Valastiri</strong> from marketing and <strong>Mav</strong>, business specialist by day and developer and tester by choice. Both have let us into the flight-sim community to talk about game localization, developing simulation solutions, and fostering a spirit of collaboration online. Time to board! 🧳 🛩️</p><!--kg-card-begin: html--><iframe width="100%" height="560px" src="https://www.youtube.com/embed/OEUCjcW32Hw" title="FlyByWire Simulations A32NX Official Livery Reveal" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><h2 id="what-is-flybywire">✈️ What is FlyByWire? <a class="markdownit-header-anchor" href="#what-is-flybywire">🔗</a></h2><p><strong>Hey, guys! Stoked to have you here. What is FBW's vision?</strong></p><p><em>Valastiri: </em>FlyByWire Simulations is a community-driven open-source organization dedicated to creating realistic simulations of the <a href="https://aircraft.airbus.com/en/aircraft/a320-the-most-successful-aircraft-family-ever/a320neo">Airbus A320neo</a> and A380 for Microsoft Flight Simulator 2020. Our vision is driven by the concept of removing expensive barriers of entry to high-fidelity and realistic aircraft simulations by providing the same experience (or better) to aviation enthusiasts for free.</p><p><em>Mav:</em> Exactly. Microsoft's idea is amazingly visually great and also aspires to be as realistic physically as possible. However, when they delivered the Airbus A320 model, it was very shallow in terms of technical depth and realness, so a part of our team started to improve the aircraft that came with the software. 🧑‍💻 At some point later, we actually created a separate aircraft simulation for everyone to enjoy.</p><p><strong>Fascinating! Where does the term "fly-by-wire" actually come from?</strong></p><p><em>M: </em>It is actually <a href="https://en.wikipedia.org/wiki/Fly-by-wire">a technology</a> used by Airbus and other manufacturers to control the aircraft. The aircraft has a horn from which you can steer it. In Airbus' aircrafts it is usually a stick that looks like a joystick. Traditional joke-controlled aircrafts have cables to the control surfaces, so the cable is basically pulling the flight controls. Fly-by-wire does that electrically: you really have a joystick in the cockpit, but the aircraft steers those controls by other means, just not by cables. So this is what the term means: an aviation manufacturing technology that uses the joystick to steer the aircraft.</p><p><strong>How did you personally get involved with the project? And what is your role within it?</strong></p><p><em>V: </em>I originally joined the team in 2020 as a graphics designer working on creating various media for our social media platforms to help establish branding norms. Since then, our media team has worked on rebranding into our established visuals that you see today. I currently wear multiple hats within the organization as a core team member, serving functions as a moderator on our Discord and primarily assisting in managing our media team functions. I also spend a significant amount of time ensuring <a href="https://docs.flybywiresim.com">our documentation</a> is up-to-date alongside our Stable Version releases, authoring some of our blog posts through <a href="https://flybywiresim.com/notams/">our NOTAMs series</a>, and providing community support on our Discord.</p><blockquote>"Our vision is driven by the concept of removing expensive barriers of entry to high fidelity and realistic aircraft simulations by providing the same experience -or better- to aviation enthusiasts for free"</blockquote><p><em>M:</em> There's a broad range of backgrounds involved in the project. I'm a computer scientist, but I only do programming as a hobby. My professional life is more about the business. I actually started doing flight simulation in 2020, when the new MFS came out. I found the project, and I started learning to operate an Airbus A320, and then I thought I'd help the community. </p><p>We connect via Discord, where we have a huge server with currently 80,000 users. 🤝 At that time, it was probably about 30,000 or 40,000 or even less, but it already was the main source for people to get help. I started helping in the support channels and writing documentation (60-70% I've written myself), and now we have a bigger team. After that, I also started developing part of the aircraft.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/pexels-rafael-cosquiere-2064123.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/pexels-rafael-cosquiere-2064123.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/pexels-rafael-cosquiere-2064123.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/08/pexels-rafael-cosquiere-2064123.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/08/pexels-rafael-cosquiere-2064123.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="nurturing-community">🧑‍✈️ Nurturing Community <a class="markdownit-header-anchor" href="#nurturing-community">🔗</a></h2><p><strong>FlyByWire is essentially a community project. How does that work, and what is the weight of that community in the project?</strong></p><p><em>M:</em> It is a not-for-profit community. The core team is about 20-30 people, and not a full-time endeavor. This is a hobby for us. </p><p><em>V: </em>We do have a "core" team of developers, admin, moderators, and media team members that help steer and manage various aspects of our numerous projects. But FlyByWire's volunteer community contributors, now over 130 and growing, have been integral to our success over the years in developing <a href="https://www.youtube.com/watch?v=7L9UDxPdJRA">all manners of realistic simulation</a> of systems and flight in our A32NX product. Without them, we would be hard-pressed to be where we are today. </p><p>In the case of Localazy, it has allowed us to provide an onboard 🔌 <a href="https://www.aircraftit.com/articles/what-is-an-efb/">electronic flight bag</a> (EFB) that is usable in over 20+ languages through our flyPad. Volunteers from around the world have been able to submit their translations and seamlessly integrate them into our aircraft for all of our users to enjoy.</p><p><strong>What are the biggest risks &amp; challenges of working with volunteers?</strong></p><p><em>V: </em>One of our biggest risks is probably having a core member or contributor step away. We'd lose some of the expertise and knowledge each member offers, and it could potentially lead to feature implementation stalling. The great part of being open-source is that anyone interested is able to fill in the gaps and that everyone is welcome back at any time!</p><p><strong>Can you elaborate a bit on your funding? </strong>💸</p><p><em>V: </em>We are primarily funded by donations through <a href="https://opencollective.com/flybywire">our Open Collective</a>. We take any amount of one-time donations and monthly recurring as well. While no team member is paid through this fund, it allows us to ensure costs are covered for the content distribution network (CDN) 🔀 to serve our aircraft through the FBW installer. The fund also allows us to cover costs for attending expos, any hardware-specific or software-specific purchases the team could use if required, and incidental expenses related to development.</p><p><em>M: </em>Yes, we mainly need funding for the servers - we spend about $1,000 USD a month on them because we have so many people that download the aircraft. It's more than 2GB, and everyone downloading it uses a lot of bandwidth. Fortunately, we have a great community in Open Collective 🤗 that sponsors us through donations from $5 on. We even have one donor who actually spent several thousand dollars a month to fund our project; kind of a super fan!</p><p><em>V:</em> Also, Open Collective lets any user <a href="https://opencollective.com/flybywire/transactions">review what we've spent</a> the donations on at any time and see our projected costs for the year to continue serving our products.</p><blockquote><strong>Make a donation to support FlyByWire <a href="http://opencollective.com/flybywire#category-CONTRIBUTE">here</a>. ✈️ 💰</strong></blockquote><p><strong>What is the most challenging part about promoting a community-funded project? What do the marketing efforts look like?</strong></p><p><em>V:</em> Two words. Organic growth. Marketing budgets can run wild, and so we have always relied on the success of the A32NX in its space and the following it has generated organically. We are also always grateful for the external coverage from various flight simulation news outlets and podcasts and for participating in interviews such as this one. </p><p>Our media team being volunteers, including myself, leads to the second biggest challenge – coordination. 🔄 Keeping our community engaged and aware of various project statuses is critical, while also promoting <a href="https://flightsim.to/liveries/flybywire-a32nx/">the hard work </a>that all of our contributors develop for our projects. </p><!--kg-card-begin: html--><iframe width="100%" height="560px" src="https://www.youtube.com/embed/QFYJ3ohcdZA" title="FBW A32NX | Flight Demo with Vatsim @ FSWeekend 2022" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><h2 id="innovation-and-realism">🕹️ Innovation & Realism <a class="markdownit-header-anchor" href="#innovation-and-realism">🔗</a></h2><p><strong>You're expanding the universe provided by Microsoft Flight Simulator. In which fields are you innovating?</strong></p><p><em>V: </em>Our commitment to a realistic simulation of an A320neo is the focal point that sets us apart. We cater to the specific demographic of end-users who want an aircraft that does exactly what the real one would do. Our documentation 📝 and the <a href="https://www.youtube.com/watch?v=3NRXH8h3X9g">flight school channel</a> 🧑‍🏫 on our Discord server provide great learning tools and even allow <a href="https://docs.flybywiresim.com/pilots-corner/beginner-guide/overview/">beginner pilots</a> to learn the complexities of operating a multi-million dollar aircraft.</p><p>Without constraints due to budgets or deadlines, we are free to really complete a feature that truly matches what would be seen in a real aircraft. Everything we have built based on the aircraft configuration we are targeting ensures that its functionality is matched as a real type-rated pilot would expect it, even down to the lesser-known quirks of the flight management system that may seem like bugs.</p><blockquote>"We have a lot of real feedback from real pilots in our team that our aircraft feels real in the simulation. And if anything is wrong, we immediately get alerted. They're valuable assets to our community"</blockquote><p><strong>Certified pilots use FlyByWire to train. Can you talk us through the real-life applications that your simulator has?</strong></p><p><em>V: </em>We advocate that our aircraft is for simulation use only. We do aim for proper 1:1 simulation of systems; however, our product doesn't replace what proper training and education from accredited facilities would provide.</p><p><em>M: </em>Having said that, we are lucky to have a lot of pilots in the community, even within the team. When we started the whole project during COVID-19, a lot of them had been laid off or had been on furlough at home. But if you are a 👩‍✈️ A320 Type Rating pilot, you have to go through an examination at least once a year to keep your license. They couldn't go into the real simulators, they couldn't fly, so what did they do? They started using MFS and "hopped" on our aircraft to just train and keep up to date. So we have a lot of real feedback from real pilots in our team that our aircraft feels real in the simulation. And if anything is wrong, we immediately get alerted. They're valuable assets to our community.</p><p>Additionally, if they want to be visible as pilots on our server, we expect that they offer proof of their certification. After that, they get a special role and a special color, so everybody knows this is a pilot, and they can rely on their knowledge. 👌</p><h2 id="localization-an-experience-enhancer">🪁 Localization: an experience enhancer <a class="markdownit-header-anchor" href="#localization-an-experience-enhancer">🔗</a></h2><p><strong>How did you decide to implement Localazy?</strong></p><p><em>M: </em>It came into play with <a href="https://flybywiresim.com/notams/flypados3/">our tablet</a>. In the aircraft world, every pilot has one where they have special programs for planning the routes, calculating take-off and landing, altitude, direction... and many other applications. In the simulation, our FlyPad allows us to help users to control and configure it. You can, for example, import flight plans or settings for the aircraft. Our motto is "Everything needs to be 100% realistic". But the tablet? This is where we have freedom because it's different from airline to airline anyway. </p><p><strong>So, you created your own interface.</strong></p><p><em>M:</em> Exactly. The flyPad is built from the ground up. We've spent a lot of time developing it. ➡️ ⚙️ There's a menu with settings where you can control how to talk to air traffic control as a part of the simulation. You can calculate things like landing, descending, etc. The FlyPad is <a href="https://www.youtube.com/watch?v=HgDp7EuSmng">quite popular within the community</a>: we've invested a lot of time in its look and feel, and when we worked on the third version, we decided to have translations as well. We don't do multiple languages anywhere else in the aircraft, where English is always the language of choice. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/08/flypad-languages.png" class="kg-image" alt loading="lazy" width="1000" height="673" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/flypad-languages.png 600w, https://ghost.localazy.com/content/images/2023/08/flypad-languages.png 1000w" sizes="(min-width: 720px) 720px"><figcaption>The FBW team used Localazy to improve the in-flight experience provided by their tablet.</figcaption></figure><p><strong>Why did you choose Localazy for this specific feature?</strong></p><p><em>M:</em> I was the one who implemented it later on, although I didn't choose it. The person who started to look into it, Erick, is currently not active because he's busy in real life, as we say; but he really liked Localazy and found it really easy to use. He tried a small prototype to see how that looked, and we liked it, so we started implementing it into the product and got a subscription that we also paid, thanks to our donations. Then, we really started to extend the whole process. </p><blockquote><a href="https://localazy.com/compare-plans">Compare and find</a> the Localazy plan that best fits your needs!</blockquote><p><strong>How many languages have you tackled yet?</strong></p><p><em>M: </em>The flyPad has currently over 30 languages. We had the whole thing translated in a matter of weeks! 🏃 We did a little marketing around it so the community could help, and they loved to support us. If your users love your product, it is actually very easy to have it localized. </p><p><strong>What is your favorite feature? And what could be improved or added?</strong></p><p><em>M:</em> We love the ease of use. That we could just share a link here, create an account there, and... basically start translating. We didn't have to test it for long because we really liked your interface. It simply worked! 😀 <a href="https://localazy.com/docs/api/introduction">We have included the Localazy API</a> in our build process so that we can get the latest approved translations every time we build our product.</p><p><strong>What do you think about our autopilot and machine learning features? </strong></p><p><em>M:</em> Oh, I love them. One of the features I desperately wanted to try was <a href="https://localazy.com/dictionary/deepl">DeepL</a> because I use it a lot in my job, and it's probably the best translation tool - especially for German, as it's quite accurate. It also works very well for localizing, so I was happy to have access to it.</p><p>I also like the <a href="https://localazy.com/docs/general/reviewing-translations">review</a> feature a lot because if I'm reviewing a language I don't speak (as we can't always use dedicated reviewers in all languages), the reverse translation helps us a lot. </p><p><strong>Why do you think localization is important?</strong></p><p><em>M: </em>There are two main benefits for us: one is the operative one. If you have a non-standard tablet in aviation, it's good to have it in other languages so that non-native speakers say, in Russia, have an easier time using it. The other reason is community inclusion. When you're not part of one of these communities, it's hard to express how people love to contribute to the project. Translation was really one of the features they loved, and we got a lot of feedback from them. Although it's calmed down now because it's working, in the beginning, the interaction with the community because of localization was amazing.</p><blockquote>"If your users love your product, it is actually very easy to have it localized"</blockquote><p><strong>Aside from Localazy, what are other products you really like to use on your own and that you recommend?</strong></p><p><em>M: </em>In the flight simulation area, there's actually a huge industry around building simulation hardware, like artificial cockpit parts that you can put on your desk, or software that feeds real-life air traffic into the simulator,. There are a few ones I'd recommend. I love <a href="https://www.spadnext.com/home.html">SPAD.neXt</a>, as it helps me connect all kinds of hardware to the simulator, like my <a href="https://www.thrustmaster.com/es-es/products/tca-sidestick-airbus-edition/">Thurstmaster Airbus controller</a> or my <a href="https://www.elgato.com/us/en/p/stream-deck-mk2-black">Elgato Stream Deck</a>.</p><p>As for software development tools, I really like:</p><ul><li>The coding tools from <a href="https://www.jetbrains.com">JetBrains</a> 🔧 </li><li>The <a href="https://github.com/features/copilot">co-pilot feature</a> on GitHub 🤖</li></ul><h2 id="the-future-of-flight-simulators">🛩️ The future of flight simulators <a class="markdownit-header-anchor" href="#the-future-of-flight-simulators">🔗</a></h2><p><strong>Any exciting feature you're working on as of now?</strong></p><p><em>V:</em> We have a few great features coming to the A32NX that expand upon the functionality of the flight management system. Our largest endeavor currently is our A380X, our upcoming aircraft based on the <a href="https://www.airbus.com/en/products-services/commercial-aircraft/passenger-aircraft/a380">Airbus A380</a> "Queen of the Skies."</p><p><em>M: </em>The community is crazy about it! 🤩 It's a two-story plane, <a href="https://www.independent.co.uk/travel/news-and-advice/airbus-a380-plane-jet-france-b2317888.html">the biggest in the world</a>. There's no other simulation for it, so we would be the first to do it. We've been working on it for over two years, and it's a huge project. We have a nice model, and we're now working on details like the system. We'll have the same tablet, but it will probably be extended, which means that we'll go back to Localazy for that. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/pexels-corentin-detry-6361842.jpg" class="kg-image" alt loading="lazy" width="2000" height="1429" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/pexels-corentin-detry-6361842.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/pexels-corentin-detry-6361842.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/08/pexels-corentin-detry-6361842.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/08/pexels-corentin-detry-6361842.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>One project I'm also working on related to Localazy is 🖲️ button descriptors (tool tips), a feature that is present in MFS. When you use your mouse and hover it over a button or switch, then you get a description tool that professional pilots aren't interested in, but that flight simmers that use the simulation as a game like, as they need to understand what every button does and how do they use it. These tool tips are something I see possible to implement now with Localazy as well, so you can configure the flight simulator to be, for example, in Spanish and then have all the tools in Spanish as well. Plus, we recently released the <a href="https://docs.flybywiresim.com/pilots-corner/advanced-guides/flight-guidance/vertical-guidance/overview/">vertical navigation</a> feature to the community, and they're super happy with it.</p><p><strong>And what do you think – how will the gaming and simulation industry look like in about ten years from now?</strong></p><p><em>M: </em>It will get even more realistic with time. One problem right now for many of our users is still the ability of their PCs to process the simulation. For example, if you have MFS 2020 right now with full settings, you need an expensive graphics card, an expensive CPU, or, simply put, an expensive computer. But if you have the power, it's incredibly realistic. In a few years' time, a flight simmer will basically be able to be completely immersed in that experience.</p><p>With all the AI buzz, I also think developer work will evolve. In 10 to 20 years, the main work of a developer will be to understand business problems: find the real issue and then tell the AI what you need in terms of code - this has already started with tools like GitHub Co-Pilot, which suggests full code blocks while you are typing.</p><p><strong>Thank you, Mav &amp; Valastiri, for your time and passion! </strong>🔥 <strong>If a spark has ignited within you to try flight simming, go ahead and join FBW's </strong><a href="https://discord.com/invite/flybywire"><strong>Discord</strong></a><strong> and </strong><a href="https://github.com/flybywiresim"><strong>GitHub</strong></a><strong>, where everybody is welcome to suggest and improve the product.</strong></p><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? We will promote your product on our blog, and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="https://localazy.com/community/ambassadorship-program/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote><p></p><p><br><br></p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/08/Localazy-Interview-FlyByWire_02.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[8 reasons why delivering translations via Localazy CDN is a good idea]]></title>
            <link>https://localazy.com/blog/8-reasons-why-delivering-translations-via-localazy-cdn-is-a-good-idea</link>
            <guid isPermaLink="false">8-reasons-why-delivering-translations-via-localazy-cdn-is-a-good-idea</guid>
            <pubDate>Wed, 18 Dec 2024 11:34:47 GMT</pubDate>
            <description><![CDATA[The Localazy Content Delivery Network is a fantastic solution to deliver your multilingual content to your users and customers directly within minutes of publishing your changes. Learn why it's a great idea to start using it for your projects today!]]></description>
            <content:encoded><![CDATA[<p>Our <a href="https://localazy.com/features/language-cdn">language CDN</a> allows you to download translated files directly from multiple data centers located all over the world to ensure your users get them with minimal latency.</p><p>Built on top of Amazon AWS, it’s a reliable and fast way to update translations automatically without any additional action needed.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/dzZyAFk9c-4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="Localazy CDN: How does it work? | Interview with Localazy’s CEO, Václav Hodek"></iframe></figure><p><strong>Learn the 8 reasons why delivering translations via Localazy CDN directly to your users is a good idea!</strong></p><h2 id="1-fully-automated-localization">⚙️ 1. Fully automated localization <a class="markdownit-header-anchor" href="#1-fully-automated-localization">🔗</a></h2><p>Integrate Localazy with your stack, and <a href="https://localazy.com/docs/cli/the-basics">upload localizable files automatically</a>; let us localize them and download translated files from Localazy Content Delivery Network anywhere in the world. Once Localazy is integrated with CDN, you no longer need to touch the localization process!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/CDN.png" class="kg-image" alt loading="lazy" width="1024" height="1024" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/CDN.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/CDN.png 1000w, https://ghost.localazy.com/content/images/2023/08/CDN.png 1024w" sizes="(min-width: 720px) 720px"></figure><blockquote>See the list of <a href="https://localazy.com/integrations">supported integrations</a>.</blockquote><p>Localazy also works seamlessly with the <a href="https://localazy.com/docs/general/releases">Releases feature</a>, allowing you to stay in control of the distribution while not having your hands tied during development.</p><p>All your release tags are automatically available so that you can serve the fresh files for your testing, and once you are sure of their quality, you can push them to production. When ready, just publish the release, and it’s available quickly on the CDN.</p><h2 id="2-manage-everything-in-localazy-and-leave-the-rest-to-us">🤝 2. Manage everything in Localazy and leave the rest to us <a class="markdownit-header-anchor" href="#2-manage-everything-in-localazy-and-leave-the-rest-to-us">🔗</a></h2><p>Upload your localizable files to Localazy, manage translations easily, and deliver them through CDN without additional action.</p><p>We make your files available through Localazy Content Delivery Network and add useful metadata with versions, available languages, plural rules, etc. You can build a fully-featured localized solution with language switching on top of our CDN and manage your product or service localization comfortably from Localazy.</p><p>We take care of everything for you, so you can focus on building your product or app.</p><blockquote>Read a success story: <a href="https://localazy.com/blog/case-study-rouvy-localization#falling-in-love-with-localazy-cdn" rel="noopener noreferrer">How ROUVY fell in love with Localazy CDN</a></blockquote><h2 id="3-versatile-and-easy-to-implement">🧑‍💻 3. Versatile and easy to implement <a class="markdownit-header-anchor" href="#3-versatile-and-easy-to-implement">🔗</a></h2><p>Localazy CDN can be implemented in a variety of user-facing interfaces. Use your favorite framework and i18n library, then just fetch the metadata file, and serve the language files via CDN directly to your users. No need for frequent rebuilds when a typo needs fixing.</p><p>Localazy CDN works out of the box with your current architecture, and you don't need to pay extra attention to configuration, provisioning, scaling, invalidation, content uploads, etc.</p><h2 id="4-reliable-and-secure-delivery">🔐 4. Reliable & Secure Delivery <a class="markdownit-header-anchor" href="#4-reliable-and-secure-delivery">🔗</a></h2><p>Built on top of Amazon technologies, Localazy CDN is a reliable way to deliver your language files to end-users.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/Reliable-delivery.png" class="kg-image" alt loading="lazy" width="1456" height="816" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/Reliable-delivery.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/Reliable-delivery.png 1000w, https://ghost.localazy.com/content/images/2023/08/Reliable-delivery.png 1456w" sizes="(min-width: 720px) 720px"></figure><p>Your localization files are stored on <a href="https://aws.amazon.com/s3/">Amazon S3</a>, providing an impressive <strong>99.99% uptime</strong>. Everything is then delivered through <a href="https://aws.amazon.com/cloudfront/">Amazon CloudFront</a>, a distributed CDN that makes it incredibly reliable.</p><p>All files are cached and delivered globally through multiple data centers. Even if some of the networks experience issues, the data is still accessible on different nodes, meaning your end users won’t encounter any severe downtime.</p><p>All files on our CDN are available through a secured HTTPS connection. No matter what files you deliver, they are safe with us!</p><h2 id="5-worldwide-coverage">🌍 5. Worldwide coverage <a class="markdownit-header-anchor" href="#5-worldwide-coverage">🔗</a></h2><p>With data centers worldwide, your localizable files are available with minimal latency contributing to the great experience of your product or service. Localazy CDN connects users to their nearest low-latency edge location. This is often much closer to the user than your own origin server, creating a shorter journey for the translation files to travel. Overall, thanks to CloudFront, Localazy CDN lowers loading time for your users.</p><h2 id="6-scales-as-you-grow">📈 6. Scales as you grow <a class="markdownit-header-anchor" href="#6-scales-as-you-grow">🔗</a></h2><p>Built on top of proven and scalable technologies, you don’t need to worry about whether you have ten users or a million users. We serve terabytes of data and hundreds of millions of requests monthly. With monthly costs starting as low as $1 for hobby apps and niche products.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/image-10.png" class="kg-image" alt loading="lazy" width="1168" height="596" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/image-10.png 1000w, https://ghost.localazy.com/content/images/2023/08/image-10.png 1168w" sizes="(min-width: 720px) 720px"></figure><h2 id="7-fair-and-transparent-pricing">💰 7. Fair and transparent pricing <a class="markdownit-header-anchor" href="#7-fair-and-transparent-pricing">🔗</a></h2><p>We only charge you for your actual usage. Whether you serve ten users or twenty million users, you pay for what you use. The pricing for Localazy CDN is based on consumed resources - HTTPS requests, data transfers, and resources associated with publishing your changes across the network. </p><p>For example, if your translation file has ~50 kB, you make 50 changes to it during the month, and you deliver it to 1,000,000 users per month; the price result is only $30! </p><p>How is it calculated? </p><ul><li><strong>Data transfers</strong> <code>(1,000,000 * 50kB) * $0.5/GB = $23.8</code></li><li><strong>HTTPS requests</strong> <code>(1,000,000 / 1000) * 0.005 = $5</code></li><li><strong>Releases published</strong> <code>50 * $0.01 = $0.5</code></li></ul><p>Total price per month = <code>$29.3</code></p><blockquote>Learn more and see more examples in the <a href="https://localazy.com/docs/cdn/cdn-pricing">Localazy CDN Pricing</a></blockquote><p>Considering the fact that Localazy CDN works out of the box and is a fully managed service, it can significantly reduce your overhead costs and TCO.</p><blockquote><em>Total cost of ownership (TCO) is an estimation of the expenses associated with purchasing, deploying, using and retiring a product or piece of equipment. TCO, or actual cost, quantifies the cost of the purchase across the product's entire lifecycle</em></blockquote><h2 id="8-trusted-by-international-brands">🚩 8. Trusted by international brands <a class="markdownit-header-anchor" href="#8-trusted-by-international-brands">🔗</a></h2><p>Localazy CDN has been in our offering from the beginning and has already proved itself by delivering several billion files worldwide.</p><p>Companies operating internationally, such as <a href="https://localazy.com/blog/case-study-rouvy-localization">Rouvy.com</a>, rely on Localazy CDN for seamless localization of their product or services.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/Rouvy.PNG" class="kg-image" alt loading="lazy" width="1246" height="622" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/Rouvy.PNG 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/Rouvy.PNG 1000w, https://ghost.localazy.com/content/images/2023/08/Rouvy.PNG 1246w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>In conclusion, Localazy CDN offers a game-changing solution for streamlined translation delivery. Seamlessly integrated with Amazon AWS, it ensures hassle-free file uploads across all points of presence, automatic translation delivery, and efficient global distribution.</p><p>Its compatibility across various user interfaces and i18n libraries makes it effortlessly versatile. The transparent pricing model, tied only to actual resource consumption, minimizes costs and the total cost of ownership, a factor appreciated by brands like Rouvy.com. In essence, Localazy CDN stands as an industry-trusted solution that simplifies and enhances content delivery worldwide.</p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/08/8-Reasons-Why-Delivering-Translations-via-Localazy-CDN-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Reporting, Revamped Billing & Translation Delivery Interface]]></title>
            <link>https://localazy.com/blog/release-update-reporting-new-cdn-interface-improved-billing</link>
            <guid isPermaLink="false">release-update-reporting-new-cdn-interface-improved-billing</guid>
            <pubDate>Wed, 16 Aug 2023 13:52:51 GMT</pubDate>
            <description><![CDATA[Learn what’s new inside Localazy in this Release Update! Stay in control of your projects with new Reporting features in the Localazy Console. Try our improved billing management and revamped Translation Delivery interface. Read on to learn more!]]></description>
            <content:encoded><![CDATA[<p>How are you enjoying the last days of summer? 🏖️ </p><p>Did you visit any exotic countries to learn new languages and explore different cultures? Or did you work hard to bring new features into your software or app in preparation for the back-to-school/office season? </p><p>We are excited to announce various new features that will help you control how your projects are translated with more attention to detail than ever before. So let's explore the latest developments together! Grab your favorite summer drink and read on! 🍹</p><h2 id="new-organization-billing">🧾 New Organization Billing <a class="markdownit-header-anchor" href="#new-organization-billing">🔗</a></h2><p>The new <a href="https://localazy.com/my/billing/overview">Organization Billing</a> is where you can manage your subscriptions, order translations for your projects, and configure translation delivery services - CDN and OTA updates. We also shut down the hosted billing portal on Stripe and moved all billing management features into our platform for a more seamless experience.</p><blockquote>👋 Say goodbye to the Marketplace and welcome the new Organization Billing section! 💙</blockquote><h4 id="overview">Overview</h4><p>The new billing overview gives you a glimpse of your active plan, active services, and current billing details. From the <a href="https://localazy.com/my/billing/overview">overview</a>, you can quickly navigate to important places related to your subscriptions, spending, and billing information.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/08/image-3.png" class="kg-image" alt loading="lazy" width="2000" height="818" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/image-3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/08/image-3.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/08/image-3.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Billing Section Overview</figcaption></figure><p>You can now also manage all your payment methods inside the platform and see all invoices without leaving Localazy. </p><h2 id="translation-delivery">🌐 Translation Delivery <a class="markdownit-header-anchor" href="#translation-delivery">🔗</a></h2><p>Formerly known as Online Services, Translation Delivery is where you can find your OTA and CDN cost overviews. <a href="https://localazy.com/docs/general/language-cdn">Localazy CDN</a> is the best way to automate the translation delivery for your project. With Localazy CDN, you can set up your project in a way that allows you to deliver localizable assets directly to your users from Localazy servers. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/08/image-4.png" class="kg-image" alt loading="lazy" width="2000" height="1012" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/image-4.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/08/image-4.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/08/image-4.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Translation Delivery - Organization-Wide Statistics</figcaption></figure><p>For mobile apps, we have <a href="https://localazy.com/docs/general/ota-updates">OTA (Over-the-air) updates</a>. Both CDN and OTA serve the same purpose, which is delivering translated content directly to your users. Localazy CDN works best with web applications.</p><blockquote>Learn more about <a href="https://localazy.com/docs/general/ota-updates">OTA</a> and <a href="https://localazy.com/docs/general/language-cdn">CDN</a> in the <a href="https://localazy.com/docs/general/language-cdn">documentation</a>.</blockquote><p>OTA and CDN can now be enabled or turned off separately in each project, which gives you more granular control of what data you want to publish and how much you spend for translation delivery.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/08/image-9.png" class="kg-image" alt loading="lazy" width="2000" height="1020" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/image-9.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/08/image-9.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/08/image-9.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Translation Delivery - Project Stats</figcaption></figure><h2 id="new-in-developer-console">👨‍💻 New in Developer Console <a class="markdownit-header-anchor" href="#new-in-developer-console">🔗</a></h2><p>Localazy Developer Console is the place where you can manage advanced configurations, connect integrations, and set up duplicity links and automated workflows. Now, you can do even more inside the Localazy Dev Console, allowing you to streamline your localization workflows even further.</p><h3 id="single-sign-on-setup">Single Sign-On Setup 🔐 <a class="markdownit-header-anchor" href="#single-sign-on-setup">🔗</a></h3><p>You can start using SSO to allow your organization members access to Localazy.</p><p>Our <a href="https://localazy.com/tiers/enterprise">Enterprise</a> users can now manage their Single Sign-On configuration in the Localazy Dev Console. Any SAML 2.0 compatible provider works with Localazy (e.g., Google, Azure, Okta, etc.), and if you are using Google or Azure, the setup is even easier with our pre-defined settings!</p><p>Once configured, users from your organization can sign in at <code>https://localazy.com/sso/{yourOrg}</code></p><blockquote>Would you like to enable SSO for your organization? <a href="/contact">Contact us</a>!</blockquote><h3 id="languages-stats">Languages Stats 🎌 <a class="markdownit-header-anchor" href="#languages-stats">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/08/image-7.png" class="kg-image" alt loading="lazy" width="2000" height="551" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/image-7.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/08/image-7.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/08/image-7.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Language Statistics in Localazy Console</figcaption></figure><p>The languages tab in the Console gives you a consolidated overview of the state of your project's source keys and translations in the respective languages.</p><p>Source language stats show you:</p><ul><li>How many active keys are in the project</li><li>How many source keys are hidden or deprecated</li><li>How many of them are duplicates, and what is the duplicate ratio</li></ul><p>For each target language, you can then find out:</p><ul><li>How many source keys are translated</li><li>How many translations need review</li><li>How many translations were approved or unapproved</li><li>How many translations had their source changed or need improvement</li></ul><blockquote>All stats are available in the following units: source key counts, words, or characters.</blockquote><h3 id="reporting">Reporting 📒 <a class="markdownit-header-anchor" href="#reporting">🔗</a></h3><p>Reporting gives our <a href="/tiers/agency">Agency users</a> even better insight into the state of their projects from language and contributor perspectives for a given time period. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/08/image-8.png" class="kg-image" alt loading="lazy" width="2000" height="1165" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/image-8.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/08/image-8.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/08/image-8.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>User Reporting in Localazy Console</figcaption></figure><p>Reporting data can help you tell, e.g.:</p><ul><li>How many words have each of my translators translated in the previous month?</li><li>How many translations in German were reviewed last week? </li></ul><blockquote>You can select up to a 90-day period and filter by username or language for a quick access to the views that are important for you.</blockquote><p>📌 <strong>See reporting in action now: </strong><a href="https://localazy.com/console/reporting/">Go to reports</a></p><h3 id="agency-importexport">Agency Import/Export 📤 <a class="markdownit-header-anchor" href="#agency-importexport">🔗</a></h3><p>When your long-term translation supplier doesn't want to switch to Localazy because their translators are used to working in their own <a href="https://localazy.com/blog/top-10-cat-computer-assisted-translation-tools-to-try-as-translator">CAT Tools</a> (we don't blame them!), you can use this feature to export your project into the <a href="https://localazy.com/csv">CSV format</a> and then import translated content back once you get it back from your translation provider. This feature is available only for <a href="/tiers/agency">Agency plan</a> users.</p><p>We strive to make the localization process as frictionless as possible, and allowing our customers to collaborate with their long-term partners or use their favorite tools is an important step toward our goal. But still, we believe the best way to approach cooperation with a <a href="https://localazy.com/for/translation-agencies">Translation Agency</a> is to convince them to switch to Localazy anyway. 😅</p><h3 id="webhook-logging">Webhook Logging 🗃️ <a class="markdownit-header-anchor" href="#webhook-logging">🔗</a></h3><p><a href="https://localazy.com/docs/general/webhooks">Webhooks</a> are custom user-defined callbacks on specific actions happening in Localazy. Currently, four actions are available that you can hook into your system. The webhook configuration is available on the Project Settings page and via <a href="https://localazy.com/docs/api/webhooks-api">Public API</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/08/image-5.png" class="kg-image" alt loading="lazy" width="2000" height="1315" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/image-5.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/08/image-5.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/08/image-5.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Webhooks Configuration in Localazy</figcaption></figure><p>In the Console, you can now access <a href="https://localazy.com/console/webhooks">Webhook logs</a> to see all fired events and debug your Webhook implementations more easily.</p><blockquote>Learn more about <a href="https://localazy.com/docs/general/webhooks">Webhooks</a> in the docs.</blockquote><h2 id="improvements-and-fixes">⚒️ Improvements & Fixes <a class="markdownit-header-anchor" href="#improvements-and-fixes">🔗</a></h2><ul><li>Fixed broken inline edit in the translation table <em>(the edit mode was buggy and sometimes prevented users from editing multiple items in sequence)</em></li><li>Fixed highlighted text in screenshots uploaded from <a href="https://localazy.com/features/figma-localization-plugin">Figma</a> that were sometimes a bit off the actual text</li><li>Improved the general performance of table filters</li><li>Improved placeholder matching for <code>$</code>  and <code>:</code> placeholders</li><li>Fixes issues with keys from <code>.ini</code> files</li><li>New plural form definition available in many formats: <code>one | other</code></li></ul><h2 id="join-the-conversation">💬 Join the conversation! <a class="markdownit-header-anchor" href="#join-the-conversation">🔗</a></h2><p>To get the latest info about new Localazy features, usage tips, success stories, and some behind-the-scenes bits, make sure to follow our LinkedIn and join the conversation! See you there. 💙</p><p><strong>Follow Localazy on 💼 <a href="https://www.linkedin.com/company/localazy/">LinkedIn</a> </strong></p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We hope you'll try the new features and tell us how you like our latest improvements! Don't hesitate to <a href="https://localazy.com/contact">contact us</a> anytime to discuss your project or new features!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/08/Release-update-billing-translation-delivery.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The Power of Localization: Why Digital Agencies Can't Afford to Ignore This Service?]]></title>
            <link>https://localazy.com/blog/power-of-localization-why-digital-agencies-cant-afford-to-ignore-this-service</link>
            <guid isPermaLink="false">power-of-localization-why-digital-agencies-cant-afford-to-ignore-this-service</guid>
            <pubDate>Thu, 18 Jun 2026 13:36:54 GMT</pubDate>
            <description><![CDATA[Discover how incorporating localization services into your agency's offerings can set you apart and aid your clients in reaching a wider audience across international borders. ]]></description>
            <content:encoded><![CDATA[<p>Does your agency offer a complete set of services to elevate your client's business and get them the exposure and sales they want? </p><p>Almost all big agencies offer a uniform list of services, including marketing strategies, advertising, web development, content creation, and social media management. However, you can stand out with your agency if you offer a particularly <strong>unpopular but effective</strong> <strong>service</strong> known as <a href="/dictionary/localization">localization</a>.</p><blockquote>Localization helps your most serious clients reach more customers.</blockquote><p>International businesses have been leveraging the power of localization for years now. But the term itself isn't entirely understood as it's often mixed with translation. Adding a Google Translated version of your client's website to their site isn't localization. Localization doesn't only involve the translation of the words on a page. Localization is concerned with adapting content to match the intended audience's customs, local language, tastes, history, and unique local characterizing elements.</p><p>Now, if your agency starts offering localization strategically, your clients will be impressed to see their <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">customer base and retention increase</a>. </p><p>In this article, we will explore why digital agencies should add localization services to their portfolio of offerings, how they can do it, and the benefits it can bring to their clients. From unlocking new growth potential to enhancing user experience, we will dive into the world of localization and why it's a valuable addition to any digital agency's services.</p><h2 id="why-is-l10n-important-in-marketing">🤔 Why is l10n important in Marketing? <a class="markdownit-header-anchor" href="#why-is-l10n-important-in-marketing">🔗</a></h2><p>Localization is essential in marketing because it helps businesses to connect with their diverse and global audience. In today's world, each company should communicate its messages to customers in their local language and cultural context.</p><p>By localizing content, businesses can tailor their messaging to meet their customers' unique needs and preferences in different regions. This leads to more effective communication, higher engagement, and better ROI for marketing campaigns.</p><h2 id="why-should-digital-agencies-offer-it">🏌️‍♂️ Why should digital agencies offer it? <a class="markdownit-header-anchor" href="#why-should-digital-agencies-offer-it">🔗</a></h2><p>Localization leads to increased brand loyalty and long-term revenue growth. By adding localization to their portfolio of services, digital agencies can differentiate themselves from their competitors, generate more revenue, and provide more value to their clients. </p><p>Let's take a moment to elaborate on four reasons why localization can turn into the perfect USP (Unique Selling Point) for digital agencies.</p><h3 id="1-the-demand-for-l10n-keeps-growing">1. The demand for l10n keeps growing <a class="markdownit-header-anchor" href="#1-the-demand-for-l10n-keeps-growing">🔗</a></h3><p>There has been a significant <a href="https://localazy.com/blog/join-57-bn-language-services-market-localazy-affiliate-program#language-services-market-keeps-growing">increase in demand for localization services in recent years</a>. As businesses expand into new markets, they need to be able to communicate with their customers in their local language and cultural context. Moreover, customers are more likely to engage with businesses that offer localized content, leading to increased sales and revenue growth.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/chart-curve.png" class="kg-image" alt loading="lazy" width="1600" height="675" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/chart-curve.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/chart-curve.png 1000w, https://ghost.localazy.com/content/images/2023/08/chart-curve.png 1600w" sizes="(min-width: 720px) 720px"></figure><p></p><p>The increase in demand for localization services presents a significant opportunity for digital agencies to expand their offerings and provide more value to their clients. By adding localization to their portfolio of services, digital agencies can tap into a growing market and help their clients to achieve their business goals.</p><h3 id="2-localized-content-is-a-must-for-global-clients">2. Localized content is a must for global clients <a class="markdownit-header-anchor" href="#2-localized-content-is-a-must-for-global-clients">🔗</a></h3><p>As more and more businesses expand into global markets, they need digital agencies to help them communicate effectively with their new audiences. Localization allows digital agencies to meet the needs of these clients and provide services that go beyond just creating content in the local language.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/globe.png" class="kg-image" alt loading="lazy" width="1600" height="900" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/globe.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/globe.png 1000w, https://ghost.localazy.com/content/images/2023/08/globe.png 1600w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-it-leads-to-new-revenue-opportunities">3. It leads to new revenue opportunities <a class="markdownit-header-anchor" href="#3-it-leads-to-new-revenue-opportunities">🔗</a></h3><p>Localization services can provide digital agencies with new revenue opportunities. By offering localization services, digital agencies can charge additional fees for sourcing translation and localization work, thereby increasing their revenue potential.</p><h3 id="4-it-gives-agencies-a-competitive-edge">4. It gives agencies a competitive edge <a class="markdownit-header-anchor" href="#4-it-gives-agencies-a-competitive-edge">🔗</a></h3><p>Many digital agencies already offer localization services, so they don't risk falling behind the competition. By adding localization to their portfolio of services, digital agencies can stay competitive and attract clients looking for a one-stop shop for all their digital marketing needs.</p><h2 id="how-can-agencies-add-it-to-their-portfolio">🧭 How can agencies add it to their portfolio? <a class="markdownit-header-anchor" href="#how-can-agencies-add-it-to-their-portfolio">🔗</a></h2><p>Here's what a digital agency needs to do in order to implement localization into its marketing strategy. You start by observing the market, finding whether your clients would be interested in localizing their content, and then arranging a talented team to handle localization.</p><h3 id="1-analyze-the-market-needs">1. Analyze the market needs  <a class="markdownit-header-anchor" href="#1-analyze-the-market-needs">🔗</a></h3><p>Analyzing market needs is the first step in adding localization services to a digital agency's portfolio. This involves understanding your client's market language, culture, and business practices. Is it profitable for them to localize their content?</p><p>Are your current clients interested in localization, or do you need to focus on acquiring other new clients? You can quickly gauge their interest by conducting market research, analyzing client data, and studying the competition.</p><h3 id="2-build-a-team-expert-on-language-and-culture">2. Build a team expert on language & culture <a class="markdownit-header-anchor" href="#2-build-a-team-expert-on-language-and-culture">🔗</a></h3><p>Once you've surveyed your client base and the market, you need to build a team with language and cultural expertise. This team should include professionals with expertise in translation and localization. Ideally, the team should consist of native speakers who have a deep understanding of the local language and culture.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/Dream-team.png" class="kg-image" alt loading="lazy" width="1600" height="900" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/Dream-team.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/Dream-team.png 1000w, https://ghost.localazy.com/content/images/2023/08/Dream-team.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>With the help of localization software like Localazy, you can manage teams of newly found translators or take a shortcut and <u><a href="https://localazy.com/blog/guide-localazy-translation-services" rel="noopener noreferrer">hire professional translators directly on the platform</a></u>. Either way, the process is simple and smooth.</p><h3 id="3-invest-in-translation-and-l10n-tools">3. Invest in translation and l10n tools <a class="markdownit-header-anchor" href="#3-invest-in-translation-and-l10n-tools">🔗</a></h3><p>To effectively provide localization services, digital agencies need to invest in translation and localization tools. These tools can help automate the translation process, reduce the time and cost of localization, and ensure consistency in the quality of the translated content.</p><p>Various tools are available, from translation software to content management systems that support multilingual content. Take <a href="https://localazy.com/for/digital-agencies">Localazy</a>, for example. Our translation and localization software has been used to translate content that has reached around 1 billion users worldwide. Partnering up with us helps you localize digital assets and gives you extra revenue for each new client you register with us.</p><blockquote>Learn more about the <a href="https://localazy.com/term/affiliate-program">Localazy Affiliate Program</a> for Digital Agencies</blockquote><h3 id="4-collaborate-with-in-country-partners">4. Collaborate with in-country partners <a class="markdownit-header-anchor" href="#4-collaborate-with-in-country-partners">🔗</a></h3><p>To truly provide effective localization services, digital agencies must collaborate with in-country partners who deeply understand the local market. These partners can provide insights into local culture and customs, help identify appropriate marketing channels, and provide on-the-ground support for the agency's clients.</p><p>Collaborating with in-country partners can help digital agencies deliver high-quality localization services that resonate with the local audience. However, through Localazy, you halve the time spent assembling your own team of experts. Simply register and <a href="https://localazy.com/docs/general/continuous-localization-team" rel="noopener noreferrer"><u>order help from localization experts</u></a> enlisted in our platform.</p><h2 id="why-will-your-clients-love-the-results">💙 Why will your clients love the results?  <a class="markdownit-header-anchor" href="#why-will-your-clients-love-the-results">🔗</a></h2><p>Digital agencies should add localization to their services portfolio because it significantly benefits their clients. Improved communication with the target audience, enhanced user experience, and increased brand loyalty are just a few of the reasons why clients will love the results of localization.</p><p>By providing localized content, digital agencies can help their clients achieve their business goals, expand into new markets, and build a robust and loyal customer base. Let us dive deeper into these points.</p><h3 id="improved-communication-with-target-audience">Improved communication with target audience <a class="markdownit-header-anchor" href="#improved-communication-with-target-audience">🔗</a></h3><p>By localizing content, digital agencies can improve communication with their target audience. Localizing content ensures that the messaging and branding are culturally appropriate and resonate with the target audience.</p><p>This leads to improved engagement, higher click-through rates, and better ROI for marketing campaigns. When digital agencies provide localized content, their clients can connect with their target audience in a more meaningful way, leading to stronger relationships and more significant revenue growth.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/targeting.png" class="kg-image" alt loading="lazy" width="1600" height="900" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/targeting.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/targeting.png 1000w, https://ghost.localazy.com/content/images/2023/08/targeting.png 1600w" sizes="(min-width: 720px) 720px"></figure><h3 id="enhanced-user-experience">Enhanced user experience <a class="markdownit-header-anchor" href="#enhanced-user-experience">🔗</a></h3><p>Localizing websites, apps, and other digital content can also enhance the user experience for global customers. When digital agencies provide localized content, their clients can offer their customers an experience that is tailored to their language, culture, and preferences.</p><p>This leads to increased customer satisfaction. Moreover, providing localized content ensures customers can find what they're looking for quickly and easily, leading to increased conversion rates and higher sales.</p><h3 id="increased-brand-loyalty">Increased brand loyalty <a class="markdownit-header-anchor" href="#increased-brand-loyalty">🔗</a></h3><p>Localization also leads to increased brand loyalty. When digital agencies provide localized content, their clients can demonstrate a commitment to their global customers. This leads to increased trust and loyalty, as customers feel that the brand values their business and understands their needs.</p><p>When customers feel that their needs are being met, they are more likely to remain loyal to the brand and recommend it to others. In this way, localization can help digital agencies and their clients build a robust and loyal customer base that generates long-term revenue growth.</p><h3 id="enhanced-seo-rankings">Enhanced SEO rankings <a class="markdownit-header-anchor" href="#enhanced-seo-rankings">🔗</a></h3><p>By optimizing localized content for search engines, digital agencies can help their clients improve their SEO rankings in different regions. This can lead to increased visibility and, ultimately, more business.</p><p>Building powerful and <u><a href="https://localazy.com/for/seo-specialists" rel="noopener noreferrer">highly tailored landing pages</a></u> to target specific needs for local areas where your audience lives are definitely something worth counting as an investment into marketing, and we're happy to simplify it.</p><h2 id="challenges-of-adding-l10n-to-portfolios">🥊 Challenges of adding l10n to portfolios <a class="markdownit-header-anchor" href="#challenges-of-adding-l10n-to-portfolios">🔗</a></h2><p>However, localization has its own battling challenges we can't leave out of the equation. Here are some challenges that might arise in the process of integrating localization into your company portfolio of services.</p><h3 id="1-the-need-for-specialized-skills">1. The need for specialized skills <a class="markdownit-header-anchor" href="#1-the-need-for-specialized-skills">🔗</a></h3><p>One of the main challenges of adding localization to the portfolio of services is the need for specialized skills. Localization requires professionals with expertise in translating and adapting content to fit the cultural norms and expectations of the target audience.</p><p>This means that digital agencies need to invest in building a team with language and cultural expertise. But the proper localization software facilitates this process immensely by connecting you with domain experts.</p><h3 id="2-an-increase-in-complexity">2. An increase in complexity <a class="markdownit-header-anchor" href="#2-an-increase-in-complexity">🔗</a></h3><p>Localization adds another layer of complexity to the services that digital agencies offer. There are a dozen factors that need to be taken into consideration when localizing content, including cultural norms, idiomatic expressions, and local customs.</p><p>This complexity can increase the time and cost of localization, making it more challenging for digital agencies to manage their workflow and resources. Keeping clients happy can become challenging but definitely rewarding.</p><blockquote>If you use Localazy in the process, we want to pay you 20% of the revenue you bring for us for two years in a row. Full details <u><a href="https://localazy.com/community/channel-partners/about-channel-partnership" rel="noopener noreferrer">here</a></u>. You're welcome! (In case you don't want to partner up with us yet, <u><a href="https://localazy.com/community/b2b-partnerships/join-our-affiliate-program" rel="noopener noreferrer">register as an affiliate</a></u>, and start small.)</blockquote><h3 id="3-a-considerable-increase-in-costs">3. A considerable increase in costs <a class="markdownit-header-anchor" href="#3-a-considerable-increase-in-costs">🔗</a></h3><p>Adding localization services to the portfolio can also come with cost considerations. Some digital agencies will have to invest in translation and localization tools, such as translation software, content management systems with internationalization capabilities, and localization platforms.</p><p>They may also need to hire additional staff or outsource work to in-country partners to provide high-quality localization services. These costs can add up quickly and must be factored into the agency's budget and pricing strategies.</p><h3 id="4-more-deadlines-to-manage">4. More deadlines to manage <a class="markdownit-header-anchor" href="#4-more-deadlines-to-manage">🔗</a></h3><p>Another challenge of adding localization to the portfolio of services is managing deadlines and timelines. Localization can add time to the content creation process, from translation to editing and quality assurance.</p><p>Digital agencies must ensure that they have effective project management processes to manage their workflow, meet deadlines, and deliver high-quality localization services to their clients. Otherwise, you might rush and deliver incorrectly localized content (which we hope includes <u><a href="https://localazy.com/blog/localazy-best-tool-translation-automation" rel="noopener noreferrer">funny translations</a></u> rather than misdirecting ones).</p><h2 id="final-thoughts">✅ Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>As businesses expand globally, the demand for localization services will only grow. By embracing localization, digital agencies become distinguishable in the market and increase the chances of working with major brands.</p><p>Localazy helps you reduce the steps to successful localization because we provide you with all the tools and experts needed to produce multilingual assets for your clients. And if you help your clients integrate Localazy, you'll benefit from <u><a href="https://localazy.com/community/channel-partners/about-channel-partnership" rel="noopener noreferrer">our partnership perks</a></u>.</p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2026/06/The-power-of-localization.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: How translators & localizers can help fight the current climate emergency]]></title>
            <link>https://localazy.com/blog/translator-pov-climate-strings-project</link>
            <guid isPermaLink="false">translator-pov-climate-strings-project</guid>
            <pubDate>Fri, 28 Mar 2025 15:22:58 GMT</pubDate>
            <description><![CDATA["By translating key terms into multiple languages, we can democratize access to climate information, enhancing understanding and resilience worldwide," says Anderson Jes, one of Localazy's first translators. Find out why he's endorsing localization as a tool to face the current climate emergency.]]></description>
            <content:encoded><![CDATA[<p>Back in 2020, when Localazy was still <a href="https://localazy.com/blog/is-there-ai-behind-localazy">a little seedling</a> 🌱 with a lot of underdeveloped potential, our team started to recruit professional translators to strengthen our core product. In fact, five out of our first 20-30 users were linguists themselves. At that time, the majority of apps translated with Localazy's help had been localized using <a href="https://localazy.com/features/share-tm">ShareTM</a>, one of our greatest time-saving assets during localization processes (and a source of knowledge across industries and languages).</p><p>Even now, with hundreds of users in 113 countries worldwide, our shared translation memory still plays a big part in global projects like our Shared Climate Strings Initiative 👩‍💻🐝, which aims to act as an open-sourced repository of climate-related translated strings in more than 90 languages. </p><p>One of our first translators back in 2020, <strong>Anderson Jes</strong>, has seen the system evolve over the years and understands its potential to promote key community causes. A native Cameroonian, Jes is proficient in several African languages like <a href="https://hub.localazy.com/en/languages/ig-igbo">Igbo</a>, <a href="https://hub.localazy.com/en/languages/ha-hausa">Hausa</a>, <a href="https://hub.localazy.com/en/languages/yo-yoruba">Yoruba</a>, <a href="https://hub.localazy.com/en/languages/dua-duala">Douala</a>, and <a href="https://hub.localazy.com/en/languages/sw-swahili">Kiswahili</a>, as well as widely spoken global languages like French, English, and Spanish. No one like him to describe the challenges of populating a translation memory with <a href="https://localazy.com/blog/how-localization-of-tech-solutions-would-broaden-africas-tech-ecosystem">African languages and dialects</a> and to discuss how democratizing access to climate information can help millions of people worldwide.</p><blockquote>Learn more about our climate-related efforts here! 👉 <a href="https://localazy.com/blog/empowering-climate-research-shared-translation-memory">Support Climate Action via Localization with Localazy's Shared Translation Memory 🌍</a></blockquote><h2 id="the-translators-life">⌨️ The translator's life <a class="markdownit-header-anchor" href="#the-translators-life">🔗</a></h2><p><strong>Hi, Anderson! Pleasure to have you here. Can you introduce yourself and tell us a little about your background and education?</strong></p><p>Hi! 👋 My name is Anderson. I'm a translator. Specifically, I hold a Bachelor’s Degree in Foreign Language and Translation Studies, with an emphasis on French and Spanish, and have undertaken further programs in Strategy, Precision Medicine, and Machine Learning.</p><p><strong>You speak eight different languages. That's incredibly impressive. What was the spark that ignited your interest in linguistics?</strong></p><p>What an amazing question. My interest in linguistics was ignited by my desire to understand people in their most authentic form. I believe that language is a profound way of connecting with culture; it opens a window into the nuances and subtleties that make each culture unique. I didn't want to rely on translations, which can sometimes lose those nuances. I wanted to experience works of literature, art, and even day-to-day conversations in their original languages.</p><p>In my travels to various African villages, I fell in love with the rich tapestry of dialects, each reflecting its own history, ethos, and worldview. ❤️ I discovered that every dialect has a unique story to tell, and by learning them, I felt I was preserving and appreciating an important part of our human heritage. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/iStock-1277131078-1.jpg" class="kg-image" alt loading="lazy" width="2000" height="1250" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/iStock-1277131078-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/iStock-1277131078-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/08/iStock-1277131078-1.jpg 1600w, https://ghost.localazy.com/content/images/2023/08/iStock-1277131078-1.jpg 2069w" sizes="(min-width: 720px) 720px"></figure><p>I remember reading <a href="https://www.britannica.com/biography/Chinua-Achebe">Chinua Achebe</a>, who wrote in English but infused it with Igbo proverbs and idioms. He once said:</p><blockquote>"Those who tell you 'Do not put too much politics into your art' are not being honest. If you look very carefully, you will see that they are the same people who are quite happy with the situation as it is... What they are saying is 'Don't upset the system'." </blockquote><p>This resonated with me because learning languages is, in its own way, a political act. It's a way of saying that every culture and every language matter. It's a way of upsetting a system that favors certain languages over others.</p><p><strong>Where are you from, and what does language diversity look like over there?</strong></p><p>I was born in 🇨🇲 Cameroon, a country known for its remarkable linguistic diversity - it is often called <a href="https://www.africanews.com/2018/10/04/cameroon-africa-in-miniature-travel/">"Africa in miniature"</a> and home to over 200 distinct languages. I lived there during my first 13 years. This early exposure to linguistic diversity had a significant impact on my fascination and appreciation for languages.</p><p>From Cameroon, I moved to 🇳🇬 Nigeria, another linguistically rich country boasting over 520 languages spoken across its states. What's remarkable about <a href="https://www.britannica.com/place/Nigeria/Languages">Nigeria's language landscape</a> is the multitude of ethnic communities, each with its own unique language, yet co-existing and interacting with one another.  The major languages - Hausa, Yoruba, and Igbo - are predominantly used in the Northern, Western, and Eastern parts of the country, respectively, while English, the official language, is widely spoken across the country, serving as a bridge for inter-ethnic communication.</p><blockquote>"Living and travelling in Cameroon and Nigeria has deeply shaped my appreciation for the critical role language plays in shaping cultural identity, social interacions and historical narratives"</blockquote><p>Yet beyond these major languages, each state boasts a variety of local languages and dialects, each with its own unique cultural and historical significance. Multilingualism is not uncommon in many communities, with people seamlessly switching between languages, which I think is a testament to the country's linguistic adaptability and resilience.</p><p>Both Cameroon and Nigeria represent a microcosm of Africa's rich and diverse language ecosystem. 🗣️ Living and traveling in these countries has deeply shaped my understanding and appreciation for the critical role language plays in shaping cultural identity, social interactions, and historical narratives. <br><br><strong>You’re one of Localazy’s first contributors! </strong>👏 <strong>How did you get involved with us?</strong></p><p>I first became involved with Localazy due to my fascination with languages and my strong belief in the power of communication to connect diverse people and cultures. When I learned about Localazy's mission to make apps and software accessible in many different languages 📲 💬, I immediately recognized the potential impact it could have. It resonated with my experience as a polyglot and my understanding of the rich African language ecosystem.</p><blockquote>"When I learned about Localazy's mission to make apps and software accessible in many different languages, I immediately recognized the potential impact it could have"</blockquote><p>My initial involvement began when I offered to contribute translations in the various languages I'm proficient in. I saw it as an opportunity to leverage my language skills to help software developers reach a more diverse audience and promote language inclusivity in the digital space.</p><p><strong>What did you like the most about our platform?</strong></p><p>What I liked most about Localazy was its commitment to <a href="https://localazy.com/for/nonprofit">breaking down language barriers</a>. The platform's focus on <a href="https://localazy.com/for/software-developers">enabling localization for developers</a>, regardless of their budget or the languages they initially targeted, showed a commendable commitment to inclusivity and accessibility. </p><p>Furthermore, Localazy's collaborative approach appealed to me as well. The platform fosters a community of contributors who can review each other's work. This ensures a high standard of translation and localization ✅, contributing to a more accurate and culturally sensitive product. It was exciting to be part of this global effort, and I learned a great deal from the experiences and insights shared by other language enthusiasts on the platform.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/iStock-1206875733-1.jpg" class="kg-image" alt loading="lazy" width="1876" height="1407" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/iStock-1206875733-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/iStock-1206875733-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/08/iStock-1206875733-1.jpg 1600w, https://ghost.localazy.com/content/images/2023/08/iStock-1206875733-1.jpg 1876w" sizes="(min-width: 720px) 720px"></figure><h2 id="africa-and-language-barriers">🌍 Africa & language barriers <a class="markdownit-header-anchor" href="#africa-and-language-barriers">🔗</a></h2><p><strong>Let's go back to the African language ecosystem. For those who are unfamiliar with it, how would you describe it?</strong></p><p>To begin, the African language ecosystem is <a href="https://hub.localazy.com/en/regions/002-africa">incredibly diverse and complex</a>. With an estimated 2,000 to 3,000 languages, the continent is home to a wealth of linguistic diversity, showcasing the richness of African cultures, histories, and philosophies. One unique aspect of the African language ecosystem is its fluidity and adaptability. 🌊 For instance, in many African societies, <a href="https://theconversation.com/africas-linguistic-diversity-goes-largely-unnoticed-in-research-on-multilingualism-208204">multilingualism is the norm</a> rather than the exception. Languages influence each other, borrow words and phrases, and adapt to the changing societal and cultural dynamics.</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;In many African societies, multilingualism is the norm rather than the exception. Languages influence each other and adapt to the changing societal and cultural dynamics&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p>Another notable aspect is the sociolinguistic factor. Languages in Africa often signify more than mere communication tools—they are markers of ethnic identity, social status, and cultural affiliation. For instance, the languages I speak, such as Igbo, Hausa, and Yoruba, each represent <a href="https://en.wikipedia.org/wiki/List_of_ethnic_groups_in_Nigeria">distinct ethnic groups and cultures</a> within Nigeria.</p><p>However, there's also a pragmatic aspect. Global languages like 🇬🇧 English, 🇫🇷 French, and 🇪🇸 Spanish have an important role in Africa due to historical ties and globalization. They often serve as <a href="https://en.wikipedia.org/wiki/List_of_lingua_francas">lingua francas</a>, bridging communication gaps between different ethnic groups and facilitating international communication. While I am well-versed in several languages, I'm always mindful that my understanding represents just a portion of Africa's vast linguistic landscape. Every language, every dialect, has a story to tell and contributes to the intricate mosaic that is the African language ecosystem.</p><p><strong>In your experience, do language barriers hinder developments in your area or in certain industries, like the startup environment?</strong></p><p>Absolutely. Language barriers can significantly affect developments in various sectors. In the startup world, clear and effective communication is critical. Startups often need to pitch their ideas to potential investors, attract customers and build partnerships. When there is a language barrier, conveying the uniqueness and value of their products or services can become challenging. Moreover, if a startup's product is technology-based, like an app or a platform, it's important that the interface and user guides are easily understood by users. If not properly localized, it can limit user adoption, especially in markets where English or other widely spoken languages <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">are not the primary language</a>.</p><blockquote>"If a product is not properly localized, it can limit user adoption, especially in markets where English or other widely spoken languages are not the primary language"</blockquote><p>In the broader context of my region, language barriers can hinder social and economic development as well. For instance, in education, if teaching materials 📚are not available in local languages, it can limit the reach and effectiveness of educational programs, contributing to lower literacy and educational attainment. Similarly, in healthcare, important health information and services 🏥 might not reach everyone if they're not provided in the languages spoken by different communities.<br><br><strong>What about job opportunities? How do language barriers affect the scouting of African talent? </strong></p><p>Language barriers <a href="https://localazy.com/blog/how-localization-of-tech-solutions-would-broaden-africas-tech-ecosystem">do have an impact</a> on job opportunities for African talent. With international companies, if the corporate language is not one an individual is proficient in, it can limit their opportunities. For intra-African mobility, the vast linguistic diversity can pose challenges when professionals seek to work in different countries within Africa, where they may not be familiar with the local or official languages. Even within one's own country, job prospects can be influenced by a person's proficiency in different local languages. However, on the flip side, being multilingual can be a significant advantage, providing a competitive edge in a globalized job market.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/iStock-1410797131-1.jpg" class="kg-image" alt loading="lazy" width="1876" height="1407" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/iStock-1410797131-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/iStock-1410797131-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/08/iStock-1410797131-1.jpg 1600w, https://ghost.localazy.com/content/images/2023/08/iStock-1410797131-1.jpg 1876w" sizes="(min-width: 720px) 720px"></figure><h2 id="localization-for-the-climate-emergency">🧊 Localization for the climate emergency <a class="markdownit-header-anchor" href="#localization-for-the-climate-emergency">🔗</a></h2><p><strong>Localazy is developing a Shared Climate Strings project to facilitate these relationships. How do you think it can help?</strong></p><p>The <a href="https://localazy.com/p/shared-climate-strings">Shared Climate Strings project</a> by Localazy is a powerful initiative that will enhance communication, promote collaboration, empower local communities, and foster inclusivity in the fight against climate change. By facilitating the translation of climate-related information into various languages, it ensures wider accessibility and understanding of these critical issues. This initiative is instrumental in promoting a coordinated, inclusive, and effective global response to climate change. 💪</p><p><strong>Why do you think it is important to start off with a climate-related lexicon? </strong></p><p>It is vital. It aids in raising global awareness about climate change, promoting informed action, ensuring inclusive dialogue, empowering affected communities, and facilitating international collaboration. By translating key terms into multiple languages, we can democratize access to climate information, enhancing understanding and resilience worldwide.</p><p><strong>We started building the repository with some of the main European languages (English, Spanish, French, German), but incorporating African dialects has proven much more challenging. Why is this so?</strong></p><p>Incorporating African dialects into a language repository can indeed be challenging due to several factors:</p><ul><li><strong>Linguistic diversity.</strong> Africa's vast linguistic diversity can make the task of cataloging and translating these languages formidable. Consider Nigeria, a country with over 520 distinct languages. Creating a language repository that includes all these languages, each with its unique vocabulary, grammar, and syntax, would be a massive undertaking.</li><li><strong>Oral tradition. </strong>Many African languages have a predominantly oral tradition, with less developed written forms or standardized orthography. This can complicate their incorporation into a digital platform. Languages such as <a href="https://en.wikipedia.org/wiki/Fula_language">Fulfulde</a>, spoken by the Fulani people across several African countries, have a strong oral tradition, with many dialects having limited written forms. </li></ul><blockquote>"Many African languages have a predominantly oral tradition, with less developed written forms. Often, there is also a scarcity of comprehensive learning resources, which can make localization efforts more challening"</blockquote><ul><li><strong>Lack of resources. </strong>There is often a scarcity of comprehensive dictionaries, learning resources, or databases for many African languages, particularly those spoken by smaller communities. A language like <a href="https://en.wikipedia.org/wiki/Kanuri_language">Kanuri</a>, spoken in parts of Nigeria, Niger, Chad, and Cameroon, might have very few comprehensive dictionaries or language learning resources available, making it challenging to gather accurate and extensive lexical data for the repository.</li><li><strong>Variation within languages.</strong> Even within a single African language, there can be considerable variation across different regions or communities. A <a href="https://test-lounge.localazy.com/en/languages/sw-swahili">Swahili</a> speaker from Kenya might use a different vocabulary or syntax than a Swahili speaker from Tanzania, complicating the translation and localization process.</li><li><strong>Limited number of translators.</strong> For less widely spoken languages, such as <a href="https://test-lounge.localazy.com/en/languages/tiv-tiv">Tiv</a> (spoken by the Tiv people in Nigeria and Cameroon), finding professional translators who are proficient and can accurately translate into these languages might be a difficult task.</li></ul><p>Despite these challenges, the effort to incorporate African dialects into such repositories is crucial for promoting language diversity and inclusivity.</p><h2 id="working-with-localazys-community-features">🤝 Working with Localazy's community features <a class="markdownit-header-anchor" href="#working-with-localazys-community-features">🔗</a></h2><p><strong>Have you ever participated in one of our community-driven translation projects? Would you describe it as easy-to-use?</strong></p><p>Yes, I have participated in several community-driven translation projects, including ones associated with the United Nations and the <a href="https://www.un.org/millenniumgoals/">Millennium Development Goals (MDGs)</a>, and others focusing on Family and Community Life Reorientation. These experiences have greatly enriched my understanding of the impact of language translation and localization in driving community development and global cooperation.</p><p>Working with Localazy, however, was a unique experience. The platform's user-friendly interface made <a href="https://localazy.com/blog/guide-localazy-translation-services">the translation process</a> smooth and intuitive. The way it provides context for each string to be translated and supports translators with helpful tools such as a glossary and memory translation tools greatly aids in ensuring accurate and nuanced translations.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/08/Captura-de-Pantalla-2023-08-01-a-las-15.17.33-1.png" class="kg-image" alt loading="lazy" width="2000" height="1250" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/Captura-de-Pantalla-2023-08-01-a-las-15.17.33-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/Captura-de-Pantalla-2023-08-01-a-las-15.17.33-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/08/Captura-de-Pantalla-2023-08-01-a-las-15.17.33-1.png 1600w, https://ghost.localazy.com/content/images/2023/08/Captura-de-Pantalla-2023-08-01-a-las-15.17.33-1.png 2306w" sizes="(min-width: 720px) 720px"><figcaption>Our translation interface in action (Climate Strings Initiative).</figcaption></figure><p>I've found that each project has its unique aspects and challenges, but overall, <a href="https://localazy.com/for/nonprofit">community-driven translation initiatives</a> like these are instrumental in promoting language diversity, inclusivity, and global collaboration. I'm glad to contribute my language skills to such valuable causes.</p><p><strong>As a translator, what are your favorite Localazy features?</strong></p><p>I really enjoy four specific features:</p><ul><li>↔️ <strong><a href="https://localazy.com/docs/general/screenshots">In-Context Localization</a>:</strong> it is excellent. It provides crucial context for the strings being translated, which helps me deliver more accurate and nuanced translations. It allows me to understand how and where a particular string is used, ensuring the translated content makes sense in the application.</li><li>🧠 <strong><a href="https://localazy.com/docs/general/what-is-localazy-sharetm">Translation Memory</a>:</strong> I really appreciate it. It saves previously translated phrases, which not only increases my productivity but also <a href="https://localazy.com/blog/introduction-to-translation-glossary-best-practices">ensures consistency</a> in translations. This feature becomes especially valuable when working on large projects with recurring terminology.</li><li>📓 <strong><a href="https://localazy.com/docs/general/how-to-define-your-glossary">Glossary</a>:</strong> it is a wonderful aid, especially when dealing with specialized or technical terms. It ensures that specific terms are translated consistently throughout the project.</li><li>🔍 <strong><a href="https://localazy.com/docs/general/reviewing-translations">Review process</a>:</strong> it adds an extra layer of quality control by letting other community members review the translations, fostering collaborative improvement. It's really well thought out!</li></ul><p><strong>Are you planning on contributing to this project? </strong></p><p>I'm definitely contributing! 😀 The mission aligns well with my passion for languages and the important global issue of climate change. By participating, I can leverage my language skills to make a tangible impact.</p><blockquote>Join Anderson and help us populate our <a href="https://localazy.com/p/shared-climate-strings">Climate Shared Translation Memory</a>!</blockquote><p><strong>Any tips for those who are interested in trying it out?</strong></p><p>For those interested in contributing, I'd suggest first familiarizing yourself with the platform and spending some time getting to know Localazy's features (glossary, translation memory, in-context localization, etc.). When translating, <a href="https://localazy.com/features/context-screenshots-ocr">always consider the context</a> in which the strings are used and maintain consistency across the project using the appropriate recurring phrases or terminology. </p><p>Don't hesitate to ask for help or feedback from the community, and don't forget to enjoy the process either! It's a wonderful opportunity to use your language skills for a good cause and learn something new. Remember: every contribution, no matter how small, can make a big difference.</p><p><strong>Anything else you’d like to add?</strong></p><p>I'd just like to emphasize the importance of projects like these, which not only promote language diversity and inclusivity but also address <a href="https://www.un.org/sustainabledevelopment/climate-change/">crucial global issues like climate change</a>. Kudos to Localazy for making it possible! It's truly inspiring to be part of such a global, collaborative effort. For anyone considering getting involved, I'd say go for it! It's an experience that enriches you personally and contributes positively to the world. 🫶</p><p>Kwa kumalizia, napenda kusema: 'Tunaweza kubadilisha dunia kwa lugha zetu. Tuchangie kwa pamoja katika jitihada hizi.' In English, that means: 'We can change the world with our languages. Let's contribute together to these efforts.'</p><blockquote>Our Shared Climate String projects is already available <a href="https://localazy.com/p/shared-climate-strings">here</a>. Explore it and contribute for a chance of entering <a href="https://localazy.com/leaderboards/projects/shared-climate-strings">our leaderboard</a> for a good cause!</blockquote>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/08/_Translators-POV.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The Evolution of Customer Communication: Examining Emerging Trends and Making Predictions For The Future]]></title>
            <link>https://localazy.com/blog/the-evolution-of-customer-communication-examining-emerging-trends-and-making-predictions-for-the-future</link>
            <guid isPermaLink="false">the-evolution-of-customer-communication-examining-emerging-trends-and-making-predictions-for-the-future</guid>
            <pubDate>Thu, 03 Aug 2023 10:03:22 GMT</pubDate>
            <description><![CDATA[Explore the latest developments and future trends in customer communication in this comprehensive examination of the field's evolution. Get insights on emerging technologies, strategies, and predictions for the future of customer communication.]]></description>
            <content:encoded><![CDATA[<p>Billboards, postcards, telegrams, and mailers were the norm once upon a time. Businesses had to communicate their latest product launches somehow, even if it took a long time to deliver the message.</p><p>But those days are gone. Digital communication has shaped the way businesses and brands interact with customers. Automation, chatbots, and social media can take credit for thoroughly transforming the dynamic.</p><p>This article will explore the latest developments and trends in customer communication, providing insights into emerging technologies, strategies, and predictions for the future of customer communication.</p><h2 id="digital-communication-over-the-years">✍️ Digital Communication Over the Years <a class="markdownit-header-anchor" href="#digital-communication-over-the-years">🔗</a></h2><p>Think back 20 years ago when email was the only way to communicate online. Back then, landlines were still in use (Apple's first iPhone didn't arrive until 2007). Mobile phones were available but could only be used for making calls. You couldn't browse the internet, and you didn't have apps.</p><p>So, many things have changed about the way we communicate. These days, people do just about anything from their phones with a few taps. Texting, social media messages, video calls, etc., aren't limited to a computer screen anymore, and those technologies change our lives to the extent many find being already overeaten.</p><p>You can even read a great book <a href="https://www.amazon.com/Indistractable-Control-Your-Attention-Choose/dp/194883653X">Indistractable</a> from a great author who previously built products engineered to hook you up (and wrote a book about it as well).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/writer.png" class="kg-image" alt loading="lazy" width="1600" height="772" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/writer.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/writer.png 1000w, https://ghost.localazy.com/content/images/2023/08/writer.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Digital communication can both harm &amp; help. Just like it is with technologies, they can be used for good or evil purposes. Let's find out what comes next and how we can utilize emerging trends in customer communication for good.</p><p>Just like your computer or smartphone you are now using to read this article, customer communication is also a source of positive impact.</p><blockquote>Fun fact: All modern computers descended from systems that were conceived and built by the Army Research Laboratory to address pressing military needs. Its predecessor, the Ballistics Research Laboratory, first got involved with the development of computing as early as the mid-1930s, according to the ARL.</blockquote><h2 id="customer-experience-in-the-last-10-years">🤝 Customer Experience In the Last 10 Years <a class="markdownit-header-anchor" href="#customer-experience-in-the-last-10-years">🔗</a></h2><p>Despite all the changes digital communication has experienced over the years, the <u><a href="https://www.pcmag.com/news/the-most-iconic-tech-innovations-of-the-2010s" rel="noopener noreferrer">2010s alone saw a major shift in how businesses and brands communicate</a></u>.</p><p>All sorts of factors played a role during that time. Both Instagram and iPad launched in 2010. Same with iMessage, Adobe Creative Cloud, and 4G. TikTok came on the scene later, in 2017, as <u><a href="https://www.pcmag.com/news/rip-musically-tiktok-to-absorb-popular-lip-sync-app" rel="noopener noreferrer">Musical.ly</a></u>. And streaming came around in 2019 (Disney+ and Apple TV).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/CX.png" class="kg-image" alt loading="lazy" width="1600" height="413" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/CX.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/CX.png 1000w, https://ghost.localazy.com/content/images/2023/08/CX.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>But two main things were launched in the 2010s that really changed communication between customers and brands.</p><h3 id="automation">Automation <a class="markdownit-header-anchor" href="#automation">🔗</a></h3><p>Ten years ago, automation was the rage. Businesses suddenly had chatbots capable of handling customer support tickets and FAQs in a heartbeat.</p><p>However, customers weren't as thrilled. They wanted <a href="https://cx-trends-report-2022.zendesk.com/growth-areas" rel="noopener noreferrer"><u>a more human interaction that felt </u><em><u>real</u></em></a>. Chatbots weren't the best at handling complex issues—and to some extent, they still aren't.</p><h3 id="social-media">Social Media <a class="markdownit-header-anchor" href="#social-media">🔗</a></h3><p>No conversation about digital communication or customer experiences is complete without addressing the elephant in the room: social media apps.</p><p>No matter how you feel about them, they have fundamentally changed modern business. Businesses can now engage with existing and potential customers using what was once merely a way to connect.</p><p>Using apps like TikTok and Instagram, you can reach a wider audience through your videos and recommendations. Adding hashtags to your videos can help you build a brand identity.</p><p>So, businesses that haven't capitalized on social media are disadvantaged. And yet, simultaneously, the ease with which businesses can jump on the bandwagon has made it harder for everyone to stand out.</p><p>Social media &amp; community platforms are common places for public discourse. Just the media listening tools are a multimillion-dollar market, and if you lack the tools to track &amp; measure sentiment, you are behind.</p><p>Watch the documentary about <a href="https://en.wikipedia.org/wiki/Cambridge_Analytica">Cambridge Analytica</a> to understand the complete picture of how powerful social media can be when it comes to public relations in, let's say, somewhat negative sentiment for many.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/iX8GxLP1FHo" title="The Great Hack | Official Trailer | Netflix" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><p>On the other side, social media is also a massive driver of positive impact. Just for imagination, campaigns like the <u><a href="https://whyy.org/segments/the-surprising-legacy-of-the-als-ice-bucket-challenge/#:~:text=Florida%20Pro%20golfer%20Chris%20Kennedy,to%20do%20the%20same%20thing." rel="noopener noreferrer">ALS Ice bucket challenge</a></u> were possible to distribute so fast, especially thanks to social media.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/whs1eXQ3HU4" title="Pete Frates #ALSIcebucketChallenge @ Fenway Park" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><p>And the rest is history…</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/QyKPIIqBSwc" title="ALS Foundation &quot;I have already died&quot; (Publicis Amsterdam)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><h2 id="examining-emerging-trends">🌤️ Examining Emerging Trends <a class="markdownit-header-anchor" href="#examining-emerging-trends">🔗</a></h2><p>While the 2010s gave us a huge wave of change, the 2020s are also shaping up to be quite transformative. Businesses are changing how they've historically used technology and looking for ways to add the human touch to their customer conversations.</p><p>Here are some noteworthy trends to keep an eye on and maybe even consider rolling out.</p><h3 id="contact-centers-as-relationship-hubs">Contact Centers As "Relationship Hubs" <a class="markdownit-header-anchor" href="#contact-centers-as-relationship-hubs">🔗</a></h3><p>It's true—contact centers have a bad reputation for not being very helpful. As pointed out before, chatbots leave a lot to be desired.</p><p>But these days, agents can build customer relationships via stellar customer service. After all, contact center agents are the first to know when something isn't working.</p><p>As long as they advise other departments, like sales, marketing, and product teams, the communication between brands and customers can finally thrive like never before.</p><h3 id="data-driven-marketing-for-an-improved-customer-experience">Data-Driven Marketing (for An Improved Customer Experience) <a class="markdownit-header-anchor" href="#data-driven-marketing-for-an-improved-customer-experience">🔗</a></h3><p>Data help businesses better understand their customers. They can create customized campaigns using customer profiles to reach the right audience at the right time. So brands can now identify audience segments that would benefit from special, targeted advertising.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/Chart.png" class="kg-image" alt loading="lazy" width="1600" height="900" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/Chart.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/Chart.png 1000w, https://ghost.localazy.com/content/images/2023/08/Chart.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Also, more and more brands are pushing out customer satisfaction surveys and responding to feedback. Rolling out new changes that meet customer needs is a priority, and customer-centric companies such as Localazy strive to build products upon customer needs.</p><blockquote>At Localazy, we are <a href="https://localazy.com/blog/bridging-the-gap-with-localazy-1#fibery-is-getting-a-special-place-in-our-hearts">using Fibery to collect customer feedback</a> and build our product in a data-driven way.</blockquote><p>But these most advanced tools for ideal customer profiling, <strong><a href="https://hightouch.com/blog/reverse-etl#what-is-reverse-etl">reverse ETL</a></strong> processes, or hyper-personalization are here not only to squeeze the most out of your personal data &amp; sell, but the authors of such tools also widely help social entrepreneurs, changemakers and other positive changemakers to multiply their impact &amp; increase advocacy.</p><h3 id="chatbot-automation-changes">Chatbot Automation Changes <a class="markdownit-header-anchor" href="#chatbot-automation-changes">🔗</a></h3><p>Not to take another shot at chatbots, but we know where things stand. So, it should be no surprise that businesses are now testing the waters with Artificial Intelligence (AI).</p><p>Rather than simply user-based queries, they're gradually becoming <strong>predictive analytics</strong> tools based on real-time conversations.</p><p>Think contextual engagement, personalized experiences, and sentiment analytics. With AI able to self-learn and understand customer needs, it can provide more human-like help.</p><p>You can now teach your own instances of advanced ML &amp; Neuron networks called "AI," mostly for marketing purposes, such as the most popular OpenAI's GPT-3 model, on your own knowledge dataset &amp; let it answer your customer's needs. It's no longer a silly "if this, then that" automation from the early days. Even search engines like Nuclia Cloud allow you to build your own AI-powered search engine to help your customers find replies using <strong>natural language processing</strong> techniques.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/Chatbot_edit.png" class="kg-image" alt loading="lazy" width="1600" height="900" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/Chatbot_edit.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/Chatbot_edit.png 1000w, https://ghost.localazy.com/content/images/2023/08/Chatbot_edit.png 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="predictions-for-the-future">🔮  Predictions for the Future <a class="markdownit-header-anchor" href="#predictions-for-the-future">🔗</a></h2><p>Do we have a crystal ball? Not yet, and AI won't help us answer it. All of the answers for the near future are already here. After all, the "AI" is still just distilling the information already present.</p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/85IwEZoK5kbg7mZkDMgb_d2i880xDmpJojd0lukvWhBYvx7bRpeq6pIQbmambqR6kSpFHhzx6AspgTjU1sWHQwL8tDRETLf93wO4gkMN_mvxdMfL2w0fdmu_h7IxeOcd0Te6lkycNnBiwEAvcO8m6mo" class="kg-image" alt loading="lazy"></figure><p>What is your take? Which technologies, frameworks, and approaches are going to shape the world in the next 10, 50 years and hopefully help us improve the quality of life for all the beings on our planet?</p><p>Can you imagine which companies shall employ their technologies for a higher good? And who can get used to them?</p><p>If the best description of the past (and present, to some extent) has been a clear lack of true fusion between humanity and technology, then the best description of the future is human-like technology.</p><p>Businesses far and wide will meet customers wherever they are—from texts to live chats—and deliver customized experiences thanks to data and AI. Human representatives won't sound stiff and read off canned scripts anymore. Gone will be the days of frustrating, generic chatbot responses.</p><p>Instead, businesses will heavily rely on social media and website analytics, audience research tools, CRM platforms, surveys, and loyalty programs.</p><p>And their two main goals? Showing more empathy (to connect on a human level) and delivering fast customer service (to quickly resolve problems).</p><h2 id="moving-forward">✔️ Moving Forward <a class="markdownit-header-anchor" href="#moving-forward">🔗</a></h2><p>Clearly, there's a lot of ground to cover, but businesses have achieved a substantial change over the last few years alone. From social media to automation, technology has revolutionized how brands reach out to customers and resolve everyday problems.</p><p>But this is only the beginning. To thrive, businesses need to keep innovating, automating, and tweaking their solutions. With technology ever-changing the landscape, staying current is crucial.</p><p>Most importantly, it's not enough to launch tools that "get the job done" anymore. These days, thanks to exposure to more technological advancements, social-economic changes, and political developments, people are demanding a more transparent &amp; human experience.</p><p>Only by adapting and rolling out new ways to use emerging tech will businesses stay competitive and provide the best possible customer service.</p>]]></content:encoded>
            <author>Daniel Doan</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/08/Customer-communication.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Translation technology: Exploring the pros and cons of AI translation]]></title>
            <link>https://localazy.com/blog/translation-technology-exploring-the-pros-and-cons-of-ai-translation</link>
            <guid isPermaLink="false">translation-technology-exploring-the-pros-and-cons-of-ai-translation</guid>
            <pubDate>Wed, 03 Jul 2024 17:14:39 GMT</pubDate>
            <description><![CDATA[The last few months have been exciting for the translation and localization market. With ChatGPT swooshing into the scene and mesmerizing everyone with its abilities, we anxiously anticipate the future of AI. Will ChatGPT take our jobs? Let's review the current state of AI in translation.]]></description>
            <content:encoded><![CDATA[<p>Will the world need Localazy and human translators for our services? Or will AI-based tools take our ice cream, leaving us all crying like innocent children? 🤯</p><p>Slow down. We're about to break the myth of ChatGPT and its fellas. Our team of developers working hasn't flinched since the magician stepped on the scene.</p><p>That's because they know that behind every 🪄 magician, there are a few logical acts the audience doesn't see. And in this case, it's still merely ones and zeros working in the background.</p><p>However, since translation is a vast topic, we'll discuss the effectiveness of AI translations in the translation and localization of your assets. But for starters, let us first define what we mean by AI translation.</p><h2 id="what-is-ai-in-translation">🤔 What is AI in translation?  <a class="markdownit-header-anchor" href="#what-is-ai-in-translation">🔗</a></h2><p>Taking Artificial Intelligence to power your translation process is a strategically wise decision. But what does go under the hood of the AI translation tech?</p><p>The combination of <a href="https://localazy.com/dictionary/machine-learning">machine learning</a> algorithms and neural networks paired to output a suitable translation from one language to the other makes the translation process possible in an AI-based tech. AI models are trained on large amounts of multilingual data and are instructed to distinguish patterns and deliver matching translations.</p><p>With the pompous news on ChatGPT and other similar Large Language Models (LLM), you're probably wondering if AI is just a buzzword or a well-trained neural network capable of delivering smart outputs. Well, in the way it's portrayed now, as a substitute for human intelligence, it's definitely a buzzword.</p><p>The concept of Artificial Intelligence in tools like ChatGPT sounds a bit like a fantasy fiction term, and it doesn't correctly describe the tech behind it. For clarity, it's best to stick to the terms machine learning and neural network.</p><p>Despite AI models like ChatGPT being good at producing acceptable translations, we shouldn't forget that they lack a nuanced and culturally aware understanding of a human translator and can't yet operate in the context of the project with as much accuracy as humans do.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/image.png" class="kg-image" alt loading="lazy" width="1125" height="750" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/image.png 1000w, https://ghost.localazy.com/content/images/2023/08/image.png 1125w" sizes="(min-width: 720px) 720px"></figure><h2 id="cons-when-its-a-bad-idea-to-use-ai-translations">❌ Cons: When it's a bad idea to use AI translations  <a class="markdownit-header-anchor" href="#cons-when-its-a-bad-idea-to-use-ai-translations">🔗</a></h2><p>To pick where we left off, the translation output from an AI model is often blunt, too verbatim, and lacks emotion. If you think you'd be all good translating your website or app by using ChatGPT, you're better off using DeepL, which is a translation engine fueled by machine learning. AI translation comes with considerable downsides:</p><ul><li><strong>Almost zero cultural context. </strong>Not considering cultural differences when translating text can lead to inappropriate and even offensive translations. AI translations are incapable of respecting cultural differences.</li><li><strong>Private data can fall into the hacker's hands.</strong> Data leaks are common in the internet age, and this risk becomes even more probable when you input all your private data into well-known AI tools like ChatGPT. Even big companies restrict employees from <u><a href="https://www.wsj.com/articles/apple-restricts-use-of-chatgpt-joining-other-companies-wary-of-leaks-d44d7d34?mod=djemalertNEWS" rel="noopener noreferrer">using ChatGPT due to data privacy concerns</a></u>.</li><li><strong>Domain-specific translations require human expertise.</strong> When it comes to translating highly technical content in the domains of healthcare or law, AI translations lack the depth of knowledge which is gained only by experience.</li><li><strong>Unable to consider the linguistic context.</strong> Linguistic context is vital to accurately translate humor, puns, idioms, wordplay, irony, sarcasm, etc. AI translators are unable to understand these nuances of human language.</li></ul><p>Tools such as ChatGPT are great for low-risk translations. We can't say even short translations because that would imply using it for microcopy localization is a good idea. </p><p>UX and UI writing requires close attention to detail and leaves no space for fluff, which is pretty common when using ChatGPT. The role of context in translation is crucial, and ChatGPT doesn't ingest enough context from the fed data when producing translations.</p><blockquote>Learn more about digital product localization with <a href="https://localazy.com/tags/figma">Figma and Localazy</a></blockquote><p>If you're considering using AI on personal projects or general blog content that doesn't contain much depth or importance, these downsides might appear insignificant. While you need to be careful when relying on it for large projects, there are definitely some positive aspects about it worth mentioning.</p><h2 id="pros-when-its-a-good-idea-to-use-ai-translations">✅ Pros: When it's a good idea to use AI translations  <a class="markdownit-header-anchor" href="#pros-when-its-a-good-idea-to-use-ai-translations">🔗</a></h2><p>AI might fail as a sole translator, but it is an efficient assistant to a skilled human translator. Human expertise and guidance can change the quality of the translations outputted by AI tools. Tools like ChatGPT might not produce a final version of the translation, but they're great at providing initial translations and even assisting the translator in recalling certain concepts and words. Some noticeable benefits here are:</p><ul><li><strong>Lighting speed translations. </strong>AI translation tools surpass the average pace of a human translator by 1000x. This means you'll have more time to spend on editing, perfecting those translations, and meeting deadlines.</li><li><strong>AI translation costs are affordable. </strong>AI translation tools require a small investment compared to hiring a professional translator. Therefore, they're an ideal choice if you have a small budget for your project.</li><li><strong>Translations from multiple fields are supported.</strong> AI models have been trained on a massive corpus of knowledge, enabling them to translate content from various fields. Human translators are rarely experienced in more than one field.</li><li><strong>Accessible and flexible implementation. </strong>Using specific plug-ins and integrations, you can integrate AI-based tools like ChatGPT to translate content from multiple mediums and platforms without human intervention.</li></ul><p>These are some of the positive aspects of integrating AI or <a href="https://localazy.com/dictionary/machine-translation">machine translation</a> into your localization workflow, but they certainly come with their own limitations, especially if you're using ChatGPT.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/08/image-1.png" class="kg-image" alt loading="lazy" width="1125" height="750" srcset="https://ghost.localazy.com/content/images/size/w600/2023/08/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/08/image-1.png 1000w, https://ghost.localazy.com/content/images/2023/08/image-1.png 1125w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-limitations-of-chatgpt">🤖 The limitations of ChatGPT <a class="markdownit-header-anchor" href="#the-limitations-of-chatgpt">🔗</a></h2><h3 id="why-it-wont-resolve-your-translation-needs-at-scale">Why it won't resolve your translation needs at scale <a class="markdownit-header-anchor" href="#why-it-wont-resolve-your-translation-needs-at-scale">🔗</a></h3><p>The first obstacle stands in the fact that ChatGPT relies on pre-existing training data, and its knowledge is limited to what it has been trained on.</p><p>As a result, its translations may not always be as accurate or contextually nuanced as those provided by human translators. ChatGPT lacks the ability to fully comprehend complex linguistic structures, cultural nuances, and industry-specific terminology, which are crucial for delivering high-quality translations, particularly in specialized domains.</p><p>Therefore, for large-scale translation projects or situations requiring precise and contextually accurate translations, it's best to rely on professional translation services or dedicated translation software designed explicitly for such purposes.</p><p>Relying solely on AI models for extensive translation projects will lead to subpar results. And we'll see why below. Instead, it's crucial to leverage human expertise to ensure high-quality translations that resonate with your target audience.</p><h3 id="why-chatgpt-wont-replace-your-tms">Why ChatGPT won't replace your TMS <a class="markdownit-header-anchor" href="#why-chatgpt-wont-replace-your-tms">🔗</a></h3><p>Another thing to consider when dealing with translations and localization is managing and facilitating translations. ChatGPT and other AI translation tools are simple input/output machines. While they are advancing really fast and can spit out quite impressive results in an instant, the usual problems associated with translation management still need to be solved elsewhere. </p><p>Platforms such as Localazy and other specialized <a href="https://localazy.com/term/translation-management-system">translation management systems</a> are vital for any long-term translation project. Translations need to be updated when the source texts change. You have to keep track of what is translated and not and <a href="https://localazy.com/features/context-screenshots-ocr">see the texts in their context</a>. That's why you need a place to see the state of things and tools that will allow you to go back to certain texts, make updates quickly and see the progress. </p><p>If you need to translate your text quickly and be done with it, sure, copy-paste the results from ChatGPT or <a href="https://localazy.com/dictionary/deepl">DeepL</a> once, and you can forget about it. But for ongoing maintenance of translations, tools like Localazy are your best bet; most of them already have AI tools implemented somehow.</p><h2 id="what-about-google-translate-and-deepl">⛳ What about Google Translate and DeepL? <a class="markdownit-header-anchor" href="#what-about-google-translate-and-deepl">🔗</a></h2><p>Google Translate and DeepL are popular machine translation tools that utilize AI technology. They have made significant strides in improving translation quality, and <a href="https://localazy.com/dictionary/deepl" rel="noopener noreferrer"><u>DeepL has advanced significantly</u></a> by integrating a neural network powered by machine learning. Think of it as a ChatGPT but dedicated to translations.</p><p>The tool hasn't gone viral because it can't chat with us as ChatGPT does, and its specialty remains only translation. But if you would consider integrating one tool to assist in your localization process, DeepL is a reasonable option. Even if you're not using it for final translations, it's helpful as an assistive technology to provide context.</p><blockquote>Google Translate and DeepL are built-in to the Localazy platform and available for <a href="https://localazy.com/features/pre-translate">pre-translate</a> and <a href="https://localazy.com/docs/general/additional-mt-engines">translation suggestions</a> for all customers on the <a href="https://localazy.com/tiers/autopilot">Autopilot</a> plan and above.</blockquote><p>Both Google Translate and DeepL excel at providing quick and basic translations, but they may struggle with maintaining the tone, capturing <a href="https://localazy.com/blog/how-to-translate-idioms-the-right-way">idiomatic expressions</a>, and delivering accurate translations for specialized content. These tools can serve as a starting point for simple translations, but for professional and nuanced translations, human translators remain essential.</p><h2 id="where-does-chatgpt-help">🦾 Where does ChatGPT help?  <a class="markdownit-header-anchor" href="#where-does-chatgpt-help">🔗</a></h2><p>Despite its limitations in large-scale translation, ChatGPT can still be valuable in certain translation-related scenarios. ChatGPT can serve as a helpful tool for translators by providing quick and on-the-spot translations for simple and straightforward content, such as short phrases, sentences, or basic communication with clients.</p><p>However, it is important to keep in mind that for more complex or critical translation tasks, seeking professional human translation services or utilizing specialized translation tools is still the recommended approach.</p><p>Our <a href="https://localazy.com/docs/general/continuous-localization-team" rel="noopener noreferrer"><u>Continuous Localization Team</u></a> offers unmatched translation services for your business while using the best of both worlds: sophisticated tech and human provision.</p><h2 id="how-to-choose-the-right-translation-tech">👩‍💻 How to choose the right translation tech <a class="markdownit-header-anchor" href="#how-to-choose-the-right-translation-tech">🔗</a></h2><p>The key to successful translation lies in using the appropriate technology where it is needed. AI-powered tools can be valuable assets for quick translations, content generation, or localization assistance.</p><p>However, professional human translators with subject matter expertise are indispensable for critical business materials, legal documents, UI &amp; UX copy, technical blogs, and other context-sensitive content. Combining AI and human expertise can yield superior results, ensuring accuracy, precision, and cultural sensitivity.</p><blockquote>Learn more about our <a href="https://localazy.com/blog/guide-localazy-translation-services">translation services combining machine translations with human touch</a>.</blockquote><p>And as we said earlier: Even if AI translations produced with ChatGPT are acceptable, integrating it for large-scale translation projects where you have tens of thousands of <u><a href="https://localazy.com/faq/pricing/what-are-source-keys" rel="noopener noreferrer">source keys</a></u> to translate and manage isn't suitable. And version control issues begin at a low number of source keys and even when adding a single additional language. Its integration seeks a well-structured localization workflow if you want to use it on a scale.</p><p>Ideally, the best integration of machine learning as one of the core components of AI is to use it alongside Human Translations. The combination of MT &amp; Human Translations helps achieve Human Assisted Machine Translation (<u><a href="https://localazy.com/dictionary/human-assisted-mt">HAMT</a></u>) and Machine Assisted Human Translation (<u><a href="https://localazy.com/dictionary/maht" rel="noopener noreferrer">MAHT</a></u>). Both of them led to refined translations.</p><h2 id="final-thoughts">✔️ Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>Choosing the proper translation technology is vital for achieving your marketing goals. While AI has somewhat transformed the translation landscape, it's crucial to recognize its limitations and leverage it in conjunction with human expertise and proper management tools. Unless an expert is involved in the translation process, translations will be bland and generic.</p><p>However, by matching the right AI-powered tools with professional translators, you have more chances of producing refined translations no matter the scale of the project. While tools like ChatGPT are captivating, remember that a jack-of-all-trades is often a master of none. </p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/07/AI-Translation_Featured.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Meet the Localazy Team: Daniel Charvát, Lead Front End Developer]]></title>
            <link>https://localazy.com/blog/meet-the-localazy-team-dan-business-development</link>
            <guid isPermaLink="false">meet-the-localazy-team-dan-business-development</guid>
            <pubDate>Fri, 28 Jul 2023 09:35:48 GMT</pubDate>
            <description><![CDATA["What I appreciate the most about my job at Localazy is the value placed on everyone's voice and the opportunity for each person's opinion to shape our direction", states our Front-End Developer, Dan Charvát. Learn more about his line of work and his day-to-day on this new Meet the Team installment!]]></description>
            <content:encoded><![CDATA[<p>Writing great code and providing a greater user experience is crucial to develop usable, impeccable features for Localazy - and to make our users love them! Our front-end guru, <a href="https://www.linkedin.com/in/daniel-charvat/"><strong>Dan Charvát</strong></a>, has been instrumental in ensuring that our vision becomes a reality and is next on our Meet the Team series.</p><p>Dan, 29, lives in Slavkov u Brna, close to the second-largest city in the Czech Republic, Brno. He enjoys bouldering, family time, and the countryside and is currently waiting for his new home to be finished to take a big life step: moving to a small village close to the forest. 🏠 🔨 Today, we discuss UX, user feedback, and Localazy's <a href="https://localazy.com/tags/release-update">newest updates</a> with him. And, of course, we get to know him better - so let's begin!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/20190903_130651-3.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/20190903_130651-3.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/20190903_130651-3.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/20190903_130651-3.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/05/20190903_130651-3.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Dan Charvát - Lead Front-End Developer at Localazy‌</figcaption></figure><h2 id="getting-to-know-dan">👋 Getting to know Dan <a class="markdownit-header-anchor" href="#getting-to-know-dan">🔗</a></h2><p><strong>Hey, Dan! Tell us - what is your role in Localazy, and what are your main responsibilities?</strong></p><p>In my position at Localazy, I have two primary roles: Lead Front-End Developer and Business Development. As a Front-End Developer, my main responsibility is to ensure the accurate implementation of designs, which are mostly prepared by my colleague <a href="https://localazy.com/blog/author/ondrej-pucek">Ondra</a>. This involves making sure that the design covers all possible user scenarios, ensuring a satisfactory user experience that aligns with the initial prototypes. Additionally, I focus on preventing the introduction of any issues or slowdowns to existing functions, especially within the core product.</p><p>In my other role, Business Development, I meet with potential, new and existing users. These meetings serve as opportunities to establish partnerships, guide new users through their initial steps, and help them optimize their usage of our product. </p><p><strong>So, does user feedback influence your role too?</strong></p><p>Of course. In fact, user feedback plays a vital role in this process and serves as the cornerstone of our decision-making. We collect feedback from various sources, allowing us to consider multiple perspectives and opinions.</p><p>My role (as is true for my other team members) truly extends beyond development tasks. We regularly come together as a team to discuss and analyze user feedback gathered over the past weeks. This collaborative effort allows us to prioritize the most impactful features to work on. We then refine the specifications to encompass a wide range of foreseeable scenarios, although it is challenging to anticipate every creative user idea. Nonetheless, we strive to deliver features that meet the majority of user expectations.</p><p><strong>Can you elaborate on what a front-end developer does at Localazy?</strong></p><p>Front-end developers at Localazy play a crucial role in translating <a href="https://localazy.com/tags/figma">stunning Figma designs</a> and intricate back-end logic into a delightful and seamless user experience. They are responsible for crafting everything that users see, including our website, plugins, and the core product itself. While the complex operations and initial prototyping are essential steps in the overall process, it is the front-end developers who bring it all together, making it accessible and user-friendly for regular users.</p><p><strong>What do you like the most about your job at Localazy?</strong></p><p>What I appreciate the most about my job at Localazy is the value placed on everyone's voice and the opportunity for each person's opinion to shape our direction. It is essential to avoid falling into a workspace bubble where everyone simply agrees with each other. However, it is equally important to maintain a healthy work environment without constant arguments. I believe that objectivity is crucial, and I'm pleased to say that each member of our team can express their opinions without bias, while others are open to constructive arguments and actively listen. ✌️ This collaborative and inclusive atmosphere allows for diverse perspectives and fosters a strong sense of teamwork.</p><p><strong>Let’s talk about your background. What’s your prior experience and education?</strong></p><p>I hold a master's degree in Economics and a bachelor's degree in Computer Science. My interest in web development dates back to my early years in primary school. However, it wasn't until I realized that Economics was not the career path I wanted to pursue that I began transitioning toward making it my livelihood.</p><p>While I was still attending university, I worked as a data analyst and developer, creating small websites to earn some extra income. Soon after completing my studies, I had the opportunity to join <a href="https://www.runecast.com">Runecast Solutions</a>, where I collaborated with Ondra and <a href="https://localazy.com/blog/meet-the-localazy-team-jan-bilek-product-manager">Jan</a> to revamp their product dashboard with a modernized UI. About a year later, <a href="https://localazy.com/blog/author/vaclav-hodek">Václav</a> approached me with his vision to revolutionize the localization industry, and I have been with Localazy ever since.</p><p><strong>Who are your main professional inspirations or role models, and why?</strong></p><p>To be completely honest, I don't have any specific professionals I look up to or consider role models, especially those I haven't personally known. The person I have become today is a result of all the people I have encountered in my life, each with its own degree of influence, big or small. </p><p>However, if I were to highlight the individuals who have had the most significant impact on shaping my persona, I would attribute it to my fiancée, brother, mother, and grandfather. Their presence and guidance have played an instrumental role in molding who I am today, and I hold a deep love and appreciation for them.</p><p><strong>What are your hobbies and interests?</strong></p><p>One of my greatest passions is participating in various sports. In recent years, bouldering 🧗‍♂️ has captured my heart, offering a unique and fulfilling challenge.</p><p>Apart from my sporting pursuits, I absolutely adore spending quality time with my soon-to-be one-year-old son. He has become the center of my world, and being a parent brings me immense happiness and fulfillment.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/IMG_20230404_130252-1.jpg" class="kg-image" alt loading="lazy" width="2000" height="2666" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/IMG_20230404_130252-1.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/IMG_20230404_130252-1.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/IMG_20230404_130252-1.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/05/IMG_20230404_130252-1.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>A happy dad! Dan with his soon-to-be one-year-old 👶‌</figcaption></figure><h2 id="a-day-in-the-life-of-a-front-end-dev">👨‍💻 A day in the life of a front-end dev <a class="markdownit-header-anchor" href="#a-day-in-the-life-of-a-front-end-dev">🔗</a></h2><p><strong>What does your work routine look like?</strong></p><p>My usual workday typically starts early in the morning with checking and responding to emails. I also like to catch up 💬 on any conversations or updates shared by my night owl colleagues from the previous evening or night. After that, I take a moment to stretch and prepare myself for the tasks ahead.</p><p>The rest of my day largely depends on the number of meetings scheduled. When I have three or more meetings, I tend to focus on less intensive tasks that I can complete in between or by the next day at the latest. On other days, I enjoy dedicating uninterrupted coding sessions that can last for 2 to 3 hours. This allows me to make progress on more challenging and creative tasks.</p><p>Occasionally -especially when the first half of the week is demanding-, I take the opportunity to read articles, explore documentation 📚 or watch videos related to the tools we are currently using or could potentially use. Staying updated on current trends and technologies in our field is crucial to avoid falling behind the competition, so I make an effort to retain at least passive knowledge about them.</p><p><strong>What’s the main project you’re working on at the moment?</strong></p><p>I'm currently immersed in an exciting project focused on enhancing the workflow between <a href="https://localazy.com/docs/figma/plugin-introduction">Figma</a> and content management. Our goal is to streamline the entire process, starting from the design phase in Figma all the way to content review, translations, and export for implementation in code.</p><!--kg-card-begin: markdown--><blockquote>
<p>Discover the Localazy + Figma plugin <a href="https://www.figma.com/community/plugin/964257457772706017/Localization-plugin-by-Localazyhttp://">here</a> and start<br>
localizing your designs in Figma right away! 🎬</p>
</blockquote>
<!--kg-card-end: markdown--><p>To achieve this, we are developing <a href="https://localazy.com/blog/figma-as-your-source-of-truth-the-new-approach-to-streamlining-localization">new features</a> that will enable the definition of alternative export files and key names. This means that developers can easily organize the content uploaded from Figma and export it in any desired format under different paths and key names. </p><p>For example, mobile app designs can be uploaded as <a href="/json">JSON</a> and then exported from a single project in formats suitable for both <a href="/ios">iOS</a> and <a href="/android">Android</a>. The best part is that these advancements won't burden designers with extra responsibilities like key naming or sorting. We are confident this will bring immense satisfaction to numerous product teams. 🙌 Stay tuned for more exciting updates!</p><p><strong>By the way, in which language do you enjoy coding the most?</strong></p><p>Definitely <a href="https://www.typescriptlang.org">TypeScript</a>. JavaScript, in general, is a versatile language that enables rapid prototyping and the development of complex applications using popular frameworks. However, JavaScript's dynamic nature can sometimes introduce challenges, such as type comparisons (looking at you, ===) and derived boolean values, leading to unexpected results. That's where TypeScript comes in.</p><p>TypeScript adds much-needed structure and organization to the JavaScript ecosystem. It provides strong typing, allowing for better code analysis, catching errors early in the development process, and improving overall code quality. Overall, it brings order to the sometimes chaotic nature of JavaScript, making the development experience more pleasant and efficient.</p><p><strong>In a small startup like Localazy, developing, testing, and innovating can get intense. As a lead developer, how do you set priorities within the development team?</strong></p><p>It is a joint effort, really. Everyone is free to push through what they feel is the most pressing issue at the given time. Only when there is just too much on our plate (which happens quite regularly 👀) do we decide what the workforce should focus on. But again, it’s a joint effort.</p><p><strong>How do you work with the product side to make sure that the final product is up-to-date and consistent?</strong></p><p>The small size of our Localazy product team allows us to maintain a high level of flexibility and responsiveness to various requests and changes. We discuss and evaluate whether the specifications and directions we are pursuing are on the right track. This constant communication helps us stay aligned and make necessary adjustments along the way.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/20220423_170106-3.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/20220423_170106-3.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/20220423_170106-3.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/20220423_170106-3.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/05/20220423_170106-3.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Bouldering has captured Dan's heart</figcaption></figure><h2 id="the-challenges-of-a-ux-wizard">🪄 The challenges of a UX wizard <a class="markdownit-header-anchor" href="#the-challenges-of-a-ux-wizard">🔗</a></h2><p><strong>UX and UI are essential parts of your job. Why is it so important, and what’s the most challenging aspect of it?</strong></p><p>Imagine ordering self-assembly furniture that looked fantastic on the website and in review videos. You're excited about it and can't wait to see it fully assembled. However, when the package arrives, there's no assembly manual included. 😖 The user experience of trying to put all the individual pieces together without guidance would be a nightmare! </p><p>You might end up returning the furniture or seeking help to get the manual, but it's certainly not the smooth experience you were expecting. The same principle applies to the <a href="https://localazy.com/tags/ux">UX</a> (User Experience) and <a href="https://localazy.com/blog/release-update-new-project-settings-releases-in-ui">UI</a> (User Interface) of a software product. No matter how powerful or amazing the software may be, it becomes practically useless if users struggle to understand and use it in a pleasant way.</p><p>The most challenging aspect of UX and UI is putting ourselves in the shoes of the users. As developers, we naturally have a deep understanding of the intricacies of our product, but our users, whether new or long-time, don’t share the same level of knowledge. Additionally, users often have different preferences and workflows than what we may envision as ideal. When introducing new features or updates, our goal is to make them easily understandable at first glance while ensuring we don't disrupt existing user patterns. This can be quite challenging, and admittedly, we may make missteps along the way. That's why it's crucial for us to engage with our users actively, <a href="https://localazy.com/testimonials">gather their feedback</a>, and learn from it.</p><blockquote>The most challenging aspect of UX and UI is putting ourselves in the shoes of the users. No matter how powerful or amazing the software may be, it becomes practically useless if they struggle to understand it</blockquote><p><strong>How do you collect users’ feedback, and what does the process of implementing it look like?</strong></p><p>We gather feedback from various channels, including in-product messaging, emails, meetings, review portals, and analytics data. To streamline the process, we utilize <a href="https://fibery.io/">Fibery</a>, a tool that helps us categorize and organize feedback. We tag and link the feedback to relevant feature requests, UX/UI suggestions, and other related topics. This creates a comprehensive network of feedback topics 🗣️ that allows us to identify the most critical initiatives to prioritize. Special shoutout to <a href="https://localazy.com/blog/meet-the-localazy-team-jan-bilek-product-manager">Jan Bílek</a> for his outstanding work in putting this system together!</p><p><strong>Have users gotten more demanding with the quality of the front end over the last few years? What’s the most asked-about feature?</strong></p><p>I wouldn't say they have become more demanding. Generally, users have always sought an interface that is intuitive and user-friendly. However, as front-end development has evolved and new features have become available, developers have been able to create more elegant solutions and meet users' expectations for modern patterns and functionalities. For example, users now expect websites to be mobile-responsive, which has become a standard requirement. As the quality of websites and applications improves over time, users naturally expect a certain level of quality and usability.</p><p><strong>What about the quality of the code? How do you oversee that part?</strong></p><p>One common trait of startups is to develop as much as possible in the least amount of time. While this approach may work initially, it can become unsustainable over time as parts of the code become difficult to understand and slow down the application as a whole. We were no different and had to refactor and rework at least 50% of the code we created. 🔎 However, we didn't stop there: we created internal guidelines to prevent the most common and inefficient mistakes in the future, which helped us keep the code quality high from the beginning. As a result, we don't need to do in-depth code reviews but rather focus on overall outcome assessment.</p><p><strong>Can you tell us about a recent project that you’re especially proud of?</strong></p><p>We recently launched a project called <a href="https://hub.localazy.com/en">Localazy Hub</a>, a portal dedicated to localization topics. Our goal was to create a comprehensive resource similar to Wikipedia, focusing on languages, locales, countries, and more. The content is presented in a structured manner, with an emphasis on smart contextual on-site linking.</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;One common trait of startups is to develop as much as possible in the least amount of time. While this approach may work initially, it can become unsustainable over time as parts of the code become difficult to understand. We had to rework at least 50% of the code we created&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p>For the interface of Localazy Hub, we decided to use <a href="https://localazy.com/tags/nuxtjs">Nuxt 3</a>. It was a challenging decision as it hadn't been officially released at the time, and there were no examples available for architecture in large projects. However, I'm proud to say that we successfully tackled the challenge of making the application scalable and maintainable, even without the finished documentation for the new features of Nuxt. The Localazy Hub project has been a great accomplishment for our team, and we're excited to see it grow and become a valuable resource for the localization community. 😊✌️</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/20230406_103800-3.jpg" class="kg-image" alt loading="lazy" width="1584" height="2112" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/20230406_103800-3.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/20230406_103800-3.jpg 1000w, https://ghost.localazy.com/content/images/2023/05/20230406_103800-3.jpg 1584w" sizes="(min-width: 720px) 720px"></figure><h2 id="industry-insights">🗣️ Industry Insights <a class="markdownit-header-anchor" href="#industry-insights">🔗</a></h2><p><strong>What did you know about localization before you landed in Localazy?</strong></p><p>To be honest, I had very limited knowledge about localization before joining Localazy. However, I quickly realized that the saying "Easy to learn, difficult to master" perfectly applies to the field of localization as well. It took some time to familiarize myself with the terminology, and even now, I remain cautious when discussing concepts like strings, keys, and phrases. The learning process has been challenging, but it has also been rewarding to expand my understanding of localization and its complexities.</p><p><strong>In your opinion, why is localization so important?</strong></p><p>Localization plays a crucial role for several reasons. Often, people tend to assume that English is universally understood to some extent, <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">leading them to believe</a> that investing in translations wouldn't significantly benefit them. However, this assumption couldn't be further from the truth, based on my experience and perspective.</p><p>With a global population of approximately 8 billion people, it's estimated that only around 1.5 billion speak English. Even among English speakers, only a fraction of them have English as their native language or possess fluency in it. 🤯 In other words: there are a substantial number of individuals who don't have a strong grasp of English, making it challenging for them to utilize products and services that are exclusively available in English or any other language they're not proficient in.</p><!--kg-card-begin: markdown--><blockquote>
<p>People tend to assume that English is universally understood to some extent, leading them to believe that investing in translations wouldn't significantly benefit them. This couldn't be further from the truth</p>
</blockquote>
<!--kg-card-end: markdown--><p>While language barriers may not pose a problem for certain products such as video games, where not understanding the storyline may not heavily impact gameplay itself, it becomes vital in industries like financial services, healthcare, or law. In these sectors, it's essential for users to comprehend the content and instructions provided fully.</p><p>By embracing localization, we can bridge the language gap and ensure accessibility for a broader audience. 💪 It allows users to engage with content in their native language, resulting in enhanced user experiences and increased customer satisfaction. Ultimately, localization enables businesses to reach and serve a diverse global market, unlocking new growth opportunities and establishing stronger connections with users worldwide.</p><p><strong>How has automation and machine learning impacted your job and, specifically, the localization industry?</strong></p><p>They have had a significant impact on the localization industry as a whole, primarily due to the advancements in machine-generated translations. It's worth noting that while I generally recommend utilizing machine engines for translations, it's important to temper expectations and evaluate the results. <a href="https://localazy.com/dictionary/machine-translation">Machine-generated translations</a> have come a long way and can produce satisfactory translations in many cases. However, it's crucial to acknowledge that there can still be instances where the translations sound unnatural or contain inaccuracies.</p><p>Localization plays a vital role, but the quality of localization should align with both your expectations and the expectations of your users. For example, if you're working on a simple fitness app and rely solely on machine translations, users may be more forgiving of any minor inaccuracies or unnatural-sounding translations. On the other hand, when dealing with sensitive topics like health and diseases or setting up a new banking account, even translations that may sound slightly unnatural but are technically correct can deter potential users.</p><!--kg-card-begin: markdown--><blockquote>
<p>Got questions about machine translation? 🤖 🤔 Check out <a href="https://localazy.com/faq/machine-translation">our FAQ</a> to find out if it fits your needs and client's expectations</p>
</blockquote>
<!--kg-card-end: markdown--><p>Ultimately, it's important to strike a balance ⚖️ between leveraging automation and machine learning for efficiency while ensuring that the quality and accuracy of translations meet the specific requirements of each project and align with user expectations. </p><h2 id="future-features-and-more">📦 Future features & more <a class="markdownit-header-anchor" href="#future-features-and-more">🔗</a></h2><p><strong>The development world is constantly evolving. How do you keep up with innovations in your area?</strong></p><p>I stay up-to-date with the latest innovations in my field by reading various front-end-related articles on a regular basis. Additionally, I keep an eye out for anything of interest that comes up in my news feed. I have to say the algorithms have come a long way, and many of the recommendations I receive are relevant and informative. My colleagues, especially Jan, also share interesting articles and products with me, so they help me stay in the loop as well.</p><p><strong>Is there a feature you’d like to work on in the near future? Any new technology you’re especially interested in?</strong></p><p>I'm particularly excited about the advancements in AI, especially with technologies like ChatGPT. AI has the potential to enhance the capabilities of various software products, and <a href="https://openai.com/">OpenAI</a> has certainly drawn attention to its possibilities. I believe there's potential for incorporating AI, not only for translations but also for providing contextual assistance, within Localazy. I'm interested in exploring the possibilities and seeing how they can benefit our platform. 😃</p><!--kg-card-begin: markdown--><blockquote>
<p>The potential of AI assistants for localization is immense. Imagine having a tool that automatically generates accurate glossary terms, provides recommended translations or suggests automated explanations of idioms, industry jargon and abbreviations without any manual input required!</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>What do you think “the next big thing” in localization is going to be, and how is that going to relate to your role as a developer?</strong></p><p>I strongly believe that AI assistants will play a significant role in the future of localization products. It's truly exciting to think about the various possibilities they can bring. Imagine having a tool that automatically generates accurate glossary terms and provides recommended translations in different languages based on your existing content. Or how about automated explanations of idioms, industry jargon, and abbreviations without any manual input required? The potential is immense, and I'm thrilled about the exciting times ahead in the localization industry.</p><p><strong>Anything else you’d like to add? </strong>🙂</p><p>Don't let fear hold you back from pursuing your dreams of starting a startup. The fear of failure should not overshadow the fear of never trying and living with regret. Following your passion and doing what you love is a truly wonderful experience. Embrace the challenges, take that leap of faith, and believe in yourself. 🫶 Remember that every successful journey starts with a single step. So go ahead and chase your dreams, for the possibilities that lie ahead are truly extraordinary.</p><p><strong>Well - that's a wrap! Thank you for your time, Dan! For more dev tips, how-tos, and platform update tutorials, you can check out </strong><a href="https://localazy.com/blog/author/daniel-charvat"><strong>his posts</strong></a><strong> on our blog or follow him on </strong><a href="https://twitter.com/dan_charvat"><strong>Twitter</strong></a><strong>. And if you're interested in starting to use Localazy, don't forget to </strong><a href="https://localazy.com/book-demo"><strong>book a demo</strong></a><strong> with Dan, who will personally guide you through all of our product's functionalities. </strong></p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/Interview-insider-4-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[i18n Tutorial: String Externalization and Testing with Qodana]]></title>
            <link>https://localazy.com/blog/string-externalization-and-testing-with-qodana</link>
            <guid isPermaLink="false">string-externalization-and-testing-with-qodana</guid>
            <pubDate>Wed, 26 Jul 2023 09:31:27 GMT</pubDate>
            <description><![CDATA[Learn how to utilize the code quality platform Qodana by JetBrains to externalize strings and test your localizations in this tutorial by Mary Okosun.]]></description>
            <content:encoded><![CDATA[<h2 id="what-is-qodana">🤔 What is Qodana? <a class="markdownit-header-anchor" href="#what-is-qodana">🔗</a></h2><p>Qodana is a platform for monitoring code quality and evaluating code integrity. It incorporates all of the innovative features found in the JetBrains IDE into your CI/CD pipelines. It helps development teams consistently deliver code that meets quality and industry standards.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/07/image-41.png" class="kg-image" alt loading="lazy" width="2000" height="1089" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-41.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-41.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-41.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/07/image-41.png 2400w" sizes="(min-width: 720px) 720px"><figcaption><a href="https://www.jetbrains.com/qodana/">jetbrains.com/qodana</a></figcaption></figure><h3 id="why-use-it">Why use it? <a class="markdownit-header-anchor" href="#why-use-it">🔗</a></h3><p>Qodana provides a high-level overview of project quality, establishes quality checks, and monitors progress on these various checks. Qodana can perform three different types of analysis components.</p><ol><li><strong>Static analysis</strong>: This performs an automated codebase analysis.</li><li><strong>Linters</strong>: This component allows you to analyze code and identify duplicate functions or licenses that are incompatible.</li><li><strong>Code inspections</strong>: This linter component instantly analyzes code for specific issues.<br></li></ol><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/Screenshot-2023-05-23-at-9.32.21-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1386" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/Screenshot-2023-05-23-at-9.32.21-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/Screenshot-2023-05-23-at-9.32.21-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/Screenshot-2023-05-23-at-9.32.21-PM.png 1600w, https://ghost.localazy.com/content/images/2023/05/Screenshot-2023-05-23-at-9.32.21-PM.png 2044w" sizes="(min-width: 720px) 720px"></figure><p>The diagram above depicts a typical workflow for Qodana.</p><ol><li><strong>Install Qodana</strong>: Qodana is integrated into JetBrains IDE, so installing the Qodana plugin within your IDE is necessary.</li><li><strong>Software configuration</strong>: Qodana can be configured following your project's specifications.</li><li><strong>Inspect code</strong>: Inspections can be performed using the code analysis available.</li><li><strong>Improve code</strong>: Codes can be improved further based on the results of a Qodana inspection to meet project requirements and standards.</li><li><strong>Repeat inspection</strong>: Code inspection and improvement are both iterative processes.</li></ol><h2 id="installation">🔌 Installation <a class="markdownit-header-anchor" href="#installation">🔗</a></h2><p>Qodana can be run locally on a PC or server or as part of a building or deployment process within a <a href="/tags/ci">CI/CD pipeline</a>.  Qodana can analyze projects written in Java, <a href="/tags/kotlin">Kotlin</a>, <a href="/tags/php">PHP</a>, Python, TypeScript, <a href="/tags/javascript">JavaScript</a>, .NET, and Golang. However, in this article, we will be analyzing a project written in Java programming language.</p><p>Before installing Qodana, configuring the Java Development Kit (JDK) is essential, as Qodana runs only on certain versions. Qodana JVM Community's default version is JDK 17. Qodana JVM uses JDK 17, while Qodana for Community Android uses Amazon Corretto 11. Aside from these default versions, Qodana can run on various other versions, which can be found in the <a href="https://www.jetbrains.com/help/qodana/configure-jdk.html">documentation</a>.</p><p> Qodana offers two options for installation:</p><ol><li>Using the Qodana Command Line Interface (CLI)</li><li>The use of a Docker image</li></ol><p>We will use the CLI in our project because it is the simplest way to get started. We would install Qodana CLI using Homebrew for macOS, but other installation options are available in the <a href="https://www.jetbrains.com/help/qodana/2023.1/quick-start.html">official documentation</a>.</p><p>Enter the following command into your terminal:</p><pre><code>brew install jetbrains/utils/qodana
</code></pre><p>Following installation, we will start the process by running the command in the root directory of the project you intend to analyze. This command generates a .<em>yaml</em> file containing all configuration files.</p><pre><code>qodana init</code></pre><p>You would get a few prompts along the way, and you'd be able to choose the linter based on the IntelliJ edition you're using. The <em><code>jetbrains/qodana-jvm-community:2023.1</code></em> linter is based on the Intellij community edition, whereas the <em><code>jetbrains/qodana-jvm:2023.1</code></em> linter is based on the Intellij Ultimate edition. A <em>qodana.yaml</em> file is generated.</p><p>When initialization is complete, the command below can be used to inspect the code. </p><pre><code>qodana scan --show-report</code></pre><p>A sample of the screenshot of the report page can be seen below:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/Screenshot-2023-05-25-at-4.45.27-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1450" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/Screenshot-2023-05-25-at-4.45.27-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/Screenshot-2023-05-25-at-4.45.27-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/Screenshot-2023-05-25-at-4.45.27-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/05/Screenshot-2023-05-25-at-4.45.27-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="lessbrgreater-what-is-string-externalization"><br>✂️ What is String Externalization? <a class="markdownit-header-anchor" href="#lessbrgreater-what-is-string-externalization">🔗</a></h2><p>String externalization is a technique used to manage a project's textual content.<strong> </strong>It is the process of loading strings from an external source, such as a <em>.json</em> or<em> .properties</em> file. Software translation is a common practice among developers because it maintains translation effectively. This is due to the ease with which strings that are not hardcoded can be localized and translated into other languages.</p><h3 id="how-to-perform-string-externalization">How to perform string externalization? <a class="markdownit-header-anchor" href="#how-to-perform-string-externalization">🔗</a></h3><p>String externalization differs by programming language. The Java programming language will be the focus of this article. String externalization entails the following steps:</p><ol><li>The first step in this process is identifying<strong> hardcoded strings</strong> in your project. These strings could be user output or error messages, among other formats. Content visible from a user interface can be identified as an externalizable string.</li><li><strong>Create an external file</strong>: According to our definition of string externalization, we must load strings from an external source. This is where we create the external source to load strings. The external file varies depending on the programming language; for example, Javascript uses a.json file with an object within it, whereas in Java, the external source is the resource bundles. The resource bundle contains.properties files for each language supported by the application. This concept will be discussed in depth in the subsequent section.</li><li><strong>String Extraction</strong>: String extraction is the process of extracting hardcoded strings into the default language.properties file. Strings are typically stored as a key-value pair. For instance, if the string "Please input your correct credentials" is hard coded, it is externalized as <code>credential.message=Please input your correct credentials</code> in the.properties file. The hard-coded string is subsequently replaced with <code>credential.message</code>.</li><li><strong>Handle translation</strong>: IntelliJ has an interesting feature that allows easy translation to other languages via an <em>en.properties</em> file. The value of the key <code>credential.message</code> is translated into the content of other languages using the other locales properties file.</li><li><strong>Testing</strong>: After making changes to the properties file, check that the application is working properly and that all externalized strings have been loaded correctly.</li></ol><p>When using Qodana as a code analysis tool, these procedures are simplified. The following section explains how Qodana guarantees proper externalization and localization of our project while also ensuring high-quality checks and code inspection.</p><h2 id="how-to-use-qodana-for-localization">🚩 How to use Qodana for Localization? <a class="markdownit-header-anchor" href="#how-to-use-qodana-for-localization">🔗</a></h2><p>Qodana is not a <a href="/term/software-localization">localization tool</a>, but it facilitates seamless localization management. The strings to be translated are stored in properties files, which can then be bundled into a resource bundle. </p><p>IntelliJ can then easily detect strings that require localization. Properties are text files with the <a href="/properties">.</a><em><a href="/properties">properties</a></em> extension that contain localized key-value pairs. These localized strings can be accessed and rendered in the user interface.</p><p>You can use this <a href="https://www.jetbrains.com/help/idea/creating-and-running-your-first-java-application.html#write-code">official documentation</a> to create a simple Java application that prints "Hello, world!" to the system output by following the instructions. If you have an existing Java application, we can proceed to the next section. </p><h3 id="setup">Setup <a class="markdownit-header-anchor" href="#setup">🔗</a></h3><p>In the subsequent steps, the <strong>Resource Bundle Editor Plugin</strong> will be installed.</p><ol><li>In the settings menu (command+comma), choose plugins</li><li>Go to the marketplace and search for <strong>Resource Bundle Editor Plugin</strong></li><li>Install this plugin, apply the changes, and click OK to close the dialog box. <br></li></ol><p>In the following section, we will create our properties file. Create a new file with the <em>.properties</em> extension in the directory of your project, which in our case, is the src folder of the HelloWorld application. Our file would be called <em>locales_en.properties</em>. Repeat the process for <em>locales_fr.properties</em>. We can see that both property files have been merged into a <strong>Resource Bundle&lt;locales&gt;.  </strong></p><p>A resource bundle is a collection of properties files with the same base name but distinct locale suffixes. Due to the similarity in their names, IntelliJ merged the two properties files into a resource bundle in our example.</p><h3 id="finding-hardcoded-strings">Finding hardcoded strings <a class="markdownit-header-anchor" href="#finding-hardcoded-strings">🔗</a></h3><p>Our project includes literal strings that are hard-coded, so we would enable the inspection for hard-coded strings to highlight them. These strings can be extracted and stored in the properties files.</p><p>Open the settings (command+comma), expand Editor, and then click on inspections.  Navigate to <strong>Java</strong> and select and expand <strong>Internationalization</strong>. Select <strong>Hardcoded strings</strong> and apply the changes before clicking OK to close the dialog.</p><p>The hard-coded strings should be highlighted in your code editor and displayed as a warning at the top right of the editor.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/Screenshot-2023-05-23-at-11.02.13-PM.png" class="kg-image" alt loading="lazy" width="1886" height="404" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/Screenshot-2023-05-23-at-11.02.13-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/Screenshot-2023-05-23-at-11.02.13-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/Screenshot-2023-05-23-at-11.02.13-PM.png 1600w, https://ghost.localazy.com/content/images/2023/05/Screenshot-2023-05-23-at-11.02.13-PM.png 1886w" sizes="(min-width: 720px) 720px"></figure><p>Now that IntelliJ has assisted with code analysis and inspection of hard-coded literals, we want to extract the hard-coded strings into the properties file. Using an action called <em>i18n hard-coded string literal</em>, IntelliJ has made this possible.</p><h3 id="externalize-hardcoded-strings">Externalize hardcoded strings <a class="markdownit-header-anchor" href="#externalize-hardcoded-strings">🔗</a></h3><p>Include the following code snippets just above the System.out.print() method in your source code. The snippets specify the resource bundle in which extracted strings will be stored.</p><pre><code>ResourceBundle &lt;name&gt; = ResourceBundle.getBundle("&lt;bundle name&gt;");
</code></pre><p>Where name is a variable name and bundle name is the resource bundle's base name, which in our Java application is <em>locales</em>. </p><pre><code class="language-java">ResourceBundle myBundle = ResourceBundle.getBundle("locales");
</code></pre><p>Click on the hard-coded string and press the option key + enter key. You should see a list of actions. Choose the <strong>i18nize hardcoded string literal</strong>, and a dialog box appears.</p><p>The fields are usually prefilled, but the property key and value can be changed to match our desired naming conventions.  Check that the properties file points to the locales_en.properties file and that "Update all properties files" is unchecked. This ensures that only the English strings are internationalized. We would manually translate the French string content. A screenshot is provided below.<br></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/Screenshot-2023-05-23-at-11.11.25-PM.png" class="kg-image" alt loading="lazy" width="442" height="763"></figure><p>Click OK, and you'll see that the hardcoded string has been replaced by</p><pre><code>System.out.println(myBundle.getString("hello.world"));</code></pre><p>Here, we will manually edit the French translation's keys and values. Click on the Resource Bundle 'locales' and then press the command + arrow down keys to bring up a screen where you can include the French translation for the content, as shown below.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/Screenshot-2023-05-23-at-11.18.54-PM.png" class="kg-image" alt loading="lazy" width="915" height="276" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/Screenshot-2023-05-23-at-11.18.54-PM.png 600w, https://ghost.localazy.com/content/images/2023/05/Screenshot-2023-05-23-at-11.18.54-PM.png 915w" sizes="(min-width: 720px) 720px"></figure><p>In the next section, we'll use the locale class to get the default locale and then use that information to show the extracted strings. Locale.getDefault() would be added as a second parameter to the Resource.getBundle() method. </p><pre><code>ResourceBundle myBundle = ResourceBundle.getBundle("locales", Locale.getDefault());</code></pre><h3 id="setting-the-locale">Setting the locale <a class="markdownit-header-anchor" href="#setting-the-locale">🔗</a></h3><p>According to <a href="https://www.oracle.com/technical-resources/articles/javase/locale.html#using">Oracle documentation</a>, Locale.getDefault() retrieves the default locale and returns the locale determined by the Java Virtual Machine (JVM) when it was first loaded. That is, the default locale is determined by the JVM based on the host environment.</p><p>As shown in the screenshot, running the code returns the <code>en</code> locale of our properties. We can manually set our locale by using the Locale.setDefault() function at the top of our source code within the main function.</p><pre><code>Locale.setDefault(new Locale("fr", "NG"));</code></pre><p>If we run the code again, we should see the <code>fr</code> translated strings as shown below. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/Screenshot-2023-05-23-at-11.25.50-PM.png" class="kg-image" alt loading="lazy" width="894" height="446" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/Screenshot-2023-05-23-at-11.25.50-PM.png 600w, https://ghost.localazy.com/content/images/2023/05/Screenshot-2023-05-23-at-11.25.50-PM.png 894w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>In this article, we learned how string externalization works and the difference between localization and internationalization. We also learned how Qodana, a tool for analyzing code, helps IntelliJ localize software for a wider and more international audience. A Java application was utilized to test string externalization with Qodana. </p><blockquote>The source code can be found in the <a href="https://github.com/Marienoir/Localazy-Blog/tree/main/Qodana-HelloWorld">GitHub repository</a>.</blockquote>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/07/Qoodana.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Save time and money on translations of duplicates with Strapi and Localazy]]></title>
            <link>https://localazy.com/blog/save-time-and-money-on-translations-of-duplicates-with-strapi-and-localazy</link>
            <guid isPermaLink="false">save-time-and-money-on-translations-of-duplicates-with-strapi-and-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:34:17 GMT</pubDate>
            <description><![CDATA[Learn how to utilize the new Key Clustering feature in Localazy to streamline your Strapi localization process. Unlock efficient and automatic duplicity solving and never translate the same content multiple times.]]></description>
            <content:encoded><![CDATA[<p>Learn how to efficiently save time and reduce translation costs by leveraging Localazy's Key clustering feature to handle duplicate values originating from <a href="/strapi">Strapi CMS</a>.</p><h2 id="strapi-cms-and-localazy">💜 Strapi CMS & Localazy <a class="markdownit-header-anchor" href="#strapi-cms-and-localazy">🔗</a></h2><p>Strapi is a popular open-source headless CMS that provides an <a href="/dictionary/api">API</a> for content display in various formats. It offers a user-friendly interface and powerful integration options, making it a favored choice among many teams.</p><p>Strapi supports multilingual content, which is flexible and easy to control, particularly for smaller projects. However, as the number of translatable fields grows, it becomes crucial to consider third-party solutions for managing translations to ensure consistent and professional-quality results across the entire project.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-40.png" class="kg-image" alt loading="lazy" width="281" height="150"></figure><p>Localazy is one such solution. By seamlessly integrating Localazy into your Strapi environment, you gain control over translations with the support of contextual tools like the <a href="https://localazy.com/docs/general/how-to-define-your-glossary">Glossary</a> or Community translations (<a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a>) or the option to utilize professional translators.</p><blockquote>To get started with Localazy and Strapi CMS, refer to our comprehensive guide on <a href="https://localazy.com/blog/managing-multilingual-content-with-strapi-cms-localazy-plugin" rel="noopener noreferrer">Managing multilingual content with Strapi CMS &amp; Localazy</a>.</blockquote><h2 id="the-challenge-of-duplicates">🧐 The Challenge of Duplicates <a class="markdownit-header-anchor" href="#the-challenge-of-duplicates">🔗</a></h2><p>Over time, it is common to encounter a multitude of duplicates within your content entries. Common words or phrases such as <em>Save</em>, <em>Continue</em>, <em>Cancel</em>, and others may be repeated, resulting in wasted translation efforts. </p><p>Additionally, translating duplicates repeatedly poses a risk of inconsistencies, as each translation attempt introduces the possibility of variations. While relying solely on the glossary or manually controlling duplicates via <a href="https://localazy.com/blog/introducing-the-duplicity-linking-feature-software-localization">duplicity linking</a> are options, both approaches require manual input and are prone to human errors.</p><h2 id="key-clustering-as-the-solution">🖇️ Key Clustering as the Solution <a class="markdownit-header-anchor" href="#key-clustering-as-the-solution">🔗</a></h2><p>Fortunately, Localazy offers the key clustering feature, which automatically removes duplicate values, leaving no room for inconsistent translations. Key clustering is a unique solution that handles duplicates without modifying the integration source. </p><p>When content is uploaded from <strong>API-based</strong> sources, Localazy automatically processes and organizes it into key clusters based on identical values. A key cluster represents a single Localazy key containing nested keys with duplicate values.</p><p>By leveraging key clusters, you can save valuable time and resources by eliminating the need to translate the same content multiple times.</p><blockquote>Learn more about <a href="https://localazy.com/docs/general/key-clusters">Key Clusters in the docs</a>.</blockquote><h3 id="setting-up-your-localazy-project">Setting Up Your Localazy Project <a class="markdownit-header-anchor" href="#setting-up-your-localazy-project">🔗</a></h3><p>To benefit from key clustering, follow these steps:</p><ol><li>Create a Localazy project.</li><li>Navigate to the project's general settings section and enable <strong>Key clustering</strong> under the Import &amp; Export settings.</li><li>In Strapi's dashboard, configure internationalizable fields in collections and select which fields should be uploaded to Localazy in the <a href="https://localazy.com/docs/strapi/content-transfer-setup">Content Transfer Setup settings</a> section.</li><li>Visit the Localazy plugin page and <a href="https://localazy.com/docs/strapi/strapi-upload-content">upload your content</a>.</li></ol><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/06/image-3.png" class="kg-image" alt loading="lazy" width="1718" height="1297" srcset="https://ghost.localazy.com/content/images/size/w600/2023/06/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/06/image-3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/06/image-3.png 1600w, https://ghost.localazy.com/content/images/2023/06/image-3.png 1718w" sizes="(min-width: 720px) 720px"></figure><h3 id="content-in-localazy">Content in Localazy <a class="markdownit-header-anchor" href="#content-in-localazy">🔗</a></h3><p>If your uploaded content includes duplicate values, you will encounter a special type of string prefixed with the label <em>cluster_</em>. Opening one of these strings reveals the clustered text nodes from Strapi.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/06/image-4.png" class="kg-image" alt loading="lazy" width="1596" height="744" srcset="https://ghost.localazy.com/content/images/size/w600/2023/06/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/06/image-4.png 1000w, https://ghost.localazy.com/content/images/2023/06/image-4.png 1596w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/06/image-5.png" class="kg-image" alt loading="lazy" width="1604" height="812" srcset="https://ghost.localazy.com/content/images/size/w600/2023/06/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/06/image-5.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/06/image-5.png 1600w, https://ghost.localazy.com/content/images/2023/06/image-5.png 1604w" sizes="(min-width: 720px) 720px"></figure><p>For example, if two keys uploaded from Strapi have the same value <strong>Main</strong>, they will be nested under a single Localazy key called <em>cluster_1</em>. This value only needs to be translated once, and all current and future instances in Strapi will automatically reuse the same translation effortlessly.</p><h2 id="join-our-beta-program-to-access-this-feature">🔓 Join our beta program to access this feature <a class="markdownit-header-anchor" href="#join-our-beta-program-to-access-this-feature">🔗</a></h2><p>⚠️ <strong>Please note:️</strong> Key Clusters are an experimental beta feature available only in our Early Access Program. To join the beta, please <a href="/login">log in</a>, click on the ❔ question mark icon in the top navigation, and select <em>Get early access</em>.</p><h2 id="closing-words">✔️ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>Say goodbye to the tedious task of translating redundant content repeatedly. With the key clustering feature, the translation of your Strapi content becomes a smoother and more reliable experience. Embrace Localazy's key clustering functionality to streamline your translation workflow, enhance consistency, and save valuable time and resources in your localization efforts.</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/Strapi.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Improving Your Company's Messaging: 5 Actionable Steps to Clarity and Resonance]]></title>
            <link>https://localazy.com/blog/how-to-make-sure-your-communication-is-crystal-clear</link>
            <guid isPermaLink="false">how-to-make-sure-your-communication-is-crystal-clear</guid>
            <pubDate>Wed, 19 Jul 2023 12:23:49 GMT</pubDate>
            <description><![CDATA[In today's fast-paced business environment, you need clear, concise, and effective messaging. These five tactics will help you create clear and effective messaging to help your company stand out and succeed.]]></description>
            <content:encoded><![CDATA[<p>As a <a href="https://localazy.com/for/chief-marketing-officers">CMO</a>, it's important to ensure that your company's messaging is clear, concise, and effective. In today's fast-paced, competitive business environment, your message shouldn't be <em>"lost in translation."</em> It needs to resonate with your target audience.</p><p>In this article, we'll provide five actionable tactics to improve your company's messaging and make it more resonant. These will help you create clear and effective messaging that will help your company stand out and achieve its goals.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/0_3--1-.png" class="kg-image" alt loading="lazy" width="1520" height="800" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/0_3--1-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/0_3--1-.png 1000w, https://ghost.localazy.com/content/images/2023/07/0_3--1-.png 1520w" sizes="(min-width: 720px) 720px"></figure><h2 id="understand-your-audience">🤓 Understand Your Audience <a class="markdownit-header-anchor" href="#understand-your-audience">🔗</a></h2><p>To start with a clear understanding of your audience, it's important to research who they are, their needs and preferences thoroughly, and what motivates them. This can include gathering information through surveys, focus groups, market research, and analyzing data on your audience's demographics, behaviors, and interests.</p><p>From there, <strong>tailor your messaging to their specific needs and preferences</strong>. This can include using language and tone that resonates with them, addressing their pain points and challenges, and highlighting the benefits and value that your company can provide to them.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/0_2--1-.png" class="kg-image" alt loading="lazy" width="1520" height="800" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/0_2--1-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/0_2--1-.png 1000w, https://ghost.localazy.com/content/images/2023/07/0_2--1-.png 1520w" sizes="(min-width: 720px) 720px"></figure><p>This step enables you to create more relevant, engaging, and effective messaging. It can help you build stronger connections with your audience and increase the chances that your message will be well-received.</p><h2 id="keep-it-simple">🤞 Keep It Simple <a class="markdownit-header-anchor" href="#keep-it-simple">🔗</a></h2><p>When it comes to creating messaging that is crystal clear, simplicity is key. It's important to avoid jargon or complex language that your audience may need help understanding, as this can make your message difficult to follow and potentially lead to confusion or misunderstandings.</p><p>Instead, strive to <strong>use language that is easy to understand</strong>. This can include using everyday words and avoiding technical or industry-specific terms unless necessary for your message.</p><p>In addition, it's important to <strong>avoid using long sentences or overly complex sentence structures</strong>. Keep your sentences short, and use punctuation and white space effectively to help break up your message and make it easier to read and understand.</p><p>By keeping your message straightforward, you can improve its clarity and make it more effective at communicating your intended message to your audience. It can help ensure that your message is well-received, remembered, and has the desired impact.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/0_5.jpg" class="kg-image" alt loading="lazy" width="1520" height="800" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/0_5.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/0_5.jpg 1000w, https://ghost.localazy.com/content/images/2023/07/0_5.jpg 1520w" sizes="(min-width: 720px) 720px"></figure><h2 id="show-dont-tell">👀 Show, Don't Tell <a class="markdownit-header-anchor" href="#show-dont-tell">🔗</a></h2><p>When crafting your message, using specific and concrete examples to illustrate your points is important. This can help your audience quickly understand your message and retain the information.</p><p>For example, rather than saying, <em>"Our product is the best in the market,"</em> you could say, <em>"Our product has won multiple awards and has a 99% customer satisfaction rate."</em> Your message becomes more credible and persuasive when providing specific, concrete evidence to support your claim.</p><p>Besides using examples to support your points, you can also <strong>use anecdotes or stories to make your message more relatable and memorable</strong>. For instance, you could share a story about a customer who has successfully used your product or service and explain how it has helped them achieve their goals. By doing this, your audience will see the value of your product or service in a more personal and tangible manner.</p><blockquote>Read an example of our customer success story: <a href="https://localazy.com/blog/case-study-rouvy-localization">Case Study: 🚴 ROUVY's Tour de localization with Localazy</a></blockquote><h2 id="stay-active-stay-present">🤸‍♀️ Stay Active, Stay Present <a class="markdownit-header-anchor" href="#stay-active-stay-present">🔗</a></h2><p>Using active voice and present tense in your messaging can make it more engaging and easy to follow. In an active voice, the sentence's subject performs the action rather than the action being performed on the subject. For example, <em>"the dog chased the cat"</em> is in an active voice, while <em>"the cat was chased by the dog"</em> is in a passive voice.</p><p>Using <strong>active voice in your messaging can make it more direct and engaging</strong>, as it emphasizes the subject and the action they are taking. It can also make your message easier to understand, as it avoids the awkward and convoluted sentence structures that can sometimes result from using passive voice.</p><p>Besides using active voice, it's also important to <strong>use the present tense in your messaging</strong>. This means expressing your ideas and statements in the present moment rather than in the past or future. Present tense can make your message more immediate and engaging and help your audience connect with your message at the moment.</p><h2 id="avoid-the-fluff">🎯 Avoid the Fluff <a class="markdownit-header-anchor" href="#avoid-the-fluff">🔗</a></h2><p>To ensure your messaging is crystal clear, it's important to avoid using too many words or long sentences. Using too many words or long sentences can make your message difficult to follow and potentially lead to confusion or misunderstandings.</p><p>To avoid this, strive to keep your message concise and to the point. This means <strong>using only the necessary words to convey your message</strong> and avoiding unnecessary details or filler words that don't add value to your message.</p><h2 id="clear-messaging-is-key">🔑 Clear Messaging Is Key <a class="markdownit-header-anchor" href="#clear-messaging-is-key">🔗</a></h2><p>Effective and resonant messaging is essential for success in today's business environment. By following the five actionable steps outlined in this article, CMOs can improve their company's messaging and ensure that it is clear, concise, and compelling.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/0_4--1-.png" class="kg-image" alt loading="lazy" width="1520" height="800" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/0_4--1-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/0_4--1-.png 1000w, https://ghost.localazy.com/content/images/2023/07/0_4--1-.png 1520w" sizes="(min-width: 720px) 720px"></figure><p>These strategies can help CMOs create messaging that resonates with their target audience and helps their company stand out from the competition. By implementing these strategies, CMOs can improve their company's messaging and help drive business success.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We hope you find the above tips useful and nothing is standing in your way of improving and practicing a crystal-clear form of communication. </p><p>If you'd like to start right now, we can recommend you <a href="https://localazy.com/blog/linguistic-style-guides-software-localization">prepare a style guide for your communication</a>; this will greatly help you not only with keeping your messaging consistent but also help your translators once you decide to <a href="https://localazy.com/term/website-content-translation">localize your business communication</a> into multiple languages.</p><p>Another way of ensuring that the meanings of important terms and words remain consistent while localizing your products and marketing messages is to use the Glossary feature in Localazy.</p><blockquote><em>Learn more about <a href="https://localazy.com/docs/general/how-to-define-your-glossary">Glossary management in Localazy</a></em></blockquote><p>Is there anything else you would recommend to your peers? Let us know in the comments!  </p>]]></content:encoded>
            <author>Daniel Doan</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/improve-messaging.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Figma as your Source of Truth: The new approach to streamlining localization]]></title>
            <link>https://localazy.com/blog/figma-as-your-source-of-truth-the-new-approach-to-streamlining-localization</link>
            <guid isPermaLink="false">figma-as-your-source-of-truth-the-new-approach-to-streamlining-localization</guid>
            <pubDate>Thu, 16 Apr 2026 14:21:46 GMT</pubDate>
            <description><![CDATA[Figma and Localazy provide a powerful combination for streamlining the localization process, making it easier to deliver multilingual apps and products to a global audience. Learn how to solve duplicate content uploads and easily use Figma as a source of truth for your project in this article.]]></description>
            <content:encoded><![CDATA[<p>Figma has become an essential tool for agile teams looking to streamline their development process. It enables designers to quickly brainstorm new features, create accurate wireframes, and test functionality with prototypes without any development. Many teams define all possible use cases and related screens in Figma, which helps product managers, product owners, and content managers to understand what kind of screens and information users might encounter.</p><p>Designers can also iterate existing features faster, as they know that what they see in Figma is what users will see in the final product.</p><p>It's needless to say that having <a href="https://localazy.com/features/figma-localization-plugin">Figma</a> as the Source of Truth is beneficial since it can decrease the delivery time and increase confidence in the work of product managers, product owners, content managers, designers, developers, and translators.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-38.png" class="kg-image" alt loading="lazy" width="381" height="381"></figure><h2 id="the-challenges-of-figma-localization">😤 The challenges of Figma localization <a class="markdownit-header-anchor" href="#the-challenges-of-figma-localization">🔗</a></h2><p>However, introducing <a href="/dictionary/localization">localization</a> into the workflow can bring more harm than good and actually increase the delivery time and decrease confidence when set up improperly. 😳</p><p>Localizing the content while having Figma as the source of truth includes, among others, <strong>the following challenges</strong>:</p><ol><li>All keys need to be defined in Figma to keep it as a single source of truth. 🖊️</li><li>Developers need to be able to easily understand which key refers to the content they see in Figma when developing the provided design. </li><li>Developers must download the keys into folders they need and usually need to change key names to work with them. 📁</li><li>Designers find it difficult to keep track of which keys already exist in the TMS, making it challenging for translators to avoid duplicating work. </li></ol><p>Despite these challenges, companies still choose Figma as the source of truth for their designs because it provides a single point of reference for everyone involved in the development process. With Figma designs as the source of truth, it is easier to keep track of changes, identify potential issues, and ensure that the final product meets the original vision.</p><p>Defining new keys in Figma also allows translators to start translating before the developers begin developing the features and uploading new keys. Translations and development can begin at the same time, decreasing the delivery time of new features. When done correctly, it can speed up developers' work as they can use readable keys without having to think of a key name and folder placement before using it.</p><blockquote>What is a source key? <a href="https://localazy.com/faq/pricing/what-are-source-keys">Find the answer in our FAQ.</a></blockquote><h2 id="benefits-of-using-figma-as-a-sot">😎 Benefits of using Figma as a SoT <a class="markdownit-header-anchor" href="#benefits-of-using-figma-as-a-sot">🔗</a></h2><p>Figma, when used as the source of truth, brings significant benefits to agile teams and the product development process, enabling seamless collaboration and boosting efficiency. By utilizing Figma as the central reference point, teams can leverage its features to streamline their workflows and enhance communication across various roles.</p><p>One notable advantage of using Figma is the ability for designers to <strong>rapidly iterate on features, wireframes, and prototypes</strong>. Designers can brainstorm and visualize new ideas, test functionality, and create accurate representations of the user interface without relying on development resources. This empowers them to explore different design possibilities and make informed decisions based on user feedback, resulting in more efficient design iterations and a better final product.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-36.png" class="kg-image" alt loading="lazy" width="960" height="316" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-36.png 600w, https://ghost.localazy.com/content/images/2023/07/image-36.png 960w" sizes="(min-width: 720px) 720px"></figure><p>Figma's role as the source of truth extends beyond the design phase and benefits developers as well. With Figma designs serving as the foundation, <strong>developers can easily access the keys and assets provided by designers, eliminating the need to create them from scratch</strong>. This streamlines the development process and ensures that developers accurately implement the intended design elements, leading to a more cohesive and consistent user experience.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-37.png" class="kg-image" alt loading="lazy" width="1920" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-37.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-37.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-37.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-37.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>Moreover, Figma's integration with tools like Localazy simplifies the localization process. By defining keys directly in Figma, <strong>translators can start working on translations even before the development phase begins</strong>. This parallelization of translation and development not only reduces the time required for feature delivery but also facilitates better collaboration between designers, developers, and translators. 😎</p><p>Figma's role as the single source of truth also promotes transparency and alignment among team members. <strong>Product managers, product owners, and content managers can easily refer to the Figma designs to gain a comprehensive understanding of the product's screens, user interactions, and overall vision.</strong> This shared reference point fosters clear communication and ensures that everyone involved in the development process is on the same page, reducing the likelihood of misunderstandings or discrepancies. By embracing Figma as the central reference point, teams can streamline their workflows, reduce development time, and ensure a cohesive and user-centric final product.</p><h2 id="how-to-set-up-the-development-workflow-with-figma-and-localazy">🚩 How to set up the development workflow with Figma and Localazy <a class="markdownit-header-anchor" href="#how-to-set-up-the-development-workflow-with-figma-and-localazy">🔗</a></h2><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/L-U51r-6yIQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="How to effectively use Figma as Source of Truth in Design Localization"></iframe></figure><p>In this section, we will explore how to effectively set up the development workflow using Figma as the source of truth and Localazy for translations. By following these steps, you can streamline the process and save valuable time, all while maintaining a centralized reference point for your designs.</p><p>This approach is <strong>suitable for anyone who would like to use Figma as the Source of Truth without having to manually organize and rename keys in Figma</strong>. When opting for this approach, you should define all the strings and thus design all the possible screens and scenarios in Figma to prevent the necessity to create strings from multiple sources.</p><h3 id="localazy-project-and-key-clusters">Localazy project & key clusters <a class="markdownit-header-anchor" href="#localazy-project-and-key-clusters">🔗</a></h3><p>To begin, <a href="https://localazy.com/register">sign up for Localazy</a> and create a new project. Choose <strong>Developer English</strong> as the source language. This allows responsible individuals to review the content uploaded from Figma and finalize the English version for production.</p><p>If you prefer to finalize the English version directly in Figma and only use Localazy for translations into other languages, you can select <em>English</em> as the source language.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/07/image-20.png" class="kg-image" alt loading="lazy" width="1704" height="627" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-20.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-20.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-20.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-20.png 1704w" sizes="(min-width: 720px) 720px"><figcaption>Create a new project in Localazy</figcaption></figure><p>Next, navigate to the project's general settings section and enable <strong>Key clustering</strong> under the Import &amp; Export settings.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/07/image-21.png" class="kg-image" alt loading="lazy" width="1704" height="1300" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-21.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-21.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-21.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-21.png 1704w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Project Settings</figcaption></figure><p>This feature clusters keys with the same value uploaded from Figma under a single Localazy key. For example, if you upload a word <em>cancel</em> from multiple screens in Figma, they will all exist nested in a single Localazy source key. This offers several advantages:</p><ul><li>Duplicates are eliminated, ensuring a clean and organized translation process.</li><li>The amount of content for translations is reduced since duplicates no longer exist.</li><li>Developers have fewer keys to work with, as they can reuse keys with the same value whenever necessary. Additionally, duplicates are avoided in the codebase.</li></ul><p>The original Figma keys are still preserved, so when designers download translations back to Figma, the original text nodes are accurately translated. The clustered keys are also appropriately highlighted in the <a href="https://localazy.com/docs/figma/context-screenshots">Figma screenshots</a> uploaded to Localazy.</p><blockquote>Learn more about <a href="https://localazy.com/docs/general/key-clusters">Key Clustering in the docs</a>. </blockquote><h3 id="figma-plugin-and-upload">Figma plugin & upload <a class="markdownit-header-anchor" href="#figma-plugin-and-upload">🔗</a></h3><p>Install the <a href="https://www.figma.com/community/plugin/964257457772706017">Localazy Figma plugin</a> and connect it to your project. Open the settings tab and ensure that the option <strong>Use node name as source key</strong> is <strong>unchecked</strong>. This configuration enables Figma's text elements to be identified in Localazy by their underlying Figma ID. Designers don't need to worry about naming the nodes manually since they are not vital for the translation process.</p><p>For those on the <strong><a href="https://localazy.com/tiers/agency">Agency plan</a></strong>, select "Upload keys with screenshots" to allow translators to easily reference the Figma designs during translations.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-22.png" class="kg-image" alt loading="lazy" width="349" height="600"></figure><p>Choose the content you want to process and upload it all into a single Localazy file in your preferred format. It's crucial to upload everything into a single file to ensure that all keys with duplicate values are clustered in a single key. With this approach, there is generally no need to upload content into multiple files.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-23.png" class="kg-image" alt loading="lazy" width="1699" height="1325" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-23.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-23.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-23.png 1699w" sizes="(min-width: 720px) 720px"></figure><h3 id="review-of-the-uploaded-content">Review of the uploaded content <a class="markdownit-header-anchor" href="#review-of-the-uploaded-content">🔗</a></h3><p>Return to Localazy and navigate to the translations page and click on <strong>Manage</strong> source language. Expand the Advanced filters and filter for <em>Cluster strings</em>. As you upload text nodes with duplicate values, you will see a special type of string prefixed with a label <em>cluster_</em>. Opening one of these strings reveals the clustered text nodes from Figma.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/07/image-24.png" class="kg-image" alt loading="lazy" width="1698" height="1302" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-24.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-24.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-24.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-24.png 1698w" sizes="(min-width: 720px) 720px"><figcaption>Localazy - Cluster Detail</figcaption></figure><p>Upon reviewing the content, everything appears to be in order except for the one key mentioned above. Although the value of this key is <strong>Type</strong>, it actually carries two distinct meanings, making it a homonym. In the Figma design, it is evident that one instance refers to a specific type of appointment, while the other instance serves as a placeholder to prompt users to input a message. </p><p>It is important to note that these instances are not logical duplicates but rather value duplicates. To ensure accurate translations, it is necessary to split this cluster into two separate keys, allowing each meaning to be translated correctly. Based on the assumption that the <em>type of appointment</em> meaning will be more prevalent, we will designate it as the default cluster for all future uploaded keys with the same value.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-25.png" class="kg-image" alt loading="lazy" width="1698" height="1302" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-25.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-25.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-25.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-25.png 1698w" sizes="(min-width: 720px) 720px"></figure><h3 id="translate-and-review-in-figma">Translate and review in Figma <a class="markdownit-header-anchor" href="#translate-and-review-in-figma">🔗</a></h3><p>Translators can now begin working on the translations. You can simulate their work by using the <strong>Pre-translate using MT</strong> function to quickly generate initial translations. Once the translations are complete, return to the Figma plugin and download the translated content.</p><blockquote>Learn more about <a href="https://localazy.com/features/pre-translate">MT Pre-translate feature</a></blockquote><p>If you intend to keep the translated versions in Figma, make sure to preserve the original frames. Remember, the original frames are linked to the keys in Localazy, not their copies. To ensure a smooth process, download the translations to the original frames, create a copy of the translated content, and then download the source language values back to the original designs.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-26.png" class="kg-image" alt loading="lazy" width="1698" height="1326" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-26.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-26.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-26.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-26.png 1698w" sizes="(min-width: 720px) 720px"></figure><p>Admittedly these are only machine-generated translations, but it appears that the design is not ready to handle the long German words 🙈</p><h3 id="prepare-content-for-developers">Prepare content for developers <a class="markdownit-header-anchor" href="#prepare-content-for-developers">🔗</a></h3><p>With the translations in progress, development can also commence. As you may recall, we have uploaded all the content into a single file in Localazy to streamline the process for designers and avoid duplicate values. However, it is common for developers to store strings in separate files and export the content in various formats for different platforms, such as <a href="/android">Android</a> and <a href="/ios">iOS</a>.</p><p>To address this, we will utilize <a href="https://localazy.com/docs/general/export-aliases">Export aliases</a>, which enable you to define key aliases for different export key names, and export file aliases for different target files during the export process. Let's begin by filtering for keys that do not have an Export file alias assigned yet. Currently, none of the keys have an alias defined, but in the future, this will help identify keys that developers have not reviewed.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-27.png" class="kg-image" alt loading="lazy" width="1698" height="1300" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-27.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-27.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-27.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-27.png 1698w" sizes="(min-width: 720px) 720px"></figure><p>Next, I will select multiple keys and assign them to export file aliases in bulk. Since the selected keys relate to the contact form stored in a separate module, I will export them to the designated folder.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-28.png" class="kg-image" alt loading="lazy" width="1698" height="1300" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-28.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-28.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-28.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-28.png 1698w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-29.png" class="kg-image" alt loading="lazy" width="1698" height="1300" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-29.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-29.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-29.png 1698w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-30.png" class="kg-image" alt loading="lazy" width="1698" height="1300" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-30.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-30.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-30.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-30.png 1698w" sizes="(min-width: 720px) 720px"></figure><p>Additionally, for each key, we will define a key alias. Key aliases can be specified within the original file's scope as well as within the export file alias, which is precisely what we need to do in this case.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-31.png" class="kg-image" alt loading="lazy" width="1698" height="1300" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-31.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-31.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-31.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-31.png 1698w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-32.png" class="kg-image" alt loading="lazy" width="1698" height="1300" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-32.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-32.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-32.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-32.png 1698w" sizes="(min-width: 720px) 720px"></figure><p>The final step is to specify the type of content that will be generated. Once again, navigate to the General settings, and under <em>Import &amp; Export</em>, choose the <strong>Generate key aliases in export file aliases</strong> option for the Content generation setting. This means that only key aliases defined within the export file aliases will be generated and exported by the developers. Referring to the example screenshot, only the key alias <strong>first_name</strong> will be generated in the <em>src/modules/contact-form/strings.json</em> file.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-33.png" class="kg-image" alt loading="lazy" width="1698" height="1300" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-33.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-33.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-33.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-33.png 1698w" sizes="(min-width: 720px) 720px"></figure><blockquote>Learn more about <a href="https://localazy.com/docs/general/export-aliases">Export Aliases in the docs</a></blockquote><h3 id="use-the-content-in-the-code">Use the content in the code <a class="markdownit-header-anchor" href="#use-the-content-in-the-code">🔗</a></h3><p>Now, all that remains is to configure your coding project and download both the source keys and the translations. Create a <strong>localazy.json</strong> file in the root directory of your project and paste the following configuration:</p><pre><code>{
  "readKey": "&lt;your-read-key&gt;",
    
  "download": {
      "files": "${path}/${lang}.json",
      "includeSourceLang": false
  }
    
}</code></pre><p>This configuration is minimalistic, and the beauty lies in its simplicity. Since no content will be uploaded from the code, the configuration only covers the download process. It specifies that all the content should be saved in the target folder defined using the export path aliases, named according to the language code. </p><p>Additionally, we chose not to download the source language since it was set as Developer English, intended for proofreading into production-ready English. There is no need to have the unfinished version in our code. If the translators are unable to complete all translations before development, the missing values will default to the developer's English (source language) value so that the developers can focus on the work without having to wait for translators to finish.</p><p>Now, using <a href="https://localazy.com/docs/cli/the-basics">Localazy's CLI</a> and the <em>localazy download</em> command, you should be able to successfully download all the translations from Localazy.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-34.png" class="kg-image" alt loading="lazy" width="1698" height="1069" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-34.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-34.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-34.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-34.png 1698w" sizes="(min-width: 720px) 720px"></figure><h2 id="join-our-beta-program-to-access-this-feature">🔓 Join our beta program to access this feature <a class="markdownit-header-anchor" href="#join-our-beta-program-to-access-this-feature">🔗</a></h2><p>⚠️ <strong>Please note:️</strong> Key Clusters are an experimental beta feature available only in our Early Access Program. To join the beta, please <a href="/login">log in</a>, click on the ❔ question mark icon in the top navigation, and select <em>Get early access</em>.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>In conclusion, setting up a streamlined development workflow with Figma and Localazy can greatly enhance the efficiency and accuracy of translation processes. By leveraging Localazy's key clustering and export alias features, designers can continue creating Figma designs without modifications to their workflow while allowing for simultaneous translation and development with a single point of reference.</p><p>By implementing this optimized product development workflow, teams can save valuable time and resources while ensuring accurate translations and efficient collaboration between designers, translators, and developers. Figma and Localazy provide a powerful combination for streamlining the localization process, making it easier than ever to deliver multilingual applications and products to a global audience.</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/07/Figma-SoT.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to integrate Localazy into Vercel builds for frontend applications]]></title>
            <link>https://localazy.com/blog/how-to-integrate-localazy-into-vercel-builds-for-frontend-applications</link>
            <guid isPermaLink="false">how-to-integrate-localazy-into-vercel-builds-for-frontend-applications</guid>
            <pubDate>Wed, 12 Jul 2023 09:36:54 GMT</pubDate>
            <description><![CDATA[Learn how to streamline the localization workflow of your apps on Vercel with Localazy in this comprehensive tutorial by Moyinoluwa Adenuga.]]></description>
            <content:encoded><![CDATA[<p>Localization has made it easy to create applications for users in different geographic regions by ensuring that users can access them in the language they understand. <a href="https://localazy.com/">Localazy</a> simplifies and automates the language translation process, making it effortless to implement localization. This reduces manual errors, which could occur when moving files or copying and pasting translated strings.</p><h4 id="what-is-vercel">What is Vercel?</h4><p><a href="https://vercel.com/">Vercel</a> is a deployment platform for front-end projects. It provides support for deployments of various frontend <a href="https://vercel.com/docs/frameworks#list-of-supported-frameworks">frameworks</a>. The main features offered include branch previews with automatic builds and deployment for projects. Integrating Localazy into Vercel builds can be done for new and existing projects.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/07/image-35.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-35.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-35.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/image-35.png 1600w, https://ghost.localazy.com/content/images/2023/07/image-35.png 1920w" sizes="(min-width: 720px) 720px"><figcaption><a href="https://vercel.com/">Vercel.com Homepage</a></figcaption></figure><h2 id="benefits-of-integrating-localized-applications-with-vercel-build">📌 Benefits of integrating localized applications with Vercel build <a class="markdownit-header-anchor" href="#benefits-of-integrating-localized-applications-with-vercel-build">🔗</a></h2><p>There are several benefits to using Localazy with Vercel:</p><ul><li>Easier management of downloading translations as they do not have to be downloaded locally in the code base. A rerun of the deployment would trigger the translation downloads.</li><li>Faster deployment and shipping of applications. 🌠</li><li>Use of preview branches with Localazy release tags for QA inspections before merging PR into release branches.</li><li>It speeds up the development process as developers can focus on building applications while using an automated process for managing translations and deployments. 🔥</li></ul><h2 id="sample-application">🏗️ Sample Application <a class="markdownit-header-anchor" href="#sample-application">🔗</a></h2><p>In this tutorial, we will create an application that translates Idioms from English to other languages such as Spanish, Czech, and Finnish. We will upload our strings to Localazy whenever a commit is made using the <a href="https://git-scm.com/docs/githooks#_pre_commit">git pre-commit hook</a> and download the translated strings before building on Vercel. Release tags for staging and production will be used to manage translations in different environments.</p><blockquote>Tip: If you have an existing localized project you would like to use, skip to the next section. You will be integrating your existing project and will not end up with the sample application we will create in this tutorial.</blockquote><h2 id="getting-started">🏁 Getting started <a class="markdownit-header-anchor" href="#getting-started">🔗</a></h2><p>For a smooth ride during this tutorial, it is important to have a basic understanding of git commands and how to set up a git repository, e.g., <a href="https://localazy.com/tags/github">GitHub</a>, Bitbucket, GitLab, etc. Experience writing deployment scripts is nice to have as it will come in handy, but you can follow along well without it, as the tutorial simplifies the concepts.</p><h3 id="set-up-the-localized-application">Set up the Localized application <a class="markdownit-header-anchor" href="#set-up-the-localized-application">🔗</a></h3><p>For new projects, the first step is to create an application. I will use a React application but feel free to use your preferred framework or library. The localization steps will differ based on the framework being used.</p><p>If you are not using React, check these links and follow just the steps needed to create and set up your sample localized project:</p><ul><li><a href="https://localazy.com/blog/how-to-localize-vuejs-app-with-vue-i18n-and-localazy">Vue.js</a></li><li><a href="https://localazy.com/blog/localize-angular-app-i18n-l10n-localazy">Angular</a></li><li><a href="https://localazy.com/blog/how-to-localize-nuxt-v3-using-localazy">Nuxt.js</a></li></ul><p>When done setting up the localized project, continue reading here. Some of the steps might have been done already, and you might just need to modify others.</p><p>If you are going to use React with me, let’s go right into it.</p><h3 id="create-application">Create application <a class="markdownit-header-anchor" href="#create-application">🔗</a></h3><p>Create a new project named <code>localazy-vercel-integration</code> using the command:</p><pre><code>npx create-react-app localazy-vercel-integration</code></pre><h3 id="install-i18n-packages">Install i18n packages <a class="markdownit-header-anchor" href="#install-i18n-packages">🔗</a></h3><p>To allow for the localization of our application, we need to use the internationalization framework for React. Install it by running the command:</p><pre><code>npm install react-i18next i18next</code></pre><h3 id="set-up-source-strings-to-be-used-in-the-application">Set up source strings to be used in the application <a class="markdownit-header-anchor" href="#set-up-source-strings-to-be-used-in-the-application">🔗</a></h3><p>Create a file called <code>en.json</code> with a file path of  <code>assets/locales/en.json</code> in the <code>src</code> directory. Store the source strings to be used in the application here.</p><pre><code>// src/assets/locales/en.json

{
    "heading": "Translating idioms from English to {{lang}}",
    "idioms": [
        "a friend in need is a friend indeed",
        "cast pearls before swine",
        "curiosity killed the cat",
        "don't judge a book by its cover",
        "early bird catches the worm",
        "fall on deaf ears",
        "hit the nail on the head",
        "it's raining cats and dogs",
        "jump to conclusions",
        "kill two birds with one stone"
    ],
    "english": "English",
    "translate_to": "Translate to"
}</code></pre><h3 id="set-up-the-application-to-use-localized-strings">Set up the application to use Localized strings <a class="markdownit-header-anchor" href="#set-up-the-application-to-use-localized-strings">🔗</a></h3><p>To set it up, create <code>i18n.js</code>  in the src directory and paste the code below.</p><pre><code>// src/i18n.js

import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';

const resources = {
  en: {
    translation: require('./assets/locales/en.json')
  },
  cs: {
    translation: require('./assets/locales/cs.json')
  },
  es: {
    translation: require('./assets/locales/es.json')
  },
  fi: {
    translation: require('./assets/locales/fi.json')
  }
}

i18n
  .use(initReactI18next)
  .init({
    resources,
    lng: "en",
    fallbackLng: "en"
});


export default i18n;</code></pre><p>Breakdown of the properties used in the code snippet above and what it does:</p><ul><li><strong>resources:</strong> is used to access and store all the localized files. The strings are imported from the locales folder. The resources contain the different languages the application will use, both the source file and the files that the source strings will be translated to.</li><li><strong>lng:</strong> is the default language to be used in the application. It is set to use English.</li><li><strong><a href="https://www.i18next.com/principles/fallback#language-fallback">fallbackLng</a>:</strong> is the language to be used when a translation does not exist in the selected locale or no language is chosen. It is set to use English.</li></ul><p>Other configuration options can be found <a href="https://www.i18next.com/overview/configuration-options">here</a>.</p><p>If you are running your application locally, you are likely to have an error at this stage. This is because the translation JSON files do not exist yet until they are downloaded from Localazy.</p><p>Create the JSON files and add an empty object to them to fix the error. The folder directory should look like this:<br></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-3.png" class="kg-image" alt loading="lazy" width="466" height="290"></figure><p>In the <code>index.js</code> file where the application is rendered, import the <code>i18n</code> file created, which makes the locale languages available across the whole application.</p><pre><code> // src/index.js

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import "./i18n"
import App from './App';
import reportWebVitals from './reportWebVitals';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  &lt;React.StrictMode&gt;
    &lt;App /&gt;
  &lt;/React.StrictMode&gt;
);</code></pre><h3 id="use-localized-strings-in-the-application">Use Localized strings in the application <a class="markdownit-header-anchor" href="#use-localized-strings-in-the-application">🔗</a></h3><p>Modify the <code>App.js</code> file to use the localized strings. This creates a simple table layout with English words and their translations to Czech, Finnish, or Spanish.</p><pre><code>// src/App.js

import { useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import './App.css';

function App() {
  const { t, i18n } = useTranslation();

  // create state to manage language to be translated to
  const [language, setLanguage] = useState("cs");

  const changeLanguage = (e) =&gt; {
    i18n.changeLanguage(e.target.value);
  };
  
  let idioms = t('idioms', { returnObjects: true });

  const getLanguage = (lang) =&gt; {
    let fullLanguage;

    switch (lang) {
      case "cs":
        fullLanguage = "Czech";
        break;
      case "fi":
        fullLanguage = "Finnish";
        break;
      case "es":
        fullLanguage = "Spanish";
        break;
      default:
        fullLanguage = "Czech";
    }

    return fullLanguage;
  }

  return (
    &lt;div className="App"&gt;
      &lt;h1&gt;{t('heading', { lang: getLanguage(language), lng: "en"})}&lt;/h1&gt;
      &lt;div&gt;
        {t('translate_to', lng: "en")}
        &lt;select onChange={changeLanguage} value={language}&gt;
          &lt;option value="cs"&gt;Czech&lt;/option&gt;
          &lt;option value="fi"&gt;Finnish&lt;/option&gt;
          &lt;option value="es"&gt;Spanish&lt;/option&gt;
        &lt;/select&gt;
      &lt;/div&gt;
      &lt;table&gt;
        &lt;thead&gt;
          &lt;tr&gt;
            &lt;th&gt;S/N&lt;/th&gt;
            &lt;th&gt;{t('english')}&lt;/th&gt;
            &lt;th&gt;{getLanguage(language)}&lt;/th&gt;
          &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
          {
            t('idioms', { returnObjects: true, lng: "en" }).map((idiom, index) =&gt; 
              &lt;tr key={index}&gt;
                &lt;td&gt;{index + 1}&lt;/td&gt;
                &lt;td&gt;{idiom}&lt;/td&gt;
                &lt;td&gt;{idioms[index]}&lt;/td&gt;
              &lt;/tr&gt;
            )
          }
        &lt;/tbody&gt;
      &lt;/table&gt;
    &lt;/div&gt;
  );
}

export default App;</code></pre><p>In the code above,</p><ul><li>the default language to be translated to is set to Czech, but as the file is yet to be uploaded, translated, and downloaded, the fallback language English will be used.</li><li>the string <code>heading</code>, <code>translate_to</code>, and the first column of the table are set to always use English as the <code>lng</code> option is set to <code>en</code>. If you do not want this behavior, remove the <code>lng</code> option passed.</li><li>the <code>useEffect</code> hook runs when the language is updated to ensure the i18n changeLanguage method is called.</li><li>the <code>getLanguage</code> function is used to generate the language from the language code, e.g., Czech from <code>cs</code>.</li><li>the <code>select onChange</code> event updates the language state, which triggers the <code>useEffect</code> hook.</li></ul><h3 id="view-application">View application <a class="markdownit-header-anchor" href="#view-application">🔗</a></h3><p>View the current state of the application by running the following:</p><pre><code>npm start</code></pre><p>Confirm the localized strings are used.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-4.png" class="kg-image" alt loading="lazy" width="1600" height="884" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-4.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-4.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>The custom CSS styling used can be found <a href="https://github.com/MoyinoluwaA/Localazy-Vercel-Integration/blob/master/src/App.css">here</a>.</p><h2 id="set-up-localazy">🚩 Set up Localazy <a class="markdownit-header-anchor" href="#set-up-localazy">🔗</a></h2><p>Now we are getting to the main goal of our tutorial.</p><h3 id="create-a-project-on-localazy">Create a project on Localazy <a class="markdownit-header-anchor" href="#create-a-project-on-localazy">🔗</a></h3><p>Log in or create a <a href="https://localazy.com/">Localazy</a> account if you do not have one.</p><blockquote>Tip: You can learn <a href="https://localazy.com/docs/general/getting-started-with-localazy">how to get started with Localazy</a> in the documentation.</blockquote><p>Create a new project.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-5.png" class="kg-image" alt loading="lazy" width="1600" height="716" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-5.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-5.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Enter a project name of choice. I named the project <em>translate-idioms-from-english,</em> but you can decide to use a different name. </p><blockquote>By the way: You can help us properly translate various idioms into your language in the <a href="https://localazy.com/p/translate-idioms">'Translate Idioms'</a> community project, <a href="https://localazy.com/blog/how-to-translate-idioms-the-right-way">learn more on the blog</a>.</blockquote><p>The source language is set to English, as the strings to be uploaded will be in English. Change the source language if you will be using a different language. Then, click the create new project button.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-6.png" class="kg-image" alt loading="lazy" width="1600" height="1166" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-6.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-6.png 1600w" sizes="(min-width: 720px) 720px"></figure><h3 id="publish-release-tags-optional">Publish release tags (optional) <a class="markdownit-header-anchor" href="#publish-release-tags-optional">🔗</a></h3><p><a href="https://localazy.com/docs/cli/release-tags">Release tags</a> are used to maintain multiple existing <a href="https://localazy.com/docs/general/releases">releases</a> which are used in different environments to ensure that each environment has only the translations needed. This prevents unwanted changes from getting to the live environment and allows us to decide when we want to publish new changes.</p><p>By default, the latest tag is used for all uploads and downloads when a tag is not specified.</p><blockquote>⚠️ Currently, Releases are available in the<a href="https://localazy.com/tiers/professional"> Professional tier</a> and higher. If you are on the free tier, you will need to upgrade your account plan to use this feature.</blockquote><p>Navigate to the releases section on the project dashboard:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-7.png" class="kg-image" alt loading="lazy" width="1146" height="904" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-7.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-7.png 1146w" sizes="(min-width: 720px) 720px"></figure><p>Click on the <strong>Add new release</strong> button or the ‘+’ icon to create a new release tag. Input a release tag name and publish the release.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-8.png" class="kg-image" alt loading="lazy" width="1600" height="707" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-8.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-8.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>I published staging and production release tags.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-9.png" class="kg-image" alt loading="lazy" width="1600" height="464" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-9.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-9.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Now, we will go back to our application code.</p><h2 id="integrate-localazy-using-the-cli">👨‍💻 Integrate Localazy using the CLI <a class="markdownit-header-anchor" href="#integrate-localazy-using-the-cli">🔗</a></h2><h3 id="install-localazy-cli">Install Localazy CLI <a class="markdownit-header-anchor" href="#install-localazy-cli">🔗</a></h3><p>Install the<em> </em><strong>Localazy <a href="https://localazy.com/docs/cli/the-basics">CLI</a></strong><em> </em>locally<em> </em>as a dev dependency<em> </em>using the npm package to enable anyone that runs the code to install it when running the <code>npm install</code> command. Use the command</p><pre><code>npm i --save-dev @localazy/cli</code></pre><h3 id="create-a-localazykeysjson-file">Create a localazy.keys.json file <a class="markdownit-header-anchor" href="#create-a-localazykeysjson-file">🔗</a></h3><p>We will store our write and read keys in this file to keep it secure. In the root folder, create a <code>localazy.keys.json</code> to store the authorization keys needed for the Localazy CLI using the format shown below. The <strong>writeKey </strong>and<strong> readKey</strong> are used to authorize the request.</p><p>Navigate to the Localazy project directory and the settings tab to copy the keys and paste them into the file by replacing the placeholder texts.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-10.png" class="kg-image" alt loading="lazy" width="1600" height="564" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-10.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-10.png 1600w" sizes="(min-width: 720px) 720px"></figure><pre><code>// localazy.keys.json
{
    "writeKey": "&lt;your-apps-write-key&gt;", 
    "readKey": "&lt;your-apps-read-key&gt;"
}</code></pre><p>Add the <code>localazy.keys.json</code> to the <code>.gitignore</code> file to prevent it from being tracked by git and pushed to the remote repository.</p><p>The reason for keeping our authorization keys separate in <code>localazy.keys.json</code> from other Localazy configurations in <code>localazy.json</code> is so that we can push the configuration file to our repository without exposing our authorization keys.</p><h3 id="add-localazy-configuration-script">Add Localazy configuration script <a class="markdownit-header-anchor" href="#add-localazy-configuration-script">🔗</a></h3><p>In the project root folder, create a configuration script called <code>localazy.json</code> which tells the CLI what files to upload and how to process the downloaded translations. There are a lot of configurations that can be done, and you can have an in-depth read of them <a href="https://localazy.com/docs/cli/the-basics">here</a>. It’s also good to note some of the features also depend on the pricing tier being used. For example, format conversions are not available in the free tier.</p><pre><code>// localazy.json
{
    "upload": {
      "type": "json",
      "files": "src/assets/locales/en.json"
    },
    "download": {
      "files": "src/assets/locales/${lang}.json"
    }  
}</code></pre><p>Breakdown of the code snippet above and what it does:</p><ul><li><strong>upload:</strong> object specifies the type of files to be uploaded and the path of the files.</li><li><strong>download:</strong> object describes how to process translated files and where to store them in the directory.</li><li><strong>${lang}:</strong> is a variable used to specify the language translated to using the language code such as es, de, fr, and more.</li></ul><h3 id="add-localazy-commands-to-packagejson">Add Localazy commands to package.json <a class="markdownit-header-anchor" href="#add-localazy-commands-to-packagejson">🔗</a></h3><p>To enable working with others on the project, we will add the localazy download and upload commands in the <code>package.json</code> script commands to make it easily accessible.</p><p>The <code>localazy:download-remote</code> script will be used to download files on remote repositories. Remember, we are not pushing the <code>localazy.keys.json</code> to the remote repository, so the remote repository needs a way to get the authorization keys. This script enables us to access the write and read keys from the environment variables and also use the release tag feature for various environments. Locally, we will use the `latest` version, which is the default, so it does not need to be specified.</p><p>The <code>localazy:publish</code> script will be run to publish or promote tags from a source tag to a target tag. It also uses the write and read keys from the environment variables. It also includes the <code>LOCALAZY_FROM_RELEASE_TAG</code> as the source tag and <code>LOCALAZY_RELEASE_TAG</code> as the target tag. This enables us to publish the release tag: latest to staging for previews and staging to production for the production site.</p><p>The <code>build</code> script is modified to run the <code>localazy:publish</code> and <code>localazy:download-remote</code> scripts before the build.</p><pre><code>// package.json

"scripts": {
    // ... other commands
    "localazy:upload": "localazy upload",
    "localazy:download": "localazy download",
    "localazy:download-remote": "localazy download -r $LOCALAZY_READ_KEY -w $LOCALAZY_WRITE_KEY -t $LOCALAZY_RELEASE_TAG",
    "localazy:publish": "localazy tag -r $LOCALAZY_READ_KEY -w $LOCALAZY_WRITE_KEY promote $LOCALAZY_FROM_RELEASE_TAG  $LOCALAZY_RELEASE_TAG",
    "build": "npm run localazy:publish &amp;&amp; npm run localazy:download-remote &amp;&amp; react-scripts build",
    // ... other commands
 },</code></pre><p><strong>Note: Do not remove other commands in the scripts property</strong></p><h3 id="upload-files-to-localazy">Upload files to Localazy <a class="markdownit-header-anchor" href="#upload-files-to-localazy">🔗</a></h3><p>Run the command to upload files to the Localazy project.</p><pre><code>npm run localazy:upload</code></pre><h3 id="add-languages">Add languages <a class="markdownit-header-anchor" href="#add-languages">🔗</a></h3><p>Add the languages to be translated to on the Localazy dashboard. I added Czech, Finnish, and Spanish Languages. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-11.png" class="kg-image" alt loading="lazy" width="1600" height="834" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-11.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-11.png 1600w" sizes="(min-width: 720px) 720px"></figure><h3 id="set-up-automatic-upload">Set up automatic upload <a class="markdownit-header-anchor" href="#set-up-automatic-upload">🔗</a></h3><p>To enable automatic upload when a commit is made, we will use <a href="https://typicode.github.io/husky/#/">husky</a>.</p><pre><code>npx husky-init &amp;&amp; npm install</code></pre><p>This command sets up husky, modifies the <code>package.json</code>, and creates a sample pre-commit hook that can be edited. The default command in the pre-commit hook is <code>npm test</code> which will run once a commit is made.</p><p>To change the pre-commit command, navigate to the <code>.husky/pre-commit</code> file and change the <code>npm test</code> to <code>npm run upload</code>.</p><h2 id="push-code-to-a-remote-git-repository">📇 Push code to a remote git repository <a class="markdownit-header-anchor" href="#push-code-to-a-remote-git-repository">🔗</a></h2><p>This is when we push our code to a remote git repository such as Github, Bitbucket, Gitlab, etc. Create a new repository on any of these platforms and follow the steps listed. You can add new strings to your source file and commit. Then, confirm on the Localazy dashboard that the changes were uploaded to Localazy based on <a href="https://docs.google.com/document/d/1QEyKpNXzuCBt1UmbVsMiY5OeP1eTGg0ZDBN2ZikDrvc/edit#heading=h.groef9827tqo">Step 7: Set up Automatic Upload</a>.</p><p>If you have any issues while trying to commit the changes, ensure Localazy authorization keys are set up in the <code>localazy.keys.json</code> file and try again.</p><h2 id="integrating-vercel-builds">🕹️ Integrating Vercel builds <a class="markdownit-header-anchor" href="#integrating-vercel-builds">🔗</a></h2><p>There are two major ways of deploying on Vercel:</p><ul><li>Importing a git repository</li><li>Using a custom CI/CD workflow with Vercel</li></ul><p>When you import a git repository, Vercel clones your code, then builds and deploys your application. This method requires zero integrations and is ready to use.</p><p>Using a custom CI/CD workflow with Vercel CLI, you need to write a deployment script. This is ideal when you do not want Vercel to clone your code and also want to perform other CI operations. Also, you can add and commit the downloaded files to the code repository.</p><h3 id="importing-git-repository">Importing git repository <a class="markdownit-header-anchor" href="#importing-git-repository">🔗</a></h3><p>The easiest way to integrate with Vercel is by importing a git project repository.</p><p><a href="https://vercel.com/signup">Sign up</a> if you do not have a Vercel account or <a href="https://vercel.com/login">log in</a> if you have one. You can easily create an account by connecting to your Git provider.</p><h4 id="import-project-on-vercel">Import project on Vercel</h4><p>Add a new project by importing a repository from your git provider. Go to the environment variables section and add the authorization and release tag keys with their values:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-12.png" class="kg-image" alt loading="lazy" width="1600" height="970" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-12.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-12.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>We will later update the environment variables release tag variable to use the right one. Deploy application.</p><h4 id="update-the-release-tag-for-different-environments">Update the release tag for different environments</h4><p>Navigate to the settings within the project dashboard. Go to environment variables in the sidebar.</p><p>On this page, scroll to the <code>LOCALAZY_RELEASE_TAG</code> variable and edit it. Uncheck the production and preview checkboxes and save changes.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-13.png" class="kg-image" alt loading="lazy" width="1600" height="882" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-13.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-13.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Add new environment variables for staging (preview) and production environments release tags as shown below. Save and repeat for all.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-14.png" class="kg-image" alt loading="lazy" width="1600" height="700" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-14.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-14.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>The list of environment variables should look like this:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-15.png" class="kg-image" alt loading="lazy" width="953" height="652" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-15.png 600w, https://ghost.localazy.com/content/images/2023/07/image-15.png 953w" sizes="(min-width: 720px) 720px"></figure><h3 id="using-a-custom-cicd-workflow-with-vercel-cli">Using a custom CI/CD workflow with Vercel CLI <a class="markdownit-header-anchor" href="#using-a-custom-cicd-workflow-with-vercel-cli">🔗</a></h3><h4 id="create-vercel-deployment-script-files">Create Vercel deployment script files</h4><p>In the local repository, create the Vercel deployment scripts based on the CI/CD workflow to be used. The way to structure deployment files for different workflows differs. Read about <a href="https://vercel.com/guides/how-can-i-use-github-actions-with-vercel">GitHub Actions</a>, <a href="https://vercel.com/guides/how-can-i-use-bitbucket-pipelines-with-vercel">Bitbucket pipelines</a>, and <a href="https://vercel.com/guides/how-can-i-use-gitlab-pipelines-with-vercel">GitLab pipeline</a> integrations with Vercel using the links.</p><p>Then, add a job to set up Localazy before the Vercel job. The steps involve installing Localazy CLI, publishing release tags, and downloading translated files. Also, ensure the Vercel job depends on the Localazy job to ensure files are downloaded before the Vercel build.</p><p>The <a href="https://github.com/actions/checkout"><code>actions/checkout@v3</code></a> configures a <code>token</code> for HTTP that enables scripts to run authenticated git commands. This will enable the downloaded commit to be pushed to the code repository. If you used SSH to set up the repository, you will configure a <code>ssh-key</code> instead.</p><p>To ensure the downloaded files are added to our code repository, the <a href="https://github.com/marketplace/actions/git-auto-commit">git-auto-commit</a> action was used. To prevent the automatic upload created <a href="https://docs.google.com/document/d/1QEyKpNXzuCBt1UmbVsMiY5OeP1eTGg0ZDBN2ZikDrvc/edit#heading=h.groef9827tqo">here</a>, the <code>commit_options: '--no-verify'</code> was added to prevent the pre-commit hook from running as we do not want to upload translations. For the Localazy download guide, use these articles for <a href="https://localazy.com/blog/automated-localization-github-actions-localazy">GitHub Actions</a> and <a href="https://localazy.com/blog/automated-localization-gitlab-cicd-localazy">GitLab pipelines</a>.</p><p>YAML file format is commonly used to write deployment configuration files, similar to JSON and XML. If you are new to working with a YAML file, it is important to note that indentation matters. You could also check this <a href="https://www.freecodecamp.org/news/what-is-yaml-the-yml-file-format/">article</a> for a quick brush through.</p><p>For GitHub actions, this is how the production deployment file looks after setting up all the steps.</p><pre><code>// .github/workflows/production-deployment.yaml

name: Vercel Production Deployment
env:
  VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
  VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
  LOCALAZY_FROM_RELEASE_TAG: ${{ secrets.LOCALAZY_STAGING_RELEASE_TAG }}
  LOCALAZY_RELEASE_TAG: ${{ secrets.LOCALAZY_PROD_RELEASE_TAG }}
  LOCALAZY_READ_KEY: ${{ secrets.LOCALAZY_READ_KEY }}
  LOCALAZY_WRITE_KEY: ${{ secrets.LOCALAZY_WRITE_KEY }}
on:
  push:
    branches:
      - master
jobs:
  Localazy-download:
    name: Download strings from Localazy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: '0'
          token: ${{ secrets.TOKEN }}
      - name: Install localazy/cli and other dependencies
        run: npm install
      - name: Publish production release tag
        run: npm run localazy:publish
      - name: Download translated files
        uses: localazy/download@v1
        with:
          read_key: ${{ secrets.LOCALAZY_READ_KEY }}
          write_key: ${{ secrets.LOCALAZY_WRITE_KEY }}
          release_tag: ${{ secrets.LOCALAZY_PROD_RELEASE_TAG }}
          
      - run: |
          # Test that localized files were downloaded by listing 
          # the content of locales folder.
          ls src/assets/locales/*.json
      - name: Commit translation changes to repository
        uses: stefanzweifel/git-auto-commit-action@v4
        with:
          commit_message: Commit latest translations from Localazy.
          commit_options: '--no-verify'
          branch: master

  Deploy-Production:
    name: Deploy previews on vercel
    needs: Localazy-download
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install Vercel CLI
        run: npm install --global vercel@latest
      - name: Pull Vercel Environment Information
        run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}
      - name: Build Project Artifacts
        run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
      - name: Deploy Project Artifacts to Vercel
      	run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}</code></pre><p>The preview deployment is also similar. I used the master branch as my production branch because that is my default branch. Yours might be different like <code>main</code> or something else. Ensure you use the right branch name.</p><p>Add the necessary environment variables. The Localazy variables are used by the localazy publish release tag. I used the <a href="https://github.com/marketplace/actions/localazy-download">localazy download action</a> available in the GitHub marketplace. If you do not have one in your CI/CD marketplace, you could just use the <code>npm run localazy:download-remote</code> command and it will use the env variables declared above.</p><h4 id="update-packagejson-file">Update package.json file</h4><p>Update the build script back to</p><pre><code>// package.json

"scripts": {
    // ... other commands
    "build": "react-scripts build",
    // ... other commands
 },</code></pre><h4 id="add-secrets-to-the-repository">Add secrets to the repository</h4><p>Get the secret values and add Localazy and Vercel secrets to the repository that will run the workflow. I added mine to GitHub and followed these steps.</p><ul><li>Retrieve your <a href="https://vercel.com/guides/how-do-i-use-a-vercel-api-access-token">Vercel Access Token</a> from your Vercel dashboard.</li><li>Then, install the <a href="https://vercel.com/docs/cli">Vercel CLI</a> locally using <code>npm i -g vercel</code> and run <code>vercel login</code>.</li><li>Inside the project folder, run <code>vercel link</code> to create a new Vercel project.</li><li>Get the Vercel <code>projectId</code> and <code>orgId</code>  from the generated .vercelfolder. It is in the project.json file.</li><li>Create a <a href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token">personal access token</a> that will be used to authenticate git commands, which is used as TOKEN in the YAML file.</li><li>In GitHub or your CI platform, go to the repository secrets, under settings, and add VERCEL_TOKEN, VERCEL_ORG_ID, VERCEL_PROJECT_ID, and other Localazy variables used in the deployment file.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-16.png" class="kg-image" alt loading="lazy" width="1566" height="1290" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-16.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-16.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-16.png 1566w" sizes="(min-width: 720px) 720px"></figure><h4 id="push-updates-to-the-repository">Push updates to the repository</h4><p>You can create a new repository or use the existing one. On push to the repository, the workflow action runs, and the code is deployed. If the actions fail, it might be due to not setting up the secrets needed in the YAML file. Confirm everything is well set up and rerun workflow.</p><p>You will notice the commit generated when files are downloaded triggers the workflow again. To fix this, adding the [skip-ci] to the end of the commit message can stop the build from running in <a href="https://docs.github.com/en/actions/managing-workflow-runs/skipping-workflow-runs">GitHub</a>, <a href="https://support.atlassian.com/bitbucket-cloud/docs/push-back-to-your-repository/">BitBucket</a>, <a href="https://support.atlassian.com/bitbucket-cloud/docs/push-back-to-your-repository/">GitLab</a>, <a href="https://docs.travis-ci.com/user/customizing-the-build/#skipping-a-build">Travis CI</a>, etc. Push changes and confirm the workflow runs once for each push.</p><h2 id="view-the-deployed-application">❤️ View the deployed application <a class="markdownit-header-anchor" href="#view-the-deployed-application">🔗</a></h2><p>View the application by clicking the Visit button or any of the domain links in the deployment tab of the project dashboard. Notice on switching languages, the strings are not translated yet and use the fallback language.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-17.png" class="kg-image" alt loading="lazy" width="1600" height="884" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-17.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-17.png 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="translate-uploaded-strings-on-localazy">📗 Translate uploaded strings on Localazy <a class="markdownit-header-anchor" href="#translate-uploaded-strings-on-localazy">🔗</a></h2><p>There are several ways to translate with Localazy ranging from ordering <a href="https://localazy.com/docs/general/continuous-localization-team">continuous translations</a> such as professional translations and proofreading to using human-assisted <a href="https://localazy.com/docs/general/additional-mt-engines">machine translations</a> or <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">community translations</a> (ShareTM). </p><p>We will be using the ShareTM translations and the Amazon Machine translations available in the <a href="https://localazy.com/tiers/free">Free tier.</a></p><p>Navigate to the languages on the dashboard and select a language option by clicking the icon on the right. Click on <strong>Start translating</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-18.png" class="kg-image" alt loading="lazy" width="1600" height="884" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-18.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-18.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-18.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Select a translation from the suggestions by clicking the <strong>USE THIS</strong> button and save the translation. Repeat this step for all the strings and all languages.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/07/image-19.png" class="kg-image" alt loading="lazy" width="1600" height="886" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image-19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/image-19.png 1000w, https://ghost.localazy.com/content/images/2023/07/image-19.png 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="redeploy-the-application-on-vercel">🔄 Redeploy the application on Vercel <a class="markdownit-header-anchor" href="#redeploy-the-application-on-vercel">🔗</a></h2><p>Checkout to a new branch, make some updates and push. Create a pull request against the production branch. Check the preview link to confirm the translations were published and downloaded. Compare it with the production site, and you will notice the production site does not have the translation changes or updates yet.</p><p>Merge the branch to the production <code>master</code> branch and confirm the translations work as expected by checking the live site. If you used the CI/CD workflow, also check the <code>src/assets/locales</code> folder, and you will see the downloaded files.</p><p>Also, if changes are not made to the repository and some translations were made, we can just redeploy the application on Vercel or rerun the CI/CD workflow, and the changes get published.</p><p>You can see my deployed application <a href="https://localazy-vercel-integration.vercel.app/">here</a>.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We have successfully set up a workflow that enables us to integrate Localazy with Vercel builds by either importing a git repository or using a custom CI/CD workflow. If you have not been integrating your localized application with Vercel, I hope you consider this for its benefits and easy integration.</p><p>The integration gives room for different teams and projects to customize when they want to run their builds to suit their needs. Also, teams should put a structure in place to ensure files are translated before the build runs and translation works as expected before merging pull requests to avoid issues. Another way will be to rerun the builds whenever the translations are done.</p><p>View the Localazy-Vercel integrations using the import git repository <a href="https://github.com/MoyinoluwaA/Localazy-Vercel-Integration">here</a> and using the GitHub Actions <a href="https://github.com/MoyinoluwaA/Localazy-Vercel-ci-Integration">here</a>.</p>]]></content:encoded>
            <author>Moyinoluwa Adenuga</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/Vercel.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Meet the Localazy Team: Zuzana Hodková, Localization Services Manager]]></title>
            <link>https://localazy.com/blog/meet-the-localazy-team-zuzka-localization-services-manager</link>
            <guid isPermaLink="false">meet-the-localazy-team-zuzka-localization-services-manager</guid>
            <pubDate>Fri, 28 Jul 2023 09:35:56 GMT</pubDate>
            <description><![CDATA["A localization manager is there to help the people you're targeting understand what you want to offer to them in their native language", says Zuzka, our superstar Localization Services Manager here at Localazy. Find more about her, her passions and the work she does in this interview.]]></description>
            <content:encoded><![CDATA[<p>Localization is <a href="https://localazy.com/dictionary/localization">at the core</a> of what we do. And it's pretty evident we couldn't be doing it without a highly knowledgeable project manager. Today we put the spotlight on our amazing Localization Services Manager, <strong>Zuzana Hodková</strong>. At Localazy HQ, she's Zuzka for short -"I like it better because Zuzana sounds so tough!" she explains - and we couldn't live without her!</p><p>Zuzka, a pharmacist turned localization expert, is 35 and lives in the beautiful South Moravian town of Slavkov u Brna.🌳 🏰 She loves the outdoors and is an avid baker. She regularly oversees an impressive amount of processes with clients, translation teams, and stakeholders - so let's dive in and meet her! </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/DSC05001.JPG" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/DSC05001.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/DSC05001.JPG 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/DSC05001.JPG 1600w, https://ghost.localazy.com/content/images/2023/05/DSC05001.JPG 1920w" sizes="(min-width: 720px) 720px"><figcaption>Zuzana Hodková - Localization Services Manager at Localazy</figcaption></figure><h2 id="introducing-zuzka">👋 Introducing Zuzka <a class="markdownit-header-anchor" href="#introducing-zuzka">🔗</a></h2><p><strong>Hi, Zuzka! Can you tell our readers what your role is in Localazy and the main responsibilities?</strong></p><p>Hello! 🙋‍♀️ Well, at Localazy, I am in charge of the <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization Team</a>, i.e. translation services. My main responsibility is to communicate with translators and clients when assigning projects and overseeing the quality.</p><p><strong>What does a localization services manager do, and why is it an important role?</strong></p><p>A <a href="https://localazy.com/for/localization-managers">localization manager</a> is a dedicated person with management skills who understands how to automate content updates and set up a continuous translation process. ✍️ ♻️ Once you decide that you want to expand your product or service to other markets, to other areas of the world, a localization manager is there to help the people you're targeting understand what you want to offer or present to them in their native language.</p><p><strong>How did you land in Localazy, and what is your favorite part about the job?</strong></p><p>I have been with Localazy since the very beginning, first as a silent observer and supporter of our CEO, <a href="https://localazy.com/blog/author/vaclav-hodek">Vašek</a>, at a time when the platform was just starting to develop. When Localazy went public, I was put in charge of the first clients and their projects. At first, we only provided <a href="https://localazy.com/features/pre-translate">human-assisted machine translations</a>, but we gradually added selected language pairs for professional translations to our portfolio.</p><p>My work is varied; what I enjoy the most is the diversity. Working on different types of projects forces you to go a little deeper, learn about new things and study a bit about them. I put a lot of emphasis on consistency within a project.</p><blockquote>I have been with Localazy since the very beginning, initially as a silent observer and supporter; then as manager of the first clients; and finally when we added selected language pairs for professional translations</blockquote><p><strong>What’s your prior experience and education? Do you have a background in tech?</strong></p><p>I studied Pharmacy 🧪🔬 at the University of Veterinary and Pharmaceutical Sciences in Brno, so my original field of study is quite different. This means I don't normally deal with technical stuff that much. </p><p><strong>Who are your main professional inspirations or role models, and why?</strong></p><p>I have to be honest here. My main role model and inspiration is probably my boss (😉 do I get a bonus? haha) because without him, I couldn't even imagine doing anything different than pharmacy.</p><p><strong>What are your hobbies and interests?</strong></p><p>When I'm not working, I like to cook, bake, read, and do crossword puzzles. I also enjoy riding my bike, exploring new places 🚴‍♀️ 🌲 ... and coming up with fun activities for the kids!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/Pe-en--je-radost.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/Pe-en--je-radost.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/Pe-en--je-radost.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/Pe-en--je-radost.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/05/Pe-en--je-radost.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Zuzka baked these - yum! 🧁</figcaption></figure><h2 id="a-day-at-localazy">💻 A day at Localazy <a class="markdownit-header-anchor" href="#a-day-at-localazy">🔗</a></h2><p><strong>What does your usual workday look like?</strong></p><p>I'm an early riser ☕, which means I get up between 5.30 and 6.00 and usually start my day with a glass of water and a cup of coffee. My daily workflow includes handling emails, checking existing projects and assigning new ones, and therefore communicating with translators and clients. And a bit of paperwork, of course. I always get the most work done by lunchtime, then my parasympathetic starts, and productivity drops. 😅</p><p><strong>Any exciting project you’re working on at the moment?</strong></p><p>Over the past few months, I've had the opportunity to work on several projects in so many different fields. Some examples are pig farming, marine, agriculture, cryptocurrencies, online marketing, gaming... Each of them is different but interesting at the same time - you get to broaden your horizons! </p><p><strong>What does your decision-making process look like? And how does that relate to the rest of the team?</strong></p><p>When a new project appears in the system, I first need to find out details about it - what is the source language, what language we are translating into, what is the focus of the project, the target audience, the terms in the glossary, the <a href="https://localazy.com/blog/linguistic-style-guides-software-localization">style</a>... so that I can get in touch with the most suitable translator. </p><p>I usually communicate with the team if I come across an error or, in larger projects, when I need to filter only certain phrases for translation, change the source language, etc. </p><blockquote>Check out how to order translation services with us <a href="https://localazy.com/blog/guide-localazy-translation-services">here</a>!</blockquote><p><strong>Localization managers have a lot on their plate: from QA to budgeting, creating timelines, and tracking client satisfaction.  Is there any tool that helps you manage your workflows?</strong></p><p>My head! 🧠 Oh yeah, and Excel/<a href="https://clickup.com/">ClickUp</a>. We also have a good custom-made back office management system that makes it easier for me.</p><p><strong>How do you keep track of glossaries and other extensive documentation?</strong></p><p>All important information is in the system. If there is an update in the project, I automatically check the <a href="https://localazy.com/docs/general/how-to-define-your-glossary">Glossary</a>. In addition, when entering translations, the client can also write a description of the project and add a link to their website or the app store, which will be displayed in the portal and to the translators.</p><p><strong>What is your favorite piece of localization technology, and how does it make your work easier?</strong></p><p>I love working with the <a href="https://www.deepl.com/translator">DeepL</a> translator because its possibilities are incredible, even in free mode. I am looking forward to the addition of new languages.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/Working-place.jpeg" class="kg-image" alt loading="lazy" width="1229" height="922" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/Working-place.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/Working-place.jpeg 1000w, https://ghost.localazy.com/content/images/2023/05/Working-place.jpeg 1229w" sizes="(min-width: 720px) 720px"><figcaption>Zuzana's working space</figcaption></figure><p><strong>Can you walk us through the process of implementing a new language pair on the platform? What does it look like?</strong></p><p>First, we select a high-quality supplier, which we verify 🔍, and then I set up a new language pair via the back office system. Everything else is then taken care of by automation, and within minutes the language pair is available to all customers worldwide.</p><p><strong>How do you make sure that <a href="https://localazy.com/features/share-tm">crowdsourced translations</a> meet Localazy’s standards of quality?</strong></p><p>We provide the Human Translation Validation service, which can help Localazy project owners with quality checks. The reviews are carried out by our translators. We work with trusted translators and put emphasis on understanding the context so that the translations are as close as possible to what the client wants to say in the language of the people they want to say it to.</p><h2 id="it-all-starts-here">🤝 It all starts here <a class="markdownit-header-anchor" href="#it-all-starts-here">🔗</a></h2><p><strong>One of the most challenging parts of being a localization manager is managing client expectations and cultural differences. How do you bridge those gaps?</strong></p><p>Communication is key. For example, some clients find it harder to understand the difference between formal and informal styles because their language does not make the difference. Then you need to go deeper, look at existing translations in other languages, the target group, etc.</p><p><strong>Translation and localization aren’t often one-and-done processes. How do you follow up on Localazy’s customers, and how does the platform allow them to update their content as they go? </strong></p><p>Our CLT is tightly integrated with Localazy, so the activity of our translators, as well as the translations themselves, are processed on the platform in real-time. Our customers can still use all the awesome features of Localazy, edit translations, or upload new ones, and we will automatically react to this - translate everything new that needs to be translated. 🙌  That's one of the most important aspects we have in mind - to fully automate the process, including human translations.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/20220413_192210-2.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/20220413_192210-2.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/20220413_192210-2.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/20220413_192210-2.jpg 1600w, https://ghost.localazy.com/content/images/2023/05/20220413_192210-2.jpg 2126w" sizes="(min-width: 720px) 720px"><figcaption>When she's not coordinating the CLT, Zuzka enjoys cycling and sunsets 🍃</figcaption></figure><p><strong>Good localization sounds native. How does Localazy ensure this?</strong></p><p>Very simple: we just work with native speakers of the language into which we are translating, i.e., if the language pair is, for example, 🇬🇧 English&gt; 🇹🇷 Turkish, the translator is a Turkish speaker who has a C2 or at least C1 level of English.</p><h2 id="explaining-localization">💬 Explaining localization <a class="markdownit-header-anchor" href="#explaining-localization">🔗</a></h2><p><br><strong>Imagine you’re talking to someone who doesn’t know what localization is. How would you stress its importance? </strong>🤔</p><p>Localization is a process that involves translation, which is usually defined as the transfer of a text from one language to another. It goes further than that, though: it also involves taking care adapting the resulting text to the <a href="https://localazy.com/blog/how-to-translate-idioms-the-right-way">cultural environment</a> of the target country and - where appropriate - adapting the tonality and style of the language to the target group we're addressing. So it's increasingly relevant, especially in a global landscape!</p><p><strong>Have you noticed a shift in the way businesses look at localization processes over the last few years? </strong></p><p>Yes! Clients obviously want their service users to "feel at home." But on the other hand, as a result of developments in recent years (covid, inflation, etc.) I also observe a desire to save money with an emphasis on the price/quality ratio. </p><blockquote>Localization involves adapting the message to the cultural environment of the target country and, where appropiate, to adapt tonality and style to the target group we're addressing. It's increasingly relevant!</blockquote><p><strong>What are the main shortfalls companies experience before ordering localization services? Is there something they specifically struggle with?</strong></p><p>In my opinion, they often just don't know exactly what to expect when they start with localization. Our job is to make the process easier and clearer.</p><p><strong>Why should other localization managers choose Localazy?</strong></p><p>We offer an integrated, comprehensive and automated solution; an intuitive UI; and customer-oriented support. What's not to love? 😃</p><h2 id="innovation-and-the-future">🔦 Innovation & the future <a class="markdownit-header-anchor" href="#innovation-and-the-future">🔗</a></h2><p><strong>What do you think “the next big thing” in localization is going to be?</strong></p><p>The progressive use of AI, definitely.</p><p><strong>Is the relationship between developers and linguists in the startup ecosystem going to stretch as time goes by? How do you think those roles will overlap?</strong></p><p>I don't think they need to overlap - rather, they need to complement each other and work effectively together.</p><p><strong>What is your take on automation and machine learning?</strong></p><p>There's no way to avoid it...</p><p><strong>Which language pairs do you think are going to be vital in the future of content?</strong></p><p>If we look at the most used languages in the world, the following pairs are likely to come to mind:</p><ul><li>🇨🇳 English&lt;&gt;Chinese </li><li>🇯🇵 English&lt;&gt;Japanese </li><li>🇮🇳 English&lt;&gt;Hindi</li><li>🇪🇸 English&lt;&gt;Spanish</li></ul><p><strong>What is your advice for anyone who wants to specialize in localization?</strong></p><p>Don’t be afraid to start. Sometimes it hurts and takes a lot of time, but it’s worth it. And if you're struggling or confused and don't know what to do, don't be afraid to ask!</p><p><strong>Anything else you’d like to add?</strong></p><p>Have a wonderful day! 😄</p><p><strong>Thank you, Zuzka, for letting us in and walking us through the localization process! Stay tuned because we'll be talking to another member of the Localazy team very soon. </strong>👀 </p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/Interview-insider-5.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Streamline translation efficiency with Storyblok CMS and Localazy's Key Clustering]]></title>
            <link>https://localazy.com/blog/streamline-translation-efficiency-with-storyblok-cms-and-localazys-key-clustering</link>
            <guid isPermaLink="false">streamline-translation-efficiency-with-storyblok-cms-and-localazys-key-clustering</guid>
            <pubDate>Tue, 26 Nov 2024 17:17:34 GMT</pubDate>
            <description><![CDATA[Learn how to utilize the new Key Clustering feature in Localazy to streamline your Storyblok localization process. Unlock efficient and automatic duplicity solving and never translate the same content multiple times.]]></description>
            <content:encoded><![CDATA[<p>Efficiently saving time and reducing translation costs is essential for any project with multilingual content. If you're using Storyblok CMS, integrating Localazy's Key Clustering feature can greatly optimize your translation processes. By effectively handling duplicate values originating from Storyblok, you can achieve consistent translations and significant time and cost savings.</p><h2 id="storyblok-cms-and-localazy-a-dynamic-combination">🚀 Storyblok CMS and Localazy: A dynamic combination <a class="markdownit-header-anchor" href="#storyblok-cms-and-localazy-a-dynamic-combination">🔗</a></h2><p><a href="https://www.storyblok.com/">Storyblok CMS</a> is a powerful headless CMS platform that empowers users to manage content seamlessly for their websites and applications. Its user-friendly interface and extensive customization options make it a preferred choice for many development teams.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/07/Storyblok-Dashboard.png" class="kg-image" alt loading="lazy" width="2000" height="1345" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/Storyblok-Dashboard.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/07/Storyblok-Dashboard.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/07/Storyblok-Dashboard.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/07/Storyblok-Dashboard.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Sotryblok Website Dashboard</figcaption></figure><p>To enhance translation management, Localazy's localization platform seamlessly integrates with <a href="https://localazy.com/storyblok">Storyblok CMS</a>. This integration enables users to leverage a comprehensive suite of translation tools offered by Localazy, including the innovative Key Clustering feature.</p><blockquote>To get started with Localazy and Storyblok CMS, refer to our comprehensive guide on <a href="https://localazy.com/blog/managing-multilingual-content-with-storyblok-localazy" rel="noopener noreferrer">Managing multilingual content with Storyblok CMS &amp; Localazy</a>.</blockquote><p>By combining Storyblok CMS with Localazy, you can effortlessly manage translations and ensure linguistic consistency throughout your project. </p><h2 id="the-challenge-of-duplicate-translations">⚓ The challenge of duplicate translations <a class="markdownit-header-anchor" href="#the-challenge-of-duplicate-translations">🔗</a></h2><p>As your content library expands, you're likely to encounter duplicate values within your content entries. Common words, phrases, or even entire paragraphs that appear repeatedly, such as navigation elements, buttons, or system messages, can lead to redundant translation efforts. </p><blockquote>Duplicate strings for translation are a common occurrence in software localization, learn how to handle duplicates regardless of the source string's origin and even across projects with the <a href="https://localazy.com/blog/introducing-the-duplicity-linking-feature-software-localization">Duplicity Linking feature</a>. </blockquote><p>Translating duplicates individually not only consumes valuable time but also increases the risk of inconsistencies across translations. Traditional manual approaches or relying solely on glossaries are insufficient for the efficient handling of duplicates.</p><h2 id="unlocking-efficiency-with-key-clustering">🌠 Unlocking efficiency with Key Clustering <a class="markdownit-header-anchor" href="#unlocking-efficiency-with-key-clustering">🔗</a></h2><p>Fortunately, Localazy offers a powerful solution to tackle duplicate source strings coming from Storyblok and other API-based sources effectively – Key Clustering.</p><p>With Key Clustering, duplicate values are <strong>automatically identified and organized within Localazy</strong> without requiring modifications to your Storyblok integration source. This intelligent clustering process groups identical values into <strong>key clusters</strong>, resulting in a single <a href="https://localazy.com/faq/pricing/what-are-source-keys">Localazy source key</a> with nested keys representing duplicates.</p><p>☝️ By leveraging Key Clustering, you can save significant time and resources by eliminating the need to translate the same content multiple times. With each duplicate value effectively clustered, translations remain consistent and effortlessly reusable throughout your Storyblok CMS. </p><h2 id="implementing-key-clustering-in-your-project">📐 Implementing Key Clustering in your project <a class="markdownit-header-anchor" href="#implementing-key-clustering-in-your-project">🔗</a></h2><p>Integrating Key Clustering into your Storyblok CMS project is straightforward. Follow these steps to unlock its benefits:</p><ol><li><a href="/register">Create a Localazy project</a>.</li><li>Navigate to the project's general settings section and enable <a href="https://localazy.com/docs/general/key-clusters">Key Clustering</a> under the <em>Import &amp; Export</em> settings.</li><li>Set up your Storyblok CMS environment, ensuring that internationalization features are enabled, and <a href="https://localazy.com/docs/storyblok/storyblok-settings-tab#sync-translatable-fields-with-export">fields are set to be translatable</a>. </li><li>Connect your <a href="https://localazy.com/docs/storyblok/storyblok-plugin-introduction-installation">Storyblok project to Localazy</a> using the dedicated integration or plugin provided.</li><li><a href="https://localazy.com/docs/storyblok/storyblok-transfer-content-to-localazy">Upload your content from Storyblok to Localazy</a>, allowing Key Clustering to automatically identify and cluster duplicate values.</li></ol><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/06/image-6.png" class="kg-image" alt loading="lazy" width="1716" height="1299" srcset="https://ghost.localazy.com/content/images/size/w600/2023/06/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/06/image-6.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/06/image-6.png 1600w, https://ghost.localazy.com/content/images/2023/06/image-6.png 1716w" sizes="(min-width: 720px) 720px"></figure><h2 id="simplifying-translations-in-localazy">🚩 Simplifying translations in Localazy <a class="markdownit-header-anchor" href="#simplifying-translations-in-localazy">🔗</a></h2><p>Once your content is uploaded to Localazy, the Key Clustering feature takes effect. Duplicate values originating from Storyblok are neatly organized under a single Localazy key. Within this key cluster, you'll find nested keys representing the duplicate values.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/06/image-7.png" class="kg-image" alt loading="lazy" width="1583" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2023/06/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/06/image-7.png 1000w, https://ghost.localazy.com/content/images/2023/06/image-7.png 1583w" sizes="(min-width: 720px) 720px"><figcaption>Overview of all imported source keys with a cluster displayed in the bottom row.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/06/image-8.png" class="kg-image" alt loading="lazy" width="1611" height="621" srcset="https://ghost.localazy.com/content/images/size/w600/2023/06/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/06/image-8.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/06/image-8.png 1600w, https://ghost.localazy.com/content/images/2023/06/image-8.png 1611w" sizes="(min-width: 720px) 720px"><figcaption>Localazy key cluster with nested keys overview.</figcaption></figure><p>For example, if multiple Storyblok content entries contain the same value, such as <strong>Main</strong>, Localazy will create a key cluster labeled with a unique identifier, like <strong><code>cluster_0</code></strong>. Within this cluster, you only need to translate the value once, and Storyblok will automatically reuse the same translation across all instances within the cluster.</p><h2 id="join-our-beta-program-to-access-this-feature">🔓 Join our beta program to access this feature <a class="markdownit-header-anchor" href="#join-our-beta-program-to-access-this-feature">🔗</a></h2><p>⚠️ <strong>Please note:️</strong> Key Clusters are an experimental beta feature available only in our Early Access Program. To join the beta, please <a href="/login">log in</a>, click on the ❔ question mark icon in the top navigation, and select <em>Get early access</em>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/07/image-2.png" class="kg-image" alt loading="lazy" width="320" height="521"><figcaption>How to join the Localazy Beta</figcaption></figure><h2 id="embracing-efficiency-and-consistency">✔️ Embracing efficiency and consistency <a class="markdownit-header-anchor" href="#embracing-efficiency-and-consistency">🔗</a></h2><p>By utilizing Localazy's Key Clustering feature in conjunction with Storyblok CMS, you can streamline your translation workflow, ensure consistent translations, and optimize your localization efforts. Say goodbye to redundant translations and welcome an efficient approach that saves time and reduces costs. </p><p><a href="/login">Join the beta program now</a> to test it out and help us further improve the toolset helping you to maximize the translation process efficiency.</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/11/Storyblok-How-to-manage.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Support climate action via localization with Localazy's Shared Translation Memory 🌍]]></title>
            <link>https://localazy.com/blog/empowering-climate-research-shared-translation-memory</link>
            <guid isPermaLink="false">empowering-climate-research-shared-translation-memory</guid>
            <pubDate>Fri, 22 Nov 2024 11:09:16 GMT</pubDate>
            <description><![CDATA[It's not money: it's language barriers. Help us populate our newest translation memory to fight the climate emergency and connect communities everywhere!]]></description>
            <content:encoded><![CDATA[<p>Many of the problems that startups and individuals have to face worldwide in relation to climate challenges are not caused by a lack of financing: it's simply about communication barriers. Contrary to popular belief, <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">English is not mastered everywhere</a>, and it certainly isn't the first language for many communities, including those in Europe and the West. </p><p>This is why we have launched a new Shared Translation Memory 🤝 focused on <a href="https://localazy.com/term/climate-research">Climate Research</a> that is <a href="https://localazy.com/p/shared-climate-strings">already available</a> for everyone to explore.</p><blockquote>🙌 <a href="https://localazy.com/p/shared-climate-strings">Join us now</a> and help us create the best Shared Translation Memory for Climate Research! 🌎</blockquote><p>If we want to effectively build bridges to link communities worldwide, we'll need tools to make it easier. One way is using the knowledge our users already have (and a bit of their time 🙏) to tackle the climate change challenge we're facing. And that's where our Shared TMs come into play.</p><h2 id="what-is-this-about">🤔 What is this about? <a class="markdownit-header-anchor" href="#what-is-this-about">🔗</a></h2><p>Here at Localazy, we are proud to support bold causes, and we are pretty sure that climate action is one of the topics all of us shall take care of. Humanity must address many sustainable development goals as there is no planet B. Naturally, communicating is the first step to finding the right solutions, but language barriers still play a huge role in inhibiting sustainable development.</p><p>Our shared translation memory for all climate action-related causes acts as an open-sourced repository of translated strings in +90 languages. It's currently available via <a href="https://github.com/Localazy-Community/shared-climate-strings-boilerplate">GitHub</a>, so every developer, researcher, or commercial company with a bold mission can use it for its own purposes. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/06/Captura-de-Pantalla-2023-06-23-a-las-11.42.48.png" class="kg-image" alt loading="lazy" width="2000" height="1125" srcset="https://ghost.localazy.com/content/images/size/w600/2023/06/Captura-de-Pantalla-2023-06-23-a-las-11.42.48.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/06/Captura-de-Pantalla-2023-06-23-a-las-11.42.48.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/06/Captura-de-Pantalla-2023-06-23-a-las-11.42.48.png 1600w, https://ghost.localazy.com/content/images/2023/06/Captura-de-Pantalla-2023-06-23-a-las-11.42.48.png 2335w" sizes="(min-width: 720px) 720px"><figcaption>Our TM interface is clear and easy to use - take a look at the results in Chezch!</figcaption></figure><h2 id="what-is-a-translation-memory">📒 What is a translation memory? <a class="markdownit-header-anchor" href="#what-is-a-translation-memory">🔗</a></h2><p>A <a href="https://localazy.com/dictionary/translation-memory">translation memory</a> is a repository of translated terms that can be used as a reference point in a localization project. It helps increase translation productivity and cut costs. In this particular instance, it can help project managers, companies, and language professionals over the world to expedite translation projects focused on climate research terminology, which is getting increasingly vital.</p><p>Shared translation memories are one of Localazy's core features. They are <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">our very own hive mind</a> 🐝! They allow users to contribute to crowdsourced initiatives in a breezy way while providing suggestions for future localization projects, making the translation process easier for everyone involved. Specifically, Shared TMs focused on industry jargon or terminology can be of great help during the launch and expansion of an international project. </p><h2 id="whys">❓ Why's <a class="markdownit-header-anchor" href="#whys">🔗</a></h2><p>Climate change is one of humanity's biggest challenges, and <a href="https://climate.nasa.gov/interactives/climate-time-machine/">time is ticking</a>. We simply want to make a difference, and there's proof that committing to the <a href="https://sdgs.un.org/es/goals">UN's Sustainable Development Goals</a> is good for the planet and good for business. Let's break it down.</p><blockquote>Learn more about <a href="https://localazy.com/term/climate-research">Localazy for Climate Research</a> 🍃</blockquote><h3 id="some-convincing-figures">Some convincing figures <a class="markdownit-header-anchor" href="#some-convincing-figures">🔗</a></h3><p>1. The global average temperature has increased by 1.1°C since the pre-industrial period, and a 1.5°C increase is expected over the next 20 years (🌡️ <a href="https://www.ipcc.ch/2021/08/09/ar6-wg1-20210809-pr/">IPCC</a>, 2021).</p><p>2. The concentration of carbon dioxide (CO2) in the atmosphere is now at its highest level in at least 800,000 years (💨 <a href="https://climate.nasa.gov/evidence/">NASA</a>, 2021).</p><p>3. The Arctic sea ice extent has decreased by almost 13% per decade since 1979, and the last seven years have collectively been the warmest on record (🧊 <a href="https://climate.nasa.gov/vital-signs/arctic-sea-ice/">NASA</a>/<a href="https://arctic.noaa.gov/Report-Card/Report-Card-2022">NOAA</a>, 2022).</p><p>4. Global sea levels have risen by about 8 inches (20 cm) since 1880, and the rate of sea level rise is accelerating (🌊 <a href="https://earthobservatory.nasa.gov/images/150192/tracking-30-years-of-sea-level-rise">NASA</a>, 2022).</p><p>5. Human activities are responsible for almost all of the observed warming since the mid-20th century (🏭 <a href="https://www.ipcc.ch/report/ar6/wg1/chapter/chapter-3/">IPCC</a>, 2013).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/06/agustin-lautaro-SH_oYiwg224-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1325" srcset="https://ghost.localazy.com/content/images/size/w600/2023/06/agustin-lautaro-SH_oYiwg224-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/06/agustin-lautaro-SH_oYiwg224-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/06/agustin-lautaro-SH_oYiwg224-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/06/agustin-lautaro-SH_oYiwg224-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="good-for-the-planet-good-for-business">Good for the planet, good for business <a class="markdownit-header-anchor" href="#good-for-the-planet-good-for-business">🔗</a></h3><p>Building synergies around the UN SDG framework has clearly shown that <a href="https://sdgs.un.org/goals/goal13">a purposeful cause</a> can also be a great business, as the world's famous brands, such as Unilever Global, have already demonstrated. As one brilliant businessman said, "There is no business on a dead planet." We stand by this statement.</p><p>In the case of Localazy, people with local knowledge can provide their expertise to worldwide companies. In multiple instances, we have found that our freelance translators in remote locations were able to support their families with much-needed income. All they need is a decent internet connection and a computer or smartphone.</p><blockquote>Well-managed localization can have a vast multiplication effect on impact, whether you want to track air pollution, file a report on climate change or localize medical devices to speak the native language of their users.</blockquote><p>Localization is unique in one thing: despite its particular activity and the fact that is hidden from the end-user (if done well), the need for localization is present in nearly every industry. We believe that well-managed localization can have a vast multiplication effect on impact, whether you want to track air pollution, file a report on climate change or localize medical devices to speak the native language of their users. </p><p>Our goal is to connect climate researchers on different continents by building relationships with a solid base of locals who know their native languages, propelling change from the ground up.</p><h3 id="africa-a-case-study">Africa: a case study <a class="markdownit-header-anchor" href="#africa-a-case-study">🔗</a></h3><p>Localization has proven to be instrumental in the African continent, where businesses and a great deal of untapped talent have been able to thrive when language gaps have been tackled. Crucial social causes like the fight against HIV have also benefitted from localized sensitization, as Nigerian journalist Chidinma Iwu explains in <a href="https://localazy.com/blog/how-localization-of-tech-solutions-would-broaden-africas-tech-ecosystem">this article</a>. </p><p>It is, however, a massive undertaking, as the <a href="https://alp.fas.harvard.edu/introduction-african-languages#:~:text=The%20most%20widely%20spoken%20languages,Congo%20language%20family%20on%20Ethnologue.">African language ecosystem</a> is very vast and complex. It is, in fact, the most linguistically diverse continent out there: <a href="https://www.statista.com/statistics/1280625/number-of-living-languages-in-africa-by-country/">over 2,000 languages and dialects</a> (one-third of the tongues worldwide! 😮) are spoken in this continent, inhabited by 1,300 million people. According to African software developer and technical writer <a href="https://localazy.com/blog/author/mary-okosun">Mary Okosun</a>, diversity is boundless within different countries. "In Nigeria, there are multiple communities aside from the major tribes, which are Igbo, Yoruba, and Hausa. These tribes are known to speak a particular language, and within these tribes, we might also hear different accents from the same tribesmen", she explains.</p><!--kg-card-begin: markdown--><blockquote>
<p>Africa is the most linguistically diverse continent. Over 2,000 languages are spoken there, which amounts to one-third of the tongues worldwide</p>
</blockquote>
<!--kg-card-end: markdown--><p>As Okosun points out, business communication is not a problem in cities, where English is largely predominant, but "when venturing into a business that has its active market predominantly based in the rural areas and communities, it is important to be able to speak the local languages in order to have a seamless transaction."</p><figure class="kg-card kg-image-card kg-card-hascaption"><a href="https://localazy.com/blog/how-localization-of-tech-solutions-would-broaden-africas-tech-ecosystem"><img src="https://ghost.localazy.com/content/images/2023/07/image.png" class="kg-image" alt loading="lazy" width="950" height="499" srcset="https://ghost.localazy.com/content/images/size/w600/2023/07/image.png 600w, https://ghost.localazy.com/content/images/2023/07/image.png 950w" sizes="(min-width: 720px) 720px"></a><figcaption>Read our previous <a href="https://localazy.com/blog/how-localization-of-tech-solutions-would-broaden-africas-tech-ecosystem">article on localization in Africa</a></figcaption></figure><p>Software engineer <a href="https://localazy.com/blog/author/moyinoluwa-adenuga">Moyinoluwa Adenuga</a>, also from Nigeria, describes it similarly: "I am from Ogun state and the <a href="https://www.britannica.com/topic/Yoruba">Yoruba</a> tribe. The general native language across the tribe is Yoruba, but there are even more dialects within the tribe based on locality. I had the opportunity to live in the northern part of Nigeria for a year, and it was quite shocking to me that their native language was more pre-eminent than the official English language. When I was there, I really found it very difficult to communicate with others. I had several ideas/projects I wanted to work on, but it was really impossible as basic communication was an issue".</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/06/desola-lanre-ologun-kwzWjTnDPLk-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2023/06/desola-lanre-ologun-kwzWjTnDPLk-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/06/desola-lanre-ologun-kwzWjTnDPLk-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/06/desola-lanre-ologun-kwzWjTnDPLk-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/06/desola-lanre-ologun-kwzWjTnDPLk-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>Both professionals believe that a project like Localazy's Climate Strings can significantly propel change in their areas. And they also see its potential for other sustainable development goals <a href="https://hub.localazy.com/en/regions/002-africa">within the continent</a>, such as 👩‍🏫 quality education and 🌱 economic growth. As Okosun stresses, "For communication between student and teacher to work effectively, there should be no language barrier. So in an instance where language barriers still play a huge role, getting quality education might get hindered".</p><h2 id="how-to-join">🤝 How to join <a class="markdownit-header-anchor" href="#how-to-join">🔗</a></h2><p>You can join simply by visiting the <a href="https://localazy.com/p/shared-climate-strings" rel="noopener noreferrer">Shared Climate Strings</a> project and getting started with translation into your language. Especially welcome are languages where machine translations could not help, like the African variants. We've started out adding the main Western languages, like English, German, Spanish, or French, but we need extra help to expand our database.</p><p>Some examples are:</p><ul><li><strong>African languages &amp; dialects</strong> such as Amharic, Afar, Ibibio, Masai, Rundi, Tyap, Nigerian Pidgin, Oromo, Tiv, or Swahili (Kenyan, Tanzanian, Congonian, and Ugandan varieties).</li><li><strong>Asian languages</strong> such as Gujarati, Filipino, Hebrew, Korean or Japanese, as well as regional variants of the Arabic language.</li><li><strong>Regional European tongues </strong>such as Catalan and Basque.</li></ul><p>If you speak some of these languages and care about climate change, you can help us populate our translation memory. Just log into your Localazy account (or <a href="/register">create one</a> if you haven't already) and join our <a href="https://localazy.com/p/shared-climate-strings">Shared Climate Strings</a> project to make your contributions! 🤗</p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/Support-Climate-Action.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy secures additional funding to remove language barriers for 1B people worldwide in a new investment round]]></title>
            <link>https://localazy.com/blog/localazy-secures-eu1m-to-remove-language-barriers-for-1-billion-people-worldwide-in-new-investment-round</link>
            <guid isPermaLink="false">localazy-secures-eu1m-to-remove-language-barriers-for-1-billion-people-worldwide-in-new-investment-round</guid>
            <pubDate>Thu, 29 Jun 2023 21:09:37 GMT</pubDate>
            <description><![CDATA[Localazy has recently secured funding from JIC Ventures, Garage Angels, and 12Bullets in our second investment round, resulting in a total valuation of €4.5 million. Read on to learn more information about our latest investment.]]></description>
            <content:encoded><![CDATA[<p>We've got exciting news to share with you today! 🎊 Localazy has successfully closed a new investment round where it has secured several hundred thousand euros in venture capital from three new backers. We have added <a href="https://www.jic.cz/en/">JIC Ventures</a>, <a href="https://g-angels.cz/">Garage Angels</a>, and 12 Bullets as our newest funding partners. The company’s valuation now climbs to €4.5M after a first round led by <a href="https://lhv.vc/">Lighthouse Ventures</a> (LHV), which remains in the investment pool.</p><p>Localazy aims to eliminate language barriers for 1 billion people worldwide, and this new boost will help us tremendously in our journey. “We are delighted to have received a significant boost from three highly regarded investors from the Czech Republic, including Jiří Hlavenka, a renowned investor known for his great success with Kiwi.com. Together with <a href="https://localazy.com/contact">the fantastic team</a> and a network of great people helping us along our journey, we are sure their support will fuel Localazy's advancement toward becoming the best localization platform on the market”, said our CEO, <a href="https://localazy.com/blog/author/vaclav-hodek">Vacláv Hodek</a>, about the news.</p><blockquote>Localazy currently serves users from 113 countries and four continents, including big mobility, health and software brands. Our aim is to become the best localization platform on the market</blockquote><p>This is the second investment that Localazy has received in recent years. The first, of similar size, was raised from <a href="https://lhv.vc/">Lighthouse Ventures</a> (LHV) in 2020. In total, we have raised nearly €1M for the development of the product so far. We currently serve users from 113 countries, including big mobility, health, and software brands, and have already achieved profitability, which makes us very excited for what's to come.</p><h2 id="what-our-partners-think">🤝 What our partners think <a class="markdownit-header-anchor" href="#what-our-partners-think">🔗</a></h2><p><em>“Localazy is on a sound footing, and they are already profitable. Our investment will help them accelerate their growth”</em> - <strong>Radim Kocourek, <a href="https://www.jic.cz/en/">JIC Ventures</a></strong></p><p><em>"Localazy attracted us with a successful product with excellent credentials and business growth. An important part of this is the quality and alignment of the founder, Vaclav Hódek, with our values"</em> - <strong>Jiří Nepala, <a href="https://g-angels.cz">Garage Angels</a></strong></p><p><em>"Seeing translation automation in practice was impressive. Thanks to the Localazy network, our developers don't have to deal with localization resources at all"</em> - <strong>Lukáš Tóth, <a href="https://localazy.com/blog/case-study-rouvy-localization">Rouvy</a> </strong></p><h2 id="whats-next">💫 What's next? <a class="markdownit-header-anchor" href="#whats-next">🔗</a></h2><p>Thanks to the partners’ support, Localazy intends to:</p><ul><li>🗣️ Upgrade our localization processes.</li><li>⚙️ Increase the number of <a href="https://localazy.com/integrations">software integrations</a> available.</li><li>🥳 Further improve customer success.</li><li>📈 Access new markets.</li><li>👨‍💻 Reinforce our marketing and product team. </li></ul><p>“After COVID-19 and venture capital meltdown, we are proud to have found our partners in Czechia and built stronger connections with local businesses, especially helping local companies succeed globally”, adds our CEO.</p><h2 id="localazys-history">🚀 Localazy's history <a class="markdownit-header-anchor" href="#localazys-history">🔗</a></h2><p>This comes as a huge accomplishment for our team, which set off on an adventure in 2020 when Localazy was founded as a mobile app localization startup. The initial goal was to translate mobile apps, but the platform soon evolved into a one-stop-shop solution for the translation management needs of individuals and companies of any size. As time went by, we realized that having easy l10n and i18n solutions available, including machine translation, multilingual marketing tools, and quality assurance services, was invaluable for many global businesses and communities. </p><p>"Keeping projects that are constantly evolving well translated into all supported languages is a rather complicated thing. But we managed to come to the market with a really user-friendly solution," says Hodek.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/06/Localazy_CoreTeam_01.jpg" class="kg-image" alt loading="lazy" width="2000" height="1125" srcset="https://ghost.localazy.com/content/images/size/w600/2023/06/Localazy_CoreTeam_01.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2023/06/Localazy_CoreTeam_01.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/06/Localazy_CoreTeam_01.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/06/Localazy_CoreTeam_01.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>The core team at Localazy, with Václav Hodek (CEO) front and center.</figcaption></figure><p>We started out in the Czech Republic. After only three years of work, we've reached  North and South America, Africa, Asia, and other European countries with our system, in which automation and a clear design are the main stars.</p><blockquote>Localazy was founded in 2020 in the Czech Republic. Three years later, we've reached North and South America, Africa, Asia and other European countries with our localization platform and impacted 500M people</blockquote><p>Some of the famous brands using Localazy are your favorite banks and automotive manufacturers, as well as innovators of all kinds, such as <a href="https://rouvy.com/es">ROUVY</a> or <a href="https://www.scaleway.com/en/">Scaleway</a>. Non-profit &amp; social enterprise platforms all over the world, like <a href="https://plasticbank.com">Plastic Bank</a>, <a href="https://localazy.com/blog/interview-donar-online-ultimate-platform-non-profits-latin-america">Donar Online</a>, or <a href="https://www.care.org">CARE</a>, also use Localazy to boost their positive impact internationally.</p><p>We have already impacted 500M people globally with our software. If you drive a car with a display, use a banking app, buy medicine or collect plastic trash in the Philippines, there’s a chance you probably already benefit from Localazy. The possibilities of a good localization strategy are truly endless!</p><h2 id="join-us">👋 Join us <a class="markdownit-header-anchor" href="#join-us">🔗</a></h2><ul><li>If you are a company (big or small) that wants to streamline and simplify localization processes, <a href="https://localazy.com/book-demo">book a demo</a> with us to see our product in action!</li><li>If you have a community or non-profit project that you want to convert to other languages, <a href="https://localazy.com/for/nonprofit">take a look at our features</a> to crowdsource multilingual translations.</li><li>If you are a developer, feel free to explore <a href="https://github.com/localazy">our repository</a> at GitHub.</li><li>And if you love our product and want to spread the word, just share this post, <a href="https://twitter.com/localazy?lang=es">follow us</a> on our socials, or <a href="https://localazy.com/community/ambassadorship-program/publish-interview">tell us your story</a> to be featured on the blog. </li></ul><blockquote>🇨🇿 Check out our feature in <a href="https://forbes.cz/zaujali-i-hlavenku-startupiste-od-brna-ziskali-milionovou-investici/">Forbes Czech Republic</a>! </blockquote>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/1m-investment-raised.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy CLI Tips: Create your own JVM-based Docker container]]></title>
            <link>https://localazy.com/blog/cli-tips-create-your-own-jvm-based-docker-container</link>
            <guid isPermaLink="false">cli-tips-create-your-own-jvm-based-docker-container</guid>
            <pubDate>Wed, 14 Jun 2023 12:18:53 GMT</pubDate>
            <description><![CDATA[Learn how to create your own portable JVM-based Docker container to run Localazy CLI on old operating systems or ARM-based macOS.]]></description>
            <content:encoded><![CDATA[<p>Occasionally, there can be an issue with our default Linux container, e.g., if you try to run it on a very old host OS or if you try to run it on ARM-based macOS.</p><p>For this reason, it can be helpful to use a more portable JVM-based version.</p><h2 id="the-dockerfile">📁 The dockerfile <a class="markdownit-header-anchor" href="#the-dockerfile">🔗</a></h2><p>There's a simple way how to create a JVM-based Docker container that works in a way compatible with the Linux-based one:</p><pre><code class="language-dockerfile">FROM adoptopenjdk/openjdk11:alpine-jre

RUN apk add wget unzip &amp;&amp; \
    rm -rf /var/cache/apk/* &amp;&amp; \
    wget https://dist.localazy.com/java/java-v1.7.3.zip &amp;&amp; \
    unzip java-v1.7.3.zip &amp;&amp; \
    cp localazy.jar /bin/localazy.jar &amp;&amp; \
    echo "#!/bin/sh" &gt; /bin/localazy &amp;&amp; \
    echo "java -jar /bin/localazy.jar \$@" &gt;&gt; /bin/localazy &amp;&amp; \
    chmod a+x /bin/localazy
    
WORKDIR /localazy
</code></pre><p><strong>Note: </strong>The script above uses hardcoded version 1.7.3, but feel free to use any other suitable for your needs.</p><p>Just build it:<br><code>docker build . -t my_jvm_cli</code></p><p>and run it:<br><code>docker --rm -v $(pwd):/localazy my_jvm_cli localazy upload</code></p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Remember that <a href="https://localazy.com/docs/cli/the-basics">Localazy CLI</a> is among the most flexible developer tools in the localization field. Learn how to utilize the Localazy CLI to its full potential in the ultimate guide <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow">How to use Localazy CLI to streamline your localization workflow</a></p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/jvm-docker.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Boost profits & improve CX by localizing your digital product]]></title>
            <link>https://localazy.com/blog/boost-profits-improve-cx-by-localizing-your-digital-product</link>
            <guid isPermaLink="false">boost-profits-improve-cx-by-localizing-your-digital-product</guid>
            <pubDate>Wed, 30 Apr 2025 09:51:54 GMT</pubDate>
            <description><![CDATA[Learn how to maximize your market share and expand your international reach by improving customer experience (CX) through digital localization in this short guide.]]></description>
            <content:encoded><![CDATA[<p>Did you know that 76% of online customers prefer to buy products that use their native language?</p><p>Even more revealing is the fact that <strong>40% of customers refuse to buy from a website that uses a different language to their own</strong>, according to <a href="https://csa-research.com/Featured-Content/For-Global-Enterprises/Global-Growth/CRWB-Series/CRWB-B2C"><u>CSA Research</u></a>.</p><p>Let’s let that sink in for a moment.</p><p>If you’re neglecting to localize your digital products and provide information or content in other languages – you’re missing out on a heap of sales.</p><p>This is especially true for businesses that sell digital products. When people buy things online, there needs to be a high level of trust and understanding. Localization of content and information helps to build this as well as extending the customer lifecycle, as we’ll see in a moment.</p><p>This guide will look at ways to maximize your market share and expand your international reach by improving customer experience (CX) through digital localization.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/06/integrate.png" class="kg-image" alt loading="lazy" width="740" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2023/06/integrate.png 600w, https://ghost.localazy.com/content/images/2023/06/integrate.png 740w" sizes="(min-width: 720px) 720px"><figcaption>Localization of digital products is easy with Localazy, <a href="/integrations">see the available integrations</a>.</figcaption></figure><h2 id="the-benefits-of-localizing-your-digital-product-to-improve-cx">🚀 The benefits of localizing your digital product to improve CX <a class="markdownit-header-anchor" href="#the-benefits-of-localizing-your-digital-product-to-improve-cx">🔗</a></h2><p>Before we go into the specifics of how to localize your digital product, let’s first take a look at some of the main CX benefits you can expect to achieve.</p><h3 id="improved-communication">Improved communication <a class="markdownit-header-anchor" href="#improved-communication">🔗</a></h3><p>When you get down to brass tacks, good customer experience is all about communication. If your content is in a different language, you risk alienating many people and setting up a communication barrier that is difficult to overcome. Language barriers can potentially reduce the positive feelings people have towards your brand. To reach a global market, you must focus on <a href="https://localazy.com/term/professional-translation-services">high-quality localization</a> that tears down language and cultural barriers.</p><p>Multilingual customer support is a good customer experience win, as customers appreciate being able to access information and help in their language. Research shows that forcing customers to jump between languages during the customer lifecycle puts people off.</p><p>In other words, it’s not enough that your marketing materials and app content are localized if your support documents and live chat assistance is not.</p><blockquote>Remember to appraoch localization in a holistic manner and try to localize as much content as possible when you decide to introduce a new language.</blockquote><h3 id="more-trust">More trust <a class="markdownit-header-anchor" href="#more-trust">🔗</a></h3><p>How do you build trust? The main way is through honest communication. You also need to listen to and understand your customer. You'll build credibility and trust if you can understand your customer’s needs and respond to them positively. Trust is vital for business success.</p><p>Building trust can be a significant challenge when selling digital products that can’t be physically touched or seen. Speaking to people in their language is a quick win in the trust stakes. It shows that you’ve taken the time to consider your customer’s needs and put in the extra work to meet them.</p><blockquote>Remember to thoroughly test all localized pages and features to spot mistakes or missing translations!</blockquote><h3 id="cultural-relevance">Cultural relevance <a class="markdownit-header-anchor" href="#cultural-relevance">🔗</a></h3><p>A mistake that many online retailers make is to assume that all cultures view things in a similar way. The truth is every nation, continent, and culture perceives things in different ways. Some differences are small; some are large. For instance, a perfectly polite phrase in the USA may sound pushy or offensive in some parts of the world.</p><blockquote>The last thing you want to do is market and present your products in a way that doesn’t align with different cultural values and expectations.</blockquote><p>High-quality localization services, such as Localazy, can help you to present your content in a culturally sensitive way. <a href="https://localazy.com/blog/guide-localazy-translation-services">Localazy uses professional translators</a> and advanced <a href="https://localazy.com/dictionary/machine-translation">MT engines</a> to ensure that translated text makes sense and is culturally appropriate. This helps to meet customer expectations in whichever country you are targeting.</p><h3 id="receive-feedback">Receive feedback <a class="markdownit-header-anchor" href="#receive-feedback">🔗</a></h3><p>If all your content is in English only, you’ll miss out on valuable feedback from customers who don’t feel confident enough to provide it. On the other hand, if you open up the communication channels by providing your digital content in the customer’s native language, they’ll be much more likely to provide you with useful feedback.</p><p>The feedback you receive can be analyzed carefully, and you’ll be able to gain valuable insights into any weaknesses you may have and how well your international expansion efforts are going.</p><blockquote>Encourage users to give you feedback in their own language. For example, see how Airbnb does it with their reviews.</blockquote><h3 id="increase-loyalty">Increase loyalty <a class="markdownit-header-anchor" href="#increase-loyalty">🔗</a></h3><p>Each of the benefits listed above feeds into a great overall customer experience and CX is the most important thing to get right if you want to increase customer retention.</p><p>Most internet users expect a seamless and convenient experience these days. If they come up against friction in the form of a language barrier, then they’ll be far less likely to buy from you again.</p><p>When you consider that only around <a href="https://www.statista.com/statistics/262946/share-of-the-most-common-languages-on-the-internet/"><u>26% of all internet users speak English</u></a> as their first language, you are potentially missing out on a lot of customers and you may fail to build loyalty with your existing ones.</p><h2 id="how-to-start-with-localization">🚩 How to start with localization? <a class="markdownit-header-anchor" href="#how-to-start-with-localization">🔗</a></h2><p>Our digital, internet-driven world is one without geographical barriers.</p><p>But that doesn’t mean that language and cultural barriers don’t exist. Localizing content and information is very important when selling digital products online.</p><p>When buying products online, customers need reassurance that your brand is trustworthy and that your products will make sense to them.</p><h3 id="why-localazy">Why Localazy? <a class="markdownit-header-anchor" href="#why-localazy">🔗</a></h3><p>So. what is the easiest way to start localizing your digital products you might ask? We beleive that Localazy can help introduce you into the localization world. What is Localazy? It's is a continuous <a href="https://localazy.com/dictionary/translation-management-system-tms">translation management platform</a> that strives to make the localization and translation process efficient and enjoyable for any project. It supports a wide variety of frameworks and an even more comprehensive range of formats through its <a href="https://localazy.com/features/cli">command line interface</a> (CLI) and <a href="https://localazy.com/docs/api/introduction"><u>API</u></a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/06/upload.png" class="kg-image" alt loading="lazy" width="740" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2023/06/upload.png 600w, https://ghost.localazy.com/content/images/2023/06/upload.png 740w" sizes="(min-width: 720px) 720px"><figcaption>Localazy CLI is the most advanced tool for localization automation.</figcaption></figure><p>Localazy offers three general approaches to choose from and blend to translate your digital projects:</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors - </strong>You can <a href="https://localazy.com/docs/general/translating-strings"><u>start translating on your own</u></a> and use our built-in suggestion system.</li><li>🦾 <strong>Translate everything in bulk via machine translation - </strong>With the Localazy <a href="https://localazy.com/tiers/autopilot"><u>Autopilot plan</u></a>, you can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate"><u>running a machine translation over the content</u></a>.</li><li>🚩 <strong>Fully automate the translation process with the </strong><a href="https://localazy.com/features/continuous-localization-team"><strong><u>Continuous Localization</u></strong></a><strong> services</strong> - Once your Localazy integration is set up, you can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to check the progress.</li></ol><h3 id="where-to-learn-more">Where to learn more <a class="markdownit-header-anchor" href="#where-to-learn-more">🔗</a></h3><p><strong>We recommend these resources to get you started:</strong></p><ul><li><a href="https://localazy.com/blog/guide-preparing-application-for-i18n-l10n-localazy">How to prepare your project for localization?</a></li><li><a href="https://localazy.com/blog/mythbusters-start-localization-once-product-is-done#how-to-get-started-with-localization">How to start with localization?</a></li><li><a href="https://localazy.com/blog/make-translators-happy-cooperate-localazy">How to make translators happy to cooperate?</a></li><li><a href="https://localazy.com/blog/linguistic-style-guides-software-localization">How to prepare a style guide for localization?</a></li><li><a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">Why is Localazy better than spreadsheets for localization?</a></li></ul><p>The above articles should provide you with enough knowledge to start without any trouble.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>You can also <a href="/register">sign up for a free Localazy account</a> to try our digital localization platform hands-on. Localization of your digital product will help to increase customer satisfaction and loyalty. Sign up and find out how Localazy can help you to localize your content in a friction-free way. </p><p></p><p></p>]]></content:encoded>
            <author>Dan Martin</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/boost-profits-cx.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to localize a NestJS application with nestjs-i18n and Localazy]]></title>
            <link>https://localazy.com/blog/how-to-localize-a-nestjs-application-with-nestjs-i18n-and-localazy</link>
            <guid isPermaLink="false">how-to-localize-a-nestjs-application-with-nestjs-i18n-and-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:22:04 GMT</pubDate>
            <description><![CDATA[Learn everything you need to know to quickly start creating multilingual NestJS applications with nestjs-i18n and Localazy in this comprehensive article!]]></description>
            <content:encoded><![CDATA[<p>Localization is crucial to building modern, accessible web applications that cater to a global audience. However, it can be daunting, especially if you're just starting with it. In the case of <a href="https://nestjs.com/">NestJS</a>, that's where <a href="https://nestjs-i18n.com/">nestjs-i18n</a> and Localazy come in; to help simplify its implementation and enable you to focus on the more important task of building amazing applications.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image-20.png" class="kg-image" alt loading="lazy" width="300" height="75"><figcaption>Source: <a href="https://nestjs-i18n.com/">https://nestjs-i18n.com/</a></figcaption></figure><h2 id="introduction">👋 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2><p>Let's quickly explain the definitions of localization (l10n) and internationalization (i18n) and introduce Localazy. You can skip this part if you are already familiar with the terms and platform.</p><h3 id="what-is-localization">What is Localization? <a class="markdownit-header-anchor" href="#what-is-localization">🔗</a></h3><p><a href="/dictionary/localization">Localization</a> is an important part of the process of adapting software to suit the end user's needs. It is usually implemented by translating applications to the user's geographic language and creating locale-specific components to create a dynamic experience suited to the target locale. Localization is not limited to <a href="https://localazy.com/tags/translations">translation</a>, but translation plays a big part in localization. For applications to be localized, internationalization is used to enable easy adaptation.</p><p><a href="/dictionary/internationalization">Internationalization</a> is the process of creating applications in a way that supports them being used in different locales and geographic regions, which makes the application globally or universally available. For example, <strong>nestjs-i18n</strong> is a package that integrates i18n - an internationalization module - with NestJS and makes it easy to use.</p><h3 id="what-is-localazy">What is Localazy? <a class="markdownit-header-anchor" href="#what-is-localazy">🔗</a></h3><p>Localazy is a continuous <a href="/dictionary/translation-management-system-tms">translation management platform</a> that strives to make the localization and translation process efficient and enjoyable for any project. It supports a wide variety of frameworks and an even more comprehensive range of formats through its <a href="/features/cli">command line interface</a> (CLI) and <a href="https://localazy.com/docs/api/introduction"><u>API</u></a>. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-24.png" class="kg-image" alt loading="lazy" width="740" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-24.png 600w, https://ghost.localazy.com/content/images/2023/05/image-24.png 740w" sizes="(min-width: 720px) 720px"></figure><p>Localazy also offers various <a href="https://localazy.com/blog/guide-localazy-translation-services">translation services</a> depending on the project's needs, such as highly accurate translation memory supported by <u><a href="https://localazy.com/docs/general/what-is-localazy-sharetm">community-shared translations</a></u>, <u><a href="https://localazy.com/docs/general/continuous-localization-team">continuous translation services</a></u> such as professional translations and human-assisted machine translations, and <u><a href="https://localazy.com/docs/general/additional-mt-engines">machine translations</a></u>. The translation interface is very simple and easy to use, with only important features.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-25.png" class="kg-image" alt loading="lazy" width="1480" height="763" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-25.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-25.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-25.png 1480w" sizes="(min-width: 720px) 720px"></figure><p>Localazy works seamlessly with the <a href="https://nestjs-i18n.com/">nestjs-i18n library</a>, which is one of the most popular choices when it comes to internationalization in NestJS applications. Without a localization management platform, the default would be manually translating every word and putting it in the files. This could lead to loss of meaning of words and manual errors.</p><h4 id="why-use-localazy">Why use Localazy?</h4><ul><li>It enables easy translation of applications using either machine, human-assisted, or <a href="https://localazy.com/term/professional-translation-services">professional translation</a> services.</li><li>It enables easy expansion of businesses globally as their applications can support various <a href="https://localazy.com/tags/locales">locales</a> and geographic markets.</li><li>It leads to <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">increased revenue as more users can access the application</a>.</li><li>Developers can focus on the application features rather than worrying about manual translations.</li><li>It utilizes a one-time setup, and it is easy to use.</li></ul><blockquote>Learn why Localazy is <a href="https://localazy.com/blog/localazy-best-tool-translation-automation">the best tool for translation automation</a> or the 12 reasons why Localazy is <a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">better than spreadhseets</a>, even for simple projects!</blockquote><p>Now that you know what is localization, internationalization, and the benefits of using a translation management system such as Localazy to localize your project, we can get to the practical part! 🤠 </p><h2 id="first-steps">🕹️ First steps <a class="markdownit-header-anchor" href="#first-steps">🔗</a></h2><p>We would be creating a NestJS application with an endpoint <code>reset-password</code> that would allow users to reset their passwords. We would then view the application response in various languages to test the integration.</p><h3 id="prerequisites">Prerequisites <a class="markdownit-header-anchor" href="#prerequisites">🔗</a></h3><ul><li>Basic understanding of <a href="https://nestjs.com/">NestJS</a> and what i18n does</li><li>Have <a href="/dictionary/nodejs">NodeJS</a> and <a href="https://www.npmjs.com/">NPM</a></li><li>Code Editor or your favorite <a href="/dictionary/integrated-development-kit-ide">IDE</a></li><li><a href="https://www.postman.com/">Postman</a> to test the results</li></ul><h3 id="creating-a-nestjs-application">Creating a NestJS application <a class="markdownit-header-anchor" href="#creating-a-nestjs-application">🔗</a></h3><p>If you already have a NestJS application you want to localize, skip to the next section.</p><p>To create a NestJS application, install the NestJS CLI globally.</p><pre><code>npm i -g @nestjs/cli</code></pre><p>Then, create a new project in your operating system terminal. The <code>nest-i18n-localazy-example</code> is the project name. You can name yours differently.</p><pre><code>nest new nest-i18n-localazy-example</code></pre><h2 id="integrating-nestjs-i18n">👨‍💻 Integrating nestjs-i18n <a class="markdownit-header-anchor" href="#integrating-nestjs-i18n">🔗</a></h2><p>Now we need to set up the i18n library for our project.</p><h3 id="installation">Installation <a class="markdownit-header-anchor" href="#installation">🔗</a></h3><p>Install <strong>nestjs-i18n</strong> in the Nest application to use the internationalization tools using the command:</p><pre><code>npm install nestjs-i18n</code></pre><h3 id="set-up-the-file-or-files-to-be-translated">Set up the file or files to be translated <a class="markdownit-header-anchor" href="#set-up-the-file-or-files-to-be-translated">🔗</a></h3><p>Create a folder named <code>i18n</code> in the <code>src</code> folder of your project. Create the default locale folder. In this case, we would use <code>en</code> as the default locale is English.</p><p>Create the translation file with your choice filename in this folder. The filename used in this example is <code>test.json</code>. Other files to be translated can also be added in this folder <code>src/i18n/en</code> .</p><pre><code>// src/i18n/en/test.json

{
    "HELLO": "Hello",
    "PRODUCT": {
      "NEW": "New Product: {name}"
    },
    "ENGLISH": "English",
    "ARRAY": ["ONE", "TWO", "THREE"],
    "cat": "Cat",
    "cat_name": "Cat: {name}",
    "set-up-password": {
      "heading": "Hello, {username}",
      "title": "Reset password",
      "followLink": "Please follow the link sent to your email address {email} to reset your password"
    },
    "day_interval": {
      "one": "Every day",
      "other": "Every {count} days",
      "zero": "Never"
    },
    "nested": "We go shopping: $t(test.day_interval, {{\"count\": {count} }})"
}</code></pre><p>We would not be using all the strings in this file in the endpoint, as I am just trying to show that different key definitions can be used, but you can try using some of the other strings while practicing. Localazy also provides a lot of information on the allowed key and value types <u><a href="https://localazy.com/docs/cli/json-format">here</a></u>.</p><h3 id="enable-the-i18n-folder-to-be-compiled-to-the-dist-folder-during-the-build">Enable the i18n folder to be compiled to the dist folder during the build. <a class="markdownit-header-anchor" href="#enable-the-i18n-folder-to-be-compiled-to-the-dist-folder-during-the-build">🔗</a></h3><p>Navigate to <code>nest-cli.json</code> and modify the <code>compilerOptions</code> object by adding the assets property. The include property specifies the path of the files to be watched.</p><pre><code>// nest-cli.json

{
  "$schema": "https://json.schemastore.org/nest-cli",
  "collection": "@nestjs/schematics",
  "sourceRoot": "src",
  "compilerOptions": {
    "deleteOutDir": true,
    "assets": [
      { "include": "i18n/**/*", "watchAssets": true }
    ]
  }
}</code></pre><h3 id="setting-up-the-i18n-module">Setting up the i18n Module <a class="markdownit-header-anchor" href="#setting-up-the-i18n-module">🔗</a></h3><p>Now, we set up the i18n Module to be accessible throughout the application by adding in the root of the application. Add resolvers.</p><pre><code>// src/app.module.ts

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import * as path from 'path';
import {
  AcceptLanguageResolver,
  I18nJsonLoader,
  I18nModule,
  QueryResolver,
} from 'nestjs-i18n';

@Module({
  imports: [
    I18nModule.forRoot({
      fallbackLanguage: 'en',
      loaderOptions: {
        path: path.join(__dirname, '/i18n/'),
        watch: true,
      },
      resolvers: [
        { use: QueryResolver, options: ['lang'] },
        AcceptLanguageResolver,
      ],
    })
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}</code></pre><p>Breakdown of the code snippet above and what it does:</p><ul><li><strong>fallbackLanguage:</strong> is the language to be used when a translation does not exist in the selected locale or no language is chosen.</li><li><strong>watch:</strong> setting this property to <code>true</code> in the <code>loaderOptions</code> enables live reloading of the application.</li><li><strong>resolvers: </strong>option is used to determine how the language is detected. In this case, we use a <code>QueryResolver</code> with options as lang which would enable us to dynamically use query parameters to set the language. We will see how this works when viewing the translated application.</li></ul><p><br></p><h3 id="start-translating-your-applications">Start translating your applications <a class="markdownit-header-anchor" href="#start-translating-your-applications">🔗</a></h3><p>Start translating your applications by adding the translated variables in your code using the <code>i18n.t</code> method. Navigate to the <code>app.controller.ts</code> file, create a new endpoint route called ‘set-password’  as shown in <strong>Lines 15-23,</strong> and make use of the localized strings.</p><p>To access the localized strings, the filename comes first, then the object property. Nested objects and arrays can be accessed using dot notation.</p><p>Dynamic strings require a second argument to be passed containing the dynamic data. Check the <a href="https://nestjs-i18n.com/"><u>nestjs-i18n documentation</u></a> for a more in-depth study on string formatting and how to deal with various data such as Plurals, referencing other strings, and more.</p><pre><code>// src/app.controller.ts

import { Body, Controller, Get, HttpCode, Post } from '@nestjs/common';
import { AppService } from './app.service';
import { I18n, I18nContext } from 'nestjs-i18n';
import { passwordDto, SetUpPasswordDto } from './password.dto';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get()
  getHello(): string {
    return ('Hello World!');
  }

  @Post('reset-password')  // line 15
  @HttpCode(200)
  setUpPassword(@I18n() i18n: I18nContext, @Body() setUpPasswordDto: SetUpPasswordDto): passwordDto {
    return {
      title: i18n.t(`test.set-up-password.title`),
      text: `${i18n.t('test.set-up-password.heading', { args: { username: resetPasswordDto.username }})},

       ${i18n.t(`test.set-up-password.followLink`, { args: { email: resetPasswordDto.email }})}`.replace(/\s\s+/g, ' ')
    }
  }  // line 23
}</code></pre><p>In the above code snippet, the replace method on the <code>text</code> property is used to strip new lines and multiple spaces.</p><p>A dto file called <code>password.dto.ts</code> was created in the src directory for validation, and it was used in the <code>app.controller.ts</code> file. Here is the content of the file:</p><pre><code>// src/password.dto.ts

export class ResetPasswordDto {
    username: string;
    email: string
}

export class passwordDto {
    title: string;
    text: string;
}</code></pre><h2 id="translating-using-localazy">🗺️ Translating using Localazy <a class="markdownit-header-anchor" href="#translating-using-localazy">🔗</a></h2><p>Log in or create a <a href="https://localazy.com/"><u>Localazy</u></a> account if you do not have one.</p><p>Create a new project.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-27.png" class="kg-image" alt loading="lazy" width="1600" height="716" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-27.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-27.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-27.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Enter a project name of your choice. I used nest-integration, but you can decide to use a different name. Change the source language if the strings to be translated are not in English, but it's generally recommended to use English to get the most accurate machine translation suggestions and be able to order professional translations. Then, click the <em>Create new project</em> button.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-28.png" class="kg-image" alt loading="lazy" width="1600" height="1139" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-28.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-28.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-28.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Now, let us go back to our application code.</p><h3 id="install-localazy-cli">Install Localazy CLI <a class="markdownit-header-anchor" href="#install-localazy-cli">🔗</a></h3><p>Install the<em> </em><strong>Localazy </strong><a href="https://localazy.com/docs/cli/the-basics"><strong><u>CLI</u></strong></a><em> </em>locally<em> </em>as a dev dependency<em> </em>using the npm package to enable anyone that runs the code to install it when running the <code>npm install</code> command. Use the command</p><pre><code>npm i --save-dev @localazy/cli</code></pre><h3 id="add-localazy-configuration-script">Add Localazy configuration script <a class="markdownit-header-anchor" href="#add-localazy-configuration-script">🔗</a></h3><p>In the project root folder, create a configuration script called <code>localazy.json</code> which tells the CLI what files to upload and how to process the downloaded translations. There are a lot of configurations that can be done, and you can have an in-depth read of them <u><a href="https://localazy.com/docs/cli/the-basics">here</a></u>. It’s also good to note some of the features also depend on the pricing tier being used. For example, format conversions are not available in the free tier.</p><pre><code>// localazy.json

{
    "writeKey": "&lt;your-apps-write-key&gt;",
    "readKey": "&lt;your-apps-read-key&gt;",
    "upload": {
      "type": "json",
      "files": "src/i18n/en/*.json"
    },
    "download": {
      "files": "src/i18n/${lang}/${file}"
    },
    "conversion": {},
    "transformations": []   
}</code></pre><p>Breakdown of the code snippet above and what it does:</p><ul><li><strong>writeKey and readKey:</strong> are used to authorize the request. Navigate to the Localazy project directory and the settings tab to copy the keys.</li><li><strong>upload:</strong> object specifies the type of files to be uploaded and the path of the files.</li><li><strong>download:</strong> object describes how to process translated files and where to store them in the directory.</li><li><strong>${lang}:</strong> is a variable used to specify the language translated to using the language code such as es, de, fr, and more.</li><li><strong>${file}:</strong> is used to ensure the filename remains the same under the translated locales folders when the translated files are downloaded.</li><li><strong>conversion:</strong> is used to specify how to process downloaded files. It could be by converting to a different file format, specifying variable replacements in files, and more. We do not need to do any conversion, so we leave it empty.</li><li><strong>transformations:</strong> are used to clean up paths, file names, and other parameters before files upload using the operations specified. We do not need to do any transformation, so we leave it empty.</li></ul><p>Go to the project settings to copy the write and read key values and paste them into the <code>localazy.json</code> file.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-29.png" class="kg-image" alt loading="lazy" width="1600" height="564" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-29.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-29.png 1600w" sizes="(min-width: 720px) 720px"></figure><h3 id="add-localazy-commands-to-packagejson">Add Localazy commands to package.json <a class="markdownit-header-anchor" href="#add-localazy-commands-to-packagejson">🔗</a></h3><p>To enable working with others on the project, we would add the localazy download and upload commands in the <code>package.json</code> script commands to make it easily accessible.</p><pre><code>"scripts": {
    // ... other commands
    "upload": "localazy upload",
    "download": "localazy download",
    // ... other commands
},</code></pre><p><strong>Note: Do not remove other commands in the scripts property</strong></p><h3 id="upload-files">Upload files <a class="markdownit-header-anchor" href="#upload-files">🔗</a></h3><p>Upload the files with the strings to be translated to the Localazy platform using:</p><pre><code>npm run upload</code></pre><h3 id="view-uploaded-strings">View uploaded strings <a class="markdownit-header-anchor" href="#view-uploaded-strings">🔗</a></h3><p>Navigate to the localazy project and view the uploaded strings by selecting the first row or clicking the <em>Manage </em>button. In our case, the source language is English:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-30.png" class="kg-image" alt loading="lazy" width="1600" height="883" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-30.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-30.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-30.png 1600w" sizes="(min-width: 720px) 720px"></figure><h3 id="add-languages">Add languages <a class="markdownit-header-anchor" href="#add-languages">🔗</a></h3><p>Add the languages to be translated to by clicking the add languages button and selecting the languages. Let’s add French, German, and Spanish language.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-31.png" class="kg-image" alt loading="lazy" width="1600" height="886" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-31.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-31.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-31.png 1600w" sizes="(min-width: 720px) 720px"></figure><h3 id="translating-on-the-localazy-dashboard">Translating on the Localazy dashboard <a class="markdownit-header-anchor" href="#translating-on-the-localazy-dashboard">🔗</a></h3><p>Localazy offers three general approaches to choose from and blend to translate your project:</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors - </strong>You can <a href="https://localazy.com/docs/general/translating-strings"><u>start translating on your own</u></a> and use our built-in suggestion system.</li><li>🦾 <strong>Translate everything in bulk via machine translation - </strong>With the Localazy <a href="https://localazy.com/tiers/autopilot"><u>Autopilot plan</u></a>, you can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate"><u>running a machine translation over the content</u></a>.</li><li>🚩 <strong>Fully automate the translation process with the </strong><a href="https://localazy.com/features/continuous-localization-team"><strong><u>Continuous Localization</u></strong></a><strong> services</strong> - Once your Localazy integration is set up, you can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to check the progress.</li></ol><p>For now, we can translate on our own. To enter the translation session, go to the <em>Translations</em> page of your project, and click on the blue button in one of the language rows. You can also use the context menu to reveal more options:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-32.png" class="kg-image" alt loading="lazy" width="1600" height="883" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-32.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-32.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-32.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>If you are on a <a href="/tiers/free">Free tier</a>, you can use the Amazon machine translation suggestions or ShareTM translations to translate your texts. Do this for all the strings and all languages.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-33.png" class="kg-image" alt loading="lazy" width="1600" height="1113" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-33.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-33.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-33.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Confirm all translations have been done:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-34.png" class="kg-image" alt loading="lazy" width="1600" height="707" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-34.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-34.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-34.png 1600w" sizes="(min-width: 720px) 720px"></figure><blockquote>Localazy also offers continuous translations such as professional translations and proofreading, or more affordable human-assisted machine translations. Read up on these services <a href="https://localazy.com/blog/guide-localazy-translation-services"><u>here</u></a>.</blockquote><h3 id="download-the-translated-files">Download the translated files <a class="markdownit-header-anchor" href="#download-the-translated-files">🔗</a></h3><p>Download files by running the command:</p><pre><code>npm run download</code></pre><p>Confirm the successful download by viewing the files in the i18n folder:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-35.png" class="kg-image" alt loading="lazy" width="508" height="434"></figure><h2 id="the-translated-application">🚩 The Translated Application <a class="markdownit-header-anchor" href="#the-translated-application">🔗</a></h2><p>Start the application server with the command:</p><pre><code>npm run start:dev</code></pre><p>Make requests to the desired endpoint. We would use <a href="/dictionary/postman">Postman</a> to send requests.</p><p>Open the Postman application and send a new request to the endpoint <code>http://localhost:3000/set-password?lang=es</code>, passing the language as a query parameter called <code>lang</code>. View the response in the default language and other languages used by changing the query parameter to the language code.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-36.png" class="kg-image" alt loading="lazy" width="1600" height="911" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-36.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-36.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-36.png 1600w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-37.png" class="kg-image" alt loading="lazy" width="1600" height="903" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-37.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-37.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-37.png 1600w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-38.png" class="kg-image" alt loading="lazy" width="1600" height="902" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-38.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-38.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-38.png 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Our application has now been localized using Localazy, and developers can focus on creating applications without worrying about translating applications to ensure it is accessible to a wide range of users.</p><p>Check out the code on GitHub <a href="https://github.com/MoyinoluwaA/Nestjs-Localazy-Template"><u>here</u></a>, and feel free to use it as a template for your NestJS applications by following the steps in the README.md file.</p>]]></content:encoded>
            <author>Moyinoluwa Adenuga</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/05/localazy-article-nestj-js-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: New filters, quick translation editing & more!]]></title>
            <link>https://localazy.com/blog/release-update-new-filters-quick-editing</link>
            <guid isPermaLink="false">release-update-new-filters-quick-editing</guid>
            <pubDate>Fri, 19 May 2023 10:23:05 GMT</pubDate>
            <description><![CDATA[Find out what's new inside Localazy in the latest Release Update! Learn more about new filters, inline editing capabilities and other improvements that will help you streamline your localization workflow even more.]]></description>
            <content:encoded><![CDATA[<p>Before we dive into the latest improvements, don't forget that the translation from English to 🇬🇷 <strong>Greek</strong> language is discounted until the end of June. </p><p>Are you curious about how to order translations on our platform or want to learn more about Greek localization? Read these articles to get started:</p><ul><li>🙋 <a href="/blog/guide-localazy-translation-services">How to order professional translations?</a></li><li>☝️ <a href="/blog/the-importance-of-professional-greek-translation-services">Why are professional translations important for Greek?</a></li></ul><p>Or you can jump right into Localazy and order the Greek language for your project now:</p><blockquote><a href="/my/virtual-translator">Order Greek translations now!</a> 💙</blockquote><p>Now that your Greek language support is taken care of by our Continuous Localization Team, let's go through the release! 🚀</p><h2 id="new-toolbar-for-translation-tables">🧰 New toolbar for translation tables <a class="markdownit-header-anchor" href="#new-toolbar-for-translation-tables">🔗</a></h2><p>When you open the list of translations in a particular language, you will see the new toolbar. You can select which columns you would like to see in the table, apply filters and search in strings with advanced options.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image-19.png" class="kg-image" alt loading="lazy" width="1520" height="122" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-19.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-19.png 1520w" sizes="(min-width: 720px) 720px"><figcaption>Translation view toolbar in Localazy</figcaption></figure><h3 id="search-options">Search options <a class="markdownit-header-anchor" href="#search-options">🔗</a></h3><p>We've updated the translation table search and added a lot of new options. It's now possible to select fields for search and enable additional conditions like case sensitivity or regular expressions. Searched terms are also highlighted among the search results in the table for better visibility.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image-4.png" class="kg-image" alt loading="lazy" width="1022" height="754" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-4.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-4.png 1022w" sizes="(min-width: 720px) 720px"><figcaption>New search options in the translation table</figcaption></figure><h3 id="filters">Filters <a class="markdownit-header-anchor" href="#filters">🔗</a></h3><p>All filters were moved to the new toolbar. A few new filters were added. <br>You can now filter translations specifically from machine translation or those produced by <a href="/term/professional-translation-services">Localazy Translation services</a>. It is also possible to filter all translations that don't pass the basic quality checks, such as missing placeholders or incorrect glossary use.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image-5.png" class="kg-image" alt loading="lazy" width="1533" height="847" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-5.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-5.png 1533w" sizes="(min-width: 720px) 720px"><figcaption>Translation filters in Localazy</figcaption></figure><h2 id="quick-edit-for-translations">🖋️ Quick edit for translations  <a class="markdownit-header-anchor" href="#quick-edit-for-translations">🔗</a></h2><p>The main translation interface is still the best way to create new translations and keep focused on the context, but we've also added the ability to edit translations directly in the translation table. </p><p>This feature allows you to make quick edits to translations and especially comes in handy when used in combination with the invalid translation filter. This is a feature that was requested quite a lot, so we decided to roll out a proof of concept sooner! What do you think? </p><blockquote>Please note that this feature is still in its experimental phase, and we welcome any feedback you may have.</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image-6.png" class="kg-image" alt loading="lazy" width="2000" height="1320" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-6.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/image-6.png 1600w, https://ghost.localazy.com/content/images/2023/05/image-6.png 2318w" sizes="(min-width: 720px) 720px"><figcaption>Quick edit in the translation table</figcaption></figure><h2 id="switch-source-language-for-translation">🔀 Switch source language for translation  <a class="markdownit-header-anchor" href="#switch-source-language-for-translation">🔗</a></h2><p>As a project owner, you can select additional languages that translators will be able to choose from during the translation. This allows for workflows where the source language of uploaded strings is, e.g., Developer English (xxa) or your local language, but you would want to provide more options like the recommended English (en) to get better machine translation suggestions. Or you can, of course, allow any other language to ask translators with different language pair specializations to help you and get the best results. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image-7.png" class="kg-image" alt loading="lazy" width="2000" height="517" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-7.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/image-7.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/05/image-7.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Source language switch in the Localazy translation interface</figcaption></figure><p>For complete control over the translations, enabling multiple source languages in the <a href="https://localazy.com/blog/release-update-new-project-settings-releases-in-ui#revamped-project-settings">project settings</a> is required. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image-8.png" class="kg-image" alt loading="lazy" width="1912" height="672" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-8.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/image-8.png 1600w, https://ghost.localazy.com/content/images/2023/05/image-8.png 1912w" sizes="(min-width: 720px) 720px"><figcaption>Additional source language selection in Localazy</figcaption></figure><h2 id="set-translation-length-limit-in-ui">📏 Set translation length limit in UI <a class="markdownit-header-anchor" href="#set-translation-length-limit-in-ui">🔗</a></h2><p>So far, it has been possible to set translation length limits only via metadata in supported file formats or using our <a href="/features/translation-api">API</a>. We're happy to announce that this feature is now part of our UI. To set the translation length limit, navigate to the source language and pick any string you'd like to edit.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image-9.png" class="kg-image" alt loading="lazy" width="1596" height="732" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-9.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-9.png 1596w" sizes="(min-width: 720px) 720px"><figcaption>Translation length limit in Localazy</figcaption></figure><h2 id="other-improvements-and-fixes">🗃️ Other Improvements & Fixes <a class="markdownit-header-anchor" href="#other-improvements-and-fixes">🔗</a></h2><p>There are some more improvements and fixes that we would like to share with you!</p><h3 id="improved-search-in-similar-strings">Improved search in similar strings <a class="markdownit-header-anchor" href="#improved-search-in-similar-strings">🔗</a></h3><p>During translation and review, you have <a href="/docs/general/translating-strings#context-tabs">many tabs available to help you with context</a>, including the "Similar" tab. And together with highlighted search terms in the table view, the search in similar terms is improved with this small aid as well. 🔎  </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-10.png" class="kg-image" alt loading="lazy" width="2000" height="634" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-10.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/image-10.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/05/image-10.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="add-plurals-from-ui">Add plurals from UI <a class="markdownit-header-anchor" href="#add-plurals-from-ui">🔗</a></h3><p>Another small step for Localazy is that it's now possible to create plurals from UI when creating new keys. Yay! 🎉</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-11.png" class="kg-image" alt loading="lazy" width="1654" height="1502" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-11.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/image-11.png 1600w, https://ghost.localazy.com/content/images/2023/05/image-11.png 1654w" sizes="(min-width: 720px) 720px"></figure><h3 id="improved-tables-pagination">Improved tables pagination <a class="markdownit-header-anchor" href="#improved-tables-pagination">🔗</a></h3><p>We've also improved the pagination of all tables. We are hoping that this will help you to better navigate between pages. 📖</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-12.png" class="kg-image" alt loading="lazy" width="1946" height="608" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/05/image-12.png 1600w, https://ghost.localazy.com/content/images/2023/05/image-12.png 1946w" sizes="(min-width: 720px) 720px"></figure><h3 id="strapi-plugin-support-for-ckeditor-5">Strapi plugin support for CKEditor 5  <a class="markdownit-header-anchor" href="#strapi-plugin-support-for-ckeditor-5">🔗</a></h3><p>Fields in <a href="/strapi">Strapi</a> using CKEditor (rich text editor plugin) weren't previously uploaded to Localazy. We've added support and enabled uploading these content fields as well. 💜</p><h3 id="fixes">Fixes <a class="markdownit-header-anchor" href="#fixes">🔗</a></h3><p>Thanks to your feedback, we also managed to catch and fix some bugs! 🐜</p><ul><li>Fixed broken links in comments</li><li>Fixed order translations option disabled dropdown</li><li>Fixed hidden characters toggle behavior</li><li>Fix file approve batch action throwing an error</li></ul><h2 id="share-our-content-and-earn-with-the-localazy-affiliate-program">💸 Share our content and earn with the Localazy Affiliate Program! <a class="markdownit-header-anchor" href="#share-our-content-and-earn-with-the-localazy-affiliate-program">🔗</a></h2><p>We hope that we bring you valuable content that helps you make better decisions and find the right solutions. And if you agree and find our content interesting, feel free to share it with your peers. You might have also already heard about our <a href="/term/affiliate-program">Affiliate Program</a> or visited the <a href="https://localazy.com/my/community">community center</a> inside the Localazy platform. </p><p>By using your personal Affiliate link for the content you share, you can earn a nice commission from each plan sale you bring us! You can see the latest featured articles suggested for sharing in the community section, and from now on, you might also stumble upon a new banner while browsing through our blog when logged in. So keep an eye out and return every week for new content. Thank you for your help. 🥰 </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image-13.png" class="kg-image" alt loading="lazy" width="1252" height="1274" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-13.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-13.png 1252w" sizes="(min-width: 720px) 720px"><figcaption>Share Localazy content and earn with our affiliate program</figcaption></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We hope you like the latest changes. As a Localazy user, you can help us improve the platform even further! Let us know what you think, and feel free to reach out via the support chat or discuss the new update in the comments below!</p><p></p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/05/Release-update-filter-quick-edit.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to localize your React app with react-i18next and Localazy]]></title>
            <link>https://localazy.com/blog/how-to-localize-react-app-with-react-i18next-and-localazy</link>
            <guid isPermaLink="false">how-to-localize-react-app-with-react-i18next-and-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:34:23 GMT</pubDate>
            <description><![CDATA[Localization is hardly anyone's favorite part of development. This article will show you a quick and seamless way to integrate localization without slowing down development. We'll use Localazy and react-i18next.]]></description>
            <content:encoded><![CDATA[<p>Localazy is an automated <a href="/dictionary/translation-management-system-tms"><strong>translation management platform</strong></a> that supports a wide variety of frameworks and an even wider range of formats through its <a href="/integrations">integrations</a>. </p><p>And as I’ll show shortly, it works seamlessly with <a href="https://react.i18next.com/"><strong>react-i18next</strong></a>. Thanks to that, managing translation strings, even in open-source projects where anybody can contribute, is a piece of cake 🍰.</p><h2 id="tldr">🙄 tl;dr <a class="markdownit-header-anchor" href="#tldr">🔗</a></h2><ul><li>Sign up for <a href="https://localazy.com/register">Localazy</a>,</li><li>create a new project with English as the source language,</li><li>select the <em><a href="/react">React</a></em> integration option and install Localazy <a href="https://localazy.com/docs/cli/installation">CLI</a>,</li><li>install and configure <a href="https://react.i18next.com/">react-18next</a>,</li><li>create <code>localazy.json</code> in root and paste in and modify the <a href="https://localazy.com/docs/cli/quick-start-json">configuration</a>,</li><li>create <code>locales</code> folder and in it, create <code>en.json</code>. Add any translation key-value pair,</li><li>run <code>localazy upload</code>,</li><li>in Localazy, add any language. Then review it and accept the suggested phrases,</li><li>run <code>localazy download</code> and check the locales folder for the new locale,</li><li>and finally, run the app <code>npm run start</code>.</li></ul><h2 id="sign-up-for-free">🚀 Sign up for free <a class="markdownit-header-anchor" href="#sign-up-for-free">🔗</a></h2><p>First of all, let’s <a href="https://localazy.com/register">set up a new account</a> on Localazy and create a new application. In this article, we’ll use English as the source language, but you can generally choose any other. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/image.png" class="kg-image" alt loading="lazy" width="971" height="976" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/image.png 600w, https://ghost.localazy.com/content/images/2024/05/image.png 971w" sizes="(min-width: 720px) 720px"></figure><p>Select <em>React</em> on the integration screen. You can simply drop your files into the file upload zone, but it is much better to use the powerful CLI tool to automate the upload and download of strings and translations. <a href="https://localazy.com/docs/cli/installation">Installation</a> is available for Linux, MacOS, and Windows. </p><blockquote>👍 Learn how to use the <a href="https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow">Localazy CLI like a pro in the ultimate guide</a>.</blockquote><h2 id="set-up-your-react-app">⚙️ Set up your React app <a class="markdownit-header-anchor" href="#set-up-your-react-app">🔗</a></h2><p>If you don’t want to follow the step-by-step guide here, you can take a look at the <a href="https://github.com/localazy/react-i18next-example">finished repo</a>. Otherwise, stay a while and listen.</p><p>Create a new React project with <code>npx create-react-app react-i18next-example</code>. Once everything is installed, add <em>react-i18next</em>.</p><pre><code class="language-bash">npm install react-i18next i18next --save
</code></pre><p>Now it’s time to add the integration with Localazy. Create <code>localazy.json</code> in the root folder and paste the following configuration. Use the write and read keys from the example config on the integration guide page.</p><pre><code class="language-json">{
    "writeKey": "your-write-key",
    "readKey": "your-read-key",

    "upload": {  
      "type": "json",
      "files": "src/assets/locales/en.json"         
    },
    
    "download": {
      "files": "src/assets/locales/${lang}.json"
    }
}
</code></pre><p>Additionally, create the <code>src/assets/locales</code> folder and the <code>en.json</code> file inside. Since we’ve set English to be the source language, this file will contain the source phrases for our application. You can fill in any key-value pair you like. I’ll add this:</p><pre><code class="language-json">{
    "translation": {
        "hello": "Hello, my friend",
        "stay_awhile_and_listen": "Stay awhile and listen"
    }
}
</code></pre><p>At this point, the application is ready to have localization managed by Localazy. Before we upload the first bunch of strings, let’s prepare a test scenario with react-18next to get it off our plates.</p><p>First, create <code>i18n.js</code> in the <code>src</code> folder.</p><pre><code class="language-javascript">import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';

import en from "./assets/locales/en.json"

const resources = {
    en
}

i18n
  .use(initReactI18next)
  .init({
    resources,
    lng: "en",
    interpolation: {
      escapeValue: false
    }
  });


export default i18n;
</code></pre><p>Then modify <code>index.js</code>.</p><pre><code class="language-javascript">import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import "./i18n"
import App from './App';
import reportWebVitals from './reportWebVitals';

ReactDOM.render(
  &lt;React.StrictMode&gt;
    &lt;App /&gt;
  &lt;/React.StrictMode&gt;,
  document.getElementById('root')
);
</code></pre><p>And then <code>App.js</code>.</p><pre><code class="language-react">import { useTranslation } from 'react-i18next';

function App() {
  const { t } = useTranslation();
  return (
    &lt;div className="App"&gt;
        &lt;h1&gt;{t('hello')}&lt;/h1&gt;
        &lt;h2&gt;{t('stay_awhile_and_listen')}&lt;/h2&gt;
    &lt;/div&gt;
  );
}

export default App;
</code></pre><p>When you run <code>npm run start</code>, you should see the two English phrases. Nothing fancy so far.</p><h2 id="using-localazy">🚩 Using Localazy <a class="markdownit-header-anchor" href="#using-localazy">🔗</a></h2><h3 id="upload-your-strings">Upload your strings <a class="markdownit-header-anchor" href="#upload-your-strings">🔗</a></h3><p>Let’s upload the English file to Localazy. From the root folder, run the following command:</p><pre><code class="language-bash">localazy upload -s
</code></pre><p>The <code>-s</code> argument stands for simulate. It is a good practice to test out the configuration without uploading anything to ensure that nothing unexpected happens (such as some of the key-value pairs being incorrectly matched and overriding each other). The output should be something along these lines, depending on the CLI version.</p><pre><code class="language-gradle">Localazy CLI, v1.1.9
Advanced file uploader/downloader for the Localazy translation platform.

Read more information at https://localazy.com/docs/cli

Uploading...
  - deprecate missing: false
  - import as new: false
  - app version: 0
  - groups: (default only)
  - folder: .

Processing files...

./src/assets/locales/en.json
  (file=file.json, lang=inherited, type=json)

Verifying...

Validating...

Done.
</code></pre><p>Everything worked out well, and our English file was matched. This time, let’s upload it for real.</p><pre><code class="language-bash">localazy upload
</code></pre><p>Refresh your Localazy dashboard, and you should see the English language on the list. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/image-2.png" class="kg-image" alt loading="lazy" width="2000" height="659" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/image-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2024/05/image-2.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2024/05/image-2.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="add-new-languages-and-translate">Add new languages and translate <a class="markdownit-header-anchor" href="#add-new-languages-and-translate">🔗</a></h3><p>Click the <em>Add Languages</em> button and add your languages to translate. If you check the "<em>Pre-translate selected languages with Machine Translations</em>" checkbox, you will be able to translate the strings immediately using one of the available MT engines, saving precious time. I am going to add Spanish as an example.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2024/05/image-3.png" class="kg-image" alt loading="lazy" width="1266" height="526" srcset="https://ghost.localazy.com/content/images/size/w600/2024/05/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/05/image-3.png 1000w, https://ghost.localazy.com/content/images/2024/05/image-3.png 1266w" sizes="(min-width: 720px) 720px"></figure><blockquote>🌟 Learn how to <a href="https://localazy.com/blog/automated-workflows-series-translate-content-immediately-after-uploading-with-mt">automate machine translations with each upload</a></blockquote><p>Generally, Localazy offers three approaches to choose from and blend to translate your project:</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors - </strong>You can <a href="https://localazy.com/docs/general/translating-strings">start translating on your own</a> and use our built-in suggestion system.</li><li>🦾 <strong>Translate everything in bulk via machine translation - </strong>You can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate">running a machine translation over the content</a>. This is great for the first iteration and localization testing of your React project.</li><li>🚩 <strong>Fully automate the translation process with the <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization</a> services</strong> - Once your Localazy integration is set up, you can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to check the progress.</li></ol><blockquote>🧑‍💼🙋‍♀️ Learn more about <a href="https://localazy.com/blog/guide-localazy-translation-services">Localazy's Professional Translation services</a></blockquote><h3 id="download-the-translations">Download the translations <a class="markdownit-header-anchor" href="#download-the-translations">🔗</a></h3><p>It’s time to go back to the React project.</p><pre><code class="language-bash">localazy download
</code></pre><p>With this command, you’ll download all the translated languages. In the <em>locales</em> folder, we can see there is a new file called <code>es.json</code>.</p><p>The last thing to be done is to update <code>i18n.js</code>, add the Spanish locale resource file, and switch the app’s language.</p><pre><code class="language-javascript">import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';

import en from "./assets/locales/en.json"
import es from "./assets/locales/es.json"

const resources = {
    en,
    es
}

i18n
  .use(initReactI18next)
  .init({
    resources,
    lng: "es",
    interpolation: {
      escapeValue: false, // not needed for react as it escapes by default
    }
  });


export default i18n;
</code></pre><p>Now when you run the app again, you’ll see that the phrases were correctly translated to Spanish.</p><h2 id="closing-words">✔️ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>That's all for now! I hope you’ve enjoyed this short intro to Localazy with react-i18next. Check out the related articles, and feel free to ask your questions in the comments.</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/05/react-i18next--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to use Localazy CLI to streamline your localization workflow]]></title>
            <link>https://localazy.com/blog/how-to-use-localazy-cli-to-streamline-your-localization-workflow</link>
            <guid isPermaLink="false">how-to-use-localazy-cli-to-streamline-your-localization-workflow</guid>
            <pubDate>Thu, 16 Apr 2026 14:20:43 GMT</pubDate>
            <description><![CDATA[Discover the possibilities of the most advanced and developer-friendly CLI for software translation management & automation. Learn everything you need to know about Localazy CLI in this ultimate guide! ]]></description>
            <content:encoded><![CDATA[<h2 id="what-is-localazy-cli">❓ What is Localazy CLI? <a class="markdownit-header-anchor" href="#what-is-localazy-cli">🔗</a></h2><p>The <a href="/features/cli">Localazy CLI</a> is a command-line interface for uploading files to the Localazy platform and downloading translations back into your project, allowing for various automatizations and advanced manipulation of the data you upload and download.</p><p>It is easy to integrate into any build chain or <a href="/dictionary/continuous-integration">CI/CD</a> system (e.g., <a href="/tags/github">GitHub Actions</a>), and it supports complex projects with multiple modules, libraries, and products. CLI can also help you handle uploading existing translations in case of migration from other solutions.</p><h2 id="installation">👩‍💻 Installation  <a class="markdownit-header-anchor" href="#installation">🔗</a></h2><p>The first step is to download and install the Localazy CLI. Depending on the requirements of your system and the preferences of the project, the Localazy CLI offers multiple installation options to choose from. </p><blockquote>Learn more about <a href="/docs/cli/installation">CLI: Installation</a></blockquote><p>The Localazy CLI can be installed on multiple platforms as a native application (including Windows, Linux, and macOS), a Java JAR, an npm package, and a Docker image. In this guide, the Localazy CLI will be installed from the npm repository:</p><figure class="kg-card kg-code-card"><pre><code>npm install -g @localazy/cli</code></pre><figcaption>Localazy CLI Installation</figcaption></figure><p>The typical <a href="https://localazy.com/docs/cli/command-line-options">Localazy CLI usage pattern</a> across all platforms is as follows:</p><figure class="kg-card kg-code-card"><pre><code>localazy [command] [common options] [groups] </code></pre><figcaption>Localazy CLI command options</figcaption></figure><p>This article will cover the most important command options available in the Localazy command line interface.</p><h2 id="configuration">🕹️ Configuration <a class="markdownit-header-anchor" href="#configuration">🔗</a></h2><p>To demonstrate the options of the Localazy CLI, we will use the Localazy features to translate a simple React web page. The code for the front end can be found in this <a href="https://github.com/Marienoir/Localazy-Blog/tree/main/localazy-cli">repository</a>. </p><h3 id="simple-upload-configuration-for-json">Simple upload configuration for JSON <a class="markdownit-header-anchor" href="#simple-upload-configuration-for-json">🔗</a></h3><p>In order to use the CLI commands with our Localazy project, we must authorize our access to the project using the <strong>writeKey</strong> and <strong>readKey</strong> in our configuration.</p><p>Create a new project from your <a href="https://localazy.com/my/dashboard">Dashboard</a> or obtain the keys for your project by navigating to <em>Project - Settings - Access keys</em> in the menu.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-14.png" class="kg-image" alt loading="lazy" width="1600" height="722" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-14.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-14.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>In your application's root directory, create a configuration script named <strong>localazy.json</strong> that instructs the CLI tool on which files to upload and how to handle downloaded translations. Add the following snippets of code:</p><pre><code>{
 "writeKey": "app-write-key",
 "readKey": "app-read-key",


 "upload": {
   "type": "json",
   "files": "public/locales/en/translation.json"
 },


 "download": {
   "files": "public/locales/cs/translation.json"
 }
}
</code></pre><p>The above JSON file contains a <strong>writeKey</strong> and a <strong>readKey</strong> you can find in the settings mentioned above. The upload command configuration then includes the <code>type</code> filed, which specifies that the file to be uploaded is a JSON file, and the <code>files</code> field, which contains the path directory of the translation file.</p><p>It can also specify how to collect files for uploading to the Localazy platform and, optionally, what metadata to include.</p><p>In the <strong>public/locales/en</strong> folder is a translation file containing text to be translated. Execute the following command at the terminal:</p><figure class="kg-card kg-code-card"><pre><code>localazy upload</code></pre><figcaption>Localazy upload command</figcaption></figure><blockquote>Learn more about <a href="/docs/cli/upload-reference">CLI: Upload Reference</a></blockquote><h3 id="translate-your-strings-with-localazy">Translate your strings with Localazy <a class="markdownit-header-anchor" href="#translate-your-strings-with-localazy">🔗</a></h3><p>Navigate to the Translations tab and click on the <em>Source language </em>row. The content from your uploaded JSON should appear in the source language table.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-15.png" class="kg-image" alt loading="lazy" width="1600" height="892" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-15.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-15.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Now, add a new language from the <em>Translations </em>page so you can translate the content using Localazy. Let's say we want to offer 🇨🇿 <strong>Czech (cs)</strong> as a language option on this web page. Once the language has been added, you can <a href="/docs/general/translating-strings">begin translating your strings</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-16.png" class="kg-image" alt loading="lazy" width="1325" height="245" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-16.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-16.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-16.png 1325w" sizes="(min-width: 720px) 720px"></figure><p>Localazy offers three methods from which to choose and combine for your project's translation:</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors</strong> - You can <a href="https://localazy.com/docs/general/translating-strings">start translating on your own</a> and use our built-in suggestion system.</li><li>🦾 <strong>Translate everything in bulk via machine translation</strong> - With the Localazy <a href="https://localazy.com/tiers/autopilot">Autopilot plan</a>, you can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate">running a machine translation over the content</a>. This is great for the first iteration and localization testing of any project.</li><li>🚩 <strong>Fully automate the translation process with the <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization</a> services</strong> - Once your Localazy integration is set up, you can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to check the progress.</li></ol><p>Once you translate everything, you can view the translations by clicking on the name of the language in the <em>Translations</em> view.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/05/image-17.png" class="kg-image" alt loading="lazy" width="1600" height="914" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-17.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-17.png 1600w" sizes="(min-width: 720px) 720px"></figure><blockquote>Learn more about <a href="https://localazy.com/docs/general/translating-strings">translating strings in Localazy</a></blockquote><h3 id="download-translations-using-the-cli">Download translations using the CLI <a class="markdownit-header-anchor" href="#download-translations-using-the-cli">🔗</a></h3><p>To download the translations, you can now use the download command. Execute the following command at the terminal:</p><figure class="kg-card kg-code-card"><pre><code>localazy download</code></pre><figcaption>Localazy download command</figcaption></figure><p>The download code snippets can be found within the localazy.json file, just below the upload object.</p><p>The download object specifies where the translated files should be saved. The translated file translation.json would be saved in the <strong>public/locales/cs</strong> folder in our example.</p><figure class="kg-card kg-code-card"><pre><code class="language-json">{
 "about": "Jsem vývojář back-end se sídlem v Lagosu, Nigérie. Jsem softwarový inženýr zaměřený na výsledky věnovaný tvorbě, udržování, testování, a ladění komponent a funkcí na straně serveru. To zahrnuje základní aplikační logiku, databáze, integraci dat a aplikací, API a další procesy probíhající v zákulisí aplikace nebo systému front-end. Zajímám se také o využití analytických dovedností a silnou pozornost věnovanou detailům s cílem poskytovat originální a efektivní webová řešení a zajistit pozitivní uživatelský zážitek. Baví mě psaní a čtení knih. ",
 "address": "732 Duffield Street, Nicut, Havaj, 8781",
 "age": 37,
 "company": "MARTGO",
 "email": "vickywest@martgo.com",
 "eyeColor": "Hnědá",
 "gender": "Ženský",
 "name": "Mary Okosun"
}
</code></pre><figcaption>Translated JSON file</figcaption></figure><p>The react package <strong>react-i18next</strong> will be used to handle changes to translated languages. You can now switch between languages in the web page's user interface and see the page's content adapt based on the language you choose.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/04/Screenshot-2023-04-16-at-9.34.53-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1146" srcset="https://ghost.localazy.com/content/images/size/w600/2023/04/Screenshot-2023-04-16-at-9.34.53-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/04/Screenshot-2023-04-16-at-9.34.53-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/04/Screenshot-2023-04-16-at-9.34.53-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/04/Screenshot-2023-04-16-at-9.34.53-PM.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>The English translation for the example React application</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/04/Screenshot-2023-04-16-at-9.35.05-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1144" srcset="https://ghost.localazy.com/content/images/size/w600/2023/04/Screenshot-2023-04-16-at-9.35.05-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/04/Screenshot-2023-04-16-at-9.35.05-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/04/Screenshot-2023-04-16-at-9.35.05-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/04/Screenshot-2023-04-16-at-9.35.05-PM.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>The Czech translation for our simple React application</figcaption></figure><blockquote>Learn more about <a href="/docs/cli/download-reference">CLI: Download Reference</a></blockquote><h3 id="upload-existing-translations">Upload existing translations <a class="markdownit-header-anchor" href="#upload-existing-translations">🔗</a></h3><p>When making changes to your translations, it's recommended to only modify and upload the source language and use the Localazy platform to manage the rest. But, in some instances, like migration from other tools, we might want to upload files that have already been translated elsewhere. </p><p>The first step is to specify the file's language. The source language file should then be separated from the translated files. The best practice is to upload the source language and other translations separately using groups.</p><pre><code>{
 
  "upload": {
    "files": [
      {
        "pattern": "src/resources/localization/strings_en.json",
        "lang": "inherited"
      },
      {
        "group": "existing",
        "pattern": "src/resources/localization/strings_*.json",
        "excludes": ["src/resources/localization/strings_en.json"],
        "lang": "${autodetectLang}"
      }   
    ]
 
  }
}</code></pre><p>The above code snippets define two groups. The first group uploads the <strong>strings_en.json</strong> source file, while the second group, named <strong>existing</strong>, uploads everything besides the source language.</p><p>Invoke <code>localazy upload existing</code> to upload all existing translations and then simply use <code>localazy upload</code> to upload changes to the source language.</p><blockquote>Learn more about <a href="https://localazy.com/docs/cli/existing-translations">Uploading Existing Translations with Localazy CLI</a></blockquote><h2 id="advanced-configurations">🚀 Advanced configurations <a class="markdownit-header-anchor" href="#advanced-configurations">🔗</a></h2><p>The Localazy CLI offers many advanced options to further customize your workflow and adapt the features to your project.</p><h3 id="variables">Variables <a class="markdownit-header-anchor" href="#variables">🔗</a></h3><p>Variables can be used to construct output paths for translated files and to send data along with files for conditions or transformations to the server. Variables are always referenced with <strong>$variable_name</strong>. Only letters and the underscore character are permitted in variable names. It is important to note that a variable's value is always a string.</p><p>There are a few variables that primarily serve major functions, such as the <strong>upload variables</strong> and the <strong>download variables</strong>.</p><h4 id="upload-variables-are-accessible-when-the-localazy-cli-is-collecting-files-for-server-upload">Upload variables are accessible when the Localazy CLI is collecting files for server upload.</h4><p>Examples of upload variables include the following:</p><p><code>$file</code> - This is the filename without the path of the translated file, such as <strong>translation.json</strong>.</p><p><code>$path</code> - This is the path to the translated file without the file name, for example, <strong>public/locales/en</strong>.</p><p><code>$fullPath</code> - This is the full path to the translated file, including the file name, for example, <strong>public/locales/en/translation.json</strong>.</p><h4 id="download-variables-become-available-when-the-localazy-cli-is-processing-downloaded-translated-files">Download variables become available when the Localazy CLI is processing downloaded translated files. </h4><p>It is important to upload accurate metadata, as the majority of download variables are those that were previously sent during file uploading.</p><p>Examples of the download variables include:</p><p><code>${fileExt}</code>  - This is the file extension, e.g., <strong>json</strong></p><p><code>$languageCode</code> - This is the language code for the translated file, such as <strong>cs</strong>.</p><p><code>$fullPath</code> - This is the full path to the translated file, including the file name, for example, <strong>public/locales/en/translation.json</strong>.</p><blockquote>Learn more about <a href="https://localazy.com/docs/cli/variables">using variables in your CLI configurations</a></blockquote><h3 id="transformations">Transformations <a class="markdownit-header-anchor" href="#transformations">🔗</a></h3><p>Transformations enable the processing of input variables and the inference of new variables. This is very beneficial for automating the workflow. For example, a language code can be obtained from a file's name or path.</p><p>In the following code snippets, a new variable called <code>path_lang</code> is created from the source string <code>$path</code> using a couple of operations. These operations are performed in a specific order, with the subsequent operation being performed on the result of the previous one.</p><pre><code>//localazy.json
{
  "transformations": [
    
    {
        "name": "path_lang",
        "source": "${path}",
        "operations": [
          "substringAfter: ./",
          "substringBefore: /",
          "remove: translation-"
        ]
    }
 
  ]
}</code></pre><p>Using the code snippets above, for example, if the path is <strong>./translation-cs/test</strong> and the language is required for an upload command, the language can be retrieved from the path.  </p><ul><li>The operation <code>substringAfter:./</code> returns the substring after the first occurrence of the string specified as a parameter, resulting in <strong>translation-cs/test</strong>.<strong> </strong></li><li>The operation <code>substringBefore: /</code> returns the substring that comes before the first occurrence of the string given as a parameter, which gives <strong>translation-cs</strong>. </li><li>The operation <code>remove: translation-</code> deletes all occurrences of the string given as a parameter, returning <code>cs</code>, which is then assigned to the variable <code>path_lang</code>. </li></ul><p>This variable can be used in the upload/download section in the future.</p><blockquote>There are <a href="https://localazy.com/docs/cli/transformations#operations">several other operations available</a>, which are detailed in the docs.</blockquote><h3 id="excluding-keys">Excluding Keys <a class="markdownit-header-anchor" href="#excluding-keys">🔗</a></h3><p>During upload and format conversion, keys can be included or excluded. For file uploads, it is possible to filter out sensitive or unwanted strings, and it is defined directly in the <a href="https://localazy.com/docs/cli/upload-reference">upload section</a>. </p><p>For <a href="https://localazy.com/docs/cli/format-conversions">format conversion</a>, it is possible to filter out strings that do not need to be included in the converted file (e.g., platform-specific texts), and it is defined separately for each action. Strings are always filtered according to their keys' rules.</p><p>These filtering rules can be specified using <strong>keySeparator</strong>, <strong>includeKeys</strong>, and <strong>excludeKeys</strong>.</p><p>The <strong>keySeparator</strong> is used to create structured keys for includeKeys and excludeKeys. </p><blockquote>A period (.) is the default value for a keySeparator. </blockquote><p>Each rule for includeKeys and excludeKeys has the format <strong>OPERATION:parameter</strong>.</p><pre><code>{
  "keySeparator": ".",
  "includeKeys": ["MATCH:my_key"],
  "excludeKeys": ["PREFIX:my_key"]    
}</code></pre><p>In the above code snippets, the includeKeys rule is only valid if the key exactly matches <strong>my_key</strong>. During upload or format conversion, all keys with a prefix of <strong>my_key</strong> are excluded.</p><p>If includeKeys is empty or missing, all texts are processed except those excluded by excludeKeys.</p><p>Only explicitly included texts are processed if includeKeys is not empty.</p><p>The rules in excludeKeys are more important than those in includeKeys. That is, if the same text matches a rule in both includeKeys and excludeKeys, it is ignored.</p><blockquote>Find more detailed examples and learn more about <a href="https://localazy.com/docs/cli/excluding-string-keys">Excluding String Keys with Localazy CLI</a></blockquote><h3 id="format-conversions">Format Conversions <a class="markdownit-header-anchor" href="#format-conversions">🔗</a></h3><p>By including a conversion section in your localazy.json file, translated files can be converted between different formats. </p><blockquote>Please note that the <a href="https://localazy.com/docs/general/format-conversions-feature">Format Conversions feature</a> is available only with the <a href="https://localazy.com/tiers/professional">Professional Plan</a> and above.</blockquote><p>Additionally, you can filter content, modify how plurals and string arrays are stored, convert files to multilingual formats, etc. The conversion section functions similarly to the download section, and the same variables can be used. Conversions are processed alongside downloading when localazy download is invoked. If only conversions are required, you may omit the download section from your configuration file. Additionally, groups can be used to separately process downloads and conversions.</p><pre><code>{
	"conversion": {
        "actions": {
          "group": "convert-files",
          "output": "converted/${file}",
          "conditions": "startWith: ios_, ${file}",
          "changeExtension": "json",
          "type": "json-multilingual",
          "pluralType": "plural_icu",
          "forcePluralType": true,
          "filterArray": true
        }
  }
}</code></pre><p>From the snippets above,</p><ul><li><strong>group</strong>: This code is only executed when the <code>localazy download convert-files</code> command is invoked. </li><li><strong>conditions</strong>: It only applies to files whose names begin with ios_.</li><li><strong>type &amp;&amp; output</strong>: The files are converted to multilingual JSON and saved in <code>converted/$file</code>.</li><li><strong>changeExtension</strong>: The extension of such files is changed to json; for example, <strong>ios_menu.xml</strong> is saved as <strong>ios_menu.json</strong>.</li><li><strong>pluralType &amp;&amp; forcePluralType</strong>: All plurals are forced to be in plural_icu format.</li><li><strong>filterArray</strong>: String arrays are all filtered out.</li></ul><blockquote>Learn more about <a href="https://localazy.com/docs/cli/format-conversions">CLI: Format Conversions in the documentation</a>.</blockquote><h2 id="file-formats">🗂️ File Formats <a class="markdownit-header-anchor" href="#file-formats">🔗</a></h2><p>Files scheduled for upload to Localazy can be in a variety of formats. Localazy supports over 25 file formats and their variants. Some of the most commonly used formats are detailed further below. </p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">📎</div><div class="kg-callout-text">See the list of <a href="https://localazy.com/docs/general/supported-file-formats">all supported file formats</a>.</div></div><h3 id="popot">PO/POT <a class="markdownit-header-anchor" href="#popot">🔗</a></h3><p><a href="https://localazy.com/docs/cli/po-format">PO and POT</a> are text-based formats used for localization in a variety of applications, including localization.</p><p>PO is an abbreviation for <strong>Portable Object File</strong>. POT is an abbreviation for <strong>Portable Object Template</strong>. The <a href="https://localazy.com/dictionary/gnu-gettext">gettext library</a> and WordPress CMS, for instance, use PO and POT files to manage multilingual software and websites.</p><p>Localazy allows for the seamless management of PO and POT file translations. An example of a PO file is the following:</p><figure class="kg-card kg-code-card"><pre><code>msgid "This is the original text"
msgstr "The translated content comes here"</code></pre><figcaption>An example of a PO file</figcaption></figure><p>The upload object in the localazy.json file has a <a href="https://localazy.com/docs/cli/upload-reference#upload-configuration">features configuration</a> that can have a <code>use_key_for_content</code>  enabled. This indicates that the msgid should be used as as content when msgstr is empty.</p><pre><code>msgid "Sorry, comments are closed for this item."
msgstr ""</code></pre><pre><code>{
 
  "upload": {
    ...
    "features": ["use_key_for_content"],  
  } 
 
}</code></pre><p>When working with empty translations, there are two options you can use in features in the upload section.</p><ul><li><strong>ignore_blank_content</strong></li></ul><p>Empty translations in the input file are considered valid translations by default. Using an empty translation is a valid case for a variety of reasons. When this option is enabled, translations that are empty are filtered out, and the string is considered untranslated.</p><pre><code>{
 
  "upload": {
    ...
    "features": ["ignore_blank_content"],  
  } 
 
}</code></pre><ul><li><strong>empty_untranslated</strong></li></ul><p>Using <code>empty_untranslated</code> instructs Localazy to render untranslated strings as empty translations. Empty translations in the input file are considered valid translations by default. Using an empty translation is a valid case for a variety of reasons. When this option is enabled, translations that are empty are filtered out, and the string is considered untranslated.</p><pre><code>{
 
  "upload": {
    ...
    "features": ["empty_untranslated"],  
  } 
}</code></pre><p>Localazy can be instructed to generate binary MO files instead of PO files. To enable it, add <code>output_mo</code> to the features section of the upload section.</p><pre><code>{
 
  "upload": {
    ...
    "features": ["output_mo"],  
  } 
 
}</code></pre><p>If you require both PO and MO files, you can use <a href="https://localazy.com/docs/cli/format-conversions">Format Conversions</a> in your localazy.json file. For example:</p><pre><code>{
  "readKey": "---",
  "writeKey": "---",
 
  "upload": {
  "files": "locales/en.po"     
  },
 
  "download": {   
    "files": "my_po_files/${lang}.po"
  },
  
  "conversion": {
    "actions": {
      "type": "mo",
      "output": "my_mo_files/${lang}.mo"
    }
  }
 
}</code></pre><h3 id="xml">XML <a class="markdownit-header-anchor" href="#xml">🔗</a></h3><p>The <a href="https://localazy.com/docs/cli/android-format">Android XML format</a>, including array-lists and plurals, is fully supported. It is simple to upload the source language, and with a number of variables for the download phase, including the pre-formatted Android language <code>$langAndroidRes</code>, it is also simple to store translated files in their proper location.</p><pre><code>{
 
  "writeKey": "app-write-key", 
  "readKey": "app-read-key",
 
  "upload": {
    "type": "android",   
    "files": "src/main/res/values/strings.xml"
  },
 
  "download": {
    "files": "src/main/res/values-${langAndroidRes}/${file}"
  }
 
}</code></pre><p><br>Localazy supports all product flavors and build types. For detecting those from the standard project structure, there are transformations <code>androidBuildType</code> and <code>androidProductFlavors</code>.</p><p>We recommend using the Localazy Gradle plugin for Android app localization because it handles uploads, downloads, and OTA (over-the-air) updates automatically. However, the CLI tool can be executed directly from the Gradle build script. Simply place the CLI binary along with the configuration file localazy.json in the app's module folder and create a task:</p><pre><code>// Create task for running Localazy CLI. 
task downloadTranslations(type: Exec) {
    executable "./localazy"
    args "download", "-q"
} 
 
// Run the Localazy CLI task only for release versions. 
android.applicationVariants.all { variant -&gt;
    if (!variant.buildType.debuggable) {
        variant.preBuildProvider.get().dependsOn(downloadTranslations)
    }
}</code></pre><h3 id="xliff">XLIFF <a class="markdownit-header-anchor" href="#xliff">🔗</a></h3><p>Localazy supports <a href="https://localazy.com/docs/cli/xliff-20-format">XLIFF file formats</a> for translation. This is an example of an XLIFF file: <br></p><pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;xliff xmlns="urn:oasis:names:tc:xliff:document:1.2"       
       version="1.2"&gt;
 
  &lt;file original="Interface.storyboard" source-language="en" target-language="en" datatype="plaintext"&gt;
    &lt;body&gt;
      &lt;trans-unit id="text1" xml:space="preserve"&gt;
        &lt;source&gt;Source Text 1&lt;/source&gt;
        &lt;target&gt;Translated Text 1&lt;/target&gt;
        &lt;note&gt;Comment for the translator.&lt;/note&gt;
      &lt;/trans-unit&gt;
      &lt;trans-unit id="text2" xml:space="preserve"&gt;
        &lt;source&gt;Source Text 2&lt;/source&gt;
        &lt;target&gt;Translated Text 2&lt;/target&gt;
      &lt;/trans-unit&gt;
    &lt;/body&gt;
  &lt;/file&gt;
 
&lt;/xliff&gt;</code></pre><p><strong>file</strong>: The attributes <code>original</code>, <code>source-language</code>, <code>target-language</code>, and <code>datatype</code> are used to obtain and store locale information.</p><p><strong>trans-unit</strong>: The phrase is skipped if the attribute <code>translate</code> is set to <code>false</code> or <code>no</code>.</p><p><strong>group</strong>: If the group element contains <code>id</code>, it is kept, and the stored data is structured accordingly. Without <code>id</code>, the group is just removed.</p><p>The entire group is skipped if the attribute <code>translate</code> is set to <code>false</code>.</p><p>Both source and target strings are processed by default, and the locale is derived from the XLIFF file. You can modify this behavior by adding the features listed in the <a href="https://localazy.com/docs/cli/xliff-20-format#handling-locales">documentation</a>.</p><h2 id="dynamic-configurations">🎛️ Dynamic Configurations <a class="markdownit-header-anchor" href="#dynamic-configurations">🔗</a></h2><p>Dynamic configuration of the upload and download commands can be handled by specifying additional parameters using the <code>-p</code> option in the CLI. </p><p>The default value for passing a dynamic configuration in the CLI  is</p><figure class="kg-card kg-code-card"><pre><code>localazy upload -p ${parameterName|Default value}
localazy download -p ${parameterName|Default value}</code></pre><figcaption>Dynamic configuration</figcaption></figure><p>For example, in the snippets below, we have a download parameter <code>includeSourceLang</code> that determines if the source language should be included during the download of translated files. It accepts an option of <code>includeSourceLang</code> if provided else, it defaults to false.</p><pre><code>{ 
  "download": { 
    "includeSourceLang": "${includeSourceLang|false}" 
  } 
}</code></pre><p>Now, invoking the CLI to include the source language is as simple as passing true as a value for the <code>includeSourceLang</code> key.</p><pre><code>localazy download -p includeSourceLang:true</code></pre><p>A similar approach can be used in the download section to determine where the resulting files should be saved or how to filter them based on specific parameters.</p><p>Using additional parameters like this is similar to using groups in some ways, but you don't need to define the corresponding section ahead of time.</p><blockquote>Learn more about <a href="https://localazy.com/docs/cli/highly-dynamic-configurations">Dynamic Configurations for Localazy CLI</a></blockquote><h2 id="share-your-configuration-with-the-community">🎉 Share your configuration with the community! <a class="markdownit-header-anchor" href="#share-your-configuration-with-the-community">🔗</a></h2><p>If you want to help other Localazy users by sharing your configuration, you can add the community section to your localazy.json file as follows:</p><pre><code>{ 
  "community": { 
    "author": "Your Name", 
    "email": "your@email.com", 
    "company": "Localazy", 
    "website": "https://localazy.com", 
    "tags": ["javascript", "typescript"],
    "description": "Uploading files for javascript." 
  }, 
}</code></pre><p>When the configuration file containing this section is uploaded to Localazy servers, it is submitted for approval to be a part of the upcoming community-sharing portal. In addition, we use these configurations to enhance our documentation and quick-start guides, as well as to implement more efficient automated solutions.</p><p><strong>Note</strong>: Your writeKey and readKey are of no concern. Before the configuration file is shared with the community, they are automatically removed.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>In this article, we learned how to streamline and automate localization workflow using the localazy CLI. We also learned how to perform format conversions, how Localazy supports various file formats, and how to dynamically configure Localazy CLI parameters. </p><p><strong>Are you ready to start playing with the Localazy CLI?</strong><br><a href="/register">Sign up</a> and explore the possibilities of automated localization with Localazy.</p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/05/ultimate-localazy-CLI-guide.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The importance of professional Greek translation services]]></title>
            <link>https://localazy.com/blog/the-importance-of-professional-greek-translation-services</link>
            <guid isPermaLink="false">the-importance-of-professional-greek-translation-services</guid>
            <pubDate>Fri, 04 Apr 2025 18:11:45 GMT</pubDate>
            <description><![CDATA[Learn about the specifics of the Greek language and why Greek translations always need to be done by professional native speakers – just like on our platform!]]></description>
            <content:encoded><![CDATA[<h2 id="some-quick-facts-about-the-greek-language">🏛️ Some quick facts about the Greek language <a class="markdownit-header-anchor" href="#some-quick-facts-about-the-greek-language">🔗</a></h2><p>First off, it is better to start by taking a tour of the history of the Greek language, which is the basis of Modern Greek, but also the basis of <a href="https://hub.localazy.com/en/languages/la-latin">Latin</a> and Latin-based languages as well.</p><h3 id="how-old-is-the-greek-language-and-how-much-has-it-changed">How old is the Greek language, and how much has it changed? <a class="markdownit-header-anchor" href="#how-old-is-the-greek-language-and-how-much-has-it-changed">🔗</a></h3><p>The history of the Greek language is very long – after all, the language forms the foundation for many languages – and begins in the 12th century BC; its first written form comes from the <strong>Homeric Epics</strong>, the "Iliad" and the "Odyssey". </p><p>During the 6th and 5th centuries BC, it takes its final form as "<a href="https://hub.localazy.com/en/languages/grc-ancient-greek">Ancient Greek</a>", through the written texts of Plato, Herodotus, Xenophon, and Thucydides, up to <strong>Aristotle</strong>. In this form (with minimal variations), it was preserved during the Byzantine Empire until the beginning of the 19th century AD. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image-1.png" class="kg-image" alt loading="lazy" width="1125" height="750" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-1.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-1.png 1125w" sizes="(min-width: 720px) 720px"><figcaption>Engraved Greek Letters | Photo by <a href="https://www.pexels.com/@roman-odintsov/">Roman Odintsov</a></figcaption></figure><p>Between the end of the 19th century and the beginning of the 20th AD, it transformed into its current form, known as "<a href="https://hub.localazy.com/en/languages/el-greek">Modern Greek</a>".</p><p>Greek is a <strong>primary language</strong>, meaning that it can and does produce/create other languages. Its structure is mathematical – it is based on the geometric perception of space and follows the method of rationalism, which the Ancient Greeks developed through philosophy and the sciences.</p><p>It is characterized by a clear separation of the 2 sexes and introduces the concept of Neutral (objects, things, etc.).</p><p>It uses 3 main categories – called the 3 declensions – along with their corresponding 3 articles (masculine, feminine, and neuter). It also uses the "Grammatik Cases" (i.e. Nominative, Genitive, etc.) so as to allow each and every word to express the circumstances surrounding the word at the given moment e.g., direct reference, oblique reference, attribute reference, etc.</p><p>Verbs belong to 2 main categories – Active category and Passive category – thus denoting the description of a situation, i.e., direct action towards a third party or indirect action by and towards oneself.</p><h3 id="where-is-greek-spoken">Where is Greek spoken? <a class="markdownit-header-anchor" href="#where-is-greek-spoken">🔗</a></h3><p>Greek is the official language of <a href="https://hub.localazy.com/en/regions/gr-greece">Greece</a>, with a population of about 11 million people, and <a href="https://hub.localazy.com/en/regions/cy-cyprus">Cyprus</a>, with about 600,000 inhabitants.</p><p>It is also the second "official" language for approximately 25 million Greeks (1st, 2nd, and 3rd generation) all over the world, as Greeks and people of Greek origin reside in all countries of the world (primarily concentrated in Australia, Germany, the U.S., Canada, and European countries).</p><p>In a broad sense, the Greek language is also somewhat similar to <a href="https://hub.localazy.com/en/languages/ru-russian">Russian</a>, as the grammatical structure of the Greek language formed the basis of the Russian language (11th - 12th century AD).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image-3.png" class="kg-image" alt loading="lazy" width="478" height="288"><figcaption>Regions where Greek is the official language (dark blue) | By <a href=" https://commons.wikimedia.org/w/index.php?curid=29175065">Fobos92</a></figcaption></figure><h3 id="greek-as-a-multi-levelpolycentric-language">Greek as a multi-level/polycentric language <a class="markdownit-header-anchor" href="#greek-as-a-multi-levelpolycentric-language">🔗</a></h3><p>Understandably, the language used by Greeks or people of Greek descent outside of Greece differs somewhat from the standard Greek used in Greece. Even in Cyprus, there are some differences that appear mainly in spoken language – not so much in writing.</p><p>In the countries where there are Greek schools (Germany, Australia, USA), the teaching and learning of the Greek language is on a satisfactory level and does not differ much from the language used in Greece.</p><p>What makes the task of translating from or to Greek somewhat difficult is the existence of several dialects – using place-names (toponyms) and variations of expressions – and for this reason, <strong>the translator must be Greek and ideally live in Greece</strong>.</p><h3 id="what-language-is-the-closest-to-greek">What language is the closest to Greek? <a class="markdownit-header-anchor" href="#what-language-is-the-closest-to-greek">🔗</a></h3><p>That's a good question. 😊</p><p>Greek is totally different from all other languages. <strong>So the answer is none! </strong></p><p>The Greek language uses a <strong>special alphabet</strong> that is unique worldwide, consisting of 24 letters that do not exist in any other language.</p><blockquote>A typical sample of Greek letters includes "a, b, c, d, ... z, h, i, ... λ, ... ξ, π, ... φ, χ, ψ, ω". The language also uses different punctuation, such as the question mark, which is written as ";", and the "upper dot", which is written as "˙"</blockquote><p>One of the basic components of the Greek language is prepositions. These are monosyllabic and two-syllable words that can be inserted before or after a noun, verb, adjective, and so on to create a new meaning or even a new word entirely.</p><p>The <strong>Greek language has some peculiarities in its grammar, </strong>too, such as:</p><ul><li>the conjugation of verbs, nouns, adjectives, etc., where the ending of the word changes depending on the gender (masculine, feminine, or neuter),</li><li>and the clear division into three genders.</li></ul><h2 id="professional-greek-translation-services">📚 Professional Greek translation services <a class="markdownit-header-anchor" href="#professional-greek-translation-services">🔗</a></h2><p>There is an inexplicable tendency among Greek speakers to translate literally everything. This is, however, a bit of a double-edged sword as most speakers are not forced to learn a foreign language.</p><p>According to Eurostat's latest statistics, <strong>more than 70% of middle-aged and older Greeks living in Greece do not speak any foreign language</strong>, whereas the young population knows English as a second language. </p><p>And though among younger speakers, these numbers are already changing, the work of Greek translation services is essential; this also applies to the minority speech communities, which have a much greater need to nurture the use of their mother tongue.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image-2.png" class="kg-image" alt loading="lazy" width="1125" height="750" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image-2.png 1000w, https://ghost.localazy.com/content/images/2023/05/image-2.png 1125w" sizes="(min-width: 720px) 720px"><figcaption>Athens - the capital of Greece | Photo by <a href="https://www.pexels.com/@jimmy-teoh-294331/">jimmy teoh</a>&nbsp;</figcaption></figure><h3 id="what-makes-a-greek-translation-service-professional">What makes a Greek translation service professional? <a class="markdownit-header-anchor" href="#what-makes-a-greek-translation-service-professional">🔗</a></h3><p>When searching for online Greek translation services, the most important thing is to make sure you are working with native speakers. Greek is quite a unique language – actually is stand-alone between all other languages and is professionally spoken mainly by native or bilingual speakers. </p><p>Of course, that doesn’t mean that just any native speaker can do a proper translation for you – but you should find Greek translation service agencies that work with native translators to provide us with professional services.</p><p>In addition, because of the complexity of the language, proper <a href="/dictionary/machine-translation">machine translation</a> technology has not been developed yet, and in many cases, even professional translation software can be wrong. For example, there are inﬂected word forms in Greek that can have several meanings (some came from Ancient Greek and/or the Byzantine period), and it is difficult to understand the use of the nominative or genitive grammatical forms, whereas in “genitive” a mistake could affect not only the article but also the ending of the word, etc.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/05/image.png" class="kg-image" alt loading="lazy" width="1125" height="750" srcset="https://ghost.localazy.com/content/images/size/w600/2023/05/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/05/image.png 1000w, https://ghost.localazy.com/content/images/2023/05/image.png 1125w" sizes="(min-width: 720px) 720px"><figcaption>Santorini, Greece | Photo by <a href="https://www.pexels.com/@apasaric/">Aleksandar Pasaric</a></figcaption></figure><h3 id="the-most-common-language-pairs">The most common language pairs <a class="markdownit-header-anchor" href="#the-most-common-language-pairs">🔗</a></h3><p>Despite the high cost of manual translations, for the reasons mentioned above, they are essential in order to receive professional services. Naturally, the prices may vary based on language pairs. English–Greek [and vice versa] translation services are the most common and, therefore, the most suitable, but one can easily find professional bilingual translators among the minority speakers as well, especially in combination with the official language of their home country.</p><p>Besides the English-Greek pair, German-Greek and French-Greek translation services are also fairly common.</p><h2 id="greek-localization-with-localazy">🚩 Greek localization with Localazy <a class="markdownit-header-anchor" href="#greek-localization-with-localazy">🔗</a></h2><p>With Localazy, you can effortlessly translate your software projects, websites, and other digital content into multiple languages, including Greek. Our team of professional translators is full of native speakers, ensuring high-quality translations. Just make sure to provide a comprehensive context bank for your texts!</p><blockquote><em><em><strong>Learn how to order translations for your project in</strong></em></em><br><em><em><strong><a href="https://localazy.com/blog/guide-localazy-translation-services">The ultimate guide to Localazy translation services</a>.</strong></em></em></blockquote><p>Translate your projects from <a href="https://localazy.com/translate/en-el">English to Greek</a> comfortably with Localazy now and reach millions of speakers in the southeast of Europe and the Greek diaspora all over the world!</p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/05/localazy-locales-greek.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How localization of tech solutions would broaden Africa's tech ecosystem]]></title>
            <link>https://localazy.com/blog/how-localization-of-tech-solutions-would-broaden-africas-tech-ecosystem</link>
            <guid isPermaLink="false">how-localization-of-tech-solutions-would-broaden-africas-tech-ecosystem</guid>
            <pubDate>Fri, 28 Mar 2025 15:25:11 GMT</pubDate>
            <description><![CDATA[Localization is Africa's most undermined and underexplored business revolutionary measure—thousands of tech startups that find eventual death do so because they follow a one-size-fits-all approach to purvey their services across various markets in the continent.]]></description>
            <content:encoded><![CDATA[<p>In today's Africa, fast-selling stories and solutions sell as quickly as they do when the target market is locally sensitized. The Health, Educational, and Public sectors attest to this and the limitations that arise when information is not local.</p><p>For example, <strong>in <a href="https://hub.localazy.com/en/regions/ng-nigeria">Nigeria</a> alone where there are over 300 ethnic groups and more than 500 languages</strong>, one of its key weapons against the HIV disease and its stigmatization was localized sensitization.</p><p>It used local healthcare workers and community leaders to reach out to people in their communities and address concerns about the disease directly while providing information about the virus's contagion, spread, and treatment in various languages.</p><p>This hastened the awareness spread and more people came for testing and treatment. According to <a href="https://data.theglobalfund.org/location/NGA/overview"><u>Global Fund research</u></a>, 90% of Nigerians living with HIV now know their status and 98% of people with HIV-positive status are on medication.</p><h2 id="localization-success-stories-from-africa">🚀 Localization success stories from Africa <a class="markdownit-header-anchor" href="#localization-success-stories-from-africa">🔗</a></h2><p>Africa is multi-culturally enriched and arguably the most ethnically diverse continent there is. Unlike Europe which has about 160 ethnicities, Africa has <a href="https://www.britannica.com/place/Africa/People"><u>thousands</u></a>. This would normally cause communication barriers and slow down the success of marketing campaigns—<strong>using a European market's playbook may be considered self-sabotage.</strong></p><p>But some companies have tried and excelled.</p><p>One payment institution that read well into Africa's diversity was <a href="https://en.wikipedia.org/wiki/FTX">FTX</a>. Before <a href="https://www.investopedia.com/what-went-wrong-with-ftx-6828447">its crash</a>, FTX did well to hire a marketing director for its African market in 2021, and in just 2 years, it had garnered over <a href="https://techcrunch.com/2022/11/21/ftx-processed-billions-monthly-in-africa-before-going-bust/?guccounter=1&amp;guce_referrer=aHR0cHM6Ly9ibG9ja2J1aWxkLmFmcmljYS8&amp;guce_referrer_sig=AQAAAL87cdc0a4N_YuXGl81-kH0BYrOiVtFVEU1VVES8Lv7dZxS7HVIuKQYCB649WXwZBya-oWkEB5bONmTQaoMFOG3WrgPT1IF5La8Z5kh3igJRwik8sAWeyEy_GUyZrX357LXRLNKJJjRvmt4FjBJJGmBwaBTTuethmvHWwA1mSyqX"><u>100,000</u></a> users. </p><p>Sam Bankman-Fried understood the peculiarities of the African crypto market, its weak points, and how it was largely underexplored, then hired an African who shared his ideas to help him execute them. Out of the $3B owed to creditors, <a href="https://www.wsj.com/articles/in-africa-ftx-posed-as-haven-from-tumbling-currencies-inflation-11674027751?utm_campaign=later-linkinbio-wsj&amp;utm_content=later-32484102&amp;utm_medium=social&amp;utm_source=linkin.bio"><u>$500M</u></a> belongs to Sub-saharan African investors.</p><p>According to <a href="https://www.google.com/amp/s/www.worldatlas.com/amp/articles/english-speaking-countries-in-africa.html"><u>World Atlas</u></a>, <strong>less than 5% of Africans speak English as their first language and only about 47% speak it as a second language</strong>. As language is a largely crucial part of an African's cultural identity, these statistics alone demonstrate how much linguistic and cultural peculiarities technologists have to consider while designing products that are suitable to the context of the markets they intend to serve, but fail to.</p><p><a href="https://www.vodafone.com/about-vodafone/what-we-do/consumer-products-and-services/m-pesa">M-Pesa</a> prioritized these attributes and is today's leading Fintech. They built a product that could reach every remote village in <a href="https://hub.localazy.com/en/regions/ke-kenya">Kenya</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/04/image-15.png" class="kg-image" alt loading="lazy" width="960" height="540" srcset="https://ghost.localazy.com/content/images/size/w600/2023/04/image-15.png 600w, https://ghost.localazy.com/content/images/2023/04/image-15.png 960w" sizes="(min-width: 720px) 720px"><figcaption>M-Pesa logo</figcaption></figure><p>Firstly, it was developed with a user interface in <a href="https://hub.localazy.com/en/languages/sw-swahili">Swahili</a>, the most widely spoken language in Kenya. Secondly, its design is easily accessible to the unbanked and uneducated demographic and works on any phone. </p><p>Thirdly, it uses local indigenes as agents who are responsible for handling deposits and withdrawals. This ensures that its network of agents are folks who users can easily trust. Its success in Kenya is the reason for its widespread adoption in countries like Tanzania, Mozambique, and Egypt.</p><h2 id="why-we-need-more-language-diversity">🚩 Why we need more language diversity <a class="markdownit-header-anchor" href="#why-we-need-more-language-diversity">🔗</a></h2><p>In a recent <a href="https://csa-research.com/Blogs-Events/CSA-in-the-Media/Press-Releases/Consumers-Prefer-their-Own-Language"><u>CSA Research</u></a>, out of 8709 surveyed buyers across 29 Anglophone countries, 76% of consumers say they're more likely to purchase a product if it's in their language. 40% of them would never buy at English-language-only sites. This is up from 30% in a past survey. The figures all increased from the results of the Can't Read, Won't Buy: 2014 report.</p><blockquote>You can find more about the importance of localization in <a href="/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">our previous "mythbusters" article</a>.</blockquote><p>It was ascertained that product information in an indigenous language defines a consumer's perception of the product and it's easier for them to understand and connect with.</p><p>The study also revealed that in Africa, companies used more colonial languages (English and French) to sell their products instead of local languages. But <u><a href="https://www.worldatlas.com/articles/english-speaking-countries-in-africa.html">many</a></u> of Africa’s technologically excluded and underserved populations have little or no formal education in their country’s official languages. </p><p>So it is easier to avoid or disregard these products as no one wants to spend their money testing the waters. <strong>If they can't read, they won't buy</strong>. These groups are also continuously left out of modern developments.</p><p>For 76-year-old Raskiya Bala, it was an extremely strenuous task to ask her granddaughter for help every time she wanted to make a phone call. Save for the fact that phone calls were actual lifesavers then, Raskiya would not have owned a phone. The <a href="https://hub.localazy.com/en/languages/ha-hausa">Hausa</a> native and Non-English speaker had to wait for her phone and service provider's features to be translated before she could access them.</p><p>“My grandma had to depend on us to translate her phone language and SIM card to Hausa to be able to use it,” her granddaughter, Asher tells Localazy. “Some of her friends had to travel to the service provider offices first.”</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/04/image-16.png" class="kg-image" alt loading="lazy" width="960" height="540" srcset="https://ghost.localazy.com/content/images/size/w600/2023/04/image-16.png 600w, https://ghost.localazy.com/content/images/2023/04/image-16.png 960w" sizes="(min-width: 720px) 720px"><figcaption>MTN Homepage | <a href="https://www.mtn.com/">Source</a></figcaption></figure><p>In 2012 though, after MTN, a South-African-owned Telecommunications company started to offer its services in Hausa, Raskiya easily switched and could seamlessly make calls without worrying about translations.</p><p>“There is a longstanding assumption that enough people feel comfortable using English online, especially when buying high-tech or expensive products,” Dr. Donald A. DePalma, CSA Research’s Chief Research Officer says in the CSA Research.</p><p>“Our 2020 findings show that <strong>if a company chooses to not localize the buying experience they risk losing 40% or more of the total addressable market</strong>—the consumers that prefer selecting and buying products at local-language sites. While they may want the products or experiences on the English-language site, most would rather think, act, and buy in their language.”</p><p>Scientific knowledge in the educational system of most African countries also remains primarily available in English and is seldom translated into local languages. This has created a significant barrier to accessing crucial information that could help address issues commonly faced by individuals residing in affected communities.</p><h2 id="sometimes-its-not-just-about-language">🤷‍♂️ Sometimes, it's not just about language <a class="markdownit-header-anchor" href="#sometimes-its-not-just-about-language">🔗</a></h2><p>Language and multi-cultural barriers are often localization's biggest problems, but prioritizing the impact of local and socio-cultural issues on their products may pose as much threat.</p><p>The belief that effective communication is all that is needed is a pervasive localization problem facing global brands. Some brands believe that knowing the grammar rules that guide indigenous languages is enough to ensure successful localization strategies.</p><p>But no, this is untrue.</p><p>Alphabet's inspiring project, Loon, was the next big thing designed to cater to the ‘next billion’ who were in technologically disadvantaged areas in Africa, <a href="https://techcrunch.com/2021/01/21/google-alphabet-is-shutting-down-loon-internet">but it didn't take off</a>. The reason behind its shutdown was Alphabet's <strong>failure to acknowledge the impact of socioeconomic barriers on internet accessibility</strong>. The absence of cell towers was not the only obstacle to providing internet access to people. Issues like illiteracy, expensive data and handsets, and discrimination also played a significant role in limiting people's access to the internet.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/04/image-17.png" class="kg-image" alt loading="lazy" width="1065" height="588" srcset="https://ghost.localazy.com/content/images/size/w600/2023/04/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/04/image-17.png 1000w, https://ghost.localazy.com/content/images/2023/04/image-17.png 1065w" sizes="(min-width: 720px) 720px"><figcaption>The Verge: Alphabet is shutting down Loon, its internet balloon company | <a href="https://www.theverge.com/2021/1/21/22243484/alphabet-google-shutting-down-loon-internet-balloon-company-x">Source</a></figcaption></figure><p>Another potential issue is <strong>the limitations cultural norms in a region can face</strong>.</p><p>Let's take the global brand, IKEA, for example. The company, known for its gender equality which espouses the rights of women as equals to men, failed at breaking into the Saudi Arabian market which had restrictive attitudes toward women.</p><p>Although it is now more relaxed, they are still extensively traditional compared to other countries. Hence, IKEA had to do something it had never done – remove images of women in its product catalogs.</p><p>This could potentially be seen as regressive, but that was what it took to be embraced in the country.</p><h2 id="what-can-be-done">🌍 What can be done? <a class="markdownit-header-anchor" href="#what-can-be-done">🔗</a></h2><p>For companies to be local to their African market, they should work towards attaining language diversity as much as they should strive to scale a region's local and cultural issues.</p><ul><li><strong>Language Diversity</strong>: To attain language diversity, cultural nuance, and other language-related peculiarities can impact the meaning of words. Some phrases may get lost in translation, and taking a cue from past translation mistakes global brands like KFC and Pepsi have made, it can be detrimental to growth. Hence, the best solution to language challenges may be to hire locals with extensive knowledge and understanding of cultures and norms.</li><li>Another important part of localization when designing tech solutions for Africans, is <strong>considering local problems</strong>. The absence of internet access and the high cost of broadband in remote areas is a huge local problem that inhibits adequate penetration into those places.</li></ul><p>Take M-Pesa for instance. These situations were key parts of the company's earliest features.</p><p>Tech products rely on internet access but this may be ineffective in rural regions where broadband is weak and unavailable. Similarly, apps that consume large amounts of broadband data or require high computing memory will exclude customers in these areas. Also, the fact that the majority of people in Africa use feature phones or inexpensive smartphones that have limited capabilities should shape how the solution is designed.</p><blockquote>Traditional outreach methods like town halls, local shopping market engagement, or door-to-door meetings can be more efficient than Western advertising methods like billboards or digital ads.</blockquote><p>This was a key part of FTX's breakthrough in the continent. It prioritized localized marketing efforts and used real-time local agents. <strong>Customer support through helplines in local languages, whether through human interaction or bots, will foster better customer relationships and lead to effective resolutions</strong> compared to email support.</p><p>Companies should also think of the cultural behaviors in a region because they largely constitute how the buying behaviors of residents are formed. In conservative African countries, technologies that promote gender diversity and equality may meet rock bottom if the company doesn't undertake adequate sensitization measures to show how important the technological solution is to the advancement of society.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We hope this article inspired you to consider localization even more important in the context of diverse and specific African markets. Remember, it's not always about the language, but it's the least you could do to connect better with your audience and attract new customers. Join Localazy today and start translating your projects into local languages to break language barriers more easily.<br></p>]]></content:encoded>
            <author>Chidinma Iwu</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/04/africa-localization.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: New Project Settings & Releases in UI]]></title>
            <link>https://localazy.com/blog/release-update-new-project-settings-releases-in-ui</link>
            <guid isPermaLink="false">release-update-new-project-settings-releases-in-ui</guid>
            <pubDate>Tue, 18 Apr 2023 11:13:25 GMT</pubDate>
            <description><![CDATA[Manage your translation releases with the new interface for release management inside Localazy, your favorite localization platform. Find out what else is new in this Release Update!]]></description>
            <content:encoded><![CDATA[<p>We strive to continuously improve all aspects of Localazy to help you localize your projects more efficiently and effortlessly. Read on to find out what was improved in the latest release. 🎉</p><h2 id="manage-releases-in-ui">🎛️ Manage Releases in UI <a class="markdownit-header-anchor" href="#manage-releases-in-ui">🔗</a></h2><p>We are happy to introduce a new interface for Releases management in the Localazy UI. This feature was previously available only via CLI. In our effort to make our features more accessible to all users, we have decided it is the right time to implement a user-friendly way to work with releases in the UI directly.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/04/image-11.png" class="kg-image" alt loading="lazy" width="2000" height="606" srcset="https://ghost.localazy.com/content/images/size/w600/2023/04/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/04/image-11.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/04/image-11.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/04/image-11.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>You can now manage translation Releases from the Localazy UI</figcaption></figure><p>Releases are snapshots of your translations. With Releases, you can create and store the current state of your translations in time, pick which changes should be published into existing releases, and download them through supported integrations to use different versions in different environments.</p><p>The most common use case for Releases is to lock the state of production translations before adding new strings for translations.</p><blockquote>📚 Learn more about <a href="https://localazy.com/docs/general/releases">Releases in the documentation</a></blockquote><h2 id="revamped-project-settings">🛠️ Revamped project settings <a class="markdownit-header-anchor" href="#revamped-project-settings">🔗</a></h2><p>We have changed our settings and added more options for customization in both machine translations and the translation interface fields. One of the new features is the ability to choose the tone of voice for your project, which is then recognized by the supported MT engines.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/04/image-12.png" class="kg-image" alt loading="lazy" width="2000" height="2206" srcset="https://ghost.localazy.com/content/images/size/w600/2023/04/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/04/image-12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/04/image-12.png 1600w, https://ghost.localazy.com/content/images/2023/04/image-12.png 2058w" sizes="(min-width: 720px) 720px"><figcaption>New Localazy Project Settings</figcaption></figure><p>⚠️ <strong>COMING SOON: </strong>Now, it is also possible to choose multiple languages available as a source for translations and reviews. This feature is not available in the translation interface yet, but feel free to set it up in advance 😅 </p><p>A very popular use case is using Developer English as the primary source and then using English as the production language. With this option, you can use English as the preferred language for translation to other languages instead of Developer English.   </p><h2 id="new-navigation">🍔 New Navigation <a class="markdownit-header-anchor" href="#new-navigation">🔗</a></h2><p>As Localazy continues to expand its features and accommodate more use cases, we have updated our navigation to reflect this growth. We have organized certain items into easily discoverable categories and improved accessibility for others. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/04/image-10.png" class="kg-image" alt loading="lazy" width="1766" height="1270" srcset="https://ghost.localazy.com/content/images/size/w600/2023/04/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/04/image-10.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/04/image-10.png 1600w, https://ghost.localazy.com/content/images/2023/04/image-10.png 1766w" sizes="(min-width: 720px) 720px"><figcaption>New Localazy project navigation</figcaption></figure><h2 id="progress-indication-of-long-running-tasks">⏳ Progress indication of long-running tasks <a class="markdownit-header-anchor" href="#progress-indication-of-long-running-tasks">🔗</a></h2><p>We've added a new type of notification which tracks the progress of long-running tasks such as pre-translate and batch approve/review. Once the task finishes, you'll get notified about the result. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/04/image-8.png" class="kg-image" alt loading="lazy" width="1122" height="326" srcset="https://ghost.localazy.com/content/images/size/w600/2023/04/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/04/image-8.png 1000w, https://ghost.localazy.com/content/images/2023/04/image-8.png 1122w" sizes="(min-width: 720px) 720px"></figure><blockquote>📚 To learn more about the technical background of these notifications, read the article: <a href="/blog/test-alerts-using-stomp-over-websocket-in-cypress-e2e-tests"><strong>Test Alerts using STOMP over WebSocket in Cypress E2E Tests</strong></a></blockquote><h2 id="improved-search-in-similar-strings">🔍 Improved search in similar strings <a class="markdownit-header-anchor" href="#improved-search-in-similar-strings">🔗</a></h2><p>In the <a href="/blog/elease-update-improved-context-tabs-for-comments-and-translations">previous release</a>, the context tabs were improved to show comments across languages, and a new search in similar strings across the project was added. In this update, we have completed a follow-up, and our indexing algorithm has been enhanced for better performance.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/04/image-7.png" class="kg-image" alt loading="lazy" width="1569" height="861" srcset="https://ghost.localazy.com/content/images/size/w600/2023/04/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/04/image-7.png 1000w, https://ghost.localazy.com/content/images/2023/04/image-7.png 1569w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>And that's all for today! Explore the new possibilities of Localazy and help us improve the platform! Send us your thoughts on the new, improved interface and features, and let us know what you think about our direction. Feel free to reach out via the support chat or discuss the new update in the comments below!</p><p><strong>You might also like:</strong></p><ol><li><a href="/blog/how-to-translate-content-in-postgresql-database-with-localazy">How to translate content in PostgreSQL database with Localazy CLI?</a></li><li><a href="https://localazy.com/blog/case-study-rouvy-localization">Case Study: 🚴 ROUVY's Tour de localization with Localazy</a></li><li><a href="/blog/figma-and-code-base-as-independent-sources-of-truth">Figma in Localization: Figma and codebase as independent Sources of Truth</a></li></ol>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/04/Release-update-project-settings.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to translate content in PostgreSQL database with Localazy CLI?]]></title>
            <link>https://localazy.com/blog/how-to-translate-content-in-postgresql-database-with-localazy</link>
            <guid isPermaLink="false">how-to-translate-content-in-postgresql-database-with-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:29:53 GMT</pubDate>
            <description><![CDATA[Learn how to translate texts from your PostgreSQL database with Localazy. The tutorial explains a simple workflow using JSON files and Localazy CLI to transfer the data. ]]></description>
            <content:encoded><![CDATA[<p>Localazy is a complete localization suite built with developers in mind. Localazy allows you to <a href="/tags/automated-localization">fully automate the localization</a> of your projects. The most common use case is when your localizable texts are placed in a file (or multiple files) in one of the <a href="/integrations">supported formats</a> (such as <a href="/json">JSON</a>, <a href="/android">Android XML</a>, <a href="/ios">iOS’s .strings</a>, etc.), then you can comfortably use the <a href="/features/cli">Localazy CLI</a> and integrate your project with our platform literally within minutes.</p><!--kg-card-begin: html--><iframe width="100%" height="560px" src="https://www.youtube.com/embed/bRILfGZ2gK8" title="How to Create Multilingual Apps with Localazy - Platform Agnostic Continuous Localization" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><p>But what to do if you store translations in your database? One approach would be to use the <a href="/features/translation-api">Localazy API</a>, which is a very flexible choice that can solve even the most demanding scenarios. But usually, it can be unnecessarily complicated because what we are trying to achieve is also possible to do with a few simple bash scripts.</p><p>The solution is usually simple, and <strong>our CLI is perfectly ready to handle such situations when chained with other commands</strong>. </p><p>Let’s have a look at how to translate texts stored in a <a href="https://www.postgresql.org/">PostgreSQL</a> database, one of the most popular open-source databases out there.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/04/image.png" class="kg-image" alt loading="lazy" width="328" height="364"></figure><h2 id="introduction">🐘 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2><p>PostgreSQL has great support for manipulating JSON files, and for Localazy, JSON is being the most often used file format, so let’s stick with a simple workflow:</p><p><strong>Upload:</strong></p><ol><li>Extract data from PostgreSQL and store them as JSON</li><li>Upload the JSON file to Localazy for translating</li></ol><p><strong>Download:</strong></p><ol><li>Download translated JSON files from Localazy</li><li>Import downloaded JSON files back to PostgreSQL</li></ol><p><strong>To make this tutorial fully actionable so that you can test everything on your own, we use step-by-step instructions using PostgreSQL running in a docker container.</strong></p><blockquote>This guide is designed for Linux systems as such are most often used for <a href="/dictionary/continuous-integration/">CI/CD</a> or production systems, but it should be simple to update the behavior for any other operating system - we aren’t going to use any advanced commands, but some of the scripts may need alternative solution. You can also run the scripts in Linux-based docker container.</blockquote><h2 id="initial-localazy-configuration">🚩 Initial Localazy Configuration <a class="markdownit-header-anchor" href="#initial-localazy-configuration">🔗</a></h2><h3 id="create-a-new-project">Create a new project <a class="markdownit-header-anchor" href="#create-a-new-project">🔗</a></h3><p>First of all, <a href="https://localazy.com/register">set up a new account</a> in Localazy or sign in and create a new project.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/04/image-1.png" class="kg-image" alt loading="lazy" width="972" height="576" srcset="https://ghost.localazy.com/content/images/size/w600/2023/04/image-1.png 600w, https://ghost.localazy.com/content/images/2023/04/image-1.png 972w" sizes="(min-width: 720px) 720px"></figure><p>Then find JSON in the list of integrations and select "Command Line Interface" as the integration method.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/04/image-2.png" class="kg-image" alt loading="lazy" width="1187" height="334" srcset="https://ghost.localazy.com/content/images/size/w600/2023/04/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/04/image-2.png 1000w, https://ghost.localazy.com/content/images/2023/04/image-2.png 1187w" sizes="(min-width: 720px) 720px"></figure><p>Now you can follow the rest of this tutorial, <strong>keep the tab open or copy the readKey and writeKey somewhere</strong> because you'll need them soon.</p><h3 id="install-the-localazy-cli">Install the Localazy CLI <a class="markdownit-header-anchor" href="#install-the-localazy-cli">🔗</a></h3><p>Make sure that the <code>localazy</code> command is available on your computer by installing the Localazy CLI. </p><p><strong>➡️ <a href="https://localazy.com/docs/cli/installation">Follow the instructions in our documentation</a> </strong></p><p>If you use a specific version (JVM or docker), just update the scripts below accordingly to account for different command execution.</p><h3 id="prepare-the-folder-structure-and-config">Prepare the folder structure and config <a class="markdownit-header-anchor" href="#prepare-the-folder-structure-and-config">🔗</a></h3><p>Create a folder <code>pg-localazy</code> which we'll use in this guide. In that folder, create a new file called <code>localazy.json</code> with a very basic configuration to upload a source language file <code>locales/en.json</code> and store translated files in the <code>locales</code> folder. </p><blockquote>Learn more about <a href="https://localazy.com/docs/cli/the-basics">basic CLI commands</a> in the docs.</blockquote><p>We'll also use <code>filter_untranslated</code> in <code>features</code> as we don’t want Localazy to populate missing translations with their source language version.</p><pre><code class="language-json">{
 
  "writeKey": "...",
  "readKey": "...",
  
  "upload": {  
    "type": "json",
    "features": ["filter_untranslated"],
    "files": "locales/en.json"         
  },
  
  "download": {
    "includeSourceLang": true,
    "files": "locales/${lang}.json"
  }
  
}
</code></pre><blockquote>Note: Please remember to use your own <code>writeKey</code> and <code>readKey</code> as mentioned above. </blockquote><p><strong>And that’s it!</strong> Localazy is configured, and we can move to the database part.</p><h2 id="upload-and-download-translations">🌎 Upload & download translations <a class="markdownit-header-anchor" href="#upload-and-download-translations">🔗</a></h2><h3 id="prepare-the-script-and-upload-texts">Prepare the script and upload texts <a class="markdownit-header-anchor" href="#prepare-the-script-and-upload-texts">🔗</a></h3><p>In <code>pg-localazy</code> folder, create a new file called <code>init.sql</code> with this content:</p><pre><code class="language-sql">-- Create a new database for testing purposes
CREATE DATABASE localazy_test;

-- Connect to the newly created database
\c localazy_test;

-- Create a new table for translations
CREATE TABLE translations( 
	id VARCHAR(256), 
	locale VARCHAR(12),
	content VARCHAR (4096),
	PRIMARY KEY (id, locale)
);

-- Populate translations table with some content
INSERT INTO translations (id, locale, content) VALUES 
	('settings', 'en', 'Settings'),
	('main_menu', 'en', 'Main Menu'),
	('share', 'en', 'Share'),
	('error_connection', 'en', 'Connection error occurred!');

-- We can verify the content of the table
SELECT * FROM translations;
</code></pre><p>Launch testing PostgreSQL database using the latest docker container. Run the command in <code>pg-localazy</code> folder so <code>$(pwd)</code> is correctly pointing to it, making it available inside the container as <code>/pg-localazy</code>. To make things easier, just use <code>host</code> networking.</p><pre><code class="language-bash">docker run --rm --name pg --network host -v $(pwd):/pg-localazy -e POSTGRES_PASSWORD=pwd postgres
</code></pre><p>Run <code>psql</code> command in the docker container so that we can create a new database and populate it with some data for our demo.</p><pre><code class="language-bash">docker exec -i pg psql --user postgres &lt; init.sql
</code></pre><p>Now, we have our testing database ready, along with four testing texts.</p><p>Let’s create a simple bash script for extracting data from the database and uploading them to Localazy. In the <code>pg-localazy</code> folder, create a new file <code>upload.sh</code> with this content:</p><pre><code class="language-bash">#!/bin/bash

# Create temporary folder for language files
mkdir -p locales

# Run PSQL command, connect to the running PostgreSQL instance and issue SQL designed to
# return data of the table for English in key-value JSON format. 
docker run --rm --name psql --network host -v $(pwd):/pg-localazy postgres psql --host localhost --user postgres -t -d localazy_test -c "SELECT json_object_agg(translations.id  
, translations.content) FROM translations WHERE locale = 'en';" &gt; locales/en.json

# Upload data to Localazy
localazy upload

# Remove the temporary folder
rm -Rf locales
</code></pre><p>Make the <code>upload.sh</code> file executable and run it. In just a few seconds, texts from the database are successfully uploaded to Localazy.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-34.png" class="kg-image" alt loading="lazy" width="1024" height="406" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-34.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-34.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-34.png 1024w" sizes="(min-width: 720px) 720px"></figure><p>Now, just add a few new languages in Localazy, and you can <a href="/docs/general/translating-strings">start translating</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-35.png" class="kg-image" alt loading="lazy" width="996" height="314" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-35.png 600w, https://ghost.localazy.com/content/images/2023/03/image-35.png 996w" sizes="(min-width: 720px) 720px"></figure><h3 id="download-translations">Download translations <a class="markdownit-header-anchor" href="#download-translations">🔗</a></h3><p>Once you are done with translating, we can implement a mechanism to get translated data back to our database. </p><p>Let’s create another simple bash script for importing data back to the database. In the <code>pg-localazy</code> folder, create a new file <code>download.sh</code> with the content below. It downloads translated files from Localazy and stores them in a folder <code>locales</code> with a name <code>{lang}.json</code> (e.g., <code>en.json</code>, <code>cs.json</code>, <code>de.json</code>). Then, it goes through all JSON files in <code>locales</code> folder, and processes each of them using simple <code>psql</code> script.</p><pre><code class="language-bash">#!/bin/bash

# Create temporary folder for language files
mkdir -p locales

# Download translated files from Localazy
localazy download

# Process all JSON files in locales folder
cd locales
for file in *.json; do
langCode="${file%.*}"

echo "Processing ${langCode}..."

docker run --rm --name psql -i --network host -v $(pwd):/pg-localazy postgres psql --host localhost --user postgres -t -d localazy_test &lt;&lt; EOF

-- Set the content from file
\\set content \`cat /pg-localazy/${file}\`

-- Upsert data to database from the loaded JSON file
INSERT INTO translations(id, locale, content) SELECT key AS id, '${langCode}' AS locale, value AS content FROM json_each(:'content'::json)
ON CONFLICT(id, locale) DO UPDATE SET content = excluded.content WHERE translations.content != excluded.content;

EOF

done

# Remove the temporary folder
cd ..
rm -Rf locales

</code></pre><p>Make the <code>download.sh</code> file executable and run it. Voilá! It only takes a while to download files from Localazy and reimport them back to our database.</p><p>Run a simple command to verify what we have in our translations table now. The result is exactly what we would expect.</p><pre><code class="language-bash">docker run --rm --name psql --network host -v $(pwd):/pg-localazy postgres psql --host localhost --user postgres -d localazy_test -c "SELECT * FROM translations;"
</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-36.png" class="kg-image" alt loading="lazy" width="671" height="320" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-36.png 600w, https://ghost.localazy.com/content/images/2023/03/image-36.png 671w"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>The purpose of this article was to demonstrate that it’s easily possible to translate content in the PostgreSQL database using Localazy CLI.</p><p>Of course, this article is just a simple example with a single database table. But you can easily tweak this mechanism to cover more tables, and you can also adapt queries to handle tables of different structures. It’s completely up to you how you approach it. You can also choose different file formats for temporary files etc.</p><h2 id="files">📁 Files <a class="markdownit-header-anchor" href="#files">🔗</a></h2><p>All the files used in this tutorial are available on GitHub: <a href="https://github.com/localazy/localazy-postgres-demo" rel="noopener noreferrer">https://github.com/localazy/localazy-postgres-demo</a> </p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/04/PostgreSQL-tutorial.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Test Alerts using STOMP over WebSocket in Cypress E2E Tests]]></title>
            <link>https://localazy.com/blog/test-alerts-using-stomp-over-websocket-in-cypress-e2e-tests</link>
            <guid isPermaLink="false">test-alerts-using-stomp-over-websocket-in-cypress-e2e-tests</guid>
            <pubDate>Thu, 18 May 2023 09:22:02 GMT</pubDate>
            <description><![CDATA[Learn how to test alerts using STOMP over WebSocket in Cypress E2E Tests in this Localazy Developer Tutorial by David Václavek.]]></description>
            <content:encoded><![CDATA[<h2 id="introduction">👋 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2><p>Why did I even want to write this article in the first place? 😬 As a part of one of my tasks, I was supposed to handle long-running operations which use WebSockets for communication. </p><p>The goal was to test the events that follow after finishing a long-running operation. We use STOMP over WebSocket (I will explain what it means later, don't worry). We also take advantage of CI on GitHub and Cypress framework to ensure that the product passes the automated tests before we release a new feature.</p><p>I spent almost a day Googling and reading through GitHub threads for a good solution that would work for our case - unfortunately, without any success. 😤</p><p>Basically, all of the methods I found use Socket.IO or a non-specified message format, and most of the solutions discussed on Stack Overflow and GitHub ended up not working for most of the users, which really surprised me.</p><p>Do developers just not test the actions that happen after a WebSocket message is received? I do not certainly know the answer to this question, but it definitely motivated me to write this post. 🤠</p><h2 id="what-is-stomp-over-websocket">🤔 What is STOMP over WebSocket? <a class="markdownit-header-anchor" href="#what-is-stomp-over-websocket">🔗</a></h2><p>STOMP itself is a simple text-oriented messaging protocol. It defines an interoperable wire format so that any of the available STOMP clients can communicate with any STOMP message broker to provide easy and widespread messaging interoperability among languages and platforms.</p><p>Raw WebSockets can be used without STOMP. STOMP is derived on top of WebSockets. STOMP just mentions a few specific ways in which the message frames are exchanged between the client and the server using WebSockets.</p><p>Besides <a href="https://stomp.github.io/stomp-specification-1.2.html">STOMP</a>, there are various standardized protocols, e.g. <a href="https://socket.io/docs/v4/socket-io-protocol/">Socket.IO</a> or <a href="https://wamp-proto.org/wamp_latest_ietf.html">WAMP</a>. For the sake of maintainability, you should definitely use something standardized. 👈</p><p>Why do we use STOMP, then? Well, both Broker and client are easy-to-implement. We use ActiveMQ as the broker, which works basically out of the box. Also, there are good TypeScript libraries that are easy to use and work well.</p><h2 id="localazy-alerts">🚩 Localazy Alerts <a class="markdownit-header-anchor" href="#localazy-alerts">🔗</a></h2><p>Now, I’d like to give you a quick overview of alerts in Localazy to fully understand the problem. In the screenshot below, you can see a <em>Success</em> and a <em>Wait</em> alert type at the bottom. Apart from those, we have a few more types, not relevant at this moment.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/03/Pasted-image-20230317104315-1.png" class="kg-image" alt loading="lazy" width="2000" height="1415" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/Pasted-image-20230317104315-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/Pasted-image-20230317104315-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/03/Pasted-image-20230317104315-1.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/03/Pasted-image-20230317104315-1.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Alerts sample in Localazy</figcaption></figure><p>Obviously, not all of the alerts are controlled over WebSockets. Although, some of them are:</p><ul><li>project publishing status,</li><li>long-running operations,</li><li>approving translations,</li><li>sending translations back to review,</li><li>MT <a href="/features/pre-translate">pre-translate</a> keys.</li></ul><p>“<strong>Why are these tasks time-consuming and therefore cannot be processed immediately?</strong>” you may ask. There are quite complex internal database processes in our backend, sometimes, we need to create physical files and make them ready for an eventual download. MT pre-translate is processed by a machine translation engine provider on the fly, which also takes time, especially when there are lots of keys sent.</p><p><strong>These long-running operations can also be grouped</strong> (for improved UX). What do I mean by that?</p><p>An API sends these long-running operations per language (or file). Therefore triggering the pre-translate action for eight languages at the same time sends eight requests to the backend. Another example could be approving all translations in three files at once, which would send three requests.</p><p>I believe the topic of long-running operations and their grouping is clear now. Let’s move on to the next part.</p><h2 id="our-goal">🎯 Our goal <a class="markdownit-header-anchor" href="#our-goal">🔗</a></h2><p>Now, I’d like to summarize the goal and give you some more important details. So, here's a bullet list:</p><ul><li>include alerts testing in our E2E tests</li><li>long-running operation API request returns the <code>taskId</code> of a task</li><li>under this <code>taskId</code>, the request will be processed on the backend</li><li>when the task finishes, a STOMP message will be sent to the client, including the <code>taskId</code> - this is the moment we know that the task is finished</li><li>want to ensure that when the project is published</li><li>need to make sure that long-running operations are processed properly</li><li><em>Wait</em> alert is initiated correctly</li><li><em>Wait</em> progress is calculated correctly</li><li>when one of the tasks in the tasks group is done, update the percentage progress</li><li>when all of the tasks in the group are finished, turn the <em>Wait</em> notification into a <em>Success</em> notification</li><li>also, when tasks from other groups finish during the processing of multiple tasks groups together (which in terms of UI means having multiple <em>Wait</em> notifications at one time), it should impact only the group the task is assigned to</li><li>we want to include those tests in the CI process on GitHub</li><li>we have all of the data for our E2E tests mocked and prepared in fixtures; therefore, no real server endpoints are called</li></ul><h2 id="failed-attempts">🧭 Failed attempts <a class="markdownit-header-anchor" href="#failed-attempts">🔗</a></h2><p>Before we get to my solution, here's a list of some of the packages dedicated to solving our goal I’ve found and tried, such as:</p><ul><li><a href="https://www.npmjs.com/package/cypress-websocket-plugin">cypress-websocket-plugin</a></li><li><a href="https://www.npmjs.com/package/cypress-mock-websocket-plugin">cypress-mock-websocket-plugin</a></li><li><a href="https://www.npmjs.com/package/fake-websocket">fake-websocket</a></li><li><a href="https://www.npmjs.com/package/mock-socket">mock-socket</a></li><li><a href="https://www.npmjs.com/package/mock-stomp-broker">mock-stomp-broker</a></li></ul><p>And as I’ve already mentioned in the Introduction, <strong>none of the options above did work for me</strong> for various reasons.</p><p>That’s why I decided to solve it my way. </p><h2 id="the-solution">💎 The Solution <a class="markdownit-header-anchor" href="#the-solution">🔗</a></h2><h3 id="own-stomp-broker">Own STOMP Broker <a class="markdownit-header-anchor" href="#own-stomp-broker">🔗</a></h3><p>I decided to code my own STOMP Broker - I don’t mean the whole implementation, of course, but only a part of communication that needs to be mocked I could use while writing tests. So what I needed to achieve was to inform the STOMP Client that a task with some <code>taskId</code> has been finished so the application can react to such an event.</p><p>I used the <a href="https://www.npmjs.com/package/stomp-broker-js">stomp-broker-js</a> package for the implementation. It was simple to set up, the README example was mostly enough to get the inspiration for how it works. </p><p>I needed to handle messages as the real STOMP Broker (that we use) does. Quick facts:</p><ul><li>service is subscribed to a topic <code>/topic/localazy.notifications</code>,</li><li>process the <code>NOTIFY/N/21/[some_id]</code> message for <em>Project Published</em> event</li><li>process the <code>TASK/[some_id]/[finished_task_id]</code> message for <em>Long-running operation</em> event</li></ul><pre><code class="language-node">const http = require("http");
// eslint-disable-next-line import/no-extraneous-dependencies
const StompServer = require("stomp-broker-js");

const server = http.createServer((request) =&gt; {
  console.log(request.url);
});
const stompServer = new StompServer({
  server,
  debug: console.log,
  path: "/api/ws/stomp",
  protocol: "ws",
  // v10.stomp', 'v11.stomp', 'v12.stomp'
  heartbeat: [10000, 10000],
});
console.log(" [*] Listening on 0.0.0.0:3322");
server.listen(3322, "localhost");

stompServer.subscribe("/e2e/long-running-operation.finished", (msg, headers) =&gt; {
  const topic = headers.destination;
  console.log(`topic:${topic} messageType: ${typeof msg}`, msg, headers);
  stompServer.send(
    "/topic/localazy.notifications",
    headers,
    `TASK/some_id/${msg}`,
  );
});

stompServer.subscribe("/e2e/project.published", (msg, headers) =&gt; {
  const topic = headers.destination;
  console.log(`topic:${topic} messageType: ${typeof msg}`, msg, headers);
  stompServer.send(
    "/topic/localazy.notifications",
    headers,
    "NOTIFY/N/21/some_id",
  );
});
</code></pre><p>As can be seen in the code snippet above, the broker is listening to two topics:</p><ul><li><code>/e2e/long-running-operation.finished</code></li><li><code>/e2e/project.published</code></li></ul><p>Why did I do that?<strong> The mocked broker needs to work differently than a real backend-to-broker communication does</strong>. The real backend would process the task, and then (when finished) it would inform the broker, which would send a message to the client.</p><p>But in our test case, nothing is really being processed. That’s why we programmatically need to send a message to our subscribed topics from the E2E test code (and hence trigger the “<em>Hey, I’m the task with <code>taskId</code> and I’ve just finished processing</em>” procedure). And we need to do so after the long-running operation was initiated.</p><p>That would then return the very same message as the real broker would do. Voilà!</p><h3 id="ping-the-stomp-broker-from-cypress">Ping the STOMP Broker from Cypress <a class="markdownit-header-anchor" href="#ping-the-stomp-broker-from-cypress">🔗</a></h3><p>Notice one of the earlier sentences:</p><blockquote>… we programmatically need to send a message to our subscribed topics from the E2E test code…</blockquote><p>How can we do that? How do we access the very same STOMP Client instance from the App in Cypress? The solution is quite simple and effective and does not make basically any mess in the application code.</p><p>We’ll reuse a similar concept as described in the <a href="https://docs.cypress.io/api/commands/window#Start-tests-when-app-is-ready">Cypress Docs</a>. That way, we can attach the client instance to the global <code>window</code> object, which can then be accessed in the test code (by calling a <code>cy.window</code> method - I’ll show you that later).</p><pre><code class="language-ts">this.client = Stomp.client(process.env.VUE_APP_WSS_URL);

/**
 * To access the client from Cypress tests, attach it to the window object.
 */
if ((window as any).Cypress) {
	(window as any).stompClient = this.client;
}
</code></pre><blockquote>Another note: Make sure to pass the correct <code>VUE_APP_WSS_URL</code> <code>env</code> variable regarding the environment.</blockquote><p>I.e. for the tests, you’d want to pass the one where our mocked STOMP Broker is running.</p><p>Normally, you’d want to pass the testing/production address of the broker, depending on your setup.</p><h3 id="write-the-tests">Write the Tests <a class="markdownit-header-anchor" href="#write-the-tests">🔗</a></h3><p>Writing the tests is just the icing on the cake if you know Cypress. If not, there are dozens of materials on the web - check that out! I’ll assume you do know how to work with Cypress.</p><p>Therefore, I’ll just summarize what I had to deal with while writing WebSockets-related tests.</p><h3 id="returning-a-different-response-for-the-same-request">Returning a Different Response for the Same Request <a class="markdownit-header-anchor" href="#returning-a-different-response-for-the-same-request">🔗</a></h3><p>As mentioned above, there’s a long-running operation request sent per every language (or file). It means that every request returns its own <code>taskId</code>. And when the task finishes, a STOMP message is sent containing that particular <code>taskId</code> - identifying that the task has been finished.</p><p>Normally, to intercept a request in Cypress that always returns the same response, I’d do something like this:</p><pre><code class="language-ts">const body = {
	result: true,
	id: 'my-task-identifier-xx'
};

cy.intercept("POST", "/api/project/**/phrases/batch", { body }).as("phrasesBatchPOST");
</code></pre><p>But to deal with the problem, Cypress offers a <code>times</code> property which can be sent in an object that’s passed to the <code>cy.intercept</code> method:</p><pre><code class="language-ts">const apiIdResult1 = {
	result: true,
	id: 'my-task-identifier-01'
};

const apiIdResult2 = {
	result: true,
	id: 'my-task-identifier-02'
};

cy.intercept({ method: "POST", url: `/api/project/${project.slug}/phrases/batch`, times: 1 }, (req) =&gt; {
      req.reply({ body: apiIdResult1 });
    }).as("phrasesBatchPOST1");

cy.intercept({ method: "POST", url: `/api/project/${project.slug}/phrases/batch`, times: 1 }, (req) =&gt; {
      req.reply({ body: apiIdResult2 });
</code></pre><p>This way, we can make sure that when we call <code>cy.wait("phrasesBatchPOST1")</code>, the request would be intercepted only once.</p><p>So to wait for two requests (e.g. handling of two languages) to be sent, we’d call:</p><pre><code class="language-ts">cy.wait("@phrasesBatchPOST1");
cy.wait("@phrasesBatchPOST2");
</code></pre><h3 id="accessing-the-stomp-client-instance">Accessing the STOMP Client Instance <a class="markdownit-header-anchor" href="#accessing-the-stomp-client-instance">🔗</a></h3><p>Just to remind ourselves, we need to access the very same instance of the STOMP Client from Cypress as there is in the application. As I already demonstrated earlier, we’ve attached the client’s instance to the global <code>window</code> object.</p><p>To access it in the test code, we have to invoke the <code>cy.window</code> method, like so:</p><pre><code class="language-ts">cy.window().then((win) =&gt; {
      const { stompClient } = (win as any);
      stompClient.send(
	      "/e2e/long-running-operation.finished",
	      {},
	      apiIdResult1.id
	  );
});
</code></pre><p>In the code snippet above, the <code>cy.window</code> returns a <code>Promise</code>. We then (<code>.then</code>) resolve the <code>Promise</code>. When it’s resolved, we access the <code>stompClient</code>.</p><p>With the <code>stompClient</code> available, we can simply call its <code>send</code> method. Notice that we also sent the mocked <code>apiIdResult1.id</code> as a <code>taskId</code> as a part of the message. The mocked STOMP Broker immediately sends a <code>MESSAGE</code> containing the information that <code>TASK</code> with <code>taskId</code> equal to <code>apiIdResult1.id</code> finished.</p><p>At this point, <strong>the test would react as if it was a response from the real (non-mocked) STOMP Broker implementation</strong> we use for Localazy.</p><p>Now, all the non-usual Cypress (at least for me) stuff is explained.</p><h3 id="update-the-ci-process">Update the CI Process <a class="markdownit-header-anchor" href="#update-the-ci-process">🔗</a></h3><p>As mentioned in the beginning, the goal is also to integrate the whole thing into the CI Process. What does that exactly mean in my case?</p><p>Well, besides running the E2E testing process, we also need to start the mocked STOMP Broker. When the tests finish, we need to kill the STOMP Broker process respectively. All of that, using the GitHub Workflows.</p><p>Our newly updated <code>e2e.yml</code> looks something like this:</p><pre><code class="language-yml"># ...
# Run WS server has been added
- name: Run WS server
  run: npm run test:e2e:start-stomp
- name: Run e2e tests
  run: npm run test:e2e:ci
# Stop WS server has been added
- name: Stop WS server
  run: npm run test:kill-stomp
# ... 
</code></pre><p>We just simply added two new steps to the workflow. Let’s see what the scripts look like:</p><pre><code class="language-json">// ...
"scripts": {
	"test:e2e:start-stomp": "forever start ./tests/support/mock-stomp-broker.js",
    "test:kill-stomp": "forever stopall",
    // ...
}
// ...
</code></pre><p>We use the <code>forever</code> npm package. It offers an easy and intuitive way to run <code>node</code> process in the background and kill it on request when needed… Let’s push the code and run the tests!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/03/alerts-ws-e2e.gif" class="kg-image" alt loading="lazy" width="1638" height="901"><figcaption>Alerts E2E Tests Run</figcaption></figure><p><strong>All tests passed, and we’re all done!</strong></p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>In this blog post, I demonstrated how to test STOMP over the WebSocket communication we use at Localazy for long-running operations. I also demonstrated a little sneak peek at the dev stack we use.</p><p>We went through problems I faced during the implementation - and I gave you my solutions.</p><p>Lastly, we updated the CI process and ran tests to ensure they passed!</p>]]></content:encoded>
            <author>David Václavek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/04/cypress-e2e.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Improved context tabs for comments and translations]]></title>
            <link>https://localazy.com/blog/release-update-improved-context-tabs-for-comments-and-translations</link>
            <guid isPermaLink="false">release-update-improved-context-tabs-for-comments-and-translations</guid>
            <pubDate>Wed, 13 Sep 2023 12:41:51 GMT</pubDate>
            <description><![CDATA[Peek inside this short Localazy update and learn what's new in your favorite localization platform! ]]></description>
            <content:encoded><![CDATA[<p>In the localization industry and the translator community, you often hear that "context is king." 👑 That's why we are happy to introduce improved context tabs in Localazy to help all translation kings and queens rule wisely and translate more precisely. 🤺</p><p>But before we get to the new features, we want to let you know that it's now possible to display a list of the latest <a href="/tags/release-update">Release Updates</a> directly in the UI. How?</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-33.png" class="kg-image" alt loading="lazy" width="368" height="352"></figure><p>Simply click on the ❔ question mark icon in the top menu when logged in to open the list of all recent Release Updates to stay on top of things at all times!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/03/image-31.png" class="kg-image" alt loading="lazy" width="1644" height="1720" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-31.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-31.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/03/image-31.png 1600w, https://ghost.localazy.com/content/images/2023/03/image-31.png 1644w" sizes="(min-width: 720px) 720px"><figcaption>See what's new inside the Localazy platform</figcaption></figure><h2 id="show-comments-in-all-languages">💬 Show Comments in all languages <a class="markdownit-header-anchor" href="#show-comments-in-all-languages">🔗</a></h2><p>Comments made in all languages are now displayed in the Comments tab for better translation context. This is a huge step forward for project owners as it allows them to effectively answer all questions and ensure everyone involved is on the same page.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/03/image-28.png" class="kg-image" alt loading="lazy" width="2000" height="1032" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-28.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-28.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/03/image-28.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/03/image-28.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Display comments from all languages or filter only for the current language in Localazy</figcaption></figure><h2 id="search-in-similar-strings-across-the-project">🔍 Search in similar strings across the project <a class="markdownit-header-anchor" href="#search-in-similar-strings-across-the-project">🔗</a></h2><p>The Similar tab in the <a href="/docs/general/translating-strings">Translation screen</a> now allows everyone to look up a specific term across all the translations in the project, making it easier to keep the translations consistent and standardized within their context.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-29.png" class="kg-image" alt loading="lazy" width="2000" height="1467" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-29.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/03/image-29.png 1600w, https://ghost.localazy.com/content/images/2023/03/image-29.png 2362w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>And that's all for today! If you want to learn more about why translation context is important and how to ensure the best translation quality, read the article "<a href="/blog/make-translators-happy-cooperate-localazy#">Make your translators happy to cooperate</a>" or visit the documentation to learn how to use <a href="https://localazy.com/docs/general/translating-strings#context-tabs">all context tabs</a> in Localazy.</p><p>The next release is coming soon, with some significant improvements to project settings and workflows. We'll also introduce a program for early adopters who want to test new features before release. Stay tuned for the next announcement, and happy localizing!</p><p></p><h4></h4>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/03/Release-update-show-comments--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Figma in Localization: Figma and codebase as independent Sources of Truth]]></title>
            <link>https://localazy.com/blog/figma-and-code-base-as-independent-sources-of-truth</link>
            <guid isPermaLink="false">figma-and-code-base-as-independent-sources-of-truth</guid>
            <pubDate>Thu, 16 Apr 2026 14:22:17 GMT</pubDate>
            <description><![CDATA[Localazy Figma plugin allows teams to  introduce localization earlier in the product life cycle - in the design phase. Since this is potentially a new approach for many teams, we are here to guide you through commonly used patterns to supercharge your design and localization workflow.]]></description>
            <content:encoded><![CDATA[<h2 id="figma-plugin-series">📚 Figma plugin series <a class="markdownit-header-anchor" href="#figma-plugin-series">🔗</a></h2><p>This article is part of the Figma plugin localization workflow series that outline proven integration approaches of the Figma plugin in the product's design and development stages. The series consists of</p><ul><li><a href="/blog/figma-series-preview-designs-in-multiple-languages">Preview designs in multiple languages</a></li><li><a href="/blog/figma-series-connect-designs-and-source-keys-via-screenshots">Connect designs and translations via screenshots</a></li><li><a href="/blog/figma-series-figma-as-source-of-truth">Make Figma the Source of Truth</a></li><li>Make Figma and codebase independent Sources of Truth (this article)</li></ul><p>Before diving in, check out our <a href="/docs/figma/plugin-introduction">documentation</a> describing the installation and configuration of the Figma plugin, as we will skip this step. Also, you can read other <a href="/tags/figma">Figma-related articles</a> to find more helpful examples and guides.</p><h2 id="the-use-case">🎈 The Use Case <a class="markdownit-header-anchor" href="#the-use-case">🔗</a></h2><p>The motivation to use the following workflow is very similar to the one described in the previous article: <a href="/blog/figma-series-figma-as-source-of-truth">Make Figma the Source of Truth</a>. The main advantage is a tight connection between the design and the content your users see and interact with. This proves to be especially useful when you need to update existing designs since the designers work with up-to-date localization resources.</p><p>This approach slightly modifies the rigorous condition that Figma becomes the sole Single Source of Truth for adding new keys and editing existing ones. One painful side effect is that whenever designers forget to include something in a design (such as particular error states or notification messages based on user action), somebody needs to create such a design and upload the relevant keys to Localazy. This isn't very easy and slows down development considerably.</p><p>If you don't mind that certain layouts are missing in Figma and are content with a general state design, or you don't mind having duplicates in your localization files, you can agree on two sources of truth. That means that any time developers need to create a key that isn't defined in Figma, they can do so, but in a different target file. Later on, when the designers create designs for such states, the developers can either change the used keys to those coming from Figma or they can benefit from our <a href="/blog/introducing-the-duplicity-linking-feature-software-localization">duplicity linking</a> feature.</p><p>If you feel like such a tight connection between Localazy and Figma is not for you or would like to use the Figma plugin merely as a tool to preview the designs in other languages, check out the <a href="/blog/figma-series-preview-designs-in-multiple-languages">Preview design in multiple languages</a> article.</p><h2 id="connecting-to-localazy">🔌 Connecting to Localazy <a class="markdownit-header-anchor" href="#connecting-to-localazy">🔗</a></h2><p>First of all, <a href="/register">set up a new account</a> in Localazy. Create a new project connected to our product codebase (via the <a href="https://localazy.com/docs/cli">CLI</a>, <a href="https://localazy.com/docs/api/introduction">API</a>, or <a href="https://localazy.com/integrations">other means</a>).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-15.png" class="kg-image" alt loading="lazy" width="1014" height="680" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-15.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-15.png 1014w" sizes="(min-width: 720px) 720px"></figure><p>We will add new keys and modify the existing ones primarily via the Figma plugin. However, we will also connect to it via CLI so developers can upload keys when needed. </p><h2 id="preparing-content-in-figma">🎨 Preparing Content in Figma <a class="markdownit-header-anchor" href="#preparing-content-in-figma">🔗</a></h2><h3 id="configure-the-plugin">Configure the plugin <a class="markdownit-header-anchor" href="#configure-the-plugin">🔗</a></h3><p>First, open a file of your choice in Figma, initialize the Localazy Figma plugin, and connect to your target Localazy project.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/merged-product-2.png" class="kg-image" alt loading="lazy" width="1300" height="607" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/merged-product-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/merged-product-2.png 1000w, https://ghost.localazy.com/content/images/2022/11/merged-product-2.png 1300w" sizes="(min-width: 720px) 720px"></figure><p>Then in the Plugin's settings, I'll check <strong>Use node name as source key</strong> for more readable source keys (instead of Figma's internal numerical IDs) and uncheck <strong>Upload &amp; download the entire file </strong>to only upload text nodes I have currently selected. I will also upload screenshots to Localazy since they offer valuable context for the translators, and the Figma plugin will automatically link the keys with the uploaded screenshots. </p><h3 id="upload-the-content">Upload the content <a class="markdownit-header-anchor" href="#upload-the-content">🔗</a></h3><p>Let's follow this whole workflow from the design stage to using the keys in code from the perspective of a task. In an agile environment, each task should contain a detailed specification, and ideally, a single person should be assigned at a time to prevent confusion about responsibilities. Each stage (design, translation, development) can be a subtask or a list item within the task.</p><p>Let's say the design is over, and the task is now assigned to a localization manager. Their first job is to go through the textual nodes in designs and rename the nodes so that the source keys uploaded in Localazy have more readable and understandable names.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-23.png" class="kg-image" alt loading="lazy" width="931" height="542" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-23.png 600w, https://ghost.localazy.com/content/images/2023/03/image-23.png 931w" sizes="(min-width: 720px) 720px"></figure><p>The next step is to upload the content into the appropriate file. The target file format, file name, and file path will greatly depend on the development team's requirements. In our simplified example, we will upload all the content into a single file called <strong>figma</strong> in JSON format, which could work for some teams but not for everyone. Discuss this step before you adopt this workflow. </p><p>So, select the target layouts and upload them.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-24.png" class="kg-image" alt loading="lazy" width="1125" height="778" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-24.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-24.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-24.png 1125w" sizes="(min-width: 720px) 720px"></figure><h2 id="translating-in-localazy">🚩 Translating in Localazy <a class="markdownit-header-anchor" href="#translating-in-localazy">🔗</a></h2><p>The new content has been successfully uploaded to Localazy, and the task moves on to translators.</p><p>If you seek professional quality translations, either invite your in-house translators or <a href="https://localazy.com/docs/general/continuous-localization-team">order the translations</a> from our professional translators. Since we've uploaded screenshots along with the content, the quality of translations would likely improve, thanks to the extra context. Bravo!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-25.png" class="kg-image" alt loading="lazy" width="1572" height="858" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-25.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-25.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-25.png 1572w" sizes="(min-width: 720px) 720px"></figure><p>However, we'll add just a few languages and translate them via MT to speed things up. For each language, open the options dropdown and select <strong>Pre-translate with MT</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/Screenshot-2022-11-08-15-05-02.png" class="kg-image" alt loading="lazy" width="1722" height="871" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/Screenshot-2022-11-08-15-05-02.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/Screenshot-2022-11-08-15-05-02.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/Screenshot-2022-11-08-15-05-02.png 1600w, https://ghost.localazy.com/content/images/2022/11/Screenshot-2022-11-08-15-05-02.png 1722w" sizes="(min-width: 720px) 720px"></figure><p>In the next step, feel free to choose your favorite MT engine. Each can handle specific scenarios, terms, and tonality differently, and one cannot say one is always better than the other. </p><p>I'll go with DeepL for demonstration purposes since their <a href="/dictionary/api">API</a> can handle the translation request swiftly, and the quality is usually satisfactory. Ensure to check the option <strong>Approve all translations</strong> so that you can use them immediately without having to review and accept them afterward. Check the other options so that they are pre-selected next time, ensuring that all the keys will always be included in the pre-translate operation.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-7.png" class="kg-image" alt loading="lazy" width="652" height="454" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-7.png 600w, https://ghost.localazy.com/content/images/2022/11/image-7.png 652w"></figure><p>It could take a few seconds, but after a few page refreshes, you will see all three languages fully translated.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-8.png" class="kg-image" alt loading="lazy" width="1316" height="386" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-8.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-8.png 1316w" sizes="(min-width: 720px) 720px"></figure><h2 id="using-the-translations">🌍 Using the translations <a class="markdownit-header-anchor" href="#using-the-translations">🔗</a></h2><h3 id="preview-in-figma">Preview in Figma <a class="markdownit-header-anchor" href="#preview-in-figma">🔗</a></h3><p>Before handing over the new designs for development, importing the translations to Figma may be beneficial to ensure your designs are robust enough to handle different languages.</p><p>We return the task to designers, who will preview the translations in different languages. Go back to your Figma file and switch to the <strong>Download </strong>tab in the Localazy Figma plugin. Select the source file and desired language, and select the screen/nodes you've uploaded to Localazy previously.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-26.png" class="kg-image" alt loading="lazy" width="1034" height="749" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-26.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-26.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-26.png 1034w" sizes="(min-width: 720px) 720px"></figure><p>Awesome, we have the design translated into German in just a few minutes. And we can also see that some names are a little too long and overflow the container; yikes! 🙈 Here, we can see the benefit of previewing the translations directly in Figma. Since the development hasn't started, we have saved some time and money.</p><p>With Arabic, it gets more complicated as this is a right-to-left written language. The Figma plugin does not automatically change the text alignment, so you need to tweak the design manually. But it's much less work than having to translate the complete design as well.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-27.png" class="kg-image" alt loading="lazy" width="1107" height="738" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-27.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-27.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-27.png 1107w" sizes="(min-width: 720px) 720px"></figure><p>Once the designers iterate over the designs, the task is assigned back to the localization manager, who again assures that all the keys have readable names. If there have been changes in values, the translators will take over again. Feel free to bounce between designers, localization managers, and translators if there is something to update.</p><h3 id="use-the-content-in-the-code">Use the content in the code <a class="markdownit-header-anchor" href="#use-the-content-in-the-code">🔗</a></h3><p>Eventually, the developer is assigned to the task, and the actual implementation may commence. We'll go through a first-time setup together. From the second time onwards, this part is much more straightforward. </p><p>Go to the <strong>Translations</strong> page and open <strong>Select an integration</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-29.png" class="kg-image" alt loading="lazy" width="1705" height="747" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-29.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-29.png 1600w, https://ghost.localazy.com/content/images/2022/11/image-29.png 1705w" sizes="(min-width: 720px) 720px"></figure><p>Look up the type of framework, programming language, or file format you're using and choose the CLI integration method.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-30.png" class="kg-image" alt loading="lazy" width="1705" height="884" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-30.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-30.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-30.png 1600w, https://ghost.localazy.com/content/images/2022/11/image-30.png 1705w" sizes="(min-width: 720px) 720px"></figure><p>After you install the Localazy CLI tool and create <strong>localazy.json</strong> in the root of your project, we'll need to modify the initial template to suit our needs and the herein-described workflow.</p><p>To keep it simple, we will add only a single English file as a source for uploading content via CLI. In the download section, we will use <a href="https://localazy.com/docs/cli/conditions#negation">conditions</a> to differentiate where to store downloaded translations based on the file path. </p><p>If it equals <strong>translations/custom</strong>, we know it originates from the code base and should be stored in the same folder. If not, then it's a file coming from Figma, and those should be stored in the translations folder where the keys will reside in folders named after like the files in Localazy (<em>figma </em>in our case). Each JSON file will be named after the language's locale code. For further configuration options, see the <a href="https://localazy.com/docs/cli/download-reference">CLI documentation</a>.</p><pre><code>{
 
  "writeKey": "&lt;YOUR-WRITE-KEY&gt;",
  "readKey": ""&lt;YOUR-READ-KEY&gt;",
  
  "upload": {  
    "type": "json",
    "files": {
      "pattern": "translations/custom/en.json",
      "path": "${path}"
    }
  },
  
  "download": {
    "includeSourceLang": true,
    "files": [
      {
        "conditions": "equals: ${path}, translations/custom",
        "output": "${path}/${lang}.json"
      },
      {
        "conditions": "!equals: ${path}, translations/custom",
        "output": "translations/${fullPath}/${lang}.json"
      }
    ]
  }
}</code></pre><p>Your development team should sit down with you and discuss this part before you start adopting this Figma workflow. There are dozens and dozens of ways developers organize localization assets; this is just one example.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-33.png" class="kg-image" alt loading="lazy" width="846" height="245" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-33.png 600w, https://ghost.localazy.com/content/images/2022/11/image-33.png 846w" sizes="(min-width: 720px) 720px"></figure><p>Once you adjust the configuration to your needs, run the <strong>localazy download</strong> command via CLI. And voila! </p><p>All the translations and source keys have been successfully imported, and the developers can start using them. They should have access to the Figma designs so that:</p><ol><li>They know what they are implementing 😁</li><li>They can look up the keys in designs that the localization manager renamed for them. We've come a full circle 🙂</li></ol><h2 id="adding-new-keys-via-cli">⌨️ Adding new keys via CLI <a class="markdownit-header-anchor" href="#adding-new-keys-via-cli">🔗</a></h2><p>The development has been going splendidly. But wait - there's actually one problematic state where we shouldn't allow users to change their settings, and we need to tell them how to resolve it. All of us totally missed that during designing, and it's just a small thing.</p><p>After a quick chat with everyone, we're decided to skip designing this state and go straight to implementation. So let's create in code and upload it to Localazy via CLI. </p><p>Create <strong>en.json</strong> in <strong>translations/custom</strong> and create the missing key.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-48.png" class="kg-image" alt loading="lazy" width="1184" height="221" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-48.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-48.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-48.png 1184w" sizes="(min-width: 720px) 720px"></figure><p>Now, when you run <strong>localazy upload</strong>, you can see in the file management section that a new file has been created. Perfect, we've successfully created a new key without waiting for the designers, and the development continues smoothly.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-50.png" class="kg-image" alt loading="lazy" width="1353" height="342" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-50.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-50.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-50.png 1353w" sizes="(min-width: 720px) 720px"></figure><p>Go ahead and translate the newly added key. When you do so, you'll see that there are several new files in the <strong>translations/custom folder</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-51.png" class="kg-image" alt loading="lazy" width="1231" height="334" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-51.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-51.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-51.png 1231w" sizes="(min-width: 720px) 720px"></figure><h3 id="create-designs-later-and-link-duplicities">Create designs later and link duplicities <a class="markdownit-header-anchor" href="#create-designs-later-and-link-duplicities">🔗</a></h3><p>The designers are diligent people, and they wish to have all the user-facing designs ready in Figma too. Therefore, they created the missing screen after the implementation. But the keys created by developers and these newly uploaded keys from Figma are detached, even though they are linked to the same content in your product. In other words, we created logical duplicities (even though the key ids might be different).</p><p>You can decide to ignore that and call it a day. However, the translators would need to translate these keys again for designers to be able to download the translations because, as I said, the keys are detached. Luckily, Localazy offers a better way how to handle this.</p><p>With our <a href="https://localazy.com/docs/general/localazy-agency-tier#duplicity-linking">duplicity linking feature</a>, you can choose which keys should be hidden for translators and use the translations of the master key instead. This feature is now available outside the main UI - in our <a href="https://localazy.com/console">developer's console</a>. Open up the <strong>Duplicities </strong>section and then click on <strong>Edit</strong> for the duplicate value. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-58.png" class="kg-image" alt loading="lazy" width="1046" height="264" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-58.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-58.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-58.png 1046w" sizes="(min-width: 720px) 720px"></figure><p>We will make the Figma node a source to stick to the rule that Figma is the primary source of truth in this workflow. The existing translations for the linked node will be automatically used so the designers can download the translations immediately. The linked key will be hidden, and thus translators won't be prompted to translate it again. And developers can keep using their key or update to start using the one from Figma. </p><h2 id="pros-and-cons">⚖️ Pros and cons <a class="markdownit-header-anchor" href="#pros-and-cons">🔗</a></h2><h3 id="pros">➕ Pros <a class="markdownit-header-anchor" href="#pros">🔗</a></h3><ul><li>There is a tight connection between the textual content in Figma designs and the actual product content.</li><li>Designers don't need to do anything extra (unless they are the ones renaming the source keys and uploading the content). On the contrary, they may easily preview the content in other languages.</li><li>Translators can use the linked screenshots to provide better-quality translations.</li><li>Iterating over older designs is quicker, and designers work with accurate content.</li><li>Developers can create keys forgotten during design to speed up the implementation part.</li></ul><h3 id="cons">➖ Cons <a class="markdownit-header-anchor" href="#cons">🔗</a></h3><ul><li>It takes some time to discuss and set up correctly. Afterward, it takes some time for everyone to get used to this workflow.</li><li>Having a localization manager who manages uploading the content to Localazy and everything related to management in Localazy itself is beneficial. Somebody needs to be responsible for it.</li><li>Developers shouldn't go wild and create the keys that already exist in Figma.</li><li>This workflow's management aspects are more complicated than other Figma workflows. </li><li>Over time, there could be dozens of duplicate keys which you can optionally choose to link to save time and money on translations.</li></ul><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>If you've made it all the way here, congratulations! I bet you're telling yourself that this is quite a complicated workflow. It is. However, it becomes pretty smooth once all the teams finish the one-time configuration steps and thoroughly discuss and agree on the workflow. And the reward is a truly tight connection between the designs and the product. And if you tend to return to older parts of your product and update it, you can trust me that all the efforts will be deemed worth it.</p><p>Check more articles from the <a href="#figma-plugin-series">series</a> about common Figma plugin workflows.</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/03/Figma-Series-4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The ultimate guide to Localazy API]]></title>
            <link>https://localazy.com/blog/the-ultimate-guide-to-localazy-api</link>
            <guid isPermaLink="false">the-ultimate-guide-to-localazy-api</guid>
            <pubDate>Thu, 16 Apr 2026 14:21:21 GMT</pubDate>
            <description><![CDATA[Are you looking for a translation API that goes beyond simple input and output of texts? Learn how to utilize the Localazy API to its full potential and unlock true continuous localization for your digital products.]]></description>
            <content:encoded><![CDATA[<h2 id="introduction-to-localazy-api">👀 Introduction to Localazy API <a class="markdownit-header-anchor" href="#introduction-to-localazy-api">🔗</a></h2><p>Localazy is a web-based <a href="/dictionary/translation-management-system-tms">translation management system</a> and a continuous localization platform that makes <a href="/term/software-localization">translating software</a>, websites, and other digital content into multiple languages easy.<strong> </strong></p><p>The <a href="/features/translation-api">Localazy API</a> allows users to connect their projects to the Localazy platform and automate their localization, push new source texts to Localazy, fetch translations, and interact with various features and aspects of Localazy programmatically. </p><h3 id="when-should-you-use-the-api-instead-of-the-cli">When should you use the API instead of the CLI? <a class="markdownit-header-anchor" href="#when-should-you-use-the-api-instead-of-the-cli">🔗</a></h3><p>You can integrate your project with Localazy in various ways. Apart from manual file uploads and our native integrations (for example, <a href="/features/strapi-localization-plugin">Strapi Localization Plugin</a> or the <a href="/features/figma-localization-plugin">Figma Plugin</a>), you can also use <a href="/features/cli">Localazy CLI</a> to handle content transfers programmatically. </p><p>Both options have their advantages (e.g., CLI is arguably better for handling static files) but let's quickly discuss why using API is a good idea.</p><ol><li>The API allows you to build a native Localazy integration into your product. </li><li>The Localazy API is great for handling automated content transfers and can tap into other Localazy features such as <a href="/blog/how-to-use-ocr-to-achieve-high-quality-translations">Screenshots</a>, <a href="/docs/general/how-to-define-your-glossary">Glossary</a>, and others programmatically. </li><li>The API approach is the most adaptable because it adds new possibilities and allows you to create your own logic to use it effectively.</li><li>Localazy API is preferred for custom integrations and workflows.</li></ol><h3></h3><h2 id="before-you-start">🏁 Before you start <a class="markdownit-header-anchor" href="#before-you-start">🔗</a></h2><p>To follow this guide, you need a <a href="/register">free Localazy account</a> and a basic understanding of how <a href="/dictionary/api">REST API</a> works and how to use <a href="/dictionary/postman">Postman</a> for API testing.</p><h4 id="limitations">Limitations</h4><p>Please bear in mind that the Localazy API also has some limitations in terms of requests and the max size of content it can handle per request. You can learn more in the <a href="https://localazy.com/docs/api/limits">API documentation</a>.</p><h2 id="getting-started-with-the-localazy-api">🚩 Getting Started with the Localazy API <a class="markdownit-header-anchor" href="#getting-started-with-the-localazy-api">🔗</a></h2><p>The Localazy API employs standard HTTP response codes, authentication, verbs, and resource-based URLs. All endpoints are relative to the base URL, <code>https://api.localazy.com</code>. The documentation for all endpoints is available <a href="https://documenter.getpostman.com/view/25109945/2s8Z6yVY2U#7f1d0707-776a-4255-99f1-dfb128cb8610">here</a>. </p><blockquote>You must authenticate your request in order to access all endpoints because they are protected by access tokens.</blockquote><h3 id="integration-of-localazy-api">Integration of Localazy API <a class="markdownit-header-anchor" href="#integration-of-localazy-api">🔗</a></h3><p>In this section, we'll create an online reading application where users can see a list of their favorite books in their preferred language. To handle content translation, we will make use of the Localazy API.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/Screenshot-2023-02-05-at-8.21.42-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1146" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/Screenshot-2023-02-05-at-8.21.42-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/Screenshot-2023-02-05-at-8.21.42-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/02/Screenshot-2023-02-05-at-8.21.42-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/02/Screenshot-2023-02-05-at-8.21.42-PM.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>This is the front-end UI for the reading web application, built with React.</figcaption></figure><blockquote>As we'd like to focus on localization in this article, so you can get the front-end code in the <a href="https://github.com/Marienoir/Localazy-Blog/tree/main/book-app">GitHub repository</a>.</blockquote><h4 id="create-a-new-localazy-project">Create a new Localazy project</h4><p>Log in and create a new project in Localazy as shown below, in the <a href="https://localazy.com/my/dashboard">Localazy dashboard</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-10.png" class="kg-image" alt loading="lazy" width="1600" height="1090" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-10.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-10.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>In the screenshot below, you can see I named my project <strong>reading-app.</strong> Follow similarly and call your project how you want, then click <strong>Create New Project </strong>to continue.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-11.png" class="kg-image" alt loading="lazy" width="1600" height="903" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-11.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-11.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>After creating a project, we are directed to a new page where we can choose the type of integration.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-12.png" class="kg-image" alt loading="lazy" width="1600" height="943" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-12.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-12.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Select the API integration from the list and follow the guidelines. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-13.png" class="kg-image" alt loading="lazy" width="1600" height="948" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-13.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-13.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>We need to obtain the access token from the Developer Console before we can begin using the Localazy API. This must be included in the authorization header for all API requests.</p><pre><code class="language-shell">Authorization: Bearer {{token}}</code></pre><p>The project token is available in the <a href="/console/tokens">developer console</a>. This token gives you access to a single project in Localazy and grants read and write access. </p><h2 id="get-project-id">📋 Get Project ID <a class="markdownit-header-anchor" href="#get-project-id">🔗</a></h2><p>The first step is to <a href="/docs/api/projects">obtain the ID of the newly created project</a>. Navigate to Postman and make a GET request to the URL <code>https://api.localazy.com/projects</code></p><blockquote>Remember to include the token in the authorization header for the request.</blockquote><p>The response is similar to the following code snippets:</p><pre><code>[
   {
       "id": "_a7922645342385287434",
       "orgId": "_a8097378946439832685",
       "name": "reading-app",
       "slug": "reading-app",
       "image": "",
       "url": "https://localazy.com/p/reading-app",
       "description": "",
       "type": "restricted",
       "tone": "not_specified",
       "role": "owner",
       "sourceLanguage": 85
   }
]</code></pre><h2 id="import-content-to-localazy-using-api">📑 Import content to Localazy using API <a class="markdownit-header-anchor" href="#import-content-to-localazy-using-api">🔗</a></h2><p>The next step is to <a href="/docs/api/import">import content from our reading app project into Localazy</a> using the project ID. The content to be translated should be saved in a JSON file with a key and value format. You can view the content to be translated in the <code>public/locales/en/translation.json</code> file of the <a href="https://github.com/Marienoir/Localazy-Blog/tree/main/book-app">repository linked earlier</a>.</p><p>The request body of the API call is similar to this:</p><pre><code>{
 "files": [
   {
     "name": "translation.json",
     "content": {
     "type": "json",
       "en": {
           "title": {
               "title1": "The Psychology of Harry Potter",
               "title2": "Quinn",
               "title3": "A Thief in the Night",
               "title4": "Demon Dentist",
               "title5": "Why We Sleep",
               "title6": "Invisible Women"
           },
           "author": {
               "author1": "Neil Mulholland",
               "author2": "Trevor Birney",
               "author3": "Life and Death in the Vatican",
               "author4": "David Walliams",
               "author5": "Matthew Walker",
               "author6": "Caroline Criado Perez"
           },
           "description": {
                "description1": "Harry Potter has provided a portal to the wizarding world for millions of readers, but an examination of Harry, his friends and his enemies will take us on yet another journey",
        "description2": "This is the gripping inside story of Ireland's bankrupt billionaire, Sean Quinn, who went from rags to riches before gambling it all on Anglo-Irish Bank shares and became the world's biggest personal loser of the economic.",
        "description3": " A model of investigatory journalism and a small masterpiece of the genre.” Anthony Burgess On the eve of September 28, 1978, John Paul I died unexpectedly apparently of a heart attack after ",
        "description4": " Darkness had come to the town. Strange things were happening in the dead of night. Children would put a tooth under their pillow for the tooth fairy, but in the morning they would wake up to find a dead slug",
        "description5": "Sleep is one of the most important but least understood aspects of our life, wellness, and longevity. An explosion of scientific discoveries in the last twenty years has shed new light on this fundamental aspect of our lives.",
        "description6": "Winner of the 2019 Royal Society Science Book Prize Shortlisted for the 2019 Financial Times and McKinsey Business Book of the Year Award Data is fundamental to the modern world."
           }
       }
     }
   }
 ]
}</code></pre><p>The file's id should be returned as the response.</p><h3 id="translate-your-imported-content-with-localazy">Translate your imported content with Localazy <a class="markdownit-header-anchor" href="#translate-your-imported-content-with-localazy">🔗</a></h3><p>After importing the file, the translation will be handled in the localazy dashboard. We can add languages here for translations. We want to add <strong>French (fr)</strong>, <strong>Spanish (es)</strong>, and <strong>Czech (cs)</strong> as well.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-14.png" class="kg-image" alt loading="lazy" width="1600" height="734" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-14.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-14.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>We can view the imported file in the source language (English).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-15.png" class="kg-image" alt loading="lazy" width="1600" height="950" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-15.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-15.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>You can then use the Localazy <a href="/features/pre-translate">machine translation feature</a> to translate all keys in our imported content. In an actual project, you can also invite translators to help you or <a href="/term/professional-translation-services">order professional translation services</a> directly inside the platform.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-16.png" class="kg-image" alt loading="lazy" width="1600" height="1113" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-16.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-16.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-16.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>At this stage, we have handled translation across all languages.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-17.png" class="kg-image" alt loading="lazy" width="1600" height="741" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-17.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-17.png 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="download-translations-via-api">📥 Download translations via API <a class="markdownit-header-anchor" href="#download-translations-via-api">🔗</a></h2><p>We want to download the French, Czech, and Spanish translated files and store the contents in a <code>public/locales/fr/translation.json</code><strong>, </strong><code>public/locales/cs/translation.json</code><strong>,</strong> and <code>public/locales/es/translation.json</code> files respectively. </p><p>We can also configure the <code>shared/i18n/i18n.js</code> to include the supported languages in the application.</p><p>Now, we are ready to <a href="/docs/api/files">download all translated files</a> into our reading-app project. Localazy API has an endpoint to retrieve all the files in your project as a GET request to <code>https://api.localazy.com/projects/{projectId}/files</code> </p><p>All files with their ids are fetched, and the content of the files can be downloaded with the Localazy API download endpoint. Send a POST request to <code>https://api.localazy.com/projects/{projectId}/files/{fileId}/download/{language}</code> </p><p>The Spanish translation of the reading-app project can be seen below:</p><pre><code>{
    "author": {
        "author1": "Neil Mulholland",
        "author2": "Trevor Birney",
        "author3": "Vida y muerte en el Vaticano",
        "author4": "David Walliams",
        "author5": "Matthew Walker",
        "author6": "Caroline Criado Pérez"
    },
    "description": {
        "description1": "Harry Potter ha proporcionado un portal al mundo mágico para millones de lectores, pero si analizamos a Harry, sus amigos y sus enemigos emprenderemos otro viaje: a través de la psique de los muggles (¡y del mago!) mente.",
        "description2": "Esta es la apasionante historia interna del multimillonario irlandés en quiebra, Sean Quinn, que pasó de la pobreza a la riqueza antes de apostarlo todo por las acciones del banco angloirlandés y se convirtió en el mayor perdedor personal del mundo tras el colapso económico de 2008.",
        "description3": " Un modelo de periodismo de investigación y una pequeña obra maestra del género». —Anthony Burgess La víspera del 28 de septiembre de 1978, Juan Pablo I murió inesperadamente —al parecer de un ataque al corazón— tras un reinado de solo 33 días.",
        "description4": " La oscuridad había llegado a la ciudad. Ocurrían cosas extrañas a altas horas de la noche. Los niños ponían un diente debajo de la almohada para el hada de los dientes, pero por la mañana se despertaban y encontraban una babosa muerta",
        "description5": "El sueño es uno de los aspectos más importantes pero menos entendidos de nuestra vida, bienestar y longevidad... Una explosión de descubrimientos científicos en los últimos veinte años ha arrojado nueva luz sobre este aspecto fundamental de nuestras vidas.",
        "description6": "Ganador del premio del Libro de Ciencias de la Royal Society 2019, preseleccionado para los premios Financial Times y McKinsey Business Book of the Year 2019, los datos son fundamentales para el mundo moderno."
    },
    "title": {
        "title1": "La psicología de Harry Potter",
        "title2": "Quinn",
        "title3": "Un ladrón en la noche",
        "title4": "Dentista demoníaco",
        "title5": "Por qué dormimos",
        "title6": "Mujeres invisibles"
    }
}</code></pre><p>The updated UI showing the translated content can be seen below:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/Screenshot-2023-02-06-at-9.17.10-AM.png" class="kg-image" alt loading="lazy" width="2000" height="1147" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/Screenshot-2023-02-06-at-9.17.10-AM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/Screenshot-2023-02-06-at-9.17.10-AM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/02/Screenshot-2023-02-06-at-9.17.10-AM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/02/Screenshot-2023-02-06-at-9.17.10-AM.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Czech (cs) translated page</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/Screenshot-2023-02-06-at-9.17.00-AM.png" class="kg-image" alt loading="lazy" width="2000" height="1147" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/Screenshot-2023-02-06-at-9.17.00-AM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/Screenshot-2023-02-06-at-9.17.00-AM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/02/Screenshot-2023-02-06-at-9.17.00-AM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/02/Screenshot-2023-02-06-at-9.17.00-AM.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Spanish (es) translated page</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/Screenshot-2023-02-06-at-9.17.23-AM.png" class="kg-image" alt loading="lazy" width="2000" height="1147" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/Screenshot-2023-02-06-at-9.17.23-AM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/Screenshot-2023-02-06-at-9.17.23-AM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/02/Screenshot-2023-02-06-at-9.17.23-AM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/02/Screenshot-2023-02-06-at-9.17.23-AM.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>French (fr) translated page</figcaption></figure><h2 id="update-the-source-key-using-api">✒️ Update the source key using API <a class="markdownit-header-anchor" href="#update-the-source-key-using-api">🔗</a></h2><p>A source key is a single key:value pair in the source language JSON file. When you try to list all contents in a file in the English language, you can easily see all of the source keys.</p><p>We can view all the source keys in a file by navigating to Postman and making a GET request to the URL <code>https://api.localazy.com/projects/{projectId}/files/{fileId}/keys/en</code></p><p>You should get a response similar to this:</p><pre><code>{
   "keys": [
       {
           "id": "_a7917183974514294240", //This is a source key id
           "key": [
               "title",
               "title2"
           ],
           "value": "Quinn",
           "vid": -7917183974514294239
       },
       {
           "id": "_a7917183974514294228",
           "key": [
               "author",
               "author2"
           ],
           "value": "Trevor Birney",
           "vid": -7917183974514294227
       },
       {
           "id": "_a7917183974514294216",
           "key": [
               "description",
               "description2"
           ],
           "value": "This is the gripping inside story of Ireland's bankrupt billionaire, Sean Quinn, who went from rags to riches before gambling it all on Anglo-Irish Bank shares and became the world's biggest personal loser of the economic collapse of 2008.",
           "vid": -7917183974514294215
       },
       {
           "id": "_a7917183974514294210",
           "key": [
               "description",
               "description5"
           ],
           "value": "Sleep is one of the most important but least understood aspects of our life, wellness, and longevity ... An explosion of scientific discoveries in the last twenty years has shed new light on this fundamental aspect of our lives.",
           "vid": -7917183974514294209
       }
   ]
}</code></pre><p>A project's <a href="https://localazy.com/docs/api/source-keys">source key can be updated by sending a PUT request</a> to the URL <code>https://api.localazy.com/projects/{projectId}/keys/{keyId}</code> where <code>projectId</code> is the id of the project and <code>keyId</code> is the id of the key whose properties are being updated.</p><p>We can update the source key for the title key id so it can be <strong>hidden </strong>from being translated. </p><blockquote>Before you continue reading, I recommend you read more about the different states source keys can be in: <a href="/faq/source-keys/what-is-the-difference-between-hidden-and-deprecated-source-keys">What is the difference between hidden and deprecated source keys?</a></blockquote><p>The request body includes the following snippets:</p><pre><code>{
 "deprecated": -1,
 "hidden": true,
 "comment": "This title1 key will be hidden from translation",
 "limit": 100
}</code></pre><ul><li><strong>The deprecated field - </strong>denotes a value where a version greater than the value deprecates the key, and it can be set to -1 to indicate that the key is not deprecated.</li><li><strong>The hidden field - </strong>is a boolean value that indicates whether or not the key should be translated in Localazy.</li><li><strong>The comment field - </strong>contains a comment that is visible to translators.</li><li><strong>The limit field - </strong>specifies a translation limit for that key, which can be disabled by setting its value to -1.</li></ul><p>The response returns true as a value.</p><p>We can access the Localazy dashboard and see something like this.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-18.png" class="kg-image" alt loading="lazy" width="1600" height="334" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-18.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-18.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-18.png 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="delete-the-source-key-using-api">🚮 Delete the source key using API <a class="markdownit-header-anchor" href="#delete-the-source-key-using-api">🔗</a></h2><p>The <a href="/docs/api/source-keys#delete-source-key">source key can also be removed by sending a DELETE request</a> to <code>https://api.localazy.com/projects/{projectId}/keys/{keyId}</code></p><p>The result is returned as a true value by the response.</p><p>We can access the Localazy dashboard, and this key is no longer visible because it has been deleted.</p><h2 id="add-glossary-terms-using-api">📖 Add Glossary terms using API <a class="markdownit-header-anchor" href="#add-glossary-terms-using-api">🔗</a></h2><p>The <a href="/features/glossary">Glossary</a> ensures that translations are precise and consistent, which is critical for successful app localization. This <a href="https://localazy.com/blog/introduction-to-translation-glossary-best-practices">article</a> contains a more detailed explanation of the glossary. </p><p><a href="/docs/api/glossary">Glossary terms can be added via API</a> using the URL:	<code>https://api.localazy.com/projects/{projectId}/glossary</code></p><p>In our project, for example, we want the author's name to be consistent throughout the project, so we would include the author's name as a term. The request body looks like the following:</p><pre><code>{
   "description": "The Author Name",
   "translateTerm": false,
   "caseSensitive": true,
   "term": [
       {
           "lang": "en",
           "term": "Neil Mulholland"
       }
   ]
}</code></pre><p>The <strong>translateTerm</strong> key is set to false because we do not want Localazy to translate this term. It is also a case-sensitive term because any other case of the term is not in a valid glossary and will be available for translation in Localazy.</p><p>The id of the newly created glossary is returned in the response.</p><p>We can go to the Localazy dashboard and navigate to the Glossary tab and expect to see something similar to this:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-19.png" class="kg-image" alt loading="lazy" width="1600" height="579" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-19.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-19.png 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="create-a-new-screenshot-using-the-api">🖼️ Create a new screenshot using the API  <a class="markdownit-header-anchor" href="#create-a-new-screenshot-using-the-api">🔗</a></h2><p>The Localazy API allows you to create screenshots. The screenshots feature is available in the <a href="https://localazy.com/docs/general/localazy-autopilot-tier">Autopilot plan</a> and higher tiers. You can upgrade your account by navigating to your dashboard <a href="https://localazy.com/my/marketplace">billings page</a>.</p><p>We can <a href="/docs/api/screenshot-management">upload a new screenshot for our project by sending a POST request</a> to the URL <code>https://api.localazy.com/projects/{projectId}/screenshots</code></p><p>Where <em>projectId</em> is the ID of the project.</p><p>The request object should be a base64-encoded image in data format. Images can be converted to a base64-encoded format <a href="https://www.base64-image.de/">here</a>.</p><p>It is important to note:</p><ul><li>Images in JPEG or PNG format are supported.</li><li>The image must be at least 36x36 pixels in size.</li><li>The image must be 4096x4096 or smaller in width.</li><li>The image must be less than 5 MB in size.</li></ul><p>The response body contains the identifier for the newly created screenshot.</p><p>In your dashboard, navigate to the screenshot tab, and you can see the new image</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/02/Screenshot-2023-02-05-at-9.12.42-PM.png" class="kg-image" alt loading="lazy" width="2000" height="792" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/Screenshot-2023-02-05-at-9.12.42-PM.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/Screenshot-2023-02-05-at-9.12.42-PM.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/02/Screenshot-2023-02-05-at-9.12.42-PM.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/02/Screenshot-2023-02-05-at-9.12.42-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><blockquote>There are many other options that allow for screenshot management entirely automated via the Localazy API. Read more in the <a href="/docs/api/screenshot-management">Screenshots API documentation</a>.</blockquote><h2 id="advanced-options-overview">🎛️ Advanced Options Overview <a class="markdownit-header-anchor" href="#advanced-options-overview">🔗</a></h2><h3 id="manage-duplicate-strings-using-api">Manage duplicate strings using API <a class="markdownit-header-anchor" href="#manage-duplicate-strings-using-api">🔗</a></h3><p>Multiple files can be imported to Localazy with similar source keys. This can lead to source key duplication in the imported content. Luckily, you can use Localazy to resolve issues coming from duplicate content with the feature called <a href="/docs/general/duplicity-linking">Duplicity Linking</a>. </p><blockquote>Duplicity linking is available from the <a href="https://localazy.com/tiers/agency">Agency plan</a>.</blockquote><p>In this section, we will look at <a href="/docs/api/duplicities">how to use the Localazy API to resolve duplicate strings</a>. If you have duplicate keys in your project, you can solve them by linking them together. When a key is linked to another, it copies its content when it is published.</p><p>When a key is linked, it is marked as hidden by default and does not need to be translated. It can have its own content, but it is not used during publishing and is replaced by the content of the linked key as long as the link is present.</p><blockquote>Please keep in mind that existing links can prevent you from performing certain actions, such as deleting target keys or clearing project content.</blockquote><p>It's not possible to create a link to a key that is already linked to another one.</p><p>To test out duplicates and manage duplicities in our project, we'll need to create duplicates of values, which we'll do by importing another file with a body request like this:</p><pre><code>{
 "files": [
   {
     "name": "duplicated-translation.json",
     "content": {
       "type": "json",
       "en": {
           "title": {
               "title1": "The Psychology of Harry Potter",
           },
         
           "description": {
               "description1": "Harry Potter has provided a portal to the wizarding world for millions of readers, but an examination of Harry, his friends and his enemies will take us on yet another journey: through the psyche of the Muggle (and wizard!) mind.",
               "description2": "This is the gripping inside story of Ireland's bankrupt billionaire, Sean Quinn, who went from rags to riches before gambling it all on Anglo-Irish Bank shares and became the world's biggest personal loser of the economic collapse of 2008."
            
           }
       }
     }
   }
 ]
}</code></pre><p>You'll notice that the content has values that are similar to those in the <strong>translated.json</strong> file that we imported into Localazy initially. Duplicities exist between:</p><ul><li><code>title.title1</code> of the <strong>duplicated-translation.json</strong> and the <code>title.title1</code> of the <strong>translation.json</strong></li><li><code>description.description1</code> of the <strong>duplicated-translation.json</strong> and the <code>description.description1</code> of the <strong>translation.json</strong>  </li><li><code>description.description2</code> of the <strong>duplicated-translation.json</strong> and the <code>description.description2</code> of the <strong>translation.json</strong>  </li></ul><p>You can see the percentage of duplicates in the Translations tab of your project or by navigating to the <a href="/console">Developer Console</a>.</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/cNKcEgId-pVJEcmLRW9uu2i70u0Ti6mABs7OYgOo1FzWIMvltwP-p-4RtpOI3MB_Ukc0kUIYN9wLAaOc4-dk2tFvnwPKSTWZ0l1kKTCFlOYymlpZ527XZtrN9m0QBgKN1S8H_XDu2lndL9gqibS8MaM" class="kg-image" alt loading="lazy"></figure><p>You can click on "Resolve duplicities" to easily track the duplicities that will be resolved using the API. As shown below, we currently have three unresolved duplicates.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-20.png" class="kg-image" alt loading="lazy" width="1600" height="568" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-20.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-20.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-20.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>Send a POST request to the URL <code>https://api.localazy.com/projects/{projectId}/links/{keyId}</code> with the following request body:</p><pre><code>{
"keyId": "_a7917183974514294216",
"project": "_a7922645342385287434"
}</code></pre><p>The <code>projectId</code> in the URL parameter is the id of the source translation file's project (<em>translation.json</em>), and the <code>keyId</code> is the id of the key to be linked to (<em>title.title1</em>). </p><p>The <code>keyId</code> in the request object is the id of the target (<em>title.title1</em>), and <code>project</code> is the id of the target file (<em>duplicated-translation.json</em>).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-21.png" class="kg-image" alt loading="lazy" width="1600" height="298" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-21.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-21.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-21.png 1600w" sizes="(min-width: 720px) 720px"></figure><p>A successful request returns a true value, and you should see the linked key in the resolved tab of the duplicities on your dashboard.</p><blockquote>Learn more about <a href="/blog/introducing-the-duplicity-linking-feature-software-localization">Duplicity Linking feature on the Localazy Blog</a></blockquote><h3 id="manage-webhooks-using-api">Manage webhooks using API <a class="markdownit-header-anchor" href="#manage-webhooks-using-api">🔗</a></h3><p><a href="/docs/general/webhooks">Webhooks</a> are user-defined custom callbacks on specific Localazy actions. There are currently five actions available to hook into your system.</p><p>These actions include:</p><ul><li><code>comment_added</code> - This hook is triggered when a comment is added to the project.</li><li><code>import_finished</code>- This webhook is triggered when importing is finished. This happens only when there are added, updated or deprecated keys.</li><li><code>import_finished_empty</code>- The webhook is invoked when importing is finished. This event is invoked when the importing is finished with no changes.</li><li><code>project_published</code>- This is triggered when the project is successfully published.</li><li><code>tag_promoted</code>- This webhook is triggered whenever a release tag is promoted to another tag.</li></ul><blockquote>The webhooks feature is available in the <a href="https://localazy.com/docs/general/localazy-autopilot-tier">Autopilot plan</a> and higher tiers.</blockquote><p>Localazy authenticates the webhook events it sends to your endpoints by including a signature in the request header. This enables you to confirm that the events were sent by Localazy rather than a third party.</p><p>Now let's try creating a new webhook configuration, that gets triggered when a new comment is added to our project, via the Localazy API.</p><p>Navigate to Postman and send a POST request to the URL: <code>https://api.localazy.com/projects/{projectId}/webhooks</code></p><p>The request body is similar to the following snippets:</p><pre><code>{
 "items": [
   {
     "enabled": true,
     "customId": "custom-id",
     "description": "Inform backend when a comment is added.",
     "url": "https://webhook-target-url.com/webhook",
     "events": [
       "comment_added"
     ]
   }
 ]
}
</code></pre><p>The result is returned as a true value. And you can check the new webhook inside the Localazy platform by navigating to the project settings.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-22.png" class="kg-image" alt loading="lazy" width="1600" height="654" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-22.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-22.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-22.png 1600w" sizes="(min-width: 720px) 720px"></figure><h3 id="how-does-the-api-work-with-localazy-cdn">How does the API work with Localazy CDN? <a class="markdownit-header-anchor" href="#how-does-the-api-work-with-localazy-cdn">🔗</a></h3><p>Because Localazy API is not designed to serve translated content directly to your users, you should use the Localazy CDN instead. You can use the Localazy API to obtain CDN metadata and serve your end-users always up-to-date translations. </p><p><a href="https://localazy.com/docs/general/localazy-cdn">Localazy CDN</a> is a reliable way how to deliver fresh translations across the globe with low latency. Build on top of Amazon technologies, your localizable files are available from numerous data centers all around the world. Localazy CDN is suitable for deployments in production. It delivers translated files quickly and reliably and can accommodate a large number of users from around the world.</p><p>We also make <a href="https://localazy.com/docs/general/localazy-cdn#metafiles">additional metadata available through the CDN</a> allowing you to build automated localizable solutions controlled fully from within Localazy.</p><blockquote>Learn more about <a href="/tags/cdn">Localazy CDN on the blog</a></blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>And that's it! Now you are ready to manage many aspects of your Localazy projects programmatically. I hope you tried all examples above and hopefully discovered new possible ways to further automate your localization workflow using the Localazy API. </p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/03/ultimate-localazy-api-guide.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Translations to Baltic languages: Guide to Lithuanian]]></title>
            <link>https://localazy.com/blog/translations-baltic-languages-guide-to-lithuanian</link>
            <guid isPermaLink="false">translations-baltic-languages-guide-to-lithuanian</guid>
            <pubDate>Thu, 02 Nov 2023 09:19:10 GMT</pubDate>
            <description><![CDATA[Lithuanian is a unique and ancient language spoken by 3 million people. Why should you order Lithuanian translations at Localazy? To ensure accuracy and proper grammar, you should always enlist professional native Lithuanian translators. Learn why it is vital for Lithuanian in the article. ]]></description>
            <content:encoded><![CDATA[<p>As more and more businesses expand their activities around the world, the need for professional translation services is becoming more sought after and important than ever. </p><p>One group of languages that can pose a challenge for international companies is the Baltic languages. These include Lithuanian, Latvian, and Estonian. In this article, we will provide a guide for companies that are considering translating their websites, software, or digital content into Lithuanian.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/03/image-6.png" class="kg-image" alt loading="lazy" width="1070" height="900" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-6.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-6.png 1070w" sizes="(min-width: 720px) 720px"><figcaption>Lithuania is a Baltic state located in Eastern Europe | Image Source: <a href="https://commons.wikimedia.org/wiki/File:EU-Lithuania.svg">Wikimedia Commons</a></figcaption></figure><h2 id="the-uniqueness-of-the-lithuanian-market">⛹️‍♂️ The uniqueness of the Lithuanian market <a class="markdownit-header-anchor" href="#the-uniqueness-of-the-lithuanian-market">🔗</a></h2><p>Lithuanian is spoken by approximately <strong>3 million people</strong> and is the official language of <a href="https://hub.localazy.com/en/regions/lt-lithuania">Lithuania</a>, the <a href="https://hub.localazy.com/en/regions/eu-european-union">European Union</a>, and a minority language in Poland. Lithuania's priorities in business development are IT and cooperation with European partners.</p><p>It occupies a high position in the rating of ease of doing business. For the convenience of business contacts, Lithuania even tried to switch to the German time zone in 1998, and the Internet speed in Lithuania is one of the fastest in the region. Lithuania uses the euro and is part of the Schengen visa-free area. A Lithuanian passport allows you to visit about 170 countries of the world without a visa.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/03/image-9.png" class="kg-image" alt loading="lazy" width="1470" height="980" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-9.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-9.png 1470w" sizes="(min-width: 720px) 720px"><figcaption>The flag of Lithuania | Photo by <a href="https://unsplash.com/@westside7">Mantas Bytautas</a></figcaption></figure><h2 id="specifics-and-pitfalls-of-lithuanian">🤔 Specifics and pitfalls of Lithuanian <a class="markdownit-header-anchor" href="#specifics-and-pitfalls-of-lithuanian">🔗</a></h2><p>Lithuanian is one of the Baltic languages. It shares features with another living Baltic language in the region, <a href="https://hub.localazy.com/en/languages/lv-latvian">Latvian</a>. However, it is different in grammar, vocabulary, and pronunciation. </p><p>One of the problems with translating into Lithuanian is its word order, as it is completely different from other languages. This language has seven cases of nouns and multiple verb tenses, which makes it more complex than other European languages. </p><p>An interesting fact about the Lithuanian language is the complexity of its system of word endings, which change depending on the context of the sentence. Therefore, these nuances require experienced translators, and although <a href="/dictionary/machine-translation">machine translations</a> consolidate their place in the translation industry, in the case of Lithuanian, they are often useless.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/03/image-7.png" class="kg-image" alt loading="lazy" width="1473" height="979" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-7.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-7.png 1473w" sizes="(min-width: 720px) 720px"><figcaption>Vilnius is the capital city of Lithuania | Photo by <a href="https://unsplash.com/@gubaidulin">Igor Gubaidulin</a></figcaption></figure><h2 id="professional-localization-as-a-necessity-for-success">👔 Professional localization as a necessity for success <a class="markdownit-header-anchor" href="#professional-localization-as-a-necessity-for-success">🔗</a></h2><p>An essential aspect to consider when translating into Lithuanian is the country's cultural context. Lithuanian culture has its own unique customs and traditions that can influence the translation of certain words, phrases, and their understanding. For example, some words may have a different meaning in Lithuanian than in English, and therefore the message needs to be adapted to local readers in order to make the text meaningful to them. </p><p>In recent decades, a lot of new terminology has appeared, in some cases revising old vocabulary. There is even a state body for this, the "Linguistic Commission," which can declare a word inappropriate and require its replacement with a newly invented neologism.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>To sum up, translating texts into Lithuanian requires experienced translators who know the unique grammar, vocabulary, and pronunciation of this language and its current form.</p><p>In addition, the cultural context plays a vital role in ensuring that the translation actually conveys the intended meaning to the Lithuanian readers. By following these essential requirements, international companies can successfully translate their texts into Lithuanian and effectively reach out to local citizens and companies.</p><h2 id="lithuanian-localization-with-localazy">🚩 Lithuanian localization with Localazy <a class="markdownit-header-anchor" href="#lithuanian-localization-with-localazy">🔗</a></h2><p>Localazy allows you to translate your software projects, websites, and other digital content into many languages, including Lithuanian. Our professional translators are all native speakers, so you don't have to worry about the quality of work if you prepare a good context bank for your texts!</p><blockquote><em><strong>Learn how to order translations for your project in</strong></em><br><em><strong><a href="https://localazy.com/blog/guide-localazy-translation-services">The ultimate guide to Localazy translation services</a>.</strong></em></blockquote><p>Translate your projects from <a href="https://localazy.com/translate/en-lt">English to Lithuanian</a> comfortably with Localazy now and reach millions of speakers in the Baltic region of Europe.</p><p></p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/11/locales-lithuanian.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Add new languages from your address bar!]]></title>
            <link>https://localazy.com/blog/release-update-add-new-languages-from-your-address-bar</link>
            <guid isPermaLink="false">release-update-add-new-languages-from-your-address-bar</guid>
            <pubDate>Thu, 02 Mar 2023 14:10:28 GMT</pubDate>
            <description><![CDATA[Find out what's new inside your favorite localization platform in the latest Release Update! Learn more about improved security measures, Strapi & Storyblok plugins updates, and many other fixes and tweaks we've been working on recently.]]></description>
            <content:encoded><![CDATA[<p>This Release Update is shorter than usual, but we have been working on many improvements since the last update and want to share them with you as soon as the new release is out.</p><h2 id="languagenew">🆕 language.new  <a class="markdownit-header-anchor" href="#languagenew">🔗</a></h2><p>You can try a new quirky feature that allows you to add a new language anytime by typing <code>language.new</code> into your browser. You will be redirected to the last project you have opened with the new language selection window open. Go ahead and try it now!</p><blockquote>➡️ Try it at <a href="https://language.new">language.new</a></blockquote><h2 id="post-your-feedback-on-our-content">💌 Post your feedback on our content <a class="markdownit-header-anchor" href="#post-your-feedback-on-our-content">🔗</a></h2><p>Across the Localazy website, you can now find calls for feedback below docs articles, FAQs, and even blog articles. Give this release a thumbs up below if you enjoy reading about Localazy improvements! :)</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/03/image.png" class="kg-image" alt loading="lazy" width="887" height="231" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image.png 600w, https://ghost.localazy.com/content/images/2023/03/image.png 887w" sizes="(min-width: 720px) 720px"><figcaption>Let us know if our content needs a revision!</figcaption></figure><h2 id="improved-webhook-security-and-new-triggers">🔐 Improved Webhook security and new triggers <a class="markdownit-header-anchor" href="#improved-webhook-security-and-new-triggers">🔗</a></h2><p>We've implemented a webhook security mechanism that allows you to verify that the request is coming unmodified from Localazy.</p><blockquote>➡️ <a href="https://localazy.com/docs/api/webhooks-api">More details are in the documentation</a></blockquote><p>The secret key is now available through API but will soon be added to UI as well.</p><p>We've also added support for new event triggers, allowing you to send a request from Localazy whenever a <a href="/features/release-tags">release tag</a> is promoted to another tag.</p><h2 id="new-languages-supported-by-deepl">🇰🇷 🇳🇴 New languages supported by DeepL <a class="markdownit-header-anchor" href="#new-languages-supported-by-deepl">🔗</a></h2><p>We have also added support for Korean and Norwegian when using <a href="/dictionary/deepl">DeepL</a>. DeepL is available with the Localazy Autopilot plan and above.</p><blockquote>➡️ Learn more about <a href="https://localazy.com/docs/general/additional-mt-engines">Machine Translations in Localazy</a></blockquote><h2 id="improved-metafiles-for-localazy-cdn">🌐 Improved metafiles for Localazy CDN <a class="markdownit-header-anchor" href="#improved-metafiles-for-localazy-cdn">🔗</a></h2><p>We are currently working on a significant update to our <a href="/features/language-cdn">Language CDN</a>, and recently we've added more information about each individual file in the metadata file (available through CLI and CDN).</p><p>Each file now contains <code>cdnFiles</code> property where you can find links to the exact locations of files for each language.</p><p>Now it's also possible to construct those URLs dynamically from provided parameters:</p><pre><code>https://delivery.localazy.com/{projectId}/{tagId}/{cdnHash}/{lang}/{fileName}</code></pre><blockquote>➡️ Learn more about <a href="https://localazy.com/docs/cli/metadata-file">Meta files in the documentation</a></blockquote><h2 id="proxy-support-for-localazy-cli">🔌 Proxy support for Localazy CLI <a class="markdownit-header-anchor" href="#proxy-support-for-localazy-cli">🔗</a></h2><p>Some organizations have strict policies to run all their traffic from within their network through proxy for security purposes.</p><p>This made our CLI impossible to work with, as it was trying to contact the localazy URL directly.</p><p>We've added a cli option --proxy, which allows configuring the proxy URL.</p><blockquote>➡️ Learn more about the <a href="https://localazy.com/docs/cli/command-line-options#proxy">--proxy option in the documentation.</a></blockquote><h2 id="strapi-plugin-automated-upload-and-download">💜 Strapi plugin automated upload & download <a class="markdownit-header-anchor" href="#strapi-plugin-automated-upload-and-download">🔗</a></h2><p>We have improved the support for Strapi Dynamic Zones, and starting from <code>v0.1.13.rc-0</code>, it's possible to set up automatic downloads and uploads between Strapi and Localazy without clicking the buttons manually each time.</p><p>New settings were added to configure the automatic upload/download behavior. Also, the items can be uploaded individually, so processing the full instance is unnecessary. You can also select which languages you want to upload/download.</p><blockquote>➡️️ Read more articles about <a href="https://localazy.com/tags/strapi">Strapi localization on our blog</a>.</blockquote><h2 id="storyblok-improved-upload-and-download">🎫 Storyblok improved upload and download <a class="markdownit-header-anchor" href="#storyblok-improved-upload-and-download">🔗</a></h2><p>You can now download already localized content from Storyblok to Localazy, and we've vastly improved the process of downloading the Storyblok stories to Localazy.</p><p>A progress bar with a detailed report on what's being downloaded is now available. If the download of an individual story fails, an error report with an error message is displayed, so you can better resolve the problem.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-2.png" class="kg-image" alt loading="lazy" width="1922" height="1094" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/03/image-2.png 1600w, https://ghost.localazy.com/content/images/2023/03/image-2.png 1922w" sizes="(min-width: 720px) 720px"></figure><blockquote>Read more about <a href="https://localazy.com/blog/managing-multilingual-content-with-storyblok-localazy">Managing multilingual content with Storyblok &amp; Localazy</a></blockquote><h2 id="duplicity-linking-batch-actions-and-language-preview">🔗 Duplicity Linking batch actions and language preview  <a class="markdownit-header-anchor" href="#duplicity-linking-batch-actions-and-language-preview">🔗</a></h2><p>And another big improvement was made to our <a href="/docs/general/duplicity-linking">Duplicity Linking</a> feature. You can now manage your duplicities in the Localazy Console with batch actions and display the duplicates in all project languages to check how consistent the translations are across your project.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/03/image-5.png" class="kg-image" alt loading="lazy" width="1303" height="489" srcset="https://ghost.localazy.com/content/images/size/w600/2023/03/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/03/image-5.png 1000w, https://ghost.localazy.com/content/images/2023/03/image-5.png 1303w" sizes="(min-width: 720px) 720px"></figure><blockquote><em>Duplicity Linking is an advanced feature that is available in the </em><a href="https://localazy.com/docs/general/localazy-agency-tier"><em>Agency plan</em></a><em> and higher.</em></blockquote><h2 id="improvements-and-fixes">🗃️ Improvements & Fixes <a class="markdownit-header-anchor" href="#improvements-and-fixes">🔗</a></h2><p>There are also many other small improvements and fixes worth mentioning!</p><ul><li>Added Adblock detection when contacting support </li><li>Fixed incorrect validation behavior for plurals</li><li>Fix issue with one-time source key upgrades</li><li>Fix broken project page when having a lower role in the project</li><li>Reworked our release process</li><li>Improved web performance and caching</li></ul><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>And that's all for now! We hope you like the improvements, and we are looking forward to what our developers are planning for the next release.</p><p></p><h2></h2>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/03/Release-update--3-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 11 🌐 CDN Providers for Multilingual Content Delivery]]></title>
            <link>https://localazy.com/blog/top-11-cdn-providers-for-multilingual-content-delivery</link>
            <guid isPermaLink="false">top-11-cdn-providers-for-multilingual-content-delivery</guid>
            <pubDate>Thu, 23 Feb 2023 14:19:45 GMT</pubDate>
            <description><![CDATA[Are you looking for a fast & reliable content delivery network for your multilingual digital product? Learn why you can rely on Localazy CDN to deliver a localized experience to your users worldwide and find a good fit among the 11 best CDN providers! ]]></description>
            <content:encoded><![CDATA[<p>Fast equals good in our era. Especially when it comes to websites rich in content, mobile applications, or other digital products - if you wish to provide a fast experience to your users and customers regardless of their geographical location, you should utilize the power of <a href="/dictionary/cdn">Content Delivery Networks (CDNs)</a>. </p><p>A CDN caches a copy of your website, multimedia, or project assets in multiple data centers worldwide. When the user requests access to your data, a copy is retrieved from the nearest server, shortening the loading time and keeping your users happy. </p><p>In this article, we aim to present you with some of the best and most popular CDN providers on the market. So if you're considering a suitable CDN provider for your multilingual digital product, this list should be an ideal starting point for helping you to step in the right direction.</p><h2 id="localazy-language-cdn">🚩 Localazy Language CDN <a class="markdownit-header-anchor" href="#localazy-language-cdn">🔗</a></h2><p>The main reasons for choosing a particular CDN include geographical coverage, latency, security, and specialty. At Localazy, we've built <a href="/features/language-cdn">our own CDN</a> to deliver language assets. It allows us to <a href="/blog/case-study-rouvy-localization">speed up the content delivery for our clients</a> who localize their multilingual sites and applications with Localazy. </p><blockquote><strong>We specialize in the delivery of language file assets.</strong></blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-44.png" class="kg-image" alt loading="lazy" width="1469" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-44.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-44.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-44.png 1469w" sizes="(min-width: 720px) 720px"><figcaption><em>Image Source: </em><a href="https://localazy.com/features/language-cdn"><em>Localazy CDN</em></a></figcaption></figure><p>Our robust localization CDN is powered by Amazon AWS, allowing you to serve multilingual content to users with minimal latency from multiple data centers spread globally.</p><h2 id="the-benefits-of-localazy-cdn">🚀 The benefits of Localazy CDN <a class="markdownit-header-anchor" href="#the-benefits-of-localazy-cdn">🔗</a></h2><p>Before continuing our list of CDN providers, let's talk about the benefits of using the Localazy CDN for your multilingual online product from the perspective of developers, users, and, most importantly, yourself. </p><h3 id="developers-fully-automated-localization-delivery">Developers: Fully automated localization delivery <a class="markdownit-header-anchor" href="#developers-fully-automated-localization-delivery">🔗</a></h3><p>Automation saves your development team precious time. Localazy CDN effectively shortens the release cycle and reduces the room for error because it takes one of the variables out of the equation! Once you have everything set up, you won't have to worry about releasing new languages into your online product.  </p><p>Localazy CDN is also compatible with different releases of your localizable files in Localazy. All your <a href="/features/release-tags">release tags</a> are automatically available so that you can serve the fresh files for your testing, and once you are sure of their quality, you can push them to production.</p><h3 id="users-instant-worldwide-coverage">Users: Instant worldwide coverage <a class="markdownit-header-anchor" href="#users-instant-worldwide-coverage">🔗</a></h3><p>Serve your users freshly translated content in a matter of minutes. All changes published in Localazy will propagate across all CDN points of presence in minutes. Users are always served the file from the closes geographical location, making the load times shorter and the experience more seamless.</p><h3 id="you-infinitely-scaleable-for-a-fair-price">You: Infinitely scaleable for a fair price <a class="markdownit-header-anchor" href="#you-infinitely-scaleable-for-a-fair-price">🔗</a></h3><p>Our CDN is built on proven and scalable technologies, so you don't need to worry about whether you have ten or ten million users. You can start using the CDN for under $1/month and always keep track of your costs on the dashboard. We serve terabytes of data and hundreds of millions of requests monthly. Localazy CDN is infinitely scaleable and grows with your business. </p><blockquote>Learn more about <a href="/docs/cdn/cdn-pricing">Localazy CDN Pricing</a></blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/02/image-55.png" class="kg-image" alt loading="lazy" width="761" height="456" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-55.png 600w, https://ghost.localazy.com/content/images/2023/02/image-55.png 761w" sizes="(min-width: 720px) 720px"></figure><h2 id="most-popular-cdn-providers">🌐 Most popular CDN providers <a class="markdownit-header-anchor" href="#most-popular-cdn-providers">🔗</a></h2><h3 id="2-cloudflare">2. Cloudflare <a class="markdownit-header-anchor" href="#2-cloudflare">🔗</a></h3><p>Some of the most popular companies worldwide, such as Shopify, Canva, and Zendesk, rely on Cloudflare to keep their services up and running. Cloudflare is available in over 250 countries, offering various services, including a content delivery network (CDN), domain name system (DNS), and, most importantly, security solutions. <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-45.png" class="kg-image" alt loading="lazy" width="1600" height="881" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-45.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-45.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-45.png 1600w" sizes="(min-width: 720px) 720px"><figcaption><em>Image Source: </em><a href="https://www.cloudflare.com/cdn/"><em>Cloudflare CDN</em></a></figcaption></figure><p>In regards to content, the service offers both dynamic and static content delivery solutions. When you sign up for their plans, you're presented with their wide area of services such as lossless image optimization, unmetered DDos protection, a Web Application Firewall (WAF), etc. Find more about their plans <a href="https://www.cloudflare.com/cdn/">here</a>.</p><h3 id="3-amazon-cloudfront">3. Amazon CloudFront <a class="markdownit-header-anchor" href="#3-amazon-cloudfront">🔗</a></h3><p>CloudFront is a CDN offered by Amazon, and it relies on its global infrastructure, which includes systems such as Amazon EC2, Amazon S3, and Elastic Load Balancing. Considering its complex integration nature, the CDN is highly appropriate for OTT providers and digital media providers. <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-46.png" class="kg-image" alt loading="lazy" width="1600" height="699" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-46.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-46.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-46.png 1600w" sizes="(min-width: 720px) 720px"><figcaption><em>Image Source: </em><a href="https://aws.amazon.com/cloudfront/"><em>Amazon CloudFront</em></a></figcaption></figure><p>The only downside of Amazon CloudFront could be its steep learning curve. It takes deep technical knowledge to integrate it, even though not everyone finds it hard. However, as long as you have the right people who can set it up, that can turn into a positive aspect since it allows for detailed customizations.</p><h3 id="4-akamai-cdn">4. Akamai CDN <a class="markdownit-header-anchor" href="#4-akamai-cdn">🔗</a></h3><p>The CDN services provided by Akamai are definitely worth a shot since the company ranks among senior companies in the space. Founded in 1998, its services are suitable for businesses of all sizes. As one of the oldest companies in the market, they have coverage in over 135 countries and claim to service 30% of the internet.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-47.png" class="kg-image" alt loading="lazy" width="1522" height="894" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-47.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-47.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-47.png 1522w" sizes="(min-width: 720px) 720px"><figcaption><em>Image Source: </em><a href="https://www.akamai.com/solutions/content-delivery-network"><em>Akamai CDN</em></a></figcaption></figure><p>Similarly to CloudFront, Akamai comes with advanced features which are challenging to navigate if you're not an expert. Also, the company has fallen down the ranks for a while, as the #11 CDN based on query speed, according to <a href="https://www.cdnperf.com/">CDNPerf</a>. At the moment of writing, the first rank is held by one of the CDNs on this list, bunny.net.</p><h3 id="5-fastly">5. Fastly <a class="markdownit-header-anchor" href="#5-fastly">🔗</a></h3><p>If you've ever read the daily New York Times issues online, you've already benefited from using Fastly. As an internet security, streaming &amp; video, and CDN services provider, the company fuels the content delivery of thousands of sites around the world, including NYT, Giphy, Linktree, and wikiHow.  </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-48.png" class="kg-image" alt loading="lazy" width="1600" height="802" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-48.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-48.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-48.png 1600w" sizes="(min-width: 720px) 720px"><figcaption><em>Image Source: </em><a href="https://www.fastly.com/products/cdn"><em>Fastly CDN</em></a></figcaption></figure><p>The company has around 80 Points of Presence (PoPs) worldwide, which function as locations where the data is cached and distributed. They offer excellent service, but they're also remembered for the major outage <a href="https://www.nytimes.com/2021/06/08/business/fastly-internet-outage.html">on 8th June 2021</a>, affecting popular sites such as NYT, Reddit, and Amazon. However, the issue was resolved quickly, and companies like New York Times still continue to rely on them after the incident.</p><h3 id="6-stackpath">6. StackPath <a class="markdownit-header-anchor" href="#6-stackpath">🔗</a></h3><p>Employing around 300 people, StackPath was founded in 2015, and since then, it has grown swiftly in terms of capacity and features. So far, it's present in 43 markets, with a range of 70+ Edge locations. They allow you to deploy your own virtual appliances, distributed workloads, or edge clouds of your own with serverless solutions requiring zero warmup time.     </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-49.png" class="kg-image" alt loading="lazy" width="1279" height="814" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-49.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-49.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-49.png 1279w" sizes="(min-width: 720px) 720px"><figcaption><em>Image Source: </em><a href="https://www.stackpath.com/products/cdn/"><em>StackPath CDN</em></a></figcaption></figure><p>Customers state that StackPath might not be an excellent option for multi-tiered web applications or delivering 100s of TBs of traffic. And as <a href="https://www.g2.com/products/stackpath-cdn/reviews">seen on the review site, G2</a>, the recent pricing update seems to have upset many long-term customers. However, StackPath is an excellent option for startups, and it comes with many useful features.</p><h3 id="7-edgio-formerly-known-as-limelight-networks">7. Edgio (formerly known as Limelight Networks) <a class="markdownit-header-anchor" href="#7-edgio-formerly-known-as-limelight-networks">🔗</a></h3><p>Limelight Networks went through significant changes in the last years. The acquisition of Edgecast was a big move that marked a rebranding under the name of Edgio. Acquiring a Yahoo-owned company boosted their service qualities and added more capabilities to their offering. As per their CDN solutions, they offer two separate services: Next-Gen WebCDN and Global CDN.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-50.png" class="kg-image" alt loading="lazy" width="1361" height="873" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-50.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-50.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-50.png 1361w" sizes="(min-width: 720px) 720px"><figcaption><em>Image Source: </em><a href="https://edg.io/"><em>Edgio CDN</em></a></figcaption></figure><p>Edgio's capabilities are impressive. It has over 300 PoPs with 250+ Tbps of capacity and over 7,000 global interconnections to last-mile networks, which creates shortcut pathways so content can reach your users quicker. However, users show dissatisfaction regarding the service speed during live webcasting.</p><h3 id="8-keycdn">8. KeyCDN <a class="markdownit-header-anchor" href="#8-keycdn">🔗</a></h3><p>KeyCDN is a CDN provider based in Switzerland with a network coverage spanning six continents. It provides a wide range of features, including Origin Shield, which lets you select a server other than the origin to handle updates, reducing server load. Furthermore, you can effortlessly monitor your CDN performance and use Block Referrer to blacklist the domains that hotlink content and images, which reduces your bandwidth costs. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-51.png" class="kg-image" alt loading="lazy" width="1492" height="755" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-51.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-51.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-51.png 1492w" sizes="(min-width: 720px) 720px"><figcaption><em>Image Source: </em><a href="https://www.keycdn.com/"><em>KeyCDN</em></a></figcaption></figure><p>However, compared to other popular CDNs, KeyCDN has only around 50 active PoPs, which is significantly lower than its competitors. This isn't an indicator of lower service quality as long as your audience is found in these areas. For more information on their availability zones and their status, check this <a href="https://status.keycdn.com/">status page</a>.</p><h3 id="9-cdn77">9. CDN77 <a class="markdownit-header-anchor" href="#9-cdn77">🔗</a></h3><p>If the name sounds complex when you say it out loud, it might actually be a good thing because the CDN77 specializes in content delivery for high-quality and sophisticated content requirements. This complex content varies from video content for sites such as Udemy to video gaming sites such as ESL gaming and space agencies such as James Webb Space Telescope. Present with over 40 PoPs around the globe, they're your go-to CDN providers for huge content delivery needs. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-52.png" class="kg-image" alt loading="lazy" width="1600" height="806" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-52.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-52.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-52.png 1600w" sizes="(min-width: 720px) 720px"><figcaption><em>Image Source: </em><a href="https://www.cdn77.com/"><em>CDN77</em></a></figcaption></figure><p>CDN77 works for most websites, but their services are mostly tailored for video-focused and live-streaming platforms. Other CDN providers might be more reasonable if your needs are along these lines. However, its transparent pricing is a bonus, making it easier to compare it with other providers before choosing.</p><h3 id="10-imperva-incapsula">10. Imperva (Incapsula) <a class="markdownit-header-anchor" href="#10-imperva-incapsula">🔗</a></h3><p>While other CDNs offer a wide variety of services, including content delivery and security solutions, Imperva (formerly Incapsula) has its roots in cybersecurity services. Security is their strong point, and you find that in the packages offered on their website.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-53.png" class="kg-image" alt loading="lazy" width="1600" height="701" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-53.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-53.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-53.png 1600w" sizes="(min-width: 720px) 720px"><figcaption><em>Image Source: </em><a href="https://www.imperva.com/products/content-delivery-network/"><em>Imperva CDN</em></a></figcaption></figure><p>With Siemens and Zillow among their customer base, Imperva counts over 44 PoPs worldwide. By using machine learning to cache dynamic pages fast, automated compression, and file minification, Imperva delivers a high-quality service. But since their emphasis is on security protection, the CDN service comes bundled into their security packages, and not separately.</p><h3 id="11-bunnycdn">11. BunnyCDN <a class="markdownit-header-anchor" href="#11-bunnycdn">🔗</a></h3><p>With a 4.8/5 rating on Trustpilot, bunny.net services over a million websites worldwide, and it's ranked as the fastest CDN according to <a href="https://www.cdnperf.com/">CDNPerf</a>. Counting over 110 PoPs worldwide, they boast an average global latency no higher than 25 ms. Furthermore, it applies smart routing (to optimize performance during peak times) and image optimization and provides real-time analytics for you to monitor its performance. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-54.png" class="kg-image" alt loading="lazy" width="1477" height="949" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-54.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-54.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-54.png 1477w" sizes="(min-width: 720px) 720px"><figcaption><em>Image Source: </em><a href="https://bunny.net/cdn/"><em>Bunny CDN</em></a></figcaption></figure><p>The Slovenian startup has grown steadily while focusing on building features that give more power to developers. This includes developer-friendly tools such as scriptable DNSs and a set of its own fonts named Bunny Fonts. Regarding security measures, it offers GEO blocking, DDoS and hotlinking protection, and more.</p><h2 id="you-might-be-asking">🤔 You might be asking <a class="markdownit-header-anchor" href="#you-might-be-asking">🔗</a></h2><h3 id="how-is-localazy-language-cdn-different">How is Localazy language CDN different? <a class="markdownit-header-anchor" href="#how-is-localazy-language-cdn-different">🔗</a></h3><p>Localazy CDN is not designed to be used as a one size fits all solution for various project assets and multimedia content. Instead, Localazy CDN is a fully-managed delivery option specialized in the distribution of your localizable assets synced with your project in Localazy. </p><p>Localazy CDN works out of the box with your current architecture, and you don't need to pay extra attention to configuration, provisioning, scaling, invalidation, content uploads, etc. </p><h3 id="can-localazy-connect-to-other-cdn-networks">Can Localazy connect to other CDN networks? <a class="markdownit-header-anchor" href="#can-localazy-connect-to-other-cdn-networks">🔗</a></h3><p>While you theoretically could connect your Localazy project with another CDN network (e.g., via the <a href="/features/translation-api">Localazy API</a>), why would you? Considering the fact that Localazy CDN works out of the box and is a fully managed service, it can significantly reduce your overhead costs and TCO. </p><blockquote>Total cost of ownership (TCO) is <strong>an estimation of the expenses associated with purchasing, deploying, using and retiring a product or piece of equipment</strong>. TCO, or actual cost, quantifies the cost of the purchase across the product's entire lifecycle.</blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We've presented you with a short list of CDNs that can help you deliver content and improve website performance by storing and distributing copies of your data across multiple servers in various locations around the globe. The right CDN decreases the loading speed of your website or app and increases resilience and protection against cyber attacks and high traffic. </p><p>Always select a CDN that offers DDoS protection, SSL certificates, and malware scanning, among other features, to keep your assets secure. However, when searching for the right CDN, remember the service areas and the nature of your assets. For instance, if you're building a multilingual site, our CDN will save you the headache of trying to deliver multilingual files because it's customized to do just that.</p><p>And it's a wrap. Is there any CDN missing in this article? Let us know in the comments! If you were looking for a CDN to expand your business capabilities, we hope you found your favorite in the list. </p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/02/11-cdn.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Case Study: 🚴 ROUVY's Tour de localization with Localazy]]></title>
            <link>https://localazy.com/blog/case-study-rouvy-localization</link>
            <guid isPermaLink="false">case-study-rouvy-localization</guid>
            <pubDate>Thu, 16 Feb 2023 23:23:25 GMT</pubDate>
            <description><![CDATA[Read how ROUVY combines professional and crowdsourced translations in Localazy and delivers localized augmented reality cycling experience to millions of homes across the globe with the help of Localazy CDN.]]></description>
            <content:encoded><![CDATA[<h2 id="introduction">👋 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2><p><a href="https://rouvy.com/">ROUVY</a> is a real and fun cycling experience that takes you around the world, from your home, in just a few clicks. It is a global indoor cycling platform for athletes where everybody can compete, ride with friends for fun, exercise and do much more.</p><!--kg-card-begin: html--><iframe width="100%" height="560px" src="https://www.youtube.com/embed/dqz7b7QgZAU" title="ROUVY brings famous cycling routes to your home!" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><p>Their indoor cycling platform includes <strong>2000+ real routes</strong> synchronized with high-quality videos, workouts, group rides, competitions, and a complete indoor and outdoor training solution for tracking and analyzing training efforts.</p><p>In 2021, ROUVY asked us if we could help them build a localization workflow for their indoor cycling app that was quickly gaining global popularity. Later, ROUVY added their website to the localization mix to grow even faster and immensely helped us with the first iteration of the <a href="/features/strapi-localization-plugin">Strapi localization plugin</a> that is now officially available for everyone.</p><p>ROUVY is one of the first customers who quickly realized the potential of the Localazy platform and managed to benefit fully from almost <a href="/tiers/agency">all the features Localazy can offer</a>. ROUVY now utilizes Localazy for the continuous localization of their platform and content into multiple languages on an ongoing basis.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-40.png" class="kg-image" alt loading="lazy" width="240" height="240"><figcaption>Lukáš Tóth</figcaption></figure><p>In this interview, we asked <strong><a href="https://www.linkedin.com/in/lukas-toth-b74481115/">Lukáš Tóth</a></strong>, the Product Manager at ROUVY, about their experience with Localazy.</p><h2 id="the-beginnings-of-rouvys-localization-journey">🚵 The beginnings of ROUVY's localization journey <a class="markdownit-header-anchor" href="#the-beginnings-of-rouvys-localization-journey">🔗</a></h2><p><strong>Hello! Can you please briefly introduce yourself to our readers?</strong></p><p>Hi, I am Lukáš, and I have worked at ROUVY since 2017. I started as a Junior Product Manager, and I was in charge of introducing Localazy into our workflow back in 2021. Nowadays, our localization workflow is primarily automated, but I still keep in touch with the folks at Localazy whenever we need something (which is not very often 😅). Anyways, thank you for inviting me for the interview! </p><p><strong>Let's start at the very beginning. What was the motivation for embarking on your localization journey back then?</strong></p><p>ROUVY always had customers from around the world, so we knew we would need to translate our web and application into several languages to make ROUVY even more available for <a href="/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">those unfamiliar with English</a>. We have analyzed where most of our users are coming from and quickly decided which languages are the most important for us.</p><p><strong>Did you have previous experience with localization?</strong></p><p>Yes. We have been working mainly with the <a href="/dictionary/po-and-pot-format">PO files</a> translated by a <a href="/for/translation-agencies">translation agency</a>. The experience wasn't very user-friendly and was a very time-demanding process. We had to export the files, send them to the translators, and let them do their job. After the translations were done, we had to upload them to the internal tools and wait for the release. </p><p><strong>This sounds like a typical first experience that our users have before they switch to Localazy </strong>😌 <strong>How did you find Localazy?</strong></p><p>We have actually received a cold email from Localazy, and the proposition caught our interest. We didn’t even know there was a solution for <a href="/term/software-localization">software localization</a> like <a href="https://localazy.com/">Localazy</a> on the market.</p><p><strong>Who would have thought cold emailing still works? But I am sure glad it did in your case. Anyway, how did the process of integration with Localazy go?</strong></p><p>We scheduled an initial call with Václav from Localazy, where he explained the platform and its benefits to our developers in more detail. We have added the task of implementing Localazy into one of the upcoming sprints and managed to get the initial integration up &amp; running during the 14-day sprint without an issue. This was the case with our product - a multiplatform application for <a href="/android">Android</a>, iOS, Desktops, and even Apple TV. </p><p>Another team followed later, integrating our main website with Localazy in one sprint as well. We were also one of the first alpha testers of your <a href="/strapi">Strapi</a> plugin. Overall, the integration went smoothly, and adding new projects didn't take too much time. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-38.png" class="kg-image" alt loading="lazy" width="1260" height="945" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-38.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-38.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-38.png 1260w" sizes="(min-width: 720px) 720px"><figcaption>Race &amp; ride in real-time with other athletes.</figcaption></figure><h2 id="falling-in-love-with-localazy-cdn">🌐 Falling in love with Localazy CDN  <a class="markdownit-header-anchor" href="#falling-in-love-with-localazy-cdn">🔗</a></h2><p><strong>Do you remember what made your team go, “Localazy is the right choice; let’s do it”?</strong></p><p>The most impactful moment was seeing the automation in action. We have set up our workflow in a way that developers don't have to deal with localization resources at all, thanks to the <a href="/features/language-cdn">Localazy CDN</a>, which significantly reduced the effort needed to release new versions. We didn't look back since.</p><p><strong>You mentioned our CDN, so I quickly glanced over your stats, and I see that in 2022 the CDN has processed over 380M requests and delivered over 2.4 TB of localized data just for ROUVY.</strong></p><p>Yes, that sounds about right, and this number should only grow. Localazy CDN is pretty comfortable for our users and developers because we don't have to update our application each time a new translation is available. An update is only needed when the source changes or new features are released. </p><p>But we don't use only the CDN. For example, our website has translations hosted on our servers, and we only download the changes when needed.</p><p><strong>That makes sense because CDN pricing is usage-based, and delivering the translations to every website visitor would cost much more than servicing only your app users. Smart choice.</strong></p><blockquote><strong>➡️ <a href="/docs/cdn/cdn-introduction">Learn more about Localazy CDN</a></strong></blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-41.png" class="kg-image" alt loading="lazy" width="600" height="272" srcset="https://ghost.localazy.com/content/images/2023/02/image-41.png 600w"><figcaption>Explore, train, and compete with a global community behind you.</figcaption></figure><h2 id="the-charm-of-community-driven-localization">🙌 The charm of community-driven localization <a class="markdownit-header-anchor" href="#the-charm-of-community-driven-localization">🔗</a></h2><p><strong>I know you translate a significant portion of your content with our <a href="/blog/guide-localazy-translation-services">Continuous Localization service</a>. Do you have any in-house people dedicated to localization? Do you also <a href="/features/pre-translate">pre-translate with MT</a>, use releases, and so on?</strong></p><p>Our workflow is quite linear. We don't need release tags and versioning for now, and we don't do pre-translation with MT. Once the content needs to be translated, it's uploaded to Localazy, where the <a href="/term/professional-translation-services">Localazy professionals</a> handle most of our languages automatically.</p><p>We decided to keep translating ROUVY into Czech on our own to keep up with the platform and to test if everything was uploaded and processed correctly. We can solve potential errors before the release takes place this way. </p><p>The fun thing is our users from China and Poland reached out to us and asked if they could help us translate ROUVY into their language, so we invited them to Localazy and allowed them to translate ROUVY for themselves on a volunteer basis. This is pretty awesome, and I enjoy combining our in-house people, automated professional translations, and crowdsourcing the translations from the community in one project without too much management needed to make everything work.</p><p><strong>This is awesome! </strong>🤩 <strong>This is precisely what is the vision behind Localazy. On to the next question, what is your experience with Localazy support and communicating with our team?</strong></p><p>We don't need to contact support very often, which should be good because our needs are covered. But whenever I needed something, I contacted one of your team members directly and promptly got an answer. </p><p><strong>Glad to hear that! Thank you for your time, Lukáš. Would you like to say anything else about your experience with Localazy? </strong>😊</p><p>I just want to emphasize that Localazy is a really user-friendly platform, and our developers love the set-and-forget philosophy. And thank you for the fantastic business relationship we have established together! </p><p><strong>Thank you, too, Lukáš! Happy localizing! 😁</strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-43.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-43.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-43.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/02/image-43.png 1600w, https://ghost.localazy.com/content/images/2023/02/image-43.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://rouvy.com/">Rouvy.com Homepage</a></figcaption></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>If you are a cyclist, we recommend you 🚴 <a href="https://rouvy.com/">check out ROUVY</a> and enjoy indoor cycling in the comfort of your home, no matter the weather! And if you are curious about software &amp; content localization with Localazy, stay a little longer and 📰 <a href="/blog">read more stories on our blog</a> or 🚩 <a href="https://localazy.com/register">sign up right away</a> to begin your own localization journey! It can be fun. 😁<br></p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/02/Localazy-Interview-ROUVY.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Bridging the gap with Localazy #1]]></title>
            <link>https://localazy.com/blog/bridging-the-gap-with-localazy-1</link>
            <guid isPermaLink="false">bridging-the-gap-with-localazy-1</guid>
            <pubDate>Fri, 01 Sep 2023 17:26:26 GMT</pubDate>
            <description><![CDATA[Here at Localazy, we are helping you build the bridge between cultures via language localization. Are you wondering what's happening behind the scenes? Read the new progress update from our team.]]></description>
            <content:encoded><![CDATA[<p>Every single day we are trying to overcome obstacles in our personal lives as well as in our professional ones, both for Localazy and our userbase. Bridging the gap with Localazy is here to help us navigate the software, <a href="https://localazy.com/term/content-localization">content localization</a>, and SaaS growth landscape.</p><p>So, what happened last month at Localazy? Let's find out!</p><h2 id="outcomes-over-outputs">⭐ Outcomes over outputs <a class="markdownit-header-anchor" href="#outcomes-over-outputs">🔗</a></h2><p>Outcomes are the results of a goal or project, while outputs are the direct products or services of a goal or project. Outcomes represent the impact of an effort and measure how the project or activity affects the environment or people. Outputs measure what was accomplished and the number of resources used. For example, a project may yield 5,000 reports, which would be a measure of output, while the outcome may be that the reports enable users to make more informed decisions.</p><p>We are now using <a href="https://www.amazon.com/Outcomes-Over-Output-customer-behavior/dp/1091173265">outcomes over outputs</a> more formally to find a common language across the team, and it works like a charm.</p><p>Let us know what you think about this approach in the comments, and win a gift voucher to get the book for yourself!</p><h2 id="sharing-the-brains">🧠 Sharing the brains <a class="markdownit-header-anchor" href="#sharing-the-brains">🔗</a></h2><p>In January, we invited our CEO Václav to share the <strong>Obsidian vault</strong> with <a href="https://localazy.com/blog/author/jakub-dubec">Jakub Dubec</a> and <a href="https://localazy.com/blog/meet-the-localazy-team-jan-bilek-product-manager">Jan Bílek</a>. We have been playing with the idea of shared note-taking &amp; writing culture around Obisidian for months now, and with <em>over 24 thousand nodes</em> right now, our vault is a mighty second brain to the company.</p><p>What do we collect in the Obsidian, and what not?</p><ul><li>Over 1K book highlights we read and want to share with the team (Kudos to Kindle Highlights author <a href="https://twitter.com/hadynz">Hady Osman</a>)</li><li>Content from &gt;150 <a href="https://localazy.com/blog">blog articles</a> on our website</li><li>All sorts of notes, such as the ones from our hackathon where we've built the very first iteration of <a href="https://hub.localazy.com">Localazy HUB</a></li><li>Obsidian is our cold storage for information, so we do not use it for project management or information from other systems such as CRM. We are also making our shift with insights data &amp; brainstorming to <strong>Fibery</strong> (We'll cover this later).</li></ul><figure class="kg-card kg-image-card"><img src="https://lex-p.s3.us-west-1.amazonaws.com/img/36c9684b-abab-4582-b625-80151714bff2-RackMultipart20230201-4-12ousnv.png" class="kg-image" alt loading="lazy"></figure><h3 id="how-does-it-work">How does it work? <a class="markdownit-header-anchor" href="#how-does-it-work">🔗</a></h3><p>We use a great <a href="https://github.com/denolehov/obsidian-git">Obsidian Git Plugin</a> &amp; Private GitHub repo, plus a minimalistic set of common plugins. The structure of the common vault is following:</p><ul><li>Each user does have their own /path</li><li>We also have one common /path following the <a href="https://fortelabs.com/blog/para/">PARA structure</a></li><li>One Legend file where we list important tags &amp; other meta information notes</li></ul><h2 id="review-the-localazy-cdn-and-get-rewarded">🥇 Review the Localazy CDN & get rewarded! <a class="markdownit-header-anchor" href="#review-the-localazy-cdn-and-get-rewarded">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/02/image-36.png" class="kg-image" alt loading="lazy" width="470" height="291"></figure><p>Jump to Community &amp; publish a story about <a href="https://localazy.com/features/language-cdn">how Localazy CDN</a> works for you. You will be rewarded with USD 100 credits to enjoy the feature and deliver your language assets to users <em>blazingly fast</em>.</p><blockquote><strong>➡️ <em><a href="https://localazy.com/my/community">Take action here.</a></em></strong></blockquote><h2 id="contributor-leaderboards-for-public-projects">🏆 Contributor leaderboards for public projects <a class="markdownit-header-anchor" href="#contributor-leaderboards-for-public-projects">🔗</a></h2><p>What's better than being recognized in the hall of fame? Well, maybe a pretty thick cheque for all the hard work! Let's keep the cheques alone and explore the <strong>new leaderboards feature</strong> now available in beta for all public projects.</p><p>Leaderboards allow project owners to enlist top contributors and show appreciation. That's a very start, followed by more community features connected to leaderboards.</p><p>There are currently two options of use - you can get the data from an endpoint for fully-fledged integration into your app, or you can use the Localazy-hosted leaderboard, which looks like this right now:</p><figure class="kg-card kg-image-card"><img src="https://lex-p.s3.us-west-1.amazonaws.com/img/3b9993be-322d-47ca-b59d-b7884d708a88-RackMultipart20230201-4-nm6eb1.png" class="kg-image" alt loading="lazy"></figure><blockquote>Do you think you could get used to this feature to help your app be localized into more languages with the help of the crowd? Ping us via support before it gets into pricing  &amp; get your free beta access right now.</blockquote><blockquote>➡️ <strong>See the <a href="https://localazy.com/leaderboards/projects/translate-idioms">leaderboard for Idioms</a></strong></blockquote><h2 id="towards-meaningful-partnerships">🤝 Towards meaningful partnerships <a class="markdownit-header-anchor" href="#towards-meaningful-partnerships">🔗</a></h2><p>Is there something more powerful than word of mouth? Yes, doing it on purpose! Here at Localazy, long-term strategies and partnerships are a channel worth pursuing.</p><p>Within the upcoming month, partners will be enlisted in our partnership directory, the first step towards many more actions already available.</p><h3 id="pixelalliance-7circles-is-now-a-trusted-partner-for-strapi">PixelAlliance / 7circles is now a trusted partner for Strapi <a class="markdownit-header-anchor" href="#pixelalliance-7circles-is-now-a-trusted-partner-for-strapi">🔗</a></h3><p>Strapi verified plugin for content localization is getting good traction &amp; we are proud to introduce the first trusted <a href="https://localazy.com/strapi">Strapi integration</a> partner Pixel Alliance. Let's find out what they were able to deliver with Strapi &amp; Localazy!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/02/image-33.png" class="kg-image" alt loading="lazy" width="1861" height="884" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-33.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-33.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/02/image-33.png 1600w, https://ghost.localazy.com/content/images/2023/02/image-33.png 1861w" sizes="(min-width: 720px) 720px"></figure><p><a href="http://sonos.com/">Sonos</a> is an American developer and manufacturer of audio products best known for its multi-room audio products. Since 2002, the company has grown at a fast pace and is currently expanding to new markets. </p><p>Learn how <a href="https://www.pixelalliance.io/">Pixel Alliance</a> experts and Strapi helped Sonos EMEA <a href="https://strapi.io/user-stories/sonos-pixel-alliance">launch a multilingual website in 8 new markets using Localazy</a> for content localization.</p><h3 id="speaking-of-partnershipsthere-is-an-affiliate-as-well">Speaking of partnerships…there is an affiliate as well! <a class="markdownit-header-anchor" href="#speaking-of-partnershipsthere-is-an-affiliate-as-well">🔗</a></h3><p>Did you know Localazy does offer an affiliate program for those who do not feel yet for a higher commitment? Check out the <a href="https://localazy.com/blog/top-10-affiliate-programs-for-digital-product-makers">top 25 affiliate programs</a> for digital product makers, including one of ours!</p><h2 id="storyblok-headless-cms-integration-in-beta">🎫 Storyblok headless CMS Integration in beta <a class="markdownit-header-anchor" href="#storyblok-headless-cms-integration-in-beta">🔗</a></h2><p>Telling stories is what makes people human. And Storyblok is an excellent way of doing it on the scale. Moreover, you can now do it in multiple languages while keeping your financial officer calm about budgets for localization tools, which could happen with <a href="https://www.g2.com/compare/localazy-vs-lokalise">Lokalise</a> (reportedly by our customers).</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/7ascMqEXZ-c" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><p><a href="https://localazy.com/blog/managing-multilingual-content-with-storyblok-localazy">Managing multilingual content with Storyblok &amp; Localazy</a> is now possible mainly thanks to David, our man in red - an integration developer ninja who enjoyed his ski trip.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/02/david-vaclavek-ski-1.webp" class="kg-image" alt loading="lazy" width="900" height="506" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/david-vaclavek-ski-1.webp 600w, https://ghost.localazy.com/content/images/2023/02/david-vaclavek-ski-1.webp 900w" sizes="(min-width: 720px) 720px"></figure><h2 id="idiom-of-the-month">📖 Idiom of the month <a class="markdownit-header-anchor" href="#idiom-of-the-month">🔗</a></h2><blockquote><a href="https://hub.localazy.com/en/english-idioms/bundle-of-nerves">Bundle of nerves.</a><br><br>someone who is extremely anxious or tense.<br><br>"during her debut on the show she was a bundle of nerves"</blockquote><p>Help us localize this idiom into your language and join our idiom translations contest!</p><h2 id="fibery-is-getting-a-special-place-in-our-hearts">💖 Fibery is getting a special place in our hearts <a class="markdownit-header-anchor" href="#fibery-is-getting-a-special-place-in-our-hearts">🔗</a></h2><p>While our product manager Jan Bílek is now profoundly engaged in renovating his new apartment, he is also working tirelessly to get our new knowledge base in shape!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/02/reconstruction.webp" class="kg-image" alt loading="lazy" width="600" height="800" srcset="https://ghost.localazy.com/content/images/2023/02/reconstruction.webp 600w"></figure><p>Part of Jan's much-appreciated efforts is the adoption of Fibery, a team knowledge management platform with many superpowers. We received an offer to try out Fibery by recommendation of Ian Bearder of <a href="https://veedoo.io/">Veedoo</a> when <a href="https://localazy.com/blog/interview-ukraine-shelter-helping-ukrainians-displaced-by-invasion">we helped Ukraine Shelter rapidly add more languages</a> to help refugees find temporary homes.</p><p>First, we started by collecting all the feedback from various sources in one place. <a href="https://discuss.localazy.com">Discuss</a>, Intercom, Emails, Slack, <a href="https://localazy.com/book-demo">Demo Calls</a>, <a href="https://www.g2.com/products/localazy/reviews">Reviews on G2</a>, and other sources all have one common place to live &amp; be processed. Fibery is getting its portion of the work to help us with company objective key results.</p><p>The Marketing team got in love with Fibery as well. We can now produce better microcopy for ads and plan solution-based content, laser targeted &amp; pumped with Aha! moments. That's only possible because of team knowledge sharing, which was impossible with ClickUp.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/2.webp" class="kg-image" alt loading="lazy" width="2000" height="1197" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/2.webp 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/2.webp 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/02/2.webp 1600w, https://ghost.localazy.com/content/images/size/w2400/2023/02/2.webp 2400w" sizes="(min-width: 720px) 720px"><figcaption>source: https://images.g2crowd.com/uploads/attachment/file/161300/2.png</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><a href="https://twitter.com/JakeDubec/status/1621058656719749125"><img src="https://ghost.localazy.com/content/images/2023/02/image-37.png" class="kg-image" alt loading="lazy" width="566" height="703"></a><figcaption><a href="https://twitter.com/JakeDubec/status/1621058656719749125">https://twitter.com/JakeDubec/status/1621058656719749125</a></figcaption></figure><p>Speaking of idioms, one of the Czech idioms says, <em>"Karma je zdarma" </em>which could be directly translated as <em>"Karma is for free." </em>and it means<em> </em>you get (back) what you give. And it fits perfectly here because we would never have been introduced to Fibery if we didn't offer a helping hand to Ian and Ukraine Shelter. And now Fibery tremendously improves our life at Localazy &amp; will positively impact our customers as well. </p><p>How? For example, by aligning the dev &amp; <a href="https://localazy.com/for/chief-marketing-officers">marketing</a> teams to produce better solution-based content for them. That was a massive issue at Localazy. <br>Now, we have a common place where devs &amp; marketers can live together! </p><h2 id="explore-i18n-libraries-in-the-localazy-hub">👀 Explore i18n libraries in the Localazy Hub <a class="markdownit-header-anchor" href="#explore-i18n-libraries-in-the-localazy-hub">🔗</a></h2><p>When Václav Hodek is not working on the core backend of Localazy or communicating with important stakeholders, he loves to play a bit in his basement (for real) and make our dreams come true.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/KEkrWRHCDQU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><p>Hub is in its very early days, but like any wonderful baby, it is promising! Jakub provided Václav with a new seed dataset &amp; he fed the "AI" to help us generate over 600 new pages focused on programming languages, frameworks &amp; <a href="https://localazy.com/dictionary/internationalization"><strong>i18n</strong></a><strong> libraries</strong>. There was also big help from <a href="https://localazy.com/blog/author/mary-okosun">Mary Okosun</a>, who provided the initial research. Adding different datasets to our hub makes for a significant long-term win.</p><p>Soon, the dataset will be available online.</p><h2 id="hungarian-language-month-is-still-here">🌶️ Hungarian language month is still here <a class="markdownit-header-anchor" href="#hungarian-language-month-is-still-here">🔗</a></h2><p><strong>Why should you order professional Hungarian translations at Localazy? Learn about the specifics of the Hungarian language and why professional native speakers should always do Hungarian translations.</strong></p><p>You can still <a href="https://localazy.com/blog/why-hungarian-localization-services-are-so-important">make your app &amp; content speak Hungarian</a> for a better price. But do not wait too long; there are only a few days missing to hit the deadline before the discounted offers are valid.</p><h2 id="net-positive-updates">😊 Net-positive Updates <a class="markdownit-header-anchor" href="#net-positive-updates">🔗</a></h2><p>Here at Localazy, we love to pay it forward. Does it make sense to do business on a dead planet? Not really. So we are here to <a href="https://localazy.com/for/nonprofit">support good causes</a> which help improve quality of life.</p><h3 id="meet-indiekit">Meet IndieKit <a class="markdownit-header-anchor" href="#meet-indiekit">🔗</a></h3><p>Meet the little Node.js server with all the parts needed to publish content to your website and share it on social networks. Own your data &amp; syndicate your content across the internet network using <a href="https://getindiekit.com/">IndieKit</a>. You can enjoy multilingual support from Localazy ;)</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/02/image-35.png" class="kg-image" alt loading="lazy" width="1301" height="707" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-35.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-35.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-35.png 1301w" sizes="(min-width: 720px) 720px"></figure><h3 id="localazy-is-a-nuxtjs-sponsor">Localazy is a Nuxt.js sponsor <a class="markdownit-header-anchor" href="#localazy-is-a-nuxtjs-sponsor">🔗</a></h3><p>Our developers love <a href="https://localazy.com/nuxt">Nuxt</a> &amp; we are also interested in increasing cooperation with the Nuxt community. One of the steps we wanted to do was to express our commitment so supporting the OpenSource Community as we do with other projects such as <a href="https://localazy.com/vuejs">Vue.js</a> or vue-i18n. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/02/image-34.png" class="kg-image" alt loading="lazy" width="1758" height="825" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-34.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-34.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/02/image-34.png 1600w, https://ghost.localazy.com/content/images/2023/02/image-34.png 1758w" sizes="(min-width: 720px) 720px"></figure><h2 id="more-from-the-blog">📰 More from the blog <a class="markdownit-header-anchor" href="#more-from-the-blog">🔗</a></h2><ul><li><a href="https://localazy.com/blog/how-to-send-email-when-language-is-fully-translated-zapier">How to send an email when language is 100% translated in Localazy using Zapier</a></li><li><a href="https://localazy.com/blog/figma-series-figma-as-source-of-truth">Figma in Localization: Figma as a Source of Truth</a></li><li><a href="https://localazy.com/blog/managing-multilingual-content-with-storyblok-localazy">Managing multilingual content with Storyblok &amp; Localazy</a></li><li><a href="https://localazy.com/blog/meet-the-localazy-team-jan-bilek-product-manager">Meet The Localazy Team: Jan Bílek, Product Manager</a></li></ul>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/09/localazy-bridging-gap-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Figma in Localization: Figma as a Source of Truth]]></title>
            <link>https://localazy.com/blog/figma-series-figma-as-source-of-truth</link>
            <guid isPermaLink="false">figma-series-figma-as-source-of-truth</guid>
            <pubDate>Thu, 16 Apr 2026 14:20:33 GMT</pubDate>
            <description><![CDATA[Using the Localazy Figma plugin is an excellent way of introducing localization earlier in the product life cycle - in the design phase. Learn how to use Figma as a Source of Truth for your product's copy and translations and streamline your design and localization workflow.]]></description>
            <content:encoded><![CDATA[<h2 id="figma-plugin-series">📚 Figma plugin series <a class="markdownit-header-anchor" href="#figma-plugin-series">🔗</a></h2><p>This article is part of the Figma plugin localization workflow series that outline proven integration approaches of the Figma plugin in the product's design and development stages. </p><p>The series consists of:</p><ul><li><a href="/blog/figma-series-preview-designs-in-multiple-languages">Preview designs in multiple languages</a></li><li><a href="/blog/figma-series-connect-designs-and-source-keys-via-screenshots">Connect designs and translations via screenshots</a></li><li>Make Figma the Source of Truth (this article)</li><li><a href="/blog/figma-and-code-base-as-independent-sources-of-truth">Make Figma and code base independent Sources of Truths</a></li></ul><p>Before diving in, check out our <a href="https://localazy.com/docs/figma/plugin-introduction">documentation</a> describing the installation and configuration of the Figma plugin, as we will skip this step. Also, take a look at the rest of the <a href="https://localazy.com/tags/figma">Figma-related articles</a> to find more helpful examples and guides.</p><h2 id="the-use-case">🎈 The Use Case <a class="markdownit-header-anchor" href="#the-use-case">🔗</a></h2><p>Using Figma as the source of truth for adding new and modifying existing source keys has both stark advantages and disadvantages. The main disadvantage is that controlling all the content from Figma can slow down other teams since they either need to make the change from Figma or have somebody else do it. On the other hand, the great benefit of this approach is that the designs wholly reflect what the product actually looks like. This is amazing, especially when the designers iterate over existing designs, as they have the guarantee that they're designing the exact content the users interact with. When the content between Figma and Localazy is detached, the first step for designers when iterating existing designs is to check their own product in production and how much it's changed since the latest design phase.</p><p>Such a tight connection between Figma and the localization resources is common for teams operating under the agile workflow and have separate groups of people responsible for the design, translations, development, and management. Once finished, the designers ping the localization/content manager (or product manager), who modifies the textual content within the designs and optionally changes the node IDs to be more readable for others further in the development flow. Once validated and uploaded, the translators and developers can take over and use the created source keys. </p><p>There are still a couple of open questions which should be answered before fully committing to this workflow - such as file naming within Localazy so that the developers understand which keys to use. Let's go through all of it together.</p><p>If you feel like such a tight connection between Localazy and Figma is not for you or would like to use the Figma plugin merely as a tool to preview the designs in other languages, check out the <a href="/blog/figma-series-preview-designs-in-multiple-languages">Preview designs in multiple languages</a> article.</p><h3 id="why-restrict-ourselves-to-a-single-source-of-truth">Why restrict ourselves to a Single Source of Truth? <a class="markdownit-header-anchor" href="#why-restrict-ourselves-to-a-single-source-of-truth">🔗</a></h3><p>You may ask why we should restrict ourselves to uploading content only via Figma. Based on our experience, allowing yourself to upload content to the same Localazy project from multiple sources will lead to overwriting your content sooner or later. In better cases, you would change the source keys uploaded from a different source to the latest values you actually want to use. In the worst case, you'd create a new key and upload it to an existing file in Localazy without knowing such a key already exists. By doing this, you would not only change the source value but also put the existing translations into <em>Source changed state,</em> and it may happen that the translators would update the translations before you realize the mistake. To undo all the translations later would be time-consuming and, in the case of paid translations, also quite costly.</p><p>People can still make mistakes. It's just less likely and easier to remedy. The safest way to prevent this is to always restrict yourself to a Single Source of Truth.</p><h2 id="connecting-to-localazy">🔌 Connecting to Localazy <a class="markdownit-header-anchor" href="#connecting-to-localazy">🔗</a></h2><p>First of all, <a href="/register">set up a new account in Localazy</a>. Create a new project that will be connected to our product (via the <a href="https://localazy.com/docs/cli">CLI</a>, <a href="https://localazy.com/docs/api/introduction">API</a>, or <a href="https://localazy.com/integrations">other means</a>). </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-15.png" class="kg-image" alt loading="lazy" width="1014" height="680" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-15.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-15.png 1014w" sizes="(min-width: 720px) 720px"></figure><p>We will add new keys and modify the existing ones exclusively via the Figma plugin. However, you are free to export the translations in any way you desire. In this example (and most commonly overall), we'll use CLI so that the developers can use the content directly in the code.</p><h2 id="preparing-content-in-figma">🎨 Preparing Content in Figma <a class="markdownit-header-anchor" href="#preparing-content-in-figma">🔗</a></h2><h3 id="configure-the-plugin">Configure the plugin <a class="markdownit-header-anchor" href="#configure-the-plugin">🔗</a></h3><p>First, open a file of your choice in Figma, initialize the Localazy Figma plugin, and connect to your target Localazy project.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/merged-product-2.png" class="kg-image" alt loading="lazy" width="1300" height="607" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/merged-product-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/merged-product-2.png 1000w, https://ghost.localazy.com/content/images/2022/11/merged-product-2.png 1300w" sizes="(min-width: 720px) 720px"></figure><p>Then in the Plugin's settings, I'll check <strong>Use node name as source key</strong> for more readable source keys (instead of Figma's internal numerical IDs) and uncheck <strong>Upload &amp; download the entire file </strong>to only upload text nodes I have currently selected. I will also upload screenshots to Localazy since they offer valuable context for the translators, and the Figma plugin will automatically link the keys with the uploaded screenshots. </p><h3 id="upload-the-content">Upload the content <a class="markdownit-header-anchor" href="#upload-the-content">🔗</a></h3><p>Let's follow this whole workflow from the design stage to using the keys in code from the perspective of a task. In an agile environment, each task should contain a detailed specification, and ideally, a single person should be assigned at a time to prevent confusion about responsibilities. Each stage (design, translation, development) can be either a subtask or just a list item within the task.</p><p>Let's say the design is over, and the task is now assigned to a localization manager. Their first job is to go through the textual nodes in designs and rename the nodes so that the source keys uploaded in Localazy have more readable and understandable names.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/02/image-28.png" class="kg-image" alt loading="lazy" width="931" height="542" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-28.png 600w, https://ghost.localazy.com/content/images/2023/02/image-28.png 931w" sizes="(min-width: 720px) 720px"></figure><p>The next step is to upload the content into the appropriate file. The target file format, file name, and file path will depend on the development team's requirements. Discuss this step before you adopt this workflow. In our simplified example, we will upload all the content into a single file called <strong>figma</strong> in JSON format, which could work for some teams but not for everyone. </p><p>So, select the target layouts and upload them.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/02/image-29.png" class="kg-image" alt loading="lazy" width="1125" height="778" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-29.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-29.png 1125w" sizes="(min-width: 720px) 720px"></figure><h2 id="translating-in-localazy">🚩 Translating in Localazy <a class="markdownit-header-anchor" href="#translating-in-localazy">🔗</a></h2><p>The new content has been successfully uploaded to Localazy, and the task moves on to translators. If you seek professional quality translations, either invite your in-house translators or <a href="https://localazy.com/docs/general/continuous-localization-team">order the translations</a> from our professional translators. Since we've uploaded screenshots along with the content, the quality of translations would likely improve, thanks to the extra context. Bravo!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/02/image-30.png" class="kg-image" alt loading="lazy" width="1572" height="858" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-30.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-30.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-30.png 1572w" sizes="(min-width: 720px) 720px"></figure><p>However, to speed things up, we'll add just a few languages and translate them via MT. For each language, open the options dropdown and select <strong>Pre-translate with MT</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/Screenshot-2022-11-08-15-05-02.png" class="kg-image" alt loading="lazy" width="1722" height="871" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/Screenshot-2022-11-08-15-05-02.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/Screenshot-2022-11-08-15-05-02.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/Screenshot-2022-11-08-15-05-02.png 1600w, https://ghost.localazy.com/content/images/2022/11/Screenshot-2022-11-08-15-05-02.png 1722w" sizes="(min-width: 720px) 720px"></figure><p>In the next step, feel free to choose your favorite MT engine. Each can handle specific scenarios, terms, and tonality differently, and one cannot say one is always better. </p><p>I'll go with DeepL for demonstration purposes since their <a href="/dictionary/api">API</a> can generally handle the translation request quite swiftly, and the translation quality is usually satisfactory. Make sure to check the option <strong>Approve all translations</strong> so that you can use them immediately without having to review and accept them afterward. Check the other options so that they are pre-selected next time, which assures that all the keys will always be included in the pre-translate operation.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-7.png" class="kg-image" alt loading="lazy" width="652" height="454" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-7.png 600w, https://ghost.localazy.com/content/images/2022/11/image-7.png 652w"></figure><p>It could take a few seconds, but after a few page refreshes, you should see all three languages fully translated.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-8.png" class="kg-image" alt loading="lazy" width="1316" height="386" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-8.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-8.png 1316w" sizes="(min-width: 720px) 720px"></figure><h2 id="using-the-translations">🌍 Using the translations <a class="markdownit-header-anchor" href="#using-the-translations">🔗</a></h2><h3 id="preview-in-figma">Preview in Figma <a class="markdownit-header-anchor" href="#preview-in-figma">🔗</a></h3><p>Before handing over the new designs for development, importing the translations to Figma may be beneficial to ensure your designs are robust enough to handle different languages.</p><p>We hand the task back to designers, who will preview the translations in different languages. Go back to your Figma file and switch to the <strong>Download </strong>tab in the Localazy Figma plugin. Select the source file and desired language, and select the screen/nodes you've uploaded to Localazy previously.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-31.png" class="kg-image" alt loading="lazy" width="1034" height="749" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-31.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-31.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-31.png 1034w" sizes="(min-width: 720px) 720px"><figcaption>Figma design translated into German with Localazy</figcaption></figure><p>Awesome, we have the design translated into German in just a few minutes. And we can also see that some labels are a little too long and almost overflow the container. Yikes! 🙈 Here, we can see the benefit of previewing the translations directly in Figma. Since the development hasn't started, we have saved time and money.</p><p>With Arabic, it gets more complicated. Not only because there is also some overflowing text but also because it is a right-to-left written language. The Figma plugin does not automatically change the text alignment, so you still need to tweak the design manually. But it's definitely much less work than having to translate the whole design as well.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-32.png" class="kg-image" alt loading="lazy" width="1107" height="738" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-32.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-32.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-32.png 1107w" sizes="(min-width: 720px) 720px"><figcaption>Figma design translated into Arabic with Localazy</figcaption></figure><p>Once the designers iterate over the designs, the task is assigned back to the localization manager, who again assures that all the keys have readable names. If there have been changes in values, the translators will take over again. Feel free to bounce between designers, localization managers, and translators as long as there is something to update.</p><h3 id="use-the-content-in-the-code">Use the content in the code <a class="markdownit-header-anchor" href="#use-the-content-in-the-code">🔗</a></h3><p>Eventually, the developer is assigned to the task, and the actual implementation may commence. We'll go through a first-time setup together. From the second time onwards, this part is much more straightforward. </p><p>Go to the <strong>Translations</strong> page and open <strong>Select an integration</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-29.png" class="kg-image" alt loading="lazy" width="1705" height="747" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-29.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-29.png 1600w, https://ghost.localazy.com/content/images/2022/11/image-29.png 1705w" sizes="(min-width: 720px) 720px"></figure><p>Look up the type of framework, programming language, or file format you're using and choose the CLI integration method.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-30.png" class="kg-image" alt loading="lazy" width="1705" height="884" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-30.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-30.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-30.png 1600w, https://ghost.localazy.com/content/images/2022/11/image-30.png 1705w" sizes="(min-width: 720px) 720px"></figure><p>After you install the Localazy CLI tool and create <strong>localazy.json</strong> in the root of your project, we'll need to modify the initial template to suit our needs and the herein-described workflow.</p><p>Since we don't want to allow uploading anything from outside the Figma plugin, we'll delete the <strong>writeKey </strong>and the <strong>upload</strong> block completely. We also include the source language in the downloaded batch. For further configuration options, see the <a href="https://localazy.com/docs/cli/download-reference">CLI documentation</a>.</p><pre><code>{
  "readKey": "&lt;YOUR-READ-KEY&gt;",
  
  "download": {
    "includeSourceLang": true,
    "files": "translations/${fullPath}/${lang}.json"
  }
}</code></pre><p>I will keep it simple and download all content into the translations folder, where the keys will reside in folders named after, like the files in Localazy (<em>figma </em>in our case). Each JSON file will be named after the language's locale code.</p><p>Your development team should sit down with you and discuss this part before you start adopting this Figma workflow. There are dozens and dozens of ways developers organize localization assets, and this is just one example.</p><p>Once you adjust the configuration to your needs, run the <strong>localazy download</strong> command via CLI. A viola! </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-33.png" class="kg-image" alt loading="lazy" width="846" height="245" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-33.png 600w, https://ghost.localazy.com/content/images/2022/11/image-33.png 846w" sizes="(min-width: 720px) 720px"></figure><p>All the translations and source keys have been successfully imported, and the developers can start using them. They should have access to the Figma designs so that:</p><ol><li>They know what they are implementing 😁</li><li>And they can look up the keys in designs that the localization manager renamed for them. We've come a full circle 🙂</li></ol><h2 id="pros-and-cons">⚖️ Pros and cons <a class="markdownit-header-anchor" href="#pros-and-cons">🔗</a></h2><h3 id="pros">➕ Pros <a class="markdownit-header-anchor" href="#pros">🔗</a></h3><ul><li>There is a tight connection between the textual content in Figma designs and the actual product content.</li><li>Designers don't need to do anything extra (unless they are the ones renaming the source keys and uploading the content). On the contrary, they may easily preview the content in other languages.</li><li>Translators can use the linked screenshots to provide better-quality translations.</li><li>Iterating over older designs is quicker, and designers work with accurate content.</li></ul><h3 id="cons">➖ Cons <a class="markdownit-header-anchor" href="#cons">🔗</a></h3><ul><li>It takes some time to discuss and set up properly. Afterward, it takes time for everyone to get used to this workflow.</li><li>It is beneficial to have a localization manager who manages uploading the content to Localazy and everything else that is related to management in Localazy itself. I.e., somebody needs to be responsible for it.</li><li>When developers find a missing source key in the designs, it takes multiple steps before the updated content makes it to the code. If this happens often, it slows down the development quite a bit. </li><li>The management aspects of this workflow are more complicated in comparison to other Figma workflows. </li></ul><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>If you've made it all the way here, congratulations! I bet you're telling yourself that this is quite a complicated workflow. It is. However, once all the teams finish the one-time configuration steps and thoroughly discuss and agree on the workflow, it becomes quite smooth. And the reward is a truly tight connection between the designs and the product. And if you tend to return to older parts of your product and update it, you can trust me that all the efforts will be deemed worth it. </p><p>Be sure to check more articles from the <a href="#figma-plugin-series">series</a> about common Figma plugin workflows.</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/01/Figma-Series-3.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 25 affiliate programs for digital product makers to boost your online income]]></title>
            <link>https://localazy.com/blog/top-10-affiliate-programs-for-digital-product-makers</link>
            <guid isPermaLink="false">top-10-affiliate-programs-for-digital-product-makers</guid>
            <pubDate>Fri, 24 Jan 2025 15:55:21 GMT</pubDate>
            <description><![CDATA[Are you looking for some great affiliate programs to increase your recurring income? These ones can add to your bottom line if your audience cares about their digital products and online presence.]]></description>
            <content:encoded><![CDATA[<p>Unique opportunities come just once in a lifetime. As the global language services industry continues to grow (with a compound annual growth rate <a href="https://www.grandviewresearch.com/industry-analysis/language-services-market-report">of 7%</a>, it is estimated it will generate <a href="https://www.nimdzi.com/nimdzi-100-top-lsp/too-long-didnt-read/">$95.3 billion by 2028</a>), it makes more sense than ever to get a taste of the localization market pie. So before we recommend our favorite affiliate programs for entrepreneurs, let us share with you why you should become a Localazy Affiliate Partner.</p><p>🙄 <strong>TL;DR: Skip the list of best-paying affiliate programs for digital product makers and take a look at what we can offer you at Localazy.</strong></p><h2 id="straight-to-the-point-join-our-affiliate-program">🎯 Straight to the point: Join our affiliate program <a class="markdownit-header-anchor" href="#straight-to-the-point-join-our-affiliate-program">🔗</a></h2><p>Localazy is a new-gen localization platform tearing down language barriers. Our mission is to make language localization easy, fun, and accessible. </p><p>We are aware that blind dates are a huge gamble, so we prefer to show you our hand right away to save you time. If you like our TMS or are intrigued by it, we have an affiliate program called <a href="https://localazy.com/term/affiliate-program">Localazy Affiliate</a>. Through this program, you can earn a 20% commission for each recurring plan sale for 12 months.</p><p>For our first date, we will provide you with a stellar piece of content your audience will love to read. Then, once we get to know each other better, we will do our best to make you feel loved.</p><blockquote>🏆 If you are a leader in tech, consulting, or digital services using our product, our Partner program might be a better fit. Explore its perks <a href="https://localazy.com/partnership">here</a></blockquote><h3 id="the-growing-importance-of-language-localization">🚩 The growing importance of language localization <a class="markdownit-header-anchor" href="#the-growing-importance-of-language-localization">🔗</a></h3><p>Language localization is a massive topic with a business audience ready to pay for productivity, development, and business services. Independent makers, startups, SMBs, and enterprise organizations have one thing in common - they need to improve their language support to fuel their international expansion. </p><h3 id="expert-content-and-added-value-for-your-audience">💎 Expert content & added value for your audience <a class="markdownit-header-anchor" href="#expert-content-and-added-value-for-your-audience">🔗</a></h3><p>We all know that great content can convince visitors to become users. On the other hand, producing excellent content is a tedious task, so here's the deal:</p><ul><li>💡 You can fill the language localization topic gap with expert content,</li><li>👀 attract more users to your website,</li><li>💸 and get paid for it.</li></ul><p>We know that overly promotional content does not work at all. To make your content even more engaging, consider enhancing it with visuals. You can use an <a href="https://www.adobe.com/products/firefly/features/text-to-image.html">AI image generator</a> to quickly create customized images that complement the articles and add value to your audience. <br><br>So you can stay assured that our content will be focused on added value, not overselling anything to your visitors. Localazy will be mentioned as a resource of the information included in the article. Plus, the content will be republished with a canonical link to your domain from <a href="http://localazy.com/" rel="noopener noreferrer">localazy.com</a> - a domain with AHREFS DR 50 and growing.</p><p>We will prepare a great article related to your business &amp; language localization, international expansion, and growth. The only thing we ask you for is a do-follow link with your affiliate tracking code. All above and beyond is to help you get more affiliate commissions faster.</p><h2 id="long-term-co-marketing-support">📈 Long-term co-marketing support  <a class="markdownit-header-anchor" href="#long-term-co-marketing-support">🔗</a></h2><p>Moreover, you can enjoy our co-marketing activities by receiving traffic to your website via our social media channels, with thousands of digital makers as our followers. Combined, Localazy now serves over a billion end-users with native language experiences, and you can now become a part of it. </p><p><em>Ready to commit?</em> <a href="https://localazy.com/community/b2b-partnerships/join-our-affiliate-program#how-do-i-join-the-program">Submit our partnership form</a>, and let's find out how we could enjoy our journey together. We already have some plans you will most likely enjoy discovering with us!</p><h2 id="conclusion-on-localazy-affiliate">📌 Conclusion on Localazy Affiliate <a class="markdownit-header-anchor" href="#conclusion-on-localazy-affiliate">🔗</a></h2><ul><li>10% off for your customers</li><li>You will get a 20% commission from every plan sale (for monthly subscriptions applies for up to <strong>twelve months</strong>)</li><li>The unique, long-form article will be tailored to your audience and support your primary business goal.</li><li>Visit our community center to find out what else you can do with us.</li><li>And remember - we are not just another bunch of <a href="https://www.youtube.com/watch?v=5IsSpAOD6K8" rel="noopener noreferrer">talking heads</a>. We are Localazy, a global team of local folks.</li></ul><p>Localazy is a relatively young language localization company compared to industry behemoths. We look for long-term, innovative partnerships towards mutual success and decreased marketing budgets on performance campaigns and huge conference sponsorships. Instead, we are happy to share our revenue from incoming customers who purchase our standard Localazy plans.</p><blockquote><strong>Join the <a href="https://localazy.com/term/affiliate-program">Localazy Affiliate Program</a> now.</strong></blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/08/image-13.png" class="kg-image" alt loading="lazy" width="630" height="420" srcset="https://ghost.localazy.com/content/images/size/w600/2022/08/image-13.png 600w, https://ghost.localazy.com/content/images/2022/08/image-13.png 630w"><figcaption>Localazy Affiliate Program</figcaption></figure><h2 id="the-list">🧾️ The list <a class="markdownit-header-anchor" href="#the-list">🔗</a></h2><p>And now, here comes the list of best affiliate programs for entrepreneur audiences.</p><h3 id="1-tweethunter">1. TweetHunter <a class="markdownit-header-anchor" href="#1-tweethunter">🔗</a></h3><p>Tweet Hunter is an all-in-one growth tool designed to help you grow and monetize your X audience. Their goal is to make it as easy as possible for you to create high-performing content, build an audience around your topics of expertise, and monetize and attract opportunities.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-1.png" class="kg-image" alt loading="lazy" width="1519" height="760" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-1.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-1.png 1519w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://tweethunter.io/"><em>Tweet Hunter</em></a></figcaption></figure><p>Whenever you refer a customer to TweetHunter, you will take a 40% commission on all payments that the user makes. Yes, you read it right; they offer a monthly recurring commission on every payment. The affiliate program provides a structured commission system with 3 levels. The commission rate is the same for all three packages, however, the cookie tracking and additional perks differ. If you are just starting, you will get the “Newbie” package, which offers 30-day cookie tracking. If you refer between 3 and 10 people, you will be promoted to the “Ruby” package, which offers 45 days of cookie tracking and an additional 7-day trial period for your audience. Lastly, if you can make it to more than 10 referrals, they will allocate you the “Diamond” package, which offers 60 days of cookie tracking, 14 days of additional trial period for your referrals, and free lifetime access to Tweethunter for yourself. The company has a lot of hidden potential as they were recently acquired by Lempire, another amazing company.</p><h3 id="2-systemeio">2. Systeme.io <a class="markdownit-header-anchor" href="#2-systemeio">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-5.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-5.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/02/image-5.png 1600w, https://ghost.localazy.com/content/images/2023/02/image-5.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="http://Systeme.io">Systeme.io</a></figcaption></figure><p>Systeme.io is a great tool to create sales funnels, send marketing emails, build websites, create online courses, and automate your marketing as a whole.</p><p>Earn 60% lifetime recurring commissions every time your affiliate link is used to purchase a systeme.io subscription or course. A great thing about this platform is that even if you refer a customer to their free plan, they will use your affiliate link in the future emails that they will send to that customer, which means that whenever they will be able to convert that lead into a paying customer, you will get an affiliate commission.</p><h3 id="3-hubspot">3. HubSpot <a class="markdownit-header-anchor" href="#3-hubspot">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2024/07/HubSpot-affiliate-program-landing-page.png" class="kg-image" alt loading="lazy" width="1165" height="1000" srcset="https://ghost.localazy.com/content/images/size/w600/2024/07/HubSpot-affiliate-program-landing-page.png 600w, https://ghost.localazy.com/content/images/size/w1000/2024/07/HubSpot-affiliate-program-landing-page.png 1000w, https://ghost.localazy.com/content/images/2024/07/HubSpot-affiliate-program-landing-page.png 1165w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://www.hubspot.com/partners/affiliates"><em>HubSpot</em></a></figcaption></figure><p>Partner through HubSpot's Affiliate Program to generate new revenue from your content while helping the SMB community grow better. However, their review process is not trivial, and it is advised to have a marketing-oriented media outlet before applying.</p><p>The commission is a recurring rate with a <strong>30% monthly commission (up to 1 year) with a 180-day cookie window to help maximize your earnings</strong>. The more people you refer, the better perks they offer. If you refer more than 200 people, you can get a custom monthly commission and regular check-ins with a dedicated affiliate manager.</p><h3 id="4-clickup">4. ClickUp  <a class="markdownit-header-anchor" href="#4-clickup">🔗</a></h3><p>ClickUp is the ultimate productivity tool; someone would say a project management tool of the future. While ClickUp does not come with, let's say, revolutionary features, it is pretty comprehensive &amp; flexible enough to take care of the majority of your company processes.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-4.png" class="kg-image" alt loading="lazy" width="1568" height="896" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-4.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-4.png 1568w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://clickup.com/partners/affiliates"><em>ClickUp</em></a></figcaption></figure><p>An amazing fact about ClickUp Affiliate Program is that every day, many businesses are in the market for a proper project management tool, and ClickUp is one of the best ones. It sells itself! </p><p>You earn from $0.75 to up to $24 from users joining ClickUp through your link. The commission is based on the location of the user you referred. They provide you with a list of commission rates for each country when you sign up, so you can target the ones that best fit your interests.</p><h3 id="5-webflow">5. Webflow <a class="markdownit-header-anchor" href="#5-webflow">🔗</a></h3><p>Gone are the days when one had to know how to code or install WordPress to get started. Remember WYSIWYG editors like Microsoft Frontpage? Do you feel the ironic nostalgia?</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-6.png" class="kg-image" alt loading="lazy" width="1472" height="887" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-6.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-6.png 1472w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://webflow.com/affiliates"><em>Webflow</em></a></figcaption></figure><p>Webflow is definitely of the best no-code website builders available online, and you can bet that Webflow affiliate is worth the time invested into an affiliate program. If your audience consists of junior website designers about to start their careers in digital marketing services, Webflow is a great choice.</p><p>Whether your referees get a Designer plan or just set up hosting, you'll <strong>earn 50% of all payments for 12 months</strong> — with no limits.</p><h3 id="6-semrush">6. Semrush <a class="markdownit-header-anchor" href="#6-semrush">🔗</a></h3><p>Semrush is a great online marketing analytic tool for every serious online marketer. Their platform allows you to do SEO, content marketing, competitor research, PPC, and social media marketing from just one platform.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-7.png" class="kg-image" alt loading="lazy" width="1362" height="727" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-7.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-7.png 1362w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: <a href="https://app.impact.com/advertiser-advertiser-info/Semrush.brand">Semrush's Affiliate Program</a></em></figcaption></figure><p>What is truly unique about the Semrush Affiliate program is its reward stepping. It speaks for itself. See for yourself:</p><p><strong>Earn $200 for every new sale, $10 for every new trial, and $0.01 for every new sign-up</strong>. This affiliate commission offer is unique as you get rewarded along the way and don't have to wait until your users make a purchase.</p><h3 id="7-shopify">7. Shopify <a class="markdownit-header-anchor" href="#7-shopify">🔗</a></h3><p>New online stores pop up daily, and the market is enormous. Thousands of online entrepreneurs launch their own or dropshipping businesses to earn income. Millions of the world's most successful brands trust Shopify to sell, ship, and process payments anywhere.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-8.png" class="kg-image" alt loading="lazy" width="1600" height="747" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-8.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-8.png 1600w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://www.shopify.com/affiliates"><em>Shopify's Affiliate Program</em></a></figcaption></figure><p>Their affiliate program pays different commissions depending on the plan purchased by your referral but the commissions range from $25 - $150 depending on the location of the Merchant. As Shopify also offers POS solutions; If your referred user goes for a POS Pro plan, you can even earn $500/user. </p><p>If you are the one who helps these people succeed, you can offer Shopify &amp; Localazy in tandem because Localazy can translate Shopify stores as well. A single tutorial can do wonders &amp; earn you twice - once for Shopify &amp; once for Localazy!</p><h3 id="8-canva">8. Canva <a class="markdownit-header-anchor" href="#8-canva">🔗</a></h3><p>Who doesn't know Canva? It's a great design tool for small entrepreneurs and smart teams. It sells itself &amp; all you need now is to get started &amp; join their Canvassador program today. Previously they used to have an affiliate program but recently, they have shifted from that and replaced it with an Ambassador program where they support individual content creators who create content focused specifically on Canva. The program offers various perks to content creators such as beta testing opportunities, a Canvassador badge, collaboration opportunities, learning, and webinars apart from the commission on each converted Pro plan subscription.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-9.png" class="kg-image" alt loading="lazy" width="1600" height="781" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-9.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-9.png 1600w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://www.canva.com/affiliates/"><em>Canva</em></a></figcaption></figure><p>The tool is in high demand across multiple industries and it doesn’t take much effort to get the attention of potential subscribers.</p><h3 id="9-podia">9. Podia <a class="markdownit-header-anchor" href="#9-podia">🔗</a></h3><p>Thousands of people like you use Podia to build websites, sell courses and digital products, and host communities. Podia is free. And when you grow, it has all the tools you'll need along the way.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-10.png" class="kg-image" alt loading="lazy" width="1539" height="885" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-10.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-10.png 1539w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://www.podia.com/affiliates"><em>Podia</em></a></figcaption></figure><p>What else does a starting online entrepreneur needs? It's an easy sell! You'll earn up to <strong>30% every month</strong> that your referred customer stays with Podia.</p><h3 id="10-typeform">10. Typeform <a class="markdownit-header-anchor" href="#10-typeform">🔗</a></h3><p>There are many tools out there that can help you build smart forms, but nothing beats Typeform regarding user experience. Of course, you can find cheaper alternatives, but sometimes it's just a pity to stay under par if you can get the best solution.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-11.png" class="kg-image" alt loading="lazy" width="1600" height="848" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-11.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-11.png 1600w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://www.typeform.com/partners/refer-a-friend/"><em>Typeform's Affiliate Program</em></a></figcaption></figure><p>Typeform makes interacting with people feel friendly and personal. We are actively using Typeform at Localazy, and we can only recommend you join the Typeform Affiliate Program. Spread the word and receive $20 for each referral when they purchase an annual plan. Not only that, but you will also get a 15% recurring commission on their subscription amount every month. Typeform will continue paying this amount to you until it reaches a grand total of $500/referral.</p><h3 id="11-instatus">11. Instatus <a class="markdownit-header-anchor" href="#11-instatus">🔗</a></h3><p>Something simple as an elegant status page can do wonders for brands today. And Instatus offers a beautiful and easy-to-use service for adding status pages. Start helping people build more efficient websites and earn a commission for doing so. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-12.png" class="kg-image" alt loading="lazy" width="1409" height="819" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-12.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-12.png 1409w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://instatus.com/affiliates"><em>Instatus’ Affiliate Program</em></a></figcaption></figure><p>Instatus offers a whopping 30% recurring commission for each paying customer you bring. You can promote it together with Localazy to serve those people who want to build smart multilingual websites that are efficient.</p><h3 id="12-notifierso">12. Notifier.so <a class="markdownit-header-anchor" href="#12-notifierso">🔗</a></h3><p>Building a positive social media presence and spreading the good word about a brand is the ultimate challenge every online business faces. It’s hard to track what the internet is saying about your brand on multiple platforms. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-13.png" class="kg-image" alt loading="lazy" width="1410" height="801" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-13.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-13.png 1410w" sizes="(min-width: 720px) 720px"><figcaption><em><em>Source: </em><a href="https://notifier.so/"><em>Notifier</em></a></em></figcaption></figure><p>Notifier is a no-brainer investment to monitor brand mentions and your own personal phrases access multiple platforms such as Reddit, Instagram, Twitter, and more. Joining <a href="https://notifier.getrewardful.com/signup">Notifier’s affiliate program</a> is totally worth it. The tool is so useful you don’t have to push hard to get sales. You’ll receive a <strong>25% commission for every referral</strong>.</p><h3 id="13-recapture">13. Recapture <a class="markdownit-header-anchor" href="#13-recapture">🔗</a></h3><p>Knowing the importance of targeting users with abandoned carts, Recapture serves business owners who are hungry to harness the power of their marketing to the fullest. Email marketing isn’t going away anytime soon, making it a robust option.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-14.png" class="kg-image" alt loading="lazy" width="1564" height="903" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-14.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-14.png 1564w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://recapture.io/"><em>Recapture</em></a></figcaption></figure><p>Now you can suggest to your audience the best software not only for increasing cart recovery but also for building emails through a drag-and-drop functionality and email capture pop-ups.</p><p>Their affiliate program rewards you with a recurring commission of 20% per month for each new store you bring for as long as one year. (At Localazy, we offer a similar 20% recurring commission for up to one year as well. Find more details here.)</p><h3 id="14-senjaio">14. Senja.io <a class="markdownit-header-anchor" href="#14-senjaio">🔗</a></h3><p>Testimonials are wonderful tools to increase your trustworthiness when selling online and offline. Brands are continuously searching for widgets to help them embed beautiful testimonials on their websites, and Senja offers just that. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-15.png" class="kg-image" alt loading="lazy" width="1387" height="903" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-15.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-15.png 1387w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://senja.io/"><em>Senja.io</em></a></figcaption></figure><p>The tool is very direct and easy to use, and tools of its kind are very sought after in the market. Plus, the tool isn’t much expensive either. It comes with a freemium version and the paid plans start from $19/mo. Their <a href="https://senja.firstpromoter.com/">affiliate program</a> is generous, offering <strong>30% of the recurring revenue</strong> for each customer you bring into the platform.</p><h3 id="15-reflio">15. Reflio <a class="markdownit-header-anchor" href="#15-reflio">🔗</a></h3><p>Now, we couldn’t have a list of the best affiliate programs without an affiliate program used to build affiliate programs! Reflio offers a <a href="https://affiliates.reflio.com/invite/reflio"><strong>hefty commission of 50%</strong></a> for up to a year for each new customer you bring into the platform. The cookie window they offer is 60 days which means that you’ll get a commission when the customer you’ve referred buys within 60 days after clicking your link. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-16.png" class="kg-image" alt loading="lazy" width="1494" height="900" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-16.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-16.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-16.png 1494w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://reflio.com/"><em>Reflio</em></a></figcaption></figure><p>There are tons of affiliate-building programs out there, but Reflio is seamless to use and will benefit those looking to build an affiliate program for their business. Its pricing is quite affordable, starting at $19/mo but you can also benefit from its free plan which allows you to have up to 50 affiliates (it only charges a 9% for every successful referral they make).</p><h3 id="16-checkflowio">16. Checkflow.io <a class="markdownit-header-anchor" href="#16-checkflowio">🔗</a></h3><p>Used by companies like Logitech, Vodafone, and Nintendo, Checkflow is a powerful piece of software companies use to simplify their workflows. And in an age where managing information is challenging, tools like Checkflow are essential.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-17.png" class="kg-image" alt loading="lazy" width="1353" height="895" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-17.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-17.png 1353w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://checkflow.io/affiliate-program"><em>CheckFlow’s Affiliate Program</em></a></figcaption></figure><p><em>“Lifetime commissions” </em>is definitely the keyword of their affiliate program. The best part about their affiliate program is the fact you’ll get paid a <strong>40% lifetime recurring commission</strong> even for new upgrades from the users you refer.</p><h3 id="17-legituptime">17. LegitUptime <a class="markdownit-header-anchor" href="#17-legituptime">🔗</a></h3><p>Urgency sells and LegitUptime taps on the feeling of risk and urgency which is a useful leverage for you as an affiliate marketer too. They send you immediate alerts when your service or website goes down. Paired with multiple integrations, it allows users to monitor their servers, display live status pages, and more. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-18.png" class="kg-image" alt loading="lazy" width="1298" height="904" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-18.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-18.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-18.png 1298w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://legituptime.com/Affiliates/"><em>LegitUptime’s Affiliate Program</em></a></figcaption></figure><p>As with most affiliate programs, you’ll need to find the right audience to promote it. Not every business owner might need such a service. But the affiliate program is highly rewarding once you get to make a sale. </p><p>You get to keep all the revenue for referrals who choose a monthly subscription and get a <strong>40% commission for yearly subscribers</strong>. However, it doesn’t end here. For each renewal (in either monthly or yearly plans), you get paid again a <strong>25% commission</strong>.</p><h3 id="18-highlevel">18. HighLevel <a class="markdownit-header-anchor" href="#18-highlevel">🔗</a></h3><p>Every agency owner needs to think about scaling up efficiently, and HighLevel offers a ton of features to help them scale up. It counts over 20,000 agencies in its clientele and with a good reason. The software replaces many of the tools you’d need to pay for separately throughout the process of capturing, nurturing, and closing your leads.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-19.png" class="kg-image" alt loading="lazy" width="1351" height="907" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-19.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-19.png 1351w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://www.gohighlevel.com/joinaffiliate?_gl=1*1vhcpvl*_ga*NDA0MTYyODY0LjE2NzUwODA2MzY.*_ga_HSZW8WNR22*MTY3NTE0ODEwNy40LjEuMTY3NTE0ODkwOC4wLjAuMA.."><em>HighLevel’s Affiliate Program</em></a></figcaption></figure><p>HighLevel offers multiple functionalities, replacing tools like WordPress, HubSpot, and MailChimp. And its affiliate program is as amazing as the software itself. As of July 2024, they claim to have paid out to affiliates a sum of $52,840,231. Which is feasible considering that they offer 40% recurring commissions to affiliates.</p><h3 id="19-referazon">19. Referazon <a class="markdownit-header-anchor" href="#19-referazon">🔗</a></h3><p>In an age when TikTok, short-form videos, and social media are becoming must-know marketing tools, Refrazon helps Amazon sellers connect with influencers who can promote their products on such channels. Discovering influencers and building relationships with them manually is challenging and time-consuming.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-20.png" class="kg-image" alt loading="lazy" width="1314" height="697" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-20.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-20.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-20.png 1314w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://www.referazon.com/affiliate-program/"><em>Refrazon’s Affiliate Program</em></a></figcaption></figure><p>Refrazon finds influencers who are driving sales to other Amazong products, making it a tool in high demand. The affiliate program they offer is highly lucrative as well. It offers a <strong>50% commission and a 90 days cookie window</strong>. </p><p>With most affiliate programs you’ll struggle to find a supported payment method, but Refrazon keeps things simple by paying its affiliates via PayPal on a monthly basis.</p><h3 id="20-nuro">20. Nuro <a class="markdownit-header-anchor" href="#20-nuro">🔗</a></h3><p>Video content is booming. Besides <a href="https://localazy.com/term/content-localization">localizing content</a> to reach specific audiences, creating simplified videos with animations, text, and eye-catching transitions can hook and convert them. Nuro relies on artificial intelligence to transcribe and animate videos for up to 10 hours, saving time and money for its users.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-21.png" class="kg-image" alt loading="lazy" width="1343" height="856" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-21.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-21.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-21.png 1343w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://get.nuro.video/partners"><em>Nuro’s Affiliate Program</em></a></figcaption></figure><p>The simplicity of the tool makes it a no-brainer for entrepreneurs, authors, and course creators who want to save the costs of hiring professional video editors. And their affiliate program is worthwhile, granting you a hefty <strong>20% lifetime commission</strong> for every new customer you bring into the platform.</p><h3 id="21-whatsform">21. Whatsform <a class="markdownit-header-anchor" href="#21-whatsform">🔗</a></h3><p>Entrepreneurs who use WhatsApp for their business can now capture data from their potential clients with less work than before. Actually, the process is simplified for both parties. Now you can simply create a form that the user can fill out, and then the answer immediately arrives on your WhatsApp. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-22.png" class="kg-image" alt loading="lazy" width="1398" height="726" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-22.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-22.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-22.png 1398w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://whatsform.com/whatsapp-affiliate/"><em>WhatsForm’s Affiliate Program</em></a></figcaption></figure><p>Imagine all that work needed to reply to new customers, leads, and potential buyers one by one…vanished. The best part about it is the fact it offers a “free forever” plan alongside the premium one. </p><p>Getting new customers for WhatsForm through your affiliate link secures you a <strong>25% recurring commission</strong>. And there’s a <strong>bonus of $100 </strong>waiting for you each time you bring 10 new customers.</p><h3 id="22-jebbit">22. Jebbit <a class="markdownit-header-anchor" href="#22-jebbit">🔗</a></h3><p>People love engaging quizzes more than boring questionnaires and traditional surveys. Through Jebbit, anyone can build interactive quizzes for their users in a fun way. Used by big companies like NBA, Evenflo, and NFL, the service can definitely help you connect with your customers, build relationships, and capture data.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-23.png" class="kg-image" alt loading="lazy" width="1431" height="789" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-23.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-23.png 1431w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://www.jebbit.com/affiliate-program"><em>Jebbit’s Affiliate Program</em></a></figcaption></figure><p>Jebbit offers a partner program for three different types of categories of stakeholders; Strategic tech partners, Social Partners, and Agency, reseller, and referral partners. You can read more details about these<a href="https://www.jebbit.com/partner-program"> partnerships on their website</a>, and if you feel like you fit in one of these mentioned categories, you can apply for that.</p><h3 id="23-jasper-ai">23. Jasper AI <a class="markdownit-header-anchor" href="#23-jasper-ai">🔗</a></h3><p>Another revolutionary tool powered by artificial intelligence is Jasper, the popular content-writing tool used to produce content and advertising materials. Writing tools like Jasper are improving so rapidly that entrepreneurs can now create content in one click without having to spend money and time hiring real writers. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-24.png" class="kg-image" alt loading="lazy" width="1436" height="877" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-24.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-24.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-24.png 1436w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://www.jasper.ai/partners"><em>Jasper’s Affiliate Program</em></a></figcaption></figure><p>The software is so in high demand that it sells itself. The tool has been featured on Airbnb, HubSpot, and Digital Marketer, among others. Joining its affiliate program is totally worth it even if you don’t intend to put much effort into promoting it. As an affiliate, you get paid a <strong>30% lifetime recurring commission for each referral</strong>.</p><h3 id="24-ruttl">24. Ruttl <a class="markdownit-header-anchor" href="#24-ruttl">🔗</a></h3><p>Selected as the Product of the Day <a href="https://www.producthunt.com/products/ruttl">on Product Hunt</a>, among other awards, Ruttl facilitates the exchange of feedback for web designers and developers, allowing them to comment directly on visual parts of a website, images, and PDF documents, stimulating the desired changes without getting their hands on the code. <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-25.png" class="kg-image" alt loading="lazy" width="1463" height="773" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-25.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-25.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-25.png 1463w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://ruttl.com/affiliate/"><em>Ruttl’s Affiliate Program</em></a></figcaption></figure><p>Ruttl comes with several integrations, including Trello, Zapier, and Asana. The tool is initially free but you should subscribe to one of their plans if you want to add more than 5 collaborators to your project. As an affiliate, you receive a <strong>25% recurring commission</strong> for your referrals. </p><p>Also, the best part about it is that you’re not just offering people to sign up through your link to purchase subscription plans at the same prices. If they subscribe through your link, they’ll get a <strong>30% discount</strong>, which is beneficial for both of you.</p><h3 id="25-xperiencify">25. Xperiencify <a class="markdownit-header-anchor" href="#25-xperiencify">🔗</a></h3><p>Gamification is key to learning. As a digital product maker, you know how ineffective plain educational content can be for users. Xperiencify turns your online courses into enjoyable games full of rewards and interactivity. The more your customers enjoy their learning experience, the higher the chances they’ll come back for more. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/02/image-26.png" class="kg-image" alt loading="lazy" width="1544" height="730" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-26.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-26.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-26.png 1544w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://xperiencify.com/"><em>Xperiencify</em></a></figcaption></figure><p>The problem with purchasing courses is that going through them seems like hard work to the buyers. Xperiencify completely alters their perspective on online courses. And their <a href="https://partners.xperiencify.com/">affiliate program</a> is quite beneficial. Bringing a new customer to this unique course gamification platform grants you a <strong>30% recurring commission</strong>.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Now, are you ready to start earning your commission? Do you know some other Affiliate programs that are worth mentioning? What is your favorite? Share your thoughts in the comments below. </p>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/07/25-affiliates-rewamp.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Managing multilingual content with Storyblok & Localazy]]></title>
            <link>https://localazy.com/blog/managing-multilingual-content-with-storyblok-localazy</link>
            <guid isPermaLink="false">managing-multilingual-content-with-storyblok-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:30:11 GMT</pubDate>
            <description><![CDATA[Looking for ways to make the content translation process faster and more convenient? Learn how to translate Storyblok websites with Localazy - the highly automated localization platform.]]></description>
            <content:encoded><![CDATA[<p>Managing websites in multiple languages can be very challenging. While some content management systems are built with <a href="/dictionary/internationalization">internationalization</a> in mind and do the job well (including Storyblok!), nothing compares to a <a href="/term/translation-management-system">fully-featured localization platform</a> designed to produce and maintain translations of your content in dozens of languages from the very start. Integrating your content seamlessly with such a platform allows you to roll out new languages rapidly and without any hassle.</p><blockquote>Learn more about the <a href="/blog/top-10-multilingual-content-management-systems">Best Multilingual Content Management Systems</a></blockquote><p>Building upon the experience we gained after our <a href="/features/strapi-localization-plugin">Strapi localization plugin</a> made its splash in the Strapi community, we are ready to offer our help to everyone struggling to get their Storyblok content translated with our new localization solution.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/01/image-40.png" class="kg-image" alt loading="lazy" width="494" height="352"></figure><h2 id="what-is-storyblok">☝️ What is Storyblok? <a class="markdownit-header-anchor" href="#what-is-storyblok">🔗</a></h2><p><a href="https://www.storyblok.com/">Storyblok</a> is an enterprise-level "headless" content management system for companies, agencies, and organizations with prolific content needs. It features template layouts, custom modules, pre-built components, video integration, and more.</p><p>Storyblok also has a user-friendly interface that makes it simple for users to manage their content in any format without knowing how to code. In fact, it is probably the only headless CMS that features a real-time visual editor.</p><p>Storyblok offers multilingual content and integrates with various translation management platforms, <a href="/storyblok">Localazy included</a>. These integrations let you make your content available to a global audience.</p><blockquote>🎙️ We invited Alex Kopp, Senior Solutions Engineer at Storyblok, to talk about his approach to content-driven growth. Listen to the full podcast episode <a href="https://localazy.com/blog/s02-ep03-bridging-the-gap-podcast-content-driven-growth">here</a>.</blockquote><h4 id="how-does-the-localazy-integration-work">How does the Localazy integration work?</h4><p>Storyblok offers a couple of ways of creating <a href="https://www.storyblok.com/docs/plugins/introduction">Extensions</a>. To deliver the smoothest experience, we decided to create the complete <a href="https://www.storyblok.com/docs/plugins/custom-application">Custom Application</a>. Unfortunately, Storyblok does not yet offer a way to easily install Custom Applications for other users (e.g., via Marketplace).</p><p>That's why we at Localazy decided to host the integration ourselves and made it available via the <a href="https://localazy.com/console/"><em>Localazy Console</em></a>. It's a convenient way of providing 3rd party integrations quickly that cannot be delivered directly to the target platform while keeping the Localazy UI clean.</p><p>The integration's purpose is to provide a way of transferring content between Storyblok and Localazy seamlessly. That way, you'll be able to manage your content in many languages easily.</p><h2 id="watch-video">📼 Watch video <a class="markdownit-header-anchor" href="#watch-video">🔗</a></h2><p>You can also watch a video demonstration of the Storyblok Integration before you dive into the rest of this article.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/7ascMqEXZ-c" title="Storyblok CMS Content Localization with Localazy" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><h2 id="connect-storyblok-and-localazy">🥂 Connect Storyblok & Localazy <a class="markdownit-header-anchor" href="#connect-storyblok-and-localazy">🔗</a></h2><p>First, <a href="https://localazy.com/register">create a Localazy account</a>. After logging in, create a new project by clicking on <em>Start a new localization project</em> and filling in the information, such as project name, etc. Do not forget to set the <em>Source language</em> to respect your Storyblok space <em>Default language</em> choice.</p><blockquote><strong>🏁 To learn more about using Localazy, read the <a href="/docs/general/getting-started-with-localazy">Getting Started Guide</a></strong></blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-10.png" class="kg-image" alt loading="lazy" width="1758" height="1095" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-10.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/01/image-10.png 1600w, https://ghost.localazy.com/content/images/2023/01/image-10.png 1758w" sizes="(min-width: 720px) 720px"><figcaption>Start a new localization project</figcaption></figure><p>The project is currently empty, but we'll populate it with data from our Storyblok website soon. Choose the Storyblok integration from the list and follow the instructions.</p><p>Then, go to <a href="https://localazy.com/console/"><em>Localazy Console</em></a>. The best way to navigate there is to go to the <em>Project Settings</em> and click the <em>Dev Console</em> Tab. Then, select <em>Integrations</em> in the left menu and find your project. Click on the <em>link</em> icon and choose Storyblok Integration.</p><p>After selecting the integration, you'll be asked to provide your Storyblok Space ID and API Token. We need these to connect the Localazy project to your Storyblok Space and access the stories and components. </p><blockquote><strong>Learn how to obtain <a href="https://www.storyblok.com/faq/where-can-i-find-my-space-id">Space ID</a> and <a href="https://app.storyblok.com/#/me/account?tab=token">API token</a>.</strong></blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-11.png" class="kg-image" alt loading="lazy" width="1758" height="1095" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-11.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/01/image-11.png 1600w, https://ghost.localazy.com/content/images/2023/01/image-11.png 1758w" sizes="(min-width: 720px) 720px"><figcaption>Provide your Space ID and API Token</figcaption></figure><p>After filling in the required fields, click <em>Connect</em>.</p><blockquote>Note: Your data is encrypted and used only for communication with the Storyblok API.</blockquote><p>After connecting, two new icons should appear. Click on any of the new "cloud" icons. A new modal window will appear. All the Localazy ↔️ Storyblok communication is managed from this place.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-31.png" class="kg-image" alt loading="lazy" width="721" height="76" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-31.png 600w, https://ghost.localazy.com/content/images/2023/01/image-31.png 721w" sizes="(min-width: 720px) 720px"><figcaption>Connected Storyblok Project</figcaption></figure><p>You can also remove the connection of the integration by clicking on the "trash" icon.</p><h3 id="overview-tab">Overview Tab <a class="markdownit-header-anchor" href="#overview-tab">🔗</a></h3><p>In the modal window, there are four tabs that allow you to manage various aspects of the integration and perform the upload and download actions.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-32.png" class="kg-image" alt loading="lazy" width="1392" height="1111" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-32.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-32.png 1000w, https://ghost.localazy.com/content/images/2023/01/image-32.png 1392w" sizes="(min-width: 720px) 720px"><figcaption>Storyblok Integration Overview Tab</figcaption></figure><p>There's various information displayed in the Overview Tab. But, most importantly, there are two things. The first thing you should pay attention to is the <strong>Remaining organization keys </strong>count. If you run out of the keys, you won't be able to upload new translations back to Storyblok. To resolve this, you must upgrade your plan to one with a higher source key limit in the <a href="/my/marketplace">Marketplace</a>.</p><blockquote>💳 Learn more about <a href="/pricing">Localazy Pricing</a> options</blockquote><p>The second important thing is the <strong>languages table</strong>. Because Storyblok Management API does not provide any way to add a new or update an existing language automatically, you have to keep languages in Storyblok and Localazy in sync manually. That's why this comparison table comes in handy. You can see all the Space languages and connected Localazy project languages, and always double-check whether everything is up-to-date and synchronized correctly.</p><p>Also, always check whether the language codes are consistent in Localazy and Storyblok to avoid any accidents caused by discrepancies between Storyblok and Localazy.</p><h3 id="settings-tab">Settings Tab <a class="markdownit-header-anchor" href="#settings-tab">🔗</a></h3><p>There are also a couple of settings available to adjust the Storyblok integration according to your workflow. Let's go through each of the options with an explanation.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-35.png" class="kg-image" alt loading="lazy" width="1392" height="1111" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-35.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-35.png 1000w, https://ghost.localazy.com/content/images/2023/01/image-35.png 1392w" sizes="(min-width: 720px) 720px"><figcaption>Storyblok Integration Settings Tab</figcaption></figure><h4 id="sync-translatable-fields-with-export-what-does-it-mean-how-to-use-it">Sync translatable fields with export: What does it mean? How to use it?</h4><p>When you initiate the download action, every story is exported and downloaded to Localazy. The way that Storyblok works is that it exports all the text-based fields and, unfortunately, disregards the component's <em>Translatable</em> setup. That means that even though your component's <em>Translatable</em> setup is correct, all text-based fields will still be uploaded to Localazy. </p><p>This is unfortunate when your components contain some text-based internal metadata or styling attributes. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-13.png" class="kg-image" alt loading="lazy" width="1758" height="1095" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-13.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/01/image-13.png 1600w, https://ghost.localazy.com/content/images/2023/01/image-13.png 1758w" sizes="(min-width: 720px) 720px"><figcaption>Translatable &amp; Exclude from export setup in Storyblok</figcaption></figure><p>The solution to this problem would be to go through each component's setups and check the <em>Exclude from export </em>checkbox for every field that is not marked as <em>Translatable. </em>This would obviously be a tedious, painful &amp; error-prone manual procedure.</p><p>With the <em>Sync translatable fields with export?</em> option checked, a synchronization before every <em>Download to Localazy</em> happens. This will ensure that all your untranslatable fields are excluded from the story export. And vice-versa, it ensures that every translatable field is included in the story export.</p><h4 id="download-existing-localized-entries">Download existing localized entries?</h4><p>If this option is checked, every download to Localazy will also transfer the existing localizations to Localazy, not just the one in the Default language. Note that it's important to follow ISO 639 while defining a language code in Storyblok.</p><p>In most cases, you'd like to use it with the <em>Set Storyblok as Souce of Truth</em> option.</p><h4 id="set-storyblok-as-source-of-truth">Set Storyblok as Source of Truth</h4><p>If this option is active, downloading to Localazy will set all downloaded translations as the current version. By default, Localazy doesn't overwrite existing current versions for translations and lets you decide through the review process. This option can be handy when you want to quickly edit a translation in the Storyblok administration without looking it up in Localazy.</p><h2 id="translate-storyblok-content">🚩 Translate Storyblok content <a class="markdownit-header-anchor" href="#translate-storyblok-content">🔗</a></h2><p>Now that you have decided how to configure the integration settings and understand the functions a little better, we can dive into the translation process. First, we need to download the content from Storyblok to Localazy, but before we do, let's answer a couple of questions...</p><h4 id="i-have-already-translated-some-content-can-i-sync-it-with-localazy">I have already translated some content. Can I sync it with Localazy?</h4><p>Yes, the Localazy integration allows you to download your translated content in languages other than the Default language. To do so, go to the <em>Settings Tab</em> and check the <em>Download existing localized entries?</em> option.</p><h4 id="how-does-localazy-handle-the-storyblok-richtext-field">How does Localazy handle the Storyblok RichText field?</h4><p>It's a well-known fact that Storyblok interprets Rich Text fields as JSON. That basically means that if you'd upload such a structure to any Translation Management System, it would be hard to translate as a user would see a JSON structure to be translated.</p><p>Thankfully, Localazy provides a way to overcome such issues by 1:1 converting the JSON to HTML during the download. This way, the field content is user-friendly and can be translated easily.</p><p>During the upload back to Storyblok, Localazy handles the conversion as well - HTML content is 1:1 converted back to the Storyblok Rich Text JSON structure.</p><h4 id="how-does-localazy-handle-the-storyblok-table-field">How does Localazy handle the Storyblok Table field?</h4><p>Table fields are already well-handled by Storyblok export/import endpoints Localazy uses. Every cell of a table is exported as a separate key.</p><p>During the import, Storyblok handles the whole process.</p><h3 id="download-your-content-to-localazy">Download your content to Localazy <a class="markdownit-header-anchor" href="#download-your-content-to-localazy">🔗</a></h3><p>Now you are ready to download the content to Localazy, go to the <em>Download to Localazy</em> tab and click the <em>Download All Stories To Localazy</em> button.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-34.png" class="kg-image" alt loading="lazy" width="1392" height="1111" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-34.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-34.png 1000w, https://ghost.localazy.com/content/images/2023/01/image-34.png 1392w" sizes="(min-width: 720px) 720px"><figcaption>Storyblok Integration Download Tab</figcaption></figure><p>Go to your project in Localazy, and you'll see the downloaded source language and possibly your other languages (depending on your setup). Let's start translating!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-36.png" class="kg-image" alt loading="lazy" width="1392" height="1111" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-36.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-36.png 1000w, https://ghost.localazy.com/content/images/2023/01/image-36.png 1392w" sizes="(min-width: 720px) 720px"><figcaption>Project with Downloaded Languages from Storyblok Integration</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-39.png" class="kg-image" alt loading="lazy" width="1392" height="1111" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-39.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-39.png 1000w, https://ghost.localazy.com/content/images/2023/01/image-39.png 1392w" sizes="(min-width: 720px) 720px"><figcaption>Uploaded keys from Storyblok Integration to Localazy</figcaption></figure><h3 id="translate-in-localazy">Translate in Localazy <a class="markdownit-header-anchor" href="#translate-in-localazy">🔗</a></h3><p>You can now go to the Translations tab of your Localazy project and add new languages. </p><p>Localazy offers three main approaches to choose from and blend to translate your Storyblok content</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors - </strong>You can <a href="https://localazy.com/docs/general/translating-strings">start translating on your own</a> and use our built-in suggestion system.</li><li>🦾 <strong>Translate everything in bulk via machine translation - </strong>With the Localazy <a href="https://localazy.com/tiers/autopilot">Autopilot plan</a>, you can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate">running a machine translation over the content</a>. This is great for the first iteration and localization testing of your Storyblok website.</li><li>🚩 <strong>Fully automate the translation process with the <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization</a> services</strong> - Once your Localazy integration is set up, you can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to check the progress and sync the new translations.</li></ol><p>If you have access to the <a href="/features/pre-translate">pre-translate</a> feature, I recommend you give it a try to test how the translation flow works quickly. Select which language you want to translate first and click on the menu to open the Pre-translate window.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/01/image-41.png" class="kg-image" alt loading="lazy" width="1353" height="607" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-41.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-41.png 1000w, https://ghost.localazy.com/content/images/2023/01/image-41.png 1353w" sizes="(min-width: 720px) 720px"></figure><p>In the next step, feel free to choose your favorite MT engine. Each of them can handle specific scenarios, terms, and tonality differently, and it cannot be said that one is always better than the other.</p><p>I'll go with <a href="/dictionary/deepl">DeepL</a> for demonstration purposes since their <a href="https://localazy.com/dictionary/api">API</a> typically handles the translation request quite swiftly, and the quality is usually satisfactory.</p><p>Make sure to check the option <strong>Approve all translations</strong> so that you can use them immediately without having to review and accept them afterward. Check the other options to ensure that all the keys will be included in the pre-translate operation.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/image.png" class="kg-image" alt loading="lazy" width="652" height="454" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/image.png 600w, https://ghost.localazy.com/content/images/2023/10/image.png 652w"></figure><p>It could take a few seconds, but after a few page refreshes, you should see all three new languages fully translated.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/10/image-1.png" class="kg-image" alt loading="lazy" width="1316" height="386" srcset="https://ghost.localazy.com/content/images/size/w600/2023/10/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/10/image-1.png 1000w, https://ghost.localazy.com/content/images/2023/10/image-1.png 1316w" sizes="(min-width: 720px) 720px"></figure><p>While it has advanced rapidly over the last few years, remember that <a href="/dictionary/machine-translation">machine translation</a> still has a long way to go to beat human professionals, especially in some languages, such as <a href="/blog/why-hungarian-localization-services-are-so-important">Hungarian</a> and others. So keep in mind that this first quick test will likely yield subpar results. However, you can always order <a href="/term/professional-translation-services">Professional translation services</a> from our Continuous Localization Team later. 😄</p><h3 id="upload-to-storyblok">Upload to Storyblok <a class="markdownit-header-anchor" href="#upload-to-storyblok">🔗</a></h3><p>Now that we have finished the translations. Let's upload the content back to Storyblok. Go to the <em>Upload to Storyblok</em> Tab and simply click the <em>Upload Translated Content To Storyblok</em> button. The process may take a while, depending on how much content is imported to Storyblok. All the content should be imported now!</p><p>You might want to double-check if all the languages uploaded to Storyblok are present in your Space using the language comparison table we discussed earlier.</p><blockquote>Note: To add a language to your space, go to Space Settings ➡️ Configuration ➡️ Internationalization.</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-14.png" class="kg-image" alt loading="lazy" width="1671" height="1095" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-14.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/01/image-14.png 1600w, https://ghost.localazy.com/content/images/2023/01/image-14.png 1671w" sizes="(min-width: 720px) 720px"><figcaption>Storyblok Space Internationalization Settings</figcaption></figure><h2 id="enjoy-the-localized-content">🎉 Enjoy the localized content <a class="markdownit-header-anchor" href="#enjoy-the-localized-content">🔗</a></h2><p>And that's it! You have successfully translated your Storyblok content using Localazy! Now, to see the localized content, there's nothing simpler than just browsing it.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-15.png" class="kg-image" alt loading="lazy" width="1671" height="1095" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-15.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/01/image-15.png 1600w, https://ghost.localazy.com/content/images/2023/01/image-15.png 1671w" sizes="(min-width: 720px) 720px"><figcaption>Storyblok: Content translated into Czech</figcaption></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We will be more than happy to hear the feedback on the Storyblok Integration and your company's needs so we can add new features and make the integration even more helpful and valuable to you!</p><p>Feel free to contact us at <a href="mailto:team@localazy.com" rel="noopener noreferrer">team@localazy.com</a> or leave a comment below if you have any questions regarding this tutorial, the integration, or Localazy in general.</p><h2></h2>]]></content:encoded>
            <author>David Václavek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/01/Sotryblok-pokus.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to Use OCR to achieve high-quality translations]]></title>
            <link>https://localazy.com/blog/how-to-use-ocr-to-achieve-high-quality-translations</link>
            <guid isPermaLink="false">how-to-use-ocr-to-achieve-high-quality-translations</guid>
            <pubDate>Thu, 16 Apr 2026 14:33:04 GMT</pubDate>
            <description><![CDATA[The quality of localization greatly depends on the context provided to translators. With Localazy, it's easy to upload screenshots with your content and automatically link them with your translations via OCR technology. Learn how it works in this article.]]></description>
            <content:encoded><![CDATA[<p>Upload screenshots to help translators with context and harness the magic of OCR to automatically link your screenshots to the related content. In this article, we’ll explain how we’ve made <a href="https://localazy.com/dictionary/localization">localization</a> and translation easier at Localazy by incorporating the OCR technology into our Context Screenshots feature.</p><h2 id="what-is-ocr">🧐 What is OCR?  <a class="markdownit-header-anchor" href="#what-is-ocr">🔗</a></h2><p><a href="/dictionary/ocr-optical-character-recognition">Optical Character Recognition (OCR)</a> is a technology that interprets images of handwritten or printed text and converts them into a format suitable for input to computers. This technology is used mainly in libraries, large corporations, and other places that need to convert printed text into machine-encoded text regardless of its source.</p><p>The technology finds use in data entry tasks, allows time-effective extraction, and assists in ranking and indexing web pages with printed materials on search engines. However, it can also be used in translation management systems like Localazy to smoothen the localization process.</p><p>OCR technology is not limited to English but can detect any text. It can be employed to extract information from different files as long as the fonts used are comprehensible. 🔍</p><h2 id="introducing-context-screenshots">📸 Introducing Context Screenshots  <a class="markdownit-header-anchor" href="#introducing-context-screenshots">🔗</a></h2><p>Context runs the show in the translation scene. A sure way to boost the accuracy of the translations is to find ways to simplify how context can be provided. Localazy allows project maintainers using the <a href="https://localazy.com/tiers/professional">Professional plan</a> to add screenshots and link them with the respective source texts from your project for members and contributors to refer to. 🔗</p><p>Since most strings are made of single words, it’s difficult to translate them to fit the context when there’s no visual representation. By utilizing <a href="https://localazy.com/docs/general/screenshots">Screenshots</a>, translators aren’t left to their imagination to decide how the interface might look and to which part of the project the translated content belongs. With screenshots, translators know exactly where the strings fit into the software or app’s interface. </p><p>If the project you’re working on has many individual interfaces, then it will require taking lots of screenshots which could get overwhelming if you don’t organize them. You can do this easily by <strong><em>tagging</em></strong> them with specific words and <strong><em>grouping</em></strong> them. 🏷️</p><p>👁️‍🗨️ Reviewers, translators, and managers can access these screenshots to ensure the translations are appropriate. But do you have to link source keys after manually checking the <a href="https://localazy.com/docs/general/screenshots">screenshots</a>? Wait, did you forget that we call ourselves Loca<em>lazy</em>?</p><p>The text extraction technology mentioned above (OCR) scans the image for possible phrases that match the source keys in your project. Snap! Just like that. No manual typing is to be done from your side. And most of them are first shot, right into the spot! 🎯</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh4.googleusercontent.com/ebbkteJtFaaQ1wBzsz8S5QCg9nZNutu-fEmkStnyGVNoAm69mG7On4OExR709abarxzym4HxZkDQYM2GhE3HH_22_Tq18c0x4MfD7vUvbRQzQ_ULXlA1MLUfbvZ30tFNWG_q_AMq" class="kg-image" alt loading="lazy"><figcaption><em>Source: </em><a href="https://media.giphy.com/media/4S2nWkoW4mYA8/giphy.gif"><em>Giphy</em></a></figcaption></figure><p>⏭️ Then, all you have to do when uploading these screenshots is to select whether the suggested source keys are accurate. </p><h2 id="what-are-the-benefits-of-using-screenshots">🤔 What are the benefits of using screenshots?  <a class="markdownit-header-anchor" href="#what-are-the-benefits-of-using-screenshots">🔗</a></h2><p>Pictures are worth a thousand words. Instead of overwhelming members with <a href="https://localazy.com/docs/android/how-to-provide-comments-for-strings">comments</a> on individual strings, attach a screenshot. </p><h3 id="improved-context-for-translators">Improved context for translators <a class="markdownit-header-anchor" href="#improved-context-for-translators">🔗</a></h3><p>Translators won’t be blindly translating content that they have no idea where fits on the app or website. Screenshots will give them a thorough grasp of the interface and the exact functionality of certain phrases, buttons, placeholders, etc. Through screenshots by developers or users, translators can see interface states they can’t always access. </p><h3 id="modal-windows-and-error-messages">Modal windows and error messages <a class="markdownit-header-anchor" href="#modal-windows-and-error-messages">🔗</a></h3><p>If a translator is instructed to use an app or software, he doesn’t have access to all its interfaces or dialogue boxes. For instance, the software might show different error messages and modal windows depending on the user, device, location, etc. 📍</p><p>🧑‍💻 When software makers who can trigger all these states attach screenshots, it’s easier for translators and reviewers to produce quality translations.</p><h3 id="context-for-the-user-dependent-states">Context for the user-dependent states <a class="markdownit-header-anchor" href="#context-for-the-user-dependent-states">🔗</a></h3><p>🔑 Again, even if you’re given access to the software as a translator, the interface you see changes based on your role as a user. For instance, if you’re localizing a vacation rental software like Airbnb, logging in as a host shows other interface components compared to a standard user interface. 👀🤷🏻‍♂️</p><h2 id="how-to-enable-screenshots-ocr">👍 How to enable Screenshots OCR? <a class="markdownit-header-anchor" href="#how-to-enable-screenshots-ocr">🔗</a></h2><p>To enable the Screenshots feature, <a href="https://localazy.com/tiers/professional">activate the Professional plan</a>. Screenshots are also included in the higher tiers.</p><h3 id="uploading-screenshots">Uploading screenshots <a class="markdownit-header-anchor" href="#uploading-screenshots">🔗</a></h3><p>To upload screenshots, you have two options.</p><ol><li><strong>Upload manually</strong> (<a href="/docs/general/screenshots">learn how to do it in the docs</a>)</li><li><strong>Import screenshots from Figma</strong> (available in the <a href="/tiers/autopilot">Autopilot plan</a>)</li></ol><blockquote>Learn <a href="/blog/figma-series-connect-designs-and-source-keys-via-screenshots">How to connect Figma designs and translations via screenshots</a>.</blockquote><h3 id="linking-screenshots-to-source-keys">Linking screenshots to source keys <a class="markdownit-header-anchor" href="#linking-screenshots-to-source-keys">🔗</a></h3><p>As mentioned above, our OCR can recognize text in the uploaded images and suggest the relevant source keys to link if there is a good match.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/02/image-27.png" class="kg-image" alt loading="lazy" width="1195" height="890" srcset="https://ghost.localazy.com/content/images/size/w600/2023/02/image-27.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/02/image-27.png 1000w, https://ghost.localazy.com/content/images/2023/02/image-27.png 1195w" sizes="(min-width: 720px) 720px"></figure><p>🕵️‍♂️ Localazy OCR suggests appropriate source keys that can be linked to the screenshot, and then it’s up to you to either accept the suggestions or reject them. Visit the screenshot’s detail page and tick the source keys that match your screenshots. ☑️</p><p>🤨 How accurate is the OCR feature for linking to the right source keys? We let you judge. Sometimes the OCR might miss, depending on the resolution and other aspects of the uploaded screenshot, such as contrast, visual effects affecting the texts, etc. But there is no doubt that looking up each presented key in the screenshot would be very time-consuming, so any help is welcome. And in the end, the decision of which keys belong to which screenshots are yours. </p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Even if the entire translation and localization process may seem daunting at first, never forget one crucial thing: translators will always need the best context to minimize the risk of the meaning being lost in translation. </p><p>Would you like to try the Screenshots feature and see it in action? <a href="https://localazy.com/tiers/professional">Activate the Professional plan</a> now and see for yourself!</p><p></p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/01/localazy-context-screenshots-og-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to send an e-mail when language is 100% translated in Localazy using Zapier]]></title>
            <link>https://localazy.com/blog/how-to-send-email-when-language-is-fully-translated-zapier</link>
            <guid isPermaLink="false">how-to-send-email-when-language-is-fully-translated-zapier</guid>
            <pubDate>Thu, 16 Apr 2026 14:33:43 GMT</pubDate>
            <description><![CDATA[Would you like to send an e-mail when a language is 100% translated in Localazy? You can do it with the Zapier integration in a few steps! Learn more in this article.]]></description>
            <content:encoded><![CDATA[<p>Previous articles have already covered what is possible with Zapier integration for Localazy. You can <a href="/blog/enhance-your-localization-workflow-with-zapier-localazy">read the introduction to enhancing your localization workflow with Zapier + Localazy</a> or find out how to send a <a href="/blog/how-to-send-slack-group-message-for-translators-using-zapier-integration">Slack notification to translators when a new comment is added</a>.</p><p>Do you want to run some specific actions - such as publish workflow, e-mail notification, files upload, or other - based on the information that certain languages are fully translated? If so, read on! </p><h2 id="introduction">📌 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2><p>Imagine this example workflow: You're in charge of translating the project for someone else. You have a team of translators working on the project independently. Each translated language is then processed by a local branch of the company you work for - therefore, each e-mail notification should go to a different address, ideally in their language. </p><p>I will show you how to do that using the <a href="/features/zapier-integration">Zapier Integration by Localazy</a>. For the purposes of this workflow, let's say we'd like to track <em>Czech</em>, <em>Polish</em> and <em>Traditional Chinese</em> translations, with <em>English</em> as the project source language.</p><h2 id="1-add-the-trigger">1️⃣ Add the Trigger <a class="markdownit-header-anchor" href="#1-add-the-trigger">🔗</a></h2><p>The best way to start is to use the <em>Project published in Localazy</em> Trigger. Therefore search for this trigger and connect the Localazy account. Then you're asked to provide <em>Languages </em>and <em>Files</em> to bundle as a ZIP archive - these are not required. In this workflow, we don't aim to send any files, so we can skip the input.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-20.png" class="kg-image" alt loading="lazy" width="2000" height="1998" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-20.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-20.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-20.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-20.png 2384w" sizes="(min-width: 720px) 720px"><figcaption>Trigger: Project published in Localazy setup</figcaption></figure><p>The trigger contains output fields with information about the project - such as name and description, data about the organization, and languages. And information about languages is exactly what we need. For each language in the project, there are the following data available:</p><ul><li><code>id</code> - internal identifier of the language on Localazy,</li><li><code>code</code> - locale code,</li><li><code>name</code> - English name of the language/locale,</li><li><code>active</code> - number of active keys,</li><li><code>review</code> - number of keys waiting for review,</li><li><code>current</code> - number of keys with approved version/translation,</li><li><code>translated</code> - number of keys that are already translated (but may not be approved yet),</li><li><code>sourceChanged</code> - number of keys in the <em>source changed</em> state,</li><li><code>needImprovement</code> - number of keys in the "<em>need improvement"</em> state.</li></ul><p>Here comes the important part: As I mentioned in the very beginning, we want to notify only if the language(s) are translated to 100%. To process the data, we need to use some special actions Zapier offers. There are a couple of ways to achieve the goal - I'm going to show you one of the most technical ones - we're going to write a piece of code.</p><h2 id="2-add-the-code-by-zapier-action">2️⃣ Add the Code by Zapier Action <a class="markdownit-header-anchor" href="#2-add-the-code-by-zapier-action">🔗</a></h2><p>Search for the <em>Code by Zapier</em> Action and select the <em>Run Javascript</em> Event. If you're not really familiar with what it is, there's <a href="https://zapier.com/help/create/code-webhooks/use-javascript-code-in-zaps">documentation</a> regarding the action provided by Zapier. Let's set up the action and consider the <em>input data</em> we need.</p><p>From the language fields described above, we can conclude that the following formula can be used to calculate whether the Czech language is fully translated.</p><figure class="kg-card kg-code-card"><pre><code class="language-text">Is Czech translated on 100% = Number of active keys in source language (EN) &gt; 0 AND Number of active keys in source language (EN) == Number of current keys in Czech language</code></pre><figcaption>Human-readable formula</figcaption></figure><p>Logically, passing other languages instead of <em>Czech</em> would do the work for that language. So now we know what data we need for the input - <em>Project language code, Project language active count,</em> and <em>Project language current count</em>.  Zapier treats array data as a series of strings divided by a comma <em>","</em>. That's why we need to write a piece of code that extracts the required information for us. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-21.png" class="kg-image" alt loading="lazy" width="2000" height="1998" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-21.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-21.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-21.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-21.png 2384w" sizes="(min-width: 720px) 720px"><figcaption>Action: Run Javascript in Code by Zapier setup</figcaption></figure><p>First, we split the input data with <em>"," </em>delimiter. Then, we need to get the index of each language code we'd like to operate with (<em>en, cs, pl, zh#Hans</em> in our case).</p><p>Then, create the output structure by selecting the number of active keys in the source language and the number of current keys for each tracked language. Because we know the index of each language, we can be sure that the selected number belongs to the same language. The reason why we return <em>-1</em> fallback is that you wouldn't have to go and edit the Zap every time you delete the processed language in Localazy (you may do that).</p><p>Although we could calculate the percentual progress directly in the code (and it would be a completely valid step), I decided to play with the conditions in the Action that follows.</p><h2 id="3-add-paths-by-zapier">3️⃣ Add Paths by Zapier <a class="markdownit-header-anchor" href="#3-add-paths-by-zapier">🔗</a></h2><p>Just to summarize, our goal is to send localized e-mails to different addresses. To achieve that, we're going to use <em>Paths by Zapier</em> Action (you can also read how to use <em>Paths by Zapier</em> in <a href="/blog/how-to-send-slack-group-message-for-translators-using-zapier-integration"><em>How to send a Slack group message for translators using Zapier integration by Localazy</em></a><em>)</em>. </p><p>Let's create three paths (one for each tracked language). The setup is shown in the animation below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/zap-paths-100-percent-rules.gif" class="kg-image" alt loading="lazy" width="1081" height="1079"><figcaption>Action: Paths by Zapier setup</figcaption></figure><p>As you can see from the conditions, each of the paths would be executed only if:</p><figure class="kg-card kg-code-card"><pre><code class="language-text">Number of active keys in source language (EN) &gt; 0 AND Number of active keys in source language (EN) == Number of current keys in Czech language</code></pre><figcaption>Example for the Czech language</figcaption></figure><p>Does that sound familiar? Exactly! This is the formula we defined earlier.</p><h2 id="4-add-send-e-mail-action">4️⃣ Add Send E-mail Action <a class="markdownit-header-anchor" href="#4-add-send-e-mail-action">🔗</a></h2><p>The rest of the setup is relatively easy. For each of the paths, add the <em>Send E-mail in Gmail </em>Action. Connect your account and set up the action - the example is in the animation below. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/zap-paths-mail-setup.gif" class="kg-image" alt loading="lazy" width="865" height="863"><figcaption>Path Action: Send E-mail in Gmail setup</figcaption></figure><p>As you can see, the e-mail body is localized and might be personalized and sent to different addresses.</p><p>Let's publish the Zap and test out what we've just created. Go to Localazy and translate all the languages. The publishing process will be triggered. After it finishes (notice the <em>PUBLISHED</em> status in the top right corner), e-mails should arrive quickly. </p><p>See the animation below (Chinese mail arrived 5 seconds after I stopped the recording 😅).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/zap-emails-arrived-1.gif" class="kg-image" alt loading="lazy" width="1081" height="1079"></figure><p>This example demonstrates that Zapier Integration by Localazy might be very useful. Using the tools that Zapier provides combined with triggers available in Localazy, you can create personalized workflows that make your work life easier.</p><h2 id="more-zap-templates">⚡ More Zap Templates <a class="markdownit-header-anchor" href="#more-zap-templates">🔗</a></h2><p>You can visit the <a href="https://zapier.com/apps/localazy/integrations">Localazy Integration page on Zapier</a> to explore more templates.</p><!--kg-card-begin: html--><zapier-zap-templates
  apps="localazy"
  create-without-template="hide"
  limit="5"
  use-this-zap="show"
  theme="light"
></zapier-zap-templates><!--kg-card-end: html--><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Zapier allows you to connect thousands of apps with Localazy and create your own automation workflows without using any code. Learn more in the <a href="https://localazy.com/docs/zapier/introduction-zapier">Zapier integration docs</a>.</p>]]></content:encoded>
            <author>David Václavek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Zapier-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 11 blogs every Product Manager must follow]]></title>
            <link>https://localazy.com/blog/top-11-blogs-every-product-manager-must-follow</link>
            <guid isPermaLink="false">top-11-blogs-every-product-manager-must-follow</guid>
            <pubDate>Thu, 05 Jun 2025 18:00:35 GMT</pubDate>
            <description><![CDATA[**As a product manager, you should never stop learning. These are some of the top experts and resources in the industry that I regularly check in with.**]]></description>
            <content:encoded><![CDATA[<p>Over <a href="https://www.productfocus.com/product-management-resources/profession-survey/" rel="noopener noreferrer nofollow">58%</a> of a product manager's time is spent "putting out fires". We make sure to ship features that align with customers' needs and the latest industry standards, but we have a lot of unplanned work to deal with, so sometimes staying up-to-date with the latest strategies and practices can be challenging.</p><p>Fortunately, <strong>the internet is full of talented PMs who share their invaluable experience and discuss important trends</strong>. I've made it a habit to consume content regularly from creators that make me stop from the daily grind and reflect about my role. Here's a curated list with my favorites.</p><blockquote>🎙️ Read <a href="https://localazy.com/blog/meet-the-localazy-team-jan-bilek-product-manager/" rel="noopener noreferrer nofollow">this interview</a> to learn more about my own product management experience as a PM at Localazy</blockquote><h2 id="1-lessa-hrefhttpsleanstackcom-relnoopener-noreferrer-nofollowgreaterleanstack-bloglessagreater-by-ash-maurya">1. <a href="https://leanstack.com/" rel="noopener noreferrer nofollow">Leanstack blog</a> by Ash Maurya <a class="markdownit-header-anchor" href="#1-lessa-hrefhttpsleanstackcom-relnoopener-noreferrer-nofollowgreaterleanstack-bloglessagreater-by-ash-maurya">🔗</a></h2><p>If you've ever built a business model, chances are you've probably run into the Lean Canvas business modeling tool by <a href="https://www.linkedin.com/in/ashmaurya/" rel="noopener noreferrer nofollow">Ash Maurya</a>. Ash has first-hand experience as a founder, building, scaling, and selling businesses. He founded <a href="https://www.crunchbase.com/organization/wiredreach/org_similarity_overview" rel="noopener noreferrer nofollow">WiredReach</a> in 2002 and served as its CEO until 2010, when he sold it.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/image-17.png" class="kg-image" alt loading="lazy"></figure><p>On his website, Leanstack, he shares his musings on <strong>applying lean startup principles, continuous innovation, finding scalable business models, his products, and much more</strong>. You can also find more of his recent work on <a href="https://www.leanfoundry.com/articles" rel="noopener noreferrer nofollow">LeanFoundry</a>, another one of his websites.</p><h2 id="2-lessa-hrefhttpsherbigconewsletter-relnoopener-noreferrer-nofollowgreaterlessemgreaterproduct-thoughtslessemgreater-newsletterlessagreater-by-tim-herbig">2. <a href="https://herbig.co/newsletter/" rel="noopener noreferrer nofollow"><em>Product Thoughts</em> newsletter</a> by Tim Herbig <a class="markdownit-header-anchor" href="#2-lessa-hrefhttpsherbigconewsletter-relnoopener-noreferrer-nofollowgreaterlessemgreaterproduct-thoughtslessemgreater-newsletterlessagreater-by-tim-herbig">🔗</a></h2><p><a href="https://www.linkedin.com/in/herbigt/" rel="noopener noreferrer nofollow">Tim Herbig</a> is a course creator, consultant, and product management coach who focuses on guiding product teams toward making data-based decisions. He has over a decade of experience in product management, building SaaS applications for enterprises. His content revolves around <strong>the belief that product teams should stay accountable for the consequences of their decisions</strong>. According to Tim, there's no such thing as "best practices" that can be applied to every business and yield the same results.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/tim-herbig-1.png" class="kg-image" alt="tim herbig.png" loading="lazy" width="1658" height="845" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/tim-herbig-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/tim-herbig-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/tim-herbig-1.png 1600w, https://ghost.localazy.com/content/images/2025/06/tim-herbig-1.png 1658w" sizes="(min-width: 720px) 720px"></figure><p>Besides the amazing content you'll find on <a href="https://herbig.co/" rel="noopener noreferrer nofollow">his website</a>, he sends a newsletter every week covering product discovery, product goals, and product strategy. The topics are quite diverse and range from the initial steps to joining the industry to meeting times, product discovery, and product strategy. You will likely find most of his content in videos, newsletters, PDFs, or courses.</p><h2 id="3-lessa-hrefhttpsitamargiladcomnewsletter-relnoopener-noreferrer-nofollowgreaterlessemgreaterhigh-impact-product-managementlessemgreaterlessagreater-by-itamar-gilad">3. <a href="https://itamargilad.com/newsletter/" rel="noopener noreferrer nofollow"><em>High-Impact Product Management</em></a> by Itamar Gilad <a class="markdownit-header-anchor" href="#3-lessa-hrefhttpsitamargiladcomnewsletter-relnoopener-noreferrer-nofollowgreaterlessemgreaterhigh-impact-product-managementlessemgreaterlessagreater-by-itamar-gilad">🔗</a></h2><p><a href="https://www.linkedin.com/in/itamargilad/" rel="noopener noreferrer nofollow">Itamar Gilad</a> is one of the top industry players — he's worked with well-known companies like Microsoft and Google as a product manager and has over 20 years of experience in the field. In his monthly newsletter, he regularly shares learnings and useful tools for PMs everywhere.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/Itamar-Gilad-1.png" class="kg-image" alt="Itamar Gilad.png" loading="lazy" width="1423" height="890" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Itamar-Gilad-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Itamar-Gilad-1.png 1000w, https://ghost.localazy.com/content/images/2025/06/Itamar-Gilad-1.png 1423w" sizes="(min-width: 720px) 720px"></figure><p>He often publishes on his <a href="https://itamargilad.com/blog/" rel="noopener noreferrer nofollow">blog</a> as well. Even though the posts aren't frequent, it sticks to the premise that quality is better than quantity. Itamar structures his content around the audience's most concerning issues. <strong>It's pretty common, for instance, to find articles that answer a question from a product person's perspective</strong>. With many years of experience under his belt, not only does he answer the posed questions, but he goes really into detail with his answers.</p><p>Apart from his articles, I've found many of his resources super useful, including e-books such as <a href="https://itamargilad.com/ebook-okr/" rel="noopener noreferrer nofollow"><em>OKRs Done Right</em> </a>and <a href="https://itamargilad.com/ebook-product-frameworks/" rel="noopener noreferrer nofollow"><em>15 Essential Product Frameworks</em></a>, and tools like the <a href="https://itamargilad.com/resources/confidence-meter-calculator/" rel="noopener noreferrer nofollow">Product Idea Confidence Calculator</a> and the <a href="https://itamargilad.com/resources/gist-board-template/" rel="noopener noreferrer nofollow">GIST Board template</a>, which we actually used <a href="https://localazy.com/blog/localazy-a-gist-powered-company" rel="noopener noreferrer nofollow">to implement GIST at Localazy</a>.</p><blockquote>🎧 Listen to Itamar and I talk about evidence-guided decision-making on <a href="https://localazy.com/blog/s02-ep-02-bridging-the-gap-podcast/" rel="noopener noreferrer nofollow">this episode</a> of the Bridging the Gap podcast</blockquote><h2 id="4-lessa-hrefhttpswwwreforgecom-relnoopener-noreferrer-nofollowgreaterreforgelessagreater">4. <a href="https://www.reforge.com/" rel="noopener noreferrer nofollow">Reforge</a> <a class="markdownit-header-anchor" href="#4-lessa-hrefhttpswwwreforgecom-relnoopener-noreferrer-nofollowgreaterreforgelessagreater">🔗</a></h2><p>Founded by <a href="https://www.linkedin.com/in/bbalfour/" rel="noopener noreferrer nofollow">Brian Balfour</a>, who previously held the VP of Growth at Hubspot, Reforge has become a popular reference for product people. They are known for hosting cohort-based programs led and created by top executives from Facebook, Airtable, Hubspot, etc. You'll get access to these programs and other exclusive content by snatching their membership.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/Reforge-1.png" class="kg-image" alt="Reforge.png" loading="lazy" width="1855" height="885" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Reforge-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Reforge-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/Reforge-1.png 1600w, https://ghost.localazy.com/content/images/2025/06/Reforge-1.png 1855w" sizes="(min-width: 720px) 720px"></figure><p><a href="https://www.reforge.com/blog" rel="noopener noreferrer nofollow">Reforge's blog</a> is a must-check for product people. It's been a reliable source of product management articles for me for a while, and subscribing to their newsletter helps you stay updated with the latest posts as soon as they're published. The list of writers and contributors on the website includes big names from the companies we mentioned and more (such as Stripe, Tinder, and Google, among others).</p><h2 id="5lessemgreater-lessemgreaterlessa-hrefhttpswwwproducttalkorgblog-relnoopener-noreferrer-nofollowgreaterlessemgreaterproduct-talklessemgreaterlessagreater-by-teresa-torres">5.<em> </em><a href="https://www.producttalk.org/blog/" rel="noopener noreferrer nofollow"><em>Product Talk</em></a> by Teresa Torres <a class="markdownit-header-anchor" href="#5lessemgreater-lessemgreaterlessa-hrefhttpswwwproducttalkorgblog-relnoopener-noreferrer-nofollowgreaterlessemgreaterproduct-talklessemgreaterlessagreater-by-teresa-torres">🔗</a></h2><p><em>Product Talk</em> has gained massive momentum as its founder, <a href="https://www.linkedin.com/in/teresatorres/" rel="noopener noreferrer nofollow">Teresa Torres</a>, kept publishing long-form high-quality content on product management. The articles are enriched with helpful links, infographics, screenshots, and practical examples that are easy to digest.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/Theresa-1.png" class="kg-image" alt="Theresa.png" loading="lazy" width="1207" height="874" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Theresa-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Theresa-1.png 1000w, https://ghost.localazy.com/content/images/2025/06/Theresa-1.png 1207w" sizes="(min-width: 720px) 720px"></figure><p>Teresa is an experienced product discovery coach who has worked with major companies such as Tesco and Spotify. After coaching over 8,500 product people, she has refined her teachings continuously and even compiled them into a book titled <a href="https://www.amazon.com/-/es/Continuous-Discovery-Habits-Discover-Products/dp/1736633309/ref=sr_1_1?__mk_es_US=%C5M%C5%8E%D5%D1&amp;crid=383WA45FZ04XH&amp;dib=eyJ2IjoiMSJ9.XJuLeSC-49__z27pmfckOk9X85wO2-OwbNV7cfRrgrqJhVO9TInhyj7vuPpopQhGQfVyXKRl420LFJKuN0h9fxeWPXBjFI72kbyWJtcgd7EaByy-HIjLxWZ5ltrue8Foej-MqMwWVyp9fqOWvHFX0EOqBgOn4SpmSfT5R-tc-1bafQ0W6bfrASh1kIX8IuXczmf1DoXMjnwbf-inXNw16PMLtVe1yaiPZM3X_nnoeXc.XQymMy41q_5gso4B6ozkRTfuijoH5pPhFoHNTke3sDk&amp;dib_tag=se&amp;keywords=continuous+discovery+habits&amp;qid=1749138867&amp;sprefix=continous+discovery+habits%2Caps%2C154&amp;sr=8-1" rel="noopener noreferrer nofollow"><em>Continuous Discovery Habits</em></a><em>, </em>where she talks about her main expertise: continuous product improvement. Encouraging experimentation when it comes to product discovery, she spells out an essential truth for building viable products: <strong>testing ideas before investing in them paves the path to better products</strong>.</p><h2 id="6-lessa-hrefhttpswwwintercomcomblogcategoryproduct-and-design-relnoopener-noreferrer-nofollowgreaterintercom-bloglessagreater">6. <a href="https://www.intercom.com/blog/category/product-and-design/" rel="noopener noreferrer nofollow">Intercom blog</a> <a class="markdownit-header-anchor" href="#6-lessa-hrefhttpswwwintercomcomblogcategoryproduct-and-design-relnoopener-noreferrer-nofollowgreaterintercom-bloglessagreater">🔗</a></h2><p>The Intercom blog is part of a unique website breed that does more than regurgitate popular "how-to" posts. Their content spans from design and product to innovation, customer support, sales, and breakdowns of their approaches and frameworks. They don't shy away from other important topics like burnout or imposter syndrome either.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/Intercom-blog-1.png" class="kg-image" alt="Intercom blog.png" loading="lazy" width="1223" height="897" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Intercom-blog-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Intercom-blog-1.png 1000w, https://ghost.localazy.com/content/images/2025/06/Intercom-blog-1.png 1223w" sizes="(min-width: 720px) 720px"></figure><p>As a prominent company in the customer communications industry, it's always intriguing to hear what the Intercom team has to say about designing products that serve customers. For the busy, most articles have <a href="https://www.intercom.com/blog/show/the-ticket/" rel="noopener noreferrer nofollow">a podcast version</a> you can digest on the go.</p><h2 id="7-lessa-hrefhttpswwwlennyrachitskycomnewsletter-relnoopener-noreferrer-nofollowgreaterlessemgreaterlennys-newsletterlessemgreaterlessagreater-by-lenny-rachitsky">7. <a href="https://www.lennyrachitsky.com/newsletter" rel="noopener noreferrer nofollow"><em>Lenny's Newsletter</em></a> by Lenny Rachitsky <a class="markdownit-header-anchor" href="#7-lessa-hrefhttpswwwlennyrachitskycomnewsletter-relnoopener-noreferrer-nofollowgreaterlessemgreaterlennys-newsletterlessemgreaterlessagreater-by-lenny-rachitsky">🔗</a></h2><p><a href="https://www.linkedin.com/in/lennyrachitsky/" rel="noopener noreferrer nofollow">Lenny</a> is one of the biggest names in product, <em>period</em>. He worked as a product lead for over seven years (2016-2019) at Airbnb before focusing fully on his newsletter; and before that, he founded Localmind<em>, </em>which Airbnb later acquired.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/Lenny-newsletter-1.png" class="kg-image" alt="Lenny newsletter.png" loading="lazy" width="1840" height="906" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Lenny-newsletter-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Lenny-newsletter-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/06/Lenny-newsletter-1.png 1600w, https://ghost.localazy.com/content/images/2025/06/Lenny-newsletter-1.png 1840w" sizes="(min-width: 720px) 720px"></figure><p>Lenny writes detailed pieces on career, product, and business growth, sprinkled with a uniquely personal perspective. The original content often includes interviews with prominent investors, entrepreneurs, and industry experts. <strong>You're guaranteed to leave with practical knowledge</strong> through screenshots, visuals, and other interactive elements. Totally worth adding it to your list, even if you don't become a paid subscriber.</p><h2 id="8-lessa-hrefhttpswwwmindtheproductcom-relnoopener-noreferrer-nofollowgreatermind-the-productlessagreater">8. <a href="https://www.mindtheproduct.com/" rel="noopener noreferrer nofollow">Mind the Product</a> <a class="markdownit-header-anchor" href="#8-lessa-hrefhttpswwwmindtheproductcom-relnoopener-noreferrer-nofollowgreatermind-the-productlessagreater">🔗</a></h2><p>This is a space where all the product professionals can jump into and post their thoughts. Mind the Product has been a leader in organizing meetups and conferences and providing product career advice for a while. What started as a meetup of 25 product people has grown into a network of over <strong>150k+ product professionals sharing advice on several points of the product journey</strong>, including KPIs, product strategy, and product discovery.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/Mind-the-product-1.png" class="kg-image" alt="Mind the product.png" loading="lazy" width="1436" height="901" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Mind-the-product-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Mind-the-product-1.png 1000w, https://ghost.localazy.com/content/images/2025/06/Mind-the-product-1.png 1436w" sizes="(min-width: 720px) 720px"></figure><p>Their content is delivered in various formats, including podcasts, videos, articles, and book recommendations. However, a good pieces are highly exclusive and put behind a paywall. It's worth subscribing if you find the free content valuable. Also, for those used to a more interactive way of obtaining information, they have a <a href="https://www.mindtheproduct.com/product-management-slack-community/" rel="noopener noreferrer nofollow">Slack community</a> with over 20k+ product people discussing product building.</p><h2 id="9-lessa-hrefhttpswwwromanpichlercomblog-relnoopener-noreferrer-nofollowgreaterroman-pichlers-bloglessagreater">9. <a href="https://www.romanpichler.com/blog/" rel="noopener noreferrer nofollow">Roman Pichler's blog</a> <a class="markdownit-header-anchor" href="#9-lessa-hrefhttpswwwromanpichlercomblog-relnoopener-noreferrer-nofollowgreaterroman-pichlers-bloglessagreater">🔗</a></h2><p><a href="https://www.linkedin.com/in/romanpichler/" rel="noopener noreferrer nofollow">Roman Pichler</a> has an impressive background that includes working with large companies like Intel as a programmer and Siemens as a Development Manager and consultant. Later, he served as an Agile Coach for Capital One and, around the same time (2006), founded Pichler Consulting, which turned into his main focus since then, with agility, leadership, and product strategy as his main areas.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/Roman-Pichler-1.png" class="kg-image" alt="Roman Pichler.png" loading="lazy" width="931" height="837" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Roman-Pichler-1.png 600w, https://ghost.localazy.com/content/images/2025/06/Roman-Pichler-1.png 931w" sizes="(min-width: 720px) 720px"></figure><p>As a product management expert, he has taught product people one-to-one and through his content (four books, training, talks, podcast, etc.) how to deliver better products for about two decades. During this time, <strong>he's worked on a series of tools, such as the </strong><a href="https://www.romanpichler.com/tools/the-go-product-roadmap/" rel="noopener noreferrer nofollow"><strong>GO Product Roadmap</strong></a><strong> and the </strong><a href="https://www.romanpichler.com/tools/product-vision-board/" rel="noopener noreferrer nofollow"><strong>Product Vision Board</strong></a>, which have gained popularity in the industry. On his blog, you'll find comprehensive and up-to-date articles published at least once per month, along with their audio versions, to help you grow as a product manager.</p><h2 id="10-lessa-hrefhttpswwwgrowthunhingedcom-relnoopener-noreferrer-nofollowgreaterlessemgreatergrowth-unhingedlessemgreaterlessagreater-by-kyle-poyar">10. <a href="https://www.growthunhinged.com/" rel="noopener noreferrer nofollow"><em>Growth Unhinged</em></a> by Kyle Poyar <a class="markdownit-header-anchor" href="#10-lessa-hrefhttpswwwgrowthunhingedcom-relnoopener-noreferrer-nofollowgreaterlessemgreatergrowth-unhingedlessemgreaterlessagreater-by-kyle-poyar">🔗</a></h2><p>At some point, behind any PLG-based company lies a team of confused product people pondering the next step. <em>Growth Unhinged</em> by <a href="https://www.linkedin.com/in/kyle-poyar/" rel="noopener noreferrer nofollow">Kyle Poyar</a> <strong>offers useful long-form, in-depth content on a biweekly basis to help you</strong>, as a product manager and your team, <strong>make decisions faster</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/Growth-unhinged.png" class="kg-image" alt="Growth unhinged.png" loading="lazy" width="1261" height="872" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/Growth-unhinged.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/Growth-unhinged.png 1000w, https://ghost.localazy.com/content/images/2025/06/Growth-unhinged.png 1261w" sizes="(min-width: 720px) 720px"></figure><p>Kyle has impressive industry experience, including serving as a Director of Market Strategy, VP, and finally, as an Operating Partner for OpenView, among others. Recently, he's started a new collection of much shorter newsletters named <a href="https://kylepoyar.substack.com/p/the-gist" rel="noopener noreferrer nofollow"><em>The Gist</em></a>, which focus on practical advice you can implement immediately.</p><h2 id="11-lessa-hrefhttpsproductledcomblogrolesproduct-relnoopener-noreferrer-nofollowgreaterthe-productled-bloglessagreater">11. <a href="https://productled.com/blog?_roles=product" rel="noopener noreferrer nofollow">The ProductLed Blog</a> <a class="markdownit-header-anchor" href="#11-lessa-hrefhttpsproductledcomblogrolesproduct-relnoopener-noreferrer-nofollowgreaterthe-productled-bloglessagreater">🔗</a></h2><p>Are you responsible for customer success, marketing, sales, engineering, development, or products? This blog hosts <strong>content from multiple industry leaders practicing what they preach</strong> by working for well-known companies such as <a href="https://productled.com/blog/the-psychology-behind-good-product-marketing" rel="noopener noreferrer nofollow">Buffer</a> or <a href="https://productled.com/blog/how-hubspot-builds-education-tools" rel="noopener noreferrer nofollow">Hubspot</a>. Their tagline promises <em><strong>content 100% sourced from leaders on the front line</strong>,</em> and they surely stand by that.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/06/ProductLed-Blog.png" class="kg-image" alt="ProductLed Blog.png" loading="lazy" width="1198" height="869" srcset="https://ghost.localazy.com/content/images/size/w600/2025/06/ProductLed-Blog.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/06/ProductLed-Blog.png 1000w, https://ghost.localazy.com/content/images/2025/06/ProductLed-Blog.png 1198w" sizes="(min-width: 720px) 720px"></figure><p>Founded by <a href="https://www.linkedin.com/search/results/all/?keywords=Wes%20Bush&amp;origin=GLOBAL_SEARCH_HEADER&amp;sid=Z0%40" rel="noopener noreferrer nofollow">Wes Bush</a>, the site produces unique, well-structured content you'll probably enjoy as a product manager. If you like long-form pieces, make sure to check out <a href="https://productled.com/book/product-led-growth" rel="noopener noreferrer nofollow">their e-book</a>, too.</p><h2 id="closing-thoughts">✔️ Closing thoughts <a class="markdownit-header-anchor" href="#closing-thoughts">🔗</a></h2><p>If you are a little lost on product management resources, I hope this selection has quenched your thirst (and hopefully enriched your inbox and bookmarks). These ten resources aren't the only ones in the industry, but it's what I found immensely helpful while building Localazy.</p><p>Did you know that our features have helped multiple product managers ship multilingual products and launch features much faster? 🚀 Check it out <a href="https://localazy.com/for/product-managers" rel="noopener noreferrer nofollow">here</a>, and if you're interested in hearing more about my experience, you can follow me on <a href="https://www.linkedin.com/in/xbilek18/" rel="noopener noreferrer nofollow">LinkedIn</a>, <a href="https://realproductwork.substack.com/" rel="noopener noreferrer nofollow">Substack</a>, and <a href="https://x.com/honzabilek4" rel="noopener noreferrer nofollow">X</a>.</p>]]></content:encoded>
            <author>Jan Bílek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/01/11-blogs-product-managers-localazy--4-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Storyblok Integration, Duplicity Linking, and more!]]></title>
            <link>https://localazy.com/blog/release-update-storyblok-integration-duplicity-linking-more</link>
            <guid isPermaLink="false">release-update-storyblok-integration-duplicity-linking-more</guid>
            <pubDate>Thu, 04 Jan 2024 10:37:40 GMT</pubDate>
            <description><![CDATA[Learn what's new inside Localazy in this Release Update! Try the brand new Storyblok Integration, solve your duplicate strings with Duplicity Linking and try out the improved interface of your favorite localization platform.]]></description>
            <content:encoded><![CDATA[<p>Happy New Year to everyone! Did you set a New Year's resolution? What about resolving all duplicate strings in your project? Or translating your content into more languages this year? We can help you with those! </p><h2 id="language-of-the-month-deals">💝 Language of The Month Deals <a class="markdownit-header-anchor" href="#language-of-the-month-deals">🔗</a></h2><p>But first, let's unwrap a present that we have prepared for everyone who likes to order professional translations from our <a href="/features/continuous-localization-team">Continuous Localization Team</a>. Language of the Month is a unique opportunity to save on translations to different languages each month. </p><p>We are kicking off the new year with <strong>Hungarian. </strong>Translate your projects from <a href="https://localazy.com/translate/en-hu">English to Hungarian</a> comfortably with Localazy now and reach millions of Hungarian speakers in Central and Eastern Europe - <strong><a href="/my/virtual-translator">only for $0.115 per word</a> </strong>until the end of February.</p><figure class="kg-card kg-image-card kg-card-hascaption"><a href="https://localazy.com/blog/why-hungarian-localization-services-are-so-important"><img src="https://ghost.localazy.com/content/images/2023/01/image-5.png" class="kg-image" alt loading="lazy" width="2000" height="1050" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-5.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/01/image-5.png 1600w, https://ghost.localazy.com/content/images/2023/01/image-5.png 2000w" sizes="(min-width: 720px) 720px"></a><figcaption>Why Hungarian Localization Services Are So Important</figcaption></figure><p>Read the <a href="/blog/why-hungarian-localization-services-are-so-important">article about the importance of Hungarian localization</a> to learn more about the history of the language and why you should seriously consider always going with professional translations when it comes to translating to Hungarian. </p><p>You can expect a new discounted language announced every one or two months, starting in January. Stay tuned!</p><blockquote>➡️ <strong>Learn how to order translations for your projects in</strong><br><strong><a href="https://localazy.com/blog/guide-localazy-translation-services">The ultimate guide to Localazy translation services</a>.</strong></blockquote><h2 id="storyblok-localization-beta">🎫 Storyblok Localization (beta) <a class="markdownit-header-anchor" href="#storyblok-localization-beta">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/12/image-13.png" class="kg-image" alt loading="lazy" width="494" height="352"><figcaption>Storyblok CMS integration with Localazy</figcaption></figure><p>Storyblok is the headless content management system that empowers developers and content teams to create better content experiences across any digital channel. And <a href="/storyblok">Storyblok</a> is the second CMS that gets a native integration with Localazy. </p><p>To make your Storyblok website multilingual and translate it with Localazy, you don’t need to install any plugins or connectors. Follow the integration guide for Storyblok and use your Space ID and API Token to connect your Storyblok website with the project in Localazy, and you are done! </p><blockquote><strong>Try the Localazy integration for Storyblok now.</strong><br><strong><a href="https://localazy.com/register">Sign up</a></strong></blockquote><p>The integration is currently in the closed beta testing stage, and we would like to invite everyone with a Storyblok website who wants to kick off the localization of their content in 2023 to give our new integration a try. </p><p><a href="/blog/author/david-vaclavek">David</a> is looking forward to your bug reports and improvement requests, and you can also expect an article from him about the Storyblok integration on the blog soon. 😊</p><h2 id="duplicity-linking">🔗 Duplicity Linking <a class="markdownit-header-anchor" href="#duplicity-linking">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-3.png" class="kg-image" alt="Localazy Duplicity Linking" loading="lazy" width="1481" height="760" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-3.png 1000w, https://ghost.localazy.com/content/images/2023/01/image-3.png 1481w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Duplicity Linking</figcaption></figure><p>Sometimes when our CEO <a href="/blog/author/vaclav-hodek">Václav</a> gets bored on weekends, he likes to develop new features without telling anyone else and then presents them out of the blue on our weekly syncs. I suppose he likes to see our jaws drop because he does this pretty often. It's become a running joke in the company. When some complex feature requests appear, we just shrug it off and say, <em>"Václav will get it done over the weekend."</em> 😅 </p><p>Well, I am exaggerating a little bit. There is actually a lot of research before any development. Still, the Duplicity Linking feature came earlier than we expected, and it is just one example of this passion and the drive to improve the localization experience of our users. </p><blockquote><strong>Read the detailed <a href="/blog/introducing-the-duplicity-linking-feature-software-localization">article about Duplicity Linking on our blog</a>.</strong></blockquote><p>You can quickly see how many duplicates are contained in your project by visiting the Translations page of your project. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/12/image-17.png" class="kg-image" alt loading="lazy" width="689" height="331" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-17.png 600w, https://ghost.localazy.com/content/images/2022/12/image-17.png 689w"><figcaption>Duplicate Percentage in Localazy</figcaption></figure><p>Project owners can resolve duplicities in the <a href="https://localazy.com/console/duplicities">Localazy Console</a>. Instead of translating the same content across multiple source keys, you can link duplicate keys together. </p><p>Linked keys are then hidden from translators, and they share translations coming from the content source string. On top of that, you can also link duplicates across multiple projects and save a lot of time and money on translating multiple projects simultaneously.</p><blockquote>You can <a href="/blog/introducing-the-duplicity-linking-feature-software-localization">read more about Duplicity Linking on the blog</a> or try it out now by upgrading to the <a href="/tiers/business">Business plan</a>.</blockquote><h2 id="new-batch-operations-and-table-select">📌 New Batch Operations & Table Select  <a class="markdownit-header-anchor" href="#new-batch-operations-and-table-select">🔗</a></h2><p>Another frequently requested improvement is finally here. Behold the <em>"Gmail table select" - </em>now also available in Localazy. We sincerely hope Google hasn't filed a patent on this. 🤐</p><blockquote><em>"Good artists borrow, great artists steal." - Pablo Picasso (<a href="https://quoteinvestigator.com/2013/03/06/artists-steal/">probably?</a>)</em></blockquote><p>Filter what you need, select multiple items, the whole page, or all occurrences in the table with a few clicks.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-19.png" class="kg-image" alt loading="lazy" width="1082" height="588" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-19.png 1000w, https://ghost.localazy.com/content/images/2022/12/image-19.png 1082w" sizes="(min-width: 720px) 720px"></figure><p>Then, you can use the ellipsis menu on the right to apply batch actions to all selected items. In the source language, you can show, hide, (un)deprecate or delete the selected source keys. By the way, in the image above, you can see why Duplicity Linking is a much-needed feature for software localization. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-20.png" class="kg-image" alt loading="lazy" width="1074" height="780" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-20.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-20.png 1000w, https://ghost.localazy.com/content/images/2022/12/image-20.png 1074w" sizes="(min-width: 720px) 720px"></figure><p>In the translations view, you can approve translations waiting for review, send approved translations back for another review round, pre-translate your keys with machine translations, and set "needs improvement" and "source changed" flags as you see fit or delete the current translation altogether.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-23.png" class="kg-image" alt loading="lazy" width="1070" height="702" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-23.png 1000w, https://ghost.localazy.com/content/images/2022/12/image-23.png 1070w" sizes="(min-width: 720px) 720px"></figure><p>And these batch actions are also available in the languages overview, with some additional actions applicable to languages as a whole. Such as pre-translate, enabling/disabling, and ordering translations for them.</p><h2 id="improvements-and-fixes">💡 Improvements and Fixes <a class="markdownit-header-anchor" href="#improvements-and-fixes">🔗</a></h2><p>Our team managed to fix and improve many more aspects of Localazy, and we are happy to share a few notable examples.</p><h3 id="improved-translation-interface">Improved Translation Interface <a class="markdownit-header-anchor" href="#improved-translation-interface">🔗</a></h3><p>Some users reported trouble while typing Japanese characters in the translation field. We fixed the behavior of the text field promptly. Arigato!🗾</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-25.png" class="kg-image" alt loading="lazy" width="1523" height="374" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-25.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-25.png 1000w, https://ghost.localazy.com/content/images/2022/12/image-25.png 1523w" sizes="(min-width: 720px) 720px"></figure><p>Another improvement you might have noticed recently is the option to display formatting marks such as spaces, line breaks, and so on. You can toggle this on and off in the table view as well. </p><p>And finally, you can go back to the previous item during translation and review sessions! Use the back button in the top right corner of your screen to go back when you realize you accidentally saved something you didn't mean to.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-8.png" class="kg-image" alt loading="lazy" width="598" height="242"><figcaption>Go to previous translation button in Localazy</figcaption></figure><h3 id="file-management-improvements">File Management Improvements <a class="markdownit-header-anchor" href="#file-management-improvements">🔗</a></h3><p>Let's admit it, if you ever wanted to <a href="/docs/general/importing-localization-files#update-existing-localization-files">upload existing translations</a> using our web interface, you probably got confused about the concept of Localazy files and how they work. 😕</p><blockquote>In file management, you don’t see multiple files in various languages. You can imagine each Localazy file as a stack of regular files you would find on your computer - with the source language on the bottom and all of the translated versions on top of it. So when you want to upload your files in another language, you need to update the Localazy file content instead of uploading the file as new.</blockquote><p>We believe this concept makes perfect sense, but sometimes puzzled users trying to upload the files as new content getting duplicate keys and other mishaps were messaging us asking for help. Once we pointed them in the right direction, everything worked properly. We hope this update helps our users in a better orientation and understanding of how Localazy handles translation files. 🗃️</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-4.png" class="kg-image" alt loading="lazy" width="820" height="479" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-4.png 600w, https://ghost.localazy.com/content/images/2023/01/image-4.png 820w" sizes="(min-width: 720px) 720px"><figcaption>Localazy File Management</figcaption></figure><h3 id="strapi-improvements">Strapi Improvements  <a class="markdownit-header-anchor" href="#strapi-improvements">🔗</a></h3><p>Don't worry. Announcing a new CMS getting a native integration doesn't mean that Strapi will sit on the sidelines. Our <a href="/features/strapi-localization-plugin">Strapi localization plugin</a> is still getting a lot of love, and David has made several updates in the past few weeks. 💜 Most were minor fixes, but these deserve mentioning:</p><ul><li>Added support for server prefix</li><li>Fixed required fields not being created after downloading translations</li></ul><h3 id="support-for-go-i18n-v2">Support for go-i18n v2 <a class="markdownit-header-anchor" href="#support-for-go-i18n-v2">🔗</a></h3><p>We also updated our parser for <strong><a href="/docs/integrations/quick-start-go-i18n-v2">go-i18n v2 </a></strong><a href="/docs/integrations/quick-start-go-i18n-v2">JSON files</a>, and with the correct configuration, you can upload your files to Localazy without any problems. </p><blockquote><a href="/docs/cli/json-format">Learn more</a> about our adaptable JSON parser.</blockquote><h2 id="further-reading">📚 Further Reading <a class="markdownit-header-anchor" href="#further-reading">🔗</a></h2><p>And that's all for now! Before you go, here is some recommended reading you might have missed.</p><h3 id="figma-in-product-localization-series">Figma in Product Localization Series <a class="markdownit-header-anchor" href="#figma-in-product-localization-series">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-26.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-26.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-26.png 1000w, https://ghost.localazy.com/content/images/2022/12/image-26.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>A new series of articles written by Dan Charvát is coming soon to the Localazy blog. The series is focused on using Figma and Localazy in product localization. This is a highly requested topic from all of our Figma plugin users who were wondering how to connect their Figma design with their product translations via Localazy and what are the best practices. </p><p>The first article focuses on the most simple way of introducing localization in the design phase of your product development - using the Figma plugin as a preview tool for localized designs. </p><blockquote><strong><a href="/blog/figma-series-preview-designs-in-multiple-languages">Figma in Localization: Preview designs in multiple languages</a></strong></blockquote><h3 id="interviews">Interviews <a class="markdownit-header-anchor" href="#interviews">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/01/image-7.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-7.png 1000w, https://ghost.localazy.com/content/images/2023/01/image-7.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>If you'd like to learn more about the people behind Localazy, you can read the first installment of the new "Meet The Localazy Team" series. Read the interview with our Product Manager, Jan Bílek. Learn more about his perspectives on localization, software development, and product positioning.</p><blockquote><a href="/blog/meet-the-localazy-team-jan-bilek-product-manager"><strong>Meet The Localazy Team: Jan Bílek, Product Manager</strong></a></blockquote><hr><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-28.png" class="kg-image" alt loading="lazy" width="950" height="499" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-28.png 600w, https://ghost.localazy.com/content/images/2022/12/image-28.png 950w" sizes="(min-width: 720px) 720px"></figure><p>Read the interview with <strong>Guido Leenders</strong>, <strong>the Managing Director at Invantive,</strong> to learn more about their SQL-based data management platform, the future of business data management, and their "aha" moment when they first decided to choose Localazy to solve their localization needs.</p><p>Guido also helps us improve Localazy with his frequent feedback and useful insights from managing the localization of over 25 projects with Localazy. Thank you!</p><blockquote><a href="/blog/interview-invantive-virtual-database-company-overviews"><strong>Interview: Invantive, your virtual database for company overviews</strong></a></blockquote><hr><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-27.png" class="kg-image" alt loading="lazy" width="950" height="499" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-27.png 600w, https://ghost.localazy.com/content/images/2022/12/image-27.png 950w" sizes="(min-width: 720px) 720px"></figure><p>We also interviewed <strong>Jan Sechovec, the VP of Product at Revolgy,</strong> with over two decades of experience in the IT industry. Countless organizations have trusted Revolgy as their advisor to migrate into cloud structures that suit them best, whether it's Amazon Web Services or Google Cloud. Learn more about the company that makes the cloud work for all businesses.</p><blockquote><a href="/blog/interview-revolgy-partner-for-on-demand-cloud-services"><strong>Interview: Revolgy, your partner for on-demand cloud services</strong></a></blockquote><hr><p>Most of the interviews on our blog from this year were led by <strong><a href="/blog/author/marta-g-coloma">Marta G. Coloma</a></strong>, and we want to thank her publicly for all the great work she has done for us! Thank you, Marta, for asking the right questions, your compelling storytelling, and the consistently positive and pleasant communication with our customers and teammates alike.</p><h3 id="localazy-hub-beta">Localazy Hub (beta) <a class="markdownit-header-anchor" href="#localazy-hub-beta">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-6.png" class="kg-image" alt loading="lazy" width="1282" height="712" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-6.png 1000w, https://ghost.localazy.com/content/images/2023/01/image-6.png 1282w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Hub</figcaption></figure><p>Localazy Hub is a new localization knowledge base that we are building to help everyone make better decisions on their localization journey. The ultimate goal is to create a centralized place with all information you'd ever need to decide which markets to expand to, find resources that will help you with proper localization, and learn more about the countries or languages. </p><p>The project is still in very early beta, but if you'd like to learn more about the languages you plan to localize your projects, it can be a great starting point.</p><blockquote>Explore the <a href="https://hub.localazy.com/">Localazy Hub </a></blockquote><p>Now, you can get information about languages and regions around the world in 6 languages. And you can also help us <a href="https://hub.localazy.com/en/english-idioms">translate a repository of English idioms</a> to your language! </p><h2 id="follow-localazy">📯 Follow Localazy <a class="markdownit-header-anchor" href="#follow-localazy">🔗</a></h2><p>To get the latest info about new Localazy features, usage tips, success stories, and some behind-the-scenes bits, make sure to follow our social media accounts:</p><p><strong>🐤 Follow Localazy on Twitter: <a href="https://twitter.com/localazy">https://twitter.com/localazy</a></strong></p><p>You can also follow the real people behind Localazy. I would recommend you follow especially these members of our core team who are most active on Twitter:</p><ul><li>🦸‍♂️ <a href="https://twitter.com/JakeDubec">Jakub Dubec</a> - Our Marketing Superhero</li><li>👨‍🔬 <a href="https://twitter.com/honzabilek4">Jan Bílek</a> - Our Product Mastermind</li><li>🧗‍♂️ <a href="https://twitter.com/dan_charvat">Dan Charvát</a> - The Lead front-end developer</li></ul><p>You can also find Localazy on 💼 <a href="https://www.linkedin.com/company/localazy/">LinkedIn</a>, <a href="https://www.facebook.com/localazy">💬 Facebook</a>, and <a href="https://www.instagram.com/localazycom/">📷 Instagram</a>.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We hope you'll try the new features and tell us how you like our latest improvements! Make sure to <a href="https://twitter.com/localazy">follow us on Twitter</a>, and don't hesitate to <a href="https://localazy.com/contact">contact us</a> anytime to discuss your project or new features!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/01/Release-update--2-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Keep your duplicate strings under control with the Duplicity Linking feature]]></title>
            <link>https://localazy.com/blog/introducing-the-duplicity-linking-feature-software-localization</link>
            <guid isPermaLink="false">introducing-the-duplicity-linking-feature-software-localization</guid>
            <pubDate>Thu, 16 Apr 2026 14:29:00 GMT</pubDate>
            <description><![CDATA[One issue that you will inevitably encounter during software localization is the translation of duplicate strings. Lucky for you, Localazy can help you resolve all duplicates in your projects. Learn more about the Duplicity Linking feature in this article.]]></description>
            <content:encoded><![CDATA[<h2 id="why-use-duplicity-linking">🔗 Why use Duplicity Linking? <a class="markdownit-header-anchor" href="#why-use-duplicity-linking">🔗</a></h2><p>It's hard to avoid creating duplicated keys when localizing a large project. In some situations, such as migrating projects or building a new version/iteration, it's inevitable to maintain duplicate content.</p><p>The need for duplicity management grows even more when multiple teams simultaneously work on a single project. You can't really expect everyone to remember that there is already a button with the same label in a part of the project that was developed by someone else. </p><h3 id="minimize-room-for-error">Minimize room for error <a class="markdownit-header-anchor" href="#minimize-room-for-error">🔗</a></h3><p>Even with all the assistive technologies and translation memory, your translators would still need to go through all the duplicated keys for each of the languages your project is translated into to be sure that everything is 100% correct.</p><p>Also, the same content only sometimes means that it's duplicate as there are words with different meanings in different contexts. </p><blockquote>Let's take the word <em>"<strong>share</strong>,"</em> which can be used as a noun, <em>"<strong>part of the ownership of a company</strong>,"</em> or a verb, "<em><strong>to put something on a social media website</strong>.</em>" </blockquote><p>The same word often can be translated differently into each language, and the translator would need to decide whether the key is duplicated for every single language in your project. </p><p>You would expect the resulting translation can end up being wrong, mainly when using <a href="/features/pre-translate">machine translations</a> but remember that humans can make mistakes too. Linking the duplicate strings and providing <a href="/blog/guide-localazy-translation-services#context-is-king">good context</a> will help you minimize these errors.</p><h3 id="multiplatform-development">Multiplatform development <a class="markdownit-header-anchor" href="#multiplatform-development">🔗</a></h3><p>Another beautiful example is developing <a href="/android">Android</a> and <a href="/ios">iOS</a> versions of your app. Both versions will share a large portion of their content. </p><p>With Localazy, you can solve such a situation in numerous ways. For example, my favorite would be to use the <a href="/features/format-conversions">Format Conversions</a> feature and go with a single Localazy project for both platforms and seamlessly convert translated content to file formats supported by the other. </p><p>But what to do if you can't use format conversions? E.g., when you have a completely different key naming pattern and want to keep it the same everywhere in your app?</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/19OW6zMpUGg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="What is Duplicity Linking"></iframe></figure><h2 id="how-does-it-work">🤔 How does it work? <a class="markdownit-header-anchor" href="#how-does-it-work">🔗</a></h2><p>As you can see, there are many reasons why duplicated keys are inevitable and an important part of the software localization process.</p><p>For this reason, Localazy comes with the Duplicity Linking feature allowing you to reuse content automatically across linked keys in all languages and even across several projects.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2023/01/DuplicityBg--1-.png" class="kg-image" alt loading="lazy" width="1481" height="760" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/DuplicityBg--1-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/DuplicityBg--1-.png 1000w, https://ghost.localazy.com/content/images/2023/01/DuplicityBg--1-.png 1481w" sizes="(min-width: 720px) 720px"></figure><p>The solution that Localazy uses is to link multiple different keys with the same content. One of the keys is the <strong>content source</strong>. This key remains the same in all respects and is available to translators as usual.</p><p>The <strong>linked keys</strong> are hidden and are not shown to translators at all. These keys also retain their own values and any existing translations. However, after linking the duplicate key to the content source key, its previous values are not used. When the value of the linked key is retrieved during publishing, format conversion, or in the public API, the value from the content source key is used instead for all languages.</p><p>When you remove the link, the linked key will become active again, use its original values and translations, and behave like a regular key.</p><blockquote>🌍 Duplicity linking is available from the <a href="/tiers/business">Business plan</a>.</blockquote><h2 id="how-to-resolve-duplicates">📋 How to resolve duplicates <a class="markdownit-header-anchor" href="#how-to-resolve-duplicates">🔗</a></h2><p>Let's learn how to solve this common localization issue effectively. To start, activate the <a href="/tiers/business">Business plan</a> and visit <a href="/console/duplicities">Duplicities in the Localazy console</a> to check the list of your projects and how many duplicates are contained in each of them.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/list_projects_duplicities.png" class="kg-image" alt loading="lazy" width="1280" height="800" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/list_projects_duplicities.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/list_projects_duplicities.png 1000w, https://ghost.localazy.com/content/images/2022/12/list_projects_duplicities.png 1280w" sizes="(min-width: 720px) 720px"></figure><p>Click on <strong>Actions</strong> for the project you want to start with and select <strong>Resolve duplicities</strong>.</p><p>You will see a list of duplicates to resolve.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/list_duplicates.png" class="kg-image" alt loading="lazy" width="1280" height="800" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/list_duplicates.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/list_duplicates.png 1000w, https://ghost.localazy.com/content/images/2022/12/list_duplicates.png 1280w" sizes="(min-width: 720px) 720px"></figure><p>It's constructed as a list of tasks, and you can start resolving duplicities by clicking the <strong>Edit</strong> button on the right side.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/resolve_1.png" class="kg-image" alt loading="lazy" width="1280" height="800" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/resolve_1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/resolve_1.png 1000w, https://ghost.localazy.com/content/images/2022/12/resolve_1.png 1280w" sizes="(min-width: 720px) 720px"></figure><p>In the dialog that popped up, you can create links between keys or mark keys as unique by using the <strong>Options</strong> menu on the right side of each of the keys.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/resolve_2.png" class="kg-image" alt loading="lazy" width="1280" height="800" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/resolve_2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/resolve_2.png 1000w, https://ghost.localazy.com/content/images/2022/12/resolve_2.png 1280w" sizes="(min-width: 720px) 720px"></figure><p>Duplicates are sent to the <strong>Resolved</strong> list when all items are linked or marked as unique. Whenever there is any change in the project that creates new or affects existing duplicates, they are automatically moved back to the <strong>Unresolved</strong> list.</p><p>And that's it! You have successfully resolved duplicates in your project.</p><h3 id="review-and-remove-links">Review and remove links <a class="markdownit-header-anchor" href="#review-and-remove-links">🔗</a></h3><p>Sometimes, you need to identify how keys are linked without looking for them in the list of duplicates. Such as when you want to find the relevant information for a specific key.</p><p>From the duplicities screen in the console, you can also click <strong>Actions</strong> for the selected project and use the <strong>Show Links</strong> option to show all existing links.</p><p>Now, you can examine and filter existing links and, when desired, remove them.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/list_links.png" class="kg-image" alt loading="lazy" width="1280" height="800" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/list_links.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/list_links.png 1000w, https://ghost.localazy.com/content/images/2022/12/list_links.png 1280w" sizes="(min-width: 720px) 720px"></figure><p>Along with the duplicity resolve screen described above, links management allows you to effectively control how duplicates are tackled in your project.</p><h3 id="resolve-duplicates-across-several-projects">Resolve duplicates across several projects <a class="markdownit-header-anchor" href="#resolve-duplicates-across-several-projects">🔗</a></h3><p>The process is essentially the same as described above for a single project. In the console, you can select multiple projects (up to 4 at the same time), and from the <strong>Cross-Project Actions</strong> that appear in the table header, select <strong>Resolve duplicities</strong>.</p><p>As in a single project mode, you are presented with all the duplicates in a task-like list. Everything works exactly the same, except that you can see what project the key is coming from when linking them:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/multi_edit.png" class="kg-image" alt loading="lazy" width="1280" height="800" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/multi_edit.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/multi_edit.png 1000w, https://ghost.localazy.com/content/images/2022/12/multi_edit.png 1280w" sizes="(min-width: 720px) 720px"></figure><p>And that's it! Nothing special is needed to link keys across many different projects!</p><h3 id="resolve-duplicates-using-public-api">Resolve duplicates using public API <a class="markdownit-header-anchor" href="#resolve-duplicates-using-public-api">🔗</a></h3><p>You can manage duplicity links using the <a href="/features/translation-api">Localazy API</a> and automate their creation or deletion.</p><blockquote>You can read more about <a href="/docs/api/duplicities">Duplicities API in our documentation</a></blockquote><p>It's a practical solution when you can introduce your logic for duplicate resolution or when you need to migrate data.</p><h2 id="duplicates-in-the-source-language-listing">📑 Duplicates in the source language listing <a class="markdownit-header-anchor" href="#duplicates-in-the-source-language-listing">🔗</a></h2><p>You can see the total percentage of duplicities in the language list next to the source language item. By clicking on it, you'll get redirected to the console.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-7.png" class="kg-image" alt loading="lazy" width="2000" height="596" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-7.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/12/image-7.png 1600w, https://ghost.localazy.com/content/images/2022/12/image-7.png 2382w" sizes="(min-width: 720px) 720px"></figure><p>When navigating to the source language table, you can identify already resolved duplicities by their status.</p><ul><li>Linked keys - Link icon</li><li>Content source - Active string with a link badge</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-8.png" class="kg-image" alt loading="lazy" width="1520" height="522" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-8.png 1000w, https://ghost.localazy.com/content/images/2022/12/image-8.png 1520w" sizes="(min-width: 720px) 720px"></figure><p>You can click on the status to modify the link in the console.</p><p>Linked duplicities are, by default, hidden. They won't appear in the translation session or the language tables. When downloading or exporting the content, duplicate strings will be replaced with content from the linked source content key.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/12/image-10.png" class="kg-image" alt loading="lazy" width="2000" height="1198" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-10.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/12/image-10.png 1600w, https://ghost.localazy.com/content/images/2022/12/image-10.png 2384w" sizes="(min-width: 720px) 720px"><figcaption>Source Language table in Localazy showing linked duplicities.</figcaption></figure><p>As described earlier, you can remove the link directly in the batch option dropdown menu or the console.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We hope you like the new feature and that Localazy can help make your localization efforts even easier now! Go to your list of languages in Localazy and see how many duplicates are waiting to be resolved.  </p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/01/og-duplicity.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Why Hungarian localization services are so important]]></title>
            <link>https://localazy.com/blog/why-hungarian-localization-services-are-so-important</link>
            <guid isPermaLink="false">why-hungarian-localization-services-are-so-important</guid>
            <pubDate>Fri, 04 Apr 2025 18:11:25 GMT</pubDate>
            <description><![CDATA[Why should you order professional Hungarian translations at Localazy? Learn about the specifics of the Hungarian language and why Hungarian translations should always be done by professional native speakers.]]></description>
            <content:encoded><![CDATA[<p>Let’s start by taking a look at the history and current state of the Hungarian language.</p><h2 id="how-old-is-hungarian">📜 How old is Hungarian? <a class="markdownit-header-anchor" href="#how-old-is-hungarian">🔗</a></h2><p>The first written records in Hungarian date to the 10th century; however, the first full text in Hungarian that remains undestroyed to this day was written in the 1190s. Are you wondering if this text can still be understood by contemporary Hungarian speakers? Well, probably not. </p><p>The orthography, grammar, and vocabulary have changed so much throughout the centuries that most current speakers couldn’t even read it out loud and would need a “translation” to understand it. For example, the original Hungarian language had <a href="https://en.wikipedia.org/wiki/Diphthong">diphthongs</a> and used six verb tenses. The diphthongs were lost over time, and today only two or three verb tenses are used.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image.png" class="kg-image" alt loading="lazy" width="1260" height="709" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image.png 1000w, https://ghost.localazy.com/content/images/2023/01/image.png 1260w" sizes="(min-width: 720px) 720px"><figcaption>The iconic Hungarian Parliament Building in Budapest&nbsp;</figcaption></figure><h2 id="where-is-hungarian-spoken">🗺️ Where is Hungarian spoken? <a class="markdownit-header-anchor" href="#where-is-hungarian-spoken">🔗</a></h2><p>With approximately <strong>13 million speakers</strong>, Hungarian is the most widely spoken non-Indo-European language in Europe and occupies the 12th place on the list of the most populous European languages. It goes without saying that Hungarian is <strong>the oﬃcial language of the Republic of Hungary</strong>, but fewer people know that it is also the official language of the Autonomous Province of Vojvodina, as well as of three municipalities in Slovenia and that it has approximately four million speakers from outside of Hungary. How come? To answer this question, we have to have a look at the history.</p><p>As a result of the Treaty of Trianon in 1920, Hungary lost 71% of its territory, and one-third of Greater Hungary’s population ended up as citizens of the neighboring states: Austria, Croatia, Ukraine, Romania, Serbia, Slovenia, and Slovakia. Today, the Hungarian language is ofﬁcially recognized as a minority or regional language in all these countries, with the largest community, comprising approximately 1.5 million speakers, located in Transylvania, Romania.</p><h2 id="hungarian-as-a-pluricentric-language">📍 Hungarian as a pluricentric language <a class="markdownit-header-anchor" href="#hungarian-as-a-pluricentric-language">🔗</a></h2><p>Understandably, the language used in these minority communities differs from the standard Hungarian used in Hungary. These non-dominant varieties, i.e., dialects, include Transylvanian Hungarian (Romania), Vojvodina Hungarian (Serbia), Transcarpathian Hungarian (Ukraine), Slovak Hungarian, Slovenian Hungarian, Croatian Hungarian, and Austrian Hungarian. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-2.png" class="kg-image" alt loading="lazy" width="1920" height="1222" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2023/01/image-2.png 1600w, https://ghost.localazy.com/content/images/2023/01/image-2.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Map of Hungarian speakers in Eastern Europe | Source: <a href="https://commons.wikimedia.org/wiki/File:Dist_of_hu_lang_europe.svg">Wikimedia Commons</a></figcaption></figure><p>Beyond some differences in vocabulary created by the influence of the neighboring languages, all these dialects are mutually intelligible. However, dialects are unfortunately often invalidated and criticized, which leads to a controversial relationship between the Hungarian speakers in Hungary and the minority speakers.</p><h2 id="what-language-is-the-closest-to-hungarian">🤔 What language is the closest to Hungarian? <a class="markdownit-header-anchor" href="#what-language-is-the-closest-to-hungarian">🔗</a></h2><p>Hungarian belongs to the Finno-Ugric group of the Uralic language family, distantly related to Finnish and Estonian, and is a member of the Ugric branch, along with Mansi and Khanty. Mansi, its closest relative, is only spoken by less than 1000 people today.</p><p>However, it’s very important to clarify that these languages are only related in terms of having a common ancestor and are no longer mutually intelligible. That’s why <strong>Hungarian is mostly known as an isolated language</strong>: not only are all the other Finno-Ugric languages geographically far away, but they evolved in completely different ways. </p><p>Therefore, unlike the speakers of the Germanic, Romance, or Slavic languages, <strong>Hungarian speakers have no “similar” languages that they can mostly or almost understand or at least learn easily</strong>. When learning a foreign language, they mostly profit from their second language, which, in the case of the minority speakers, is primarily the official language of their home country.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2023/01/image-1.png" class="kg-image" alt loading="lazy" width="1125" height="750" srcset="https://ghost.localazy.com/content/images/size/w600/2023/01/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2023/01/image-1.png 1000w, https://ghost.localazy.com/content/images/2023/01/image-1.png 1125w" sizes="(min-width: 720px) 720px"><figcaption>Hungarian Lake Balaton - the largest lake in Central Europe</figcaption></figure><h2 id="professional-hungarian-translation-services">💼 Professional Hungarian translation services <a class="markdownit-header-anchor" href="#professional-hungarian-translation-services">🔗</a></h2><p>There is an inexplicable tendency among Hungarian speakers to translate literally everything, the best example probably being the <a href="https://en.wikipedia.org/wiki/Dubbing#Hungary">world-famous Hungarian film dubbing</a>. This is, however, a bit of a double-edged sword. As most speakers are not forced to learn a foreign language, according to <a href="https://ec.europa.eu/eurostat/statistics-explained/index.php?title=Foreign_language_skills_statistics">Eurostat's latest statistics</a>, <strong>more than 50% of Hungarians living in Hungary do not speak any foreign language</strong>. And though among younger speakers, this number is already changing, the work of the Hungarian translation services is essential; this also applies to the minority speech communities, which have a much greater need to nurture the use of their mother tongue.</p><h3 id="what-makes-a-hungarian-translation-service-professional">What makes a Hungarian translation service professional? <a class="markdownit-header-anchor" href="#what-makes-a-hungarian-translation-service-professional">🔗</a></h3><p>When searching for online Hungarian translation services, the most important thing is to <strong>make sure you are working with native speakers</strong>. Hungarian is quite a unique language, professionally spoken mainly by native or bilingual speakers. Of course, this doesn’t mean that any native speaker can do a proper translation for you, but we surely recommend you find Hungarian translation service agencies that work with native translators to deliver professional services.</p><p>In addition, because of the complexity of the language, <strong>proper machine translation technology has not been developed yet</strong>, and in many cases, even professional translation software can be wrong. </p><p>For example, there are inﬂected word forms in Hungarian that can have several meanings: the word <em>várunk</em> can mean ‘we are waiting’ as well as ‘our castle’. These forms cannot be properly translated without analyzing the context, which machine translation can’t always do.</p><h3 id="the-most-common-language-pairs">The most common language pairs <a class="markdownit-header-anchor" href="#the-most-common-language-pairs">🔗</a></h3><p>Despite the high cost of manual translations, for the reasons mentioned above, they are essential in order to receive high quality results. Naturally, the prices may vary based on language pairs. English–Hungarian translation services are the most common and, therefore, the most suitable. Still, you can easily find professional bilingual translators among the minority speakers as well, especially in combination with the official language of their home country.</p><h2 id="hungarian-localization-with-localazy">🚩 Hungarian localization with Localazy <a class="markdownit-header-anchor" href="#hungarian-localization-with-localazy">🔗</a></h2><p>Localazy allows you to translate your software projects, websites, and other digital content into many languages, including Hungarian. Our professional translators are all native speakers, so you don't have to worry about the quality of work if you prepare a good context bank for your texts!</p><blockquote><strong>Learn how to order translations for your project in</strong><br><strong><a href="https://localazy.com/blog/guide-localazy-translation-services">The ultimate guide to Localazy translation services</a>.</strong></blockquote><p>Translate your projects from <a href="https://localazy.com/translate/en-hu">English to Hungarian</a> comfortably with Localazy now and reach millions of Hungarian speakers in Central and Eastern Europe.</p><p><strong>Fun fact:</strong> The traditional Hungarian dish "gulyás" (goulash) is mentioned in a Czech/Slovak idiom. The word is <em>guláš</em> and means "mishmash", typically used as <em>"mít v tom guláš"</em>: to be disoriented or to lack understanding of something.</p><p><a href="https://hub.localazy.com/en/english-idioms">You can learn more English idioms in the Localazy Hub (beta)</a></p><p></p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/11/locales-hungarian.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Figma in Localization: Connect designs and translations via screenshots]]></title>
            <link>https://localazy.com/blog/figma-series-connect-designs-and-source-keys-via-screenshots</link>
            <guid isPermaLink="false">figma-series-connect-designs-and-source-keys-via-screenshots</guid>
            <pubDate>Thu, 16 Apr 2026 14:26:07 GMT</pubDate>
            <description><![CDATA[Using the Localazy Figma plugin is an excellent way of introducing localization earlier in the product life cycle. Learn how to improve the context for your translators and connect Figma designs with your strings in Localazy via screenshots.]]></description>
            <content:encoded><![CDATA[<h2 id="figma-plugin-series">📚 Figma plugin series <a class="markdownit-header-anchor" href="#figma-plugin-series">🔗</a></h2><p>This article is part of the Figma plugin localization workflow series that outline proven integration approaches of the Figma plugin in the product's design and development stages. </p><p>The series consists of the following articles:</p><ul><li><a href="/blog/figma-series-preview-designs-in-multiple-languages">Preview designs in multiple languages</a></li><li>Connect designs and source keys via screenshots (this article)</li><li><a href="/blog/figma-series-figma-as-source-of-truth">Make Figma the Source of Truth</a></li><li><a href="/blog/figma-and-code-base-as-independent-sources-of-truth">Make Figma and code base independent Sources of Truth</a></li></ul><p>Before diving in, check out our <a href="https://localazy.com/docs/figma/plugin-introduction">documentation</a> describing the installation and configuration of the Figma plugin, as we will skip this step. Also, look at other <a href="https://localazy.com/tags/figma">Figma-related articles</a> to find more helpful examples and guides.</p><h2 id="the-use-case">🎈 The Use Case <a class="markdownit-header-anchor" href="#the-use-case">🔗</a></h2><p>This workflow is suitable for anyone who'd like to help translators with the additional context in the form of screenshots depicting where the source key originates from. It is similar to the <a href="/blog/figma-series-preview-designs-in-multiple-languages"><strong>Preview design in other languages</strong></a> approach in which the designers mainly use the Figma plugin to ensure that the layout is robust enough to handle various languages. Since the designers already benefit from the plugin, why shouldn't the translators too?</p><p>There are pretty much only two scenarios where this approach is pointless. Either you use only machine translation engines for translations, or the screenshots of the designs won't help with the translation context whatsoever. However, there is no guarantee that you won't need professional quality translations at one point (there is a good chance that you will!), so uploading screenshots upfront isn't a bad idea. And presuming that the translators won't ever benefit from additional context is just not true - I bet they'll thank you for it sooner or later.</p><p>Imagine that you're working on a mobile app that should help users stick to new habits. Let's set up an exemplary scenario where we would benefit from this usage of the Figma plugin. Each recipe step, guide, and praise can contain multiple images, videos, and texts of varying lengths. However, if you look at the content more abstractly, we can identify that the number of unique layouts is relatively small, with greater emphasis on the quality of the content and the UX aspects. Hence, the number of screenshots to maintain will be quite small, and the quality of translations should improve thanks to them considerably. These are truly win-win conditions.</p><h2 id="connecting-to-localazy">🔌 Connecting to Localazy <a class="markdownit-header-anchor" href="#connecting-to-localazy">🔗</a></h2><p>First of all, <a href="https://localazy.com/register">set up a new account</a> in Localazy. Create a new project that will be connected to our product's codebase (via the <a href="https://localazy.com/docs/cli">CLI</a>, <a href="https://localazy.com/docs/api/introduction">API</a>, or <a href="https://localazy.com/integrations">other means</a>). For our example product, we would probably <a href="/blog/guide-localazy-translation-services">order professional translations</a> since the translation quality is of utter importance to connect with our target audience. Still, you can also invite your own translators, rely on the community, or use <a href="/dictionary/machine-translation">machine translations</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-15.png" class="kg-image" alt loading="lazy" width="1014" height="680" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-15.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-15.png 1014w" sizes="(min-width: 720px) 720px"></figure><p>Now, our designers want to preview the translations in Figma and ensure that their designs can handle various languages. Therefore, we're going to create a second project that will serve as a playground for designers. We will only translate it via <a href="/features/pre-translate">machine pre-translate</a>, which is fast and included in the <a href="https://localazy.com/tiers/autopilot">Autopilot plan subscription</a>. This project won't be connected to our codebase, only to our Figma designs.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-17.png" class="kg-image" alt loading="lazy" width="1014" height="680" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-17.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-17.png 1014w" sizes="(min-width: 720px) 720px"></figure><p>Don't create the second project if you don't need a playground and want to upload screenshots to your main project only.</p><h2 id="upload-screenshots-to-localazy">📸 Upload screenshots to Localazy <a class="markdownit-header-anchor" href="#upload-screenshots-to-localazy">🔗</a></h2><p>Open up the Figma file with the designs you'd like to upload. Initialize Localazy's Figma plugin and connect to the main Localazy project. If you were previously connected to the playground project, make sure to disconnect and connect to the correct project now.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/merged-product-1.png" class="kg-image" alt loading="lazy" width="1300" height="607" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/merged-product-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/merged-product-1.png 1000w, https://ghost.localazy.com/content/images/2022/11/merged-product-1.png 1300w" sizes="(min-width: 720px) 720px"></figure><p>Back in Figma, navigate to the settings tab and choose <strong>Upload only screenshots</strong> under the <em>Screenshot settings. </em>I'll keep the <strong>Upload &amp; download the entire file </strong>option unchecked to upload only the layouts I select.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-21.png" class="kg-image" alt loading="lazy" width="356" height="608"></figure><p>Select the screen(s) you'd like to upload screenshots of. You have to fill in the file name and select the target format. It doesn't affect anything since we're uploading the screenshots only; it's just how the plugin is built.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-37.png" class="kg-image" alt loading="lazy" width="1510" height="894" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-37.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-37.png 1000w, https://ghost.localazy.com/content/images/2022/12/image-37.png 1510w" sizes="(min-width: 720px) 720px"></figure><p>When you navigate to the <strong>Screenshots </strong>section in Localazy, you should see one uploaded screenshot but no content just yet.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-42.png" class="kg-image" alt loading="lazy" width="1648" height="561" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-42.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-42.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/12/image-42.png 1600w, https://ghost.localazy.com/content/images/2022/12/image-42.png 1648w" sizes="(min-width: 720px) 720px"></figure><h2 id="upload-content">📤 Upload content <a class="markdownit-header-anchor" href="#upload-content">🔗</a></h2><p>Localazy supports hundreds of frameworks and programming languages and dozens of underlying file formats. It's entirely up to you what kind of content and how you will upload it. </p><p>Browse through the available <a href="https://localazy.com/integrations">integrations</a> and decide whether you'd like to integrate your project via <a href="https://localazy.com/docs/cli/the-basics">CLI</a>, <a href="https://localazy.com/docs/api/introduction">API</a>, <a href="https://localazy.com/docs/zapier/introduction-zapier">Zapier</a>, or other means. Each type of integration and file format offers various kinds of available integration methods, so look up the one you are after and see your options.</p><p>In this example, I will use a manual file upload since this is the quickest way to validate whether this Figma workflow will suit our needs - at least from the designer's and localization resources management perspective. </p><p>Navigate to <strong>Integrate</strong> section and select <strong>Direct File Upload</strong>. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/Screenshot-2022-11-11-09-58-10.png" class="kg-image" alt loading="lazy" width="1664" height="693" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/Screenshot-2022-11-11-09-58-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/Screenshot-2022-11-11-09-58-10.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/Screenshot-2022-11-11-09-58-10.png 1600w, https://ghost.localazy.com/content/images/2022/11/Screenshot-2022-11-11-09-58-10.png 1664w" sizes="(min-width: 720px) 720px"></figure><p>Add the localization file in any supported format and choose the file type if Localazy can't recognize it. Click on <em>Next</em> and configure the additional import options if required (most of the time, the default values are sufficient). And upload. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-43.png" class="kg-image" alt loading="lazy" width="778" height="457" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-43.png 600w, https://ghost.localazy.com/content/images/2022/12/image-43.png 778w" sizes="(min-width: 720px) 720px"></figure><p>If the content structure is valid, you should see your project's newly added source keys.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-25.png" class="kg-image" alt loading="lazy" width="1654" height="675" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-25.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-25.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-25.png 1600w, https://ghost.localazy.com/content/images/2022/11/image-25.png 1654w" sizes="(min-width: 720px) 720px"></figure><h2 id="connect-content-with-screenshots">🔗 Connect content with screenshots <a class="markdownit-header-anchor" href="#connect-content-with-screenshots">🔗</a></h2><p>Finally, we have both Figma screenshots and content ready in Localazy, and the last step is to connect them. Head again to the <strong>Screenshots</strong> section and open one of the uploaded screenshots. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-44.png" class="kg-image" alt loading="lazy" width="1662" height="1247" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-44.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-44.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/12/image-44.png 1600w, https://ghost.localazy.com/content/images/2022/12/image-44.png 1662w" sizes="(min-width: 720px) 720px"></figure><p>Here we can see the screenshot itself, various metadata, and attached tags for easier management - the <em>Figma</em> tag representing the origin has been added for us automatically.</p><p>Most importantly, at the bottom, there is an input called <strong>Linked source keys</strong> that we can use to look up source keys in our project and connect them to this screenshot. However, looking up all the source keys for all the screenshots would be extremely tedious, especially considering that both will grow in numbers. </p><p>Thanks to the OCR mechanism, Localazy can detect what keys should be connected to the individual screenshots and suggest them to you. In the screenshot above, you can see there are multiple suggested keys. All of them are relevant, so we'll add them and save the changes.</p><p>I've uploaded only a few strings for this example. Hence the number of suggestions is so small. If I had uploaded all the content, the number of suggested keys would be larger. However, if you suspect that some source keys haven't been suggested in your case, you can always look them up manually.</p><p>When you now click on one of the linked source keys, you'll see that the <strong>screenshots</strong> tab has <em>(1)</em> attached screenshot. From this point onwards, the translators can preview the attached screenshot and benefit from its context while translating the content.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-48.png" class="kg-image" alt loading="lazy" width="1662" height="1247" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-48.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-48.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/12/image-48.png 1600w, https://ghost.localazy.com/content/images/2022/12/image-48.png 1662w" sizes="(min-width: 720px) 720px"></figure><h3 id="updating-the-screenshots">Updating the screenshots <a class="markdownit-header-anchor" href="#updating-the-screenshots">🔗</a></h3><p>What happens if the designs change, you may ask? Localazy keeps track of which layout the screenshot was generated from. So feel free to rename the screenshot and add more tags to it. If you make changes in Figma and upload the same layout again, Localazy can replace the existing screenshot with the updated one.</p><h3 id="so-are-there-any-caveats">So are there any caveats? <a class="markdownit-header-anchor" href="#so-are-there-any-caveats">🔗</a></h3><p>We've learned that uploading your screenshots is effortless, and the only extra work the designers need to do is to open the Figma plugin and upload the content once the designs are ready (or updated). No problem there.</p><p>Attaching source keys to new screenshots is a little time-consuming, especially if the OCR mechanism fails to recognize all the source keys. But still, quite manageable.</p><p>The biggest challenge is arguably maintaining the older screenshots. Some screenshots can become outdated and no longer representative of your application (you drop a limited-time event feature, for instance). Somebody should delete such screenshots from Localazy to not get lost in the clutter. </p><p>Furthermore, it can happen that you add more content to an existing design (a new button) which means that you need to check for newly suggested source keys or add them manually if they weren't detected. </p><p>So the biggest caveat of this approach is that somebody should be responsible for managing the screenshots section in Localazy. The decision is yours - if you (or the translators) feel that the screenshots are crucial for the quality of the translations, then managing screenshots is definitely worth the extra effort.</p><h2 id="pros-and-cons">⚖️ Pros and cons <a class="markdownit-header-anchor" href="#pros-and-cons">🔗</a></h2><h3 id="pros">➕ Pros <a class="markdownit-header-anchor" href="#pros">🔗</a></h3><ul><li>Developers are the ones defining new keys and adjusting existing ones. This is the fastest approach from the developers' perspective and arguably the fastest approach overall.</li><li>Designers don't need to prepare keys in Figma in any way for developers. They upload screenshots generated from the Figma designs. There is hardly any extra work for the designers.</li><li>The translators can preview where to translated content is used, which can improve the quality of translations considerably.</li></ul><h3 id="cons">➖ Cons <a class="markdownit-header-anchor" href="#cons">🔗</a></h3><ul><li>Somebody needs to link source keys to uploaded screenshots in Localazy and manage the screenshot section in Localazy. </li><li>Updating older designs is especially challenging since you need to look up relevant screenshots in Localazy and ensure that appropriate source keys are linked.</li><li>There is a risk that designers forget to change the target project and settings and mistakenly upload keys from Figma to Localazy.</li></ul><h2 id="closing-word">✔️ Closing word <a class="markdownit-header-anchor" href="#closing-word">🔗</a></h2><p>I hope this article helped you understand how you can attach screenshots generated from the Figma designs to your content in Localazy. Be sure to check more articles from the <a href="#figma-plugin-series">series</a> about common Figma plugin workflows. If you have any questions or comments, leave us a message below.</p><blockquote>The designs used for the demo project are made by <a href="https://www.figma.com/@nickelfox">Nickelfox Design</a> and available in the <a href="https://www.figma.com/community/file/1160132369578624863">Figma Community</a> under a <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a> license.</blockquote>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/01/Figma-Series-2--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Meet The Localazy Team: Jan Bílek, Product Manager]]></title>
            <link>https://localazy.com/blog/meet-the-localazy-team-jan-bilek-product-manager</link>
            <guid isPermaLink="false">meet-the-localazy-team-jan-bilek-product-manager</guid>
            <pubDate>Thu, 22 Dec 2022 14:17:30 GMT</pubDate>
            <description><![CDATA["Companies are starting to understand that localization if done right, can incredibly boost their growth," says Localazy's Product Manager, Jan Bílek. Learn more about his perspectives on localization, software development, and product positioning in this interview. ]]></description>
            <content:encoded><![CDATA[<p>Welcome to the first installment of our new "Meet The Localazy Team" series! 🚀</p><p>Have you ever wondered what our work routine at Localazy looks like? Would you like to get to know all the people behind the avatars you regularly see on the blog and in the support chats? Say no more: we are happy to introduce you to our new <strong>Meet Our Team series</strong>, where we'll interview every member of our tight-knit eight-person remote core team based in the Czech Republic and Poland.</p><p>To kick off with a bang, we've sat down with <strong><a href="https://www.linkedin.com/in/xbilek18/">Jan Bílek</a></strong>, Localazy's product wizard. 🧙‍♂️ Jan has been with us since the beginning - he was one of the architects of our localization solution back in 2020. Before taking on the Product Manager role at Localazy, he worked as a frontend developer and consultant for other software companies like Runecast Solutions, Avast Software, and AVG. </p><p>Jan is 29 and lives in Katowice (PL), although he's originally from Czechia. He's a sports fanatic, a polyglot, and an excellent trend forecaster. We're off to a great start! Care to join?</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/12/IMG_2326.jpg" class="kg-image" alt="Jan Bílek - Product Manager at Localazy.com" loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/IMG_2326.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/IMG_2326.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/12/IMG_2326.jpg 1600w, https://ghost.localazy.com/content/images/2022/12/IMG_2326.jpg 2048w" sizes="(min-width: 720px) 720px"><figcaption>Jan Bílek - Product Manager at Localazy</figcaption></figure><h2 id="getting-to-know-jan">🙋‍♂️ Getting to know Jan <a class="markdownit-header-anchor" href="#getting-to-know-jan">🔗</a></h2><p><strong>Hey, Jan! Happy to have you as our first team guest. </strong>😊 <strong>What's your role in Localazy, and what are your primary responsibilities?</strong></p><p>Hi! 👋 My role in the team would be best described as Product Manager, but in a small team like ours, everyone sometimes needs to deal with other stuff that wouldn’t exactly fit their role's typical description. My primary responsibility is the product. I ensure that everyone in the team is aligned around our goals and priorities, and I make sure that we work towards a well-defined strategy. I talk to customers often, listen to their feedback, and gather and analyze insights. I explore what’s the next most valuable thing we should focus on. I also care about our processes and strive to support the team in working and communicating effectively. </p><p><strong>That's a huge role - and a very important one! Can you tell us a little bit about your prior experience and education?</strong></p><p>I have a technical background. I studied informatics and telecommunication and, afterward, computer science. After university, I worked as a developer 💻 for a couple of years. Then I started freelancing and eventually began building a tiny agency with my friends. That’s how we later met our CEO, Vašek, and our team was quickly transformed into the core product team of Localazy. I never knew exactly what I really wanted to do until my generalist nature and knowing a little bit about everything proved to be super helpful for owning a product.</p><p><strong>What do you like the most about your job at Localazy?</strong></p><p>It’s definitely <a href="https://localazy.com/contact">the team</a>. Much has been said about empowered teams lately, but these guys are really something else. They’re simply the best people I’ve ever worked with. No problem is too big for them! 💪 Everyone has this strong drive and will to push things forward. Thanks to them, every day is unique, and there’s always something new to learn or improve. Then, when you look back to a year, a month, or even a week ago, you can always see the immense progress we’re making as a company together.</p><p><strong>Who are your main professional inspirations or role models, and why?</strong></p><p>Countless people out there do a fantastic job at pushing the whole definition of the PM role forward. It would also include many big names who are currently defining the industry, like <a href="https://melissaperri.com/">Melissa Peri</a>, <a href="https://twitter.com/ttorres/">Teresa Torres</a>, or <a href="https://twitter.com/cagan/">Marty Cagan</a>. </p><p>However, if I had to pinpoint just two, it would be <a href="https://twitter.com/johncutlefish">John Cutler</a> and <a href="https://twitter.com/lennysan">Lenny Rachitsky</a> because they’re incredibly relatable these days. Also, a special mention goes to <a href="https://www.linkedin.com/in/henrylatham/">Henry Latham</a>, as he literally launched me in the right direction early this year.</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;I have a technical background. I never knew exactly what I really wanted to do until my generalist nature and knowing a little bit of everything proved to be super useful for owning a product&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>What are your hobbies and interests?</strong></p><p>I do lots of sports and usually train a couple of days a week. I love swimming, running, and mountain biking. On my days off, I also try to exercise at home. 🤸‍♂️</p><p>Plus, I love cooking. I cook almost every day and try to get better at it. Apart from that, I read a lot and occasionally take photos purely for fun. Most of these activities are irreplaceable for me, allowing me to recharge and organize my thoughts.  </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/IMG_1104.jpeg" class="kg-image" alt="Jan Bílek - Product Manager at Localazy.com" loading="lazy" width="2000" height="2667" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/IMG_1104.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/IMG_1104.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/12/IMG_1104.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/12/IMG_1104.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="challenges-as-a-product-manager">💪 Challenges as a Product Manager <a class="markdownit-header-anchor" href="#challenges-as-a-product-manager">🔗</a></h2><p><strong>What is the biggest challenge ahead of you now as a PM?</strong></p><p>From a business perspective, the challenge could be turned into a question: "How to turn a growing startup into a strong and healthy business?" One of the goals ahead is to improve communication clarity and better guide the conversations where I need them to be product-wise. </p><p><strong>How do you find direction?</strong></p><p>I use bullet journaling for goal setting. 📖 It’s an irreplaceable tool for me when seeking clarity.</p><p><strong>How has the company and the product evolved since you started? What is your proudest achievement as a product manager?</strong></p><p>We started from the bottom: four people with an idea and almost no experience. We just wanted to solve localization hassles for Android developers. Now our core team is double in size; we support <a href="https://localazy.com/integrations">more than 70 integrations</a>, we are one of the pioneers in <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization Services</a>, and we currently have a fully-featured platform competing with the biggest players who have been on the market for over a decade. And all this happened in about three years of quite uncertain times for the global economy. </p><p><strong>That's a noteworthy achievement indeed, but success is not always the norm in the startup environment. How do you manage failure and unmet expectations? </strong></p><p>As a startup, we’re overloaded with ideas. 💬 Naturally, not all of them are going to work. Some ideas must fail many times until we find the one way that works perfectly. I believe that failure is the best driver for progress. It’s crucial not to dismiss even the craziest ideas immediately but rather listen and evaluate them properly. This way, anyone in the company can come up with the next big thing. </p><blockquote>"Failure is the best driver for progress. It’s crucial to evaluate even the craziest ideas, so that we allow anyone to come up with the next big thing"</blockquote><p>When something fails unexpectedly, it’s important to refrain from blaming others because it’s rarely an individual’s fault. We try to find the real reason it failed and learn from it. This helps us make better decisions in the future. Failure is inevitable in an environment like ours, but you should fail fast and eliminate the risks standing in the way.</p><p><strong>What’s the most challenging thing about creating and promoting a product amidst all the information overload and constant competition?</strong></p><p>I’d say it’s getting the positioning right. It’s crucial to come up with clear messaging 📣 that properly delivers our unique value proposition and counters possible objections. It’s also objectively harder to build a business now than it was,  for example, ten years ago. Big spenders dominate the media channels, and there’s also <a href="https://www.businesswire.com/news/home/20220719005425/en/Brands-Losing-a-Record-29-for-Each-New-Customer-Acquired">huge CAC inflation</a>. We must constantly search for alternative ways to get the message to where it should be.</p><h2 id="the-daily-grind">👓 The daily grind <a class="markdownit-header-anchor" href="#the-daily-grind">🔗</a></h2><p><strong>As a PM, what does your usual workday look like? </strong></p><p>My job requires a lot of substantially different activities, including:</p><ul><li>Lots of thinking and focus 🧠</li><li>Talking to users and customers 🤝🏼</li><li>Analyzing data and feedback 📊</li><li>Coordinating team efforts from idea to execution 📋</li></ul><p>I basically talk to everyone every day, but I also need to find time to think. I set my morning time aside for the most complicated stuff. I wake up, make myself a coffee ☕, and start with the most important thing I need to achieve that day. I usually consult my bullet journal for this, as it really helps me to figure out what I should focus on doing. I rarely agree to attend meetings in the first half of the day unless they help me solve the problem I have at hand. Thanks to that, I can consistently move forward in the direction I want.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/IMG_3802.JPG" class="kg-image" alt="Jan Bílek - Product Manager at Localazy.com" loading="lazy" width="2000" height="2667" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/IMG_3802.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/IMG_3802.JPG 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/12/IMG_3802.JPG 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/12/IMG_3802.JPG 2400w" sizes="(min-width: 720px) 720px"></figure><p>After the morning session, I usually take a longer break for some exercise and lunch. In the afternoon, knowing that I have already worked hard towards the goal, I can happily use the remaining energy for meetings with teammates, talking to customers, and all kinds of other stuff which don’t require long, uninterrupted periods of focus. Usually, I also take advantage of a third session in the evening, when I read books, write some content or study some materials before I go to bed. This really helps to settle my thoughts, which I can leverage to think clearly the following day.</p><p><strong>How do ideas come up within the team, and how does the process look?</strong></p><p>As I’ve already mentioned, there are always more ideas than one can work with. We have a system to put these on triage. Ideas come from different channels, but the most important for us are those from customers. However, we don’t simply take orders like a waiter in a restaurant: we strive to identify the problems and pain points in our client's workflows and try to come up with our own ideas or evaluate their suggestions. A great tool I’m currently working to implement in my team is <a href="https://www.producttalk.org/2016/08/opportunity-solution-tree/">Opportunity Solution Trees</a>. They help you to connect business goals with customer pains and solutions.</p><p>Another stable source of ideas are our company-wide in-person meetings. We try to hold them at least once a year. It’s an opportunity to talk about the general direction of the company and ways to move forward. All general ideas we discuss are leveraged for the year in strategy decisions, which are used as guidelines to align the entire team. </p><h2 id="localization-as-an-industry">🏛️ Localization as an industry <a class="markdownit-header-anchor" href="#localization-as-an-industry">🔗</a></h2><p><strong>Let's answer the most pressing question. Why is localization so important? </strong></p><p>There are so many reasons why localization is essential that I don’t even know where to start. I feel like companies are starting to understand that localization if done right, can incredibly boost their growth. 🌱 They can address users and customers in their native tongue, eventually creating much better long-term relationships. After all, having loyal customers on board has always been the ultimate goal for every business.</p><p>This focus on growth through localization radically changes the game in the industry. Translators aren’t just crunching tasks; they work closely with product and marketing teams to serve business needs and create impact in the new, promising language markets.</p><p><strong>Have you noticed a difference in how companies approach localization over the last few years? </strong></p><p>Yes! Unfortunately, there are still many companies that don’t understand the complexity that lies behind <a href="/faq/localization/what-is-localization-strategy">a successful localization strategy and execution</a>. 😕 Many of them still think that they can run their project through automated translations, and they’re done. </p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;The most important ideas for us are those who come from customers. However, we don’t simply take orders like a waiter in a restaurant: we strive to identify the pain points in  their workflows&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>What are the main shortfalls for companies that don't use localization services?</strong></p><p>Not every company can afford to have an in-house localization team, especially when they’re just starting with localization or don’t simply possess the resources to create and manage another department. </p><p>Working with traditional <a href="/for/translation-agencies">translation agencies</a> (LSPs) is always demanding on resources. Usually, a lot of back and forth is needed; communicating usually takes time, and you need some people to manage the process anyway. It can take weeks before the product's next iteration can be released. </p><p><a href="/blog/guide-localazy-translation-services">Continuous Localization Services are different</a>. We have tools that can update all required changes automatically. Our professional translators know exactly what to translate, and they complete the average project in a matter of days. Everything can then be automatically deployed to the product, which saves everyone’s time and creates much shorter release cycles. </p><p><strong>How has AI impacted the localization industry? Was machine learning always a core feature of Localazy since the beginning?</strong></p><p>We live in an age where AI is capable of solving incredibly complex problems yet still fails at tasks that are fairly simple for humans. Localization falls into this category. Even though AI isn’t completely reliable for translation - and it won’t be in the near future - it’s still incredibly helpful to reduce the amount of work translators need to do. It can reduce duplicities, pre-fill translations on best effort basis, or even correct or prevent some mistakes easily overlooked by people.</p><p>Companies usually view it as a technology that can save them money. For translators, it’s just another tool in their toolbox that helps them to complete their job more effectively.</p><p>Then we have the end consumers. For them, AI localization is an enabler because it basically breaks language barriers. It would be impossible to have most of the content on the net translated by real humans because of its quantity (think product reviews, comments, forums, and news articles...). </p><p>As for Localazy, we never advertised as an AI startup, although <a href="https://localazy.com/features/pre-translate">some functionalities</a> heavily rely on it. Since the beginning, we have been focused mainly on translation management and automation of the whole process. But we utilize 3rd party AI technologies, as creating our own models from scratch takes a lot of time and resources.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/12/image-30.png" class="kg-image" alt loading="lazy" width="769" height="1024" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-30.png 600w, https://ghost.localazy.com/content/images/2022/12/image-30.png 769w" sizes="(min-width: 720px) 720px"><figcaption>Jan's favorite workplace</figcaption></figure><p><strong>What would you consider are the biggest challenges to stand out as a localization startup at the moment? </strong></p><p>Getting the appropriate funding level to support the key activities in this highly competitive landscape. 💸 📈 We’re going through challenging times, and, as observed in the whole startup ecosystem, valuations are generally lower, and rounds are smaller. Moreover, investors are often more reluctant to close the rounds. As a result, companies are turning to more self-sustainable business models instead of just burning cash. This, unfortunately, widens the gap between well-established localization companies and emerging startups.</p><p><strong>What are some of the hot points to stand out? How did you come up with your unique proposition?</strong></p><p>There are many options you can choose to stand out. The most obvious one is a lower price, but from a business standpoint, I don’t believe it’s a good option. </p><p>The ultimate differentiator is simply getting the job done better than others. However, this leads you to the question: "What is <em>the job</em>?" Every market or niche has a different job for the companies to be done. Focusing on one narrow market lets us stand out more easily, but a single niche market might not be completely viable for building a healthy and sustainable business. </p><p>Other interesting differentiators are usability and convenience. I observe a lot of people who enjoy using simple products because, under the hood, they’re capable of handling some really complex tasks. Product convenience naturally leads me to another point, which is compatibility. Localazy started as a tool compatible with every possible localization format. This also contributed to strengthening the first two propositions. Now, we’re successfully replicating the same proposition with custom plugins and integrations such as the Figma plugin. </p><p>Our unique value is evolving over time and leverages all of the principles I’ve described. The industry is growing, and you must keep up with the changes because one unique proposition might not be that unique a year or two later.</p><p><strong>Is the startup system in which you operate a collaborative one? Have you partnered with other services - and what was the process like?</strong><br><br>From my experience, startups tend to help each other, as they usually share common pains and experiences. We provide localization services, which will always have the potential to add a unique value to every emerging product. Therefore, it’s usually not that hard to find synergy and agree on some sort of partnership.</p><p>We recently started working with <a href="https://fibery.io">Fibery.io</a>, but the topic probably calls for a stand-alone article. We also love the support we get from <a href="https://strapi.io">Strapi</a>, as we find it to be mutually beneficial to each other. We’re solving a <a href="https://strapi.io/blog/strapi-localization-made-easy-with-localazy-plugin">really painful problem</a> for their clients so they can focus on their product instead of localization issues. We identified the opportunity earlier this year and discussed it with the Strapi team. They were all excited about the idea, so we went ahead and built a plugin for them. 👌</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/IMG_3501.JPG" class="kg-image" alt loading="lazy" width="2000" height="2667" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/IMG_3501.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/IMG_3501.JPG 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/12/IMG_3501.JPG 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/12/IMG_3501.JPG 2400w" sizes="(min-width: 720px) 720px"></figure><p><strong>Is there any company within the localization industry or the startup ecosystem that inspires you to go further with your product?</strong></p><p>There are so many companies in the industry and the startup ecosystem that it’s hard to point out some names. I get inspiration from various places, not just from within our environment. It’s also from other people and their experiences. You can find parallels to what we do or might be doing in the future, even in a completely different industry. I take the good bits, write everything down, and later consider if something like that might work in our context. </p><h2 id="what-the-future-holds">👁️ What the future holds <a class="markdownit-header-anchor" href="#what-the-future-holds">🔗</a></h2><p><strong>Technological innovations come up so fast these days. How do you incorporate the newest AI and machine learning features into Localazy’s products?</strong></p><p>As I said earlier, a big part of our product leverages machine translations, which have been one of the areas of enormous tech advancement in recent years. Localization is a large and fractionated industry that is still getting explored by current tech companies and therefore lies unsaturated with ideas. Not every product needs to be AI-powered, though (buzzword alert). The most important thing is putting your customers first and learning about their real problems. You can often find that AI is not an answer to everything and that you can build a useful product more quickly, adding the fancy “AI” capabilities later on.</p><p><strong>Is there any new tech feature you’d like to implement shortly?</strong></p><p>I always like to talk in terms of problems, not features. Implementing features using new exciting technology doesn’t lead anywhere unless you explore the problem in detail and really solve it. In our team, we always try to place many small bets in the form of product features, and we seek to learn as much as possible from people using them. Then we identify the next focus areas based on our learnings.</p><p>One of the bigger challenges we would love to solve next is providing a better context for translations, including communication with other people involved in the project 🗣️ and improving automation capabilities, so people can actually spend less time with our product. Another area of the newest tech we work with is still forming in <a href="http://hub.localazy.com">our hub</a>, but the vision is already big. It should become anyone’s go-to resource for localization data and related questions.</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;Not every product needs to be AI-powered. The most important thing is putting your customers first and learning about their real problems&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>What do you think “the next big thing” in localization will be?</strong></p><p>It’s hard to say cause that’s usually how great entrepreneurs are made. 😁 However, from what I’ve observed, simultaneous translations are an exciting area of localization under heavy research and development. There are already some prototypes and basic working products which can translate into text, but imagine talking to someone on the phone in one language 📲 while your voice is being entirely translated into another language. This could break many existing language barriers and open up the whole world for understanding and collaboration.</p><p><strong>Anything else you’d like to add? </strong>😃</p><p>Feel free to reach out if you’d like to discuss topics regarding product localization and product management. I’m always open to DMs and collaboration.</p><p><strong>Well - you heard Jan! Follow him on </strong><a href="https://www.linkedin.com/in/xbilek18/"><strong>LinkedIn</strong></a><strong> and </strong><a href="https://twitter.com/honzabilek4"><strong>Twitter</strong></a><strong> to chat about localization, SAAS, i18n, and product marketing. And if you want to dig deeper, don't forget to check out </strong><a href="https://localazy.com/blog/author/jan-bilek"><strong>his posts</strong></a><strong>, where he discusses the latest developments added to our platform.</strong></p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Interview-insider.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Figma in Localization: Preview designs in multiple languages]]></title>
            <link>https://localazy.com/blog/figma-series-preview-designs-in-multiple-languages</link>
            <guid isPermaLink="false">figma-series-preview-designs-in-multiple-languages</guid>
            <pubDate>Thu, 16 Apr 2026 14:24:12 GMT</pubDate>
            <description><![CDATA[Using the Localazy Figma plugin is an excellent way of introducing localization earlier in the product life cycle - in the design phase. Learn how to quickly preview and optimize your designs in Figma with Localazy and how it could fit into your workflow in this article.]]></description>
            <content:encoded><![CDATA[<h2 id="figma-plugin-series">📚 Figma plugin series <a class="markdownit-header-anchor" href="#figma-plugin-series">🔗</a></h2><p>This article is part of the Figma plugin localization workflow series that outline proven integration approaches of the Figma plugin in the product's design and development stages. </p><p>The series consists of the following:</p><ul><li>Preview designs in other languages (this article)</li><li><a href="/blog/figma-series-connect-designs-and-source-keys-via-screenshots">Connect designs and translations via screenshots</a></li><li><a href="/blog/figma-series-figma-as-source-of-truth">Make Figma the Source of Truth</a></li><li><a href="/blog/figma-and-code-base-as-independent-sources-of-truth">Make Figma and codebase independent Sources of Truth</a></li></ul><p>Before diving in, check out our <a href="/docs/figma/plugin-introduction">documentation</a> describing the installation and configuration of the Figma plugin, as we will skip this step. Also, take a look at further <a href="/tags/figma">Figma-related articles</a> to find more helpful examples and guides.</p><h2 id="the-use-case">🎈 The Use Case <a class="markdownit-header-anchor" href="#the-use-case">🔗</a></h2><p>Using the Figma plugin as a preview for translations in different languages can be helpful for anyone who's using Figma and is considering or maintaining a multilingual project. </p><p>Knowing that the layout won't break when you introduce languages that tend to have long words, such as German, or those that are written with non-Latin characters (e.g., Japanese) or right-to-left (e.g., Arabic) can save a lot of time redesigning and reworking the content later on. So, in general, this approach is suitable for just about anyone. Whether you are just starting a new project or maintaining an existing one doesn't matter.</p><p>But to make this demonstration more specific, let's imagine that your team is starting a new product, and you know that you'll kick off the MVP in English only, but soon you want to follow with German, Spanish, and Arabic. </p><p>The minimal feature set is established, the designers are in the zone, creating astonishing prototypes, and everybody is keen to begin the development so that you can test your product and ship it as soon as possible. </p><p>Luckily, you remember that you should take a step back and ensure that the design will work in other languages, as localization of your product will be vital in a few months. This is a great time to connect the designs to Localazy and preview them in other languages.</p><h2 id="connecting-to-localazy">🔌 Connecting to Localazy <a class="markdownit-header-anchor" href="#connecting-to-localazy">🔗</a></h2><p>First of all, <a href="/register">set up a new account</a> in Localazy. We're going to create two separate projects. The main one will be connected to our product codebase (via the <a href="/docs/cli">CLI</a>, <a href="/docs/api/introduction">API</a>, or <a href="/integrations">other means</a>) and we will use it later in the series, so now you can ignore it. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/11/image.png" class="kg-image" alt loading="lazy" width="1014" height="680" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image.png 1000w, https://ghost.localazy.com/content/images/2022/11/image.png 1014w" sizes="(min-width: 720px) 720px"><figcaption>Localazy - New Project - Product Codebase</figcaption></figure><p>The second project will serve as a playground for designers, and we will only translate it using a machine translation engine, which is the fastest way and included in the <a href="https://localazy.com/tiers/autopilot">Autopilot subscription</a>. This project won't be connected to our product codebase, only to our Figma designs.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-1.png" class="kg-image" alt loading="lazy" width="1014" height="680" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-1.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-1.png 1014w" sizes="(min-width: 720px) 720px"></figure><h2 id="preview-translations-in-figma">💡 Preview translations in Figma <a class="markdownit-header-anchor" href="#preview-translations-in-figma">🔗</a></h2><h3 id="upload-designs-to-localazy">Upload designs to Localazy <a class="markdownit-header-anchor" href="#upload-designs-to-localazy">🔗</a></h3><p>First of all, open a file of your choice in Figma, initialize the <a href="https://www.figma.com/community/plugin/964257457772706017">Localazy Figma plugin</a> and connect to your target Localazy project.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/merged.png" class="kg-image" alt loading="lazy" width="1300" height="607" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/merged.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/merged.png 1000w, https://ghost.localazy.com/content/images/2022/11/merged.png 1300w" sizes="(min-width: 720px) 720px"></figure><p>Then in the Plugin's settings, I'll check <strong>Use node name as source key</strong> for more readable source keys (instead of Figma's internal numerical IDs) and uncheck <strong>Upload &amp; download the entire file </strong>to only upload text nodes I have currently selected. </p><p>Also, I won't upload screenshots to the playground since no human translator would benefit from them, and it would slow down the upload process unnecessarily. Neither is necessary, but such a configuration makes for a better experience - in my opinion.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-2.png" class="kg-image" alt loading="lazy" width="363" height="609"></figure><p>Select the screen(s) you'd like to upload to the playground, fill in the file name under which the content will be stored in Localazy and select the target file format (<a href="/dictionary/json">JSON</a> is a universal option). And upload.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/12/image-31.png" class="kg-image" alt="Figma Localization: Dating app template in English" loading="lazy" width="1253" height="727" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-31.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-31.png 1000w, https://ghost.localazy.com/content/images/2022/12/image-31.png 1253w" sizes="(min-width: 720px) 720px"><figcaption>Figma Localization: Dating app template in English</figcaption></figure><h3 id="translate-with-mt">Translate with MT <a class="markdownit-header-anchor" href="#translate-with-mt">🔗</a></h3><p>Open Localazy and add German, Spanish, and Arabic. For each language, open the options dropdown and select <strong>Pre-translate with MT</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/Screenshot-2022-11-08-15-05-02.png" class="kg-image" alt loading="lazy" width="1722" height="871" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/Screenshot-2022-11-08-15-05-02.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/Screenshot-2022-11-08-15-05-02.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/Screenshot-2022-11-08-15-05-02.png 1600w, https://ghost.localazy.com/content/images/2022/11/Screenshot-2022-11-08-15-05-02.png 1722w" sizes="(min-width: 720px) 720px"></figure><p>In the next step, feel free to choose your favorite MT engine. Each of them can handle specific scenarios, terms, and tonality differently, and it cannot be said that one is always better than the other. </p><p>I'll go with DeepL for demonstration purposes since their <a href="/dictionary/api">API</a> can generally handle the translation request quite swiftly, and the translation quality is usually satisfactory. </p><p>Make sure to check the option <strong>Approve all translations</strong> so that you can use them immediately without having to review and accept them afterward. Check the other options to ensure that all the keys will be included in the pre-translate operation.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-7.png" class="kg-image" alt loading="lazy" width="652" height="454" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-7.png 600w, https://ghost.localazy.com/content/images/2022/11/image-7.png 652w"></figure><p>It could take a few seconds, but after a few page refreshes, you should see all three languages fully translated.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-8.png" class="kg-image" alt loading="lazy" width="1316" height="386" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-8.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-8.png 1316w" sizes="(min-width: 720px) 720px"></figure><h3 id="preview-in-figma">Preview in Figma <a class="markdownit-header-anchor" href="#preview-in-figma">🔗</a></h3><p>We're ready to preview the design in other languages now. Go back to your Figma file and switch to the <strong>Download </strong>tab in the Localazy Figma plugin. Select the source file and desired language, and select the screen/nodes you've uploaded to Localazy previously.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/12/image-32.png" class="kg-image" alt="Figma Localization: Dating app template translated into German with Localazy" loading="lazy" width="1253" height="727" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-32.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-32.png 1000w, https://ghost.localazy.com/content/images/2022/12/image-32.png 1253w" sizes="(min-width: 720px) 720px"><figcaption>Figma Localization: Dating app template translated into German with Localazy</figcaption></figure><p>Excellent, we have the design translated into German in just a few minutes. And we can also see that some labels are a little too long and almost overflow the container. Yikes! 🙈 Luckily, the development hasn't started yet, and we have plenty of time to account for that in the design phase. Time saved and money not wasted.</p><p>With Arabic, it gets more complicated as this is a right-to-left written language, and some headings are overflowing. The Figma plugin also does not automatically change the text alignment, so you still need to tweak the design manually. But it's definitely much less work than having to translate the complete design as well.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/12/image-33.png" class="kg-image" alt="Figma Localization: Dating app template translated into Arabic with Localazy" loading="lazy" width="1253" height="727" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-33.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/image-33.png 1000w, https://ghost.localazy.com/content/images/2022/12/image-33.png 1253w" sizes="(min-width: 720px) 720px"><figcaption>Figma Localization: Dating app template translated into Arabic with Localazy</figcaption></figure><h2 id="translating-your-actual-product">👨‍💻 Translating your actual product <a class="markdownit-header-anchor" href="#translating-your-actual-product">🔗</a></h2><p>With the design phase done, we are ready to move on to uploading our actual content via available <a href="https://localazy.com/integrations">integrations</a>. </p><p>If you are using a project management platform, you would create a new task, specify what should be developed/achieved, and attach a link to relevant designs. </p><p>The developers would implement the design and create localization keys with the values from the design and choose key names according to their best judgment. From this point onwards, the design would become detached from the localization resources, and the Figma plugin would remain a handy preview tool for designers, which is not a bad thing at all. </p><p>Having developers create new keys is arguably the fastest development option and the design option as well since the designers don't spend extra time thinking about key names and validating that they are uploading the content into the correct project and file. </p><p>The obvious disadvantage is that the content in Figma is detached from what the end users will eventually see and interact with. That makes reiterating older designs especially challenging since the developers either need to look up how they named the content in code or create new keys and resolve the unused localization keys through other means. </p><h2 id="pros-and-cons">⚖️ Pros and cons <a class="markdownit-header-anchor" href="#pros-and-cons">🔗</a></h2><p>Let me present some pros and cons to this approach which you should consider before deciding to go this route with your team.</p><h3 id="pros">➕ Pros <a class="markdownit-header-anchor" href="#pros">🔗</a></h3><ul><li>Developers are the ones defining new keys and adjusting existing ones. This is the fastest approach from the developers' perspective and arguably the fastest approach overall.</li><li>Designers don't need to prepare keys in Figma in any way for developers. They just upload them as they are, translate them via machine engines and preview the designs. This is the fastest way from the designers' perspective as well.</li><li>Nobody needs to validate that everything was uploaded from Figma to Localazy into the correct projects and files. With this approach, there is no localization management overhead.</li></ul><h3 id="cons">➖ Cons <a class="markdownit-header-anchor" href="#cons">🔗</a></h3><ul><li>The Figma designs are detached from the actual localization resources. With time, the discrepancies between older designs and user-facing content will widen.</li><li>Reiterating older designs poses a challenge for developers. They need to either look up the updated keys in the localization resources to avoid leaving behind unused source keys, create new source keys and resolve unused source keys differently or don't bother and pay for unused keys. </li></ul><h2 id="closing-word">✔️ Closing word <a class="markdownit-header-anchor" href="#closing-word">🔗</a></h2><p>I hope this article sheds more light on using the Figma plugin to make your designs more robust. Check more articles from the <a href="#figma-plugin-series">series</a> about common Figma plugin workflows. If you have any questions or comments, leave us a message below.</p><blockquote>The designs used for the demo project are made by <a href="https://www.figma.com/@mnikolitsis">Michail Nikolitsis</a> and available in the <a href="https://www.figma.com/community/file/1189585768652604815">Figma Community</a> under a <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a> license.</blockquote>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Figma-Series-1--2-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: Revolgy, your partner for on-demand cloud services]]></title>
            <link>https://localazy.com/blog/interview-revolgy-partner-for-on-demand-cloud-services</link>
            <guid isPermaLink="false">interview-revolgy-partner-for-on-demand-cloud-services</guid>
            <pubDate>Thu, 23 Feb 2023 14:26:58 GMT</pubDate>
            <description><![CDATA[Completing a successful migration to cloud services like AWS or Google Cloud is not always easy. Revolgy ensures the process is done quickly and protects your data for future localization efforts. Their VP, Jan Sechovec, summarizes it for us in this interview.]]></description>
            <content:encoded><![CDATA[<p>The development of the cloud and cloud services is one of our favorite topics here at Localazy HQ. We all know how a strong and extensive cloud platform can serve startups and support their translation and localization efforts. But for some of them, it's not an uncommon occurrence to need assistance <a href="https://www.revolgy.com/google-workspace">during the migration process</a>, especially if the amount of data and resources is considerable.</p><p>Fortunately, there are products available in the tech market that go the extra mile. Our partner <a href="https://www.revolgy.com/"><strong>Revolgy</strong></a> is a good example. With over two decades of experience in the industry, they've seen it all. Countless organizations have trusted them as their advisors to migrate into cloud structures that suit them best, whether it's Amazon Web Services or Google Cloud. </p><p>And it doesn't end there: as a cloud partner, Revolgy also offers support, management, billing, and security audit services to companies and entrepreneurs alike. Today we get to know <strong><a href="https://www.linkedin.com/in/jansechovec/">Jan Sechovec</a></strong>, the Product VP at Revolgy, who summarizes for us all they have to offer and explains why the gaming industry is being one of the biggest cloud adopters.</p><h2 id="building-revolgy">🔧 Building Revolgy <a class="markdownit-header-anchor" href="#building-revolgy">🔗</a></h2><p><strong>Hey, Jan! Nice to have you here. So can you explain to us what Revolgy does?</strong></p><p>Hello! In a nutshell, we make the cloud work for all businesses. We provide on-demand cloud services, such as migrations to the cloud (<a href="https://www.revolgy.com/services/cloud-platform-google-cloud">Google Cloud</a> and <a href="https://www.revolgy.com/services/cloud-platform-aws">AWS</a>), infrastructure reviews, billing optimization, <a href="https://www.revolgy.com/google-workspace">Google Workspace implementation</a> with change management, and very popular managed services: cloud operations and incident management. </p><p><strong>What is your role within the company?</strong></p><p>My role is to find, validate and implement products with a strong value for our customers. I create the Value Proposition part of our business model. Recently I've been focusing on the tech industry: fintech, greentech, gametech... Especially in the vertical of the video games industry, we see huge movements towards cloud adoption in both gameplay and game development. </p><p>We all started on computer games and arcades in the 80s, and as we are all players in our hearts, we love to help great games to exist. Modern massive multiplayer online games cannot exist without the power and scale of the cloud.  And we are here to support this movement. So, what do I do? I move game studios into the cloud. 🕹️ ➡️ ☁️</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/Miroslav-Vlas-k---Jakub-Jan-Ku-era.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/Miroslav-Vlas-k---Jakub-Jan-Ku-era.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/Miroslav-Vlas-k---Jakub-Jan-Ku-era.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/12/Miroslav-Vlas-k---Jakub-Jan-Ku-era.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/12/Miroslav-Vlas-k---Jakub-Jan-Ku-era.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p><strong>You started out as a military professional. How did you end up in this industry?</strong></p><p>Yes, I used to be a soldier in the Signal corps for more than 15 years. I created the global data network of the Czech army and took the technology in that particular era to its edge. After a 4-year mission in NATO, I left with honors and started my own software development company. </p><p>In strange circumstances, I ended up on the project in Ceska Sporitelna (a Czech bank) and got hired. I stayed in the corporate world for another 12 years. We built the first Banking API in the world, an homomorphic encryption scheme for the bank, and implemented mobile payment in the region first, far before Apple and Google Pay. </p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;We're seeing a huge movement towards cloud adoption<br>
in both gameplay and game development&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>That's quite impressive. Why do you enjoy doing what you do?</strong></p><p>I really enjoy making lives easier. And because I’m in the technology business, I focus on helping companies to get the most out of recent and future advances. I think outside of the box while planning new stacks. 😄 I really love to see that customers are running successful businesses because of the ubiquitous computing power.</p><p><strong>Some personal interests you would like to share? :)</strong></p><p>Besides loving my wife, I like to program computers and write code to solve interesting problems. And I also enjoy driving cars on race circuits, analyzing race data, and tuning cars and engines for performance and endurance. 🚗</p><h2 id="optimizing-cloud-use">💻 📈 Optimizing cloud use <a class="markdownit-header-anchor" href="#optimizing-cloud-use">🔗</a></h2><p><strong>Let's cut to the chase now. What is the most common use case you solve?</strong></p><p>Digital transformation for cloud-ready customers and scaling and growing issues for startups and digital natives. Cloud-ready customers are traditional companies that are exploring global or cross-border markets and have an infrastructure that is not ready for such operations (for instance, eCommerce marketplaces or traditional retail). In the case of digital natives, we usually deal with startups or scale-ups that need re-platforming, billing optimization for cloud usage, or managed services.</p><p>We also have a very strong reputation in the global gaming industry 🎮 because we developed a solution for remote game development in the cloud that solves security and computing issues for gaming and animation studios.</p><p><strong>Who are your customers in general? Any you would like to mention aside from our mutual client </strong>🚴<strong> <a href="https://rouvy.com/">Rouvy</a>? </strong></p><p>Mainly digital native companies and cloud-ready businesses with growth or a global expansion strategy. Some of our best-known customers are 🚖 <a href="https://bolt.eu">Bolt</a>, 💸 <a href="https://wise.com">Wise</a> (previously known as TransferWise), 👾 <a href="https://outfit7.com">Outfit7</a> (creators of the massively popular mobile game Talking Tom), and 🤖 <a href="https://www.uipath.com/">UiPath</a>.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/-zrukpiGHcU" title="Revolgy + Rouvy: Customer Success Story" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><blockquote><strong>Recommended reading:</strong><br><a href="/blog/case-study-rouvy-localization">Case Study: 🚴 ROUVY's Tour de localization with Localazy</a></blockquote><p><strong>What is your vision? And what do you think – how will your industry look like about 10 years from now?</strong></p><p>There is definitely a quantum future in front of us. With <a href="https://www.nature.com/articles/d41586-022-03088-7">recent Nobel prize winners</a> in the field of quantum entanglement and progress with quantum computers, there will be a massive change not only in computing power but also in the way computers communicate and exchange information. </p><p>Humankind is very close to achieving no latency communication, for example. This will have a massive impact on every industry. Well, it will not be here in 10 years probably, but it will all start with massive cloud adoption.</p><h2 id="25-years-in-the-cloud-business">☁️ 25 years in the cloud business <a class="markdownit-header-anchor" href="#25-years-in-the-cloud-business">🔗</a></h2><p><strong>What is Revolgy's unique value proposition that sets it apart from its competitors? In which fields are you innovating?</strong></p><p>We've been in the business for more than 25 years, and that means we know how the industry changes, which specific problems companies have now, and which will come up in a few years because we have seen it many times. </p><p>We are also <a href="https://www.revolgy.com/about">premium partners of Google Cloud and AWS</a>. This means that we can help with special offers, customized programs, and pricing. 👌 Many competitors are only focused on customer acquisition and don't care about their business challenges over a long period of time. We are different. </p><p>One of our DNA values is “We want to know you better to serve you better”. It means we regularly meet with our customers and ask about their business issues, inquire about how they use cloud solutions and provide best practices to help them grow.</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;Humankind is very close to achieving no latency communication, and it will all start with massive cloud adoption&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>What are the biggest current risks &amp; challenges for cloud-based businesses nowadays?</strong></p><p>Many companies are dealing with security issues, reduced visibility, and control of infrastructure costs and readiness for attacks, which happen more and more often. We also see that there is a lack of expertise, and a lot of challenges are caused by that.</p><p><strong>What are the next steps for Revolgy?</strong></p><p>We strive for a stable, scalable, and sustainable company, not only from the business side but also for our employees. With many regions and markets in mind, we aspire for a top position in cloud-related topics building durable relationships with cloud ambassadors along the way.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/12/Revolgy-team-2021.JPG" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/Revolgy-team-2021.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2022/12/Revolgy-team-2021.JPG 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/12/Revolgy-team-2021.JPG 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/12/Revolgy-team-2021.JPG 2400w" sizes="(min-width: 720px) 720px"><figcaption>The Revolgy team in full.&nbsp;</figcaption></figure><h2 id="favorite-services-and-localization-preferences">👍 Favorite services & localization preferences <a class="markdownit-header-anchor" href="#favorite-services-and-localization-preferences">🔗</a></h2><p><strong>Would you like to highlight some other services or products you really like to use on your own, either in your personal life or at Revolgy as a whole?</strong></p><p>Revolgy is a heavy user of the <a href="https://workspace.google.com/">Google Workspace</a> suite and <a href="https://www.notion.so/">Notion</a>.</p><p><strong>Your website is available in Czech and English. How do you solve localization today?</strong></p><p>We cover dozens of markets worldwide, so we have sales representatives in many countries 🌐 with local language skills, which are very useful for some negotiations. Because we don't have a technical support team for every market, we use English as the main company language.</p><p><strong>Do you plan to change your approach to localization sometime in the future?</strong></p><p>Maybe in some automated way, but the English language is pretty common in the IT industry.</p><p><strong>Is there something else you would like to say?</strong></p><p>After this interview, I’d ask you to do one thing. Open AWS or GCP's website and go through the services that are there. Try to imagine what you can achieve if you combine them together 🤝 in one meaningful and functional way. Close it. Open it in half a year. There will be much more! And do not allow this massive innovation potential to flow without your stake in it. Use technologies, do it smartly, and make money!</p><p><strong>Awesome tip! Thank you so much for sharing your product with us, Jan. Make sure to follow Revolgy on </strong><a href="https://twitter.com/revolgy"><strong>Twitter</strong></a><strong>, </strong><a href="https://www.linkedin.com/company/revolgy/"><strong>LinkedIn</strong></a><strong>, and </strong><a href="https://www.facebook.com/revolgy"><strong>Facebook</strong></a><strong> to stay up to date with their latest launches. </strong></p><p><strong>And if you're interested in trying the product yourself, you can contact Revolgy directly </strong><a href="https://www.revolgy.com/contact-us"><strong>here</strong></a><strong>.</strong></p><h2></h2>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Interview-Revolgy.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to Translate Idioms the Right Way?]]></title>
            <link>https://localazy.com/blog/how-to-translate-idioms-the-right-way</link>
            <guid isPermaLink="false">how-to-translate-idioms-the-right-way</guid>
            <pubDate>Thu, 18 May 2023 09:21:19 GMT</pubDate>
            <description><![CDATA[Learn why idioms are difficult to translate correctly, how to identify them in the text, and figure out their meaning to come up with the best translation in this article.]]></description>
            <content:encoded><![CDATA[<p>Translators know very well that idioms aren't a piece of cake to translate. 🧁 Easy-to-translate idioms are a drop in the bucket, and even the most skilled professionals can find it hard to translate the majority of them because of their metaphoric meaning. 🧙‍♂️</p><p>Let alone <a href="/dictionary/machine-translation">machine translation</a> engines that will attempt to embarrassingly translate the idioms word-for-word. 📃 That happens because there are some culprits to translating idioms literally, including:</p><ul><li>😵 <strong>Loss of meaning: </strong>When an idiom is <a href="https://localazy.com/blog/stop-making-7-software-localization-mistakes">translated literally</a>, it doesn't convey the intended meaning. It classifies as a bad translation.</li><li>💭 <strong>Loss of imagery: </strong>Idioms are all about conjuring up comparative imagery in your mind. Translating that literally completely messes up the idiom's meaning.</li><li>🔨 <strong>Loss of usefulness: </strong>Translating an idiom literally rips off its intended use and distorts the meaning of the text. The idiom won't be of any use in such a form.</li></ul><p>A literal translation of idioms is risky, especially when translating complex texts that are too technical or academic. 👨‍🏫 Why would you want to add more fuel to the fire by throwing a vaguely translated idiom? This said it's about time we learn how to properly translate idioms so that you're always on the ball when asked to translate them. ⛹️</p><h2 id="how-to-translate-idioms-properly">🤔 How to Translate Idioms Properly? <a class="markdownit-header-anchor" href="#how-to-translate-idioms-properly">🔗</a></h2><p>Don't fret. Idioms can be challenging but not impossible to tackle. ✊ All you have to do is sit down and follow a step-by-step process that helps you beautifully adapt the idioms into your target language. 🏁 In the end, what's the worst thing they can do to you? They're just words. You can always make it even if you <a href="https://blog.ted.com/40-idioms-that-cant-be-translated-literally/#:~:text=%E2%80%9CI%20only%20understand%20the%20train%20station.%E2%80%9D">only understand the train station</a>. 🚂</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh6.googleusercontent.com/3MvT57mqBdVaNJJTHXM1L5v8Nli5JQtnWasPaa56w5nMy4_ad1uD9JcREcKPxFSEinww2gM6f32zHcHuZ06oZT47wkZsx4zEVSWFcVg8WaWdQ0iIYcGmRPECKI9DDp4RQC3vYcDhFa9Vj5DnnTGILtJTCvWjISffdJ-bNucd_RXKDvwpAz_Z0aT-AKUHRQ" class="kg-image" alt loading="lazy"><figcaption><em>Image Source: </em><a href="https://media.giphy.com/media/xT5LMXx0Qh9uj2WsDK/giphy.gif"><em>Giphy</em></a></figcaption></figure><h3 id="step-1-identify-the-used-idioms">Step 1: Identify the Used Idioms <a class="markdownit-header-anchor" href="#step-1-identify-the-used-idioms">🔗</a></h3><p>Scroll or flip through your materials and mark those daunting idioms. How to spot them? 🧐 Their first traits are always remarkable imagery that makes you secretly chuckle before bursting into an <em>"Aha"</em> moment and a witty comparison. </p><p>Idioms are common in opinion pieces, fiction, news, and whenever clever writers are hired to write content. Basically, not only fiction writers make use of idioms.</p><p>Look at this ad campaign by Scholl and how they've used the idiom: "<em>You pay through the nose,</em>" which means paying an unfairly high price. 💰 At the same time, the idiom can be taken literally as having to endure a bad smell. 👃</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh5.googleusercontent.com/1h3yFj6HkDRR40GiM7k5DI7cLLN26yxttQxRJgXS3Wv98-7dnZg_lpHBcnxIHBwF_poWImvfACo1aMI1SfUxg14t89a-LSIh-D3GsdG1L6pzB_29Y4-rIVDzSIpIOHjno6px7IM4k2cNte0P1g2VvRMwYMO9zOLF0lpX_OWPMJTnJQ1y1v_sNKwauL33hQ" class="kg-image" alt loading="lazy"><figcaption><em>Image Source: </em><a href="https://www.coroflot.com/jim_saunders/print">Print by Jim Saunders at Coroflot.com</a></figcaption></figure><p>Marketing and advertising are fueled by strong imagery, and this idiom has nailed it. The point is that not only can you find idioms in other works besides fiction, but you find some excellent uses that leave you speechless.</p><p>But identifying the idioms in a text remains challenging. Without knowing the specific meaning of the idiom you run into, it will be hard to classify it as an idiom. 🤔 However, idioms have their own characterizing elements to help you spot them.</p><p>At first, they resemble metaphors unrelated to the text's topic. 🤓 When your knowledge of the source language tells you that the sentence you ran into doesn't make much sense literally, chances are that you've stumbled into an idiom. </p><p>For example, when you read in Wall Street Journal that "<a href="https://www.wsj.com/articles/BL-269B-4009">YouTube Stars Keep Facebook at Arm's Length For Now</a>," that doesn't mean that they are keeping Facebook physically at arm's length but rather that they are distancing from its use. 😉</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh5.googleusercontent.com/hNIMc-jPYhbMjSPoObxYz2OapwVvdXP7oeAxq2nrb5fcYxm199wVc6tCkyuWQ2jWn2m309HC2wm6B6wWbv4asKJQ1lG_yQWuoDwMps3zptCJzA6K3XIDiXT3LMkESQtempOiE09_WRDGdouTvBjJiR09BDSh3CWRmxt0Sb4WdG0hBUJTDe5xPWYXWyPkbQ" class="kg-image" alt loading="lazy"><figcaption><em>Image Source: </em><a href="https://www.invisionapp.com/inside-design/ux-writing-for-designers/"><em>InVision App</em></a></figcaption></figure><p>Or, when the empty box of unread messages on Slack displays a message that says to you, <em>"the world is your oyster,"</em> 🦪 it doesn't mean that the world magically transformed into an oyster. What it actually <a href="https://www.oxfordlearnersdictionaries.com/definition/english/oyster#world_idmg_46">means</a> is that there are no limits to what you can do with your potential. 🚀</p><h3 id="step-2-figure-out-the-meaning-of-the-idiom-in-your-context">Step 2: Figure Out the Meaning of the Idiom in Your Context <a class="markdownit-header-anchor" href="#step-2-figure-out-the-meaning-of-the-idiom-in-your-context">🔗</a></h3><p>Defining the idiom means that half of the translation task is already made. The beast is almost defeated! Now, we have to wrap our heads around it for an accurate translation. Considering idioms are tough nuts to crack, don't get discouraged if you're confused. </p><p>To understand the idiom's meaning, you can search online or ask a native speaker. There are a ton of resources on this matter, such as <a href="https://www.oxfordreference.com/view/10.1093/acref/9780198845621.001.0001/acref-9780198845621">The Oxford Dictionary of Idioms</a>, <a href="https://idioms.thefreedictionary.com/">The Free Dictionary by Farlex</a>, the <a href="https://dictionary.cambridge.org/">Cambridge Dictionary</a>, or simply Google. 😃 Here, we are talking about English idioms because for idioms in other languages, you might need to search for other official or unofficial sources and dictionaries. 📚</p><p>At Localazy, we're inviting contributors from all over the world to help us build a <a href="https://localazy.com/p/translate-idioms">repository of idioms</a> translated into multiple languages. Here, you'll find not only translations for idioms but their adoption into your native language.</p><h3 id="step-3-translate-the-idiom-as-accurately-as-possible">Step 3: Translate the Idiom as Accurately as Possible <a class="markdownit-header-anchor" href="#step-3-translate-the-idiom-as-accurately-as-possible">🔗</a></h3><p>Now go through these three steps to find your idiom's fairest and most accurate translation. Each stage aims to obtain the best translation possible in terms of structure, word choice, imagery, and meaning. ✨ But often, we can't have them all in the target language, so we'll have to compromise on some features we mentioned. 👨‍🏫</p><p>Here are three approaches to idiom translations from the hardest to the easiest:</p><h4 id="find-an-equivalent-idiom-with-the-same-words-and-meaning">Find an Equivalent Idiom With the Same Words and Meaning</h4><p>This is the ideal solution. ✨ For some idioms, you might be able to find the ideal idiom that suits your translation, and this includes a phrase that matches in structure and often in the imagery that it conjures up. 👻</p><p>Even though the probability for an idiom to be found in another language with the same words and structure is very low, they're not inexistent. 👉 For example, the idiom <em>"that's a child's game" </em>in English has a similar counterpart in French: <em>c'est un jeu d'enfant</em>. ⛹️</p><h4 id="find-an-equivalent-idiom-with-the-same-meaning">Find an Equivalent Idiom With the Same Meaning</h4><p>There's still hope when the first approach seems impossible, and there is no equivalent idiom with the same words and structure. The second most ideal approach for translating idioms is to find an adequate idiom in the target language that has the same meaning as your idiom in the source language but uses different words. 📜</p><p>This approach gives you more options since you're not restricted to the word choice but only the structure. You'd be surprised at the similarity of idioms you'll find across languages around the world. Plenty of similar idioms differ from each other only in a single word used, making translation increasingly easy. 😃</p><p>We all know the common idiom: <em>it's raining cats and dogs</em>. 🐱🐶 Well, in Norway, they have a pretty similar idiom: <em>it's raining witches</em> (<em>det regner trollkjerringer</em>). 🧹 In Germany, they say: <em>it's raining shoemakers (Es regnet Schusterjungen),</em> which is equally flabbergasting! 👞</p><h4 id="simply-convey-the-meaning">Simply Convey the Meaning</h4><p>The truth is that, practically, you'll struggle to find matching counterparts for your idioms. Not all of them will have twins in other languages. 👬 To the point where it becomes impossible to find an equivalent, you have to give up the ghost of that approach and merely attempt to describe the meaning of it thoroughly and clearly. ⚪</p><p>As long as you can accomplish this, your <a href="https://localazy.com/blog/intro-localazy-translators-perspective">job as a translator</a> is done, even if you don't replace an idiom with an idiom. 🔄 In the end, clarity is our main goal when translating and localizing content. Loyalty to literal translation shouldn't come at the expense of qualitative and crisp content. 💻</p><h2 id="final-thoughts">✔️ Final Thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>Here, we have to tie up the article, hoping to have inspired you in your journey as a translator. Translating idioms is challenging and sometimes a nerve-wracking experience but also a necessary battle to win. </p><p>Idioms enrich content and speak to the reader in its vernacular version of the native language. But if you share a different love for idioms, consider<a href="https://localazy.com/p/translate-idioms"> joining our open-source project</a> to localize all the world's idioms. 🗺️</p><h3></h3>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Translating-idioms.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: Invantive, your virtual database for company overviews]]></title>
            <link>https://localazy.com/blog/interview-invantive-virtual-database-company-overviews</link>
            <guid isPermaLink="false">interview-invantive-virtual-database-company-overviews</guid>
            <pubDate>Thu, 21 Aug 2025 13:29:11 GMT</pubDate>
            <description><![CDATA["Localazy made integration easy, as we could use our own SQL engine out-of-the-box. It only took us two days to complete it!" says Invantive's Managing Director, Guido Leenders. Learn more about their SQL-based product and the future of data management in this interview.]]></description>
            <content:encoded><![CDATA[<p>There's no doubt that cloud services have been a huge revolution since their creation in the early stages of the 21st century. Not only do they save us storage space and keep our data accessible everywhere, but they are also one of the standardized solutions for physical and remote teams all over the world. </p><p>However, the growing amount of cloud services in the market can sometimes overwhelm us, and that's where products like <a href="https://cloud.invantive.com/">Invantive Cloud</a>, a high-performance European SQL engine that enables data exchange between dozens of platforms, can come in handy to visualize and access the information stored by companies. Today we meet <a href="https://www.linkedin.com/in/guidoleenders/"><strong>Guido Leenders</strong></a><strong>,  Managing Director at Invantive,</strong> to take an in-depth look into these types of services and discuss how the cloud is evolving. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/11/image-59.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-59.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-59.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-59.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>Invantive Cloud</figcaption></figure><h2 id="data-access-a-piece-of-cake">🍰 Data access: a piece of cake <a class="markdownit-header-anchor" href="#data-access-a-piece-of-cake">🔗</a></h2><p><strong>Hi, Guido! Nice to meet you. Can you introduce us to Invantive?</strong></p><p>Hello! 👋 Well, Invantive enables data exchange between 75+ cloud platforms and data sources. Our goal is to provide a virtual database spanning all company's data, and this has various business purposes. The most popular in volume is just downloading data 📥 for reporting uses or further processing in a data warehouse. Most new users use <a href="https://powerbi.microsoft.com/">Power BI</a>, but small groups run <a href="https://www.tableau.com/">Tableau</a>, <a href="https://www.qlik.com/">Qlik</a>, <a href="https://support.microsoft.com/en-us/office/about-power-query-in-excel-7104fbee-9e62-4cb9-a02e-5bfb1a6c536a">Power Query</a> for Excel, and <a href="https://azure.microsoft.com/">Azure Data Factory</a>.‌‌ </p><p>Less popular (but more business-critical) is synchronizing data 🔄 between systems. Think of scenarios like informing a warehouse management system about orders to be picked from an ERP system and vice versa: informing of completion. But also scenarios in which, say, 5 systems are synchronized for customer name/address and purchase behavior are quite common in this group.‌‌ </p><p><strong>What are the benefits of implementing this system into the business chain?</strong></p><p>Typically, less labor is needed, as the output is higher per human hour. Turnaround times are faster as well, being it for logistics or onboarding on SaaS software.‌‌ </p><p><strong>Sounds pretty convenient! So, what are your customers looking for when they approach you?</strong></p><p>We usually deal with entrepreneurs, accounting firms, and IT consultants. Most companies find accessing and maintaining data stored in cloud platforms troublesome. Almost all subscribers have at least one cloud platform in use, typically an accounting or sales product. The Invantive products all share the use of Invantive's SQL, which is, put quite simply, just a strong and fast way to access data stored anywhere globally using a common language: SQL. It runs online but also on-premises (Windows, Mac, Linux).</p><h2 id="application-and-learning-curve">🔎 Application and learning curve <a class="markdownit-header-anchor" href="#application-and-learning-curve">🔗</a></h2><p><strong>‌‌Let’s dive into the platforms you integrate. There are more than 70!</strong></p><p>Yes! You can see an overview <a href="https://cloud.invantive.com/power-bi-connectors">here</a>. The most popular are <a href="https://www.exact.com/">Exact Online</a> and other European accounting packages like <a href="https://login.twinfield.com/">Twinfield</a>, commercial packages like <a href="https://www.activecampaign.com">ActiveCampaign</a>, and project management packages like <a href="https://www.simplicate.com/">Simplicate</a> or <a href="https://www.teamleader.eu/">Teamleader</a>. Our focus is on European products, as our main competitor, CData, seems to be focusing on the US.</p><p><strong>‌‌Which ones were the first you implemented and why?‌‌</strong></p><p><a href="https://www.youtube.com/watch?v=XFLLdKXtPYw">Exact Online</a>. It was a coincidence. When we started adding the SQL engine, we needed some cloud platform to connect to and test with, and Exact Online just happened to be present. In hindsight, it was actually an incredibly bad choice since their target audience was a lot smaller in terms of yearly revenues than our focus group, but it just happened to be that their target audience grew over the years grew over the years in typical yearly revenues to meet our focus.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/11/cloud-ui-en-2.png" class="kg-image" alt loading="lazy" width="1035" height="863" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/cloud-ui-en-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/cloud-ui-en-2.png 1000w, https://ghost.localazy.com/content/images/2022/11/cloud-ui-en-2.png 1035w" sizes="(min-width: 720px) 720px"><figcaption>Invantive supports dozens of platforms that can be easily set up for optimal data management.</figcaption></figure><p><strong>‌‌One of the advantages of your product is that no extra software is needed to collect data. Can you elaborate on this a little bit?</strong></p><p>‌‌Most users prefer Invantive Cloud, which is our online version. Most competitors in the market of Power BI require custom connectors to be installed on-premises and installing a gateway. This is sensitive to errors, expensive with today’s energy prices, and labor-intensive. </p><p>Other competitors don’t offer real-time data: they copy data into a SQL Server database. Invantive Cloud combines real-time data with the most simple onboarding and setup but still provides 10x more as many tables as competitors. This combination seems to work commercially.‌‌</p><p><strong>How’s the learning curve with Invantive? Can people with no previous data education be able to understand and use your tools?‌‌</strong></p><p>Unfortunately, no. 😕 Invantive Cloud requires some understanding of your business and the data it processes. For less data-oriented users, there is either an extensive partner channel or a few easy online products that use the same Invantive SQL engine, which provides shrink-wrapped prepared business functions.‌‌</p><p><strong>‌‌How’s the pricing structure? What can you do with a free plan?</strong></p><p>‌‌Most users are in the range of 3-150 €M for their yearly group revenues. They run the <a href="https://cloud.invantive.com/openarch#pricingAnchor">Invantive Office for Entrepreneurs</a> plan (€59/month). It is a mostly fixed fee, allowing access to up to 100 different cloud platforms and accessibility from multiple products. Accountants have a similar structure, but large accountants have a more expensive form: Premium Finance (€499/month) for at most 500 companies. </p><p>There are also free plans available. For instance, ANBI (nonprofit) organizations get 4 years for free. In our case, they are typically large health foundations. This also applies to small companies with a yearly revenue lower than 3 €M and some limitations in the quantity of data being processed. We hope to help them by making the first digital transformation steps free. ✌️</p><h2 id="keeping-solutions-flexible">👐 Keeping solutions flexible <a class="markdownit-header-anchor" href="#keeping-solutions-flexible">🔗</a></h2><p><strong>What does success look like for your company?</strong></p><p>Authorities considering our SQL-engine world-class.‌‌</p><p><strong>What are the biggest risks &amp; challenges to achieving this?</strong></p><p>To be honest, our advantages can be hard to understand for most business professionals.‌‌ Some are not yet aware of the benefits of a data-centered approach. They are very apt to solve issues in their own business and with their own customers but find it hard to grasp the actual problems and solutions for data at their company. </p><p>‌‌There are various approaches to solve this:</p><ul><li>Innovating yourself 📈</li><li>Getting something shrink-wrapped 🎁</li><li>Choosing a flexible solution 🌀</li></ul><p>Our vision aligns with the third option. We want to provide something flexible since we think that companies must be able to adapt to <em>changing</em> circumstances. Using some shrink-wrapped package can create industrial inertia if you're frustrated at the outcome but are not able to invest in a replacement. </p><p>So one of our advantages is that it is unthinkable that a company outgrows the Invantive products due to their flexible and extensive nature, even when revenues grow by a factor of 10 or the business moves to a different industry.‌‌</p><p>Another advantage is that our focus is on providing this flexibility using standard software, requiring little to no consulting to solve issues. Many competitors focus on providing a small cheap shrink-wrapped solution that typically requires a lot of consulting once deployed seriously and involves a consulting lock-in. We instead focus on providing a strong standard product that can solve most relevant business issues within one hour. </p><p><strong>Do you think the drive for entrepreneurship is something people are either born with or not, or is it something that can be taught?</strong></p><p>Both nature and nurture.‌‌ For me, it was actually never a question that popped up. 🤔 It just came naturally. I am not a tough businessman focused all on money: running a business helps me to help other people and support changes in society to strengthen it as a safe space for our children.</p><p><strong>What do you think – how will your industry look about 10 years from now? What challenges do you anticipate?</strong></p><p>It will be a more complicated landscape. Data integration will become more complex, despite more tools becoming available. There will be a shift from technical issues (“how do I connect these”) to functional (“what are the conceptual differences”). </p><p>This will make it more human: you'll need to be able to understand a business before doing some work. There will also probably be new technical challenges in areas such as security and IoT, but I don’t have a clear picture of those.‌‌</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/12/image-6.png" class="kg-image" alt loading="lazy" width="936" height="943" srcset="https://ghost.localazy.com/content/images/size/w600/2022/12/image-6.png 600w, https://ghost.localazy.com/content/images/2022/12/image-6.png 936w" sizes="(min-width: 720px) 720px"></figure><p><strong>What do you predict will be the biggest upgrades for cloud solutions?</strong></p><p>Industrial inertia and slowly-changing requirements will keep most things as they are. I am a little bit worried about the ongoing reduced focus on labor productivity, at least in the Netherlands. Being known for cheap labor and its products in a high-tech and rich country is quite stupid. </p><p>Most innovations will come from other countries; Germany is still in a great position and has a more structured approach, but further away, countries that invest in education 📚, the ecosystem ♻️ and offer a cheaper cost of life 💸 will probably be leading the next wave in cloud solutions. The areas where I expect the most improvements are AI and integrations between the cloud and the real world for the production of basic products like food, energy, and security.‌‌</p><p><strong>Do you think the world is gonna be even more data-driven in a decade? What role are companies like yours going to be playing in that?</strong></p><p>Yes. The current trend of implementing more software to reduce human dependence will continue. We are happy to be somewhere in the eye of that storm, but most changes will probably be more of the same: faster processing, reduced lead times, and more connection combinations.‌‌ </p><p>Risks and benefits make me a little sad. Our company was involved in the banking and real estate industry with software for processing financial data before and after the last crash. The risks of just a small glitch became apparent but seem to have been forgotten without all too many new controls in place. For data-driven societies, the situation is similar to the financial industry. A lot of dependencies (banks, for instance, have enormous obligations back and forth by far exceeding their balance total) introduce risks of various kinds, with little to no oversight or supervising authorities. So we will probably see some large failures in the future from which we will learn and grow slowly. </p><p>There is probably little to do against it other than bringing awareness, either by talk or negative events. My favorite article on such risks is <a href="https://www.researchgate.net/publication/254734365_The_Dragons_of_Inaction_Psychological_Barriers_That_Limit_Climate_Change_Mitigation_and_Adaptation">The Dragons of Inaction</a>, as it seems to summarize human nature and expectations. And I am happy to see very smart people like an old university friend being on a personal mission to work and invest heavily in the future of securing AI 💪 instead of just letting the market get a grip on it.‌‌</p><blockquote>🎙️ Securing and certifying your business is more than essential. <a href="https://localazy.com/blog/s01-ep-02-bridging-the-gap-podcast">Listen to this conversation</a> our CEO, <a href="https://localazy.com/blog/author/vaclav-hodek/"><strong>Václav Hodek</strong></a><strong> </strong>had with <a href="https://www.linkedin.com/in/ferryharis/"><strong>Ferry Haris</strong></a> on the topic of getting ISO certified</blockquote><p><strong>What are the next steps and future plans for Invantive?</strong></p><p>Extend our number of drivers and our number of data integration extensions.‌‌ By adding more drivers, we can help an increasingly larger group of users since most companies have some software cloud solution designed for a geographical or industrial niche.‌‌ </p><p>Data integration is becoming more customary, but the original SQL standard does not provide a lot of standard features for it. Given the expected market needs and a lead time of several years, we are extending our own SQL language with new features to reduce the amount of labor needed to achieve data integration and increase the quality of the actual process.‌‌</p><h2 id="choosing-localazy">💬 Choosing Localazy <a class="markdownit-header-anchor" href="#choosing-localazy">🔗</a></h2><p><strong>Would you like to highlight some services or products you really like to use on your own?</strong></p><p>I use Localazy, ActiveCampaign, <a href="https://crisp.chat/">Crisp</a>, and <a href="https://www.discourse.org">Discourse</a> daily.</p><p><strong>What is your motivation for localization? Why did you choose Localazy?</strong></p><p>We are located in Western Europe, where many business professionals still have difficulty grasping the meaning of English texts. We thought Localazy had a great API and fast turnaround times. Before that, we had mostly resorted to <a href="/blog/top-10-cat-computer-assisted-translation-tools-to-try-as-translator#omegat-cat">OmegaT</a> using git/svn.</p><p><strong>How did you find us, and how was the integration process?</strong></p><p>Via Google! 🤓 Just searched around and tried some competitors. Localazy made integration easy, as we could use our own SQL engine out-of-the-box. It only took two days. The hardest part was the rate limits and key limits, given the size of our platform, but we made it work.</p><p><strong>What was your "aha moment"?</strong></p><p>Discovering that adding a new language and getting the first results takes only a few days, instead of hunting down people + money, instructing them, etc.‌‌</p><p><strong>What is the workflow now? What are you translating?</strong></p><p>Our dev creates resources. Then we load them to Localazy and translate them using TM. Unfinished parts are done externally using DeepL or Google Translate, but these sections have been decreasing over time.</p><p><strong>What is your favorite feature of Localazy?</strong></p><p>I really like the UI. 👩‍💻 And the API is the most valuable part for us.</p><p><strong>Do you have people dedicated to localization in-house? Do you have experience with Localazy Translation Services?</strong></p><p>No, i18n is a sidejob for us. As for the translation services: yes, we order professional translations from Localazy regularly, and we never had remarks from our customers, so we must be doing something right!</p><p><strong>I am happy to hear that you are satisfied with the services. Finally, what is your experience with Localazy's support?</strong></p><p>Good. Short turnaround times. Localazy has a comparatively small team with knowledge of their current state. Innovation means bugs are sometimes getting released, but they’re typically fixed quickly and without long-lasting issues. It matches our company culture in the support aspect.</p><p><strong>Thank you for your time, Guido! We hope that you keep using and enjoying Localazy over at Invantive HQ! </strong>😊</p><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog, and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Localazy-Interview-Invantive.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 10 Strapi plugins to try in your next project]]></title>
            <link>https://localazy.com/blog/top-10-strapi-plugins</link>
            <guid isPermaLink="false">top-10-strapi-plugins</guid>
            <pubDate>Wed, 14 Dec 2022 22:53:48 GMT</pubDate>
            <description><![CDATA[Are you looking for i18n capabilities, better SEO management, or more efficient development methods for your next Strapi project? Find out what are the top 10 Strapi plugins you should try.]]></description>
            <content:encoded><![CDATA[<h2 id="what-is-strapi">🤔 What is Strapi? <a class="markdownit-header-anchor" href="#what-is-strapi">🔗</a></h2><p>Strapi is a leading open-source headless content management system (CMS). It is entirely customizable, built for developers, and 100% JavaScript. Strapi allows you to build your application faster as its API is self-hosted, customizable, and performant.</p><h2 id="strapi-plugins">💜 Strapi Plugins <a class="markdownit-header-anchor" href="#strapi-plugins">🔗</a></h2><p>Strapi builds and maintains plugins to increase the functionality of its base applications. Strapi plugins were created to effortlessly add unique features and power up your Strapi app with market-leading software. They are available for download as npm packages or through the <a href="https://docs.strapi.io/user-docs/latest/plugins/installing-plugins-via-marketplace.html">Strapi Market</a>. </p><p>These plugins are known for assisting developers in easily modifying the looks and usability of their applications.</p><p>This article serves as a reference for a few of the extra plugins created by Strapi that are offered in the <a href="https://docs.strapi.io/user-docs/latest/plugins/installing-plugins-via-marketplace.html" rel="noreferrer nofollow noopener">Marketplace</a> and already installed. You will learn about a quick plugin explanation, how the installed plugin functions, and how admin panel configurations are handled in this post. </p><p>It is crucial to note that having a Strapi project on your local computer is a must for these plugins to function. If you don't already have a Strapi project, you can read this <a href="https://docs.strapi.io/developer-docs/latest/getting-started/quick-start.html" rel="noreferrer nofollow noopener">comprehensive quick-start guide</a> on how to set one up on your computer.</p><hr><h3 id="international-fields">International Fields <a class="markdownit-header-anchor" href="#international-fields">🔗</a></h3><p>The <a href="https://github.com/MattieBelt/strapi-plugin-international-fields" rel="noreferrer nofollow noopener">Strapi plugin international fields</a> is a Strapi plugin that adds custom fields to your Strapi application. These custom fields are:</p><ul><li>Country</li><li>Language</li><li>Nationality</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-46.png" class="kg-image" alt loading="lazy" width="1221" height="260" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-46.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-46.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-46.png 1221w" sizes="(min-width: 720px) 720px"></figure><h4 id="installation">Installation</h4><p>To use this plugin in your application, open your terminal and run the following command:</p><pre><code># using yarn
yarn add strapi-plugin-international-fields

# using npm
npm install strapi-plugin-international-fields --save</code></pre><h4 id="configuration">Configuration</h4><p>Every country listed in the ISO 3166 standard is available in the dropdown menu for the country field.  Every language listed in the ISO 639 standard is available in the language field's dropdown menu. Every nationality listed in the ISO 3166 standard is available in the nationality field's dropdown menu. </p><p>Nearly all Strapi Admin panel languages are supported for the country and language fields. Therefore depending on the interface language chosen, the dropdown will display localized option labels. </p><p>Only <strong>English</strong>, <strong>German</strong>, and <strong>French</strong> are available for the nationality field, however, so the dropdown will be displayed with i18n alternatives with English as a fallback depending on the interface language that has been chosen.</p><p>To add one of the custom fields to a content type, you need to add it to the attributes field in the model's settings file <code>api/*/models/*.settings.json</code> like the example below.</p><pre><code>
{
  // ...
  "attributes": {
    "country": {
     "type": "country",
     "columnType": "CHAR(2)"
    },
    "language": {
      "type": "language",
      "columnType": "CHAR(2)"
    },
    "nationality": {
      "type": "nationality",
      "columnType": "CHAR(2)"
    },
  }
}</code></pre><blockquote>You can check out the <a href="https://github.com/MattieBelt/strapi-plugin-international-fields">official GitHub repository</a> to learn more about this awesome plugin.</blockquote><hr><h3 id="strapi-graphql">Strapi GraphQL <a class="markdownit-header-anchor" href="#strapi-graphql">🔗</a></h3><p>This plugin will add <a href="https://market.strapi.io/plugins/@strapi-plugin-graphql">GraphQL</a> functionality to your application. Every one of your content types has a REST endpoint created by default, thanks to Strapi. You can add a GraphQL endpoint to fetch and modify your content using the GraphQL plugin. Most of the CRUD methods in the Strapi REST API will be made available to you.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-37.png" class="kg-image" alt loading="lazy" width="1200" height="515" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-37.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-37.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-37.png 1200w" sizes="(min-width: 720px) 720px"></figure><h4 id="installation-1">Installation</h4><p>To get started with GraphQL, we need to install the plugin via the command line.</p><pre><code>npm install @strapi/plugin-graphql

yarn add @strapi/plugin-graphql</code></pre><h4 id="configuration-1">Configuration</h4><p>After installing the plugin, we would handle a bit of configuration. The <code>config/plugins.js</code> file contains a definition of a plugin's configuration. An <code>graphql.config</code> object can be included in this configuration file to define particular configurations for the GraphQL plugin.</p><blockquote>You can read the <a href="https://docs.strapi.io/developer-docs/latest/plugins/graphql.html#usage" rel="noreferrer nofollow noopener">official Strapi GraphQL documentation</a> to learn more about this awesome plugin.</blockquote><hr><h3 id="awesome-seo">Awesome SEO <a class="markdownit-header-anchor" href="#awesome-seo">🔗</a></h3><p>With just one click, Awesome SEO gives your content manager access to the Strapi results of your website's SEO study. Before publishing your content, this plugin lets you view your application's SEO analysis in real time. A few of this plugin's salient attributes are:</p><ul><li>An audit of your website's SEO</li><li>A list of all the SEO mistakes on your website, ordered by page ranking (the most important page for your SEO at the top)</li><li>Easy access to the Strapi content to correct mistakes.</li><li>Errors in your content types are indicated.</li><li>Real-time notification when adding new content or modifying existing content if the change lowers the SEO Notation</li><li>The ability for the content manager to view SEO difficulties brought on by website development in expert mode.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/11/image-38.png" class="kg-image" alt loading="lazy" width="1271" height="896" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-38.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-38.png 1000w, https://ghost.localazy.com/content/images/2022/11/image-38.png 1271w" sizes="(min-width: 720px) 720px"><figcaption>Source: Awesome SEO | Strapi Market</figcaption></figure><h4 id="installation-2">Installation</h4><p>To get started with using this plugin, it is essential to have chrome installed on your server.</p><pre><code>#npm
npm install @exfabrica/strapi-plugin-awesome-seo

#yarn
yarn add @exfabrica/strapi-plugin-awesome-seo</code></pre><h4 id="configuration-2">Configuration</h4><p>Enter the website for which you wish to boost SEO under Awesome SEO's general settings, then save the changes. Launch a website scan after opening the "Awesome SEO" plugin. You can examine your results with a global summary of SEO problems for your website and a summary by website page, which is often organized by rank. </p><p>After fixing any problems, you can continue reading the Strapi content page by selecting the modification button. You may see and correct any SEO mistakes in your Strapi content type by selecting the modification option on the preceding screen. </p><blockquote>Visit the <a href="https://market.strapi.io/plugins/@exfabrica-strapi-plugin-awesome-seo" rel="noreferrer nofollow noopener">Strapi Market</a> for more information about this useful plugin.</blockquote><hr><h3 id="cloudflare-pages">Cloudflare pages <a class="markdownit-header-anchor" href="#cloudflare-pages">🔗</a></h3><p>With the help of this plugin, you can quickly start Cloudflare Pages builds from Strapi. The site rebuild is initiated concurrently with the updating of content. Site admins may take their time and make numerous changes with the Cloudflare page plugin, and once the content update is finished, they can start a single build. Multiple instances can be set up to manage preview builds in addition to production builds.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-39.png" class="kg-image" alt loading="lazy" width="2000" height="1125" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-39.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-39.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-39.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/11/image-39.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>This plugin adopts the methodology used to initiate builds at GitHub CI/CD, which is available <a href="https://github.com/phantomstudios/strapi-plugin-github-publish" rel="noreferrer nofollow noopener">here</a>.</p><h4 id="installation-3">Installation</h4><p>To use this plugin in your application, open your terminal and run the following command:</p><pre><code>npm install strapi-plugin-cloudflare-pages
yarn add strapi-plugin-cloudflare-pages</code></pre><h4 id="configuration-3">Configuration</h4><p>Create a new file, config/plugins.js in the config folder. at</p><pre><code>
module.exports = ({ env }) =&gt; ({
  'cloudflare-pages': {
    enabled: true,
    config: {
      instances: [
        {
          name: "production website",
          hook_url: 'https://...'
        },
        {
          name: "preview website",
          hook_url: 'https://...'
        },
      ]
    }
  }
});</code></pre><p><br>After the plugin is set up, select Cloudflare Pages Publishing from the sidebar's list of plugins.</p><blockquote>You can go to the <a href="https://market.strapi.io/plugins/strapi-plugin-cloudflare-pages" rel="noreferrer nofollow noopener">Strapi market</a> for more information about this plugin.</blockquote><hr><h3 id="calendar">Calendar <a class="markdownit-header-anchor" href="#calendar">🔗</a></h3><p>With the help of the Calendar plugin, you may view your content on a map with weekly, daily, and monthly views.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/11/image-40.png" class="kg-image" alt loading="lazy" width="1962" height="1106" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-40.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-40.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-40.png 1600w, https://ghost.localazy.com/content/images/2022/11/image-40.png 1962w" sizes="(min-width: 720px) 720px"><figcaption>Source: Calendar | Strapi Market</figcaption></figure><h4 id="installation-4">Installation</h4><pre><code>npm install @offset-dev/strapi-calendar
yarn add @offset-dev/strapi-calendar</code></pre><h4 id="configuration-4">Configuration</h4><p>Select the calendar settings by opening the settings page in the admin panel. You can choose the collections and fields to utilize here. The calendar's choices and style can also be changed.</p><blockquote>Check this <a href="https://market.strapi.io/plugins/@offset-dev-strapi-calendar">plugin's official listing</a> to learn more about its excellent features.</blockquote><hr><h3 id="google-auth">Google Auth <a class="markdownit-header-anchor" href="#google-auth">🔗</a></h3><p>GoogleAuth makes it simple for users to offer Google authentication to visitors to their websites. It performs the operations by utilizing the official Google-auth library. </p><p>A user can quickly implement authentication in their Strapi application with this plugin. The JWT authentication method is used by this secure plugin. It utilizes the standard user-permission collection on Strapi and is the official Google API integration.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/11/image-41.png" class="kg-image" alt loading="lazy" width="2000" height="1038" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-41.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-41.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-41.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/11/image-41.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Source: Calendar | Strapi Market</figcaption></figure><h4 id="installation-5">Installation</h4><p>To get started with this plugin, run the following command in your terminal.</p><pre><code>npm install strapi-google-auth
yarn add strapi-google-auth</code></pre><h4 id="configuration-5">Configuration</h4><p>After installing, create a new file <code>plugins.js</code> in the config folder. Add the code snippets to your <code>config/plugins.js</code> file.</p><pre><code>'google-auth': {
        enabled: true,
    },</code></pre><p>The following steps include the following:</p><ol><li>From the Google Cloud Console, create a Google project.</li><li>Create the OAuth consent screen (Nav Menu -&gt; APIs &amp; Services -&gt; OAuth consent screen).</li><li>Select Create Credentials &gt; OAuth Client ID under Credentials.</li><li>Fill up the plugin page of Strapi with the CLIENT ID, CLIENT SECRET, REDIRECT URL, and Scopes, and then save it.</li></ol><blockquote>Visit the <a href="https://market.strapi.io/plugins/strapi-google-auth" rel="noreferrer nofollow noopener">Strapi market</a> to learn more about how to set up the GoogleAuth plugin in your Strapi app.</blockquote><hr><h3 id="mux-video-uploader">Mux Video Uploader <a class="markdownit-header-anchor" href="#mux-video-uploader">🔗</a></h3><p>The Mux Video Uploader plugin uses Strapi to manage video and audio files uploaded to Mux. It offers the option of direct file upload or URL-based content upload.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/11/image-42.png" class="kg-image" alt loading="lazy" width="2000" height="1038" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-42.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-42.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-42.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/11/image-42.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Source: Mux Video Uploader | Strapi Market</figcaption></figure><h4 id="installation-6">Installation</h4><p>Before beginning the installation, you must have the following prerequisites.</p><ol><li>A <a href="https://mux.com/" rel="noreferrer nofollow noopener">Mux</a> account is required.</li><li>You can create both the Access Token and Secret Key with "Full Access" permissions via the <a href="https://dashboard.mux.com/settings/access-tokens" rel="noreferrer nofollow noopener">Mux Dashboard.</a></li><li>The Webhook Signing Secret that is creatable on the <a href="https://dashboard.mux.com/settings/access-tokens" rel="noreferrer nofollow noopener">Mux Dashboard</a></li></ol><p>To get started with this plugin, run the following command in your terminal</p><pre><code>npm i strapi-plugin-mux-video-uploader@latest

yarn add strapi-plugin-mux-video-uploader@latest</code></pre><h4 id="configuration-6">Configuration</h4><p>With the Webhook Signing Secret, Secret Key, and Access Token, Click the "General" section under MUX VIDEO UPLOADER in the Settings view of the Strapi Admin panel. </p><p>Set the proper values in the Access Token, Secret Key, and Webhook Signing Secret fields on this view, then press the Save button.</p><blockquote>The <a href="https://market.strapi.io/plugins/strapi-plugin-mux-video-uploader">official Strapi Market page</a> has further details regarding this plugin as well as some frequently asked questions.</blockquote><hr><h3 id="passwordless">Passwordless <a class="markdownit-header-anchor" href="#passwordless">🔗</a></h3><p>Passwordless is a plugin for Strapi Headless CMS that allows one to sign in or sign up to an application using a link previously delivered to an email. This plugin enhances the capabilities of the <a href="https://github.com/strapi/strapi/tree/master/packages/plugins/users-permissions" rel="noreferrer nofollow noopener">Strapi User Permissions Plugin</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/11/image-43.png" class="kg-image" alt loading="lazy" width="1792" height="938" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-43.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-43.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-43.png 1600w, https://ghost.localazy.com/content/images/2022/11/image-43.png 1792w" sizes="(min-width: 720px) 720px"><figcaption>Source: Passwordless | Strapi Market</figcaption></figure><h4 id="installation-7">Installation</h4><p>To get started with this plugin, run the code snippet in your terminal.</p><pre><code>yarn add strapi-plugin-passwordless@latest

npm i -S strapi-plugin-passwordless@latest</code></pre><p><br>When you relaunch Strapi after installation, the Passwordless plugin should be visible in the Plugins area.</p><p>More fantastic features of this plugin are listed on the <a href="https://market.strapi.io/plugins/strapi-plugin-passwordless">Passwordless Strapi Market page</a>.</p><hr><h3 id="custom-api-builder">Custom-API-Builder <a class="markdownit-header-anchor" href="#custom-api-builder">🔗</a></h3><p>The Custom-API-Builder plugin enables you to create custom APIs right from the Strapi CMS admin panel. Simply choose the fields you want to display, type a legitimate slug, and then sit back and watch the plugin generate the routes, controllers, and services on its own. It is a fairly simple process to build your own API.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/11/image-44.png" class="kg-image" alt loading="lazy" width="1910" height="2386" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-44.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-44.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-44.png 1600w, https://ghost.localazy.com/content/images/2022/11/image-44.png 1910w" sizes="(min-width: 720px) 720px"><figcaption>Source: Custom-API-Builder | Strapi Market</figcaption></figure><h4 id="installation-8">Installation</h4><p>To get started with this plugin, run the following command.</p><pre><code>yarn add strapi-plugin-custom-api@latest

npm i -S strapi-plugin-custom-api@latest</code></pre><h4 id="configuration-7">Configuration</h4><p>After installing, create a new file <code>plugins.js</code> in the config folder. Add the code snippets to your <code>config/plugins.js</code> file.</p><pre><code>module.exports = {
  "custom-api": {
    enabled: true,
  },
};</code></pre><blockquote>Find all of the fantastic features of this plugin listed in the <a href="https://market.strapi.io/plugins/strapi-plugin-custom-api" rel="noreferrer nofollow noopener">Strapi Market</a>.</blockquote><hr><h3 id="localazy">Localazy <a class="markdownit-header-anchor" href="#localazy">🔗</a></h3><p>Using the <a href="https://market.strapi.io/plugins/@localazy-strapi-plugin">Localazy plugin for Strapi localization</a>, you can easily translate your content into several languages. With the help of this plugin, you may translate your material manually or have the Localazy <a href="/features/continuous-localization-team">Continuous Localization Team</a> do it for you. Additionally, you may rapidly bulk-translate everything or invite your translators.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-47.png" class="kg-image" alt loading="lazy" width="1920" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-47.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-47.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-47.png 1600w, https://ghost.localazy.com/content/images/2022/11/image-47.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>Experience seamless multilingual content management. Simply sync your Strapi content with Localazy and download the translated material back to Strapi with one click.</p><p>To see the plugin in action and learn more about its features, watch this video, where Paul Bratslavsky (<a href="https://twitter.com/codingthirty">@codingthirty</a>) interviewed Dan (<a href="https://twitter.com/dan_charvat">@dan_charvat</a>) and David (<a href="https://twitter.com/dave_vaclavek">@dave_vaclavek</a>) from Localazy. </p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/p9hPOaSeKIg" title="How Localazy Built a Plugin That Makes Translations Easier" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><h4 id="installation-9">Installation</h4><p>To get started with this plugin, run the code snippet in your terminal.</p><pre><code>npm install @localazy/strapi-plugin

yarn add @localazy/strapi-plugin</code></pre><h4 id="configuration-8">Configuration</h4><p>Following installation, run the code snippet below. With this command, the Strapi Admin panel UI is rebuilt. You are then prepared to start translating your Strapi content.</p><pre><code>npm run build</code></pre><blockquote><br>The <a href="/docs/strapi/strapi-plugin-introduction-installation">official documentation</a> contains more information about using the Localazy plugin with your Strapi project. Or you can check out the plugin's <a href="https://market.strapi.io/plugins/@localazy-strapi-plugin">Strapi Market listing</a> and try it yourself.</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-45.png" class="kg-image" alt loading="lazy" width="1000" height="664" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-45.png 600w, https://ghost.localazy.com/content/images/2022/11/image-45.png 1000w" sizes="(min-width: 720px) 720px"></figure><h2 id="further-reading">📚 Further reading <a class="markdownit-header-anchor" href="#further-reading">🔗</a></h2><p>You can learn more about using Strapi with the Localazy plugin on the blog: </p><ul><li><a href="/blog/managing-multilingual-content-with-strapi-cms-localazy-plugin">Managing multilingual content with Strapi CMS &amp; Localazy</a></li><li><a href="/blog/how-to-strapi-localization-with-localazy">Introducing the Strapi localization plugin by Localazy</a></li></ul><p>Or on the Strapi blog:</p><ul><li><a href="https://strapi.io/blog/strapi-localization-made-easy-with-localazy-plugin">Strapi Localization made easy with Localazy Plugin</a></li></ul><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Although there are many more fantastic plugins in the <a href="https://market.strapi.io/">Strapi Market</a> or on GitHub, we've highlighted the top 10 plugins so you may use them in your next Strapi project. </p><p>Did you find your favorite? Would you add some other plugins to the list? Let us know in the comments!</p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Strapi-Plugins.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 18 Translation Service Provider APIs]]></title>
            <link>https://localazy.com/blog/list-of-18-translation-service-provider-apis</link>
            <guid isPermaLink="false">list-of-18-translation-service-provider-apis</guid>
            <pubDate>Fri, 15 Aug 2025 11:06:43 GMT</pubDate>
            <description><![CDATA[Are you looking for a translation API to use in your new project? We curated a list of the 18 most popular translation service providers' APIs available on the market. Maybe you'll find a match!]]></description>
            <content:encoded><![CDATA[<p>Translating your content online has never been easier than now. 🗣 Considering that content marketing is becoming increasingly important, the need to have this content translated into different languages is also increasing. This is where a Translation Service Provider (TSP) API enters the scene. 💡</p><p>📄 In this article, we’ll explain what is a translation API to translate and <a href="/term/content-localization">localize your content</a> seamlessly and list 18 of the most popular translation APIs. </p><h2 id="what-is-a-translation-api">🤔 What is a translation API? <a class="markdownit-header-anchor" href="#what-is-a-translation-api">🔗</a></h2><p>A <a href="/features/translation-api">translation API</a> is a software interface that developers can use to connect their own software with another application that can translate any text content. </p><p>That comes from the <a href="/dictionary/api">definition of an API</a>: </p><blockquote><em>API stands for Application Programming Interface. API enables applications to exchange data with each other. 📲</em></blockquote><p>Many TSPs use a combination of machine learning algorithms and human capabilities to help businesses translate their content. </p><h2 id="list-of-translation-api-providers">📝 List of translation API providers <a class="markdownit-header-anchor" href="#list-of-translation-api-providers">🔗</a></h2><p>We’ve collected some of the most advanced translation APIs for you to use in the list below. </p><h3 id="google-translate-api">Google Translate API <a class="markdownit-header-anchor" href="#google-translate-api">🔗</a></h3><p>Google Translate is probably the most popular machine translation engine in the world. And when it comes to translation service providers, everyone would head to the big G.</p><p>The Google Translation API pricing is distributed into four tiers: Translation API Basic, Translation API Advanced, AutoML Translation, and Media Translation API. The first 500,000 characters are free, and the Basics package starts with prices as low as $1.5 per 575,000 characters. <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh6.googleusercontent.com/frG7oHhZ0YRjUp5QHZ2oPBnU5vf1U4KlajQReQCc926lkN463lRkDXxrtIHNGIR4En4opZlOfEhJk0blosJojw9B-idUVOTsAFmbmmzzQGKPc6ZeTGDkS0WlrsADQad7ZBMYsagULe2yc-19YAUETo2In6MNLiuh917WhgRB0rmcNZQjBGP3MMgqWFhrjA" class="kg-image" alt loading="lazy"><figcaption><em>Source: Google Cloud</em></figcaption></figure><p>The Google Cloud Translation API can be integrated easily by developers to make the production of accurate translations automatic and practical.</p><blockquote>Google Translate is integrated inside Localazy and available on the <a href="/tiers/autopilot">Autopilot plan</a> and above.</blockquote><p>However, the API runs on <a href="https://localazy.com/dictionary/machine-translation">machine translation</a> and doesn’t understand the context in which a word or idiom may be used. The result can lead to <a href="https://localazy.com/blog/localazy-best-tool-translation-automation">funny and often embarrassing results</a> and, in worse cases, legal troubles. But the best part about it is that it offers many integration options. </p><h3 id="amazon-translate">Amazon Translate <a class="markdownit-header-anchor" href="#amazon-translate">🔗</a></h3><p>Usually, talking about the translation tech without mentioning Amazon wouldn't make sense. The company has launched its tool, Amazon Translate, which functions on <a href="https://en.wikipedia.org/wiki/Neural_machine_translation">Neural Machine Translation (NMT)</a> algorithms to help produce quality translations. Their API accepts materials in several formats, including <a href="https://localazy.com/microsoft-excel">Excel spreadsheets</a>, Word files, and <a href="https://localazy.com/microsoft-powerpoint">PowerPoint presentations</a>. <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh6.googleusercontent.com/-tdJ3gGSG2Arlk8zhcuuMavAGaccjjvhScJD8g6XzBQzU6KFllTrb7vYHe46uE-DHH6wVJS4ORGGhZjoHl8kY_7xa_PLlwIvDucLAGMcHYW-p-4b_eAIKpSuGPfSwRhy-wFShYcTy6ObgyTPF14PP6uDZ0LDqtza3MVBCCU0eLbv5qbVbF_xKc9ivI3IBw" class="kg-image" alt loading="lazy"><figcaption><em>Source: AWS</em></figcaption></figure><blockquote>Amazon Translate is also another machine translation engine that's available at Localazy. And the best thing about it is you can use it on the <a href="/tiers/free">Free plan</a>!</blockquote><p>Unlike traditional translation services that rely on statistical algorithms and rules, Amazon implements deep learning, which tries to mimic how the human brain functions to deliver more natural translations. Also, the API seamlessly integrates the tool whenever you need it. Amazon Translate allows you to translate <a href="https://localazy.com/term/website-content-translation">website content</a>, chat messages, or emails.</p><h3 id="yandex-api">Yandex API <a class="markdownit-header-anchor" href="#yandex-api">🔗</a></h3><p>Yandex launched its translation service in 2011, and since then, it has gone through continual enhancements. There are plans for both small and big companies as well as individuals, and its services include over 100 languages. Users say that Yandex’s pricing is more affordable than Google Translate API’s, which gives it an advantage. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh6.googleusercontent.com/OHO0vZlkccyWAMzXMz-G_JVDxzOq2HrfY4892sun0_IAq3GKVdfpoTWC9abQcL17IjDdOLwInAtXUUZhOOS1MsSrYNBDe1_1uB_kEHLb1nixkHn7gpSj6r1Yien_xX6ZzAMznCkZJ3FmbwFve4ivzRAav3knaeP72jpmVqbZ191stXvGx52QK8Lb9zxS3g" class="kg-image" alt loading="lazy"><figcaption>Source: Yandex Translate API</figcaption></figure><p>However, Go<em>o</em>gle Translate offers twice as many languages as Yandex (200+), which might be a dealbreaker. The service is used to translate both web pages and text materials. It does this by relying on a neural <a href="/term/machine-translation">machine translation</a> algorithm that analyzes the translated texts and builds dictionaries for each word which are then used to aid in the quality of translations.</p><h3 id="deepl">DeepL <a class="markdownit-header-anchor" href="#deepl">🔗</a></h3><p>If you are searching for a translation service that goes deeper into the intricacies of a language and has <a href="https://techcrunch.com/2017/08/29/deepl-schools-other-online-translators-with-clever-machine-learning/">made headlines for beating other popular translation engines</a> like Google with its accuracy, DeepL is the one. The statistics that compare it with other <a href="https://localazy.com/term/translation-service">translation services</a> offered by Facebook, Microsoft, and even Google Translate show that the difference is enormous. <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh6.googleusercontent.com/mm6GRQOaSl0hh147yiHYoTkgcN9lIZ0sE046vKg1duAO7vo_yDDywPu5DSJJbQFrNUMJ6TZydUbJkqMJVkCCcrA0xTDaxTIsGYcrBvMQJ1sH5flS9_Z0Zms7sGPNCT4iCcwaYMz0EGklu5Awt9QAcjO_WBL41dKvGiHA9S62O9IoD7bze-xFzMvxHbI8nA" class="kg-image" alt loading="lazy"><figcaption><em>Source: </em><a href="https://techcrunch.com/2017/08/29/deepl-schools-other-online-translators-with-clever-machine-learning/"><em>TechCrunch</em></a></figcaption></figure><p>What’s more exciting is that the DeepL Free translation API offers the option to translate up to 500,000 characters for free. </p><blockquote>DeepL is the third engine built-in to Localazy. Enjoy some of the best machine translation engines with the <a href="/tiers/autopilot">Autopilot plan</a>!</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/aGTiMqTC0cAWTv0rnU-M2o-rSu9S2Mw385RS9rf4CoFSkO5JyLL3TKMgq8vCc83RgGUmTzlaK8Nk00Tufgpd_63EJyEu7jS_F5ZUxn6TN-PBgYdSmSn6nSgDIfl6WO04oF5DghLqg2j3aMMVG-UU0bmd-l4A_ki0JUPLg5eWheLtm4GIa_UNaaULHP8qNQ" class="kg-image" alt loading="lazy"><figcaption><em>Source: DeepL Translator API</em></figcaption></figure><p>The formats you can translate using DeepL API include Word documents, PDFs, PowerPoint presentations, and HTML files. As in many other translation services, it comes with the capability to detect languages, which means that you’re able to upload a file, and it will detect its language instantly.</p><h3 id="microsoft-azure-translator-api">Microsoft Azure Translator API <a class="markdownit-header-anchor" href="#microsoft-azure-translator-api">🔗</a></h3><p>Searching for a powerful translation engine that doesn’t take much work to set up? Our fifth alternative is the Microsoft Azure Translator API, which enables you to translate text between over 100 languages without much effort and is easy to integrate. You can choose between one of the three features that it offers. </p><blockquote>Microsoft Azure Translator is the fourth (and at this time final) engine included with the Localazy <a href="/tiers/autopilot">Autopilot plan</a>.</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/BcgkA6ofiyXexYaLbA8NFs70BX4HD1O-HcqlJBwprc8g3yvhQGhSMNXvUT5qk7ZOMS36MBXUFf2qfChr-TBv9qH2Ik8Vd0XRo2izA4GbE07ja7q54LmQ4tZy0aHha_RIjFK0sYyzangQyWO5Bu07TFNYCQWmydzNG3txS79EjLs-4_oZtkL-fw28bEibEg" class="kg-image" alt loading="lazy"><figcaption><em>Source: Microsoft Azure Translator API</em></figcaption></figure><p>Depending on your situation, you may opt to translate documents and texts or build your own models to use the translator API however you want. Microsoft uses neural machine translation to power its translation services. It caters to a wide variety of industries, such as call centers or agents who need to speak with customers who belong to different nationalities.</p><h3 id="itranslate">iTranslate <a class="markdownit-header-anchor" href="#itranslate">🔗</a></h3><p>You might have used the iTranslate on your phone for on-the-spot voice translations when speaking to a stranger. The handy mobile app supports over 100 languages. However,  you’ll be able to use only about 50+ languages and dialects in their API integrations.   </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh6.googleusercontent.com/IZPzIXXv8INgIup0yBvJmorlmwkcom0n6Y-opISVTuQqzpIXygK1mqQbs3_3QI0l3wJ4rIB2E1goee4wb0FatJ-o-BEakK7eDrC-yt0z903RO7GlnHab6LibOThCj7pfiUwL5Js8fVXJsYocUPCGSuibsiIPwGCF0BHgRBzvgAjNnuEdwS94j6Ng70154g" class="kg-image" alt loading="lazy"><figcaption>Source: iTranslate API</figcaption></figure><p>The iTranslate API supports text translations and ensures your data is kept safe by not keeping any records of it after it’s translated. Snap Inc recently announced that they were integrating the iTranslate API for their Lens Studio to provide AR developers with the capability to build multilingual lenses.</p><h3 id="lingvanex">Lingvanex <a class="markdownit-header-anchor" href="#lingvanex">🔗</a></h3><p>Another growing company that works majorly with large enterprises is Lingvanex. Their machine translation API is quite diverse and affordable for both consumers and businesses. Working with confidential data could get out of control quickly, and that’s why they enforce privacy protection according to the GDPR &amp; CCPA policies.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh6.googleusercontent.com/y18QQ6JGGcM9lUpJvnmda75K8pzWGhH8YSRK3S1YwbiM8AsP0q_1d3ppPQUER1aI9oiDCAd9F_R1TSBMjQZFnM7VAw-BDmA15OFr-YtJ16qWE51QPlh_UkvhjI0TShjZF_h9meHyroN1kevWHbMYnGPKAXurgQrgC2TnAgaS1BpNLOWfIMr8e5ppjkqcLg" class="kg-image" alt loading="lazy"><figcaption>Source: Lingvanex API&nbsp;</figcaption></figure><p>With prices starting from $5 per 1 million translated characters, Lingvanex supports over 109 languages and multiple content formats, including web content, files, and text. Once you’re signed up on the platform, you’re rewarded with a free batch of 200,000 characters that you can use before starting to pay.</p><h3 id="transifex">Transifex <a class="markdownit-header-anchor" href="#transifex">🔗</a></h3><p>If you go online, you’re likely to find some negative reviews about the app from two years ago, saying that it is a bit slow even though it has all the functionalities that it promises. This <a href="/dictionary/cat-tool">CAT (Computer-assisted Translation) tool</a> and its API were born in the heart of Greece, Athens, slowly catching the attention of big brands like Reddit and Coursera, which started working with it. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/0dfUiAyVCsuHcjNEb0dlXre19ViPrUBQ64d3ed_MSS_z5gXPkuut12taevg1RkEix_M7cnbuZlkaDjwbYStbSG0xFvkwP01MkeZkWe0BEDI2FJqUvkEWfZr8Nq8T2R7oQUbW5aPBso3ppooP9x30NI5r0W4O2dVOVUczPBDBDBhHyBFpr0XFG_RFmuV7KQ" class="kg-image" alt loading="lazy"><figcaption>Source: Transifex</figcaption></figure><p>The platform doesn’t directly offer translations, but it matches companies and users with translators and takes care of the translation management process. You can rely on it to manage content for digital products such as videos, games, websites, and mobile apps. </p><p>However, most of its features come for a steep price since it’s designed for large enterprises. Localazy is a much more affordable alternative, and it's easier to get started with it, as this <a href="https://www.capterra.com/translation-management-software/compare/204830-152411/Localazy-vs-Transifex">Capterra comparison</a> clearly concludes.</p><h3 id="smartling-translation-api">Smartling Translation API <a class="markdownit-header-anchor" href="#smartling-translation-api">🔗</a></h3><p>This company has quite a reputation in the industry. Large-sized companies like <a href="https://localazy.com/term/translate-shopify-store">Shopify</a> and SurveyMonkey have chosen Smartling to manage their translation processes. Offering a CAT API, the platform comes in handy for translation services. You can order translations from professionals or use machine translations.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh5.googleusercontent.com/LWDrAI8vkBtNVASW2LU-v8oBwHr41oAWKFRHjx8c2pjCyno4tbl5lNkhcsRBTi8viNMR4LFzh_DwbMfO8txk4Dtgku2qMo0F9mjJqOHaVGWH1mPB26Vcbk89Ppb6EZ_ueybJ4eZVRjv1qx1fh2ua-fYr7Uc40WLCR0fLReB3MWSIxFHoJCl0BMwJIwib" class="kg-image" alt loading="lazy"><figcaption>Source: Smartling</figcaption></figure><p>Their pricing isn’t cheap. It starts from $200 per month, and they don’t even offer a free trial or free version for new users. </p><blockquote>Try Localazy for free. See what's included in the <a href="/tiers/free">Free plan</a>.</blockquote><p>Even though Transifex offers complete translation management, <a href="/dictionary/translation-memory">Translation Memory (TM)</a>, CAT tools, and an API, they lack some of the essential localization features, such as activity dashboards and commenting.</p><h3 id="unbabel-translation-api">Unbabel Translation API <a class="markdownit-header-anchor" href="#unbabel-translation-api">🔗</a></h3><p>Unbabel is the next translation provider on our list. It was founded by Vasco Calais Pedro, an academic interested in Social Network Semantic Analysis and Big Data and a Ph.D. holder in Computer Science. The platform offers support in over 30 languages and connects its users with human editors while providing a <a href="https://developers.unbabel.com/reference/getting-integrated">machine translation API</a> at their disposal. <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh4.googleusercontent.com/iNOp5f8iqjjr5vm-mcdYn6Aa7GKGKE_vsCx6wwCmf67SBxvHMs4mZPI1zwyumlka3TnioGGEjraIdYKdruHyVJ-5eGmuSR7bpWq7_2k-jqe7NPxa1kqXoIuFVc-alJ0nTllyCmHnZ9LIXnFbdHAB-Jk56umgMIbW_YIBoSGj-yufER61BGT2sCgzZ8x8oA" class="kg-image" alt loading="lazy"><figcaption>Source: Unbabel</figcaption></figure><p>Recently, they acquired another startup, Lingo24, which uses AI to translate content en masse. Major brands like Udemy and Microsoft have been using their services to empower their customer support teams to communicate with multilingual customers. However, Unbabel doesn’t offer a free trial version (<a href="/tiers/free">unlike Localazy</a>) and charges its users per feature.</p><h3 id="localazy-translation-api">Localazy translation API <a class="markdownit-header-anchor" href="#localazy-translation-api">🔗</a></h3><p>Localazy <a href="https://localazy.com/features/translation-api">API</a> is a favorite way of integrating software products with the automated localization platform Localazy. It was launched in 2021, fresh with insights from the localization market and Localazy users, and it's equipped with powerful features that enable you to manage your translation projects at Localazy programmatically.</p><p>The Localazy API is organized around REST with predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/11/image-34.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-34.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/11/image-34.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/11/image-34.png 1600w, https://ghost.localazy.com/content/images/2022/11/image-34.png 1920w" sizes="(min-width: 720px) 720px"><figcaption><em>Source: </em><a href="https://localazy.com/features/translation-api"><em>Localazy Translation API</em></a></figcaption></figure><p>Localazy API offers endpoints to import content for translation, download translations, manage source keys in the project, and link source keys together to solve duplicity issues. You can also upload screenshots and manage glossary terms to ensure good context for the translators working on your Localazy project. </p><p>The Localazy API is continuously improving, and we are carefully listening to our user's feedback to enhance and automate their localization workflows.</p><blockquote>Learn all about the <a href="/docs/api/introduction">Localazy API in the documentation</a>.</blockquote><p>And as said earlier, Localazy combines four machine translation engines inside one platform. So you’ll be able to use Amazon Translate as a free option and browse through suggestions from DeepL, Google Translate, or Azure Translate on the Autopilot plan and above.</p><!--kg-card-begin: html--><div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg xmlns="http://www.w3.org/2000/svg" viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>TIP: We’re maintaining the <a href="https://www.npmjs.com/package/@localazy/ts-api"><code>@localazy/ts-api</code></a> library, which wraps all of the Localazy API resources.</p>
</div><!--kg-card-end: html--><p><strong>You can also read articles about the API on the Localazy blog:</strong></p><ul><li><a href="https://localazy.com/blog/what-is-localazy-translation-api">What is Localazy Translation API</a></li><li><a href="https://localazy.com/blog/typescript-library-for-localazys-api">TypeScript library for Localazy API</a></li><li><a href="https://localazy.com/blog/how-to-translate-ad-banners-localazy-api-marketing-localization">Translate Ad Banners on the fly with Localazy API</a></li></ul><h3 id="systran-translate-api">Systran Translate API <a class="markdownit-header-anchor" href="#systran-translate-api">🔗</a></h3><p>Available to companies and individual developers needing to translate content across their projects, the Systran Translate API is pretty flexible to use. It allows you to translate both external and internal applications easily and offers the proper tools to tackle different types of content, including videos and images. It supports over 50 languages powered by artificial intelligence. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh6.googleusercontent.com/2jqmlX9ZeOHlMZs5sa5zAxlvIGq1H5QgKgy-Wq4bsB2TEuFG9-ql0FcrvgknCQq2C5tQGTBLzHd8svkeHsOILq57Y_aQRFn_pzkTsLZ0qMhr9FauxzAwqdemyIiIYsz5nPeJBXL161FrP3jA6yJgrMsxyjDu1a6KKAdQ4LoY9csczmyPL4rcfPULj9mGEw" class="kg-image" alt loading="lazy"><figcaption>Source: Systran Translation API&nbsp;</figcaption></figure><p>The automatic translation API can easily detect languages, summarize documents, and easily translate online chats, web pages, or support tickets. Its translator API provides real-time translation and offers 500,000 characters in its free trial version that lasts 14 days.</p><h3 id="memsource-api">Memsource API <a class="markdownit-header-anchor" href="#memsource-api">🔗</a></h3><p>Memsource was founded in 2010, providing a wide set of tools in its CAT API, including translation memories, integrations with translation management services, and desktop and browser versions. </p><p>In September 2022, the company announced its new identity with Phrase, another well-known localization software acquired by Memsource in 2021, thus renaming its services under Phrase name. That's why their brand is mentioned often in Memsource API documentation. <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh6.googleusercontent.com/aKMJv4hj2xEapt3g3iepMV1W0458fEVwViFZRxcViU6zxSAh4kSr8MWPXQ7hFlBEFPqZ-X8HyDdtd8n5bKEHvimb3V43SBPYsdWZku2acnK4UaKvVr3gi7kF0Ra_YtKPMv58iqVQD-nMkouCu_6AyeP2CJkr237eowDkuqfEKZAUoLwiChgniBvlNu8GxA" class="kg-image" alt loading="lazy"><figcaption>Source: Phrase</figcaption></figure><p>The Translation Management System (<a href="https://localazy.com/dictionary/translation-management-system-tms">TMS</a>) helps you with the translation management of website assets, file documents, and translators. You can access the platform through your mobile device and benefit from its machine translation engine.</p><h3 id="poeditor-api">POEditor API <a class="markdownit-header-anchor" href="#poeditor-api">🔗</a></h3><p>The <a href="https://localazy.com/poeditor-alternative">POEditor</a> offers an automatic translation API that complements your translations via machine translations which can save a lot of time in large projects. <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh4.googleusercontent.com/rrOoY1me6WlkSkpY40WzdjsgOOvqNUmyqEeJFgQZXB8eSxIBC9NtlYK_B2TBXpwVKMf6qXlyCvSVu-FzfE4UiNtJmGZ9tn8KL1NzShH3zLEUtz6beSg7X8WjJoKBTQmymmwps42u7uHVCidJTwMgdMzUyj-T1VRSe6CVjF8U9LV4IKhp66OKorSd03-alg" class="kg-image" alt loading="lazy"><figcaption>Source: POEditor</figcaption></figure><p>Their free version offers around 1,000 strings but doesn't include a Translation Memory (TM). The paid plans start at $14/month, and apart from using API,  POEditor can be easily integrated with Bitbucket, VTSTS, and GitHub, among other technologies. It also integrates with Microsoft Teams and Slack to support communication during localization.</p><h3 id="libretranslate">Libretranslate <a class="markdownit-header-anchor" href="#libretranslate">🔗</a></h3><p>Libretranslate offers an open-source. self-hosted, machine translation API that focuses on providing high-quality translations and keeping your data safe. Supporting over 100 languages, this open-source machine translation API is practical to some extent. What's more exciting about it is the capability of the API to work offline as well. <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh4.googleusercontent.com/94PnGgxNP9nad-6syO3uG3NDiJxO3HI6GE2c3gzV_ZtnKRcmMYXTVgzv399tEhKCzFuMVRrFgROchDhgI3tK508zWYt0qgwzKcpuQ2oFsBLkqD4-6tlbLnL6a2EQa9yIE_iUlAYS59e9p6CIXmSRXy2U6V6IoVqjHfvu4_Zs2CX7Z2CWVNLEEhZapS_D7g" class="kg-image" alt loading="lazy"><figcaption><em>Source: Libretranslate</em></figcaption></figure><p>Libretranslate provides self-hosted data services and allows you to use it even in production by utilizing an API key. </p><p>Unlike most translation service providers, the API doesn't rely on translation engines like DeepL, Amazon, or Google, but it uses the Argos Translate library, which is open source and might pose some accuracy issues at times. However, you can provide feedback to their production endpoints to suggest improvements.</p><h3 id="translated-api">Translated API <a class="markdownit-header-anchor" href="#translated-api">🔗</a></h3><p>Translated machine translation API supports a wide range of file formats and an impressive number of 194 languages. Whether you're a developer or a company, their services span from real-time progress monitoring, quality assurance, and the option to add external translators to the project easily. <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh4.googleusercontent.com/q254mJ86vVez3O6MJ7R_QjPx-F-WVmBAfaDXQmcZcLZ7O4hQ-2nh7dfjlPFYIQlkYHZRnl9ZXzasjTj4TrcvgHa6FvJoQcfRTAv7lCE_XLp0qDcQB2ZWv9S-Y4Ya2yrnWNPlcaFwPrOM_7YN60TedZhllAW8Twd18hcwRGpdkIq40JSSj6BMeZ_uv_lHTQ" class="kg-image" alt loading="lazy"><figcaption>Source: Translated Translation API</figcaption></figure><p>The company mainly serves enterprises like Airbnb and has managed translations for over 260k clients so far. Their services aid marketers with Google Ads translation and subtitling while providing an efficient API. On top of that, they offer a free migration plan and a customized extractor to pull content from your data.</p><h3 id="ibm-cloud-api-language-translator">IBM Cloud API Language Translator <a class="markdownit-header-anchor" href="#ibm-cloud-api-language-translator">🔗</a></h3><p>The IBM Cloud API Language Translator translation models allow you to customize the glossaries and terminology while translating content. The machine translation API provides different character sets and language pairs to help make your web apps multilingual.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/CEEtdYCa__cdJ1Kavn7HnCGB55mHz79cjoxuvVeH9n8N4h_TWenXbOzq3nwCPHRrhQqCZZZRSNtTt0pEdttAR3Kdcr5exXwydpz7-PkNaSDHOKiwRxJAxkiMVICREpmkN2hLPbRRhKIOCcjj1zmeESO_7KAoH1VmB6xFrdTyzCRhu0XfMhnQcmIbluJV5A" class="kg-image" alt loading="lazy"><figcaption>Source: IBM Watson Language Translator</figcaption></figure><p>The level of customization is impressive since you're allowed to personalize the domain of the content you're translating further into corpus-level customization. Implementation is done with an easy API call. </p><h3 id="translatecom-api">Translate.com API <a class="markdownit-header-anchor" href="#translatecom-api">🔗</a></h3><p>With customers like Adcash or Slidepeak, the Translate API offers both services from both human translators and machine translations (a combination that we provide through our <a href="https://localazy.com/features/continuous-localization-team">Continous Localization Team</a>). <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh6.googleusercontent.com/iESmmFl3oC5gyFFED-ShSUPJ-DSH9_1JZYIUg478j9PbdkGLp9DRnVAXbSkRxLlZzxVrTWlke1npbK-cxya2mXn6TBKDi-RTHWPVHVnRCv2Rlu8m4oN3bK5rbYQp77Jssx-4C1bEJa1tmpgvZKUgd1OHI3ESFjdPotSYCa9FUN_h2L_ivvmv-s92ncHELQ" class="kg-image" alt loading="lazy"><figcaption>Source: Translate API</figcaption></figure><p>The company offers support from human translators in over 70 languages and machine translations in over 90 languages. The service is used for customer service tickets, among others, and can immensely help reduce the costs of hiring multilingual agents.  You can also use the API to translate web content, apps, and documentation. </p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Did you find your favorite? Are you missing any from the list? Let us know in the comments. Or jump straight in and try the Localazy API to localize your next project in a hassle-free way. <br><br></p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/11/Localazy-API-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[New in Localazy CLI: Support for highly dynamic configurations in v1.6.4]]></title>
            <link>https://localazy.com/blog/new-in-localazy-cli-support-for-highly-dynamic-configurations</link>
            <guid isPermaLink="false">new-in-localazy-cli-support-for-highly-dynamic-configurations</guid>
            <pubDate>Wed, 16 Nov 2022 17:51:39 GMT</pubDate>
            <description><![CDATA[Find out what's new in the fresh version of Localazy CLI - the developer-favorite way of integration. Make sure to update to the newest v1.6.4!]]></description>
            <content:encoded><![CDATA[<h2 id="use-variables-anywhere-in-localazyjson">📌 Use variables anywhere in localazy.json <a class="markdownit-header-anchor" href="#use-variables-anywhere-in-localazyjson">🔗</a></h2><p>Before 1.6.4., it was possible to pass additional parameters on the command line using <code>-p</code> for both download and upload. However, such parameters were only available in output path patterns, conditions, and transformations. They were still useful for dynamic configurations but quite constrained.</p><p>In 1.6.4., you can make your configuration highly dynamic by using additional parameters anywhere, as they are resolved before the JSON file is parsed.</p><p>Let’s see a small example:</p><pre><code>{
  "upload": {
	"files": "${reqModule}/src/locales/**/translations.json",
	// ...
  }
}</code></pre><p>You can now upload specific folders by invoking Localazy CLI in these ways:</p><p><code>localazy upload -p reqModule:app</code><br><code>localazy upload -p reqModule:library1</code><br><code>localazy upload -p reqModule:library2</code></p><p>Previously, this could be only achieved by using groups (but with a lot of repetitive code) or conditions which is more or less suboptimal.</p><h2 id="convert-complex-files">🔄 Convert complex files <a class="markdownit-header-anchor" href="#convert-complex-files">🔗</a></h2><p>The so-called complex files are specific kinds of files on Localazy that represent a more complex structure than just a single file as we know it from the file system. A complex file can consist of several overlayed files at once. It’s primarily useful for highly specific situations, such as our Android SDK.</p><p>Until today, it wasn’t possible to apply format conversions to complex files, thus limiting development on multiple platforms.</p><p>We have finished support for this feature, but it’s still a bit experimental, so use it carefully ;-).</p><h2 id="sorted-metadata">📇 Sorted metadata <a class="markdownit-header-anchor" href="#sorted-metadata">🔗</a></h2><p>CLI now produces metadata files with sorted languages to avoid unnecessary diffs on commits.</p><h2 id="report-on-missing-groups">📑 Report on missing groups <a class="markdownit-header-anchor" href="#report-on-missing-groups">🔗</a></h2><p>If you use non-existent groups on the command line, the CLI now fails with an error. This tiny change helps to debug complex configuration files.</p><hr><p>You may miss release info for versions 1.6.1 - 1.6.3, but those were just about security patches for the dependencies.</p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/11/New-CLI-1_6_4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Spanish, a growing language in the business world]]></title>
            <link>https://localazy.com/blog/spanish-a-growing-language-in-the-business-world</link>
            <guid isPermaLink="false">spanish-a-growing-language-in-the-business-world</guid>
            <pubDate>Thu, 02 Nov 2023 09:18:26 GMT</pubDate>
            <description><![CDATA[Learn why Spanish is an important language to consider and why it might be one of the first to choose when you start with the localization of your product. There's no wonder Spanish is the most popular language on our platform!]]></description>
            <content:encoded><![CDATA[<h2 id="introduction">📖 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2><p>Before discussing this topic, we first need to know a little about the history of this language. Spanish is one of the Romance languages that originated from Vulgar Latin, which in turn originated from the living or cultured <a href="https://hub.localazy.com/en/languages/la-latin">Latin</a> that was spoken in the Roman Empire.</p><h3 id="origin-of-spanish-language">Origin of Spanish Language <a class="markdownit-header-anchor" href="#origin-of-spanish-language">🔗</a></h3><p>The Romance languages were formed by the end of the 9th century and emerged from the various dialects that differed in pronunciation and writing that gained prominence as the number of people speaking them grew. These dialects included <a href="https://hub.localazy.com/en/languages/pt-portuguese">Portuguese</a>, Galician, Castilian, Asturleonese, Aragonese, <a href="https://hub.localazy.com/en/languages/ca-catalan">Catalan</a>, Occitan, French, Rhaeto-Romanic, <a href="https://hub.localazy.com/en/languages/it-italian">Italian</a>, <a href="https://hub.localazy.com/en/languages/ro-romanian">Romanian</a>, and Dalmatian.</p><h3 id="who-speaks-spanish">Who speaks Spanish? <a class="markdownit-header-anchor" href="#who-speaks-spanish">🔗</a></h3><p><a href="https://hub.localazy.com/en/languages/es-spanish">Spanish</a> is the official language of 21 countries, most of them in America and Europe, although it is also present in former Spanish colonies such as the <a href="https://hub.localazy.com/en/regions/ph-philippines">Philippines</a> (Asia), <a href="https://hub.localazy.com/en/regions/gq-equatorial-guinea">Equatorial Guinea</a>, and Western Sahara (Africa); it is the mother tongue of millions of people and is also spoken by those who study Spanish as a second language; all in all, <strong>more than 450 million people speak Spanish</strong>.</p><h3 id="the-difference-between-spanish-and-castilian">The Difference between Spanish and Castilian <a class="markdownit-header-anchor" href="#the-difference-between-spanish-and-castilian">🔗</a></h3><p>A notion that many of us have heard but few have wondered about and investigated is the Castilian language. In particular, what is the difference between Spanish and Castilian? </p><p>The answer is simple: the term Spanish comes from the word Spain, while Castilian comes from Castile, one of the original kingdoms that originated the country. This was later used to differentiate the Spanish <a href="https://hub.localazy.com/en/regions/419-latin-america">dialect spoken in Latin America</a> from the one used in Europe. But there's no such thing as two dialects in Spanish... There are multiple ones and that's what we're going to talk about next.</p><h3 id="the-importance-of-dialects">The importance of dialects <a class="markdownit-header-anchor" href="#the-importance-of-dialects">🔗</a></h3><p>A dialect is a specific form of a language spoken in a particular part of the country of used by a particular group of people. Nearly every language in the world has dialects, which are generally regional varieties of a standard tongue. They are not to be confused with accents, as the standarized version of a language can be spoken in different accents.</p><p>Having said that, did you know that there are dozens of Spanish dialects all over the world? Although most Spanish speakers can understand each other, the Spanish spoken in Argentina differs from the one spoken in Mexico, Chile, Philippines, Ecuatorial Guinea or Antilles. </p><p>This means that this incredibly diverse language has many regional variants inside every country, like Andalusian (Spain), Rioplatense (Argentina and Uruguay) or Caribbean (Cuba, Venezuela, Panama...). Differences in pronunciation, vocabulary and grammar can also be found in several regions of Spain, where there are five co-official languages as well (Basque, Catalan, Galician, Valencian and Aranese).  Imagine the richness the language has in every country it's present on!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-12.png" class="kg-image" alt loading="lazy" width="800" height="873" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-12.png 600w, https://ghost.localazy.com/content/images/2022/11/image-12.png 800w" sizes="(min-width: 720px) 720px"></figure><h2 id="why-is-spanish-important">🤔 Why is Spanish important? <a class="markdownit-header-anchor" href="#why-is-spanish-important">🔗</a></h2><p>Let's run over the facts quickly:</p><ul><li>It is spoken as a <strong>mother tongue not only in Spain</strong> but in many other countries such as the <a href="https://hub.localazy.com/en/regions/us-united-states">United States</a> (37 million), Canada (909,000), Brazil (460,000), the Philippines (439,000), and more.</li><li>Spanish is the <strong>official language of the following 21 countries</strong>: Argentina, Bolivia, Chile, Colombia, Costa Rica, Cuba, Dominican Republic, Ecuador, El Salvador, Equatorial Guinea, Guatemala, Honduras, Mexico, Nicaragua, Panama, Paraguay, Peru, Spain, Uruguay, Venezuela, and Puerto Rico.</li><li>Although not an official language, Spanish is also <strong>spoken in the United States</strong>, Belize, Andorra, and Gibraltar.</li><li>It is <strong>the fourth most popular language in the world</strong> after English, Mandarin and Hindi. And if we focus on the number of total native speakers, it escalates to the second position after Mandarin.</li><li><strong>18 million students study Spanish</strong> as a foreign language.</li><li>Latin American countries have experienced strong economic growth for years with GDP growth, resulting in driving major trade, economic and political agreements.</li><li>Hispanic actors and singers are gaining worldwide recognition and fame.</li></ul><!--kg-card-begin: markdown--><blockquote>
<p>Spanish is the official language of 21 countries and the second most spoken language in the world in terms of native speakers</p>
</blockquote>
<!--kg-card-end: markdown--><p>Some predictions for the future of the Spanish language:</p><ul><li>In 3 or 4 generations, it is estimated that <strong>10% of the world's population will understand Spanish</strong>.</li><li>By 2030, some 535 million people in the world will be native Spanish speakers.</li><li>By 2050, the United States will become the country with the world's largest population of Spanish speakers.</li><li>Economy and culture: More and more companies value employees with Spanish language skills, a language that provides access to one of the fastest-growing markets in the world.</li><li>The world is rapidly becoming multilingual, and Spanish is one of the key languages of the future.</li></ul><p>The importance of knowing Spanish goes beyond the borders of <a href="https://hub.localazy.com/en/regions/es-spain">Spain</a>. Large companies have decided to broaden their horizons and are already present in larger international cities.</p><h2 id="doing-business-in-spanish">🤝 Doing business in Spanish <a class="markdownit-header-anchor" href="#doing-business-in-spanish">🔗</a></h2><p>Think you need to make a change in your business? Maybe Spanish can help expand it – not only does it have 400 million native speakers but it also comes with a large Hispanic population in the U.S., which greatly increases the importance of the language in that region. An additional fact that highlights the importance of the language is that more than 21 million students in schools and institutes study Spanish as a foreign language.</p><p>Young people all over the world are learning this language, and we have to take advantage of its great expansion and promote our trade. Due to its worldwide deployment, Spanish has become a key language for creating alliances between different business circles, such as the strategic Latin American market. Some sectors, such as the world of telecommunications with Telefónica at the forefront, are good examples of this.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/11/image-13.png" class="kg-image" alt loading="lazy" width="563" height="750"></figure><h3 id="financial-sector">Financial sector <a class="markdownit-header-anchor" href="#financial-sector">🔗</a></h3><p>We must also not forget that there are many other areas where Spanish business is booming and represents the Spanish brand with guaranteed success. Here one can mention, for example, the financial sector with renowned banks such as Santander and BBVA that perhaps best capture the significance and crucial role of the Spanish language in the business world. </p><p>The latter has become one of the largest financial companies in the world and, in addition to Spain, is present mainly in Mexico, South America, the U.S., and Turkey. On the other hand, <strong>Santander Bank</strong> – which is also one of the world's leading banks – is present in the markets of the United Kingdom, Portugal, Poland, Brazil, Chile, and Argentina, among others.</p><h3 id="retail-world">Retail world <a class="markdownit-header-anchor" href="#retail-world">🔗</a></h3><p>Another strength of <strong>Spanish commerce</strong> lies in the retail sector. Spanish can open many doors when it comes to promoting your business, for instance, in the world of textiles, with the Zara brand at the forefront. There, Spain has one of the most<strong> important multinational groups</strong> in the world, Inditex – a brand that is present in 5 continents with more than 7,000 stores divided among its main brands.</p><h2 id="closing-words">💭 Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>For all these reasons above, Spanish has become essential in our globalized world. Not only is it the key that allows us to access the prominent Hispanic culture and enjoy the works of universal masters of literature, art, and cinema, but it also opens many doors at a professional level. </p><h2 id="spanish-localization-with-localazy">🚩 Spanish localization with Localazy <a class="markdownit-header-anchor" href="#spanish-localization-with-localazy">🔗</a></h2><p>Localazy allows you to translate your software projects, websites, and other digital content into many languages, including Spanish. And as said earlier, <a href="/blog/hundred-million-translations-localazy-2021-review#most-popular-languages">Spanish is the most popular language among Localazy users</a>! </p><blockquote>➡️ <strong>Learn how to order translations for your project in</strong><br><strong><a href="/blog/guide-localazy-translation-services">The ultimate guide to Localazy translation services</a>.</strong></blockquote><p>Translate your projects from <a href="/translate/en-es">English to Spanish</a> comfortably with Localazy. Among other things, you will want to make sure that you're hitting the right dialect too! Don't be left behind and dare to invest in good translations that sound natural. Enlist our localization team with <a href="/term/professional-translation-services">professional translators</a> trained in different areas to satisfy all of your company's needs. Don't think twice and let your company reach beyond its current boundaries with Localazy.</p><p></p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/11/locales-spanish.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Guide To Supastarter & Localazy: Make a multilingual e-commerce app]]></title>
            <link>https://localazy.com/blog/guide-build-ecommerce-app-supastarter-localazy</link>
            <guid isPermaLink="false">guide-build-ecommerce-app-supastarter-localazy</guid>
            <pubDate>Thu, 18 May 2023 09:06:13 GMT</pubDate>
            <description><![CDATA[Learn how to build and localize an e-commerce app in this article quickly. Use the supastarter boilerplate to get a head start and connect your project with Localazy to easily translate it into more languages.]]></description>
            <content:encoded><![CDATA[<p>Every developer wants to build a project more quickly and easily while having it scalable on several platforms. This is a significant challenge, and Supastarter was built to address it. </p><h2 id="what-is-supastarter">🙋‍♂️ What is supastarter? <a class="markdownit-header-anchor" href="#what-is-supastarter">🔗</a></h2><p>Supastarter is a starter template that gives developers a head start when developing their web application/SaaS and saves valuable time. This template is built upon Next.js and Supabase.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/10/image-13.png" class="kg-image" alt loading="lazy" width="636" height="452" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/image-13.png 600w, https://ghost.localazy.com/content/images/2022/10/image-13.png 636w"><figcaption>supastarter tech stack</figcaption></figure><p>You can also <a href="/blog/interview-supercharging-developers-using-supastarter">read an interview with <strong>Jonathan Wilke</strong></a>, the co-founder of supastarter, who described supastarter as follows:</p><blockquote><em>supastarter gives people the opportunity to ship a ready-to-use application within hours. The big goal is that developers and product owners don’t have to build the basis themselves but rather can focus on providing value to their users.</em></blockquote><h2 id="features-of-supastarter">🎛️ Features of supastarter <a class="markdownit-header-anchor" href="#features-of-supastarter">🔗</a></h2><p>Supastarter comes with all the features you need to build a scalable SaaS.</p><p><strong>Authentication</strong><br>Supastarter has an awesome authentication system with Supabase that is ready to use. It supports all OAuth providers and also includes all authentication components such as Signup, Login, Password reset, etc.</p><p><strong>Internationalization (i18n)</strong><br>Supastarter supports full <a href="/dictionary/internationalization">internationalization</a> with the integrated next-i18next. These translations are ready to be used with a translation management tool. In this tutorial, we will use Localazy as the <a href="/dictionary/translation-management-system-tms">tool for translation management</a>.</p><p><strong>Mail templates</strong><br>It has ready-to-use customizable templates for email notifications.</p><p><strong>Fully customizable</strong><br>Components are fully customizable. Supastarter also supports the Dark mode feature with an extendable Chakra UI theme.</p><p><strong>Serverless architecture</strong><br>Applications built with Supastarter can be used with serverless platforms such as Vercel. It also provides app scalability across every use case.</p><p><strong>Data fetching</strong><br>Data can be easily fetched and cached using the TanStack query. This is a library for asynchronous state management and data caching.</p><p>A lot more features are available within the supastarter template. You can check them out on the <a href="https://supastarter.dev/#features">supastarter official website</a>.</p><h2 id="goal-of-this-guide">🎯 Goal of this guide <a class="markdownit-header-anchor" href="#goal-of-this-guide">🔗</a></h2><p>In this blog, we will be exploring the <a href="https://supastarter.dev/docs/i18n" rel="noreferrer nofollow noopener">i18n capabilities</a> of Supastarter. We will build an e-commerce platform using Supastarter and handle multilingual content using Localazy. Localazy is an automated localization platform that can handle the auto-translation of contents in your application. We will follow a couple of steps to build our application.</p><h2 id="create-the-supastarter-project">⚙️ Create the supastarter project <a class="markdownit-header-anchor" href="#create-the-supastarter-project">🔗</a></h2><blockquote>⚠️ This tutorial makes use of a paid product plan from supastarter. In order to follow through the steps, you need to have a paid product plan. The pricing for each plan can be found on the <a href="https://supastarter.dev/#pricing">official Supastarter website</a>. </blockquote><h3 id="supabase-setup">Supabase Setup <a class="markdownit-header-anchor" href="#supabase-setup">🔗</a></h3><p>Supabase is an alternative to <a href="/dictionary/firebase">Firebase</a>. We need to create our Supabase project before we can start running our supastarter project. </p><p>The first step is to sign in to your GitHub account on the <a href="https://app.supabase.com/" rel="noreferrer nofollow noopener">Supabase website</a>. You will be required to authorize supabase to your account to have access to the Supabase dashboard.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664728367635_Screenshot+2022-09-29+at+6.02.25+PM.png" class="kg-image" alt loading="lazy"><figcaption>supabase dashboard</figcaption></figure><p>Create a new project and on the dashboard sidebar, navigate to <strong>Settings</strong> → <strong>APIs</strong>. In the APIs section, copy the following URLs as they would be necessary for completing the installation process.</p><ul><li>The<strong> URL</strong> under the Project URL</li><li>The <strong>service_role </strong>and <strong>anon public </strong>keys under the Project API keys</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664728388641_Screenshot+2022-09-29+at+6.13.20+PM.png" class="kg-image" alt loading="lazy"><figcaption>Supabase dashboard (setting)</figcaption></figure><h3 id="clone-the-supastarter-repository">Clone the supastarter repository <a class="markdownit-header-anchor" href="#clone-the-supastarter-repository">🔗</a></h3><p>After successfully creating our project, we will be cloning the boilerplate from the supastarter GitHub repository into our local computer. Copy the following code snippets and paste them into the terminal of a specified directory.</p><pre><code>git clone https://github.com/supastarter/supastarter.git</code></pre><h3 id="configuration-and-installation">Configuration and Installation <a class="markdownit-header-anchor" href="#configuration-and-installation">🔗</a></h3><p>After cloning the repository, we need to configure our project so it can connect to Supabase. In the root directory, rename the <code>.env.example</code> file to <code>.env</code>.<strong> </strong>Within this file, fill in the variables with the necessary values.</p><pre><code class="language-terminal">NEXT_PUBLIC_SUPABASE_URL=YOUR_PROJECT_URL
NEXT_PUBLIC_SUPABASE_ANON_KEY=YOUR_ANON_PUBLIC_KEY
SUPABASE_SERVICE_ROLE_KEY=YOUR_SERVICE_ROLE_KEY</code></pre><blockquote>The following step is necessary for <strong>User Management System</strong>. If your project involves managing users such as registering a new user, logging a user, and having access to a user's dashboard, it is important that you run the next step, else you can skip this step as it is not compulsory in order to have access to the demo website or your final project.</blockquote><p>After filling in the environment variables, navigate to the <code>supabase-db-setup.sql</code> file in the root directory and copy its contents. Navigate to the <strong>SQL Editor</strong> in the Supabase admin dashboard and paste the contents in the editor. </p><p>Click on the <strong>Run</strong> button, and your database should be set up after a few seconds.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664731298872_Screenshot+2022-09-29+at+6.20.46+PM.png" class="kg-image" alt loading="lazy"><figcaption>Supabase dashboard (SQL editor)</figcaption></figure><p>We will be installing the dependencies and packages in the project. Run the following command to install the dependencies</p><pre><code>npm install</code></pre><p>Start the development server by running the command below.</p><pre><code>npm run dev</code></pre><p>When you visit <code>http://localhost:3000/</code> on your browser, you should see the deployed project.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664802229912_Screenshot+2022-10-03+at+2.02.28+PM.png" class="kg-image" alt loading="lazy"><figcaption>supastarter demo page</figcaption></figure><h2 id="e-commerce-project-build">🛍️ E-commerce Project build <a class="markdownit-header-anchor" href="#e-commerce-project-build">🔗</a></h2><p>You have successfully set up the supastarter template for the project at this stage. We will modify our template to build a simple e-commerce application in the next steps. </p><p>Let's call it <strong>SupaCommerce</strong>. SupaCommerce is an online e-commerce application that displays electronic gadgets such as laptops, smart wristwatches, headphones, mobile phones, etc. These products are visible in the catalog section, and it also has a blog section where updates and reviews on electronic gadgets are uploaded for visitors at intervals. </p><p>In the <code>components/home/Features.tsx</code> file, we will be modifying the content to suit our project. Copy the following code snippets into the file.</p><pre><code>
import {
  Box,
  Heading,
  Stack,
  useColorModeValue,
  Image,
  Grid,
  SimpleGrid
} from '@chakra-ui/react';
import { useTranslation } from 'next-i18next';
import SectionHeadline from './SectionHeadline';
export default function Features() {
  const { t } = useTranslation('home');
  const itemBg = useColorModeValue('white', 'gray.700');
  const featureItems = [
    {
      title: t('items.laptop.title'),
      description: t('items.laptop.description'),
      imageUrl: "https://cdn.thewirecutter.com/wp-content/media/2022/07/laptop-under-500-2048px-acer-1.jpg"
    },
    {
      title: t('items.phones.title'),
      description: t('items.phones.description'),
      imageUrl: "https://www.android.com/static/2016/img/one/carousel/xiaomi_phones_a3-global_1x.png"
    },
    {
      title: t('items.headphones.title'),
      description: t('items.headphones.description'),
      imageUrl: "https://www.beatsbydre.com/content/dam/beats/web/product/headphones/solo3-wireless/pdp/solo3-pdp-p02.png.large.2x.png"
    },
    {
      title: t('items.airpods.title'),
      description: t('items.airpods.description'),
      imageUrl: "https://media.istockphoto.com/photos/apple-airpods-pro-on-a-white-background-picture-id1208634643?k=20&amp;m=1208634643&amp;s=612x612&amp;w=0&amp;h=OyKuK4H2v_xtTSaH86BLMYFgTcO-CfmBCEmI61G3omw="
    },
    {
      title: t('items.smartWatch.title'),
      description: t('items.smartWatch.description'),
      imageUrl: "https://vmart.pk/wp-content/uploads/2022/02/Kieslect-K10-Smart-Watch-Black-4.jpg"
    },
    {
      title: t('items.smartTv.title'),
      description: t('items.smartTv.description'),
      imageUrl: "https://i5.walmartimages.com/asr/8782302f-5f1b-498f-af06-3cc477f95fb3.e34225d118e037e089f4eb3b3681faf5.jpeg"
    },
  ];
  return (
    &lt;Box id="catalogue" px={16} py={16} bg='#f2ebff' &gt;
      &lt;SectionHeadline title={t('items.title')} description={t('items.description')} /&gt;
      &lt;SimpleGrid columns={[1, 2]} spacing={10}&gt;
        {featureItems.map((item, i) =&gt; (
          &lt;Stack
            direction={{ base: 'column', md: 'row' }}
            spacing={6}
            key={i}
            w="full"
            p={8}
            bg={itemBg}
            rounded="3xl"
          &gt;
            &lt;Box flex={1}&gt;
              &lt;Box mb={8}&gt;
                &lt;Image src={item.imageUrl} alt='image' h='150px' /&gt;
              &lt;/Box&gt;
              &lt;Heading fontSize="xl" mb={2}&gt;
                {item.title}
              &lt;/Heading&gt;
              &lt;p&gt;{item.description}&lt;/p&gt;
            &lt;/Box&gt;
          &lt;/Stack&gt;
        ))}
      &lt;/SimpleGrid&gt;
    &lt;/Box&gt;
  );
}
</code></pre><p>In the <code>content/blog</code> folder, we will delete the two files within and create a new MDX file called <code>hp.mdx</code>.<strong> </strong>Copy the following snippets into the new file:</p><pre><code>---
title: The best HP laptops, its pros and cons
excerpt: Check out the best HP laptops in the phone industry. In this post, we would explicitly have a review about HP laptops
coverImage: /blog/images/cover.png
authorName: Mary Okosun
authorImage: /blog/images/author.png
date: '2022-10-09'
published: true
---

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</code></pre><p>We will not be handling any form of authentication in this project, so we will delete all auth files and folders. In the component folder, we will delete the <code>auth</code> folder and its content. Also, we will delete every file that involves the user profile, clients, and dashboard since we don't need them for our purposes. </p><blockquote>At the end of this post, I will drop the GitHub repository so we can compare the differences. </blockquote><p>Another modification we have to do is to edit the default locale file. Navigate to the <code>public/locales/en</code> folder. Within this folder, delete the <code>auth.json</code> and <code>app.json</code>.</p><p>Copy the following snippets into the <code>home.json</code> file:</p><pre><code>
{
  "hero": {
    "title": "Welcome to SupaCommerce",
    "description": "Shop whatever you like with us. We ensure shopping for gadgets an awesome experience."
  },
  "items": {
    "title": "Catalogue",
    "description": "Check out our latest product catalogue!",
    "laptop": {
      "title": "Laptops",
      "description": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Libero quo ducimus nemo quis possimus."
    },
    "phones": {
      "title": "Phones",
      "description": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Libero quo ducimus nemo quis possimus."
    },
    "headphones": {
      "title": "Headphones",
      "description": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Libero quo ducimus nemo quis possimus."
    },
    "airpods": {
      "title": "Airpods",
      "description": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Libero quo ducimus nemo quis possimus."
    },
    "smartWatch": {
      "title": "Smart Wristwatch",
      "description": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Libero quo ducimus nemo quis possimus."
    },
    "smartTv": {
      "title": "Smart TVs",
      "description": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Libero quo ducimus nemo quis possimus."
    }
  }
}</code></pre><p><br>Copy the following snippets to the <code>common.json</code> file:</p><pre><code>{
  "colorMode": {
    "dark": "Dark",
    "light": "Light"
  },
  "language": "Language",
  "footer": {
    "allRightsReserved": "All rights reserved."
  },
  "menu": {
    "catalogue": "Catalogue",
    "blog": "Blog"
  }
}</code></pre><p><br>Modify the <code>blog.json</code> file to have similar content as below</p><pre><code>{
  "title": "Blog",
  "description": "Check out some articles on popular gadgets in 2022",
  "readMore": "Read more",
  "writtenBy": "Written by",
  "publishedOn": "Published on",
  "blog": "Blog"
}</code></pre><p><br>When you visit <code>http://localhost:3000/</code>, you should see our e-commerce application.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664826616504_Screenshot+2022-10-03+at+8.47.17+PM.png" class="kg-image" alt loading="lazy"><figcaption>E-commerce application</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664826616456_Screenshot+2022-10-03+at+8.47.38+PM.png" class="kg-image" alt loading="lazy"><figcaption>E-commerce application</figcaption></figure><h2 id="managing-multilingual-content-with-localazy">🚩 Managing Multilingual Content with Localazy <a class="markdownit-header-anchor" href="#managing-multilingual-content-with-localazy">🔗</a></h2><p>Now that we have our application up and running with the supastarter template, we will be maximizing the i18n capabilities of the application using Localazy. </p><p>As stated earlier, Localazy is a localization tool with powerful features that enable you to translate your app in minutes. We will use Localazy integrated into our supastarter app.</p><h3 id="setup-localazy-project">Setup Localazy project <a class="markdownit-header-anchor" href="#setup-localazy-project">🔗</a></h3><p>In order to set up a new project on Localazy, you need to have a Localazy account. If you do not have one yet, you can register to have access to a free account on the <a href="https://localazy.com/register" rel="noreferrer nofollow noopener">official website</a>. After registering, you will be redirected to your dashboard. </p><p>Click on the <strong>Create a new project </strong>button, and you can give it a name of your choice. Within your new project, navigate to the <strong>Project settings </strong>and click on the Access keys. You need to copy the <strong>writeKey</strong> and <strong>readKey</strong> as you would need them to complete the setup in our e-commerce application.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664831379186_Screenshot+2022-10-03+at+9.26.15+PM.png" class="kg-image" alt loading="lazy"><figcaption>Localazy Project settings</figcaption></figure><h3 id="localazy-configuration">Localazy configuration <a class="markdownit-header-anchor" href="#localazy-configuration">🔗</a></h3><p>Let's start localizing our app with <a href="/features/cli">Localazy CLI</a>. Localazy CLI is a command-line interface that can be used to upload files to the Localazy platform and download translations back to your application. It’s simple to start yet flexible enough for any project and has tremendous automation potential when combined with <a href="/tags/github">GitHub actions</a> or similar <a href="/dictionary/continuous-integration/">CI/CD</a> solutions. </p><p>The first step to getting started is to <a href="/docs/cli/installation">install the Localazy CLI</a> as a dependency in our project.</p><pre><code>npm install @localazy/cli</code></pre><p>After installing the CLI, in the root directory of our application, create a configuration script <code>localazy.json</code> that tells the CLI tool what files to upload and how to process downloaded translations.</p><pre><code>
{
  "writeKey": "your-apps-write-key", 
  "readKey": "your-apps-read-key",
  "upload": {
    "type": "json",
    "files": "public/locales/en/*.json"
  },
  "download": {
    "files": "public/locales/${lang}/${file}"
  }
}</code></pre><p>The <code>upload</code> code tells Localazy CLI how to collect files that should be uploaded and optionally can provide metadata for uploaded files. </p><p>The <code>download</code> section describes how to process translated files and where to write them. </p><p>As suggested in the <a href="https://supastarter.dev/blog/localazy-integration">supastarter + Localazy integration guide</a>. We can add these commands to customize how our application can run the upload and download from our terminal. To do this, we need to add the following code snippets to the <code>package.json</code> file.</p><pre><code>{
  "scripts": {
    // ........
    "i18n:upload": "localazy upload",
    "i18n:download": "localazy download"
  }
}</code></pre><h3 id="content-translation">Content translation <a class="markdownit-header-anchor" href="#content-translation">🔗</a></h3><p>Navigate to the <code>public/locales</code><strong>, </strong>and<strong> </strong>delete the German translation, as the contents have been completely changed. Therefore, the translation would be wrong too. In your terminal, run the following code snippet to upload your source content to Localazy.</p><pre><code>npm run i18n:upload
OR
npx localazy upload</code></pre><p>The command above will upload all the JSON files in the <code>public/locales/en</code> folder to Localazy. Navigate back to your project on Localazy, and you can add new languages you intend to translate. </p><p>For our application, we would be translating into <strong>German (de), French (fr), and Spanish (es).</strong></p><figure class="kg-card kg-image-card"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664831361836_Screenshot+2022-10-03+at+10.07.05+PM.png" class="kg-image" alt loading="lazy"></figure><p>After adding the languages, you can start translating your strings.</p><p>Localazy offers three approaches to choose from and combine to translate your project:</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors - </strong>You can <a href="https://localazy.com/docs/general/translating-strings">start translating on your own</a> and use our built-in suggestion system.</li><li>🦾 <strong>Translate everything in bulk via machine translation - </strong>With the Localazy <a href="https://localazy.com/tiers/autopilot">Autopilot plan</a>, you can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate">running a machine translation over the content</a>. This is great for the first iteration and localization testing of any project.</li><li>🚩 <strong>Fully automate the translation process with the <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization</a> services</strong> - Once your Localazy integration is set up, you can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to check the progress.</li></ol><p>I will quickly translate everything using the built-in suggestions.</p><figure class="kg-card kg-image-card"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664831361873_Screenshot+2022-10-03+at+10.08.11+PM.png" class="kg-image" alt loading="lazy"></figure><p>When you are done translating the content, you should see something similar to the screenshot below:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/10/Capture.PNG" class="kg-image" alt loading="lazy" width="1490" height="823" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/Capture.PNG 600w, https://ghost.localazy.com/content/images/size/w1000/2022/10/Capture.PNG 1000w, https://ghost.localazy.com/content/images/2022/10/Capture.PNG 1490w" sizes="(min-width: 720px) 720px"><figcaption>Translated Content</figcaption></figure><p>You can download the translated content into your application by running the command:</p><pre><code>npm run i18n:download
OR
npx localazy download</code></pre><p>The command above will download the locales as JSON files in their respective folders. You should see the translated locales in the <code>public/locales/${lang}</code> folders. We need to add the new locales to the config files. </p><p>In the <code>next-i18next.config.js</code> file, add the new locales to the locales array</p><pre><code>module.exports = {
  i18n: {
    defaultLocale: 'en',
    locales: ['en', 'de', 'es', 'fr'],
  },
  ....
};</code></pre><p>In the <code>config/i18n.ts</code><strong> </strong>file, modify the content to be similar to the following</p><pre><code>......
export const localeNames = {
  de: 'German',
  en: 'English',
  fr: 'French',
  es: 'Spanish'
};
.....</code></pre><h2 id="testing-your-app">🕹️ Testing your App <a class="markdownit-header-anchor" href="#testing-your-app">🔗</a></h2><p>Congratulations! You have successfully translated your e-commerce application into 3 different locales: <strong>German</strong>, <strong>French,</strong> and <strong>Spanish</strong>. After modifying the config files, in order to see the effect of these changes, restart your server. </p><p>When you visit <code>http://localhost:3000/</code>, you can navigate through your application and change locales with the respective translated content displayed.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664881625762_Screenshot+2022-10-04+at+11.59.31+AM.png" class="kg-image" alt loading="lazy"><figcaption>German Translation</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664881625809_Screenshot+2022-10-04+at+11.59.45+AM.png" class="kg-image" alt loading="lazy"><figcaption>English Translation</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664881625871_Screenshot+2022-10-04+at+12.00.03+PM.png" class="kg-image" alt loading="lazy"><figcaption>Spanish Translation</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://paper-attachments.dropbox.com/s_DE7D876F79917BF531DAB67417B578AA0F977A28EBECC7022C5770D544FB7128_1664881625921_Screenshot+2022-10-04+at+12.00.13+PM.png" class="kg-image" alt loading="lazy"><figcaption>French Translation</figcaption></figure><h2 id="try-supastarter-today">🚀 Try Supastarter today! <a class="markdownit-header-anchor" href="#try-supastarter-today">🔗</a></h2><p>Try supastarter with Localazy and build your own project! Find our partner discount below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><a href="https://supastarter.dev/partners/localazy?utm_source=localazy.com&amp;utm_medium=cta&amp;utm_campaign=partnerships&amp;utm_content=blog_cta"><img src="https://ghost.localazy.com/content/images/2022/11/image-14.png" class="kg-image" alt="Supastarter + Localazy Partner Offer" loading="lazy" width="640" height="287" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-14.png 600w, https://ghost.localazy.com/content/images/2022/11/image-14.png 640w"></a><figcaption>Supastarter + Localazy Partner Offer</figcaption></figure><blockquote>As a Localazy user, with the partner offer you can<strong> <a href="https://supastarter.dev/partners/localazy?utm_source=localazy.com&amp;utm_medium=cta&amp;utm_campaign=partnerships&amp;utm_content=blog_cta">get $20 off for the supastarter starter plan!</a></strong></blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>In this blog, we explored the i18n capabilities of supastarter. We learned how Supastarter as a tool helps product owners and developers build things in a faster and more enjoyable way. We also built an e-commerce application using supastarter as a template and handled multilingual content using Localazy. </p><p>The code for the sample project used in this blog can be accessed on the <a href="https://github.com/Marienoir/Localazy-Blog/tree/main/Ecommerce-Project">GitHub repository</a>.</p><p></p>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/10/Supastarter--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Zapier, Language Permissions, New Translation UI and more!]]></title>
            <link>https://localazy.com/blog/release-update-zapier-integration-language-permissions-new-translation-ui-strapi-event</link>
            <guid isPermaLink="false">release-update-zapier-integration-language-permissions-new-translation-ui-strapi-event</guid>
            <pubDate>Thu, 04 Jan 2024 10:38:38 GMT</pubDate>
            <description><![CDATA[Learn what's new inside your favorite localization platform! Read more about the latest Zapier integration, new features, interface improvements, and updates to our Strapi and Figma plugins.]]></description>
            <content:encoded><![CDATA[<p>The summer is long gone, the days are getting shorter, and we are all looking forward to wrapping this year up. So, before you get back to daydreaming about winter holidays and unwrapping presents, let's unwrap the new Localazy Release Update! </p><p>But before we do, one important thing!</p><h2 id="join-us-at-the-strapi-localazy-online-event">🎙️ Join us at the Strapi + Localazy online event <a class="markdownit-header-anchor" href="#join-us-at-the-strapi-localazy-online-event">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><a href="https://lu.ma/localazy"><img src="https://ghost.localazy.com/content/images/2022/10/image-10.png" class="kg-image" alt loading="lazy" width="2000" height="1000" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/10/image-10.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/10/image-10.png 1600w, https://ghost.localazy.com/content/images/2022/10/image-10.png 2000w" sizes="(min-width: 720px) 720px"></a><figcaption>Register for the event at <a href="https://lu.ma/localazy">https://lu.ma/localazy</a></figcaption></figure><p>Save the date of <strong>27th October</strong> and <a href="https://lu.ma/localazy">join our developers David and Dan on the Strapi call with Paul Bratslavsky</a>, who will talk about the story behind the Localazy plugin for Strapi.</p><p>You should absolutely join the call if you want to develop your own Strapi plugin, see our localization plugin in action, or just meet some of the guys behind Localazy. 😊</p><blockquote><strong>More details and registration at </strong><a href="https://lu.ma/localazy">https://lu.ma/localazy</a></blockquote><h2 id="zapier-integration">⚡ Zapier Integration <a class="markdownit-header-anchor" href="#zapier-integration">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/10/image-5.png" class="kg-image" alt loading="lazy" width="563" height="371"></figure><p>You can now create your own Zaps or use one of the example templates to <a href="https://zapier.com/apps/localazy/integrations">integrate Localazy with over 5000 apps</a>. Build your own workflows across platforms to stay on top of things and automate your localization workflow even more with Localazy and Zapier!</p><blockquote><strong>Learn how to <a href="/blog/enhance-your-localization-workflow-with-zapier-localazy">Enhance your localization workflow with Zapier &amp; Localazy</a></strong></blockquote><p>Localazy currently offers three Triggers and two Actions that enable you to connect any app as a new source of content for translation, send notifications to your teammates based on events happening in Localazy, and much more. </p><p>The possibilities are endless, and we are curious to see what kind of workflows you can come up with! To get started, <a href="https://localazy.com/docs/zapier/introduction-zapier">read the docs</a> or pick one of the templates below:</p><!--kg-card-begin: html--><zapier-zap-templates
  apps="localazy"
  create-without-template="hide"
  limit="5"
  use-this-zap="show"
  theme="light"
></zapier-zap-templates>
<!--kg-card-end: html--><h2 id="language-permissions">🔐 Language Permissions  <a class="markdownit-header-anchor" href="#language-permissions">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/10/image-6.png" class="kg-image" alt loading="lazy" width="2000" height="1057" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/10/image-6.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/10/image-6.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/10/image-6.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Language Permissions</figcaption></figure><p>Language permissions give <a href="/tiers/business">Business plan</a> users more granular control of their project contributors. Define who can translate only specific languages and decide on the project-wide rules.</p><p>New options in the project settings:</p><ul><li><strong>New members can access all languages</strong> – Project members can see and contribute to any language in the project.</li><li><strong>Restrict new members from any access</strong> – Project members won't see any project languages unless assigned at least one.</li></ul><blockquote><strong>Learn more about <a href="/docs/general/language-permissions">Language Permissions in the docs</a></strong></blockquote><h2 id="duplicity-linking-beta">🖇️ Duplicity Linking (beta) <a class="markdownit-header-anchor" href="#duplicity-linking-beta">🔗</a></h2><p>Another boost for Business tier users is the Duplicity Linking feature, which is currently in beta. </p><p>Never translate the same content in different keys again. Localazy can detect duplicities in your project(s) and link them together to share translations across files and projects. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/10/image-12.png" class="kg-image" alt loading="lazy" width="998" height="613" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/image-12.png 600w, https://ghost.localazy.com/content/images/2022/10/image-12.png 998w" sizes="(min-width: 720px) 720px"><figcaption>Image of the new duplicity analysis from our internal testing.</figcaption></figure><p>This feature will be perfect for multiplatform translation management or projects with multiple teams collaborating on different components that might reuse the same messages with varying keys in different files.</p><h2 id="lessstronggreaterlessstronggreater-new-translation-and-review-ui"><strong>📇</strong> New Translation & Review UI <a class="markdownit-header-anchor" href="#lessstronggreaterlessstronggreater-new-translation-and-review-ui">🔗</a></h2><p>We also updated our translation and review screens UI to better accommodate longer texts and make the view more compact. How do you like it?</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/10/image-8.png" class="kg-image" alt loading="lazy" width="2000" height="538" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/10/image-8.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/10/image-8.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/10/image-8.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Part of the new translation UI in Localazy</figcaption></figure><h2 id="strapi-plugin-improvements">💜 Strapi Plugin Improvements <a class="markdownit-header-anchor" href="#strapi-plugin-improvements">🔗</a></h2><p>Let's get back to Strapi. We are carefully listening to feedback and suggestions from our Strapi plugin users, and we are happy to announce that we have also improved the <a href="/features/strapi-localization-plugin">Strapi localization plugin</a> since the last release! </p><p>You can always find the latest information in the <a href="https://github.com/localazy/strapi-plugin/releases">changelog</a>, but let me summarize it for you:</p><ul><li>Added <a href="https://strapi.io/blog/how-to-create-pages-on-the-fly-with-dynamic-zone">Dynamic Zones</a> support</li><li>UX tweaks</li><li>Untranslated fields fall back to source language items (including media)</li><li>Fixed sorting of items in repeatable components</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/10/image-9.png" class="kg-image" alt loading="lazy" width="281" height="150"></figure><h2 id="other-improvements">🗃️ Other improvements <a class="markdownit-header-anchor" href="#other-improvements">🔗</a></h2><p>As always, we didn't neglect other aspects of our platform and made slight improvements here and there.</p><ul><li>The <a href="/features/figma-localization-plugin">Figma plugin</a> now supports plurals</li><li>Added option to download <a href="/docs/figma/context-screenshots">Figma screenshots</a> without downloading keys</li><li>Added option to convert keys to plural type from the UI</li><li>Added option to remove the deprecated flag in UI</li><li>New batch actions - flag multiple keys as needing improvement or source changed</li><li>Updated the <a href="/docs/general/continuous-localization-team">Order translations</a> screen</li><li>Added billing info and organization name to the Marketplace screen</li><li>and more fixes and tweaks!</li></ul><h2 id="guide-to-localazy-translation-services">📚 Guide to Localazy translation services <a class="markdownit-header-anchor" href="#guide-to-localazy-translation-services">🔗</a></h2><p>You might already know that Localazy can take complete care of your translation process with the <a href="/features/continuous-localization-team">built-in translation services</a> available inside the platform. All you need to do is choose the language and service. </p><p>Learn everything you need to know in <a href="/blog/guide-localazy-translation-services">the ultimate guide to Localazy translation services</a>!</p><figure class="kg-card kg-image-card"><a href="/blog/guide-localazy-translation-services"><img src="https://ghost.localazy.com/content/images/2022/10/image-11.png" class="kg-image" alt loading="lazy" width="2000" height="1050" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/10/image-11.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/10/image-11.png 1600w, https://ghost.localazy.com/content/images/2022/10/image-11.png 2400w" sizes="(min-width: 720px) 720px"></a></figure><p>After reading the guide, you should be able to:</p><ul><li>tell the difference between one-time and continuous translation services</li><li>know the benefits of using Localazy translation services</li><li>understand what each Localazy service does and what results to expect</li><li>get answers to most of the questions you might have about the services</li><li>place your first order with Localazy 😊</li></ul><blockquote><strong>Read <a href="/blog/guide-localazy-translation-services">the ultimate guide to Localazy translation services</a></strong></blockquote><h2 id="follow-localazy">📯 Follow Localazy <a class="markdownit-header-anchor" href="#follow-localazy">🔗</a></h2><p>To get the latest info about new Localazy features, usage tips, success stories, and some behind-the-scenes bits, make sure to follow our social media accounts:</p><p><strong>🐤 Follow Localazy on Twitter: <a href="https://twitter.com/localazy">https://twitter.com/localazy</a></strong></p><p>You can also follow the real people behind Localazy. I would recommend you follow especially these members of our core team:</p><ul><li>👨‍💻 <a href="https://twitter.com/vaclavhodek">Václav Hodek</a> - The CEO of Localazy and Kotlin &amp; Android enthusiast with many years of experience in various ventures who likes to share his insights and experiences on various matters.</li><li>🦸‍♂️ <a href="https://twitter.com/JakeDubec">Jakub Dubec</a> - Our Marketing Superhero, who mostly tweets about the struggles of being a marketer outnumbered by developers. You can also find tweets about productivity and even philosophy on his Twitter.</li><li>👨‍🔬 <a href="https://twitter.com/honzabilek4">Jan Bílek</a> - Our Product Mastermind, who tweets mostly about product management, front-end development, and analytics.</li><li>🧗‍♂️ <a href="https://twitter.com/dan_charvat">Dan Charvát</a> - The Lead front-end developer, amateur athlete, and hero of our demo calls is pretty active in discussions on Twitter and often shares helpful front-end tips.</li></ul><p>You can also find Localazy on 💼 <a href="https://www.linkedin.com/company/localazy/">LinkedIn</a>, <a href="https://www.facebook.com/localazy">💬 Facebook</a>, and <a href="https://www.instagram.com/localazycom/">📷 Instagram</a>.</p><h2 id="further-reading">📰 Further reading <a class="markdownit-header-anchor" href="#further-reading">🔗</a></h2><ul><li>🚀 <a href="/blog/interview-supercharging-developers-using-supastarter">Interview: Supastarter, the latest SaaS tool to supercharge developer work</a></li><li>💌 <a href="/blog/interview-donar-online-ultimate-platform-non-profits-latin-america">Interview: Donar Online, the ultimate platform for non-profits in Latin America</a></li><li>💜 <a href="/blog/managing-multilingual-content-with-strapi-cms-localazy-plugin">Managing multilingual content with Strapi CMS &amp; Localazy</a></li></ul><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We hope you'll try the new features and tell us how you like our latest improvements! Make sure to <a href="https://twitter.com/localazy">follow us on Twitter</a>, and don't hesitate to <a href="/contact">contact us</a> anytime to discuss your project or new features!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/10/release.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The ultimate guide to Localazy's Human translation services]]></title>
            <link>https://localazy.com/blog/guide-localazy-translation-services</link>
            <guid isPermaLink="false">guide-localazy-translation-services</guid>
            <pubDate>Tue, 23 Jun 2026 22:05:14 GMT</pubDate>
            <description><![CDATA[Localazy can take complete care of your translation process with the built-in translation services available inside the platform. Forget the hassle of managing translation projects forever. All you need to do is choose the language and service. Learn everything you need to know in this article.]]></description>
            <content:encoded><![CDATA[<p>Welcome to the ultimate guide to Localazy Human translation services! After reading this article, you should be able to:</p><ul><li>tell the difference between one-time and continuous translation services</li><li>know the benefits of using Localazy Human translation services</li><li>understand what each Localazy service does and what results to expect</li><li>get answers to most of the questions you might have about the services</li><li>place your first order with Localazy 😊</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/06/human-translation-services.png" class="kg-image" alt loading="lazy" width="1480" height="760" srcset="https://ghost.localazy.com/content/images/size/w600/2026/06/human-translation-services.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/06/human-translation-services.png 1000w, https://ghost.localazy.com/content/images/2026/06/human-translation-services.png 1480w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Human translation services</figcaption></figure><h2 id="one-time-or-continuous-translation">⚖️ One-time or continuous translation? <a class="markdownit-header-anchor" href="#one-time-or-continuous-translation">🔗</a></h2><p>What is the difference between one-time and continuous translation services? You might already have experience with the one-time model. It usually entails extracting the content you need to get translated into some human-friendly format, contacting the <a href="https://agency.localazy.com/en">translation agency of your choice</a>, 📤 sending them the files, getting a quote, confirming the order, and then waiting for the result. ⏱️  </p><p>There might also be several rounds of corrections until you get the result, which you then have to implement into your product - sometimes copy-pasting strings, making sure everything is translated, and so on... 🙄 </p><p>This approach works great for documents and articles you don't expect to change often. But, for software UX copy, marketing materials, and website content, a continuous translation model will save you a lot of time and nerves.</p><p>Modern translation management systems (<a href="/dictionary/translation-management-system-tms">TMS</a>), such as Localazy, enable <a href="/term/software-localization">software makers</a>, marketers, and content creators to integrate their translations with the tool where translations actually happen and unlock the continuous mode of service. At Localazy, the process is simplified into three steps: <a href="/integrations">integrate your project</a> (or upload your strings in one of the supported formats), provide the context, order the services, and watch as the translators do their work. 😎</p><p>Then, if at any point, any changes happen, e.g., you add more texts, change already translated texts, or decide to add a new language, everything happens automatically. 🔄 And the best thing is that translations are available immediately and without you lifting a finger when your project is integrated - more on that in the next section. </p><h2 id="benefits-of-continuous-services-by-localazy">👍 Benefits of continuous services by Localazy <a class="markdownit-header-anchor" href="#benefits-of-continuous-services-by-localazy">🔗</a></h2><p>You can already see why continuous translations are the best choice for software copy and digital marketing content. Several other benefits are waiting for you when you decide to go with Localazy and order our <a href="https://localazy.com/features/human-translation-services">Human translation services</a>.</p><h3 id="set-up-only-once">Set up only once <a class="markdownit-header-anchor" href="#set-up-only-once">🔗</a></h3><p>As said earlier, once you integrate your project, you don't have to bother developers with updates again. All translations in Localazy can be delivered to your project with a simple command or an <a href="/docs/general/webhooks">automated trigger</a>. You can automate the synchronization of source texts with Localazy and the delivery of translations with our advanced <a href="/docs/general/importing-localization-files">CLI, API, or CDN</a> - just ask your developer or <a href="/contact">contact us</a>! </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/10/delivery.png" class="kg-image" alt="Localazy Translation Services: Localazy Integration" loading="lazy" width="740" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/delivery.png 600w, https://ghost.localazy.com/content/images/2022/10/delivery.png 740w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Integration</figcaption></figure><h3 id="no-file-hand-offs-and-e-mails">No file hand-offs and e-mails <a class="markdownit-header-anchor" href="#no-file-hand-offs-and-e-mails">🔗</a></h3><p>Collaboration is enabled directly inside the Localazy platform. Forget about long and chaotic email threads and multiple file versions.</p><h3 id="flexible-and-transparent-pricing">Flexible and transparent pricing  <a class="markdownit-header-anchor" href="#flexible-and-transparent-pricing">🔗</a></h3><p>You immediately see the price per word for each language-service combination on the order screen. You also don't have to wait for quotes because Localazy calculates the total estimate before you place your order. If your budget is tight, you can choose a more affordable option for less important languages. More on that later.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/06/Sni-mek-obrazovky-2026-06-23-v-9.49.10.png" class="kg-image" alt="Localazy Translation Services: Pricing &amp; Cost Estimation" loading="lazy" width="1102" height="598" srcset="https://ghost.localazy.com/content/images/size/w600/2026/06/Sni-mek-obrazovky-2026-06-23-v-9.49.10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/06/Sni-mek-obrazovky-2026-06-23-v-9.49.10.png 1000w, https://ghost.localazy.com/content/images/2026/06/Sni-mek-obrazovky-2026-06-23-v-9.49.10.png 1102w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Translation Services: Pricing &amp; Cost Estimation</figcaption></figure><h3 id="translations-are-available-immediately">Translations are available immediately <a class="markdownit-header-anchor" href="#translations-are-available-immediately">🔗</a></h3><p>The Localazy platform is ready for agile management of <a href="/dictionary/translation">translation</a> work. Once our translators start working on your project, the translations they save are available immediately. This means you can review them instantly and deploy them faster - effectively cutting time-to-market.</p><h3 id="pro-active-approach-to-changes">Pro-active approach to changes <a class="markdownit-header-anchor" href="#pro-active-approach-to-changes">🔗</a></h3><p>Another considerable benefit of the continuous translation mode is that, once your project is fully translated, Localazy will monitor it for newly added text or changes to source strings that require new translations. Our translators are then notified to translate the new content as soon as possible. </p><h3 id="context-is-king">Context is king <a class="markdownit-header-anchor" href="#context-is-king">🔗</a></h3><p>The context for translation is readily available inside the platform - translators can reference the <a href="https://localazy.com/features/style-guide">style guide</a>, see relevant <a href="/features/glossary">glossary terms</a> highlighted in the source text, browse <a href="/features/context-screenshots-ocr">relevant screenshots</a>, ask for clarification in comments, and check for any translation notes by the project owners. We highly recommend you prepare a rich context base before ordering translation services. More on that later.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/10/glossary--2-.png" class="kg-image" alt="Localazy Translation Services: Glossary" loading="lazy" width="741" height="401" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/glossary--2-.png 600w, https://ghost.localazy.com/content/images/2022/10/glossary--2-.png 741w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Human translation services: Glossary highlight</figcaption></figure><h3 id="less-error-prone-process">Less error-prone process <a class="markdownit-header-anchor" href="#less-error-prone-process">🔗</a></h3><p>Tag and placeholder highlighting, along with other preventive measures, also help translators produce accurate translations for your project. </p><h2 id="understanding-the-services-localazy-offers">💼 Understanding the services Localazy offers <a class="markdownit-header-anchor" href="#understanding-the-services-localazy-offers">🔗</a></h2><p>There are currently four services available to choose from. Only two of them actually produce new translations, and those are <strong>Professional human translation</strong> and <strong>Human-assisted machine translation</strong>. The third one is called <strong>Professional human review</strong>, which serves as a QA measure after professional translations or for reviewing <a href="https://localazy.com/features/localazy-ai">AI-translated strings</a> (Often also called machine translation post-editing or MTPE). Below is a brief description of each service and what results to expect.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/10/professional.png" class="kg-image" alt loading="lazy" width="250" height="120"></figure><h3 id="professional-human-translation">Professional human translation <a class="markdownit-header-anchor" href="#professional-human-translation">🔗</a></h3><p>The most popular service we offer is the <strong>Professional human translation</strong>. After ordering this service, professional human translators selected by Localazy will translate your project into the chosen languages while following the provided context cues and assistive technologies. You can get your whole project translated by professional translators.</p><h4 id="before-you-order">Before you order: </h4><p>To ensure the best possible quality, we highly recommend preparing a <a href="/docs/general/how-to-define-your-glossary">project glossary</a>, adding translation notes and <a href="/docs/general/screenshots">context screenshots</a>, and composing a <a href="https://localazy.com/features/style-guide">style guide</a>. </p><h4 id="results">Results: </h4><ul><li>Translations made by professional translators are automatically approved and ready to be used in your project as soon as they are produced.</li><li>The translator utilizes uploaded screenshots, provided translation notes, style guides, comments, and other context and assistive technologies offered by Localazy to provide the best translation possible.</li><li>Placeholders or tags are included and not translated; there is a correct number of new lines, trailing spaces, etc., and the translator does their best to preserve maximum translation length. Still, if it’s impossible to achieve, the translator will rather skip the translation, and we will contact you to avoid breaking your project.</li></ul><h4 id="what-not-to-expect">What not to expect: </h4><ul><li>Transcreation of source strings to adapt the translation to the symbolic meaning of the source text based on the ambiguity of words/phrases, slang, puns, etc. </li><li>One-on-one interaction with translators to discuss the project beforehand, as the service is highly automated. </li><li>Translators won't diligently research if the translation is perfectly fitting for the domain - industry-specific texts etc., are translated on a best-effort basis and provided style guide instructions.</li><li>We are not a marketplace for a random pool of people competing to translate your strings. We collaborate with vetted professionals and strive to keep translators on their projects long term, so you can benefit from their growing knowledge of your project as they produce translations for you. </li></ul><h4 id="example-use-cases">Example use cases:</h4><ul><li>Excellent choice for any consumer-facing app or project intended for the general public.</li><li>Great for specialized applications and games. However, we recommend that you first prepare a solid context base and glossary for translators.</li></ul><blockquote>Note: In case of legal, medical, science and manufacturing applications or highly specialized niche-targeted products, please contact us before ordering professional translations to discuss your requirements. </blockquote><hr><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/10/proofreading.png" class="kg-image" alt loading="lazy" width="250" height="120"></figure><h3 id="professional-human-review-mtpe">Professional human review (MTPE) <a class="markdownit-header-anchor" href="#professional-human-review-mtpe">🔗</a></h3><p>Even though humans are the best translators, more and more businesses are looking for a mix of AI speed and careful human review to ensure quality. This service is intended exactly for that use case, but it can also be used as a proofreading step after professional translation if both are active at the same time.</p><p>So, if you want to be 99% sure that your translations are correct, we recommend you tick this service after translating your content with <a href="https://localazy.com/features/localazy-ai">Localazy AI</a>. </p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text">Here's a tip: Use <a href="https://localazy.com/features/localazy-ai">Localazy AI</a> to <a href="https://localazy.com/features/automations">automatically translate</a> your content and then send it to be reviewed. In the project settings, <a href="https://localazy.com/docs/general/project-settings#publish-unapproved-translations-for-selected-languages">enable publishing unapproved translations</a> and enable the <a href="https://localazy.com/docs/general/human-translation-services">Professional human review service</a>. This will make your AI translation available immediately in your downloaded files with asynchronous human review to catch any mistakes.</div></div><h4 id="before-you-order-1">Before you order: </h4><p>Prepare your style guide and glossary. Generate translations for your target language using Localazy AI. This service will process only strings waiting for review. </p><h4 id="results-1">Results:</h4><ul><li>Translations should be completely free of mistakes and linguistically accurate. Please remember that the final localization testing should always be made by people involved in the project who know every nuance.</li><li>The same principles that apply to Professional Translations also apply here.</li></ul><h4 id="what-not-to-expect-1">What not to expect:</h4><ul><li>We won't review crowd-sourced translations or translations produced by Google Translate or DeepL without any context.</li><li>We only accept AI translations produced by Localazy AI that apply the style guide. The translators need to work with a solid first draft to ensure the high quality of their work. </li></ul><h4 id="example-use-cases-1">Example use cases:</h4><ul><li>Review of Localazy AI translations.</li><li>You already have translations from other professionals (which may be outside Localazy, e.g., after migrating from a competitor) and want to have them proofread to ensure quality.</li><li>If you have a new project and want human quality from the get-go, activate the service alongside the Professional human translations service.</li></ul><hr><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/10/translator.png" class="kg-image" alt loading="lazy" width="250" height="120"></figure><h3 id="human-assisted-machine-translation">Human-assisted machine translation <a class="markdownit-header-anchor" href="#human-assisted-machine-translation">🔗</a></h3><p>Often shortened to "<a href="/dictionary/hamt">HAMT</a>," the Human-assisted machine translation by Localazy is the best of both worlds when it comes to translation. This service is more affordable than Professional human translation, but the human touch ensures your project won't break when the machine misinterprets something.  </p><h4 id="before-you-order-2">Before you order: </h4><p>There is no special requirement to prepare your project for this service, but remember that the translation results still come mainly from machine output and may be inaccurate. The human is not necessarily a professional native speaker of the target language and is there to spot obvious errors and correct them, not to ensure the meaning isn't accidentally lost. </p><h4 id="results-2">Results:</h4><ul><li>The best translation out of several provided by different <a href="/dictionary/machine-translation">machine translation</a> engines (Localazy AI, Amazon, Google, DeepL) is selected by a human.</li><li>Placeholders or tags are included and not translated, the maximum translation length is preserved, and there is correct letter casing, punctuation, etc.</li><li>Translations made by Human-assisted machine translation are automatically approved and ready for use in your project. With enough credits, you can have your project fully translated. We advise you to follow up with thorough localization testing to correct any potential errors that our humans may not have caught.</li></ul><h4 id="what-not-to-expect-2">What not to expect:</h4><ul><li>Ensuring and researching if the meaning of the translation exactly matches the source meaning.</li><li>Spellchecking and correcting grammar mistakes might not be 100%. Only obvious errors are corrected.</li><li>The same level of quality as with professional translation by a native speaker is not guaranteed. </li></ul><h4 id="example-use-cases-2">Example use cases:</h4><ul><li>Perfect for testing a new market when budgets are tight, but you don't have the time to go through machine translation results in-house.</li><li>Great for languages that are not a priority now, but you need to have the language version ready and functional.</li></ul><h2 id="placing-your-first-order">📝 Placing your first order <a class="markdownit-header-anchor" href="#placing-your-first-order">🔗</a></h2><p>So now you know which service (or combination of services) will best suit your project. It's time to order the translations! <a href="/register">Sign up</a> and <a href="/integrations">integrate your project</a> or simply upload the files with your source texts via the web interface. </p><blockquote>There are multiple ways of integrating your project. You can learn more in the docs article: <a href="/docs/general/importing-localization-files">Importing content for localization</a></blockquote><p>Open your project in Localazy and click on the <em><strong>"Services -&gt; Human translation services"</strong></em> button in the left submenu. </p><h3 id="select-languages">Select languages <a class="markdownit-header-anchor" href="#select-languages">🔗</a></h3><p>Then you select languages from the dropdown list (you can pick multiple at once) and check the icons next to each language name to see which services are available. </p><blockquote>Generally, we expect your source language is English but don't hesitate to contact us if you can't find a match for your language pair!</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/06/Sni-mek-obrazovky-2026-06-23-v-10.29.43.png" class="kg-image" alt="Localazy Translation Services Guide: Selecting Languages" loading="lazy" width="716" height="753" srcset="https://ghost.localazy.com/content/images/size/w600/2026/06/Sni-mek-obrazovky-2026-06-23-v-10.29.43.png 600w, https://ghost.localazy.com/content/images/2026/06/Sni-mek-obrazovky-2026-06-23-v-10.29.43.png 716w"><figcaption>Localazy Human translation services guide: selecting languages</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text"><strong>Tip:</strong> Please <a href="/contact">get in touch</a> with us if you don't see the language you are looking for. We can arrange a translator for you upon request.</div></div><h3 id="choose-services">Choose services <a class="markdownit-header-anchor" href="#choose-services">🔗</a></h3><p>For each language, you can select the service(s) to activate by clicking on the switcher. You also see the price per word and a cost estimate for completing the translation of all remaining strings. </p><p>In the picture below, you can see that we are about to order Human-assisted machine translation for German and Professional translations into Brazilian Portuguese. The total estimate is 412.25 <a href="https://localazy.com/docs/general/localazy-credits">credits</a>, and we have a 97.13 credit balance, which won't cover the cost.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/06/Sni-mek-obrazovky-2026-06-23-v-10.31.27.png" class="kg-image" alt="Localazy Translation Services: Ordering Professional Translations" loading="lazy" width="1134" height="938" srcset="https://ghost.localazy.com/content/images/size/w600/2026/06/Sni-mek-obrazovky-2026-06-23-v-10.31.27.png 600w, https://ghost.localazy.com/content/images/size/w1000/2026/06/Sni-mek-obrazovky-2026-06-23-v-10.31.27.png 1000w, https://ghost.localazy.com/content/images/2026/06/Sni-mek-obrazovky-2026-06-23-v-10.31.27.png 1134w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Human translation services: ordering professional translations</figcaption></figure><h3 id="add-credits-to-your-account">Add credits to your account <a class="markdownit-header-anchor" href="#add-credits-to-your-account">🔗</a></h3><p>Now that you know the total estimate for everything, click the <strong><em>"Increase"</em></strong> button in the top-right corner to top up your credits. One credit = one US dollar, so it's easy to track the costs. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2026/06/Sni-mek-obrazovky-2026-06-23-v-10.37.23.png" class="kg-image" alt="Localazy Translation Services: Purchase Credits" loading="lazy" width="506" height="601"><figcaption>Localazy Human translation services: purchase credits</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">💰</div><div class="kg-callout-text">Do you need to top up more than $5000 in one payment? Does your bank or card provider cause you trouble? <a href="/contact">Contact us</a> to setup an alternative payment method.</div></div><h3 id="confirm-your-order">Confirm your order <a class="markdownit-header-anchor" href="#confirm-your-order">🔗</a></h3><p>Now that you have enough credits and everything is set up, click the <em><strong>"Place Order"</strong></em> button to send the order our way. </p><p>What happens now? Usually, our "Localady" <a href="https://localazy.com/blog/meet-the-localazy-team-zuzka-localization-services-manager">Zuzana (or Zuzka)</a>, who is in charge of the translation services team, will contact you if anything needs clarification. Then she'll confirm your order with you.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/10/image-4.png" class="kg-image" alt loading="lazy" width="960" height="480" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/image-4.png 600w, https://ghost.localazy.com/content/images/2022/10/image-4.png 960w" sizes="(min-width: 720px) 720px"><figcaption>Zuzka - Localization Team Manager at Localazy&nbsp;</figcaption></figure><p>And that's it! Your translations should be done in one or two weeks, depending on the capacity and volume. You can watch the progress in Localazy and focus on other business you need to attend to. </p><h2 id="frequently-asked-questions">🤔 Frequently Asked Questions <a class="markdownit-header-anchor" href="#frequently-asked-questions">🔗</a></h2><p>If you have any questions about the process, reach out and ask us anytime. Below is a list of frequently asked questions we received from our customers.</p><h3 id="what-if-i-have-special-requirements">What if I have special requirements? <a class="markdownit-header-anchor" href="#what-if-i-have-special-requirements">🔗</a></h3><p>If you have special requirements regarding professional translation, <a href="/contact">contact us</a> and tell us about your situation. It might seem that the high automation we preach doesn't allow for any personalization or modification, but we are committed to finding a solution for almost any use case.</p><h3 id="how-do-you-select-translators-for-my-project">How do you select translators for my project? <a class="markdownit-header-anchor" href="#how-do-you-select-translators-for-my-project">🔗</a></h3><p>We collaborate with vetted language service providers and professional freelance translators. We prefer long-term relations and carefully maintain a list of selected partners. Once the translator is assigned to your project, they will likely work on it repeatedly, since they already know the project and its context. In the case of review after professional translation, another set of eyes will be a different translator from the one who conducted the first round of translations.</p><h3 id="why-did-the-price-change-since-the-last-time-i-checked">Why did the price change since the last time I checked? <a class="markdownit-header-anchor" href="#why-did-the-price-change-since-the-last-time-i-checked">🔗</a></h3><p>The order screen displays the estimates for the current state of translations. The total estimate can be significantly lower if our translators have already done some work. However, if you add or change the text, which increases the total number of words, the price may increase before the work is finished.</p><p>We might also run promotional discount periods for certain languages. Maybe the last time you checked, such a discount was applied to the language.</p><h3 id="i-am-a-translator-and-would-like-to-join-the-team-how-to-do-it">I am a translator and would like to join the team. How to do it? <a class="markdownit-header-anchor" href="#i-am-a-translator-and-would-like-to-join-the-team-how-to-do-it">🔗</a></h3><p>Please send your CV to <a href="mailto:zuzana@localazy.com">zuzana@localazy.com</a> along with a few words about yourself. Ideally, you should have prior experience with Localazy and software/app translation.</p><h3 id="what-is-the-difference-between-the-available-services">What is the difference between the available services? <a class="markdownit-header-anchor" href="#what-is-the-difference-between-the-available-services">🔗</a></h3><p>I hope we explained that in the paragraphs above. If you still have questions about the details of each service, please read the <a href="/terms-and-conditions#continuous-localization-team-terms-of-service">terms of service</a> or contact us with your question.</p><h3 id="how-can-i-help-translators-and-ensure-the-best-quality">How can I help translators and ensure the best quality? <a class="markdownit-header-anchor" href="#how-can-i-help-translators-and-ensure-the-best-quality">🔗</a></h3><p>To ensure the best possible quality, we highly recommend preparing a <a href="/docs/general/how-to-define-your-glossary">project glossary</a>, adding translation notes and <a href="/docs/general/screenshots">context screenshots</a>, and composing a <a href="https://localazy.com/features/style-guide">style guide</a>. Doing this before ordering translations will set you up for success and give translators all the information they need.</p><h3 id="how-fast-can-the-humans-finish-my-translations">How fast can the humans finish my translations? <a class="markdownit-header-anchor" href="#how-fast-can-the-humans-finish-my-translations">🔗</a></h3><p>The usual period is one to two weeks. This depends on the volume of your project and our capacity. Also, remember that the service does not deliver translations instantly, as humans provide the service. Therefore, it takes some time for the translations and reviews to be conducted. But as soon as the translators start working on your project, their translations will appear in Localazy continuously.</p><h3 id="how-to-check-the-status">How to check the status? <a class="markdownit-header-anchor" href="#how-to-check-the-status">🔗</a></h3><p>You can check in the Translations tab or on the order screen. If you have concerns or questions, please get in touch with us.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>I hope this article helps clear up any confusion you might've had about Localazy's Human translation services. </p><p>Remember to prepare a sound context library for the translators before you order to ensure that nothing gets lost in the process. Do you already have experience with our translation services, or do you have any questions or thoughts? Let us know in the comments!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/10/CLT-services.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: Supastarter, the latest SaaS tool to supercharge developer work]]></title>
            <link>https://localazy.com/blog/interview-supercharging-developers-using-supastarter</link>
            <guid isPermaLink="false">interview-supercharging-developers-using-supastarter</guid>
            <pubDate>Fri, 09 Dec 2022 15:08:21 GMT</pubDate>
            <description><![CDATA["Being able to translate your app easily - even into languages you maybe don't even know yourself - is such a great win for every startup founder," remarks Jonathan Wilke, founder of Supastarter. Read more about their coding superpowers and our newest integration below.]]></description>
            <content:encoded><![CDATA[<p>Building and launching scalable web apps is a hard and long process. Whether you're looking to experiment or trying to kickstart an ambitious commercial project, a boilerplate can be extremely useful. In fact, SaaS building tools are swiftly emerging as the perfect solution to save developers time, money, and resources so they can fully focus on their product's potential. </p><p>At Localazy, we're happy <a href="https://supastarter.dev/blog/localazy-integration">to have teamed with Supastarter</a> for an integration that seamlessly combines the power of code repositories with localization. This German startup offers the whole package for any aspiring developers and entrepreneurs, as it allows them to build their site on top of <a href="https://supabase.com/">Supabase</a> and <a href="https://nextjs.org/">Next.js</a> by adding features like authentication, mail templates, and data fetching tools. Today we speak to its founder, <strong>Jonathan Wilke,</strong> about the present and future of developing and the importance of localization for SaaS applications. </p><h2 id="a-developers-dream">💭 A developer's dream <a class="markdownit-header-anchor" href="#a-developers-dream">🔗</a></h2><p><strong>Hi, Jonathan! Can you introduce yourself and <a href="https://supastarter.dev/">Supastarter</a>?</strong></p><p>Hello there! I’m a 25-year-old full-stack developer from Germany. 👋 Web development has been part of my life basically forever, and I started freelancing at 16. I'm currently working on a full-time job while I build Supastarter as my side project.</p><p><strong>Awesome! What was your motivation to create and launch it?</strong></p><p>In my opinion, people should be able to start new applications/SaaS easily and quickly. Supastarter enables just that. It gives people the opportunity to ship a ready-to-use application within hours. That way, developers and founders don’t have to build the basis themselves but rather focus on providing value to their users.</p><p><strong>What problems does Supastarter solve?</strong></p><p>The main idea of Supastarter is to give developers a head start when developing their web application/SaaS and save valuable time. The starter template is built upon Supabase and Next.js and comes with all the <a href="https://supastarter.dev/#features">common features you need</a> to build a scalable SaaS: authentication, internationalization, mail templates, landing page, blog, and more.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/10/supabase-api-keys.png" class="kg-image" alt loading="lazy" width="2000" height="998" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/supabase-api-keys.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/10/supabase-api-keys.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/10/supabase-api-keys.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/10/supabase-api-keys.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>The stack and tools have been chosen with flexibility and scalability in mind. Our philosophy is that developers should only focus on their applications' core features instead of having to rebuild things (like auth) over and over again. That is also the reason why we chose a serverless stack with <a href="https://vercel.com/">Vercel</a> and Supabase as the main drivers so that it’s easy for someone who's just getting started with web development to ship applications fast. 💭 ➡️ 💻 Plus, they won't have to worry about the security and scalability of their servers/databases.</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;With Supastarter, developers and founders don't have to build the basis themselves but rather focusing on providing value to their users&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>Who are your customers?</strong></p><p>Right now, the customers are mostly solo developers who want to start a SaaS or a web app. They are often referred to as indie hackers or bootstrappers. 🧠 But Supastarter is also a great stack for larger companies since it scales well, so we are working on bringing more features and support to become more attractive to enterprises.</p><p><strong>Care to mention some of the obstacles solo developers encounter?</strong></p><p>Sure! There are some key elements every web app or SaaS needs, like authentication, data fetching, mail templates, and so on. We include all that and more. For example, Supastarter comes with internationalization to enable scaling your SaaS internationally. </p><p>Furthermore, we also have features like a blog and a small dashboard example, so you don’t need to do the research and build it yourself. All features can be experienced in our demo application at <a href="https://demo.supastarter.dev/">https://demo.supastarter.dev</a> </p><p><strong>Brilliant! So, what is the pricing structure?</strong></p><p>Right now, it is a one-time purchase for either 3 months or 1 year of access to the repository. With the updates we are currently working on, this will change towards a feature-based pricing structure. So you will be able to get the basic boilerplate for free 💸 and then choose the additional features (blog, authentication, i18n, etc.) and only pay for the ones you need.</p><p><strong>How are you funded, and what are the biggest current risks &amp; challenges for Supastarter?</strong></p><p>I am not funded in any way and don’t plan to be right now. The biggest challenge is to make Supastarter more flexible and keep up with the pace of the development of the tools it includes always to stay up-to-date.</p><h2 id="building-the-future-of-web-development">🏗️ Building the future of web development <a class="markdownit-header-anchor" href="#building-the-future-of-web-development">🔗</a></h2><p><strong>What is your vision?</strong></p><p>The great vision for Supastarter is to become a platform that enables developers to start a new web app or SaaS within minutes by simply picking the tools they like and getting a ready-to-use, or even already deployed, web app generated for them.</p><p><strong>And what do you think – how will your industry look like about 10 years from now?</strong></p><p>I am already experiencing a shift in the industry. It's getting away from big companies and aiming toward smaller niche products that are often built by bootstrappers or solo founders. The growing landscape of tools for developers, like the ones we chose for Supastarter, enables more and more people to bring their ideas to life and run businesses worldwide. ✌️ Another great win is the increasing importance of UX, making products more accessible and more fun to use.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/10/vercel-welcome.png" class="kg-image" alt loading="lazy" width="2000" height="1233" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/vercel-welcome.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/10/vercel-welcome.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/10/vercel-welcome.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/10/vercel-welcome.png 2400w" sizes="(min-width: 720px) 720px"></figure><p><strong>Do you think that more people are going to be able to develop in the future without needing expert knowledge? </strong></p><p>Yes, definitely. And that’s a great thing. It will result in more helpful tools for everyone and will also create a broader range of choices so every niche can be served.</p><h2 id="challenges-and-competitors">💪 Challenges & Competitors <a class="markdownit-header-anchor" href="#challenges-and-competitors">🔗</a></h2><p><strong>Let's talk about the market Supastarter is in. Are there any alternatives to what you're offering? What is your unique value proposition?</strong></p><p>Yes, there are a lot of alternatives. ShipSaas and Bedrock are two really great examples. Right now, we set ourselves apart with great UX out of the box, customizable mail templates 📩 and integration with some popular libraries, like <code>react-hook-form</code> and <code>tanstack-query</code>.</p><p>In the near future, our goal with the boilerplate generator is to become a place for developers to go to, start their application and be able to use exactly the tools they want.</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;We set ourselves apart with great UX out of the box, customizable mail templates and integration with some popular libraries.&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>Would you like to highlight other services or products you like to use on your own?</strong></p><p>Unsurprisingly, I love Vercel and Supabase as tools to build and ship your application on. Beyond that, I have to give credit to Localazy, which is an awesome tool for translating web apps. Thanks to their generous <a href="https://localazy.com/docs/general/localazy-free-tier">free tier</a> and the auto-translate feature, I was able to translate my boilerplate and the Supastarter landing page within minutes.</p><p><strong>What are the next steps for you and Supastarter?</strong></p><p>I am currently working on the generator tool that will allow developers to select the tools they want and generate a boilerplate out of that within a few minutes. After that, we will integrate more tools and services. On the list are <a href="https://nuxtjs.org">Nuxt</a>, <a href="https://www.prisma.io">Prisma</a>, and <a href="https://trpc.io/">TRCP</a>... just to name a few!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/10/meta-icon-3.png" class="kg-image" alt loading="lazy" width="640" height="334" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/meta-icon-3.png 600w, https://ghost.localazy.com/content/images/2022/10/meta-icon-3.png 640w"></figure><h2 id="supastarter-localazy">🎉 Supastarter + Localazy  <a class="markdownit-header-anchor" href="#supastarter-localazy">🔗</a></h2><p><strong>We are happy that Localazy is among the first on <a href="https://supastarter.dev/blog/localazy-integration">your blog</a>. Please tell us more about the Supastarter and Localazy integration. Why do you think localization is important for SaaS makers?</strong></p><p>Today you are able to start an online business from every place on earth and make it available to everyone. This comes with the challenge of making the app accessible to people in many countries and languages, and therefore localization is the key factor. Being able to translate your app easily and by utilizing the auto-translate - even into languages you maybe don’t even know yourself - is such a great win for every startup founder.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/10/localazy-translate.webp" class="kg-image" alt loading="lazy" width="2000" height="1109" srcset="https://ghost.localazy.com/content/images/size/w600/2022/10/localazy-translate.webp 600w, https://ghost.localazy.com/content/images/size/w1000/2022/10/localazy-translate.webp 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/10/localazy-translate.webp 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/10/localazy-translate.webp 2400w" sizes="(min-width: 720px) 720px"><figcaption>Supastarter + Localazy working hand in hand!</figcaption></figure><p><strong>Which languages have you translated your boilerplate to so far? Are you planning to expand to specific markets where localization will be needed?</strong></p><p>So far, we have included 🇬🇧 English and 🇩🇪 German. For now, we do not plan to add more translations, but we have a tutorial in our documentation on how to translate your app into every language you like easily. Using Localazy makes this even easier!</p><!--kg-card-begin: markdown--><blockquote>
<p>Learn how to localize your site or app in <a href="https://supastarter.dev/docs/i18n">this Supastarter guide</a>.</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>Is there something else you would like to say? </strong></p><p>I strongly believe that it’s our job as a developer to build things that make people’s life easier and more enjoyable. We do our best to make Supastarter a tool that enables more developers and founders to make this a reality, and we are thankful to everyone who supports this vision.</p><p><strong>Thank you for your time and insights, Jonathan! </strong></p><p><strong>Would you like to know more? You can find Supastarter on:</strong></p><ul><li>Twitter: <a href="https://mobile.twitter.com/supastarter">@supastarter</a> &amp; <a href="https://twitter.com/jonathan_wilke">@jonathan_wilke</a></li><li>Website: <a href="https://supastarter.dev/">https://supastarter.dev</a></li><li>E-mail: <a href="mailto:contact@supastarter.dev">contact@supastarter.dev</a></li></ul><h2 id="try-supastarter-today">🚀 Try Supastarter today! <a class="markdownit-header-anchor" href="#try-supastarter-today">🔗</a></h2><p>Liking what you've seen so far? Take a look at what Supastarter has to offer by using their <a href="https://demo.supastarter.dev">demo</a>! You'd be surprised at how easy it is to build your web app without complications - and for an affordable price. </p><figure class="kg-card kg-image-card kg-card-hascaption"><a href="https://supastarter.dev/partners/localazy?utm_source=localazy.com&amp;utm_medium=cta&amp;utm_campaign=partnerships&amp;utm_content=blog_cta"><img src="https://ghost.localazy.com/content/images/2022/11/image-14.png" class="kg-image" alt="Supastarter + Localazy Partner Offer" loading="lazy" width="640" height="287" srcset="https://ghost.localazy.com/content/images/size/w600/2022/11/image-14.png 600w, https://ghost.localazy.com/content/images/2022/11/image-14.png 640w"></a><figcaption>Supastarter + Localazy Partner Offer</figcaption></figure><blockquote>As a Localazy user, with the partner offer you can<strong> <a href="https://supastarter.dev/partners/localazy?utm_source=localazy.com&amp;utm_medium=cta&amp;utm_campaign=partnerships&amp;utm_content=blog_cta">get $20 off for the supastarter starter plan!</a></strong></blockquote><p>You can also read the tutorial article by Mary Okosun - <a href="/blog/guide-build-ecommerce-app-supastarter-localazy">Guide To Supastarter &amp; Localazy: Make a multilingual e-commerce app</a> and see how you can use supastarter with Localazy.</p><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog, and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Localazy-Interview-Supastarter.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Managing multilingual content with Strapi CMS & Localazy]]></title>
            <link>https://localazy.com/blog/managing-multilingual-content-with-strapi-cms-localazy-plugin</link>
            <guid isPermaLink="false">managing-multilingual-content-with-strapi-cms-localazy-plugin</guid>
            <pubDate>Thu, 16 Apr 2026 14:22:55 GMT</pubDate>
            <description><![CDATA[Learn how to manage your Strapi content in multiple languages and translate it seamlessly with the verified Strapi localization plugin by Localazy.]]></description>
            <content:encoded><![CDATA[<h2 id="what-is-strapi-cms">❓ What Is Strapi CMS? <a class="markdownit-header-anchor" href="#what-is-strapi-cms">🔗</a></h2><p>Strapi is a headless, open-source CMS. A headless CMS is a content management system (CMS) that only manages the content on the back end. It was designed as a content repository that makes content available via an API for display across any device. Strapi allows building, managing, and publishing content-rich experiences to any digital service, channel, or device.</p><p>Strapi, like Localazy, can help developers save time while still allowing them to utilize their preferred tools and frameworks.</p><blockquote>💜 Find more information about Strapi at <a href="https://strapi.io/">Strapi.io</a></blockquote><h2 id="benefits-of-using-strapi-to-manage-multilingual-content">⭐ Benefits of using Strapi to manage multilingual content <a class="markdownit-header-anchor" href="#benefits-of-using-strapi-to-manage-multilingual-content">🔗</a></h2><p>Strapi as a backend service is important because it allows for complete automation with localization, and it is quite a seamless experience with the content management system. Some more benefits include:</p><ul><li>It takes a shorter time to deploy an application.</li><li>The content management system has a user-friendly interface</li><li>It allows for universal content distribution and management across any platform and device.</li><li>Above all, it supports <a href="https://localazy.com/dictionary/internationalization" rel="noreferrer nofollow noopener">internationalization</a></li></ul><h2 id="goals-of-this-tutorial">🚀 Goals of this tutorial <a class="markdownit-header-anchor" href="#goals-of-this-tutorial">🔗</a></h2><p>This tutorial aims to give a fundamental approach to what the Strapi localization plugin can do. Following an example of building a ticket booking platform, you will learn:</p><ul><li>how to create a new <a href="/dictionary/strapi">Strapi</a> project,</li><li>how to configure the <a href="/features/strapi-localization-plugin">Strapi localization plugin by Localazy</a> to manage multilingual content,</li><li>how to create a <a href="/dictionary/vuejs">Vue.js</a> frontend to display the content. </li></ul><p>The frontend implementation will be built with Vue.js, a <a href="/dictionary/javascript">JavaScript</a> framework, and the backend implementation will be done with a clean Strapi project and the Localazy plugin.</p><p>At the end of this tutorial, you should know how to get started with the Strapi localization plugin for development and how to showcase the translated content to the client side.</p><h3 id="prerequisites">Prerequisites <a class="markdownit-header-anchor" href="#prerequisites">🔗</a></h3><p>You only need two things to start:</p><ol><li>A clean Strapi v4 project </li><li>A Localazy account - you can sign up for a free <a href="https://localazy.com/register" rel="noreferrer nofollow noopener">account</a> now.</li></ol><h2 id="strapi-implementation">💜 Strapi Implementation <a class="markdownit-header-anchor" href="#strapi-implementation">🔗</a></h2><p>We will be installing Strapi and creating an instance of the Strapi project. To build this project Strapi structure, you need to do the following:</p><ul><li>You need to download and install <a href="https://nodejs.org/en/" rel="noreferrer nofollow noopener">Node.js </a>(version 16 is recommended by Strapi).</li><li>You need <u><a href="https://docs.npmjs.com/cli/v6/commands/npm-install" rel="noreferrer nofollow noopener">npm</a></u> (version 6 only) or <a href="https://yarnpkg.com/getting-started/install" rel="noreferrer nofollow noopener">yarn </a>to run the CLI installation scripts.</li></ul><blockquote>You can learn more in the <a href="https://docs.strapi.io/developer-docs/latest/getting-started/quick-start.html">Strapi Quick Start Guide</a></blockquote><h3 id="project-bootstrap">Project Bootstrap  <a class="markdownit-header-anchor" href="#project-bootstrap">🔗</a></h3><p>We will install our Strapi project via the Strapi Command Line Interface (CLI) and run it locally. Open the console in the folder where you want to create the project and insert the following code:</p><pre><code>npx create-strapi-app ticket-app-backend --quickstart
# OR
yarn create-strapi-app ticket-app-backend --quickstart</code></pre><p>After creating this instance, the project should open automatically in the browser. You can also run the following command to open it in your browser.</p><pre><code>npm run develop
# OR
yarn run develop</code></pre><p>A new tab will be opened in your browser, and you can register as an admin.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-7.png" class="kg-image" alt loading="lazy" width="1600" height="954" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-7.png 1000w, https://ghost.localazy.com/content/images/2022/09/image-7.png 1600w" sizes="(min-width: 720px) 720px"></figure><h3 id="modeling-strapi-content-type-builder">Modeling Strapi Content Type Builder <a class="markdownit-header-anchor" href="#modeling-strapi-content-type-builder">🔗</a></h3><p>After successfully registering as an admin, you will be routed to the dashboard. In the admin dashboard, we will be building the content type of the application. Using the case of a ticket booking platform, we will need models such as:</p><!--kg-card-begin: markdown--><ul>
<li>Hero title: <em>This is the main heading of the page</em></li>
<li>Hero text: <em>This is the sub-heading of the page</em></li>
<li>Placeholders: <em>This includes the following:</em>
<ul>
<li>Name of passenger</li>
<li>Number of travelers</li>
<li>Ticket class</li>
<li>Origin</li>
<li>Destination</li>
<li>Departure date</li>
</ul>
</li>
</ul>
<!--kg-card-end: markdown--><p><strong>Follow these steps to create your content type:</strong></p><ol><li>On the left-hand side of the panel, click on the <em><strong>Content-Type Builder</strong></em> and then on <em><strong>Create new collection type</strong></em>. Fill in <code>Ticket-booking-platform</code> as the display name. Click on continue to create a new collection.</li><li>This prompts a new modal where you can select the fields for your collection type. Select Text and fill in <code>hero_title</code> at the Text field. Click on <strong><em>Add another field</em></strong> and select Text for the <code>hero_text</code> field too. </li><li>Click on <strong><em>Add another field</em></strong> and select <strong><em>Components </em></strong>for the <code>placeholder</code> fields. Here, you will add a display name and category for the new component. Click on <strong><em>Configure </em></strong><em><strong>the components</strong></em> and add a name for the attributes. Afterward, you can then add fields to the component. We will add the <code>name_of_passenger</code>, <code>ticket_class</code>, <code>origin</code>, <code>destination</code>, <code>departure_date</code> and <code>number_of_travellers</code> fields.</li></ol><p>Make sure that all of the added fields have the <strong><em>"Enable localization for the Content-Type"</em></strong> option checked to be able to upload them to Localazy - the option can be found in <em><strong>Advanced Settings</strong></em> while adding the field. The checkbox might not be checked by default.</p><p>After adding all the required fields, click the <strong><em>Finish </em></strong>button and <strong><em>Save </em></strong>the collection.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-8.png" class="kg-image" alt loading="lazy" width="2000" height="1143" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-8.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-8.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/09/image-8.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="lessbrgreateradding-content-to-application"><br>Adding Content to Application <a class="markdownit-header-anchor" href="#lessbrgreateradding-content-to-application">🔗</a></h3><p>We will be adding content to this model created. On the left-hand side of the admin panel, click on the <em><strong>Content Manager</strong></em> and then on <em><strong>Create new entry</strong></em>. </p><p>You fill in the content and click on <strong>Save.</strong></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-9.png" class="kg-image" alt loading="lazy" width="2000" height="1139" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-9.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-9.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/09/image-9.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>After creating content for our application, we will move on to translating the content using the Localazy plugin.</p><h2 id="configuring-the-localazy-plugin">🚩 Configuring the Localazy plugin <a class="markdownit-header-anchor" href="#configuring-the-localazy-plugin">🔗</a></h2><p>The Strapi localization plugin by Localazy helps you transform any Strapi project into a multilingual site. With Localazy and Strapi, you can break language barriers and unleash multilingual content.</p><blockquote>You can find the <a href="https://market.strapi.io/plugins/@localazy-strapi-plugin">Localazy plugin for Strapi localization in the Strapi Marketplace</a></blockquote><p>We will install the Localazy plugin in our Strapi application. You can run the following command to install the plugin:</p><pre><code>npm install @localazy/strapi-plugin
#OR
yarn add @localazy/strapi-plugin</code></pre><p>After installing the plugin, run the following commands. The first command rebuilds your Strapi admin to apply the changes and <code>npm run develop</code> restarts your application again.</p><pre><code>npm run build
npm run develop</code></pre><p>You can refresh the page on your browser, and you should see the Localazy plugin on the left-hand side of your admin dashboard, open the plugin page. <br></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-10.png" class="kg-image" alt loading="lazy" width="2000" height="1140" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-10.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-10.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/09/image-10.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Click on <em><strong>Login with Localazy</strong></em>. You would be routed to the Localazy page. No worries, you can <a href="/register">sign up for free</a> if you do not have a Localazy account already.</p><p>After signing up, you can log in with your account email and password.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-11.png" class="kg-image" alt loading="lazy" width="2000" height="1142" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-11.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-11.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/09/image-11.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>After being authorized by Localazy, you will be requested to create a new project. In this new tab, we will authorize the Strapi plugin to access our Localazy account and create a new project called <strong>ticket-app</strong>. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-12.png" class="kg-image" alt loading="lazy" width="2000" height="1142" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-12.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/09/image-12.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Click on the <strong><em>Authorize</em></strong> button to give access. You should get a confirmation tab confirming your authorization with Localazy was successful.</p><h3 id="handling-content-transfer-setup-in-strapi">Handling Content Transfer Setup in Strapi <a class="markdownit-header-anchor" href="#handling-content-transfer-setup-in-strapi">🔗</a></h3><p>In this step, we will be handling content transfer setup in Strapi. Navigate to the Strapi admin dashboard and click on <strong><em>Content Transfer setup</em></strong>. Here, we will choose the contents that we need to translate.</p><blockquote>It is important to note that only text based content can be translated.</blockquote><p>All the fields should be checked for translation for our model build as they are text-based.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-13.png" class="kg-image" alt loading="lazy" width="2000" height="1143" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-13.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-13.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/09/image-13.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Now that we successfully set up our content transfer, let's upload the content to Localazy. </p><h3 id="upload-content-to-localazy">Upload content to Localazy  <a class="markdownit-header-anchor" href="#upload-content-to-localazy">🔗</a></h3><p>This section serves to upload the booking content from the Strapi project to Localazy. We will click on the <strong>Start upload</strong> button in the Upload to Localazy tab to start uploading our content to Localazy. </p><p>Head over to your Localazy account, and you should see the content in the source language was uploaded successfully. The next thing is to add the <a href="https://hub.localazy.com">languages you intend to translate</a> into. For our test case website, we will add Spanish (es), Czech (cs), and French (fr). </p><p>Localazy offers three general approaches to choose from and blend to translate your project:</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors - </strong>You can <a href="https://localazy.com/docs/general/translating-strings">start translating on your own</a> and use our built-in suggestion system.</li><li>🦾 <strong>Translate everything in bulk via machine translation - </strong>With the Localazy <a href="https://localazy.com/tiers/autopilot">Autopilot plan</a>, you can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate">running a machine translation over the content</a>.</li><li>🚩 <strong>Fully automate the translation process with the <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization</a> services</strong> - Once your Localazy integration is set up, you can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to check the progress.</li></ol><p>In this tutorial, we will translate the content ourselves with the free built-in suggestions from <a href="/docs/general/additional-mt-engines">Amazon Translate</a> &amp; <a href="/docs/general/what-is-localazy-sharetm">ShareTM</a>. Click on <strong>Translate, </strong>and you will be directed to a page where suggestions will be given, and you can select which translation to go with.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-14.png" class="kg-image" alt loading="lazy" width="2000" height="1493" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-14.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-14.png 1600w, https://ghost.localazy.com/content/images/2022/09/image-14.png 2192w" sizes="(min-width: 720px) 720px"></figure><p>When everything is translated successfully, you will see smiley faces next to the completed languages. Now we can head to the Strapi application, where we can download the translations and make our project multilingual.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-24.png" class="kg-image" alt loading="lazy" width="2000" height="1057" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-24.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-24.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-24.png 1600w, https://ghost.localazy.com/content/images/2022/09/image-24.png 2000w" sizes="(min-width: 720px) 720px"></figure><h3 id="downloading-translated-content-to-strapi">Downloading translated content to Strapi <a class="markdownit-header-anchor" href="#downloading-translated-content-to-strapi">🔗</a></h3><p>In the Strapi project, we can now download our translation. Navigate to the <strong><em>Download to Strapi</em></strong> tab, and click on the <strong><em>Start download</em></strong> button. You would get a report that tells you the locales created, the contents that were translated correctly, and the new entries created for each new locale.</p><p>Click on the <em><strong>Content Manager. </strong></em>If you explore any entry, you should see new locales created for them. Click on an item to see its detail. Only the fields set for transfer in <em><strong>Content Transfer Setup</strong></em> were localized. </p><p>Below is an example of the original English page and the French version after downloading translations from Localazy. </p><blockquote>Remember to publish all the content entries from the content manager as only published content can be viewed on the client side.</blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-16.png" class="kg-image" alt loading="lazy" width="2000" height="1143" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-16.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-16.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-16.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/09/image-16.png 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-17.png" class="kg-image" alt loading="lazy" width="2000" height="1142" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-17.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-17.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/09/image-17.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="lessbrgreatershowcase-the-translated-content"><br>Showcase the translated content  <a class="markdownit-header-anchor" href="#lessbrgreatershowcase-the-translated-content">🔗</a></h3><p>Download the <a href="https://www.postman.com/downloads/">Postman API</a>, which we will use in the next step. Here, we will be testing our API for localized content. To test our API, we need to allow public access because if we try to access the API URL with our public client, it will return a 403 forbidden error.</p><p>To fix this, we will navigate to <em><strong>Settings </strong></em>and click on <strong><em>Roles </em></strong>in the <strong><em>Users and permissions</em></strong> plugin. Click on <strong><em>Ticket-booking-platform</em></strong> and select <em><strong>find</strong></em>. </p><p>You can test out the endpoint by accessing the URL  <code>http://localhost:1337/api/ticket-booking-platforms?populate=*&amp;locale=${locale}</code> where locale is the language to be translated to.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-18.png" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-18.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-18.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-18.png 1600w, https://ghost.localazy.com/content/images/2022/09/image-18.png 2106w" sizes="(min-width: 720px) 720px"></figure><h2 id="vuejs-implementation">🖱️ Vue.js Implementation <a class="markdownit-header-anchor" href="#vuejs-implementation">🔗</a></h2><p>We have built our Strapi project, and the Localazy plugin is configured. Now we will move on to creating our frontend application to consume our APIs with Vue.js. </p><blockquote><strong>What is Vue.js?</strong> According to the <a href="https://vuejs.org/guide/introduction.html" rel="noreferrer nofollow noopener">documentation</a>, Vue.js is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS, and JavaScript and provides a declarative and component-based programming model that helps you efficiently develop user interfaces, be it simple or complex.</blockquote><h3 id="create-a-new-project">Create a new project <a class="markdownit-header-anchor" href="#create-a-new-project">🔗</a></h3><p>To create a new Vue.js project, follow these steps to get started:</p><p>Navigate to the project directory and install the Vue.js package using the following console command:</p><pre><code>npm install @vue/cli
# OR
yarn add @vue/cli </code></pre><p>Create a new project using the command:</p><pre><code>vue create ticket-app-frontend</code></pre><p>You will be prompted to pick a preset. Choose <strong><em>"Manually select features"</em></strong> to pick the features we need. Then select Vuex, Router, and Lint/Formatter: </p><ul><li>Vuex is a state management library for Vue applications,</li><li>Router allows changing the URL without reloading the page,</li><li>and Lint/Formatter correctly formats the code.</li></ul><p>After successfully creating your project, navigate to the folder directory and run our application.</p><pre><code>cd ticket-app-frontend
npm run serve
#OR
yarn run serve</code></pre><p><br>The URL <code>http://localhost:8080/</code> should open your Vue.js application in your browser.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-19.png" class="kg-image" alt loading="lazy" width="2000" height="1143" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-19.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-19.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/09/image-19.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="lessbrgreaterdependency-installation"><br>Dependency Installation <a class="markdownit-header-anchor" href="#lessbrgreaterdependency-installation">🔗</a></h3><p>Usually, when creating a new project, you will need to install some dependencies that will help you with efficient development. At this stage, we need only <strong>Axios, </strong>the package dependency that will be used to make the call to the Strapi backend APIs. </p><pre><code>npm install axios</code></pre><h3 id="prepare-frontend-components">Prepare frontend components <a class="markdownit-header-anchor" href="#prepare-frontend-components">🔗</a></h3><p>Firstly, delete all the files in the components and view folders, as these files are redundant in this project. </p><p>Add the following content to the <code>store/index.js</code> . This file handles the API call to the backend using Axios.</p><pre><code>import { createStore } from "vuex";
import axios from "axios";
export default createStore({
  state: {
    bookingPlatform: [],
  },
  getters: {
    getBookingPlatform: (state) =&gt; state.bookingPlatform,
  },
  mutations: {
    setBookingPlatform: (state, payload) =&gt; (state.bookingPlatform = payload),
  },
  actions: {
    getBookingDetails: ({ commit }, locale) =&gt; {
      try {i
        axios
          .get(
            `http://localhost:1337/api/ticket-booking-platforms?populate=*&amp;locale=${locale}`
          )
          .then((res) =&gt; {
            commit("setBookingPlatform", res.data.data[0].attributes);
          });
      } catch (e) {
        console.log("error", e);
      }
    },
  },
  modules: {},
});
</code></pre><p>In the views folder, create a <code>BookTicketView.vue</code> file and copy the following content:</p><pre><code>
&lt;template&gt;
  &lt;div&gt;
    &lt;div class="header" :style="image"&gt;
      &lt;div class="nav-bar"&gt;
        &lt;select class="form-control" @change="onChange($event)"&gt;
          &lt;option selected value="en"&gt;English (en)&lt;/option&gt;
          &lt;option value="es"&gt;Spanish (es)&lt;/option&gt;
          &lt;option value="cs"&gt;Czech (cs)&lt;/option&gt;
          &lt;option value="fr"&gt;French (fr)&lt;/option&gt;
        &lt;/select&gt;
      &lt;/div&gt;
      &lt;div class="hero" v-if="getBookingPlatform"&gt;
        &lt;h3&gt;{{ getBookingPlatform.hero_title }}&lt;/h3&gt;
        &lt;p&gt;
          {{ getBookingPlatform.hero_text }}
        &lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div v-if="getBookingPlatform.placeholders" class="form"&gt;
      &lt;input
        type="text"
        :placeholder="getBookingPlatform.placeholders[0].name_of_passenger"
      /&gt;
      &lt;input
        type="text"
        :placeholder="getBookingPlatform.placeholders[0].ticket_class"
      /&gt;
      &lt;input
        type="number"
        :placeholder="getBookingPlatform.placeholders[0].number_of_travellers"
      /&gt;
      &lt;input
        type="text"
        :placeholder="getBookingPlatform.placeholders[0].destination"
      /&gt;
      &lt;input
        type="text"
        :placeholder="getBookingPlatform.placeholders[0].origin"
      /&gt;
      &lt;input
        type="date"
        :placeholder="getBookingPlatform.placeholders[0].departure_date"
      /&gt;
      &lt;button id="button"&gt;BOOK NOW&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/template&gt;
&lt;script&gt;
import { mapGetters } from "vuex";
export default {
  name: "BookTicketView",
  data() {
    return {
      image: {
        backgroundImage:
          "url(https://d2rdhxfof4qmbb.cloudfront.net/wp-content/uploads/20190711165133/iStock-498556541.jpg)",
      },
      bookingPlatform: [],
      locale: "en",
    };
  },
  computed: {
    ...mapGetters(["getBookingPlatform"]),
  },
  methods: {
    onChange(event) {
      this.locale = event.target.value;
      this.$store.dispatch("getBookingDetails", this.locale);
    },
  },
  mounted() {
    this.$store.dispatch("getBookingDetails", this.locale);
  },
};
&lt;/script&gt;
&lt;style scoped&gt;
.header {
  background-size: cover;
  background-repeat: no-repeat;
  padding: 50px;
  height: 529px;
}
.hero {
  margin-top: 100px;
  width: 500px;
  font-size: 30px;
}
.container {
  margin: 50px auto;
  width: 768px;
}
.form {
  display: flex;
  padding: 40px;
  height: 100%;
  background: #007ac5;
  justify-content: space-evenly;
  align-items: center;
}
input {
  margin: 27px 3px;
  padding: 20px;
  border: none;
  border-radius: 3px;
}
.nav-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
select {
  border: none;
  height: 27px;
  width: 94px;
  border-radius: 6px;
}
#button {
  height: 65px;
  width: 150px;
  background: #e1a584;
  color: #000000;
  border: none;
}
&lt;/style&gt;
</code></pre><p>Refactor the <code>router/index.js</code> file to suit the changes done so far. It should be similar to the following:</p><pre><code>import { createRouter, createWebHistory } from "vue-router";
import BookTicketView from "../views/BookTicketView";
const routes = [
  {
    path: "/",
    name: "BookTicketView",
    component: BookTicketView,
  },
];
const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes,
});
export default router;</code></pre><h3 id="testing-the-application">Testing the Application <a class="markdownit-header-anchor" href="#testing-the-application">🔗</a></h3><p>You can refresh the URL <code>http://localhost:8080/</code> and you can see the frontend application, and from the drop-down, you can select the language you want to render. Examples of English and French are in the pictures below.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-20.png" class="kg-image" alt loading="lazy" width="2000" height="1192" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-20.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-20.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-20.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/09/image-20.png 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-21.png" class="kg-image" alt loading="lazy" width="2000" height="1193" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-21.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-21.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-21.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/09/image-21.png 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>In this tutorial, we learned how to use the Strapi localization plugin by Localazy and how it can handle multilingual content interaction. We also built a use case of a ticket booking platform with Vue.js as the frontend framework and Strapi as the Backend, with the content localization handled by Localazy. </p><p>We demonstrated how the localization plugin could handle the upload and download of contents from Localazy to Strapi and vice-versa. Our project case study shows how multilingual content was easily created for Strapi with the Localazy plugin.</p><p> You can check out more about this awesome plugin in the <a href="https://localazy.com/docs/strapi/strapi-plugin-introduction-installation">official documentation.</a></p><blockquote>You can also <a href="https://github.com/localazy/Strapi-Vue-example">download the example repository</a> with the complete source code for the tutorial from our GitHub.</blockquote>]]></content:encoded>
            <author>Mary Okosun</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Strapi--4-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Nuxt 3 + Tailwind + Eslint + i18n + Sentry Starter]]></title>
            <link>https://localazy.com/blog/nuxt-3-tailwind-i18n-eslint-starter</link>
            <guid isPermaLink="false">nuxt-3-tailwind-i18n-eslint-starter</guid>
            <pubDate>Thu, 25 Jan 2024 11:11:15 GMT</pubDate>
            <description><![CDATA[This short tutorial will help you set up a scalable Nuxt 3 boilerplate for small and large projects. Find out more about the configuration that Localazy uses for their website and build your next project on proven and solid ground.]]></description>
            <content:encoded><![CDATA[<p>Nuxt 3 is nearing the stable release, bringing many great new features to test out and benefit from. As the team states, the deployments are up to 75 times smaller compared to v2, everything runs much faster (both production and development), and the Composition API approach allows for more extensibility and flexibility than ever. All of that is powered by Vue 3 with native TypesScript and ESM support. </p><p>However, with such a giant leap, most of the guides on the internet have become obsolete, and content creators and developers need to step up to provide up-to-date examples. In this article, I will guide you through the initial setup we're currently using at Localazy. Do note that the Nuxt v3 is still developing, and some of the steps outlined here might not work in the future. All the packages and configurations have been tested on the Nuxt version <code>3.0.0-rc.6</code>.</p><p><a href="https://github.com/localazy/Nuxt-3-Tailwind-Eslint-i18n-Sentry-starter">Here</a> is the final repository with all the tools and modules installed.</p><h2 id="setup-overview">🧰 Setup Overview <a class="markdownit-header-anchor" href="#setup-overview">🔗</a></h2><p>For our Nuxt 3 starter, we'll install tools and modules I find invaluable for small and, especially, large projects. Naturally, you'll need additional packages for your particular project, but the following tools should facilitate your development efforts every time. </p><h3 id="tailwind-css">Tailwind CSS <a class="markdownit-header-anchor" href="#tailwind-css">🔗</a></h3><p>A utility-first CSS framework created to build modern websites rapidly. Not only does it provide you with 99% of the CSS classes you'll ever need, but it also has native support for responsive classes, pseudo-classes, and more. It's also super lightweight as it drops unused classes during the build process that are not used in the production version.</p><h3 id="eslint">Eslint <a class="markdownit-header-anchor" href="#eslint">🔗</a></h3><p>Eslint is a highly configurable static code analysis that can identify problematic patterns in your javascript files. With the right plugins and extensions, it can also scan your Vue/Nuxt files and enforce a unified coding style across your development team.</p><h3 id="i18n">I18n <a class="markdownit-header-anchor" href="#i18n">🔗</a></h3><p>This is an abbreviation for <em>internationalization </em>and stands for means of adapting computer software to different languages. This is a crucial aspect of any product that aims to become successful outside your country's borders. Remember, having your product in English only is <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">not enough</a>. </p><p>Currently, the popular <em><code>@nuxtjs/i18n</code> </em>module for Nuxt v2 is not yet stable for v3. Therefore, we're going to use the <a href="https://github.com/intlify/nuxt3">@intlify/nuxt3</a> package, which is an extension of <strong>vue-i18n-next </strong>for Nuxt. It does not support route localization and SEO i18n enhancement, but this can be developed independently if you need it.</p><h3 id="sentry">Sentry <a class="markdownit-header-anchor" href="#sentry">🔗</a></h3><p>Sentry is an application monitoring and error tracking software that supports over 30 coding languages. It helps developers track down issues and optimize their code's performance. There isn't a better way to annoy your users than by having them face the same issues repeatedly. Sentry helps you identify those problems quickly and gives you enough information to fix them.</p><h2 id="create-the-nuxt-project">💚 Create the Nuxt project <a class="markdownit-header-anchor" href="#create-the-nuxt-project">🔗</a></h2><p>Let's start by creating a new Nuxt project. The team has made it extremely easy this time, and we'll have the basic boilerplate project up and running with just three lines of code.</p><pre><code class="language-bash">npx nuxi init nuxt3-starter
cd localazy-nuxt3
npm i</code></pre><p>This process should be fast as the base project does not include almost any dependencies. Run <code>npm run dev</code> to start the development server.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-34.png" class="kg-image" alt loading="lazy" width="1492" height="826" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-34.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-34.png 1000w, https://ghost.localazy.com/content/images/2022/07/image-34.png 1492w" sizes="(min-width: 720px) 720px"><figcaption>Default welcome screen</figcaption></figure><h2 id="add-eslint">📌 Add Eslint <a class="markdownit-header-anchor" href="#add-eslint">🔗</a></h2><p>First, install the dev dependencies</p><pre><code>npm i -D eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-plugin-nuxt eslint-plugin-vue</code></pre><p>Then create <code>.eslintrc.js</code> file in the root of your project and paste in the following:</p><pre><code class="language-js">// .eslintrc.js 
module.exports = {
  env: {
    browser: true,
    es2021: true,
    node: true,
  },
  extends: [
    "plugin:@typescript-eslint/recommended",
    "plugin:nuxt/recommended",
    "plugin:vue/vue3-recommended",
  ],
  parserOptions: {
    ecmaVersion: "latest",
    parser: "@typescript-eslint/parser",
    sourceType: "module",
  },
  plugins: ["@typescript-eslint"],
  rules: {

  },
};
</code></pre><p>The rule extensions we're using are <a href="https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin">plugin:@typescript-eslint</a>, <a href="https://github.com/nuxt/eslint-plugin-nuxt">plugin:nuxt/recommended</a>, <a href="https://eslint.vuejs.org/ ">plugin:vue/vue3-recommended</a>. Personally, I find that these three extensions are enough to enforce an enjoyable code style while pointing out the most pressing issues. When combined with <a href="https://marketplace.visualstudio.com/items?itemName=Vue.volar">Volar for VS Code</a> for support of TypeScript in Single File Components, it is a setup that can speed up your development tremendously.</p><p>The configuration above is enough to catch the code errors and styling issues in your IDE. However, if you'd like, you can propagate these errors into the browser as well through the <code><code><strong>vite-plugin-eslint</strong></code></code><strong> </strong>for Vue 3's Vite server (learn more about Vite <a href="https://vitejs.dev/guide/">here</a>). </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-35.png" class="kg-image" alt loading="lazy" width="1140" height="620" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-35.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-35.png 1000w, https://ghost.localazy.com/content/images/2022/07/image-35.png 1140w" sizes="(min-width: 720px) 720px"><figcaption>Propagating eslint errors to the browser</figcaption></figure><p>To enable this, install <code>npm install vite-plugin-eslint --save-dev</code> and then adjust the configuration in your <code>nuxt.config.ts</code>.</p><pre><code>// nuxt.config.ts
import { defineNuxtConfig } from 'nuxt'
import eslintPlugin from 'vite-plugin-eslint';

export default defineNuxtConfig({
  vite: {
    plugins: [
      eslintPlugin()
    ]
  },
})
</code></pre><h2 id="add-tailwind">🖼️ Add Tailwind <a class="markdownit-header-anchor" href="#add-tailwind">🔗</a></h2><p>Let's start by installing Tailwind and Nuxt's Tailwind wrapper as dev dependencies: <code>npm install -D tailwindcss @nuxtjs/tailwindcss</code>. Then add <strong>@nuxtjs/tailwindcss </strong>to the <em>modules </em>section in <code>nuxt.config.ts</code></p><pre><code>// nuxt.config.ts
import { defineNuxtConfig } from 'nuxt'
import eslintPlugin from 'vite-plugin-eslint';

export default defineNuxtConfig({
  vite: {
    plugins: [
      eslintPlugin()
    ]
  },
  modules: [
    '@nuxtjs/tailwindcss',
  ]
})
</code></pre><p>I had some issues using the recommended <em>npx tailwindcss init </em>command<em> </em>since that creates a <em>.js </em>configuration file, but Nuxt couldn't pick up the <em>content<strong> </strong></em>configuration section. Let's create a TypeScript variant instead manually. Create a file called <code>tailwind.config.ts</code> in the root of the project and paste in the following:</p><pre><code>// tailwind.config.ts
import { Config } from 'tailwindcss';

export default &lt;Config&gt; {
  content: [
    'app.vue'
    // Add all files that contain Tailwind classes
    // e.g. './modules/**/*.{vue,js,ts}',
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}</code></pre><p>The <code>@nuxtjs/tailwind</code> module adds the base Tailwind utility classes behind the scenes for you. If you wish to modify it, refer to the <a href="https://tailwindcss.nuxtjs.org/getting-started/setup">official documentation</a>. </p><h2 id="add-i18n-intlifynuxt3">🚩 Add i18n - @intlify/nuxt3 <a class="markdownit-header-anchor" href="#add-i18n-intlifynuxt3">🔗</a></h2><p>Install the dev dependency by running <code>npm i -D @intlify/nuxt3</code>. Then create <code>lang</code> folder in the root of your project, which we'll use as the localization files source for the i18n module and create the <code>en.json</code> file inside. We'll also set English as the main and fallback locale for the moment. Modify your <strong>nuxt.config.ts</strong> to accommodate these changes.</p><pre><code class="language-typescript">// nuxt.config.ts
import { defineNuxtConfig } from 'nuxt'
import eslintPlugin from 'vite-plugin-eslint';

export default defineNuxtConfig({
  vite: {
    plugins: [
      eslintPlugin()
    ]
  },
  modules: [
    '@nuxtjs/tailwindcss',
    '@intlify/nuxt3'
  ],
  intlify: {
    localeDir: 'lang',
    vueI18n: {
      locale: 'en',
      fallbackLocale: 'en'
    }
  }
})</code></pre><p>The list of supported languages, as well as the fallback language, will depend on your project.</p><blockquote><a href="https://localazy.com/blog/how-to-localize-nuxt-v3-using-localazy">Learn</a> how you can connect Nuxt 3 to Localazy at translate your project in no time</blockquote><p>At this point, when you create some keys in <code>en.json</code> , you'll be able to render them in your application via the <code>$t('...')</code> utility function. Here is an example:</p><pre><code>// lang/en.json
{
  "hello_from_localazy": "Hello from Localazy",
  "description": "Nuxt 3 + Tailwind + Eslint + i18n + Sentry Starter"
}</code></pre><pre><code>// app.vue
&lt;template&gt;
  &lt;div&gt;
      &lt;h1&gt;{{ $t('hello_from_localazy') }}&lt;/h1&gt;
      {{ $t('description') }}
  &lt;/div&gt;
&lt;/template&gt;</code></pre><h2 id="add-sentry">👁️ Add Sentry <a class="markdownit-header-anchor" href="#add-sentry">🔗</a></h2><p>First of all, head to the Sentry website and <a href="https://sentry.io/signup/">sign up</a>. Once logged in, create a new project and navigate to its settings, and open <strong>Client Keys (DSN)</strong>. Note down your DSN; we'll need it shortly.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/nuxt3-starter-sentry.png" class="kg-image" alt loading="lazy" width="216" height="250"><figcaption>Client Keys (DSN) in Sentry administration</figcaption></figure><p>Back in your project, we'll install Sentry as a Vue-based <a href="https://v3.nuxtjs.org/guide/directory-structure/plugins">client-only plugin</a>. Firstly, install the required dependencies <code>npm i @sentry/tracing @sentry/vue</code>. Then create <em>plugins </em>folder and <code>sentry.client.ts</code> file inside. Paste in the following and fill in your DSN key.</p><pre><code class="language-typescript">// plugins/sentry.client.ts
import * as Sentry from '@sentry/vue';
import { BrowserTracing } from '@sentry/tracing';

export default defineNuxtPlugin((nuxtApp) =&gt; {
  const { vueApp } = nuxtApp;

  Sentry.init({
    app: [vueApp],
    dsn: '&lt;YOUR-DSN&gt;',
    environment: process.dev ? 'development' : 'production',
    integrations: [
      new BrowserTracing({
        routingInstrumentation: Sentry.vueRouterInstrumentation(nuxtApp.$router)
      })
    ],
    // Set tracesSampleRate to 1.0 to capture 100%
    // of transactions for performance monitoring.
    // We recommend adjusting this value in production
    tracesSampleRate: 1.0,
    beforeSend (event, hint) {
      // Check if it is an exception, and if so, log it.
      if (event.exception) {
        // eslint-disable-next-line no-console
        console.error(`[Exeption handled by Sentry]: (${hint.originalException})`, { event, hint });
      }
      // Continue sending to Sentry
      return event;
    }
  });

  vueApp.mixin(Sentry.createTracingMixins({ trackComponents: true, timeout: 2000, hooks: ['activate', 'mount', 'update'] }));
  Sentry.attachErrorHandler(vueApp, { logErrors: false, attachProps: true, trackComponents: true, timeout: 2000, hooks: ['activate', 'mount', 'update'] });

  return {
    provide: {
      sentrySetContext: Sentry.setContext,
      sentrySetUser: Sentry.setUser,
      sentrySetTag: Sentry.setTag,
      sentryAddBreadcrumb: Sentry.addBreadcrumb,
      sentryCaptureException: Sentry.captureException
    }
  };
});
</code></pre><p>If you'd like to dive deeper into the configuration, I recommend reading through the official Sentry <a href="https://docs.sentry.io/platforms/javascript/guides/vue/">documentation</a>. </p><p>At this point, when an error arises in your application or you'll capture exceptions by hand. We're attaching a couple of Sentry methods to the Nuxt instance, and they are available on the client side through <code>useNuxtApp</code> composable. For example:</p><pre><code>// app.vue
...

&lt;script lang="ts" setup&gt;
const { $sentryCaptureException } = useNuxtApp();

onMounted(() =&gt; {
  $sentryCaptureException("Test exception");
});
&lt;/script&gt;</code></pre><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Throughout this article, we've integrated and implemented the fundamental tools and modules that will help your Nuxt 3 projects scale easily. <a href="https://github.com/localazy/Nuxt-3-Tailwind-Eslint-i18n-Sentry-starter">Here</a> is the final boilerplate that you can download. Happy coding!</p><h2 id="a-gift-for-you">🎁 A gift for you <a class="markdownit-header-anchor" href="#a-gift-for-you">🔗</a></h2><p>Use the coupon "<strong>lovenuxt</strong>" during your Localazy plan checkout and get a 25% discount on your purchase.</p><p>Discount applies to the <a href="https://localazy.com/tiers/professional">Professional</a> plan. Enjoy!</p><p></p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/nuxt-boilerplate.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: back to college with the School Planner app]]></title>
            <link>https://localazy.com/blog/interview-back-to-college-with-school-planner-app</link>
            <guid isPermaLink="false">interview-back-to-college-with-school-planner-app</guid>
            <pubDate>Fri, 09 Dec 2022 15:12:01 GMT</pubDate>
            <description><![CDATA["After just two weeks of using Localazy, we got 15 volunteers helping translate the app to 5 more languages. Some features like ShareTM and the glossary are simply awesome!" says Heysem Katibi, the developer of the School Planner app. Read more about his experience with Localazy in this interview.]]></description>
            <content:encoded><![CDATA[<p>The new school year is here! Early lessons, morning commutes, homework, and exams are back in full swing. Luckily, thanks to technology, it's never been easier to map out a study schedule than now. With the plethora of calendar apps currently available, every student can get an extra push to have a successful year, especially in college. Choosing one is really the hard part! Today we highlight an excellent option: <a href="https://play.google.com/store/apps/details?id=com.swazerlab.schoolplanner">School Planner</a>, developed by <strong>Heysem Katibi</strong> and currently available in six different languages.</p><h2 id="enhanced-productivity">🗓️ Enhanced productivity <a class="markdownit-header-anchor" href="#enhanced-productivity">🔗</a></h2><p><strong>Welcome, Heysem! Thank you for your time. Can you tell us a little about how School Planner works?</strong></p><p>Hi! It helps students organize their classes and assignments. 📚 It's basically a smart organizer for students all around the world. I want it to cover all possible scenarios that might come across when you're studying. For example, I'm working on a grade calculator feature. I also have a memo recorder, class notes, statistics, and many more features are on my roadmap. </p><p><strong>Who are your customers? (high schoolers, college students, post-grad...)</strong></p><p>I only collect the absolute minimum amount of analytics from the app (only events and crash reports), so I can't know for sure who's using the app and for what. That being said, the app was designed with college students in mind. Also, most of the feedback I receive is from college students so I think it's safe to say that college students are the most frequent audience. 😄</p><p><strong>When students choose School Planner as their app, what do you think is the unique value proposition that sets it apart from others?</strong></p><p>The lack of a Timetable feature in other apps is what lead me to this project, and I really think that it's one of the standouts. It displays the user's weekly schedule in a timetable and gives the user the ability to add/remove classes right from there. Simple yet effective!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/Frame---1.png" class="kg-image" alt loading="lazy" width="2000" height="1185" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/Frame---1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/Frame---1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/Frame---1.png 1600w, https://ghost.localazy.com/content/images/2022/09/Frame---1.png 2106w" sizes="(min-width: 720px) 720px"></figure><p><strong>The app also has a vacation mode and an Exams tab. How do they work?</strong></p><p>Vacation mode ⛱️ (aka "Holidays" in the app) is a highly requested feature. It automatically cancels users’ schedules on public holidays and whenever they’re on vacation. The app also has an option to restore canceled events for the entire holiday or just for one day. As for the Exams 📝 feature, it organizes users' tests and automatically sends exam reminders. I should also mention that exams aren't affected by holidays, so if (for some reason) a user has an exam on a holiday day, the exam is still going to show up on their schedule and they're still going to receive notifications related to that exam.</p><p><strong>Can School Planner be integrated in a calendar app (Google/iCalendar)? </strong></p><p>I had this feature on my roadmap for a long time, but I decided not to implement it because I didn't see how it would improve the user experience. School Planner already displays class schedules in a similar way to Calendar. It also sends reminders 🔔 and allows for notification customizations such as changing notification time and deciding how many reminders users want to receive for a single class.</p><p>Some users are asking for a feature that allows them to share their schedule with friends, so I might decide to share the user schedule as a calendar event. 🤔 But synchronizing the entire schedule with Calendar isn't something I'm planning to do right now. </p><h2 id="programming-from-a-young-age">📱 Programming from a young age <a class="markdownit-header-anchor" href="#programming-from-a-young-age">🔗</a></h2><p><strong>Can you tell us about your personal story of creating the app? What is your background, and why did you decide to jump on it?</strong></p><p>When I was 12 years old, my older brother started teaching me VisualBasic 6.0, so by the time I was 15, I was doing some tasks for a local software company and getting paid for my work, which was very exciting to me. Later in college, I used an app called "Class Timetable" to organize my class schedule. It was a nice app, but it lacked some important features for me, such as Assignments and a weekly view of my classes. Also, the notifications weren't customizable, so after using it for a while, I ended up going back to using my notebook to keep track of my schedule and assignments.</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;We're a family of developers. At first, I was just using the app myself but then we decided to publish it to the AppStore, and we immediately started getting new users&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p>When my younger brother (yeah, we're a family of developers 🤩) saw my notebook, he decided to start working on <a href="https://apps.apple.com/us/app/school-planner-timetable/id1520179572?platform=iphone">an iOS app</a> just to cover my needs, and soon enough, I jumped on board and also started working with him. At first, I was just using the app myself, but then we decided to publish the app to the AppStore, and we immediately started getting new users. 👏 Seeing new people using our app was very exciting for us, so we also decided to start working on <a href="https://play.google.com/store/apps/details?id=com.swazerlab.schoolplanner">an Android app</a>.</p><p>Nowadays, I've graduated from college, and I have a job, so I don't use the app myself anymore, but seeing the reviews on App Store and Google Play and receiving emails from users every day gives me the motivation to keep developing the app.</p><p><strong>How is your product funded? What's your current runway?</strong></p><p>Savings! 💰I don't have a clear funding plan, to be honest. I have in-app purchases that remove the ads from the app, but School Planner is always to be usable in the free version, including all the fundamental features. I don't like the apps that push users toward paying: I want to keep it very usable for non-paying users as well.</p><p><strong>What does success look like for your company?</strong></p><p>To me, reaching 1 million downloads looks like a very nice step toward success. 🏆The nice reviews I get on Google Play and App Store also make me super excited to keep developing the app. If one day I talk to a random student in college and they tell me that they're using School Planner to organize their college life, I'll consider the app to be a success.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/Captura-de-pantalla-2022-09-08-a-las-19.09.08.png" class="kg-image" alt loading="lazy" width="1596" height="1166" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/Captura-de-pantalla-2022-09-08-a-las-19.09.08.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/Captura-de-pantalla-2022-09-08-a-las-19.09.08.png 1000w, https://ghost.localazy.com/content/images/2022/09/Captura-de-pantalla-2022-09-08-a-las-19.09.08.png 1596w" sizes="(min-width: 720px) 720px"></figure><p><strong>What are the next steps and future plans for School Planner?</strong></p><p>I'm currently working on a highly requested feature which is Grades. Users want to register their exam results and then ask the app to convert them to a letter grading system or even calculate the minimum grade they have to get in the final exam for them to pass. I'm thinking about adding some premium features as well, like class statistics, more home screen widgets, and more themes. </p><h2 id="tips-for-aspiring-developers">📝 Tips for aspiring developers <a class="markdownit-header-anchor" href="#tips-for-aspiring-developers">🔗</a></h2><p><strong>Do you think the drive for entrepreneurship is something people are either born with or not, or is it something that can be taught?</strong></p><p>I absolutely think that everything can be learned/taught. When I talk to people (especially from the tech world) about how I'm 26, and I already have 10+ years of experience in programming, they always assume that I'm naturally talented and that I was born with some kind of "smart" gene. The truth is that my older brother started teaching me programming when I was 12 years old. So to me, it doesn't have anything to do with being smart: I just started learning earlier than others.</p><p><strong>Can you tell us about your other projects? (Habit Tracking, Pomodoro…) What would you like to do next?</strong></p><p><a href="https://play.google.com/store/apps/details?id=com.swazer.habittracker">Habit Tracking</a> 🌡️, Pomodoro ⏱️, and School Planner 🎒 are all projects we developed with my brother to solve problems we were facing ourselves. For example, I use <a href="https://play.google.com/store/apps/details?id=com.swazer.timetracker">Pomodoro</a> daily to track my time and to understand how many hours I spend doing something on a monthly basis. I don't know what my upcoming projects are going to be, but nowadays, I'm really focusing on artificial intelligence and 🤖 machine learning, so I'm hoping that my next idea is related to those fields.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/09/Captura-de-pantalla-2022-09-08-a-las-19.10.37.png" class="kg-image" alt loading="lazy" width="1686" height="1256" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/Captura-de-pantalla-2022-09-08-a-las-19.10.37.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/Captura-de-pantalla-2022-09-08-a-las-19.10.37.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/Captura-de-pantalla-2022-09-08-a-las-19.10.37.png 1600w, https://ghost.localazy.com/content/images/2022/09/Captura-de-pantalla-2022-09-08-a-las-19.10.37.png 1686w" sizes="(min-width: 720px) 720px"><figcaption>Overview of the Pomodoro time tracking app, also created by Katibi.</figcaption></figure><p><strong>What is the main driver that motivates you to keep taking on your business ventures? Did your motives change over the years?</strong></p><p>I simply enjoy programming, and that has been pushing me so far. 💪 </p><p><strong>Any advice to young entrepreneurs who want to launch their own projects, especially in this competitive market?</strong></p><p>I personally learned not to work on features just because I liked them. I once spent three weeks working on a really complicated feature that I thought was going to be very popular, only to realize that almost nobody needed it. So I’d advise always working on stuff requested by the users since those are the features that will make them happy and bring more people to the app.</p><p><strong>If you could start again with School Planner, what would you do differently from today’s perspective?</strong></p><p>I might have started with a back end other than Firebase, maybe even a local database, because it's somewhat expansive as the app is getting bigger. It's starting to slow down development. 😕 I also wouldn't have done some features just because I liked them (without any feedback from users) because I realized that what I like isn't usually what users need.</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;To young entrepeneurs: always work on stuff requested by the users. What you like isn't usually what users need&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>What do you think – how will your industry look like about 10 years from now?</strong></p><p>I don't see smartphones going away any time soon, so mobile apps (and among them, productivity apps 🏃‍♀️) are going to keep being relevant for the coming 10 years. However, I believe that making apps for mobile will become easier and will require less and less technical knowledge, similar to what WordPress and other products did to the web.</p><h2 id="localizing-the-app">💬 Localizing the app <a class="markdownit-header-anchor" href="#localizing-the-app">🔗</a></h2><p><strong>What services or products do you really like to use on your own?</strong></p><p>I liked using <a href="/swift">Swift</a> very much when it first came out, so I immediately converted a project I was working on at the time to that language. I eventually regretted it, because it wasn't mature enough to be in a production app. That's why I was very excited when <a href="/dictionary/kotlin">Kotlin</a> was announced as an official language for Android, as it has so many Swift features. 😌 </p><p>Today, I use Kotlin with <a href="/dictionary/android-studio">Android Studio</a> for the Android app, and Swift with <a href="https://developer.apple.com/xcode/">XCode</a> for the iOS app. I also like <a href="https://www.atlassian.com/es/software/jira">Jira</a> and <a href="https://trello.com/home">Trello</a> for tracking issues and building a roadmap. Additionally, i use a combination of <a href="https://www.sketch.com/?utm_source=google&amp;utm_medium=cpc&amp;adgroup=&amp;device=c&amp;matchtype=e&amp;utm_campaign=ADDICTMOBILE_SKETCH_GAD_DG_ES_T2_ALWAYS-ON_S_TRF_PROS_BRAND&amp;utm_term=sketch&amp;utm_source=google&amp;utm_medium=cpc&amp;utm_content=TOF_BRND__generic&amp;hsa_acc=8710913982&amp;hsa_cam=16720261830&amp;hsa_grp=134572339429&amp;hsa_ad=591810250270&amp;hsa_src=g&amp;hsa_tgt=kwd-14921750&amp;hsa_kw=sketch&amp;hsa_mt=e&amp;hsa_net=adwords&amp;hsa_ver=3&amp;gclid=Cj0KCQjwyOuYBhCGARIsAIdGQRO0tMTUFW2dW05MJ6s1FOlLActRB63_3VaCOVPNa0z5iCdm5vQxpY0aAhJqEALw_wcB">Sketch</a> and <a href="/dictionary/figma">Figma</a> to make my designs and use <a href="https://git-fork.com/">Fork</a> to manage my Git version control.</p><blockquote>"When I found Localazy, I was very impressed. The product is very polished, it allows for external volunteers, and some features like ShareTM, machine translation suggestions and the glossary are simply awesome"</blockquote><p><strong>What is your motivation for localization? </strong></p><p>I started School Planner exclusively in English. At the time, I had about 10 daily active users (DAU). Then I decided to translate it into the other two languages I speak, and I almost immediately saw that my DAU count jumped to 25-30. So I started asking friends to help me translate the app, and by the time I had 6 languages, my DAU was around 1500. ✌️</p><p>When users started sending me emails asking for more languages - and even offering to help with the translation process - I did some research online and found Localazy. I was very impressed. The product is very polished, it allows for external volunteers, and some features like <a href="/features/share-tm">ShareTM</a>, <a href="/features/machine-translation">machine translation suggestions</a>, and the <a href="/docs/general/how-to-define-your-glossary">glossary</a> are simply awesome.</p><p><strong>Do you have a favorite feature?</strong></p><p>I have to say that the shared translations pool feature is absolutely brilliant. I can't get over the feeling when I go translate a string, and I find a translation used in, like, 700 other projects. It gives me the confidence to immediately accept the translation every time.</p><blockquote>Explore how ShareTM works in this <a href="/docs/general/what-is-localazy-sharetm">guide</a>! For more info on our translation pool feature, check out more blog articles <a href="/dictionary/sharetm">here</a>.</blockquote><p><strong>In which languages is the app available right now? Which are the next ones you're thinking of implementing?</strong></p><p>School Planner is currently available in 6 languages:</p><ul><li>English</li><li>French</li><li>Arabic</li><li>German</li><li>Turkish</li><li>Spanish</li></ul><p>After just two weeks of using Localazy, we got 15 volunteers to help translate the app to 5 more languages. 👏  At the time I’m writing this, Portuguese is 48%, Russian is 59%, and Italian is 27% done, thanks to the awesome ShareTM feature and to all the people participating.</p><p><strong>Is there something you would like to add?</strong></p><p>I'm really excited to start seeing School Planner in other languages. I hope many volunteers join in to translate the app. And thank you again for your amazing product!</p><p><strong>Thank you, Heysem! Check School Planner, Habit Tracker, and other open-source projects on their </strong><a href="https://github.com/mohakapt"><strong>GitHub profile</strong></a><strong>. </strong></p><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog, and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Interview-SchoolPlanner-Localazy.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[iOS: Localizing App Shortcuts with App Intents]]></title>
            <link>https://localazy.com/blog/localizing-app-shortcuts-with-app-intents</link>
            <guid isPermaLink="false">localizing-app-shortcuts-with-app-intents</guid>
            <pubDate>Tue, 13 Sep 2022 11:24:02 GMT</pubDate>
            <description><![CDATA[Are you adding App Shortcuts for iOS16 and struggling with localization? Read this article and learn how you can handle it.]]></description>
            <content:encoded><![CDATA[<p>When implementing App Shortcuts with App Intents, it can be a bit daunting to localize everything.</p><p>Below is a small inventory of each Strings file and how to translate them. But first…</p><h2 id="the-big-picture">🚀 The big picture <a class="markdownit-header-anchor" href="#the-big-picture">🔗</a></h2><p>After wandering the net without finding anything that worked, I reached out to <a href="https://twitter.com/angottardo">Andrea Gottardo</a>, who kindly replied, and I quote:</p><blockquote>"You do need to have localizations for each, so I would recommend making a separate loc file called AppShortcuts.strings"</blockquote><p>I followed their advice, and it worked.</p><p>When I first read this, I thought that the key element was "for each" because when I wanted to test the localization, I only translated the first sentence to save time. It was a little weird because I thought I had also tested this at the very beginning, but I didn't pay more attention than that.</p><p>The thing is, translating all the phrases was not the only thing I did: I also created a file called "AppShortcuts.strings" and moved the translations there. I'm so used to breaking my Localizable.strings into multiple files that I didn't pay attention to this because it's part of my workflow. But it may be a key element.</p><p>Indeed, this is the only file that throws this type of error: "Invalid Utterance. Every App Shortcut utterance should have '${applicationName}' in it".</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image.png" class="kg-image" alt loading="lazy" width="2000" height="588" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/09/image.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>So it seems there are two files involved:</p><ul><li><strong>Localizable.strings</strong>: the default file for your app, for everything but the phrases</li><li><strong>AppShortcuts.strings</strong>: for all the AppShortcut/AppShortcutsProvider phrases, and it has to be called exactly like this</li></ul><h2 id="localizablestrings-is-not-mandatory">☝️ Localizable.strings is not mandatory <a class="markdownit-header-anchor" href="#localizablestrings-is-not-mandatory">🔗</a></h2><p>While the AppShorcuts.strings must be used for phrases, you don't have to use Localizable.strings for the other strings.</p><p>Most strings rely on <a href="https://developer.apple.com/documentation/foundation/localizedstringresource?changes=_6">LocalizedStringResource</a> for translation, and as you can see from the image below, you can use a custom file and provide its name as the "table" argument.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-1.png" class="kg-image" alt loading="lazy" width="2000" height="360" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/09/image-1.png 1600w, https://ghost.localazy.com/content/images/2022/09/image-1.png 2076w" sizes="(min-width: 720px) 720px"></figure><h2 id="translating-app-shortcuts">🚩 Translating App Shortcuts <a class="markdownit-header-anchor" href="#translating-app-shortcuts">🔗</a></h2><p>Here's the inventory with code samples:</p><h3 id="appshortcutsprovider-and-appshortcut">AppShortcutsProvider & AppShortcut <a class="markdownit-header-anchor" href="#appshortcutsprovider-and-appshortcut">🔗</a></h3><p>The AppShortcutsProvider prepares a set of preconfigured shortcuts that will appear in the Shortcuts.app. You can help your users find it using the new SwiftUI <a href="https://developer.apple.com/documentation/appintents/shortcutslink">ShortcutsLink</a> button.</p><p>Here's what my AppShortcutsProvider currently looks like:</p><pre><code class="language-swift">struct NoMeatTodayAppShortcuts: AppShortcutsProvider {
    static var shortcutTileColor: ShortcutTileColor = .lime
    
    static var appShortcuts: [AppShortcut] {
        AppShortcut(
            intent: AddMealIntent(quantity: 1),
            phrases: [
                "Add a meal \(\.$content) to \(.applicationName)",
            ],
            systemImageName: "leaf.fill"
        )
        AppShortcut(
            intent: AddMealIntent(1, content: .clear),
            phrases: [
                "Add a vegetarian meal in \(.applicationName)",
                "Add a vegetarian meal to \(.applicationName)",
                "Add a vegan meal in \(.applicationName)",
                "Add a vegan meal to \(.applicationName)",
                "Add a meatless meal in \(.applicationName)",
                "Add a meatless meal to \(.applicationName)",
                "Add a plant-based meal in \(.applicationName)",
                "Add a plant-based meal to \(.applicationName)",
            ],
            systemImageName: "leaf.fill"
        )
        AppShortcut(
            intent: OpenViewIntent(),
            phrases: [
                "Open \(\.$view) in \(.applicationName)",

            ],
            systemImageName: "leaf.fill"
        )
    }
}</code></pre><p>As you may notice, there's some SwiftUI building magic involved since we're turning a list of AppShortcut into an array, all thanks to the AppShortcutsBuilder.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-2.png" class="kg-image" alt loading="lazy" width="1444" height="298" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/09/image-2.png 1000w, https://ghost.localazy.com/content/images/2022/09/image-2.png 1444w" sizes="(min-width: 720px) 720px"></figure><p>If you want to have an initializer like in the above (`AddMealIntent(quantity: 1)`), do like I did, listen to <a href="https://twitter.com/emcro">Emmanuel Crousivier</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/09/image-6.png" class="kg-image" alt loading="lazy" width="558" height="902"><figcaption><a href="https://twitter.com/emcro/status/1555960780897415168">Source: https://twitter.com/emcro/status/1555960780897415168</a></figcaption></figure><p>Anyway, phrases should go into your AppShortcuts.strings file, and the variables or the application name should be surrounded by ${}.</p><pre><code class="language-swift">"Open ${view} in ${applicationName}" = "Ouvre la vue ${view} dans ${applicationName}";

"Add a meal ${content} to ${applicationName}" = "Ajoute un repas ${content} à ${applicationName}";

"Add a vegetarian meal in ${applicationName}" = "Ajoute un repas végétarien dans ${applicationName}";
"Add a vegetarian meal to ${applicationName}" = "Ajoute un repas végétarien à ${applicationName}";
"Add a vegan meal in ${applicationName}" = "Ajoute un repas végan dans ${applicationName}";
"Add a vegan meal to ${applicationName}" = "Ajoute un repas végan à ${applicationName}";
"Add a meatless meal in ${applicationName}" = "Ajoute un repas sans viande dans ${applicationName}";
"Add a meatless meal to ${applicationName}" = "Ajoute un repas sans viande à ${applicationName}";
"Add a plant-based meal in ${applicationName}" = "Ajoute un repas à base de plantes dans ${applicationName}";
"Add a plant-based meal to ${applicationName}" = "Ajoute un repas à base de plantes à ${applicationName}";
</code></pre><p>The strange part is that when <code>${applicationName}</code> is the only variable; only one AppShortcut will be available in the Library (Siri is supposed to understand them all, though), whereas adding two phrases with an AppEnum having three values will result in six Shortcuts.</p><p>For instance, with <code>Open ${view} in ${applicationName}</code> where the view can have 3 values, this creates in 3 preconfigured Shortcuts. But if I were to add <code>Show ${view} in ${applicationName}</code> to the list, I'd get 6.</p><p>That being said, if you want to create one preconfigured Shortcut for each of your phrases having only <code>${applicationName}</code> in it, add multiple AppShortcuts with one phrase instead of adding one AppShortcut with multiple phrases.</p><h3 id="appintent">AppIntent <a class="markdownit-header-anchor" href="#appintent">🔗</a></h3><p>When it comes to AppIntent, everything goes into your Localizable.strings (or the file of your choice if you use tables, see above).</p><pre><code class="language-swift">struct OpenViewIntent: AppIntent {
    static var openAppWhenRun: Bool = true

    static var title: LocalizedStringResource = "Open View"
    static var description: IntentDescription = .init("Opens the selected view", categoryName: "Open in App", searchKeywords: ["open", "view"])
    
    @Parameter(title: "View")
    var view: ShortcutableView
    
    @MainActor
    func perform() async throws -&gt; some IntentResult {}
    
    static var parameterSummary: some ParameterSummary {
        Summary("Open \(\.$view)")
    }
}</code></pre><h3 id="where-do-they-appear">Where do they appear? <a class="markdownit-header-anchor" href="#where-do-they-appear">🔗</a></h3><p>title and description appear when you click on the (i) next to an action.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-3.png" class="kg-image" alt loading="lazy" width="846" height="370" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-3.png 600w, https://ghost.localazy.com/content/images/2022/09/image-3.png 846w" sizes="(min-width: 720px) 720px"></figure><p>The @Parameter(title:) "Vue" and ParameterSummary "Ouvrir …" appear in the details of your action, while the values "Aujourd'hui/Population/Historique" are provided by the AppEnum (see below)</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-4.png" class="kg-image" alt loading="lazy" width="830" height="588" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-4.png 600w, https://ghost.localazy.com/content/images/2022/09/image-4.png 830w" sizes="(min-width: 720px) 720px"></figure><h3 id="title-and-parametertitle">title and @Parameter(title:) <a class="markdownit-header-anchor" href="#title-and-parametertitle">🔗</a></h3><p>Just give them a string that you'll translate in Localizable.strings, or use one of LocalizedStringResource's init if you want to use a custom table.</p><h3 id="description">description <a class="markdownit-header-anchor" href="#description">🔗</a></h3><p>As you can see, I didn't use a simple string for the description. This is because I want to be able to group Shortcuts by type of intent in the action picker. I only have 2 Shortcuts for now so it's not very useful, but I intend (…) to add more.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/image-5.png" class="kg-image" alt loading="lazy" width="848" height="498" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/image-5.png 600w, https://ghost.localazy.com/content/images/2022/09/image-5.png 848w" sizes="(min-width: 720px) 720px"></figure><h3 id="parametersummary">ParameterSummary <a class="markdownit-header-anchor" href="#parametersummary">🔗</a></h3><p>This one is tricky. You'd think that because it has a variable, it should be with the phrases translations in AppShortcuts.strings, but no, it belongs in Localizable.strings.</p><p>But, you still need to use the same syntax with the ${}</p><pre><code class="language-swift">"Open ${view}" = "Ouvrir ${view}";</code></pre><h3 id="appenum">AppEnum <a class="markdownit-header-anchor" href="#appenum">🔗</a></h3><p>Here's the enum I used in the example above, with Today/Population/History being translated in French ("Aujourd'hui/Population/Historique").</p><pre><code class="language-swift">public enum ShortcutableView: String, AppEnum {
    case today
    case population
    case history
    
    static var typeDisplayName: LocalizedStringResource = "View"

    public static var typeDisplayRepresentation: TypeDisplayRepresentation = "View"
    
    public static var caseDisplayRepresentations: [ShortcutableView: DisplayRepresentation] = [
        .today: "Today",
        .population: "Population",
        .history: "History",
    ]
}</code></pre><p><code>typeDisplayName</code>, <code>typeDisplayRepresentation</code> (which I'm not sure ever appears anywhere anyway) and <code>caseDisplayRepresentations</code> all go in your Localizable.strings file or the file of your choice with the proper initializer.</p><p>For instance, for <code>caseDisplayRepresentations</code> you will have to use something like<code>.init(title: LocalizedStringResource("Today", table: "CustomFileName"))</code> instead of the simple "Today" I used.</p><h3 id="other-strings">Other strings <a class="markdownit-header-anchor" href="#other-strings">🔗</a></h3><p>I think it's safe to assume that anything that's not covered here goes into Localizable.strings, but we'll see :)</p><h2 id="parting-notes">✔️ Parting notes <a class="markdownit-header-anchor" href="#parting-notes">🔗</a></h2><ul><li>You need two files: Localizable.strings and AppShortcuts.strings</li><li>For phrases without variables / having only \(.applicationName) in them, only the first one will appear in the Shortcuts library</li><li>Translate all phrases (although I'm not sure that's a real requirement)</li><li>When testing your actions (creating a new shortcut using the shortcuts you provide), make sure you create a <strong>new shortcut</strong> each time. There is some caching involved, and the translations might not show up otherwise.</li><li>I haven't covered Application Name synonyms and SiriTipView yet, so come back sometime later or follow me on <a href="https://twitter.com/sowenjub">Twitter</a> for updates.</li></ul><p>And if you're looking for a tool to manage the localization, I'd suggest you use my tool of choice, Localazy. I wrote some articles to get you set up and have a <a href="https://localazy.com/register?ref=aAHPjuDt3H4D-eth">referral link</a> that should earn you some free stuff.</p><p><strong>Before you leave </strong>😇</p><p>Consider doing one or more of these:</p><ul><li>Follow me on Twitter <a href="https://twitter.com/sowenjub">@sowenjub</a></li><li>Download <a href="https://nomeat.today/">No Meat Today</a>, a companion app for people who want to eat less meat, whatever you put behind "less" or "meat." Most of us are eating too much meat for our own sake these days (health, environment, climate, money…). This app will help you get on top of your consumption.</li></ul>]]></content:encoded>
            <author>Arnaud Joubay</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/09/Localizing-App-Shortcuts-with-App-Intents.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: Donar Online, the ultimate platform for non-profits in Latin America]]></title>
            <link>https://localazy.com/blog/interview-donar-online-ultimate-platform-non-profits-latin-america</link>
            <guid isPermaLink="false">interview-donar-online-ultimate-platform-non-profits-latin-america</guid>
            <pubDate>Fri, 09 Dec 2022 15:10:12 GMT</pubDate>
            <description><![CDATA["Being able to add team members without extra charges in Localazy made a huge difference for us, as we got help from volunteers," says Agustín, the co-founder of Donar Online. Read more about their mission to help non-profits in Latin America process online donations in this interview.]]></description>
            <content:encoded><![CDATA[<p>Online donations have become an instrumental tool for NGOs all around the world thanks to technological advances. And in the wake of the pandemic, <a href="https://donaronline.org/covid19">contributions</a> became more crucial than ever. That's why designing an intuitive, easy-to-use donation platform has never been more vital for the common good. However, not all organizations have the luxury of counting on the time and resources needed to set up one. <strong><a href="https://donaronline.org">Donar Online</a></strong> offers a solution.</p><p>This platform, which fosters donations for all kinds of non-profits in Latin America, has raised 50 million dollars globally since its inception in 2013. Today we talk about solidarity, the power of blockchain technologies for NGOs, and the importance of giving back with its co-founder, <strong>Agustín Cavilliotti</strong>.</p><h2 id="the-project">🤝 The project <a class="markdownit-header-anchor" href="#the-project">🔗</a></h2><p><strong>Hi, Agustín! 50 million! That's impressive. How did it all come to be?</strong></p><p>Hi there! Well, Donar Online was born thanks to another NGO called <a href="https://www.winguweb.org/en">Wingu</a>. We wanted to offer a tool for other non-profits to collect and manage their online donations safely and easily. </p><p><strong>Interesting! So they initially fostered the platform, is that right?</strong></p><p>Yes. I started working on Wingu 12 years ago, and the first version of Donar Online <a href="https://donaronline.org/about-us">was actually created</a> there. Around that time, I had the opportunity of joining another startup called GoodPeople, a sports marketplace for surf, skating, and snowboarding... where each brand had to support a non-profit initiative to be part of the platform. ✌️ I worked there for four years and then returned to Wingu, where I pledged to propel Donar Online further. That's when we decided to have a project with its own team and an entity in its own right. </p><p><strong>What was the vision?</strong></p><p>To make it easier to have and manage a fundraising strategy with individual donors, so the non-profit can focus on their mission in a real, sustainable way. 💪NGOs can create their campaigns in order to get recurring donations with credit or debit cards. They can also manage their donor database directly from the platform.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/donar1.png" class="kg-image" alt loading="lazy" width="960" height="540" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/donar1.png 600w, https://ghost.localazy.com/content/images/2022/09/donar1.png 960w" sizes="(min-width: 720px) 720px"></figure><p><strong>Lovely! I assume they are all non-profits from Latin America. </strong>🌎</p><p>That's right. Currently, 4,500 organizations from 🇦🇷 Argentina, 🇲🇽 México, 🇨🇴 Colombia, 🇨🇱 Chile, 🇺🇾 Uruguay, and 🇵🇪 Perú are registered on the platform. Size doesn't really matter: they range from small to huge. A good indicator is that <a href="https://fundacionacnur.org">ACNUR Argentina</a> and <a href="https://www.aldeasinfantiles.org.uy">Aldeas Infantiles Uruguay</a> also work with us.</p><p><strong>So, once they sign up, which steps do they have to follow?</strong></p><p>It's quite simple. To be able to get donations, the non-profit has to <a href="https://www.youtube.com/watch?v=lkUI5oVOvLk">create a campaign</a> and share the URL. Donors will then be able to offer an amount and add their payment method. The organization will take care of the data, and they won't be obliged to create an account in order to donate. In addition, using the platform is free for donors. In fact, it was 100% free for everyone up until 2019.</p><!--kg-card-begin: markdown--><blockquote>
<p>The goal is to make it easier to manage a fundraising strategy with individual donors, so the non-profit can focus on their mission in a sustainable way</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>Have you noticed particular issues or needs that garner more interest?</strong></p><p>Historically, there are more organizations taking care of poverty, child malnutrition, human rights (refugees and more), animal rights, and environmental issues, but the platform honestly covers it all. <br><br><strong>Do you think technology has been helping to create awareness over the last decade?</strong></p><p>Definitely, people are more aware of all the gaps that the system - or governments, for that matter - cannot fill. Technology has shone a light on those who work on non-profit endeavors 👐 and on the fact that it is crucial to help if we want certain projects to survive. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/donar2.png" class="kg-image" alt loading="lazy" width="960" height="540" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/donar2.png 600w, https://ghost.localazy.com/content/images/2022/09/donar2.png 960w" sizes="(min-width: 720px) 720px"></figure><h2 id="profitability-for-non-profits">🔍 Profitability for non-profits <a class="markdownit-header-anchor" href="#profitability-for-non-profits">🔗</a></h2><p><strong>It's time for the dreaded question... How is your product funded? </strong></p><p>Ha! We bootstrap. As a non-profit, it is not so easy or clear how to approach funds. We understand (because we experience it) the struggle to get financial support to move forward. But, first and foremost, we like to work with other non-profits and build useful tools with them, FOR them. </p><!--kg-card-begin: markdown--><blockquote>
<p>Non-profits that raise money in the platform get over 90% of the total collected amount. Donar Online <a href="https://donaronline.org/pricing">deducts</a> 2.7% of all procesed donations</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>Any long-term goal in mind regarding profitability? </strong>📈</p><p>We are currently reviewing the best way to accelerate our current roadmap.</p><p><strong>What does success look like for your company?</strong></p><p>We want to be able to have the lowest fee possible to offer a useful product for the non-profits that work with us. As we integrate with different payment gateways in each country, it is possible for an organization to be able to process a donation on different gateways if any of them is rejecting the payment, which allows us to improve the approval ratio.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/is3gihsKk3w" title="Cómo es el proceso de donación en Donar Online" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p><strong>You've been active in the non-profit sector for nearly ten years. How has the tech landscape evolved? Any accomplishment you're especially proud of?</strong></p><p>Back when we started, Argentina didn't have any platform to collect and process donations, just eCommerce sites. We can say that we were first: we found a solution, and we've been improving it quarter by quarter. 😊🏆 Today, any organization can choose <a href="https://soporte.donaronline.org/es/articles/1771557-opciones-de-procesador-de-pago">multiple payment options</a> in Donar Online to optimize collection. We've been able to offer this solution in other Latin American countries, and we'd like to continue our quest in new countries where it's needed. </p><p>We are also proud of being a non-profit: that makes us empathetic with the rest of the NGOs, so we can understand the challenges and problems we face regarding financial sustainability. </p><p><strong>Do you think the drive for entrepreneurship is something people are either born with or not, or is it something that can be taught?</strong></p><p>I think that everybody has ideas that they'd like to materialize. However, not everyone is lucky enough to have the proper conditions to be able to take risks.</p><h2 id="crypto-and-the-future-of-ngos">💸 Crypto and the future of NGOs <a class="markdownit-header-anchor" href="#crypto-and-the-future-of-ngos">🔗</a></h2><p><strong>Let's talk about risks, then. What are Donar Online's biggest challenges?</strong></p><p>The fluctuations in Latin American economies. This means that we need to ensure that our incomes come from different countries in order to be as stable as we can be and ensure an excellent working environment for our team. ⚖️</p><p><strong>If you could start again with your product, what would you do differently from today's perspective?</strong></p><p>Mmm, not sure. Maybe be more integrated with crypto-related stuff. 🤔 Mainly because of the potential it has for some of the challenges that we are working on right now.</p><p><strong>Interesting. Care to elaborate?</strong></p><p>Sure! One of the challenges we currently have is being able to efficiently transfer donations from other countries with strong currencies, like the US, Canada, Australia, New Zealand, or the EU, to Latin American organizations.</p><p>Part of the problem is that regulations in some countries have an official (fx) and an unofficial exchange rate for certain operations. 💱 We are currently working with crypto on-ramp services in order to get the donation in the original currency so that we can off-ramp it effectively on the country in the most convenient way for the NGO. The final goal is to ensure that the total donation amount comes through. 💰</p><!--kg-card-begin: markdown--><blockquote>
<p>One challenge is being able to efficiently transfer donations from countries with strong currencies. Crypto on-ramp services help us with that. The final goal is to ensure that the total donation amount comes through</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>As you're based in several countries, how does bureaucracy impact you? </strong></p><p>We're currently registered as an NGO in Argentina, Mexico, and Colombia. We plan on doing so in other countries to ease up processes because it's difficult to operate if you don't happen to have a partner. Borderless technologies would ultimately help donations to reach organizations fully.  💻 🌐</p><p><strong>Is that what you predict for the future of your sector? What do you think it'll look like in 10 years?</strong></p><p>Hopefully, we will have a borderless way of helping each other from different parts of the world thanks to blockchain. I also believe that this will improve one-to-one support.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/09/donar3.png" class="kg-image" alt loading="lazy" width="960" height="540" srcset="https://ghost.localazy.com/content/images/size/w600/2022/09/donar3.png 600w, https://ghost.localazy.com/content/images/2022/09/donar3.png 960w" sizes="(min-width: 720px) 720px"></figure><p><strong>What are your next steps and future plans?</strong></p><p>Keep improving our payment flows and releasing new tools on the campaign and acquisition sides. Plus, making our API public in order for other NGOs to build on top of that.</p><h2 id="integrating-localazy">🧩 Integrating Localazy <a class="markdownit-header-anchor" href="#integrating-localazy">🔗</a></h2><p><strong>Would you like to highlight some services or products you really like to use on your own?</strong></p><p>We are very lucky that some companies show up for the non-profit ecosystem. 🙏Localazy is one of them, but also <a href="/blog/top-10-multilingual-content-management-systems#contentful">Contentful</a>, <a href="/tags/github">GitHub</a>, Sqreen, AWS, and <a href="/blog/how-to-send-slack-group-message-for-translators-using-zapier-integration">Slack</a>... just to name a few. Without their support, everything would be harder to achieve.</p><p><strong>What was your motivation for localization? </strong></p><p>We were only available in Spanish, and we wanted to expand to Brazil. We thought that improving our language support for everyone wasn't that bad of an idea. 💭 We reviewed a bunch of tools and Localazy seemed very well fitted to our needs. </p><!--kg-card-begin: markdown--><blockquote>
<p>The reviewing, context and glossary features in Localazy helped us get everyone involved to understand where we were at every stage</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>What did you like the most about us?</strong></p><p>Localazy is very easy to integrate with <a href="/yaml">YAML</a> files, on which our system is based. You can add team members without extra charges. 👏 This made a huge difference for us, as we got help from volunteers! Also, the reviewing, context, and <a href="https://localazy.com/docs/general/how-to-define-your-glossary">glossary</a> features helped us get everyone involved in the process to understand where we were at every stage. And last but not least: the way your team supported us and reached out was super friendly and amazing! </p><p><strong>Thank you so much! </strong>🤗 <strong>We're glad to have you on board. Is there something else you'd like to add?</strong></p><p>Thanks for all the support and help! You really built an amazing product!</p><p><em><strong>Feeling inspired to help? You can do so right now! "Your help can make a difference for any project. Check the ones within your community and make a move! Don't wait for others to do it for you", says Agustín. We couldn't have worded it better!</strong></em></p><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog, and you can get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote><p><br><br></p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Localazy-Interview-DonarOnline.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to send a Slack group message for translators using Zapier?]]></title>
            <link>https://localazy.com/blog/how-to-send-slack-group-message-for-translators-using-zapier-integration</link>
            <guid isPermaLink="false">how-to-send-slack-group-message-for-translators-using-zapier-integration</guid>
            <pubDate>Thu, 16 Apr 2026 14:35:18 GMT</pubDate>
            <description><![CDATA[Would you like to notify translators when there is a new comment regarding their language in Localazy? You can do it with the Zapier integration in a few steps! Learn more in this article.]]></description>
            <content:encoded><![CDATA[<p>Setting up a simple Slack notification when a new comment is added is possible by using <a href="https://zapier.com/apps/localazy/integrations/slack/1068108/send-channel-messages-in-slack-for-new-comments-added-in-localazy">this Zap template</a>. But when you don't want to bother, e.g., German translators with Polish-related comments and vice-versa, some additional steps are needed. So I'm going to tell you how to do it using the Zapier integration by Localazy and the <a href="https://zapier.com/apps/paths/integrations">Paths by Zapier</a>.</p><p><strong>Before you start, we recommend reading the previous article to learn how the integration with Zapier works:</strong> </p><p>➡️ <a href="/blog/enhance-your-localization-workflow-with-zapier-localazy">Enhance your localization workflow with Zapier &amp; Localazy</a></p><h2 id="1-add-the-trigger-and-conditional-paths">1️⃣ Add the Trigger and Conditional Paths <a class="markdownit-header-anchor" href="#1-add-the-trigger-and-conditional-paths">🔗</a></h2><p>Thanks to Paths, you can create conditions in your Zap workflows. </p><p>Search for the <em>Localazy</em> App and connect your <a href="https://localazy.com/register">Localazy account</a> to select a project where you want to monitor the new comments. Set up the <a href="/docs/zapier/triggers#comment-added"><em>Localazy comment added</em></a><em> </em>Trigger. Then, search for and add the <em>Paths by Zapier</em> Action. </p><p>We'll create two conditional paths - one for German translators and the other one for Polish.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-6.png" class="kg-image" alt loading="lazy" width="2000" height="1998" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-6.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-6.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-6.png 2384w" sizes="(min-width: 720px) 720px"><figcaption>Using <em>Paths by Zapier </em>Action</figcaption></figure><p>Set up your <em>DE</em> path so it will continue only if the <em>Comment locale</em> field exactly matches <em>de</em>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-4.png" class="kg-image" alt loading="lazy" width="2000" height="1998" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-4.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-4.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-4.png 2384w" sizes="(min-width: 720px) 720px"><figcaption>Setup of the <em>Send notification to DE translators</em> path</figcaption></figure><p>Do a similar thing with the <em>Send notification to PL translators</em> path. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-5.png" class="kg-image" alt loading="lazy" width="1784" height="194" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-5.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-5.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-5.png 1784w" sizes="(min-width: 720px) 720px"><figcaption>Setup of the <em>Send notification to PL translators</em> path</figcaption></figure><p>You can always find a locale code in the project languages overview table next to its name in Localazy.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-7.png" class="kg-image" alt loading="lazy" width="1934" height="896" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-7.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-7.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-7.png 1934w" sizes="(min-width: 720px) 720px"><figcaption>Project languages overview Table</figcaption></figure><h2 id="2-setup-slack-action">2️⃣ Setup Slack Action <a class="markdownit-header-anchor" href="#2-setup-slack-action">🔗</a></h2><p>If you don't already have the channels in Slack created, create two channels - one for each group of translators and invite them into the respective channels. Then set up the <em>Send Channel Message in Slack </em>Action.</p><p>Assuming that the members of the <em>#zapier_testing_de_translators</em> channel are only German translators, when adding a comment in Localazy, you achieve exactly what we want - as shown in the animation below. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/zap-loca-comment-branched-1.gif" class="kg-image" alt loading="lazy" width="1080" height="1078"><figcaption>Notify only translators related to the language</figcaption></figure><p>You could also set your action so that it sends a DM to each of the translators instead of sending it to the channels. And that's it! Now your translators will get notified instantly as new comments are added.</p><h2 id="more-zap-templates">⚡ More Zap Templates <a class="markdownit-header-anchor" href="#more-zap-templates">🔗</a></h2><p>You can visit the <a href="https://zapier.com/apps/localazy/integrations">Localazy Integration page on Zapier</a> to explore more templates.</p><p><br></p><!--kg-card-begin: html--><zapier-zap-templates
  apps="localazy,slack"
  create-without-template="hide"
  limit="5"
  use-this-zap="show"
  theme="light"
></zapier-zap-templates><!--kg-card-end: html--><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Zapier allows you to connect thousands of apps with Localazy and create your own automation workflows without using any code. Learn more in the <a href="https://localazy.com/docs/zapier/introduction-zapier">Zapier integration docs</a>.</p>]]></content:encoded>
            <author>David Václavek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/09/Zapier-3--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Enhance your localization workflow with Zapier & Localazy]]></title>
            <link>https://localazy.com/blog/enhance-your-localization-workflow-with-zapier-localazy</link>
            <guid isPermaLink="false">enhance-your-localization-workflow-with-zapier-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:30:48 GMT</pubDate>
            <description><![CDATA[You can now create your own Zaps or use one of the example templates on Zapier to integrate Localazy with over 5000 apps. Build your own workflows across platforms to stay on top of things and automate your localization workflow even more with Localazy and Zapier!]]></description>
            <content:encoded><![CDATA[<p>While developers can quickly come up with solutions to integrate Localazy into their workflows, we know that not everyone can handle the developer-oriented CLI or API to achieve the desired level of automation we preach. So we felt obliged to empower all users who don't necessarily want to go down the developer road to enjoy the fruits of automation. </p><p>To set the stage, we needed to prepare a Public API and introduce the webhooks feature. This was another big step toward improved developer friendliness of Localazy, but it was necessary for us to be able to make the huge leap to reach the non-developers among our users who would like to connect Localazy to other 3rd party services but didn't have the option to do so.</p><p>And now, after hundreds of hours of development, we know it was worth it, and we are incredibly happy to announce that <a href="https://zapier.com/apps/localazy/integrations"><strong>Localazy is now available on the Zapier platform</strong></a> in public beta! </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-36.png" class="kg-image" alt loading="lazy" width="563" height="371"><figcaption>Source: <a href="https://zapier.com/apps/localazy/integrations">Localazy Integrations on Zapier</a></figcaption></figure><h2 id="what-is-zapier">🤔 What is Zapier? <a class="markdownit-header-anchor" href="#what-is-zapier">🔗</a></h2><p>Technically speaking, Zapier is an <a href="https://zapier.com/blog/what-is-ipaas/">Integration Platform as a Service</a>, or simply "a translator between web APIs," which allows end users to integrate their favorite web apps together and automate their workflows. Zapier orchestrates the flow of data between tools and online services that wouldn't otherwise be possible.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/zapier-logo_black.png" class="kg-image" alt loading="lazy" width="500" height="136"></figure><p>Thanks to Zapier, you can now connect Localazy with over 5 thousand of the most popular apps, so you can automate your work and have more time for what matters most. And the best thing is - no code is required to do this!</p><h2 id="what-are-some-ways-to-use-zapier">🕹️ What are some ways to use Zapier? <a class="markdownit-header-anchor" href="#what-are-some-ways-to-use-zapier">🔗</a></h2><p>Using simple <em>if-this-then-that </em>logic, Zapier allows you to move information from one app to another—without code. </p><p>At Localazy, we used Zapier, e.g., to send responses from Typeform surveys to our ClickUp and notify us about it on Slack.</p><p>So now, we don't need to check our inboxes or refresh Typeform every once in a while, but we always get a notification on Slack that someone has completed our survey, and we know we could find the results in our ClickUp where it was sent for further processing. </p><p><strong>Some other popular examples include:</strong></p><ul><li>Send e-mails via Gmail to customers who fill out a form on Typeform</li><li>Notify me on Slack when a Google Spreadsheet row is updated</li><li>Save new Gmail attachments to Dropbox</li><li>...</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-37.png" class="kg-image" alt loading="lazy" width="1142" height="407" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-37.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-37.png 1000w, https://ghost.localazy.com/content/images/2022/07/image-37.png 1142w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://zapier.com/apps/dropbox/integrations/gmail/166/save-new-attachments-in-gmail-to-dropbox">Save new attachments in Gmail to Dropbox</a></figcaption></figure><p>The possibilities that Zapier offers are endless, and they grow with each added integration as well! You can <a href="https://zapier.com/explore">explore the millions of examples on the Zapier website</a>.</p><h2 id="what-triggers-and-actions-by-localazy-are-available">🚩 What Triggers and Actions by Localazy are available? <a class="markdownit-header-anchor" href="#what-triggers-and-actions-by-localazy-are-available">🔗</a></h2><p>Now that you know what Zapier is and how it works let's dive into how you can utilize Localazy with it. I'm going with the Zapier terminology here, so I recommend <a href="https://zapier.com/how-it-works">getting familiar with the Zapier platform</a> first.</p><h3 id="triggers">Triggers <a class="markdownit-header-anchor" href="#triggers">🔗</a></h3><p>Your trigger is what kicks off the automated process between your apps. There are currently three Localazy triggers available. Technically speaking, it's four webhooks implemented into three triggers.</p><h4 id="comment-added">Comment Added</h4><p>When a user adds a comment to the specified project, this trigger is set off. There's no additional input setup required. </p><p>The provided output fields are:</p><ul><li> various information about the project, such as its name and description, </li><li>data about organization and languages, </li><li>there's also basic information about the user who added the new comment,</li><li>locale to which the comment was added, </li><li>link to the comment, </li><li>and, of course, the text of the comment.</li></ul><blockquote>You can use this trigger to e.g., send a notification to Slack when one of the translators in the project adds a comment, so you can respond in real time, or contact them directly. </blockquote><p>➡️ <strong><a href="/docs/zapier/triggers#comment-added">Learn more about this Trigger in the documentation</a>.</strong></p><h4 id="project-published">Project Published</h4><p>This trigger sets off when the specified project is successfully published (applies to <a href="https://localazy.com/docs/cli/release-tags">release tags</a> too).</p><p>Besides the same project information as in the <em>Comment Added </em>Trigger, there's also a tag name and a current timestamp available.</p><p>The <em>Project published</em> trigger also contains the whole functionality of the <em>Zip files in languages </em>Action Search we'll talk about in a minute.</p><p>➡️ <strong><a href="/docs/zapier/triggers#project-published">Learn more about this Trigger in the documentation</a>.</strong></p><h4 id="import-finished">Import finished</h4><p>This is triggered when the import of new content to your Localazy project is finished - whether some content was actually imported or the action resulted in an empty import. For more technical details, see the<em> </em><a href="https://localazy.com/docs/general/webhooks#content-imported"><em>Webhooks documentation</em></a><em>. </em></p><p>This trigger contains a useful set of output fields such as the number of added, updated, and deprecated strings. And apart from sending simple notifications to your favorite Slack channel, it can be used to create complex Zaps that fit your needs. </p><p>➡️ <strong><a href="/docs/zapier/triggers#content-imported-and-content-imported-empty">Learn more about this Trigger in the documentation</a>.</strong></p><h3 id="actions">Actions <a class="markdownit-header-anchor" href="#actions">🔗</a></h3><h4 id="import-to-localazy">Import to Localazy</h4><p>This Action allows you to import content to Localazy from anywhere. There are a couple of input fields allowing to customize the import, such as file name, file path, and file extension. </p><p>You can also specify the content source in any language that the project has. There are also a couple of options defining whether the new import should override the current translations, pushed to review, and so on. More on that in the documentation.</p><p>➡️ <strong><a href="/docs/zapier/creates#import-to-localazy">Learn more about this Action in the documentation</a>.</strong></p><h4 id="zip-files-in-languages">Zip files in languages</h4><p>This Search can be used as a mid-step while creating Zaps. It allows to selectively ZIP project files in languages given by your selection.</p><p>On the input, you may provide languages and files of the project you'd like to bundle as a ZIP archive and operate with it in an Action part. It's also possible to select <em>All</em> so that all the <em>files</em> or <em>languages</em> will always be used.</p><p>The output fields provide a pointer to the ZIP archive so it can be passed to the Action(s) that follow. Also, the Search provides a current timestamp so the user can optionally use it to specify the time the ZIP archive was created.</p><p>➡️ <strong><a href="/docs/zapier/searches#zip-files-in-languages">Learn more about this Action in the documentation</a>.</strong></p><h2 id="example-zaps">⚡ Example Zaps <a class="markdownit-header-anchor" href="#example-zaps">🔗</a></h2><p>Below, you can find two examples of what is possible with Localazy and Zapier. </p><p>You can find <a href="https://zapier.com/apps/localazy/integrations">a complete list of Zap Templates</a> to get inspired on the official website. </p><h3 id="send-channel-messages-in-slack-for-new-comments-added-in-localazy">Send channel messages in Slack for new comments added in Localazy <a class="markdownit-header-anchor" href="#send-channel-messages-in-slack-for-new-comments-added-in-localazy">🔗</a></h3><p>This use case integrates Localazy and Slack and provides better notifications for comments, which are crucial for the translator's context. It's pretty simple - adding a comment would trigger the Zap we'll set up in a bit.</p><p><a href="/docs/zapier/triggers#comment-added"><em>Comment added in Localazy</em></a> trigger provides many output fields that can be used when connecting the action step. Besides containing various information about the project, organization, and languages, there's also basic information about the user who added a comment, the locale to which the comment was added, the link to the comment, and the text of the comment. This way, you can customize your action to your needs.</p><!--kg-card-begin: html--><zapier-zap-templates
  ids="1068108"
  limit="1"
  use-this-zap="show"
  theme="light"
></zapier-zap-templates><!--kg-card-end: html--><p>The image below shows the trigger setup. Search for <em>Localazy </em>App, and the <em>Comment added</em> Event. Then simply connect your project by passing the authentication procedure (yes, the same one you may know from <a href="https://localazy.com/docs/figma/">Figma</a> and <a href="https://localazy.com/docs/strapi/">Strapi</a> integrations).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-14-at-14.43.42.png" class="kg-image" alt loading="lazy" width="2000" height="1653" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-14-at-14.43.42.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-14-at-14.43.42.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-14-at-14.43.42.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-14-at-14.43.42.png 2398w" sizes="(min-width: 720px) 720px"><figcaption>Trigger setup: Comment added in Localazy</figcaption></figure><p>Next, set up the <em>Send Channel Message in Slack</em> Action. Again, search for the App and select the Event. I chose to send the message to a <em>#zapier-integration-testing </em>channel. There are more options available, so you could, for example, also send a PM to someone directly.</p><p>Notice the <em>Message Text. </em>The message was composed so everyone knows what project the comment belongs to, the comment message itself, and the link to Localazy leading directly to the added comment.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-14-at-14.43.53.png" class="kg-image" alt loading="lazy" width="2000" height="2897" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-14-at-14.43.53.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-14-at-14.43.53.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-14-at-14.43.53.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-14-at-14.43.53.png 2398w" sizes="(min-width: 720px) 720px"><figcaption>Action setup: Send Channel Message in Slack</figcaption></figure><p>Save and turn on the Zap. To test the Zap out, go to Localazy and add a comment to any translation.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-3.png" class="kg-image" alt loading="lazy" width="2000" height="1998" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-3.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-3.png 2384w" sizes="(min-width: 720px) 720px"><figcaption>Adding a comment to Localazy</figcaption></figure><p>The Zap will be triggered, and the message will be instantly sent to the selected channel, as you can see in the animation below. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/zap-loca-comment-slack-2.gif" class="kg-image" alt loading="lazy" width="1080" height="1078"><figcaption>Notification has been sent to Slack</figcaption></figure><h3 id="upload-all-files-in-all-available-languages-to-google-drive-when-the-project-is-published">Upload all files in all available languages to Google Drive when the project is published <a class="markdownit-header-anchor" href="#upload-all-files-in-all-available-languages-to-google-drive-when-the-project-is-published">🔗</a></h3><p>Back up your translated files with an automated external option provided by the integration. In this example, I'll show you how to upload project files to Google Drive (although any type of cloud storage can be used).</p><!--kg-card-begin: html--><zapier-zap-templates
  ids="1068125"
  limit="1"
  use-this-zap="show"
  theme="light"
></zapier-zap-templates><!--kg-card-end: html--><p>Start by searching for the <a href="/docs/zapier/triggers#project-published"><em>Project published in Localazy</em></a><em> </em>trigger. Connect your account. Now, as a part of the trigger setup, you'll be requested to provide two input fields - <em>languages</em> and <em>files</em>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-15-at-10.59.42.png" class="kg-image" alt loading="lazy" width="2000" height="1998" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-15-at-10.59.42.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-15-at-10.59.42.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-15-at-10.59.42.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-15-at-10.59.42.png 2384w" sizes="(min-width: 720px) 720px"><figcaption>Trigger setup: Project published in Localazy, input fields selection</figcaption></figure><p>For each field, there'll be a list where you can select multiple options. For our purposes, we just want to select all languages and all files to be uploaded. Also, note that if the <em>All </em>option is selected, you don't have to worry about updating your Zap if another language or file is added - it'll be a part of the upload. The uploaded file is a ZIP file containing an archive of selected files/languages. </p><blockquote>Tip: You could also use <a href="https://zapier.com/apps/google-drive/integrations/google-drive/440517/unzip-new-file-archives-with-convertapi-when-uploaded-to-google-drive">Convert API</a> to unzip new file archives when uploaded to Google Drive.</blockquote><p><a href="/docs/zapier/triggers#project-published"><em>Project published in Localazy</em></a> trigger also contains output fields with information about the project (see the previous example for such fields details). As an extra, there's also the <em>Current timestamp </em>field - thanks to that, you can keep track of previously uploaded versions by optionally adding it to the uploaded file name. </p><p>There's also a published tag name provided (helpful in case you are using the <a href="/docs/general/release-tags-feature">Release Tags</a> feature). That may help users to ensure better usability. </p><p>To finish the setup, search for the <em>Upload File in Google Drive </em>Action. Connect your account, and select the Drive and destination folder. As a <em>File</em> input field, select the <em>Zipped Files</em> output field. You can alternatively provide a custom file name, as shown in the example below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-15-at-11.12.07.png" class="kg-image" alt loading="lazy" width="2000" height="1998" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-15-at-11.12.07.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-15-at-11.12.07.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-15-at-11.12.07.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-15-at-11.12.07.png 2384w" sizes="(min-width: 720px) 720px"><figcaption>Action setup: Upload File in Google Drive</figcaption></figure><p>Save and activate the Zap.</p><p>Go to Localazy and either <a href="/docs/general/importing-localization-files">upload a new file to the project</a> or <a href="/docs/general/translating-strings">translate your content</a>. The Project publishing process should start. You can recognize that by the <em>PUBLISHING </em>state on the top right corner in the Project languages screen.</p><p>When the state is changed to a <em>PUBLISHED</em> state, the ZIP archive should upload to Google Drive. The upload process is demonstrated by the animation below. It might take a couple of minutes for the Zap to be triggered and process the files. It's given by the Zapier architecture - so please remain patient.</p><blockquote>Tip: add a timestamp to keep track of previous records (upload versions) - or you can simply replace the file (choose different action)</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/upload-to-google-drive.gif" class="kg-image" alt loading="lazy" width="1080" height="1078"><figcaption>Project published event triggers the Zap</figcaption></figure><p>If you don't want to keep track of previous records, you can simply choose the <em>Replace File </em>Action instead of <em>Upload File </em>Action.</p><h2 id="build-your-own-workflows">💪 Build your own workflows <a class="markdownit-header-anchor" href="#build-your-own-workflows">🔗</a></h2><p>So now that you see what is possible and how the Localazy integration with Zapier works, do you already have some ideas of your own? </p><p>To get started, you can pick one of the templates below:</p><!--kg-card-begin: html--><zapier-zap-templates
  apps="localazy"
  create-without-template="hide"
  limit="5"
  use-this-zap="show"
  theme="light"
></zapier-zap-templates><!--kg-card-end: html--><p>Or read one of the tutorials in the <a href="/tags/zapier">Zapier section on our blog</a>, such as: <a href="/blog/how-to-upload-rows-from-google-spreadsheets-to-localazy">How to upload rows from Google Sheets to Localazy using Zapier Integration by Localazy</a> </p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>There are over 5000 apps available on the Zapier platform, and we are curious how you will leverage their potential and combine everything with Localazy! Post your workflows in the comment section!</p>]]></content:encoded>
            <author>David Václavek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/08/Zapier-0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to upload rows from Google Sheets to Localazy using Zapier Integration by Localazy]]></title>
            <link>https://localazy.com/blog/how-to-upload-rows-from-google-spreadsheets-to-localazy</link>
            <guid isPermaLink="false">how-to-upload-rows-from-google-spreadsheets-to-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:34:37 GMT</pubDate>
            <description><![CDATA[Learn how to sync translations from Google Sheets to Localazy with Zapier. In case the Google Spreadsheet is your favorite source of truth or you're migrating to Localazy, then you can upload your source language and translations easily with this Zap.]]></description>
            <content:encoded><![CDATA[<p>To create a Zap that does exactly that, you need to follow the steps. First, let's set up the Trigger. </p><p><strong>Before you start, we recommend reading the previous article:</strong> </p><p>➡️ <a href="/blog/enhance-your-localization-workflow-with-zapier-localazy">Enhance your localization workflow with Zapier &amp; Localazy</a></p><h2 id="1-add-trigger-new-or-updated-spreadsheet-row">1️⃣ Add Trigger: New or Updated Spreadsheet Row <a class="markdownit-header-anchor" href="#1-add-trigger-new-or-updated-spreadsheet-row">🔗</a></h2><p>Search for the <em>Google Sheets</em> App and select <em>New or Updated Spreadsheet Row</em> Event. Connect your account. Then do the setup - choose a <em>Spreadsheet</em> with the translations, a <em>Worksheet</em> you'd like to pull the translations from, and a <em>Trigger ColumIt</em> it can be any column for our purposes, so keep <em>any_column</em> as the input value. You can see the setup in the image below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-12.png" class="kg-image" alt loading="lazy" width="2000" height="1998" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-12.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-12.png 2384w" sizes="(min-width: 720px) 720px"><figcaption>Trigger: New or Updated Spreadsheet Row in Google Sheets</figcaption></figure><p>This event is triggered any time a new row is added to the Sheet, or an existing row is updated. Note that the changes are not triggered instantly. They're instead buffered and triggered as a batch once in a while (a couple of minutes, I'd say, based on my tests). </p><p>It's also important to remember that the trigger has some limitations - described <a href="https://zapier.com/help/doc/common-problems-with-google-sheets-on-zapier">here</a>.</p><h2 id="2-add-action-import-to-localazy">2️⃣ Add Action: Import to Localazy <a class="markdownit-header-anchor" href="#2-add-action-import-to-localazy">🔗</a></h2><p>Next, add an Action. Search for the <em>Localazy</em> App and select <em>Import to Localazy</em> Action. Connect your <a href="/register">Localazy account</a> and select a project you'd like to import the translations into.</p><p>Then set up the Action. You can optionally choose a <em>File name, File path, </em>and<em> File format</em>. If any of them is empty, the default value noted in the field description will be used (e.g. <code>zapier.json</code> as a <em>File name</em>). There are various formats to choose from, so you can select the one that fits your requirements.</p><p>Then, it's important to pair columns from Sheet to the input fields. To better explain the pairing, the image below shows the structure of my Sheet.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-14.png" class="kg-image" alt loading="lazy" width="1908" height="1344" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-14.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-14.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-14.png 1908w" sizes="(min-width: 720px) 720px"><figcaption>Google Sheets: Translations document</figcaption></figure><p>As you can see, in the <em>A</em> column, there's a source key, followed by the translations in English <em>(en)</em>, Czech <em>(cs),</em> and Polish <em>(pl)</em>. To pair all the columns correctly, the project needs to have the languages added in Localazy because only those will appear as input fields under the <em>Source key </em>field, as seen in the example below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/zap-sheets-add-langs-1.gif" class="kg-image" alt loading="lazy" width="910" height="1613"><figcaption>Adding languages to the project and refreshing the fields</figcaption></figure><p>Now, pairing the keys by selecting the corresponding columns is possible. Filled input fields are shown in the following image.</p><p>There are also a couple of options for modifying the import. Let's go through them real quick:</p><ul><li><strong>Filter source</strong> - Set to <em>True</em> if you do not import translations identical to the source language content. Is <em>True</em> by default.</li><li><strong>Import as new</strong> - Set to <em>True</em> if you want to import all translations to go through the review process. Useful when you are unsure about their quality and want to do an extra check. It's <em>False</em> by default.</li><li><strong>Force current</strong> - Set to True if you want to import all translations and set them as the current version. By default, Localazy doesn't overwrite existing current versions for translations and lets you decide through the review process. It is <em>False</em> by default.</li><li><strong>Force source</strong> - Set to True if you want to overwrite the source language translations even if there are existing human changes. This option is useful when the source of truth is not Localazy, and it's always required to synchronize the source language translations. It is <em>False</em> by default.</li></ul><p>As our source of truth is Google Sheets, we will set the <em>Force source</em> option to <em>True</em>. In the image below, there's the final Action setup.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-17.png" class="kg-image" alt loading="lazy" width="1908" height="3338" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-17.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-17.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-17.png 1908w" sizes="(min-width: 720px) 720px"><figcaption>Action: Import to Localazy in Localazy setup</figcaption></figure><p>Test the action and continue. I also added one more Action step that sends a Slack message after every import, so I'm always notified if someone has updated the Sheet. </p><p>You can also read how to setup the Slack integration in the article: <a href="/blog/how-to-send-slack-group-message-for-translators-using-zapier-integration">How to send a Slack group message for translators using Zapier?</a> </p><h2 id="testing-the-zap">🕹️ Testing the Zap <a class="markdownit-header-anchor" href="#testing-the-zap">🔗</a></h2><p>Let's publish the Zap. If you activated the Zap for the first time, you should be asked whether you'd like to use a <em>Transfer by Zapier (Beta)</em> feature. This allows you to transfer the whole Sheet at once. At the time of writing, the feature is still in Beta. </p><p>You can also create your own transfer <a href="https://transfer.zapier.com/new">here</a>. Follow the steps, and you should have all the rows with translations imported in Localazy. You can also see that all the translations are approved - we forced that by setting up the <em>Force Source</em> flag during the Action setup.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-18.png" class="kg-image" alt loading="lazy" width="2000" height="1694" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-18.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-18.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-18.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-18.png 2068w" sizes="(min-width: 720px) 720px"><figcaption>Newly imported Sheet into Localazy</figcaption></figure><p>To test the Zap out, add some new keys and translations to the Sheet. I intentionally did not add some translations, so you can see it's not required for the import to process correctly. They can be added later. However, you must provide a source language string (English in our case). Otherwise, the import won't be successful.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/zap-new-import-from-sheets.gif" class="kg-image" alt loading="lazy" width="1105" height="1084"><figcaption>Add new translations to the Sheet; import them to Localazy.</figcaption></figure><p>And that's it! Every time someone updates the connected Google Sheet, you will automatically get the content imported to Localazy.</p><h2 id="use-the-zap-template">⚡ Use the Zap Template <a class="markdownit-header-anchor" href="#use-the-zap-template">🔗</a></h2><p>You can also use the Template below:</p><!--kg-card-begin: html--><zapier-zap-templates
  ids="1068618"
  limit="5"
  link-target="new-tab"
  presentation="row"
  use-this-zap="show"
  theme="light"
></zapier-zap-templates><!--kg-card-end: html--><p>Visit the <a href="https://zapier.com/apps/localazy/integrations">Localazy Integration page on Zapier</a> to explore more templates.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Zapier allows you to connect thousands of apps with Localazy and create your own automation workflows without using any code. Learn more in the <a href="/docs/zapier/introduction-zapier">Zapier integration docs</a>. </p>]]></content:encoded>
            <author>David Václavek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/08/Zapier-4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to localize & translate your website in three steps with Localazy?]]></title>
            <link>https://localazy.com/blog/how-to-localize-translate-website-in-three-steps-localazy</link>
            <guid isPermaLink="false">how-to-localize-translate-website-in-three-steps-localazy</guid>
            <pubDate>Sat, 16 Aug 2025 13:50:52 GMT</pubDate>
            <description><![CDATA[Learn everything you need to know about website localization in this comprehensive article. While reading, we will walk you through the process, show you some tools to help you and point you in the right direction to successfully launching and maintaining a multilingual website.]]></description>
            <content:encoded><![CDATA[<p>The internet has turned the world into an interconnected large city where borders, as we know, do not exist, but language barriers surely still do. Even if global borders truly vanish, languages and cultures are here to stay, and if you don’t deliver your message clearly, it gets lost. 😓 </p><blockquote>Remember that <a href="/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">"Everyone speaks English" is a myth</a> that will cost you money in the long run. Global expansion is the goal of every digital business, and you should be prepared for localization, even if it's not a priority right now.</blockquote><p>Whether your audience speaks Swedish, English, Japanese, or another language, each requires content customized to their traditions, symbols, and formats. An app, software, or website which holds your business values should be optimized for the different audiences you are trying to win as customers. There are various ways of preparing a separate version for these web pages.</p><p>✔️ Expanding your reach to broader markets is challenging as much as it is worth it. Since you already have such a global vision, the tools and the process is all you need. </p><p>So, let's get this show on the road, shall we?! 😉</p><h2 id="translating-your-vision">👁️‍🗨️ Translating your vision <a class="markdownit-header-anchor" href="#translating-your-vision">🔗</a></h2><p>Moving your content into another language means adapting your product or service for a wider clientele. So, before starting, you want to ensure that you have a meaningful and clear ‘why’ in order to stay focused.</p><ul><li>What’s the goal you are trying to reach with localized content? </li><li>To whom are you trying to speak? 🗣️</li></ul><p>Clarifying your needs and goals is important because the entire process costs money, and if you don’t have clear targets that you want to achieve, you’re at risk of burning money without any effect. The creation of a multilingual website involves various additional costs and requires investing in resources that might otherwise go to waste if not built with a purpose.</p><p><strong>📍 Are you able to answer these questions?</strong></p><ul><li>What’s the main driving factor for adding more languages to your content? </li><li>What language deserves more attention to start with? </li><li>What would be your ideal cost/value ratio? </li><li>Are you capable of providing for the increased international demand? </li></ul><p>After answering these questions, get to know what are the major processes your content has to go through to be streamlined in multiple languages. Don’t forget to pay attention to <a href="/term/multilingual-search-engine-optimization">multilingual SEO</a> if you want your website to rank higher. 🤓</p><blockquote>🎧 Curious about the bigger picture of SEO in the age of AI? Check out <a href="https://localazy.com/blog/s01-ep-07-bridging-the-gap-podcast">our Bridging the Gap podcast episode with Michal Pecánek</a> for insights that go beyond multilingual optimisation.</blockquote><h2 id="internationalization-localization-translation">🎓 Internationalization - localization - translation <a class="markdownit-header-anchor" href="#internationalization-localization-translation">🔗</a></h2><p>Translation, localization, and internationalization often get confused, but they’re all different processes that aim to make your website multilingual. One doesn’t replace the other, but they work in unison to accomplish this goal. </p><p>They’re not to be separated from each other but rather seen independently as complementary parts of the whole product adaption process.</p><p><a href="https://localazy.com/dictionary/translation"><strong>Translation</strong></a> is known as the process of adapting content from one language to another. For businesses or individuals who serve multilingual markets, translation is crucial to reach more people. Different media can be translated: from papers, books, and even street signs. However, the digital landscape and its immense need for content have increased the need for digital translations. This is the type of content we are focused on. 🧑‍💻</p><p><a href="https://localazy.com/dictionary/internationalization"><strong>Internationalization</strong></a><strong> (i18n)</strong> stands for the process of preparing a website, application, or software with the capabilities of adding localized content. The process is usually performed by the client himself instead of the translation provider. It’s a practice that’s kept in mind during the building process and serves the localization or translation teams. The process is focused on adapting the design, code, interfaces, and content for additional languages without having to re-create the product. 🎨</p><p><strong><a href="https://localazy.com/dictionary/localization">Localization</a> (l10n)</strong> is concerned with what happens after the product’s functionality is finalized. It corrects words, phrases, or other interface elements that require adaptation in other languages. These elements are made localizable during the internationalization process. Then, localization is concerned with the actual translation/transcreation and adaptation of the content according to the culture, language, and market jargon used in a certain locale. 📍</p><h2 id="choose-a-cms-with-proper-i18n-support">🌍 Choose a CMS with proper i18n support <a class="markdownit-header-anchor" href="#choose-a-cms-with-proper-i18n-support">🔗</a></h2><p>Numerous content management systems exist to assist with the organization of your web content. Each comes with its functionalities and capabilities. Someone interested in building a multilingual website should analyze and pick the one which offers more features that assist the internalization process. 🧑‍💻</p><p>These features must match your business needs and not only the translation process. Finding the best CMS depends on the features required for users to navigate your website or perform different actions, such as purchases or information submissions. </p><p><strong>When you consider different CMS, keep in mind these questions:</strong></p><ul><li>✅ How safe is translated content stored on servers?</li><li>✅ Does the CMS assist in the <a href="https://localazy.com/dictionary/internationalization">internationalization </a>process?</li><li>✅ How upgradeable and scalable is it?</li><li>✅ Does it provide forms adaptable for different regions with time zone-aware scheduling?</li></ul><p>Remember that our goal is always to find an optimal affordable solution that gets the job done without having annoying bugs pop up every click. The translation is just the tip of the iceberg, while most of the hard work goes into preparing the structure and systems behind it.</p><p>So, where do you get started if you want to check the compatibility of your existing CMS? Simple. Search for <em>“i18n plugin for [Name of your CMS]” </em>or <em>"[Name of your CMS] localization plugin,"</em> and you’ll see the available plugins to assist in making your website multilingual.</p><h2 id="what-cms-can-be-used-to-build-a-multilingual-website">🚩 What CMS can be used to build a multilingual website? <a class="markdownit-header-anchor" href="#what-cms-can-be-used-to-build-a-multilingual-website">🔗</a></h2><p>Selecting the right CMS doesn’t have to take hours and hours of searching. We have brought you a list of some of the best content management systems that are popular in the industry. We can categorize them into three types of systems: open-source, headless, and customizable. 🧑‍💻</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/08/image.png" class="kg-image" alt loading="lazy" width="651" height="434" srcset="https://ghost.localazy.com/content/images/size/w600/2022/08/image.png 600w, https://ghost.localazy.com/content/images/2022/08/image.png 651w"></figure><h3 id="open-source-cms">🕹️ Open-Source CMS  <a class="markdownit-header-anchor" href="#open-source-cms">🔗</a></h3><p>Many businesses prefer to get their hands on the source code to modify it and make changes to their site. Open-source CMS allows anyone to modify, share and optimize the original source code. Here’s a short list of the five best open source platforms.</p><h4 id="wordpress">WordPress</h4><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/08/image-2.png" class="kg-image" alt loading="lazy" width="1600" height="904" srcset="https://ghost.localazy.com/content/images/size/w600/2022/08/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/08/image-2.png 1000w, https://ghost.localazy.com/content/images/2022/08/image-2.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://wordpress.org/">wordpress.org</a></figcaption></figure><p>The majority of websites you see online are built on WordPress. <a href="https://wordpress.org/">WordPress</a> is the powerhouse of content management for 32% of the websites on the internet. Simply by using plugins like <a href="https://wpml.org/">WPML</a>, your admins can translate pages, categories, posts, and themes.</p><blockquote>Learn more about Localazy integration with <a href="/wordpress">WordPress</a></blockquote><hr><h4 id="drupal">Drupal</h4><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/08/image-7.png" class="kg-image" alt loading="lazy" width="794" height="700" srcset="https://ghost.localazy.com/content/images/size/w600/2022/08/image-7.png 600w, https://ghost.localazy.com/content/images/2022/08/image-7.png 794w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://www.drupal.org/about/strategic-initiatives/admin-ui-js">drupal.org</a></figcaption></figure><p>Assistance in content creation, security, and performance rank <a href="https://www.drupal.org/">Drupal</a> among the ideal solutions for large-scale sites. To enable content translation in Drupal, enable the core "Content Translation" module. By using its translation management tool, you can streamline the process of translation and build a dynamic interface with its flexible features.</p><hr><h4 id="craft-cms">Craft CMS</h4><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/08/image-5.png" class="kg-image" alt loading="lazy" width="2000" height="1193" srcset="https://ghost.localazy.com/content/images/size/w600/2022/08/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/08/image-5.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/08/image-5.png 1600w, https://ghost.localazy.com/content/images/2022/08/image-5.png 2294w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://craftcms.com/">craftcms.com</a></figcaption></figure><p><a href="https://craftcms.com/">Craft</a> users can <a href="https://craftcms.com/docs/4.x/sites.html#setting-up-a-localized-site">set up multiple localized sites for Craft</a> to manage their translated content without having to use complicated software. Craft makes translating content with Localazy simple by allowing users to take advantage of the <a href="/features/translation-api">translation API</a> to send the files for translation into Localazy and get the translated versions back. </p><hr><h4 id="django-cms">Django CMS</h4><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/08/image-6.png" class="kg-image" alt loading="lazy" width="486" height="385"><figcaption>Source: <a href="https://www.django-cms.org/en/">django-cms.org</a></figcaption></figure><p>As the CMS expanded its user base, the interface was enriched with complex tools. Ideal for large-scale projects but not worth considering for small projects like simple blogs for which WordPress fits well. After <a href="https://docs.django-cms.org/en/latest/how_to/languages.html">installing it,</a> it’s ready to adapt the content in multiple languages.</p><hr><h4 id="typo3">Typo3</h4><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/08/image-8.png" class="kg-image" alt loading="lazy" width="1920" height="912" srcset="https://ghost.localazy.com/content/images/size/w600/2022/08/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/08/image-8.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/08/image-8.png 1600w, https://ghost.localazy.com/content/images/2022/08/image-8.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Source: <a href="https://demo.typo3.org/">TYPO3 Demo</a></figcaption></figure><p><a href="https://typo3.org/">TYPO3</a> is a popular open-source CMS that has been around since 1999. It’s one of the most full-featured CMS solutions available, with an enormous code base that allows it to support any type of website—including multilingual ones—and any level of customization.</p><h3 id="headless-cms">🔌 Headless CMS <a class="markdownit-header-anchor" href="#headless-cms">🔗</a></h3><p>The way how CMS serve content to users has gone through changes and adaptations. Headless CMS stands as one variation of these changes. A headless CMS has no front-end for displaying content. It functions as a back-end to store and manage content and then presents it using <a href="/dictionary/api">an API</a>. These CMS support specific plugins for multilingual content or can be translated by using the Localazy <a href="https://localazy.com/features/translation-api">Translation API</a>. </p><p>Let’s explore a few.</p><h4 id="%F0%9F%92%9C-strapi">💜 Strapi</h4><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/08/image-9.png" class="kg-image" alt loading="lazy" width="2000" height="1060" srcset="https://ghost.localazy.com/content/images/size/w600/2022/08/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/08/image-9.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/08/image-9.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/08/image-9.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Strapi Dashboard | Source: <a href="https://docs.strapi.io/user-docs/latest/getting-started/introduction.html">Strapi User Guide</a></figcaption></figure><p>Based on Node.js, <a href="/strapi">Strapi</a> is a headless CMS that was initially founded as a school project in France. It turned out to be successful and received over a million downloads and 25,000 stars on GitHub. The platform is open-source, giving full freedom to developers to integrate their favorite tools and seamlessly customize their projects. </p><p>Strapi also supports multilingual content thanks to its Internationalization plugin that comes pre-installed in Strapi v4. And with the <a href="/features/strapi-localization-plugin">Localazy plugin for Strapi</a>, you can enjoy the seamless translation of your content with unprecedented comfort.</p><blockquote>💡 <strong>Learn <a href="/blog/how-to-strapi-localization-with-localazy">How to automate the localization of your Strapi website with Localazy</a></strong></blockquote><hr><h4 id="storyblok">Storyblok</h4><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/08/image-11.png" class="kg-image" alt loading="lazy" width="840" height="506" srcset="https://ghost.localazy.com/content/images/size/w600/2022/08/image-11.png 600w, https://ghost.localazy.com/content/images/2022/08/image-11.png 840w" sizes="(min-width: 720px) 720px"><figcaption>Storyblok Dashboard | Source: <a href="https://www.storyblok.com/mp/v2">Storyblok V2</a></figcaption></figure><p>Used by over 63,000+ professionals, Storyblok offers a seamless preview that facilitates the work of developers and content editors while creating different platforms, from Corporate sites to mobile applications. It manages multilingual content through a single content tree. </p><blockquote>Using Storyblok for your content? No problem. Localazy integrates with Storyblok for a smooth translation process. <a href="https://localazy.com/storyblok">Learn more</a>.</blockquote><hr><h4 id="contentful">Contentful</h4><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/08/image-12.png" class="kg-image" alt loading="lazy" width="2000" height="1326" srcset="https://ghost.localazy.com/content/images/size/w600/2022/08/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/08/image-12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/08/image-12.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/08/image-12.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Contentful Content page | Source: <a href="https://www.contentful.com/help/contentful-web-app-overview/">Contentful Docs</a></figcaption></figure><p>Contentful comes with multiple functionalities, including open-source elements such as field editor libraries and integrations with third-party apps. As a headless CMS, Contentful offers tools for using content from its back-end in several channels and languages with ease.</p><hr><p>After selecting our <a href="https://localazy.com/blog/top-10-multilingual-content-management-systems">content management </a>systems and starting to fill our website with content, we should start localizing it. Translating a website into multiple languages accurately is no small task, but neither does it have to be a daunting process. We’ve actually broken it down into three easy steps. 😁</p><h2 id="the-three-steps-to-translate-your-website">👉 The Three-Steps to Translate Your Website <a class="markdownit-header-anchor" href="#the-three-steps-to-translate-your-website">🔗</a></h2><p>Each CMS has its distinctions when it comes to managing translated content. Users expect readable content that speaks to their needs. The lack of localized content might be the cause of an increase in the bounce rate. Here is our three-step process toward simple localization.</p><h3 id="1-strategize-your-localization-process">1. Strategize your localization process 🔍 <a class="markdownit-header-anchor" href="#1-strategize-your-localization-process">🔗</a></h3><p>Starting to translate website content immediately without a proper localization strategy in place leads to blind paths. </p><p><a href="https://localazy.com/dictionary/localization">Localization</a> is concerned with much more than the word-by-word translation of texts into another language. As said earlier, it is the adaptation of the messaging and offerings into the culture of that market. When building a localization strategy, all the distinct features of a culture are taken into consideration: social norms, language nuances, and symbols. 🔣</p><p>For your content to reach a maximum number of readers, viewers, or watchers, you should prepare a localization strategy, ideally based on actual data you already have at hand or additional <a href="https://hub.localazy.com">market research</a> for your international expansion.</p><p>Layouts can also be an important factor that can change drastically from one culture to another. We are taking 🥤 Coca-Cola as an international brand selling in 200 countries, with localized websites in dozens of them. </p><p>Let’s see how the US and Japanese website versions change in layout. 🎨<br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/MXfAC7s4ZgborAg5IcduO8shL94FeGBm9fUYKH91VrXUGgUUADSZD6GSupzzNHAXyQS-itILyU21c5j9zFrTHXGvM79TBgLLm1qwDAT1tql9ZEfWcRvEasUNXB64dwMQlpdjAVVV" class="kg-image" alt loading="lazy"><figcaption>Source: <a href="https://us.coca-cola.com/">Coca-Cola US Homepage</a></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh4.googleusercontent.com/fU8KVfwXX6UT3QN6MIOeg0H35u1cXchjnqsVXAc7vtnkhxlGs0dmoLi8nVNoxmQtEnRpX37mm5UQP43l220FOxxMK-Y6YDnxF4lKG1D_IXHyLbTK4ioHFecHNwZqf4jUJVevACz-" class="kg-image" alt loading="lazy"><figcaption>Source: <a href="https://www.cocacola.jp/">Coca-Cola Japan Homepage</a></figcaption></figure><p>Elements that you should include in a localization strategy always depend on the behavioral data you’ll collect. Never ignore this data and tune them constantly until you hit that sweet spot of maximal user experience.</p><h3 id="2-choose-a-translation-management-system">2. Choose a translation management system 🗃️ <a class="markdownit-header-anchor" href="#2-choose-a-translation-management-system">🔗</a></h3><p>Using automation combined with advanced technologies, a translation management system gives a helping hand to both translators and developers in the translation process. Such a system is integral to assist you to accomplish a project by minimizing the translator’s manual work, organizing tasks, and monitoring the project’s progress. 📊</p><p>The main objective is an increase in productivity and efficiency while cutting off the time spent shifting between programs, organizing people, and transferring data. </p><p>All <a href="https://localazy.com/dictionary/translation-management-system-tms">Translation Management System tools</a>, such as Localazy, should share three common features:</p><ul><li><a href="https://localazy.com/term/free-cat-tool">CAT</a> (Computer-Aided Translation) capabilities to help you translate your content 💻</li><li>CMS <a href="https://localazy.com/integrations">integrations</a> and workflow automation to minimize manual file exchange 🔁</li><li>Central project administration and management (all translation needs in one place) 🗃️</li></ul><p>These systems are utilized for large projects. A few might offer minimal features, but most of them consist of a list of powerful features that can help both individuals and large teams facilitate the localization process effectively.</p><blockquote><strong>💡 Learn <a href="/blog/localazy-best-tool-translation-automation">Why Localazy is the best tool for translation management and automation</a></strong></blockquote><h3 id="3-translate-localize-repeat">3. Translate, localize, repeat 🔁 <a class="markdownit-header-anchor" href="#3-translate-localize-repeat">🔗</a></h3><p>After choosing a TMS, start preparing content for the respective markets and languages selected. We have two ways in which the process is ought to be organized by the majority of the teams: </p><ul><li>The translated content is put into the website after the webpage is published. This process is named <strong>waterfall localization</strong>.</li><li>The translated content is added to the website alongside the development process. We’ll call this <a href="https://localazy.com/#:~:text=AGILE%20LOCALIZATION%20PLATFORM"><strong>agile localization</strong></a>. </li></ul><p>Agile localization is considered more appropriate and efficient for implementing updates and assisting in the localization workflow. However, the process is walking on thin ice because small mistakes will affect the site almost immediately (but once spotted, it is really quick to fix them!). </p><p><strong>The traditional procedures are similar for all projects:</strong></p><p><strong>🌐 Prepare the integration: </strong>After pondering what TMS suits you best, prepare your project files for translation and upload them or connect your website using an API, <a href="/docs/cli/the-basics">CLI</a>, or a localization plugin if there is one. </p><p>At Localazy, each one of our tools is built with developers in mind. And the <a href="/docs/cli/the-basics">Localazy CLI</a> is the developers' playground where they can upload and download the localizable content fast and reliably and access all features with ease. When you need assistance from other tools, you can easily add other <a href="https://localazy.com/integrations">integrations</a>. </p><p><strong>🤼‍♂️ Invite your team: </strong>Invite reviewers and translators into the project workspace so that you can discuss and work on the project. It’s time to bring everyone together: translators, proofreaders, editors, and developers. Localazy saves the hassle of hiring and managing an external team of language specialists by yourself. </p><p>You can outsource this process with <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization Team services</a>. Localazy offers various localization services, including a human-assisted machine translation, professional translation of your software or app from scratch, or simply a review of crowd-sourced translations. </p><p>With Localazy, you can focus on what can’t be automated. 💪</p><p><strong>🆙 Localize and update:</strong> Update your website with the new translations as soon as you finish. Ensure files are properly updated with the translated content and ideally fit into the interface.</p><h2 id="completing-your-localization-kit">☑️ Completing your localization kit  <a class="markdownit-header-anchor" href="#completing-your-localization-kit">🔗</a></h2><p>Choosing a translation management service is important, and it requires a bit of research. We’ve saved hours of searching and listed here five of the most used translation and localization tools to complete your localization kit.</p><h4 id="%F0%9F%94%B7-lokalise">🔷 Lokalise</h4><p>Well-known brands like Daimler, TESCO, and Headspace have worked with Lokalise to translate and localize their content. The company keeps a stellar spot on the market after all five years of experience and numerous practical features added. Real-time translation, project chats, and inline translation suggestions are three core features worth mentioning. </p><blockquote><a href="https://localazy.com/lokalise-alternative">How Does Lokalise Compare to Localazy?</a></blockquote><h4 id="%F0%9F%94%B7-phrase">🔷 Phrase</h4><p>Phrase has all the essential tools needed for website or <a href="/term/software-localization">software localization</a> and multilingual content management.  The platform aims to simplify the collaboration process between team members and content management. The free plan allows only one project and includes up to three users. For more, you have to select from their paid plans starting from 23 dollars per month.</p><blockquote><a href="https://localazy.com/phrase-alternative">How Does Phrase.com Compare to Localazy?</a></blockquote><h4 id="%F0%9F%94%B7-locize">🔷 Locize</h4><p>Founded by the creators of i18next, Locize offers multiple features as a translation management tool. Ideal not only for large teams, managers, and translators but also for single developers. Locize supports machine translations together with professional translations, and by using the InContext Editing tool you’re able to translate software from your browser.</p><blockquote><a href="https://localazy.com/locize-alternative">How Does Locize Compare to Localazy?</a></blockquote><h4 id="%F0%9F%94%B7-transifexcom">🔷 Transifex.com</h4><p>Reputable companies such as Trello and Atlassian have trusted Transifex to handle their translation and localization processes. The platform is quite diverse and it offers several tools for support platforms and designers, alongside tools and integrations for developers. Users claim that the platform wonderfully does the job, but it gets expensive fast.</p><blockquote><a href="https://localazy.com/transifex-alternative">How Does Transifex Compare to Localazy?</a></blockquote><h4 id="%F0%9F%94%B7-localazy">🔷 Localazy</h4><p><a href="/">Localazy</a> is a highly automated localization platform with a powerful <a href="/features/translation-api">Translation API</a>, <a href="https://localazy.com/docs/cli/the-basics">CLI tool</a> and a comprehensive list of <a href="https://localazy.com/integrations">integrations</a> and localization plugins for various third-party services. Anyone can localize their website conveniently with Localazy.</p><ul><li>See the <a href="https://localazy.com/integrations">list of available integrations and supported file formats</a></li><li>Learn <a href="https://localazy.com/tags/howto">how to integrate Localazy</a></li></ul><p>Even though website developers might be fairly used to encountering obscure tools and outdated interfaces, we strive to make all of our users feel at home and pay great attention to UX and design our interfaces thoughtfully, so you can invite your content manager as well, and be sure they won't get lost.</p><p>To start, you are given free 200 <a href="https://localazy.com/faq/pricing/what-are-source-keys">source keys</a> that you can use to translate content for your website. All users have access to all the basic integrations, file formats, and essential translation features, including unlimited machine translation suggestions.</p><p> <a href="https://localazy.com/pricing">Our pricing policy</a> is transparent, and all the features are laid out for you to see.</p><blockquote>⭐⭐⭐⭐⭐ <a href="https://www.g2.com/products/localazy/reviews">Read verified reviews by our users on G2</a></blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>I hope you are now ready to start with the localization of your website. And if you decide to go with Localazy, I am sure the process that might have seemed nearly impossible will get easy and seamless for you and your team. </p><p><strong>Do you need help with the localization of your website? We are here to help!</strong></p><p>💙 Contact us at <a href="mailto:team@localazy.com">team@localazy.com</a> to discuss your needs. </p><p>We are ready to help you translate your website and deal with multilingual SEO.<strong><br></strong></p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/04/localization---translation-in-3-steps.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[5 ways to use inclusive language in IT and software localization]]></title>
            <link>https://localazy.com/blog/5-ways-to-use-inclusive-language-in-it-and-software-localization</link>
            <guid isPermaLink="false">5-ways-to-use-inclusive-language-in-it-and-software-localization</guid>
            <pubDate>Sat, 16 Aug 2025 13:34:08 GMT</pubDate>
            <description><![CDATA[With the growing emphasis on gender equality, companies are more and more focused on gender-inclusive language. What is it, and how can we implement gender-sensitive language into our communication?]]></description>
            <content:encoded><![CDATA[<p><a href="https://www.youtube.com/watch?v=RKK7wGAYP6k">Language shapes the way we think</a>, and changes in us - the society - are reflected in changes in language. The language specialists often wonder how to describe gender-inclusive language in practice and in what ways organizations can incorporate gender-inclusive language into their texts.</p><p>Generally, we can define gender-sensitive language as a "<em>means of communicating in a way that does not discriminate against a particular gender and does try not to propagate gender stereotypes."</em></p><p>Below, there are some strategies and approaches that can upgrade your communications to be more gender-inclusive. </p><blockquote>Please note that applying these best practices in all languages is simply impossible. We are focused here on English (and Polish, because I am a native Polish speaker), as this is the language most often used in IT and translated from. However, the general idea is that strategies described here and others can be used in most. So this text should be treated as a guide rather than a strict set of rules.</blockquote><h2 id="1-introduce-gender-neutral-words">1️⃣ Introduce gender-neutral words <a class="markdownit-header-anchor" href="#1-introduce-gender-neutral-words">🔗</a></h2><p><strong>Gender stereotyping can be avoided by discouraging the usage of gender-specific terms or the general use of the word <em>"man."</em></strong></p><p>There might be some alternatives available; for example, in English, you might say <em>"police officer"</em> instead of <em>"policeman"</em> or <em>"policewoman" </em>and <em>"working hours"</em> instead of <em>"man-hours."</em></p><p>In other languages, such as German, you can use a participle instead of a noun to remove the gender bias: <em>"Studierende"</em> instead of <em>"Studenten und Studentinnen."</em></p><p>In Polish forms, <em>"student"</em> (m) and <em>"studentka"</em> (f) can be substituted by <em>"osoby studenckie" </em>(persons who study) as used here:  <a href="https://bosko.amu.edu.pl/">https://bosko.amu.edu.pl/.</a>  </p><p>What is important, you should note, is that in comparison to English, using gender-neutral words is much more challenging in <a href="https://en.wikipedia.org/wiki/Fusional_language">fusional languages</a> (or "inflected languages") as each word ending in the case of nouns and adjectives bears gender information.</p><h2 id="2-using-plural-pronouns">2️⃣ Using plural pronouns <a class="markdownit-header-anchor" href="#2-using-plural-pronouns">🔗</a></h2><p><strong>Use <em>"they"</em> instead of <em>"he or she."</em></strong></p><p>In the past, male pronouns were often used to refer to a person of unknown gender. Later it was replaced by the awkward phrase <em>"he or she."</em> </p><p>This form is far from perfect - it still points to two genders, and it is quite long, which is important, especially in the case of UI localizations, where character limitations often occur). </p><p>Hence, in some languages, it has been replaced by the plural form <em>“they.”</em></p><p>So instead of writing: <em>"Each administrator must sign his list."</em> OR <em>"Each administrator must sign his/her list."</em> use the form: <em>"Each administrator must sign their list."</em></p><p>This is not a perfect solution, and using this strategy in fusional languages might be tricky:</p><p>For example <em>"All programmers must code."</em> in Polish: <em>"Każdy programista musi kodować."</em> (m) OR <em>"Każdy programista/każda programistka musi kodować."</em> (m/f) cannot be substituted with pluralized <em>"Wszyscy programiści muszą kodować."</em> because in Polish plural forms are gender specific as well - <em>"wszyscy programiści"</em> (m) OR <em>"wszystkie programistki"</em> (f).</p><h2 id="3-skip-the-gendered-pronoun">3️⃣ Skip the gendered pronoun <a class="markdownit-header-anchor" href="#3-skip-the-gendered-pronoun">🔗</a></h2><p><strong>In English, sometimes, it is even possible to omit the personal pronoun completely without changing the meaning of the sentence. </strong></p><p>The sentence: <em>"We ordered the detective to continue his efforts to find our dog."</em> can be replaced with <em>"We ordered the detective to continue efforts to find our dog."</em> </p><p>Surprisingly in some instances, it might work in fusional languages so in Polish, the sentence: <em>"Poprosiliśmy ją o wydanie reszty."</em> (which translates to <em>"We asked her to give us the change."</em>) can be substituted with <em>"Poprosiliśmy o wydanie reszty." ("We asked for the change."</em>)</p><p>In English, the gendered pronoun can also be skipped using the -ing form. <em>"The network specialist must solve 1000 issues before they can apply for a PRO badge."</em> can be changed to <em>"The network specialist must solve 1000 issues before applying for a PRO badge."</em></p><p>You can try and apply similar strategies for Polish: <em>"Specjalista sieciowy musi rozwiązać 1000 problemów, zanim będzie mógł ubiegać się o odznakę PRO."</em> can be converted to <em>"Specjaliści sieciowi muszą rozwiązać 1000 problemów, zanim możliwe będzie ubieganie się o odznakę PRO."</em>, however this will not work as neatly as in English.</p><h2 id="4-address-the-reader-directly">4️⃣ Address the reader directly <a class="markdownit-header-anchor" href="#4-address-the-reader-directly">🔗</a></h2><p><strong>In a certain context, you can omit the role (user, administrator, client) and compose a string without it. </strong></p><p>So instead of writing: <em>"As an administrator, you need to make sure that data is saved at regular intervals."</em> you can write: <em>"Save your data at regular intervals."</em></p><p>This works in Polish equally well: <em>"Jako administrator musisz się upewnić, że dane są zapisywane regularnie."</em> ➡️ <em>"Regularnie zapisuj dane."</em> </p><p>This strategy also allows you to create shorter strings, so it is extremely useful and universal.</p><h2 id="5-use-the-passive-voice">5️⃣ Use the passive voice <a class="markdownit-header-anchor" href="#5-use-the-passive-voice">🔗</a></h2><p><strong>Passive voice is often a questionable stylistic solution, yet it can serve as a useful alternative to gendered constructions. </strong></p><p>Instead of writing: <em>"The project owner must have actionable resources for the task they are presenting."</em> you may write: <em>"The project owner must have actionable resources for the task being presented."</em> </p><p>Again - in case of fusional languages this strategy might work quite neatly: <em>"Właściciel projektu musi dysponować użytecznymi zasobami w odniesieniu do zadania, które opisuje."</em> ➡️ <em>"Właściciel projektu musi dysponować użytecznymi zasobami w odniesieniu do opisywanego zadania."</em> </p><p>Some information is missing after converting the sentence (both in English and in Polish), but the general meaning is preserved.</p><blockquote>🎙️ Inclusive language is only the first step toward clearer, more user-friendly communication. Next comes accessibility. <a href="https://localazy.com/blog/s01-ep-08-bridging-the-gap-podcast">Tune in to our podcast episode with Signapse co-founder</a>, Sally Chalk to listen to insights about AI, sign language, and accessibility</blockquote><h2 id="bonus-postgender-forms-dukaizmy-in-polish">➕ Bonus: Postgender forms / Dukaizmy (in Polish) <a class="markdownit-header-anchor" href="#bonus-postgender-forms-dukaizmy-in-polish">🔗</a></h2><p><strong>In some limited aspects in Polish, you may consider using postgender forms called <a href="https://zaimki.pl/onu">Dukaizmy</a>.</strong></p><p>These forms were coined by <a href="https://en.wikipedia.org/wiki/Jacek_Dukaj">Jacek Dukaj</a> for the purpose of his book <a href="https://en.wikipedia.org/wiki/Perfect_Imperfection">“Perfekcyjna niedoskonałość” (Perfect Imperfection.)</a> </p><p>In the book, the forms are used by post-human beings (phoebe), whose gender is not stated. The author's surname was used to name these forms „dukaizmy”.</p><p>The pronoun is "onu/jenu" and the inflection of nouns, adjectives, and adverbs always changes to -u. Let's convert this "male" sentence into a "dukaizm".</p><p>Male: "Myślę, że on jest bardzo miły, przyjacielski i urzekający. Jego wypowiedzi są fascynujące."</p><p>Dukaizm: <em>"Myślę, że onu jest bardzo miłu, przyjacielsku i urzekającu. Jenu wypowiedzi są fascynujące."</em></p><h2 id="gender-sensitive-language-in-companies">🏢 Gender-sensitive language in companies <a class="markdownit-header-anchor" href="#gender-sensitive-language-in-companies">🔗</a></h2><p>Apart from writing the text with this guidance in mind, an additional linguistic challenge is that localization specialists, who will translate your documentation and software, will need to consider that not every language can be easily adapted into a gender-sensitive version; some languages will require a lot of creativity to make it work. </p><p>Nonetheless, language affects the way we perceive the world, and it shapes our vision, so use it to keep your customers feel welcome, no matter who they are.</p><p>The examples above show that gender-sensitive language can help to avoid assumptions about male and female users and also linguistically address people who identify as neither male nor female. </p><p>Gender-sensitive language can make textual communication much more inclusive. It is observed that it can sometimes be confusing and may even be met with resistance. Yet, well-written technical documentation and UI are critical to your customers. </p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Usually, in UI strings and software manuals, you want to be as accurate as possible; at the same time, you don't want to exclude any of your customers or users. </p><p>Therefore your final goal should be to create texts that are addressed to all of the users of your software and services, and that's why it's a good idea to include a section on gender-sensitive language in linguistic style guides.</p><h2 id="further-reading">📘 Further reading <a class="markdownit-header-anchor" href="#further-reading">🔗</a></h2><p>Read more articles to help your translators make the localization of your project more effective:</p><ul><li><a href="/blog/linguistic-style-guides-software-localization">Guide your style - linguistic style guides in software localization</a></li><li><a href="https://localazy.com/blog/make-translators-happy-cooperate-localazy">How to make your translators happy to cooperate</a></li></ul>]]></content:encoded>
            <author>Michał Tosza</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/05/Inclusive-language-IT--4-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to localize Nuxt v3 projects using Localazy]]></title>
            <link>https://localazy.com/blog/how-to-localize-nuxt-v3-using-localazy</link>
            <guid isPermaLink="false">how-to-localize-nuxt-v3-using-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:32:07 GMT</pubDate>
            <description><![CDATA[Learn how to set up your Nuxt v3 i18n project and translate it with Localazy in minutes. ]]></description>
            <content:encoded><![CDATA[<p>⚠️ There is a new version of this article for 2024! </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://localazy.com/blog/use-nuxt-i18n-to-localize-your-nuxt-3-project-with-localazy"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Use Nuxt/i18n to Localize Your Nuxt 3 Project with Localazy</div><div class="kg-bookmark-description">The release of Nuxt/i18n v8 marks the conclusion of the two-year-long development of the new staple localization library for Nuxt 3. And with Localazy, you can expand your reach with dozens of new languages in no time.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://localazy.com/favicon.ico" alt=""><span class="kg-bookmark-author">Localazy</span><span class="kg-bookmark-publisher">Daniel Charvát</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.localazy.com/content/images/2024/01/nuxt-i18n-nuxt3.png" alt=""></div></a></figure><hr><p><a href="https://localazy.com/dictionary/vuejs">Vue</a> 3 became the new default recommended version for new projects in February. With this new era, loads of frameworks, plugins, and libraries have also started focusing on the new Vue. <a href="https://v3.nuxtjs.org/">Nuxt</a> is no exception, and the team is nearing the stable release, which is planned for this summer. </p><blockquote>Read <a href="/tags/nuxtjs">more articles about Nuxt.js</a></blockquote><p>Naturally, such a large transition requires a lot of development time and dedication. This is especially true for Nuxt, the largest and most popular framework built on Vue. As the previous version 2, Nuxt is an open-source hybrid Vue framework that eases the development of web applications with extra emphasis on performance, SEO optimizations, and ease &amp; speed of development.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-33.png" class="kg-image" alt loading="lazy" width="300" height="151"><figcaption>https://v3.nuxtjs.org/</figcaption></figure><p>At Localazy, we've been using Nuxt since the beginning, and we are excited to try the new version for our next projects too. And naturally, the implementation of i18n support is the crucial aspect we will be focusing on.</p><h2 id="getting-started">🥳 Getting started <a class="markdownit-header-anchor" href="#getting-started">🔗</a></h2><p>Let's begin by creating a new Nuxt project. The new version of Nuxt also comes with a new CLI tool, which makes the process seamless. Run the following commands to create a new project and install the dependencies:</p><pre><code class="language-bash">npx nuxi init localazy-nuxt3
cd localazy-nuxt3
npm i</code></pre><p></p><blockquote>Note that at the time of writing this article the Nuxt v3 has not released a stable version yet. It's possible that the API might change in the future, although it's unlikely given how close we are to the release day. This example runs on <strong>Nuxt version 3.0.0-rc.6 </strong>and and @<strong>intlify/nuxt3 version</strong> <strong>0.2.3.</strong></blockquote><h3 id="prepare-i18n-module">Prepare i18n module <a class="markdownit-header-anchor" href="#prepare-i18n-module">🔗</a></h3><p>Next, let's add support for the localization of your project. In this example, we're going to use <a href="https://github.com/intlify/nuxt3">@intlify/nuxt3</a>, which is built on <strong>vue-i18n-next. </strong>Currently, this is the most stable i18n plugin for Nuxt that supports content localization. </p><p>To install it to our project, run <code>npm install --save-dev @intlify/nuxt3</code> and then include it <code>modules</code> options in your <strong>nuxt.config.[ts|js]</strong></p><pre><code class="language-typescript">// nuxt.config.ts
import { defineNuxtConfig } from 'nuxt'

export default defineNuxtConfig({
  // ...
  modules: ['@intlify/nuxt3']
  // ...
})
</code></pre><p>Note that it does not support route localization and SEO i18n enhancement like <a href="https://i18n.nuxtjs.org/">@nuxtjs/i18n</a> did with Nuxt v2. As the authors from intlify state themselves, one of the purposes of the @intilify/nuxt3 module is "...<em>finding issues on the vue-i18n-next so that <code>@nuxtjs/i18n</code> can support Nuxt3."</em></p><p>Nonetheless, adding support for route localization can be implemented manually, and it's also the approach we've decided to take at Localazy. Let us know in the comments if you would like us to elaborate on how we've done it. 🙋‍♂️</p><h3 id="going-multilingual">Going multilingual <a class="markdownit-header-anchor" href="#going-multilingual">🔗</a></h3><p>At this point, we can start our application by running <code>npm run dev</code>. No error should pop out, and you should be welcomed by the default welcome screen.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/welcome_en.png" class="kg-image" alt loading="lazy" width="1492" height="826" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/welcome_en.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/welcome_en.png 1000w, https://ghost.localazy.com/content/images/2022/07/welcome_en.png 1492w" sizes="(min-width: 720px) 720px"><figcaption>Default Welcome screen in English</figcaption></figure><p>This component is called <strong>NuxtWelcome, </strong>and it is used in <em>app.vue</em>. When you inspect this component in <code>node_modules</code> , you'll find out that it accepts several props which can modify most of the textual content inside. Let's make use of it and translate it 🤗</p><p>First of all, create a new <strong>lang</strong> folder in the root folder of your project. Then create an <strong>en.json</strong> file inside and paste in the following.</p><pre><code class="language-json">{
  "title": "Welcome to Nuxt 3!",
  "readDocs": "We highly recommend you take a look at the Nuxt documentation, whether you are new or have previous experience with the framework.",
  "followTwitter": "Follow the Nuxt Twitter account to get latest news about releases, new modules, tutorials and tips.",
  "starGitHub": "Nuxt is open source and the code is available on GitHub, feel free to star it, participate in discussions or dive into the source."
}</code></pre><p>This is the default English content on the welcome screen, which we will translate momentarily. Lastly, configure the <code>lang</code> directory to be the i18n source for the <em>@intlify/nuxt3 </em>in your <em>nuxt.config.[js|ts]. </em>Additionally, we'll change the locale to <code>es</code> so that it will set the language to Spanish by default.</p><pre><code class="language-typescript">import { defineNuxtConfig } from 'nuxt'

export default defineNuxtConfig({
  // ...
  modules: ['@intlify/nuxt3'],
  intlify: {
      localeDir: 'lang',
      vueI18n: {
        locale: 'es'
      }
  }
  // ...
})
</code></pre><p>We don't have the Spanish translations yet, and that's where Localazy comes in.</p><h2 id="connecting-to-localazy">🚩 Connecting to Localazy <a class="markdownit-header-anchor" href="#connecting-to-localazy">🔗</a></h2><p>First of all, <a href="https://localazy.com/register">set up a new account</a> on Localazy and create your <a href="https://localazy.com/my/create">new project</a>. Using English as the source language is recommended, but you can choose any other. Turn on the <em>Use community translations (ShareTM)</em> option if you want to get translation suggestions from our shared translation memory.</p><blockquote><a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a> is a highly accurate shared translation memory that can help you accurately translate a significant portion of your project. Thanks to it, most of the new projects have as much as 50% of their strings automatically available as suggestions for translation into 80+ languages.</blockquote><p>Proceed to create the project. Afterward, select <em>Nuxt.js</em> on the integration screen. We'll use the <a href="https://localazy.com/docs/cli/the-basics">powerful CLI tool</a> to manage the upload and download of texts.</p><p><a href="https://localazy.com/docs/cli/installation">Installation</a> is available for Linux, macOS, and Windows. Note the read and write keys in step 2 - we'll need them shortly.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-28.png" class="kg-image" alt loading="lazy" width="1000" height="758" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-28.png 600w, https://ghost.localazy.com/content/images/2022/07/image-28.png 1000w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Quick Start - Nuxt.js</figcaption></figure><p>As suggested, create a <code>localazy.json</code> file in the root folder of your project. Copy the recommended configuration and change the <code>translations</code> folder to <code>lang</code> folder in both the upload and download sections.</p><pre><code class="language-bash">{
 
    "writeKey": "&lt;your-write-key&gt;",
    "readKey": "&lt;your-read-key&gt;",
    
    "upload": {  
      "type": "json",
      "files": "lang/en.json"         
    },
    
    "download": {
      "files": "lang/${lang}.json"
    }
    
  }</code></pre><p>Now you are ready to upload the content in the English file. All you need to do is to call <code>localazy upload</code>.</p><h3 id="translating-strings">Translating strings <a class="markdownit-header-anchor" href="#translating-strings">🔗</a></h3><p>Now go to Localazy and add the Spanish language 🙂</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-29.png" class="kg-image" alt loading="lazy" width="991" height="431" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-29.png 600w, https://ghost.localazy.com/content/images/2022/07/image-29.png 991w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Languages List with source language only</figcaption></figure><p>Then click on the translate button to start translating. Let's just use the suggested machine translations, which is an amazing feature for multilingual prototyping. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/translate-in-localazy.png" class="kg-image" alt loading="lazy" width="1520" height="300" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/translate-in-localazy.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/translate-in-localazy.png 1000w, https://ghost.localazy.com/content/images/2022/07/translate-in-localazy.png 1520w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Languages List with Spanish added</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/translate-using-mt-3.png" class="kg-image" alt loading="lazy" width="1499" height="738" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/translate-using-mt-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/translate-using-mt-3.png 1000w, https://ghost.localazy.com/content/images/2022/07/translate-using-mt-3.png 1499w" sizes="(min-width: 720px) 720px"><figcaption>Translating using machine engine suggestions</figcaption></figure><p>For your real project, you can choose from multiple approaches to translate your project with Localazy:</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors - </strong>You can <a href="https://localazy.com/docs/general/translating-strings">start translating on your own</a> and use our built-in suggestion system.</li><li>🦾 <strong>Translate everything in bulk via machine translation - </strong>With the Localazy <a href="https://localazy.com/tiers/autopilot">Autopilot plan</a>, you can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate">running a machine translation over the content</a>. This is great for the first iteration and localization testing of your Nuxt project.</li><li>🚩 <strong>Fully automate the translation process with the <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization</a> services</strong> - You can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators.</li></ol><h3 id="using-translations-in-nuxt">Using translations in Nuxt <a class="markdownit-header-anchor" href="#using-translations-in-nuxt">🔗</a></h3><p>Come back to your application and run <code>localazy download</code>. You should see a newly created <em>es.json</em> file in the <em>lang</em> folder.</p><p>By using vue-i18n's <code>$t</code> the function, we'll resolve the key in the currently selected language, which we've defined to be Spanish in the <em>nuxt.config.[js|ts]. </em>To test it, change the <code>app.vue</code> content to the following.</p><pre><code class="language-vue">&lt;template&gt;
  &lt;div&gt;
    &lt;NuxtWelcome
    :title="$t('title')"
    :readDocs="$t('readDocs')"
    :followTwitter="$t('followTwitter')"
    :starGitHub="$t('starGitHub')"
     /&gt;
  &lt;/div&gt;
&lt;/template&gt;
</code></pre><p>Refresh your page and voila! The textual content, which is modifiable through <em>NuxtWelcome</em>'s props, has been translated to Spanish 😍</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/welcome_es.png" class="kg-image" alt loading="lazy" width="1413" height="704" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/welcome_es.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/welcome_es.png 1000w, https://ghost.localazy.com/content/images/2022/07/welcome_es.png 1413w" sizes="(min-width: 720px) 720px"><figcaption>Translated Welcome screen to Spanish</figcaption></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>That's it! Now you're all set to serve your visitors content in their language!</p><p><strong>Read more about what Localazy can do for you</strong>:</p><ul><li>Read the <a href="https://localazy.com/docs/general/getting-started-with-localazy">Getting Started Guide</a></li><li>Never manage translators again: hire our <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization Team</a></li><li>Start with localization in the design phase with the <a href="https://localazy.com/features/figma-localization-plugin">Figma Localization Plugin</a></li><li>Integrate additional parts of your ecosystem with one of the <a href="https://localazy.com/integrations">50+ integration options</a></li><li>See our <a href="https://localazy.com/pricing">pricing options</a> or <a href="https://localazy.com/blog">read more on our blog</a></li></ul><h2 id="we-love-nuxt">🙌 We love Nuxt! <a class="markdownit-header-anchor" href="#we-love-nuxt">🔗</a></h2><p>As said earlier, the Localazy website is powered by Nuxt. We love Nuxt and we are delighted to give our fellow Nuxt lovers a gift.</p><p>Use the coupon "<strong>lovenuxt</strong>" during your Localazy plan checkout and get a 25% discount on your purchase.</p><p>Discount applies to the <a href="https://localazy.com/tiers/professional">Professional</a> plan. Enjoy!</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/nuxt-i18n-nuxt3-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Strapi plugin, Webhooks, Optimization Dashboard and more!]]></title>
            <link>https://localazy.com/blog/release-update-strapi-localization-plugin-webhooks-optimization-dashboard</link>
            <guid isPermaLink="false">release-update-strapi-localization-plugin-webhooks-optimization-dashboard</guid>
            <pubDate>Fri, 28 Mar 2025 15:21:12 GMT</pubDate>
            <description><![CDATA[The new release update is here! Meet the brand new localization plugin for Strapi, learn about new Figma plugin features, and see what's new inside your favorite localization platform. ]]></description>
            <content:encoded><![CDATA[<p>It's quite a long time since we published the last Release Update, but that doesn't mean we didn't work on adding anything new in the meantime! Quite the opposite, so buckle up. This will be a long read because this release is hot! 🔥</p><h2 id="strapi-localization-plugin">💜 Strapi localization plugin <a class="markdownit-header-anchor" href="#strapi-localization-plugin">🔗</a></h2><p>We are incredibly proud to present the brand new <a href="/features/strapi-localization-plugin">Strapi localization plugin</a> by Localazy. Fully automate the localization of your Strapi project and feel the seamless experience of multilingual content management. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/Strapi-Cover-Art.png" class="kg-image" alt="Strapi localization plugin by Localazy" loading="lazy" width="1920" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Strapi-Cover-Art.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Strapi-Cover-Art.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Strapi-Cover-Art.png 1600w, https://ghost.localazy.com/content/images/2022/07/Strapi-Cover-Art.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Strapi localization plugin by Localazy</figcaption></figure><p>Just like Localazy, <a href="https://strapi.io/">Strapi</a> can save developers a lot of time while giving them the freedom to use their favorite tools and frameworks. All you need to start is a Strapi website and a <a href="https://localazy.com/register">Localazy account</a>. </p><p>You can find the plugin in the Strapi Market: <a href="https://market.strapi.io/plugins/@localazy-strapi-plugin">https://market.strapi.io/plugins/@localazy-strapi-plugin</a></p><blockquote>📰 Read our guide on <a href="/blog/how-to-strapi-localization-with-localazy">How to automate Strapi localization with the Localazy plugin</a></blockquote><h2 id="webhooks">🎣 Webhooks <a class="markdownit-header-anchor" href="#webhooks">🔗</a></h2><p>We also introduced a new way of integration, so you can stay on top of things happening in Localazy and automate your translation workflow even more. Hook into essential events happening in your project in Localazy, such as new comments added or new content imported into the project. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-23.png" class="kg-image" alt loading="lazy" width="1608" height="1208" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-23.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-23.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-23.png 1608w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Webhooks</figcaption></figure><p><strong>The four types of webhook events are:</strong></p><ul><li>Comment Added</li><li>Content Imported</li><li>Content Imported Empty</li><li>Project Published</li></ul><p>You can set up webhooks in the Project Settings or manage them via <a href="https://localazy.com/docs/api/introduction">Localazy Public API</a> 😉</p><blockquote>📘 <a href="/docs/general/webhooks">Learn more about webhooks in the documentation</a>.</blockquote><h2 id="optimization-dashboard">💡 Optimization Dashboard <a class="markdownit-header-anchor" href="#optimization-dashboard">🔗</a></h2><p>To ensure you are not missing any benefits of Localazy, we have created a handy optimization dashboard where you can find various tips on improving your projects' optimization score. You can improve the score by completing the mini-tasks on the optimization cards.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-24.png" class="kg-image" alt loading="lazy" width="1905" height="1080" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-24.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-24.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-24.png 1600w, https://ghost.localazy.com/content/images/2022/07/image-24.png 1905w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Optimizations</figcaption></figure><p><strong>The optimizations may be associated with:</strong></p><ul><li>your organization</li><li>your projects</li><li>requested features from your contributors</li></ul><p>The optimization dashboard scans your projects and organization. It provides you with valuable tips &amp; suggestions that we believe will help you and your contributors get the best user experience Localazy has to offer.</p><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">❗</div><div class="kg-callout-text"><strong>2025 Update:</strong> The optimization center is currently being revamped; we want to introduce a more streamlined approach to getting tips on using Localazy efficiently.</div></div><h2 id="figma-plugin-updates">🖼️ Figma Plugin Updates <a class="markdownit-header-anchor" href="#figma-plugin-updates">🔗</a></h2><p>We informed you about the <a href="/features/figma-localization-plugin">Figma localization plugin</a> in the <a href="/blog/release-update-localization-figma-plugin-screenshots-public-api">previous Release Update</a>. The Localazy Figma Plugin allows you to upload all the text content from a Figma file to Localazy, translate the content into as many languages as you want, and then download translated content back to Figma &amp; quickly create localized designs.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-25.png" class="kg-image" alt loading="lazy" width="960" height="540" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-25.png 600w, https://ghost.localazy.com/content/images/2022/07/image-25.png 960w" sizes="(min-width: 720px) 720px"><figcaption>Figma localization plugin by Localazy</figcaption></figure><p>You can read the article covering why and how we created the plugin in the first place, what were the challenges along the way, and dive into insights from our team members and testers. </p><blockquote>📰 Read <a href="/blog/how-and-why-we-built-figma-localization-plugin">How and why we built our Figma localization plugin</a></blockquote><p>We are happy that we have made various improvements to the plugin since then. The plugin can now handle larger Figma files much better and allows you to locate nodes that you translate easily.</p><h3 id="import-screenshots-from-figma-automatically">Import Screenshots from Figma automatically <a class="markdownit-header-anchor" href="#import-screenshots-from-figma-automatically">🔗</a></h3><p>You can upload screenshots and link them to corresponding source keys within your project. Screenshots provide context for your translators to see how and where the source key is used and adjust the translation accordingly. </p><p>The Localazy Figma Plugin now allows you to upload Context Screenshots from your design project to Localazy automatically. Just by selecting and uploading <code>TextNodes</code>, as usual, the plugin will create a screenshot of the selected <code>TextNode</code> and upload it to Localazy. All text nodes in the screenshot are automatically linked with the respective source keys in Localazy.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/0d1b804a-a5fd-4459-aa8f-13b5a1dc578d.gif" class="kg-image" alt loading="lazy" width="1122" height="645"></figure><blockquote>📘 <a href="/docs/figma/context-screenshots">Learn more about Figma Screenshots in the documentation</a></blockquote><h3 id="locate-nodes-you-are-translating-in-figma">Locate nodes you are translating in Figma <a class="markdownit-header-anchor" href="#locate-nodes-you-are-translating-in-figma">🔗</a></h3><p>Project contributors need to know the translation context. Localazy, with its support for backlinks to Figma, makes it way easier to get to the context even though Figma does not provide good support for long backlinks. The URL gets malformed; therefore, a node is not located and focused correctly (more on that in <a href="https://localazy.com/docs/figma/finding-node#notes">the documentation</a>). </p><p>That’s why we introduce the <em>Finding node in Figma</em> feature, allowing you to locate and focus the desired node with <code>node-id</code> and center it into the view. You will never get lost in your designs thank to this feature!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/5002caa2-f8df-47f1-b0fc-23047b924744.gif" class="kg-image" alt loading="lazy" width="1232" height="968"></figure><blockquote>📘 <a href="/docs/figma/finding-node">Learn more about finding nodes in Figma in the documentation</a></blockquote><h2 id="ux-and-performance-updates">💪 UX & Performance Updates <a class="markdownit-header-anchor" href="#ux-and-performance-updates">🔗</a></h2><p>We try to roll out various updates at least once a month to ensure that the platform is improving continuously. I especially like that our team managed to improve the performance and UX of the screenshot management and translation lists. </p><p>With shorter loading times and more practical features, we hope the experience feels smoother than ever before. On top of that, you can now translate your texts into completely made-up languages with custom locales.</p><h3 id="what-is-developer-english">What is Developer English?  <a class="markdownit-header-anchor" href="#what-is-developer-english">🔗</a></h3><p>Our users have been asking us to add "Developer English" to Localazy because scratching heads while coming up with the best wording is for copywriters, not developers. 😅</p><p>After developers put in their versions of texts, labels, and buttons, it's up to UX writers to ensure that the product delivers the message to users concisely and in simple words that users will understand. That's why we are introducing new custom locales. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/image-26.png" class="kg-image" alt loading="lazy" width="800" height="600" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-26.png 600w, https://ghost.localazy.com/content/images/2022/07/image-26.png 800w" sizes="(min-width: 720px) 720px"><figcaption>Custom Locales in Localazy</figcaption></figure><p>You can now allow developers to upload strings in their own words and set the projects' source language "Developer English" and then invite UX writers to polish the copy and "translate" everything into a production-ready "English" :)</p><h3 id="optimization-of-translation-tables-and-new-filters">Optimization of translation tables and new filters <a class="markdownit-header-anchor" href="#optimization-of-translation-tables-and-new-filters">🔗</a></h3><ul><li>Faster loading of translation lists</li><li>Optimized pagination behavior</li><li>Filtering keys with missing translation notes or screenshots</li><li>Filter translations with comments</li></ul><p>See the improved performance in action!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/ezgif-4-d563e56445.gif" class="kg-image" alt loading="lazy" width="1200" height="502"></figure><h3 id="new-pre-translate-options">New Pre-Translate Options <a class="markdownit-header-anchor" href="#new-pre-translate-options">🔗</a></h3><p><a href="/features/pre-translate">Machine pre-translate</a> is one of the favorite features of Localazy users who cruise through localization on our <a href="/tiers/autopilot">🚀 Autopilot plan</a>. </p><p>You can use the pre-translate feature to apply machine translations of your favorite MT Engine. Just select the desired engine and target language. You don’t need to worry about pre-translate overwriting your work. The pre-translate function does not affect existing translations!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/image-27.png" class="kg-image" alt loading="lazy" width="1000" height="643" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-27.png 600w, https://ghost.localazy.com/content/images/2022/07/image-27.png 1000w" sizes="(min-width: 720px) 720px"></figure><p>We are happy to share that we recently updated the pre-translate feature with new options.</p><p><strong>What new options are available?</strong></p><ul><li>You can choose if you want to send new translations to review or approve them all.</li><li>You can apply the translations to keys that already have some translation waiting for review</li><li>Apply new translations to keys where the source string changed</li></ul><h2 id="new-integrations">🕹️ New Integrations <a class="markdownit-header-anchor" href="#new-integrations">🔗</a></h2><p>Besides the Strapi plugin, we added support for a new framework called <a href="/format-js">FormatJS</a>. </p><h3 id="enterprise-integrations">Enterprise Integrations <a class="markdownit-header-anchor" href="#enterprise-integrations">🔗</a></h3><p>There are possibly thousands of platforms that could benefit from Localazy integration. While we would like to support them all in the future, it's nearly impossible to get it done in our lifetime. </p><p>So if you would like to use Localazy with your proprietary system or some third-party CMS that we don't support yet, we have some good news for you: As a part of the <a href="/tiers/enterprise">🪐 Localazy Enterprise Tier</a>, we are open to talking about custom-built integrations. </p><p><a href="/contact">Contact us</a> with your requirements, and we can develop a custom integration just for you!</p><h3 id="diy-custom-integrations">DIY: Custom Integrations <a class="markdownit-header-anchor" href="#diy-custom-integrations">🔗</a></h3><p>On the other hand, if you are keen to create an entirely new integration from scratch and have the resources, you can use the Localazy Public API and create your own custom integration from scratch. </p><p>We will gladly help you, provide you with more API options and consult the best approach to achieve seamless integration with your favorite platform. And if you decide you want to make it officially available for all Localazy users, we will ensure it will be worth your time &amp; effort!</p><p>➡️ <a href="https://localazy.com/community/b2b-partnerships/custom-integrations">Learn more about Integration Partnerships.</a></p><h2 id="follow-localazy">📯 Follow Localazy <a class="markdownit-header-anchor" href="#follow-localazy">🔗</a></h2><p>To get the latest info about new Localazy features, usage tips, success stories, and some behind-the-scenes bits, make sure to follow our social media accounts:</p><p><strong>🐤 Follow Localazy on Twitter: <a href="https://twitter.com/localazy">https://twitter.com/localazy</a></strong> </p><p>You can also follow the real people behind Localazy. I would recommend you follow especially these members of our core team:</p><ul><li>👨‍💻 <a href="https://twitter.com/vaclavhodek">Václav Hodek</a> - The CEO of Localazy and Kotlin &amp; Android enthusiast with many years of experience in various ventures who likes to share his insights and experiences on various matters. </li><li>🦸‍♂️ <a href="https://twitter.com/JakeDubec">Jakub Dubec</a> - Our Marketing Superhero, who mostly tweets about the struggles of being a marketer outnumbered by developers. You can also find tweets about productivity and even philosophy on his Twitter.</li><li>👨‍🔬 <a href="https://twitter.com/honzabilek4">Jan Bílek</a> - Our Product Mastermind, who tweets mostly about product management, front-end development, and analytics.</li><li>🧗‍♂️ <a href="https://twitter.com/dan_charvat">Dan Charvát</a> - The Lead front-end developer, amateur athlete, and hero of our demo calls is pretty active in discussions on Twitter and often shares helpful front-end tips.</li></ul><p>You can also find Localazy on 💼 <a href="https://www.linkedin.com/company/localazy/">LinkedIn</a>, <a href="https://www.facebook.com/localazy">💬 Facebook</a>, and <a href="https://www.instagram.com/localazycom/">📷 Instagram</a>.</p><h2 id="further-reading">🤓 Further Reading <a class="markdownit-header-anchor" href="#further-reading">🔗</a></h2><p>Make sure to check out our blog regularly. We publish new content every week!</p><ul><li>Read our previous <a href="/tags/release-update">Release Updates</a>.</li><li>Read <a href="/tags/interview">Interviews with Localazy users about their projects</a>.</li><li>Find useful <a href="/tags/howto">Tutorials and tips in the #HowTo category</a>.</li></ul><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We hope you'll try the new features and tell us how you like our latest improvements! Make sure to follow us on Twitter, and don't hesitate to contact us anytime if you want to talk about your project, new features, or to ask a curious question!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/07/release.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How and why we built our Figma localization plugin]]></title>
            <link>https://localazy.com/blog/how-and-why-we-built-figma-localization-plugin</link>
            <guid isPermaLink="false">how-and-why-we-built-figma-localization-plugin</guid>
            <pubDate>Thu, 22 Feb 2024 10:18:09 GMT</pubDate>
            <description><![CDATA[The localization plugin for Figma by Localazy was released in November 2021. Since then, we have made several improvements and have helped dozens of teams with the localization of their designs. Read the story of how and why we created the Figma localization plugin and how you can benefit from it.]]></description>
            <content:encoded><![CDATA[<p>At Localazy, we love and use <a href="https://www.figma.com/design/">Figma</a>, and many of our clients do too. This collaborative design platform, born in 2012 and enjoyed by thousands of users around the world, is the ideal solution to tackle the design process flawlessly.</p><p>When looking for new integrations, Figma was a no-brainer. Our team, as well as a bunch of our customers, regularly used it, and the collaboration feels natural. So we wanted to welcome it into our platform. </p><p>We started with only our <a href="/android">Android</a> integration back in 2020 and many more followed like <a href="/ios">iOS</a>, <a href="/po">PO</a>, <a href="/srt-subtitles">SRT Subtitles</a>, <a href="/angular">Angular</a>, <a href="/microsoft-excel">Excel</a>, or <a href="/javascript">JavaScript</a>, to just name a few. Still, most of these are just simple file formats or developer-oriented frameworks. So unlike previous integrations, Figma needed a different approach. </p><!--kg-card-begin: markdown--><blockquote>
<p>Check Localazy's list of integrations <a href="http://">here</a>!</p>
</blockquote>
<!--kg-card-end: markdown--><p>The Figma plugin required a specific design and more work than previous integrations because it needed its own user-facing interface outside of Localazy, the data management is different, and the plugin is required to work both ways. Extracting texts from Figma to a <a href="/dictionary/json">JSON</a> file and uploading it to Localazy wouldn't be too practical for most use-cases. </p><p>So in June 2021, our Figma project started. We accepted the challenge, talked to our users, explored the different options available on the market, and got to work. Four months later, we launched the integration. 🎉</p><p>Here's how we did it and what you can accomplish with it as a Localazy user.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/B6DYRAZTRuM" title="Localazy Figma Design Localization Plugin" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><h2 id="hold-on-what-is-figma">🤔 Hold on... what is Figma? <a class="markdownit-header-anchor" href="#hold-on-what-is-figma">🔗</a></h2><p>Technically speaking, Figma is online prototyping and vector graphics editor that focuses on UI and UX. Plainly speaking, it is a design tool with an easy-to-use, collaborative interface that helps you create stunning visuals and content in your browser with powerful capabilities and countless community-made resources and plugins to enhance and customize your design workflow.</p><p>If you've never heard of this tool, you're really missing out! It is an excellent asset for any company interested in creating compelling content presented in an attractive, modern way. </p><p>Figma is ideal for prototypes of digital products, such as web and mobile apps. It is also excellent for the design of landing pages, newsletters, and complete websites, but you can use it to create leaflets, presentations, infographics, and much more. We've done it all! </p><blockquote><strong>Learn more about Figma on its <a href="https://www.figma.com/">official website</a>.</strong></blockquote><h2 id="why-do-we-love-it">✏️ Why do we love it? <a class="markdownit-header-anchor" href="#why-do-we-love-it">🔗</a></h2><p>Why wouldn't we? Figma really does wonders for design collaboration. For starters, it is a very user-friendly tool that <a href="https://www.figma.com/blog/figma-now-has-guides/">can be learned</a> and managed quickly by entire teams. It streamlines processes and acts as a collaborative hub for all your efforts.</p><p>As we outlined earlier, versatility is also plentiful. You can adapt content for different media formats, and it is easily malleable. This means localization and translation can be done flawlessly, as teams can adjust the design <a href="/blog/multilingual-figma-prototyping-localazy-localization-plugin-done-quickly">to the particularities of every language</a>. </p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;Many startups use the Localazy + Figma duo to iterate faster and bring new features to the market with decreased effort across their team&quot;<br>
<strong>Jakub Dubec, CMO</strong></p>
</blockquote>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/image-1.png" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image-1.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/07/image-1.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="figma-streamlines-processes-and-acts-as-a-collaborative-hub-for-all-your-design-localization-efforts">Figma streamlines processes and acts as a collaborative hub for all your design localization efforts <a class="markdownit-header-anchor" href="#figma-streamlines-processes-and-acts-as-a-collaborative-hub-for-all-your-design-localization-efforts">🔗</a></h3><p>But there's more! These are other outstanding features that we like over here at Localazy HQ:</p><ul><li><strong>Flawless design tools: </strong>resizing buttons, toggling, stretching, dynamic overlays, vector pens, mobile edits... Figma offers<strong> </strong>easy fixes for nearly every design pain point, automating what used to be lengthy manual modifications.</li><li><strong>Great for teams:</strong> <a href="https://www.figma.com/design-process/">collaborative efforts</a> are really propelled when using Figma. Shared notes and multiple viewing enable to perfect the final result and discussing specific copywriting, localization, or design issues is easier than ever.</li><li><strong>Can be used throughout the whole process</strong>: the tool is designed to walk teams through every phase of product development. Brainstorming can start in a <a href="https://www.figma.com/figjam/">FigJam</a> workshop and continue on the <a href="https://www.figma.com/design-systems/">asset library</a>.⏰</li><li><strong>Export options:</strong> when the work is done, <a href="https://help.figma.com/hc/en-us/articles/360040028114-Guide-to-exports-in-Figma">exporting is super easy</a>, and it is available in different formats, ranging from PDF to PNG, JPG, and SVG. You can also export assets in bulk!</li><li><strong>Price:</strong> you can use Figma at really affordable rates. Even for free! Different options are offered depending on the size of your company, with plans starting at $12/month per user.</li></ul><p>It was love at first sight for <strong>our designer, <a href="/blog/author/ondrej-pucek">Ondřej Půček</a>. </strong>"As an art director, I love that with Figma, I can keep all my visual assets in one place, easily accessible to anyone within our team - even the newcomers - in their browser. I really love the variations feature that was added just recently. It simplifies the work with components and keeps our team library clean and tidy", he explains. </p><p>But if he had to choose just one outstanding feature, it would undoubtedly be auto-layout, which allows to "prepare really complex designs that you can reuse in various layouts without the need to align individual parts each time." A real timesaver indeed! ⏰</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/Cover-Art.png" class="kg-image" alt loading="lazy" width="1920" height="960" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Cover-Art.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Cover-Art.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Cover-Art.png 1600w, https://ghost.localazy.com/content/images/2022/07/Cover-Art.png 1920w" sizes="(min-width: 720px) 720px"></figure><h2 id="why-create-a-figma-plugin">💭 Why create a Figma plugin? <a class="markdownit-header-anchor" href="#why-create-a-figma-plugin">🔗</a></h2><p>Our aim was simple: we wanted to make it easier for our customers to translate, edit and implement the content of their Figma designs in the most intuitive way possible. </p><p>As our <strong>CMO, <a href="/blog/author/jakub-dubec">Jakub Dubec</a></strong> puts it, "many innovative startups use the Localazy + Figma duo to iterate faster and bring new features to the market with decreased effort across their team." </p><p>So this was a no-brainer. Many users across all sectors could benefit from it! 👌 And it seems that we were right: so far, our integration has been used, tested, and loved by a wide range of users, including enterprise clients as well as smaller agency teams who use Localazy &amp; Figma to design multilingual products for their clients.</p><h2 id="how-did-we-do-it">👩‍💻 How did we do it? <a class="markdownit-header-anchor" href="#how-did-we-do-it">🔗</a></h2><p>Developing, testing, and launching a plugin is an extensive process. Our Figma integration was no exception. So let's hear what our team has to say about it!</p><h3 id="the-big-idea">💡 The big idea <a class="markdownit-header-anchor" href="#the-big-idea">🔗</a></h3><p>Naturally, the idea came first. Our<strong> Product Manager, <a href="/blog/author/jan-bilek">Jan Bílek</a>,</strong> was instrumental in the process from the first brainstorming sessions. "We wanted to enable users to start their localization process already at the design phase. We encourage teams to agree on the copy as early as possible to prevent unnecessary round trips and speed up the whole development process", he explains. </p><p>The result we were looking for was simple: the finalized texts could be used directly in any app, thanks to Localazy and our Figma plugin. The next step was then to develop the plugin.</p><h2 id="the-development-process">⚙️ The development process <a class="markdownit-header-anchor" href="#the-development-process">🔗</a></h2><p>The process was long but also fun and satisfying when it came to developing the integration. We decided to write the plugin in <a href="https://localazy.com/blog/top-10-vuejs-resources-for-your-project">Vue 3</a>. It took three months to finesse all the integration features. </p><p>Our <strong>Front End Developer, <a href="/blog/author/david-vaclavek">David Václavek</a></strong> (who did most of the development), sums it up perfectly: "I remember spending late evening hours before sleep just thinking about how to rewrite a piece of code I've just done during the day to make it run faster. I also remember me sitting in the office, being in the zone for a couple of hours, staring into the screen, and then just noticing everyone already went home."</p><p>At that time, our team was also developing the <a href="/blog/what-is-localazy-translation-api">Localazy Public API</a> and <a href="/docs/figma/plugin-authentication">OAuth</a> for authentication, so we tried it out on the Figma plugin. </p><p>Fortunately, David wasn't alone: "The <a href="https://www.figma.com/developers">Figma developers community</a> was helpful whenever I asked for advice. They also explained to me some detailed differences in API methods when I reported an issue on GitHub. Basically, when I got through the part of learning the platform, I started enjoying the development more and more".</p><!--kg-card-begin: markdown--><h3 id="it-took-three-months-to-finesse-all-the-integration-features-the-proccess-was-long-but-also-fun-and-satisfying">It took three months to finesse all the integration features. The proccess was long, but also fun and satisfying <a class="markdownit-header-anchor" href="#it-took-three-months-to-finesse-all-the-integration-features-the-proccess-was-long-but-also-fun-and-satisfying">🔗</a></h3>
<!--kg-card-end: markdown--><p>From then on, it was trial and error. After conquering the Figma API, our team went through a few UI redesigns, made a few UX-related changes, and tested the plugin extensively. </p><p>The release date was postponed several times, but the first official version of the plugin eventually launched in November 2021. Here's a confession from our developer: "Fixing the issues itself and thinking about how to make the plugin simple and fast was challenging but fun. But when you think you're almost at the end of development and you manage to find another issue - that's the biggest mental challenge!". </p><blockquote>Learn <a href="/blog/design-localization-with-localazy-figma-plugin">How to use the Figma plugin in this article</a>.</blockquote><p>There were also challenges from the design side. As Ondřej<strong> </strong>puts it, "we wanted our users to avoid the usual mistakes that can happen while uploading nodes from Figma to Localazy." </p><p>This meant that ongoing warnings had to be delivered to ensure the safety of their materials and keep everyone informed on the state of the plugin. It all paid off, as many design and front-end elements have definitely made the localization job easier, solving common pain points. For instance:</p><ul><li>No need to manually copy/paste the strings.</li><li>No need to hassle with spreadsheet files.</li><li>Selective upload/download with per-text design language check.</li><li>Continuous design localization problem &amp; keeping track of updates.</li><li>Ability to quickly check your design prototypes in more languages.</li><li>Having Figma as SoT, you can easily use the uploaded strings in the app code.</li><li>People can cooperate at the same time: designer uploads, the translator translates...</li></ul><p>...and much more! </p><p>Here's a practical example from David: "Imagine you're designing a product with global ambitions and there's no Localazy. You made a great design, and everyone loves it in your country. You did the extra hard work, manually copied/pasted the designs, and translated them into a couple of languages. </p><p>But then you realize that you don't have enough space to fit texts in other languages because of the distribution of word lengths. And not only that: there are some right-to-left languages. Designs are ruined, your head is about to explode, you have to redesign it and go through the pain again..."</p><!--kg-card-begin: markdown--><h3 id="no-string-copy-pasting-no-spreadsheets-no-global-downloads-with-the-plugin-you-can-have-your-team-cooperate-at-the-same-time-and-keep-track-of-multilingual-design-updates">No string copy-pasting, no spreadsheets, no global downloads: with the plugin you can have your team cooperate at the same time and keep track of multilingual design updates <a class="markdownit-header-anchor" href="#no-string-copy-pasting-no-spreadsheets-no-global-downloads-with-the-plugin-you-can-have-your-team-cooperate-at-the-same-time-and-keep-track-of-multilingual-design-updates">🔗</a></h3>
<!--kg-card-end: markdown--><p>"With Localazy ready to help, you can start designing, uploading strings continuously, translating your current progress into some languages, downloading it to Figma, adjusting the designs to play well with the translations... Then you continue designing another section and do the same again. How easy is that? 😀 And all of it in just a couple of clicks, almost no manual work needed".</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/UI_1_1.png" class="kg-image" alt loading="lazy" width="381" height="381"></figure><h3 id="testing-the-final-product">Testing the final product <a class="markdownit-header-anchor" href="#testing-the-final-product">🔗</a></h3><p>When the plugin started to take shape, we tested it extensively. Manual tests were performed before release, and we contacted some beta users to check it out. One of them was <strong>Michal Kessel Shitrit</strong>, an affiliate partner who works as a <a href="https://www.heymichal.com/">localization, design, and UX writing expert</a>. The plugin was a godsend for Michal, as collaborative copywriting and design are essential to her job. </p><p>"I love how Figma plugins like the Localazy plugin let clients enjoy the best of both worlds. They can keep a tighter link between the design in Figma and the localized strings. And they can easily see and test the localized copy in-context", she says. </p><p>The expert tested the plugin in its early stages and <a href="/blog/agile-localization-for-ux-the-localazy-figma-plugin-changes-the-game">liked what she saw</a>. Downloading and uploading processes were straightforward and minimal adjustments were required: "You may need a different or smaller font, or to align your localized copy to the right. But it still saves infinite amounts of time compared to the old copy-and-paste method".</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;The plugin lets clients enjoy the best of both worlds. They can keep a tighter link between the design in Figma and the localized strings. And they can easily see and test the localized copy in-context&quot;<br>
<strong>Michal Kessel Shitrit, beta tester</strong></p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>Other benefits highlighted by Michal were:</strong></p><ul><li>Non-designers don't have to mess with design features.</li><li>No strings are left behind when reviewing a project.</li><li>The continuous translation is very helpful for big products: there's no need to recreate the project for every new little feature.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/downloading_1.1.0.gif" class="kg-image" alt loading="lazy" width="1325" height="669"></figure><p>When testing, our team of testers also discovered certain features that were overlooked at first. As our PM explains, initially, it was possible to upload only entire documents, and it wasn't allowed to work with selected nodes: "It wasn't overlooked though: we'd intentionally omitted this functionality to simplify the development and user testing. Beta users, however, verified that this functionality was crucial for the general usability of the plugin".</p><p>The plugin was an immediate success at Localazy's HQ. Our CMO "immediately wanted to use it and play around because localization at the design phase is important not only for product development but also for brand communication".</p><p>"I was really happy because I constantly push our development team to open Localazy to new audiences important to our business. Figma localization plugin is a huge step towards UX, UI and the overall design community".</p><p>Nowadays, we have dozens of active users, and we use the integration as well on a daily basis. For instance, we prepare our design files in English with pre-finalized texts, finish the texts and translate them to the languages we want to use in the near future in our platform. Then we download the nodes back to Figma and adjust the design. We also use the plugin to translate our banners and ads to different languages. </p><h2 id="whats-next">🚀 What's next? <a class="markdownit-header-anchor" href="#whats-next">🔗</a></h2><p>Our plugin is up and running, and we couldn't be more pleased. It was approved to be listed in the Figma community in just 5 days! But that doesn't mean our work has finished. Here's an update from our Product Manager, Jan: "We would like to add support for FigJam and solve the issue of importing the design with more developer-friendly keys. We also plan to support upload of languages other than the source language."</p><p>Our designer foresees new customizable features, "like avoiding all the nodes with content consisting of purely numerical values, and the introduction of a parser to keep the names of the source keys simple and easy to use in the code as Jan mentioned." </p><p>Even more ideas were discussed actually, but I will keep it a secret for now. As always, we will try to improve the experience as much as we can, I can promise you that. 😉</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;We would like to add support for FigJam and solve the issue of importing the design with more developer-friendly keys. We also plan to support upload of languages other than the source language.&quot;<br>
<strong>Jan Bílek, PM</strong></p>
</blockquote>
<!--kg-card-end: markdown--><p>And our star tester adds a suggestion for new integrations: "It would be incredible to have support for <a href="https://zeplin.io">Zeplin</a> or <a href="https://www.invisionapp.com/">Invision</a>. A lot of my clients use it as their SOC for design". Noted, Michal! 📝</p><p>Do you have suggestions you would like to share with our team? Feel free to share your ideas with us <a href="https://discuss.localazy.com/">here</a> or tell us in the comments!</p><h2 id="wanna-try-it-for-yourself">👀 Wanna try it for yourself? <a class="markdownit-header-anchor" href="#wanna-try-it-for-yourself">🔗</a></h2><p>If you've read this far, you definitely have to <a href="https://www.figma.com/community/plugin/964257457772706017/Localization-plugin-by-Localazy">try our plugin</a>. Designers, marketers, and copywriters are already using Localazy + Figma for their daily efforts. </p><p>As our CMO eloquently puts it, "those people are able to create multilingual designs from their favorite design tool without the need of a developer for connection with their i18n/l10n/translation management platform. All they need is to authorize with Localazy and get started."</p><!--kg-card-begin: markdown--><blockquote>
<p>Check out our Figma plugin workflow guide <a href="https://localazy.com/docs/figma/plugin-introduction">here</a> and start reaping the benefits of a flawless design localization integration!</p>
</blockquote>
<hr>
<!--kg-card-end: markdown--><p></p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Figma-Interview.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: Making IT service management a breeze with Gapp]]></title>
            <link>https://localazy.com/blog/interview-making-it-service-management-breeze-with-gapp-ticgal</link>
            <guid isPermaLink="false">interview-making-it-service-management-breeze-with-gapp-ticgal</guid>
            <pubDate>Mon, 02 Mar 2026 12:54:17 GMT</pubDate>
            <description><![CDATA["Translation with Localazy is so easy. You have linked projects that help share the lingo. Now we need more automatic translation providers to support Galician", says Óscar Beiro, CEO of TICgal.]]></description>
            <content:encoded><![CDATA[<p>Self Service Support systems are all the rage - and for good reason! Not only are they convenient for IT teams, but also for project and supplier management. Tools like GLPI can help immensely. <a href="https://tic.gal/en/project/gapp/">Gapp</a> aims to take it everywhere, so you can open and manage a ticket and track techs from your phone.</p><p>As the first Spanish partner of this open-source ITSM tool, the Galician startup TICgal has developed <a href="https://play.google.com/store/apps/details?id=gal.tic.gapp.selfservice&amp;hl=es_419&amp;gl=US">this mobile app for GLPI</a> that streamlines processes and makes it even easier to manage different kinds of assets. Gapp was launched in December 2019, and so far it has been a success.<strong> </strong>Today we discuss tech, innovation, and localization with its founder, Óscar Beiro.</p><h2 id="the-product">📱 The product <a class="markdownit-header-anchor" href="#the-product">🔗</a></h2><p><strong>Hi, Óscar! Congrats on your recent launch! Can you tell us a little about the product?</strong></p><p>Sure! It's a mobile app for GLPI. For those of you that still don't know it, <a href="https://glpi-project.org/">GLPI is an open-source ITSM tool</a> powered by Teclib, and our company, TICgal, was the first partner in Spanish in the world. </p><p>It focuses on two main areas:</p><ul><li>⏳ Asset Management (ITAM)</li><li>🛠️ Helpdesk (ITIL aligned)</li></ul><p>Other services are covered on the way, like project management and supplier management. It is endlessly expandable through plugins and the Rest API, which we extensively use in our mobile development.</p><p><strong>Why an app and not a web service?</strong></p><p>IT web tools are great and can be quite responsive, but at the end of the day, nothing beats an app when on the move. ✌️ This is exactly Gapp’s target.</p><p><strong>What was your motivation? What problems does the app solve in this remote era?</strong></p><p>Does anyone remember a world without smartphones? You want every tool you need in the palm of your hand. We want to solve these two problems:</p><ol><li>Provide a means to ease the job of a field technician.</li><li>Help users to open and track the help requests from end-users when they are not in front of their desktops.</li></ol><p>That was initially, and now we even use Gapp to clock in and off work!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/06/PlayConsole-Gapp2.png" class="kg-image" alt loading="lazy" width="1024" height="500" srcset="https://ghost.localazy.com/content/images/size/w600/2022/06/PlayConsole-Gapp2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/06/PlayConsole-Gapp2.png 1000w, https://ghost.localazy.com/content/images/2022/06/PlayConsole-Gapp2.png 1024w" sizes="(min-width: 720px) 720px"></figure><p><strong>What kind of plugins have you implemented?</strong></p><p>Plugins integrations are <a href="https://play.google.com/store/apps/details?id=gal.tic.gapp.full.WhiteLabel">White Label Gapp</a> only. As for now we have integrated plugins like <a href="https://github.com/pluginsGLPI/credit">Credit</a> ⏱️, which allows hourly-supported clients to check the remaining available support time and see the tickets in which it's been consumed; or <a href="https://github.com/pluginsGLPI/barcode">Barcode</a> 📲, which you can use to get basic asset information by scanning a QR, among other things. </p><p>We have also developed plugins for our free (<a href="https://github.com/ticgal/gappessentials">Gapp Essentials</a>) and premium editions (Gapp eXtended), as well as <a href="https://tic.gal/en/project/tam/">TAM</a> 🕠, a plugin to clock in and off; <a href="https://tic.gal/en/project/actualtime-plugin-glpi/">Actualtime</a> 📝, to track action time on tasks; and WayPoints 🚘, which tracks roadwarriors' time on the move.</p><p><strong>Impressive! So, who are your customers? How are they responding to the product?</strong></p><p>Any organization with an IT department. Pretty much every organization with more than 50 computers! Currently, there is not a mobile tool for GLPI apart from ours, so having your tickets on hand and integrating other modules - like TAM for clocking in and off - is very handy. The most relevant features we offer are tech geolocation 🧭  for both travel and work. </p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;We offer tech geolocation for both travel and work&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p>We currently have customers on four continents and 12 countries: public, private, non-profits...  Gapp is not being used by big companies yet, but we have some clients that will implement it very soon, like the Murcia City Council. We also work with the Spanish Ministry of Science and Innovation, Carne Group (an Irish financial asset management company), and RCS Angola, who is currently tracking more than a hundred field technicians all over the country using our app. 🚗💨</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/image.png" class="kg-image" alt loading="lazy" width="2000" height="1409" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/image.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/image.png 1600w, https://ghost.localazy.com/content/images/2022/07/image.png 2234w" sizes="(min-width: 720px) 720px"></figure><h2 id="success-at-the-end-of-the-world">🌊 Success at the end of the world <a class="markdownit-header-anchor" href="#success-at-the-end-of-the-world">🔗</a></h2><p><strong>We're curious to hear about your personal entrepreneurship story. How did the project start?</strong></p><p>TICgal is an indirect result of the financial crisis. A slice of unfulfillment and underappreciation on the job and a considerable salary reduction on top made the rest. </p><p>I’d been the IT guy on a small construction company bought by a big one. I thought other small companies would need a guy like me to handle their IT needs, even if they didn’t have the resources to onboard them. I didn’t see that kind of service on the IT Services we had from 3rd party companies. As it turns out, I was wrong. 😁 <br><br><strong>You've turned eight recently. I'd say that's a success! </strong></p><p>It is! TICgal has recently blown its 8th candle, and the team is built by seven people right now. 👏 One of them is 100% remote. Before covid, we used remote working very scarcely. The Spanish legislation is very strict with this, and it doesn’t really help. It might sound awful, but we grew during the pandemic: somehow, our demand skyrocketed, like many other IT companies.</p><p><strong>But, what does success look like for your company?</strong></p><p>Getting requests from all over the world while being physically in a small city (Pontevedra) near the end of the world (Galicia) is how we measure our success. It might sound like a cliché, but we work locally to go global. 🌍 We are small, but that means we have the ability to change our direction quickly. Beginnings were hard, but in my opinion, the most crucial thing in a company is to endure.</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;We work local to go global. We are small, but that means we have the ability to change our direction quickly&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>True! That sounds pretty similar to our approach to doing things at Localazy. But tell me, what's next? What are your future funding plans?</strong></p><p>This is just one of our multiple projects, so the idea is to sell White Label versions of Gapp and get it self-funded. We are currently working on multiple integrations. Some of them are ongoing, like a 3CX Voip to register phone calls and link them to tickets, ticket synchronization between other Service Desk big players shown on the Gartner Magic Quadrant, and PinkVERIFY like Jira, Remedy BMC, Cherwell, Ivanti... We are even considering an SAP integration!</p><p><strong>One thing's for sure, there's no such thing as having 'too many' integrations. </strong></p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/uTBaSVXDZQw" title="Gapp. A GLPI app" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><h2 id="challenges-and-lessons">💪 Challenges & lessons <a class="markdownit-header-anchor" href="#challenges-and-lessons">🔗</a></h2><p><strong>What are the most significant risks &amp; challenges for your company?</strong></p><p>It is being able to scale. We are now working on creating processes to help us handle the challenges associated with it.</p><p>Also, hiring. 🧑‍💻 I’ve been an employee. Now I have a view from the other side, and believe me when I tell you that I try to make the work experience as nice as possible. Last year TICgal had a significant profit for the first time, and everyone had their share.</p><p><strong>Lovely! Can you share with our readers in which fields are you innovating now?</strong></p><p>Right now, we are implementing a mileage tracking system for the vehicles. We think about a new feature pretty much every month. Unfortunately, it's not a 100% bulletproof experience. For instance, there is no mobile Internet coverage in electromagnetically sealed buildings. We are designing an experimental offline mode to overcome these issues.</p><p><strong>What do you think – what will your industry look like about 10 years from now?</strong></p><p>It's hard to know how will it look next year! 🤔 Probably more automation, assistants, robots... but you will still need somebody to build customizations because every organization has its peculiarities.</p><p><strong>If you could start again with your product, what would you do differently from today’s perspective?</strong></p><p>Nothing! We have started it three times! This has to be the good one. 😀</p><p><strong>What did failure teach you?</strong></p><p>I will say my three learned lessons are:</p><ol><li>🔄 <strong>MVP is the way. </strong>Don't try to create a perfect product or service. If you find the path, it will evolve; if you need to change direction, you won’t have wasted precious resources.</li><li>👂 <strong>Listen to your clients. </strong>If more than one has the same need, by solving it you can have a reusable product to offer.</li><li>💡 <strong>Think ahead. </strong>Try to anticipate future needs and have an answer for them. </li></ol><p><strong>Thank you for sharing the advice.</strong></p><h2 id="regional-localization-done-right">🗺️ Regional localization done right <a class="markdownit-header-anchor" href="#regional-localization-done-right">🔗</a></h2><p><strong>Would you like to highlight some services or products you really like to use on your own?</strong></p><p>We develop using plain PHP for the backend and Flutter for the mobile dev. Other products we like are Crashlytics, FCM, and Analytics from Firebase, and our last discovery was Localazy. We love how it integrates into our development cycle and the friendly user interface for our translation contributors. We have more than 20 projects opened and haven't even finished migrating all our developments!</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;We have more than 20 projects opened in Localazy and haven't even finished migrating all our developments!&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>What is your motivation for localization? Why did you choose Localazy?</strong></p><p>Living in Galicia and <a href="https://theculturetrip.com/europe/spain/articles/galician-language-everything-you-need-to-know/">using a language spoken by less than 3 million people</a> has taught me to contribute to different translation projects. Every single project we build (except for very customized ones) has English as the primary language and a translation into Galician and Spanish. Then GLPI has a big community in Brazil, so Portuguese is probably an option.</p><p><a href="https://localazy.com/compare-plans">Localazy's unlimited languages plans</a> fit us since they usually have few strings per project, but we want them translated into as many languages as our users need. In the past, we had these "fights" between European and American Spanish and the same with Portuguese. Localazy lets us deal with them frictionlessly.</p><p><strong>So, are you guys happy with the final result?</strong></p><p>Translation with Localazy is so easy. You have the linked projects that help share the lingo. It's a great idea that I haven’t seen in other translation tools. Now we need more automatic translation providers to support Galician. ✊ We haven’t yet hired the Localazy translation services, but as soon as we get a request to support a language we don’t know, it will be our first choice.</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;In the past, we had these &quot;fights&quot; between European and American Spanish. The same happened with Portuguese. Localazy lets us deal with different dialects frictionlessly&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>Also, what are the next languages you are working on implementing?</strong><br><br>The first language is always English, and we provide a Galician and Spanish translation for all the developments, except for the custom ones, that are handled directly by the clients. This is another handy Localazy feature. We send an invitation to the translators, and they can easily deal with them. Gapp 1 was in 13 languages, and Gapp 2 is only in 9, but I’m confident we will surpass that number this year as soon as it is released.</p><p><strong>Is there something you would like to add?</strong></p><p>Although small, this is our biggest project. Creating plugins and apps for a pretty well-known and thriving app as GLPI expands our market worldwide. In 2014 I was on my own; now, we are a team of 7 members. Not impressive but shows a growth path. 🌱 The next step is not on us but on the clients. Their needs will shape our future, and the company will evolve to cover them, as we try to anticipate. </p><p>Also, for our public projects, we open the translations to the community contribution. If you like Gapp and want it in your language, you will only need time and knowledge. Together, Localazy and TICgal will handle the rest 😊. <em>Děkuji!</em></p><p><strong>Thank you too, Óscar! </strong></p><p><strong>Find more about Gapp and TICgal's projects <a href="https://tic.gal/en/">here</a>. </strong></p><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote><p></p><p><br><br></p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Gapp-Interview-Localazy.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to improve the PageSpeed score of your Nuxt.js website in 6 steps]]></title>
            <link>https://localazy.com/blog/how-improve-pagespeed-score-nuxt-js-website-6-steps</link>
            <guid isPermaLink="false">how-improve-pagespeed-score-nuxt-js-website-6-steps</guid>
            <pubDate>Thu, 25 Jan 2024 11:12:14 GMT</pubDate>
            <description><![CDATA[Poor website performance might be costing you money. Learn why the PageSpeed score is important and how the web developers at Localazy improved the PageSpeed score of our Nuxt.js website in 6 steps. ]]></description>
            <content:encoded><![CDATA[<p>Google's <a href="https://pagespeed.web.dev">PageSpeed Insights</a> has become the standard for measuring and evaluating website performance. The method can measure your website performance and loading times on a scale of 0-100, with an overview of the key metrics and recommendations for improving them. </p><h2 id="why-is-the-pagespeed-score-so-important">🤔 Why is the PageSpeed score so important? <a class="markdownit-header-anchor" href="#why-is-the-pagespeed-score-so-important">🔗</a></h2><p>Naturally, there's been a lot of discussion about the score's usefulness and how it reflects real user experience. </p><p>We have to admit we found out that the total score of your page matters a lot the hard way when our ad budgets didn't allocate as effectively as before due to a sudden drop in the scores. But there is more to it than ad costs, and the three main reasons are listed below.</p><h3 id="1-seo">1. SEO <a class="markdownit-header-anchor" href="#1-seo">🔗</a></h3><p><a href="https://developers.google.com/search/blog/2010/04/using-site-speed-in-web-search-ranking">Since 2010</a>, PageSpeed has been a ranking factor for desktop searches. <a href="https://developer.chrome.com/blog/search-ads-speed/#speed-is-now-used-as-a-ranking-factor-for-mobile-searches">In 2018</a>, Google announced that it would also be considered in mobile searches. This decision makes the SERP ranking directly tied to the PageSpeed performance and makes it an integral part of search engine optimization.</p><h3 id="2-ux">2. UX <a class="markdownit-header-anchor" href="#2-ux">🔗</a></h3><p>Faster websites mean better user experience and happier users in general. There are numerous studies on how page speed affects revenue (<a href="https://www2.deloitte.com/content/dam/Deloitte/ie/Documents/Consulting/Milliseconds_Make_Millions_report.pdf">this</a> or <a href="https://nitropack.io/blog/post/web-performance-matters-case-studies">this</a>).<br>Making websites faster simply benefits both the user and the business.</p><p>To fight the objections on how accurately the PageSpeed score represents the perceived performance, Google now measures the actual performance on user devices and uses an aggregated score over a certain period of time.</p><h3 id="3-ads">3. Ads <a class="markdownit-header-anchor" href="#3-ads">🔗</a></h3><p><a href="https://developer.chrome.com/blog/search-ads-speed/#the-mobile-speed-score-for-ads-landing-pages">In the same announcement in 2018</a>, Google also mentioned that page speed is now another factor for determining QualityScore for both desktop and mobile landing pages. This means that pages with low scores will now decrease your ad CTR and also increase CPC! </p><p>Competitors' ads are then more likely to be displayed instead of yours, which is something nobody wants. So simply put, to optimize your marketing budget, optimize your PageSpeed as well.</p><h2 id="our-current-site-architecture">📐 Our Current Site Architecture <a class="markdownit-header-anchor" href="#our-current-site-architecture">🔗</a></h2><p>As the title suggests, we use the <a href="https://nuxtjs.org">Nuxt.js</a> framework for the whole public-facing website.</p><p>Every page is built out of common components we share throughout our entire codebase and is also a core dependency of our app, plugins, etc. We use <a href="https://tailwindcss.com">Tailwind CSS</a> to speed up the development and create consistent visuals over the entire platform.</p><p>The site content is then fetched from various sources, including the <a href="https://directus.io">Directus platform</a> and a <a href="https://ghost.org">Ghost blog</a>.</p><p>The whole site is deployed in the <a href="https://nuxtjs.org/docs/concepts/static-site-generation">static mode</a>, meaning all pages are pre-generated and served as static HTML files, so no server runtime is required. Everything is then loaded on multiple replicas, cached, and distributed through a <a href="https://cloudflare.com">Cloudflare CDN</a>, which makes the site incredibly lightweight and resilient, as it requires negligible computing resources.</p><h2 id="the-problem-with-the-setup">🚧 The Problem With the Setup <a class="markdownit-header-anchor" href="#the-problem-with-the-setup">🔗</a></h2><p>Even though the site architecture looks very scalable and has the potential to serve millions of users daily, we weren't getting the expected results in terms of PageSpeed.</p><p>The main identified problems were:</p><ol><li>The large size of the JS bundle (loaded and parsed), mainly due to 3rd party dependencies</li><li>Large page size in total, including static resources</li><li>Huge Render blocking time</li></ol><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-07-at-23.34.24.png" class="kg-image" alt loading="lazy" width="1688" height="1334" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-07-at-23.34.24.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-07-at-23.34.24.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-07-at-23.34.24.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-07-at-23.34.24.png 1688w" sizes="(min-width: 720px) 720px"></figure><h2 id="the-solution">🚀 The Solution <a class="markdownit-header-anchor" href="#the-solution">🔗</a></h2><p>There are many articles about web performance in the wild, giving you advice on how to speed up your site, but when it comes to practical examples, these are rare. Therefore, I decided present the complete list of steps we took to improve our PageSpeed score. Some are specific to our architecture described earlier and should be adapted to your setup.</p><h3 id="check-your-cloudflare-configuration">Check your Cloudflare configuration <a class="markdownit-header-anchor" href="#check-your-cloudflare-configuration">🔗</a></h3><p>Many of you probably use Cloudflare to manage your DNS configuration. It's a fantastic service with many options to improve your website's security, resiliency, and performance. However, most sites simply do the initial configuration and rarely touch it later. We're on a paid plan, so we might have more settings available, but most of these options are also available in their free tier.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/a31z4Ke_460s-5.jpg" class="kg-image" alt loading="lazy" width="459" height="395"></figure><h4 id="caching">Caching</h4><p>Cloudflare's caching is a powerful service. It distributes your resources over a CDN and can significantly reduce the download time, esp. for a global audience. Here are some steps you can do immediately:</p><p>Increase the TTL of the browser cache in <strong>Caching </strong>section. This helps clients to cache your files for a longer duration. One year is the recommended setting here.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-8.34.04.png" class="kg-image" alt loading="lazy" width="2000" height="468" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-06-at-8.34.04.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-06-at-8.34.04.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-06-at-8.34.04.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-8.34.04.png 2094w" sizes="(min-width: 720px) 720px"></figure><p>Set a page rule to match all static assets. By default, Cloudflare caches only those static assets with <a href="https://developers.cloudflare.com/cache/about/default-cache-behavior/#default-cached-file-extensions">listed extensions</a>. Create a Page Rule for your assets to cache everything.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-8.36.00-1.png" class="kg-image" alt loading="lazy" width="1614" height="498" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-06-at-8.36.00-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-06-at-8.36.00-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-06-at-8.36.00-1.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-8.36.00-1.png 1614w" sizes="(min-width: 720px) 720px"></figure><h4 id="performance">Performance</h4><p>Enable Auto Minify for your resources. Everything in the output bundle of Nuxt.js is minified by default, but there could be some 3rd party resources on your site which need optimization. It's good to keep this setting enabled.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-9.13.41.png" class="kg-image" alt loading="lazy" width="2000" height="515" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-06-at-9.13.41.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-06-at-9.13.41.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-06-at-9.13.41.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-9.13.41.png 2090w" sizes="(min-width: 720px) 720px"></figure><p>Enable Brotli compression to reduce the amount of data that needs to be transferred over the network.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-8.46.54.png" class="kg-image" alt loading="lazy" width="2000" height="357" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-06-at-8.46.54.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-06-at-8.46.54.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-06-at-8.46.54.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-8.46.54.png 2108w" sizes="(min-width: 720px) 720px"></figure><p>Enable HTTP/2 prioritization, which allows for better parallelization of resource downloads. HTTP/2 is enabled by default.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-8.49.38.png" class="kg-image" alt loading="lazy" width="2000" height="405" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-06-at-8.49.38.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-06-at-8.49.38.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-06-at-8.49.38.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-8.49.38.png 2102w" sizes="(min-width: 720px) 720px"></figure><p>⚠️ <strong>Caution:</strong> You can also enable Mirage and Rocket Loader™. These two settings can speed up the initial page load on desktop and mobile but use them carefully because they might trigger unexpected behavior - like completely blank pages in some browsers, etc. This setting works best for us.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-8.50.25.png" class="kg-image" alt loading="lazy" width="2000" height="888" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-06-at-8.50.25.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-06-at-8.50.25.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-06-at-8.50.25.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-8.50.25.png 2118w" sizes="(min-width: 720px) 720px"></figure><h3 id="optimize-css">Optimize CSS <a class="markdownit-header-anchor" href="#optimize-css">🔗</a></h3><h4 id="use-utility-first-css-framework">Use utility-first CSS framework</h4><p>We use <a href="https://tailwindcss.com">Tailwind CSS</a> in our entire codebase. Libraries like Tailwind have a considerable performance benefit since you don't need to write new CSS rules. You can leverage the use of already available classes, and your stylesheets don't grow much over time.</p><p>Tailwind keeps your output CSS lean by generating only those utilities you actually use. It isn't bloating your stylesheets with all available utils like, i.e., <a href="https://getbootstrap.com">Bootstrap</a> does.</p><h4 id="purge-unused-css">Purge unused CSS</h4><p><a href="https://purgecss.com">Purge CSS</a> is another great option to keep your stylesheet size low and increase the PageSpeed score. It's especially useful if you're importing some 3rd party stylesheets and would like to use only what's required. The configuration usually takes a bit of tinkering to get right, but it's definitely worth the effort.</p><h3 id="optimize-your-js-bundle">Optimize your JS Bundle <a class="markdownit-header-anchor" href="#optimize-your-js-bundle">🔗</a></h3><p>To quickly inspect your dependency tree and identify some potential issues, you can run the <code>nuxt build</code>  command with  <code>--analyze</code> flag.<br>Add this command to the <code>"scripts"</code> section in your <code>package.json</code> and run it as <code>npm run analyze</code></p><pre><code class="language-json">"scripts":{
  "analyze": "nuxt build --analyze",
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-14.09.52.png" class="kg-image" alt loading="lazy" width="2000" height="1284" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-06-at-14.09.52.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-06-at-14.09.52.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-06-at-14.09.52.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/07/Screenshot-2022-07-06-at-14.09.52.png 2400w" sizes="(min-width: 720px) 720px"></figure><h4 id="split-chunks-using-webpack">Split chunks using webpack</h4><p>Thanks to HTTP/2, loading multiple smaller bundles is faster than loading one file. Try to add <code>maxSize</code>  to your <code>nuxt.config.js</code> to force webpack to split your bundle into smaller chunks. But don't try to set the number too low, as too many small bundles will still create an overhead. You will need to experiment a bit to find the balance.</p><pre><code class="language-js">optimization: {
  splitChunks: {
    maxSize: 300000
  }
}
</code></pre><h4 id="check-your-website-dependencies">Check your website dependencies</h4><p>Review what libraries you import into your code and how big they are. Do you really need the 30kB library just to get a more comfortable way to set a cookie? Is there a more lightweight alternative solution? Remember that these numbers quickly add up.</p><p>When adding a library, make sure that the library uses ES6 modules. Webpack, the bundler that comes with Nuxt.js, can create highly optimized bundles for each page and can tree-shake the unused code.</p><p>If the library, on the other hand, uses CommonJS or UMD modules, it gets embedded directly in the  <code>chunk-vendors.js</code>  bundle together with the rest of your dependencies and has to be downloaded on all pages! And trust me, <code>chunk-vendors.js</code> can get really chunky. 🤭</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-14.53.33.png" class="kg-image" alt loading="lazy" width="2000" height="1750" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-06-at-14.53.33.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-06-at-14.53.33.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-06-at-14.53.33.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/07/Screenshot-2022-07-06-at-14.53.33.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>A good example is a popular <a href="https://www.npmjs.com/package/lodash">lodash</a> library, which isn't tree-shakeable in the original version. (It's intended to be used in Node.js environments). However, there's an ES6 version called <a href="https://www.npmjs.com/package/lodash-es">lodash-es</a> which should be used by default together with all modern bundlers.</p><h4 id="use-async-components">Use async components</h4><p>In Nuxt.js, there's a simple way to tell Webpack where it should split your code. It's called "async components", and it uses special <code>import</code> syntax.</p><pre><code class="language-js">const MyComponent = await import('@/modules/common/MyComponent.vue');
</code></pre><p>You can then register the component in your .vue file as usual.</p><pre><code class="language-js">components: {
 MyComponent,
}
</code></pre><p>Whenever webpack encounters an async component in your code, it creates a separate chunk for your component and its dependencies. The bundle is later loaded asynchronously on demand. This way don't saves only bandwidth, but you also reduce the time for parsing and evaluating your code during the initial page load.</p><p>This technique is especially handy for loading interaction-heavy components or animations.</p><h3 id="externalize-and-lazy-load-all-svgs">Externalize and lazy-load all SVGs <a class="markdownit-header-anchor" href="#externalize-and-lazy-load-all-svgs">🔗</a></h3><p>Loading external SVG icons while maintaining the flexibility of the format is <a href="https://css-tricks.com/using-svg/">tricky</a>. After all, the only reliable method is to inline them directly into HTML. As you would expect, this can get quickly out of hand, and either your JS bundle or HTML size grows with every new icon.</p><p>What if we stored the SVGs externally and injected them later with a script? Well, that's precisely what the <a href="https://www.npmjs.com/package/external-svg-loader">external-svg-loader</a> library does and what we're using in our reusable icon component.</p><p>All icons are now stored on CDN and lazy-loaded when needed. Most of them are also cached locally, so they don't even have to be downloaded most of the time.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-21.23.09.png" class="kg-image" alt loading="lazy" width="2000" height="776" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-06-at-21.23.09.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-06-at-21.23.09.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-06-at-21.23.09.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-06-at-21.23.09.png 2210w" sizes="(min-width: 720px) 720px"></figure><h3 id="optimize-all-images">Optimize all images <a class="markdownit-header-anchor" href="#optimize-all-images">🔗</a></h3><p>Image optimization would make for another whole article by itself, as there are simply too many things you can do. However, you can reach for the low-hanging fruit by setting some default configuration for all images and optimizing from there.</p><p>Make sure to try out the <a href="https://image.nuxtjs.org">NuxtImage</a> module. It has plenty of options and even an integrated library for image optimization during build time.</p><p>We like to store all images on our website externally for easier management as close as possible to the actual content. We use <a href="https://directus.io">Directus CMS</a>, which includes its own asset management with integrated image optimizations, but any other CMS should work similarly.</p><p>Using custom providers, we can simply plug in the Directus image optimization options into the nuxt-image module. A simplified code for the provider looks like the following:</p><pre><code class="language-ts">export function getImage(src, {}, { options}) {

const { transform } = options;

const query = '?key=quality-90&amp;format=webp';

return {

  url: withoutTrailingSlash(joinURL(fileUrl(src), query))

};

}
</code></pre><p>You need to register the provider in your <code>nuxt.config.js</code>:</p><pre><code class="language-js">image: {
  providers: {
    directus: {
      name: 'directus',
      provider: '~plugins/directus-image-provider' 
  }
}
</code></pre><p>Then, for every image in your codebase, simply use <code>&lt;nuxt-image&gt;</code> instead of <code>&lt;img&gt;</code>.</p><p>A considerable advantage of this approach is that you can quickly apply it globally.</p><p>TIP: Make sure to check all module options, as it allows you to specify different image sizes on different screens easily and further improve performance on mobile.</p><h3 id="delay-nuxtjs-hydration">Delay Nuxt.js hydration <a class="markdownit-header-anchor" href="#delay-nuxtjs-hydration">🔗</a></h3><p>To understand this optimization, it's important to know how the Nuxt.js page lifecycle works.</p><p>In statically generated mode, a fully rendered static HTML page is returned.<br>During the initial phase, Nuxt.js attaches itself to the DOM and hydrates the static page with javascript making it fully interactive. (For more info, see the <a href="https://nuxtjs.org/docs/concepts/nuxt-lifecycle">Nuxt lifecycle diagram</a>).</p><p>Thanks to this approach, you can disable JavaScript, and the page will still load all of its pre-rendered content.</p><p>The <a href="https://www.npmjs.com/package/nuxt-delay-hydration">@nuxt/delay-hydration</a> module takes advantage of this concept and delays this process after the page loads and sits idle. This drastically reduces your page blocking time and offloads the unnecessary scripts for later when needed.</p><p>The module is highly configurable and works in various modes, where you can delay everything, only non-critical code, or allows you to pick portions of your page manually.</p><h2 id="the-result">💯 The Result <a class="markdownit-header-anchor" href="#the-result">🔗</a></h2><p>After deploying all these changes on our website, the PageSpeed score jumped from <strong>23</strong> to <strong>97</strong>. To ensure that the numbers won't drop over time, I'd recommend setting up the <a href="https://unlighthouse.dev">https://unlighthouse.dev</a> checks for your CI/CD.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-03-at-18.32.22.png" class="kg-image" alt loading="lazy" width="2000" height="1495" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/Screenshot-2022-07-03-at-18.32.22.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/Screenshot-2022-07-03-at-18.32.22.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/Screenshot-2022-07-03-at-18.32.22.png 1600w, https://ghost.localazy.com/content/images/2022/07/Screenshot-2022-07-03-at-18.32.22.png 2012w" sizes="(min-width: 720px) 720px"></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Note that this is not an exhaustive list of options. Some steps might be more effective than what's listed here, depending on your context. Make sure to check the <a href="https://googlechrome.github.io/lighthouse/scorecalc/">Lighthouse Score calculator</a> to identify what parameters have the most significant impact on your score and what areas you should focus on.</p><p>Do you know some other tricks and tips to improve the PageSpeed scores with Nuxt.js? Share your thoughts in the comments!</p><h2 id="do-you-love-nuxt">🙌 Do you love Nuxt? <a class="markdownit-header-anchor" href="#do-you-love-nuxt">🔗</a></h2><p>Use the coupon "<strong>lovenuxt</strong>" during your Localazy plan checkout and get a 25% discount on your purchase.</p><p>Discount applies to the <a href="https://localazy.com/tiers/professional">Professional</a> plan. Enjoy!</p>]]></content:encoded>
            <author>Jan Bílek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/nuxt-pagespeed.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Introducing the Strapi localization plugin by Localazy]]></title>
            <link>https://localazy.com/blog/how-to-strapi-localization-with-localazy</link>
            <guid isPermaLink="false">how-to-strapi-localization-with-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:23:32 GMT</pubDate>
            <description><![CDATA[Learn how to fully automate the localization of your Strapi project with the Strapi localization plugin by Localazy and feel the seamless experience of multilingual content management.]]></description>
            <content:encoded><![CDATA[<h2 id="what-is-strapi">🙋 What is Strapi? <a class="markdownit-header-anchor" href="#what-is-strapi">🔗</a></h2><p>Strapi is an open-source, headless CMS. </p><p>A headless CMS is a backend-only content management system (CMS) built from the ground up as a content repository that makes content accessible via an <a href="/dictionary/api">API</a> for display on any device. This way, Strapi enables content-rich experiences to be created, managed, and published to any digital product, channel, or device. </p><p>Just like <a href="/">Localazy</a>, Strapi can save developers a lot of time while giving them the freedom to use their favorite tools and frameworks.</p><p><strong>The main benefits of Strapi include:</strong></p><ul><li>⏲️ Shorter time-to-deploy</li><li>🌎 Omnichannel content distribution and centralized content management for any platform and device</li><li>🔗 Unparalleled customization and universal API-first connectivity</li><li>🤸 User-friendly interface for content editors</li><li>🚩 <a href="/dictionary/internationalization">Internationalization</a> support </li></ul><h2 id="why-use-strapi-headless-cms">🤔 Why use Strapi headless CMS? <a class="markdownit-header-anchor" href="#why-use-strapi-headless-cms">🔗</a></h2><p>As a developer, you can benefit from Strapi's multi-database support, use <a href="/dictionary/javascript">JavaScript</a> for the front and back end, auto-generate documentation with a one-click integration, and manage authentication and permissions granularly.</p><p>As a publisher, you will fall in love with its intuitive UI. You will also like the minimalistic editor, powerful media library, and flexible content management with built-in SEO tools.</p><p>Strapi also allows you to connect your preferred solutions from third-party providers thanks to its growing marketplace of plugins, including the <a href="/features/strapi-localization-plugin">Strapi localization plugin</a> built by Localazy.</p><h2 id="getting-started-with-strapi-localization">🚀 Getting Started with Strapi Localization <a class="markdownit-header-anchor" href="#getting-started-with-strapi-localization">🔗</a></h2><p>Now, you can seamlessly upload your content to Localazy and translate it with <a href="/features/pre-translate">machine translations</a> or hire professionals on the Localazy platform to do it for you. </p><p>All you need to start is a Strapi website and a <a href="/register">Localazy account</a>.</p><blockquote>Learn <a href="https://docs.strapi.io/developer-docs/latest/getting-started/quick-start.html">How to set up your first Strapi website</a> in the quick start guide.</blockquote><h3 id="prerequisites">Prerequisites <a class="markdownit-header-anchor" href="#prerequisites">🔗</a></h3><p>Before using the plugin, you need to create a Localazy account. You can do that <a href="https://localazy.com/register">here</a>. </p><p>Also, ensure that the <a href="https://market.strapi.io/plugins/@strapi-plugin-i18n">Internationalization (i18n)</a> plugin is installed (it should not be a problem as it comes built-in since version 3.6.0). That's all you need from Localazy's side to use the plugin. You can create a new localization project while connecting your Localazy account to Strapi. </p><p>Another requirement is some content to translate (obviously). So in Strapi, I prepared some Collection Types - namely <em>Book</em> and <em>Restaurant </em>for demonstration purposes of this tutorial. </p><p>To show you that <a href="https://market.strapi.io/plugins/@localazy-strapi-plugin">The Official Strapi Plugin by Localazy</a> can also deal with more complicated content structures, I created a couple of components (including repeatable ones) - <em>Food</em>, <em>Ingredients</em>, and <em>Recipe,</em> to name a few. These components are used within Collection Types.</p><p>The Content Types structure is demonstrated in the image below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/strapi-collections.gif" class="kg-image" alt loading="lazy" width="1135" height="755"><figcaption>Strapi Content Types</figcaption></figure><p>With the Content Types defined above, I created some content samples—a couple of <em>books</em> and <em>restaurants,</em> as shown in the image below.</p><p>Let me briefly describe the <em>restaurant </em>content type. It consists of:</p><ul><li><em>title</em></li><li><em>description</em></li><li><em>recipes</em> that a restaurant cooks - repeatable component</li><li>each <em>recipe</em> has a <em>name</em> and <em>ingredients</em> - again, repeatable component</li><li>an <em>ingredient has a name</em> and <em>pcs</em> and a flag whether it's <em>required</em> in a recipe - not all of the fields are texts</li><li>a <em>restaurant</em> has an address consisting of <em>street</em>, <em>city,</em> and <em>country</em></li><li>there's also another component (not repeatable) various <em>descriptions</em>, <em>history</em> of a restaurant, and <em>excerpt</em></li></ul><p>Now that you can visualize our restaurant, I can mention that I have already prepared a few of them. Besides, I also created a couple of books, as shown below. Let's now use the Localazy plugin to translate the content.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/strapi-content.gif" class="kg-image" alt loading="lazy" width="1135" height="755"><figcaption>Strapi Sample Content</figcaption></figure><h3 id="logging-in-and-account-overview">Logging in and account overview <a class="markdownit-header-anchor" href="#logging-in-and-account-overview">🔗</a></h3><p>Navigate to the plugin screen by clicking on a flag icon in the left sidebar. In case you're not already logged in, you should see a screen similar to the one below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/Screenshot-2022-06-24-at-14.30.38.png" class="kg-image" alt loading="lazy" width="2000" height="1381" srcset="https://ghost.localazy.com/content/images/size/w600/2022/06/Screenshot-2022-06-24-at-14.30.38.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/06/Screenshot-2022-06-24-at-14.30.38.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/06/Screenshot-2022-06-24-at-14.30.38.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/06/Screenshot-2022-06-24-at-14.30.38.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Log in with Localazy</figcaption></figure><p>Click the <em>Login with Localazy</em> button. Log in and either select one of your existing projects to connect to or create a new one in the <em>Create New Project</em> tab.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/Screenshot-2022-06-27-at-11.34.20.png" class="kg-image" alt loading="lazy" width="2000" height="1598" srcset="https://ghost.localazy.com/content/images/size/w600/2022/06/Screenshot-2022-06-27-at-11.34.20.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/06/Screenshot-2022-06-27-at-11.34.20.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/06/Screenshot-2022-06-27-at-11.34.20.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/06/Screenshot-2022-06-27-at-11.34.20.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Select Project / Create New Project</figcaption></figure><p>Click <em>Authorize</em>. The procedure should finish with a success screen informing you that you can switch back to Strapi. The authorization process also automatically recognizes the default language of your Strapi project; therefore, when creating a new project in Localazy, we set it up for you with the correct source language.</p><p>Alright, let's do a quick walkthrough before processing our content. Navigate to the <em>Overview </em>screen. There are a couple of useful bits of information displayed. You can see the name of the connected user and project. There are also the number of remaining keys in the organization the project belongs to.</p><blockquote>Note, that if you use up all of the keys, you won't be able to download translations to Strapi. <a href="https://localazy.com/faq/pricing/what-are-source-keys">Learn more about the source key limits</a>.</blockquote><p>Finally, by clicking on the link, you can navigate directly to the project in Localazy.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/Screenshot-2022-06-24-at-14.31.00.png" class="kg-image" alt loading="lazy" width="2000" height="1381" srcset="https://ghost.localazy.com/content/images/size/w600/2022/06/Screenshot-2022-06-24-at-14.31.00.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/06/Screenshot-2022-06-24-at-14.31.00.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/06/Screenshot-2022-06-24-at-14.31.00.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/06/Screenshot-2022-06-24-at-14.31.00.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Connected Account Overview</figcaption></figure><p>One more important thing to mention before uploading/downloading content is the Content Transfer Setup.</p><h3 id="content-transfer-setup">Content Transfer Setup <a class="markdownit-header-anchor" href="#content-transfer-setup">🔗</a></h3><p>Content Transfer Setup works as a selector of parts of your Strapi project marked for upload &amp; download to/from Localazy. See the screen below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/Screenshot-2022-06-24-at-15.02.47.png" class="kg-image" alt loading="lazy" width="2000" height="1829" srcset="https://ghost.localazy.com/content/images/size/w600/2022/06/Screenshot-2022-06-24-at-15.02.47.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/06/Screenshot-2022-06-24-at-15.02.47.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/06/Screenshot-2022-06-24-at-15.02.47.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/06/Screenshot-2022-06-24-at-15.02.47.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Content Transfer Setup</figcaption></figure><p>If you want to disable a whole collection from transferring, toggle the switch on the right side of the collection's name. This way, you can keep your collection transfer setup intact for when you decide to transfer the collection later, so you don't have to click on the fields repeatedly.</p><p>Some of the fields are disabled. This is due to the fact that the field is not a text. For instance, a field named <em>Pages</em> in the <em>Books</em> collection is a <em>number</em> and therefore can't be translated. Similar applies, e.g., for relations.</p><p>Every time you update your collection type (add, update, delete the whole collection or a field), you need to check your Content Transfer Setup and update it according to the collection types. Otherwise, the plugin won't be able to determine whether you'd like to transfer the field or not, and consequently, it won't let you proceed with upload or download.</p><p>Now that we know how to set up our content transfer let's upload the content to Localazy. 🎉</p><h3 id="upload-to-localazy">Upload to Localazy <a class="markdownit-header-anchor" href="#upload-to-localazy">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/06/image-2.png" class="kg-image" alt loading="lazy" width="281" height="150"></figure><p>This part of a plugin serves for uploading the content from your Strapi project to Localazy. On the <em>Upload to Localazy</em> screen, there's information about the Default Strapi language and Localazy Source language. As noted above, these have to be compatible (in the means of their ISO codes) to proceed.</p><blockquote>Strapi uses <code>-</code> in locale variants. Eventhough Localazy uses e.g., <code>en_US</code>, it's not a problem as the plugin automatically transforms between the code variants.</blockquote><p>It's also impossible to process uploads when the Content Types Model changes (also mentioned in the previous section).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/Screenshot-2022-06-24-at-15.06.08.png" class="kg-image" alt loading="lazy" width="2000" height="887" srcset="https://ghost.localazy.com/content/images/size/w600/2022/06/Screenshot-2022-06-24-at-15.06.08.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/06/Screenshot-2022-06-24-at-15.06.08.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/06/Screenshot-2022-06-24-at-15.06.08.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/06/Screenshot-2022-06-24-at-15.06.08.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Upload to Localazy | upload disabled</figcaption></figure><p>You can click the <em>Start upload</em> button when everything is set up correctly. Let the plugin quickly process the upload, and at the end, you should see a report similar to the one below:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/Screenshot-2022-06-24-at-15.04.30.png" class="kg-image" alt loading="lazy" width="2000" height="1327" srcset="https://ghost.localazy.com/content/images/size/w600/2022/06/Screenshot-2022-06-24-at-15.04.30.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/06/Screenshot-2022-06-24-at-15.04.30.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/06/Screenshot-2022-06-24-at-15.04.30.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/06/Screenshot-2022-06-24-at-15.04.30.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Upload to Localazy | update completed</figcaption></figure><p>Besides the general information noting that the upload was successful, the plugin also informs you about collections that were disabled for transfer.</p><h3 id="translate-the-content-in-localazy">Translate the content in Localazy <a class="markdownit-header-anchor" href="#translate-the-content-in-localazy">🔗</a></h3><p>Now, add a couple of languages and translate your content.</p><p>Localazy offers three approaches to choose from and blend to translate your project:</p><ol><li>💪🏻 <strong>Translate on your own or invite contributors - </strong>You can <a href="https://localazy.com/docs/general/translating-strings">start translating on your own</a> and use our built-in suggestion system. </li><li>🦾 <strong>Translate everything in bulk via machine translation - </strong>With the Localazy <a href="https://localazy.com/tiers/autopilot">Autopilot plan</a>, you can instantly translate all strings by <a href="https://localazy.com/docs/general/additional-mt-engines#mt-pre-translate">running a machine translation over the content</a>. This is great for the first iteration and localization testing of your Strapi website.</li><li>🚩 <strong>Fully automate the translation process with the <a href="https://localazy.com/features/continuous-localization-team">Continuous Localization</a> services</strong> - Once your Localazy integration is set up, you can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to check the progress.</li></ol><p>I decided to apply the <a href="/features/pre-translate">machine pre-translate</a> on my strings, so everything was quick and easy for the first round of translations.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/strapi-localize.gif" class="kg-image" alt loading="lazy" width="1006" height="785"><figcaption>Translate Content in Localazy</figcaption></figure><h3 id="download-to-strapi">Download to Strapi <a class="markdownit-header-anchor" href="#download-to-strapi">🔗</a></h3><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/06/image-3.png" class="kg-image" alt loading="lazy" width="281" height="150"></figure><p>You can now download the content translated in Localazy to your Strapi project. </p><blockquote>Again, download is not enabled in case of Content Types Model changes or incompatible languages (as seen on the screenshot below).</blockquote><p>Click the <em>Start download</em> button. Let the plugin fetch your fresh translations and check the download report. It informs you about various actions that happened during the download process, such as:</p><ul><li>Overall download result,</li><li>created locale,</li><li>not supported locale,</li><li>created entry in a certain language,</li><li>updated entry in a certain language.</li></ul><blockquote>Not all languages supported by Localazy are supported by Strapi. Have in mind that downloading unsupported locale to Strapi will result in a warning. Supported languages will still be downloaded.</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/Screenshot-2022-06-24-at-15.27.07.png" class="kg-image" alt loading="lazy" width="2000" height="1070" srcset="https://ghost.localazy.com/content/images/size/w600/2022/06/Screenshot-2022-06-24-at-15.27.07.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/06/Screenshot-2022-06-24-at-15.27.07.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/06/Screenshot-2022-06-24-at-15.27.07.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/06/Screenshot-2022-06-24-at-15.27.07.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Download to Strapi | download completed | updates</figcaption></figure><h3 id="browsing-the-translated-content">Browsing the translated content <a class="markdownit-header-anchor" href="#browsing-the-translated-content">🔗</a></h3><p>Great! Now it's time for the last step - seeing the translated content. Click on the content manager to see collections. You might need to refresh the page to load newly created locales.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/06/Screenshot-2022-06-24-at-15.31.47.png" class="kg-image" alt loading="lazy" width="2000" height="1070" srcset="https://ghost.localazy.com/content/images/size/w600/2022/06/Screenshot-2022-06-24-at-15.31.47.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/06/Screenshot-2022-06-24-at-15.31.47.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/06/Screenshot-2022-06-24-at-15.31.47.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/06/Screenshot-2022-06-24-at-15.31.47.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Click on an item to see its detail. Only the fields (and subfields of collections) set for transfer in Content Transfer Setup were localized. Below is an example of the original English page and the Czech version after downloading translations from Localazy.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/Screenshot-2022-06-24-at-15.33.04.png" class="kg-image" alt loading="lazy" width="2000" height="2423" srcset="https://ghost.localazy.com/content/images/size/w600/2022/06/Screenshot-2022-06-24-at-15.33.04.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/06/Screenshot-2022-06-24-at-15.33.04.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/06/Screenshot-2022-06-24-at-15.33.04.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/06/Screenshot-2022-06-24-at-15.33.04.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Translated Content detail in English</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/Screenshot-2022-06-24-at-15.33.12.png" class="kg-image" alt loading="lazy" width="2000" height="2423" srcset="https://ghost.localazy.com/content/images/size/w600/2022/06/Screenshot-2022-06-24-at-15.33.12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/06/Screenshot-2022-06-24-at-15.33.12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/06/Screenshot-2022-06-24-at-15.33.12.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/06/Screenshot-2022-06-24-at-15.33.12.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Translated Content detail in Czech</figcaption></figure><h2 id="you-might-be-asking">☝️ You might be asking: <a class="markdownit-header-anchor" href="#you-might-be-asking">🔗</a></h2><h3 id="what-about-my-images">What about my images? <a class="markdownit-header-anchor" href="#what-about-my-images">🔗</a></h3><p>To create localized versions of your images, you can use the <a href="/features/figma-localization-plugin">Localazy Figma plugin</a>. </p><p>The Figma plugin allows you to translate your website and UI designs in a similar fashion as the Strapi plugin. You can also use it to create localized versions of your product images, ad banners, and any other pictures with embedded texts that couldn't be extracted or handled by other internationalization techniques. </p><blockquote>Learn more about the <a href="/features/figma-localization-plugin">Localazy Figma plugin</a>.</blockquote><h3 id="what-about-the-drafting-system">What about the drafting system? <a class="markdownit-header-anchor" href="#what-about-the-drafting-system">🔗</a></h3><p>If a source language content item is in <em>Draft</em>, the localized item will also stay in <em>Draft</em>. In case the item is <em>Published</em>, the localized item will be <em>Published,</em> <strong>but</strong> <strong>only</strong> if all of the fields set for translation are translated. Otherwise, it will stay in <em>Draft</em>.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We hope you liked this article showing the power of the Strapi localization plugin by Localazy. We believe that anything that can be automated should be automated, and localization is one of those things.</p><p>Feel free to contact us at <a href="mailto:team@localazy.com" rel="noopener noreferrer">team@localazy.com</a> or leave a comment below if you have any questions regarding this tutorial, the plugin, or Localazy in general. </p><p>If you are a developer using Strapi, you can also <a href="https://discord.gg/CAVhHrh" rel="noopener noreferrer">join the Localazy Discord</a> to see what other developers using Localazy are up to or <a href="https://github.com/Localazy-Community" rel="noopener noreferrer">accept our invitation to the Localazy Community on GitHub</a>, where you will find more community-sourced assets for your projects you can contribute to. Looking forward to meeting you there!</p>]]></content:encoded>
            <author>David Václavek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Strapi-Intro--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: reducing stress and improving focus with transcendental meditation]]></title>
            <link>https://localazy.com/blog/interview-transcendental-meditation-technique</link>
            <guid isPermaLink="false">interview-transcendental-meditation-technique</guid>
            <pubDate>Fri, 09 Dec 2022 15:13:51 GMT</pubDate>
            <description><![CDATA["What we really like about Localazy is it gives our content teams total control over content. It also makes it a lot easier to maintain consistency across languages" says Joseph, the Marketing Director at Transcendental Meditation Canada. ]]></description>
            <content:encoded><![CDATA[<p>Meditation has increasingly become a leading practice to deal with the multiple challenges of modern life. Since the emergence of related disciplines like mindfulness, mantra meditations, and yoga, <a href="https://time.com/4246928/meditation-history-buddhism/">the West has embraced</a> this millenary oriental practice that helps us focus our attention on the present moment. </p><p>One of the first techniques to capture the westerners' interest in this discipline <a href="https://time.com/vault/issue/1975-10-13/page/89/">during the 1970s</a> was transcendental meditation. TM was created in the late 50s in India and was first taught in Europe and the US by <a href="https://www.youtube.com/watch?v=xiytlaGt1A8">Maharishi Majesh Yogi</a>. </p><p>Decades later, it's safe to say that meditation has gone mainstream. And technology has naturally embraced it. You don't have to travel anymore to learn it from the masters in the East, as there are many courses and apps available worldwide. </p><p>In this interview, we talk to <strong>Joseph Gelfand, Marketing Director at </strong><a href="https://ca.tm.org/en"><strong>Transcendental Meditation Canada</strong></a>, who explains the ins and outs of this type of practice and tells us why they chose Localazy to localize their content.</p><h2 id="the-technique">🧘‍♂‍ The Technique <a class="markdownit-header-anchor" href="#the-technique">🔗</a></h2><p><strong>Hi, Joseph! Thank you for joining us. So, what is transcendental meditation all about?</strong></p><p>It's a meditation technique that helps you get deep rest, be more present and in the flow, expand your creativity and reduce stress. </p><p>Transcendental meditation is unique in that it's endogenous — a fancy word for “that which comes from within itself.” The fundamental principles of TM are founded in the very nature of the mind, body, and spirit. When something is endogenous, it is both natural and self-regulating. And when something is natural and self-regulating, the benefits are holistic.</p><p><strong>Just curious - how did you end up practicing TM?</strong></p><p>My dad was a transcendental meditation teacher so I learned when I was just a kid, and I’ve been doing it pretty consistently ever since.</p><!--kg-card-begin: markdown--><blockquote>
<p>&quot;It helps you get deep rest, be more present and in the flow, expand your creativity and reduce stress&quot;</p>
</blockquote>
<!--kg-card-end: markdown--><p><strong>That's fascinating! But aside from personal experiences, there’s also a lot of research around meditation. What are the physical and mental benefits of this specific type of technique?</strong></p><p>There are hundreds of <a href="https://journals.sagepub.com/doi/10.1177/0033294119828036">studies on the benefits</a> of transcendental meditation that have been conducted at more than 200 independent universities and research institutions and published in peer-reviewed medical and scientific journals.</p><p>Some of the benefits include:</p><ul><li>Reduced stress and anxiety.</li><li>Improved brain functioning.</li><li>Improved cardiovascular health, including lowering blood pressure.</li><li>And improvements in sleep and help with insomnia.</li></ul><p><strong>What does your audience look like?</strong></p><p>We want to help people reach their full potential and live life to the fullest, so TM is fit for everyone. As the Canadian branch of the TM organization, we offer courses to people across Canada from all different backgrounds and walks of life. However, TM is taught across the globe. In fact, over the past 50 years, transcendental meditation has been taught to millions of people. </p><h2 id="how-it-works">🧠 How It Works <a class="markdownit-header-anchor" href="#how-it-works">🔗</a></h2><p><strong>You use a one-to-one instruction method. How does it work?</strong></p><p>The learning process starts with a Certified TM teacher in a course over four consecutive days. The course starts with personal instruction in transcendental meditation through the classic TM instruction experience. Following your personal instruction, you’ll join three days of small group sessions for interactive lessons based on your new experiences.</p><p><strong>What makes this technique different than others? What is the difference between TM and mindfulness, for instance?</strong></p><p>There are a lot of differences between transcendental meditation and other techniques. But the big difference is that TM gives you the experience of transcending — a deep state of restfulness beyond the boundaries of thinking and focus. It’s this experience of transcending that expands your mind, improves your overall wellbeing, and helps you see things with a new perspective.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/Eh_-0ItF1I4" title="How to Learn Transcendental Meditation" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>And with TM, you learn how to naturally access this state of transcending without focus or concentration. It's truly effortless. </p><h2 id="the-future-of-meditation">🙏 The Future of Meditation <a class="markdownit-header-anchor" href="#the-future-of-meditation">🔗</a></h2><p><strong>Meditation has boomed during the last few years. Do you think that technology is the main “culprit”?</strong></p><p>The popularity of meditation apps has definitely helped increase awareness of meditation, along with helping people to appreciate its value. But transcendental meditation is taught in person by a certified teacher. So its availability or access isn’t connected to the boom in meditation apps.</p><p><strong>What does success look like for your company? What's your current runway?</strong></p><p>Our goal is to offer the TM course to more people and to support the lifelong meditation practice of those who learn. We're a non-profit organization, so we don't really operate on those terms. The organization is supported by the fees from the courses, and that's it!</p><p><strong>What would you say is your biggest business challenge then?</strong></p><p>Communicating the unique value of transcendental meditation compared to other self-development practices.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/05/pexels-savanna-goldring-5184327.jpg" class="kg-image" alt loading="lazy" width="2000" height="1311" srcset="https://ghost.localazy.com/content/images/size/w600/2022/05/pexels-savanna-goldring-5184327.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2022/05/pexels-savanna-goldring-5184327.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/05/pexels-savanna-goldring-5184327.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/05/pexels-savanna-goldring-5184327.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p><strong>What do you think – what will your industry look like about 10 years from now?</strong></p><p>I believe that meditation will continue to become more and more present in our culture as more people prioritize self-care and personal and inner development.</p><h2 id="lessbrgreater-implementing-localazy"><br>🚩 Implementing Localazy <a class="markdownit-header-anchor" href="#lessbrgreater-implementing-localazy">🔗</a></h2><p><strong>So, what's next for TM Canada?</strong></p><p>We're in the process of developing a new website to promote TM, and that's where Localazy comes in. We're using Localazy to ensure our site is fully-bilingual so that we can best serve English and French Canada.</p><p><strong>What are your favorite Localazy features?</strong></p><p>What we really like about Localazy is it gives our content teams total control over content. The dev team doesn’t have to be involved in basic content changes.</p><p>We also really like being able to see English and French content side by side, making it a lot easier to maintain a consistent message across languages. </p><blockquote><strong>Learn the 12 reasons why <a href="/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">Localazy is the best tool for translation management</a>.</strong></blockquote><p><strong>Would you like to highlight other services or products you really like to use on your own?</strong></p><p>We use Localazy, Google Analytics, GitHub, and Slack.</p><p><strong>Is there something else you would like to say?</strong></p><p>If you’re interested in learning more about transcendental meditation, how it’s different from other meditations, and how you can learn, you can explore our website: https://ca.tm.org/</p><p><strong>We wish the TM team the best on their spiritual adventure. Learn about their history <a href="https://ca.tm.org/en/about">here</a> and find more about their courses <a href="https://ca.tm.org/en/learning">here</a>!</strong></p><hr><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/InterviewTM-Localazy.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 10 Vue.js Resources For Your Project 🚀]]></title>
            <link>https://localazy.com/blog/top-10-vuejs-resources-for-your-project</link>
            <guid isPermaLink="false">top-10-vuejs-resources-for-your-project</guid>
            <pubDate>Thu, 12 Jun 2025 12:23:00 GMT</pubDate>
            <description><![CDATA[Vue.js is an increasingly popular, open-source, front-end JavaScript framework for creating web user interfaces. It is also one of the key components in the tech stack of Localazy developers, so our front-end team prepared a list of their favorite resources for your next Vue project. ]]></description>
            <content:encoded><![CDATA[<blockquote><a href="/dictionary/vuejs">What is Vue.js?</a></blockquote><h2 id="kazupon-and-vue-i18n-for-internationalization">🌐 Kazupon and vue-i18n for internationalization <a class="markdownit-header-anchor" href="#kazupon-and-vue-i18n-for-internationalization">🔗</a></h2><p><a href="https://github.com/kazupon">Kazupon</a> is a well-known developer at Vue.js. He is also the creator of <a href="https://intlify.dev">Intlify</a>, known for its contribution to the software internationalization space, which has created an internationalization plugin for Vue.js known as <a href="https://kazupon.github.io/vue-i18n/">Vue I18n</a>. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/05/image-13.png" class="kg-image" alt loading="lazy" width="256" height="224"><figcaption>vue-i18n</figcaption></figure><p>🔌 The plugin integrates with your Vue.js application, and it aids in the process of <a href="/dictionary/internationalization">internationalization</a> through several helpful features that help such as translation, datetime format, number format, translation, pluralization, etc. 🎌</p><h2 id="vue-storefront-for-e-commerce-projects">🛒 Vue Storefront for e-commerce projects <a class="markdownit-header-anchor" href="#vue-storefront-for-e-commerce-projects">🔗</a></h2><p>Created as an open-source e-commerce frontend framework based on Nuxt.js (more on it below), Vue Storefront integrates with any e-commerce backend APIs and builds on top of your headless <a href="https://localazy.com/blog/top-10-multilingual-content-management-systems#:~:text=%F0%9F%93%8B%20The%20list%20of%20Top%2010%20multilingual%20CMS%20%F0%9F%94%97">content management system (CMS)</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/06/image-14.png" class="kg-image" alt loading="lazy" width="433" height="225"><figcaption>Vue Storefront</figcaption></figure><p>Vue Storefront offers two ways of dealing with <a href="https://docs.alokai.com/v2/getting-started/internationalization.html">internationalization</a>: you can leverage modules from Nuxt.js, which are set by default, or disable them and complete the i18n process on your own. 👨‍💻</p><h2 id="nuxtjs-for-better-seo-rankings">📑 Nuxt.js for better SEO rankings <a class="markdownit-header-anchor" href="#nuxtjs-for-better-seo-rankings">🔗</a></h2><p>The main reason for internationalizing a website or app is to reach a wider audience. Localization and SEO go hand-in-hand to help you accomplish this.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/05/image-15.png" class="kg-image" alt loading="lazy" width="221" height="65"></figure><p>A JavaScript framework like <a href="https://i18n.nuxtjs.org/">Nuxt</a> has features like Server-Side Rendering (SSR) and Single Page Application (SPA), which assists in achieving better Google rankings. If you want to keep using Vue.js libraries and syntax for your applications and still be ranked well on Google, Nuxt is the go-to solution.🚀</p><h2 id="storybook-for-vue-to-build-great-uis">📐 Storybook for Vue to build great UIs <a class="markdownit-header-anchor" href="#storybook-for-vue-to-build-great-uis">🔗</a></h2><p>Developing your applications with <a href="https://storybook.js.org/docs/vue/get-started/introduction">Storybook</a> is fun and simple because you can work on isolated components. The best part about it is that it's built on JavaScript and works with Vue.js and other JavaScript frameworks. It's the ideal tool for building UIs without a sophisticated dev stack. 💻</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/05/image-16.png" class="kg-image" alt loading="lazy" width="200" height="40"></figure><h2 id="vue-awesome-swiper-for-better-slides">👆 Vue Awesome Swiper for better slides <a class="markdownit-header-anchor" href="#vue-awesome-swiper-for-better-slides">🔗</a></h2><p>If there's a feature that makes apps instantly more engaging, this is the use of slides. 🎇 Vue Awesome Swiper functions as a Vue component serving mobile touch slider Swiper to SPAs, and SSRs, for mobile and desktop. Unfortunately, the project was recently deprecated and replaced by the <a href="https://swiperjs.com/vue">Swiper Vue component</a>, officially provided by Swiper, that shares similar functionalities. 🤖</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/06/image-17.png" class="kg-image" alt loading="lazy" width="433" height="225"></figure><h2 id="vue-meta-for-metadata-management">🗂️ Vue Meta for metadata management <a class="markdownit-header-anchor" href="#vue-meta-for-metadata-management">🔗</a></h2><p>Working with metadata has its intricacies. That's why we suggest using <a href="https://vue-meta.nuxtjs.org/">Vue-meta</a> while working with your app's metadata. This is a Vue.js plugin that allows nested components to overwrite each other's values and grants you the capability to replace and add metadata as needed. 💾 It also makes defining meta tags in the header simpler and is used by Nuxt. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/05/image-18.png" class="kg-image" alt loading="lazy" width="225" height="225"></figure><h2 id="veevalidate-for-validating-forms">📝 VeeValidate for validating forms <a class="markdownit-header-anchor" href="#veevalidate-for-validating-forms">🔗</a></h2><p>Validating forms helps authenticate processes faster. Using <a href="https://vee-validate.logaretm.com/v4/">vee-validate</a>, you can validate the user's data inputs in a minimalistic and straightforward manner (e.g., checking the validity of emails, passwords, etc.). 🗃 The library works with most of your favorite UI components and native HTML elements. Moreover, the built-in rules are laid out in 45+ locales. 🚩</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/06/image-19.png" class="kg-image" alt loading="lazy" width="433" height="225"></figure><h2 id="vue-wait-to-manage-loading-states">⏲️ vue-wait to Manage Loading States <a class="markdownit-header-anchor" href="#vue-wait-to-manage-loading-states">🔗</a></h2><p>When you have to deal with the management of different loading states, <a href="https://github.com/f/vue-wait">vue-wait</a> can help avoid conflicts. 🛠 The tool is ideal for switching on and off between loading states and displaying loading indicators. The concept upon which it's built is based on the management of an array that contains several loading states. 🔁</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/06/image-20.png" class="kg-image" alt loading="lazy" width="433" height="225"></figure><h2 id="localazy-for-localization">🚩 Localazy for Localization <a class="markdownit-header-anchor" href="#localazy-for-localization">🔗</a></h2><p>Localazy is an online localization suite and a translation management system built with developers in mind. There are countless ways to integrate Localazy into your workflow and enjoy completely automated translations. </p><p>🆙 <strong>Integrating your project with Localazy is pretty straightforward, and you can do it in five short steps: </strong></p><p>1. <a href="https://localazy.com/register">Create an account</a> on Localazy. 🚀</p><p>2. From the list of 50+ integrations, choose Vue.js, install Localazy <a href="https://localazy.com/docs/cli/installation">CLI</a>, and configure <a href="https://kazupon.github.io/vue-i18n/">vue-i18n</a>.👨‍💻</p><p>3. Copy and modify <a href="https://localazy.com/blog/how-to-localize-vuejs-app-with-vue-i18n-and-localazy#:~:text=Now%20it%E2%80%99s%20time%20to%20add%20integration%20with%20Localazy.%20Create%20localazy.json%20in%20the%20root%20folder%20and%20paste%20the%20following%20configuration">this configuration</a> into the <code>localazy.json</code> file in the root.</p><p>4. Create a <code>locales</code> folder with a JSON file based on the source language. E.g <code>en.json</code>. 📂</p><p>5. Run <code>localazy upload</code> in the CLI to upload your source file.</p><p>After you translate your strings to the desired languages, you can download the translations by running <code>localazy download</code>. 📂</p><p>Read "<a href="https://localazy.com/blog/how-to-localize-vuejs-app-with-vue-i18n-and-localazy">How to localize Vue.js app with vue-i18n and Localazy</a>" for a more thorough tutorial on the blog. </p><!--kg-card-begin: html--><iframe width="100%" height="540" src="https://www.youtube.com/embed/UymDt20nOIc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><h2 id="awesome-vue-for-everything-else">🤩 awesome-vue for Everything else! <a class="markdownit-header-anchor" href="#awesome-vue-for-everything-else">🔗</a></h2><p>awesome-vue is a curated list of awesome things related to Vue.js maintained by the community. The awesome Vue.js repository contains links to various resources, blog posts, tutorials, examples, and projects using Vue.js. You can also find awesome components &amp; libraries for your next project. Definitely check it out!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/06/image.png" class="kg-image" alt loading="lazy" width="214" height="150"></figure><p>You can find awesome-vue on GitHub:<br><a href="https://github.com/vuejs/awesome-vue">https://github.com/vuejs/awesome-vue</a></p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>What are your favorite resources and libraries for Vue.js? Is there anything you would add? Let us know in the comments!</p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/06/Best-Vue.js-tutorials---assets.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: AMITY, finding the right housing for Ukrainian refugees]]></title>
            <link>https://localazy.com/blog/interview-amity-finding-right-housing-ukrainian-refugees</link>
            <guid isPermaLink="false">interview-amity-finding-right-housing-ukrainian-refugees</guid>
            <pubDate>Fri, 09 Dec 2022 15:14:43 GMT</pubDate>
            <description><![CDATA["Communicating with people in their own language makes a huge difference," says Kim, the founder of AMITY, who helps find the right housing for Ukrainian refugees.]]></description>
            <content:encoded><![CDATA[<p>Millions of refugees have fled Ukraine since the Russian invasion started two months ago. Unfortunately, that is only the first step of an odyssey that will continue in the neighboring countries, where most of them will need urgent accommodation to be able to restart their lives. </p><p>Over 300,000 displaced Ukrainians have fled to the Czech Republic in recent weeks, where <a href="https://www.amity.ngo">AMITY</a>, an NGO founded by the realtor <strong>Kimberly Bianchini-Scudellari</strong>, has come in to provide housing to this vulnerable community. In this interview, we focus on this brilliant initiative and find out how Localazy helped AMITY in their efforts during these trying times.</p><h2 id="the-story">🕊️ The Story <a class="markdownit-header-anchor" href="#the-story">🔗</a></h2><p><strong>Hi, Kim! Thank you for your time. Let's rewind: how did it all start?</strong></p><p>It all started as spontaneous support my husband and I provided to a few families 👨‍👩‍👧, allowing them to use a couple of flats we had in Prague. Then, an overwhelming number of requests for housing followed. This made us realize how immense the need was and how limited the opportunities were. </p><p><strong>How so?</strong></p><p>Finding an apartment for rent in Prague is hard even for locals. Now, add to it the language barrier, the lack of legal understanding, the fact that most property owners require a one-year contract as the minimum standard, and that, in general, they find it easier to trust permanent residents. It makes it almost impossible for Ukrainian refugees to find a place to live. 💔</p><p>Facing the need, and owning a real estate company in Prague, my husband and I decided to offer all of our vacant flats, as well as secure other apartments through our contacts in the real estate market. Later on, we established AMITY as a not-for-profit organization to expand our capacity to support more families in need. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/04/20220319_134346.jpg" class="kg-image" alt loading="lazy" width="2000" height="2667" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/20220319_134346.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2022/04/20220319_134346.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/04/20220319_134346.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/04/20220319_134346.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p><strong>That's incredible. What made you feel compelled to help?</strong></p><p>When the war started, I felt the urge to support the many refugees that had arrived from Ukraine, like many other people in the Czech Republic. 🇺🇦 🤍 🇨🇿</p><p>As a mother of 5, I know how important stability and certainty are for kids. This motivated me even more to provide these kids with a safe place away from their homes. Besides, before diving into real estate, I worked as a nurse in the United States, where I come from. Supporting others feels good, and I believe it comes naturally to me.</p><p><strong>How difficult has it been to get people on board?</strong></p><p>It wasn’t difficult at all. You would not believe how people are keen to help. It is not just about getting people on board, but some of our volunteers commit a lot of time to AMITY every week. I feel very lucky to have such people around me.</p><h2 id="accommodating-people-in-need">🏘️ Accommodating People In Need <a class="markdownit-header-anchor" href="#accommodating-people-in-need">🔗</a></h2><p><strong>You’ve already accommodated dozens of refugees in flats in Prague. How has the process been? </strong></p><p>I find it hard to believe that we managed to inhabit almost 20 apartments in just a month. Once we get the apartment, which is a complex process by itself, we make a list of items based on the specific needs of every family, the number of kids, and the age of the kids. We then publish the list in various forums and collect whatever people donate: from the smallest item such as a vegetable peeler to a fridge or a washing machine. It takes days, even weeks, to collect all needed items, and sometimes we need to end up buying stuff. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/04/F7AC32FD-FEB1-431A-B5F6-B50DBCEA6B0C.JPG" class="kg-image" alt loading="lazy" width="2000" height="3556" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/F7AC32FD-FEB1-431A-B5F6-B50DBCEA6B0C.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2022/04/F7AC32FD-FEB1-431A-B5F6-B50DBCEA6B0C.JPG 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/04/F7AC32FD-FEB1-431A-B5F6-B50DBCEA6B0C.JPG 1600w, https://ghost.localazy.com/content/images/2022/04/F7AC32FD-FEB1-431A-B5F6-B50DBCEA6B0C.JPG 2160w" sizes="(min-width: 720px) 720px"></figure><p>When the families arrive, we hand them the apartment with food for the first two weeks to give them a nice start. Some people arrive after spending a week on the road. You should see their faces when they feel like at home again.</p><p><strong>Can you tell us a little about these people and their backgrounds?</strong></p><p>Most of our families are women with children, as men (in general) are not allowed to leave Ukraine at the moment. The youngest tenant we have is a two-month baby. Most school-age kids are studying online. 📚💻 Luckily, we got a batch of used laptops from one of our corporate donors for this purpose. </p><p>After the housing is sorted out, we are helping the families to settle in the Czech Republic in a way that enables them to be self-sufficient, including school placement, job placement, healthcare, and alike. All the apartments that we have secured can be offered at affordable rent once the families become self-sufficient.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/04/95b9b7fb-19b0-42d8-8944-e48e3e145e2a.JPG" class="kg-image" alt loading="lazy" width="1536" height="2048" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/95b9b7fb-19b0-42d8-8944-e48e3e145e2a.JPG 600w, https://ghost.localazy.com/content/images/size/w1000/2022/04/95b9b7fb-19b0-42d8-8944-e48e3e145e2a.JPG 1000w, https://ghost.localazy.com/content/images/2022/04/95b9b7fb-19b0-42d8-8944-e48e3e145e2a.JPG 1536w" sizes="(min-width: 720px) 720px"></figure><p><strong>One of your initiatives consists of sponsoring families’ rents. People with vacant properties can also donate their spaces to help. How’s the response been?</strong></p><p>It is the most challenging part, but we have managed quite well. I feel that my husband’s and my real-estate background is a big advantage in this aspect. </p><p>It is very hard to source new apartments, especially when the budget is limited. Like any other NGOs, we are dependent on the kindness of others. People are very generous and kind, but as the crisis continues, it is getting harder to find new resources. I truly hope that the situation will be resolved soon.</p><p><strong>Are you working on other initiatives at the moment?</strong></p><p>The disastrous situation in Ukraine takes all of our attention and focus at the moment, but in the future, I hope to see AMITY also supporting women and children that are in need of rebuilding their lives.</p><p>For now, success means that a refugee family is settled and self-sufficient. 🏠 🧑‍💼 This entails that at least one member of the family is employed to support the entire family, the kids are settled at school, they have secured housing that is no longer dependent on AMITY, etc.</p><h2 id="why-localazy">🚩 Why Localazy <a class="markdownit-header-anchor" href="#why-localazy">🔗</a></h2><p><strong>Is any technology helping you in the cause?</strong></p><p>At this point, just the basics of having a website and social accounts. As we grow, we will probably need to rely more on technology. </p><p><strong>What role did Localazy play for you, and how did the cooperation work?</strong></p><p>Localazy used its solution to translate our website for us and make it accessible for Czech and Ukrainian speakers. Localazy did it on a fully voluntary basis, and we already see the impact of it: donations coming from the Czech Republic.</p><p>Communicating with people in their own language makes a huge difference. Therefore <a href="/faq/localization/what-is-the-meaning-of-website-localization">localization of websites</a> and apps is crucial for businesses.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/04/2129310554-huge.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/2129310554-huge.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2022/04/2129310554-huge.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/04/2129310554-huge.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/04/2129310554-huge.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><h2 id="how-to-help">🆘 How To Help <a class="markdownit-header-anchor" href="#how-to-help">🔗</a></h2><p><strong>Do you have a team of volunteers?</strong></p><p>Our organization is based on volunteers, so 100% of what people donate to us goes to the people that need it. I’m a part of an international community that lives in Prague, and many of our volunteers are members of this community. </p><p>We’re using our network in the Czech Republic and abroad to raise donations. We also collect corporate donations in money, services, or goods. The support we got from you at Localazy is a good example of that.</p><p><strong>How can our readers help? </strong></p><p>They are many ways to support us:</p><ul><li>💼 If you are a business owner that is looking for employees, there are many Ukrainians that are <strong>looking for a job</strong> at the moment;</li><li>📦 If you are related to a corporation that is willing to contribute f<strong>ree services or goods</strong>, they may be useful for our families;</li><li>📝 Follow us <a href="https://www.instagram.com/amity.ngo/">on Instagram</a> to see <strong>lists of items that we need</strong> from time to time, and let us know if you have anything on the list to donate;</li><li>💰 <strong>Monetary donations</strong> are always helpful and are tax-deductible for both companies and individuals. You can visit <a href="https://www.amity.ngo/">our website</a> to learn more.</li></ul><p><strong>Many thanks, Kim, for your time and remarkable dedication. You said it better: "Helping others is in every one of us." </strong></p><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Would you like to share your own story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will gladly promote your initiative on our blog. 😉</p>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Interview-Amity-Localazy.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: IT Life Made Easier with au2mator]]></title>
            <link>https://localazy.com/blog/interview-it-life-easier-au2mator</link>
            <guid isPermaLink="false">interview-it-life-easier-au2mator</guid>
            <pubDate>Wed, 14 Dec 2022 23:00:36 GMT</pubDate>
            <description><![CDATA["Localazy is the easiest way I can imagine to bring our solution to people around the world." says Michael Seidl, the CEO at au2mator.]]></description>
            <content:encoded><![CDATA[<p><strong>IT teams all over the world can surely benefit from a little more time to offer the personalized attention only humans can provide. 🤝 That's why having a tool like <a href="https://au2mator.com">Au2mator</a> can go a long way for Support Departments.</strong></p><p><strong>Today we talk about automation, tech, and localization with </strong><a href="https://au2mator.com/about-au2mator/"><strong>Michael Seidl</strong></a><strong>, CEO of this Austrian Self Service Portal that defines and simplifies IT processes.</strong></p><h2 id="the-solution">💻 The Solution <a class="markdownit-header-anchor" href="#the-solution">🔗</a></h2><p><strong>Hi, Michael! Congratulations on your product. Can you tell us a little bit about it?</strong></p><p>Hello there! We are a Self Service Portal for Microsoft Automation. With au2mator, you can build forms and workflows, and trigger <a href="https://au2mator.com/powershell/">PowerShell</a>, <a href="https://au2mator.com/orchestrator/">Orchestrator</a>, <a href="https://au2mator.com/documentation/how-to-configure-sma-runbooks/">SMA</a>, or <a href="https://au2mator.com/AzureAutomation/">Azure Automation</a> Runbooks. In other words: the portal allows IT teams to save time ⏳ and increase their quality in workflows and standards by automating different processes 🚀. Then, they can publish them to their users for Self Service.</p><p><strong>So I assume your clients are very busy IT departments?</strong></p><p><a href="https://au2mator.com/references/">Our clients</a> are worldwide companies starting with 250+ employees. We aim to make their work routines much easier.</p><p><strong>How does your product improve workflows?</strong></p><p>What we provide is a frontend to trigger and delegate automation made with Microsoft Products. There are awesome products from Microsoft to build your automation, but the next step is to delegate that automation to your clients/users or customers so they can trigger it as they need without any interaction of the IT department. We fill that gap.</p><p>For instance, imagine a form 📃 where your HR Department can fill in all information about a new employee. Automation will create all needed IT resources automatically, freeing the staff from doing so. This works for many user on- or offboarding actions, Helpdesk tasks, and access requests.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/dpzWKYijU1w" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p><strong>Awesome! Automation has lots of benefits for IT professionals, I see.</strong></p><p>Indeed. Simple and complex tasks can be delegated to secure their environment. Every task is executed the same way, no matter who triggered it, and each step of the process is documented. It allows IT teams to concentrate and focus 💡 on evolving their IT instead of spending time on daily, recurring tasks. Some customers weren't aware that it could be so easy to solve problems they had been facing for so many years with such a simple piece of software. It's a real life-saver!</p><p><strong>Totally agree; the motivation to help others focus on important things via automation is pretty similar in both au2mator and Localazy 😊</strong></p><h2 id="talking-business">🔎 Talking Business <a class="markdownit-header-anchor" href="#talking-business">🔗</a></h2><p><strong>What has your personal business journey looked like? What is your academic background, and how did you end up developing IT solutions?</strong></p><p>This is maybe an uncomfortable truth, but I haven't any. I just did what was necessary to finish school and started working as an IT consultant from my first day. I had a passion for automation in business and personal life. And someday in 2015, the idea was born to start au2mator, as we wanted to create a solution to fill a gap our customers asked for.</p><p><strong>Do you think the drive for entrepreneurship is something people are either born with or not, or is it something that can be taught?</strong></p><p>I think it's something you're born with. Then you decide if you want to act on it. Some people want to change something but find excuses not to do so. There are also many people who prefer to stay in a safe place (daily work, being an employee). That is absolutely fine and needed 👌, but others take that step and dive into entrepreneurship. It's a decision you have to make and follow, like every goal you set in your life.</p><p><strong>How has your business grown in the last 7 years? Would you do anything differently? </strong></p><p>Nothing. ﻿🙂  I wouldn’t be here where I am right now﻿ if I did. We cannot tell any detailed numbers, but every year has been the most successful year in history for us. We keep growing, which gives us the confirmation that we are just at the beginning of IT Process Automation.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/03/Header1.png" class="kg-image" alt loading="lazy" width="1590" height="926" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Header1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Header1.png 1000w, https://ghost.localazy.com/content/images/2022/03/Header1.png 1590w" sizes="(min-width: 720px) 720px"></figure><p><strong>Any future funding plans?</strong></p><p>au2mator was funded with savings, and we don't intend to modify our current runway. We are a healthy company and do not need any funding. Our goal is to grow each year 📈 and <a href="https://au2mator.com/events/">keep helping companies</a> around the world automate and delegate IT processes.</p><p><strong>That's impressive! But surely there are some risks and challenges...</strong></p><p>Of course. One of them is keeping track of new changes in a hybrid world, but that's exactly what drives us every day. au2mator started as a Frontend for Microsoft System Center Orchestrator. We have added PowerShell, SMA, and Azure Automation over the last years, but the next step is to provide a Cloud Online solution 💭 on top. Also, other Microsoft Automation Engines 🔗 are considered to be added to the product.</p><h2 id="incoming-challenges">🤖 Incoming Challenges <a class="markdownit-header-anchor" href="#incoming-challenges">🔗</a></h2><p><strong>What do you think – what will your industry look like in, let's say, 10 years from now?</strong></p><p>To be honest, I am not sure what's in store for us in 10 years. Hopefully, we'll have solved all IT process problems 🔧 that exist right now so we can take care of new challenges. If somebody had asked me that same question a decade ago, I definitely wouldn't have predicted I would be doing this right now. </p><p><strong>Do you think automation is going to dominate the future of businesses? </strong></p><p>Automation will definitely be a major topic in the next year or even decades. We all see the lack of professional staff, so we need to automate as much as possible. We've been talking about cloud computing for more than 10 years, and, in my opinion, it is now that we have adopted it at an acceptable rate. And I think we are at a point where many are starting to talk about automation, so there's a long way to go ⏩.</p><blockquote><strong>Learn why <a href="/blog/localazy-best-tool-translation-automation">Localazy is the best tool for localization automation</a>.</strong></blockquote><h2 id="why-localazy">✍️ Why Localazy? <a class="markdownit-header-anchor" href="#why-localazy">🔗</a></h2><p><strong>What is your motivation for localization, and why did you choose us?</strong></p><p>It is the easiest way I can imagine to bring our solution <a href="https://localazy.com/dictionary/internationalization">to people around the world</a>. Localazy has helped us add over 10 languages to our product already!</p><p><strong>Could you point out 3 favorite features of Localazy?</strong></p><ul><li>The <a href="https://localazy.com/integrations">easy integration</a> in our dev process.</li><li>The collaboration to translate phrases into different languages.</li><li>We get a <a href="/features/continuous-localization-team">professional translation</a> for an affordable price!</li></ul><p><strong>We are glad you like it! </strong></p><h2 id="resources-and-more">🧭 Resources & more <a class="markdownit-header-anchor" href="#resources-and-more">🔗</a></h2><p><strong>Thank you, Michael! </strong>👋<strong> Is there anything else you'd like to add?</strong></p><p>Yes! If your IT team needs a much-deserved break, take a look at our <a href="https://au2mator.com/pricing/">packages</a> or <a href="https://au2mator.pipedrive.com/scheduler/b0REJUOZ/book-a-meeting-hp">book a call</a> with us! You can also try au2mator at no cost by downloading our trial version ➡️ <a href="https://au2mator.com/freedownload/">here</a>.</p><p><strong>Great! And if you're in the IT sector and need some localization solutions for your business, don't forget you can <a href="https://localazy.com/contact">contact us</a> anytime. We'll be happy to help you!</strong></p><hr><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog, and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Interview-Au2mator.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Multilingual Figma prototyping with Localazy done quickly]]></title>
            <link>https://localazy.com/blog/multilingual-figma-prototyping-localazy-localization-plugin-done-quickly</link>
            <guid isPermaLink="false">multilingual-figma-prototyping-localazy-localization-plugin-done-quickly</guid>
            <pubDate>Thu, 16 Apr 2026 14:26:18 GMT</pubDate>
            <description><![CDATA[Figma has become one of the most widely used design tools out there. And for a good reason. It is a powerful instrument that solves collaboration issues unprecedently well.]]></description>
            <content:encoded><![CDATA[<p>Figma is a web-first collaborative vector graphics editor that offers all the necessary tools for the designers and the other team members who have something to say about the design in each phase, from the initial brainstorming through testing multilingual variants to final polishing.</p><h2 id="benefits-of-localazy-and-figma">🤝 Benefits of Localazy & Figma <a class="markdownit-header-anchor" href="#benefits-of-localazy-and-figma">🔗</a></h2><p>Here at Localazy, we use <a href="/dictionary/figma">Figma</a> extensively and absolutely love the product. It has helped us prepare better designs and style definitions, create interactive prototypes quickly through reusable components, and tackle potential usability challenges early. </p><p>We love the tool so much that it has become the first external tool we have built a <a href="/features/figma-localization-plugin">localization plugin for</a>. It was the most requested and now the most commonly used plugin within Localazy. Based on our users' experience, such a connection between the design and codebase through a translation provider platform has unlocked unreal possibilities they didn't know were even possible to achieve. </p><p><strong>Among the most praised benefits of using the Figma plugin are:</strong></p><ul><li>the definition of source keys and source values in Localazy (i.e., establishing a Single Source of Truth),</li><li>developers save time by not having to copy and invent source keys,</li><li>designers save time and keep existing designs up to date more easily by not having to apply content changes to the product manually.</li><li>content writers have direct control of individual language variants within Localazy and don't need to ask designers/developers to make updates.</li><li>... and more.</li></ul><h2 id="importance-of-multilingual-designs">🖌️ Importance of multilingual designs <a class="markdownit-header-anchor" href="#importance-of-multilingual-designs">🔗</a></h2><p>If your product supports multiple languages, you need to test how it handles each language's different nuances and specifics. Some languages write from left to right while others write from right to left; some use commas as separators in numbers; some add currency symbols before a numeric value while others add them after it.</p><blockquote>And some languages can surprise you with crazy long words (I'm looking at you, "<em>Donaudampfschifffahrtsgesellschaftskapitän"!</em>). </blockquote><p><strong>Such unique aspects of a specific language can cause a plethora of problems in your designs, such as:</strong></p><ul><li>button label overflows the container,</li><li>currency symbol wraps to the following line while the value stays on the previous one,</li><li>short paragraph description creates a too wide space in RTL language,</li><li>The call-to-action banner does not evoke the same emotion in other languages.</li></ul><p>While some issues require some user testing to get right, you can easily prevent others (such as overflowing) in the early stages of the design phase.</p><h2 id="blazingly-fast-multilingual-prototyping">🚀 Blazingly fast multilingual prototyping <a class="markdownit-header-anchor" href="#blazingly-fast-multilingual-prototyping">🔗</a></h2><p>However, what many designers and product managers out there don't realize is how efficiently one can use Localazy to test how Figma designs look and feel in other languages. In just a couple of clicks, we can upload the keys from Figma to Localazy, translate everything with <a href="/dictionary/machine-translation">machine translations</a> and download everything back. Tweak the design if necessary and repeat it in another language. Just see for yourself. Looks great? Let's dive in!</p><!--kg-card-begin: html--><iframe width="800" height="315" src="https://www.youtube.com/embed/zp3JhpiR04g" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><h2 id="initial-configuration">⚙️ Initial configuration <a class="markdownit-header-anchor" href="#initial-configuration">🔗</a></h2><p>Before we get to the blazingly fast part, we need to set up a couple of things:</p><ol><li><a href="/register">Sign up</a> at Localazy.</li><li>Create a Figma playground project (preferably keep it separated from the main Localazy project used for the production version).</li><li>Activate the <strong><a href="/tiers/autopilot">Autopilot plan</a></strong> in the <strong><a href="/my/marketplace">Marketplace</a></strong> <em>(don't worry, there is a 7-day trial).</em></li><li><a href="https://www.figma.com/community/plugin/964257457772706017">Install</a> the Localazy plugin in Figma.</li><li><a href="/blog/design-localization-with-localazy-figma-plugin">Connect</a> your Localazy account and project.</li></ol><p>You won't need to repeat the first four steps later. Before you upload content from Figma, you may need to change the target project depending on if you wish to upload to the playground project or the main project. </p><blockquote>Check out this <a href="/blog/design-localization-with-localazy-figma-plugin">article</a> to learn more about the integration and the plugin in general.</blockquote><h2 id="prototyping">📐 Prototyping <a class="markdownit-header-anchor" href="#prototyping">🔗</a></h2><p>For this example, I will upload a single screen from our early versions of the new translate interface. The content is in English, and our project's source language is also set to English. </p><p>Within Localazy, we'll add German and Arabic languages and let Google's machine translation engine translate the content. After a brief moment, we'll be able to download the translations back to Figma. Feel free to follow along with your own Figma file.</p><h3 id="upload-content-into-localazy">Upload content into Localazy <a class="markdownit-header-anchor" href="#upload-content-into-localazy">🔗</a></h3><p>First of all, open a file of your choice in Figma, initialize the Localazy Figma plugin and connect to your target Localazy project. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/03/Conntect-with-Localazy.png" class="kg-image" alt loading="lazy" width="1650" height="778" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Conntect-with-Localazy.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Conntect-with-Localazy.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Conntect-with-Localazy.png 1600w, https://ghost.localazy.com/content/images/2022/03/Conntect-with-Localazy.png 1650w" sizes="(min-width: 720px) 720px"></figure><p>Then in the Plugin's settings, I'll check <strong>Use node name as source key</strong> to achieve more conveniently named source keys and uncheck <strong>Upload &amp; download the entire file </strong>to only upload text nodes I have currently selected. Neither is necessary, but such configuration makes for a better experience, in my opinion.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/03/image-3.png" class="kg-image" alt loading="lazy" width="458" height="770"></figure><p>So, select the screen(s) you'd like to upload to the playground, fill in the file name under which the content will be stored in Localazy and select the target file format (<a href="/dictionary/json">JSON</a> is a universal option). And upload.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/03/image-23.png" class="kg-image" alt loading="lazy" width="2000" height="1000" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/image-23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/image-23.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/image-23.png 1600w, https://ghost.localazy.com/content/images/2022/03/image-23.png 2213w" sizes="(min-width: 720px) 720px"></figure><h3 id="translate-with-mt">Translate with MT <a class="markdownit-header-anchor" href="#translate-with-mt">🔗</a></h3><p>Navigate to your project in Localazy and add the languages you'd like to test. In my case, I've added German and Arabic.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/03/image-7.png" class="kg-image" alt loading="lazy" width="1204" height="392" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/image-7.png 1000w, https://ghost.localazy.com/content/images/2022/03/image-7.png 1204w" sizes="(min-width: 720px) 720px"></figure><p>Navigate to the <strong>File management </strong>section from the side menu and hover over the three dots on the right side of the filegroup you've uploaded from Figma (<strong>figma.json</strong> in my case). From the dropdown menu, select <strong>Pre-translate using MT.</strong></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/03/Pretranslate-using-mt.png" class="kg-image" alt loading="lazy" width="1665" height="1267" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Pretranslate-using-mt.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Pretranslate-using-mt.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Pretranslate-using-mt.png 1600w, https://ghost.localazy.com/content/images/2022/03/Pretranslate-using-mt.png 1665w" sizes="(min-width: 720px) 720px"></figure><p>In the next step, feel free to choose your favorite MT engine. Each of them can handle specific scenarios, terms, and tonality differently, and one cannot say one is always better than the other. </p><p>I'll go with Google for demonstration purposes since their <a href="/dictionary/api">API</a> can generally handle the translation request quite swiftly. Make sure to check the option <strong>Approve all translations</strong> so that you can use them immediately without having to review and accept them afterward. Repeat the step for all the languages you'd like to test out.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/03/image-15.png" class="kg-image" alt loading="lazy" width="807" height="434" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/image-15.png 600w, https://ghost.localazy.com/content/images/2022/03/image-15.png 807w" sizes="(min-width: 720px) 720px"></figure><p>When you navigate back to the <strong>Translations</strong> section, you should see the languages fully translated (if not, try to refresh the page, the request might take a little time to process).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/03/image-17.png" class="kg-image" alt loading="lazy" width="1202" height="396" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/image-17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/image-17.png 1000w, https://ghost.localazy.com/content/images/2022/03/image-17.png 1202w" sizes="(min-width: 720px) 720px"></figure><h3 id="preview-in-figma">Preview in Figma <a class="markdownit-header-anchor" href="#preview-in-figma">🔗</a></h3><p>We're ready to preview the design in other languages now. Go back to your Figma file and switch to the <strong>Download </strong>tab in the Localazy Figma plugin. Select the source file and desired language, and select the screen/nodes you've uploaded to Localazy previously.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/03/image-26.png" class="kg-image" alt loading="lazy" width="1984" height="957" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/image-26.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/image-26.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/image-26.png 1600w, https://ghost.localazy.com/content/images/2022/03/image-26.png 1984w" sizes="(min-width: 720px) 720px"></figure><p>Voilà! We can see how the screen might look in German in just a few clicks. Admittedly, the machine translation most likely wouldn't make it to the production version, at least not without proofreading. But still, it can give you a good idea of whether the design could work or needs a big overhaul. In my case, the <strong>Use this</strong> button label translated as <strong>Benutze das</strong> almost overflows the button's container, and I know now that I should give it a little more space horizontally.</p><p>With Arabic, it gets more complicated as this is a right-to-left written language. The Figma plugin does not automatically change the text alignment, so you still need to tweak the design manually. But it's definitely much less work than having to translate the whole design as well.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/03/image-27.png" class="kg-image" alt loading="lazy" width="1986" height="961" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/image-27.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/image-27.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/image-27.png 1600w, https://ghost.localazy.com/content/images/2022/03/image-27.png 1986w" sizes="(min-width: 720px) 720px"></figure><h2 id="closing-words">✔️ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>I hope this article gave you a good idea of how you can supercharge your multilingual prototyping with the Localazy Figma plugin. Don't hesitate to contact us via <a href="mailto:team@localazy.com">team@localazy.com</a> or join our <a href="https://discord.gg/Sm8z5Bhq">Discord</a> channel if you have any questions.  </p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Figma-Prototyping.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Stop making these 7 software localization mistakes]]></title>
            <link>https://localazy.com/blog/stop-making-7-software-localization-mistakes</link>
            <guid isPermaLink="false">stop-making-7-software-localization-mistakes</guid>
            <pubDate>Fri, 06 Sep 2024 19:50:15 GMT</pubDate>
            <description><![CDATA[Finally, the project you’ve worked on for so long is ready for launch. All features work perfectly, and the interface is smooth. You’re about to jump into the global market, but before taking that leap of faith - are you sure your audience will understand everything? 🤔]]></description>
            <content:encoded><![CDATA[<p>If the answer is: “Everyone knows English,” you might be leaving a lot of money on the table. Competing in a global market requires maximum effort to improve user experience and establish a reputation, and <a href="/dictionary/localization">localization</a> is necessary. 😎</p><blockquote><strong>"More than 75% of the global population doesn't speak any English at all"</strong><br>📚 <a href="/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">Mythbusters: Our users speak English, so we don’t have to localize</a></blockquote><p>Opting for <a href="https://localazy.com">software localization</a> is only half of the journey to successfully expand your market reach because localization itself is challenging. It's usually a tedious process to get everything localized correctly. And <a href="https://localazy.com/blog/mythbusters-our-product-has-been-localized-so-the-job-is-finished">it never ends</a> - as the project evolves, new texts appear and outdated texts change or are deleted, so being in control of everything without a localization suite such as Localazy is even harder. </p><p>We have prepared a list of seven software localization mistakes that you can avoid before diving into the world of localization, <a href="/dictionary/translation">translation</a>, and continuous improvements with Localazy.</p><h2 id="1-not-separating-text-from-images">❌ 1. Not separating text from images  <a class="markdownit-header-anchor" href="#1-not-separating-text-from-images">🔗</a></h2><p>Not unnecessarily, they say that one picture is worth a thousand words. If we were to take this literally, images could save thousands of words, dramatically lowering the costs of translations. 😁 </p><p>Images add clarity to your product and make it more visually captivating. What’s even more helpful are images with text. However, images containing text can pose difficulties for translators and they could ask for extra budget and time. </p><p>Hence, what advice is applicable in these cases? <strong>Text extraction</strong>. Extracting text from an image assists in creating a localized version of your software that’s easier to manage and work with. Detach the text and present it as a separate component. Also, pay attention to the compatibility of the text with the accompanying image across languages. 🕵️‍♂️</p><blockquote>➡️ Learn how the <a href="https://localazy.com/features/figma-localization-plugin">Figma localization plugin by Localazy</a> can help you translate texts in your images and even whole designs correctly and seamlessly</blockquote><h2 id="2-not-specifying-the-exact-locale">❌ 2. Not specifying the exact locale <a class="markdownit-header-anchor" href="#2-not-specifying-the-exact-locale">🔗</a></h2><p>Localization is all about adapting your message to the native culture of users. Knowing what language they speak is simply not enough. Even though the same language is spoken in multiple countries, each uses different notions that cause huge misconceptions. 😓</p><p>Let’s say that you’re localizing a food-related app. A British person would <em>‘have a biscuit’</em> while an American would <em>‘eat a cookie</em>.<em>’</em>  🍪</p><p><strong>Small cultural nuances weaken or strengthen a statement</strong>. Another example would be athletic shoes. In Canada, you can refer to them as <em>runners</em>, while in the United States, you’ll have to say <em>running shoes </em>or<em> tennis shoes </em>to be understood. 👟</p><p>Being precise pays. Considering it from a marketing point of view, a negatively ambiguous term could cause sales or app downloads to decline. Instead, use a full locale property to serve each dialect. <a href="https://localazy.com/dictionary/locale">Locales contain the country code</a> along with the language name. </p><p>For instance, English in 🎡 Great Britain, 🦘 Australia, 🍁 Canada, and the 🗽 United States would be written respectively: <code>en_GB</code>, <code>en_AU</code>, <code>en_CA</code>, and <code>en_US</code>. Offering such options helps you customize features of your app or software, such as data formats, spelling, and nuanced phrases among demographics where the same language is spoken. 👨‍💻</p><figure class="kg-card kg-code-card"><pre><code class="language-po"> ./locales/en_CA/LC_MESSAGES/messages.po
 messageid "login_message"
 messagestr "How ya doin’?!" 
 
 ./locales/en_AU/LC_MESSAGES/messages.po
 messageid "login_message"
 messagestr "How are you going?!"</code></pre><figcaption>Examples of different locales within the code.</figcaption></figure><h2 id="3-not-clarifying-the-context">❌ 3. Not clarifying the context <a class="markdownit-header-anchor" href="#3-not-clarifying-the-context">🔗</a></h2><p>When translating and localizing, <strong>context is everything</strong>. It’s what separates human translation from machine translation. Keep this in mind while providing translators with your content. Strings used in specific contexts will get translators confused unless you provide 💬 comments, 🖼️ screenshots, and other 📖 artifacts (style guide, glossary, documentation, etc.) that will help them navigate through the various strings.  </p><p>A solid<strong> style guide</strong> and a <strong><a href="https://localazy.com/docs/general/how-to-define-your-glossary">glossary</a></strong> are essential for a basic understanding of the project and its different terms, but sometimes they might not be enough. Enrich your localization notes with comments and alternate phrases, and give as much context as possible for the text and the formats. </p><blockquote><strong>✍️ Learn:</strong> <a href="https://localazy.com/blog/linguistic-style-guides-software-localization">How to prepare a style guide for localizing your project</a></blockquote><p>Context is the key to producing localized content that hits the right spot. Even when using <a href="https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">old-school tools such as spreadsheets</a> 🤭 to manage to work on content with translators, adding a column for context notes helps. If space allows, include <strong><a href="https://localazy.com/docs/general/screenshots">screenshots</a></strong> as well.</p><blockquote>📖 Read the <a href="/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects">12 reasons why Localazy is better than spreadsheets for localization projects</a></blockquote><p>If you don’t provide translators with guiding comments, the chances are that you’ll get a translation to be frowned upon. If you’re translating an <a href="https://localazy.com/android">Android</a> app, for example, <a href="https://localazy.com/docs/android/how-to-provide-comments-for-strings">being able to leave comments</a> in the process avoids misunderstandings.</p><h2 id="4-not-separating-text-from-code">❌ 4. Not separating text from code <a class="markdownit-header-anchor" href="#4-not-separating-text-from-code">🔗</a></h2><p>Translation requires focus and clarity. If the translator has to struggle to find the content that needs translation because it’s stuffed somewhere within the source code, it will be challenging to maintain the quality and get results in a timely manner.</p><p>Considering the extended amount of hours needed to finish a task, the translator might lose efficiency while increasing the project costs. 💰</p><p>Suppose the localizable content is stored in multiple variables across the codebase. In that case, it presents challenges <a href="https://localazy.com/features/releases">to version control</a>, and you might miss some texts entirely while preparing the content for translation. Instead, take time to <a href="https://localazy.com/dictionary/externalized-string">extract this text into dedicated files</a>. These resource files should maintain all of the app or software’s content. Examples include error messages, titles, or product/packages names.</p><p>Paste these translatable strings into resource files by assigning each a specific name in the form of a key to identify them. Remember to choose unique IDs that are descriptive and show the use of text (title, paragraph, button label, etc.).  ☑️</p><p>Resource files can be created in different formats depending on the framework or programming language used. <a href="https://localazy.com/dictionary/json">JSON</a>, <a href="https://localazy.com/dictionary/yaml">YAML</a>, <a href="https://localazy.com/dictionary/po-and-pot-format">PO</a>, and <a href="https://localazy.com/dictionary/xliff">XLIFF/XML</a> are some of the most used ones, but always search for the most advantageous option suitable for your project.</p><h2 id="5-ignoring-different-translation-lengths">❌ 5. Ignoring different translation lengths <a class="markdownit-header-anchor" href="#5-ignoring-different-translation-lengths">🔗</a></h2><p>When thinking of <a href="https://localazy.com/dictionary/translation" rel="noopener noreferrer">translation </a>and <a href="https://localazy.com/dictionary/localization" rel="noopener noreferrer">localization</a>, don’t center interface formats around English. Not every language has the same flexibility and succinctness. Compared to languages like Finnish or German, English might be quite compact at times, which signifies a noticeable difference in text density and length.</p><p>Imagine what a mess it would be if texts began overlapping and stretching outside of the interface, causing extra work for the developer and requiring complex and expensive solutions. Therefore, it’s wise to consider this before sending your content for translation. </p><p>To avoid these awkward interface mistakes, <strong>leave room for buttons, banners, and menu options to shrink and grow</strong>. A responsive interface accommodates <a href="https://localazy.com/faq/localazy/what-is-the-maximum-possible-length-of-translation-text" rel="noopener noreferrer">text of various lengths</a> with ease. Layout managers function well for adjusting the interface elements accordingly by relying on the features of each locale and the pixel positioning of widgets at runtime. While most of the work will be through files, it’s advisable to save the dimensions of labels on resource files.</p><h2 id="6-not-supporting-unicode">❌ 6. Not supporting Unicode <a class="markdownit-header-anchor" href="#6-not-supporting-unicode">🔗</a></h2><p>Programming languages save files using their encoding system by default. If your translation strings are handled by a data type that does not work well with Unicode, but you save a file with a different encoding, the localized content might come out distorted. </p><p>Chinese and English, for example, use two dissimilar character encoding standards for encoding content. Since the encoding differs, a website with an English-based server receiving traffic to its Chinese content could corrupt the characters. </p><p><strong>Standardizing encoding all across your platforms saves unnecessary headaches</strong>. This is why most developers suggest implementing UTF-8 on servers and browsers, including several layers, such as HTML, database, HTTP server, and the software or application. Only Asian Languages require UTF-16 encoding.</p><h2 id="7-not-considering-text-directionality">❌ 7. Not considering text directionality <a class="markdownit-header-anchor" href="#7-not-considering-text-directionality">🔗</a></h2><p>Besides encoding and string lengths, we shouldn’t forget about <a href="https://localazy.com/dictionary/text-directionality">text directionality</a>. Languages such as Hebrew, Arabic, and Urdu are written in the right-to-left format, <a href="https://localazy.com/dictionary/bidirectional-languages">and some of them are bidirectional</a>, which requires implementing BiDi support to display them correctly.</p><p><strong>Having a detailed list of languages in mind before designing your software or application</strong> <strong>will help you estimate the nature of its interface</strong>. If the list includes languages written in multiple directions, discuss this with your developer to make sure the user experience is equal for every language.</p><h2 id="conclusion">✅ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Localizing a product or service requires a lot of effort, the right professionals, and, most importantly, <a href="https://localazy.com/dictionary/translation-management-system-tms">the proper translation management software</a> to make localization easier. Avoiding common mistakes is the first step towards quality multilingual content.  😉</p><p>At <a href="https://localazy.com/" rel="noopener noreferrer">Localazy</a>, we offer <a href="https://localazy.com/integrations">a variety of tools and integrations</a> that allow content adaptation into multiple languages. Thanks to the easy-to-use interface, you can translate your app, software, or website with minimal mistakes into 80+ languages. <a href="https://www.localazy.com/register/">Register today</a> and try it for free.</p><h2 id="further-reading">📚 Further reading <a class="markdownit-header-anchor" href="#further-reading">🔗</a></h2><ul><li><a href="https://localazy.com/blog/linguistic-style-guides-software-localization/">Guide your style - linguistic style guides in software localization</a></li><li><a href="https://localazy.com/blog/cheatsheet-getting-started-software-localization-tips-tricks/">Cheatsheet: Getting started with software localization</a></li><li><a href="https://localazy.com/blog/guide-preparing-application-for-i18n-l10n-localazy/">Guide: How to prepare your application for i18n &amp; l10n</a></li></ul>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/04/7-Software-Localization-Mistakes--1---1-.webp" length="0" type="image/webp"/>
        </item>
        <item>
            <title><![CDATA[Interview: Ukraine Shelter is helping Ukrainians displaced by the invasion]]></title>
            <link>https://localazy.com/blog/interview-ukraine-shelter-helping-ukrainians-displaced-by-invasion</link>
            <guid isPermaLink="false">interview-ukraine-shelter-helping-ukrainians-displaced-by-invasion</guid>
            <pubDate>Wed, 14 Dec 2022 23:01:16 GMT</pubDate>
            <description><![CDATA["Localazy has helped us build a truly scalable multilingual platform. So naturally, we chose them when we launched Ukraine Shelter," says Ian, who is currently leading the initiative helping people displaced by the invasion in Ukraine.]]></description>
            <content:encoded><![CDATA[<p>Ukraine Shelter is a web portal launched amidst the chaos and confusion of the Russian invasion of Ukraine and the first version of the site launched on the 26th of February 2022. Since then the project has grown and grown, and today they are a sizable team of volunteers, all committed to helping Ukrainians find a safe place to stay away from the dangers and chaos of the war.</p><p><a href="https://www.linkedin.com/in/euros/">Ian Bearder</a>, one of the initiators joins us for an interview and talks about his experience with launching the platform and making it multilingual with Localazy.</p><h2 id="the-story">🕊️ The Story <a class="markdownit-header-anchor" href="#the-story">🔗</a></h2><p><strong>Hi Ian and thank you for joining us today. Can you remember when exactly did you get the idea for Ukraine Shelter?</strong></p><p>To be honest, I don't remember the exact point when we had the idea. It was in the very first days of the invasion when we were in shock and unable to sleep. However, we launched <a href="https://www.ukraineshelter.com/?lang=en">the website</a> on the 26th of February - day two of the invasion. </p><p><strong>What made you feel compelled to help with the recent humanitarian crisis in Ukraine?</strong></p><p>Although I am British, I have lived in Kyiv for the past 12 years, and the project is a collaboration with my Ukrainian fiancee and our Ukrainian designers and developers. While launching the project, we were simultaneously looking for shelter for our team, so it all seemed logical.</p><p><strong>You have quite an interesting background. Why did you decide to settle in Ukraine and start a company there?</strong></p><p>Before I settled in Ukraine, I traveled to all 49 countries in Europe to win a bet. In 2009 I fell in love with Kyiv and haven't been able to leave. It really is Europe's greatest city …and I've visited a lot! 💙💛</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/04/image-13.png" class="kg-image" alt loading="lazy" width="1001" height="750" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/image-13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/04/image-13.png 1000w, https://ghost.localazy.com/content/images/2022/04/image-13.png 1001w" sizes="(min-width: 720px) 720px"><figcaption>Drone Shot of Motherland Monument and the City of Kyiv | By <a href="https://www.pexels.com/photo/drone-shot-of-motherland-monument-and-the-city-of-kyiv-9955064/">Petkevich Evgeniy</a></figcaption></figure><p><strong>Can you tell us some numbers about Ukraine Shelter? How many people are you helping at the moment? How has the situation evolved over the last few weeks?</strong></p><p>In the early days, we were getting more hosts than requests. This was understandable as Ukrainians were too busy traveling and trying to understand the situation, and when they arrived in Poland, Slovakia, Moldova, etc., those countries did a great job providing temporary shelter.</p><p>Then the number of requests started to increase, and people were ready to move to countries which are further away, Germany, Denmark, Italy, etc.</p><p>We now get about 50-100 requests per day, and to date, we have had 3,110 requests for help. We have 1342 registered hosts.</p><p><strong>How is your organization funded? Do you have a team of volunteers?</strong></p><p>We're 100% funded by donations. Some people donated directly but most offered small monthly payments via <a href="https://www.patreon.com/ukraineshelter">patreon.com</a>.  <strong> </strong></p><p>This money is used to cover expenses (phone bills, facilities, travel, etc.), and volunteers provide everything else. Our designers and developers work on the software for free, and the Call Center is run by an amazing team of Ukrainians - all volunteers. <br><br>In addition to this, we have been supported by vendors like <a href="https://localazy.com">Localazy</a> and <a href="https://fibery.io/">Fibery</a>, who generously provided their software and support for free. I cannot emphasize how helpful this was. Because they moved quickly and decisively, we were able to move quickly too. That's super-important when you have hundreds of suddenly homeless people calling you for help. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/04/image-15.png" class="kg-image" alt loading="lazy" width="960" height="600" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/image-15.png 600w, https://ghost.localazy.com/content/images/2022/04/image-15.png 960w" sizes="(min-width: 720px) 720px"><figcaption>Ian and his teammates</figcaption></figure><p><strong>How quickly did you manage to get the first people on the platform?</strong></p><p>We have 59 hosts by the end of day two and the first requests a few days later.</p><p><strong>It is heartwarming to see locals of neighboring countries helping refugees get the security they need during this humanitarian emergency. Are there any stories you'd like to share?</strong></p><p>I'm extremely proud of everyone who has helped with Ukraine Shelter. Our donors and supporters, our volunteers, and our developers have all been amazing. However, I'm especially grateful to our hosts.</p><p>For example, take Andras in Hungary, who has hosted multiple families, meeting them even when they arrive late at night and providing hot food and shelter until they are able to move on.</p><p>This is just one example, and hosts have been providing similar hospitality across Europe. You can read some more stories on our <a href="https://www.patreon.com/ukraineshelter">Patreon</a>.</p><p><strong>Is any technology helping you in the cause? I see you're using Trello for border info, for example.</strong></p><p>Yeah, unsurprisingly, as a tech company, we reached for all the tools we know and love - <strong>Trello</strong> for collecting/publishing notes/cards and <strong>Localazy</strong> to manage our translations, etc. </p><p>Also, as mentioned earlier, a company called <strong>Fibery</strong> has helped us build our backend systems, and that was a complete game-changer. Another company (<strong>Freedom-ID</strong>) also stepped in to help us verify our hosts, and this is also massively important. </p><p><strong>What are the biggest risks &amp; challenges for Ukraine Shelter in the current landscape?</strong></p><p>I can't really say there are risks for Ukraine Shelter. We're just a group of volunteers doing our best to help people. There are obvious data security and privacy issues that we need to take care of, but we have pretty good systems in place to protect our data. </p><p>My biggest worry is for our guests and those who need shelter. They are the ones who are most at risk, and we are very concerned that criminals or people traffickers might exploit the current situation to abuse people.  <br><br>For this reason, we are in the process of verifying the ID of all hosts, and we provide additional security advice to the Ukrainians seeking shelter. We also contact all hosts ourselves and track whenever we connect hosts and guests.   </p><h2 id="ians-thoughts">⛑️ Ian's thoughts <a class="markdownit-header-anchor" href="#ians-thoughts">🔗</a></h2><p><strong>Personally, how is the nonprofit experience impacting you? </strong></p><p>To be honest, I don't really think about it. I've helped run a nonprofit organization called <a href="https://runday.org">Runday</a> in Ukraine for the past six years, so it's quite similar. As a company owner, I'm also used to organizing teams around specific goals.  </p><p>Also, Ukrainians have been looking after me and helping me for the past 12 years - so I'm happy to return the favor. </p><p><strong>Are you working on any additional initiatives right now?</strong></p><p>Yeah, too many! My company (<a href="https://veedoo.io/">Veedoo.io</a>) is working with some fantastic clients - including Ukraine's only suicide prevention hotline - <a href="https://lifelineukraine.com">Lifeline Ukraine</a>. We're also building and about to launch a global running platform called Everyrun. This is actually how we found Localazy. </p><p><strong>Do you think that companies (big and small) could do more to help Ukrainian refugees? How is the response being in your sector?</strong></p><p>A lot of individuals and businesses have stepped in to help. It's been quite amazing to see blue and yellow appear on almost every logo and website that I visit, and companies and communities across the world have self-organized to collect and deliver all kinds of aid to Ukraine. From software to body armor, there has been a lot of support for Ukraine. </p><p>But there is definitely more that could be done. For example, despite the months of detailed warnings about the risk of conflict, I don't see much evidence that the largest international institutions had actually prepared for it. Still, six weeks into the conflict, Ukraine Shelter is being inundated with requests for help and support (there is a massive problem), but we have had absolutely no help from the large NGOs and governmental bodies that should be taking care of things. <br><br>I mean, you only have to look at the UK visa scheme to see how badly prepared governments were and still are. </p><p><strong>Will you keep doing nonprofit work and sponsoring social initiatives once this crisis is (hopefully) over? </strong></p><p>Yes, absolutely. I dream of the day when Ukraine Shelter is no longer needed, and we can all go home. After that, we will focus on <a href="https://runday.org">Runday</a> and relaunching our weekly events in Kramatorsk, Severodonetsk, and eventually Mariupol. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/04/image-16.png" class="kg-image" alt loading="lazy" width="960" height="600" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/image-16.png 600w, https://ghost.localazy.com/content/images/2022/04/image-16.png 960w" sizes="(min-width: 720px) 720px"></figure><p><strong>Do you think the drive for social work is something people are either born with or not? Is this crisis sparking an interest in helping others?</strong></p><p>That's a tough question. I do think it depends on the social/cultural traditions of specific groups and communities. Volunteering and charity work isn't so big in former communist countries where the state was expected to provide everything, or worse, where they forced people to 'volunteer.' In the USSR, for example, they had '<a href="https://en.wikipedia.org/wiki/Subbotnik">Subbotniks</a>' - people forced to volunteer on a Saturday. So, it can be a bit of a dirty word. </p><p>However, since 2014 I've seen so many social movements pop up in Ukraine and then Belarus. I think everyone has the capacity to self-organize when they need to. We're not special.</p><h2 id="why-localazy">🚩 Why Localazy <a class="markdownit-header-anchor" href="#why-localazy">🔗</a></h2><p><strong>What role did Localazy play for you in this emergency? How did the cooperation work?</strong></p><p>I've maintained enough websites in my time to understand that multilingual websites can be a nightmare. You probably need to be a webmaster to fully appreciate the complexity and amount of work that I'm talking about, but anyway - it sucks. So, when we decided to build Everyrun, I was adamant that we would use a translation framework to ease the pain.</p><p>That's when I found Localazy, and they helped us build a truly scalable multilingual platform. So naturally, we chose them when we launched Ukraine Shelter.</p><p>Then, in March 2022, our relationship went full circle, and they 'found' us. Out of the blue, I got an email from the CMO - <a href="/blog/author/jakub-dubec">Jakub</a> - offering us a free upgrade so we could use the automatic <a href="/dictionary/machine-translation">machine translations</a>. It was a generous and timely offer, and I'm extremely grateful to Jakub for the offer and to the Localazy team, who helped with some of the translations.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/04/image-19.png" class="kg-image" alt loading="lazy" width="1889" height="902" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/image-19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/04/image-19.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/04/image-19.png 1600w, https://ghost.localazy.com/content/images/2022/04/image-19.png 1889w" sizes="(min-width: 720px) 720px"><figcaption>UkraineShelter.com at Localazy</figcaption></figure><p><strong>You've gone from 2 to 13 languages in just a few days. How was the process? Were you surprised by the help you got?</strong></p><p>Well, I'm extremely lucky to have friends all across Europe (it's one of the best things about traveling so much), and when I put out a call for help on Facebook - they responded. In just a few days, we had volunteers helping with pretty much every language in Europe. It's been amazing.</p><p><strong>Do you have any plans to expand the number of languages to get a global reach?</strong></p><p>Eventually, yes, but this needs to be coordinated with changes to our team. The website is important because it lets us reach people in their native language. This is great, but ultimately we still need to talk to these people or communicate with them somehow. We need the right people and the right software to be completely successful.</p><h2 id="how-can-you-help">🙏 How can you help <a class="markdownit-header-anchor" href="#how-can-you-help">🔗</a></h2><p><strong>How can our readers help your cause?</strong></p><ol><li>➡️ Sign up as a host at <a href="https://ukraineshelter.com">ukraineshelter.com</a>. There's no better way to help. <br></li><li>➡️ <strong><a href="https://www.patreon.com/ukraineshelter">Become a patron!</a></strong> No matter how large or small, these monthly payments are the lifeblood of Ukraine Shelter and make everything possible. </li></ol><p><strong>Thank you, Ian, for your precious time.</strong></p><p><strong>It breaks our hearts to see what is happening in the regions affected by the conflict at the moment, but it is reassuring to see people like you take action and help in any way they can. </strong></p><p><strong>We wish all people in Ukraine affected by the conflict to stay safe &amp; strong in these challenging times. </strong></p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Interview-US.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: Electron, your battery managing app for Android]]></title>
            <link>https://localazy.com/blog/interview-electron-battery-managing-app-android</link>
            <guid isPermaLink="false">interview-electron-battery-managing-app-android</guid>
            <pubDate>Wed, 14 Dec 2022 23:01:47 GMT</pubDate>
            <description><![CDATA[Electron is a battery managing app for Android developed by Maher Safadi. In today’s interview, Maher joins us to talk about his product and the ecosystem of apps he’s created. He also tells us why he chose Localazy for his localization efforts. ]]></description>
            <content:encoded><![CDATA[<h2 id="introduction">📱 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2><p><strong>Hi Maher, and thank you for your time. What can you tell us about Electron? </strong></p><p><a href="https://play.google.com/store/apps/details?id=com.mahersafadi.electron">Electron</a> helps users track their battery information on Android phones. There's a lack of battery data on this OS, so the app collects all the info you need to take care of its health. 🔋🏥</p><p>What makes Electron different from other battery managing apps is that it’s very easy to understand. Any user can comprehend if the status of their battery is good or bad by looking at a few simple values. 📊 I also created a very eye-catching UI that stands out from the others. </p><p><strong>So anyone can use it, even if they’re not tech-savvy? </strong></p><p>Yes! The app is suitable for any person, whether he is a tech enthusiast that understands every single bit of info or not. Every value in the app has a description that anyone can understand. I worked on a simple UI to avoid confusing normal users who don't know what certain stuff means.</p><p>If you want to get details about the battery’s status, it’s as simple as downloading it from the Play Store for free. 📲 There’s also a paid option to remove ads. Once you open it, you’ll see that the UI is really user-friendly. All the features are well described. </p><p>For instance, there is one that detects the current capacity of the battery. It’s represented in a nice gauge that anyone can understand.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh5.googleusercontent.com/uyyQWOBIW4Wk-I34tJKv8HBNtzGvuas-PVXSsEGY8r-_9WrPgFs_H_5uKgVphYzEfH8b8MSPUyJhCUYH8uyRURnNbHXnaSH3Hfi5F01tpcgvmHdRGsN-GImxBXgQkc7LjGV5QAa1" class="kg-image" alt loading="lazy"><figcaption><em>Source: El Androide Libre</em></figcaption></figure><p>You can also use a feature to detect if the charger is slow or fast 🔌 and if it’s faulty or not (so if someone’s using a bad charger, the app will tell them so they can get it replaced). </p><p>Other features included are:</p><ul><li>Battery temperature</li><li>Charging status</li><li>Current mAh level</li><li>Voltage</li><li>Average current<br></li></ul><p><strong>Do you have any tips to take better care of our batteries?</strong></p><p>Sure! To keep your smartphone’s battery as healthy as possible, I recommend two things:</p><ul><li>Not using the phone at high temperatures 🔥</li><li>Keeping the charge range between 20% - 80% 🔋<br></li></ul><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/5UySSd3C4nQd5kC3MBq4Uvs8_PYL5gFh_EHoA5a0265WcRCOj0LweFz9W8HmN9-hiRycYgis9rg4ALvXSfhNy6Y_vN3CUm0l_eySS79gtQn1ez26z51VeJukZT0WFW_pzX3ynVGv" class="kg-image" alt loading="lazy"></figure><p><br>☝️ You have to keep in mind that battery heat is an error that causes the battery to drain faster. The age of the battery also affects drainage, so make sure to keep track of that. 🔦 If the battery is older it drains faster, so sometimes it’s better to get a replacement. </p><h2 id="a-whole-app-ecosystem">🔁 A whole app ecosystem <a class="markdownit-header-anchor" href="#a-whole-app-ecosystem">🔗</a></h2><p><strong>How was your journey creating Electron?</strong></p><p>I launched the app as I was practicing the <a href="/flutter">Flutter</a> framework. I was making simple apps and this one blew up. I didn't think it would though! 🤯 What I had in mind was to practice by making a few small apps and then create larger ones to profit from, but luckily, I found success earlier.</p><p>My vision is to create an ecosystem of apps and keep working as an individual while making a profit from them. For now, I’m very proud to say that the funding for my projects is coming from the revenue 💸 I’m making from the different apps.</p><p><strong>Can you tell us a little about the other apps you’ve developed?</strong></p><p>Currently, there are four additional apps in the ecosystem:</p><ul><li>🔍 <a href="https://play.google.com/store/apps/details?id=com.mahersafadi.spectra">Spectra</a>, an app that gives you the device’s info.</li><li>🔗 <a href="https://play.google.com/store/apps/details?id=com.mahersafadi.linker">Linker</a>, which saves and organizes URLs. Right now I’m working on adding a URL shortener feature to it.</li><li>🔢 <a href="https://play.google.com/store/apps/details?id=com.mahersafadi.numix">Numix</a>, a number-based converter, and calculator.</li><li>🙏 <a href="https://play.google.com/store/apps/details?id=com.mahersafadi.salati">Salati</a>, an app for Muslims which gives the prayer times for each day.</li></ul><p>All of my apps use the same design language. What sets them apart from others is the ease of use and the stunning user interfaces I create. I get a lot of reviews saying that my UIs are amazing. Users love them, and that's a very important factor to make an app successful.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/04/image-12.png" class="kg-image" alt loading="lazy" width="1280" height="600" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/04/image-12.png 1000w, https://ghost.localazy.com/content/images/2022/04/image-12.png 1280w" sizes="(min-width: 720px) 720px"></figure><p><strong>Do you have any other projects for the near future?</strong></p><p>I’m currently working on a weather app ⛅ with the same design as my other products. It will have 3D weather icons that look neat. It’s almost ready: it just needs some finishing touches.</p><h2 id="business-talk">📇 Business talk <a class="markdownit-header-anchor" href="#business-talk">🔗</a></h2><p><strong>Let’s talk about business. What's your current runway, and what are your future funding plans?</strong></p><p>I'm currently working on improving the app. In the future, I might use the additional revenue to advertise it. Who knows!</p><p><strong>What is the main driver that motivates you to keep taking on your business ventures? Did your motives change over the years?</strong></p><p>The thing that motivates me is that nothing is impossible. ✌️ If you want something to happen and put the effort into it, it will surely happen. Just be patient.</p><p><strong>Do you think the drive for entrepreneurship is something people are either born with or not, or is it something that can be taught?</strong></p><p>I think it depends on the person. There are some people who are born with it, but you can definitely learn it. 📚 In my case, I’d say that I was always interested in developing projects since I was a kid. I had a lot going on in my mind back then. The tech world fascinated me since I was about 5 or 6: I used to always tinker around with any electronic device 🕹️ I had, and when I was 12 I started learning to program (C++).</p><blockquote>By the time I reached university, I already had apps that had succeeded. It all happened because I had a very clear mindset. </blockquote><p>After getting along with the field, I fell in love with the idea of developing apps. By the time I reached university, I already had apps that had succeeded. It all happened because I had a very clear mindset. It may sound simple but it’s not: there were tons of challenges. At a certain point I almost gave up, but I, fortunately, got back on track and continued with my goal.</p><p><strong>Any tips for young developers who want to launch tech-based apps like Electron?</strong></p><p>My only tip is that you should be the highest priority in your life. 🧘‍♂️🥇 Just focus on what you’re doing, keep walking towards your goal, and remember that nobody is worthy of your attention unless they’re real. If you forget about yourself, you will get lost and waste your time.</p><p><strong>Would you like to highlight some services or products you really like to use on your own?</strong></p><p>I especially like these:</p><ul><li><a href="/flutter">Flutter</a>,</li><li>RevenueCat, </li><li><a href="/dictionary/firebase">Firebase</a>, </li><li>Dart,</li><li>… and, of course, Localazy!</li></ul><h2 id="why-localazy">🌐 Why Localazy? <a class="markdownit-header-anchor" href="#why-localazy">🔗</a></h2><p><strong>What is your motivation for localization and why did you choose us?</strong></p><p>I think <a href="/dictionary/localization">localization</a> is crucial. The internet is available globally, which obviously means that different language-speaking users will use your products. I chose Localazy because of how well put it is. It has a great community and it's easy to get started with it.</p><p>Regarding markets, I'm currently prioritizing  Spain, Vietnam, and India because of the large user base in those countries. Not all users in those markets are fluent in English, so I think it’s important to support their language in my apps.</p><p><strong>What do you like the most about Localazy?</strong></p><p>Most importantly, it’s very easy to use. The idea that anyone can help translate other people’s apps is brilliant. Besides, there’s a wide support of different platforms.</p><p><strong>Maher, thank you very much for your time. Best of luck to you! </strong>🍀</p><hr><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Interview-Electron.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Automated Localization of Laravel Projects with Localazy and GitHub Actions]]></title>
            <link>https://localazy.com/blog/automated-localization-laravel-projects-localazy-github-actions</link>
            <guid isPermaLink="false">automated-localization-laravel-projects-localazy-github-actions</guid>
            <pubDate>Thu, 16 Apr 2026 14:23:53 GMT</pubDate>
            <description><![CDATA[Learn how to fully automate the localization of your Laravel projects with Localazy and GitHub actions in this article. ]]></description>
            <content:encoded><![CDATA[<h2 id="introduction">👋 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2><p>Any developer who has encountered the challenge of localization at least once will tell you that it's a tedious job. I think we can agree that taking care of multiple language versions just isn't as fun as introducing new features to the product you love. And we are not talking only about internationalization but also about managing translators, handling different versions, translation ping-pong, and the countless revisions. That's why localization is often neglected and buried deep in the backlog. </p><p>What if we told you that you could completely automate the localization process with <a href="https://localazy.com/">Localazy</a> and <a href="https://github.com/features/actions">GitHub Actions</a>? And by completely, we mean <strong>completely</strong>. </p><blockquote>❓ <strong>What's Localazy?</strong> Localazy is a complete localization suite built with developers in mind. Localazy allows you to fully automate the localization of your Laravel projects. Set it up once and forget about the hassle forever.</blockquote><p><strong>You will learn how to:</strong></p><ul><li>install the Laravel Framework and run your first application,</li><li>set up your Git repository,</li><li>prepare your Laravel project for localization,</li><li>connect it with Localazy and translate it into multiple languages,</li><li>automate string uploads and translation downloads with GitHub Actions.</li></ul><h2 id="install-laravel-framework">⌨️ Install Laravel framework <a class="markdownit-header-anchor" href="#install-laravel-framework">🔗</a></h2><p>There are a couple of ways to <a href="https://laravel.com/docs/9.x/installation">install</a> Laravel (choose the one that suits you and your OS). Typically, you'd probably use composer to install the framework. But as I use macOS and want to keep my laptop as clean as possible, I chose to install Laravel via <a href="https://laravel.com/docs/9.x/installation#getting-started-on-macos">curl</a>, which downloads a containerized application. </p><p>This is a huge advantage if you're developing on a Mac and have <a href="https://www.docker.com/products/docker-desktop">Docker Desktop</a> up and running - and we know the benefits of dockerized applications (for everyone interested, I recommend reading <a href="https://www.amazon.com/dp/B01LXWQUFF">Docker Deep Dive: Zero to Docker in a single book</a>).</p><p>Let's install the application. I typed <code>laravel-i18n-gh-actions-example</code> as the name of my app.</p><pre><code class="language-bash">curl -s "https://laravel.build/laravel-i18n-gh-actions-example" | bash</code></pre><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-30-at-14.53.50.png" class="kg-image" alt loading="lazy" width="2000" height="1293" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-30-at-14.53.50.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-30-at-14.53.50.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-30-at-14.53.50.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-30-at-14.53.50.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Installing Laravel via curl</figcaption></figure><p>The application is shipped with <a href="https://laravel.com/docs/9.x/sail#introduction">Laravel Sail</a>, which was introduced with Laravel 8. It's a command-line interface for interacting with Laravel's default Docker development environment. Sail provides a way for building a Laravel application without requiring prior Docker experience.</p><h2 id="run-the-laravel-application">🕹️ Run the Laravel application <a class="markdownit-header-anchor" href="#run-the-laravel-application">🔗</a></h2><p>Alright, the project is created. It's time to run the application. Navigate to the application directory and start Laravel Sail.</p><pre><code class="language-bash">cd laravel-i18n-gh-actions-example &amp;&amp; ./vendor/bin/sail up</code></pre><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-30-at-14.54.41.png" class="kg-image" alt loading="lazy" width="2000" height="1293" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-30-at-14.54.41.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-30-at-14.54.41.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-30-at-14.54.41.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-30-at-14.54.41.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Running the Laravel Sail</figcaption></figure><p>This process runs the application. It can take a while for the first time as application containers need to be built, so be patient. It's good to note - if you're a Docker expert - everything about Sail can be customized using the <code>docker-compose.yml</code> file included with Laravel. </p><p>After the application's Docker containers have been started, you can access the application in your web browser at: <a href="http://localhost/"><code>http://localhost</code></a>. You should see a screen similar to the one below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-11.09.17.png" class="kg-image" alt loading="lazy" width="2000" height="1122" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-11.09.17.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-11.09.17.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-11.09.17.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-11.09.17.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Laravel application up and running</figcaption></figure><h2 id="setup-git-what-do-we-want-to-achieve">🏷️ Setup Git - what do we want to achieve? <a class="markdownit-header-anchor" href="#setup-git-what-do-we-want-to-achieve">🔗</a></h2><p>In the following steps, we'll prepare our git repository for the workflow we'll set up later. As you can imagine, there are dozens of workflows suitable for different types of apps - it all depends on your needs.</p><p>I'd like to show you a relatively simple example so that you can understand the <a href="https://github.com/features/actions">GitHub Actions</a>. The following steps won't make much sense if you don't know what I want to achieve. So what is it?</p><p><strong>Imagine this workflow: </strong></p><ul><li>We have two main branches, <code>develop</code> and <code>master</code>,</li><li>then, for every task we work on, we create a new branch (depending on the task title - name it <code>foo</code> for our <em>foo simple task</em>),</li><li>in <code>foo</code> branch, we define new <a href="/faq/pricing/what-are-source-keys">source keys</a> as we work on the task,</li><li>when it's ready, we create a pull request to <code>develop</code>,</li><li>at this point, we want the source keys to be uploaded &amp; synced to Localazy for translation,</li><li>meanwhile, translators can work on translations,</li><li>then, when it's time to release the app, we will create a pull request from <code>develop</code> to <code>master</code>,</li><li>now, when we accept the PR and therefore push to <code>master</code> branch, we want to download the translations (in localization files) and push them to master with the code, and most likely run some other tasks (like test the app, build/ship the app, ...) - depending on your needs,</li><li>then, everything is ready.</li></ul><h3 id="create-and-initialize-the-git-repository">Create & initialize the Git repository <a class="markdownit-header-anchor" href="#create-and-initialize-the-git-repository">🔗</a></h3><p>Now we need to set up a Git. Go to your GitHub and create an empty repository. Copy the remote address and init git in our Laravel project.</p><pre><code class="language-bash">git init</code></pre><p>Then, add a new remote and paste the copied address.</p><pre><code class="language-bash">git remote add origin git@github.com:localazy/laravel-i18n-gh-actions-example.git</code></pre><p>Let's push the project to <code>master</code> branch. I use VSCode, so I've done it all in the user interface as it's more convenient, at least for me.</p><p> Then, create a <code>develop</code> branch and switch to it. Publish the branch to remote.</p><pre><code class="language-bash">git switch -c develop</code></pre><p>Now, create a <code>foo</code> branch and switch there. Our Laravel-related code things will be happening here. We'll get there in a moment.</p><pre><code class="language-bash">git switch -c foo</code></pre><h2 id="prepare-blade-templates-and-source-translation-files">🍃 Prepare Blade templates & source translation file(s) <a class="markdownit-header-anchor" href="#prepare-blade-templates-and-source-translation-files">🔗</a></h2><p>We're in the <code>foo</code> branch, it's time to prepare the <a href="https://laravel.com/docs/9.x/blade#introduction">Blade template</a> for <a href="https://laravel.com/docs/9.x/localization#introduction">localization</a>. There are two main approaches to localizing Laravel applications. One uses <a href="https://laravel.com/docs/9.x/localization#using-translation-strings-as-keys">PHP files</a>, and the second one uses <a href="https://laravel.com/docs/9.x/localization#using-translation-strings-as-keys">JSON files</a>. You can also combine them both together, which might also be a use case in your project.</p><p>Anyway, in this example, we're going to use <code>php</code> files. Translation files are located in the <code>lang</code> directory in the application root. As our source language is English, create a new file in the <code>en</code> directory called <code>welcome.php</code>.</p><figure class="kg-card kg-code-card"><pre><code class="language-php">return [
    'laravel' =&gt; 'Laravel',
    'home' =&gt; 'Home',
    'log_in' =&gt; 'Log in',
    'register' =&gt; 'Register',
    'documentation' =&gt; 'Documentation',
    'documentation_text' =&gt; 'Laravel has wonderful, thorough documentation covering every aspect of the framework. Whether you are new to the framework or have previous experience with Laravel, we recommend reading all of the documentation from beginning to end.',
    'laracasts' =&gt; 'Laracasts',
    'laracasts_text' =&gt; 'Laracasts offers thousands of video tutorials on Laravel, PHP, and JavaScript development. Check them out, see for yourself, and massively level up your development skills in the process.',
    'laravel_news' =&gt; 'Laravel News',
    'laravel_news_text' =&gt; 'Laravel News is a community driven portal and newsletter aggregating all of the latest and most important news in the Laravel ecosystem, including new package releases and tutorials.',
    'vibrant_ecosystem' =&gt; 'Vibrant Ecosystem',
    'vibrant_ecosystem_text' =&gt; 'Laravel\'s robust library of first-party tools and libraries, such as &lt;a href="https://forge.laravel.com" class="underline"&gt;Forge&lt;/a&gt;, &lt;a href="https://vapor.laravel.com" class="underline"&gt;Vapor&lt;/a&gt;, &lt;a href="https://nova.laravel.com" class="underline"&gt;Nova&lt;/a&gt;, and &lt;a href="https://envoyer.io" class="underline"&gt;Envoyer&lt;/a&gt; help you take your projects to the next level. Pair them with powerful open source libraries like &lt;a href="https://laravel.com/docs/billing" class="underline"&gt;Cashier&lt;/a&gt;, &lt;a href="https://laravel.com/docs/dusk" class="underline"&gt;Dusk&lt;/a&gt;, &lt;a href="https://laravel.com/docs/broadcasting" class="underline"&gt;Echo&lt;/a&gt;, &lt;a href="https://laravel.com/docs/horizon" class="underline"&gt;Horizon&lt;/a&gt;, &lt;a href="https://laravel.com/docs/sanctum" class="underline"&gt;Sanctum&lt;/a&gt;, &lt;a href="https://laravel.com/docs/telescope" class="underline"&gt;Telescope&lt;/a&gt;, and more.',
    'shop' =&gt; 'Shop',
    'sponsor' =&gt; 'Sponsor',
    'laravel_version' =&gt; 'Laravel v:version',
    'php_version' =&gt; '(PHP v:version)',
];</code></pre><figcaption>lang/en/welcome.php</figcaption></figure><p>For the sake of being specific, we can ignore <code>json</code> translation files, so create a <code>.gitignore</code> in the <code>lang</code> directory.</p><figure class="kg-card kg-code-card"><pre><code class="language-plaintext"># ignore json files
*.json</code></pre><figcaption>lang/.gitignore</figcaption></figure><p>As you can notice, the <code>welcome.php</code> file now contains keyed texts from the <code>welcome.blade.php</code> template. Now, replace the strings in the template for the keys we're just defined. Let me mention a couple of examples:</p><ul><li><code>&lt;title&gt;Laravel&lt;/title&gt;</code> ➡️ <code>&lt;title&gt;{{ __('welcome.laravel') }}</code>,</li><li><code>&lt;div ...&gt;&lt;a ...&gt;Documentation&lt;/a&gt;&lt;/div&gt;</code> ➡️ <code>&lt;div ...&gt;&lt;a ...{{ __('welcome.documentation') }}&lt;/a&gt;&lt;/div&gt;</code>,</li><li><code>&lt;div ...&gt;Laravel's robust library of...&lt;/div&gt;</code> ➡️ <code>&lt;div ...&gt;{!! __('welcome.vibrant_ecosystem_text') !!}&lt;/div&gt;</code>,</li><li><code>&lt;div ...&gt;Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})&lt;/div&gt;</code> ➡️ <code>&lt;div ...&gt;{ __('welcome.laravel_version', ['version' =&gt; Illuminate\Foundation\Application::VERSION]) }} {{ __('welcome.php_version', ['version' =&gt; PHP_VERSION]) }}&lt;/div&gt;</code>.</li></ul><p>The first two examples are pretty straightforward; this is standard syntax for displaying the translation string.</p><p>In the third example, we have to tell Blade not to escape the data. Although, you should be careful when echoing unescaped content as your app might then be vulnerable to XSS attacks.</p><p>Fourth example replaces placeholders we use in the <code>welcome.php</code> source language file (<code>:version</code>). To replace the placeholder in the Blade template, pass an array of replacements as the second argument to the <code>__</code> function.</p><blockquote>You can find even more examples including plurals, creating a language switcher (and more detailed explanation) in a great article about <a href="/blog/laravel-multilingual-i18n-php-localazy">How to build a multilingual PHP app with Localazy and Laravel</a> written by <a href="/blog/author/francisco-melo">Francisco Melo</a>, which was my starting point and an inspiration for composing this post.</blockquote><p>Just to test it out, if we refresh our page now - it should look exactly the same as before externalization.</p><h2 id="connect-laravel-application-to-localazy-project">💞 Connect Laravel application to Localazy project <a class="markdownit-header-anchor" href="#connect-laravel-application-to-localazy-project">🔗</a></h2><p>Go to the <a href="/register">Localazy signup</a> page and create a free account or <a href="/login">log in</a> (if you have already joined our community). Then, name your organization and create a new project. </p><p>Select English as the source language. Also, you can enable the <em>Use community translations (<a href="/docs/general/what-is-localazy-sharetm">ShareTM</a>) </em>option to get some strings translated automatically by Localazy.</p><p>On the integrations page, select <a href="/laravel">Laravel integration</a>. Copy the piece of code to the clipboard.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-30-at-19.00.34.jpg" class="kg-image" alt loading="lazy" width="2000" height="1122" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-30-at-19.00.34.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-30-at-19.00.34.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-30-at-19.00.34.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-30-at-19.00.34.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy.com - Laravel integration page</figcaption></figure><p>In your project root, create a file called <code>localazy.json</code>. This file serves as a config file for <a href="/docs/cli/the-basics">Localazy CLI</a>. The example above (which we'll modify to our needs) is one of the simplest forms of config. There are many ways how to adjust the <code>localazy.json</code> file to your needs, everything is described in detail in our <a href="/docs/cli/the-basics">documentation</a>.</p><p>Paste the code into <code>localazy.json</code>. This file should be pushed to the Git repository. Although, we should not push the secrets like <code>writeKey</code> and <code>readKey</code>. What do we do? Create one more file in the project root named <code>localazy.keys.json</code>, then cut &amp; paste keys into it. After that, add the latter file to <code>.gitignore</code>, also located in the project root.</p><figure class="kg-card kg-code-card"><pre><code class="language-plaintext"># other .gitignore contents...

# Localazy keys
localazy.keys.json</code></pre><figcaption>.gitignore</figcaption></figure><h2 id="update-localazyjson-to-fit-our-application">⚙️ Update localazy.json to fit our application <a class="markdownit-header-anchor" href="#update-localazyjson-to-fit-our-application">🔗</a></h2><p>Next, we have to tweak the <code>localazy.json</code> file a little bit in order for everything to work correctly. This is the final look:</p><figure class="kg-card kg-code-card"><pre><code class="language-json">{
    "upload": {
      "type": "php",
      "files": "lang/en/**.php"
    },
    "download": {
      "files": "lang/${lang}/${file}"
    }
}
</code></pre><figcaption>localazy.json</figcaption></figure><p>Let me explain: As I've already mentioned, I moved the <code>writeKey</code> and <code>readKey</code> to a separate file, so it's not here anymore. Property called <code>upload.files</code> has changed. The value says that we want to upload all the <code>php</code> files from <code>lang/en</code> directory. Files serve as source language files. A detailed explanation can be found in the <a href="/docs/cli/upload-reference">Upload reference</a>.</p><p>There's a similar change in the <code>download.files</code> section as well. The value of this property instructs CLI to download files with the same name as the uploaded file (placeholder <code>${file}</code>). Also, files should be grouped into folders by language (placeholder <code>${lang}</code>). All possible options described in detail can be found in the <a href="/docs/cli/download-reference">Download reference</a>. </p><p>Alright, commit and push our progress; it's time for the next step.</p><h2 id="optional-test-upload-locally">☝️ Optional: Test upload locally <a class="markdownit-header-anchor" href="#optional-test-upload-locally">🔗</a></h2><p>Just a reminder - we want to automate our workflow with GitHub Actions. If you don't want to test it locally, skip to the next section. But sometimes, developers would like to test the translations during development (I also wanted to make sure I set up everything properly before getting into GitHub actions). So, if you're interested, I'll show you how.</p><p>There are many ways to <a href="/docs/cli/installation">install the Localazy CLI</a> (depending on several factors). I wanted to use the <a href="/docs/cli/installation#docker">Docker image</a> to test it out, but unfortunately, Apple Silicon chips are not supported yet, therefore I used an <a href="/docs/cli/installation#npm">installation via NPM</a>.</p><p>Localazy advises to install the package to the system globally, although I installed it in the project folder.</p><pre><code class="language-bash">npm install @localazy/cli</code></pre><p>After that, to test the upload, use:</p><pre><code class="language-bash">npx localazy upload -s</code></pre><p>The parameter <code>-s</code> stands for simulate. It won't actually upload the strings to Localazy, but CLI will certainly tell you if anything possibly went wrong. All good, everything is set up correctly! We can proceed to GitHub Actions.</p><h2 id="add-secrets-to-our-repository">🤫 Add secrets to our repository <a class="markdownit-header-anchor" href="#add-secrets-to-our-repository">🔗</a></h2><p>To make GitHub Actions work, we need to create secrets in our repository. Why? Later, when we will be using <a href="https://github.com/marketplace/actions/localazy-upload">Localazy Upload</a> and <a href="https://github.com/marketplace/actions/localazy-download">Localazy Download</a> Actions, we need them to read <code>writeKey</code> and <code>readKey</code> from somewhere (in order to access our Localazy project properly). And as we do not want them to be pushed into the repository (reasons described earlier in the article), we'll add them as secrets.</p><p>In repo, navigate to <code>Settings -&gt; Secrets -&gt; Actions</code>. I named the secrets <code>LOCALAZY_READ_KEY</code> and <code>LOCALAZY_WRITE_KEY</code> respectively. Assign both its <code>readKey</code>/<code>writeKey</code> value, our configuration should look like this.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-30-at-20.03.29.png" class="kg-image" alt loading="lazy" width="1564" height="382" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-30-at-20.03.29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-30-at-20.03.29.png 1000w, https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-30-at-20.03.29.png 1564w" sizes="(min-width: 720px) 720px"><figcaption>laravel-i18n-gh-actions-example repository secrets</figcaption></figure><h2 id="automate-upload-with-github-actions">📤 Automate Upload with GitHub Actions <a class="markdownit-header-anchor" href="#automate-upload-with-github-actions">🔗</a></h2><p>In our IDE, create a <code>.github/workflows/upload.yml</code> file. Alternatively, you could do it all from a repository, go to <code>Actions -&gt; New workflow -&gt; Setup a workflow yourself</code>. Name it <code>upload.yml</code>, add the workflow code below and just push it. </p><p>This is what the code should look like:</p><figure class="kg-card kg-code-card"><pre><code class="language-yml">name: Localazy Upload

on:
  push:
    branches: [ develop ]
    paths: [ lang/en/**.php ]

  pull_request:
    branches: [ develop ]
    paths: [ lang/en/**.php ]

  workflow_dispatch:

jobs:
  localazy-upload:
    name: Upload source language strings to Localazy
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - uses: localazy/upload@v1
        with:
          read_key: ${{ secrets.LOCALAZY_READ_KEY }}
          write_key: ${{ secrets.LOCALAZY_WRITE_KEY }}
</code></pre><figcaption>.github/workflows/upload.yml</figcaption></figure><p>Let's dig into the file and explain it. Just to remind you, the general purpose of this action is to upload new source language strings to Localazy on <code>push</code> or <code>pull_request</code> in(to) <code>develop</code> branch. </p><p>Facts:</p><ul><li>We assigned a human-readable name <em>Localazy Upload</em> to the action,</li><li>the <code>on</code> controls when the workflow will run,</li><li>we want to trigger the workflow on <code>push</code> or <code>pull_request</code> into <code>develop</code> branch (given by <code>branches: [ develop ]</code>),</li><li>at the same time, we want to trigger the workflow only if any of the source language files changed (given by <code>paths: [ lang/en/**.php ]</code>),</li><li>we'd also like to allow running the workflow manually from the Actions tab (<code>workflow_dispatch:</code>),</li><li>we defined one <code>job</code> (a workflow run is made up of one or more jobs that can run sequentially or in parallel),</li><li>this <code>job</code> is called <code>localazy-upload</code> and has it's human-readable name <em>Upload source language strings to Localazy</em> (which then is displayed in GitHub Actions Workflow),</li><li>we specified that the type of runner that the job will run on is <code>ubuntu-latest</code>,</li><li><code>job</code> consists of two steps - a sequence of tasks that will be executed as part of the job,</li><li>first step <code>actions/checkout@v3</code> checks out your repository under <code>$GITHUB_WORKSPACE</code>, so your job can access it (documentation <a href="https://github.com/marketplace/actions/checkout">here</a>)</li><li>second step <code>localazy/upload@v1</code> reads the config from <code>localazy.json</code> and processes upload <code>with</code> using <code>read_key</code> and <code>write_key</code>,</li><li><code>read_key</code> and <code>write_key</code> values are read from <code>secrets.LOCALAZY_READ_KEY</code> and <code>secrets.LOCALAZY_WRITE_KEY</code> variables respectively.</li></ul><p>Let's test the workflow now. In our <code>foo</code> branch, commit and push all the changes we've made. Go to GitHub and make a pull request to <code>develop</code>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-17.02.36.png" class="kg-image" alt loading="lazy" width="2000" height="1156" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-17.02.36.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-17.02.36.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-17.02.36.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-17.02.36.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Create pull request develop &lt;- foo</figcaption></figure><p>As soon as the pull request is created, our workflow is triggered. You can tell by <em>Some checks haven't completed yet</em>. Also, there's an orange circle next to <em>Localazy Upload</em> workflow, which means it's running.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-17.09.12.png" class="kg-image" alt loading="lazy" width="2000" height="1155" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-17.09.12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-17.09.12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-17.09.12.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-17.09.12.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Pull request with running workflow</figcaption></figure><p>Clicking on <em>Details</em>, we can display the details of the steps of the workflow which is currently running.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-17.09.43.png" class="kg-image" alt loading="lazy" width="2000" height="1154" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-17.09.43.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-17.09.43.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-17.09.43.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-17.09.43.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Upload workflow result</figcaption></figure><p>Everything processed correctly! You can also click on an arrow next to each step to see its details. For example, if we click on <em>Run localazy/upload@v1</em> action output.</p><figure class="kg-card kg-code-card"><pre><code class="language-plaintext">Localazy CLI, v1.6.0
Command-line tool for the Localazy platform.

Read more information at https://localazy.com/docs/cli

Parameters:
  - deprecate missing: no
  - import as new: false
  - force current: false
  - filter source: true
  - app version: 0
  - groups: (default only)
  - folder: .

Processing files...

lang/en/welcome.php
(file: welcome.php, lang: inherited, type: php)

lang/en/validation.php
(file: validation.php, lang: inherited, type: php)

lang/en/auth.php
(file: auth.php, lang: inherited, type: php)

lang/en/passwords.php
(file: passwords.php, lang: inherited, type: php)

lang/en/pagination.php
(file: pagination.php, lang: inherited, type: php)

Verifying...

Validating...

Uploading 3 kB...

Upload results: 126 added, 0 updated, 0 deprecated
Using 397 out of 45000 source keys

Your app on Localazy: https://localazy.com/p/laravel-i18n-gh-action-example

Done.</code></pre><figcaption>localazy/upload@v1 action output</figcaption></figure><p>Great, let's go to the application in Localazy and check the <a href="/docs/general/importing-localization-files#importing-through-file-management">File Management</a> section. As we could see, all files are available there.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-17.27.23.png" class="kg-image" alt loading="lazy" width="2000" height="1153" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-17.27.23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-17.27.23.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-17.27.23.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-17.27.23.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy - File management</figcaption></figure><h2 id="translate-your-texts-in-localazy">🚩 Translate your texts in Localazy <a class="markdownit-header-anchor" href="#translate-your-texts-in-localazy">🔗</a></h2><p>Now, add a couple of languages and translate and approve some phrases. </p><p>Localazy offers three approaches to choose from and combine to translate your project: </p><ol><li>💪🏻 <strong>Translate on your own or invite contributors - </strong>You can <a href="/docs/general/translating-strings">start translating on your own</a> and use our built-in suggestion system. <a href="/docs/general/translating-strings#:~:text=a%20different%20purpose.-,Suggestions,-%2D%20translations%20from%20ShareTM">Suggestions</a> are drawn from the most popular <a href="/dictionary/machine-translation">machine translation</a> engines and the ShareTM mentioned above. To get some additional help as your project grows, you can <a href="/docs/general/defining-user-roles">invite volunteers or translators you already know</a>.</li><li>🦾 <strong>Translate everything in bulk via machine translation - </strong>With the Localazy <a href="/tiers/autopilot">Autopilot plan</a>, you can translate whole files instantly by <a href="/docs/general/additional-mt-engines#mt-pre-translate">running a machine translation over the content</a>. This is great for the first iteration and localization testing. </li><li>🚩 <strong>Fully automate the translation process with the <a href="/features/continuous-localization-team">Continuous Localization</a> services</strong> - Once your Localazy integration is set up, you can order translations from our vetted translators and get your project translated by professionals automatically. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to check the progress.</li></ol><p>For our purposes, I translated <code>welcome.php</code> it into <em>Czech</em>,<em> German, </em>and<em> Spanish.</em> You can see it all in the following two screenshots.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-17.31.13.png" class="kg-image" alt loading="lazy" width="2000" height="1156" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-17.31.13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-17.31.13.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-17.31.13.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-17.31.13.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy - List of languages</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-17.31.40.png" class="kg-image" alt loading="lazy" width="2000" height="1157" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-17.31.40.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-17.31.40.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-17.31.40.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-17.31.40.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy - Language phrases list</figcaption></figure><p>To summarize, from now on, on every pull request or push to develop, all new or updated source keys will be uploaded to Localazy ready to be translated.</p><p>Now, we can merge the pull request and close the <code>foo</code> branch. Then in our IDE, switch back to <code>develop</code> branch and <code>pull</code> updates.</p><pre><code class="language-bash">git switch develop &amp;&amp; git pull</code></pre><h2 id="automate-download-with-github-actions">📥 Automate Download with GitHub Actions <a class="markdownit-header-anchor" href="#automate-download-with-github-actions">🔗</a></h2><p>Similarly to upload, we need to create another workflow. Go to the project IDE and create a <code>download.yml</code> file in <code>.github/workflows</code> directory.</p><figure class="kg-card kg-code-card"><pre><code class="language-yml">name: Localazy Download
on:
  push:
    branches: [ master ]
    
  workflow_dispatch:

jobs:
  localazy-download:
    name: Download strings from Localazy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - uses: localazy/download@v1
        with:
          read_key: ${{ secrets.LOCALAZY_READ_KEY }}
          write_key: ${{ secrets.LOCALAZY_WRITE_KEY }}
      - run: |
          ls lang/**/**.php
      - run: |
          git config --local user.email "david@localazy.com"
          git config --local user.name "david-vaclavek[bot]"
          git add lang
          git commit -m "Add locale files" -a
      - uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branch: master
</code></pre><figcaption>.github/workflows/download.yml</figcaption></figure><p>To have the workflows in our blood, let's go through the file once again:</p><ul><li>We assigned a human-readable name <em>Localazy Download</em> to the action,</li><li>the <code>on</code> controls when the workflow will run,</li><li>we want to trigger the workflow on <code>push</code> to <code>master</code> branch (given by <code>branches: [ master ]</code>),</li><li>we like to allow to run the workflow manually from the Actions tab (<code>workflow_dispatch:</code>),</li><li>we defined one <code>job</code> (a workflow run is made up of one or more jobs that can run sequentially or in parallel),</li><li>this <code>job</code> is called <code>localazy-download</code> and has its human-readable name <em>Download strings from Localazy</em> (which then is displayed in GitHub Actions Workflow),</li><li>we specified that the type of runner that the job will run on is <code>ubuntu-latest</code>,</li><li><code>job</code> consists of five steps - a sequence of tasks that will be executed as part of the job,</li><li>first step <code>actions/checkout@v3</code> checks out your repository under <code>$GITHUB_WORKSPACE</code>, so your job can access it (documentation <a href="https://github.com/marketplace/actions/checkout">here</a>)</li><li>because we will be pushing into another repository, we need to use it <code>with</code> <code>fetch-depth: 0</code> to prevent errors pushing refs to the destination repository (more information on that can be found in <a href="https://github.com/marketplace/actions/github-push">GitHub Push</a> action documentation),</li><li>the second step <code>localazy/download@v1</code> reads the <code>download</code> config from <code>localazy.json</code> and processes download from Localazy <code>with</code> using <code>read_key</code> and <code>write_key</code>,</li><li><code>read_key</code> and <code>write_key</code> values are read from <code>secrets.LOCALAZY_READ_KEY</code> and <code>secrets.LOCALAZY_WRITE_KEY</code> variables respectively,</li><li>the third step can be skipped, but I just wanted to show you a list of files that were downloaded (<code>ls lang/**/.php</code> command),</li><li>the fourth step sets up a git configuration (<code>user.email</code>, <code>user.name</code>),</li><li>it also adds all the (new) files from <code>lang</code> repository into staging area (<code>git add lang</code>),</li><li>then it commits all the added files,</li><li>fifth step uses action called <code>ad-m/github-push-action@master</code>, which I've found browsing <a href="https://github.com/marketplace?category=&amp;query=&amp;type=actions&amp;verification=">GitHub Actions Marketplace</a> and is documented <a href="https://github.com/marketplace/actions/github-push">here</a>,</li><li>this action pushes previously committed files into <code>master</code> branch using <code>secrets.GITHUB_TOKEN</code> variable (<a href="https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret">more info about </a><code><a href="https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret">GITHUB_TOKEN</a></code><a href="https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret"> secret</a>).</li></ul><p>Generally speaking, <code>GITHUB_TOKEN</code> secret is here for security reasons and is created at the start of each workflow run by GitHub. It can be used to authenticate in a workflow run. When the <code>job</code> finishes, it expires.</p><p>Okay, now it's time to test our workflow. First, push the newly created file <code>download.yml</code> to remote. Let's create another pull request, this time to <code>master</code>. This time, there's no workflow running when we create a pull request - that's exactly what we wanted.</p><p>But as soon as we merge the pull request, our workflow will be triggered. When it finishes, we can go through the details of each step. For example, we can see what files we downloaded by <code>localazy/download@v1</code> action.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-18.24.36.png" class="kg-image" alt loading="lazy" width="2000" height="1155" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-18.24.36.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-18.24.36.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-18.24.36.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-18.24.36.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Download workflow result</figcaption></figure><p>When we check our repository, we can see that the <code>master</code> branch was updated with the new localization files, leaving the <code>develop</code> branch without them. And that's exactly what we wanted to do in this example.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-18.28.42.png" class="kg-image" alt loading="lazy" width="2000" height="1156" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-18.28.42.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-18.28.42.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-18.28.42.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-18.28.42.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>lang folder in the master branch</figcaption></figure><blockquote>Most of the steps regarding GitHub Actions were taken from <a href="/blog/automated-localization-github-actions-localazy">Automated Localization: GitHub Actions ❤ Localazy</a> article made by <a href="/blog/author/vaclav-hodek">Václav Hodek</a> - thank you for the inspiration.</blockquote><h2 id="the-last-step-see-our-translated-application">🎉 The last step - see our translated application <a class="markdownit-header-anchor" href="#the-last-step-see-our-translated-application">🔗</a></h2><p>We got to the end of this article. But it wouldn't be completed without showing you the result. We need to tweak the Laravel web <a href="https://laravel.com/docs/9.x/routing#basic-routing">routing</a> a bit so it takes passed language into account. Normally, you'd work in a separate branch (maybe <code>foo2</code>?), merge it to <code>develop</code>, test it, then merge it to <code>master</code> or so... But for our purposes, let's just quickly test it.</p><p>Let's switch to <code>master</code> in your IDE and <code>git pull</code> the changes. Go to <code>routes/web.php</code>. In this file, you can register web routes for the application. Update the code:</p><figure class="kg-card kg-code-card"><pre><code class="language-php">&lt;?php

use Illuminate\Support\Facades\Route;

Route::get('/{locale?}', function ($locale = null) {
    if (isset($locale)) {
        app()-&gt;setLocale($locale);
    }

    return view('welcome');
});</code></pre><figcaption>routes/web.php</figcaption></figure><p>With the code above, we tell the app to set its locale if there's a <code>locale</code> parameter in the path. That's it, the rest of it is done automatically. Try some of these URLs:</p><ul><li><code><a href="localhost/en">localhost/en</a></code> (or simply <code><a href="localhost">localhost</a></code>)</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-18.44.10.png" class="kg-image" alt loading="lazy" width="2000" height="1122" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-18.44.10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-18.44.10.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-18.44.10.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-18.44.10.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Our application in English, the source language</figcaption></figure><ul><li><code><a href="localhost/es">localhost/es</a></code></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-18.44.39.png" class="kg-image" alt loading="lazy" width="2000" height="1122" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-18.44.39.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-18.44.39.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-18.44.39.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-18.44.39.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Our application in Spanish, translated by Localazy</figcaption></figure><ul><li><code><a href="localhost/de">localhost/de</a></code></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-18.45.00.png" class="kg-image" alt loading="lazy" width="2000" height="1122" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-18.45.00.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-18.45.00.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-18.45.00.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-18.45.00.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Our application in German, translated by Localazy</figcaption></figure><ul><li><a href="localhost/cs"><code>localhost/cs</code></a></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/Screenshot-2022-03-31-at-18.44.22-1.png" class="kg-image" alt loading="lazy" width="2000" height="1123" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/Screenshot-2022-03-31-at-18.44.22-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/Screenshot-2022-03-31-at-18.44.22-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/03/Screenshot-2022-03-31-at-18.44.22-1.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/03/Screenshot-2022-03-31-at-18.44.22-1.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Our application in Czech, translated by Localazy</figcaption></figure><p></p><ul><li><code><a href="localhost/pl">localhost/pl</a></code> - oops, there's a fallback to English, which is set as a default language (more on that <a href="https://laravel.com/docs/9.x/localization#configuring-the-locale">here</a>)</li></ul><p>To see if some translations are missing without visiting Localazy, you can use the <a href="https://laravel-news.com/laravel-translations-checker">Laravel Translation Checker</a>. This way, you can be comfortably tucked in your IDE and fully focus on building your Laravel project. But we hope you will say hi and see what's new inside Localazy from time to time. </p><h2 id="source-code">🎁 Source Code <a class="markdownit-header-anchor" href="#source-code">🔗</a></h2><p>The source code of this demo project is available on <a href="https://github.com/localazy/laravel-i18n-gh-actions-example">GitHub</a>. Do not forget to explore the content of the <code>.github/workflows</code> folder!</p><h2 id="localize-your-laravel-project-and-get-rewarded">🏆 Localize your Laravel project and get rewarded! <a class="markdownit-header-anchor" href="#localize-your-laravel-project-and-get-rewarded">🔗</a></h2><p>If you were looking for a way to finally localize your Laravel project and got inspired by this article, we would love to hear your story and <a href="/tags/interview">feature your product on our blog</a>. Bookmark this article and <a href="/community/shake-hands/publish-interview">fill in the interview form</a> once you get Localazy up and running.</p><p>💰 <strong>Bounty offer</strong>: If you think you could find a better way of integrating Localazy with the Laravel Framework and would like to develop your own integration, library, or utility, <a href="/community/b2b-partnerships/custom-integrations">let us know</a>!</p><h2 id="lessstronggreaterconclusionlessstronggreater">✔️ <strong>Conclusion</strong> <a class="markdownit-header-anchor" href="#lessstronggreaterconclusionlessstronggreater">🔗</a></h2><p>We hope you liked this article showing the power of Localazy and GitHub Actions for Laravel localization. We believe that anything that can be automated, should be automated, and localization is one of those things.</p><p>Feel free to contact us at <a href="mailto:team@localazy.com" rel="noopener noreferrer">team@localazy.com</a> if you have any questions regarding this tutorial or Localazy in general. You can also <a href="https://discord.gg/CAVhHrh" rel="noopener noreferrer">join the Localazy Discord</a> to see what other developers using Localazy are up to or <a href="https://github.com/Localazy-Community" rel="noopener noreferrer">accept our invitation to the Localazy Community on GitHub</a> where you will find more community-sourced assets for your Laravel projects you can contribute to. Looking forward to meeting you there!</p>]]></content:encoded>
            <author>David Václavek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/03/Laravel-GH.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 10 Android Libraries to boost your development in 2022]]></title>
            <link>https://localazy.com/blog/top-10-android-libraries-to-boost-your-development-in-2022</link>
            <guid isPermaLink="false">top-10-android-libraries-to-boost-your-development-in-2022</guid>
            <pubDate>Fri, 01 Apr 2022 13:55:17 GMT</pubDate>
            <description><![CDATA[Find the top 10 Android libraries to help you with your app development in 2022. Some of them you may already know, but we are sure you can find a hidden gem among these!]]></description>
            <content:encoded><![CDATA[<p>As an <a href="/android">Android</a> developer, you have used a lot of libraries in your applications. With libraries, we leverage the efforts of other developers to perform some actions faster, more effectively, and with lesser boilerplate codes. Aside from all of that, libraries are there to help us speed up the development. </p><p>This article will cover various libraries from the different categories, including the most common ones we use in Android Application development.</p><h2 id="lessstronggreaterretrofitlessstronggreater">🔲 <strong>Retrofit</strong> <a class="markdownit-header-anchor" href="#lessstronggreaterretrofitlessstronggreater">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/04/image.png" class="kg-image" alt loading="lazy" width="1275" height="678" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/04/image.png 1000w, https://ghost.localazy.com/content/images/2022/04/image.png 1275w" sizes="(min-width: 720px) 720px"><figcaption>Source: https://square.github.io/retrofit/</figcaption></figure><p>A considerable amount of Android applications rely on communicating with a server or online stored database. The most popular one is Retrofit. Retrofit is a type-safe REST client for Android and <a href="/dictionary/java">Java</a>. Previously, if you wanted to make a network request, you needed to execute an AsyncTask class and then use <strong>HttpsUrlConnection</strong> to fetch data, which was not ideal when dealing with APIs returning large data. Retrofit now resolves this.</p><p><strong>GitHub:</strong> <a href="https://github.com/square/retrofit">https://github.com/square/retrofit</a> </p><h2 id="lessstronggreaterglidelessstronggreater">🛩️ <strong>Glide</strong> <a class="markdownit-header-anchor" href="#lessstronggreaterglidelessstronggreater">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/04/image-1.png" class="kg-image" alt loading="lazy" width="800" height="240" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/image-1.png 600w, https://ghost.localazy.com/content/images/2022/04/image-1.png 800w" sizes="(min-width: 720px) 720px"><figcaption>Source: https://bumptech.github.io/glide/</figcaption></figure><p>You need to show a list of images from an external source, but you end up with not properly loaded images or endless loading; the solution is here. Glide is a powerful image loader and one of the best new Android libraries for developers, and it is also recommended by Google.</p><p>Glide provides animated GIF support while handling image loading and caching and helps in fetching, decoding, and displaying video calls, images, and these GIFs, which is a wide amount of features.</p><p>This library primarily aims to make the scrolling process for any list of images as smooth as possible. It is also effective in case you need to fetch, resize, or even display a remote image.</p><p><strong>GitHub:</strong> <a href="https://github.com/bumptech/glide">https://github.com/bumptech/glide</a><br></p><h2 id="lessstronggreatermpandroidchartlessstronggreater">📊 <strong>MPAndroidChart</strong> <a class="markdownit-header-anchor" href="#lessstronggreatermpandroidchartlessstronggreater">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/04/image-2.png" class="kg-image" alt loading="lazy" width="800" height="200" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/image-2.png 600w, https://ghost.localazy.com/content/images/2022/04/image-2.png 800w" sizes="(min-width: 720px) 720px"><figcaption>Source: https://github.com/PhilJay/MPAndroidChart</figcaption></figure><p>MPAndroidChart is a powerful Android chart/graph view library. It supports many different views such as line, bar, bubble, pie, radar, and candlestick charts, along with scaling, animations, and dragging. </p><p>This library is relatively easy to integrate and use. Fully customizable views and a pretty extensive range of features will definitely leave you speechless.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/04/image-3.png" class="kg-image" alt loading="lazy" width="1000" height="496" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/image-3.png 600w, https://ghost.localazy.com/content/images/2022/04/image-3.png 1000w" sizes="(min-width: 720px) 720px"><figcaption>Combined-Chart | Source: https://github.com/PhilJay/MPAndroidChart</figcaption></figure><p><strong>GitHub:</strong> <a href="https://github.com/PhilJay/MPAndroidChart">https://github.com/PhilJay/MPAndroidChart</a></p><h2 id="lessstronggreaterroomlessstronggreater">🗂️ <strong>Room</strong> <a class="markdownit-header-anchor" href="#lessstronggreaterroomlessstronggreater">🔗</a></h2><p>Room is now considered a better approach for data persistence than SQLiteDatabase. It makes it easier to work with SQLiteDatabase objects in your app, decreasing the amount of boilerplate code and verifying SQL queries at compile time. </p><p>This library features a beautiful <a href="/dictionary/api">API</a> that is pretty similar to Retrofit, so once you are already using one of them, you won’t have any problem with integration and setup. The main benefit of the Room database is simplicity, unlike other ORMs, which come with much more complex APIs that require you to read all the documentation thoroughly before you can use them. </p><p>The Room is incredibly easy to understand, super-fast, and will definitely save your time while developing.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/04/image-4.png" class="kg-image" alt loading="lazy" width="600" height="542" srcset="https://ghost.localazy.com/content/images/2022/04/image-4.png 600w"><figcaption>Source: https://developer.android.com/training/data-storage/room</figcaption></figure><p><strong>Android Official:</strong> <a href="https://developer.android.com/training/data-storage/room">https://developer.android.com/training/data-storage/room</a><br></p><h2 id="lessstronggreaterandroid-ktxlessstronggreater">🕹️ <strong>Android KTX</strong> <a class="markdownit-header-anchor" href="#lessstronggreaterandroid-ktxlessstronggreater">🔗</a></h2><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/nKzvYBMdm54" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>Android KTX is a set of <a href="/dictionary/kotlin">Kotlin</a> extensions that wraps the Android API and makes it more user-friendly and pleasant to use. It adds many cool new features and methods of Kotlin, such as named parameters, lambdas, and default parameter values. </p><p>This library changes the way we use the actual Android API, and for that reason, it should become the core of every single Android application written in Kotin. This library has only one downside: “digging through the library code,” which is the only way to learn about all the features it offers. Once you master them, you’ll see how much time you would actually save during the development. </p><p><strong>Android Official:</strong> <a href="https://developer.android.com/kotlin/ktx">https://developer.android.com/kotlin/ktx</a><br></p><h2 id="lessstronggreaterlottielessstronggreater">🎥 <strong>Lottie</strong> <a class="markdownit-header-anchor" href="#lessstronggreaterlottielessstronggreater">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/04/image-11.png" class="kg-image" alt loading="lazy" width="360" height="360"><figcaption>Source: http://airbnb.io/lottie/#/</figcaption></figure><p>Every Android application developer wants their apps to be user-friendly as possible with the great UI and animations. Most of them found the animations challenging to make and maintain, so they avoided them. Here is one excellent library that can help out.</p><p>Lottie is one of the Android development libraries that parses Adobe After Effects animations exported as <a href="/dictionary/json">JSON</a> with Bodymovin and renders them natively on mobile. With Lottie, designers can create beautiful animations without engineers thoroughly recreating them by hand. The library allows a developer to go backward and forward, and most importantly, it allows program animation to respond to any interaction.</p><p><strong>GitHub:</strong> <a href="https://github.com/airbnb/lottie-android">https://github.com/airbnb/lottie-android</a><br></p><h2 id="lessstronggreaterandroid-fastscrolllessstronggreater">📜 <strong>Android FastScroll</strong> <a class="markdownit-header-anchor" href="#lessstronggreaterandroid-fastscrolllessstronggreater">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/04/image-6.png" class="kg-image" alt loading="lazy" width="180" height="180"><figcaption>Source: https://github.com/zhanghai/AndroidFastScroll</figcaption></figure><p>Many of you have actually seen this but never thought about its implementation. There is no official component or Google library for such a thing, but luckily, we have a custom one.</p><p>This library adds a fast scroll for your RecyclerView and offers more customization for the track, thumb, popup, animation, and scrolling. Implementation is pretty clean too.</p><p><strong>GitHub:</strong> <a href="https://github.com/zhanghai/AndroidFastScroll">https://github.com/zhanghai/AndroidFastScroll</a><br></p><h2 id="lessstronggreaterbroccolilessstronggreater">🥦 <strong>Broccoli</strong> <a class="markdownit-header-anchor" href="#lessstronggreaterbroccolilessstronggreater">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/04/image-7.png" class="kg-image" alt loading="lazy" width="335" height="90"><figcaption>Source: https://github.com/samlss/Broccoli</figcaption></figure><p>Many Android applications use a full-screen loading screen or progress dialog when they need to update UI from a database or parse the server result after a successful request. There is a much cleaner and better way of doing this with a Broccoli library. </p><p>This library allows you to show a nice animated (or static) placeholder of a view when you load something. It can be used with RecyclerView, and it’s easy to implement.</p><p><strong>GitHub:</strong> <a href="https://github.com/samlss/Broccoli">https://github.com/samlss/Broccoli</a><br></p><h2 id="lessstronggreatervolleylessstronggreater">🏐 <strong>Volley</strong> <a class="markdownit-header-anchor" href="#lessstronggreatervolleylessstronggreater">🔗</a></h2><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/04/image-8.png" class="kg-image" alt loading="lazy" width="900" height="479" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/image-8.png 600w, https://ghost.localazy.com/content/images/2022/04/image-8.png 900w" sizes="(min-width: 720px) 720px"></figure><p>Another library that is well known among Android developers is Volley. Volley is an HTTP library that makes networking for Android apps easier and, most importantly, faster. Volley is definitely not something for streaming operations or large downloads since it holds all the responses in memory during parsing, so you’ll need to use an alternative like DownloadManager.</p><p>But it offers a lot of other benefits such as:</p><ul><li>Automatic scheduling of network requests.</li><li>Multiple concurrent network connections.</li><li>Support for request prioritization.</li><li>Strong ordering makes it easy to correctly populate your UI with data fetched asynchronously from the network.</li><li>And much more...</li></ul><p><strong>Android Official:</strong> <a href="https://developer.android.com/training/volley">https://developer.android.com/training/volley</a><br></p><h2 id="lessstronggreaterfirebaselessstronggreater">🔥 <strong>Firebase</strong> <a class="markdownit-header-anchor" href="#lessstronggreaterfirebaselessstronggreater">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/04/image-9.png" class="kg-image" alt loading="lazy" width="1280" height="360" srcset="https://ghost.localazy.com/content/images/size/w600/2022/04/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/04/image-9.png 1000w, https://ghost.localazy.com/content/images/2022/04/image-9.png 1280w" sizes="(min-width: 720px) 720px"><figcaption>Source: https://firebase.google.com/</figcaption></figure><p>As the cherry on the top, we have a toolset by Google which aims to help the developers build, improve, and grow their apps. It offers a large portion of the services developers would manually have to build by themselves. Now, it’s easier. <a href="/dictionary/firebase">Firebase</a> includes things like Analytics, Databases, File storage, Push messaging, Crashlytics, and much more.</p><p><strong>Firebase Official:</strong> <a href="https://firebase.google.com">https://firebase.google.com</a></p><h2 id="bonus-localazy-android-library">🚩 Bonus: Localazy Android Library <a class="markdownit-header-anchor" href="#bonus-localazy-android-library">🔗</a></h2><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/UymDt20nOIc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>Also, don't forget about the <a href="/docs/android/localazy-android-library">Localazy Android Library</a>. If you are already localizing your Android app with Localazy, implementing the library will help you improve users’ experience and get more volunteers.  </p><p>The Localazy Android library translates the app on the fly, updates translations, collects and sends anonymous statistics, and provides additional methods for controlling how your app is translated. </p><blockquote>Follow the guide on <a href="/blog/quick-guide-to-android-localization-localazy">How to get started with Localazy for Android.</a></blockquote><h2 id="conclusion">✔️ Conclusion  <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>How many of these libraries did you already know? Do you already use some of them? Do you think something is missing that should be on the list? Let us know in the comments!</p>]]></content:encoded>
            <author>Danijel Markov</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/04/Android-TOP10--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: iamstudent.com, helping students save in a global world]]></title>
            <link>https://localazy.com/blog/interview-iamstudent-helping-students-save-in-a-global-world</link>
            <guid isPermaLink="false">interview-iamstudent-helping-students-save-in-a-global-world</guid>
            <pubDate>Wed, 14 Dec 2022 23:02:19 GMT</pubDate>
            <description><![CDATA[“Good fair pricing, very nice interface and CLI. It just works!” Stefan Pointecker, CTO and founder of iamstudent, loves Localazy. Learn why and find out more about the portal connecting students in Germany, Austria, and Switzerland with local businesses and global brands in this interview.]]></description>
            <content:encoded><![CDATA[<h2 id="introduction">🎒 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2><p><strong>Hi Stefan, thank you very much for your time. Could you briefly introduce yourself and your product?</strong><br>Hi, my name is Stefan and I am the CTO and co-founder of <a href="https://www.iamstudent.com?utm_source=localazy&amp;utm_medium=web&amp;utm_campaign=interview">iamstudent.com</a>. Our platform connects businesses, universities, and students in <a href="https://www.iamstudent.at?utm_source=localazy&amp;utm_medium=web&amp;utm_campaign=interview">Austria</a>, <a href="https://www.iamstudent.de?utm_source=localazy&amp;utm_medium=web&amp;utm_campaign=interview">Germany</a>, and <a href="https://www.iamstudent.ch?utm_source=localazy&amp;utm_medium=web&amp;utm_campaign=interview">Switzerland</a>. We gather student discounts and benefits from our partners and provide a way for students to enjoy their student years with ease.</p><p><strong>How many discounts does your platform offer? How many students have signed up?</strong><br>At the moment we offer around 250 different discounts on iamstudent. Ranging from your local 🍔 burger restaurant to global brands like 📱 Samsung. Those discounts can be used by our ~360.000 verified students.</p><p><strong>What is your vision? Do you offer only discounts or strive to become a closer companion to your students?</strong><br>Our claim is “For a student life without limits.” We believe that supporting students during their education is beneficial not only for students and their families but also for businesses and society as a whole. 👨‍🏫</p><p>In addition to our discounts, we offer students a way to review and rate their universities and therefore provide important insights for future students. 🏫 Universities, on the other hand, are able to introduce themselves to our target group. Furthermore, we offer a way to publish 💼 jobs for students on our platform, and in the future, there will be more services available for our users.</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/Ksz2fe9RiBoB107YSnKM5bQ7gBW-fHSC2ZHNZqddF_FyzpJd46bYJEITE7Wx0A4q8OY5KN4YIlp_yEjsqhaqijOce5SJbn-dy5vQrClUfzBksgIV-sTXJ4S2NuIXaskTe_s-a2jT" class="kg-image" alt loading="lazy"></figure><h2 id="innovation-and-entrepreneurship">💡 Innovation and entrepreneurship <a class="markdownit-header-anchor" href="#innovation-and-entrepreneurship">🔗</a></h2><p><strong>What is your product's unique value proposition that sets it apart from its competitors? In which fields are you innovating?</strong><br>Our motto is <em>"Delivering Happiness"</em> (RIP Tony Hsieh) - and that's how we act towards our customers and our users. We know that we have the best customer service in our field and that is something we are really proud of. We also try to use state-of-the-art technology (like <a href="/dictionary/machine-learning">Machine Learning</a>) and infrastructure (like Kubernetes).</p><p><strong>If you could start again with your product, what would you do differently from today’s perspective?</strong><br>Product-wise I would try to find other products (SaaS tools) that solve my problems without building solutions on my own. There are so many great products out there solving almost every problem. Combined with no-code tools like Zapier and others, these are really powerful. We’ve been using them for years now, but we should have started way earlier with that.</p><p><strong>Any future projects or plans?</strong><br>Recently, we launched iamstudent in ⛰️ Switzerland. We’ll see which country is next! Furthermore, we always try to rebuild parts of our product to make it better and use the latest technology. For instance, we are in the middle of rebuilding our frontend with <a href="/react">React</a>. Some parts are already rebuilt and the rest will follow soon. Of course, there will also be more services soon. Stay tuned!</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/ECeisKEUSre2-Hgj0z4XYJvL10IHWDnr2VZXAvMIPAHNkeJiz5xGUTRcOcSbtZvNz23FX3NE3cO5hQ16WxGJZ0Wxo5_tU4tAqSMMOUD8jWxispL5XToX1gtSD-W83FUZaPnFKMq-" class="kg-image" alt loading="lazy"></figure><p><strong>Do you think the drive for entrepreneurship is something people are either born with or not, or is it something that can be taught?</strong><br>I think the passion for being an entrepreneur is something you have to be born with, but the skills you need to be successful are definitely something you need to teach yourself on the way to success.</p><p>Nevertheless, I would love to see more fields regarding entrepreneurship in schools. It’s important to educate and support children to become successful founders in the future.</p><p><strong>What do you think – how will your industry look in about 10 years from now?</strong><br>In my opinion, a lot of universities and educational institutions need to digitize their administration in the near future. Established universities will struggle to get enough students because there are going to be more and more private universities. All this will lead to trying to provide students with benefits at their university to bind them (like corporate benefits). That's where we come into play. </p><h2 id="favorite-tools">🛠️ Favorite tools <a class="markdownit-header-anchor" href="#favorite-tools">🔗</a></h2><p><strong>Would you like to highlight some services or products you really like to use on your own?</strong><br>Of course, Localazy. It is one of the best-built products we are using. </p><p><strong>Happy to hear that! Why did you choose Localazy?</strong><br>Good fair <a href="/pricing">pricing</a>, very nice interface, and <a href="/docs/cli">CLI</a>, it just works! The simplicity which Localazy provides with their CLI is just awesome, especially for developers! </p><p>Localazy hasn't stopped development since I joined. You can see progress every time you come back and log in. That is something really important and I haven’t seen that often with other tools.</p><p><strong>Thank you! Is there anything else you would like to recommend?</strong><br>These are some of the services that we also love and use:</p><ul><li><strong><a href="https://firebase.google.com/?hl=es">Firebase</a></strong>: We use Firebase for push notifications, logs, and analytics in our mobile app.</li><li><a href="https://wordpress.org/plugins/gumlet/"><strong>Gumlet</strong></a>: Gumlet is a tool to scale your images just the size you need them. It is super easy to use and makes a huge difference regarding site loading performance.</li><li><a href="https://www.bannerbear.com/"><strong>Bannerbear</strong></a>: Bannerbear is a great tool to automate the creation of e.g. social images. We integrated this in our Zapier Zaps to create Instagram posts. But you can do way more than this.</li><li><strong><a href="https://appradar.com">App Radar</a></strong>: App Radar is used to monitor our apps in the App and Play Store. Easy to use and has a good UI.</li></ul><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p><strong>Thank you very much, Stefan! Is there something you would like to say?</strong><br>➡️ To all students out there: have a look at our <a href="https://www.iamstudent.com?utm_source=localazy&amp;utm_medium=web&amp;utm_campaign=interview">website</a> or app (<a href="https://apps.apple.com/app/apple-store/id1210367722?pt=118579608&amp;ct=localazy-web&amp;mt=&amp;?utm_source=localazy&amp;utm_campaign=web">iOS</a> and <a href="https://play.google.com/store/apps/details?id=com.iamstudent&amp;utm_source=localazy&amp;utm_campaign=web">Android</a>) and start saving money today!</p><p><strong>Very well! And for all students considering using Localazy for their hobby projects, <a href="/contact">get in touch</a>, we will be happy to help you! </strong></p><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Marta G. Coloma</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Interview-iamstudent.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[12 reasons why Localazy is better than spreadsheets for localization projects]]></title>
            <link>https://localazy.com/blog/12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects</link>
            <guid isPermaLink="false">12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects</guid>
            <pubDate>Fri, 03 Oct 2025 10:31:58 GMT</pubDate>
            <description><![CDATA[Are you still handling translations in Excel or Google Spreadsheets? Are you sending files back and forth, copypasting translations, and feeling frustrated when something needs to be updated? We have good news for you! Localazy makes the process effortless and saves you a tremendous amount of time.]]></description>
            <content:encoded><![CDATA[<p>For those who love mundane data entry and have no problem waiting years for <a href="/dictionary/localization">localization</a> projects to be completed, spreadsheets might be a sensible option. But for those who want the <a href="/dictionary/translation">translation</a> of their apps and websites to be completed in a matter of hours (without employees screaming for a break), spreadsheets deserve to be buried in the past. ⚰️</p><p>The time has come for efficient business processes thanks to the advancements in technology that combine machine learning algorithms and human intelligence to produce materials that are to be envied by the old-fashioned translator. 😎</p><p>We work daily to contribute to the field of digital translations here at Localazy, and every day it gets more and more exciting. Here are 12 reasons why we believe that software localization is the future and that Localazy holds the keys to its door. 💪</p><h2 id="1-new-and-updated-strings-are-handled-correctly">🎯 1. New and updated strings are handled correctly <a class="markdownit-header-anchor" href="#1-new-and-updated-strings-are-handled-correctly">🔗</a></h2><p>Manging source strings with all their versions, attached notes, and further context is harrowing if done with spreadsheets. Localazy gives the users assigned under a Managerial role the option to add and edit strings and additional context and keeps track of the updates and changes for later reference. 🆕😀 </p><p>Some of the main actions users can perform when managing the source language content include:</p><ul><li><strong>Edit content and form</strong> - Each string is accompanied with the respective details about its context, location, use, and previous versions. Perform changes and add notes for reviewers and translators to refer to. 😉</li><li><strong>Request updates for translations </strong>- Updating the source string may require changes in its translations. Hit a checkbox to notify translators of the needed changes. ☑️</li><li><strong>Make Localazy your single source of truth - </strong>When running the localazy download command from Localazy CLI, you can choose to download the source language content as well. ⬇️</li></ul><blockquote>Explore further details of the process together with visual illustrations <a href="/docs/general/editing-source-language">here</a>.</blockquote><h2 id="2-manage-people-and-not-only-strings">🎯 2. Manage people and not only strings <a class="markdownit-header-anchor" href="#2-manage-people-and-not-only-strings">🔗</a></h2><p>Working on a translation project requires constant communication back and forth between translators, <a href="/blog/unique-review-process-and-self-managed-translations#identify-contributors-with-bad-intentions">reviewers, </a>and project owners. Doing this through spreadsheets requires communicating via other additional channels, which can be truly annoying. 😓</p><p>When working with Localalzy, the experience is quite different because all these walls in the communication processes are demolished with a tap. 😀💥 Also, there's no need to worry about giving the wrong permission to the wrong contributors. When using Localazy, you can assign contributors to different roles with different permission levels. </p><p>Preserve quality while giving everyone the chance to contribute. 😇➡️ In order to assign roles to other users, you have to be a Manager or above. If you have this status, simply hit the "Contributors" tab in the menu and modify the user roles. </p><p><strong>Here are some of the different roles you can assign in your translation project in Localazy:</strong></p><ul><li>✅ Translator</li><li>✅ Trusted Translator</li><li>✅ Reviewer</li><li>✅ Owner</li><li>✅ Manager</li><li>☑️ No relation</li></ul><p>Managing people is quite straightforward when working with Localazy. Categorizing users by different roles allows you to avoid those contributors who harm the quality of your translations and identify those who deliver the best work. 🏆</p><p>Since Localazy doesn't allow users to lock phrases or finalize projects without the option to make additional improvements or changes, you can let anyone join the party and still maintain control. 🥳️👮‍♂️</p><blockquote>See a more in-depth <a href="/docs/general/defining-user-roles">article</a> on assigning roles.</blockquote><h2 id="3-automated-uploading-downloading-or-merging">🎯 3. Automated uploading, downloading, or merging <a class="markdownit-header-anchor" href="#3-automated-uploading-downloading-or-merging">🔗</a></h2><p>Localazy offers many ways of <a href="/integrations">integrating</a> your project with it. The <a href="/docs/cli/installation">CLI </a>(Command Line Interface) is the most popular and is available for the majority of platforms such as Linux, macOS, and Windows as a Docker image, or a Java app. ☕️ </p><p>CLI helps immensely when working with files and automates time-consuming processes that used to take hours and days to be done through spreadsheets. ⏱</p><h3 id="command-interface-line-cli">Command Interface Line (CLI) 👨‍💻 <a class="markdownit-header-anchor" href="#command-interface-line-cli">🔗</a></h3><p>Wave goodbye to the manual uploading, <a href="/docs/cli/download-reference">downloading</a> and merging process. Localazy allows a seamless movement of files in just a few practical steps. ⬆️ For example, let's take <a href="/docs/cli/upload-reference">uploading</a>. Here's what happens when uploading:</p><ol><li>The system scans the target directory and selects only those files which match patterns. 👀</li><li>All files are resolved based on all parameters, and those fulfilling the false <a href="/docs/cli/conditions">conditions</a> are skipped. 🙃</li><li>Files go through a verification process (concerning file types, features, etc.), and then everything is uploaded into the server in a single batch. 💻</li><li>After each update, the server processes each file asynchronously and sends notifications on the Localazy platform. 🛎</li></ol><p>#️⃣ Also, you can quickly run commands to remove languages, add or remove translations, update with the latest versions, etc., with the help of <a href="/docs/cli/release-tags">release tags</a>.</p><h3 id="cicd-continous-integrationcontinous-delivery">CI/CD (Continous Integration/Continous Delivery) 🔁 <a class="markdownit-header-anchor" href="#cicd-continous-integrationcontinous-delivery">🔗</a></h3><p>The fun is not over yet. We still have many more features that turn localization into a smooth automated process. 🌊</p><blockquote>(<em>Tip:</em> Beware of falling asleep. Start listing some good movies to put in the background. 😜)</blockquote><ul><li><strong>Use Github Actions to automate localization. </strong>Continuous localization requires constant updates on localized content as new features roll out. Localazy integrates with Github Actions to provide full automation of the localization process. <a href="/blog/automated-localization-github-actions-localazy">Learn how to activate it</a>. ✅</li><li><strong>Automated localization with GitLab CI/CD. </strong>GitLab CI/CD is wonderful for performing simple automation tasks (e.g., only the upload part) to more sophisticated ones. Get your hands on this 4-minute <a href="/blog/automated-localization-gitlab-cicd-localazy">starter template</a>. ⌚️😁</li><li><strong>Bitrise.io + Localazy = full automation. </strong>Created for app developers, Bitrise.io allows users to automate localization and deployment using its workflow editor or YAML. Localazy <a href="/blog/automated-localization-gitlab-cicd-localazy">integrates with Bitrise.io</a> seamlessly. ⚒️🤝</li></ul><h3 id="localazy-api-android-and-apple-sdks-and-cdn">Localazy API, Android & Apple SDKs, and CDN <a class="markdownit-header-anchor" href="#localazy-api-android-and-apple-sdks-and-cdn">🔗</a></h3><p>CLI combined with CI/CD is the most popular and universal way of integrating your project, but Localazy also offers:</p><ul><li>Special SDKs for <a href="/docs/android/localazy-gradle-plugin">Android</a> and <a href="/docs/ios/installation-and-setup">iOS</a> developers, ensuring seamless integration and data exchange.</li><li><a href="/docs/api/introduction">Public API</a> for creating custom connectors and pulling data from/to any database.</li><li><a href="/docs/general/localazy-cdn">CDN</a> for decentralized delivery of translations all over the globe.</li></ul><p>But don't worry. You can still <a href="/docs/cli/excel-format">upload your spreadsheets directly</a> via the web interface to continue where you left off. 😉</p><h2 id="4-context-for-translators-for-improved-quality">🎯 4. Context for translators for improved quality <a class="markdownit-header-anchor" href="#4-context-for-translators-for-improved-quality">🔗</a></h2><p>Context is king when it comes to producing quality translations, but can you achieve this high level of translation by using spreadsheets? 🤔</p><p>Translators and reviewers should be provided with the <a href="/docs/general/translating-strings#context-tabs">specific context</a> in order to avoid mistranslating strings. 🙅‍♂️ Localazy offers the option to exchange information through comments with the <strong>developer </strong>for clarifying the exact placement and meaning of a specific phrase. 👨‍💻 💬</p><p>Also, you can build your own personal glossary for reviewers and translators to refer to when working on the project without risking cluttering your interface with unnecessary information. You can hover on words that belong to specific terminology and are emphasized through highlights and have further information on the context appear. 😯</p><p>Localazy pays special attention to providing translators with context through the <a href="/docs/general/translating-strings#context-tabs">appropriate tabs</a> like Suggestions, Similar, Versions, and Languages which we'll discuss below.</p><h2 id="5-optimized-interface">🎯 5. Optimized interface <a class="markdownit-header-anchor" href="#5-optimized-interface">🔗</a></h2><p>📄 Having a cluttered interface made of never-ending columns and rows of data is what translators have struggled with for years when working with spreadsheets. Localazy boosts the productivity of translators with a simplified interface that's pleasing to work with. </p><p>We do this by keeping in mind to offer a non-overwhelming set of features. 😎They should be more concerned with getting the translations right rather than avoiding misselecting a feature. This ranks Localazy among distinct CAT tools requiring minimal learning to integrate into a translator's workflow. </p><p>Translators don't struggle with the configuration of <em>matching penalties</em>, <em>importing DTD</em>, or creating<em> translation memories</em>. Localazy is a simple to use Translation Management System (<a href="/dictionary/translation-management-system-tms">TMS</a>) where you enter, create a profile, and start working immediately. Localazy comes with several features that boost the translator's productivity and make translations way easier. The translator's interface is easy to navigate, with main tabs being: suggestions, similar, versions, languages, comments, source and target language text fields, and ID.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/03/image-2.png" class="kg-image" alt loading="lazy" width="1220" height="664" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/image-2.png 1000w, https://ghost.localazy.com/content/images/2022/03/image-2.png 1220w" sizes="(min-width: 720px) 720px"></figure><ul><li><strong>Source Language and Target Language areas</strong> - the left box shows the source phrase and the right one your translation. ⬜️</li><li><strong>Source key ID</strong> - down the first field in the left, it's placed the ID/name of the string. </li><li><strong>Suggestions</strong> - this tab shows at least one hit per machine translation engine integrated and hits generated from <a href="/docs/general/what-is-localazy-intm">InTM </a>+ <a href="/docs/general/what-is-localazy-sharetm#the-spirit-of-sharing">ShareTM</a>. 💬</li><li><strong>Similar </strong>- this tab lists resembling phrases from your translation project. ⌛️</li><li><strong>Versions </strong>- multiple previous versions of the translations for the respective string. 🆚</li><li><strong>Languages</strong> - this tab shows translated versions of the phrase in other languages. Super helpful when working with content that appears ambiguous. 🎌</li><li><strong>Comments</strong> - faced with a confusing term and would like to ask the developers for clarification? Well, go to the website, hit the support button, categorize your issue…not really. Localazy saves you the frustration with semi-automated queries. Add your comment right here. 💭</li></ul><blockquote>🧐 We asked a professional translator to use Localazy and tell us about the user experience from his perspective. Read the detailed article <a href="/blog/intro-localazy-translators-perspective">here</a>.</blockquote><h2 id="6-proactive-review">🎯 6. Proactive review <a class="markdownit-header-anchor" href="#6-proactive-review">🔗</a></h2><p>Have you worked with spreadsheets before? Isn't that black and white interface so bland and uninspiring to go over it more than once? 🥴️ That's why we've made the review process fun and inspiring in Localazy. 🥳️</p><p>The review process is quite proactive, and it aims to prevent other contributors other than verified translators or project owners to finalize translations and make them visible to the intended audience. 🗣Invite Reviewers who you trust or begin the <a href="/docs/general/reviewing-translations">review process</a> yourself by either opting for the <em>Languages </em>option on the top left, where you can select the language and then start reviewing translations by clicking on the <em>Review translations </em>or hit the blue button which redirects you to reviews in case new translations have been added. 🔵✅ </p><p>Our proactive tool for reviewing translations allows reviewers to reject or accept translations, make edits on the spot or evaluate their quality. </p><p><strong>Other features include:</strong></p><ul><li>Having access to the original context as the translator for a fair evaluation. ☑️</li><li>Commenting with notes to the translator directly on the phrase. ☑️</li><li>Having access to backward machine translations in other languages to verify ambiguous phrases and have more detailed insights into them, etc. ☑️</li></ul><p>Go ahead and try that with spreadsheets! It will be an actual mess. Instead, use Localazy and benefit from the seamless review process. </p><blockquote>Find out more about the review process in Localazy <a href="/blog/unique-review-process-and-self-managed-translations#the-review-process">here</a>. 👈😃</blockquote><h2 id="7-file-format-conversions">🎯 7. File format conversions  <a class="markdownit-header-anchor" href="#7-file-format-conversions">🔗</a></h2><p>When working on translation projects, it's necessary to have files in appropriate formats first. Yes, definitely!... that's the case for spreadsheets. If you're using Localazy, its <a href="/integrations">integrations</a> allow you to slide like a rockstar into the platform without changing your look. 😎🎸</p><p>Meaning, manually converting files from one format to the other is a thing of the past. The Format Conversions feature facilitates sharing content between different platforms or interfaces such as back-end and front-end.</p><p>Enabling this feature gives you the superpower to convert files into the desired formats by using the <a href="/docs/cli/the-basics">Localazy CLI tool</a>. All you should do is add the conversion section into the localazy.json configuration file of your CLI integration. Including this in your code applies conversions when localazy download is called. 🤙 All automatically. 😁</p><p><strong>How does it work? Here's a brief overview of the process step-by-step:</strong></p><ol><li>Files are downloaded from the servers where we stored them and taken through the conversion rules. ✅</li><li>The system skips rules with false conditions. ✅</li><li>For valid rules, the system demands the converted file from the server and stores it in the designated location. ✅</li></ol><blockquote>Does it sound a bit complicated? Well, it is not, but for a more detailed description of the process and visual illustrations, read a dedicated article <a href="/docs/general/format-conversions-feature">here</a>.</blockquote><h2 id="8-plural-support">🎯 8. Plural support <a class="markdownit-header-anchor" href="#8-plural-support">🔗</a></h2><p>Working with plurals through spreadsheets can genuinely give you headaches due to differences that occur in plurals in different languages. 🤯 Since they are managed differently from language to language, it leads to a difference in outputs. </p><p>Localazy supports around 200 types of plurals acknowledged by the updated version of the <a href="https://en.wikipedia.org/wiki/Common_Locale_Data_Repository#:~:text=The%20Common%20Locale%20Data%20Repository,will%20typically%20provide%20to%20applications." rel="noopener noreferrer">CLDR </a>definition file (<a href="/docs/general/translating-plurals">See yourself</a>). Depending on the specific rules that exist for each language, Localazy is changing the translator's interface for each respective language for a simplified translation process. 😎</p><p>Currently, the plural types that you can work with include: zero, one, two, few, many, other. 🤓 There are three main features you can activate in Localazy while uploading files to help you in translating plurals:</p><ol><li><strong>Suffixed with CamelCase</strong> - It names variables using camelCase (e.g., userOne, userOther). Activate it by inserting plural_postfix_cc in the <a href="/docs/cli/upload-reference">upload </a>section.</li><li><strong>Suffixed with brackets</strong> - It adds square brackets to signify the different plurals (e.g., user[one], user[other]). Activate it by inserting plural_postfix_br as part of the <a href="/docs/cli/upload-reference">upload</a> section.</li><li><strong>Using ICU </strong>- Activate the feature by inserting plural_icu into the upload section.</li></ol><blockquote>Interested in seeing more examples? Read the full article on <a href="/docs/general/translating-plurals">plurals</a>.</blockquote><h2 id="9-shift-through-version-history">🎯 9. Shift through version history <a class="markdownit-header-anchor" href="#9-shift-through-version-history">🔗</a></h2><p>Keeping track of translation versions through spreadsheets becomes exhausting and confusing. Only the final versions would occupy a great deal of space. Let alone keeping all the possible and previous translations for reference! 😵</p><p>Using Localazy, all the <a href="/docs/general/reviewing-translations#basic-navigation">previous versions</a> are laid beautifully for you to see and consider. When translating strings, you can see all the possible versions provided by the translator, and you can decide to either reject or accept them. ☑️❌ This way, you have the option of reconsidering previous translations in a second moment as well as sending these translations for improvement or completely banning them. </p><p>✅ When approving a translation, by hitting <em>'Approve,'</em> you can fully mark it as done or label it as done and categorize it as in need of improvement. </p><p>❌ When rejecting a translation by hitting '<em>Reject,'</em> you can completely reject the translated version, ban it along with the translator, or skip it if you're unsure. What matters is that you're given the option to move through translations elegantly and select or make changes accordingly. 😁</p><h2 id="10-automatic-emails-to-translators-reviewers-etc">🎯 10. Automatic emails to translators, reviewers, etc. <a class="markdownit-header-anchor" href="#10-automatic-emails-to-translators-reviewers-etc">🔗</a></h2><p>Another challenge in the translation and localization process is communicating with translators, reviewers, and other project participants. 💬📃</p><p>The static interface of spreadsheets lacks practicality and asks for other means of communication to communicate back and forth on translations. 😵 Through Localazy, you're not only translating content but also doing so while having fun because the process is time-saving, and to find the discussed versions of a translation, you don't have to scroll back in Slack chats or dead spreadsheets. 😪</p><p>📧 You can send automatic emails to reviewers and translators at the hit of a button with <a href="/blog/intro-localazy-translators-perspective#asking-the-developer-for-context">semi-automated queries</a> or add notes in each translated string.</p><h2 id="11-translation-memory-and-glossary">🎯 11. Translation Memory and Glossary <a class="markdownit-header-anchor" href="#11-translation-memory-and-glossary">🔗</a></h2><p>Ah, terminology! The main reason why we're hiring translators and not using a simple tool like Google Translate for the majority of our translation projects stands in the specific terminology that needs human logic to be done right. 🤓🧠</p><p>That's where the <a href="/dictionary/glossary">Glossary</a> and a <a href="/dictionary/translation-memory">Translation Memory</a> enter the play to assist translators and reviewers in referring to concepts with the correct terms. 🗃 Having a Glossary assists several translators and contributors working on the same project in using consistent terminology across different sections of the app. This produces high-quality translations, but it also decreases the time contributors or translators would spend learning new terms or concepts.</p><p><a href="/docs/general/how-to-define-your-glossary">Here is</a> s a short tutorial for using Localazy's Glossary.  📑 On the other hand, Translation Memory (TM) reduces the costs of translating the same strings twice. At Localazy, we have two main forms of this memory: InTM and ShareTM.</p><ul><li><a href="/docs/general/what-is-localazy-sharetm#the-spirit-of-sharing">ShareTM</a> - it suggests already-translated versions from other apps on the platform for free. ✅</li><li><a href="/docs/general/what-is-localazy-intm">InTM</a> - is quite similar to ShareTM, but it offers translations from your past translations and your other projects on the platform. ✅</li></ul><h2 id="12-unmatched-localization-services">🎯 12. Unmatched localization services <a class="markdownit-header-anchor" href="#12-unmatched-localization-services">🔗</a></h2><p>As app developers and owners, we're constantly searching for ways to market our apps into foreign markets with ease, and localization is essential to do so. We care less about the tools we will accomplish the process with as long as it's done effectively. 😁</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/In0YzMnWObQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>However, translators have long dreaded spreadsheets for their lack of productivity and interactivity. Considering the depths of localization, translators are in need of a platform that allows them to work seamlessly into projects and communicate easily with reviewers or project owners. </p><p>At Localazy, among other tools, we proudly emphasize <a href="/blog/true-continuous-localization-localazy">Continous Localization</a> as one of the services that make our platform unique. Free your hands from the process of translating or reviewing translations and hire our Continuous Localization Team (<a href="https://localazy.com/docs/general/continuous-localization-team" rel="noopener noreferrer">CLT</a>). 👨‍💻 👩‍💻</p><p>⏰ Spend more time perfecting your product and outsource the localization process partly or completely with the help of <a href="/docs/general/continuous-localization-team">professional translators and reviewers</a>.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Are you ready to enter a world where localization can be easy and even fun? Go ahead, <a href="/docs/cli/excel-format">upload your spreadsheets</a> to Localazy or integrate your project tightly to benefit from the automation Localazy offers and forget about the hassle altogether. </p><p><a href="/register">Sign up now</a> to see why Localazy is at least twelve times better than the old-fashioned way!</p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/03/Localazy-better-than-Spreadsheets.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: Affinitweet makes your Twitter account more fun & more pro]]></title>
            <link>https://localazy.com/blog/interview-affinitweet-makes-your-twitter-account-more-fun-more-pro</link>
            <guid isPermaLink="false">interview-affinitweet-makes-your-twitter-account-more-fun-more-pro</guid>
            <pubDate>Wed, 14 Dec 2022 23:02:47 GMT</pubDate>
            <description><![CDATA["My favorite feature is being able to update all my translations with two words: localazy download," says Affinitweet founder and developer Thomas Reichling. Read his story about building a platform for Twitter power users and learn why he chose Localazy to bring it to a wider audience.]]></description>
            <content:encoded><![CDATA[<h2 id="intro-about-affinitweet">📝 Intro: About Affinitweet <a class="markdownit-header-anchor" href="#intro-about-affinitweet">🔗</a></h2><p><strong>Hi Thomas! Thank you for your time. Could you briefly introduce yourself?</strong></p><p>Hi, I'm Thomas, the founder, developer, and designer behind <a href="https://affinitweet.com/?ref=localazy-interview">Affinitweet.com</a>, making your Twitter experience more fun and more pro.<br></p><p><strong>Can you tell us more about Affinitweet?</strong></p><p>Affinitweet provides exclusive tools and statistics like a <a href="https://affinitweet.com/tools/relationships-manager?ref=localazy-interview">relationship manager</a> to view, search, sort, and do actions on your followers &amp; following very easily. You can also manage your welcome messages, get the best time and language to tweet based on your audience, and so on. We have a lot of tools and features like that. 😊<br></p><p><strong>Who are your users?</strong></p><p>Literally, <em>every Twitter user</em> can use Affinitweet. We have companies, influencers, and individual people. Each category of users has their favorite feature and use-case for Affinitweet.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/03/image.png" class="kg-image" alt loading="lazy" width="1009" height="479" srcset="https://ghost.localazy.com/content/images/size/w600/2022/03/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/03/image.png 1000w, https://ghost.localazy.com/content/images/2022/03/image.png 1009w" sizes="(min-width: 720px) 720px"><figcaption>Affinitweet Features</figcaption></figure><p><strong>How is your product funded? And what are your plans?</strong></p><p>I used my savings to set things in motion and grow Affinitweet. I recently launched <a href="https://affinitweet.com/pro?ref=localazy-interview">Affinitweet Pro</a>, a one-time purchase letting customers use more advanced and exclusive tools for their Twitter account. Before that, the only source of income was ads. The plan is to grow and continuously add more professional tools and features. Simple. 😊</p><p></p><p><strong>What is the unique value proposition that sets you apart from competitors? In which fields are you innovating?</strong></p><p>I focus on bringing high-quality services. Each aspect of what I'm developing is carefully designed. I am passionate about the user interface, and I publish nothing until I'm really proud of what I've made: that's why Affinitweet is so different.</p><p></p><p><strong>What are the biggest risks &amp; challenges for Affinitweet? Aren't you worried about changes in the Twitter API?</strong></p><p>Yes, the biggest risk is definitely being dependent 100% on the Twitter API. If something goes wrong, Affinitweet would be unusable. 🙄</p><p>And the biggest challenge is to differentiate from all other sketchy websites of our kind. Affinitweet is an entertainment platform first, and many people have a bad vision of these apps because they mostly abuse the permissions to post and follow without the user's consent. </p><p>But we're doing well! 🥰 We have super <a href="https://www.trustpilot.com/review/affinitweet.com">Trustpilot reviews</a>, a big <a href="https://twitter.com/affinitweet_">Twitter community</a>, and try to be as transparent and excellent as possible in every domain (Helpdesk, design, support...).</p><h2 id="motivation-and-backstory">💎 Motivation and backstory <a class="markdownit-header-anchor" href="#motivation-and-backstory">🔗</a></h2><p><strong>If you could start again with Affinitweet, would you do anything differently from today’s perspective?</strong></p><p>Nothing, because how it has been developed is what brought me here today, seven years later. I don't think I would have learned so much if I had done things differently.</p><p><strong>Wow, 7 years! </strong>😲 <strong>Can you tell us the story behind Affinitweet? What was the starting point, and how did your visions change during the years?</strong></p><p>I created Affinitweet just for fun because, at the time, these kinds of games like Top Friends, etc., were trendy on Facebook. Fortunately, there was nothing like this for Twitter, so I created it. </p><p>The success was immediate. The <a href="https://affinitweet.com/top-friends?ref=localazy-interview">Top Friends feature</a> (best Twitter accounts you’re interacting with) was very popular and launched Affinitweet with <em>thousands of users the first day </em>🥳 and much more after that. </p><p>Year after year, I completely redesigned the platform and made it more professional to help companies and influencers who want to see more important analytic data about their account.<br></p><p><strong>What is the main driver that motivates you to keep going on your business ventures?</strong></p><p>I don't know if I have a driver, but I love the way people can think of something, talk about it, and then just develop it and release it. It's even easier today with the internet, where if we have some skills, we can put our ideas online for everyone to access them with a simple URL.</p><p>Motivation comes and goes. It depends on... I haven't found out what it depends on yet... but I hope I'll find it one day! I think that my motivation is strong today.</p><h2 id="favorite-tools">🕹️ Favorite tools <a class="markdownit-header-anchor" href="#favorite-tools">🔗</a></h2><p><strong>Would you like to highlight some services or products you really like to use on your own?</strong></p><p><strong>NuxtJS</strong> is very nice to develop websites quickly, and <strong>Tailwind CSS</strong> is great for designing wonderful interfaces. I also love using <strong>Height(.app)</strong> to manage my tasks and focus. </p><blockquote>We can agree on Nuxt being a wonderful framework, as we are happy Nuxters here as well 😁<strong> </strong>Learn <a href="/blog/how-to-use-nuxt-i18n-localazy-nuxt-projects-localization">How to use Nuxt i18n &amp; Localazy for your Nuxt project localization</a></blockquote><p><strong>What is your motivation for localization? Why did you choose Localazy?</strong></p><p>I want to bring Affinitweet to more countries and reduce the language barrier. I chose Localazy for its simplicity and customer support that helped me to set up my project with eight existing locales in minutes. </p><p>My favorite feature is <a href="/docs/cli/the-basics">Localazy CLI</a> because I can update all my translations with two words: <code>localazy download</code>.<br><br><strong>Haha, yeah, that about sums up the CLI experience. </strong></p><p><strong>Thank you, Thomas, for sharing your story with us! We wish you success with Affinitweet, and we are happy to help you expand to more markets with less hassle. </strong>️<strong>️</strong>😊</p><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog, and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Interview-Affinitweet.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Feature Update: Localazy ShareTM improvements]]></title>
            <link>https://localazy.com/blog/feature-update-sharetm-improvements</link>
            <guid isPermaLink="false">feature-update-sharetm-improvements</guid>
            <pubDate>Thu, 03 Mar 2022 14:03:48 GMT</pubDate>
            <description><![CDATA[ShareTM is one of the core features of Localazy and it allows our users to get parts of their projects translated immediately after uploading their source strings. Learn more about the changes we made to improve your experience in the latest update.]]></description>
            <content:encoded><![CDATA[<p>Our users are the most influential decision-makers in our product development journey. We love hearing your feedback and strive to always listen to your requirements. That's why we are making a slight change in the way Localazy ShareTM will work from now on.</p><h2 id="what-even-is-sharetm">😮 What even is ShareTM? <a class="markdownit-header-anchor" href="#what-even-is-sharetm">🔗</a></h2><p>First, let's explain what ShareTM is. Localazy ShareTM is a shared <a href="/dictionary/translation-memory">translation memory</a> built into our platform. It's inspired by developers; who share their code on <a href="/tags/github">GitHub</a>, <a href="/tags/gitlab">GitLab</a>, or other places. They like to cooperate; they share their knowledge on StackOverflow and build libraries for other developers to use. So why not share translations as well? 😊</p><p>Localazy ShareTM allows you to do it. By enabling the sharing of your translations, you get access to translations of other projects in return. 🤲</p><blockquote>You can read more about <a href="/docs/general/what-is-localazy-sharetm">Localazy ShareTM in the documentation</a>.</blockquote><h2 id="what-is-changing-and-why">🤔 What is changing and why? <a class="markdownit-header-anchor" href="#what-is-changing-and-why">🔗</a></h2><p>The ShareTM translations are often more accurate than <a href="/dictionary/machine-translation">machine translations</a> and save time. However, we've learned from our users that these translations dwelled in the wrong place. 🙄 </p><p>Previously, ShareTM was sending its translation suggestions straight into review as versions to choose from. While some matches were spot on, our users reported that it was slowing them down in the review process when their projects contained more complex strings and texts. </p><p>The ShareTM is here to stay, but we anticipate a significant positive impact on user experience and translator efficiency. </p><p>💡 <strong>That's why we are pulling ShareTM one level lower. ShareTM translations will be included only as suggestions on the translation screen instead of being sent into the review immediately.</strong> </p><h3 id="improved-control-over-the-translation-process">➡️ Improved control over the translation process <a class="markdownit-header-anchor" href="#improved-control-over-the-translation-process">🔗</a></h3><p>As said above, the main point we have learned from our users was that ShareTM was cluttering the review process with unwarranted versions of translations and provided a somewhat false sense of the translation progress. </p><p>Now, project owners can track the progress of translations much more clearly. Instead of seeing that 50% of strings are translated by ShareTM, we empower translators and let them decide if the translation suggested by ShareTM is spot on, subject to minor change, or completely unsuitable in the context of your project. </p><h3 id="more-options-for-translators">➡️ More options for translators <a class="markdownit-header-anchor" href="#more-options-for-translators">🔗</a></h3><p>ShareTM goes hand in hand with machine translation suggestions on the translation screen, providing more options to choose from and speeding up the translator's work. With ShareTM and <a href="/docs/general/additional-mt-engines">Additional MT Engines</a> combined, your translators will have a powerful arsenal by their side that will help them blaze through the strings to be translated faster. </p><h3 id="cleaner-review-ui">➡️ Cleaner Review UI <a class="markdownit-header-anchor" href="#cleaner-review-ui">🔗</a></h3><p>No unexpected translations will find their way into the review now. ShareTM won't be cluttering your review screen with uninvited versions of translations. Reviewers will be able to do their work more efficiently as a result as well. Don't worry, though - they can still see suggestions by both machine translation engines and ShareTM in the bottom half of the review screen just as translators.</p><h3 id="a-seamless-self-translating-experience">➡️ A seamless self-translating experience   <a class="markdownit-header-anchor" href="#a-seamless-self-translating-experience">🔗</a></h3><p>If you like to do things on your own as a project owner, the translations you make bypass the review process altogether. So now, instead of reviewing the pre-filled translations and then translating the rest of the strings that don't have a suitable ShareTM match, you can translate everything in one go and have the language finished without having to jump from translation to review.</p><blockquote>Previously, users were used to seeing the percentage of ShareTM translations available for each language. This number won't be visible anymore, but don't worry, ShareTM will help you translate your project anyway! Just click on the right button and start translating as usual. 😉</blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We hope you'll like this slight change. 💬 Let us know what you think in the comments below, join the community on our <a href="https://discord.gg/CAVhHrh">Discord</a>, or contact us at <a href="mailto:team@localazy.com">team@localazy.com</a></p>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/03/Localazy-ShareTM-improvements.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: Staat is bringing new, smarter ways to manage your day]]></title>
            <link>https://localazy.com/blog/interview-staat-bringing-new-smarter-ways-to-manage-your-day</link>
            <guid isPermaLink="false">interview-staat-bringing-new-smarter-ways-to-manage-your-day</guid>
            <pubDate>Wed, 14 Dec 2022 23:03:38 GMT</pubDate>
            <description><![CDATA[In this interview, we talk with David Kyle Choe, the co-founder at Staat.co. Staat is a sync tool, making it simple to build personal views on top of bloated and busy collaboration apps. If you feel overwhelmed by various tools your development team uses daily, read on.]]></description>
            <content:encoded><![CDATA[<p><strong>Hi David, thank you for finding time to do this interview. Can you briefly describe Staat? What is it, what problems it helps solve, and who are your customers?</strong></p><p>We want to optimize productivity and collaboration with a manager-first lens. <a href="https://staat.co/?ref=localazy">Staat</a> helps users quickly understand development progress scattered around decentralized data and tools. We are working to solve the pain of the manager's workflow (or lack thereof) and increase productivity, flow, and overall satisfaction.</p><p>Staat is intended for engineering managers, product managers, project managers, directors of engineering, VPs of engineering, <a href="/for/chief-technical-officers">CTOs</a>, and other positions who need to have an understandable overview of the development process at a glance.</p><h2 id="introduction-about-staat">📑 Introduction: About Staat <a class="markdownit-header-anchor" href="#introduction-about-staat">🔗</a></h2><p><strong>How exactly does Staat work?</strong></p><p>Staat consolidates the most important data from managers' everyday tools into one place. Staat allows you to build, remix, and continually reap the rewards of breaking down team tools through what we call, <strong>Smart Views</strong>.<br><br><strong>Smart Views</strong> are table-based protocols to aggregate and interpret large amounts of data from various sources with a set of elements that can be used to filter, label, and be remixed into new personal tools.<br><br>Just like music producers who use production software to put 1000's elements together to make a song, Views are the equivalent of workflow production software. Views let individuals understand and work with information faster.</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/KgPaYh-QvbcSVFwL-7yzWtjOON2Bj7JGwObElH5zSHV2-ztfzSYSzaIknjeEkZsAxAs9Ol7J8kRTE75UiOe4CvOupZ_nh17OMtn4Uuekmx21Y5twZMCQcQy2KX3KafOzmXKHzmq4" class="kg-image" alt loading="lazy"></figure><p><strong>What sets you apart from your competitors? In which fields are you innovating?</strong></p><p>As cliché as it may sound, while we do not have many direct competitors, our customers and prospective users are often utilizing spreadsheets, 1-off meetings, direct communication (aka nagging), and various slack channels to try and solve this same problem. <br> <br>While there are tools out there that solve problems that are complementary to ours, no one has quite created a solution like Staat that solves what we call the "middle layer" of management.</p><p>As you know, management takes on many different forms: from high-level strategy to sprint planning to daily standups and task management. This middle layer of management is often unaccounted for but expected to be done with excellence by a manager, and yet there are no real tools dedicated to empowering this. We are starting with solving the pain points that make up about 80% or more of a manager's day and career.</p><p>We believe giving managers more visibility on a day-to-day, and sprint-over-sprint cadence will dramatically improve their quarterly level strategy and annual planning.</p><h2 id="future-plans">📈 Future plans <a class="markdownit-header-anchor" href="#future-plans">🔗</a></h2><p><strong>If you could start again with your product, what would you do differently from today's perspective?</strong></p><p>We'd ship faster because the best thing for the product and the business is to get feedback. Regardless of whether or not that feedback is negative or positive, we've found it all to be net positive because it enables us to build a more value-add product. </p><p>Facetime with customers has driven the business forward more than any other single element.</p><p><strong>We can agree that talking with customers frequently is the best thing you can do in terms of product development. What are the next steps and plans with Staat?</strong></p><p>The next steps for Staat are obviously to continue onboarding the many customers that have signed up. We are also planning our roadmap of where we want to take the product. We expect to have some exciting collaboration and team-centric features as well as features that enable managers to customize Staat into a workspace that truly works for them.</p><h2 id="favorite-products-and-localization">🚩 Favorite products & localization <a class="markdownit-header-anchor" href="#favorite-products-and-localization">🔗</a></h2><p><strong>Would you like to highlight some services or products you like to use on your own?</strong></p><p>Needless to say, I'm a power user of <strong>Staat</strong> 😅 I transitioned into the head of product about halfway into our growth and, as such became dependent on Staat to keep track of project progress. </p><p>Our CTO (and main developer) is based in Seoul, South Korea, while I'm in San Francisco. The time difference is enough to get behind and lost in project progress, but using Staat has essentially removed this time difference and helps us work truly asynchronously.</p><blockquote>Learn our own experience with 🐕 <a href="/blog/the-passion-and-the-dogfooding-of-localazy">dogfooding Localazy</a>.</blockquote><p>We are also avid users of 📝 <strong>Notion</strong> at Staat. From external documentation like our changelog and tutorials to our marketing planning and product strategy, Notion is our go-to. As much as we use Notion, we've learned a lot from their growth as a product and company.</p><p>The <strong>Spark</strong> mail client ✉️ is a new tool for me personally. I've been on the search for an email client that did exactly what I needed it to do, which is helping me manage my 6+ email accounts, and it's done an incredible job. I highly recommend it. </p><p><strong>What is your motivation for localization? Why did you choose Localazy?</strong></p><p>We are big fans of Localazy and how effortlessly you can make translations happen with it. As we grow, we are confident we can get our product in front of more people from all over the world with Localazy. 🚩</p><p>We especially like the friendly customer support. 🥰 Another thing worth pointing out is the fair <a href="/pricing">pricing</a>, and the number of <a href="/integrations">integration options</a> you offer. We are also thinking of trying the <a href="/features/continuous-localization-team">Continuous Localization services</a> in the future if we couldn't source translators on our own. </p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p><strong>Is there something you would like to say?</strong></p><p>We are still onboarding our earliest users and are offering a promo code for our pro tier for these early users. If you're interested in connecting your project boards and taking Staat for a spin, I'd love to get you set up. </p><p>➡️ You can either sign up on our site or email me directly at <a href="mailto:david@staat.co">david@staat.co</a>.</p><p><strong>Thank you, David, we are looking forward to seeing you succeed and are happy that we can help you make localization of Staat as effortless as possible. </strong>🤩</p><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Interview-Staat.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to use Nuxt i18n & Localazy for Nuxt projects localization]]></title>
            <link>https://localazy.com/blog/how-to-use-nuxt-i18n-localazy-nuxt-projects-localization</link>
            <guid isPermaLink="false">how-to-use-nuxt-i18n-localazy-nuxt-projects-localization</guid>
            <pubDate>Thu, 16 Apr 2026 14:24:01 GMT</pubDate>
            <description><![CDATA[This article will teach you how to set up your Nuxt i18n project and translate your projects with Localazy in a matter of minutes. ]]></description>
            <content:encoded><![CDATA[<p>Nuxt (or NuxtJS) is an open-source <a href="/dictionary/vuejs">Vue</a> framework that helps developers build their web applications with confidence by making web development simple and powerful. Localazy is one of the products <a href="https://madewithvuejs.com/localazy">#madewithvuejs</a>, and our website uses Nuxt as its foundation. </p><blockquote>Learn how to <a href="/blog/how-to-localize-vuejs-app-with-vue-i18n-and-localazy">translate Vue.js projects with Localazy</a> in the previous article</blockquote><p>Localazy is fully ready to support your multilingual Nuxt projects. Learn how to get started, and enjoy seamless integration and <a href="/dictionary/localization">localization</a> automation with the Nuxt <a href="/dictionary/internationalization">internationalization</a> library and Localazy.</p><h2 id="getting-started">▶️ Getting started <a class="markdownit-header-anchor" href="#getting-started">🔗</a></h2><p>If you don't have an existing Nuxt project, you may easily create one by following their <a href="https://nuxtjs.org/docs/get-started/installation/">installation documentation</a>. If you use their <code>create nuxt-app</code> command-line tool, you'll set up a fully configured Nuxt.js project in no time.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/02/colored-text.png" class="kg-image" alt loading="lazy" width="296" height="87"><figcaption><a href="https://nuxtjs.org/">https://nuxtjs.org/</a></figcaption></figure><h3 id="multilingual-nuxt-project">Multilingual Nuxt project <a class="markdownit-header-anchor" href="#multilingual-nuxt-project">🔗</a></h3><p>To build multilanguage Nuxt-based projects, you should opt for the new <a href="https://i18n.nuxtjs.org/"><code>@nuxtjs/i18n</code></a> module that comes with helpful development and SEO features such as automatic routes generation and custom paths and various SEO-related meta attributes generation. All you need to do is to install the module using <code>npm install @nuxtjs/i18n</code> and add <code>@nuxtjs/i18n</code> to modules in your <em>nuxt.config.js. </em>See the official <a href="https://i18n.nuxtjs.org/setup">setup guide</a> for more details.</p><blockquote>Note that @nuxtjs/i18n package is successor to now legacy <a href="https://i18n-legacy.nuxtjs.org/">nuxt-i18n</a> package. However, the basic configuration outlined in this article is applicable to the legacy version as well. The Localazy-related configuration is then indepent to the package you're using.</blockquote><p>Once you've installed the module, create a <code>lang</code> folder in the root of your project and paste in the following configuration in <code>nuxt.config.js</code></p><pre><code>  i18n: {
    locales: [
      {
        code: 'en',
        file: 'en.json'
      },
      {
        code: 'de',
        file: 'de.json'
      }
    ],
    lazy: true,
    langDir: 'lang/',
    defaultLocale: 'en'
  }</code></pre><p>This way, we load two languages - English and German, and lazy-load them from the JSON files stored in the <em>lang</em> folder. Refer to the <a href="https://i18n.nuxtjs.org/lazy-load-translations">documentation</a> about loading the translations lazily to learn more. Naturally, you may choose different names for the <code>langDir</code> folder and individual language files, as well as the list of locales your app will support.</p><p>Just to have some content to work with, create <code>en.json</code> file in the <em>lang</em> directory and paste in some content, e.g.</p><pre><code>{
  "welcome": "Welcome to my app"
}</code></pre><p>There is no need to create the German file; Localazy will take care of that.</p><h2 id="connecting-to-localazy">🚩 Connecting to Localazy <a class="markdownit-header-anchor" href="#connecting-to-localazy">🔗</a></h2><p>First of all, <a href="/register">set up a new account</a> on Localazy and create your <a href="/my/create">new project</a>. It's generally recommended to use English as the source language, but you can choose any other. If you want, turn on the <em>Use community translations (ShareTM)</em> option is enabled. </p><blockquote><a href="/docs/general/what-is-localazy-sharetm">ShareTM</a> is a highly accurate shared translation memory that can help you accurately translate a significant portion of your project instantly. Thanks to it, most of the new projects have as much as 50% of their strings automatically available for translation into 80+ languages.</blockquote><p>Proceed to create the project. Afterward, select <em>Nuxt.js</em> on the integration screen. We'll use the <a href="/docs/cli/the-basics">powerful CLI tool</a> to manage the upload and download of texts.</p><p><a href="/docs/cli/installation">Installation</a> is available for Linux, macOS, and Windows. Note the read and write keys in step 2 - we'll need them shortly.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/02/image-1.png" class="kg-image" alt loading="lazy" width="1498" height="1135" srcset="https://ghost.localazy.com/content/images/size/w600/2022/02/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/02/image-1.png 1000w, https://ghost.localazy.com/content/images/2022/02/image-1.png 1498w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Quick Start - Nuxt.js</figcaption></figure><p>As suggested, create a <code>localazy.json</code> file in the root folder of your project. Copy the recommended configuration and change the <code>translations</code> folder to <code>lang</code> folder in both the upload and download sections. </p><pre><code>{
 
    "writeKey": "&lt;your-write-key&gt;",
    "readKey": "&lt;your-read-key&gt;",
    
    "upload": {  
      "type": "json",
      "files": "lang/en.json"         
    },
    
    "download": {
      "files": "lang/${lang}.json"
    }
    
  }</code></pre><p>Now you are ready to upload the content in the English file. All you need to do is to call <code>localazy upload</code>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/07/nuxtjs-vue-i18n-l10n-localazy.png" class="kg-image" alt="NuxtJS i18n &amp; l10n with Localazy" loading="lazy" width="2000" height="1050" srcset="https://ghost.localazy.com/content/images/size/w600/2022/07/nuxtjs-vue-i18n-l10n-localazy.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/07/nuxtjs-vue-i18n-l10n-localazy.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/07/nuxtjs-vue-i18n-l10n-localazy.png 1600w, https://ghost.localazy.com/content/images/2022/07/nuxtjs-vue-i18n-l10n-localazy.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Get 25% off Localazy plans!</figcaption></figure><h3 id="translating-strings">Translating strings <a class="markdownit-header-anchor" href="#translating-strings">🔗</a></h3><p>Now go to Localazy and add the German language 🙂</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/02/image-3.png" class="kg-image" alt loading="lazy" width="991" height="431" srcset="https://ghost.localazy.com/content/images/size/w600/2022/02/image-3.png 600w, https://ghost.localazy.com/content/images/2022/02/image-3.png 991w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Languages List with source language only</figcaption></figure><p>After adding the language, you'll see there is a Review button. Every time ShareTM provides a translation suggestion, it will have candidate status. This means that it will be ready for review, and any reviewer can either approve it or decline it. Go ahead and approve the suggested translations.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/02/image-4.png" class="kg-image" alt loading="lazy" width="991" height="263" srcset="https://ghost.localazy.com/content/images/size/w600/2022/02/image-4.png 600w, https://ghost.localazy.com/content/images/2022/02/image-4.png 991w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Languages List with German added</figcaption></figure><p>If the ShareTM did not translate 100% of your project, go back to the languages list and notice that the review button now reads translate. Localazy recognizes that there is nothing to review but still something to translate, so it offers you the next most likely action in one click. </p><!--kg-card-begin: html--><div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg xmlns="http://www.w3.org/2000/svg" viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Some parts of this article might not be accurate. This article mentions the ShareTM feature, which we've updated later. Learn more about the <a href="/blog/feature-update-sharetm-improvements">Localazy ShareTM improvements in this article</a>.</p>
</div><!--kg-card-end: html--><blockquote>Learn more about <a href="/docs/general/reviewing-translations">how reviewing translations in Localazy works</a>.</blockquote><p>You can now translate the rest on your own using the <a href="/dictionary/machine-translation">machine translation</a> suggestions. This time you do not need to go through the review process since you are a trusted translator as owner by default, so the translation is immediately approved.</p><h3 id="final-result">Final result <a class="markdownit-header-anchor" href="#final-result">🔗</a></h3><p>Come back to your application and run <code>localazy download</code>. You should see a newly created <em>de.json</em> file in the <em>lang</em> folder. </p><p>Now when you use the nuxt-i18n's <code>$t</code> function in some component, you'll be able to use content from the localization file. Since we set the default language to <code>en</code>using <code>{{ $t('welcome')</code> will show <strong>Welcome to my app. </strong>Try changing <code>defaultLocale</code> to <strong>de</strong> in <em>nuxt.config.js. </em>You should see that the message has changed to the German translation you've created in Localazy.</p><p>How about this new Nuxt.js project's initial view translated to German? Pretty satisfying to see.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/02/image-2.png" class="kg-image" alt loading="lazy" width="1227" height="619" srcset="https://ghost.localazy.com/content/images/size/w600/2022/02/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/02/image-2.png 1000w, https://ghost.localazy.com/content/images/2022/02/image-2.png 1227w" sizes="(min-width: 720px) 720px"><figcaption>Nuxt.js project's initial screen translated to German</figcaption></figure><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>That's it! Now you're all set to serve your visitors content in their language!</p><p><strong>Read more about what Localazy can do for you</strong>:</p><ul><li>Read the <a href="/docs/general/getting-started-with-localazy">Getting Started Guide</a></li><li>Never manage translators again: hire our <a href="/features/continuous-localization-team">Continuous Localization Team</a></li><li>Start with localization in the design phase with the <a href="/features/figma-localization-plugin">Figma Localization Plugin</a></li><li>Integrate additional parts of your ecosystem with one of the <a href="/integrations">50+ integration options</a></li><li>See our <a href="/pricing">pricing options</a> or <a href="/blog">read more on our blog</a></li></ul><h2 id="gift-for-you">💝 Gift for you <a class="markdownit-header-anchor" href="#gift-for-you">🔗</a></h2><p>As said earlier, the Localazy website is powered by Nuxt, and we are delighted to give our fellow Nuxt lovers a gift. 🎁 </p><p>Use the coupon "<strong>lovenuxt</strong>" during your Localazy plan checkout and get a 25% discount on your purchase.</p><p>Discount applies to the <a href="/tiers/professional">Professional</a> plan. Enjoy!</p><p> </p><p></p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/nuxt-blog-i18n-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Mythbusters: We can tackle localization once the product is done]]></title>
            <link>https://localazy.com/blog/mythbusters-start-localization-once-product-is-done</link>
            <guid isPermaLink="false">mythbusters-start-localization-once-product-is-done</guid>
            <pubDate>Fri, 15 Dec 2023 09:35:18 GMT</pubDate>
            <description><![CDATA[If you think you can deal with localization when your product is done, you should read this article. Learn why postponing localization is costly and why starting with localization early will save you a lot of headaches.]]></description>
            <content:encoded><![CDATA[<p>What is it about human nature that makes us put things off until the last minute?</p><p>Pretty much everyone is guilty of it at some point in their lives. When it comes to trivial things, it’s not so important - putting off joining the gym 🏋️ or cutting the grass 🍃, for example.</p><p>But there are some things that are just too important to put off — getting your car serviced 🔧 or going to the doctor 👩‍⚕️ for a check-up, for instance.</p><p>It just so happens that, when it comes to software products, <a href="/dictionary/localization">localization</a> is one of those things that is just too important to put off. As you’ll see in this article - delaying localization is a big mistake, and it can be very costly.</p><h2 id="why-do-software-development-teams-delay-localization">🤔 Why do software development teams delay localization? <a class="markdownit-header-anchor" href="#why-do-software-development-teams-delay-localization">🔗</a></h2><p>Before we dive in and examine why delaying localization is such a big mistake, let’s first take a look at a few reasons why teams end up doing it.</p><ul><li>👓 <strong><strong><strong>Lack of vision </strong></strong></strong>- Sometimes, it’s a simple case of a software team not planning ahead or believing that they won’t want to expand into new territories in the future.</li><li>😑 <strong><strong><strong>Ignorance </strong></strong></strong>- It may be the case that they simply don’t know that even within a single country of operation, there may be multiple languages spoken.</li><li>🔬 <strong><strong><strong>Single focus </strong></strong></strong>- This could also be described as being “blinkered.” In other words, the team is so focused on developing the functionality or features of the software that they neglect other important considerations, such as localization.</li><li>🧯 <strong><strong><strong>Too busy </strong></strong></strong>- Maybe the team has a backlog of work to clear from other projects, as well as developing the current one, and they simply don’t feel like they have the time to devote to localization.</li><li>🏰 <strong><strong><strong>Too old-school</strong></strong></strong> - Perhaps they are used to the traditional translation process - find an agency or freelancer and spend ages messaging or calling back and forth to get the work done. They see this as a big “time suck” and prefer to put it off until they have a “final” version and deal with it then.</li></ul><p>Needless to say, all of these approaches are big mistakes. Why? Because they can lead to delays with the rollout of the product in lucrative overseas markets. In other words, by neglecting to give localization the attention it deserves, you may be leaving money on the table.</p><blockquote>A good example is the mobile app <em><a href="https://www.trustpilot.com/reviews/5ed7731a25e5d209b8fb787a">Floating Apps </a></em><a href="https://www.trustpilot.com/reviews/5ed7731a25e5d209b8fb787a">which managed to grow to 7 million downloads</a> once they translated and localized their content using Localazy. </blockquote><h2 id="why-should-you-start-localization-early">⏰ Why should you start localization early? <a class="markdownit-header-anchor" href="#why-should-you-start-localization-early">🔗</a></h2><p>The simple answer to this question is that localization is too important to leave it as an afterthought. But you probably want more information than that, right?! So, here are some more reasons to start localization early:</p><ul><li>⏱️ <strong>Save time. </strong>Preparing for <a href="/dictionary/internationalization">i18n</a> early will help you to avoid the time-consuming task of <a href="/dictionary/externalized-string">post-string externalization</a> and all the testing that goes with it. Strings evolve over time, and you never reach a “final state,” so the earlier you start, the less work you will have to do later on.</li><li>🔮 <strong>Market changes. </strong>Over time, <a href="https://hub.localazy.com">potential foreign markets</a> that are small now may grow. In other words, it may become profitable to sell products in an area with a different language. If you have prepared yourself for the possibility of localization early on, it will be easier to pivot your marketing efforts in a different direction.</li><li>🧘 <strong><strong><strong>Save effort. </strong></strong></strong>Applying a <a href="/dictionary/translation-management-system-tms">TMS</a> like Localazy can save you a lot of hassle, and you can automate the process of translation delivery. However, it’s best to use a TMS early on in the development of your project, as it can be applied during the design stage to optimize your layouts and content for localization.</li></ul><blockquote>Learn how to <a href="/blog/design-localization-with-localazy-figma-plugin">incorporate localization in the design stage</a> with the <a href="/features/figma-localization-plugin">Localazy Figma plugin</a>.</blockquote><h2 id="how-to-get-started-with-localization">🕹️ How to get started with localization <a class="markdownit-header-anchor" href="#how-to-get-started-with-localization">🔗</a></h2><p>OK, so now you know that it’s important to start planning and implementing localization early on in the project. The next question is how to go about doing it.</p><p>To help you in this area, we’ve put together a series of questions that you should answer and tasks to carry out to help you build a localization strategy that works.</p><h3 id="1-decide-which-countries-to-target-first">1. Decide which countries to target first <a class="markdownit-header-anchor" href="#1-decide-which-countries-to-target-first">🔗</a></h3><p>The first step is to do some research and find out which countries and regions will be the most profitable places to focus your initial efforts.</p><p><strong>Begin by analyzing any available data</strong>. Google Analytics, or your preferred website analytics platform, is the best place to start. Check out where most of your traffic is coming from and list the most popular ones. </p><p>To decide the order in which to target countries, you should look for those with the biggest audience or potential market, as these will be the most profitable. Also, if you sell physical products, then neighboring countries are best as the shipping costs will be lower.</p><h3 id="2-do-you-need-to-localize-everything-at-once">2. Do you need to localize everything at once? <a class="markdownit-header-anchor" href="#2-do-you-need-to-localize-everything-at-once">🔗</a></h3><p>The next step is to decide on a roadmap or plan of action. In general, you will want to localize three main things - your product, your website, and your marketing materials. But most companies don’t have the time or budget to localize everything all at once unless you’re already a big, well-established brand.</p><p>Doing it gradually may be the best approach for you. <strong>Agile localization could be the key to success</strong>, which involves starting with <a href="/dictionary/translation">translating</a> the most important content (usually the product or website) then taking incremental steps to localize the rest.</p><h3 id="3-use-custom-landing-pages-that-are-localized">3. Use custom landing pages that are localized <a class="markdownit-header-anchor" href="#3-use-custom-landing-pages-that-are-localized">🔗</a></h3><p>An agile localization approach could include the use of special landing pages rather than overhauling your entire website. </p><p>For instance, if you want to sell a product in France, but your website is in English, you can <strong>set up a single landing page for that specific product </strong>that is in French and aimed at the French market. You can set up paid ads that are also in French to drive traffic to that landing page.</p><h3 id="4-identify-any-risks-associated-with-localization">4. Identify any risks associated with localization <a class="markdownit-header-anchor" href="#4-identify-any-risks-associated-with-localization">🔗</a></h3><p>Although localization can be highly profitable when done right, there are some risks that can arise in the process. The main downside of the risks are cost-related - in other words, <strong>you may end up spending money on localization that doesn’t work out as planned</strong>.</p><p>An example of a potential risk could be failed i18n support from the design and development side of your website (e.g. neglecting to carry out <a href="/dictionary/externalized-string">string externalization</a>). Another example could be flawed market research and the potential market is not as big as expected.</p><h3 id="5-apply-a-comprehensive-localization-strategy">5. Apply a comprehensive localization strategy <a class="markdownit-header-anchor" href="#5-apply-a-comprehensive-localization-strategy">🔗</a></h3><p>At this point, you may be tempted to think that localization is expensive, so why not just pour your budget into a <a href="/dictionary/machine-translation">machine translation</a> engine and be done with it? This is a big mistake as <a href="/blog/true-continuous-localization-localazy#quality-and-granularity-management-for-increased-roi">quality matters</a> - a lot. In fact, <strong>poorly executed localization can actually damage your sales</strong>.</p><h3 id="6-iron-out-all-the-technical-details-of-localization">6. Iron out all the technical details of localization <a class="markdownit-header-anchor" href="#6-iron-out-all-the-technical-details-of-localization">🔗</a></h3><p>You need to get all the technical requirements in place, such as <a href="/blog/guide-preparing-application-for-i18n-l10n-localazy">i18n preparations</a>. This is highly specialist work, so your best bet is to enlist the services of localization experts such as Localazy.</p><p>A good approach is to think about the localization, and its technicalities, during the design stage. With Localazy, you can get a <a href="/blog/design-localization-with-localazy-figma-plugin">Figma plugin</a> to help you with this and <strong>prepare everything you need for i18n</strong>. We also have a <a href="/blog/guide-preparing-application-for-i18n-l10n-localazy">handy checklist</a> to help you along the way. </p><p>Then all you need to do is <a href="/integrations">choose a suitable integration</a> and connect your project with Localazy to get the best possible localization results.</p><h2 id="why-choose-localazy">🚩 Why choose Localazy? <a class="markdownit-header-anchor" href="#why-choose-localazy">🔗</a></h2><p>Localazy is the leading translation management system and localization service in one package available right now.</p><p><strong>Localazy helps with localization by:</strong></p><ul><li>Saving time</li><li>Automating tasks with <a href="/tags/ci">CI/CD</a> tools</li><li>Easily integrating with your software - <a href="/docs/cli/the-basics">CLI</a>, <a href="/docs/api/introduction">API</a></li><li>Making it easy to translate as you add new text or edit existing text</li><li>Allowing an unlimited number of contributors, languages, and integrations</li></ul><p>With Localazy’s <a href="/pricing">pay-as-you-grow model</a>, you can grow as slowly or rapidly as you like and still localize effectively. You can also order translations directly from the <a href="/features/continuous-localization-team">Continuous Localization Team</a> at Localazy, enabling you to add languages iteratively as different markets present themselves.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/In0YzMnWObQ" title="Continuous Localization Team by Localazy" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>One of the best things about Localazy is that you can get translation on autopilot. In other words, as you add or change the text in your app, our professional translators leap into action to translate it into the specified languages as quickly as possible. You can also get your marketing materials, app store descriptions, and meta content translated at the same time. The possibilities are endless.</p><blockquote>Read our <a href="/docs/general/getting-started-with-localazy">Getting Started Guide</a></blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>To sum up - Localazy is a comprehensive localization and translation tool and service that makes it easy to prioritize localization without adding any extra work to your plate.</p><p><a href="/register">Sign up for free</a> right away, or <a href="/book-demo">get in touch</a> with one of our experts today to discuss localization and how you can get started early.</p><p><br></p>]]></content:encoded>
            <author>Dan Martin</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/12/mythbusters_03.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[New Localazy Partnership Opportunity for VC Funds & Startup Accelerators]]></title>
            <link>https://localazy.com/blog/new-localazy-partnership-opportunity-vc-funds-startup-accelerators</link>
            <guid isPermaLink="false">new-localazy-partnership-opportunity-vc-funds-startup-accelerators</guid>
            <pubDate>Thu, 17 Feb 2022 15:01:31 GMT</pubDate>
            <description><![CDATA[Startups often approach localization in later stages of their life-cycle, limiting the potential for early expansion. Become a Localazy Partner and get special deals and support for your portfolio companies.  We are fully prepared to help your portfolio startups grow.]]></description>
            <content:encoded><![CDATA[<h2 id="on-the-importance-of-localization">☝️ On the importance of localization <a class="markdownit-header-anchor" href="#on-the-importance-of-localization">🔗</a></h2><p>We have spoken with dozens of <strong>startups </strong>who perceived <a href="/dictionary/localization">localization</a> as an important milestone on their journey to successful growth. However, localization is often buried too deep in the backlog, and CEOs and Product Managers like to focus on growing through continuous delivery of new features and service improvements while overlooking the tremendous growth that localization can bring. </p><p>The same situation is present not only in startups. When your primary line of business is <strong>e-commerce</strong>, language localization is a low priority until the rest of the tasks is done, mainly logistics &amp; regulations compliance. When all prerequisites are met, language localization "suddenly" becomes a top priority. It is not an exception if language localization is sewn with a hot needle due to this myopic approach. </p><p>If you have an unchanging set of products, then a simple spreadsheet with translations may probably seem to be a satisfactory solution. But when you have to manage tens of products with an ever-changing inventory, handling translations in spreadsheets is a quick &amp; sure shortcut to localization management hell, with each additional language cranking up the speed at which you are moving there.</p><h2 id="localization-myths">🙈 Localization myths <a class="markdownit-header-anchor" href="#localization-myths">🔗</a></h2><p>Decision-makers postpone localization to later stages due to believing in some <a href="https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">well-known localization myths</a>.</p><p>☝️ <strong>Thinking that "our customers or users speak English; therefore, we don't need to localize" is a trap many businesses fall into.</strong></p><p>When you consider that <em>only 4.5% of the world's population are native English speakers</em>, with a further 19% speaking it as a second language to varying proficiency levels, it quickly becomes apparent that "everybody speaks English" is a myth.</p><p>In other words, <strong>more than 75% of the global population doesn't speak any English at all! </strong>😮 Now, you can see how huge part of a potential market you might be missing because of a language barrier. Localization clearly makes sense!</p><h2 id="wrong-localization-approach-can-cost-you-your-investment">🍃 Wrong localization approach can cost you your investment <a class="markdownit-header-anchor" href="#wrong-localization-approach-can-cost-you-your-investment">🔗</a></h2><p>Ignoring localization is foolish. But when you approach it incorrectly, what was once a sensible business objective can become a burden that slows growth down instead of accelerating it!</p><p>Our CEO Václav had various calls with Venture Capital funds representatives regarding our investment rounds. Václav also made one of the most valuable calls with VCs whose portfolio companies failed to scale up internationally because of an absolute lack of experience with internationalization &amp; localization workflows in fast-growing companies.</p><p>Moreover, startups with 10x larger investment rounds than Localazy's failed to attempt international growth due to poor localization management. As a result, their backing funds lost their investment to better-prepared competitors.</p><h2 id="how-can-localazy-help-you">🤠 How can Localazy help you? <a class="markdownit-header-anchor" href="#how-can-localazy-help-you">🔗</a></h2><p>So here is a Localazy deal for all VCs and Accelerators that perceive the value of localization for healthy international business growth as a means of diversifying the risks associated with their investments.</p><p>Are you a VC interested in having a language localization partner to help your startups spread their vision globally?</p><p><a href="/community/b2b-partnerships/localazy-partnership-for-vc">Head directly to this page</a> and learn more about your opportunity to increase the odds of your portfolio companies succeeding in ever-growing multilingual markets. We are here to help you achieve steady international growth through successful localization without unnecessary hassle.</p><p>If you need more information, feel free to contact us at <a href="mailto:team@localazy.com">team@localazy.com</a><br></p>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/02/VC-Partnerships.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Quick guide to Android localization with Localazy]]></title>
            <link>https://localazy.com/blog/quick-guide-to-android-localization-localazy</link>
            <guid isPermaLink="false">quick-guide-to-android-localization-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:21:25 GMT</pubDate>
            <description><![CDATA[Android app localization is crucial for your app market expansion and vast user experience improvement. Learn how to get started in under 15 minutes. in this article]]></description>
            <content:encoded><![CDATA[<p>While <a href="https://developer.android.com/guide/topics/resources/localization" rel="nofollow">Android itself supports app localization</a>, there are many guides online on <strong>how to translate an Android app</strong> into more languages. But ask yourself. As a developer, are you a <strong>localization expert</strong>? Do you know all the bits and bobs, specialties, and differences of over 500 languages worldwide? It is not that easy to keep up with both language and technical requirements as a <a href="/blog/how-to-localize-mobile-app-as-a-single-developer">single developer who wants to localize a mobile app</a>.</p><p>Correct language localization requires much more and the better <strong>multilanguage app support</strong> you want and the more product flavors you have, the more issues you will have to address.</p><p>Forget the old-fashioned way. Now you can use the <strong>Android localization library</strong> by Localazy. You can use two methods of integration with Localazy, and both of them deliver increased workflow productivity to your Android development projects.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/UymDt20nOIc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><h2 id="set-up-the-gradle-plugin">🕹️ Set up the Gradle plugin <a class="markdownit-header-anchor" href="#set-up-the-gradle-plugin">🔗</a></h2><p>The most convenient way is to use the Localazy Gradle plugin. It can be integrated with your project in under 15 minutes and is entirely safe to use.</p><p><strong>The plugin has several important functions:</strong></p><ul><li>it integrates tightly with the Android Gradle plugin to understand your project’s structure</li><li>it uploads strings including metadata about flavors, build types, etc. to the translation platform</li><li>it integrates the <a href="https://localazy.com/docs/android/localazy-android-library">Localazy Android library</a> into the bytecode of your app so translations can be updated on-the-fly</li><li>while building your app, it replaces the app’s resources with updated translations</li></ul><blockquote><a href="/docs/android/localazy-gradle-plugin"><strong>Read more about our Gradle plugin for Android app localization</strong></a></blockquote><h3 id="what-do-developers-say-about-our-localization-library">What do developers say about our localization library?  <a class="markdownit-header-anchor" href="#what-do-developers-say-about-our-localization-library">🔗</a></h3><p>Read testimonials from Android developers who are already Localazy users:</p><blockquote>Translated an android project with a very complex structure, worked as a charm!</blockquote><ul><li><a href="https://www.trustpilot.com/reviews/6194fad66626c54b839ef2d5">Pavel Borzenkov</a></li></ul><hr><blockquote><strong>Perfect tool to translate Android apps:</strong> I'm starting to use localazy to translate my last Android app and I'm stuned by the quality of the product, the documentation and the support. You instantly feel that the product as been developed by developers that konws the constraints of localization.<br>It will remove a lot of headaches related to translations.<br>Thanks a lot! Kudos to the team 🙌</blockquote><ul><li><a href="https://www.trustpilot.com/reviews/61556fed215cfcced27411b0">Jérémy Share It Again</a></li></ul><hr><blockquote><strong>A great automated translation tool for even a non-developer:</strong> I got to know about this product from a friend. They told me that it provides OTA translations, I was in total denial first. But when I first checked it out I was totally in awe. It removes the hassle of adding new languages via each app update.</blockquote><ul><li><a href="https://www.trustpilot.com/reviews/5f43716902e85708c8d75943">Raghav Satyadev</a></li></ul><hr><p>You can read more reviews on <a href="https://www.trustpilot.com/review/localazy.com">Trustpilot</a>, <a href="https://sourceforge.net/software/product/Localazy/#:~:text=Marketing%20Management-,Localazy%20Reviews,-Write%20a%20Review">SourceForge</a>, or <a href="https://www.capterra.com/p/204830/Localazy/#reviews">Capterra</a> to see why Localazy is the best solution for Android localization.</p><h2 id="use-our-advanced-cli">⚙️ Use our advanced CLI <a class="markdownit-header-anchor" href="#use-our-advanced-cli">🔗</a></h2><p>Although our Gradle plugin is a state-of-art <strong>solution for Android localization</strong>, we ultimately can understand that in some cases, you may want to use a different way to <strong>localize Android apps, such as our <a href="/docs/cli/the-basics">powerful CLI tool</a>.</strong> </p><p>Using our CLI tool, you can use Localazy as part of your CI/CD and keep your code free of any external libraries. Of course, you will not be able to utilize excellent benefits such as live OTA updates of new translations. </p><p>On the other hand, you can still benefit from the enormous value of our <a href="/dictionary/translation-management-system-tms">translation management system</a><strong> </strong>without the need to change your code.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/02/SvgAndroidWide.png" class="kg-image" alt loading="lazy" width="1260" height="840" srcset="https://ghost.localazy.com/content/images/size/w600/2022/02/SvgAndroidWide.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/02/SvgAndroidWide.png 1000w, https://ghost.localazy.com/content/images/2022/02/SvgAndroidWide.png 1260w" sizes="(min-width: 720px) 720px"><figcaption>Localazy is the best solution for Android app localization!</figcaption></figure><h2 id="start-translating-on-your-own">🗝️ Start translating on your own <a class="markdownit-header-anchor" href="#start-translating-on-your-own">🔗</a></h2><p>After you successfully connect your project to Localazy, you can jump right in and start translating. Localazy offers an advanced suggestions system with built-in <a href="/dictionary/machine-translation">machine translation</a> engines (such as <a href="/dictionary/deepl">DeepL</a>) to help you boost the effectiveness of the translation process. </p><blockquote><strong>Read why professional <a href="/blog/intro-localazy-translators-perspective">translators love using Localazy</a></strong></blockquote><p>On top of that, you can opt-in to share translations in a community translation memory (<a href="/docs/general/what-is-localazy-sharetm">ShareTM</a>) to get parts of your app translated immediately and help others by providing your own translations to the pool.</p><p>▶️ Read our <a href="/docs/general/getting-started-with-localazy">Getting started guide</a> or <a href="/docs/general/defining-user-roles">invite contributors</a> and volunteers to get some help on your localization journey. </p><h2 id="never-manage-translators-again">🚀 Never manage translators again <a class="markdownit-header-anchor" href="#never-manage-translators-again">🔗</a></h2><p>You can use Localazy on your own or invite contributors to help you with translation and achieve great results. However, if you would like to save time and effort and focus on improving your Android app, Localazy got your back. </p><p>Focus on what’s important and order translations from the Localazy <a href="/docs/general/continuous-localization-team">Continuous Localization Team (CLT)</a> to <strong>automatically and proactively translate</strong> your texts to selected languages. Localazy has many expert translators under the hood, and they will work for you without you having to hire, assess, and payroll them on your own. </p><p>▶️ Get started now, <a href="/my/virtual-translator">order proactive translations</a> from the Continuous Localization Team and forget about translator management forever. 🤩</p><h2 id="more-android-localization-tips-and-tricks">✔️ More Android localization tips and tricks <a class="markdownit-header-anchor" href="#more-android-localization-tips-and-tricks">🔗</a></h2><ul><li><a href="https://localazy.com/blog/improve-mobile-app-localization-efficiency-with-localazy">Efficient Android app localization tips</a></li><li><a href="https://localazy.com/docs/android/localazy-android-library">What is Localazy Android Library</a>?</li><li>Learn how to <a href="https://localazy.com/docs/android/dont-solve-deprecated-locales-by-yourself">Solve deprecated locales</a></li><li>Learn how to <a href="/docs/android/how-to-handle-chinese-with-localazy">Handle Chinese on Android with Localazy</a></li><li>Read about the <a href="https://localazy.com/docs/android/only-ota-updates-that-really-work">Only OTA updates that really work!</a></li><li>Read more <a href="/tags/android">articles about Android</a> on the Localazy Blog</li></ul>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/09/How-to-lokalize-Android-app.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[TypeScript library for Localazy API]]></title>
            <link>https://localazy.com/blog/typescript-library-for-localazys-api</link>
            <guid isPermaLink="false">typescript-library-for-localazys-api</guid>
            <pubDate>Thu, 16 Apr 2026 14:32:10 GMT</pubDate>
            <description><![CDATA[In 2021, Localazy released a REST-based API to export translations and import content from/to Localazy. However, it's still in development and thus is not yet as powerful as Localazy's CLI or web interface. Nonetheless, that doesn't mean you cannot start using it today. Quite the opposite!]]></description>
            <content:encoded><![CDATA[<h2 id="production-ready-today">▶️ Production-ready today <a class="markdownit-header-anchor" href="#production-ready-today">🔗</a></h2><p>As an example, our <a href="/features/figma-localization-plugin">Figma plugin</a> for Localazy revolves around API and shows that you can use it to build powerful plugins and tools. However, it may be daunting to start as <a href="/dictionary/api">REST-based API</a> generally provides only basic functionality and complex logic needs to be built on top of it. Therefore, starting from scratch will generally include studying the <a href="/docs/api/introduction">documentation</a>, trying out various endpoints, inspecting responses, and then creating some kind of personal library to abstract some of the complexity.</p><h2 id="typescript-library-to-get-you-started">📚 TypeScript library to get you started <a class="markdownit-header-anchor" href="#typescript-library-to-get-you-started">🔗</a></h2><p>Well, if you're going to use either <a href="/dictionary/javascript">JavaScript</a> or <a href="/dictionary/typescript">TypeScript</a>, you're in luck! We've built a zero-dependency <a href="https://github.com/localazy/ts-api">library</a> that takes care of the basic concepts such as authentication or type definition. The library provides several methods that should cover most of your needs. </p><p>You just need to install it as a dependency in your project to get started.</p><pre><code class="language-bash">npm install @localazy/ts-api</code></pre><p>Afterward, import the library and initialize it.</p><pre><code class="language-javascript">import LocalazyApi from '@localazy/ts-api';

const api = LocalazyApi({
    projectToken: "your-project-token"
    // ...additional options
})</code></pre><p>That's it. You can immediately begin to fetch data from Localazy, such as a list of projects with <code>listProjects</code> the method, all the keys for a given project, file, and language with <code>listKeysInFileForLanguage</code> and then upload modified content with <code>import</code>. </p><p>See the project's GitHub page for an overview of all the supported methods. Or head over to this <a href="/blog/how-to-translate-ad-banners-localazy-api-marketing-localization">article</a> about the dynamic localization of ad banners to see this library in action.</p><h3 id="project-token">Project token <a class="markdownit-header-anchor" href="#project-token">🔗</a></h3><p>To access anything from Localazy, you need to <a href="/register">sign up</a> and create a project. Then, you'll be able to generate a project token <a href="/developer/tokens">here</a>. See <a href="/docs/api/authentication">documentation</a> for more information.</p><h2 id="closing-words">✔️ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>We hope this small library will help you get the best of <a href="/features/translation-api">Localazy API</a>. </p><p>To see the complete list of supported methods or to report a bug/feature request, please head to <a href="https://github.com/localazy/ts-api">GitHub</a>. Don't hesitate to contact us via <a href="mailto:team@localazy.com">team@localazy.com</a> or join our <a href="https://discord.gg/Sm8z5Bhq">Discord</a> channel if you have any questions. Happy coding!</p><h2></h2>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/01/TypeScript---Localazy-API.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Join 57.7B USD language services market and earn money with Localazy Affiliate Program]]></title>
            <link>https://localazy.com/blog/join-57-bn-language-services-market-localazy-affiliate-program</link>
            <guid isPermaLink="false">join-57-bn-language-services-market-localazy-affiliate-program</guid>
            <pubDate>Tue, 15 Feb 2022 15:05:16 GMT</pubDate>
            <description><![CDATA[The global language services market is expected to reach over 57 billion USD in 2022. The pie is getting bigger and bigger each year, and now you can earn your share on it by becoming a Localazy Affiliate Partner!]]></description>
            <content:encoded><![CDATA[<h2 id="language-services-market-keeps-growing">📈 Language Services Market keeps growing <a class="markdownit-header-anchor" href="#language-services-market-keeps-growing">🔗</a></h2><p>According to <a href="https://www.statista.com/statistics/257656/size-of-the-global-language-services-market/">Statista</a>, the language services market is forecasted to grow considerably in the coming years. It is expected to reach almost 3x its size in 2022 (57.7B USD) compared to 2009 (23.5B USD). </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/image-24.png" class="kg-image" alt loading="lazy" width="703" height="448" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-24.png 600w, https://ghost.localazy.com/content/images/2022/01/image-24.png 703w"><figcaption>The market size of the global language services industry from 2009 to 2019 with a projection until 2022(in billion U.S. dollars) | Source: <a href="https://www.statista.com/statistics/257656/size-of-the-global-language-services-market/">Statista</a>&nbsp;</figcaption></figure><p>Even though English is the most spoken language globally, <a href="https://www.statista.com/statistics/266808/the-most-spoken-languages-worldwide/">more than 75% of the population doesn't speak English at all!</a> That's why localization is a crucial aspect of the international success of many companies. </p><p>This fact is becoming more apparent to a growing number of online businesses, non-profits, software houses, app makers, and startup marketers each day. To illustrate, can you name some technology giants that don't offer their services in the target market's language? You would have to look hard to find a globally successful business that doesn't provide a localized experience to its end users.</p><blockquote>Read why <a href="/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">localization is important even when English is the most spoken language in the world</a>.</blockquote><p>The opportunity to profit from language services is getting more accessible to everyone as the need for <a href="/dictionary/localization">localization</a> and <a href="/dictionary/translation">translation</a> services keeps growing. And because the world keeps interconnecting in more ways than before, the supply can match demand even better thanks to countless freelance translators who can use their favorite platform and provide their services online, flexibly, and from anywhere in the world. </p><h2 id="going-global-with-localazy">🌎 Going global with Localazy <a class="markdownit-header-anchor" href="#going-global-with-localazy">🔗</a></h2><p>Localazy helps businesses, non-profits, and individuals with the localization of their digital content. You can think of Localazy as a complete localization suite with advanced features under the hood and continuous localization services in one package. </p><p>By using Localazy, everyone can utilize these features in various approaches to reach their localization goals. With <a href="/integrations">over 50+ integrations</a>, including the most popular <a href="/dictionary/machine-translation">machine translation</a> engines and <a href="/tags/ci">CI/CD</a> options, users can seamlessly and automatically translate their content, invite contributors, or order translation services directly from our <a href="/features/continuous-localization-team">Continuous Localization Team</a>.</p><p>Localazy offers <a href="/pricing">pricing</a> options suitable for individuals, teams, and even enterprise clients needing stellar support and services. </p><blockquote>You can <a href="/compare-plans">compare Localazy plans here</a>.</blockquote><h3 id="why-choose-localazy">Why choose Localazy? <a class="markdownit-header-anchor" href="#why-choose-localazy">🔗</a></h3><ul><li>🎖️ Happiest Users and Quality Choice Award from <a href="https://crozdesk.com/software/localazy">Crozdesk</a></li><li>🏆 2021 Top Performer Award from <a href="https://sourceforge.net/software/product/Localazy/">SourceForge</a></li><li>⭐ 5-star reviews on <a href="https://www.trustpilot.com/review/localazy.com">Trustpilot</a>, <a href="https://www.g2.com/products/localazy/reviews">G2</a> and <a href="https://www.capterra.com/p/204830/Localazy/">Capterra</a></li></ul><h2 id="how-to-earn-money-with-localazy-affiliate">💸 How to earn money with Localazy Affiliate? <a class="markdownit-header-anchor" href="#how-to-earn-money-with-localazy-affiliate">🔗</a></h2><p>Okay, now that you know that the language service market presents a great opportunity, and Localazy is shooting for the stars with its state-of-the-art localization platform and translation services, you are curious about what's in it for you. </p><p><strong>Localazy offers a new <a href="/term/affiliate-program">Affiliate Program</a> that allows you to make money by recommending Localazy to your audience.</strong> Interested? Follow the steps below to get started!</p><h3 id="join-the-affiliate-program">Join the Affiliate Program <a class="markdownit-header-anchor" href="#join-the-affiliate-program">🔗</a></h3><ol><li>Before you join, you should be familiar with the Localazy platform and its benefits - feel free to <a href="/register">sign up</a> and try it or read about use cases and success stories on our <a href="/blog">blog</a>.</li><li>Learn <a href="https://localazy.com/community/b2b-partnerships/join-our-affiliate-program">how the Affiliate Program works</a>, agree with our terms and opt-in.</li><li>Share the link and get a commission from each sale!</li></ol><p>Pro-tip: Use the <a href="https://doc.clickup.com/p/h/2c5jk-6121/dcf6f04f88a5fb2/2c5jk-6121">ready-made campaign resources</a> to kickstart your initiatives!</p><h3 id="any-questions">Any questions? <a class="markdownit-header-anchor" href="#any-questions">🔗</a></h3><p>Feel free to contact us directly at <a href="mailto:team@localazy.com">team@localazy.com</a> should you have any questions about the mechanisms behind our Affiliate Program. We are looking forward to hearing from you!</p>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/01/Localazy-Affiliate.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Translate Ad Banners on the fly with Localazy API]]></title>
            <link>https://localazy.com/blog/how-to-translate-ad-banners-localazy-api-marketing-localization</link>
            <guid isPermaLink="false">how-to-translate-ad-banners-localazy-api-marketing-localization</guid>
            <pubDate>Thu, 16 Apr 2026 14:29:09 GMT</pubDate>
            <description><![CDATA[Banner Ad campaigns are a crucial part of marketing for many companies However, untranslated banners have only a limited effect on audiences whose native language is different. This article shows how you can use Localazy API to create and test how your banners look in various languages.]]></description>
            <content:encoded><![CDATA[<h2 id="translate-banners-on-the-fly">🦅 Translate banners on the fly <a class="markdownit-header-anchor" href="#translate-banners-on-the-fly">🔗</a></h2><p>I'm going to expand on <a href="/blog/author/rafal-rybnik">Rafał's</a> article <a href="https://localazy.com/blog/how-to-localize-banner-ad-campaign">How to Localize Banner Ad Campaign</a>, where he discusses the importance of banner <a href="/dictionary/localization">localization</a> and provides general advice. Furthermore, it contains step-by-step instructions on how you can use Localazy to build a <a href="/dictionary/javascript">JavaScript</a> page that contains variously sized banners that use translated labels.</p><p>Rafał stores the translations in a JavaScript file which is later uploaded to Localazy, where he provides translations and then downloads it back, all powered by <a href="/docs/cli/the-basics">Localazy CLI</a>. For most projects, this is an acceptable and recommended way of managing your translations, as using static files has its merits - they are released with your application. Hence, accessing the translations is instant; you can browse through them locally, and it's easy to build automated workflows that need to use the translations.</p><p>Nonetheless, there are scenarios where using static files in combination with <a href="/features/translation-api">Localazy API</a> makes great sense. For instance, when you want to provide up-to-date translations without releasing a new version of your application, you can fetch everything through API and only fall back to static files in case of an error or as a fallback until the files are correctly fetched. In other scenarios, you can skip using the static files whatsoever and use API only. And that's precisely what we're going to do in this article.</p><h2 id="preparation">🛠️ Preparation <a class="markdownit-header-anchor" href="#preparation">🔗</a></h2><p>I'm going to use <a href="/dictionary/vuejs">Vue 3</a> as the basis for this project. It's not that important, really, as the main service responsible for communication with Localazy is written in <a href="/dictionary/typescript">TypeScript</a>. As such, you could use any other JavaScript-based framework or vanilla HTML if you like. </p><p>Here is the <a href="https://github.com/localazy/banner-vue-api">link</a> to the related repository.</p><h3 id="layout">Layout <a class="markdownit-header-anchor" href="#layout">🔗</a></h3><p>This is all that we need.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/01/image.png" class="kg-image" alt loading="lazy" width="1699" height="1048" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/image.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/01/image.png 1600w, https://ghost.localazy.com/content/images/2022/01/image.png 1699w" sizes="(min-width: 720px) 720px"></figure><p>Three banners of various sizes and a couple of inputs and buttons. Let's go through them one by one.</p><ul><li><code>Select language</code>: Contains already created languages in Localazy</li><li><code>Add new</code>: If you provide a valid language code, the save button stores <em>title</em> and <em>label</em> as a new language</li><li><code>title</code> and <code>label</code>: Textual content of banners, in English <em>title</em> is Drink milk and <em>label</em> is 5 Proven Health Benefits of Milk</li><li><code>Save</code>: Saves current values in Localazy. Either under currently selected language or as a new language when <em>add new</em> language code is provided</li><li><code>Reset keys for current language</code>: Sets <em>title</em> and <em>label</em> of the selected language to empty values</li></ul><h3 id="sign-up-and-create-a-project">Sign up and create a project <a class="markdownit-header-anchor" href="#sign-up-and-create-a-project">🔗</a></h3><p>Before using API, we need to <a href="https://localazy.com/register">sign up</a> and create a project in Localazy. We're going to use English as the primary language.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/01/image-1.png" class="kg-image" alt loading="lazy" width="1302" height="857" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/image-1.png 1000w, https://ghost.localazy.com/content/images/2022/01/image-1.png 1302w" sizes="(min-width: 720px) 720px"></figure><p>You're going to be prompted with integration options. However, we don't need to do anything else from the web interface as we will manage the content externally through API.</p><blockquote>Read about <a href="/docs/general/getting-started-with-localazy">Getting Started with Localazy</a> in the documentation.</blockquote><h2 id="managing-translation-through-api">🕹️ Managing translation through API <a class="markdownit-header-anchor" href="#managing-translation-through-api">🔗</a></h2><h3 id="access-token">Access token <a class="markdownit-header-anchor" href="#access-token">🔗</a></h3><p>We're almost ready to start using the API. Before heading to <a href="/dictionary/integrated-development-kit-ide">IDE</a>, the last thing left to do is <a href="/developer/tokens">generate</a> a project token for API's authentication/authorization. Leave this page open; we'll need the access token shortly.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/01/image-2.png" class="kg-image" alt loading="lazy" width="1672" height="1085" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/image-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/01/image-2.png 1600w, https://ghost.localazy.com/content/images/2022/01/image-2.png 1672w" sizes="(min-width: 720px) 720px"></figure><h3 id="typescript-library-for-api">TypeScript library for API <a class="markdownit-header-anchor" href="#typescript-library-for-api">🔗</a></h3><p>Using APIs, in general, can be frustrating at first because they usually provide you with pretty basic and raw data. Consequently, the first step (right after reading the <a href="https://localazy.com/docs/api/introduction">documentation</a>) is often to test out various endpoints and what they return, and then start building your own services that process the data and return what you need. </p><p>However, for TypeScript/JavaScript projects, we've done some heavy-lifting for you upfront - <a href="https://github.com/localazy/ts-api">@localazy/ts-api</a>. It is a small NPM package that facilitates authorization, takes care of network requests, and provides type annotations for method arguments and their responses.</p><p>In order to install it, just run</p><pre><code class="language-bash">npm install @localazy/ts-api</code></pre><h3 id="creating-api-service">Creating API service <a class="markdownit-header-anchor" href="#creating-api-service">🔗</a></h3><p>Even with the TypeScript library, we still need to create a couple of methods to retrieve the exact data we need from the target project. I only list the required methods and describe what they do; <a href="https://github.com/localazy/banner-vue-api/blob/develop/src/services/localazy-service.ts">here</a> is the file if you'd like to inspect them in detail.</p><p><strong>constructor</strong></p><ul><li>The following methods belong to a class. In its constructor, we initialize the Typescript library and pass in the <strong>projectToken</strong> we've generated earlier.</li></ul><pre><code>constructor() {
  this.api = LocalazyApi({
        projectToken: 'your-access-token',
  });
}</code></pre><p><strong>generateFile</strong></p><ul><li>Creates a new file called <em>banners</em> in Localazy with values for <em>title</em> and <em>label</em> for the currently selected language or the provided new language code.</li></ul><p><strong>listProjectLanguages</strong></p><ul><li>returns only <em>languages</em> attribute from the fetched project.</li></ul><p><strong>listKeysInFileForLanguage</strong></p><ul><li>lists keys (translations) for the given file and language if both the file and language exist.</li></ul><h3 id="putting-it-all-together">Putting it all together <a class="markdownit-header-anchor" href="#putting-it-all-together">🔗</a></h3><p>We have all the tools and elements we need. It's time to register relevant methods to user-generated events and see them in action. As I mentioned earlier, the example is built with Vue 3. However, the following snippets are quite universal and understandable regardless of your background. </p><p>We bind our <em>title</em> and <em>label</em> values of the currently selected language to banners.</p><pre><code class="language-vue">&lt;banner
  :title="currentData.title"
  :label="currentData.label"
/&gt;</code></pre><p>Then we add an option to generate the translation file in Localazy. This will be visible when the Localazy's project is empty, i.e., not even the English entries have been uploaded yet.</p><pre><code>&lt;div v-if="languageKeys.status === 'file_does_not_exist'"&gt;
  File does not exist yet.
  &lt;button @click="generateFile"&gt;
    Generate
  &lt;/button&gt;
&lt;/div&gt;

...

async function generateFile() {
  await LocalazyService.generateFile({
    languageCode: 'en',
    title: 'Drink milk',
    label: '5 Proven Health Benefits of Milk',
  });
}
</code></pre><p>The following represents a block with the currently selected language and the input for adding a new language. We bind the current language, and we monitor whether the input for the new language code is empty or not. When the user changes the currently selected language, we fetch the data for this language.</p><pre><code>&lt;language-options
  :languages="languages"
  v-model:language-code="currentData.languageCode"
  v-model:new-language-code="newLanguageCode"
  @change-language="onChangeLanguage"
/&gt;

...

async function onChangeLanguage() {
  languageKeys.value = await LocalazyService.listKeysInFileForLanguage(currentData.value.languageCode);

  currentData.value.title = languageKeys.value.keys.find((key) =&gt; key.key.includes('title'))?.value || '';
  currentData.value.label = languageKeys.value.keys.find((key) =&gt; key.key.includes('label'))?.value || '';

}</code></pre><p>The current values for <em>title</em> and <em>label</em> are passed to two editable inputs. Note that the keys for strings are represented by arrays. The keys can be nested under each other, and this is represented by arrays. For single-level keys, the array always contains exactly one entry. Nonetheless, we use <code>data.key.join('.')</code> to handle nested keys as well, just in case. The <code>.</code> separator is just one of the possible ways of representing (flattened) nested keys.</p><pre><code>&lt;translation-input
  v-for="data in languageKeys.keys"
  :key=" data.key.join('.')"
  v-model="currentData[data.key.join('.')]"
&gt;
  {{ data.key.join('.') }}
&lt;/translation-input&gt;</code></pre><p>And lastly, the <em>save</em> and <em>reset</em> buttons. When saving, the target language is either the language code provided in the <em>new language code</em> input or the language code of the currently selected language. Reset is similar but sets <em>title</em> and <em>label</em> to empty strings;</p><pre><code>&lt;translation-buttons
  @save="onSave"
  @reset="resetKeysForCurrent"
/&gt;

...

async function onSave() {
  const language = newLanguageCode.value || currentData.value.languageCode;

  await LocalazyService.generateFile({
    languageCode: language,
    title: currentData.value.title,
    label: currentData.value.label,
  });
}


async function resetKeysForCurrent() {
  await LocalazyService.generateFile({
    languageCode: currentData.value.languageCode,
    title: '',
    label: '',
  });
  languageKeys.value = await LocalazyService.listKeysInFileForLanguage(currentData.value.languageCode);
}</code></pre><p>Let's see it in action!</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/01/banner-localization.gif" class="kg-image" alt loading="lazy" width="2752" height="1040"></figure><p>We can preview the content in our application, and once we are happy with the look and feel of the banner, we can store it in Localazy. And when we open the project in Localazy, we'll find the Czech translations inside without ever opening the project upfront.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/01/image-3.png" class="kg-image" alt loading="lazy" width="1665" height="715" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/image-3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/01/image-3.png 1600w, https://ghost.localazy.com/content/images/2022/01/image-3.png 1665w" sizes="(min-width: 720px) 720px"></figure><h2 id="closing-words">✔️ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>I hope this article helped you understand how to use Localazy's API to manage content externally. Refer to the <a href="https://github.com/localazy/banner-vue-api">repository</a> if you'd like to inspect the code in detail. Don't hesitate to contact us via <a href="mailto:team@localazy.com">team@localazy.com</a> or join our <a href="https://discord.gg/Sm8z5Bhq">Discord</a> channel if you have any questions. Happy coding! </p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/01/Localazy-API-Banners.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Guide your style - linguistic style guides in software localization]]></title>
            <link>https://localazy.com/blog/linguistic-style-guides-software-localization</link>
            <guid isPermaLink="false">linguistic-style-guides-software-localization</guid>
            <pubDate>Thu, 16 Apr 2026 14:32:17 GMT</pubDate>
            <description><![CDATA[Style guides are among the most important documents in software localization. Still, they're not always prepared by developers. Follow these steps to create a solid foundation — the 2 or 3 hours spent on prep will save you a lot more time in the future.]]></description>
            <content:encoded><![CDATA[<h2 id="what-is-a-style-guide">📑 What is a style guide? <a class="markdownit-header-anchor" href="#what-is-a-style-guide">🔗</a></h2><p>In the most general sense, it is a document in which the developer or product owner shares context about the software together with expectations towards <a href="/dictionary/localization">localization</a>. </p><p><strong>So a style guide should at least say:</strong></p><ul><li>what your software does</li><li>who are the potential users of your application</li><li>who are you, as a developer, and what is your mission, goal, etc.</li></ul><p>This is the most basic information you should include in your style guide. It should give background and context to your software. All translators LOVE 💖 to have context and the more you provide - the better. Context makes localization work a lot easier for you - the developer, and them - translators and reviewers.</p><p><strong>Why for the developer?</strong> Because as a developer, you will not be answering the same boring questions all the time. All of it will be neatly prepared in one document.</p><p><strong>Why for translators?</strong> Because they will not have to ask the most basic questions, as all initial context would be delivered in a neat document.<br><br>You can save a significant amount of time, for all parties, by providing this context in the style guide at the beginning of the localization process. The only challenge is to deliver a well prepared style guide up front.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/SvgSurvey.png" class="kg-image" alt loading="lazy" width="1260" height="840" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/SvgSurvey.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/SvgSurvey.png 1000w, https://ghost.localazy.com/content/images/2022/01/SvgSurvey.png 1260w" sizes="(min-width: 720px) 720px"><figcaption>How to prepare a style guide for your software project's localization?</figcaption></figure><h2 id="what-should-a-well-prepared-style-guide-contain">📚 What should a well prepared style guide contain? <a class="markdownit-header-anchor" href="#what-should-a-well-prepared-style-guide-contain">🔗</a></h2><p>The more of the elements below that you include, the better, and of course you can add even more. There is no such thing as too much context! Below you will find some examples of what to include in your style guide.</p><h4 id="what-is-your-organization-or-brand">What is your organization or brand?</h4><p>Introduce your brand to translators, for example like this:</p><p><em>"Since the launch of Kikiriki Software in 2010, the team has expanded from 1 ambitious college student to 800+ full-time employees. Kikiriki offers the only visual collaboration suite that helps teams see and build the future from idea to reality."</em></p><h4 id="what-product-andor-services-are-being-localized">What product and/or services are being localized?</h4><p>Provide a brief description of the product or services that you provide, it could look like this:</p><p><em>"Kikiriki is a virtual whiteboard application for freeform ideation, group brainstorming and real-time collaboration across teams."</em></p><h4 id="resources-for-your-software">Resources for your software</h4><ul><li>Is there a trial available?</li><li>Do you have a <a href="/dictionary/glossary">glossary</a> of the most important terms used in your UI?</li><li>URLs, YouTube videos with software use cases.</li><li>Any online presentations of your software?</li><li>Do you run a Discord channel?</li></ul><blockquote><strong>Learn more about <a href="/docs/general/how-to-define-your-glossary">Glossary management in Localazy</a></strong></blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/image-23.png" class="kg-image" alt loading="lazy" width="1625" height="917" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-23.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/image-23.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/01/image-23.png 1600w, https://ghost.localazy.com/content/images/2022/01/image-23.png 1625w" sizes="(min-width: 720px) 720px"><figcaption>Glossary of terms helps provide context for translators.</figcaption></figure><h4 id="what-is-the-tone-of-the-texts-used-to-present-your-products">What is the tone of the texts used to present your products?</h4><ul><li>Are colloquial expressions allowed/required/disallowed?</li><li>Active/passive voice?</li><li>Abbreviations - yes/no?</li></ul><h4 id="what-items-are-not-to-be-translated">What items are not to be translated?</h4><ul><li>Website names</li><li>Brand names</li><li>User names</li><li>Product names</li><li>Email addresses</li><li>URLs</li><li>Any characters/character types unsupported in UI?</li></ul><h4 id="bullet-points">Bullet Points</h4><ul><li>Begin each bullet point with a capital letter?</li><li>If a bullet point is a complete sentence, end each bullet point with a period?</li></ul><h4 id="feeling-of-the-text">Feeling of the text         </h4><ul><li>Use active voice; passive voice should be avoided.</li><li>Pronoun for the company is a singular "it" and not plural "them"..</li><li>Write in 1st person to customers, e.g., <em>“your downloaded files”</em>.</li><li>Write directly as a company when possible, e.g., <em>“We weren’t able to retrieve your document. Please try again.”</em>  </li><li>Be lighthearted, but not overly humorous; phrases like <em>“Oopsie!”</em> and <em>“The gremlins are on it right now”</em> are not allowed.</li></ul><p>These are just examples of information I find useful. The above saves me a lot of time, as prior to localizing your software I would have to find your website and FB/Twitter/Instagram profiles or other online resources. Then I would start looking for general information about the company and the product to be localized. I would then have to make sure that I found the right data, so I would most probably message you several times to confirm my research and ask some more questions.</p><p>This would take significant amount of time (yours and mine). With a style guide you would have just saved me at least 2-3 hours of getting familiar with the most general context of what your company is and what  the software is that you create. </p><p>Now comes the best part - if you localize your software to many languages, this one style guide can be provided to all your translators with information that is equally useful for all of them.</p><h2 id="one-style-guide-for-all-languages">✏️ One style guide for all languages? <a class="markdownit-header-anchor" href="#one-style-guide-for-all-languages">🔗</a></h2><p>That would be too beautiful. The above information is indeed extremely useful for all languages but there are always language specific quirks that mean there will be a huge benefit to more information. </p><p>Therefore, you can also prepare a language-specific section of your style guide that would contain precise linguistic requirements. Here you would need to provide diverse rules that most probably will be different for each language. This pays back even more then the general part of the style guide. As you get then a manual describing all the do’s and don'ts when translating your software to a given language. </p><p><a href="https://hub.localazy.com">Linguistic rules</a> differ from language to language and your software should be adapted independently to them. There is no golden localization guide for all languages. </p><h2 id="so-again-why-should-i-create-and-maintain-a-style-guide">📌 So again, why should I create and maintain a style guide? <a class="markdownit-header-anchor" href="#so-again-why-should-i-create-and-maintain-a-style-guide">🔗</a></h2><ol><li>This saves time, a lot, overall in the whole process.</li><li>Makes your localizations coherent in terms of style and language.</li><li>Introducing/changing translators/reviewers is not a problem - the on-boarding is much smoother and quicker when they get a set of localization rules at the very beginning.</li><li>Ask for and introduce in your style guide suggestions from your contributors.</li></ol><h2 id="further-reading">📰 Further reading <a class="markdownit-header-anchor" href="#further-reading">🔗</a></h2><ul><li>Learn how to <a href="/blog/make-translators-happy-cooperate-localazy">Make your translators happy to cooperate</a></li><li>Read an <a href="/blog/intro-localazy-translators-perspective">Intro to Localazy from translator's perspective</a></li></ul>]]></content:encoded>
            <author>Michał Tosza</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/01/Style-guide.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Agile localization for UX: The Localazy Figma plugin changes the game]]></title>
            <link>https://localazy.com/blog/agile-localization-for-ux-the-localazy-figma-plugin-changes-the-game</link>
            <guid isPermaLink="false">agile-localization-for-ux-the-localazy-figma-plugin-changes-the-game</guid>
            <pubDate>Thu, 16 Apr 2026 14:24:20 GMT</pubDate>
            <description><![CDATA[For UXers, localizing a product is one of the most daunting challenges. It's a huge task that doesn't have one “right” process. But whether you're doing CI/CD or localizing your entire product in one go, there are tools that can make life a lot easier for you and your team.]]></description>
            <content:encoded><![CDATA[<p>If Figma is your team's go-to for design, you want the tools in your localization workflow to sync with it automatically - and that's perfectly reasonable. After all, by cutting out manual work from your process, you'll be minimizing human errors, delays, and other unsavory bits.</p><p>Not only that, but we already know that having <a href="https://www.writingtech.co/articles/pitfalls-of-ux-translation">proper context has a significant impact on localization quality</a>. It can give your linguists a full view of the current feature flow and help them come up with the best linguistic solutions for each screen. Plus, it almost completely prevents concatenation and placeholders blunders - that's when your translator translates pieces of strings separately, without knowing or having any control over what they'll apply to or how they'll come together at the end.</p><p>That's why a <a href="https://www.writingtech.co/integrations/figma">Figma localization plugin</a> is one of the most useful features a localization tool can have. It's a huge asset to UX teams. Today, I wanted to take a closer look at a new Figma plugin released by one of the most exciting new-gen localization tools in the market today, <a href="https://localazy.com/?ref=a9yaJY8D54T8-etn">Localazy</a>® <a href="https://www.writingtech.co/tools/localazy">(more about them here)</a>.</p><figure class="kg-card kg-image-card"><img src="https://uploads-ssl.webflow.com/5dc7e75011520e0549e9b2ea/61e95b99e54832637348deef_61e95a4d94ea820c205d81b2_Untitled.png" class="kg-image" alt loading="lazy"></figure><p>‍</p><h2 id="what-can-the-localazy-figma-plugin-do">🕹️ What can the Localazy Figma plugin do? <a class="markdownit-header-anchor" href="#what-can-the-localazy-figma-plugin-do">🔗</a></h2><p>Trying to stay on top of the thousands of words that make up a design can be pretty tricky, especially when your team is dispersed over several departments. Handling copy changes at various points along the process can get messy pretty fast, causing discrepancies and inconsistencies. The manual labor involved in updating strings can keep your team away from other essential tasks and delay feature rollouts in your global markets. Plus, external vendors, like freelance translators, will never be as immersed in your product as your in-house team. Giving them enough context is crucial for localization success.</p><p>Lucky for us, the Localazy plugin for Figma offers a simple, easy-to-use solution. It's a great way to streamline your processes and take out some of the friction localization workflows are infamous for. Here are a few things it can help you do:</p><h3 id="lessstronggreater1-translate-a-single-design-into-multiple-languageslessstronggreater"><strong>1. Translate a single design into multiple languages</strong> <a class="markdownit-header-anchor" href="#lessstronggreater1-translate-a-single-design-into-multiple-languageslessstronggreater">🔗</a></h3><p>If you've ever tried maintaining different versions of screens for each language, you know it can get out of hand fast. With this plugin, there's no need to deal with that at all. You can sync the source strings with Localazy from a single board and page, and easily switch between the localized versions of the copy when you need to. If all your languages currently require identical layouts, it's a huge time saver that'll definitely prevent some of the chaos product teams deal with when localizing.</p><h3 id="lessstronggreater2-save-time-preparing-new-releases-for-localizationlessstronggreater"><strong>2. Save time preparing new releases for localization</strong> <a class="markdownit-header-anchor" href="#lessstronggreater2-save-time-preparing-new-releases-for-localizationlessstronggreater">🔗</a></h3><p>Migrating copy from Figma to set up a localization process is usually a huge hassle. There's no designated way to export strings into a translatable format or keep string IDs in order. And to ensure your linguists get the proper context, you also need to manually create screenshots and upload them to the CAT tool of your choice (if you're lucky and that tool <a href="https://www.writingtech.co/features/screenshots">supports screenshot context</a>).</p><p>But with this Figma plugin, it all happens automatically. You can set it up to use your textbox ID as a string ID so that the exported file already has all the data your dev team needs for production. Plus, once you give the plugin a file share link, every string in Localazy will include an automatically generated backlink to its exact location in Figma. Rather than just getting visual context, your linguists can view the entire user flow and understand it better.</p><h3 id="lessstronggreater3-see-your-localized-copy-in-layout-with-the-click-of-a-buttonlessstronggreater"><strong>3. See your localized copy in layout with the click of a button</strong> <a class="markdownit-header-anchor" href="#lessstronggreater3-see-your-localized-copy-in-layout-with-the-click-of-a-buttonlessstronggreater">🔗</a></h3><p>Remember concatenation blunders? Now they're no longer an issue. After the initial localization phase is done, you can pull the translated copy into your layout with a single click. You, your team, and your linguists will be able to see precisely how the newly-localized texts look in layout, identify issues such as overflowing lines and mistranslated placeholders, and quickly correct them before they get to production.</p><h3 id="lessstronggreater4-quickly-push-copy-to-localization-then-to-productionlessstronggreater"><strong>4. Quickly push copy to localization, then to production</strong> <a class="markdownit-header-anchor" href="#lessstronggreater4-quickly-push-copy-to-localization-then-to-productionlessstronggreater">🔗</a></h3><p>Say goodbye to the copy-paste dance, become you'll no longer be needing it. Using this plugin, you can take your texts through the various localization stages with barely any manual effort. By automating tasks, using the sync feature wisely, and minimizing human involvement, you'll be able to release new localized versions much faster than before. That's ideal for agile teams, as they can focus on the things that matter - like quality and strategy - and leave the grunt work to the machines.</p><h3 id="lessstronggreater5-get-your-copy-continuously-translated-with-the-help-of-the-localazy-linguist-teamlessstronggreater"><strong>5. Get your copy continuously translated with the help of the Localazy linguist team</strong> <a class="markdownit-header-anchor" href="#lessstronggreater5-get-your-copy-continuously-translated-with-the-help-of-the-localazy-linguist-teamlessstronggreater">🔗</a></h3><p>If you're a send-and-forget type of person, this feature will be right up your alley. Using the Figma plugin, you can set up your account so that any new strings in a specific project are automatically sent out for translation. Then, when you push strings into Localazy via the plugin, they'll be translated by a human in a predefined time frame. Localazy promises to have translations ready within 2-5 business days.</p><p>You currently don't have much control over who will be doing the localization, which may be an issue - but the Localazy team is highly responsive and will do their best to ensure you get the results you're after. As always when working with an external provider for localization, keep an open mind but leave your guard up in terms of quality.</p><figure class="kg-card kg-image-card"><img src="https://uploads-ssl.webflow.com/5dc7e75011520e0549e9b2ea/61e95b99d571be6b85eadeb7_61e95a63440e001705b149bd_Untitled.png" class="kg-image" alt loading="lazy"></figure><p>‍</p><h2 id="how-much-does-the-localazy-figma-plugin-cost">💸 How much does the Localazy Figma plugin cost? <a class="markdownit-header-anchor" href="#how-much-does-the-localazy-figma-plugin-cost">🔗</a></h2><p>Plugin access is available for Localazy users on the Autopilot tier and up. The price tag of $49/month includes all other features on this plan - including webhooks, screenshots, and other integrations. Plus, you'll be getting your money back in the form of translation credits.</p><h2 id="is-the-localazy-figma-plugin-worth-it">🤔 Is the Localazy Figma plugin worth it? <a class="markdownit-header-anchor" href="#is-the-localazy-figma-plugin-worth-it">🔗</a></h2><p>Handling localization workflows manually may work if you only have a small number of strings, but larger products can greatly benefit from the time and effort saved by automation. As I often tell clients, if you feel the amount of manual labor weighs on you, it's probably a good choice to invest in some time-saving tech. You can try the Autopilot tier for free for 7 days before you make your decision. If you're considering Localazy for this feature, use that time to try some workflows and see exactly how many work hours you'll be getting back.</p><figure class="kg-card kg-image-card"><img src="https://uploads-ssl.webflow.com/5dc7e75011520e0549e9b2ea/61e95b99360c7c38130fe15c_61e95a74b5f519036b8525f2_Untitled.png" class="kg-image" alt loading="lazy"></figure><p>‍</p><h2 id="how-to-use-the-localazy-figma-plugin">🖌️ How to use the Localazy Figma plugin <a class="markdownit-header-anchor" href="#how-to-use-the-localazy-figma-plugin">🔗</a></h2><p>Using this plugin is pretty straightforward. Here's how you do it:</p><h3 id="lessstronggreater1-setting-up-the-plugin-for-worklessstronggreater"><strong>1. Setting up the plugin for work</strong> <a class="markdownit-header-anchor" href="#lessstronggreater1-setting-up-the-plugin-for-worklessstronggreater">🔗</a></h3><ul><li>Start by ensuring your account is on the <a href="https://localazy.com/pricing?ref=a9yaJY8D54T8-etn">Localazy Autopilot plan</a> or higher. Then, visit the plugin page in the <a href="https://www.figma.com/community/plugin/964257457772706017/Localization-plugin-by-Localazy">Figma plugin shop</a> to install the plugin on your Figma account.</li><li>Create an empty project on Localazy. This is where your strings will show up once you finish setting everything up.</li><li>Go back to your Figma board and open the plugin (right-click anywhere and choose plugins &gt; Localization plugin by Localazy).</li><li>Click ‘connect plugin’. You'll be transferred to Localazy to choose the project you'd like to sync. Pick the project from the dropdown and click ‘Authorize’.</li></ul><figure class="kg-card kg-image-card"><img src="https://uploads-ssl.webflow.com/5dc7e75011520e0549e9b2ea/61e95b99ec31a9e8c27f3d56_61e95a83d819824bb60de1ac_Conenct_plugin.gif" class="kg-image" alt loading="lazy"></figure><p>‍</p><h3 id="lessstronggreater2-uploading-your-texts-to-localazylessstronggreater"><strong>2. Uploading your texts to Localazy</strong> <a class="markdownit-header-anchor" href="#lessstronggreater2-uploading-your-texts-to-localazylessstronggreater">🔗</a></h3><ul><li>Select the frames or text boxes you'd like to sync with Localazy.</li><li>Visit the Settings tab of the plugin for additional settings. Here you can:</li><li>Add a Figma share link - Let Localazy generate a backlink for each string so that your linguists have the full context as they work.</li><li>Check ‘use node names as source keys’ - Give each string an ID that's identical to the text box's name. It's a great way to auto-generate key IDs for your developers. A word of warning, though: This should only be used if you're sure all your text boxes have unique names (unless, of course, they contain the same text). If they don't, Localazy will get confused and overwrite them.</li><li>Check ‘Upload and download the entire file’ - Ensure your actions impact all screens on the page, instead of having to select all screens manually.</li><li>Once you're done, click ‘Upload to Localazy’ on the Upload tab of the plugin. Note that you can choose the file name and type before uploading to better match your preferences and settings. There's a great selection of file types, from JSONs and XMLs to more specific ones.</li><li>Wait for the upload to complete, and voila! All your content is ready to be localized at Localazy.</li></ul><figure class="kg-card kg-image-card"><img src="https://uploads-ssl.webflow.com/5dc7e75011520e0549e9b2ea/61e95b995960d21a6a6a28cb_61e95a92ec31a997df7f3466_upload_to_localazy.gif" class="kg-image" alt loading="lazy"></figure><p>‍</p><h3 id="lessstronggreater3-translating-your-content-inside-the-localazy-platformlessstronggreater"><strong>3. Translating your content inside the Localazy platform</strong> <a class="markdownit-header-anchor" href="#lessstronggreater3-translating-your-content-inside-the-localazy-platformlessstronggreater">🔗</a></h3><p>You can have the strings translated by your team, use machine translation, or have the Localazy translation team work on them. This is where your carefully crafted localization process fits in. You can read the Localazy documentation <a href="https://localazy.com/register?ref=a9yaJY8D54T8-etn">on their website</a> to learn more about working with the platform.</p><p>‍</p><figure class="kg-card kg-image-card"><img src="https://uploads-ssl.webflow.com/5dc7e75011520e0549e9b2ea/61e95b99da38895f1d1d4b50_61e95a9fa46b9c3b1fcd186c_Untitled.png" class="kg-image" alt loading="lazy"></figure><p>‍</p><h3 id="lessstronggreater4-downloading-the-localized-strings-back-to-figmalessstronggreater"><strong>4. Downloading the localized strings back to Figma</strong> <a class="markdownit-header-anchor" href="#lessstronggreater4-downloading-the-localized-strings-back-to-figmalessstronggreater">🔗</a></h3><ul><li>Open the Figma plugin again in your Figma project</li><li>Select the frames you want to update (leave them unselected if you want the entire page updated).</li><li>Pick the localized file and language in the Download tab</li><li>Click ‘Download to Figma’</li><li>Your text boxes will automatically be populated with the localized copy.</li></ul><p>Note you can also do this in a new copy of your project if you want to keep separate copies for every language. Simply create a Figma copy of the source project, connect the plugin to Localazy as you did before, and download the strings into the new project.</p><p>‍</p><figure class="kg-card kg-image-card"><img src="https://uploads-ssl.webflow.com/5dc7e75011520e0549e9b2ea/61e95b99bb645450c32d4d1e_61e95aadcee520d1810d9f25_Downloading_to_Figma.gif" class="kg-image" alt loading="lazy"></figure><p>‍</p><h3 id="lessstronggreater5-exporting-the-localized-strings-for-productionlessstronggreater"><strong>5. Exporting the localized strings for production</strong> <a class="markdownit-header-anchor" href="#lessstronggreater5-exporting-the-localized-strings-for-productionlessstronggreater">🔗</a></h3><p>Once you've finalized your translations and are happy with the result, you can easily export a file with the translations and key IDs through the Localazy platform. Simply visit the File management tab in your project dashboard to download.</p><p>‍</p><figure class="kg-card kg-image-card"><img src="https://uploads-ssl.webflow.com/5dc7e75011520e0549e9b2ea/61e95b9a01b056ef0261d079_61e95aba8c2670ac5982aab3_Untitled.png" class="kg-image" alt loading="lazy"></figure><p>‍</p><p>That's it! I feel plugins like this one can completely change the game for Figma-based workflows, and I'm excited to see what features and capabilities they'll include in future releases. I hope this review will help make localization easier and simpler for you. Good luck :)</p><hr><p><em>This article was originally published at <a href="https://www.writingtech.co/articles/localazy-figma-plugin">#writingTech by Michal Kessel Shitrit</a></em></p>]]></content:encoded>
            <author>Michal Kessel Shitrit</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Figma-Review.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[What is Localazy Translation API]]></title>
            <link>https://localazy.com/blog/what-is-localazy-translation-api</link>
            <guid isPermaLink="false">what-is-localazy-translation-api</guid>
            <pubDate>Thu, 16 Apr 2026 14:33:46 GMT</pubDate>
            <description><![CDATA[Are you looking for a translation API suitable for software localization? Learn more about how Localazy Translation API works and why you might want to use it for your project in this article.]]></description>
            <content:encoded><![CDATA[<p>Localazy started with <a href="/docs/cli/the-basics">CLI</a> as the primary tool for uploading content and downloading translations between Localazy and one's project. It is the most powerful and versatile approach, but there are specific scenarios where only CLI might not be the most suitable option for the <a href="/dictionary/localization">localization</a> of parts of your project.</p><h2 id="why-even-use-api">💡 Why even use API <a class="markdownit-header-anchor" href="#why-even-use-api">🔗</a></h2><p>Imagine, for example, that you're running a small 🛒 e-commerce website. In such instance, it is often crucial to be able to fix typos and product descriptions instantaneously to keep everything up to date and provide visitors with the best shopping experience possible. Doing a release just because of textual changes might not be a viable approach. And that's where API shines. ✨</p><p>Users can use Localazy API for fetching up-to-date content as well as for its modification. That sounds very unspecific, though. So let's list some specific examples and how it differs from the static-content-based approach.</p><ul><li><strong>Show website visitors the latest translations in all available languages. </strong>With static files only, you'd show them translations in languages that were available during the last release (which could be a couple of weeks old).</li><li><strong>Greet all users of your mobile app with a frequently changing welcome message. </strong>They will see the latest message as long as they are connected to the internet, regardless of whether they have downloaded the latest version of your app; if not, it fallbacks to the static content. With the static approach only, they will see a message defined during the last app version release, i.e., the message depends on whether users update your app.</li><li><strong>Build an internal web-based portal</strong> for your company employees so that they can use only your system without the need to sign into Localazy. You <em>could</em> run the CLI on the backend and build your own <a href="/dictionary/api">API</a> for the communication, but API allows for a client-side solution that will be quicker to implement.</li><li><strong>Create a public community plugin on NPM. </strong>Unless you're building a plugin for projects based on <a href="/dictionary/nodejs">Node.js</a> only, API is pretty much the only viable option.</li></ul><p>As you can see, there are scenarios where API just makes sense. Of course, the list isn't exhaustive, and there are countless scenarios and cases where using Localazy API is the way to go.</p><blockquote>📖 Learn more about <a href="/docs/api/introduction">Localazy API in the doucmentation</a>. </blockquote><h2 id="how-about-localazy-cdn">🤔 How about Localazy CDN? <a class="markdownit-header-anchor" href="#how-about-localazy-cdn">🔗</a></h2><p><a href="/docs/general/localazy-cdn">Localazy CDN</a> is a fast and reliable way to retrieve translated files directly from Localazy. As such, you can use it similarly to API's <a href="/docs/api/files">files endpoints</a>. However, there are some differences.</p><p>The biggest one is that it can be used for reading the translations only - you cannot use CDN to modify the content in Localazy. The other important difference is that API comes with certain request <a href="https://localazy.com/docs/api/limits">limitations</a>. You can send only a maximum of 100 requests per minute and 10 requests per second. Additionally, usage of API is free of charge while CDN isn't, though it costs very little (less than 1 cent per 1000 requests).</p><p>Furthermore, API accesses the data directly from servers. In contrast, CDN translations reside in files that must be generated (just as the CLI download command creates files) and then stored on the CDN provider's servers. So instead of fetching the data directly, you're actually fetching the latest published files. It generally takes a little more time for the changes to propagate to CDN, while API always returns the up-to-date translations. </p><blockquote>📖 Learn more about <a href="/docs/general/localazy-cdn">Localazy CDN in the documentation</a>.</blockquote><p>All in all, if you either need the latest translations or you want to modify some content in Localazy, you should opt for API. If you prefer fast and globally available translation files to utilize all the benefits of content delivery networks, go with it.</p><p>However, there are two scenarios where using both API and CDN is recommended. Firstly, CDN resources are accompanied by <a href="https://localazy.com/docs/general/localazy-cdn#metafiles">metafiles</a> that provide information about project languages such as plural forms, whether it's right-to-left language or what is its localized name. Such information allows you to build language selectors dynamically and adjust website layout appropriately. Secondly, for frequently visited websites the maximum number of requests per minute and second could be limiting. In that case, it is advisable to use CDN for the production version and a combination of API and CDN for the development environment in order to fetch the latest data during development without having to wait for CDN content to be updated.</p><h2 id="how-to-get-started">▶️ How to get started <a class="markdownit-header-anchor" href="#how-to-get-started">🔗</a></h2><p>The best place to start is by reading the <a href="https://localazy.com/docs/general/getting-started-with-localazy">documentation</a>. To sum it up, you need to<br>	1. <a href="https://localazy.com/register">Sign up</a> at Localazy.<br>	2. Create a project in Localazy.<br>	3. <a href="https://localazy.com/developer/tokens">Generate</a> a project token for authentication/authorization.</p><p>If you use TypeScript or JavaScript in your project, you can also use our <a href="https://github.com/localazy/ts-api">TypeScript library</a> that makes operating with the API much more straightforward.</p><h3 id="ready-to-get-started">Ready to get started? <a class="markdownit-header-anchor" href="#ready-to-get-started">🔗</a></h3><p>I hope this brief introduction provides you with a good understanding of what Localazy API is about and when to use it. Should you have any questions, don't hesitate to contact us via <a href="mailto:team@localazy.com">team@localazy.com</a>, leave a comment below or join our <a href="https://discord.gg/Sm8z5Bhq">Discord</a>. Happy coding!</p><h2 id="you-might-also-like">📚 You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><ul><li>Learn how to <a href="/blog/deliver-translated-files-localazy-cdn-tutorial">Deliver translated files seamlessly via Localazy CDN</a></li><li>Read about <a href="/blog/design-localization-with-localazy-figma-plugin">Design localization with Localazy Figma plugin</a></li></ul>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/01/localazy-translation-api-blog-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy as the  best tool for translation automation]]></title>
            <link>https://localazy.com/blog/localazy-best-tool-translation-automation</link>
            <guid isPermaLink="false">localazy-best-tool-translation-automation</guid>
            <pubDate>Thu, 20 Feb 2025 16:54:02 GMT</pubDate>
            <description><![CDATA[Are you still using spreadsheets and Google Translate to localize your website content or software strings? Learn why and how to automate unnecessary file handling and get your texts translated automatically and accurately with Localazy.]]></description>
            <content:encoded><![CDATA[<h2 id="stop-using-google-translate-the-wrong-way">😵 Stop using Google Translate the wrong way! <a class="markdownit-header-anchor" href="#stop-using-google-translate-the-wrong-way">🔗</a></h2><p>The growing needs of multilingual users put your app interface &amp; content strategy in front of a challenging task: <a href="/dictionary/translation">translating</a> your language assets to multiple languages and not only translating it but adapting it to other cultures. </p><blockquote><em>“If you talk to a man in a language he understands, that goes to his head. If you talk to him in his own language, that goes to his heart.” - Nelson Mandela</em></blockquote><p>Especially when we speak of microscopy, which, if mistranslated, loses its power, or even worse, it could result in an embarrassing and offensive translation. Like this one: <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/fRE5ZnJKqfR1ZA7q3E80XzKd07PwycMBnABMNES-6Gk3iQpLtt9qIVPRzUU7Ia3eu-7zMxayVUbWp1bsK0Y9XMsW6fFSsWug35s8wJYDrRybYPaZ_pKOjJNWi-Fo_8zcAE0bpLMf" class="kg-image" alt loading="lazy"><figcaption>Localization Fail #1 - <a href="https://ivannovation.com/blog/16-hilarious-translation-mistakes/">Source</a></figcaption></figure><p>Or even worse, like this one.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/LzF1Ugzz8sHbzP7Pyyxj3WB8GZrExRkU-LwJXvCuOUHma_NJpQxbP3gBDdDLWEFaNKHzfoMh4GSwKOxvRxoeXCqSAJ1q0OfYlG_jurCsNApnFcncc6fa7hPEZvzYj2mUHeSFT9pB" class="kg-image" alt loading="lazy"><figcaption>Localization Fail #2 - <a href="https://ivannovation.com/blog/16-hilarious-translation-mistakes/">Source</a></figcaption></figure><p>These are simply a few reminders for the next time you think Google Translate can take care of your <a href="/dictionary/localization">localization</a> needs. 😅 Prevent your brand from going viral for the wrong reason! Users are honest when it comes to reviewing brands, and such details rarely go unnoticed.</p><p>Google Translate has its place on the market, and its translations are not necessarily bad. But to get accurate results and not go crazy in the process, you have to combine it with other tools and solutions, which is where Localazy can help you. </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/01/image-12.png" class="kg-image" alt loading="lazy" width="2000" height="1167" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/image-12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/01/image-12.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2022/01/image-12.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Many Localazy users who previously used Google Translate for localization reported that translation accuracy was low compared to using Localazy, which comes with many quality assurance features to aid you with consistency and accuracy of translations, such as the <a href="/docs/general/how-to-define-your-glossary">glossary of terms</a>, the <a href="/blog/unique-review-process-and-self-managed-translations">pro-active review process</a>, and <a href="/docs/general/screenshots">Context Screenshots</a>.</p><p><strong>Why Localazy users quit using Google Translate?</strong></p><ul><li><em>"I quit using Google Translate for localization of my project because it is a manual job, copy and paste strings. It's unprofessional."</em> - Antonio T. 🧑</li><li><em>"It's just not practical or a real-life solution." - </em>Paliverse 👨‍💻</li></ul><p>Don't worry if you like the translations you get from Google Translate. We have machine translation suggestions incorporated into our translation interface - with Amazon Translate as the default engine and the possibility of adding more, including Google, with the <a href="/docs/general/additional-mt-engines">Additional MT feature</a>.</p><h2 id="spreadsheets-are-you-living-in-the-past">🧐 Spreadsheets? Are you living in the past? <a class="markdownit-header-anchor" href="#spreadsheets-are-you-living-in-the-past">🔗</a></h2><p>The sudden increase of apps and websites that serve a multilingual market created more demand for translation and localization services. Back in the first days of localization, the process was done through spreadsheets and emails. Translators, developers, and localization managers had to email back and forth to perform small translations. The process seemed long and tedious because it was.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/image-16.png" class="kg-image" alt loading="lazy" width="2000" height="857" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-16.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/image-16.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/01/image-16.png 1600w, https://ghost.localazy.com/content/images/2022/01/image-16.png 2010w" sizes="(min-width: 720px) 720px"><figcaption>Are you using Spreadsheets for translations? There's a much better way!</figcaption></figure><p>And imagine - there are still even large companies who used to utilize spreadsheets to manage their translation projects. 🤯</p><p><strong>Read some of the reasons why our users quit using Spreadsheets for translation management:</strong></p><ul><li><em>"Spreadsheets don't have syntax highlighting for editors, so they usually translate stuff they are not supposed to, such as placeholders or ICU"</em> - Matej B. 👨‍🦱</li><li><em>"Spreadsheets don't offer an easy way to crowdsource translations and maintenance of localizations." - </em>Miká. K. 👨‍🦰</li><li><em>"After the dev team implemented all translations, errors sometimes found their way into the copy. And we sometimes found pieces of content that were either not translated, or not translated accurately, weeks after implementing a feature." </em>- Joseph G. 🧔</li></ul><p>Developers were to copy strings and source content into spreadsheets passed to translators. Then, translators manually entered translations, and the document went through a tedious quality assurance check. The entire process took much time until the team finalized the multilingual content for a live launch.</p><p>Then, as you could assume, technology led to the invention of practical solutions in the field of translation and localization. Now, translating entire language data sets is facilitated by <a href="/dictionary/translation-management-system-tms">translation management systems</a> that directly integrate your project, like Localazy. From freelancers to large enterprises, everyone uses these tools to save money and time. And all this while receiving professional translations from native experts on the other side of the globe.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/easy-ui.png" class="kg-image" alt loading="lazy" width="1480" height="760" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/easy-ui.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/easy-ui.png 1000w, https://ghost.localazy.com/content/images/2022/01/easy-ui.png 1480w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Translation UI is clean, clutter-free, and designed for productivity without distractions.</figcaption></figure><h2 id="why-localization-is-important">🎓 Why localization is important <a class="markdownit-header-anchor" href="#why-localization-is-important">🔗</a></h2><p>Localization adapts your content for various cultures. It doesn't simply make your services understandable to multiple demographics but also lowers the costs of adapting your product via other paths. At Localazy, we are helping individuals and enterprises alike with localization into 80+ languages with our software localization solutions. </p><h3 id="reach-a-wider-audience-and-grow-profits">Reach a wider audience and grow profits <a class="markdownit-header-anchor" href="#reach-a-wider-audience-and-grow-profits">🔗</a></h3><p>Deciding to localize your project means exposing your services to foreign markets that weren't accessible before due to the language barrier. If your users' native language is not very popular, they'll be impressed if your app is translated in their language and will share it with their peers. Such an increase in brand awareness brings a growth of the customer base. </p><blockquote>Learn how to <a href="/blog/going-global-with-multilingual-seo">Go Global with Multilingual SEO</a> </blockquote><h3 id="customized-and-localized-content-connects-better">Customized & Localized Content Connects Better <a class="markdownit-header-anchor" href="#customized-and-localized-content-connects-better">🔗</a></h3><p>Users are tired of using apps in English only and it might feel too sterile to use something intended for everyone. People usually want something made for them, and localization brings this personalized experience closer. A <a href="https://insights.csa-research.com/reportaction/305013126/Marketing">recent study</a> carried out by the Common Sense Advisory revealed that 40% of non-native English speakers wouldn't buy something marketed in another language, and 65% prefer content produced in their native language.</p><blockquote>Do you think that English is enough? <a href="/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize">Read why this is a myth in our previous article.</a></blockquote><h2 id="automation-the-future-of-translation">⚙️ Automation: the future of translation <a class="markdownit-header-anchor" href="#automation-the-future-of-translation">🔗</a></h2><p>Automation is taking over many industries, and humans are needed only for the final touches of the product. It was only a matter of time before automation took over the old-fashioned language services model. </p><p>Automated localization allows you to focus on more critical aspects of your product. Once integrated properly, Localazy becomes a set it and forget it solution that translates your content proactively, automatically, and accurately, only asking for your help when it's needed. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/image-22.png" class="kg-image" alt loading="lazy" width="1200" height="701" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-22.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/image-22.png 1000w, https://ghost.localazy.com/content/images/2022/01/image-22.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Review on <a href="https://www.trustpilot.com/reviews/6182998575069a4da4980d84">Trustpilot.com</a></figcaption></figure><h3 id="why-localazy-does-it-best">Why Localazy does it best <a class="markdownit-header-anchor" href="#why-localazy-does-it-best">🔗</a></h3><p>Localization is not even remotely only about translations. Projects evolve in time; strings come and go or undergo changes. Localazy is perfectly prepared for this. It's not about translation management only, either. You have to manage the people involved and their permissions as well.</p><blockquote>Go over our <a href="/blog/cheatsheet-getting-strated-software-localization-tips-tricks">Cheatsheet: Getting started with Software Localization</a></blockquote><p><strong>Localazy offers multiple ways of tackling the localization of your project:</strong></p><ul><li>Integrate with <a href="/features/figma-localization-plugin">Figma</a> to start translating at the design phase.</li><li><a href="/docs/general/additional-mt-engines#mt-pre-translate">Bulk machine translation</a> for rapid localization with lower quality for a quick first iteration.</li><li>Invite your own contributors or volunteers, or <a href="/docs/general/translating-strings">translate on your own</a> using our built-in suggestions.</li><li>Integrate via one of our <a href="/integrations">50+ integrations</a>, including an <a href="/features/translation-api">API</a> and many CI/CD options such as <a href="/bitrise">Bitrise</a> or <a href="/github-actions">GitHub Actions</a></li><li>Order translation services from our <a href="/features/continuous-localization-team">Continuous Localization Team</a></li></ul><blockquote>Read more about <a href="/blog/true-continuous-localization-localazy">True Continuous Localization with Localazy</a></blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/image-17.png" class="kg-image" alt loading="lazy" width="740" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-17.png 600w, https://ghost.localazy.com/content/images/2022/01/image-17.png 740w" sizes="(min-width: 720px) 720px"><figcaption>Enjoy our Continuous Localization services and get your project translated automatically.</figcaption></figure><p>Localazy offers <a href="https://localazy.com/pricing">plans suitable for individuals and teams of any size</a>. And you can start for free to try everything out before you commit.</p><h2 id="final-thoughts">✔️ Final thoughts <a class="markdownit-header-anchor" href="#final-thoughts">🔗</a></h2><p>Are you ready to start taking localization seriously? It doesn't have to be complicated either. With Localazy, you can start in minutes and scale infinitely. <a href="/docs/cli/excel-format">Upload your spreadsheets</a> into Localazy, invite your translators and developers and discover why localization automation is the future. </p>]]></content:encoded>
            <author>Gletjan Muco</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/01/Best-Tool-for-Translation-Automation.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Mythbusters: Our users speak English, so we don’t have to localize]]></title>
            <link>https://localazy.com/blog/mythbusters-our-users-speak-english-we-do-not-need-to-localize</link>
            <guid isPermaLink="false">mythbusters-our-users-speak-english-we-do-not-need-to-localize</guid>
            <pubDate>Fri, 15 Dec 2023 09:41:37 GMT</pubDate>
            <description><![CDATA[Do you think that an English version of your product/website is enough? Your users speak English, so you don't need to localize, right? Read why that's a myth in the article.]]></description>
            <content:encoded><![CDATA[<p>🤔 "To localize or not to localize, that is the question." </p><p>Or at least, it's a question you <em>should</em> be asking if you're not already localizing your product or marketing content. </p><p>And the answer is simple - <strong>Yes!</strong></p><p>Especially if you have business aspirations of taking your brand global or expanding your sales into overseas territories. Additionally, even if your business is strictly local, there will likely be <a href="https://en.wikipedia.org/wiki/List_of_countries_ranked_by_ethnic_and_cultural_diversity_level">multicultural neighbors</a>, in other words - inhabitants with cultural and linguistic differences. If you are able to serve them, you will become a preferred service provider in comparison with your local competitors. 🚀</p><p>☝️ <strong>Thinking that "our customers or users speak English; therefore we don't need to localize" is a trap that many businesses fall into. </strong></p><p>When you consider that <em>only 4.5% of the world's population are native English speakers</em>, with a further 19% speaking it as a second language, to varying levels of proficiency, it quickly becomes clear that "everybody speaks English" is a myth. <br><br>In other words, <strong>more than 75% of the global population doesn't speak any English at all! </strong>😮</p><p>In this article, we'll dig a little deeper into the truth of how the language barriers affect sales and business growth, before setting out a strategy that you can apply to localize your product and marketing content to improve your SEO.</p><h2 id="the-impact-of-language-on-sales-and-marketing">📈 The Impact of Language on Sales and Marketing <a class="markdownit-header-anchor" href="#the-impact-of-language-on-sales-and-marketing">🔗</a></h2><p>We're going to challenge the assumption that everybody speaks English these days, and you don't need to worry about <a href="/dictionary/localization">localization</a>. This is a myth that can be very damaging to any marketing efforts outside of native English-speaking countries and regions.</p><p>In 2021 it was estimated that there the total number of English speakers, both native speakers and those who speak it as a second language, stood at 1.35 billion out of a total global population of nearly 8 billion.</p><p>The fact that there are nearly 7 billion people around the world that don't speak any English blows the myth out of the water. But there are other factors beyond this that affect the success of global marketing efforts. 🌍 </p><p>It may surprise you to find out that <strong>people who speak English as a second language are less likely to buy products that are not marketed in their native tongue</strong>.</p><p>A <a href="https://insights.csa-research.com/reportaction/305013126/Marketing">recent study</a> carried out by the Common Sense Advisory revealed that 40% of non-native English speakers wouldn't buy something that is marketed in another language, and 65% prefer content that is produced in their native language.</p><p>The hesitance to make purchasing decisions based on non-native content is most noticeable when it comes to product reviews, with 73% preferring reviews that are written in their own language. </p><p>The preference for native language content isn't limited to B2C sales and marketing. B2B buyers also lean towards native content. For instance, for European countries such as France and Germany, using the native language as the language of business is a matter of national pride. 🤝</p><h2 id="the-importance-of-localization-case-study-of-netflix">🎞️ The Importance of Localization - Case Study of Netflix <a class="markdownit-header-anchor" href="#the-importance-of-localization-case-study-of-netflix">🔗</a></h2><p>Successfully overcoming language barriers to reach a wider global audience involves developing a solid localization and multilingual SEO approach and strategy.</p><p>Take <strong>Netflix</strong>, for example. The multinational streaming service recently revealed that 90% of people that watched <em>Dark</em>, a TV series filmed in German, lived outside of Germany. One of the secrets of their success has been to offer global audiences a localized experience, with <a href="/srt">subtitles</a> and dubbing in multiple languages. </p><p>More interestingly, the key factor to their global success has been the localization of their app and user interface (UI) to suit different countries. Netflix launched its streaming service in the USA in 2007, and by 2018 it had nearly 150 million subscribers worldwide, with more than half of those based overseas. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/image-11.png" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/image-11.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2022/01/image-11.png 1600w, https://ghost.localazy.com/content/images/2022/01/image-11.png 2250w" sizes="(min-width: 720px) 720px"><figcaption>Netflix &amp; Localization</figcaption></figure><p>But one of the most significant contributors to Netflix's success has undoubtedly been their focus on international and multilingual SEO. To improve their organic search performance, Netflix took a three-pronged approach:</p><ul><li>🔎 <strong>Multilingual keyword research</strong> - Including different languages within their content, meta-titles, and meta-descriptions, i.e., both on-page and off-page SEO. Netflix paid particular attention to Spanish, the <a href="https://www.babbel.com/en/magazine/the-10-most-spoken-languages-in-the-world">second most natively spoken language worldwide</a>, making it an attractive market to target.</li><li>📚 <strong>Localized content</strong> - Optimizing content to appeal to different nationalities has been a cornerstone of Netflix's approach, both in terms of SEO content and on their streaming platform.</li><li>🔧 <strong>Localized technical SEO</strong> - Netflix used a combination of geo-targeting and hreflang annotation to ensure that their platform and website appeared correctly on the different multinational versions of Google.</li></ul><blockquote>Read my previous article on <a href="/blog/going-global-with-multilingual-seo">How to Go Global with Multilingual SEO</a></blockquote><h2 id="the-road-to-localized-success">🎖️ The Road to Localized Success <a class="markdownit-header-anchor" href="#the-road-to-localized-success">🔗</a></h2><p>Another surprising fact is that <strong>56% of non-native English speakers actively avoid English language websites</strong> altogether and spend the majority of their time on websites that are written in their native language.</p><p>So, it's pretty clear that localized content and multilingual SEO offer the best path to success when targeting overseas markets. But how do you go about achieving it?</p><p>You could follow the example of big, successful companies like Netflix, Facebook, Slack, Zoom, and others, that have created a highly defined strategy for localized content and SEO and put in the required action to make themselves stand out.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>As with most things in life, it's usually best to enlist the help of experts that know how to develop a winning strategy and apply tools to help you execute it.</p><p>Here at Localazy, we provide the best localization and translation platform available to help you reach a wider audience with localization and optimize your content and SEO when branching out globally. </p><p>Start by <a href="/register">signing up now</a> and <a href="/register">contact us</a> to discuss your needs!</p><h2 id="references">📰 References <a class="markdownit-header-anchor" href="#references">🔗</a></h2><ul><li><a href="https://www.washingtonpost.com/news/worldviews/wp/2015/04/23/the-worlds-languages-in-7-maps-and-charts/">https://www.washingtonpost.com/news/worldviews/wp/2015/04/23/the-worlds-languages-in-7-maps-and-charts/</a></li><li><a href="https://www.statista.com/statistics/266808/the-most-spoken-languages-worldwide/">https://www.statista.com/statistics/266808/the-most-spoken-languages-worldwide/</a></li><li><a href="https://medium.com/@JoseJovena/multilingual-seo-a-netflix-case-study-62c421bcdfbd">https://medium.com/@JoseJovena/multilingual-seo-a-netflix-case-study-62c421bcdfbd</a><br></li></ul>]]></content:encoded>
            <author>Dan Martin</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/12/mythbusters_04-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Hundred million translations: 2021 in review]]></title>
            <link>https://localazy.com/blog/hundred-million-translations-localazy-2021-review</link>
            <guid isPermaLink="false">hundred-million-translations-localazy-2021-review</guid>
            <pubDate>Fri, 07 Jan 2022 09:23:54 GMT</pubDate>
            <description><![CDATA[Welcome to the new year of 2022! After a much-needed Christmas holiday break, we are back at full speed to deliver more exciting features and improve the platform further. 2021 was a fantastic year for Localazy, and we are happy to share some numbers with you.]]></description>
            <content:encoded><![CDATA[<h2 id="50-new-integrations">🕹️ 50+ new integrations <a class="markdownit-header-anchor" href="#50-new-integrations">🔗</a></h2><p>You could have integrated Localazy only with <a href="/android">Android</a> apps in the early days. During the past year, we worked hard to support more platforms. Now we have <a href="/integrations">over 50 integrations</a> with various frameworks and file formats to help you integrate with your projects' tech stack, and mostly without quirky workarounds. </p><p><strong>Localazy allows you to choose from a variety of approaches. </strong></p><ul><li>For mobile, you have powerful SDKs for Android and <a href="/ios">iOS</a>. </li><li>For translations kept in a database, you can connect your project via the brand new <a href="/features/translation-api">localization API</a> and integrate almost anything you would like. </li><li>There is also the <a href="/docs/cli/the-basics">powerful CLI</a> with the extensive support of formats, commands, and <a href="/tags/ci">automation options</a> for most developers. </li><li>Designers can enjoy design localization with the <a href="/features/figma-localization-plugin">Figma plugin</a>, </li><li>and for everyone else, we have also added the direct <a href="/docs/general/importing-localization-files">file import</a> option.</li></ul><h3 id="most-popular-integrations">Most popular integrations <a class="markdownit-header-anchor" href="#most-popular-integrations">🔗</a></h3><p>Probably because it was first, Android wins 2021 as the most popular integration with 23.6% of total integrations. In the second place is <a href="/json">JSON</a>, the favorite universal format for software localization, closely followed by <a href="/react">React</a>, iOS, and other web front-end frameworks.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/image-4.png" class="kg-image" alt loading="lazy" width="982" height="538" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-4.png 600w, https://ghost.localazy.com/content/images/2022/01/image-4.png 982w" sizes="(min-width: 720px) 720px"><figcaption>Most popular integrations with Localazy in 2021</figcaption></figure><h3 id="custom-integrations">Custom integrations <a class="markdownit-header-anchor" href="#custom-integrations">🔗</a></h3><p>Even though we were adding new integrations every month in the past year, the world of software development and localization is expanding faster than we can even fathom. For this purpose, we are opening our development API for selected users to create their own custom integrations. </p><p>Please read our community documentation or <a href="/contact">contact us</a> to learn more.</p><blockquote><strong><a href="/community/b2b-partnerships/custom-integrations">How to create a custom integration as a Localazy partner</a> </strong></blockquote><h2 id="10000-tasks-worked-on">🪓 10.000+ tasks worked on <a class="markdownit-header-anchor" href="#10000-tasks-worked-on">🔗</a></h2><p>We have to admit: we just love our productivity tool. According to our ClickUp, we have collectively worked on more than 10.000 tasks in the past year! Kudos to <a href="https://clickup.com/">ClickUp</a> for making our workflows streamlined and keeping us on track. </p><p>Who was the most productive team member? Our CEO, <a href="/blog/author/vaclav-hodek">Václav</a>, was crushing it in the past year with a whopping <strong>3.857 tasks</strong> - that's what I call leading by example! </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/king_01.png" class="kg-image" alt loading="lazy" width="164" height="230"><figcaption>Meet our CEO Václav - the king of ClickUp at Localazy! 😅</figcaption></figure><p>But don't worry, we are not blazing through our to-do lists without any struggles because we have completed "only" two thousand tasks total. This means that big plans are still in the works! </p><h2 id="6-release-updates-and-over-2500-commits">⚡ 6 Release Updates and over 2.500 commits <a class="markdownit-header-anchor" href="#6-release-updates-and-over-2500-commits">🔗</a></h2><p>We release small updates and fixes whenever needed. But on average, every two months, we roll out a big update that introduces new features or big changes. In 2021, we had sent out 6 <a href="/tags/release-update">Release Updates</a> and introduced most of our advanced features such as <a href="/docs/general/screenshots">Context Screenshots</a>, <a href="/docs/general/release-tags-feature">Release Tags</a>, or <a href="/docs/general/additional-mt-engines">Additional MT Engines</a>. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/release.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/release.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/release.png 1000w, https://ghost.localazy.com/content/images/2022/01/release.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>New features released every two months? Not bad!</figcaption></figure><p>All of these were made possible thanks to our development team, who managed to produce <strong>over 2.500 commits into the GitHub code repository</strong> in 2021, led by our product manager <a href="/blog/author/jan-bilek">Jan</a>. </p><blockquote>Check out our <a href="https://github.com/localazy">public GitHub</a> with libraries, demos and extensions that will help you incorporate Localazy into your project.</blockquote><h2 id="100000000-managed-translations">🎉 100.000.000 managed translations! <a class="markdownit-header-anchor" href="#100000000-managed-translations">🔗</a></h2><p>This number is totally mind-blowing. In early December, the total number of managed translations exceeded the magical hundred-million milestone! </p><p>We want to thank all users who use Localazy to manage their translations. Keep it up, so we can reach two hundred million by the end of 2022! Let's go! 🚀   </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2022/01/image-9.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2022/01/image-9.png 1000w, https://ghost.localazy.com/content/images/2022/01/image-9.png 1200w" sizes="(min-width: 720px) 720px"></figure><h3 id="most-popular-languages">Most popular languages <a class="markdownit-header-anchor" href="#most-popular-languages">🔗</a></h3><p>Most projects use English as the source language, and the three most popular languages are:  </p><ol><li>⛵ <strong>Spanish</strong></li><li>🌅 <strong>Arabic</strong></li><li>🥖 <strong>French</strong></li></ol><p>Spanish is the most popular language for translation, in the lead with almost 19%. Arabic is a close second with 17.6%. French is third, closely followed by American English and German. Below, you can find the list of top runner-ups.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/image-8.png" class="kg-image" alt loading="lazy" width="982" height="494" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-8.png 600w, https://ghost.localazy.com/content/images/2022/01/image-8.png 982w" sizes="(min-width: 720px) 720px"><figcaption>Most popular languages at Localazy in 2021</figcaption></figure><h3 id="one-million-translation-events">One million translation events <a class="markdownit-header-anchor" href="#one-million-translation-events">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/image-6.png" class="kg-image" alt loading="lazy" width="982" height="494" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-6.png 600w, https://ghost.localazy.com/content/images/2022/01/image-6.png 982w" sizes="(min-width: 720px) 720px"><figcaption>Over one million translations delivered in 2021 thanks to Localazy</figcaption></figure><p>According to our Mixpanel tracking, our users collectively managed to translate or review over one million translations. These are real people putting work into the localization of real products. <a href="/register">Join our amazing community</a> and help with the translation of public projects or create your own project! ❤️</p><blockquote>Read our review of <a href="/blog/mixpanel-review-localazy">Mixpanel for product analytics</a></blockquote><h3 id="continuous-localization-team">Continuous Localization Team  <a class="markdownit-header-anchor" href="#continuous-localization-team">🔗</a></h3><p>In 2021, we also introduced our continuous translation services called Virtual Translator and Virtual Reviewer, which helped users review translations, ensuring that context, placeholders, and glossary terms were translated correctly. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2022/01/image-10.png" class="kg-image" alt loading="lazy" width="740" height="380" srcset="https://ghost.localazy.com/content/images/size/w600/2022/01/image-10.png 600w, https://ghost.localazy.com/content/images/2022/01/image-10.png 740w" sizes="(min-width: 720px) 720px"><figcaption>Enjoy our Continuous Localization services and get your project translated automatically.</figcaption></figure><p>Today, our <a href="/features/continuous-localization-team">Continuous Localization Team</a> offers three types of translation services and more than 50 languages available for professional translations (and growing!) to help numerous companies completely outsource their multilingual expansion. </p><blockquote>Learn more about <a href="/blog/true-continuous-localization-localazy">Continuous Localization with Localazy</a></blockquote><h2 id="trusted-by-international-brands">🌎 Trusted by international brands <a class="markdownit-header-anchor" href="#trusted-by-international-brands">🔗</a></h2><p>In 2021, we also made friends with lovely folks at many awesome global brands such as:</p><ul><li>🧰 <a href="https://www.autodesk.com/products/upchain/overview">Upchain PLM</a>, who got acquired by Autodesk in 2021, congratulations!</li><li>🚴 <a href="https://rouvy.com/">Rouvy</a> who make cycling an all-year adventure via their unique technology</li><li>♻️ <a href="https://plasticbank.com/">PlasticBank</a>, who clean plastic waste and create a better planet for all of us. </li><li>And more...</li></ul><blockquote>Read <a href="/tags/interview">interviews with Localazy users</a> sharing their journey</blockquote><p>Many more prominent names use Localazy to deliver translated products to billions of end-users worldwide. We are glad that Localazy can be a small part of their success. Thank you! 💖</p><blockquote>See the <a href="/testimonials">testimonials</a> by our beloved users. </blockquote><h3 id="awards-by-crozdesk-sourceforge-and-more">Awards by Crozdesk, SourceForge, and more <a class="markdownit-header-anchor" href="#awards-by-crozdesk-sourceforge-and-more">🔗</a></h3><p>In 2021 we also received awards for being one of the top-rated solutions on the market. </p><ul><li>🎖️ Happiest Users and Quality Choice Award from <a href="https://crozdesk.com/software/localazy">Crozdesk</a></li><li>🏆 2021 Top Performer Award from <a href="https://sourceforge.net/software/product/Localazy/">SourceForge</a></li><li>⭐ 5-star reviews on <a href="https://www.trustpilot.com/review/localazy.com">Trustpilot</a>, <a href="https://www.g2.com/products/localazy/reviews">G2</a> and <a href="https://www.capterra.com/p/204830/Localazy/">Capterra</a></li></ul><h2 id="more-fun-facts-and-numbers">🤩 More fun facts and numbers <a class="markdownit-header-anchor" href="#more-fun-facts-and-numbers">🔗</a></h2><p>We welcomed four new full-time team members in 2021. Thanks to everyone for their hard work! We also grew our network of guest authors on the blog, with more content to come.</p><p>We handled over <strong>700 support conversations</strong> with a <strong>🥰 99% satisfaction rating</strong>! We are here to help, so don't hesitate to send us a question or request a consultation at any time. 😉</p><p>During the last year, <strong>over 60.000 users registered </strong>🙌; most of them are <a href="/blog/attract-more-contributors-translate-your-app">contributors and volunteers</a> who help their beloved apps and projects with translations to their native language. Right now, we are <strong>over 3.000 translation projects</strong> and counting, each with 🎌 <strong>seven languages on average</strong>.</p><p>We became a <strong><a href="https://www.bitrise.io/">Bitrise</a></strong> partner and got our own <a href="https://blog.bitrise.io/post/simplify-localization-with-localazy">Verified Step</a>! Read our articles about <a href="/tags/bitrise">using Localazy with Bitrise</a> on the blog.</p><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We want to thank everyone who helped grow Localazy. Especially our partners at <a href="https://lhv.vc/">Lighthouse Ventures</a>, who helped us tremendously accelerate our growth and trusted us from day one when Localazy was just entering the market of localization solutions.</p><p>Big thanks also go to our users on our <a href="https://discord.gg/CAVhHrh">Discord</a> and <a href="https://discuss.localazy.com/">Discussion Forum</a>, who provide continuous feedback on new features and report every little bug they find. </p><p>A big thank-you also goes to everyone involved in development and content production. And last but not least, thank you to all who use Localazy! 🥰</p><p>We wish everyone a successful and calm year 2022. Thank you for reading!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/01/milestone.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Top 3 UI Frameworks For Android Automation Testing]]></title>
            <link>https://localazy.com/blog/top-3-ui-frameworks-android-automation-testing</link>
            <guid isPermaLink="false">top-3-ui-frameworks-android-automation-testing</guid>
            <pubDate>Tue, 14 Dec 2021 12:14:43 GMT</pubDate>
            <description><![CDATA[It is wise to automate tests, and UI tests are no exception because UI is an integral part of your users' experience. Learn the top 3 UI frameworks for Android automation testing in this article.]]></description>
            <content:encoded><![CDATA[<p>Only an excellent user interface (UI) can deliver a good user experience. This is the reason why <a href="/android">Android</a> developers continue to perform automation tests. They want to create apps that will stimulate a high user retention rate. </p><p>UI testing involves analyzing the visual elements of apps, which users get to interact with. UI testing framework is any tool that allows you to check if your app's user interface operates uniformly across various devices. </p><p>Web testers usually perform several operations using an automated testing framework. Statistics reveal that <a href="https://developer.android.com/training/testing/ui-automator">78% of organizations</a> use automation tests for regression or functional testing. </p><p>The main elements involved in the automated website testing process include:</p><ul><li>🎨 Visual design</li><li>⚙️ Functionality</li><li>🕹️ Usability</li><li>⚡ Performance</li></ul><h2 id="why-go-for-automated-website-testing">❓ Why Go For Automated Website Testing? <a class="markdownit-header-anchor" href="#why-go-for-automated-website-testing">🔗</a></h2><p>A reliable <a href="https://testproject.io/">free automation testing for software</a> can benefit you with proven testing solutions. You get to benefit from Android testing, and:</p><ul><li>Web Testing</li><li><a href="/ios">iOS</a> Testing</li><li>Selenium Testing</li><li>Appium Testing</li></ul><p><strong>Automated website testing involves:</strong></p><ul><li>Automated website testing tools</li><li>Free automation tools for web applications testing</li><li>Automated knowledge testing dashboard</li><li>Automated software testing</li><li>Automated testing suites</li><li>Website test script</li></ul><p><strong>The automated testing framework is necessary to ensure:</strong></p><ul><li>A bug-free user interface where you get to debug fast</li><li>Elimination of possible errors that the human eye may fail to capture</li></ul><p>Missing these errors and fixing them at later stages is costly. Automation testing also allows you to run and reuse your tests reliably. </p><p>So, any application with loyal users needs constant user interface checks. And, automated website testing is the best way to ensure this. </p><p>It helps to know that there are mobile automation tests for Android, Windows devices, and iOS. But, our article takes a look at the top 3 UI frameworks for Android automation testing.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh5.googleusercontent.com/rbhSFHsYhg6QYaP9OLM-piDh6d1W7wNLa3lQOkDe4vhF_HndbzDDci7cMDRVa0cswR1_FTTpOmjyVFiDrB4VT5JCmoYtx9LUH_tYbm7VbpSjgVhSZj1KWpCx_g5fBZv2NwA3zUCf" class="kg-image" alt loading="lazy"><figcaption>Source: <a href="https://www.istockphoto.com/vector/automated-testing-vector-website-landing-page-design-template-gm1169361828-323228120">Pixabay</a></figcaption></figure><h2 id="ui-automator">🟩 UI Automator <a class="markdownit-header-anchor" href="#ui-automator">🔗</a></h2><p><a href="https://developer.android.com/training/testing/ui-automator">UI Automator</a> is a basic framework. It enables you to conduct more UI testing against Android apps and games. You can write the test cases in Java or Kotlin.</p><p>The framework contains two sets of <a href="/dictionary/api">APIs</a>, including:</p><ul><li>UI Automator APIs - it allows the managing of the app's UI components</li><li>Device State APIs - gives access to operate the device. </li></ul><p>The test framework permits you to analyze the user interface of your native Android apps on different devices. This means that you can test any app installed on an Android device. </p><p>This framework is considered very effective. It enables writing test cases without fully knowing the apps' implementation details.</p><p>The framework also contains a UI Automator Viewer option. This excellent feature allows the study and analysis of UI components in mobile devices.</p><h3 id="how-can-you-benefit-from-uiautomator">How Can You Benefit from UIAutomator? <a class="markdownit-header-anchor" href="#how-can-you-benefit-from-uiautomator">🔗</a></h3><p>It can interact well with different Android apps. And its APIs enable the performance of tasks like screen rotation on a test device. </p><p>With the UI Automator APIs, you can perform operations like opening the app launcher or settings menu in a test device. </p><p>This testing framework is also suitable for writing the black box-style automated tests. In this case, the test code doesn't depend on the internal implementation details of the targeted app.</p><p>The UI Automator operates <a href="https://junit.org/junit5/">JUnit</a> test cases with unique privileges. This implies that test cases can span across various processes.</p><p>The key features that aid the UI Automator testing framework include:</p><ul><li><strong>A viewer </strong>- helps to inspect the layout hierarchy</li><li><strong>APIs </strong>- used in supporting cross-app UI testing</li><li><strong>An API </strong>- used to retrieve state information and carry out operations on target devices.</li></ul><p>The main advantage of the UI Automator is that it supports testing on devices from Android version 4.1. Furthermore, it uses a simple API framework.</p><h2 id="appium">🟪 Appium <a class="markdownit-header-anchor" href="#appium">🔗</a></h2><p><a href="https://appium.io/">Appium</a> is a mobile test automation framework used for native, hybrid, and web apps for Android. It supports:</p><ul><li>Android via UI Automator (API level 16 and above)</li><li>Seledroid (API level below 16)</li><li>Mobile web as Selenium booster for Android.</li></ul><p>One significant advantage of Appium is that you can write your Appium scripts using any programming language such as:</p><ul><li>Java</li><li>Objective-C</li><li>JavaScript</li><li>PHP</li><li>Ruby</li><li>Python</li></ul><p>The framework is compatible across the most significant platforms like <a href="/android">Android</a> and <a href="/ios">iOS</a>. It also gives freedom not to install and configure devices to test every time. </p><p>If you're well-familiarized with Selenium, then it becomes easier for you to use Appium for mobile app testing. These two use the same WebDriver. </p><p>Appium and Selenium also similarly use the same Desired Capabilities. Therefore, configuring an application to run on Selenium is a lot similar to Appium.</p><h3 id="why-do-people-use-appium-for-android-automation-testing">Why Do People Use Appium for Android Automation Testing? <a class="markdownit-header-anchor" href="#why-do-people-use-appium-for-android-automation-testing">🔗</a></h3><p><strong>It offers cross-platform support.</strong> A written Appium test can also run in iOS and Android without the need to change the code. You can run several tests on many platforms all at once. You can also run the same test on any device or OS version.</p><p><strong>It provides a record and playback.</strong> You can use inspectors to accelerate testing efforts via the record and playback functionality in Appium. It helps record the behavior of the native app by inspecting the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction">Document Object Model (DOM)</a>.</p><p>Appium can easily mingle with <a href="/dictionary/continuous-integration">Continuous Integration (CI)</a> tools. Examples of these tools include Jenkins, Bamboo, and <a href="/dictionary/bitrise">Bitrise</a>. This integration enables the automated triggering of tests through release cycles.</p><p>Appium is also free, and you can quickly download it. You don't need an additional installation on the device to support Appium. It has excellent community support.</p><h2 id="espresso">🟫 Espresso <a class="markdownit-header-anchor" href="#espresso">🔗</a></h2><p><a href="https://developer.android.com/training/testing/espresso">Espresso</a> is Google's latest android user interface (UI) testing framework. The origin of the term Espresso is Italian, meaning Coffee. It's a simple but efficient and flexible testing framework. </p><p>You can write Espresso tests both in Java and Kotlin. These are modern languages of programming used in developing android applications.</p><p>Developers and testers are now using the open-source Espresso framework to bring out the best UIs. Espresso has small, predictable, and easy-to-learn APIs. You can use it to write brief and reliable Android UI tests quickly. It is supported on:</p><ul><li>API level 8 (Froyo)</li><li>10 (Gingerbread)</li><li>15 (Ice Cream Sandwich) and onwards</li></ul><p>Espresso is fast and reliable when synchronizing with the UI thread. This is because there's no need for sleep. Instead, tests will run in the same millisecond when an app becomes idle.<br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/6uD2rQaVmalSaRlcQ_oIMVKjBOigng2tGdMHYqj_32GV0WnrzGeUyJCAhSxOvb4kNJd7x544vH1HDf1u63qVHBANzDzwScaazdSI6IBvpDEO5uAucBNpea8ny7YiVb4C1P9DESX5" class="kg-image" alt loading="lazy"><figcaption>Source: <a href="https://www.istockphoto.com/photo/website-designer-creative-planning-application-development-draft-sketch-drawing-gm1093434408-293438290">Pixabay</a></figcaption></figure><h2 id="key-takeaways">✔️ Key Takeaways <a class="markdownit-header-anchor" href="#key-takeaways">🔗</a></h2><p>Automated UI testing web is the only way to create Android apps to increase user experience. Hence, automated testing is reliable; it operates faster than manual testing. It boosts the development team's productivity, thus quicker feedback. </p><p>The automated testing framework is essential to ensure a bug-free user interface. It also helps avoid possible errors that you may not capture with your eyes.</p><p>The development team can spend too much time debugging tests without the software testing platform. The beauty here is that we've discussed the best UI frameworks for Android automation testing that should guide you best.<br></p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/12/top-3-android-ui-frameworks-automation-testing.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy Wins a 2021 Top Performer Award 🏆 in Translation Management Category From SourceForge]]></title>
            <link>https://localazy.com/blog/localazy-wins-2021-top-performer-award-translation-management-software-category-sourceforge</link>
            <guid isPermaLink="false">localazy-wins-2021-top-performer-award-translation-management-software-category-sourceforge</guid>
            <pubDate>Mon, 30 Jan 2023 11:05:02 GMT</pubDate>
            <description><![CDATA[Localazy is honored to be recognized as a Top Performer by SourceForge, the world’s largest software reviews and comparison website.]]></description>
            <content:encoded><![CDATA[<p>Localazy, a <a href="/dictionary/localization">localization</a> automation platform &amp; <a href="/dictionary/translation-management-system-tms">translation management system</a>, today announced that it had been awarded a <strong>Fall 2021 Top Performer Award by SourceForge</strong>, the world's largest software review and comparison website.</p><p>This award recognizes companies and products with a significant amount of recent favorable user reviews that puts them in the top tenth percentile of highly reviewed products on SourceForge.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/sf-top-performer.svg" class="kg-image" alt loading="lazy" width="371" height="371"><figcaption>Localazy Wins a 2021 Top Performer Award in Translation Management and Computer Assisted Translation categories</figcaption></figure><p>Logan Abbott, the President of SourceForge congratulates: </p><blockquote>“I’m very excited to announce the Fall 2021 Top Performers on SourceForge. Localazy has been recognized as a Top Performer this Fall in the Translation Management and <a href="/dictionary/cat-tool">Computer Assisted Translation</a> categories, and their outstanding user reviews are proof of the high-quality solution they provide to their customers. Congratulations and keep up the amazing work!” </blockquote><p>To win the Fall 2021 Top Performer award, each winner had to receive enough high-rated user reviews to place the winning product in the top 10% of favorably reviewed products on SourceForge, demonstrating the utmost quality that Localazy delivers to customers.</p><p>Localazy CMO, Jakub Dubec reacts: </p><blockquote>"At Localazy, we're excited to accept the SourceForge Fall 2021 Top Performer Award. SourceForge is definitely one of the most respected and time-proven information resources when it comes to software discovery. We tend to go far beyond usual industry expectations to provide a state of art localization as a service, and we're happy to see our users rewarding us with good reviews. We're honored to be valued by our customers and to be recognized by SourceForge"</blockquote><h2 id="lessstronggreaterabout-localazylessstronggreater">🚩 <strong>About Localazy</strong> <a class="markdownit-header-anchor" href="#lessstronggreaterabout-localazylessstronggreater">🔗</a></h2><p><a href="http://localazy.com/">Localazy.com</a> started as a simple but effective solution to localize <a href="/android">Android</a> apps into more languages. Two years later, countless end users around the globe use their favorite products in their native languages, thanks to Localazy doing its magic in the background. Localazy is pleased to serve the world's most innovative and established companies and causes altogether with over 50 <a href="/integrations">i18n</a> integrations and partners. </p><p>There are over 4B people online behind language barriers, and being awarded by SourceForge means that we are heading in the right direction. Speak everyone's language and enjoy complete &amp; simple control over localization and translation management with Localazy.</p><h2 id="about-sourceforge">🔥 About SourceForge <a class="markdownit-header-anchor" href="#about-sourceforge">🔗</a></h2><p><a href="https://sourceforge.net">SourceForge.net</a> is the world's largest software comparison directory, serving over 30 million users every month and featuring user reviews, product comparisons, software guides, and more. </p><p>SourceForge's mission is to help businesses find the best software to fit their needs and their budget. There are various software tools available to companies, and there are tools in almost every category and niche, each serving a slightly different purpose. SourceForge also powers the <a href="https://slashdot.org/software/">Slashdot.org/software/</a> business software and services directory.</p><h2 id="further-reading-and-references">📚 Further reading & references <a class="markdownit-header-anchor" href="#further-reading-and-references">🔗</a></h2><ul><li><a href="/blog/qanda-sourceforge-make-your-apps-multilingual-continuous-software-localization">Q&amp;A for SourceForge: Make Your Apps Multilingual With Continuous Software Localization</a> on Localazy blog</li><li><a href="https://sourceforge.net/software/product/Localazy/">Localazy Reviews</a> on SourceForge.net<br></li></ul>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/11/SourceForge-Award.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Design localization with Localazy Figma plugin]]></title>
            <link>https://localazy.com/blog/design-localization-with-localazy-figma-plugin</link>
            <guid isPermaLink="false">design-localization-with-localazy-figma-plugin</guid>
            <pubDate>Thu, 16 Apr 2026 14:26:40 GMT</pubDate>
            <description><![CDATA[Did you know that you can translate your Figma designs and prototypes and reuse the translations seamlessly during development? Learn how to do it with Localazy and Figma.]]></description>
            <content:encoded><![CDATA[<p><a href="https://www.figma.com/">Figma</a> is a well-known web prototyping and vector graphics editor tool used to create visual designs of your ideas. It's ideal for building design systems and prototyping web and mobile apps, which we will then help you localize. 😁</p><p>But what if you want to localize the design/prototype itself to see if it would work with other languages? That's when the <strong>Localazy Figma plugin</strong> comes into play, designed to help you translate your designs efficiently and quickly 💨.</p><h2 id="how-does-it-work">🤓 How does it work? <a class="markdownit-header-anchor" href="#how-does-it-work">🔗</a></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/image-9.png" class="kg-image" alt loading="lazy"><figcaption>Connect your project with Figma &amp; Localazy</figcaption></figure><p>With <a href="https://www.figma.com/community/plugin/964257457772706017/Localazy-Plugin">Figma &amp; Localazy</a>, you can quickly test the compatibility of your design when new languages are introduced, translate banners and other pieces of visual content. After that, download translated strings to use them in your project.</p><p>Just select what you want to import and get your content transferred to Localazy and back in a few clicks.</p><p>Figma Plugin is available for all users on the <a href="/docs/general/localazy-autopilot-tier">Autopilot plan</a>. Learn more in the <a href="/docs/figma/plugin-introduction">documentation</a> or <a href="/contact">contact us</a> if you have any questions.</p><p>Now to the fun part. 🤭</p><h2 id="how-to-use-the-localazy-plugin-for-figma">🎨 How to use the Localazy Plugin for Figma <a class="markdownit-header-anchor" href="#how-to-use-the-localazy-plugin-for-figma">🔗</a></h2><p>To demonstrate the uses of <a href="https://www.figma.com/community/plugin/964257457772706017/Localazy-Plugin">Localazy's Figma Plugin</a>, we'll set up a demo project. We'll go step by step to every detail showing you how to integrate a Figma project with Localazy from the get-go.</p><h3 id="before-we-start">Before we start <a class="markdownit-header-anchor" href="#before-we-start">🔗</a></h3><ol><li>Sign up for<strong> </strong><a href="https://www.figma.com/"><strong>Figma</strong></a>;<strong> </strong>you can use the browser version or <a href="https://www.figma.com/downloads/">download a native version for Windows or macOS</a>. 🖌️</li><li><strong><a href="/register">Create a free Localazy account</a></strong> if you don't already have one :) 🚩</li><li>Activate the <a href="/docs/general/localazy-autopilot-tier"><strong>Autopilot plan</strong></a> in the <a href="/my/marketplace"><strong>Marketplace</strong></a> <em>(don't worry, there is a 7-day trial)</em> 🚀</li><li><strong>Grab your favorite drink, and let's go! </strong>🍹</li></ol><h3 id="creating-a-new-figma-project">Creating a new Figma project <a class="markdownit-header-anchor" href="#creating-a-new-figma-project">🔗</a></h3><p>Let's start by logging in to Figma and in the dashboard, click on the <strong>New design file </strong>card to create a new file. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/1.png" class="kg-image" alt loading="lazy" width="1902" height="1009" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/1.png 1600w, https://ghost.localazy.com/content/images/2021/11/1.png 1902w" sizes="(min-width: 720px) 720px"><figcaption>Figma Dashboard</figcaption></figure><p>To make this tutorial short, we will pick the <strong>Prototyping in Figma </strong>example project, but all the following steps will be compatible with your own personal project. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/2.png" class="kg-image" alt loading="lazy" width="1920" height="1009" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/2.png 1600w, https://ghost.localazy.com/content/images/2021/11/2.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Figma Example Prototype Project</figcaption></figure><h3 id="installing-the-plugin">Installing the plugin <a class="markdownit-header-anchor" href="#installing-the-plugin">🔗</a></h3><p>Now that we have the design file set up, we must install the Localazy Figma plugin to localize the prototype. To do so, let's head to the top left corner click on the <strong>Figma logo</strong> ➡️ <strong>Plugins</strong> ➡️ <strong>Browse Plugins in Community</strong> and go there. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/3.png" class="kg-image" alt loading="lazy" width="1920" height="1009" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/3.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/3.png 1600w, https://ghost.localazy.com/content/images/2021/11/3.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Browse plugins in Figma</figcaption></figure><p>We must now search for <em>"Localazy" </em>in the search bar, and the plugin will come up.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/5-2.png" class="kg-image" alt loading="lazy" width="1920" height="1008" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/5-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/5-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/5-2.png 1600w, https://ghost.localazy.com/content/images/2021/11/5-2.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Find the Localization plugin by Localazy</figcaption></figure><p>Clicking on the plugin will give you access to more information about it, but you can now click on the blue <strong>Install</strong> button on the right. You can browse all other plugins available for Figma - you can read plugins recommended by our designer Ondra in <a href="/blog/6-super-useful-figma-plugins-product-designers-localazy">this article</a>.</p><blockquote><strong>Read about <a href="https://localazy.com/blog/6-super-useful-figma-plugins-product-designers-localazy">our favorite Figma plugins for product designers</a></strong></blockquote><h3 id="linking-figma-with-localazy">Linking Figma with Localazy  <a class="markdownit-header-anchor" href="#linking-figma-with-localazy">🔗</a></h3><p>We should now log in to Localazy and create a new project, just reserved to store and manage all the strings from our Figma project.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/4.png" class="kg-image" alt loading="lazy" width="1901" height="1008" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/4.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/4.png 1600w, https://ghost.localazy.com/content/images/2021/11/4.png 1901w" sizes="(min-width: 720px) 720px"><figcaption>Create a new project in Localazy</figcaption></figure><p>Heading back to the design file, let's follow the same path as before, going to the top left corner ➡️ Plugins ➡️ <strong>Localization plugin by Localazy</strong>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/7-1.png" class="kg-image" alt loading="lazy" width="1920" height="1008" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/7-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/7-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/7-1.png 1600w, https://ghost.localazy.com/content/images/2021/11/7-1.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Open the Localazy plugin</figcaption></figure><p>Clicking on it will open the following window:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/8.png" class="kg-image" alt loading="lazy" width="1920" height="1008" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/8.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/8.png 1600w, https://ghost.localazy.com/content/images/2021/11/8.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Link the Figma project with your Localazy project</figcaption></figure><p>We now need to link our Figma project with Localazy's newly created project by authorizing access to Localazy and choosing the desired project to be linked from the dropdown. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/12/image.png" class="kg-image" alt loading="lazy" width="555" height="452"><figcaption>Authorization and project selection</figcaption></figure><p>Go back to your Figma project, and you'll notice that you have <strong>Localazy's Upload</strong> tab open, in which you can customize the name and type of the upload file. </p><p>Note that if you do not have the <a href="/docs/general/localazy-autopilot-tier"><strong>Autopilot</strong></a><strong> </strong>or higher plan active, the plugin will notify you that you are not subscribed to the required plan, stopping you from proceeding.</p><p>We'll continue with default settings and click <strong>Upload to Localazy</strong>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/11-2.png" class="kg-image" alt loading="lazy" width="1920" height="1008" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/11-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/11-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/11-2.png 1600w, https://ghost.localazy.com/content/images/2021/11/11-2.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Figma Plugin Upload Tab</figcaption></figure><p>If everything is uploaded successfully, you'll see the following:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/12.png" class="kg-image" alt loading="lazy" width="1920" height="1007" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/12.png 1600w, https://ghost.localazy.com/content/images/2021/11/12.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Upload Tab - Successful Upload</figcaption></figure><p>We should now head to our project at Localazy and translate the strings to the language of our choice.</p><p>To do so, we click <strong>Add Language </strong>button. I'll choose Portuguese and Spanish. You can add whatever languages you prefer personally. 😉</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/14.png" class="kg-image" alt loading="lazy" width="1920" height="1009" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/14.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/14.png 1600w, https://ghost.localazy.com/content/images/2021/11/14.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Localazy - Add Languages</figcaption></figure><p>To start translating, simply click on the blue button referring to the language you want to translate. </p><p>For your own project, you can also order translations from our <strong><a href="/docs/general/continuous-localization-team">Continuous Localization Team</a></strong>, which will deliver translations pro-actively whenever you add new strings or change existing source strings.</p><blockquote>You can find more about how our translation services work <a href="/docs/general/continuous-localization-team">in the documentation</a>.</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/15.png" class="kg-image" alt loading="lazy" width="1920" height="1008" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/15.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/15.png 1600w, https://ghost.localazy.com/content/images/2021/11/15.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Translation Screen</figcaption></figure><p>If you choose to translate the texts yourself, you'll have <a href="/dictionary/machine-translation">machine translations</a> to help. When the translation is finished, simply click the <strong>Save</strong> button.</p><p>After everything you need is translated, go back to your Figma project and open the Localazy plugin again. Head to the <strong>Download</strong> tab and pick the <strong>file</strong> and the <strong>language</strong> you would like to see your project in. As soon as you click <strong>Download to Figma</strong>, you'll be able to see the translated strings.</p><p>The original file will look like this:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/en.png" class="kg-image" alt loading="lazy" width="1920" height="961" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/en.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/en.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/en.png 1600w, https://ghost.localazy.com/content/images/2021/11/en.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Figma prototype in English</figcaption></figure><p>To demonstrate the translation, we've downloaded Spanish:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/es.png" class="kg-image" alt loading="lazy" width="1920" height="1008" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/es.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/es.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/es.png 1600w, https://ghost.localazy.com/content/images/2021/11/es.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Figma prototype translated by Localazy in Spanish</figcaption></figure><p>If you'd like to see another language, just pick it and click the download button again. This time I'll choose Portuguese:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/pt.png" class="kg-image" alt loading="lazy" width="1920" height="1007" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/pt.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/pt.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/pt.png 1600w, https://ghost.localazy.com/content/images/2021/11/pt.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Figma prototype translated by Localazy in Portuguese</figcaption></figure><h3 id="translating-specific-nodes">Translating specific nodes <a class="markdownit-header-anchor" href="#translating-specific-nodes">🔗</a></h3><p>Localazy Figma plugin allows you to pick specific nodes and translate them to whatever language you want without affecting the rest of the project.</p><p>Simply pick the nodes from the left column of the project or click the node itself on the canvas, then select the language from Localazy's Figma plugin and download.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/de.png" class="kg-image" alt loading="lazy" width="1920" height="1008" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/de.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/de.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/de.png 1600w, https://ghost.localazy.com/content/images/2021/11/de.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>One text node translated to German</figcaption></figure><p>In this particular case, we only changed the text node <em>"Register"</em> to German.</p><blockquote>You can <a href="/docs/figma/plugin-introduction">learn more about how our Figma plugin works in the documentation</a>.</blockquote><h3 id="additional-settings">Additional settings <a class="markdownit-header-anchor" href="#additional-settings">🔗</a></h3><p>Besides the main features of the plugin, we have three additional options:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/Captura-de-ecr--2021-11-28-005121.png" class="kg-image" alt loading="lazy" width="345" height="596"><figcaption>Localazy Figma plugin - additional settings</figcaption></figure><ul><li><strong>Figma File share link</strong> - When enabled, each string will show a backlink to its Figma file <code>TextNode</code> representation. This way, every contributor working on a project will instantly have an actual context, even if you updated the design recently.</li><li><strong>Use node name as source key</strong> - By default, Figma internal <code>TextNode</code> <em>id</em> will be used to identify a string, but by ticking this option, the source keys will then be the <code>TextNode</code> names.</li><li><strong>Upload and download the entire file</strong> - This option allows you to switch the upload &amp; download context according to your needs. Implicitly, context is set to a currently active page, and the context setting is applied only when nothing is selected. Then, only the selection will be uploaded/downloaded.</li></ul><h2 id="closing-words">✔️ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>Localization of your project just became more dynamic thanks to the ability to link your Figma project with Localazy. And, as you can see, it's incredibly easy to localize Figma projects with the Localazy Figma Plugin. We look forward to seeing our Figma plugin help you in your localization journey to success ✈️. </p><p>Did you like this tutorial? If you would like us to clarify something, please let us know in the comments below!</p><p></p>]]></content:encoded>
            <author>Francisco Melo</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Figma-Intro.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Cheatsheet: Getting started with Software Localization]]></title>
            <link>https://localazy.com/blog/cheatsheet-getting-started-software-localization-tips-tricks</link>
            <guid isPermaLink="false">cheatsheet-getting-started-software-localization-tips-tricks</guid>
            <pubDate>Thu, 18 May 2023 09:07:00 GMT</pubDate>
            <description><![CDATA[If you are looking for a quick guide on how to get started with software localization that goes straight to the point, we got you covered. 😉]]></description>
            <content:encoded><![CDATA[<h2 id="quick-tips-for-successful-software-localization">🎯 Quick tips for successful software localization <a class="markdownit-header-anchor" href="#quick-tips-for-successful-software-localization">🔗</a></h2><ul><li>Take <a href="/dictionary/localization">localization</a> into account in the early stages of development. Introducing multilingual support once you are rolling requires extra work on your part and makes you more likely to forget something important. <strong>Think about localization throughout your product as a whole</strong>, e.g., don't allow the backend to send untranslated messages.</li><li>Make sure you handle <strong>string interpolation</strong> correctly from the very beginning.</li></ul><blockquote>For example, don't concatenate but use placeholders instead. Manage strings with various plural forms properly, etc.</blockquote><ul><li>Use <strong>plurals</strong> the right way, e.g., don't use plural zero for an empty check.</li><li>The previous two points will help you prevent the most common problems when you start implementing more "exotic" languages, such as RTL languages or those without plurals.</li><li>Double-check that you handle <strong>date formats</strong> etc., correctly as well. Unfortunately, this is something that we can't do for you - it's a matter of proper implementation within your code.</li></ul><blockquote>Learn <a href="/blog/guide-preparing-application-for-i18n-l10n-localazy">How to prepare your project for i18n and l10n</a> in our guide.</blockquote><h2 id="localizable-file-formats">📁 Localizable file formats <a class="markdownit-header-anchor" href="#localizable-file-formats">🔗</a></h2><ul><li>When possible,<strong> stick with <a href="/json">JSON</a></strong> and do your best to avoid formats like <a href="/po">PO</a>, <a href="/xliff">XLIFF</a>, etc. </li></ul><blockquote>Those formats are meant to be used mainly by professional translators and agencies and are usually handled with specialized proprietary software. Yes, <strong>Localazy <a href="/integrations">supports these formats</a> but also completely overshadows the main reasons for their existence</strong> in the first place.</blockquote><ul><li>For example,<strong> <a href="/json5">JSON5</a> is an excellent file format for software localization</strong>. One of the benefits of using JSON5 is, that it allows you to add comments that your contributors can use to find additional context and translate your product accurately. </li></ul><blockquote>On top of that, Localazy accepts JSON5 as input and can return the good old JSON. <a href="/blog/json5-and-human-friendly-software-localization">More on that here.</a></blockquote><ul><li><strong>Define context for translators</strong>, tell them when and how the string is used in your product, etc. This considerably increases the quality of translations.</li></ul><blockquote>You can, e.g., use a <a href="/docs/general/how-to-define-your-glossary">Translation Glossary</a> or attach <a href="/docs/general/screenshots">Screenshots</a> to your translation project to improve the quality of translation.</blockquote><ul><li>Generally, there are not many problems regarding file formats because <strong>Localazy supports the majority of common file formats</strong>. <a href="/integrations">See the list here</a>.</li></ul><h2 id="why-should-you-use-localazy">🚩 Why should you use Localazy? <a class="markdownit-header-anchor" href="#why-should-you-use-localazy">🔗</a></h2><ul><li>Software localization is not even remotely only about translations. <strong>Software evolves in time</strong>; strings come and go or undergo changes. Localazy is perfectly prepared for this.</li><li>It's not about translation management only, either. You have to <strong>manage the people involved and their permissions</strong> as well. <a href="/docs/general/defining-user-roles">Read more here</a>.</li><li>Localazy gives you and your contributors the <strong>tools needed to increase the translation quality</strong> and removes many emergent nuisances. Localazy provides a translation glossary, machine translation suggestions, and shared translations; identifies similar phrases already used in your project to ensure consistency, allows you to add comments, and see translations in other languages for additional context. </li></ul><blockquote>Read more about <a href="/blog/intro-localazy-translators-perspective">Localazy from a translator's perspective</a>.</blockquote><ul><li>Localazy will ensure you <strong>translate plurals correctly depending on the language</strong>. <a href="/docs/general/translating-plurals">Read more</a>.</li><li>Our advanced technology, such as <strong><a href="/docs/general/what-is-localazy-intm">InTM</a> and <a href="/docs/general/what-is-localazy-sharetm">ShareTM</a></strong>, allows you to <strong>share translations among projects</strong> (yours only or all on the platform). Why should you have to translate two identical strings twice?</li><li>You won't get lost thanks to the <strong>unique review process</strong>, which lets you perform meticulous QA. </li></ul><blockquote>Read more about our <a href="/blog/unique-review-process-and-self-managed-translations">Unique review process and self-managed translations</a></blockquote><ul><li>Localazy <strong>automatically detects changes in the source language</strong> and informs translators about new texts that require translation.</li><li>We generate <strong>meta-files with language lists</strong> and their English and localized names. Thus, you can <strong>quickly implement a language switcher</strong> that is fully integrated with Localazy.</li><li>You can also use additional services -<strong> professional translations</strong>, machine translation post-editing, global CDN, and many more. <a href="/docs/general/continuous-localization-team">Read more</a>.</li></ul><blockquote>Translating software the old way - back and forth e-mailing of text files between you and your translators - is annoying and exhaustive. You can afford to get lazy with Localazy and manage all of your translations separated from your code hassle-free.</blockquote><ul><li>Localazy offers <a href="/pricing">plans suitable for individuals and teams of any size</a>. And you can start for free before you commit.</li></ul><h2 id="how-to-get-started">🕹️ How to get started? <a class="markdownit-header-anchor" href="#how-to-get-started">🔗</a></h2><p>Localazy is ready for tight integration with your software project but can be used by anyone for quick translation of localizable files. </p><h3 id="first-steps">First steps <a class="markdownit-header-anchor" href="#first-steps">🔗</a></h3><ol><li><a href="https://localazy.com/register">Create a free account</a> or sign up via your Google or GitHub account. 💳 <em>No credit card is required!</em></li><li>Create your first project </li><li>The next step is populating your empty project with content to translate. Select from the ever-growing list of <a href="https://localazy.com/integrations">integrations</a> Localazy supports and import your strings. 🕹️ There are three ways of doing this, depending on your case: manual import, Localazy CLI integration or setting up an SDK. </li><li>After successful integration, add new 🚩 languages to start the localization journey.</li></ol><blockquote>Find more steps and learn more in our <a href="/docs/general/getting-started-with-localazy">Getting Started guide</a>.</blockquote><h3 id="recommended-steps-for-developers">Recommended steps for developers <a class="markdownit-header-anchor" href="#recommended-steps-for-developers">🔗</a></h3><ol><li>Download our <a href="/docs/cli/the-basics">CLI (command line interface)</a>, which is available for all operating systems.</li><li>Create a config file, which defines what files are meant to be uploaded and where to download translated files.</li><li>Run <code>localazy upload</code> to import your files to Localazy. You can invoke this command on each change or use <a href="/blog/automated-localization-gitlab-cicd-localazy">GitLab CI/CD</a>, <a href="/blog/automated-localization-github-actions-localazy">GitHub Actions</a> or our <a href="/blog/automated-localization-bitrise-io-localazy">Bitrise Step</a> to automate the process entirely.</li><li>During the build process of your software, invoke <code>localazy download</code> to fetch the newest version of translated files. Of course, you can automate this too.</li><li>For <a href="/android">Android</a> and <a href="/ios">iOS</a>, we provide special SDKs which make the<br>localization process even easier.</li></ol><blockquote>The best thing about Localazy is, that you can configure the integration only once. Localazy will handle everything for you once you set it up. </blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>Is there anything you would add to the list? Do you have any questions regarding Localazy? Let us know in the comments!</p><p>You can also find more information about Localazy on our <a href="/blog">blog</a> and in the <a href="/docs">documentation</a>. </p>]]></content:encoded>
            <author>David Václavek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/11/Cheatsheet_-Software-Localization.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview for JetBrains: Why Localazy developers ❤️ Kotlin?]]></title>
            <link>https://localazy.com/blog/interview-jetbrains-why-localazy-developers-love-kotlin</link>
            <guid isPermaLink="false">interview-jetbrains-why-localazy-developers-love-kotlin</guid>
            <pubDate>Tue, 07 Dec 2021 10:06:45 GMT</pubDate>
            <description><![CDATA[A significant portion of our codebase is written in Kotlin, including the developer-favorite Localazy CLI. Would you like to read why we decided to go with Kotlin and our favorite Kotlin features? JetBrains interviewed our developers and asked them about their experience with Kotlin.]]></description>
            <content:encoded><![CDATA[<p><a href="https://www.jetbrains.com/">JetBrains</a> is the company behind various tools, programming languages, and frameworks loved by developers all over the world. <a href="https://kotlinlang.org/">Kotlin</a> is a modern, concise and safe programming language Developed by JetBrains &amp; Open-source <a href="https://github.com/JetBrains/kotlin/graphs/contributors">Contributors</a>. Read on to learn more about why we love Kotlin at Localazy. 🤓</p><h2 id="introduction">👋 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2><p>◼️ <strong>JetBrains: Hello guys, and thank you for finding time for this interview. Could you please introduce yourselves first? What is Localazy?</strong></p><p>Hi! Localazy is mainly a <strong>continuous <a href="/dictionary/localization">localization</a> solution built with developers in mind</strong>. As developers ourselves, we strive for a clear interface, ease of use, and limitless potential.</p><p>While Localazy may, at first sight, look similar to other services, we were focused more than the competitors on automation and developer-oriented tools. We understand that developers want to spend their time with code and not on localization. Therefore, we offer many <strong><a href="/integrations">integrations</a> and advanced features</strong> to make developers feel at home, such as <a href="https://localazy.com/docs/general/release-tags-add-on">Release Tags</a> for version control, <a href="/docs/general/format-conversions-add-on">Format Conversions</a>, various SDKs, etc.</p><p>We've taken the developers-first approach one step further. We've decided to support the upload of localizable files through a command-line interface only initially. Still, we are gradually making the platform more accessible with more non-dev-friendly features to simplify the process for managers, marketers, etc.</p><p>There are also some features inspired by developers and the spirit of sharing, such as our <strong>shared translation memory</strong> (<a href="/docs/general/what-is-localazy-sharetm">ShareTM</a>) that allow sharing across all public projects on Localazy - it's highly accurate and much better than <a href="/dictionary/machine-translation">machine translations</a>.</p><p>Our users can also <strong>order translation services directly in Localazy</strong> to achieve proper continuous localization, making Localazy a set and forget solution.</p><blockquote>Read more about the <a href="/blog/true-continuous-localization-localazy">True Continuous Localization by Localazy</a> on the blog.</blockquote><p><br>◼️ <strong>That sounds promising. Who are your typical users at the moment?</strong></p><p>Most of our early adopters were <strong>single developers</strong>, who we targeted before we built the supporting infrastructure and features for bigger teams.</p><p>As we grow, our userbase inclines toward a greater share of <strong>digital teams such as software houses and startups</strong> who need to iterate fast and expand their market reach.</p><p>And last but not least, we are getting more and more demo requests from <strong>established companies</strong> that seek more innovative solutions than they currently use.</p><p>That's only one part of the equation, though. We are delighted to have an <strong>ever-growing community of proactive translators</strong> on board that help project owners go multilingual. We are here to provide the space for this fantastic collaboration.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/SvgCommunity-1--1-.png" class="kg-image" alt loading="lazy" width="1260" height="696" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/SvgCommunity-1--1-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/SvgCommunity-1--1-.png 1000w, https://ghost.localazy.com/content/images/2021/11/SvgCommunity-1--1-.png 1260w" sizes="(min-width: 720px) 720px"><figcaption>Localazy brings together people from all over the world to collaborate on localization&nbsp;</figcaption></figure><h2 id="lessbrgreater-kotlin"><br>🕹️ Kotlin <a class="markdownit-header-anchor" href="#lessbrgreater-kotlin">🔗</a></h2><p>◼️ <strong>Great! Let's move to the main topic of our interview now. How is Kotlin used in your product? Frameworks, libraries, etc. as well.</strong></p><p>We use Kotlin whenever it is possible and reasonable. Kotlin is the most used programming language at Localazy, followed by TypeScript.</p><p>The whole back-end for Localazy is pure Kotlin. We have our server stack built on Undertow that acts both as a server and reverse proxy to simulate several microservices in a single instance during testing.</p><p>We took the good parts from Java Enterprise Edition (JEE) - JAX-RS, CDI, Bean Validation, etc., and omitted the rest. The result is a lightweight server ideal for REST services, and we can still utilize our existing knowledge of JEE.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/image-15.png" class="kg-image" alt loading="lazy" width="1760" height="800" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/image-15.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/image-15.png 1600w, https://ghost.localazy.com/content/images/2021/11/image-15.png 1760w" sizes="(min-width: 720px) 720px"><figcaption><em>Copyright © 2021 JetBrains s.r.o. Kotlin and the Kotlin logo are registered trademarks of JetBrains s.r.o.</em></figcaption></figure><p>◼️ <strong>Maybe you'd want to share your architecture scheme?</strong></p><p>The back-end is designed as a set of microservices communicating through a message broker, <a href="https://activemq.apache.org/">ActiveMQ</a>, with a custom configuration to support delayed delivery and other features.</p><p>For data, we use <a href="https://min.io/">S3/MinIO</a>, sharded <a href="https://www.postgresql.org/">PostgreSQL</a>, and <a href="https://www.elastic.co/elasticsearch/">Elasticsearch</a>. For accessing the database, we don't use Java Persistence API (JPA) but <a href="https://jdbi.org/">JDBI.org</a> as it is easier to tweak queries manually, and we use a lot of specific queries and offload some processing to the database. Many of them are written to use PostgreSQL's specific features, e.g., JSONB columns, so we don't consider database independence a critical factor.</p><p><a href="https://memcached.org/">Memcached</a> is used as a database-caching layer for request counting and other high-speed operations.</p><p>These tools are typically "accessible" in the Kotlin code using lambda functions or a DSL-like syntax. So unless some extra handling is necessary, we can write almost everything with a single line of code yet in a highly extensible way.</p><p>This is particularly useful for accessing databases with the correct sharding keys and automatically handling commits and rollbacks. The syntax is just beautiful, and everything is handled transparently.</p><p>We also introduced our own <strong>Kotlin Native/MPP </strong>scheme: <a href="https://kotlinlang.org/docs/mpp-intro.html">Kotlin multiplatform projects (MPP)</a> - with targets run on Kotlin Native (native binary for Linux, Windows, and macOS), Kotlin JVM, and Kotlin JS, for our <a href="/docs/cli/the-basics">CLI tool</a>, which allows us to quickly build it for all major platforms, and almost all our supporting tools are written in Kotlin.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/SvgMachine--1-.png" class="kg-image" alt loading="lazy" width="1260" height="840" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/SvgMachine--1-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/SvgMachine--1-.png 1000w, https://ghost.localazy.com/content/images/2021/11/SvgMachine--1-.png 1260w" sizes="(min-width: 720px) 720px"><figcaption>Localazy helps you deliver more languages thanks to Kotlin</figcaption></figure><p>◼️ <strong>Why did your team decide to use Kotlin for server-side development, and what alternatives did you consider?</strong></p><p>Kotlin is a perfect language for our server development thanks to its ability to mix object-oriented and functional programming. Also, the code is shorter, cleaner, and concise. Each of the microservices is a single project that relies on several core libraries.</p><p>We'd had prior experience with large server solutions based on Java, and Java Virtual Machines (JVM) was our only considered option as its ecosystem is vast, we already possessed the necessary know-how, had extensive knowledge of available libraries, and we had also developed our own libraries in the past.</p><p>We already used Kotlin for mobile apps and small server solutions and loved it, so we never considered another option - it allows us to leverage the existing knowledge and libraries and increase productivity.</p><p>We considered several other options for our CLI tool, but again we stuck to what we know and gave Kotlin Multiplatform Projects a try. What's incredible about it is that we still get the JVM-based solution and smaller native versions, and the JVM version can act as a library at the same time.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/q0uEltq02e0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>◼️ <strong>Describe the process of introducing Kotlin to your product. Did you face any challenges or issues? How have you overcome them?</strong></p><p>Since we had the experience with JVM-based Kotlin for the back-end, I would say a few words about how we used Kotlin Native/MPP for our CLI tool as it was something new to us.</p><p>First, it was straightforward to start as it's based on familiar concepts. With prior knowledge of how MPP's expect/actual is supposed to work and experience with C/C++, we have no difficulties writing native code for Linux, Windows, macOS, and JVM.</p><p>Once we had the native parts working, it was extremely easy to write the actual business logic in pure Kotlin. The JSON support in Kotlin serialization is super helpful for writing independent configuration processing. We were also able to hook it to introduce custom validators - so it's a perfect experience for us, developers, and our users.</p><blockquote>Read our article on <a href="/blog/kotlin-mpp-and-http-with-wininet-api-on-windows">How to use Kotlin MPP and HTTP with WinINet API on Windows</a></blockquote><p><strong>The challenges we faced:</strong></p><ul><li><strong>Native/klib libraries are highly dependent on the Kotlin version</strong>, so upgrading the Kotlin version was a bit of a problem. We could still build the binaries, but IDE became useless without code highlighting and autocomplete - some libraries were not yet available recompiled.</li><li><strong>Before Kotlin 1.4, no support for hierarchically structured projects were available.</strong> We overcame this, but it forced us to introduce additional logic to the build script.</li><li>We used ktor clients for HTTP communication, but it was a huge problem for Windows due to dependency on the curl library. We spent some time trying to statically link it with the binary but later decided to use curl for Linux and macOS and native WinINet API for Windows.</li></ul><blockquote>Read <a href="/blog/localazy-cli-sofware-localization-tool-kotlin-github">How we built Localazy CLI with Kotlin MPP and GitHub Actions</a></blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/11/image-16.png" class="kg-image" alt loading="lazy" width="680" height="538" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-16.png 600w, https://ghost.localazy.com/content/images/2021/11/image-16.png 680w"></figure><p>◼️ <strong>What do you consider the most significant benefits of using Kotlin at Localazy?</strong></p><p>We can produce features much faster as Kotlin is more efficient and straightforward than Java that we used before. What would typically require several lines in Java can be reduced to a single line in Kotlin.</p><p>The code is less-buggy thanks to null safety. We are trying to avoid null types whenever possible in our code.</p><p>Also, having strong roots in Java, we wouldn't be able to switch quickly to a non-JVM language, and Kotlin gives us an extra productivity boost on top of it. We can combine years of experience with Java and all the beneficial features of a modern language.</p><p>◼️ <strong>What are your favorite Kotlin features and why?</strong></p><ul><li><strong>Full Java compatibility</strong> is critical both for our existing libraries and the vast JVM ecosystem. Some of our systems are mostly based on existing Java solutions, and Kotlin is sometimes only the glue to put them together.</li><li><strong>Modern language constructions</strong> - null-safety, lambdas, function as a first-class citizen, extension functions, tailrec functions, data and sealed classes - all of these things are addictive and increase productivity.</li><li><strong>Kotlin MPP</strong> is definitely another thing. While it's still a bit limited due to missing libraries and the ecosystem around it, it's already perfect for the development of multiplatform tools and shared business logic. What I love is that we can combine native, JVM and JS, and also share the business logic with mobile apps.</li><li>We also like <strong><a href="https://kotlinlang.org/docs/coroutines-overview.html">coroutines</a></strong> and how easy they are for multi-threading apps. We use them everywhere, from asynchronous requests to load tests and small tools.</li><li><strong>Kotlin DSL</strong>. I love it, and we used it, for example, for our own integration tests builder. As you can imagine, to test the translation flow, we need to create a lot of data and simulate different situations. With Kotlin DSL, tests are clean and readable.</li></ul><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>◼️ <strong>Would you like to share any statistics?</strong></p><p>The main components of the back-end contain 85k SLOC written in Kotlin. These components are pure Kotlin; there is no other language used for the development. Naturally unaccounted for JSON-based configuration, Docker files, and some build scripts (we still use Groovy-based Gradle scripts).</p><p>There are about 150k SLOC written in Kotlin in total with all the tools and additional libraries.</p><p>At the moment, we have thousands of users with tens of millions of managed translations, and everything works like a charm thanks to Kotlin and JetBrains :-).</p><p>◼️ <strong>Do you have any tips or advice you'd like to share with our readers?</strong></p><p>Kotlin is definitely worth trying, and I would recommend everyone get used to it and adhere to idiomatic Kotlin. We can see that some older parts of our code are written in a sub-optimal way and that they could be way much shorter and readable.</p><h2 id="further-reading">📚 Further reading <a class="markdownit-header-anchor" href="#further-reading">🔗</a></h2><ul><li><a href="/blog/localazy-cli-sofware-localization-tool-kotlin-github">How we built Localazy CLI: Kotlin MPP and Github Actions</a></li><li>Read <a href="/tags/kotlin">all about Kotlin on our blog</a></li><li>Read our <a href="/blog/qanda-sourceforge-make-your-apps-multilingual-continuous-software-localization">Q&amp;A for SourceForge: Make Your Apps Multilingual With Continuous Software Localization</a></li></ul>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/11/JetBrains.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Going global with multilingual SEO]]></title>
            <link>https://localazy.com/blog/going-global-with-multilingual-seo</link>
            <guid isPermaLink="false">going-global-with-multilingual-seo</guid>
            <pubDate>Tue, 02 Sep 2025 17:07:25 GMT</pubDate>
            <description><![CDATA[If your software is already set for multilingual support and you are quickly delivering new languages with Localazy, now is the time to grow your audience and user base organically with the multilingual SEO of your website. Learn the why and how in this article.]]></description>
            <content:encoded><![CDATA[<p>Did you know that even though English is the most spoken language in the world, it has only about 390 million native speakers. And in total, 1.53 billion people worldwide speak English at some level, whether as a first or second language as <a href="https://www.ethnologue.com/insights/most-spoken-language">per Ethnologue</a>.</p><p>Now consider the fact that the middle class (people with some disposable income) in emerging, non-English-speaking countries is <a href="https://www.oxfordeconomics.com/resource/the-future-of-the-middle-class-in-emerging-markets">projected to almost double over the next decade</a>, going from 354 million households in 2024 to around 687 million households by 2034.</p><p>Put together, these trends show that while English dominates globally, much of the new purchasing power will come from people whose first language is not English. That’s why going multilingual is such a powerful way to capture future growth.</p><p>Here at Localazy, we have a team of experts in <a href="/dictionary/localization">localization</a> and <a href="/dictionary/translation">translation</a> management, including multilingual SEO, so we’ve put together this in-depth guide to getting started with multilingual SEO.</p><h2 id="what-is-multilingual-seo-and-why-is-it-important">💡 What is multilingual SEO, and why is it important? <a class="markdownit-header-anchor" href="#what-is-multilingual-seo-and-why-is-it-important">🔗</a></h2><p>If you already know the basics of SEO (keywords, backlinks, meta-tags, meta-descriptions) you’re halfway there. Multilingual SEO is about applying the same principles, but making sure your content, keywords, and metadata work in different languages and for different regions.</p><p>This is becoming more important than ever:</p><ul><li>English still dominates online, but it makes up only about <a href="https://w3techs.com/technologies/overview/content_language">50% of the content on the web</a><strong>.</strong> That leaves half of the internet searching and buying in other languages.</li><li>About <a href="https://developers.google.com/search/blog/2023/09/multilingual-searches">half of people searching on Google</a> are multilingual, often typing queries in a language that doesn’t match their device or browser settings.</li><li>Sites that invest in localized SEO, using region-specific keywords and hreflang tags, <a href="https://www.cmg.digital/blog/global-seo-presence-with-hreflang-tags">are shown to rank far better</a> in country-specific search results than English-only sites.</li></ul><p>Real-world brands are already proving the point: <a href="https://borntobeglobal.com/2020/08/07/100-languages-and-counting-international-growth-at-canva/">Canva gets more than 65% of its userbase from non-English markets,</a> and Wise generates nearly <a href="https://ahrefs.com/blog/multilingual-seo">67% </a>of its organic traffic from multilingual content. </p><p>If your website only targets one English-speaking country, you might not feel the pressure yet. But the moment you go global, or want to reach audiences who don’t search in English, multilingual SEO quickly shifts from a nice-to-have to a must-have. </p><p>And while the technical side can get complex, working with localization specialists ensures both the search algorithms and your future customers understand you perfectly.</p><blockquote>🎙️ How does SEO change in an AI-first world? Hear insights from Michal Pecánek, SaaS SEO consultant (ex-Ahrefs, CDN77), in <a href="https://localazy.com/blog/s01-ep-07-bridging-the-gap-podcast">this Bridging the Gap podcast episode</a></blockquote><h2 id="countries-separated-by-a-common-language">🗽 Countries separated by a common language <a class="markdownit-header-anchor" href="#countries-separated-by-a-common-language">🔗</a></h2><p>You’ve probably heard the saying that the UK and USA are “two countries separated by a common language.” In practice, this matters for SEO. Even within English, differences in spelling, vocabulary, and phrasing can affect which keywords your customers actually use.</p><p>For example:</p><ul><li>✈️Travel → “holiday” in the UK vs. “vacation” in the US</li><li>👖Menswear → “trousers” in the UK vs. “pants” in the US</li><li>⛽Fuel → “petrol station” in the UK vs. “gas station” in the US</li></ul><p>If your site only optimizes for one version, you risk missing traffic and losing relevance in search results. What seems like a small difference in wording can shift how people search and how search engines rank your content. Scale that across multiple languages, and the stakes get even higher, which is why multilingual SEO, supported by smart localization, is key to reaching audiences everywhere.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/11/SvgCrossProjects.png" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/SvgCrossProjects.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/SvgCrossProjects.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/SvgCrossProjects.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/11/SvgCrossProjects.png 2400w" sizes="(min-width: 720px) 720px"></figure><blockquote>💬 <em>Curious how multilingual content helps you stand out in AI-driven search? </em><a rel="noopener">Here’s how it improves your Share of Voice (SoV)</a>.</blockquote><h2 id="benefits-of-multilingual-seo">🌎 Benefits of multilingual SEO <a class="markdownit-header-anchor" href="#benefits-of-multilingual-seo">🔗</a></h2><p>Before we dive into a step-by-step guide on how to implement multilingual SEO, let’s take a quick look at some of the benefits that are in it for you (and your customers).</p><ul><li>🌐<strong>Bigger market</strong> - Nearly <a href="https://www.cmosmagazine.com/en/four-in-five-consumers-wont-buy-from-a-brand-that-doesnt-offer-local-language-support/">89% of global consumers say</a> they expect brands to offer online experiences in their preferred language, and 93% agree that brands should communicate in local languages across all channels.           </li><li>🛒<strong>Increased conversions </strong>- Marketing works best when the message is clear, and when people can shop in their own language, they’re far more likely to buy than if they’re forced to interpret content in one they don’t fully understand.</li><li>🔍<strong>Search engine ranking boost </strong>- The more relevant your keywords are across different languages and regions, the more likely your content is to rank in local search results. Multilingual SEO helps your site show up where your audience is actually searching.</li></ul><p>These benefits make a strong case for prioritizing multilingual SEO, but knowing why it's important is only half the equation. Let’s now look at how to build and execute a successful multilingual SEO strategy, step by step.</p><h2 id="steps-to-succeed-in-multilingual-seo">🏆 Steps to succeed in multilingual SEO <a class="markdownit-header-anchor" href="#steps-to-succeed-in-multilingual-seo">🔗</a></h2><h3 id="step-1-develop-a-strategy">Step 1 - Develop a strategy <a class="markdownit-header-anchor" href="#step-1-develop-a-strategy">🔗</a></h3><p>Before anything else, define where you’re going and why. Multilingual SEO is most effective when it’s grounded in a clear understanding of your target markets and not just what languages people speak, but whether there’s real demand for what you offer. Start by evaluating the following:</p><ul><li><strong>📈 Market demand – </strong>Are people actively searching for your type of product or service in this country?</li><li><strong>🧮 Market size –</strong> How large is the relevant audience or customer base?</li><li><strong>💰 Spending power – </strong>Do potential buyers in this region have the disposable income to convert?</li></ul><p>This analysis helps you avoid wasted effort translating for markets that aren’t ready or relevant. Once you’ve gathered the data, rank your target countries by opportunity, and build a language roadmap, starting with the ones that offer the strongest growth potential.</p><p>A solid strategy at this stage saves time later and sets the foundation for scalable multilingual SEO execution.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/09/AdobeStock_357298362.jpeg" class="kg-image" alt loading="lazy" width="2000" height="739" srcset="https://ghost.localazy.com/content/images/size/w600/2025/09/AdobeStock_357298362.jpeg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/09/AdobeStock_357298362.jpeg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/09/AdobeStock_357298362.jpeg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/09/AdobeStock_357298362.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="step-2-do-your-research">Step 2 - Do your research <a class="markdownit-header-anchor" href="#step-2-do-your-research">🔗</a></h3><p>When people talk about SEO, the first thing that springs to mind is keywords. But focusing on keywords right from the outset is a bit of a mistake. You’re far better off researching topics and <strong>basing your SEO strategy around topic areas</strong> rather than going straight in and trying to hit keywords. </p><p><strong>Take sporting goods as an example.</strong> In the UK, 🏏 cricket may be a high-interest topic. In Spain, it won’t move the needle. So instead of forcing the same strategy everywhere, adapt your content themes to fit each market, then layer on keyword research that fits those themes.</p><p>This approach gives your multilingual SEO a stronger foundation and helps you avoid pushing content that doesn’t connect locally.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/11/SvgSearch.png" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/SvgSearch.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/SvgSearch.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/SvgSearch.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/11/SvgSearch.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="step-3-find-the-right-keywords">Step 3 - Find the right keywords <a class="markdownit-header-anchor" href="#step-3-find-the-right-keywords">🔗</a></h3><p>Once you know which countries and regions you're targeting, it's time to dig into the actual keywords your audience is searching for in those languages. This means using tools that give you local search volume, keyword difficulty, and intent data. <a href="https://localazy.com/dictionary/semrush">Semrush</a>, <a href="https://ahrefs.com/">Ahrefs</a>, and similar tools are a great starting point.</p><p>When doing keyword research across multiple languages, <strong>don’t assume that direct translations will perform well.</strong> A phrase that works in English might not carry the same meaning (or any meaning at all) in another language. That’s why it’s important to treat each language as its own search environment. </p><p>Focus on how people in each market naturally talk about your product or problem space, and base your keyword selection on real search behavior, not just translation. This avoids wasted effort and helps your content appear in the searches that actually drive traffic.</p><blockquote>🌐 Need to make your site multilingual? <a href="https://localazy.com/term/multilingual-search-engine-optimization">Localazy helps you automate translations at scale.</a> Perfect for teams that want full control without extra work.</blockquote><h3 id="step-4-apply-on-page-and-technical-multilingual-seo">Step 4 - Apply on-page and technical multilingual SEO <a class="markdownit-header-anchor" href="#step-4-apply-on-page-and-technical-multilingual-seo">🔗</a></h3><p>The next stage is to implement your multilingual SEO strategy and apply the keywords you've researched. This part can get fairly technical and time-consuming, especially if you're managing multiple languages, so it often makes sense to bring in multilingual SEO specialists.</p><p>Working with professionals means you'll have proper monitoring and reporting in place, along with ongoing adjustments as your site evolves.</p><p>They’ll also handle technical details like <strong>text expansion or contraction</strong>, something that matters a lot when translating meta titles and descriptions. Since these fields often have strict character limits, the translated version needs to stay within bounds without losing clarity or impact.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/11/SvgTranslations--2-.png" class="kg-image" alt loading="lazy" width="2000" height="1333" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/SvgTranslations--2-.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/SvgTranslations--2-.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/SvgTranslations--2-.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/11/SvgTranslations--2-.png 2400w" sizes="(min-width: 720px) 720px"></figure><h4 id="example-techniqueusing-the-hreflang-attribute">Example technique - using the <code>hreflang</code> attribute</h4><p>A key part of multilingual SEO is making sure that different language versions of your content are correctly recognized and served by search engines. One effective technique for this is using the <code>hreflang</code> attribute.</p><p>While translating your content is a strong move for organic growth, it's not just about cloning a page and swapping out the language. You need to clearly signal which version is meant for which audience. The <code>hreflang</code> attribute does exactly that. <strong>It tells search engines which language and regional version of a page to show users.</strong></p><p>Here’s a simple example:</p><pre><code>&lt; link rel="alternate" href="http://example.com/your-product" hreflang="en-us" /&gt;
&lt; link rel="alternate" href="http://example.de/beispielprodukt" hreflang="de-de" /&gt;
&lt; link rel="alternate" href="http://example.cz/vzorovy-produkt" hreflang="cs-cs" /&gt;</code></pre><p>Each version links back to the others, making the connection clear to crawlers and helping prevent duplicate content issues. If you skip this step, your translated pages might not perform as well in local search results.</p><p>There are many more aspects to consider which would fill a book of multilingual SEO techniques. <em>(Should we write one?)</em> But, if you don't have the time to dive deep into multilingual SEO, you should hire professionals in the field to help you implement everything correctly to get the most out of your multilingual content.</p><h3 id="you-might-also-like">📚 You might also like:  <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h3><ul><li>🧮 <a href="https://localazy.com/blog/pluralization-in-software-localization-beginners-guide">A beginner's guide to pluralization in software localization</a></li><li>🤖 <a href="https://localazy.com/blog/how-to-automate-the-entire-software-localization-process-from-development-to-translation-with-localazy">How to automate the entire software localization process from development to translation with Localazy</a></li><li>⚠️ <a href="https://localazy.com/blog/6-ways-software-localization-goes-wrong-when-youre-growing-fast">6 ways software localization goes wrong when you're growing fast</a></li></ul><h2 id="put-your-global-seo-strategy-into-motion">🚩 Put your global SEO strategy into motion <a class="markdownit-header-anchor" href="#put-your-global-seo-strategy-into-motion">🔗</a></h2><p>Going multilingual isn't just about translating a few pages. This guide walked through building a strategy, researching topics, finding the right keywords in each market, handling the technical side of SEO, and using tools like <code>hreflang</code> to make it all work. When done properly, multilingual SEO helps you grow organically in every region you target.</p><p>And when it’s time to scale, you’ll want tools that can keep up. Localazy fits right into your existing workflow with <a href="https://localazy.com/integrations">API integrations</a>, <a href="https://localazy.com/features/automations">automation features</a>, and a translation system that <a href="https://localazy.com/features/localazy-ai">combines AI speed </a>with human precision. It’s built to support continuous localization, so your multilingual content stays accurate, consistent, and always ready to rank.</p><p>Want to see how easy going multilingual can be? <a href="https://localazy.com/register">Start with Localazy</a>, and let your site or app grow global, one translation at a time.</p>]]></content:encoded>
            <author>Dan Martin</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/11/How-to-Localize-banner-ad.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Figma Localization Plugin, Screenshots and Public API]]></title>
            <link>https://localazy.com/blog/release-update-localization-figma-plugin-screenshots-public-api</link>
            <guid isPermaLink="false">release-update-localization-figma-plugin-screenshots-public-api</guid>
            <pubDate>Thu, 04 Jan 2024 10:26:54 GMT</pubDate>
            <description><![CDATA[The new release is here! We are excited to announce three highly anticipated and significant features that will definitely help you on your localization journey. ]]></description>
            <content:encoded><![CDATA[<p>Two of the features are aimed at helping you achieve a higher quality of <a href="/dictionary/translation">translation</a> and better context, and the third will help you integrate Localazy with (almost) anything!</p><p>Allow us to introduce the brand new Localazy Plugin for Figma, Context Screenshots, and Localazy Public API!</p><h2 id="localazy-plugin-for-figma">🖌️ Localazy Plugin for Figma <a class="markdownit-header-anchor" href="#localazy-plugin-for-figma">🔗</a></h2><p><a href="https://www.figma.com/">Figma</a> is a popular collaborative design tool that helps us get every team member involved in the design process of our product. Every new feature and page idea born in our heads is taking its first shape in Figma, and many product teams use Figma for this purpose as well.</p><p>We wondered how to help our users with the <a href="/dictionary/localization">localization</a> of their designs and came up with an idea to create the plugin for Figma.</p><p><a href="https://www.figma.com/community/plugin/964257457772706017/Localazy-Plugin">Localazy Figma Plugin</a> allows you to upload all the text content from a Figma file to Localazy, translate the content into as many languages as you want, and then download translated content back to Figma to create localized designs quickly.</p><h3 id="how-does-it-work">How does it work? <a class="markdownit-header-anchor" href="#how-does-it-work">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/image-9.png" class="kg-image" alt loading="lazy" width="960" height="316" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-9.png 600w, https://ghost.localazy.com/content/images/2021/11/image-9.png 960w" sizes="(min-width: 720px) 720px"><figcaption>Connect your project with Figma &amp; Localazy</figcaption></figure><p>With <a href="https://www.figma.com/community/plugin/964257457772706017/Localazy-Plugin">Figma &amp; Localazy</a>, you can quickly prototype and test the consistency of your design when new languages are introduced, translate banners and other pieces of visual content, and download translated strings to use them in your project.</p><p>Just select what you want to import and get your content transferred to Localazy and back in a few clicks.</p><p>Figma Plugin is available for all users on the <a href="/docs/general/localazy-autopilot-tier">Autopilot plan</a>. Learn more in the <a href="/docs/figma/plugin-introduction">documentation</a> or <a href="/contact">contact us</a> if you have any questions.</p><blockquote><strong>Read about <a href="/blog/6-super-useful-figma-plugins-product-designers-localazy">our favorite Figma plugins for product designers</a></strong></blockquote><h2 id="context-screenshots">📸 Context Screenshots <a class="markdownit-header-anchor" href="#context-screenshots">🔗</a></h2><p>Localazy now allows you to upload screenshots and link them to corresponding source keys within your project. Screenshots provide context for your translators to see how and where the source key is used and adjust the translation accordingly.</p><p>You can also tag screenshots to organize them better. Screenshots linked to a source key are then displayed to translators and reviewers to help them with context.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/image-11.png" class="kg-image" alt loading="lazy" width="2000" height="1505" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/image-11.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/image-11.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/11/image-11.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Context Screenshots</figcaption></figure><h3 id="screenshots-ocr">Screenshots OCR <a class="markdownit-header-anchor" href="#screenshots-ocr">🔗</a></h3><p>We don't call ourselves Loca<strong>lazy </strong>just for giggles. We believe that managing translations shouldn't be a full-time job, but linking screenshots manually each time you upload them can be tedious. Well, the purpose of Localazy is to hand over tasks that can be automated.</p><p>Localazy will do most of the work for you, thanks to the magic of OCR (Optical Character Recognition) technology. Once you upload a screenshot, we scan it for strings that match your source keys and pre-select everything we can find. All you have to do then is approve the links. Thus, you can automate the search for strings but still retain complete control over the links.</p><blockquote><strong>Learn more about <a href="/docs/general/screenshots">Context Screenshots and OCR in the documentation</a>.</strong></blockquote><h2 id="localazy-public-api-beta">🕹️ Localazy Public API (beta) <a class="markdownit-header-anchor" href="#localazy-public-api-beta">🔗</a></h2><p>We are happy to introduce a new way of integrating your projects with Localazy - the <a href="/docs/api/introduction">Localazy Public API</a>. You can connect any CMS or other server-run application, import content to Localazy, and fetch translated content back. Using the API is perfect when the <a href="/docs/cli/the-basics">Localazy CLI</a> and our prepared <a href="/integrations">integrations</a> just don't cut it.</p><p>Connecting your project with Localazy via the Localazy (REST) API is pretty straightforward. The API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.</p><p>🔌 Currently, available API endpoint options are:</p><ul><li>List details of the project</li><li>Import content to a project</li><li>Retrieve a list of available file types</li><li>Retrieve a list of files in the project</li><li>Retrieve a list of keys and translations from a file</li></ul><p>To get started, <a href="/docs/api/introduction">read the documentation</a> and let us know what you think about the new API in the comments below!</p><blockquote><strong>Learn more about <a href="/docs/api/introduction">Localazy API in the documentation</a></strong></blockquote><h2 id="fresh-from-the-oven">🥧 Fresh from the oven <a class="markdownit-header-anchor" href="#fresh-from-the-oven">🔗</a></h2><p>Below, you will find various updates that don't directly affect how Localazy works, but we are happy that we have added them. </p><h3 id="blog-comments">Blog comments <a class="markdownit-header-anchor" href="#blog-comments">🔗</a></h3><p>Yes, we now have comments on the blog! We have decided to connect our discussion forum with the blog to enable our users to comment directly on our content. We are looking forward to hearing your thoughts!</p><p>🗨️ Make sure to sign up for our <a href="https://discuss.localazy.com/">discussion forum</a> and leave us a comment! :)</p><h3 id="new-documentation-design-and-search">New documentation design & search <a class="markdownit-header-anchor" href="#new-documentation-design-and-search">🔗</a></h3><p>Navigating in the documentation should be easier now, thanks to the updated layout and the new search function, which allows you to jump from topic to topic seamlessly.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/image-13.png" class="kg-image" alt loading="lazy" width="762" height="533" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-13.png 600w, https://ghost.localazy.com/content/images/2021/11/image-13.png 762w" sizes="(min-width: 720px) 720px"><figcaption>New documentation search</figcaption></figure><p>Visit the <a href="/docs/general">documentation</a> now to see it in action!</p><h3 id="active-tier-indicator">Active tier indicator <a class="markdownit-header-anchor" href="#active-tier-indicator">🔗</a></h3><p>To help you keep track of your source key limit, available credits, and active tier, we have added a status bar with all the vital information in one place. You will find this bar above the left menu inside Localazy. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/image-14.png" class="kg-image" alt loading="lazy" width="640" height="560" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-14.png 600w, https://ghost.localazy.com/content/images/2021/11/image-14.png 640w"><figcaption>Active tier &amp; Localazy service status</figcaption></figure><h2 id="minor-fixes-and-tweaks">🔧 Minor fixes and tweaks <a class="markdownit-header-anchor" href="#minor-fixes-and-tweaks">🔗</a></h2><ul><li>LOC-3699 - Added ability to upload/download only selected parts of a document in Figma</li><li>LOC-3311 - Fixed save button logic in source translation edit/file management</li><li>LOC-3343 - Renamed "app" to "project" everywhere on the platform</li><li>LOC-3522 - Improved support for API files in File management</li></ul>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/11/release.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview with the co-founder of Sumio - the personal finance app]]></title>
            <link>https://localazy.com/blog/sumio-personal-finance-app-fiduciary-labs-localazy-interview</link>
            <guid isPermaLink="false">sumio-personal-finance-app-fiduciary-labs-localazy-interview</guid>
            <pubDate>Wed, 14 Dec 2022 23:04:08 GMT</pubDate>
            <description><![CDATA[In today's interview, we asked Lukáš, the co-founder at Fiduciary Labs, a Czech startup developing a FinTech mobile application called Sumio, aimed at helping its users manage their personal finance.]]></description>
            <content:encoded><![CDATA[<h2 id="introduction-what-is-sumio">❓ Introduction: What is Sumio? <a class="markdownit-header-anchor" href="#introduction-what-is-sumio">🔗</a></h2><p><strong>Hi Lukáš, thank you for your time. Let's talk about your app Sumio; can you introduce it to our readers?</strong></p><p><a href="https://sumio.app/en/?ref=localazy">Sumio</a> can answer some of the key questions regarding personal finance – what is my net worth, how does it change over time, how are my assets and liabilities allocated. We intend to provide users with a clear picture of their finances. </p><p>The app is private and secure by default – we do not collect personal information, we do not track users, all entered user data stay on the user device. The app automatically converts values in different currencies to the chosen default currency based on current foreign exchange rates and automatically provides market values for stocks and crypto-assets. </p><p>We want Sumio to be an easy-to-use and comfortable app for "DIY" financial planning. That is why we developed it with a focus on privacy and automation.</p><p><strong>Who are your users? Who can benefit from Sumio?</strong></p><p>️I believe anyone who wants to take care of their money. Anyone who doesn't want to rely on banks or financial advisors for financial planning. I think users who do or have already tried to do some financial planning and track their net worth, assets, and liabilities can benefit from using the app right now.</p><p>When I started to design the app, I was thinking about people who have financial goals and are looking for a way to achieve them, and Sumio is an app primarily for them.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/10/image.png" class="kg-image" alt loading="lazy" width="800" height="700" srcset="https://ghost.localazy.com/content/images/size/w600/2021/10/image.png 600w, https://ghost.localazy.com/content/images/2021/10/image.png 800w" sizes="(min-width: 720px) 720px"><figcaption>Sumio: Keep track of your Net Worth.</figcaption></figure><p><strong>What is your product's vision?</strong></p><p>We are currently in the beta stage of the first version of the app, and I must say it is a first humble step toward our vision for the app as the "DIY" Financial Planner. There is so much more I want to implement in the app. Starting with more data to help users automatically get market values for different kinds of assets, financial calculators, and educational content.</p><p><strong>That's ambitious, and we wish you success. Could you tell us how your product is funded?</strong></p><p>We are currently running on our savings from previous ventures. Our business model is based on premium subscription, and we will use the income for further development of the app. </p><p>We will also consider presenting Sumio to potential investors when we feel it is the right time. But first, I think it is essential to undergo this "baptism by fire" – get users, collect feedback, get the experience with running the app for some time in different markets.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/10/image-4.png" class="kg-image" alt loading="lazy" width="2000" height="1429" srcset="https://ghost.localazy.com/content/images/size/w600/2021/10/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/10/image-4.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/10/image-4.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/10/image-4.png 2400w" sizes="(min-width: 720px) 720px"></figure><p><strong>What is Sumio's unique value proposition that sets it apart from its competitors? In which fields are you innovating?</strong></p><p>Sumio is like a health app for finance. We want to provide users with a private and easy-to-use tool to organize and plan their finances. Independent from banks and other financial institutions or advisors.</p><p>As I said, the app is privacy-focused, with no tracking, no ads, no personal data sharing. We want to be innovative in financial analysis and planning and provide independent market data and educational content to help our users manage their money.</p><p><strong>What are the next steps and future plans for Sumio?</strong></p><p>We will launch the first version of the app in selected markets and get users' feedback. We then plan to continuously add new features to fulfill its mission to become a comprehensive tool for DIY financial planning. Our future plan is to get collaborators worldwide who help us with content for different markets.</p><p><strong>What type of content do you have in mind? Financial advice, market analyses, and such?</strong></p><p>We want to publish content that would explain different approaches to money management, savings, and investing. I think the financial industry is pretty much focused on selling products, and it is not easy to get unbiased advice or help regarding money. I believe this is an opportunity for us and other FinTech companies.</p><h2 id="talking-about-business">🛋️ Talking about business <a class="markdownit-header-anchor" href="#talking-about-business">🔗</a></h2><p><strong>What does success look like for your company?</strong></p><p>We are self-sufficient, constantly developing our product and delivering value to our users.</p><p>I know it sounds pretty general, but this is how I see it. Having a few hundred users who would pay for our premium subscription would mean we are on a good path to make it. </p><p><strong>Could you tell us more about your other/previous projects?</strong></p><p>I've been working as a project manager and helping companies with the execution of their strategies. I have experience working primarily for banks and software companies as an employee, freelancer, or a company (<a href="https://lukylab.com/">LukyLab</a>).</p><p>But I also dedicated quite a lot of my time to non-profit projects and science communication. My business partner is an attorney at law and runs a successful law office. We have known each other for more than a decade. We both have previous experience with startups and have been helping clients with establishing their businesses and developing their products.</p><p><strong>What are the most significant risks &amp; challenges for your company?</strong></p><p>I think the biggest challenge for us is to find the balance in terms of the complexity of the app – its features, value for the user, and usability at the same time. I guess the most challenging job for any startup is to find the "market fit."</p><p>And regarding the risks, well, we will distribute the app through app stores which means we rely on Apple and Google and their policies toward developers like us.</p><p><strong>Do you think the drive for entrepreneurship is something people are born with or not, or is it something that can be taught?</strong></p><p>I think anyone can learn the basic principles of business. You don't have to be born with some special drive for entrepreneurship to start your own venture, create and build "stuff."</p><p><strong>What is the primary driver that motivates you to keep taking on your business ventures? And: Did your motives change over the years?</strong></p><p>I have ideas and visions of how "things" around me could work, and I like the process of creating and building. I also have some personal beliefs and preferences about life and work. So far, the only way to achieve at least some of that was to become an entrepreneur. I think my motives have not changed much over the years.</p><p><strong>What do you think – how will your industry look like in about ten years from now?</strong></p><p>I think working remotely in "virtual" companies consisting of team members from all around the world will become a standard in the tech industry and startups in general.</p><p><strong>We can fully agree with this, as the Localazy team is entirely remote, and we only meet in person occasionally </strong>😄.<strong> Anyway, if you could start again with Sumio, what would you do differently from today's perspective?</strong></p><p>I would focus on better planning of development and more user testing of the prototypes.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/10/image-5.png" class="kg-image" alt loading="lazy" width="1600" height="1200" srcset="https://ghost.localazy.com/content/images/size/w600/2021/10/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/10/image-5.png 1000w, https://ghost.localazy.com/content/images/2021/10/image-5.png 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="helpful-services-and-tools">🕹️ Helpful services and tools <a class="markdownit-header-anchor" href="#helpful-services-and-tools">🔗</a></h2><p><strong>Would you like to highlight some services or products you really like to use for development of Sumio?</strong></p><p>We decided to use <strong><a href="/flutter">Flutter</a> </strong>to develop the app, as it enables us to have Sumio both for <a href="/ios">iOS</a> and <a href="/android">Android</a> from the same codebase. It is great we can use ready-made packages and plugins and save coding time. I just wish there would be some plugin for Flutter in Figma to generate widgets right from the designs in Figma.</p><blockquote>Try the <a href="https://www.figma.com/community/plugin/964257457772706017"><strong>Localazy Figma</strong> <strong>plugin</strong></a><strong> </strong>to translate your content already in the design phase. For more information, see <a href="/docs/figma/plugin-introduction">the documentation</a>.</blockquote><p>We use <strong>Codemagic </strong>for <a href="/dictionary/continuous-integration/">CI/CD</a>, and it simplified the releases of new versions of the app to app stores.</p><p>We also integrated the app with <strong>RevenueCat </strong>for the management of subscriptions since that can be tricky. RevenueCat provides excellent analytics for the subscription business model and works in a private mode, which is a must for our app.</p><p>And of course, we use <strong>Localazy</strong>, which enables us to make the app multilingual. And well, I can't imagine doing translations now without Localazy. 🤩</p><blockquote>Find out <a href="/testimonials">why developers 😍 love Localazy</a>! </blockquote><p>The Localazy workflow is straightforward to learn, and I appreciate that I can use the tool to manage collaborators. There are currently three contributors, and I plan to add more. With Localazy, I feel confident adding more collaborators since it makes it easy for me to supervise the translations and control the whole translations process.</p><blockquote>Learn how to <a href="/blog/unique-review-process-and-self-managed-translations">manage contributors and review translations</a> in Localazy</blockquote><p><strong>What is your motivation for localization? Why did you choose Localazy?</strong></p><p>The plan is to make Sumio a global product – make it available in major markets in the local languages, so it is accessible to a broad audience. We are trying to automate work as much as possible, and with Localazy, it was a swift and easy decision. I got a personal reference, the integration was easy, and I was able to set up the workflow and start with translations quickly.</p><p><strong>What languages are you considering to support when you launch?</strong></p><p>We will start with English and Czech languages, and we plan to launch Sumio in just a few markets first. We have already begun with translations into French, German, Spanish, Polish, and others, but we will add these later.</p><blockquote>⚠️ Don't have time to translate your projects on your own? <a href="/my/virtual-translator">Order translations</a> in the <a href="/my/marketplace">Localazy Marketplace</a> and allow our <a href="/docs/general/continuous-localization-team">Continuous Localization Team</a> to translate your project automatically and proactively. </blockquote><p><strong>Well, I think this was a comprehensive interview, and we covered everything. Thank you very much and good luck on your path!</strong></p><h2 id="useful-links">✔️ Useful Links <a class="markdownit-header-anchor" href="#useful-links">🔗</a></h2><p>Connect with Lukáš on LinkedIn: <a href="https://www.linkedin.com/in/lukassoukup/">https://www.linkedin.com/in/lukassoukup/</a></p><p>Download Sumio Beta for free: <a href="https://sumio.app/en/beta/">https://sumio.app/en/beta/</a></p><p>Fiduciary Labs website: <a href="https://www.fiduciarylabs.com/cs/">https://www.fiduciarylabs.com/</a></p><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/my/community">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/my/community">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Interview-Sumio.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Download target Release tag with GitHub actions]]></title>
            <link>https://localazy.com/blog/download-target-release-tag-with-gh-actions</link>
            <guid isPermaLink="false">download-target-release-tag-with-gh-actions</guid>
            <pubDate>Thu, 16 Apr 2026 14:34:41 GMT</pubDate>
            <description><![CDATA[Don't do it manually all the time. Do it once and no more. Automate.]]></description>
            <content:encoded><![CDATA[<p>At Localazy we aim to provide you with as many flexible tools as possible to build your own <a href="/dictionary/continuous-integration">CI/CD</a> workflows. When used properly, these tools can help you to fully automate the management of your localization resources from your code to Localazy and back. The biggest advantages? More time for you to focus on things that actually matter and fewer faulty moves at the same time.</p><h2 id="use-release-tags-localazys-github-action">🏷️ Use Release tags Localazy's GitHub action <a class="markdownit-header-anchor" href="#use-release-tags-localazys-github-action">🔗</a></h2><p>One of our most favorite ways of automating workflows is GitHub actions. For a general introduction, you can read our dive-in article <a href="/blog/automated-localization-github-actions-localazy">here</a>. In this article, you're going to learn about our latest addition to Localazy's <a href="https://github.com/marketplace/actions/localazy-download">download GH action</a> - the ability to use <strong>Release tags</strong>.</p><p>Release tags work pretty much like tags on Github, Gitlab, or Docker. They allow you to mark the state of your Localazy app, preserving the translations and translation progress at the given time. This is super useful, for instance, when you use different branches for production, testing, and development. </p><p>You can preserve translations for production for as long as you are preparing a new release and only once you publish it, you start using the latest translations as well. </p><blockquote>You can read more about <a href="/docs/general/release-tags-add-on">Release tags in the documentation</a>.</blockquote><h2 id="show-me">👀 Show me <a class="markdownit-header-anchor" href="#show-me">🔗</a></h2><p>Alright, I'll show you. </p><pre><code class="language-yaml">### .github/workflows/localazy.yaml

name: Localazy
on: 
  push:
    branches: [ main, develop ]
jobs:
  release-tag:
    name: Download release tag
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: localazy/download@v1
        with:
          release_tag: ${{ github.ref == 'refs/heads/main' &amp;&amp; 'production' || 'staging' }}
      - uses: actions/upload-artifact@v2
        with:
          name: locales
          path: src/locales/*
</code></pre><p> In the example above, in a file <code>.github/workflows/localazy.yaml</code>, we're defining a GH with a single job <code>release-tag</code>.  In it, <code>localazy/download</code> action is invoked with a single argument - <strong>release_tag</strong>. As you can see, I'm using a neat trick that checks whether we are running this action on <em>main</em> branch or not - if yes, we'll download localization resources that are tagged <strong>production</strong>, otherwise we'll download everything under<strong> staging.</strong></p><blockquote>This configuration presumes you have access to release tags through a <strong>professional plan</strong>, and <strong>production</strong> and <strong>staging</strong> tags exist in your app.</blockquote><p>In order to quickly check what was downloaded, I also added action for uploading gathered artifacts. That way you can check the result of the download action right in Github's interface (in the Actions tab). Just make sure you properly define the path to gather all your localization files (<strong>src/locales/*</strong> would gather everything in the <em>src/locales folder). </em>And that's it.</p><h2 id="closing-words">✔️ Closing Words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>This was a quick introduction to how you can utilize the power of release tags with GH actions. As you can see, it's pointless doing any of that manually when you can automate it 😊. Check out the sample <a href="https://github.com/localazy/localazy-gh-action-release-tags-example">repo</a> for reference. Happy coding!</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/10/Github-download-release-tag-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview: Hermit, the lite apps browser for Android]]></title>
            <link>https://localazy.com/blog/interview-hermit-lite-apps-browser-android-localazy</link>
            <guid isPermaLink="false">interview-hermit-lite-apps-browser-android-localazy</guid>
            <pubDate>Wed, 14 Dec 2022 23:04:54 GMT</pubDate>
            <description><![CDATA[Hermit is a lite apps browser for Android, developed and maintained by Manas T., who joins us for an interview about his product, and tells us why he chose Localazy.]]></description>
            <content:encoded><![CDATA[<p>In this interview, we will talk about <a href="https://play.google.com/store/apps/details?id=com.chimbori.hermitcrab"><strong>Hermit </strong>• <strong>Lite Apps Browser</strong></a><strong> for Android</strong> with its creator Manas T. from <a href="https://chimbori.com/">Chimbori.com</a>.</p><h2 id="what-is-hermit">🐚 What is Hermit? <a class="markdownit-header-anchor" href="#what-is-hermit">🔗</a></h2><p>🟦 <strong>Hi Manas, thank you for joining us! Could you please tell us, what is Hermit, exactly?</strong></p><p>Hermit makes web apps appear like native apps on <a href="/android">Android</a>. It's designed with privacy in mind; many native Android apps these days incorporate all sorts of trackers that detect and upload personal information to third parties. There are no system-wide controls on app-based tracking. In addition, native apps are allowed to run in the background and collect information that way as well.<br></p><p>🟦 <strong>Why should users choose Hermit over native apps?</strong></p><p>Web apps are much safer, especially with a Content Blocker that can stop all such trackers and background activity. Instead of using a regular browser, you can use Hermit; a browser designed explicitly for Lite Apps,  which provides deep integration with Android. </p><p>Hermit Lite Apps look and work like native Android apps. E.g., when you try to open a link for an app that already exists, other browsers open a new tab each time, while Hermit will bring up the already-opened Lite App in its own separate window.</p><p>Hermit also offers the Sandbox feature, where you can have multiple browser profiles active simultaneously with different accounts in each profile.</p><p>This way, you can separate your Work account from your Personal account, use multiple social accounts at the same time, and also have better privacy because each sandbox is entirely separate from all the others.<br></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/10/image-8.png" class="kg-image" alt loading="lazy" width="646" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2021/10/image-8.png 600w, https://ghost.localazy.com/content/images/2021/10/image-8.png 646w"></figure><p>🟦 <strong>Can you think of example use cases when the lite app is far better than the in-browser version?</strong></p><p>Absolutely!</p><ul><li>Any website that you use pretty often is a good candidate for a Lite App in Hermit. When you open links, they will directly open Hermit instead of your default browser.</li><li>Sites where you need to log in are great candidates for Lite Apps because, in Hermit, you can create <strong>separate profiles &amp; use multiple accounts</strong> at the same time.</li><li>Hermit can help protect you from websites that are notorious for tracking you. Sometimes you may have no alternative but to use these apps to keep in touch with friends or family, but now you can do it without compromising your own safety and privacy.<br></li></ul><p>🟦 <strong>That sounds promising; who are typical users of Hermit?</strong></p><p>Power users who want to use Web Apps as first-class citizens on Android. Most of our users are privacy-conscious advanced users who know and understand how the modern web can be a bad experience, privacy-wise. </p><p>As you know, Hermit itself has <strong>absolutely no advertising or personal information tracking</strong> in the app itself, and the product is built based on support from user purchases. Our users prefer this business model to buy the app directly from us instead of expecting a free app monetized via other means.<br></p><p>🟦 <strong>How exactly does Hermit work? Is it like a catalog of apps, or you can convert almost any web app into a native-like experience?</strong></p><p>Both! For convenience, we provide a curated library of Lite Apps. For many of these apps, we have hand-customized the settings to give the best experience. E.g., Hermit supports searching across a site by integrating the website's search functionality: all our Library Lite Apps include this configuration in it when you install them from the Library.</p><p>But of course, there are billions and billions of websites out there that would benefit from Hermit, so you can create any Lite App simply by typing the URL or search query.</p><p>🟦 <strong>What is Hermit • Lite Apps Browser's unique value proposition that sets it apart from its competitors? In which fields are you innovating?</strong></p><p>Here are a few features that are unique to Hermit:</p><ul><li><a href="https://hermit.chimbori.com/features/sandbox">Sandboxed Containers</a></li><li>Per-Site Settings</li><li>Notifications from RSS and Atom feeds</li><li>Web Monitors</li><li>Sharing from anywhere directly to a Web App</li></ul><p>Features in Hermit that other browsers apps also have</p><ul><li>Reader mode</li><li>Dark mode</li><li>Full-screen mode</li><li>Bookmarklets / Scriptlets support</li><li>Integrated Ad Blocker</li><li>Malware Blocker</li></ul><p>For more details, you can look at this <a href="https://hermit.chimbori.com/features/compare">handy comparison chart</a> comparing Hermit to other browsers.</p><h2 id="talking-about-business">🛋️ Talking about business <a class="markdownit-header-anchor" href="#talking-about-business">🔗</a></h2><p>🟦 <strong>What is the end goal for Hermit? What's your vision?</strong></p><p>The best-case scenario would be to replace traditional browsers for everything except one-off links. 😎 But right now, the goal is to sustain the ongoing revenue and becoming the best-in-class product in our niche.</p><p>🟦 <strong>How is your product funded?</strong> <strong>Do you have investors?</strong></p><p>We are currently self-funded, and there are no plans to apply for funding. We want to continue to be self-funded for the foreseeable future.</p><p>🟦 <strong>What are the biggest risks &amp; challenges for Hermit?</strong></p><p>Several million users have downloaded Hermit over the last six years. A larger competitor or platform implementing all core features of our app as part of the OS or OEM Android distribution would probably hurt our business. And we've always thought that the manufacturers could bake the features we offer into a browser. We would, in fact, encourage that because our mutual users would see immediate benefits with improved privacy. It seems less and less likely, though.</p><p>🟦 <strong>If you could start again with Hermit, what would you do differently from today's perspective?</strong></p><p>Invest early in user education to inform users of its abilities and benefits. </p><p>🟦 <strong>What are the next steps and plans for Hermit?</strong></p><p>Keep building new features, trimming away unused features, etc.</p><p>🟦 <strong>Do you think the drive for entrepreneurship is something people are born with or not, or is it something that can be taught?</strong></p><p>Easily taught but needs to be channeled and mentored. The person should have the innate desire to pursue their passion.</p><p>🟦 <strong>What is your main driver that motivates you to keep taking on your business ventures? And: Did your motives change over the years?</strong></p><p>Personal enjoyment at tackling hard technical problems as a side project, apart from my day job.</p><p>🟦 <strong>What do you think – how will your industry look like in about 10 years from now?</strong></p><p>Not much different from today, but hoping for fewer gatekeepers and more entrepreneurs.</p><p>🟦 <strong>Do you have any other projects worth mentioning?</strong></p><p>We have a couple of interesting projects in the pipeline, and we plan to share more soon! At this time, there's nothing new to announce.<br></p><h2 id="why-localazy">🚩 Why Localazy? <a class="markdownit-header-anchor" href="#why-localazy">🔗</a></h2><p>🟦 <strong>What is your motivation for localization? Why did you choose Localazy?</strong></p><p>Our users come from all over the world. We want to reach them in their language, so they can make the most use of our app.</p><p>Not only is <a href="/dictionary/localization">localization</a> good for business, but it's also important to make innovative new applications available to all our users around the world.</p><p>Localazy has been a fantastic upgrade from <a href="/oneskyapp-alternative">OneSky</a>. It's easy, usable, and from a productivity perspective, it is a huge, huge improvement. </p><p>And <a href="/features/share-tm">ShareTM</a> is a game-changer that allows us to get translations immediately. Also, with our previous localization platform, we had to wait until releasing a new version before any newly translated strings were available to users.</p><blockquote>Localazy ShareTM is a community-based pro-active translation memory that translates portion of your project automatically to new languages.</blockquote><p>🟦 <strong>Manas, thank you very much for your time and good luck!</strong></p><h2 id="useful-links">✔️ Useful Links <a class="markdownit-header-anchor" href="#useful-links">🔗</a></h2><ul><li><a href="https://chimbori.com/">Visit the Chimbori website</a></li><li><a href="https://play.google.com/store/apps/details?id=com.chimbori.hermitcrab">Download Hermit • Lite Apps Browser for Android</a></li></ul><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/my/community">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/my/community">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote><p></p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/12/Interview-Chimbori.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy Release Tags management with GitHub Actions]]></title>
            <link>https://localazy.com/blog/release-tags-management-github-actions</link>
            <guid isPermaLink="false">release-tags-management-github-actions</guid>
            <pubDate>Thu, 16 Apr 2026 14:32:21 GMT</pubDate>
            <description><![CDATA[Release Tags are a great way of managing differing states of your translation. E.g., you can use one tag for production while another for the testing environment. To make things easier, it's now possible to automate this process with GitHub actions.]]></description>
            <content:encoded><![CDATA[<p>We already support automated <a href="https://github.com/marketplace/actions/localazy-upload">uploads</a> and <a href="https://github.com/marketplace/actions/localazy-download">downloads</a> with GitHub Actions for some time. For a general dive-in into the basic usage of Localazy's GitHub actions, check out our <a href="/blog/automated-localization-github-actions-localazy">previous article</a>. Today, we're going to look at how we can take this automation one step further.</p><blockquote>Read the article: <a href="/blog/automated-localization-github-actions-localazy">Automated Localization: GitHub Actions ❤ Localazy</a></blockquote><h2 id="what-are-release-tags">🏷️ What are release tags? <a class="markdownit-header-anchor" href="#what-are-release-tags">🔗</a></h2><p>Release tags work pretty much like tags on <strong>GitHub</strong>, <strong>GitLab</strong>, or <strong>Docker</strong>. They allow you to mark the state of your Localazy app, preserving the translations and translation progress at the given time, which is super helpful, for instance, when you use different branches for production, testing, and development.</p><p>You can preserve translations for production for as long as you are working on a new release, and only once you publish it, you start using the latest translations as well. </p><blockquote>You can read more about Release tags in the <a href="/docs/general/release-tags-add-on">documentation</a>.</blockquote><h2 id="a-comprehensive-overview">📚 A comprehensive overview <a class="markdownit-header-anchor" href="#a-comprehensive-overview">🔗</a></h2><p>In the lines below, you'll find a comprehensive overview of everything Localazy's <a href="https://github.com/marketplace/actions/localazy-tag">Tag</a> action can do for you. All the options are based on the capabilities of Localazy CLI.</p><blockquote>Check out related <a href="/docs/cli/release-tags">documentation</a> to read about every option in greater detail.</blockquote><p>To run a GH action, you need to create a YAML file in <code>.github/workflows</code> in your code. Each example represents a single step of a complete custom workflow. You can skip to see the <a href="#full-worklow">full workflow</a> to see the whole configuration.</p><blockquote>The following paragraphs presume you have access to Release tags through an active <strong><a href="/docs/general/localazy-professional-tier">professional plan</a></strong> and you have integrated Localazy in your code (there are write and read keys in either <code>localazy.json</code> or <code>localazy.keys.json</code>)</blockquote><h3 id="list-tags">List tags <a class="markdownit-header-anchor" href="#list-tags">🔗</a></h3><p>This lists all the tags associated with your application.</p><pre><code class="language-yaml">      - name: List tags
        uses: localazy/tag@v1
        with:
          list: true</code></pre><h3 id="publish-tag">Publish tag <a class="markdownit-header-anchor" href="#publish-tag">🔗</a></h3><p>This command saves the current state of your app under a given <code>new-tag</code> name.</p><pre><code class="language-yaml">      - name: Publish new-tag
        uses: localazy/tag@v1
        with:
          publish: 'new-tag'</code></pre><h3 id="promote-tag">Promote tag <a class="markdownit-header-anchor" href="#promote-tag">🔗</a></h3><p>Replaces the target tag, <code>new-tag-2</code>, with the state of the <code>new-tag</code>. </p><pre><code class="language-yaml">      - name: Promote new-tag
        uses: localazy/tag@v1   
        with:
          promote_from: 'new-tag'
          promote_to: 'new-tag-2'</code></pre><h3 id="rename-tag">Rename tag <a class="markdownit-header-anchor" href="#rename-tag">🔗</a></h3><p>Simply renames the target tag.</p><pre><code class="language-yaml">      - name: Rename new-tag
        uses: localazy/tag@v1   
        with:
          rename_from: 'new-tag'
          rename_to: 'renamed-tag'</code></pre><h3 id="merge-tags">Merge tags <a class="markdownit-header-anchor" href="#merge-tags">🔗</a></h3><p>Merging tags allows you to apply translations from the source tag to the target tag. The result of the operation is stored as the output tag. Several optional parameters alter what kind of changes are applied.</p><blockquote>Check out the <a href="/docs/cli/release-tags#merging-and-manipulating-tags">documentation</a> for a complete overview.</blockquote><p>In this example, we merge state of the <code>renamed-tag</code> into <code>new-tag-2</code> and save the output under a new <code>merged-tag</code>. On top of that, we added a single parameter <code>--add-languages</code> which adds any missing language to the target tag if the source tag contains any additional languages.</p><pre><code class="language-yaml">      - name: Merge tag
        uses: localazy/tag@v1   
        with:
          merge_from: 'renamed-tag'
          merge_to: 'new-tag-2'
          merge_output: 'merged-tag'
          merge_parameters: '--add-languages'</code></pre><h3 id="delete-tag">Delete tag <a class="markdownit-header-anchor" href="#delete-tag">🔗</a></h3><p>Lastly, this command deletes an existing tag.</p><pre><code class="language-yaml">      - name: Delete renamed-tag
        uses: localazy/tag@v1   
        with:
          delete: 'renamed-tag'</code></pre><h2 id="full-workflow">🗃️ Full workflow <a class="markdownit-header-anchor" href="#full-workflow">🔗</a></h2><p>When this workflow successfully finishes, it will leave your app in the same state as before since the config will delete all the newly created tags at the end. Feel free to create a new testing project and try it out.</p><pre><code class="language-yaml">### .github/workflows/locales.yml

on: [push]

jobs:
  release_tags:
    runs-on: ubuntu-latest
    name: Complex overview of tags management
    steps:
      - uses: actions/checkout@v1
      - name: List tags
        uses: localazy/tag@v1
        with:
          list: true
      - name: Publish new-tag
        uses: localazy/tag@v1
        with:
          publish: 'new-tag'
      - name: Publish new-tag-2
        uses: localazy/tag@v1   
        with:
          publish: 'new-tag-2'
      - name: Promote new-tag
        uses: localazy/tag@v1   
        with:
          promote_from: 'new-tag'
          promote_to: 'new-tag-2'
      - name: Rename new-tag
        uses: localazy/tag@v1   Q
        with:
          rename_from: 'new-tag'
          rename_to: 'renamed-tag'
      - name: Merge tag
        uses: localazy/tag@v1   
        with:
          merge_from: 'renamed-tag'
          merge_to: 'new-tag-2'
          merge_output: 'merged-tag'
          merge_parameters: '--add-languages'
      - name: Delete renamed-tag
        uses: localazy/tag@v1   
        with:
          delete: 'renamed-tag'
      - name: Delete merged-tag
        uses: localazy/tag@v1   
        with:
          delete: 'merged-tag'
      - name: Delete new-tag-2
        uses: localazy/tag@v1   
        with:
          delete: 'new-tag-2'</code></pre><h2 id="closing-words">✔️ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>This was a comprehensive overview of what you can do with Github actions and Localazy's Release Tags. You may checkout the sample <a href="https://github.com/localazy/localazy-gh-action-tags-example">repo</a> for reference. Happy coding!</p><h3 id="you-might-also-like">You might also like  <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h3><ul><li><a href="/blog/productive-mobile-developers-love-bitrise-localazy">Why productive (mobile) developers choose Bitrise for CI/CD</a></li><li><a href="/blog/true-continuous-localization-localazy">What is a True Continuous Localization by Localazy</a></li><li><a href="/blog/automated-localization-github-actions-localazy">Automated Localization: GitHub Actions ❤ Localazy</a></li></ul>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/10/Github-release-tags-management--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Why productive (mobile) developers choose Bitrise for CI/CD]]></title>
            <link>https://localazy.com/blog/productive-mobile-developers-love-bitrise-localazy</link>
            <guid isPermaLink="false">productive-mobile-developers-love-bitrise-localazy</guid>
            <pubDate>Wed, 13 Oct 2021 11:39:47 GMT</pubDate>
            <description><![CDATA[Many tools and platforms aim to help software developers set up and automate their workflows and achieve continuous integration and delivery of their products. You may have heard about one of them, which is Bitrise.io.]]></description>
            <content:encoded><![CDATA[<p>In this article, we will tell you why we think Bitrise is the platform to choose as a mobile developer looking for the best CI/CD solution and how Localazy fits in.</p><h2 id="bitrise-is-better-than-jenkins-heres-why">⚖️ Bitrise is better than Jenkins; here's why <a class="markdownit-header-anchor" href="#bitrise-is-better-than-jenkins-heres-why">🔗</a></h2><p>There are several areas where Bitrise will outperform Jenkins and other similar self-managed CI solutions. <a href="https://devcenter.bitrise.io/getting-started/migrating-to-bitrise/migrating-from-jenkins-to-bitrise/">Migrating your app from Jenkins to Bitrise</a> will shift the responsibility from your team to the Bitrise platform, helping you increase:</p><ul><li><strong>Productivity: </strong>On Bitrise, there is <strong>no need for dedicated engineers</strong> to install dependencies, troubleshoot issues, maintain the CI or the hardware.</li><li><strong>Consistency: </strong>Treating CI configuration as code makes it easy to manage and share across the mobile teams. Customer secrets and all their sensitive information are stored in an encrypted database.</li><li><strong>Efficiency: </strong>Bitrise helps you eliminate redundancy and reduce risk by handling everything on virtual machines — there is no need to manage user permissions across multiple tools and platforms.</li></ul><h3 id="setting-up">⚙️ Setting up <a class="markdownit-header-anchor" href="#setting-up">🔗</a></h3><p>Bitrise treats repositories as projects (whether it's native or cross-platform). Since Bitrise is a fully managed platform as a service, there's no need to waste time setting up the infrastructure. Setup, administration, and configuration are quick and straightforward.</p><p>On the other hand, Jenkins CI, plugins, and any additional functionality need to be set up and maintained manually. Plugins and best practices are not coherent syntactically and methodically.</p><p>With Bitrise, your configs are available as .yml files, and you can edit them in the GUI with simple drag and drop. On top of that, Bitrise offers over 300 integrations with all the popular tools out of the box - including Localazy!</p><h3 id="maintenance">🔧 Maintenance <a class="markdownit-header-anchor" href="#maintenance">🔗</a></h3><p>Bitrise supports all types of native and cross-platform projects, unlike Jenkins, which requires engineers to maintain machines and individual plugins. Bitrise also allows you to choose any version of Xcode you want, with new releases being fully supported within 48 hours. You can always switch from one tech stack version to another with one click (such as from macOS Catalina to BigSur).</p><p>With Bitrise, you can also choose when to upgrade or downgrade the versions of Steps/Integrations and stack versions with a couple of clicks. When using Jenkins, you can't roll back once you upgrade something.</p><h3 id="performance">🚀 Performance <a class="markdownit-header-anchor" href="#performance">🔗</a></h3><p>Bitrise offers <a href="https://www.bitrise.io/pricing">different plans for specific needs</a>. When using Jenkins, the performance is dependent on the efficiency of plugins, which need to be tweaked manually to achieve optimal results and hardware that needs to be replaced to meet performance and security requirements.</p><h3 id="security-and-permissions">🔐 Security & Permissions <a class="markdownit-header-anchor" href="#security-and-permissions">🔗</a></h3><p>Bitrise gives you the option to assign the following roles for each of your applications: owners, admins, developers, and testers/QA. Each role comes with different levels of permissions. With Jenkins, all users are given full access by default, and permissions need to be set up manually by Jenkins Administrator.</p><p>Bitrise also features several secure authentication methods, such as SAML SSO, GitHub, GitLab, Bitbucket SSO, two-factor authentication, and complex password requirements. Unlike Jenkins, with its single-layer of security surrounding the CI fleet and varying levels of protection for OSS plugins. Of course, you can add additional security manually.</p><blockquote>See the full comparison chart of <a href="https://www.bitrise.io/bitrise-vs-jenkins?ref=localazy">Bitrise vs. Jenkins on the Bitrise.io website</a>. </blockquote><h3 id="migrating-your-mobile-ci-from-jenkins">📰 Migrating your mobile CI from Jenkins <a class="markdownit-header-anchor" href="#migrating-your-mobile-ci-from-jenkins">🔗</a></h3><ul><li><strong>73.9%</strong> of the surveyed enjoyed their work <strong>more</strong> after migrating away from Jenkins</li><li><strong>A whopping 89.8%</strong> saw a performance increase after moving to a new CI tool</li><li>Almost <strong>60%</strong> of practitioners felt that their experience with Jenkins had a positive impact on understanding cloud CI</li></ul><blockquote><a href="https://blog.bitrise.io/post/6-lessons-for-migrating-from-jenkins-to-bitrise?ref=localazy">Read the full report here</a> </blockquote><h2 id="hear-it-from-people-who-made-the-switch">💬 Hear it from people who made the switch <a class="markdownit-header-anchor" href="#hear-it-from-people-who-made-the-switch">🔗</a></h2><p>We have picked two of the many Bitrise customer stories to show you why they made the switch and what benefits did introducing Bitrise bring to their workflow.</p><h3 id="november-five">⚫ November Five <a class="markdownit-header-anchor" href="#november-five">🔗</a></h3><p>November Five is a Belgian digital transformation agency with 75+ employees and an impressive list of clients, including global brands like Spotify and Coca-Cola. When it comes to mobile development, November Five builds both React Native and native Android and iOS apps (and the company also creates web applications).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/10/image-2.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2021/10/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/10/image-2.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/10/image-2.png 1600w, https://ghost.localazy.com/content/images/2021/10/image-2.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>November Five Homepage</figcaption></figure><p>November Five has a large client base, so it needed a robust solution to manage the complexities of the growing number of codebases. In the past, they had used a locally hosted Jenkins server for CI, but the solution proved to be less than optimal. Considering the time and resources needed to ensure that Jenkins was stable and working correctly, the team realized that their way of working was no longer sustainable for a fast-scaling company.</p><p>While exploring and comparing the various CI offerings on the market, Bitrise came out the winner – auto-updating stacks and the ability to switch easily between them was a big draw. Getting started with Bitrise was intuitive and straightforward, and the team had it up and running in record time. Because Bitrise's <a href="https://www.bitrise.io/integrations/steps">Step library</a> included everything they needed, they could get to work in minutes. Now, the team has around 200 different apps and app variants — all built on Bitrise.</p><p><strong>"We can sum up Bitrise's impact on our mobile development processes in three words: productivity, quality, and security. For us, it's more than just an ultimate time-saver" </strong><em>— Thomas Van Sundert, CTO &amp; Co-founder</em></p><blockquote>Read more about <a href="https://www.bitrise.io/customer-stories/november-five">November Five &amp; Bitrise</a> </blockquote><h3 id="buffer">🟦 Buffer <a class="markdownit-header-anchor" href="#buffer">🔗</a></h3><p>If you haven't heard about Buffer, it's a social media management platform that offers publishing, engagement, and analytics services on Facebook, LinkedIn, Twitter, Instagram, and Pinterest. With 80 employees working from six different time zones, managing everything can be a little tricky.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/10/image-1.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2021/10/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/10/image-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/10/image-1.png 1600w, https://ghost.localazy.com/content/images/2021/10/image-1.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Buffer Homepage</figcaption></figure><p>When engineers at Buffer tried to use <a href="https://www.bitrise.io/bitrise-vs-jenkins">Jenkins</a>, complexity was the main dealbreaker. Not being able to jump in and customize the solution resulted in problems such as dependency changes breaking their workflow setup, more challenging learning curves for new team members, and trivial issues that just made life harder for everyone.</p><p>After a while, Buffer took the first steps towards Bitrise. The results were apparent right away:</p><ul><li>The third-party security plugins that didn't work with other CI ran flawlessly.</li><li>The customizability was exceptional.</li><li>The platform was crafted in a clean and user-friendly manner.</li></ul><p>The result is a seamless, continuous shipment of updates that helps eliminate human error from the release process. In other words, they're able to concentrate on what matters while having a more smooth development lifecycle — an achievement Bitrise hopes to bring to many more developers in the future.</p><p><strong>"Bitrise's workflow pattern has allowed us to become incredibly productive"<em> </em></strong><em>— Joe Birch, Android Lead</em></p><blockquote>Read more about <a href="https://www.bitrise.io/customer-stories/buffer">Buffer &amp; Bitrise</a> </blockquote><h3 id="read-more-success-stories">📓 Read more success stories <a class="markdownit-header-anchor" href="#read-more-success-stories">🔗</a></h3><p>You can <a href="https://www.bitrise.io/customer-stories">read all of the success stories on the official Bitrise website</a>. </p><p>Or, you can add your own story by <a href="https://app.bitrise.io/users/sign_up">joining the Bitrise club</a>!</p><h2 id="bitrise-steps">🕹️ Bitrise Steps <a class="markdownit-header-anchor" href="#bitrise-steps">🔗</a></h2><p>Steps are the heart of Bitrise. A Step is a build task: for example, the <strong>Git Clone</strong> Step clones your Git repository at the start of a build, while the <strong>Google Play Deploy</strong> Step can deploy your finished app to the Play Store. A Step contains the code that performs the build task, and there are now over 300 steps available!</p><p>There are three types of steps on the platform:</p><ul><li><strong>Bitrise Steps</strong> are developed and maintained by the Bitrise team.</li><li><strong>Verified Steps</strong> are official integrations developed and maintained by the service owner.</li><li><strong>Community Steps </strong>are open source and custom steps offered by the Bitrise Community.</li></ul><p>You can configure your Steps and tasks in the <a href="https://devcenter.bitrise.io/steps-and-workflows/getting-started-workflows/">Workflow Editor</a> to automate your CI/CD with Bitrise.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/10/image-6.png" class="kg-image" alt loading="lazy" width="2000" height="884" srcset="https://ghost.localazy.com/content/images/size/w600/2021/10/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/10/image-6.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/10/image-6.png 1600w, https://ghost.localazy.com/content/images/2021/10/image-6.png 2000w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Verified Step</figcaption></figure><h3 id="localazy-verified-step">🚩 Localazy Verified Step <a class="markdownit-header-anchor" href="#localazy-verified-step">🔗</a></h3><p>We are proud to be a Bitrise partner, and we are happy that you can find <a href="https://blog.bitrise.io/post/simplify-localization-with-localazy">Localazy Verified Step</a> on Bitrise. Use it to incorporate localization deployment into your Bitrise workflow. It's simple enough to remove the localization burden from your shoulders with <a href="https://localazy.com/">Localazy</a> and <a href="https://bitrise.io/">Bitrise</a>. No more file handling. You can manage all the translations and build steps of your project in Localazy and Bitrise with beautiful UIs designed for developers.</p><blockquote>Read our previous <a href="https://localazy.com/blog/automated-localization-bitrise-io-localazy">article on using the Localazy Verified step.</a></blockquote><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/LzdNmRee_9Y" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><h3 id="create-your-own-step">🦄 Create your own Step! <a class="markdownit-header-anchor" href="#create-your-own-step">🔗</a></h3><p>You can choose from already available Steps or even create your own.  Steps are written in <a href="https://golang.org/">Go</a> or Bash.</p><blockquote>Read the official <a href="https://devcenter.bitrise.io/contributors/create-your-own-step/">guide on creating your Bitrise Step</a>.</blockquote><p>If you would like to join the list of Verified Steps on Bitrise and become a partner, submit your Step for review.</p><blockquote>Read more on how to <a href="https://devcenter.bitrise.io/contributors/verified-steps/">become a Bitrise Partner with your own Verified Step</a></blockquote><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>If you are looking for the best CI/CD platform, we recommend you give Bitrise a chance. You will most likely fall in love with it, and as a bonus, you can incorporate the Localazy Step into your workflow with zero hassle.</p><p>If you look to expand your support of integrations for your developer-oriented platform, definitely join the Bitrise Verified Steps family and become a partner! 💖</p><p>We want to thank Bitrise for their warm welcome, and we are looking forward to seeing more Localazy users using Bitrise as their platform of choice.</p><h2 id="you-might-also-like">⭐ You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><ul><li><a href="/blog/automated-localization-bitrise-io-localazy">Automated Localization: Localazy ❤ Bitrise.io</a></li><li><a href="/blog/maximizing-mobile-engineering-efficiency-bitrise">From development to production: seven tips to optimize mobile app deployments</a></li><li><a href="/blog/leverage-automation-shorter-release-cycles-less-time-spent-testing-bitrise">How to leverage automation for shorter release cycles and less time spent on testing</a></li></ul><p>Read more articles on the <a href="https://blog.bitrise.io/">Bitrise Blog</a></p>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/10/Why-use-Bitrise.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Organizations, File Downloads, Secret Projects, and more!]]></title>
            <link>https://localazy.com/blog/release-update-organizations-file-downloads-secret-projects</link>
            <guid isPermaLink="false">release-update-organizations-file-downloads-secret-projects</guid>
            <pubDate>Thu, 21 Aug 2025 13:33:45 GMT</pubDate>
            <description><![CDATA[The European summer is reaching its end, and right now, the weather forecasts are telling us that we are in for the wet season, which is delightful news for the productivity of digital teams. ]]></description>
            <content:encoded><![CDATA[<p>While it is quite a long time since the last release, believe me, we didn't slack <em>that much</em> during the hot summer days! 🌞</p><p><strong>What will you find in today's release update?</strong></p><ul><li>Organizations Preview</li><li>Download translated files without CLI or CDN</li><li>Community update</li><li>Secret projects</li><li>Various fixes and improvements </li></ul><p>Exciting? So, let's go!</p><h2 id="organizations-preview">🎫 Organizations Preview <a class="markdownit-header-anchor" href="#organizations-preview">🔗</a></h2><p>Localazy started as a developer-oriented platform for managing translations and helped hundreds of them with the localization of their apps. </p><p>While small and big teams are picking up Localazy as their <a href="/dictionary/translation-management-system-tms">TMS </a>of choice, we are proud to announce that we have worked hard to introduce a new way of managing projects in Localazy that will suit you all better.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/09/image-3.png" class="kg-image" alt loading="lazy" width="469" height="315"><figcaption>Select your workspace</figcaption></figure><blockquote>Please note that this is the first version of what's about to come later.</blockquote><p>✔️<strong> What is possible with organizations now?</strong></p><ul><li>Invite team members and share all projects with them</li><li>Apply active plans, and source key increases organization-wide</li><li>Transfer projects from personal workspace to an organization (user needs to be an Owner in the organization)</li><li>Better invoicing and separate billing</li><li>Brand new Dashboard</li></ul><p>These basic organization features are now available to all users to streamline your translation management in Localazy even more.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/09/image-11.png" class="kg-image" alt loading="lazy" width="2000" height="1189" srcset="https://ghost.localazy.com/content/images/size/w600/2021/09/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/09/image-11.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/09/image-11.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/09/image-11.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>The new Localazy Dashboard</figcaption></figure><p>⌛ <strong>What will be possible shortly?</strong></p><ul><li>Creating teams within organizations</li><li>Permission granularity</li><li>Upload organization image</li><li>View organization activity stream</li><li>Separate notifications</li></ul><h2 id="download-translated-files-directly">📥 Download translated files directly <a class="markdownit-header-anchor" href="#download-translated-files-directly">🔗</a></h2><p>For some while now, file uploads are possible directly via the UI without installing CLI, opening the platform to quicker adoption and a more user-friendly start.</p><p>Today, we introduce the possibility to download translated files directly via File management as well. Managing translations is even easier now, even for non-developer folks!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/09/image-12.png" class="kg-image" alt loading="lazy" width="578" height="318"><figcaption>Download translated files directly</figcaption></figure><p>Why is this new feature significant? You can now check how Localazy can benefit you instantly. You can also upload any texts (e.g., marketing copy or video subtitles), have them translated by our <a href="/docs/general/continuous-localization-team">Localization Team</a> to the language of your choice, and download it all back with a few clicks! Try it!</p><blockquote>Start translating now, <a href="/register">sign-up for Localazy</a>!</blockquote><h2 id="community-updates">🤝 Community Updates <a class="markdownit-header-anchor" href="#community-updates">🔗</a></h2><p>The <a href="/my/community">Community section</a> is the place where you can help us help you grow. Answer surveys, write an interview with us, send your referral link to your friends, or spread the word about Localazy by sharing our blog articles and get rewarded for it!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/09/image-14.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2021/09/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/09/image-14.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/09/image-14.png 1600w, https://ghost.localazy.com/content/images/2021/09/image-14.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>New options in the Community Section</figcaption></figure><blockquote>More is to come in the future. Make sure to <a href="/my/community">visit the community section</a> every once in a while!  🙂</blockquote><h2 id="secret-projects">🤫 Secret projects <a class="markdownit-header-anchor" href="#secret-projects">🔗</a></h2><p>A new feature available for our <a href="/docs/general/localazy-agency-tier">Agency tier</a> users is the ability to set the project type to secret. Secret projects are not indexed or searchable, and only invited users can see them. 🔒 Helpful if you handle projects for clients or simply want to keep your projects behind the curtain.</p><blockquote>Pick up your Agency plan in the <a href="/my/marketplace">Localazy marketplace</a> or visit the <a href="/pricing">pricing page</a> for more information about our plans.</blockquote><h2 id="improvements">🎉 Improvements <a class="markdownit-header-anchor" href="#improvements">🔗</a></h2><h4 id="cdn-json-meta-update">CDN JSON meta update</h4><p>⚠️ We have updated the CDN metafile. CDN now supports a new JSON format with v2.json suffix.</p><blockquote>Please note that the old URLs of JSON metafiles will be deprecated in the near future. </blockquote><hr><h4 id="added-support-for-more-ios-placeholders">Added support for more iOS placeholders</h4><p>Localazy now supports more <a href="/dictionary/ios">iOS</a> placeholders. The 🍎 apples are getting tastier with every update!  🙂  Introduce your <a href="/ios">iOS</a> project to Localazy today to see it in action!</p><blockquote>Read more in the article: <a href="/blog/integrate-localazy-ios-apps-localization-tutorial">How to translate iOS apps with Localazy CLI/SDK</a></blockquote><hr><h4 id="added-support-for-nette-neon-placeholders">Added support for Nette NEON placeholders</h4><p>Great news for the PHP and Nette community! 🎉 Localazy now fully supports the <a href="/neon">NEON </a>format and its placeholders. <a href="/register">Integrate your Nette app now!</a></p><blockquote>Read more in the article: <a href="/blog/localize-php-nette-app-using-contributte-translation-localazy">How to localize Nette app using contributte/translation and Localazy</a></blockquote><hr><h4 id="added-active-subscriptions-section-into-the-marketplace-dashboard">Added Active subscriptions section into the Marketplace dashboard</h4><p>To help you keep track of all running subscriptions on top of your plan, we have added a new section into the 🛍️ <a href="/my/marketplace">Marketplace Dashboard</a>. You can see all your additional purchases here.</p><hr><h4 id="updated-translations-tables-ui">Updated Translations Tables UI</h4><ul><li>Translators can now see their version of translated string to help keep track of their progress and translation context.</li><li>Owners can batch approve selected translations, send them to review or pre-translate using our <a href="/docs/general/additional-mt-engines#mt-pre-translate">MT pre-translate</a> feature.</li><li>We have also added some new filtering options and made other minor tweaks.</li></ul><hr><h4 id="updated-sign-up-and-login-screen">Updated sign up and login screen</h4><p>A small step for Localazy, the <a href="/login">login </a>and <a href="/register">signup </a>pages have undergone a beautiful facelift. We hope you'll like it!  🙂</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/09/image-15.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2021/09/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/09/image-15.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/09/image-15.png 1600w, https://ghost.localazy.com/content/images/2021/09/image-15.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>The new Localazy signup page</figcaption></figure><hr><h4 id="secure-support-chat-requests">Secure support chat requests</h4><p>You don't have to send us e-mails when you need to make some changes to your account. When you are logged in to Localazy, we can fetch the info about your account and validate that we are chatting with the right person, and act accordingly. 💬</p><blockquote>🎙️ We value security and protecting our customers data so we've gotten ISO certifed among other measures.<a href="https://localazy.com/blog/s01-ep-02-bridging-the-gap-podcast"> Listen to our Bridging the Gap podcast episode with cybersecurity expert and FEHA founder, Ferry Haris</a> where he explains why ISO standards matter for quality and security.</blockquote><hr><h4 id="auto-generated-avatars-and-app-icons">Auto-generated avatars and app icons</h4><p>This is a small gimmick, but we really like how it turned out. For projects and users who don't have their own custom picture uploaded, Localazy automatically generates an avatar and icon. 🤠 Try to change your avatar or create a new project to see it in action! 😀</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/09/image-16.png" class="kg-image" alt loading="lazy" width="591" height="376"><figcaption>Localazy auto-generates project icons and avatars!</figcaption></figure><hr><h2 id="minor-fixes-and-tweaks">🔧 Minor fixes and tweaks <a class="markdownit-header-anchor" href="#minor-fixes-and-tweaks">🔗</a></h2><ul><li>LOC-2878 - Terminology updates</li><li>LOC-3126 - Notifications fixes</li><li>LOC-3279 - Fixed: Deleted user caused broken Review UI</li><li>LOC-3283 - Updated max size for avatars and project images</li></ul><h2 id="cli-update-v150">📌 CLI update - v1.5.0 <a class="markdownit-header-anchor" href="#cli-update-v150">🔗</a></h2><p>The Localazy CLI has been updated to a new version as well! You can now use new variables for handling your files. We have improved error messages and also added information about source key limits to CLI.</p><blockquote>Read all about the new CLI version in the <a href="https://discuss.localazy.com/t/cli-v1-5-0-improvements-language-listing-bug-fixes/332">release notes</a>.</blockquote><h2 id="discuss-this-release-update">💬 Discuss this release update <a class="markdownit-header-anchor" href="#discuss-this-release-update">🔗</a></h2><p>Thank you, our users, for helping us make Localazy better for everyone. You are our greatest inspiration. Please <a href="https://discuss.localazy.com/t/release-update-organizations-file-downloads-secret-projects-and-more/350">tell us what you think about the new release</a>; join our forum now at <a href="http://discuss.localazy.com">discuss.localazy.com</a> or send us a message via our chat. All feedback is greatly appreciated!</p><blockquote><a href="https://discuss.localazy.com/t/release-update-organizations-file-downloads-secret-projects-and-more/350">Discuss this update</a> on the Localazy forum.</blockquote>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/09/release.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to localize Nette app using contributte/translation and Localazy]]></title>
            <link>https://localazy.com/blog/localize-php-nette-app-using-contributte-translation-localazy</link>
            <guid isPermaLink="false">localize-php-nette-app-using-contributte-translation-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:25:02 GMT</pubDate>
            <description><![CDATA[Have you ever heard of Nette Framework? You might not be familiar with the name, but this PHP framework is prevalent in the Czech and Slovak PHP developer communities. Learn how to translate Nette apps with Localazy!]]></description>
            <content:encoded><![CDATA[<p>The whole Nette and its standalone sub-components are PHP 8 ready; thus, the project is alive and is actively developed and maintained. There are many ambitious projects built on Nette Framework that have already spread out behind the Czech borders, to name some: <a href="https://www.rohlik.cz/"><strong>Rohlík</strong></a><strong>, </strong><a href="https://www.zasilkovna.cz/"><strong>Zásilkovna</strong></a><strong>, or </strong><a href="https://cdn77.jobs/"><strong>CDN77</strong></a><strong>.</strong></p><p>These three examples are only a needle in a haystack of companies who had to overcome all the challenges and struggles that the inevitable <a href="/dictionary/internationalization">internationalization </a>process comes with. Can we do it any easier? We believe so; that's why we created <strong>Localazy.</strong></p><p>Localazy features a pro-active review process, highly accurate translation memory supported by community-shared translations, <a href="/dictionary/machine-translation">machine translations</a> and professional translation services, and a simple, very intuitive UI. Thanks to that, managing translation strings, even with open-source projects where anybody can contribute (with varying quality), is a piece of cake 🍰.</p><p>This article will walk you through all the steps necessary to create a <a href="/dictionary/nette">Nette </a>application, integrate one of the <a href="https://contributte.org/">Nette Community's</a> internationalization packages, and use Localazy to localize the application.</p><blockquote>Most importantly, to not diverge from the main topic, I'll focus on core concepts of internationalization using the <code>Contributte/Translation</code> plugin for Nette and how Localazy can help; not Nette Framework itself nor visual styling concepts.</blockquote><h2 id="tldr">💨 TL;DR  <a class="markdownit-header-anchor" href="#tldr">🔗</a></h2><ul><li>set up and run a <a href="https://nette.org/en/">Nette</a> project example</li><li>install and set up a localization plugin called <code><a href="https://github.com/contributte/translation">contributte/translation</a></code></li><li>prepare templates for translations using the <a href="/neon">NEON</a> file format</li><li>implement an easy language switcher</li><li>sign up for Localazy</li><li>install Localazy CLI</li><li>create the <code>localazy.json</code> file in the project root and fill in the <a href="/docs/cli/quick-start-neon">configuration</a>, with modified <a href="/docs/cli/upload-reference">upload</a> needs</li><li>upload extracted language files by running <code>localazy upload</code></li><li>in Localazy, add any language(s), translate, review...</li><li>update your project of new locales with <code>localazy download</code></li><li>create a new presenter including phrases in ICU Plurals notation</li><li>update <code>localazy.json</code> configuration to fit our modified <a href="https://localazy.com/docs/cli/download-reference">download</a> needs, including a <a href="https://localazy.com/docs/cli/transformations">transformation</a></li><li>upload, translate and download plural strings</li><li>Voilà 🎉</li></ul><h2 id="set-up-a-new-nette-project">🕹️ Set up a new Nette project <a class="markdownit-header-anchor" href="#set-up-a-new-nette-project">🔗</a></h2><p>Let's create a new Nette 3.1 web project, following steps from the <a href="https://doc.nette.org/en/3.1/quickstart/getting-started">quick start</a>. Make sure you have composer installed on your machine. If not, use these <a href="https://doc.nette.org/en/3.1/composer">guidelines</a> to set it up. Then, open a terminal, navigate to any desired location and run the following command:</p><figure class="kg-card kg-code-card"><pre><code class="language-bash">composer create-project nette/web-project nette-i18n-example              </code></pre><figcaption>Terminal</figcaption></figure><p>‌You can name the project whatever you like, here I used <code>nette-i18n-example</code>. It's also important to ensure that your PHP environment is at least in a 7.2 version, it is a <a href="https://nette.org/en/maintenance">compatibility requirement</a> when using Nette 3.1.‌‌‌‌ </p><p>Next, let's try if everything worked out well and we can run the project sample. Navigate into the <code>www</code> folder (in the terminal window or using your <a href="/dictionary/integrated-development-kit-ide">IDE</a> terminal). Run the in-built PHP CLI web server in the folder, using:</p><figure class="kg-card kg-code-card"><pre><code class="language-bash">php -S localhost:2222</code></pre><figcaption>Terminal</figcaption></figure><p>This will start localhost server, serving from <code>www</code> folder on port <code>2222</code> (you can choose any allowed and free port number you like). Open your browser and go to <code>http://locahost:2222</code>. If you followed all the previous steps correctly, you should see the screen below:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-10.15.20-1.png" class="kg-image" alt="Clean Nette web project" loading="lazy" width="2000" height="1272" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-10.15.20-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-10.15.20-1.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-10.15.20-1.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-10.15.20-1.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Clean Nette web project</figcaption></figure><p>Great, we've just set up a new sample project!</p><h2 id="set-up-the-localization-plugin">🎌 Set up the localization plugin <a class="markdownit-header-anchor" href="#set-up-the-localization-plugin">🔗</a></h2><p>Now, we will install and set up a <a href="/dictionary/localization">localization </a>plugin that will handle locale switching and read string resources from our translations files. There's a couple of localization plugins for Nette.</p><p>You can find a list of these plugins on <a href="https://componette.org/search/localization">Componette #localization</a>. One of them, <a href="https://github.com/Kdyby/Translation">Kdyby/Translation</a>, which integrates <a href="https://symfony.com/doc/current/translation.html">Symfony/Translation</a> into Nette Framework, is widely used, although unfortunately not being developed anymore (at the time of writing this post, the latest known release was in September 2019).</p><p>That's the reason why we will use <a href="https://github.com/contributte/translation">Contributte/Translation</a>. ‌‌‌‌Even though Contributte/Translation has fewer stars ⭐ on Github, the project is more than five years younger (the first stable release was in March 2019), and the number of installations is almost 650k lower compared to the previously mentioned one (at the time of writing this post), I can recommend using the plugin. Why?</p><ul><li>it's developed and maintained</li><li>works with the same localization library as Kdyby/Translation (plugin is a wrapper of Symfony/Translation); thus, the implementation is very similar</li><li>Contributte/Translation creator is really helpful in answering questions and resolving issues quickly (credits to <a href="https://github.com/aleswita">Aleš Wita</a> and <a href="https://f3l1x.io/">Milan F3l1x Šulc</a> for helping)</li></ul><p>So in the next step, install the plugin:</p><figure class="kg-card kg-code-card"><pre><code class="language-bash">composer require contributte/translation</code></pre><figcaption>Terminal</figcaption></figure><p>Now, we have to set the plugin up. Open a configuration file named <code>common.neon</code> and register the plugin using the <code>extensions</code> block like this:</p><figure class="kg-card kg-code-card"><pre><code class="language-NEON">...
extensions:
    translation: Contributte\Translation\DI\TranslationExtension</code></pre><figcaption>config/common.neon</figcaption></figure><p>Open the <code>local.neon</code>  file and insert the following configuration:</p><figure class="kg-card kg-code-card"><pre><code class="language-NEON">translation:
    locales:
        whitelist: [en, cs, sk, pl] # supported locales
        default: en # default locale
        # fallback: [en] # fallback locale
    dirs: # directories containing locale files
        - %appDir%/lang/homepage
        - %appDir%/lang/common
    returnOriginalMessage: false
    localeResolvers:
        - Contributte\Translation\LocalesResolvers\Router</code></pre><figcaption>config/local.neon</figcaption></figure><p>The purpose of keys is described in the code snippet comments above. I've commented the <code>fallback</code> key out because I would like to see the untranslated keys during the development phase.</p><p>As we would definitely like to keep the order in our locale files, we will keep those files in subdirectories. If <code>returnOriginalMessage</code> is set to <code>true</code>, it returns a message (string) in <code>default</code> language if we choose one of the whitelisted (<code>whitelist</code>) languages and our message is not translated, in other case it returns a string resource key name.</p><p>A ‌part called <code>localeResolvers</code> instructs the extension on how to resolve current locale and the order in which it will do so. There are four available resolvers.</p><pre><code class="language-NEON">localeResolvers:
    # Locale passed as URL parameter
    - Contributte\Translation\LocalesResolvers\Router
    # Locale passed as HTTP header
    - Contributte\Translation\LocalesResolvers\Header
    # Locale passed as URL query
    - Contributte\Translation\LocalesResolvers\Parameter
    # Locale passed in a session
    - Contributte\Translation\LocalesResolvers\Session</code></pre><p>This order would give the <code>Router</code> resolvers the highest priority, following <code>Header</code>, <code>Parameter</code> and <code>Session</code> in descending order. In our example, we will be using only <code>Router</code> locale resolver (as you may have noticed). </p><p>Use whatever locale resolver fits your needs, it's completely up to you, although some of the following steps will differ a bit. </p><blockquote>‌‌One more note: By default the <code>Router</code>, <code>Parameter</code>, and <code>Session</code> resolvers expect the name of the parameter/key to be <code>locale</code>.</blockquote><p>In the next step, we have to update our <code>RouterFactory</code> class. We need the Nette router to take the <code>locale</code> parameter so the app can recognize what the current locale is.</p><figure class="kg-card kg-code-card"><pre><code class="language-PHP">&lt;?php

declare(strict_types=1);

namespace App\Router;

use Nette;
use Nette\Application\Routers\RouteList;
use Nette\Routing\Route;


final class RouterFactory
{
    use Nette\StaticClass;

    public static function createRouter(): RouteList
    {
        $router = new RouteList;
        $router-&gt;addRoute('&lt;locale&gt;/&lt;presenter&gt;/&lt;action&gt;[/&lt;id&gt;]', [
            'presenter' =&gt; 'Homepage',
            'action' =&gt; 'default',
            'id' =&gt; null,
            'locale' =&gt; [
                Route::FILTER_TABLE =&gt; [
                    'cs' =&gt; 'cs',
                    'sk' =&gt; 'sk',
                    'pl' =&gt; 'pl',
                    'en' =&gt; 'en'
                ]
            ]
        ]);
        return $router;
    }
}</code></pre><figcaption>app/Router/RouterFactory.php</figcaption></figure><p>This router setup matches our localhost URLs like <code>http://localhost:2222/en/</code> or <code>http://localhost:2222/cs/plurals/test</code> (as we will see in the latter steps of this tutorial). By adding a <code>Route::FILTER_TABLE</code>-keyed array we can force the translation plugin to map the <code>locale</code> name in a route to an internal locale name (might be useful in certain situations). </p><p>We do not want to use this functionality, therefore we will keep the locale shortcuts the same (or we could also completely omit this block as I just wanted to demonstrate the option).</p><p>Great job! We've just set the <code>Contributte/Translation</code> plugin up!</p><h2 id="prepare-templates-for-translations">📃 Prepare templates for translations <a class="markdownit-header-anchor" href="#prepare-templates-for-translations">🔗</a></h2><p>In this step, we will <a href="/dictionary/externalized-string">externalize the strings</a> by extracting all the string resources into files that will serve as locale files. Remember when we configured our directories that will contain locale files?</p><p>Just a reminder, it's <code>%appDir%/lang/homepage</code> and <code>%appDir%/lang/common</code>. Create these directories in a project folder tree.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-10.22.06.png" class="kg-image" alt loading="lazy" width="342" height="194"><figcaption>Directories meant to contain locale files</figcaption></figure><p>Now, open the <em>Homepage default</em> template. It's in <code>app/Presenters/templates/Homepage</code> folder. The content of this file will look a lot alike this:</p><figure class="kg-card kg-code-card"><pre><code class="language-latte">{* This is the welcome page, you can delete it *}
{block content}
&lt;div id="banner"&gt;
    &lt;h1 n:block=title&gt;Congratulations!&lt;/h1&gt;
&lt;/div&gt;
&lt;div id="content"&gt;
    &lt;h2&gt;
        You have successfully created your
        &lt;a href="https://nette.org"&gt;Nette&lt;/a&gt; Web project.
    &lt;/h2&gt;
    &lt;p&gt;
        &lt;img src="..." alt=""&gt;
        If you are exploring Nette for the first time, you should read
        the &lt;a href="https://doc.nette.org/quickstart"&gt;Quick Start&lt;/a&gt;,
        &lt;a href="https://doc.nette.org"&gt;documentation&lt;/a&gt;,
        &lt;a href="https://blog.nette.org"&gt;blog&lt;/a&gt; and
        &lt;a href="https://forum.nette.org"&gt;forum&lt;/a&gt;.
    &lt;/p&gt; 
    &lt;h2&gt;We hope you enjoy Nette!&lt;/h2&gt;
&lt;/div&gt;
&lt;style&gt;
    ...
&lt;/style&gt;</code></pre><figcaption>app/Presenters/templates/Homepage/default.latte</figcaption></figure><p>As I've already mentioned, our goal is to take all the strings and put them into separate files. As English is our source language, create a file called <code>locale.<strong>en</strong>.neon</code> in the previously created <code>app/lang/homepage</code> folder (if Spanish was a source language, for instance, we would create <code>locale.es.neon</code> file). </p><p>Copy strings one by one into the locale file and assign them a key. Then, replace strings in the template with the key wrapped in a <a href="https://doc.nette.org/en/3.1/translations#toc-template-translation">underscore tag</a> notation (<code>{_locale_key}</code>). After finishing this step, both should look similar to the snippets below.</p><figure class="kg-card kg-code-card"><pre><code class="language-NEON">congratulations: "Congratulations!"
we_hope_you_enjoy_nette: "We hope you enjoy Nette!"
docs_links_paragraph: "If you are exploring Nette for the first time, you should read the &lt;a href='https://doc.nette.org/quickstart'&gt;Quick Start&lt;/a&gt;, &lt;a href='https://doc.nette.org'&gt;documentation&lt;/a&gt;, &lt;a href='https://blog.nette.org'&gt;blog&lt;/a&gt; and &lt;a href='https://forum.nette.org'&gt;forum&lt;/a&gt;."
web_project_successfully_created: "You have successfully created your %project% Web project."</code></pre><figcaption>app/lang/homepage/locale.en.neon</figcaption></figure><figure class="kg-card kg-code-card"><pre><code class="language-latte">{* This is the welcome page, you can delete it *}

{block content}
&lt;div id="banner"&gt;
    &lt;h1 n:block=title&gt;{_locale.congratulations}&lt;/h1&gt;
&lt;/div&gt;

&lt;div id="content"&gt;
    &lt;h2&gt;
        {_locale.web_project_successfully_created, [
            'project' =&gt; '&lt;a href="https://nette.org"&gt;Nette&lt;/a&gt;',
        ]|noescape}
    &lt;/h2&gt;

    &lt;p&gt;
        &lt;img src="..." alt=""&gt;
        {_locale.docs_links_paragraph|noescape}
    &lt;/p&gt;

    &lt;h2&gt;{_locale.we_hope_you_enjoy_nette}&lt;/h2&gt;
&lt;/div&gt;

&lt;style&gt;
	...
&lt;/style&gt;
</code></pre><figcaption>app/Presenters/templates/Homepage/default.latte</figcaption></figure><p>‌Let's take a further look at both snippets as there's a couple of important things related to localization we've just used that don't necessarily have to be clear. In the string resource key-named <code>web_project_successfully_created</code> of the NEON file, we've used a variable placeholder notation. </p><p>In NEON files, placeholders are recognizable with starting and ending <code>%</code> signs, containing a placeholder name in between, in our case it is a <code>%project%</code>.</p><p>In the template file, we passed a variable called <code>project</code> containing a value into the extracted string mentioned before. All of this is done using an array as a second argument of the underscore tag notation. This is how this pairing works using <a href="https://latte.nette.org">latte templating engine</a> and NEON. We've also used the <code>noescape</code> <a href="https://latte.nette.org/en/filters">filter</a>, which disables automatic escaping so the HTML tags are actually rendered and not printed as a text.</p><blockquote>Do not ever use the <code>noescape</code> filter for any untrusted user's input, as it can potentionally lead to XSS attack vulnerabilities.</blockquote><p>Good job! Now, let's see how the project looks in the browser. Refresh the page - oops! What has just happened? We can see an exception thrown with <em>No route for HTTP request</em> information.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-10.26.02.png" class="kg-image" alt loading="lazy" width="2000" height="1272" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-10.26.02.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-10.26.02.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-10.26.02.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-10.26.02.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>No route for HTTP request</figcaption></figure><p>‌It makes sense though, this is a completely legit behavior. We've changed our <code>RouterFactory</code> to match URLs containing the locale identifier. Update the URL to <code>localhost:2222/en</code>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-10.28.40.png" class="kg-image" alt loading="lazy" width="2000" height="1272" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-10.28.40.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-10.28.40.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-10.28.40.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-10.28.40.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Missing translations</figcaption></figure><p>Why don't we see our strings loaded from the <code>locale.en.neon</code> file? Why are we seeing only the keys? Let's check what is really happening here. Nette includes a debugging tool called <a href="https://tracy.nette.org/en/">Tracy</a>. </p><p>If we take a look at the expanded <a href="https://tracy.nette.org/en/guide#toc-tracy-bar">Tracy Bar</a> (a section containing <code>Contributte/Translation</code> settings), we can see that we're missing four translations and have loaded no resources files at all. In-built Nette caching mechanisms are the reason. To resolve this problem, delete <code>temp/cache</code> directory located in the project and reload the page in the browser.</p><blockquote>As I used Nette over the years, I've experienced the "caching problem" many times during the development, not only when translating. Deleting cached files helped in the vast majority of problem occurrences.</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-10.31.45.png" class="kg-image" alt loading="lazy" width="1624" height="928" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-10.31.45.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-10.31.45.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-10.31.45.png 1600w, https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-10.31.45.png 1624w" sizes="(min-width: 720px) 720px"><figcaption>Contributte/Translation Tracy Bar Tool</figcaption></figure><p>‌Great! We can see that string resources are correctly loaded from the locale file. Using Tracy Bar, we can also notice that there's one loaded resource file and that we're using Router as our locale resolver. There's also a translator setting. From this point onwards, if anything goes wrong, you can always check this bar for any cues that might lead to resolving a problem.</p><h2 id="implement-an-easy-language-switcher">🧭 Implement an easy language switcher <a class="markdownit-header-anchor" href="#implement-an-easy-language-switcher">🔗</a></h2><p>It would be great to have an option to change the locale of our web application another way than just re-typing the URL parameter manually every time. We will create a simple language switcher. You can then style it using your custom CSS.</p><p>Go to <code>@layout.latte</code> template file. This file serves as a <a href="https://latte.nette.org/en/template-inheritance#toc-layout-inheritance">layout</a> file and defines an HTML skeleton document. Update the content:</p><figure class="kg-card kg-code-card"><pre><code class="language-latte">...
&lt;body&gt;
    &lt;div n:foreach="$flashes as $flash" n:class="flash, $flash-&gt;type"&gt;
        {$flash-&gt;message}
    &lt;/div&gt;

    &lt;ul&gt;
        &lt;li&gt;
            &lt;a n:href="this locale:en"&gt;
                English ({_locale.english})
            &lt;/a&gt;
        &lt;/li&gt;
        &lt;li&gt;
            &lt;a n:href="this locale:cs"&gt;
                Česky ({_locale.czech})
            &lt;/a&gt;
        &lt;/li&gt;
        &lt;li&gt;
            &lt;a n:href="this locale:sk"&gt;
                Slovensky ({_locale.slovakian})
            &lt;/a&gt;
        &lt;/li&gt;
        &lt;li&gt;
            &lt;a n:href="this locale:pl"&gt;
                Polski ({_locale.polish})
            &lt;/a&gt;
        &lt;/li&gt;
    &lt;/ul&gt;

    {include content}
    ...</code></pre><figcaption>app/Presenters/templates/@layout.latte</figcaption></figure><p>Notice how the links are being built. We use the <code><a href="https://doc.nette.org/en/3.0/creating-links#toc-in-the-presenter-template">n:href</a></code> helper to create a link, pointing to <code>this</code> (same URL we're currently at), passing a <code>locale</code> URL parameter (we defined in the <code>RouterFactory</code> in one of the earlier steps), set to a value describing the desired locale.</p><p>You probably already know what to do now - we have to define resources keys in NEON file. As layout serves as a common part of the application, we've already proactively created the <code>common</code> directory, where we will address all of the common string resources. Create a <code>locale.en.neon</code> file in that directory with the following content:</p><figure class="kg-card kg-code-card"><pre><code class="language-NEON">english: English
czech: Czech
slovak: Slovak
polish: Polish                </code></pre><figcaption>app/lang/common/locale.en.neon</figcaption></figure><p>Apply our recently described cache deleting process and reload the page.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-11.31.03.png" class="kg-image" alt loading="lazy" width="2000" height="938" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-11.31.03.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-11.31.03.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-11.31.03.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-11.31.03.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>An easy language switcher implemented</figcaption></figure><p>Great! We can click on links a couple of times to confirm that language switching works - take a look at Translator Tracy Bar changes.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-10.37.47.png" class="kg-image" alt loading="lazy" width="1624" height="992" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-10.37.47.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-10.37.47.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-10.37.47.png 1600w, https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-10.37.47.png 1624w" sizes="(min-width: 720px) 720px"><figcaption>Translator Tracy Bar when English is used</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-10.38.44.png" class="kg-image" alt loading="lazy" width="1624" height="1454" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-10.38.44.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-10.38.44.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-10.38.44.png 1600w, https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-10.38.44.png 1624w" sizes="(min-width: 720px) 720px"><figcaption>Translator Tracy Bar when Polish is used</figcaption></figure><p>Now that the language switching is implemented, it's time to add translations using Localazy!</p><h2 id="integration-with-localazy">🚩 Integration with Localazy <a class="markdownit-header-anchor" href="#integration-with-localazy">🔗</a></h2><p>This is the part where we can start benefiting from features that Localazy offers. In any project, we certainly do not want to manually handle things that can be automated. The manual approach is error-prone, tedious, and takes a long time. And localization is undoubtedly one of the things that you can automate.</p><p>Go to the <a href="/register">Localazy signup</a> page or <a href="/login">login</a> (if you have already joined our community). Then, create a new app. We can leave it as public so other contributors can freely help with translating our app. </p><p>Select English as the source language (generally, of course, you can use any other). Also, enable the <em>Use community translations (<a href="/docs/general/what-is-localazy-sharetm">ShareTM</a>) </em>option to get some strings translated automatically by Localazy.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-10.42.14.png" class="kg-image" alt loading="lazy" width="2000" height="1153" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-10.42.14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-10.42.14.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-10.42.14.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-10.42.14.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Create new app screen</figcaption></figure><p>‌The app is created. As you can see on the integration screen, Localazy supports a plethora of <a href="/integrations">integrations</a> and file formats! Scroll down and choose <a href="/neon">NEON</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-10.43.22.png" class="kg-image" alt loading="lazy" width="2000" height="1153" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-10.43.22.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-10.43.22.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-10.43.22.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-10.43.22.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Integrations screen</figcaption></figure><p>Now, we see the integration instructions screen. If you haven't used Localazy before, you need to install a <a href="/docs/cli/installation">CLI tool</a> on your machine to be able to interact with Localazy in an automated way.</p><figure class="kg-card kg-code-card"><pre><code class="language-bash">npm install -g @localazy/cli</code></pre><figcaption>Terminal</figcaption></figure><p>Then, create a configuration file named <code>localazy.json</code> in the root folder of your project. Also, paste <em>writeKey</em> and <em>readKey</em> from step 2 of the integration guide page.</p><figure class="kg-card kg-code-card"><pre><code class="language-JSON">{
    "writeKey": "&lt;your-write-key&gt;",
    "readKey": "&lt;your-read-key&gt;",
    "upload": {
    	"type": "neon",
        "files": [
            {
                "pattern": "app/lang/**/locale.en.neon",
                "lang": "inherited",
                "path": "${path}"
            }
        ]
    },
    "download": {
    	"files": "${path}/locale.${lang}.neon"
    }
}</code></pre><figcaption>localazy.json</figcaption></figure><p>You may have noticed, that in the snippet above I just haven't blindly copied a sample that's provided on the integration page. Why? Because we have our locale files in a different directories.</p><blockquote>More details on all available options of upload section are available in <a href="/docs/cli/upload-reference">documentation</a>.</blockquote><p>Now, it's finally time to upload our source language strings to Localazy. Navigate the terminal to the project root folder and run the following command:</p><figure class="kg-card kg-code-card"><pre><code class="language-bash">localazy upload -s</code></pre><figcaption>Terminal</figcaption></figure><p>‌Great! We’ve just simulated (<code>-s</code> stands for simulate) the upload without actually uploading anything. It is a good practice to test out the configuration to make sure that nothing unexpected occurs. In case of any warnings/errors, CLI would output a log describing a problem to help you determine the problem and fix it faster. Let's upload language strings for real!</p><figure class="kg-card kg-code-card"><pre><code class="language-bash">localazy upload</code></pre><figcaption>Terminal</figcaption></figure><p>Files were successfully transferred. In the Localazy app, hit the <em>NEXT STEP</em> button to proceed. Our app is ready! According to the instructions, refresh your browser window. Click on the <em>MANAGE SOURCE</em> button. List of uploaded source strings should be displayed.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Recording-2021-08-10-at-10.50.13-1.gif" class="kg-image" alt loading="lazy" width="2878" height="1566"></figure><p>Go back, click <em>ADD LANGUAGES</em> tab and add the languages we've defined in our Nette web application. It was Czech, Slovak, and Polish.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Recording-2021-08-10-at-10.54.35-2.gif" class="kg-image" alt loading="lazy" width="2878" height="1566"><figcaption>Translations overview screen</figcaption></figure><p>You may see most of the strings translated, just waiting for your review. The automated matching with ShareTM improves all the time, and it's likely that thanks to this article (but not only), you would have all the strings automatically translated. That's one of the many powers of Localazy.</p><!--kg-card-begin: html--><div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg xmlns="http://www.w3.org/2000/svg" viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Some parts of this article might not be accurate. This article mentions the ShareTM feature, which we've updated later. Learn more about the <a href="/blog/feature-update-sharetm-improvements">Localazy ShareTM improvements in this article</a>.</p>
</div><!--kg-card-end: html--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-11.17.37.png" class="kg-image" alt loading="lazy" width="2000" height="1860" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-11.17.37.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-11.17.37.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-11.17.37.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-11.17.37.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Translation screen</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-11.18.59.png" class="kg-image" alt loading="lazy" width="2000" height="1166" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-11.18.59.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-11.18.59.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-11.18.59.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-11.18.59.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>ShareTM &amp; Machine Translation suggestions</figcaption></figure><p>Review suggestions and translate our strings. Localazy automatically shows you possible versions and suggestions. Also, the Amazon Machine Translation Engine result is at your disposal to help you with translations for free.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-11.15.25.png" class="kg-image" alt loading="lazy" width="2000" height="939" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-11.15.25.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-11.15.25.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-11.15.25.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-11.15.25.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Translations overview screen (all translated and approved)</figcaption></figure><p>Good job. All strings are translated and translations approved. Now, we have to download them back to the web project.‌</p><pre><code class="language-bash">localazy download</code></pre><blockquote>‌Note that we can also simulate a download first by typing <code>localazy download -s</code></blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-11.23.31.png" class="kg-image" alt loading="lazy" width="456" height="488"><figcaption>Locale files in a project file tree</figcaption></figure><p>Everything went well. When you look into the project file tree, you should see that we have six new files containing translations we've just made in Localazy. Now, delete the cache again and reload the page. Voilà!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-11.30.05.png" class="kg-image" alt loading="lazy" width="2000" height="938" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-11.30.05.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-11.30.05.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-11.30.05.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-11.30.05.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Polish translation</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-11.25.13.png" class="kg-image" alt loading="lazy" width="1624" height="1486" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-11.25.13.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-11.25.13.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-11.25.13.png 1600w, https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-11.25.13.png 1624w" sizes="(min-width: 720px) 720px"><figcaption>Translator Tracy Bar when Polish is used</figcaption></figure><p>‌Check our well-known screens to confirm everything was loaded correctly. It works like a charm!</p><h2 id="theres-one-more-thing-plurals-and-selects">⚠️ There's one more thing - plurals and selects <a class="markdownit-header-anchor" href="#theres-one-more-thing-plurals-and-selects">🔗</a></h2><p>Processing plurals is one of the most complex things when localizing applications. Imagine handling all of the possible variants of plurals for each of the world's languages - that can really be a challenge.</p><p>Fortunately, Localazy knows them all and makes translating completely intuitive. You can read more on that topic in <a href="/docs/general/translating-plurals">How to translate plurals</a>.</p><p>First, let's create a new presenter in the <code>app/Presenters</code> folder - name it, for example, <code>PluralsPresenter</code>. We've already demonstrated how to use translations in templates, this time, we'll use translator directly in a presenter.</p><figure class="kg-card kg-code-card"><pre><code class="language-PHP">&lt;?php

declare(strict_types=1);

namespace App\Presenters;

use Nette;

final class PluralsPresenter extends Nette\Application\UI\Presenter
{
    /** @var Nette\Localization\ITranslator @inject */
	public $translator;

    public function renderDefault() {
        $data = [];
        $this-&gt;sendJson($data);
    }
}</code></pre><figcaption>app/Presenters/PluralsPresenter.php</figcaption></figure><p>Now, when we navigate to <code>localhost:2222/en/plurals</code> in the browser, we see just empty square brackets <code>[]</code> printed out. In the presenter code example, we've also injected a <code>ITranslator</code> dependency.</p><blockquote>More on dependency injection usage in Nette can be found in <a href="https://doc.nette.org/en/3.1/di-usage">DI: Getting Dependencies</a>.</blockquote><p>Because <code>Contributte/Translation</code> plugin is based on Symfony's translation rules, we must define <a href="/dictionary/icu">ICU</a> messages using <a href="https://symfony.com/doc/current/translation/message_format.html">this approach</a>. To use the ICU Message Format, the file containing message has to be suffixed with <code>+intl-icu</code>. Knowing this convention, create a file <code>app/lang/plurals/locale+intl-icu.en.neon</code> with the following content:</p><figure class="kg-card kg-code-card"><pre><code class="language-NEON">num_of_apples: "{apples, plural, one {There is one apple...} other {There are # apples!}}"
users: "We have {count, plural, one {one user named {user_name}} other {# users named {user_name}}}."
baby_gender: "{gender, select, girl {It's a girl!} boy {It's a boy!} other {It's something else!}}"
organizer_gender: "{organizer_gender, select, female {{organizer_name} has invited you for her party!} male {{organizer_name} has invited you for his party!} other {{organizer_name} have invited you for their party!}}"</code></pre><figcaption>app/langs/plurals/locale+intl-icu.en.neon</figcaption></figure><p>We've defined two plurals respecting the English plural types (defining <code>one</code>, <code>other</code>). On top of that, to show you that Localazy handles it all, there are two more ICU select notations named <code>baby_gender</code> and <code>organizer_gender</code>. Let's try to send the strings as a JSON response. Modify our presenter:</p><figure class="kg-card kg-code-card"><pre><code class="language-PHP">...
public function renderDefault() {
        $t = $this-&gt;translator;
        $data = [
            'num_of_apples_0' =&gt;  $t-&gt;translate(
                'locale.num_of_apples', ['apples' =&gt; 0]
            ),
            'num_of_apples_1' =&gt;  $t-&gt;translate(
                'locale.num_of_apples', ['apples' =&gt; 1]
            ),
            'num_of_apples_3' =&gt;  $t-&gt;translate(
                'locale.num_of_apples', ['apples' =&gt; 3]
            ),
            'num_of_apples_9' =&gt;  $t-&gt;translate(
                'locale.num_of_apples', ['apples' =&gt; 9]
            ),
            
            'users_0' =&gt;  $t-&gt;translate('locale.users', [
                'count' =&gt; 0,
                'user_name' =&gt; 'Joe',
            ]),
            'users_5' =&gt;  $t-&gt;translate('locale.users', [
                'count' =&gt; 5,
                'user_name' =&gt; 'Joe',
            ]),

            'baby_gender_girl' =&gt;  $t-&gt;translate(
                'locale.baby_gender', ['gender' =&gt; 'girl']
            ),
            'baby_gender_boy' =&gt;  $t-&gt;translate(
                'locale.baby_gender', ['gender' =&gt; 'boy']
            ),
            'baby_gender_other' =&gt;  $t-&gt;translate(
                'locale.baby_gender', ['gender' =&gt; 'other']
            ),

            'organizer_female' =&gt;  $t-&gt;translate(
                'locale.organizer_gender', [
                'organizer_gender' =&gt; 'female',
                'organizer_name' =&gt; 'Miley'
            ]),
            'organizer_male' =&gt;  $t-&gt;translate(
                'locale.organizer_gender', [
                'organizer_gender' =&gt; 'male',
                'organizer_name' =&gt; 'Kyle'
            ]),
            'organizer_other' =&gt;  $t-&gt;translate(
                'locale.organizer_gender', [
                'organizer_gender' =&gt; 'other',
                'organizer_name' =&gt; 'Daniel'
            ]),
        ];
    $this-&gt;sendJson($data);
}
...</code></pre><figcaption>app/Presenters/Plurals/PluralsPresenter.php</figcaption></figure><p>Also, keep in mind that we have to register the <code>app/lang/plurals</code> directory in <code>local.neon</code> configuration file:</p><figure class="kg-card kg-code-card"><pre><code class="language-NEON">dirs: # directories containing locale files
    - %appDir%/lang/homepage
    - %appDir%/lang/common
    - %appDir%/lang/plurals</code></pre><figcaption>config/local.neon</figcaption></figure><p>Refresh the browser (don't possibly forget to delete the cache). If you reproduced all of my steps, you should see a JSON response similar to mine.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-12.00.06.png" class="kg-image" alt loading="lazy" width="1674" height="1024" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-12.00.06.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-12.00.06.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-12.00.06.png 1600w, https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-12.00.06.png 1674w" sizes="(min-width: 720px) 720px"><figcaption>ICU messages JSON response</figcaption></figure><p>Let's dig into modifying our setup now. We need to tweak it a bit to make everything work correctly. Open <code>localazy.json</code> config file. We need to update both the <em>upload</em> and <em>download</em> sections:</p><figure class="kg-card kg-code-card"><pre><code class="language-json">...
"upload": {
        "type": "neon",
        "files": [
            {
                "pattern": "app/lang/**/locale.en.neon",
                "lang": "inherited",
                "path": "${path}"
            },
            {
                "pattern": "app/lang/**/locale+intl-icu.en.neon",
                "lang": "inherited",
                "path": "${path}"
            }
        ],
        "features": [
            "plural_icu"
        ]
    },
    "download": {
        "files": "${path}/${fileNameWithoutExtension}.${lang}.neon"
    },
    "transformations": [
        {
            "name": "fileNameWithoutExtension",
            "source": "${file}",
            "operations": [
                "substringBefore: ."
            ]
        }
    ]</code></pre><figcaption>localazy.json</figcaption></figure><p>We now provide not only <code>locale.${lang}.neon</code> files, but also <code>locale+intl-icu.${lang}.neon</code> source files. That's why we had to add this pattern into the <code>upload.files</code> section to tell Localazy to process these files as well. ‌‌But our <code>download</code> section also needs to be changed. </p><p>We have to map a correct file name while downloading translations to the form that Nette translation plugin requires. That's why there's a <a href="/docs/cli/transformations">transformation</a> written in the config file. Use <code><a href="/docs/cli/transformations#substringbefore">substringBefore</a></code> to obtain the file name without the extension as a variable, so we can use it to help us build the correct file name.</p><blockquote>There's a <a href="https://discuss.localazy.com/t/have-a-variable-of-filename-without-extension-1/89">thread</a> on the <a href="https://discuss.localazy.com">Localazy Discuss forum</a> that helped me resolve this problem. You can discuss and help each other with app localization. You can also report bugs, add new features ideas and more...</blockquote><p>Localazy CLI consists of lots of optional features. In this example, we are using the ICU Message Format to parse plurals. To tell Localazy that we actually want to parse ICU plurals, we have to provide this in <code>upload.features</code> section. Each of the supported file format can have it's own specific features, in our case everything is described in the <a href="/docs/cli/neon-format#defined-using-icu">NEON format documentation</a>.</p><p>We are ready to upload the ICU messages into Localazy. Use <code>localazy upload</code> again to transfer new changes. When we switch to Localazy user interface now, we see that the language completion status has changed and that there are more strings ready to be translated.</p><blockquote><strong>Little cutaway</strong>: One thing that can also be really helpful and where Localazy rules is the <a href="/docs/general/importing-localization-files">File management</a>. You can click on the File management button to see what we have uploaded. If you click on the file name, you can see the phrases contained in the file. You can also perform various actions on files and file content.</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-12.10.16.png" class="kg-image" alt loading="lazy" width="2000" height="933" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-12.10.16.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-12.10.16.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-12.10.16.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-12.10.16.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>File management - files overview</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-12.10.46.png" class="kg-image" alt loading="lazy" width="2000" height="1003" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-12.10.46.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-12.10.46.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-12.10.46.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-12.10.46.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>File management - file detail</figcaption></figure><p>Now, get back to translations and translate our plurals. We can see that Localazy translation screen is adapted to plurals for the current language being translated. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-12.25.32.png" class="kg-image" alt loading="lazy" width="2000" height="1171" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-12.25.32.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-12.25.32.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-12.25.32.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-12.25.32.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Translating plurals using Localazy</figcaption></figure><p>Practically, that means, that forms <code>one</code> and <code>other</code> from English were automatically mapped into Slovak <code>one</code>, <code>few</code> and <code>other</code> plural forms. It just feels so natural translating plurals using Localazy!</p><p>Localazy also recognizes various formats of placeholders, that can sometimes be quite hard to recognize for a non-technical person or someone without a decent experience with localization. Thanks to Localazy, you will never lose a piece of information that you need to keep in the same format.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-12.38.45.png" class="kg-image" alt loading="lazy" width="2000" height="947" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-12.38.45.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-12.38.45.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-12.38.45.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/08/Screen-Shot-2021-08-10-at-12.38.45.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Translation ICU select using Localazy</figcaption></figure><p>Finish translating all languages and then type <code>localazy download</code> again to transfer newly translated phrases into our application. We can see three new files, containing our ICU translations. Now, after deleting the cache and trying locales by changing the URL in the browser, the translated JSON response is being returned.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-12.57.19.png" class="kg-image" alt loading="lazy" width="1674" height="1024" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/Screen-Shot-2021-08-10-at-12.57.19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/Screen-Shot-2021-08-10-at-12.57.19.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/08/Screen-Shot-2021-08-10-at-12.57.19.png 1600w, https://ghost.localazy.com/content/images/2021/08/Screen-Shot-2021-08-10-at-12.57.19.png 1674w" sizes="(min-width: 720px) 720px"><figcaption>ICU messages JSON response in Czech</figcaption></figure><h2 id="closing-words">✔️ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>This article demonstrated how to use Localazy, Nette framework, and Contributte/Translation plugin to localize a web application. Localazy is a powerful tool that makes translating various applications (not only Nette!) faster, easier, error-proof, and more fun.</p><p>Now, you can <a href="https://github.com/localazy/nette-i18n-example">download the repository</a> with this example project to explore it or <a href="/register">start localizing apps</a> on your own!</p><p>Feel free to join us at <a href="http://discuss.localazy.com/">discuss.localazy.com</a>. Share ideas with other developers, discuss feedback and new concepts, and comment on new features of Localazy as we add them.</p>]]></content:encoded>
            <author>David Václavek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/09/How-to-lokalize-Nette.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[From development to production: 7 tips to optimize mobile app deployments]]></title>
            <link>https://localazy.com/blog/maximizing-mobile-engineering-efficiency-bitrise</link>
            <guid isPermaLink="false">maximizing-mobile-engineering-efficiency-bitrise</guid>
            <pubDate>Thu, 14 Oct 2021 12:38:18 GMT</pubDate>
            <description><![CDATA[Deploying mobile apps can be complex. How can you ensure that new versions are released easily, quickly, and reliably? In this article, we will take you through seven ways to optimize your release process.]]></description>
            <content:encoded><![CDATA[<p>Deploying updates (bug fixes, enhancements, or new features) to mobile apps is significantly more complex than it is for web apps. For the web, you commit to a Git repo, deploy the update to your servers or hosting provider, and users will see those updates when they next visit your site or as soon as they refresh.</p><p>However, for mobile, you have little control over the official app publication platforms (Google Play and iOS App Store), so there is no guarantee your update will be published immediately. Furthermore, even when updates are published, users will not receive those updates until they upgrade their apps through the app stores. This means that if a user has a mobile app version with a bug, they’ll be stuck with that bug until a new version is released and they upgrade. As a result, the mobile app development life cycle is much less forgiving of bugs.</p><p>It is true that even with the best developers and QA testers, you can’t guarantee a bug-free mobile app. Still, you can employ rigorous preventative techniques that make it easier, faster, and more reliable to release updates. Optimizing your mobile app deployment process to production is the surest way to do that.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/08/image-33.png" class="kg-image" alt loading="lazy" width="1600" height="707" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/image-33.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/image-33.png 1000w, https://ghost.localazy.com/content/images/2021/08/image-33.png 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="lessstronggreaterlessstronggreaterlessstronggreater1-decide-on-a-regular-production-release-trainlessstronggreaterlessstronggreaterlessstronggreater"><strong><strong><strong>1. Decide on a regular production release train</strong></strong></strong> <a class="markdownit-header-anchor" href="#lessstronggreaterlessstronggreaterlessstronggreater1-decide-on-a-regular-production-release-trainlessstronggreaterlessstronggreaterlessstronggreater">🔗</a></h2><p>A production <a href="https://www.bitrise.io/release-train">release train</a> is the frequency, agreed upon by members of your team and necessary stakeholders, at which they will deploy to production.</p><p>Adopting a regular production release train — for example, every second Friday or last day of the month — leads to smaller deployments. This way, it is easier to discover and track bugs, ensuring that users can get timely fixes.</p><p>There is no one-size-fits-all approach to deciding on this. Whatever time frame you set should depend on factors like size and proficiency of the team, product backlog, and frequency of feature or bug fix update requests. Overall, <a href="https://medium.com/@kris.wong">Kris Wong</a>, a software architect focusing on mobile app development, suggests that a production deployment cadence of <a href="https://medium.com/vmware-end-user-computing/using-feature-flags-to-enable-nearly-continuous-deployment-for-mobile-apps-b6d0940657ff">two weeks to one month is a good target</a>.</p><h2 id="lessstronggreaterlessstronggreaterlessstronggreater2-move-from-legacy-tools-to-mobile-focused-cicd-toolslessstronggreaterlessstronggreaterlessstronggreater"><strong><strong><strong>2. Move from legacy tools to mobile-focused CI/CD tools</strong></strong></strong> <a class="markdownit-header-anchor" href="#lessstronggreaterlessstronggreaterlessstronggreater2-move-from-legacy-tools-to-mobile-focused-cicd-toolslessstronggreaterlessstronggreaterlessstronggreater">🔗</a></h2><p><a href="/dictionary/continuous-integration">Continuous Integration</a>/Continuous Delivery (CI/CD) is a process of efficiently and frequently delivering apps to users by incorporating automation into the stages of app development.</p><p>There are many CI/CD tools available. But a mobile-focused CI/CD tool considers the unique challenges of building for mobile and has mobile-first features that help you build, test, and deploy mobile apps faster and more efficiently.</p><p>With a mobile-focused CI/CD tool, you’ll get out-of-the-box functionality for all your mobile development needs on one platform alongside outstanding integration with third-party tools necessary to create workflows for any circumstance. You’ll also get support for all mobile environments, languages, and frameworks (<a href="/flutter">Flutter</a>, <a href="/react-native">React Native</a>, <a href="/cordova">Cordova</a>, Dart, Kotlin, <a href="/swift">Swift</a>, and Java, to name a few). In addition, this kind of tool offers the flexibility to set up several simulators for parallel testing, cloud device testing, beta testing, or actual device testing seamlessly.</p><p>To get started, set up your mobile CI/CD pipeline today with a mobile-focused platform like <a href="https://www.bitrise.io/">Bitrise</a> or <a href="https://devcenter.bitrise.io/getting-started/migrating-to-bitrise/migrating-from-jenkins-to-bitrise/">migrate from a legacy CI/CD tool like Jenkins</a>.</p><h2 id="lessstronggreaterlessstronggreaterlessstronggreater3-cache-app-dependencieslessstronggreaterlessstronggreaterlessstronggreater"><strong><strong><strong>3. Cache app dependencies</strong></strong></strong> <a class="markdownit-header-anchor" href="#lessstronggreaterlessstronggreaterlessstronggreater3-cache-app-dependencieslessstronggreaterlessstronggreaterlessstronggreater">🔗</a></h2><p>In a mobile CI/CD pipeline, every new build will typically execute in a new virtual machine (VM). As such, new VMs must be set up from scratch every single time.</p><p>Downloading dependencies unnecessarily every time you run a build wastes a lot of time. With caching, you can store dependencies during the build to speed up your workflow.</p><p>On Bitrise, caching app dependencies is as straightforward as adding the<a href="https://www.bitrise.io/integrations/steps/cache-pull"> <strong><strong>Bitrise.io Cache:Pull</strong></strong></a> Step to download the previous cache and <a href="https://www.bitrise.io/integrations/steps/cache-push"><strong><strong>Bitrise.io Cache:Push</strong></strong></a> Step to check the cache and upload it if required. For more details on how to use Bitrise to cache in your mobile app deployment pipelines, take a look at our other posts on the topic:</p><ul><li><a href="https://blog.bitrise.io/post/optimizing-your-workflows">Optimizing your workflows</a></li><li><a href="https://blog.bitrise.io/post/tune-your-bitrise-workflows-using-cache-in-steps">Tune your Bitrise workflows using cache in steps</a></li><li><a href="https://devcenter.bitrise.io/builds/caching/about-caching-index/">Everything you need to know about caching on Bitrise</a></li></ul><h2 id="lessstronggreaterlessstronggreaterlessstronggreater4-run-build-jobs-in-parallel-on-multiple-vmslessstronggreaterlessstronggreaterlessstronggreater"><strong><strong><strong>4. Run build jobs in parallel on multiple VMs</strong></strong></strong> <a class="markdownit-header-anchor" href="#lessstronggreaterlessstronggreaterlessstronggreater4-run-build-jobs-in-parallel-on-multiple-vmslessstronggreaterlessstronggreaterlessstronggreater">🔗</a></h2><p>As a project expands in size and complexity, so do the requirements from the build process — tons of tests, build steps, and setup tasks. Long build processes slow down development life cycles as developers must wait for build pipelines to complete — however long it takes — before verifying that everything works fine or creating pull requests.</p><p>The majority of build jobs (or steps), such as tests, are run sequentially. Hence, each step runs independently and only happens after the preceding one. What if you split a significant, long build process into different steps and executed them all at the same time?</p><p>For example, a build with four steps that take one minute each would take four minutes to finish when run sequentially. But what happens if you run all four steps at the same time? The build would only take one minute to complete! This is what running build steps across many virtual machines at the same time (parallelism) does. So, you can, for example, run unit tests on one VM and integration tests on another.</p><p>Using Bitrise, you can automatically run builds or steps in parallel with a single trigger using the <a href="https://www.bitrise.io/integrations/steps/build-router-start">Bitrise Start Build</a> Step and the <a href="https://www.bitrise.io/integrations/steps/build-router-wait">Bitrise Wait for Build</a> Step. Here are some articles we’ve written explaining how to run parallel builds on Bitrise:</p><ul><li><a href="https://blog.bitrise.io/post/fan-out-parallel-builds-and-test-reports-on-bitrise-android">Speeding up Android builds by ‘fanning out’ tests on Bitrise</a></li><li><a href="https://blog.bitrise.io/post/fan-out-parallel-builds-and-test-reports-on-bitrise">Speeding up iOS builds by ‘fanning out’ tests on Bitrise</a></li><li><a href="https://devcenter.bitrise.io/builds/triggering-builds/trigger-multiple-workflows/">Starting parallel builds with a single trigger</a></li></ul><h2 id="lessstronggreaterlessstronggreaterlessstronggreater5-automate-deployment-to-app-stores-and-testing-platformslessstronggreaterlessstronggreaterlessstronggreater"><strong><strong><strong>5. Automate deployment to app stores and testing platforms</strong></strong></strong> <a class="markdownit-header-anchor" href="#lessstronggreaterlessstronggreaterlessstronggreater5-automate-deployment-to-app-stores-and-testing-platformslessstronggreaterlessstronggreaterlessstronggreater">🔗</a></h2><p>Deploying mobile apps can mean deploying to a testing platform to distribute builds to testers or deploying to official app stores to distribute releases to the public.</p><p>The process of deploying and delivering mobile app updates through official app stores cannot be entirely automated since these platforms are third-party and have exclusive authority over whether your program satisfies release standards. Still, you can automate the process of submitting updates to these platforms and other manual steps that precede submission, such as: creating and managing signing certificates, code signing, profile provisioning, versioning, packaging release binaries, metadata, or screenshots.</p><p>Automating the deployment process of mobile apps puts time back in the hands of your team and curbs the “human error” risk associated with manually doing repetitive tasks. Instead, they can concentrate on more critical tasks like collecting feedback, spotting bugs, and fixing them.</p><p>Bitrise provides several <a href="https://www.bitrise.io/integrations/steps/category/code-sign">Code Sign Steps</a> and <a href="https://www.bitrise.io/integrations/steps/category/deploy">Deploy Steps</a> that you can easily add to your workflow to automate code signing and deployments for both Android and iOS apps. Here are some articles we’ve written to show how to use these Steps to deploy in whatever way you want to.</p><ul><li><a href="https://blog.bitrise.io/post/how-to-deploy-your-android-app-to-google-play-store">How to deploy your Android app to Google Play Store</a></li><li><a href="https://blog.bitrise.io/post/deploying-expo-react-native-to-appetize">Deploying Expo React Native to Appetize</a></li><li><a href="https://blog.bitrise.io/post/mobile-app-distribution-made-easy-introducing-applivery-integrations">How to deploy Android and iOS apps to Applivery for your tester or employees</a></li><li><a href="https://devcenter.bitrise.io/deploy/ios-deploy/ios-deploy-index/">Deploying iOS apps</a></li></ul><h2 id="lessstronggreaterlessstronggreaterlessstronggreater6-deploy-experimental-features-or-updates-under-feature-flagslessstronggreaterlessstronggreaterlessstronggreater"><strong><strong><strong>6. Deploy experimental features or updates under feature flags</strong></strong></strong> <a class="markdownit-header-anchor" href="#lessstronggreaterlessstronggreaterlessstronggreater6-deploy-experimental-features-or-updates-under-feature-flagslessstronggreaterlessstronggreaterlessstronggreater">🔗</a></h2><p>A feature flag is a Boolean value that specifies whether or not a new feature is enabled. Feature flags help create conditional feature branches in code so that a particular logic is only exposed to particular groups of users at a certain moment.</p><p>Native mobile app distribution is slow and high risk because of the manual app approval process. If something goes wrong in any release, users might be stuck with it for hours or even days, during which some may churn. However, thanks to feature flags, you can roll back or turn off updates immediately without having to deploy a new binary or waiting for the approval process to complete.</p><p>You can reduce development risks, easily perform A/B testing, and incorporate actual user input by releasing experimental features under feature flags. Granted, this may not work for everyone, but it’s ideal for organizations that cannot afford to take a chance on any problems or have long release cycles.</p><p>Implementing feature flags in your code doesn’t have to be a complicated process. You can either build an internal tool for this or use an SDK like <a href="https://launchdarkly.com/">LaunchDarkly</a>.</p><h2 id="lessstronggreaterlessstronggreaterlessstronggreater7-monitor-releases-for-crasheslessstronggreaterlessstronggreaterlessstronggreater"><strong><strong><strong>7. Monitor releases for crashes</strong></strong></strong> <a class="markdownit-header-anchor" href="#lessstronggreaterlessstronggreaterlessstronggreater7-monitor-releases-for-crasheslessstronggreaterlessstronggreaterlessstronggreater">🔗</a></h2><p>You’ve done everything: followed all the right rules, rigorously tested, deployed, and now your updates are live and in the hands of your users. Yet, it doesn’t end there. Mobile apps can crash for a hundred different reasons. Monitoring releases allows you to detect problems before your users spot them and keep track of how your app is functioning. This is vital to improving the user experience and retaining users.</p><p>In most cases, you’ll have to use third-party mobile crash reporting software outside of your CI/CD tool of choice. But if you use Bitrise as your mobile CI/CD tool, you won’t have to worry about that.</p><p><a href="https://www.bitrise.io/add-ons/trace-mobile-monitoring">Trace</a> is Bitrise’s proprietary mobile monitoring solution that integrates easily with your existing Bitrise pipelines. Trace can help you discover, identify, and address issues before users report them — so you can confidently push updates to app stores.</p><p>You’ll also be able to track performance, identify which devices are affected, estimate the number of people affected by the crash, visualize sessions to better understand the user experience, and track down the crash’s source. Setting up Trace is simple — configure via Bitrise Step, Gradle, Cocoapods, or SPM. <a href="https://app.bitrise.io/users/sign_in?sign_in_redirect=%2Ftrace">Learn more about Trace and its capabilities.</a></p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/3PlYVZ48vzk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><h2 id="lessstronggreaterlessstronggreaterlessstronggreatermobile-cicd-is-the-way-forward-for-optimal-mobile-deploymentslessstronggreaterlessstronggreaterlessstronggreater"><strong><strong><strong>Mobile CI/CD is the way forward for optimal mobile deployments</strong></strong></strong> <a class="markdownit-header-anchor" href="#lessstronggreaterlessstronggreaterlessstronggreatermobile-cicd-is-the-way-forward-for-optimal-mobile-deploymentslessstronggreaterlessstronggreaterlessstronggreater">🔗</a></h2><p>There is a slew of other suggestions that might help you improve the efficiency of your mobile app deployment process. Regardless, the CI/CD technology you use will have a big impact on your success — ideally, a mobile CI/CD solution that empowers you to carry out all of these steps with ease.</p><p>Take it from Franz Busch, iOS engineer at <a href="https://www.sixt.com/">Sixt</a>, who <a href="https://www.bitrise.io/customer-stories/sixt">says</a>: “<strong>Bitrise enabled our teams to ship code to our customers with high confidence.”</strong></p><blockquote>This article was <a href="https://blog.bitrise.io/post/from-development-to-production-tips-to-optimize-mobile-app-deployments">originally published on the Bitrise Blog</a> by <a href="https://blog.bitrise.io/author/peter-meinertzhagen">Peter Meinertzhagen</a></blockquote>]]></content:encoded>
            <author>Francisco Melo</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/09/7-tips-with-Bitrise-PM.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to leverage automation for shorter release cycles and less time spent on testing]]></title>
            <link>https://localazy.com/blog/leverage-automation-shorter-release-cycles-less-time-spent-testing-bitrise</link>
            <guid isPermaLink="false">leverage-automation-shorter-release-cycles-less-time-spent-testing-bitrise</guid>
            <pubDate>Thu, 14 Oct 2021 12:38:35 GMT</pubDate>
            <description><![CDATA[Russell Stephens from Compass shares how his team cut down the time spent on testing from 80 hours to 4 and shortened their release cycles to one week. Read on to find out what steps they took to achieve this!]]></description>
            <content:encoded><![CDATA[<p></p><p><a href="https://www.compass.com/">Compass</a> is an American real estate technology company providing software to real estate agents. Through their industry-leading platform, they are changing how agents and clients navigate the process of finding or selling a home. Compass has created the first modern real estate application, pairing the industry’s top talent with technology to make the entire experience of finding a home intelligent and seamless. <br></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/08/image-34.png" class="kg-image" alt loading="lazy" width="1200" height="530" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/image-34.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/image-34.png 1000w, https://ghost.localazy.com/content/images/2021/08/image-34.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="listen-to-podcast">🎧 Listen to podcast <a class="markdownit-header-anchor" href="#listen-to-podcast">🔗</a></h2><p>If you want to listen to how their mobile team accelerated their CI/CD processes, what the milestones were during their journey, and the exciting projects they’re working on, click here for the full episode:</p><!--kg-card-begin: html--><iframe width="100%" scrolling="no" frameborder="0" id="player" src="https://anchor.fm/bitrise/embed/episodes/Building-mobile-infrastructure-with-Russell-Stephens-esn3sl?referrer=https%3A%2F%2Fblog.bitrise.io%2F" allowfullscreen="true"></iframe><!--kg-card-end: html--><h2 id="interview">💬 Interview  <a class="markdownit-header-anchor" href="#interview">🔗</a></h2><p>The following is an excerpt from Bitrise podcast episode with Russell Stephens, Mobile Infrastructure Lead at Compass.</p><p>🟪 <strong><strong>Bitrise: You've gone through quite an evolution when it comes to your CI/CD, from an on-premise Jenkins then transitioning to the cloud, and ultimately, to Bitrise. What kind of impact has this had on your processes and performance?</strong></strong></p><p><strong><strong>Russell:</strong></strong> When I started at the company, there was a stack of Mac minis on someone else's desk. When I came into work one day, someone had spilled either a cup of coffee or a glass of water on the whole stack. Our CI was running when I went to see why none of the computers would turn on anymore, so we entered this journey that ultimately landed us here talking today. Early on, we looked at cloud-based options and ultimately landed with CircleCI, and we ran with them for a while. What we were able to do was run tests on PRs, run the actual upload flow to the App Store through there, but it was very limited — we were still kind of figuring out what mobile infrastructure is and what Mobile DevOps is, all of that. Around 2018, when we stumbled upon Bitrise and saw the ease of use of Workflow Editor, the different projects, and the different tabs, we wanted to see what we can do with it. <br></p><blockquote><strong><strong>We've been impressed that when you go there to drop in new functionality, there's always a little bit more available, so over the years, we've been leveraging CI. If you're doing something manually, you should ultimately be able to automate it.</strong></strong> <strong><strong>Things we've automated over the past year are: the entire release pipeline, including code signing, uploading to the App Store.</strong></strong></blockquote><p>We started with around 5%, unit test coverage and eventually raised that up to 30 to 50. Our team has around 86% code coverage since then, and we’re looking to raise the bar there.<strong><strong> </strong></strong>We also did a heavy dive on UI automation and how we can leverage that to exercise what we call customer workflows, how the feature vertical teams integrate across each other. We're adding automation on top of that to verify how the feature teams come together and how the ultimate customer deliverable works. </p><p>We had about 80 hours of manual regression cycles that we used to run. We initially had four to five manual QA people, as we were working on getting the app out the door. At first, this wasn't a big deal, because we were building a release maybe every month, every two months, and then we moved to two weeks. But when we tried to go down to one week, it was something that was just not possible to do manually. <br></p><p><strong><strong>We introduced automation and slowly raised our automation percentage to sit around 80% over the past year.</strong></strong> How did we really do that? I would say that there's been a lot of effort coming up with the testing infrastructure side and that's something that we've moved over to the mobile infra team. We’ve established patterns — we're using something called the ‘robot pattern’, which is a scalable way to say ‘this is how you can interface with my screen’ — then the different feature teams use those patterns to build automation tests. <br></p><blockquote><strong><strong>As we’ve automated the backlog of all the test cases, the amount of manual testing we've had to do and the amount of time it takes to get the app up the door have steadily decreased. Over the past year, we were actually able to decrease it from 80 hours to just under four hours, by leveraging all these automation flows.</strong></strong></blockquote><p>Obviously, there are challenges. Developers might think “UI testing is not stable, it's flaky, it fails all the time. You can't do it.” It's just one of those things where you always hear the reasons why you can't. But once you pop up in the hood, you use automation, you just start with an assumption where you turn it into a concrete use case — something that either works or it doesn't. If it's not working, you know, we're all engineers, we roll up our sleeves, and we got it to the point where it is today.<br></p><blockquote><strong><strong>Without leveraging the automation here, I don't think it would have been possible to maintain a two-week release cycle, let alone actually getting it down to a one-week consistent release cycle, where we are fully regressing everything in the app.</strong></strong> <strong><strong>We're also getting new feature teams and expanding our feature sets, growing and scaling the team, we're actually still maintaining a decline in our regression. </strong></strong><br></blockquote><p>🟪 <strong><strong>Bitrise: Prior to automating everything, what was your release cycle like?</strong></strong></p><p><strong><strong>Russell:</strong></strong> It was very ad hoc, very much like “Who wants to build the release? Who has the keys on their laptop? Who can sign it?” That graduated more towards this bi-weekly cadence with QA engineers working with us to verify for regression.</p><p>The advantage wasn’t just the continued ability to ship new features — we actually use it and we call it agility. When things go wrong, you also want to be able to get the app out the door and not make things worse.<strong><strong> Let’s say you were to have a production incident, you want to fix it and get it out the door as fast as possible. Getting that down to the four-hour regression cycle that we have now means that if we have an issue that happens overnight, we can fix it and triage it in the morning, and most likely ship it to Apple for review in the same day.</strong></strong> So it's partly to manage the occasional time where you might find a flaw and you want to override it with an update. That is part of the reason for the one week cycle. </p><p>Compass is growing and scaling, there's always more to do, there are more teams popping up, left and right. Let’s say your features are ready mid-sprint, or something you've been working on for three months is now ready to launch — there's always a release that's going out the door. It's just become very regimented. We took a process that was very painful, and actually made it quite, I don't want to say, pleasurable, some may want to say not painful.<br></p><blockquote><strong><strong>Automation is the key here. Without automation, your hands are tied, knowing how to go in and manually rescue things, mapping things as they change. If it's all automated, it's just a simple refactor, a simple button, or a bug fix. And that frees up our developers to just focus on the next big thing that they can chase confidently — knowing that the things they've already worked on are not breaking.</strong></strong><br></blockquote><p>🟪 <strong><strong>Bitrise: How did the transition from Jenkins to Bitrise affect the day-to-day work of your mobile team?</strong></strong></p><p><strong><strong>Russell:</strong></strong> On that perspective, having run a homegrown Jenkins, CI/CD pipeline in the past, once you know that that magical opportunity where ‘our boxes no longer work’ happened, I was very eager to not have that be part of my day to day, just because of the known instabilities. </p><p>As a mobile developer, I don't want to be maintaining the CI/CD, pipeline hardware, and software updates. I've seen this situation where you're building something on Jenkins, and maybe there's the famous pop up that says it's time to update Java, and you have no idea why Jenkins is not finishing your build, you turn on the TV, you find the keyboard for this box you probably keep in the corner, and you're like Java, let's update this right now.</p><blockquote><strong><strong>With Bitrise, we know that it's going to be stable, we know that what you see is what you get, which is great because it frees up our team. I would say it’s turbocharged how we leverage the CI/CD in our day-to-day.</strong></strong></blockquote><blockquote>This article was <a href="https://blog.bitrise.io/post/automation-for-shorter-release-cycles">originally published on the Bitrise Blog</a> by <a href="https://blog.bitrise.io/author/russell-stephens">Rusell Stephens</a></blockquote>]]></content:encoded>
            <author>Francisco Melo</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/09/Using-Bitrise_02.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to make a multi-language application in C]]></title>
            <link>https://localazy.com/blog/make-multi-language-application-in-c-gettext-localazy</link>
            <guid isPermaLink="false">make-multi-language-application-in-c-gettext-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:29:24 GMT</pubDate>
            <description><![CDATA[Learn how to make a multilingual application in C programming language with gnu-gettext for i18n and Localazy. ]]></description>
            <content:encoded><![CDATA[<p>Typically, when you start developing a new app, its interface is in a specific language, perhaps English, if you want to reach an international audience. By <a href="/dictionary/translation">translating</a> your app into other human languages, you can increase the number of people who can install, use, and recommend it.</p><p>A few weeks ago, I started learning the C programming language. It is rather challenging to switch the C’s way of thinking about software engineering. While learning how to work on strings, I wondered how to solve the topic of multilingual applications and <a href="/dictionary/localization">localization</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/image-24.png" class="kg-image" alt loading="lazy" width="2000" height="1340" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-24.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-24.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-24.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-24.png 2000w" sizes="(min-width: 720px) 720px"><figcaption>Unless stated otherwise, all pictures in the article are by the author.</figcaption></figure><h2 id="translate-gtk-app-using-gettext-and-localazy">🎈 Translate GTK app using Gettext and Localazy <a class="markdownit-header-anchor" href="#translate-gtk-app-using-gettext-and-localazy">🔗</a></h2><p>In this article, I will show you how to use <code>Gettext</code> functions to translate a terminal application and a GUI (made using <a href="/dictionary/gtk">GTK</a>). I will show you how to test this solution using environment variables. And finally, I will show you how to manage multiple translations and even how to help yourself with <a href="/dictionary/machine-translation">machine translations</a> using <a href="https://localazy.com/" rel="noopener">Localazy</a>.</p><p>To understand the article, all you need is a basic knowledge of C and possibly some familiarity with the make tool.</p><h4 id="source-code">Source code</h4><p>Repository prepared for the article:</p><p><a href="https://github.com/fischerbach/C-localization" rel="noopener">https://github.com/fischerbach/C-localization</a></p><p>Every section has its own branch. <code>master</code> branch contains final source codes.</p><h2 id="terminal-application">⌨️ Terminal application <a class="markdownit-header-anchor" href="#terminal-application">🔗</a></h2><p>Let’s tackle a simple terminal application first.</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style>

<script src="https://gist.github.com/fischerbach/41f21b64635ac7383a31ebd97dd82a69.js"></script>
                                                                                                                         
</body></html>'></iframe><!--kg-card-end: html--><p>The source code is littered with several strings containing messages. The first thought is to collect them into an array.</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 260px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 200px; }</style>

<script src="https://gist.github.com/fischerbach/43f5914d17e71036ab99b83c0f97e029.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p>Now, they could be easily translated and stored in separate variables. Then we could use conditional compilation and pass the appropriate language to the build tool:</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style>

<script src="https://gist.github.com/fischerbach/280ad9eb668743b0a2415eea589e00b7.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p>This solution has several drawbacks.</p><ol><li>Firstly, already at the compilation stage, you have to choose the language version. The resulting binary will only contain one language. In environments with limited resources, e.g., embedded this may make sense. But the end-user then has to download the version that is right for them.</li><li>Secondly, this is easy to manage as long as there are only a few fixed strings. But if the software continues to be developed, the number could likely increase quickly. Also, some of the labels may stop being used. Then they occupy memory unnecessarily.</li><li>Finally, thirdly, it reduces the readability of the code. What is more readable?</li></ol><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 260px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 200px; }</style>

<script src="https://gist.github.com/fischerbach/df3b52a9de378d70976e94b8a4c7bc0b.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p>You can try to remedy this by using a hashtable, but this will be a bit of reinventing the wheel and will not solve the previously mentioned limits. Fortunately, there is a ready-made solution — the <code>Gettext</code> library and tools.</p><h2 id="gettext">📑 Gettext <a class="markdownit-header-anchor" href="#gettext">🔗</a></h2><p><a href="https://www.gnu.org/software/gettext/" rel="noopener">GNU gettext</a> is a universal set of tools for producing multi-lingual messages. It provides a framework to support translated message strings with minimal effort. It supports many languages.</p><blockquote>In a previous article I described how to use <a href="/dictionary/gnu-gettext">GNU gettext</a> with Python: <strong><a href="/blog/how-to-build-a-multi-language-dashboard-with-streamlit">How to build a multi-language dashboard with Streamlit</a></strong></blockquote><p>The usage pattern is very simple.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-25.png" class="kg-image" alt loading="lazy" width="700" height="907" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-25.png 600w, https://ghost.localazy.com/content/images/2021/07/image-25.png 700w"></figure><p>First, we need to modify the source code and mark strings to be translated.</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style>

<script src="https://gist.github.com/fischerbach/db4f3249da539c0deac149aaf5c8aea0.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p>Note that we added a preprocessor macro to shorten the <code>gettext</code> function into <code>_</code>. This is a common way to mark localized strings. Next, we generate a file from the application source code containing the strings marked for translation.</p><pre><code>xgettext -k_ -o locales/base.pot — language=C do_nothing.c</code></pre><p>Normally <code>xgettext</code> seeks for <code>gettext</code> function surrounding texts, so we need to use <code>-k_</code> option to determine a new name. The output is a template <a href="/pot">POT (Portable Object Template) file</a>.</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 360px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 300px; }</style>

<script src="https://gist.github.com/fischerbach/a170d3f63b138a1cebbd527fc2fe64d0.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p>It contains every localized text. We use it to create files containing other language versions.</p><pre><code>msginit --input=locales/base.pot --locale=pl 
--output=locales/pl/base.po</code></pre><p>These are <a href="/po">PO (Portable Object) files</a> and contain translated texts.</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 260px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 200px; }</style>

<script src="https://gist.github.com/fischerbach/b110624041146790e0858b679d5e97c5.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p>Finally, to use translations in our application, these PO files are converted to MO (Machine Object) files.</p><pre><code>msgfmt --output-file=locales/pl/LC_MESSAGES/base.mo 
locales/pl/base.po</code></pre><p>This may sound complicated, but it basically boils down to using a few basic commands, which can then be built into the <code>Makefile</code>.</p><p>Note the preservation of the directory structure (especially <code>LC_MESSAGES</code>):</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 260px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 200px; }</style>

<script src="https://gist.github.com/fischerbach/1df9611ae7249e9cc622651f09bb0137.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p><strong><strong>The source code for this section is in the </strong></strong><code><strong><strong>step-1</strong></strong></code><strong><strong> branch.</strong></strong></p><p>As an exercise, fork repository, try to create translation to your native language (and maybe create pull request 😉).</p><hr><h3 id="testing">Testing <a class="markdownit-header-anchor" href="#testing">🔗</a></h3><p>To test our solution in the terminal, we need to set <code>locale</code> variables. The UNIX platforms use the environment variables:</p><ul><li><code>LANG</code></li><li><code>LANGUAGE</code></li><li><code>LC_COLLATE</code>, <code>LC_CTYPE</code>, <code>LC_MESSAGES</code>, <code>LC_MONETARY</code>, <code>LC_NUMERIC</code>, <code>LC_TIME</code></li></ul><p>to determine which locale is to be used.</p><p>When an application starts, it looks at the value of the LANG environment variable. You can temporarily change the locale in a terminal session by setting the LANG variable before the name of the output executable:</p><pre><code>LANG=pl ./do_nothing</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-26.png" class="kg-image" alt loading="lazy" width="2000" height="818" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-26.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-26.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-26.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-26.png 2000w" sizes="(min-width: 720px) 720px"></figure><p>As you can see, our application respects the user’s locale settings now.</p><h2 id="gtk-20">🖌️ GTK 2.0 <a class="markdownit-header-anchor" href="#gtk-20">🔗</a></h2><p>The next application we will look at has a GUI implemented using the GTK+2.0 library. Note that this is a fairly archaic version of GTK. However, our application is simple enough that it will even compile using the newer 3.0 version. Furthermore, in terms of translation, the process will be similar regardless of the library and version used.</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style>

<script src="https://gist.github.com/fischerbach/af707169afe743fb5963456b47242429.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p>The application has similar “functionality” to the previous terminal app, but with some graphical interface.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/Juv227dQtbY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>Some lines may cause difficulties, e.g., HTML formatted label.</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 160px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 100px; }</style>

<script src="https://gist.github.com/fischerbach/32d1b26d5b6a74a3c50d19713658868d.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p>Using <code>Gettext</code> with <code>GTK</code> doesn’t differ much.</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 260px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 200px; }</style>

<script src="https://gist.github.com/fischerbach/a0e1ab3f135b82ffc095d5e53462db1f.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p>Glib provides a <code>gi18n</code> header file, which we include. Localized texts are marked exactly the same as in the previous example.</p><p>Result:</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/hw-a46e9ykY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>The fantastic thing is that GTK also automatically translates the labels of built-in dialog window labels!</p><p><strong><strong>The source code for this section is in the </strong></strong><code><strong><strong>step-2</strong></strong></code><strong><strong> branch.</strong></strong></p><hr><h3 id="possible-problems">Possible problems  <a class="markdownit-header-anchor" href="#possible-problems">🔗</a></h3><p>In the course of my work, I encountered a few problems that may be tricky.</p><h4 id="charset-encoding">Charset encoding</h4><p>If your language uses an extended character set, remember to set UTF-8 (or another appropriate charset) in the PO files’ headers.</p><p><a href="https://gist.github.com/fischerbach/e4cbe6b4531cb174f192a7df71b83488" rel="noopener">https://gist.github.com/fischerbach/e4cbe6b4531cb174f192a7df71b83488</a></p><h4 id="proper-locale-directories%E2%80%99-structure">Proper locale directories’ structure</h4><p><br>It’s important to keep the directory structure understandable to <code>Gettext</code>.</p><p>Especially the <code>LC_MESSAGES</code> subdirectory.</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 260px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 200px; }</style>

<script src="https://gist.github.com/fischerbach/1df9611ae7249e9cc622651f09bb0137.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><h4 id="complicated-workflow">Complicated workflow</h4><p>Remembering all the commands that generate the translation files can be tedious, so in the <code>step-3</code> branch you will find simple bash scripts and <code>Makefile</code> modifications to automate this process.</p><h4 id="need-for-regenerating-po-files-every-time">Need for regenerating PO files every time</h4><p>Be careful when re-generating PO files, because you may lose already translated parts. Merging new labels and their translations can be challenging. Therefore, in the next paragraph, you will learn about a web application that makes it as easy as possible to create new language versions.</p><hr><h2 id="localazy">🚩 Localazy <a class="markdownit-header-anchor" href="#localazy">🔗</a></h2><p><a href="https://localazy.com/" rel="noopener">Localazy</a> is an awesome piece of software that makes the usually awful translation experience bearable and even almost pleasure. It supports many frameworks and localization file formats and provides CLI tools for build automation. My favorite features are machine suggestions for translations and automagic management of changes in translated files.</p><p>So let’s integrate our report with Localazy. First, <a href="/register">create a Localazy account</a> and <a href="https://localazy.com/docs/cli/installation" rel="noopener">install Localazy CLI.</a> Then, create a new application.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-27.png" class="kg-image" alt loading="lazy" width="1400" height="942" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-27.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-27.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-27.png 1400w" sizes="(min-width: 720px) 720px"></figure><p>Make sure to set the App Type to Private app. If your app does not contain sensitive data, you can safely leave it Public. Then, select POT files from available file formats.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-28.png" class="kg-image" alt loading="lazy" width="700" height="273" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-28.png 600w, https://ghost.localazy.com/content/images/2021/07/image-28.png 700w"></figure><p>You will see a template configuration file <code>localazy.json</code>. Copy it to the <code>gui-app</code> main folder. Remember to modify the locales folder path. Now you can upload POT files into Localazy:</p><pre><code>localazy upload</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-29.png" class="kg-image" alt loading="lazy" width="2000" height="1601" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-29.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-29.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-29.png 2000w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-30.png" class="kg-image" alt loading="lazy" width="904" height="280" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-30.png 600w, https://ghost.localazy.com/content/images/2021/07/image-30.png 904w" sizes="(min-width: 720px) 720px"></figure><p>Then, go to your app in Localazy and add some new languages. After a while, you will see a list of phrases to translate in each language of your application.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-31.png" class="kg-image" alt loading="lazy" width="2000" height="852" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-31.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-31.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-31.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-31.png 2000w" sizes="(min-width: 720px) 720px"></figure><p>And the cherry on the top, a machine translation suggestions and previously used ones come with each phrase.<br></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-32.png" class="kg-image" alt loading="lazy" width="2000" height="1620" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-32.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-32.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-32.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-32.png 2000w" sizes="(min-width: 720px) 720px"></figure><p>Once all the translations have been accepted or created, you can download them into your application and re-generate binary MO files:</p><pre><code>localazy download
make locales -B</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-33.png" class="kg-image" alt loading="lazy" width="2000" height="1601" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-33.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-33.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-33.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-33.png 2000w" sizes="(min-width: 720px) 720px"></figure><p>Result:</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/hw-a46e9ykY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-34.png" class="kg-image" alt loading="lazy" width="1976" height="612" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-34.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-34.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-34.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-34.png 1976w" sizes="(min-width: 720px) 720px"></figure><p>I’d say it’s quite acceptable.</p><hr><h2 id="takeaways">✔️ Takeaways <a class="markdownit-header-anchor" href="#takeaways">🔗</a></h2><p>Providing more language versions of your application not only increases the potential user base, but also contributes to accessibility and equality. At the same time, it can be very difficult to translate each label and keep track of changes as your application evolves.</p><p>Gettext and Localazy are flexible solutions to localization problems. Each addresses different sources of workload and they complement each other.</p><p>For the C language, the topic of string localization is very broad, so I recommend taking a look at the references below.</p><p>Thank you for reading. I hope you enjoyed reading as much as I enjoyed writing this for you.</p><p>This article was originally published by Rafał Rybnik on <strong><a href="https://levelup.gitconnected.com/how-to-make-a-multi-language-localized-application-in-c-8862e1d1f64f">Level Up Coding by gitconnected.com</a></strong>.</p><h2 id="references">📚 References <a class="markdownit-header-anchor" href="#references">🔗</a></h2><p>GNU Gettext:<br><a href="https://www.gnu.org/software/gettext/" rel="noopener">https://www.gnu.org/software/gettext/</a></p><hr><p><a href="https://www.gnu.org/prep/standards/html_node/Internationalization.html" rel="noopener">https://www.gnu.org/prep/standards/html_node/Internationalization.html</a></p><p><a href="https://ptomato.github.io/advanced-gtk-techniques/html/gettext-project.html" rel="noopener">https://ptomato.github.io/advanced-gtk-techniques/html/gettext-project.html</a></p><p><a href="https://barrgroup.com/embedded-systems/how-to/firmware-internationalization" rel="noopener">https://barrgroup.com/embedded-systems/how-to/firmware-internationalization</a></p><p><a href="https://docs.oracle.com/cd/E23824_01/html/E26033/glmha.html" rel="noopener">https://docs.oracle.com/cd/E23824_01/html/E26033/glmha.html</a></p><p><a href="https://www.labri.fr/perso/fleury/posts/programming/a-quick-gettext-tutorial.html" rel="noopener">https://www.labri.fr/perso/fleury/posts/programming/a-quick-gettext-tutorial.html</a></p><p><a href="https://developer.gnome.org/glib/stable/glib-I18N.html" rel="noopener">https://developer.gnome.org/glib/stable/glib-I18N.html</a></p>]]></content:encoded>
            <author>Rafał Rybnik</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/08/make-a-multi-lang-app-in-C.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to translate an iOS app with Localazy CLI/SDK]]></title>
            <link>https://localazy.com/blog/integrate-localazy-ios-apps-localization-tutorial</link>
            <guid isPermaLink="false">integrate-localazy-ios-apps-localization-tutorial</guid>
            <pubDate>Thu, 16 Apr 2026 14:27:00 GMT</pubDate>
            <description><![CDATA[Are you looking for the ultimate guide on how to localize iOS apps? It doesn't matter if you're just starting out or already have a large existing project. With Localazy, you can start within minutes.]]></description>
            <content:encoded><![CDATA[<p>The process of <a href="/ios">iOS</a> apps <a href="/dictionary/localization">localization</a> has its pitfalls. Some of you may already know the drill. Export the translation files, send them to translators, wait for a couple of days (or weeks). Then import them back to your project, test once again if your translators have translated everything correctly. It's definitely not a favorite task of any developer, and it involves a lot of manual work on the way.<br><br>This article reveals how you can optimize this workflow with Localazy and provide some tips on automating it.</p><h2 id="create-a-new-app">👨‍💻 Create a new app <a class="markdownit-header-anchor" href="#create-a-new-app">🔗</a></h2><p>Let's start by creating a new app. If you already have an existing app with <a href="/dictionary/externalized-string">externalized strings</a>, skip to the next section.</p><p>Open Xcode (14) and click <strong>Create a new Xcode project</strong>. Then select the <strong>iOS </strong>platform and <strong>App </strong>template. On the next screen, Pick a <strong>Product Name. </strong>I named the project "SwiftUIExample". Leave the default options for the rest and confirm.</p><p> You should be greeted with a new template project.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/40.png" class="kg-image" alt="Hello Swift UI" loading="lazy" width="2000" height="1272" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/40.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/40.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/40.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/40.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Hello Swift UI</figcaption></figure><p>Our new project already contains one string we can translate: "Hello, world!". Although to be able to localize it properly, we need to load it from an external file. On iOS, this can be done automatically through <code>.strings</code> file format, so let's create one first.</p><p>Open <strong>File</strong> -&gt; <strong>New</strong> ( <code>⌘N</code> ), pick  <strong>Strings file </strong>and name it "<strong>Localizable.strings</strong>". It would be best if you placed it somewhere in the root folder of the project.</p><p>Then check the result; it should create a new folder named <code>en.lproj</code>, depending on your development language, and inside it is <code>Localized.strings</code> the file we've just added to our project. </p><p>To localize our project, we need to externalize all our source keys into this file.<br>The .strings files have a simple key-value structure, so with our most basic project, it will look like this: </p><pre><code class="language-plaintext">/* 
  Localizable.strings
  SwiftUIExample
  Created by Jan Bilek on 14.07.2021.
*/

"Hello, Localazy!"="Hello, Localazy!";</code></pre><p>You can now run the project and modify the string value to check that the text is indeed loaded automatically from this file. </p><p><strong>💡 TIP: Existing Apps </strong></p><p>If you have an app with a lot of non-externalized strings, you can try to export your localizations automatically by navigating to <strong>Product -&gt; Export Localizations.</strong></p><p>This will create a new folder with your localizable resources. Locate your source language file with the exported strings and paste the contents into the newly created <code>Localizable.strings</code> file from this step.  </p><h2 id="upload-strings-with-cli">📤 Upload strings with CLI <a class="markdownit-header-anchor" href="#upload-strings-with-cli">🔗</a></h2><p><br>If you haven't signed up with Localazy yet, you can create your account <a href="https://localazy.com/register">here</a>. After you've signed up, create a new app. I named mine <a href="https://localazy.com/p/swift-ui-example">Swift UI Example</a>. You'll be then redirected to an empty project, where you should see a list of available integrations. Select <strong>iOS</strong>, and a quick integration guide will appear.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/Screenshot-2021-07-22-at-11.46.06.png" class="kg-image" alt="Localazy integrations" loading="lazy" width="2000" height="1149" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/Screenshot-2021-07-22-at-11.46.06.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/Screenshot-2021-07-22-at-11.46.06.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/Screenshot-2021-07-22-at-11.46.06.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/Screenshot-2021-07-22-at-11.46.06.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy integrates with almost any platform.</figcaption></figure><p>To interact with Localazy in an automated way, you need to install the Localazy CLI tool on your Mac. There are several different <a href="/docs/cli/installation">installation methods</a>, but the easiest is to open the Terminal app and use the <a href="https://brew.sh/">Homebrew</a> package manager. </p><pre><code class="language-bash">$ brew tap localazy/tools &amp;&amp; brew install localazy</code></pre><p>After the installation finishes, try running <code>localazy -h</code> to check for all available <a href="/docs/cli/command-line-options">options</a> and verify that it was completed successfully.</p><p>As a next step, we'll create a configuration file called <code>localazy.json</code> at the root of the project. You can either copy the example from the quick start and modify the path to your files or copy the example below and replace <code>readKey</code> and <code>writeKey</code> with your own.</p><pre><code class="language-json">{

  "writeKey": "&lt;your-write-key&gt;",
  "readKey": "&lt;your-read-key&gt;",
  
  "upload": {
    "type": "ios-strings",
    "files": "en.lproj/Localizable.strings"
  },
  
  "download": {
    "files": "${iosLprojFolder}/${file}"
  }
  
}</code></pre><p>The configuration tells the CLI how to handle your localization files, and it's pretty straightforward. We set the authorization keys here for simplicity, but they can and should be <a href="/docs/cli/authorization">externalized</a>. </p><p>In the <code>upload</code> section, we specify the <a href="/docs/cli/upload-reference#supported-file-formats">file type</a> and path to the file we want to upload (patterns are supported). In the <code>download</code> section, we set the output path and file using auto-populated <a href="/docs/cli/variables">variables</a>.</p><blockquote>To learn more about the configuration options and uploading existing strings, please refer to the <a href="/docs/cli/upload-reference">CLI documentation</a>.</blockquote><p>Now try to upload the strings by running <code>localazy upload</code>. If you wish to test the configuration first, without actually uploading the files to Localazy, you can run the command with a <code>-s</code> flag (simulate mode) and check the output. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/Screenshot-2021-07-22-at-20.21.38.png" class="kg-image" alt="Localazy UI after uploading source language" loading="lazy" width="2000" height="1149" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/Screenshot-2021-07-22-at-20.21.38.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/Screenshot-2021-07-22-at-20.21.38.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/Screenshot-2021-07-22-at-20.21.38.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/Screenshot-2021-07-22-at-20.21.38.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localazy UI after uploading source language</figcaption></figure><p>If you then return to Localazy, you should immediately see the uploaded source language appear. You can browse the uploaded content by clicking on the list icon next to the source language name.</p><p>💡 <strong>TIP: Automate the upload step</strong></p><p>If you don't want to forget to update your strings every time you change them locally, open your xcodeproj settings, Targets -&gt; Build phrases. Add a new one at the very end and set the <code>localazy upload</code> command to run.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/100.png" class="kg-image" alt loading="lazy" width="2000" height="1284" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/100.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/100.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/100.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/100.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Run localazy upload with every build</figcaption></figure><blockquote>The same result can be achieved by running an upload step in your favorite CI tool, after each push or depending on your workflow. Read about the process in <a href="/blog/automated-localization-github-actions-localazy">Automated Localization: GitHub Actions ❤ Localazy</a> for more automation tips.</blockquote><h2 id="download-translations-with-the-cli">📥 Download translations with the CLI <a class="markdownit-header-anchor" href="#download-translations-with-the-cli">🔗</a></h2><p>Before we try to download our strings, let's add a new language and translate it. I'll select Spanish, and it immediately appears in the language list. Clicking on the <strong>Translate</strong> button will bring you to a <a href="/dictionary/translation">translation</a> screen with all the required context to complete this job.<br><br>Note the <strong>Translation note, </strong>which reflects the comment present above the string in the source file. This is especially helpful since you can easily provide an additional context for translators from your source files.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/130.png" class="kg-image" alt="Localazy translation screen" loading="lazy" width="2000" height="1149" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/130.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/130.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/130.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/130.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Translation screen</figcaption></figure><p>To tell Xcode that we want to load additional translations from local files, we need to navigate to xcodeproj settings again, head to the <strong>Info -&gt; Localizations </strong>section, and add the <strong>Spanish</strong> language there.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/Screenshot-2021-07-14-at-17.18.05.png" class="kg-image" alt loading="lazy" width="2000" height="1284" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/Screenshot-2021-07-14-at-17.18.05.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/Screenshot-2021-07-14-at-17.18.05.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/Screenshot-2021-07-14-at-17.18.05.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/Screenshot-2021-07-14-at-17.18.05.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>We've already configured the CLI download for our files in the previous section, so let's just run the download command now.</p><pre><code class="language-bash">$ localazy download</code></pre><p>Set the phone to Spanish, rebuild your project, and you should see your app localized; hooray! 🎉 </p><p>Repeat with as many new languages as you want.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/170.png" class="kg-image" alt="Example app translated into Spanish" loading="lazy" width="2000" height="1422" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/170.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/170.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/170.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/170.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Example app translated into Spanish.</figcaption></figure><p>💡 <strong>TIP: Automate the download step</strong></p><p>We can automate downloads the same way we've automated the upload step. By adding the download command to the project's build phrase or configuring the step in our favorite CI tool. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/Screenshot-2021-07-14-at-17.15.29.png" class="kg-image" alt="Run the download command automatically" loading="lazy" width="2000" height="1284" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/Screenshot-2021-07-14-at-17.15.29.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/Screenshot-2021-07-14-at-17.15.29.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/Screenshot-2021-07-14-at-17.15.29.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/Screenshot-2021-07-14-at-17.15.29.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Run the download command automatically</figcaption></figure><h2 id="tips-for-testing-localizations">💡 Tips for testing localizations <a class="markdownit-header-anchor" href="#tips-for-testing-localizations">🔗</a></h2><p>Changing the phone language in settings each time you want to check a different language might be tedious and time-consuming; however, there are a couple of tricks you can use to check your app in various languages quickly and even simultaneously.</p><ul><li>First, there's an <strong>App Language</strong> setting in the <strong>Product -&gt; Scheme -&gt; Edit Scheme</strong> configuration. To find this option even quicker, use the <code>⌘&lt;</code> shortcut, and it will open this window directly.</li></ul><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/Screenshot-2021-07-14-at-17.31.28.png" class="kg-image" alt loading="lazy" width="2000" height="1284" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/Screenshot-2021-07-14-at-17.31.28.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/Screenshot-2021-07-14-at-17.31.28.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/Screenshot-2021-07-14-at-17.31.28.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/Screenshot-2021-07-14-at-17.31.28.png 2400w" sizes="(min-width: 720px) 720px"></figure><blockquote>Did you know that you can display multiple language versions of your app in the automatic preview canvas? Just add the following code to your content view and restart the preview. </blockquote><pre><code class="language-swift">struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ForEach(["en", "es"], id: \.self) { id in
            ContentView()
                .environment(\.locale, .init(identifier: id))
        }
    }
}</code></pre><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/Screenshot-2021-07-14-at-17.28.12.png" class="kg-image" alt="Localized app preview" loading="lazy" width="2000" height="1284" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/Screenshot-2021-07-14-at-17.28.12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/Screenshot-2021-07-14-at-17.28.12.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/Screenshot-2021-07-14-at-17.28.12.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/Screenshot-2021-07-14-at-17.28.12.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Localized app preview</figcaption></figure><h2 id="deliver-translations-with-sdk">📲 Deliver translations with SDK <a class="markdownit-header-anchor" href="#deliver-translations-with-sdk">🔗</a></h2><p>Using Localazy CLI is really convenient, especially when combined with some CI/CD tool and release cycles. However, what if I tell you there's a way to deliver your updated translations to your users immediately, without a need to publish a new version in the App Store?<br><br>Indeed there is; it's called <a href="https://github.com/localazy/localazy-swift">Localazy Swift SDK</a> and it can enable the so-called Over-the-Air updates (OTA) in your app. Let's take a quick tour of how it works.</p><p>To get started, it's recommended to use the <a href="https://swift.org/package-manager/">Swift Package Manager</a>. Please copy the following URL and add it to your Swift Package Dependencies. </p><pre><code class="language-plaintext">https://github.com/localazy/localazy-swift</code></pre><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/200.png" class="kg-image" alt="Installed localazy-swift dependency" loading="lazy" width="2000" height="1284" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/200.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/200.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/200.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/200.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Installed localazy-swift dependency</figcaption></figure><p>Next, create a new <code>Localazy.plist</code> configuration file and add <code>readKey</code> to it. In this configuration file, it's possible to fine-tune various parameters of the SDK; however, only <code>readKey</code> is required to load the data from the selected project successfully. For more configuration options, check out <a href="/docs/ios/installation-and-setup#configuration">the documentation</a>.</p><p>As a next step import <code>Localazy_iOS</code> library into your view and update all <code>Text</code> constructors to use <code>localazyKey</code> named parameter or <code>.localazyLocalized</code> string extension to load translation using the SDK instead of the default methods. </p><pre><code class="language-swift">struct ContentView: View {
    var body: some View {
        VStack {           
            Text(localazyKey: "Hello, Localazy!")
            .padding()
        }
    }
}</code></pre><blockquote>To read more about the basic usage and methods of the SDK check out <a href="/docs/ios/usage-guide#basic-usage">the documentation</a>.</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/Screenshot-2021-07-15-at-17.04.47.png" class="kg-image" alt loading="lazy" width="2000" height="1272" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/Screenshot-2021-07-15-at-17.04.47.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/Screenshot-2021-07-15-at-17.04.47.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/Screenshot-2021-07-15-at-17.04.47.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/Screenshot-2021-07-15-at-17.04.47.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Use Localazy_iOS library</figcaption></figure><p>The last step is to test the translation. Go back to Localazy and add another language. I've selected French, for example. Translate it fully and wait for the publishing process to complete. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/Screenshot-2021-07-23-at-12.52.05.png" class="kg-image" alt="Localazy language list" loading="lazy" width="2000" height="1149" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/Screenshot-2021-07-23-at-12.52.05.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/Screenshot-2021-07-23-at-12.52.05.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/Screenshot-2021-07-23-at-12.52.05.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/Screenshot-2021-07-23-at-12.52.05.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>The French language is fully translated and published.</figcaption></figure><p>Try to switch now your app language to French, rebuild, and you should see the translation appear on your device. All modifications should also be immediately visible after publishing. </p><p>⚠️ Just beware that there might be caching mechanisms on multiple levels of your app, including the SDK, so you might want to check out the <code>Localazy.shared.forceReload()</code> method for debugging. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/171.png" class="kg-image" alt loading="lazy" width="2000" height="1422" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/171.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/171.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/171.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/07/171.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>French translation updated by SDK.</figcaption></figure><p><br>The greatest benefit of the SDK is that you can deliver all translations to your existing users live, update your app copy when you need to, and even publish new languages on the fly. It just works; try it out! </p><h2 id="resources">📚 Resources <a class="markdownit-header-anchor" href="#resources">🔗</a></h2><ul><li><a href="https://github.com/localazy/localazy-swift">Localazy Swift SDK</a></li><li><a href="https://localazy.com/docs/ios/installation-and-setup">SDK documentation on Localazy</a></li><li><a href="https://github.com/localazy/swift-ui-example">Full project repository on Github</a></li><li><a href="https://localazy.com/p/swift-ui-example">SwiftUIExample project in Localazy</a></li></ul>]]></content:encoded>
            <author>Jan Bílek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/08/How-to-translate-iOS-app-with-localazy-CLI-SDK.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Deliver translated files seamlessly via Localazy CDN]]></title>
            <link>https://localazy.com/blog/deliver-translated-files-localazy-cdn-tutorial</link>
            <guid isPermaLink="false">deliver-translated-files-localazy-cdn-tutorial</guid>
            <pubDate>Thu, 16 Apr 2026 14:29:37 GMT</pubDate>
            <description><![CDATA[Learn how to use the Localazy CDN to deliver translated content globally and automatically and scale your project with less effort!]]></description>
            <content:encoded><![CDATA[<p>As developers, we want to deliver content fast, secure, and reliably to our users. In the case of a small business website, it's no issue leaving all of the content stored with the website's hosting provider. But when your project becomes bigger and bigger, you must be able to scale accordingly. In regards to the scalability of <a href="/dictionary/localization">localization</a> files delivery, we got your back with the Localazy CDN.</p><h2 id="what-is-a-cdn">🤔 What is a CDN?  <a class="markdownit-header-anchor" href="#what-is-a-cdn">🔗</a></h2><p>CDN is an abbreviation for <strong>Content Delivery Network. </strong>At its core, it's a network of servers also named Points of Presence (PoPs) that store replicas of content in their memory (cache) and then deliver it to requesting users. The geographic location determines this delivery to connect the user to the nearest and fastest server, reducing data transfer time (latency). </p><h3 id="what-is-a-language-cdn">What is a language CDN? <a class="markdownit-header-anchor" href="#what-is-a-language-cdn">🔗</a></h3><p>At Localazy, we strive to help developers worldwide with localization. Localazy language CDN delivers the up-to-date translations reliably and directly to the distributed version of your project, without the need of having to download and update the translation files every single time you make an update.</p><p>All of this is powered by the reliable AWS CloudFront.</p><blockquote><em>Learn more about <a href="/docs/general/localazy-cdn"><strong>Localazy CDN</strong> in the documentation</a>.</em></blockquote><h3 id="localazy-cdn-vs-ota-updates">Localazy CDN vs. OTA updates <a class="markdownit-header-anchor" href="#localazy-cdn-vs-ota-updates">🔗</a></h3><p>We designed the Localazy CDN to work mainly with web applications. For mobile apps (<a href="/android">Android</a> &amp; <a href="/ios">iOS</a>), we have OTA (Over-the-air) updates. Both serve the same purpose, which is delivering translated content directly to your users.</p><p>The difference is that our <a href="/docs/general/ota-updates">OTA Updates</a> already come with a library/SDK for Android &amp; iOS. The library/SDK will then automate the process of distributing the content for you. There are so many available options to implement the CDN that we leave it to our users to decide their best approach.</p><blockquote><em>Learn more about <a href="/docs/general/ota-updates"><strong>OTA Updates </strong>in the documentation</a>.</em></blockquote><h3 id="is-localazy-cdn-free-or-paid">Is Localazy CDN free or paid? <a class="markdownit-header-anchor" href="#is-localazy-cdn-free-or-paid">🔗</a></h3><p>Localazy CDN is available with the Free plan, and is a part of Online Services so the pricing is usage based.</p><blockquote>You can check the pricing <a href="/docs/general/localazy-cdn#pricing">here</a>.</blockquote><h2 id="sample-project">🕹️ Sample project <a class="markdownit-header-anchor" href="#sample-project">🔗</a></h2><p>To illustrate the use of CDN, we'll put together a simple project in <strong><a href="/dictionary/javascript">JavaScript</a></strong> using the <strong><a href="/dictionary/i18next">i18next</a></strong> library.</p><p>We will build this example project with the help of the article: <a href="/blog/javascript-app-localization-i18next-localazy">JavaScript app localization with i18next and Localazy</a>.</p><h3 id="creating-the-project">Creating the project <a class="markdownit-header-anchor" href="#creating-the-project">🔗</a></h3><p>Let’s start with an empty project.  We'll be using <code>npm</code> to manage dependencies, so we'll need <a href="https://nodejs.org/en/">Node.js</a> installed. You can verify the installation by running <code>npm -v</code>.</p><pre><code class="language-bash">mkdir cdn-js-app &amp;&amp; cd cdn-js-app &amp;&amp; npm init
</code></pre><p>After running the above command and answering the initial questions, a <code>package.json</code> file should be created. We'll use the following structure to hold our project:</p><pre><code>.
├── index.html
├── package.json
├── src
│   ├── i18n.js
│   └── index.js
└── style.css
</code></pre><p>Inside the <code>index.html</code> file, paste the following code. We will not modify it anymore, meaning that all content will be created dynamically with JavaScript.</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;title&gt;Localize Javascript App with Localazy's CDN&lt;/title&gt;
  &lt;link rel="stylesheet" href="style.css"/&gt;
  &lt;meta charset="UTF-8" /&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id="app"&gt;&lt;/div&gt;
  &lt;script src="src/index.js"&gt;
  &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre><p>To make it easier to work with the project, we'll install the <code>parcel-bundler</code> first. If you don't know <a href="https://parceljs.org/getting_started.html">Parcel</a> yet, it's a web application bundler with a great developer experience.</p><p>Parcel offers blazing-fast performance and requires zero configuration. So basically, with one package installed, you'll get a development server with hot-reloading and production builds. Excellent for quick projects and rapid prototyping.</p><pre><code class="language-bash">npm install -D parcel-bundler
</code></pre><p>You can then simplify running the Parcel bundler by adding a <em>run</em> and <em>build</em> task to the scripts section in your <code>package.json</code>. </p><pre><code class="language-json">{
  "scripts": {
    "start": "parcel index.html --open",
    "build": "parcel build index.html"
  }
}
</code></pre><h3 id="add-source-language-to-localazy">Add source language to Localazy <a class="markdownit-header-anchor" href="#add-source-language-to-localazy">🔗</a></h3><p>Because we will get our language file with <a href="/dictionary/externalized-string">externalized strings</a> through the CDN, we should first add it to Localazy.</p><p>To do that, we will start by creating a translation file, and we'll name it <code>en.json</code>. Inside it, we'll place the following English strings, as it is our source language:</p><pre><code class="language-JSON">{
  "hello_localazy": "Hello Localazy!",
  "cdn_testing": "We're testing the CDN",
  "using_javascript": "In this project we decided to use JavaScript",
  "cdn_info": "With the CDN you can deliver the translation files instantly"
}</code></pre><p>To add the file to Localazy, <a href="/register">sign up</a> or log in and when you find yourself in the dashboard, click <strong>Add New App.</strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/1-1.PNG" class="kg-image" alt loading="lazy" width="1349" height="689" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/1-1.PNG 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/1-1.PNG 1000w, https://ghost.localazy.com/content/images/2021/07/1-1.PNG 1349w" sizes="(min-width: 720px) 720px"><figcaption>Creating a new app in Localazy</figcaption></figure><p>Here, you can name your app, set it public or private, and decide whether to use community translations (<a href="/docs/general/what-is-localazy-sharetm">ShareTM</a>) for your project.</p><p>Now that our app is created, we can add the language file through the <strong>File management </strong>screen.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/2.PNG" class="kg-image" alt loading="lazy" width="1348" height="622" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/2.PNG 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/2.PNG 1000w, https://ghost.localazy.com/content/images/2021/07/2.PNG 1348w" sizes="(min-width: 720px) 720px"><figcaption>Localazy File management screen</figcaption></figure><p>Click the ➕ blue button in the top right, drag and drop the file, pick your choices and upload it.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/3.PNG" class="kg-image" alt loading="lazy" width="1349" height="642" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/3.PNG 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/3.PNG 1000w, https://ghost.localazy.com/content/images/2021/07/3.PNG 1349w" sizes="(min-width: 720px) 720px"><figcaption>Localazy File management screen</figcaption></figure><p>Our file is officially uploaded and ready to be implemented with the CDN.</p><h2 id="integrating-the-project-with-localazy-cdn">🌎 Integrating the project with Localazy CDN <a class="markdownit-header-anchor" href="#integrating-the-project-with-localazy-cdn">🔗</a></h2><p>As a next step, we’re going to install the <code>i18next</code> library. It will help us to quickly load all the locales we have.</p><pre><code class="language-bash">npm install i18next</code></pre><p>The following code needs to be added to our<strong> i18n.js </strong>file:</p><pre><code class="language-JavaScript">// i18n.js
import i18next from "i18next";

export const i18n = i18next;

export const fetchLanguage = async (code) =&gt; {
  const result = await fetch(`https://delivery.localazy.com/_a855374211039568660198b39c31/_e0/dfe5b84c1598c8c56b6f1a11efcd483bb3f417ea/${code}/file.json`);  
  return result.json();
}


export const initI18n = async (callback) =&gt; {
  const result = await fetchLanguage("en");

  i18next.init({
    lng: "en",
    debug: true,    
    resources: {
      en: {
        translation: result
      },
    },
  }, function (err, t) {
    // Call this function once i18next is initialized
    callback()
  });
}</code></pre><p>It works by creating the <code>fetchLanguage</code><strong> </strong>function that loads the specific JSON file from the CDN. The input parameter is the language code; notice that the fetch function inside contains the file URL. This URL can be obtained by clicking on the three dots of the file we uploaded in the <strong>File Manager</strong> or clicking the button right next to it.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/4.PNG" class="kg-image" alt loading="lazy" width="1349" height="646" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/4.PNG 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/4.PNG 1000w, https://ghost.localazy.com/content/images/2021/07/4.PNG 1349w" sizes="(min-width: 720px) 720px"><figcaption>Localazy CDN option in the File management</figcaption></figure><p>The URL in the function has been modified with a <code>${code}</code> placeholder, and this placeholder is going to be used to fetch the different language files dynamically.</p><p>Looking at the<strong> index.js</strong> file, we will need to use the following code to show the strings on the screen.</p><pre><code class="language-JavaScript">// index.js
import { i18n, initI18n } from "./i18n";

const initPageContent = () =&gt; document.write(`

${i18n.t("hello_localazy")}
&lt;br&gt;&lt;br&gt;
${i18n.t("cdn_testing")}
&lt;br&gt;&lt;br&gt;
${i18n.t("using_javascript")}
&lt;br&gt;&lt;br&gt;
${i18n.t("cdn_info")}
`);

initI18n(initPageContent);
</code></pre><p>Depending on your browser, you might have to add the code below to the <code>package.json</code> file or you can get an <code>Uncaught ReferenceError: regeneratorRuntime</code> error.</p><pre><code>"browserslist": [
    "last 1 Chrome version"
  ]</code></pre><p>Once done, try to run the development server with <code>npm start</code>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/5.PNG" class="kg-image" alt loading="lazy" width="838" height="454" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/5.PNG 600w, https://ghost.localazy.com/content/images/2021/07/5.PNG 838w" sizes="(min-width: 720px) 720px"><figcaption>The desired output</figcaption></figure><p>You should see the above result if you set everything up correctly.</p><h3 id="implementing-a-language-switcher">Implementing a language switcher <a class="markdownit-header-anchor" href="#implementing-a-language-switcher">🔗</a></h3><p>What we implemented above is a basic setup of the CDN, and it's enough for one language, but if you're reading this, most likely you want your project translated into different languages.</p><p>For this, we will dynamically fetch all the languages you have associated with your project at Localazy, and we will display them with a simple language switcher, all of this without the need for any local files.</p><h4 id="fetching-different-language-files">Fetching different language files </h4><p>Our <code>fetchLanguage</code> function in our <strong>i18n.js</strong> file accepts language codes to fetch the string files, but we would have to add them manually each time we add a new language. Luckily for us, Localazy offers you a CDN metadata file. This file contains objects with data for each locale we have on our project.</p><p>First things first: we should add more languages to our project. To do this, we head back to our project at Localazy and click on <strong>the Translations</strong> tab. Here, we can see the <strong>Add Languages tab</strong>, where we can choose the languages we will add to our project.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/1.PNG" class="kg-image" alt loading="lazy" width="1348" height="694" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/1.PNG 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/1.PNG 1000w, https://ghost.localazy.com/content/images/2021/08/1.PNG 1348w" sizes="(min-width: 720px) 720px"><figcaption>Adding Languages in Localazy</figcaption></figure><p>We will choose European Portuguese (pt_PT) and Spanish (es) for this example, but feel free to choose whatever languages you would like to add.</p><p>Your screen will then look like this:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/2.PNG" class="kg-image" alt loading="lazy" width="1348" height="692" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/2.PNG 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/2.PNG 1000w, https://ghost.localazy.com/content/images/2021/08/2.PNG 1348w" sizes="(min-width: 720px) 720px"><figcaption>Added Languages in Localazy</figcaption></figure><p>To start translating them, click the blue button on your selected language, and you'll be redirected to this screen:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/1-1.PNG" class="kg-image" alt loading="lazy" width="1345" height="680" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/1-1.PNG 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/1-1.PNG 1000w, https://ghost.localazy.com/content/images/2021/08/1-1.PNG 1345w" sizes="(min-width: 720px) 720px"><figcaption>Translating the strings</figcaption></figure><p>When all the languages have been translated, this is what it'll look like:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/1-2.PNG" class="kg-image" alt loading="lazy" width="1344" height="693" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/1-2.PNG 600w, https://ghost.localazy.com/content/images/size/w1000/2021/08/1-2.PNG 1000w, https://ghost.localazy.com/content/images/2021/08/1-2.PNG 1344w" sizes="(min-width: 720px) 720px"><figcaption>Translated languages in Localazy</figcaption></figure><p>We now need to fetch all the string files. To do that, we will use the metadata file to get the language codes associated with the languages we translated. After we get the language codes, we will then fetch the language file using the <code>fetchLanguage</code> function.</p><p>We will need the metadata URL, which can be accessed from Localazy CDN options:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/4.PNG" class="kg-image" alt loading="lazy" width="1349" height="646" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/4.PNG 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/4.PNG 1000w, https://ghost.localazy.com/content/images/2021/07/4.PNG 1349w" sizes="(min-width: 720px) 720px"><figcaption>Localazy CDN option in the File management</figcaption></figure><p>To fetch the metadata file, we will add the following functions to the <strong>i18n.js</strong> file:</p><pre><code class="language-JavaScript">export const fetchLocalazyMeta = async () =&gt; {
  const result = await fetch(`https://delivery.localazy.com/_a855374211039568660198b39c31/_e0.json`); 
  localazyLocales = Object.values(await result.json())[0]["locales"];
}</code></pre><p>In this function, the metadata file is already being processed for the locales objects to be added into an array called <code>localazyLocales</code>, making it easier to access.</p><p>To extract the language codes, we use this function:</p><pre><code class="language-JavaScript">export const getSupportedLangCodes = () =&gt; {

const languages = localazyLocales.map(
    (locale) =&gt; {
      let langCode = locale.language;
      if (locale.region) {
        langCode = langCode + "-" + locale.region;
      }

      return langCode;
    }
  );

  return languages;
}</code></pre><p>This function retrieves the language parameter from the metadata file, and if it has a region associated with it, it will add it to the string, creating the language codes.</p><p>To get the current language, we use the following code:</p><pre><code class="language-JavaScript">export const getCurrentLanguage = () =&gt; {
  return window.localStorage.i18nextLng || 'en';
}</code></pre><p>To get all languages, we have this:</p><pre><code class="language-JavaScript">export const getLanguages = ()=&gt;{

  return localazyLocales;
}</code></pre><p>This last two functions are needed in the <strong>index.js</strong> file.</p><pre><code class="language-JavaScript">export const initI18n = async (callback) =&gt; {

  await fetchLocalazyMeta()
  const langCodes = getSupportedLangCodes();
  const result = await Promise.all([
    ...langCodes.map(lng=&gt; fetchLanguage(lng))
  ]);

  let resources = {};

  result.forEach((res,index)=&gt;{
    resources[langCodes[index]] = {translation: res};
  })
  i18next.init({
    lng: "en",
    fallbackLng: "en",
    debug: true,
    supportedLngs: langCodes,
    resources,
  }, function (err, t) {
    callback()
  });
}</code></pre><p>This the last function of our <strong>i18n.js</strong> file, it will separate the locales and allow them to be displayed in <strong>index.js.</strong></p><p>The full content of the<strong> i18n.js</strong> file is:</p><pre><code class="language-JavaScript">
import i18next from "i18next";

export const i18n = i18next;

export let localazyLocales = [];


export const fetchLanguage = async (code) =&gt; {
  const result = await fetch(`https://delivery.localazy.com/_a855374211039568660198b39c31/_e0/dfe5b84c1598c8c56b6f1a11efcd483bb3f417ea/${code}/file.json`);  
  return result.json();
}

export const fetchLocalazyMeta = async () =&gt; {
  const result = await fetch(`https://delivery.localazy.com/_a855374211039568660198b39c31/_e0.json`); 
  localazyLocales = Object.values(await result.json())[0]["locales"];
}

export const getSupportedLangCodes = () =&gt; {

const languages =localazyLocales.map(
    (locale) =&gt; {
      let langCode = locale.language;
      if (locale.region) {
        langCode = langCode + "-" + locale.region;
      }

      return langCode;
    }
  );

  return languages;
}

export const getCurrentLanguage = () =&gt; {
  return window.localStorage.i18nextLng || 'en';
}

export const getLanguages = ()=&gt;{

  return localazyLocales;
}

export const initI18n = async (callback) =&gt; {

  await fetchLocalazyMeta()
  const langCodes = getSupportedLangCodes();
  const result = await Promise.all([
    ...langCodes.map(lng=&gt; fetchLanguage(lng))
  ]);

  let resources = {};

  result.forEach((res,index)=&gt;{
    resources[langCodes[index]] = {translation: res};
  })
  i18next.init({
    lng: "en",
    fallbackLng: "en",
    debug: true,
    supportedLngs: langCodes,
    resources,
  }, function (err, t) {
    callback()
  });
}</code></pre><h4 id="creating-the-language-switcher-element">Creating the language switcher element</h4><p>Now that we can dynamically load the files, we must present them in the browser. We will use this very simple language switcher in <code>index.js</code> to easily switch between languages.</p><pre><code class="language-JavaScript">import { i18n, initI18n, getLanguages, getCurrentLanguage, getSupportedLangCodes } from "./i18n";

const createLanguageSelector = () =&gt; {
    const languages = getLanguages();
    const langCodes = getSupportedLangCodes();
    let template = '&lt;select id="selector"&gt;';
    languages.forEach((l, i) =&gt; {
        template += `
    &lt;option ${l.language === getCurrentLanguage() ? "selected" : ""} value="${langCodes[i]}"&gt;
      ${l.localizedName}
    &lt;/option&gt;`
    })
    template += '&lt;/select&gt;';
    return template;
}

const getTranslatedContent = () =&gt; {
    return `${i18n.t("hello_localazy")}&lt;br&gt;&lt;br&gt;
  ${i18n.t("cdn_testing")}&lt;br&gt;&lt;br&gt;
  ${i18n.t("using_javascript")}&lt;br&gt;&lt;br&gt;
  ${i18n.t("cdn_info")}&lt;br&gt;&lt;br&gt;`;
}

const updateTranslatedContent = () =&gt; {
    document.querySelector("#content").innerHTML = getTranslatedContent();
}

const initPageContent = () =&gt; {
    document.querySelector("#app").innerHTML = `  
  ${createLanguageSelector()}   
  &lt;div id="content"&gt;  
    ${getTranslatedContent()}
  &lt;/div&gt;`;

    document.querySelector("#selector").addEventListener("change", (e) =&gt; {
        i18n.changeLanguage(e.target.value);
        updateTranslatedContent();
    })
}

initI18n(initPageContent);</code></pre><p>After running the development server with  <code>npm start</code> , we should now see this outcome:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/1-3.PNG" class="kg-image" alt loading="lazy" width="711" height="356" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/1-3.PNG 600w, https://ghost.localazy.com/content/images/2021/08/1-3.PNG 711w"><figcaption>The language switcher</figcaption></figure><h3 id="adding-a-new-language">Adding a new language <a class="markdownit-header-anchor" href="#adding-a-new-language">🔗</a></h3><p>The best part is that everything is automated now. If we decide to add a new language in the project in Localazy, we will have it automatically added to the project without any intervention ⚙️.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/08/1-5.PNG" class="kg-image" alt loading="lazy" width="836" height="423" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/1-5.PNG 600w, https://ghost.localazy.com/content/images/2021/08/1-5.PNG 836w" sizes="(min-width: 720px) 720px"><figcaption>German language added</figcaption></figure><blockquote>Please remember that the CDN works with cached memory. It might take a bit to refresh the content after it's been added. Just sit back, relax, and soon it'll be delivered ⛱️.</blockquote><h2 id="closing-words">✔️ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>We hope you enjoyed this tutorial and learned how to set up the CDN and how easy it is to start localizing any JavaScript app with it. This might just be the advantage you need for your projects to stay ahead🥇.</p><p>There are obviously various ways you can take to achieve the output above. Feel free to use the code or modify it to your needs.</p><p>If you would like to play around with the prototype, you can check it out on <a href="https://codesandbox.io/s/great-haibt-2uhfs">CodeSandbox</a>. The whole git repository is available on <a href="https://github.com/localazy/i18next-cdn-example">GitHub</a>. If you have any questions, join us on our <a href="https://discord.gg/sQucDznuMp">Localazy Discord</a> for a chat.</p>]]></content:encoded>
            <author>Francisco Melo</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/02/Localazy-CDN.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to Localize a Banner Ad Campaign]]></title>
            <link>https://localazy.com/blog/how-to-localize-banner-ad-campaign</link>
            <guid isPermaLink="false">how-to-localize-banner-ad-campaign</guid>
            <pubDate>Thu, 16 Apr 2026 14:31:26 GMT</pubDate>
            <description><![CDATA[Depending on your industry, the language of communication with potential clients can be more or less important. Every content must be in the language with which your users feel most comfortable. Learn how to make multilingual banners with Localazy!]]></description>
            <content:encoded><![CDATA[<h4></h4><h2 id="banners-for-all-your-markets">🤩 Banners for All Your Markets <a class="markdownit-header-anchor" href="#banners-for-all-your-markets">🔗</a></h2><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/1_nln3AVh8VYYvz_ofDc-wqw.gif" class="kg-image" alt loading="lazy" width="1319" height="884"><figcaption>Unless stated otherwise, all pictures in the article are by the author.</figcaption></figure><p>Translating your banner advertisement into other languages can really impact the effectiveness of your marketing creatives.</p><blockquote><em>In my experience, CTR rates are consistently (and often substantially) higher when ads are written in the local language instead of English. — </em><a href="https://www.searchenginejournal.com/translate-google-ads" rel="noopener nofollow"><em>Pauline Jakober, searchenginejournal.com</em></a></blockquote><p></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/07/image-39.png" class="kg-image" alt loading="lazy" width="768" height="293" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-39.png 600w, https://ghost.localazy.com/content/images/2021/07/image-39.png 768w" sizes="(min-width: 720px) 720px"><figcaption>(source: <a href="https://www.searchenginejournal.com/translate-google-ads/)" rel="noopener nofollow">https://www.searchenginejournal.com/translate-google-ads/)</a></figcaption></figure><p>In this article, we’re not only going to provide some advice on translating advertising creatives, but also show you how to make this process much more streamlined. For more tech-savvy marketers, I will show how to easily manage HTML <a href="/dictionary/translation">translations</a> of banners and how to automatically display the appropriate language version.</p><p>But first, here are few tips on how to make the process easier.</p><h3 id="work-with-trusted-translators">Work with trusted translators <a class="markdownit-header-anchor" href="#work-with-trusted-translators">🔗</a></h3><p>If you are not fluent in the language you are translating into, it is better to use experienced translators. Using <a href="/dictionary/machine-translation">machine translation</a> engines, such as Google Translate or DeepL may be tempting, but unless your advertising communication is simple, I would advise against it. Finding a good translator is a daunting task, especially bringing one into the technologically complex process of launching a digital campaign.</p><p>Therefore, preparing the right tools (more on that later) will pay off.</p><h3 id="track-length-of-words">Track length of words <a class="markdownit-header-anchor" href="#track-length-of-words">🔗</a></h3><p>Some languages seem to require more room than others to say the same thing. You must consider the length of words and character space issues. Text in some languages requires more space than others to say the same thing. That’s why your translators have to know not only the original message of your ad, but also the character-count limit. Moreover, an often-forgotten problem is the variable character width in most fonts.</p><h2 id="case">🎁 Case <a class="markdownit-header-anchor" href="#case">🔗</a></h2><p>Now I’m going to show you how to improve the translation and <a href="/dictionary/localization">localization </a>management of your banners. Let’s say you have a set of banners in different sizes that you would like to translate into another language. Translating every ad takes a lot of time and could be rather repetitive and boring work. Not to mention setting up and managing campaigns for individual languages.</p><p>📦 <a href="https://github.com/fischerbach/fischerbach.github.io/blob/master/download/before.zip" rel="noopener nofollow"><strong>Download a sample banner</strong></a></p><p>The banner adapts to the size of the advertising placement. You can test it by opening the <code>preview.html</code> file from the sample package.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-40.png" class="kg-image" alt loading="lazy" width="2000" height="1351" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-40.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-40.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-40.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-40.png 2000w" sizes="(min-width: 720px) 720px"></figure><p>Since the banner is size responsive, let’s make it adapt to the browser language as well. To edit text, we can use simple JavaScript:</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style>

<script src="https://gist.github.com/fischerbach/992a18110aa1ab5cfa2f69750c695eda.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-41.png" class="kg-image" alt loading="lazy" width="2000" height="1351" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-41.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-41.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-41.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-41.png 2000w" sizes="(min-width: 720px) 720px"></figure><p>Ok, it works. But we would still have to prepare separate files for particular languages (<code>index_en.html</code>, <code>index_pl.html</code>, <code>index_de.html</code> etc.)</p><h2 id="detect-browser-language">🌐 Detect browser language <a class="markdownit-header-anchor" href="#detect-browser-language">🔗</a></h2><p>Therefore, we will first detect the language of the browser and then insert the appropriate language version (or leave the English version, in the absence of a suitable translation).</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style>

<script src="https://gist.github.com/fischerbach/0b1c22b0c57e57a36d6425e79c7a843b.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p>From now on, if you change the language in the browser settings to Polish, the banner will automatically display messages in this language.</p><h2 id="working-with-translations">🧭 Working with translations <a class="markdownit-header-anchor" href="#working-with-translations">🔗</a></h2><p>If we now wanted to add further language versions, using professional translators, we would have to send them the texts, number of characters and other comments. After all, they will not make corrections directly in the source code 😅 But we can make their job easier by implementing a <a href="/dictionary/translation-management-system-tms">translation management system</a>.</p><p>Firstly, we will separate the labels into a separate variable <code>locales</code> and make a few other changes:</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style>

<script src="https://gist.github.com/fischerbach/d5e1fab814d31de3e75aa5de0835ef0b.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 360px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 300px; }</style>

<script src="https://gist.github.com/fischerbach/b1b2c96ec71682a9d12dc2a2305fec4e.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p>Note that we’ve extracted the locales variable into a separate <code>locales.js</code> file. As a result, we can now use Localazy.</p><h2 id="localazy">🚩 Localazy <a class="markdownit-header-anchor" href="#localazy">🔗</a></h2><p><a href="https://localazy.com/" rel="noopener nofollow">Localazy</a> is an awesome piece of software that makes the usually awful translation experience bearable and even almost pleasure. It <a href="/integrations">supports many frameworks and localization file formats</a> and provides <a href="/docs/cli/the-basics">CLI tools</a> for build automation. My favorite features are machine suggestions for translations and <em>automagic</em> management of changes in translated files.</p><p>So, let’s integrate our banner with Localazy. First, <a href="/register">create a Localazy account</a> and <a href="https://localazy.com/docs/cli/installation" rel="noopener nofollow">install Localazy CLI.</a> Then, create a new app.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-42.png" class="kg-image" alt loading="lazy" width="1400" height="867" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-42.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-42.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-42.png 1400w" sizes="(min-width: 720px) 720px"></figure><p>Make sure to set the App Type to Private app. Then, select <a href="/javascript">JavaScript</a> from available file formats.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-43.png" class="kg-image" alt loading="lazy" width="700" height="354" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-43.png 600w, https://ghost.localazy.com/content/images/2021/07/image-43.png 700w"></figure><p>You will see a template configuration file <code>localazy.json</code>. Copy it to the folder with banner source code. We also need to make modifications to support one, multilingual file:</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style>

<script src="https://gist.github.com/fischerbach/8a89a6b4f0c49ad81117d954b17aca76.js"></script>

</body></html>'></iframe><!--kg-card-end: html--><p>Now you can upload file into Localazy:</p><pre><code>localazy upload</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-44.png" class="kg-image" alt loading="lazy" width="700" height="501" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-44.png 600w, https://ghost.localazy.com/content/images/2021/07/image-44.png 700w"></figure><p>Then, go to your app dashboard in Localazy. If you put more than one language in the <code>locales.json</code> file, it should be automatically loaded into Localazy!</p><p>Also, if you add comments next to individual labels, they will be visible in the dashboard.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-45.png" class="kg-image" alt loading="lazy" width="2000" height="1340" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-45.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-45.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-45.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-45.png 2000w" sizes="(min-width: 720px) 720px"></figure><p><br>Let’s now add another language version.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-46.png" class="kg-image" alt loading="lazy" width="2000" height="250" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-46.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-46.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-46.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-46.png 2000w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-47.png" class="kg-image" alt loading="lazy" width="2000" height="907" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-47.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-47.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-47.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-47.png 2000w" sizes="(min-width: 720px) 720px"></figure><p>Once all the translations have been accepted or created, you can download them back into the banner:</p><pre><code>localazy download</code></pre><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-48.png" class="kg-image" alt loading="lazy" width="1400" height="944" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-48.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-48.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-48.png 1400w" sizes="(min-width: 720px) 720px"></figure><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style> <script src="https://gist.github.com/fischerbach/08540b6a0e9f5f35e680164564a03113.js"></script> </body></html>'></iframe><!--kg-card-end: html--><p>Make a note to change the file path:</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 260px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 200px; }</style> <script src="https://gist.github.com/fischerbach/08f2e7ff78fb899e777eb823c7ee1d3b.js"></script> </body></html>'></iframe><!--kg-card-end: html--><p>Let’s now check the German version:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-49.png" class="kg-image" alt loading="lazy" width="2000" height="1351" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-49.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-49.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-49.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-49.png 2000w" sizes="(min-width: 720px) 720px"></figure><p>Nice!</p><p>And the best part is that if Localazy allows you to work collectively on translations. This will allow translators to support work on subsequent language versions, without having to go into technical details.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-50.png" class="kg-image" alt loading="lazy" width="1400" height="407" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-50.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-50.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-50.png 1400w" sizes="(min-width: 720px) 720px"></figure><p>📦 <a href="https://github.com/fischerbach/fischerbach.github.io/blob/master/download/after.zip" rel="noopener nofollow"><strong>Download the final version of the project</strong></a></p><h2 id="takeaways">✔️ Takeaways <a class="markdownit-header-anchor" href="#takeaways">🔗</a></h2><p>Localization is an important part of expanding your business beyond national borders. If you plan to run ads in multiple countries, you need to provide different language versions. Using relatively simple JavaScript and Localazy, all the postulates mentioned in the first part of this article can be implemented. Localazy makes it easy to work with translators and keep an eye on the correct number of characters in texts, while JS will take care of detecting the browser language and displaying the localization.</p><p>Thank you for reading. I hope you enjoyed reading as much as I enjoyed writing this for you.</p><h2 id="you-might-also-like">💖 You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><p>If you enjoyed reading this, you’ll probably enjoy my other articles too:</p><p>🔷 <a href="/blog/how-to-build-a-multi-language-dashboard-with-streamlit">How to build a multi-language dashboard with Streamlit</a></p><p>🔷 <a href="/blog/create-multi-language-newsletters-free-using-google-sheets-localazy">Create multi-language newsletters for free using Google Sheets and Localazy</a></p><p>🔷 <a href="/blog/automatic-data-reports-multiple-languages-python-gettext-localazy">Automatic data reports in multiple languages with Python, Gettext and Localazy</a></p><h2 id="references">📑 References <a class="markdownit-header-anchor" href="#references">🔗</a></h2><ul><li><a href="https://www.daytranslations.com/blog/multilingual-google-ads/" rel="noopener nofollow">https://www.daytranslations.com/blog/multilingual-google-ads/</a></li><li><a href="https://www.searchenginejournal.com/translate-google-ads/348580/" rel="noopener nofollow">https://www.searchenginejournal.com/translate-google-ads/348580/</a></li><li><a href="https://localazy.com/" rel="noopener nofollow">https://localazy.com</a></li></ul><p><em>This article was originally published on <a href="https://medium.datadriveninvestor.com/how-to-localize-banner-ad-campaign-e6ec698d0bc">DataDrivenInvestor</a> by <a href="https://fischerbach.medium.com/">Rafał Rybnik</a></em></p>]]></content:encoded>
            <author>Rafał Rybnik</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/08/How-to-Localize-banner-ad-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localize your App Store marketing content with Localazy and Fastlane]]></title>
            <link>https://localazy.com/blog/localize-app-store-marketing-content-localazy-fastlane</link>
            <guid isPermaLink="false">localize-app-store-marketing-content-localazy-fastlane</guid>
            <pubDate>Thu, 16 Apr 2026 14:33:55 GMT</pubDate>
            <description><![CDATA[Learn how I localize my App Store marketing content with Localazy and Fastlane tools! ]]></description>
            <content:encoded><![CDATA[<p>I briefly talked about my setup in <a href="https://paraside.in/translating-your-ios-app-with-localazy/">my previous article</a>, but I think it deserves its own article given how annoying dealing with this is (to me, at least).</p><p>With a combination of <a href="https://fastlane.tools/">fastlane.tools</a> and <a href="https://localazy.com/">localazy.com</a>, you can simplify your life a lot already.</p><p>Let's see how with a couple of tips.</p><p>🚧 <strong><strong>Fair warning:</strong></strong> it's still very much a work in process, I haven't gone through the whole process of adding a new language and uploading it to production. But the "downloading from App Store", "translating in Localazy" and "updating the metadata handled by fastlane" parts are all working.</p><h2 id="what-needs-to-be-translated">🚩 What needs to be translated? <a class="markdownit-header-anchor" href="#what-needs-to-be-translated">🔗</a></h2><p>Your app page is one of the first point of contact with your (hopefully future) users, and even though you may have localized your whole app, if you don't spend the extra time with <a href="/dictionary/localization">localization</a> of your marketing content, there's a chance you will <strong><strong>scare away</strong></strong> a good number of users.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/08/image-27.png" class="kg-image" alt loading="lazy" width="1000" height="836" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/image-27.png 600w, https://ghost.localazy.com/content/images/2021/08/image-27.png 1000w" sizes="(min-width: 720px) 720px"></figure><p>Here are the different contents:</p><ul><li><strong><strong>App name:</strong></strong> you may or may not want to translate the name of your app. No Meat Today is my brand, but maybe I should consider changing it for some countries like China or Japan</li><li><strong><strong>Subtitle:</strong></strong> this is really important since it's how people get to understand your app</li><li><strong><strong>Screenshots:</strong></strong> these are a bit of a hassle to make in my case, I'll want to automate the creation at some point probably. But there is text, and even if I have to do some copy/pasting, centralizing it in Localazy is still helpful</li><li><strong><strong>Release notes:</strong></strong> I try to actually explain what I do and avoid generic things like "Fixed bugs and made improvements". This changes with every version and is one of the reasons why the subscription including translation credits start to make sense.</li><li><strong><strong>Promotional text:</strong></strong> another kind of text that is likely to change a bit more often then the rest</li><li><strong><strong>Keywords:</strong></strong> these will require instructions, at the minimum that one shouldn't use spaces (to optimize the number of characters)</li></ul><h2 id="fastlane-setup">🧰 fastlane setup <a class="markdownit-header-anchor" href="#fastlane-setup">🔗</a></h2><p><a href="/dictionary/fastlane">fastlane</a> is an amazing tool that does many things, but I currently don't use it to handle my certificates, sign and ship my app, which is probably what it's most well-known for.</p><p>And you don't have to setup the whole thing either. In our case, what we care about is what's called <strong><strong>Deliver</strong></strong>.</p><p>It's pretty easy to setup fastlane, you can find:</p><ul><li>all about the setup here: <a href="https://docs.fastlane.tools/getting-started/ios/setup/">Getting started with fastlane for iOS</a></li><li>and all about deliver here: <a href="https://docs.fastlane.tools/actions/upload_to_app_store/">Upload metadata and binary to App Store Connect (via <em>deliver</em>)</a></li></ul><p>I did try <code>fastlane init swift</code> but I've used good old ruby in the past and I was a bit lost so I deleted everything and ran a simple <code>fastlane init</code>.</p><p>You should end up with a fastlane subfolder, with an <code>AppFile</code> and a <code>DeliverFile</code> in it. For some reason, it didn't pick the proper app_identifier in my AppFile, so I had to change it manually.</p><p>Once this is done, you should end up with a new folder in your project that looks like this. I added it to Xcode with no Target membership so that I can handle everything from there.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/08/image-28.png" class="kg-image" alt loading="lazy" width="574" height="928"></figure><h3 id="downloading-from-the-app-store">Downloading from the App Store <a class="markdownit-header-anchor" href="#downloading-from-the-app-store">🔗</a></h3><p>If you need to redownload your data at some point, check the docs but basically you can call <code>fastlane deliver download_metadata</code> or <code>fastlane deliver download_screenshots</code>.</p><h3 id="uploading-to-the-app-store">Uploading to the App Store <a class="markdownit-header-anchor" href="#uploading-to-the-app-store">🔗</a></h3><p>All this data can be edited and uploaded back to App Store connect by running <code>fastlane deliver</code> from the terminal.</p><p>As mentionned in the docs:</p><blockquote><em>To get a list of available options run</em></blockquote><pre><code>fastlane action deliver</code></pre><h2 id="xcode-setup">🔧 Xcode setup <a class="markdownit-header-anchor" href="#xcode-setup">🔗</a></h2><p><strong><strong>Foreword</strong></strong>: when I wrote the version version of this article, <a href="/docs/cli/plain-text-format">txt support</a> wasn't available. Two days later, it was, and Václav Hodek (Localazy's Founder) helped me with a configuration that made sense for me. Here I'm sharing it with you with some additional tips from my initial setup (the <code>AppStore.strings</code>).</p><p>OK, now that you have an easy way to download/upload your metadata from the App Store, how do we get it translated?</p><p>I use two things:</p><ul><li>the txt files from fastlane</li><li>an <code>AppStore.strings</code> that isn't associated with any Xcode target (because we don't want it to be compiled in the app's binary)</li></ul><h3 id="the-appstorestrings">The AppStore.strings <a class="markdownit-header-anchor" href="#the-appstorestrings">🔗</a></h3><p>Initially, all content was inside this file, which means I would manually copy/paste the subtitle, description, release_notes, etc. As I explained in the intro, Localazy now supports txt files, but I left the initial .strings example file to</p><p>Here's what that <code>AppStore.strings</code> looks like:</p><pre><code class="language-txt">/* Max 30 characters */
"AppStore.subtitle" = "Eat less meat: track, decide!";
/* Max 4000 characters */
"AppStore.description" = "# Exclusive to Apple #

You believe that eating less meat might be good for you, animals and our home planet.
But when you begin to reduce meat consumption, it’s hard to measure your effort and balance your diet.
I know, I’ve been there.

No Meat Today makes tracking your meatless meals in a fun &amp; simple way, whether you want to progressively adopt a vegan diet or find a flexitarian balance that suits you.

--- A LOT MORE TEXT ---

*** Wait no more, become Naomist, adopt the milky way! ***";

/* 2 lines. Use ** to surround the words that should be highlighted */
"AppStore.screenshots.1.headline" = "Your companion to
*eat less meat*";
/* 2 lines */
"AppStore.screenshots.1.subheadline" = "Size your efforts by attracting
cows to your meatless planet";
/* 2 lines. Use ** to surround the words that should be highlighted */
"AppStore.screenshots.2.headline" = "What should your
*next meal* be?";
/* 2 lines */
"AppStore.screenshots.2.subheadline" = "Use your history to decide if
it's time to go meatless";
/* 2 lines */
"AppStore.screenshots.2.notes" = "I call that
\"Asking Naomi\"";
/* 2 lines. Use ** to surround the words that should be highlighted */
"AppStore.screenshots.3.headline" = "Find the balance
*that suits you*";
/* 2 lines */
"AppStore.screenshots.3.subheadline" = "Adjust your target meatless days,
your cows will leave if you go astray";
/* ⚠️ Do not translate "No Milk Today", it's the title of a song. 2 lines. Use ** to surround the words that should be highlighted */
"AppStore.screenshots.4.headline" = "No Milk Today. The vegan journey.";
/* 2 lines */
"AppStore.screenshots.4.subheadline" = "For those of you who want to give
up animal products entirely";
"AppStore.screenshots.4.notes" = "Vegetarians often have a hard time cutting out dairy. Instead of tracking your meatless days, use No Meat Today to track your dairyless days.";
</code></pre><p>A couple notes about this file:</p><ul><li>all keys are prefixed with "AppStore" to identify them easily in Localazy</li><li>I copied the subtitle and description from the metadata (txt files) that fastlane downloaded. ⚠️ Note: these are no longer part of this file since I'm now using the fastlane configuration explained in the next section</li><li>for the subtitle and description, I added a comment about the max number of characters that will show up as translation notes. This is especially important for the subtitle since 30 characters comes pretty quickly.</li><li>I use the fact that .strings file support multiline for the description and for the screenshots</li><li>If you look at my first screenshot in the app page, you can see that the headline has 2 colors. This may not work in all languages, and since I need to manually copy/paste the texts anyway, I added some extra instructions about how to indicate which part of the text should be highlighted.</li></ul><p>Of course, you need to change your Localazy configuration (the one I tell you all about <a href="https://paraside.in/translating-your-ios-app-with-localazy/">here</a>) to sync that <code>AppStore.strings</code>.</p><pre><code>"upload": {
        "files": [
            {
                "type": "ios-strings",
                "pattern": "No Meat Today/Base.lproj/AppStore.strings",
                "path": "No Meat Today"
            },
            {
                "type": "ios-strings",
                "pattern": "No Meat Today/fr.lproj/AppStore.strings",
                "path": "No Meat Today",
                "lang": "fr"
            },
            …
        ]
 }</code></pre><h3 id="uploadingdownload-text-files-to-localazy">Uploading/Download text files to Localazy <a class="markdownit-header-anchor" href="#uploadingdownload-text-files-to-localazy">🔗</a></h3><p>First, some things that are not entirely obvious.</p><p>On the one hand, when you add a language to Xcode, the default choice is the first of the 3 panels below, which in most cases only offers ISO 639-1 2 letter codes without any notion of region.</p><p>You can still access the full catalog if you need to, but if you're like me, you only ever used the first panel.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/08/image-29.png" class="kg-image" alt loading="lazy" width="1000" height="1174" srcset="https://ghost.localazy.com/content/images/size/w600/2021/08/image-29.png 600w, https://ghost.localazy.com/content/images/2021/08/image-29.png 1000w" sizes="(min-width: 720px) 720px"></figure><p>As it turns out, when you localize your App Store marketing content, only the equivalent of that first panel is available, and there's no way to access the other two.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/08/image-31.png" class="kg-image" alt loading="lazy" width="516" height="796"></figure><p>But what happens when you download your metadata with fastlane? It adds the default region code to the folder as you can see below.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/08/image-32.png" class="kg-image" alt loading="lazy" width="544" height="490"></figure><p>And now we have a problem. 😣</p><p>Indeed, in my case, Localazy knows about my "en" and "fr" languages, but when I will try to download the files back, it won't have a way to know that the files should be written using "en-US" and "fr-FR" in the path, and will simply use "en" and "fr".</p><h3 id="the-configuration">The configuration <a class="markdownit-header-anchor" href="#the-configuration">🔗</a></h3><p>Fortunately, Václav Hodek (Localazy's Founder) came to my rescue and saved me a lot of doc-reading time by suggesting the following configuration.</p><pre><code class="language-text">"download": {
        "files": [
            {
              "conditions": [["!startsWith: fastlane, ${path}"]],
              "output": "${path}/${iosLprojFolder}/${file}"
            },
            {
              "conditions": [["startsWith: fastlane, ${path}", "equals: fr, ${lang}"]],
              "output": "fastlane/metadata/fr-FR/${file}"
            }
        ]
    }</code></pre><p>Let's quickly unwrap this (check-out the <a href="https://localazy.com/docs/cli/download-reference">download reference</a> for more details):</p><ul><li>the first "conditions/output" pair handles all non-fastlane files, with the special iosLprojFolder that knows how to turn a language code into a language folder</li><li>the second one handles the French metadata alone</li></ul><p>This means that if you need to handle other languages, you'll have to copy/paste and adjust that 2nd "conditions/output" pair. This is how we coded the logic that "fr" = "fr-FR" into the configuration.</p><p>It's a bit unsatisfying because it's not universal, but it's still manageable.</p><h3 id="other-configurations">Other configurations <a class="markdownit-header-anchor" href="#other-configurations">🔗</a></h3><p>When we talked with Václav, he suggested two other options. Here they are, with the reasons why I didn't favor them (but you might, so I'm sharing them):</p><ul><li>have en_US, fr_FR on Localazy and use transformations in localazy.json to strip the information out for lproj folder: <em><em>this would mean changing the language settings in Xcode, with the possibility that it messes things for other regions (would fr_CA still get French?), plus I'd rather use what seems to be the default for both Xcode and the App Sore</em></em></li><li>separate project for app store descriptions and use en_US, fr_FR as locales there instead: <em><em>having two projects in Localazy adds some complexity (to manage translators, glossaries, etc.)</em></em></li></ul><h2 id="random-tips">💡 Random Tips <a class="markdownit-header-anchor" href="#random-tips">🔗</a></h2><ul><li>Don't forget to add the maximum number of characters in the translation notes (especially for things like the subtitle)</li><li>All keys are named "content", so you can use that to find them, but for now you can't search by filename<br></li></ul><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>With the support of txt files, the combo Localazy + Fastlane made localizing your App Store marketing content really easy:</p><ul><li>download your metadata from App Store Connect with fastlane</li><li>upload to Localazy</li><li>translate (&amp; review, don't forget to review!)</li><li>download from Localazy</li><li>upload your metadata to App Store Connect with fastlane</li></ul><p>Now you can spend time crafting words instead of copy/pasting text, and your app will both be better and more international. Magic! ✨</p><h2 id="before-you-leave">Before you leave 😇 <a class="markdownit-header-anchor" href="#before-you-leave">🔗</a></h2><p>Consider doing or or more of these:</p><ul><li>Follow me on twitter <a href="https://twitter.com/sowenjub">@sowenjub</a> or maybe even subscribe to this blog's newsletter (sporadic)</li><li>Use my referral code to <a href="https://localazy.com/register?ref=aAHPjuSXTN5m">create your localazy account</a></li><li>Download <a href="https://nomeat.today/">No Meat Today</a>, a companion app for people who want to eat less meat, whatever you put behind "less" and "meat" (and ping me if you want to help translate it)</li></ul>]]></content:encoded>
            <author>Arnaud Joubay</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/08/Localizing-App-Store-mkt-content-02-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Make your translators happy to cooperate]]></title>
            <link>https://localazy.com/blog/make-translators-happy-cooperate-localazy</link>
            <guid isPermaLink="false">make-translators-happy-cooperate-localazy</guid>
            <pubDate>Thu, 18 May 2023 09:20:05 GMT</pubDate>
            <description><![CDATA[Who is responsible for the localization quality? You'd say - translators! Right. Who else? Reviewers! True as well. Anybody else? No? There is another party that has huge influence on the quality - You - software developers.]]></description>
            <content:encoded><![CDATA[<p>And the <a href="/dictionary/localization">localization</a> process starts with you. Why? You have so many ways to make your software unlocalizable:</p><ul><li><strong>You can create strings like this:</strong></li></ul><pre><code>msgid "returning_customer_msg_start"
msgstr "Hello "
msgid "returning_customer_msg_end"
msgstr ", welcome back!"*</code></pre><p>These 3 strings should be one: "Hello <em>returning_customer_msg_end</em>, welcome back!". </p><p>Cutting this into 3 segments causes chaos and might lead to serious mistranslations as the translator does not see the full context of the string at first glance.</p><ul><li><strong>You can assign impossible character length restrictions to strings.</strong></li><li><strong>You can make the fields, dialogs, and menus unscaleable</strong>, so the "longer" languages such as Polish (vs. English) will not fit in the space provided.</li></ul><p>The question is: <strong>What can you do to make the <a href="/term/software-localization">software localization</a> process more user-friendly, faster, and finally receive higher quality translations?</strong></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-22.png" class="kg-image" alt loading="lazy" width="1260" height="840" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-22.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-22.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-22.png 1260w" sizes="(min-width: 720px) 720px"></figure><p>Usually, these types of blog posts give you tips such as:</p><ul><li>do not sort your strings alphabetically</li><li>do not hardcode your variables</li></ul><p>And so on. Don't get me wrong - these are all great tips worth implementing, but software developers usually have already read all these suggestions and try to apply them while creating their software. </p><blockquote>If not, please do read, for example, <a href="https://scriptis.com/software-localization-best-practices/">this article on software localization best practices</a>.</blockquote><p>However, today I'd like to focus on some less technical aspects of improving localization quality.</p><h2 id="prepare-a-glossary">📙 Prepare a glossary <a class="markdownit-header-anchor" href="#prepare-a-glossary">🔗</a></h2><p>You know your software in and out, and you know the most technical or unusual or often used words that occur in the strings to translate. Prepare a list of these terms and turn it into a <a href="/dictionary/glossary">glossary</a>.</p><p>Add a short description to each - even one sentence can provide a lot of information for the translator. You do not have to translate the list of terms to other languages - translators will do that - the list is needed to highlight the essential terminology and make their <a href="/dictionary/translation">translations</a> consistent. 👌</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-21.png" class="kg-image" alt loading="lazy" width="1260" height="840" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-21.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-21.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-21.png 1260w" sizes="(min-width: 720px) 720px"></figure><p>The glossary will help your translators and will be helpful in all future updates, new versions, etc., of your software. Even when your localization team changes, you can deliver the glossary to new people, and they will maintain the terminological consistency.</p><blockquote>Localazy comes with a built-in <a href="/docs/general/how-to-define-your-glossary">Glossary</a>; make sure to use it and help your translators! </blockquote><p>A multilingual glossary in a simple format (.csv, .tbx) or the one in your <a href="/dictionary/translation-management-system-tms">translation management system</a> is a fantastic asset to have. </p><p>Suppose you curate your glossary just by sheer managing the terms and having a look at them from time to time. In that case, you will be using them more consistently in your source strings, so you will take care of the quality of texts in your software yourself because consistent source = consistent localization.</p><blockquote><strong>Read the <a href="/blog/introduction-to-translation-glossary-best-practices">Best practices for Glossary use</a> on our blog</strong>.</blockquote><h2 id="write-less">✍️ Write less <a class="markdownit-header-anchor" href="#write-less">🔗</a></h2><p>Do not be paranoid, but try to use as few words as possible. Fewer words = lower price, as localization solution providers will bill you per number of source words. So scan your source strings and the whole software, and find all unnecessary words.</p><p>For example, "<em>Please press the green OK button you can see below.</em>" can safely be turned to "<em>Press OK.</em>"</p><p>Now the tricky part. Your primary aim is NOT paying less for the localization service (this might happen as well, but this is not our goal here), but to spend even a 📈 HIGHER rate per word (for fewer words), as this motivates your translators to give you the best quality.</p><p>A higher rate per word offered allows you to hire a more experienced language professional, who again will provide higher quality.</p><p>Use many 🆒 pictograms and wordless graphical cues. Pictograms might be universal and usually do not require translation. So instead of using a button with <em>"Please click to proceed"</em> text, you can use a pictogram with an arrow pointing right. ▶️</p><p>Remember that you will most probably translate your software to several languages, so even such a simple change may save you dozens of words and have a significant impact on your final rate for translation.</p><h2 id="keep-the-language-simple">🧱 Keep the language simple <a class="markdownit-header-anchor" href="#keep-the-language-simple">🔗</a></h2><p>Keep the strings short and simple. Write three shorter sentences instead of a convoluted one. You will receive fewer queries from your localizers and waste less time answering them. Translations will be more understandable for foreign language speakers. Simple and short. ☑️</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-23.png" class="kg-image" alt loading="lazy" width="630" height="420" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-23.png 600w, https://ghost.localazy.com/content/images/2021/07/image-23.png 630w"></figure><h2 id="make-your-strings-consistent">📑 Make your strings consistent <a class="markdownit-header-anchor" href="#make-your-strings-consistent">🔗</a></h2><p>Let's say you ignore similar/identical strings in your software because you do not know that this can lower the cost of localization, speed up the process and make the translation look/feel/read more consistent.</p><p>So you write three different strings that have the same meaning and are used in a very similar context (if not the same):</p><ul><li><strong>String 1:</strong> Tap the OK button to confirm.</li><li><strong>String 2</strong>: Tap the OK button.</li><li><strong>String 3</strong>: Tap the OK button to continue.</li></ul><p>They will not be recognized by translation software as repetitions, although their meaning is the same. There is a chance that translators will translate them in at least a slightly different way. 💢 You will pay more for three similar segments than for three identical segments. </p><p>Translating three similar segments takes longer than three identical segments. ☝️ Pay attention to repetitive elements - it is worth it.</p><h2 id="provide-context">🏷️ Provide context <a class="markdownit-header-anchor" href="#provide-context">🔗</a></h2><p>Provide as much context as possible. What is context?</p><ul><li>all string IDs #️⃣</li><li>meaningful names of the files to localize</li><li>comments in code 🗨️</li><li>descriptions of functions</li><li>URL to your website/Twitter/Google Play site where you present your software</li><li>software user manual 📓</li><li>FAQ</li><li>localizations to other languages (translators do speak many languages)</li><li>monolingual glossary with term descriptions 📙</li><li>meaningfully named placeholders ("{0}" means nothing, but "{digit}" gives all the info required)</li><li>previous translations</li></ul><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>None of the strategies mentioned above require any special tools or revolutions. You can implement them relatively painlessly. </p><p>They can be summed up in one sentence: <strong>write fewer words, create consistent sentences and produce short strings</strong>. That's it!</p><h2 id="you-might-also-like">🤲 You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><ul><li><strong><a href="/blog/introduction-to-translation-glossary-best-practices">Introduction to Translation Glossary Best Practices</a></strong></li><li><strong><a href="/blog/guide-preparing-application-for-i18n-l10n-localazy">Guide: How to prepare your application for i18n &amp; l10n</a></strong></li><li><a href="/blog/attract-more-contributors-translate-your-app"><strong>How to attract more contributors to translate your app?</strong></a></li></ul>]]></content:encoded>
            <author>Michał Tosza</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/07/Happy-coop.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to build a multi-language dashboard with Streamlit]]></title>
            <link>https://localazy.com/blog/how-to-build-a-multi-language-dashboard-with-streamlit</link>
            <guid isPermaLink="false">how-to-build-a-multi-language-dashboard-with-streamlit</guid>
            <pubDate>Thu, 16 Apr 2026 14:25:15 GMT</pubDate>
            <description><![CDATA[Learn how to create a multi-language dashboard with Streamlit - a popular Python library, and Localazy - a continuous localization platform for translation management.]]></description>
            <content:encoded><![CDATA[<p>I’ve created a Streamlit app for my recent article about <a href="https://medium.datadriveninvestor.com/keyword-monitoring-tool-track-your-competition-in-search-results-83db61f0a696">keyword monitoring</a>. It is used to search keywords in Google and is quite useful. As search results and SEO topics, in general, are location-dependent, I thought it would be useful to translate the app interface into several languages.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/3xAl9ktbQGc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>▶️ <em>Live demo: <a href="http://keywordicebreaker.herokuapp.com/" rel="noopener">http://keywordicebreaker.herokuapp.com/</a></em></p><p>In theory, making another language version does not seem difficult. After all, it is enough to <a href="/dictionary/translation">translate </a>individual labels and descriptions into another language and by using a dictionary to map these.</p><p>In practice, this simple approach is time-consuming and error-prone. It is definitely better not to reinvent the wheel and to use established solutions. One of them is <a href="/dictionary/gnu-gettext">Gettext</a> — a universal set of tools for producing multi-lingual messages.</p><p>From this article, you’ll learn how to translate <a href="/dictionary/streamlit">Streamlit </a>application by using Gettext and Localazy.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-10.png" class="kg-image" alt loading="lazy" width="1206" height="966" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-10.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-10.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-10.png 1206w" sizes="(min-width: 720px) 720px"></figure><h2 id="project-start">🕹️ Project start <a class="markdownit-header-anchor" href="#project-start">🔗</a></h2><p><a href="https://github.com/fischerbach/streamlit-gettext" rel="noopener">https://github.com/fischerbach/streamlit-gettext</a></p><p>A code repository is attached to this article. The individual steps are separated into successive branches. The <code>README.md</code> file contains instructions for getting the dashboard up and running.</p><p>The result should be as follows:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-11.png" class="kg-image" alt loading="lazy" width="1456" height="1167" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-11.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-11.png 1456w" sizes="(min-width: 720px) 720px"></figure><p>After providing the API key:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-12.png" class="kg-image" alt loading="lazy" width="1456" height="1167" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-12.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-12.png 1456w" sizes="(min-width: 720px) 720px"></figure><p>Perhaps, we could translate messages into other languages and use <code>if</code> statements to change them according to the user’s will, but this approach would be tedious and error-prone. Therefore we will first <a href="/dictionary/externalized-string">extract all strings</a> from the code to work on them separately from the business logic.</p><h2 id="gettext">📌 Gettext <a class="markdownit-header-anchor" href="#gettext">🔗</a></h2><p><a href="https://www.gnu.org/software/gettext/" rel="noopener">GNU gettext </a>is a universal set of tools for producing multi-lingual messages. It provides a framework to support translated message strings. It supports many programming languages 😉, including Python. The <code>gettext</code> module comes shipped with Python standard library. The best thing about gettext is that it will help us seamlessly extract text messages into separate files.</p><p>We will prepare English, Polish and German language versions. First, we need to prepare the directory structure.<br></p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 380px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 320px; }</style><script src="https://gist.github.com/fischerbach/08560baea449a8370d4918c37a72aa80.js"></script></body></html>'></iframe><!--kg-card-end: html--><pre><code>mkdir -p locales/{de,pl}/LC_MESSAGES</code></pre><p>Then, we should extract the messages from the code.</p><pre><code>/Library/Frameworks/Python.framework/Versions/3.8/share/doc/python3.8/examples/Tools/i18n/pygettext.py -d base -o locales/base.pot dashboard.py</code></pre><p>To find the <code>pygettext.py</code> file, you can use the command: <code>locate pygettext.py</code> .</p><p>That will generate a <code>base.pot</code> file with strings taken from the <code>dashboard.py</code> file in the <code>locales</code> folder.</p><p>Unfortunately, generated <code>base.pot</code> does not contain any strings. To fix this, we need to modify <code>dashboard.py</code> by marking the messages for translation.</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 260px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 200px; }</style><script src="https://gist.github.com/fischerbach/42148ca9b7c651dd7865d97508c518da.js"></script></body></html>'></iframe><!--kg-card-end: html--><p>After generating the <code>base.pot</code> again, strings appear in it.</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 260px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 200px; }</style><script src="https://gist.github.com/fischerbach/84b50b0c98ea712567e52fa2c151279d.js"></script></body></html>'></iframe><!--kg-card-end: html--><pre><code>branch: step1</code></pre><h2 id="first-translations">🚩 First translations <a class="markdownit-header-anchor" href="#first-translations">🔗</a></h2><p>Now let’s prepare the first translations. Copy and rename the base.pot into each language folder:</p><pre><code>cp locales/base.pot locales/de/LC_MESSAGES/base.po
cp locales/base.pot locales/pl/LC_MESSAGES/base.po</code></pre><p>Let’s modify the individual language files:</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/5595a1330c9a19d411092f17901bf12f.js"></script></body></html>'></iframe><!--kg-card-end: html--><p>To use translation in our program, we need to generate the MO files. MO files are binary data files that are parsed by the Python <code>gettext</code> module and used in the program.</p><pre><code>msgfmt -o locales/de/LC_MESSAGES/base.mo locales/de/LC_MESSAGES/base
msgfmt -o locales/pl/LC_MESSAGES/base.mo locales/pl/LC_MESSAGES/base</code></pre><p>Now we can modify the <code>dashboard.py</code> file to display reports in different languages.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-13.png" class="kg-image" alt loading="lazy" width="335" height="238"></figure><p>At the beginning of the file add:</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 260px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 200px; }</style><script src="https://gist.github.com/fischerbach/a7df103b83d3f5fc673a584fd06d69ae.js"></script></body></html>'></iframe><!--kg-card-end: html--><p>From now on, the user can select a language from a dropdown. The interface will refresh every label that is processed by <code>_()</code> function:</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/FBNCFypuYVA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>Two labels in the app are. translated, it’s time for the rest. The procedure is the same. Every time a string with a message appears in the source code, surround it with the function <code>_(‘This is a string’)</code>. Once this is done, generate the <a href="/pot">POT file</a> from the beginning, copy it to the locales of each language, translate it and generate the binary files.</p><pre><code>branch: step2</code></pre><h2 id="translation-management-with-localazy">📑 Translation management with Localazy <a class="markdownit-header-anchor" href="#translation-management-with-localazy">🔗</a></h2><p>So in the next iteration of our solution, we will add functions to the dashboard that generate POT and MO files. You have all the changes here:</p><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 345px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 285px; }</style><script src="https://gist.github.com/fischerbach/8811b919abbec98df92d485a1cdc80f6.js"></script></body></html>'></iframe><!--kg-card-end: html--><p>Localazy is an awesome piece of software that makes the usually awful translation experience bearable and even almost enjoyable. It <a href="/integrations">supports many frameworks and file formats</a> and provides <a href="/docs/cli/the-basics">CLI tools</a> for build automation. </p><p>My favorite features are the possibility of cooperative translation and <em>automagic management </em>of changes in translated files.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-14.png" class="kg-image" alt loading="lazy" width="1411" height="1108" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-14.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-14.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-14.png 1411w" sizes="(min-width: 720px) 720px"></figure><p>So let’s integrate our report with Localazy. First, <a href="/register">create a Localazy account</a> and install <a href="/docs/cli/installation">Localazy CLI</a>. Then, create a new application.</p><p>Select POT files from available file formats.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-15.png" class="kg-image" alt loading="lazy" width="745" height="345" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-15.png 600w, https://ghost.localazy.com/content/images/2021/07/image-15.png 745w" sizes="(min-width: 720px) 720px"></figure><p>You will see a template configuration file <code>localazy.json</code>. Copy it to the project main folder.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-16.png" class="kg-image" alt loading="lazy" width="700" height="400" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-16.png 600w, https://ghost.localazy.com/content/images/2021/07/image-16.png 700w"></figure><!--kg-card-begin: html--><iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/cf911e1fadb26ce0575d7ebfd0ac5461.js"></script></body></html>'></iframe><!--kg-card-end: html--><p>Remember to modify the <code>locales</code> folder path. Go to your app on Localazy and add some new languages.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-17.png" class="kg-image" alt loading="lazy" width="700" height="158" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-17.png 600w, https://ghost.localazy.com/content/images/2021/07/image-17.png 700w"></figure><p>Now you can generate the PO files again and load them into Localazy:</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-18.png" class="kg-image" alt loading="lazy" width="142" height="51"></figure><pre><code>localazy upload</code></pre><p>After a while, you will see a list of phrases to translate in each language of your application.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-19.png" class="kg-image" alt loading="lazy" width="1456" height="1167" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-19.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-19.png 1456w" sizes="(min-width: 720px) 720px"></figure><p>And the cherry on the top, a <a href="/dictionary/machine-translation">machine translation</a> comes with each phrase.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-20.png" class="kg-image" alt loading="lazy" width="1456" height="1167" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-20.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-20.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-20.png 1456w" sizes="(min-width: 720px) 720px"></figure><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/PW13Tfap8N4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>Once all the translations have been accepted or created, you can download them into your application and re-generate binary MO files.</p><p>Unfortunately, for the changes to be loaded into the Streamlit app, the instance must be reset. If I can resolve this inconvenience, I will update the article.</p><p><strong>Final effect:</strong></p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/d_28H97pmSU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><pre><code>branch: step3</code></pre><h2 id="f-strings-problem">⚠️ f-strings problem <a class="markdownit-header-anchor" href="#f-strings-problem">🔗</a></h2><p>The project uses f-strings quite extensively. Unfortunately, we cannot use them as arguments of <code>_()</code> function, gettext will return an error. I describe how to solve this issue in the <a href="/blog/automatic-data-reports-multiple-languages-python-gettext-localazy#f-strings-problem">previous article</a>.</p><blockquote>Read:<strong> <a href="/blog/automatic-data-reports-multiple-languages-python-gettext-localazy#f-strings-problem">Automatic data reports in multiple languages with Python, Gettext and Localazy</a></strong></blockquote><h2 id="takeaways">✔️ Takeaways <a class="markdownit-header-anchor" href="#takeaways">🔗</a></h2><p>As you can see, the duo of Gettext and Localazy is a flexible solution to localization problems. Each addresses different sources of workload and they complement each other wonderfully.</p><p>The best thing about the combination of Gettext and Localazy is that if we generate new POT files (and thus lose the previously translated parts), Localazy will take care of re-translating them, so as not to repeat the work unnecessarily.</p><p>Thank you for reading. I hope you enjoyed reading as much as I enjoyed writing this for you.</p><p>This article was originally published at <a href="https://blog.devgenius.io/how-to-build-a-multi-language-dashboard-with-streamlit-9bc087dd4243">Dev Genius Blog</a>.</p><p>If you would like to share feedback or simply say <code>hello</code>, you can connect with me on <a href="https://www.linkedin.com/in/rafalrybnik/?locale=en_US">LinkedIn</a>.</p><h2 id="you-might-also-like">💖 You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><p>If you enjoyed reading this, you’ll probably enjoy my other articles too:</p><ul><li><a href="/blog/automatic-data-reports-multiple-languages-python-gettext-localazy">Automatic data reports in multiple languages with Python, Gettext and Localazy</a></li><li><a href="https://medium.datadriveninvestor.com/keyword-monitoring-tool-track-your-competition-in-search-results-83db61f0a696">Keyword Monitoring Tool: Track your competition in search results</a></li></ul>]]></content:encoded>
            <author>Rafał Rybnik</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/07/multi-lang-Dash-with-Streamlit.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Lay back and celebrate with Localazy]]></title>
            <link>https://localazy.com/blog/celebrate-with-localazy</link>
            <guid isPermaLink="false">celebrate-with-localazy</guid>
            <pubDate>Wed, 16 Feb 2022 13:24:30 GMT</pubDate>
            <description><![CDATA[The Hot European summer is approaching halftime, and the whole Localazy team works from places all over the world to help you deliver new languages for your digital products. ]]></description>
            <content:encoded><![CDATA[<p>It has been truly a fantastic year worthy of a cool infographic that we do not have since we focus on delivering actual improvements! 😅</p><p>One of the most appreciated features, <strong>Localazy Continuous Localization</strong>, made its debut in Q1, and nowadays, many well-established brands and growing startups alike can rely on Localazy when it comes to the automated delivery of new languages for their digital products.</p><h2 id="it-is-the-right-time-to-lay-back-and-celebrate-for-the-users">🎉 It is the right time to lay back and celebrate... for the users! <a class="markdownit-header-anchor" href="#it-is-the-right-time-to-lay-back-and-celebrate-for-the-users">🔗</a></h2><p>While the Localazy team works to deliver well-anticipated features such as Teams &amp; Organizations, Figma plugin, or webhooks support, you can now enjoy the summertime and celebrate with us.</p><p>We focus on automation of the delivery process from the first commit of new features to contractor selection and payroll. So you can still enjoy top-notch quality translations for your digital product while we make the management hassle much easier for you.</p><p>Continuous Localization with Localazy is so well-accepted that it made its way into our pricing strategy, and you can now enjoy it thoroughly as well inside Autopilot and Agency plans.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/QbsSJKc2N84" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>To celebrate our first recurring revenue milestone so crucial to keep expanding our team of stellar developers, you can now <a href="https://localazy.to/2tZ6eL">enjoy a limited deal for our users</a> who have been with us for a while.</p><h2 id="to-the-moon-and-beyond">🚀 To the moon and beyond! <a class="markdownit-header-anchor" href="#to-the-moon-and-beyond">🔗</a></h2><p>Release new languages with the Localazy Autopilot plan that you can now grab with a 40% discount. But hurry up because this spaceship has 100 limited seats only, and tickets are being sold off pretty quickly.</p><p>You can easily <strong>save hundreds on software localization</strong> (or digital content of your preference) just by applying for <strong>Localazy Autopilot</strong> with one single coupon:</p><p><a href="https://localazy.to/2tZ6eL">🌟 "<strong>STELLAR100AUTOPILOT</strong>" 🌟</a></p><p>Coupon applies to Autopilot plan for 12 months. If you <a href="https://localazy.to/2tZ6eL">buy it</a> for one year, you will save even more because two months are on us in that case.</p><p>That equals <strong>$588 worth of professional translations on top of our highly rated localization platform for just $294</strong>.</p><h2 id="how-is-that-possible-is-there-a-catch-present-in-the-deal">🤔 How is that possible? Is there a catch present in the deal? <a class="markdownit-header-anchor" href="#how-is-that-possible-is-there-a-catch-present-in-the-deal">🔗</a></h2><p>Well, this is a celebratory coupon, and we do not intend to profit from the celebration. It is our way to say thanks to all of you who expressed their confidence in Localazy. All funds you'll send our way will be used to develop your beloved localization tool even further.</p><p>So if you are our user and would like to boost your multilingual support, <a href="https://localazy.to/2tZ6eL">hit the pricing button</a> and get your deal before others do. Also, I am pretty sure that this type of offer won't repeat as our CMO hates to give away widespread discounts.</p>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/07/Stellar100-campaign.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[App Marketing 101: The importance of app icon]]></title>
            <link>https://localazy.com/blog/app-marketing-101-the-importance-of-app-icon</link>
            <guid isPermaLink="false">app-marketing-101-the-importance-of-app-icon</guid>
            <pubDate>Thu, 18 May 2023 09:21:47 GMT</pubDate>
            <description><![CDATA[Have you ever thought about how important is your app's icon to your success? Let dive deep into this overlooked topic.]]></description>
            <content:encoded><![CDATA[<h2 id="why-is-your-icon-important">🤔 Why is your icon important? <a class="markdownit-header-anchor" href="#why-is-your-icon-important">🔗</a></h2><p>Your app's icon is the first thing your potential users see and it is an important part of App Store Optimization and can impact the success of your <a href="/dictionary/app-monetization">monetization</a> efforts. Whether they get to your app on Google Play, Huawei AppGallery, Amazon AppStore, or any other store/site, the most prominent is always the icon.</p><p>Users use it to ensure that your app is really what they are looking for when referred from other sources. They are instinctively looking for a familiar symbol.</p><p>In search,<strong> the app icon is the first to attract users' interest</strong>. Imagine that you search for, e.g., note-taking apps, and there are plenty of them.</p><p>Which one are you more likely to click on to see details?</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image.png" class="kg-image" alt loading="lazy" width="1200" height="180" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image.png 1000w, https://ghost.localazy.com/content/images/2021/07/image.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>Your eyes preselect apps by their icon. Also, the icon is a small but extremely important advertisement. You can use it to communicate with users that find your app by accident. We'll talk about it later.</p><h2 id="design-is-important">📐 Design is important <a class="markdownit-header-anchor" href="#design-is-important">🔗</a></h2><p>Your icon should be <strong>simple, clean, modern, and easily recognizable</strong>. Avoid using photos or too complex icons with too many colors and text. Avoid using texts in icons (there are some exceptions, and we will talk about them later). </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-1.png" class="kg-image" alt loading="lazy" width="1200" height="269" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-1.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-1.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-1.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>Avoid icons that don't have a proper aspect ratio, are blurred, or otherwise imperfect. <strong>Your app's icon communicates your approach.</strong> Do you care about details or not? Are you doing your best? Do you invest time to do things properly? What do you want users to know about you from the first sight of your icon?</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-2.png" class="kg-image" alt loading="lazy" width="1200" height="269" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-2.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-2.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-2.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>Your app's icon should be related to its purpose. It should communicate what users can expect from your app and what it will help them with. When looking for a note-taking app, you are more inclined to click on the one with a notepad, paper, pencil, etc. But you probably avoid the one with flowers unless it's a familiar and established brand.</p><p>However, with respect to the previous paragraph, <strong>you don't want your app icon to be the same as thousand others!</strong> Search for similar apps, do your research, come with ideas, verify that they are unique enough but still familiar. Don't be afraid of symbolism, but don't overthink it.</p><p></p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-3.png" class="kg-image" alt loading="lazy" width="1200" height="182" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-3.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-3.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-3.png 1200w" sizes="(min-width: 720px) 720px"></figure><p></p><p>Don't use icons from ready-made sets such as those used in the operating system as-is. Others are likely to do the same, and you lose your uniqueness. However, ready-made sets are a great source of inspiration for communicating the purpose of your app through the icon.</p><p>There are some exceptions to this chapter -<strong> e.g., games often use very complex icons full of colors</strong>. It depends on the target audience and its preferences. Don't follow our advice blindly, and do your research.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-4.png" class="kg-image" alt loading="lazy" width="1200" height="88" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-4.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-4.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-4.png 1200w" sizes="(min-width: 720px) 720px"></figure><p></p><h2 id="icon-is-a-part-of-ux">🕹️ Icon is a part of UX <a class="markdownit-header-anchor" href="#icon-is-a-part-of-ux">🔗</a></h2><p>Your app's <strong>icon is NOT an isolated image</strong>. It's a part of your app, it should use the same colors, and it should be a model for other icons inside your app, such as those in the menu, etc.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-5.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-5.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-5.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-5.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>Think about it when designing the icon, so you are sure that you can use its colors across your apps both for light and dark themes and that its colors are not going to hurt your users' eyes if the icons are used in the toolbar.</p><p>Even small things like a completely different color of the icon and colors of your app on the screenshots shown in the store may affect your users' decision-making process.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-6.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-6.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-6.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-6.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>Also, if everything nicely fits together and your users' experience is seamless, <strong>they are more likely to give you a better rating/review</strong>, thus affecting your app's success in the long run. A considerable part of reviews for my apps mentioned design as a critical issue/benefit.</p><h2 id="app-vs-store-icon">🛍️ App vs. Store icon <a class="markdownit-header-anchor" href="#app-vs-store-icon">🔗</a></h2><p>I have a slightly different icon in stores - as described in the next chapter, I hesitate to change it radically. The app icon is less of marketing material, and you can experiment with it. I use a similar icon but more modernized and often adapted for its purpose - e.g., you can have a slightly different icon for the free and full version.</p><p>Also, it's a good practice to make the icon simpler and cleaner for the app, so it stays beautiful even on low-res screens. <strong>A beautiful and clean icon is also better for ads.</strong> You can, e.g., use a smooth gradient on the store and solid color for the app.</p><p>However, keep in mind that users shouldn't be confused, and they should be able to find the installed app by a similar icon. Also, respect all the things like rounded corners, shadows, etc. Even such a small thing affects the overall user experience and can earn you better ratings/reviews, and those are extremely important for your success.</p><h3 id="platform-specific-use">Platform specific use <a class="markdownit-header-anchor" href="#platform-specific-use">🔗</a></h3><p>Keep in mind that each operating system, manufacturer, and app marketplace might have different requirements and different ways to display your icon. On top of that consider various proprietary <a href="/android">Android </a>ROMs and Launchers...</p><ul><li>Read the official <a href="https://developer.android.com/google-play/resources/icon-design-specifications">Google Play icon design specifications</a>.</li></ul><p>And, for example, <a href="/ios">iOS</a> always applies rounded corners to your design; some systems don't allow alpha channel (transparency) in your icon, etc.</p><ul><li>Read the official <a href="https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/">Apple AppStore App Icon guidelines</a></li></ul><p>Your <strong>icon should be universal enough to look good on most platforms</strong> and outlets.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-7.png" class="kg-image" alt loading="lazy" width="1200" height="485" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-7.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-7.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-7.png 1200w" sizes="(min-width: 720px) 720px"></figure><p></p><h2 id="invest-early-and-be-careful-with-updates">🤲 Invest early and be careful with updates <a class="markdownit-header-anchor" href="#invest-early-and-be-careful-with-updates">🔗</a></h2><p>If you plan your app to be a new big thing or see traction for your existing app, go and get an excellent icon for it. It's a long-term investment. My app has the same icon for years.</p><p>I have slightly modernized it, but it's a bit obsolete as of now. A few years ago, I changed it to an entirely new and modern one. Downloads and sales dropped immediately.</p><p>Why? Because it was no longer recognizable for potential users. There were already tons of posts on social media, blogs, YouTube, etc., with my old icon. Also, other apps, trying to get a part of my users, use a similar name, making it even harder for potential users to find the correct one.</p><blockquote>The icon and the #1 position on Google Play for specific keywords were a no-brainer for my app. Click, install, and go. And the user can be sure that they get the app they wanted. If you need to change the icon for a successful app, iterate it in small steps. Make it better over time, but keep the relation with the previous version.</blockquote><h2 id="diy-or-hire-a-professional">🖌️ DIY or hire a professional? <a class="markdownit-header-anchor" href="#diy-or-hire-a-professional">🔗</a></h2><p>If you are not a designer at heart or don't want to design the icon on your own, hire a professional.<strong> If your budget is tight, you can try gig marketplaces like <a href="https://www.fiverr.com/">Fiverr </a>and others.</strong> Go through designers' profiles to get a feel for their style and choose someone you like.</p><p>Be thorough with your proposal and express your expectations to avoid countless iterations of the designs. Ideally, share this article with the designer. Even the most excellent and most talented designers might need a refresher or a slight nudge in the right direction.</p><h2 id="steal-the-icon">🤫 Steal the icon? <a class="markdownit-header-anchor" href="#steal-the-icon">🔗</a></h2><p>I rarely see this happen for better apps, but as described in the Invest early chapter, you can mimic the icon of more successful apps to get recognizable for potential users.</p><p>Even if they are not satisfied with the original app, they are more inclined to try another app with a familiar name/icon.<strong> I don't recommend doing it because you are losing your own identity</strong>, and you are likely to stay at the tail forever.</p><h2 id="icon-as-advertisement">🏷️ Icon as advertisement <a class="markdownit-header-anchor" href="#icon-as-advertisement">🔗</a></h2><p>Use your app's icon for communication with your users. There are two general approaches how to do it:</p><h3 id="additional-information-seamlessly-integrated-with-the-icon">Additional information seamlessly integrated with the icon <a class="markdownit-header-anchor" href="#additional-information-seamlessly-integrated-with-the-icon">🔗</a></h3><p>You can use very short words such as "FREE" to highlight the given app as a free version. It attracts a bit more attention. However, it has to be seamlessly designed, so it's not going to break the user experience. This is a nice trick if you have more versions such as FREE/FULL, etc.</p><h3 id="icon-breaking-announcement">Icon-breaking announcement <a class="markdownit-header-anchor" href="#icon-breaking-announcement">🔗</a></h3><p>From time to time, you can communicate discounted actions. I regularly run discounts for, e.g., Black Fridays &amp; Cyber Mondays. I have a different version of the store icon with a red ribbon over one corner for this special occasion, highlighting a 70% discount.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-8.png" class="kg-image" alt loading="lazy" width="1200" height="451" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-8.png 1000w, https://ghost.localazy.com/content/images/2021/07/image-8.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>It makes the app even more visible and attracts users searching the store for discounts and sales. It can temporarily "break" the design of the icon to make an announcement.</p><blockquote>Pay attention to the guidelines and rules of the marketplace you are targeting. E.g., Google Play <a href="https://developer.android.com/google-play/resources/icon-design-specifications#badges">recommends avoiding using badges and ribbons in icons.</a></blockquote><h2 id="closing-words">✔️ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>Don't expect that a different icon will increase your revenue tenfold, but it's an important step on your way to a successful app. My recommendations are based on my own experience with many different apps, but your particular app may need a bit different approach. Use my advice as a guideline for your own strategy.</p><h2 id="further-reading">📚 Further reading <a class="markdownit-header-anchor" href="#further-reading">🔗</a></h2><p>⭐ <strong><a href="/blog/true-continuous-localization-localazy">True Continuous Localization</a></strong></p><p>What does True Continuous Localization really mean? Dive deeper and learn how true continuous localization with Localazy covers all of the many steps involved in localization management, with a single service - 🚀 <strong>Localazy® Autopilot.</strong> </p><blockquote><a href="/blog/true-continuous-localization-localazy">Read the article</a> ➡️</blockquote><hr><p>⭐ <strong><a href="/blog/interview-how-floating-apps-achieved-millions-downloads">Interview: How Floating Apps achieved millions of downloads</a></strong></p><p>In this interview, the founder and CEO of Localazy, Václav Hodek, shares his past experience as a freelance developer, the reasons that led him to the founding of a new translation management platform, and how Localazy helped his project enter new markets and hit over 10 million downloads!</p><blockquote><a href="/blog/interview-how-floating-apps-achieved-millions-downloads">Read the article</a> ➡️</blockquote><hr><p>⭐ <strong><a href="/blog/before-invest-app-promotion-invest-app-localization">Before you invest in app promotion, invest in app localization</a></strong></p><p>Learn why you should localize your app before you start burning money on app promotion in foreign markets.</p><blockquote><a href="/blog/before-invest-app-promotion-invest-app-localization">Read the article</a> ➡️</blockquote>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/07/AppIcon_FI_02--1-.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy CLI Tips: Language aliases and expansions]]></title>
            <link>https://localazy.com/blog/localazy-cli-tips-language-aliases-expansions</link>
            <guid isPermaLink="false">localazy-cli-tips-language-aliases-expansions</guid>
            <pubDate>Thu, 16 Apr 2026 14:34:44 GMT</pubDate>
            <description><![CDATA[Languages are evolving as well as how we approach them. Older systems may still work with legacy locales and some languages may need a special treatment. In this article I will show you how to handle these cases when using Localazy CLI.]]></description>
            <content:encoded><![CDATA[<p>Let's consider <a href="/android">Android</a> and its support for the Chinese language. It needs extra handling. With the <a href="/docs/android/localazy-gradle-plugin">Gradle plugin</a>, we do all the heavy lifting automatically for you, but if you decide to go with <a href="/docs/cli/the-basics">Localazy CLI</a> (e.g., if you want to use the same files for more platforms), you need to handle that manually. </p><h2 id="aliases">Aliases <a class="markdownit-header-anchor" href="#aliases">🔗</a></h2><p>The language alias allows you to change how the language is processed. For Chinese, Localazy stores it, including the script, to be sure that your strings are translated correctly. However, you may want to output it without the script.</p><pre><code class="language-JSON">{
 
  "download": {
	  "langAliases": {
		  "zh-Hant-TW": "zh-TW"
	  },	  
	  // ...
  }

}</code></pre><p>You can achieve the same result by using <a href="/docs/cli/transformations">transformations</a>, but it would complicate your configuration. </p><h2 id="expansions">Expansions <a class="markdownit-header-anchor" href="#expansions">🔗</a></h2><p>The language expansion leaves the language untouched but tells the CLI to generate other variants - this is extremely useful for the mentioned Android issue with Chinese, but you can also apply it to regional locales like this:</p><pre><code class="language-JSON">{
 
  "download": {
	  "langExpansions": {
		  "de": ["de-DE", "de-AT", "de-CH"]
	  },	  
	  // ...
  }

}</code></pre><p>You can achieve the same result by using several different download rules, but again, it would complicate the configuration and make it error-prone. Also, it would be complicated to generate expansions for more languages.</p><h2 id="format-conversions">Format conversions <a class="markdownit-header-anchor" href="#format-conversions">🔗</a></h2><p>Both aliases and expansions are extremely useful for <a href="/docs/cli/format-conversions">format conversions</a> too:</p><pre><code class="language-JSON">{
	"conversion": {
		"actions": [
			{
				"type": "android",
				"langAlias": {
					"zh-Hant-TW": "zh-TW"
				},
				"langExpansions": {
					"zh-Hant-TW": [
						"zh-MO",
						"zh-SG"
					]
				},
				// ...
			},
			{
				"type": "ios-strings",
				"langAlias": {
					"zh-Hant-TW": "zh-TW"	
				}		
				// ...
			}
			
		]						
	}	
}</code></pre><p>At Localazy, the locale is <code>zh-Hant-TW</code> but when the file is converted to Android, it's stored as <code>zh-TW</code>, <code>zh-MO</code> and <code>zh-SG</code>, and for iOS, it's stored as <code>zh-TW</code>.</p><h2 id="you-might-also-like">💖 You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><p>Read more articles related to <a href="https://localazy.com/tags/android">Android </a>or <a href="https://localazy.com/tags/cli">Localazy CLI</a> on our blog.</p><p><strong>📚</strong> <strong>Further reading:</strong></p><ul><li><a href="https://localazy.com/blog/convert-android-xml-ios-strings-format-conversions-localazy">How to convert Android XML to iOS .strings using Localazy</a></li><li><a href="https://localazy.com/blog/true-continuous-localization-localazy">True Continuous Localization - Localazy®</a></li><li><a href="/blog/chinese-support-for-your-product">Things to consider before localizing your product for the Chinese market</a></li></ul>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/lang-aliases.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Chinese localization for mainland China and overseas markets]]></title>
            <link>https://localazy.com/blog/chinese-support-for-your-product</link>
            <guid isPermaLink="false">chinese-support-for-your-product</guid>
            <pubDate>Tue, 04 Nov 2025 07:22:21 GMT</pubDate>
            <description><![CDATA[Even though globalization continues to blur the lines between cultures, there are still vast differences between Western and Asian countries, and China is no exception. Learn about the possible challenges you need to overcome when entering the Chinese market with your product.]]></description>
            <content:encoded><![CDATA[<p>China’s online ecosystem continues to expand at record speed. As of 2025, more than <strong><a href="https://english.www.gov.cn/archive/statistics/202507/21/content_WS687dd259c6d0868f4e8f4501.html">1.12 billion people</a></strong> are connected to the internet, with national penetration reaching <strong>nearly 80%</strong>. The country’s online expansion is no longer limited to urban centers. It now includes millions of elderly and rural users joining the digital economy for the first time.</p><p>This fast growth has turned China into one of the world’s most influential tech and cultural hubs. From <strong>AI development and online literature</strong> to <strong>mobile payments and entertainment apps</strong>, Chinese digital products now have a say in the creation of global trends. For any company building a multilingual app/website, preparing for Chinese users it’s a step toward staying relevant in a global market that speaks, reads, and creates in <a href="https://hub.localazy.com/en/languages/zh-chinese">Chinese</a>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2025/11/derch-Zp4gRwQFLRE-unsplash.jpg" class="kg-image" alt loading="lazy" width="2000" height="1500" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/derch-Zp4gRwQFLRE-unsplash.jpg 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/derch-Zp4gRwQFLRE-unsplash.jpg 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/derch-Zp4gRwQFLRE-unsplash.jpg 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/11/derch-Zp4gRwQFLRE-unsplash.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><p>The market seems like an incredible opportunity until you face the challenges it introduces to your business, whether you are a one-man-show, a startup, or an established company. While it can be complex for foreign brands to enter it (due to strict rules), opportunities continue to grow for companies that adapt to local regulations and user expectations through localization. </p><h2 id="what-are-the-challenges-of-entering-the-chinese-mainland-market-with-your-appwebsite">🤔 What are the challenges of entering the Chinese mainland market with your app/website? <a class="markdownit-header-anchor" href="#what-are-the-challenges-of-entering-the-chinese-mainland-market-with-your-appwebsite">🔗</a></h2><p>The Chinese market offers massive potential, but bringing your digital product into mainland China is far from straightforward. Between legal requirements, content regulations, and language standards, the process demands a bit of labour on understanding the technical and cultural side of this market. Let's have a look at some of the main challenges that determine success for this market: </p><h4 id="%E2%9A%96%EF%B8%8F-regulatory-barriers-and-strict-approvals">⚖️ Regulatory barriers and strict approvals</h4><p>Foreign developers face a <a href="https://www.registrationchina.com/articles/how-can-i-publish-mobile-apps-in-china/">strict approval system</a> before an app can be distributed legally in China. Some categories require a <strong>computer software copyright certificate,</strong> often requested through Chinese authorities or embassies. This process can involve providing source code for verification, which raises serious concerns around intellectual property protection.</p><p>Certain app types, such as finance, social media, cloud tools, and games, need additional local licenses or must partner with a <strong>Chinese-registered entity</strong> to apply. Approval timelines are unpredictable and resource-intensive, and rejection rates remain high for non-domestic developers. </p><h4 id="%F0%9F%8C%90-platform-and-ecosystem-differences">🌐 Platform and ecosystem differences</h4><p>The digital environment in China operates separately from the global web. Services like <strong>Google Play, Facebook, YouTube, and WhatsApp</strong> are not accessible. To function smoothly, your app must integrate with Chinese platforms and SDKs, such as <strong>WeChat</strong>, <strong>Alipay</strong>, or <strong>Baidu Maps,</strong> each with its own documentation and approval process.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-03-at-18.47.09.png" class="kg-image" alt loading="lazy" width="1892" height="1742" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-03-at-18.47.09.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-03-at-18.47.09.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/Screenshot-2025-11-03-at-18.47.09.png 1600w, https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-03-at-18.47.09.png 1892w" sizes="(min-width: 720px) 720px"><figcaption>Most Chinese users download apps from Tencent, <a href="https://mobile.baidu.com">Baidu (shown above)</a>, or Huawei app stores.</figcaption></figure><p>Foreign integrations (for instance, Google Sign-In or Facebook Login) often cause immediate compliance issues and can block your app’s approval.</p><h4 id="%F0%9F%88%B6-language-and-script-requirements">🈶 Language and script requirements</h4><p>Chinese authorities expect that all apps targeting the mainland provide a <strong>fully localized interface in Simplified Chinese</strong>. This is not optional. Untranslated text, even within system dialogs or help menus, can result in rejection.</p><p>In practice, developers must handle both Simplified and Traditional Chinese variants correctly. Mainland China and Singapore use Simplified Chinese (<code>zh#Hans</code>), while Taiwan, Hong Kong, and Macau rely on Traditional (<code>zh#Hant</code>).</p><blockquote>👉 Localazy automates this process by mapping locale codes (<code>zh-rCN</code>, <code>zh-rTW</code>, etc.) to their correct formats (<code>zh_CN#Hans</code>, <code>zh_TW#Hant</code>) and generating all necessary aliases for each region. Find out <a href="https://localazy.com/translate/zh_hant-en">more about Chinese localization</a></blockquote><h4 id="%F0%9F%8E%A8-content-must-fit-the-cultural-and-stylistic-norms">🎨 Content must fit the cultural and stylistic norms</h4><p>Translating the interface is just one part of localization. Your app’s <strong>design, tone, and visual elements</strong> must fit local expectations. Certain imagery, symbols, and color combinations can be flagged as inappropriate or misaligned with cultural norms.</p><p>Games and entertainment apps face even stricter reviews. Visual styles, character design, and story elements are regulated to align with domestic standards. Content showing violence, gambling, or sensitive topics can lead to instant rejection.</p><h4 id="%F0%9F%93%B1-app-category-restrictions">📱 App category restrictions</h4><p>Before entering the market, identify which category your app belongs to. Some types of software face a lighter approval path, while others are heavily restricted or reserved for Chinese-owned entities. Here is a more detailed list: </p><p><strong>✅ Lower-risk categories (potentially easier for approval):</strong></p><ul><li>🧰 Tools (except for browsers, VPN, network disc, cloud)</li><li>📚 Education</li><li>🍲 Food &amp; Drink</li><li>🧭 Navigation (could be a problem with satellite images)</li><li>📠 Photocopy</li><li>🏝️ Travel &amp; Accommodation</li><li>🛍️ Shopping</li><li>👔 Business</li><li>🧸 Kids</li><li>🧘 Lifestyle &amp; Convenience</li><li>🚗 Cars</li><li>😎 Personalized themes</li></ul><p><strong>⛔ High-risk categories (very tough for approval):</strong></p><ul><li>🏦 Finance (finance license required)</li><li>👨‍⚕️ Sport and health (health license required)</li><li>📼 Media and Entertainment (audiovisual permit required)</li><li>🗞️ Books and References (news license required)</li><li>💿 Tools such as VPN, Browser, Network disk, Cloud (Value-added Telco business license required)</li><li>💬 Social and Communication (ICP &amp; Security Assessment report required)</li><li>🕹️ Games (Must obtain game version number)</li></ul><blockquote>If you fall into the categories above, make yourself ready for a long-term, resource-heavy, and unguaranteed approval process</blockquote><h4 id="%E2%9A%A0%EF%B8%8F-ui-and-data-compliance">⚠️ UI and data compliance</h4><p>Details that might seem minor in other regions can block your release in China. For example, <strong>country selectors</strong> that list Hong Kong or Taiwan as separate countries are automatically rejected. Replace such fields with “Country/Region” to comply with national policies.</p><p>Similarly, privacy notices and consent dialogs must follow <strong>Chinese legal terminology</strong> and reference the <strong>Personal Information Protection Law (PIPL)</strong>. Translations that don’t reflect these terms accurately can be grounds for removal.</p><blockquote>Learn <a href="https://localazy.com/blog/how-to-create-custom-language-selector-in-android">how to create a custom language selector for Android apps</a></blockquote><h4 id="%F0%9F%94%84-ongoing-regulatory-changes">🔄 Ongoing regulatory changes</h4><p>China’s digital rules evolve pretty quickly. New data, privacy, or content rules can appear with little notice, impacting approvals or even existing releases. Teams entering the market need to plan for continuous localization and compliance updates and not a one-time setup.</p><p>Entering the Chinese mainland market is possible, but it requires more than translation or app store optimization. It demands <strong>a full adaptation of language, infrastructure, and compliance</strong>, guided by local insight and supported by a platform that manages the complexity, like Localazy.</p><h2 id="internationalization-and-localization-workflow-tips-for-entering-the-chinese-market">🐉 Internationalization & localization workflow tips for entering the Chinese market <a class="markdownit-header-anchor" href="#internationalization-and-localization-workflow-tips-for-entering-the-chinese-market">🔗</a></h2><p>To succeed in Chinese-speaking markets, seeing translation as a stretch goal won’t cut it: language readiness is a foundational piece of your product strategy. Below are the more advanced considerations, where many teams drop the ball, and how Localazy helps you handle them efficiently.</p><h4 id="1-build-a-more-advanced-translation-workflow">1. Build a more advanced translation workflow</h4><p>Localization into Chinese is no longer a manual crop of <em>“translate menu items, run QA.”</em> Today you’ll need a system that handles ongoing updates <em>and</em> aligns with brand voice, context, automation, and variant-management. </p><p>Even though at Localazy we've supported Chinese localization since our early days, we've evolved the platform even further, adding a bunch of helpful features to help you build better translation workflows:  </p><ul><li>With the <strong>Releases</strong> feature, you can now tag translation states (for example: dev, test, production) so your Chinese-language version evolves in sync with your product’s lifecycle.</li><li>The newly launched <strong>Localazy AI</strong> translation engine reads your glossary and style guide, helping to produce translations that reflect your brand voice instead of sounding generic. </li><li>Better dashboards now offer highly granular language-progress indicators and detailed word/character counts in filtered tables—so you can estimate workloads, monitor bottlenecks, and visualise translation status at a glance.</li><li>Glossary support has been expanded: machine-translation providers such as <strong>Google Translate </strong>and <strong>DeepL</strong> will now respect your predefined terms in Localazy projects, which means you preserve consistent terminology across Chinese (and other languages).</li></ul><p>Together, these improvements allow you to treat Chinese localization as an integral part of your release process. Since you can align translation snapshots with dev/test/prod stages, automating parts of the translation process while allowing for easy quality assurance by your language experts, and gaining real-time visibility into translation progress, you <strong>reduce risk, accelerate time-to-market, and increase consistency across all Chinese-language variants.</strong></p><blockquote><strong>📚Related read: </strong><a href="https://localazy.com/blog/how-to-automate-the-entire-software-localization-process-from-development-to-translation-with-localazy">How to automate the entire software localization process from development to translation with Localazy</a></blockquote><h4 id="2-support-multiple-scripts-and-regions">2. Support multiple scripts and regions </h4><p>Supporting Chinese means more than one translation file. Mainland China, Singapore, Taiwan, Hong Kong, Macau, all involve script/locale distinctions that affect user experience, regulatory compliance, and even store approval. </p><p>Rather than creating and maintaining a dozens of locale codes, optimize with Localazy’s script automation: maintain the core files <strong>Simplified</strong> (<code>zh#Hans</code>) and <strong>Traditional</strong> (<code>zh#Hant</code>), and rely on the platform to generate region variants behind the scenes. This dramatically reduces manual overhead while ensuring you hit the right script-variant per market.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2025/11/Screenshot-2025-11-03-at-18.41.07.png" class="kg-image" alt loading="lazy" width="2000" height="1186" srcset="https://ghost.localazy.com/content/images/size/w600/2025/11/Screenshot-2025-11-03-at-18.41.07.png 600w, https://ghost.localazy.com/content/images/size/w1000/2025/11/Screenshot-2025-11-03-at-18.41.07.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2025/11/Screenshot-2025-11-03-at-18.41.07.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2025/11/Screenshot-2025-11-03-at-18.41.07.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Airbnb has full Chinese localization, including payment and login options via WeChat and Alipay</figcaption></figure><h4 id="3-prepare-your-product-design-for-the-chinese-market">3. Prepare your product design for the Chinese market</h4><p>Beyond translation lies product readiness: Chinese text is typically denser, UI flows differ, and even iconography may shift. This means your product design must allow for: longer string wrap, different line lengths, and culture-specific visual cues.</p><p>Integrating pseudo-localisation early helps catch layout breaks before they go live. And your language selector, country/region labels, legal copy and data permissions should reflect local norms, small details that often cause major re-work when overlooked.</p><p>Thus, it is always good to perform pseudo-localization during the design process to ensure your UI is ready for those characters.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/bRILfGZ2gK8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>The <a href="/features/figma-localization-plugin">Localazy Figma plugin</a> will come in handy to make your app ready for the Chinese language from the very start.</p><h4 id="4-provide-chinese-language-support-to-improve-global-reach">4. Provide Chinese-language support to improve global reach</h4><p>Even if you’re not targeting mainland China directly, offering a high-quality Chinese interface opens access to sizable user bases in Taiwan, Singapore, Malaysia, Hong Kong, and the broader diaspora. Think of Chinese localisation not just as “China market access” but as “Chinese-language global access.”  </p><p>Both Simplified and Traditional Chinese are used across the world by both other nations and Chinese immigrants.</p><p>The Chinese represent <a href="https://www.migrationpolicy.org/article/chinese-immigrants-united-states-2018">the third-largest immigrant group in the U.S.</a>, following Mexicans and Indians, with approximately half of all Chinese immigrants living in California (32%) or New York (19%).</p><p>There are also many Overseas Chinese people. <a href="https://en.wikipedia.org/wiki/Overseas_Chinese">Overseas Chinese</a> are people of Chinese birth or <a href="https://en.wikipedia.org/wiki/Han_Chinese">ethnicity</a> who reside outside the territories of the <a href="https://en.wikipedia.org/wiki/China">People's Republic of China</a> (PRC), its <a href="https://en.wikipedia.org/wiki/Special_administrative_regions">special administrative regions</a> (SARs) of <a href="https://en.wikipedia.org/wiki/Hong_Kong">Hong Kong</a> and <a href="https://en.wikipedia.org/wiki/Macau">Macau</a>, as well as the <a href="https://en.wikipedia.org/wiki/Taiwan">Republic of China</a> (ROC or Taiwan).</p><p>There are several geographic markets where the Chinese language is pretty well established, such as:</p><ul><li>Malaysia</li><li>Singapore</li><li>Hong-Kong</li><li>Taiwan</li><li>A lot of Vietnamese people know Chinese as well</li></ul><p>Even though English is a pretty common language among Chinese people, thanks to their educational system, speaking to them in their native language is well appreciated.</p><h4 id="5-treat-localization-an-ongoing-investment">5. Treat localization an ongoing investment</h4><p>Localization is not “set once and forget.” Product changes, new features, backend updates, UI tweaks, all require translation and design review. The difference between a good and great Chinese launch often comes down to whether the workflow supports full lifecycle localization. Localazy’s integrations with CI/CD, APIs, automation, and translator-review workflows, support that continuous model.</p><blockquote><strong>📚 Related read:</strong> <a href="https://localazy.com/blog/localization-101-how-to-measure-localization-roi ">How to measure your localization ROI: Costs, benefits and KPIs</a></blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/07/image-9.png" class="kg-image" alt loading="lazy" width="2000" height="1335" srcset="https://ghost.localazy.com/content/images/size/w600/2021/07/image-9.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/07/image-9.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/07/image-9.png 1600w, https://ghost.localazy.com/content/images/2021/07/image-9.png 2247w" sizes="(min-width: 720px) 720px"></figure><h3 id="dont-let-challenges-distract-you-from-the-main-goal-translation-quality">🚀 Don't let challenges distract you from the main goal: translation quality <a class="markdownit-header-anchor" href="#dont-let-challenges-distract-you-from-the-main-goal-translation-quality">🔗</a></h3><p>Entering this market comes with friction at every stage. From adapting your interface and adding support for Chinese scripts to refining visuals that go well with cultural expectations, every layer of localization adds complexity. Yet, all these efforts serve a single objective: <strong>achieving a clear, accurate, and natural translation.</strong> The tools and tactics you choose should exist to strengthen that outcome, not distract from it.</p><p>Accurate Chinese translation depends on context, not volume. The most effective workflows should give translators and, translation engines and AI a shared understanding of tone, intent, and user expectations. With <a href="https://localazy.com/docs/general/localazy-ai">Localazy AI </a>and <a href="https://localazy.com/features/style-guide">Style Guide</a>, you can define formality, tone, and audience rules for each language, so every translation reflects your product’s real voice. </p><p>The new Localazy AI builds on that foundation. It automatically applies your glossary and style rules, adjusts formality where needed, and keeps terminology aligned across updates. Features like improved progress tracking, deeper glossary integration with Google and DeepL, and detailed quality feedback make it possible to scale translation without losing precision. For Chinese, where subtle shifts in tone or phrasing can change meaning, this level of contextual control is what gives localization the credibility to make your product stand out.</p><blockquote><strong>👉 Full release update:</strong> <a href="https://localazy.com/blog/release-update-ai-translation-that-understands-your-audience">Release Update: New Localazy AI that understands your brand and audience!</a></blockquote><h2 id="localize-to-chinese-reach-a-billion-new-users">🌐 Localize to Chinese. Reach a billion new users <a class="markdownit-header-anchor" href="#localize-to-chinese-reach-a-billion-new-users">🔗</a></h2><p>We've already discussed the issues that make localization in Chinese difficult: missing context, inconsistent tone, and translations that sound mechanical or out of place. Also, managing scripts, cultural nuances, and dozens of moving parts easily leads to errors and rework. </p><p>Localazy won't solve every single struggle of the localization process but it helps you fix the most major one: <strong>producing and handling translations</strong>. Hire our <a href="https://localazy.com/features/continuous-localization-team">Continous Localization Team</a> of translators, benefit from AI, glossaries, and style guides, and save time when entering this market. </p><p>Start with Localazy and build Chinese translations that read naturally, scale cleanly, and stay true to your product. Register <a href="https://localazy.com/register">here and try it yourself </a>or <a href="https://localazy.com/book-demo">book a demo</a> with our Solutions Architect who can guide you further.<br></p>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/07/Chinese-market.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy CLI Tips: Filter keys when uploading]]></title>
            <link>https://localazy.com/blog/localazy-cli-tips-filter-keys-when-uploading</link>
            <guid isPermaLink="false">localazy-cli-tips-filter-keys-when-uploading</guid>
            <pubDate>Thu, 16 Apr 2026 14:35:42 GMT</pubDate>
            <description><![CDATA[Learn how to filter keys when uploading them via Localazy CLI.]]></description>
            <content:encoded><![CDATA[<p>Sometimes, you don't want to upload all your texts with the <a href="/docs/cli/the-basics">Localazy CLI</a> <code>upload</code> command. Why? There are several reasons:</p><ul><li>texts that you simply don't want to translate (e.g., English only information or texts available only in one language)</li><li>sensitive texts (internal IDs, ad ID, internal links)</li><li>texts that are not supposed to be translated (URLs, numbers, names)</li></ul><p>You can place those texts in a separate file, but that could complicate your workflow, and it's not always possible. For example, if you generate files from the source code using string extractors, you have no choice.</p><p>Fortunately, Localazy is here to help you with this! </p><p>When uploading your files, you can specify rules used for including or excluding keys:</p><pre><code class="language-JSON">{
	"upload": {
		"type": "json",
		"excludeKeys": [
			"prefix:private_",
			"match:internal_ad_identifier",
			"regex:.*_private_.*"
		]
	}
	// ...
}
</code></pre><p>The file will be uploaded, parsed, and all text matching my rules above will be skipped during the import process. </p><h2 id="rules">📕 Rules <a class="markdownit-header-anchor" href="#rules">🔗</a></h2><p>You can match your keys using several different rules:</p><ul><li>prefix</li><li>suffix</li><li>exact match</li><li>containing substring</li><li>regular expression</li></ul><p>Also, you can decide whether you want to include all keys,  just exclude some of them, or whether you want only to include selected keys. It's also possible to match structured keys. </p><blockquote>Read more about string keys in <a href="/docs/cli/excluding-string-keys">the documentation.</a></blockquote><h2 id="you-might-also-like">💖 You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><p>Read more articles related to <a href="/tags/cli">Localazy CLI</a> on our blog.</p><p><strong>📚</strong> <strong>Further reading:</strong></p><ul><li><a href="/blog/convert-android-xml-ios-strings-format-conversions-localazy">How to convert Android XML to iOS .strings using Localazy</a></li><li><a href="/blog/true-continuous-localization-localazy">True Continuous Localization - Localazy®</a></li></ul>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/filter-keys.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy CLI Tips: Complex Android Configuration]]></title>
            <link>https://localazy.com/blog/localazy-cli-tips-complex-android-configuration</link>
            <guid isPermaLink="false">localazy-cli-tips-complex-android-configuration</guid>
            <pubDate>Thu, 16 Apr 2026 14:35:21 GMT</pubDate>
            <description><![CDATA[Learn how to use Localazy CLI to integrate your Android projects without the Localazy Gradle plugin.]]></description>
            <content:encoded><![CDATA[<p>Android projects can quickly get complicated with build types, product flavors, and strings scattered across more input files. Some of our users prefer to upload <a href="/android">Android</a> projects using the <a href="/docs/cli/the-basics">Localazy CLI</a> tool and not our <a href="/docs/android/localazy-gradle-plugin">Android Gradle plugin</a>.</p><p>We support both ways to do so, and each of them has its pros and cons. If you would preferably use the CLI approach, below is an example of the CLI configuration file for your Android projects.</p><h2 id="android-cli-configuration-example">🕹️ Android CLI configuration example <a class="markdownit-header-anchor" href="#android-cli-configuration-example">🔗</a></h2><pre><code class="language-JSON">{

  // Configure access to Localazy. 
  "writeKey": "write-token-1000000-3000100",
  "readKey": "read-token-1000000-3000100",
  
  // Transformations help to correctly detect information about modules, flavors and build types.
  "transformations": [
  
    // Detect module from the file path and store it as ${android_module}.
    {
      "name": "android_module",
      "source": "${path}",
      "operations": [
        "substringBefore: /src",
        "substringAfter: ./"
      ]
    },
    
    // Detect product flavors from the file path and store it as ${android_flavors}.
    {
      "name": "android_flavors",
      "source": "${path}",
      "operations": [
        "androidProductFlavors: gp am gn ha sa, free full auto"
      ]
    },
    
    // Detect build type from the file path and store it as ${android_type}.
    {
      "name": "android_btype",
      "source": "${path}",
      "operations": [
        "androidBuildType: debug, release"
      ]
    },
    
    // Detect language from the path and store it as ${android_lang}.
    // Language is automatically detected by the autodetection, but we wanted
    // to show how to do it manually if necessary. 
    {
      "name": "android_lang",
      "source": "${path}",
      "operations": [
        "detectLang: android"
      ]
    }
    
  ],

  "upload": {
    "type": "android",
       
    "files": [

      // Collect &amp; upload source langauge files.
      // They are always uploaded.
      // Correctly configure product flavors, build types and modules with
      // variables we calculate from the file path using transformations. 
      {
        "pattern": "*/src/*/res/values/strings*.xml",
        "productFlavors": "${android_flavors}",
        "buildType": "${android_btype}",
        "module": "${android_module}"
      },

      // Collect &amp; upload all non-source language files.
      // Only upload them for: localazy upload all
      // Correctly configure product flavors, build types, modules and languages. 
      // Also, skip all files that are in the source language using conditions.
      {
        "group": "all",
        "pattern": "*/src/*/res/values-*/strings*.xml",
        "conditions": "!equals: ${android_lang}, inherited",
        "lang": "${android_lang}",        
        "productFlavors": "${android_flavors}",
        "buildType": "${android_btype}",
        "module": "${android_module}"
      }

    ]
  },

  // Because we took the extra care to upload files with correct product flavors,
  // build types and modules, we can download and place them to the correct place
  // easily using built-in variables. 
  "download": {
    "files": "${module}/src/${androidFlavoredFolder}/res/values-${langAndroidRes}/${file}"
  }
  
}</code></pre><h2 id="you-might-also-like">💖 You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><p>Read more articles related to <a href="/tags/android">Android </a>or <a href="/tags/cli">Localazy CLI</a> on our blog.</p><p><strong>📚</strong> <strong>Further reading:</strong></p><ul><li><a href="/blog/convert-android-xml-ios-strings-format-conversions-localazy">How to convert Android XML to iOS .strings using Localazy</a></li><li><a href="/blog/how-to-create-custom-language-selector-in-android">How to create a custom language selector for Android apps</a></li><li><a href="/blog/true-continuous-localization-localazy">True Continuous Localization - Localazy®</a></li></ul>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/android-config.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Cucumber season? Wonders of marketing localization (deal inside)]]></title>
            <link>https://localazy.com/blog/cucumber-season-wonders-marketing-localization-deal-inside</link>
            <guid isPermaLink="false">cucumber-season-wonders-marketing-localization-deal-inside</guid>
            <pubDate>Wed, 16 Feb 2022 13:25:50 GMT</pubDate>
            <description><![CDATA[What is cucumber season having to do with localization? Learn more in this article and grab the "cucumber season" deal that waits for you at the end!]]></description>
            <content:encoded><![CDATA[<p>When someone in Czechia tells you, "<em>We are in the cucumber season right now</em>," it means that business goes slow, the media are full of non-sense news such as "water in cold temperature turns into ice" - for real, and everybody is on vacation.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/LK87xOODkYU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>It's all... a bit silly.</p><h2 id="silly-season">😅 Silly season <a class="markdownit-header-anchor" href="#silly-season">🔗</a></h2><p><strong>silly season</strong> (<em>noun</em>) – the time of the year, usually in the summer, when the newspapers are full of stories that are not important because there is no important, especially political news. (Cambridge Advanced Learners Dictionary)</p><h2 id="how-does-cucumber-season-translate-to-other-cultures">🥒 How does "cucumber season" translate to other cultures? <a class="markdownit-header-anchor" href="#how-does-cucumber-season-translate-to-other-cultures">🔗</a></h2><p>As you can see, silly season is a well-established term.  A cucumber season <strong>idiom</strong> is a <strong>fixed expression</strong> with a derived, <strong>metaphorical</strong> meaning. The source of the metaphor usually comes from the physical or cultural environment, so different languages use different idiomatic expressions.</p><p>The uneventful summer period is associated with cucumbers and cucumber picking in several other languages, such as Hungarian (<em>uborkaszezon), </em>Slovak (<em>uhorková sezóna</em>)<em>, </em>Polish (<em>Sezon ogórkowy</em>) or even Hebrew (<em>onat ha'melafefonim, "season of the cucumbers"</em>).</p><p>Source: <a href="https://edifiers.sk/zaujimavosti/bits-and-bobs-of-english-cucumber-season/">Edifiers.sk</a></p><h2 id="make-your-marketing-communication-localized">🚩 Make your marketing communication localized <a class="markdownit-header-anchor" href="#make-your-marketing-communication-localized">🔗</a></h2><p>So as you can see, one single meaning can be expressed in different ways, specific to particular cultures. Simple <a href="/dictionary/translation">translation </a>does not work and actually can cause severe confusion with your audience. What the hell is a cucumber season sale, one may ask?</p><p>Luckily, you can "<em>kill two birds with one stone.</em>" How cruel is this idiom? 🥺 In Czech language, we only "<em>kill two flies with one blow</em>", that's at least a lot less messy. 😅 So, hire Localazy professionals to get some meaningful <a href="/dictionary/localization">localization </a>work done while others sleep.</p><p>Get our professional translators and developers to work for you during our local cucumber season, allowing them to buy some refreshing pickles!</p><h4 id="juicy-discount-for-you">Juicy discount for you!</h4><p>Get a 25% discount on <a href="/docs/general/localazy-autopilot-tier">Autopilot </a>and <a href="/docs/general/localazy-agency-tier">Agency</a> tiers using the promo code: </p><p>🥒 "<strong>SVEZIOKURKA</strong>" 🥒</p><blockquote>This offer is valid for the first 50 cucumber eaters, so hurry up before the cucumber season ends! </blockquote><p><em><em>The coupon will be active for 12 months after activation, </em>and is applicable to Autopilot and Agency tiers + recurring payments for source key quota increases.</em></p>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/07/Cucumber-season.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[True Continuous Localization - Localazy®]]></title>
            <link>https://localazy.com/blog/true-continuous-localization-localazy</link>
            <guid isPermaLink="false">true-continuous-localization-localazy</guid>
            <pubDate>Thu, 17 Mar 2022 15:04:56 GMT</pubDate>
            <description><![CDATA[What does True Continuous Localization really mean? Dive deeper and learn how true continuous localization with Localazy covers all of the many steps involved in localization management, with a single service - Localazy Autopilot®.]]></description>
            <content:encoded><![CDATA[<p><a href="/dictionary/localization">Localization </a>is a booming industry (<a href="https://www.statista.com/topics/2152/language-services-industry-in-the-us/">49.6bn USD in 2019</a>), and there is a reason behind it. Localized content for different markets and audiences is the next step of personalization, an engagement driver for communication with your customer. Every single minute, an astonishing amount of information is created - in 2020, reportedly <strong>2.5 quintillion bytes of data have been produced every single day. </strong></p><p>With such a high number, it is evident that to get the attention of data consumers, <strong>localization becomes a tremendous competitive advantage </strong>in the flood of information, whether you want to <strong>hold your market share</strong> in your current markets or consider a <strong>foreign market expansion</strong>.</p><p>The more content you create, the bigger issue it is to <strong>localize the content, whether it is the user interface, <a href="/blog/automatic-data-reports-multiple-languages-python-gettext-localazy">localized data set insight</a>, or a marketing copy for your campaigns.</strong></p><p>And so, <strong>translation automation</strong> comes in to help content producers localize their content for specific audiences. Smart technologies such as the pioneer <strong>Google Translate</strong> or German <strong>DeepL translator API</strong> come in handy for many. However, <a href="/dictionary/trasnlation">translation </a>and localization are different terms.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image-14.png" class="kg-image" alt loading="lazy" width="719" height="797" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/image-14.png 600w, https://ghost.localazy.com/content/images/2021/06/image-14.png 719w"></figure><p>Even though <a href="/dictionary/machine-translation">Machine Translations</a> can help you get closer to your customer, it was always a challenge to ensure that translations are aligned with the culture that the content is localized for and that the particular expression is translated correctly.</p><p>This is even more important with regulated industries such as medicine or law, where <strong>certified translations</strong> are required. And even if you are not within a regulated industry, still, there is so much management overhead that many consider content localization a real pain even when technology is a big helping hand.</p><p>We are fans of quality; thus - <strong>automated translations are not what we do</strong>. Automated translations are error-prone. You need to check the meaning, but also pronunciation, context, placeholders, and so on.</p><p>There is always quality assurance at play. It doesn't matter if you use our <a href="/docs/general/localazy-free-tier">Free tier</a> and enjoy our <a href="/blog/unique-review-process-and-self-managed-translations">unique review system</a> with your in-house team or utilize <a href="/docs/general/localazy-autopilot-tier">Autopilot features</a> where human engagement is automated.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image-19.png" class="kg-image" alt loading="lazy" width="649" height="238" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/image-19.png 600w, https://ghost.localazy.com/content/images/2021/06/image-19.png 649w"></figure><h2 id="managerial-inferno-of-localization-management">🔥 Managerial Inferno of Localization Management <a class="markdownit-header-anchor" href="#managerial-inferno-of-localization-management">🔗</a></h2><ul><li>Based on our customer interviews, there are still so many teams who use spreadsheets in <code>XLS</code> files and send translations back and forth by email, resulting in a waste of time and increased errors due to error-prone <strong>localization management workflow</strong>.</li><li>You will spend hours with every single translator to provide them with management support. <strong>From hiring through work to payroll.</strong></li><li><strong>Increasing developer manhour costs</strong> no longer allow for inefficiencies, such as delegating localization management to people who shall develop your product instead.</li><li>This list is infinite and can get you bored easily, so let's skip it for now.</li></ul><h2 id="how-to-tackle-continuous-localization-ask-your-developer">☝️ How to tackle continuous localization? Ask your developer. <a class="markdownit-header-anchor" href="#how-to-tackle-continuous-localization-ask-your-developer">🔗</a></h2><p>Do you know a book called "<strong>Ask Your Developer</strong>" by <a href="https://www.linkedin.com/in/jeffiel">Jeff Lawson</a>, founder of Twilio? It is an excellent read for everybody who seeks a major shift in productivity and efficiency.</p><!--kg-card-begin: html--><iframe type="text/html" width="100%" height="250" frameborder="0" allowfullscreen style="max-width:100%" src="https://read.amazon.com/kp/card?asin=B08425FV7S&preview=inline&linkCode=kpe&ref_=cm_sw_r_kb_dp_S9AV9YWV6HQ2W38WWW0F" ></iframe><!--kg-card-end: html--><p>This book did NOT inspire Localazy per se. Still, you can find many common beliefs in this book and better understand how Localazy can help you tackle continuous localization once and for<em>ever</em>.</p><h2 id="true-continuous-localization-with-localazy">🤝 True Continuous Localization with Localazy <a class="markdownit-header-anchor" href="#true-continuous-localization-with-localazy">🔗</a></h2><p>Imagine the day when you do not have to think about all of these issues, and you can <strong>focus on your agenda</strong>. Localazy is here to make this experience available. You can find many solutions for localization on the market, but guess what - there are roadblocks everywhere. </p><p>Our team consists of software developers, marketers, entrepreneurs. We are makers, and we have tried many solutions for content localization. So, while it may sound funny, <strong>it was easier for us to <a href="/blog/the-passion-and-the-dogfooding-of-localazy">build a new localization platform</a> to fulfill our needs.</strong></p><!--kg-card-begin: html--><iframe width="100%" height="580" src="https://www.youtube.com/embed/UymDt20nOIc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>Localazy's vision of continuous localization starts with freeing up hands for developers, but it continues: You can manage your whole workflow within a one-stop shop.</p><blockquote>Localazy is for localization like <strong><a href="https://clickup.com">ClickUp</a> is for productivity</strong>, but easier to start with and utilize the full potential within day 0. (Sorry guys, we love you tho!). 💖</blockquote><h2 id="introducing-localazyr-autopilot">🚀 Introducing Localazy® Autopilot <a class="markdownit-header-anchor" href="#introducing-localazyr-autopilot">🔗</a></h2><p>Localazy is reportedly an excellent <a href="https://localazy.com/testimonials">solution for developers</a> to free up their hands, helping them focus on code, but localization does not stop here. The real fun for the whole team only begins.</p><p>Localazy offers services of the <a href="/docs/general/continuous-localization-team">Continuous Localization Team</a> which allows you to choose from:</p><ul><li>Virtual Reviewer</li><li>Virtual Translator</li><li>Professional Translations</li></ul><p>All of these services will translate your apps for you, while you sleep. 💤 </p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image-15.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/image-15.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/06/image-15.png 1000w, https://ghost.localazy.com/content/images/2021/06/image-15.png 1200w" sizes="(min-width: 720px) 720px"></figure><h3 id="development-features">🕹️ Development features <a class="markdownit-header-anchor" href="#development-features">🔗</a></h3><p>Localazy Free and <a href="/docs/general/localazy-professional-tier">Localazy Professional</a> already come with features unseen elsewhere for a fraction of the cost of other localization platforms on the market. </p><p>Many helpful features for developers are available in the Professional Tier: <a href="https://localazy.com/docs/general/release-tags-add-on">Release Tags</a>, <a href="https://localazy.com/docs/general/format-conversions-add-on">Format Conversions</a>, and <a href="https://localazy.com/docs/general/connected-apps">Connected Projects</a>, all ready for agile development processes and aiming to keep your translation management even more clean and streamlined. </p><blockquote>Localazy = Your Own Localization Team Within One Payment</blockquote><h3 id="quality-and-granularity-management-for-increased-roi">👓 Quality & Granularity Management for increased ROI <a class="markdownit-header-anchor" href="#quality-and-granularity-management-for-increased-roi">🔗</a></h3><ul><li>It is an expensive experiment to get your app translated by professional translators if you are only looking to get your feet wet in a new market. In some cases, many businesses decide pragmatically to use MT pre-translate, which stands for Machine Translation Pre-translate. In this process, machine translations are utilized to perform the very first iteration of language translation, enabling you to narrow the resources required to incorporate new languages.</li><li>Once Machine Translation is performed, a product owner can decide to perform Post Editing of Machine Translation (MTPE) to tackle possible errors that emerged.</li><li>The first iteration of the new language set can be then utilized and further improved within a <a href="/dictionary/pdca">PDCA </a>cycle, for example, using professional translators or even market localization specialists.</li><li>Increased granularity while keeping the management simple is a key to iterate your product language support faster.</li></ul><h3 id="machine-pre-translate">🤖 Machine Pre-Translate <a class="markdownit-header-anchor" href="#machine-pre-translate">🔗</a></h3><p>Localazy <a href="/docs/general/additional-mt-engines#mt-pre-translate">MT pre-translate</a> utilizes many resources, from our own crowd-generated yet incredibly accurate <a href="/dictionary/translation-memory">translation memory</a> <strong><a href="/docs/general/what-is-localazy-sharetm">Localazy ShareTM</a></strong> to other data sources such as <strong>DeepL</strong>, <strong>Amazon Translate</strong>, or <strong>Azure Translate</strong>.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image-18.png" class="kg-image" alt loading="lazy" width="419" height="320"></figure><h3 id="post-editing-of-machine-translation">✍️ Post Editing of Machine Translation <a class="markdownit-header-anchor" href="#post-editing-of-machine-translation">🔗</a></h3><p>With the increased quality of Machine Translations, a discipline called "<strong>machine translation post-editing </strong>" (<a href="/dictionary/mtpe-machine-translation-post-editing">MTPE</a>) made its debut as a significant bottleneck, tightly connected with the increased demand of the workforce.</p><p>With <strong>Localazy Autopilot</strong>, you can just set up your configuration for a particular language and get started.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/vt-setup.png" class="kg-image" alt loading="lazy" width="676" height="323" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/vt-setup.png 600w, https://ghost.localazy.com/content/images/2021/06/vt-setup.png 676w"></figure><h3 id="virtual-translator-for-cost-efficiency">⭐ Virtual Translator for cost efficiency <a class="markdownit-header-anchor" href="#virtual-translator-for-cost-efficiency">🔗</a></h3><p>Quick and affordable <a href="/dictionary/hamt">human-assisted machine translation</a> (HAMT):  Selected languages are translated by a machine translation engine and then verified by a human translator to confirm that context, punctuation, and placeholders are preserved. </p><p>However, the translations might not be as accurate as those provided by professional translators.</p><h3 id="virtual-reviewer-for-translation-quality-assurance">🌟Virtual Reviewer for translation quality assurance <a class="markdownit-header-anchor" href="#virtual-reviewer-for-translation-quality-assurance">🔗</a></h3><p>Once a phrase gets translated by a human or machine, there is always Quality Assurance in question. Translation review is a must, but it is also a pretty tedious, boring activity. With Localazy Virtual Translator, this is different as we handle this for you.</p><blockquote>A human reviewer verifies the quality of submitted translations by checking the consistency of context, punctuation, and placeholders. Additionally, the reviewer may correct small mistakes or typos in the translations. Phrases are either accepted or rejected.</blockquote><p>Set up your <strong>Virtual Reviewer</strong>, and our expert team will review your machine translations on a best-effort basis. If you are on <strong>Localazy Autopilot</strong>, you are all set for continuous delivery of new translations</p><h3 id="professional-translations-for-best-translation-quality">💫 Professional Translations for best translation quality <a class="markdownit-header-anchor" href="#professional-translations-for-best-translation-quality">🔗</a></h3><p>Professional translations are definitely worth it, especially for your primary markets. Managing multiple languages always comes with multiplied management overhead. Localazy has many expert translators under the hood, and they will work for you without you having to hire, assess, and payroll them on your own.</p><blockquote>Localazy will pick and hire professional translators to translate your app to the selected languages.</blockquote><p>Localazy is <a href="/blog/intro-localazy-translators-perspective">well-rated by professional translators</a> who are already familiar with modern <a href="/dictionary/cat-tool">CAT tools</a>. Localazy is loved for the simple user interface and packed with all the essentials + some extra features to increase quality and productivity to keep your costs low &amp; quality high.</p><h2 id="continuous-localization-with-localazy">💯 Continuous Localization with Localazy <a class="markdownit-header-anchor" href="#continuous-localization-with-localazy">🔗</a></h2><p>As you can see, the true continuous localization with Localazy covers all of the many steps involved in localization management, with a single service - <strong>Localazy Autopilot®.</strong></p><p>Enjoy your global market expansion for <strong>as low as $49 / month</strong>. You'll receive a full-blown localization platform - from various <strong><a href="/integrations">i18n integrations</a></strong> through <strong><a href="/dictionary/translation-management-system-tms">translation management system</a></strong> to your very own outsourced <strong>localization team</strong> - real, experienced people to make your product globally available and locally ready.</p><p></p><p></p>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/06/localazy-ContinousLocalization_02.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to create a custom language selector for Android apps]]></title>
            <link>https://localazy.com/blog/how-to-create-custom-language-selector-in-android</link>
            <guid isPermaLink="false">how-to-create-custom-language-selector-in-android</guid>
            <pubDate>Thu, 16 Apr 2026 14:33:58 GMT</pubDate>
            <description><![CDATA[Learn how to create a custom language selector for your Android application with Localazy Android Library. This kind of implementation is helpful if you want to make users able to select the language in your app regardless of the system language.]]></description>
            <content:encoded><![CDATA[<h2 id="so-why-implement-a-language-switcher">🔎 So, why implement a language switcher? <a class="markdownit-header-anchor" href="#so-why-implement-a-language-switcher">🔗</a></h2><p>Yes, you can determine the users' locale based on their system language, set it accordingly with fallback to English and be done. And while switching languages is not something that is required by all your users, it's handy for a subset of them. Why? </p><p>Food for thought:</p><ul><li><strong>Similar languages</strong>: Imagine two neighboring countries that understand each others' languages, but one of them is not available in your app. Thus, users from one country have to use your app in English instead of the language from the neighboring country that might be a preferred choice for them.</li><li><strong>Bilingual users and learners:</strong> Some people like to switch their system language to a language they want to learn better. But if your app is complex or rich in content, they might not want to use it in a language they don't fully understand yet.</li></ul><p>These are just two examples of when switching language is good for UX.</p><p>Learn more about this topic and find out how a simple improvement can improve the user experience.</p><blockquote>Read the article on <a href="https://localazy.com/blog/why-allow-users-to-switch-languages">why it is important to let users switch the language of your app</a></blockquote><h2 id="initial-setup"> 🕹️ Initial setup <a class="markdownit-header-anchor" href="#initial-setup">🔗</a></h2><p>To create a custom language selector, you need to implement the <a href="/docs/android/localazy-gradle-plugin">Localazy Gradle plugin</a> first. The reason is that you have to add your <code>readKey</code> and <code>writeKey</code> from Localazy into your app. These keys are needed to retrieve the language list, including the source.</p><p>First of all, let's <a href="/register">set up a new account</a> on Localazy and create a <a href="/my/create">new application</a> if you haven't already done that. Proceed to create the app, select <em><a href="/android">Android </a></em>on the integration screen, and follow the steps. Note your keys somewhere and put them in your configuration. Feel free to add some languages to your app so you can see your selector in action.</p><p><strong>IMPORTANT THING!</strong> If you have already configured the Localazy Gradle plugin before with the configuration below, please remove the <code>injection</code> block or allow the injection. Be sure that it's not disabled.</p><p>The <code>injection</code> section allows you to configure how the Android library is integrated into your app.</p><pre><code>localazy {
    injection {
            enabledForRelease false
            enabledForDebug false
            library "none"
        }
    
        download {
            enabledForRelease false
            enabledForDebug false
        }
    }</code></pre><p>To read more about the <code>injection</code> configuration, please <a href="/docs/android/localazy-gradle-plugin#injection">read the documentation.</a></p><p>Don't forget to add <strong>INTERNET</strong> permission, if you don't have it yet, as Localazy need it to fetch updated translations and new languages:</p><p><code>&lt;uses-permission android:name="android.permission.INTERNET" /&gt;</code></p><h2 id="create-the-selector">🎚️ Create the selector <a class="markdownit-header-anchor" href="#create-the-selector">🔗</a></h2><p>After you finish with the setup, we need to create a simple layout that will show all available languages and the currently selected language.</p><pre><code>&lt;LinearLayout
   android:id="@+id/select_language"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:background="?attr/selectableItemBackground"
   android:paddingStart="18dp"
   android:paddingEnd="18dp"
   android:orientation="horizontal"&gt;

   &lt;TextView
       android:id="@+id/language"
       android:layout_width="0dp"
       android:layout_height="48dp"
       android:layout_marginStart="8dp"
       android:layout_weight="1"
       android:gravity="center_vertical"
       android:text="Select app language" /&gt;

   &lt;ImageView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="center_vertical"
       android:layout_marginEnd="8dp"
       android:src="@drawable/ic_arrow_down" /&gt;

&lt;/LinearLayout&gt;</code></pre><p><br>Now, the core of our selector will use the official Localazy library, which is tied to <a href="/docs/general/ota-updates">OTA Updates</a>.</p><pre><code class="language-java">// Variables
private SharedPreferences preferences;
public LinearLayout selectLanguage;
private TextView language;
private Map&lt;LocalazyLocale, String&gt; languagesLocalazy;

// Initialize views
selectLanguage = findViewById(R.id.select_language);
language = findViewById(R.id.language);

languagesLocalazy = new HashMap&lt;&gt;();


// This will help us manipulate the “UI”, we won’t allow showing current language before we actually set it. If we skip this, “Select app language” won’t be visible
if (!preferences.getBoolean("language_selected", false)) {
   LocalazyLocale currentLocale = Localazy.getCurrentLocalazyLocale();
   language.setText(currentLocale.getLocalizedName());
}</code></pre><p>Now, we need to get a list of available locales from Localazy. Then we should use a for loop to populate the <code>HashMap&lt;&gt;()</code>.</p><p><code>getLocalizedName()</code> will return a locale in it’s own language eq. 'Čeština (Česko)' for 'cs_CZ'.</p><pre><code>List&lt;LocalazyLocale&gt; locales = Localazy.getLocales();

for (LocalazyLocale locale : locales) {
   String localizedName = locale.getLocalizedName();
   languagesLocalazy.put(locale, localizedName);
}</code></pre><p>And now the final part - selecting the language. For this example, I would use <code>AlertDialog</code> to show a list of the available languages. </p><p>First, we should check if the <code>HashMap&lt;&gt;()</code> isn't <code>null</code>, and right after that, check if we have more than one language available.</p><p>After that, we need to populate the <code>AlertDialog</code> with our available languages, set the preference that our language is selected, and finally set the chosen language with <code>forceLocale()</code>.</p><p>In order to make our changes visible we need to recreate the activity.</p><pre><code>if (languagesLocalazy != null) {
   if (languagesLocalazy.size() &gt; 1) {
       selectLanguage.setOnClickListener(v -&gt; {
           AlertDialog.Builder builder = new AlertDialog.Builder(context);
           builder.setTitle(“Set language”));

           LocalazyLocale[] langArray;
           langArray = languagesLocalazy.keySet().toArray(new LocalazyLocale[0]);

           String[] languageName = new String[langArray.length];
           for (int i = 0; i &lt; langArray.length; i++) {
               languageName[i] = langArray[i].getLocalizedName();
           }

           builder.setItems(languageName, (dialog, which) -&gt; {
               preferences.edit().putBoolean("language_selected", true).apply();

               Localazy.forceLocale(langArray[which].getLocale(), true);
               recreate();
           });

           AlertDialog dialog = builder.create();
           dialog.show();
       });
   }
}
</code></pre><p>And that's it! </p><h2 id="localazy-card-library">🗃️ Localazy Card Library <a class="markdownit-header-anchor" href="#localazy-card-library">🔗</a></h2><p>To see how the custom language selector works in practice, you can also check the Localazy Card library which core is the same, just with better design and more features.</p><p>See the Localazy Card library repository <a href="https://github.com/Paget96/Localazy-Card">https://github.com/Paget96/Localazy-Card</a></p><h2 id="you-might-also-like">📚 You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><p>We hope you liked this short guide. Here are some other Android tutorials you might like:</p><ul><li>Series: <a href="/tags/floating-windows">How to make floating windows on Android</a></li><li><a href="/blog/top-10-tools-multilingual-android-development">Top 10 Tools for Multilingual Android Development</a></li><li><a href="/blog/how-i-converted-floating-apps-to-localazy">How to integrate Android app with Localazy</a></li></ul><p>Or, learn how to add support for automated language switcher in the <a href="/docs/cli/the-basics">Localazy CLI</a> for projects other than Android apps. 😉</p><blockquote>Read the article:<strong> <a href="/blog/localazy-cli-tips-automated-language-switcher">Localazy CLI Tips: Automated language switcher</a></strong></blockquote>]]></content:encoded>
            <author>Danijel Markov</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/06/Language-selector-for-Android.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to convert Android XML to iOS .strings using Localazy]]></title>
            <link>https://localazy.com/blog/convert-android-xml-ios-strings-format-conversions-localazy</link>
            <guid isPermaLink="false">convert-android-xml-ios-strings-format-conversions-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:29:42 GMT</pubDate>
            <description><![CDATA[Localizable file format conversion is not an easy task, considering the required transformation, the different support for plural forms, and the many other challenges of converting one file to another format.]]></description>
            <content:encoded><![CDATA[<p>Fortunately, Localazy comes with the <a href="/docs/general/format-conversions-add-on">Format Conversions</a> feature and vast support of <a href="https://localazy.com/integrations">formats and integrations</a> you can utilize by downloading our multiplatform <a href="https://localazy.com/docs/cli/the-basics">command-line interface (CLI)</a>.</p><h2 id="why-android-xml-to-ios-strings">🔖 Why Android XML to iOS .strings? <a class="markdownit-header-anchor" href="#why-android-xml-to-ios-strings">🔗</a></h2><p><a href="/dictionary/android">Android </a>and <a href="/dictionary/ios">iOS</a> are, without a doubt, the most used mobile operating systems, both with billions of users and with the largest app stores in the global market.</p><p><a href="/android">Android </a>and <a href="/ios">iOS </a>app development differs, but you can preserve the content. So, you can develop an Android app first, and as long as you keep the strings and the remaining content (audio, images, video, etc.) <a href="/dictionary/externalized-string">external</a>, you'll be able to reuse it to develop an iOS version of the app.</p><p>This approach allows you not to have to do everything from scratch again and save your time.</p><h2 id="what-are-localizable-file-format-conversions">❓ What are localizable file format conversions? <a class="markdownit-header-anchor" href="#what-are-localizable-file-format-conversions">🔗</a></h2><p>To localize a project, we need to keep everything the user sees external to ensure that whenever we need to adapt the project to different areas/regions/countries, we won't have to fiddle with the code every time we want to add a new locale.</p><blockquote>Read our guide on <a href="/blog/guide-preparing-application-for-i18n-l10n-localazy">How to prepare your app for i18n &amp; l10n</a></blockquote><p>The text is how we mainly communicate with the user, and so we need to keep the strings outside the code, stored in a file with a determined format. This format depends on the framework/library we are using, as different frameworks/libraries have specific structures they work with.</p><p>So, what will happen if we want to adapt our product to new platforms or integrate new tools and utilize different localizable file formats? Will your files be unusable? No, Localazy got your back; we'll convert the file formats for you with our <a href="/docs/general/format-conversions-add-on">Format Conversions</a> feature.</p><h3 id="is-localizable-file-conversion-with-localazy-free-or-paid">Is localizable file conversion with Localazy free or paid? <a class="markdownit-header-anchor" href="#is-localizable-file-conversion-with-localazy-free-or-paid">🔗</a></h3><p>Format Conversions are available for all users with the <a href="/docs/general/localazy-professional-tier">Professional </a>tier and up.</p><blockquote>See the <a href="/pricing">pricing page</a> for options</blockquote><p>It will pay off with the first single conversion you perform—no limitations as of formats, number of operations, or conversion data volume. Once you make it a part of your workflow and automate converting localizable files, your dev life will get easier, we can guarantee that. 🤩</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/6fbfac07-e22d-4c38-a1b0-15f0a9344b4c-1-.svg" class="kg-image" alt loading="lazy" width="630" height="279"></figure><h2 id="sample-android-xml-to-ios-strings-conversion">📋 Sample Android XML to iOS .strings conversion <a class="markdownit-header-anchor" href="#sample-android-xml-to-ios-strings-conversion">🔗</a></h2><p>To demonstrate the feature, we'll create an <code>XML</code> file, and we'll do an example conversion to <code>.strings</code>. </p><blockquote>Read the previous article on <a href="/blog/convert-localization-files-different-formats-localazy">Format conversions</a> as well</blockquote><h3 id="simple-setup">Simple setup <a class="markdownit-header-anchor" href="#simple-setup">🔗</a></h3><p>Let's start by creating a directory to keep our files organized. It will have the following layout :</p><pre><code>.
├── locales
├── converted
├── localazy.exe
└── localazy.json</code></pre><p>The <code>locales</code> folder is where we will keep the file we want to convert, and in the <code>converted</code> folder, we will store the converted files. All of this will have to be configured in our <code>localazy.json</code> file.</p><p>The <strong>localazy.exe</strong> file is the Localazy CLI; if you use a different OS, you might not have to have it downloaded and stored here.</p><blockquote>For more information about the CLI, check <a href="https://localazy.com/docs/cli/the-basics">The Basics – Localazy</a></blockquote><p>Inside our <code>locales</code> folder, we'll create an Android XML file with a few strings, we'll name it <code>en.xml</code>:</p><pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;resources
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"&gt;
    &lt;string name="android"&gt;"Android was developed by Google"&lt;/string&gt;
    &lt;string name="conversion"&gt;"I\'m converting files"&lt;/string&gt;
    &lt;string name="ios"&gt;"iOS was developed by Apple"&lt;/string&gt;
    &lt;string name="weather_answer"&gt;"It\'s rainy and cold"&lt;/string&gt;
    &lt;string name="weather_question"&gt;"How\'s the weather outside?"&lt;/string&gt;
&lt;/resources&gt;</code></pre><p>Our directory will now look like this:</p><pre><code>.
├── locales
│   └── en.xml
├── converted
├── localazy.exe
└── localazy.json</code></pre><p>You have to configure the <code>localazy.json</code> file depending on what we are doing. In this case, we are doing a simple conversion between two formats, so we'll keep the configuration simple:</p><pre><code>{
   "writeKey":"your-write-key",
   "readKey":"your-read-key",
   "upload":{
      "type":"android",
      "files":"/locales/en.xml"
   },
   "conversion":{
      "actions":{
         "type":"ios-strings",
         "output":"converted/${lang}.lproj/Localizable.strings"
      }
   }
}</code></pre><p>As you can see, we have two sections. The <code>upload</code> section is built to configure the upload properties, and the <code>conversion</code> section is built to configure how and to what you want to convert your uploaded files into.</p><p>We also have the <code>writeKey</code> and <code>readKey</code> fields. Here you have to place your project's keys.</p><p>To get your keys, log in to your Localazy account and create a new project by choosing the format you'll use to upload. When you create the project, you'll get the keys, and then you can place them in the <code>localazy.json</code> configuration file.</p><blockquote>Remember that the <a href="/docs/general/format-conversions-add-on">Format Conversions feature</a> is only available for users with the <a href="/docs/general/localazy-professional-tier">Professional tier</a> and up, meaning that the following steps will not function if you are on the Free plan and the feature is locked. <strong>However, you can activate a 7-day trial of the Professional plan to try everything out.</strong></blockquote><p>Most work is done, now you'll have to open your <code>CMD</code>   in the root of your directory and run:</p><pre><code>localazy upload</code></pre><p>When this command is finished, run:</p><pre><code>localazy download</code></pre><p>Your directory will now look like this:</p><pre><code>.
├── locales
│   └── en.xml
├── converted
|   └── en.lproj
|       └── Localizable.strings
├── localazy.exe
└── localazy.json</code></pre><p>The <code>Localizable.strings</code> file will contain the following:</p><pre><code>"android" = "Android was developed by Google";
"conversion" = "I'm converting files";
"iOS" = "iOS was developed by Apple";
"weather_answer" = "It's rainy and cold";
"weather_question" = "How's the weather outside?";</code></pre><p>Easy right?</p><h3 id="plurals">Plurals <a class="markdownit-header-anchor" href="#plurals">🔗</a></h3><p>This far, we only showed you the basics of our Android to iOS file format conversion, and our example was pretty simple with a few strings.</p><p>But, what if we throw in some plurals as well?</p><p>Let's add the following strings to our Android XML original file:</p><pre><code>&lt;plurals name="availableSongs"&gt;
    &lt;item quantity="one"&gt;%d song found.&lt;/item&gt;
    &lt;item quantity="other"&gt;%d songs found.&lt;/item&gt;
&lt;/plurals&gt;</code></pre><p>Because we're converting to iOS, our plurals will have to be placed in a <code>.stringsdict</code> file, meaning that we'll have to configure our <code>localazy.json</code> file to distinguish the plain strings from the plurals and put them in the different file format.</p><pre><code>{
   "writeKey":"your-write-key",
   "readKey":"your-read-key",
   "upload":{
      "type":"android",
      "files":"/locales/en.xml"
   },
   "conversion":{
      "actions":[
         {
            "type":"ios-stringsdict",
            "output":"converted/${lang}.lproj/Localizable.stringsdict",
            "params":{
               "variable":"COUNT"
            }
         },
         {
            "filterPlurals":true,
            "type":"ios-strings",
            "output":"converted/${lang}.lproj/Localizable.strings"
         }
      ]
   }
}</code></pre><p>Because we are generating a <code>.stringsdict</code> file, we are required to add the field <code>variable</code> inside <code>params</code>.</p><p>When we run Localazy CLI's <code>upload</code> and <code>download</code> commands, our directory will now look like this:</p><pre><code>.
├── locales
│   └── en.xml
├── converted
|   └── en.lproj
|       └── Localizable.strings
|       └── Localizable.stringsdict
├── localazy.exe
└── localazy.json</code></pre><p>Our plain strings are in the <code>Localizable.strings</code> file, and our plurals are in the <code>Localizable.stringsdict</code> file.</p><ul><li>The <code>Localizable.strings</code> file should look like this:</li></ul><pre><code>"android" = "Android was developed by Google";
"conversion" = "I'm converting files";
"ios" = "iOS was developed by Apple";
"weather_answer" = "It's rainy and cold";
"weather_question" = "How's the weather outside?";</code></pre><ul><li>And <code>Localizable.stringsdict</code> like this:</li></ul><pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
    &lt;dict&gt;
        &lt;key&gt;availableSongs&lt;/key&gt;
        &lt;dict&gt;
            &lt;key&gt;NSStringLocalizedFormatKey&lt;/key&gt;
            &lt;string&gt;%#@COUNT@&lt;/string&gt;
            &lt;key&gt;COUNT&lt;/key&gt;
            &lt;dict&gt;
                &lt;key&gt;NSStringFormatSpecTypeKey&lt;/key&gt;
                &lt;string&gt;NSStringPluralRuleType&lt;/string&gt;
                &lt;key&gt;NSStringFormatValueTypeKey&lt;/key&gt;
                &lt;string&gt;d&lt;/string&gt;
                &lt;key&gt;one&lt;/key&gt;
                &lt;string&gt;%d song found.&lt;/string&gt;
                &lt;key&gt;other&lt;/key&gt;
                &lt;string&gt;%d songs found.&lt;/string&gt;
            &lt;/dict&gt;
        &lt;/dict&gt;
    &lt;/dict&gt;
&lt;/plist&gt;</code></pre><h3 id="platform-specific-key-filtering">Platform Specific Key Filtering <a class="markdownit-header-anchor" href="#platform-specific-key-filtering">🔗</a></h3><p>In some cases we might need to filter some strings, for that we have the platform key filtering option.</p><p>Let's add a few strings that contain 'Android' into our Android XML file. For simplification we are not including the Plurals section here, as we only want basic strings:</p><pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;resources
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"&gt;
    &lt;string name="android"&gt;"Android was developed by Google"&lt;/string&gt;
    &lt;string name="conversion"&gt;"I\'m converting files"&lt;/string&gt;
    &lt;string name="ios"&gt;"iOS was developed by Apple"&lt;/string&gt;
    &lt;string name="weather_answer"&gt;"It\'s rainy and cold"&lt;/string&gt;
    &lt;string name="weather_question"&gt;"How\'s the weather outside?"&lt;/string&gt;
    &lt;string name="android_love"&gt;"I love Android"&lt;/string&gt;
    &lt;string name="android_best"&gt;"Android is the best mobile OS"&lt;/string&gt;
&lt;/resources&gt;</code></pre><p>We probably won't use the strings showing our Android affection in the iOS version of our app, so what now?</p><p>Let's add one more field in the<code>localazy.json</code> file:</p><pre><code>{
   "writeKey":"your-write-key",
   "readKey":"your-read-key",
   "upload":{
      "type":"android",
      "files":"/locales/en.xml"
   },
   "conversion":{
      "actions":{
         "excludeKeys":[
            "CONTAIN:android"
         ],
         "type":"ios-strings",
         "output":"converted/${lang}.lproj/Localizable.strings"
      }
   }
}</code></pre><p>The <code>excludeKeys</code> field allows you to filter out strings depending on the content of their keys.</p><p>In this case we just added the operation <code>CONTAIN</code> which filters out keys that contain the declared value. There are various operations available and you can add multiple operations inside an array.</p><blockquote>Check all the available operations in the <a href="/docs/cli/excluding-string-keys">documentation</a></blockquote><p>Let's run our CLI once again, and the result is:</p><pre><code>"conversion" = "I'm converting files";
"ios" = "iOS was developed by Apple";
"weather_question" = "How's the weather outside?";
"weather_answer" = "It's rainy and cold";
</code></pre><h2 id="closing-words">📌 Closing Words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>As you can see, it's effortless to convert localizable file formats with the Format Conversions feature of Localazy.</p><p>It's time to expand your project to other platforms. If file conversion is something you are battling within your <a href="https://localazy.com/dictionary/continuous-integration">CI/CD</a>, consider getting the <a href="https://localazy.com/pricing">Localazy Professional plan</a> and making your dev life easier with automatic file format conversions. ✌️</p>]]></content:encoded>
            <author>Francisco Melo</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/06/Android-to-iOS-CLI.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[First impressions: Translating my iOS app with Localazy]]></title>
            <link>https://localazy.com/blog/translating-my-ios-app-no-meat-today-with-localazy</link>
            <guid isPermaLink="false">translating-my-ios-app-no-meat-today-with-localazy</guid>
            <pubDate>Tue, 21 Sep 2021 21:26:23 GMT</pubDate>
            <description><![CDATA[A couple of people have asked me to translate my iOS app into their language, but the last time I tried to tackle that, none of the solutions I found were satisfying or in my price range.
I just found Localazy, and I'm sold. And not just because there's /lazy/ in the name. ]]></description>
            <content:encoded><![CDATA[<p>It’s built by devs and from the <a href="/docs/cli/the-basics">CLI</a> to the way it works, it felt like we understood each other and it was behaving “as it should”.</p><p>So here’s a little recount of my experience so far, hopefully that’ll help you get started.</p><p>If you can’t wait to get started, you can register using <a href="https://localazy.com/register?ref=aAHPjuSXTN5m">this link</a> and I’ll earn extra source keys (thanks 😁).</p><h2 id="what-needs-translation">🎌 What needs translation? <a class="markdownit-header-anchor" href="#what-needs-translation">🔗</a></h2><p>In order to get my <a href="/ios">iOS </a>app <a href="https://nomeat.today/">No Meat Today</a> ready for a new country, I have to translate these <a href="/integrations">file formats</a>:</p><ul><li><em><em>strings</em></em>: until SwiftUI arrived, I would split Localizable.strings into multiple files and use [table names](<a href="https://developer.apple.com/documentation/foundation/1418095-nslocalizedstring">Apple Developer Documentation</a>) but I’ve started to regroup files and use a simple prefix in the key instead</li><li><em><em>stringsdict</em></em>: this is used to handle plural</li><li><em><em>plist</em></em>: I use this for the daily messages, so it’s a list of sentences, packaged by theme (Default, Premium, Star Wars, Xmas…)</li><li><em><em>some assets</em></em>: I only have some screenshots for the paywall that are translated (en/fr), I can default to English</li><li><em><em>txt</em></em>: marketing texts &amp; screenshots published on the App Store. This is downloaded into my app folder by fastlane.tools</li></ul><p><a>Localazy</a> supports the first all 4 file formats 🥳 (it wasn't the case when I first wrote this article, but I've updated it and even wrote a <a href="https://paraside.in/localizing-your-app-store-marketing-content-with-localazy/">follow-up article</a> about Localazy + Fastlane combo).</p><blockquote><strong>Note from Localazy</strong>: txt format support is available thanks to Arnaud, who requested this feature❤️</blockquote><h2 id="pricing">💵 Pricing <a class="markdownit-header-anchor" href="#pricing">🔗</a></h2><p>Fair warning: you will probably have to pay. But something that feels fair.</p><p>You get 200 source keys for free and can buy more. Adding 500 (so 700 total) will cost you a <em><em>one-time fee</em></em> of $160 or $4 / month, and 1000 (1200 total) $240 or $6 / month.</p><p>I found the project launch on <a href="https://www.producthunt.com/posts/localazy">Product Hunt</a> and they advertised 1000 keys for free and a 75% discount. I contacted them about it and Václav was transparent about how this was too generous to build a viable business and that they had to decrease it. I wasn’t really surprised to be honest, and the current pricing still seems pretty reasonable to me.</p><blockquote><strong>Note from Localazy</strong>: <em>See the current <a href="/pricing">pricing</a> here.</em></blockquote><p>They also offered a starter pack subscription at $19/mo or $199/year, and it wouldn’t be surprising if they decided to drop the one time fee at some point. Hopefully that will include more affordable tiers, but in any case, Václav promised me that any phrases bought now will be owned forever, which is enough for me.</p><blockquote><strong>Note from Localazy:</strong> We have since updated the pricing and introduced three paid tiers replacing the old model. Read the <a href="/blog/localazy-release-update-file-management-ios-sdk-new-pricing">release article here</a>.</blockquote><p>You can get free keys with a referral link (<a href="https://localazy.com/register?ref=aAHPjuSXTN5m">here is mine</a>, again, I have no shame). Know that this referral bonus is added on a daily basis, and you only get it if the user integrates their app (upload texts).</p><p>I was told they would offer more ways how to earn free phrases.</p><p>If you're curious: I purchased a set of a 1000 phrases for $90 prior to the pricing changes.</p><h2 id="setup">⚙️ Setup <a class="markdownit-header-anchor" href="#setup">🔗</a></h2><p>The main pages you’ll want to look at are</p><ul><li><a href="https://localazy.com/docs/cli/installation#macos">Installation – Localazy</a></li><li><a href="https://localazy.com/docs/cli/quick-start-ios">Quick Start - iOS &amp; macOS – Localazy</a></li><li><a href="https://localazy.com/docs/cli/ios-format">File Format - iOS / macOS – Localazy</a></li></ul><p>It can be worth having a look at these two as well since they describe the configuration of the two core commands of Localazy: <code>upload</code> and <code>download</code>.</p><ul><li><a href="https://localazy.com/docs/cli/upload-reference">Upload Reference – Localazy</a></li><li><a href="https://localazy.com/docs/cli/download-reference">Download Reference – Localazy</a></li></ul><h3 id="install-the-cli">Install the CLI <a class="markdownit-header-anchor" href="#install-the-cli">🔗</a></h3><p>Installation is done via <a href="https://brew.sh/">Homebrew</a></p><pre><code>xcode-select --install # Only if you haven't done so before
brew tap localazy/tools
brew install localazy</code></pre><h3 id="create-your-configuration-file">Create your configuration file <a class="markdownit-header-anchor" href="#create-your-configuration-file">🔗</a></h3><p>I followed the <a href="https://localazy.com/docs/cli/quick-start-ios">Quick Start - iOS &amp; macOS – Localazy</a> instructions at first, but this didn’t work for me.</p><p>I have a Watch Extension, so for instance I have a Base.lproj in both the “No Meat Today” subfolder and “No Meat Today Watch App Extension”.</p><p>After playing with upload/download a bit, I ended up with this configuration.</p><pre><code class="language-json">{
    
    "writeKey": "my-write-key",
    "readKey": "my-read-key",
    
    "upload": {
        "files": [
            {
                "type": "ios-strings",
                "pattern": "No Meat Today/Base.lproj/Localizable.strings",
                "path": "No Meat Today"
            },
            {
                "type": "ios-strings",
                "pattern": "No Meat Today/fr.lproj/Localizable.strings",
                "path": "No Meat Today",
                "lang": "fr"
            },
            {
                "type": "ios-stringsdict",
                "pattern": "No Meat Today/Base.lproj/Localizable.stringsdict",
                "path": "No Meat Today"
            },
            {
                "type": "ios-stringsdict",
                "pattern": "No Meat Today/fr.lproj/Localizable.stringsdict",
                "path": "No Meat Today",
                "lang": "fr"
            },
            {
                "type": "ios-plist",
                "pattern": "No Meat Today/Base.lproj/Silliness.plist",
                "path": "No Meat Today"
            },
            {
                "type": "ios-plist",
                "pattern": "No Meat Today/fr.lproj/Silliness.plist",
                "path": "No Meat Today",
                "lang": "fr"
            },
            {
                "type": "ios-strings",
                "pattern": "No Meat Today Watch App Extension/en.lproj/Localizable.strings",
                "path": "No Meat Today Watch App Extension"
            },
            {
                "type": "ios-strings",
                "pattern": "No Meat Today Watch App Extension/fr.lproj/Localizable.strings",
                "path": "No Meat Today Watch App Extension",
                "lang": "fr"
            }
        ]
    },
    
    "download": {
        "files": "${path}/${iosLprojFolder}/${file}"
    }   
}</code></pre><p>As you can see, unlike the proposed configuration I use a path variable so that I can support the same <code>Localizable.strings</code>file in two different subfolders, which means I can translate all extensions (Watch App, Widget…).</p><p>The app’s default language is English, and my app is localized in French, which means I already had translated texts. The above configuration allowed me to upload my translations in one go.</p><p>Does it mean I’ll have to add new rows for each new language? I don’t think so.</p><p>If you edit a translation file and call <code>localazy upload</code> it will push the edit translation for review, which is quite nice. While I will probably want to do that for French (since it’s my native language and I may spot typos or find better translations while coding), it’s unlikely that I will try to edit strings in a language that I don’t speak. So for these other languages, I will only download and not upload, since I won’t do any changes to these files.</p><h2 id="lingo-before-you-read-the-rest">📚 Lingo: before you read the rest <a class="markdownit-header-anchor" href="#lingo-before-you-read-the-rest">🔗</a></h2><p>First, a reminder of what a <a href="/dictionary/localization">localization </a>in a strings file looks like and some terms used thereafter.</p><pre><code>/* This is a comment */
"a.key" = "This is a key";
</code></pre><ul><li>translation notes: the comment / first line</li><li>key: the left hand side of the 2nd line, a unique string to identify your text across all languages</li><li>phrase: the right hand side of the 2nd line</li><li>source language: the language used in your Base.lproj files</li><li>source phrases: the phrases in your source/base language</li></ul><h2 id="translating">🎯 Translating <a class="markdownit-header-anchor" href="#translating">🔗</a></h2><p>This is what the UI looks like. I think it’s pretty straightforward. But more importantly, I invited a translator who is not a dev and they found it easy to use as well.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/loc-arnaud-1.png" class="kg-image" alt loading="lazy" width="1000" height="551" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/loc-arnaud-1.png 600w, https://ghost.localazy.com/content/images/2021/06/loc-arnaud-1.png 1000w" sizes="(min-width: 720px) 720px"></figure><p>Some things to notice:</p><ul><li>everything that can help is there: the key, the source phrase, the translation notes, even the file path</li><li>at the bottom you can see 2 types of suggestions: <a href="/docs/general/what-is-localazy-sharetm">ShareTM </a>is the database of translations from other apps/devs who decided to share their translations, and the other one is an automatic translation. This is really helpful to get a first quick &amp; dirty translation of each phrase.</li><li>I love bad puns</li></ul><h2 id="good-to-know-and-other-tips">👍 Good to know & other tips <a class="markdownit-header-anchor" href="#good-to-know-and-other-tips">🔗</a></h2><p>Things below should help you get started, I figured some of it by trial and error, and the rest by talking with someone in the team (🙌 Vaclav!)</p><h3 id="your-default-language-is-kinda-hidden">Your default language is kinda hidden <a class="markdownit-header-anchor" href="#your-default-language-is-kinda-hidden">🔗</a></h3><p>When you first upload your strings, you can be surprised that you don’t find your base/source language. It took me a while to see it, but your source phrases are hidden behind the little sandwich menu next to the mention of your source language.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/loc-arnaud-2.png" class="kg-image" alt loading="lazy" width="1000" height="184" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/loc-arnaud-2.png 600w, https://ghost.localazy.com/content/images/2021/06/loc-arnaud-2.png 1000w" sizes="(min-width: 720px) 720px"></figure><p>When I first uploaded my strings, I only found the French language and couldn’t figure out where the English phrases were. I even tried to add en_US as a language before I realized the source language wasn’t treated as the other languages.</p><p>I mentioned this to the team and apparently they’ll try to improve this.</p><p>Know that another way to access your source phrases is by heading to the “<a href="/docs/general/importing-localization-files">File management</a>” section.</p><h3 id="you-will-lose-control-over-the-format-of-your-files-but-not-the-base-one-and-its-ok-anyway">You will lose control over the format of your files (but not the Base one 🙌, and it’s OK anyway) <a class="markdownit-header-anchor" href="#you-will-lose-control-over-the-format-of-your-files-but-not-the-base-one-and-its-ok-anyway">🔗</a></h3><p>Up until now, I would make sure my files were organized in the same way, having the same number of lines, spaces, comments. I would then open both language files simultaneously and modify them at the same time.</p><p>The identical number of lines especially made it easier to spot discrepancies, which meant untranslated keys.</p><p>So naturally, when I started searching for a service to handle translations, I imagined there might be one that would scan my files, keep the keys exactly where they were (append the missing ones) and only change the phrases/translations.</p><p>But, this is not how things work.</p><p>Instead, <em><em>each time you download the translations, the language files are overwritten and keys are sorted alphabetically</em></em>.</p><p>I can live with that, I guess. I mean, as I explained above, I’m unlikely to modify phrases in languages other than English and French.</p><h3 id="deleting-a-key-doesnt-delete-it-in-the-base-language">Deleting a key doesn’t delete it in the base language <a class="markdownit-header-anchor" href="#deleting-a-key-doesnt-delete-it-in-the-base-language">🔗</a></h3><p>By default, base files are not overwritten, which means that if you delete a key, it will be deleted in all your language files except the base one, where you’ll have to delete it manually.</p><p><em><em>This is a good thing, because it means that you can format your base file as you want.</em></em></p><p>In particular, you can make use of <code>// MARK : - Section</code> to make it easier to navigate your Localizable.strings.</p><p>If you do use these, make sure you add a different comment (even an empty one such as <code>/**/</code>) above the first key so that the MARK doesn’t show up as translation notes.</p><p>Finally, if you do want to overwrite the files in your base language, you can for it by setting the <code>includeSourceLang</code> in your config file.</p><h3 id="what-if-i-change-a-translation-in-the-source-language">What if I change a translation in the source language? <a class="markdownit-header-anchor" href="#what-if-i-change-a-translation-in-the-source-language">🔗</a></h3><p>This is something I was worried about and it works just as you would expect: when you edit a translation, all languages see a notice that the source phrase was changed, so that they can be changed if necessary.</p><p>If you do it from the web, you get a bit more flexibility because you can decide whether existing translations need to be updated or not.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/loc-arnaud-3.png" class="kg-image" alt loading="lazy" width="750" height="86" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/loc-arnaud-3.png 600w, https://ghost.localazy.com/content/images/2021/06/loc-arnaud-3.png 750w" sizes="(min-width: 720px) 720px"></figure><p>But, I wouldn’t do it from there, because, remember, the source phrases are not downloaded, so you’d have to change it manually in Xcode.</p><h3 id="what-if-i-change-a-translation-in-a-language-that-is-not-the-source-language">What if I change a translation in a language that is not the source language? <a class="markdownit-header-anchor" href="#what-if-i-change-a-translation-in-a-language-that-is-not-the-source-language">🔗</a></h3><p>If you change a translation in Xcode, say in the fr.lproj/Localizable.strings, and then run <code>localazy upload</code>, it will upload the translation for review but it won’t be taken into account until your review it</p><p>This means that if you run <code>localazy download</code> before you review the change on the web, your change will be overwritten.</p><p>But what if you run <code>localazy upload</code> again before you review it, will you lose your change? No, because there is a versioning system and you’ll still be able to find your unreviewed change. 💪</p><h3 id="there-is-a-glossary">There is a Glossary <a class="markdownit-header-anchor" href="#there-is-a-glossary">🔗</a></h3><p>You can add terms that require extra context or attention in a Glossary.</p><p>For instance, I invented the term “Cowliday” and added it to the Glossary to explain it and give some instructions that will show up each time the term is used.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/loc-arnaud-4.png" class="kg-image" alt loading="lazy" width="1000" height="507" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/loc-arnaud-4.png 600w, https://ghost.localazy.com/content/images/2021/06/loc-arnaud-4.png 1000w" sizes="(min-width: 720px) 720px"></figure><p>When translating a phrase, the term is highlighted and hovering it will show the comments.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image.png" class="kg-image" alt loading="lazy" width="1000" height="251" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/image.png 600w, https://ghost.localazy.com/content/images/2021/06/image.png 1000w" sizes="(min-width: 720px) 720px"></figure><h3 id="how-can-i-tell-how-many-keys-i-have">How can I tell how many keys I have? <a class="markdownit-header-anchor" href="#how-can-i-tell-how-many-keys-i-have">🔗</a></h3><p>The quickest place to find it is probably the Marketplace, where you can see your source keys limit.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image-1.png" class="kg-image" alt loading="lazy" width="978" height="470" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/image-1.png 600w, https://ghost.localazy.com/content/images/2021/06/image-1.png 978w" sizes="(min-width: 720px) 720px"></figure><p>Another place where you can find the info is in your source language (see "Your default language is kinda hidden" above), at the bottom right.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image-3.png" class="kg-image" alt loading="lazy" width="1000" height="492" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/image-3.png 600w, https://ghost.localazy.com/content/images/2021/06/image-3.png 1000w" sizes="(min-width: 720px) 720px"></figure><h3 id="how-can-i-tell-how-many-words-i-have">How can I tell how many words I have? <a class="markdownit-header-anchor" href="#how-can-i-tell-how-many-words-i-have">🔗</a></h3><p>That one is less easily accessible but you can find the information by clicking on <a href="/my/virtual-translator">Order Translations.</a> Just pick any language, and you will find the number of words.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image-9.png" class="kg-image" alt loading="lazy" width="1000" height="632" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/image-9.png 600w, https://ghost.localazy.com/content/images/2021/06/image-9.png 1000w" sizes="(min-width: 720px) 720px"></figure><h3 id="how-can-i-quickly-go-from-one-phrase-to-the-next">How can I quickly go from one phrase to the next? <a class="markdownit-header-anchor" href="#how-can-i-quickly-go-from-one-phrase-to-the-next">🔗</a></h3><p>When you begin translating, you'll probably want to go to the next untranslated sentence after you save a translation. There are two ways to make this easier that you'll probably want to communicate to your translators.</p><p>The first official one is what I'd call the "translation mode". When you go to your languages list, hover over the three dots and select "Start translating".</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image-4.png" class="kg-image" alt loading="lazy" width="1000" height="361" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/image-4.png 600w, https://ghost.localazy.com/content/images/2021/06/image-4.png 1000w" sizes="(min-width: 720px) 720px"></figure><p>The trouble with this is that you can just pick a key in the list and go from there. So here's my hackish way of doing it.<br>From your list of phrases, filter the Untranslated ones like I did here in the table header.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image-5.png" class="kg-image" alt loading="lazy" width="1000" height="550" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/image-5.png 600w, https://ghost.localazy.com/content/images/2021/06/image-5.png 1000w" sizes="(min-width: 720px) 720px"></figure><p>Then select the phrase that you want to translate, save it, and you will be right back to the same page, with the same filter, which means that the phrase you just translated will be gone and you can carry on to the next phrase.</p><h3 id="can-i-not-download-languages-that-i-added-into-localazy-but-not-in-xcode-yet">Can I not download languages that I added into Localazy but not in Xcode yet? <a class="markdownit-header-anchor" href="#can-i-not-download-languages-that-i-added-into-localazy-but-not-in-xcode-yet">🔗</a></h3><p>Until the language is ready to be tested in your app, it's probably not worth downloading it every time with the other files.</p><p>For that, just set the "excludedLangs" variable in your "downloads" as such:</p><pre><code>"download": {
    "files": "${path}/${iosLprojFolder}/${file}",
    "excludedLangs": ["de", "nl", "zh#Hans"]
 } </code></pre><h3 id="how-can-i-translate-the-app-store-marketing-content">How can I translate the App Store marketing content? <a class="markdownit-header-anchor" href="#how-can-i-translate-the-app-store-marketing-content">🔗</a></h3><p><strong><strong>Edit</strong></strong>: I wrote a <a href="https://paraside.in/localizing-your-app-store-marketing-content-with-localazy/">follow-up article</a> on this topic alone with a configuration supporting the fastlane txt files since this feature was introduced about 2 days after I wrote this article 😄.</p><p>If you're using fastlane.tools, you can download/upload your App Store metadata to txt files. While you can't simply upload them with Localazy, you can still create an <code>AppStore.strings</code> file with no Target Membership, and add it to your configuration.</p><p>Mine has two keys for the text, but also keys for texts I use in the screenshots (not created by fastlane automatically):</p><pre><code>/* Max 30 characters */
"AppStore.subtitle" = "Eat less meat: track, decide!";
/* Max 4000 characters */
"AppStore.description" = "# Exclusive to Apple #

(The rest of my 70 lines of descriptions)

";

"AppStore.screenshots.1.headline" = "Your companion to eat less meat";
"AppStore.screenshots.1.subheadline" = "Size your efforts by attracting cows to your meatless planet";
…</code></pre><h2 id="parting-notes">👋 Parting notes <a class="markdownit-header-anchor" href="#parting-notes">🔗</a></h2><ul><li>Localazy supports all the file formats I expected it to</li><li>It’s free for apps with less than 200 phrases, and affordable for small apps plus there are ways to get free phrases</li><li>CLI is a charm</li><li>Setup is pretty easy if you follow the configuration above</li><li>The UI to translate is reactive and works well, and is easy to use for non-devs (well, I tested with a single person for now)</li></ul><p><strong>Before you leave </strong>😇</p><p>Consider doing one or more of these:</p><ul><li>Create a Localazy account using <a href="https://localazy.com/register?ref=aAHPjuSXTN5m">my referral link</a></li><li>Follow me on twitter <a href="https://twitter.com/sowenjub">@sowenjub</a></li><li>Download <a href="https://nomeat.today/">No Meat Today</a>, a companion app for people who want to eat less meat, whatever you put behind "less" and "meat" (and ping me if you want to help translate it ☺️)</li></ul><p>This article was originally published on 🏝 <a href="https://paraside.in/translating-your-ios-app-with-localazy/">Living in Paraside</a>, a blog by <strong>Arnaud Joubay.</strong></p>]]></content:encoded>
            <author>Arnaud Joubay</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/06/iOS-app-NMT.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to convert localization files into different formats?]]></title>
            <link>https://localazy.com/blog/convert-localization-files-different-formats-localazy</link>
            <guid isPermaLink="false">convert-localization-files-different-formats-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:32:26 GMT</pubDate>
            <description><![CDATA[Localizable file format conversions are not an easy task. You must consider required transformations, differing support of plurals, and many other challenges to convert one localizable file to another in a different format.]]></description>
            <content:encoded><![CDATA[<p>Lucky for you, Localazy comes with the <strong><a href="/docs/general/format-conversions-add-on">Format Conversions</a></strong> feature you can utilize by downloading our multiplatform <a href="/docs/cli/the-basics">command-line interface (CLI)</a> and a vast support of <a href="/integrations">formats and integrations</a>.</p><h2 id="what-are-localizable-file-format-conversions">❓ What are localizable file format conversions? <a class="markdownit-header-anchor" href="#what-are-localizable-file-format-conversions">🔗</a></h2><p>To localize a project, we need to keep everything the user sees external to ensure that whenever we need to adapt the project to different areas/regions/countries, we won't have to fiddle with the code every time we want to add a new locale.</p><blockquote>Read our guide on <a href="/blog/guide-preparing-application-for-i18n-l10n-localazy">How to prepare your app for i18n &amp; l10n</a></blockquote><p>The text is how we mainly communicate with the user, and so we need to keep the strings outside the code, stored in a file with a determined format. This format depends on the framework/library we are using, as different frameworks/libraries have specific structures they work with.</p><p>So, what will happen if we want to adapt our product to new platforms or integrate new tools and utilize different localizable file formats? Will your files be unusable? No, Localazy got your back; we'll convert the file formats for you with our <a href="/docs/general/format-conversions-add-on">Format Conversions</a> feature.</p><h3 id="is-localizable-file-conversion-with-localazy-free-or-paid">Is localizable file conversion with Localazy free or paid? <a class="markdownit-header-anchor" href="#is-localizable-file-conversion-with-localazy-free-or-paid">🔗</a></h3><p>Format Conversions are available for all users with the <a href="/docs/general/localazy-professional-tier">Professional </a>tier and up.</p><blockquote>See the <a href="/pricing">pricing page</a> for options</blockquote><p>It will pay off with the first single conversion you perform—no limitations as of formats, number of operations, or conversion data volume. Once you make it a part of your workflow and automate converting localizable files, your dev life will get easier, we can guarantee that. 🤩</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/6fbfac07-e22d-4c38-a1b0-15f0a9344b4c-1-.svg" class="kg-image" alt loading="lazy" width="630" height="279"></figure><h2 id="sample-use-case-of-converting-localizable-files-into-different-formats">📃 Sample use case of converting localizable files into different formats <a class="markdownit-header-anchor" href="#sample-use-case-of-converting-localizable-files-into-different-formats">🔗</a></h2><p>To demonstrate the feature, we'll create a <code>YAML</code> file, and we'll do an example conversion to <code>JSON</code>. These are only two examples from the variety of formats available for conversion; you can convert:</p><ul><li><code>android</code> - Convert to Android XML</li><li><code>arb</code> - Convert to Flutter ARB</li><li><code>ini</code> - Convert to INI</li><li><code>ini-multilingual</code> - Convert to multilingual INI</li><li><code>ios-strings</code> - Convert to iOS’s .strings</li><li><code>ios-stringsdict</code> - Convert to iOS’s .stringsdict</li><li><code>json</code> - Convert to JSON</li><li><code>json-mozilla</code> - Convert to Mozilla i18n JSON</li><li><code>json-multilingual</code> - Convert to multilingual JSON</li><li><code>yaml</code> - Convert to YAML</li><li><code>yaml-multilingual</code> - Convert to multilingual YAML</li><li><code>yaml-rails</code> - Convert to Rails i18n YAML</li></ul><h3 id="create-your-file">Create your file <a class="markdownit-header-anchor" href="#create-your-file">🔗</a></h3><p>The file we create contains the following strings:</p><pre><code class="language-json">calendar:
  one: "Calendar"
  other: "Calendars"
field:
  one: "Field"
  other: "Fields"
hello_localazy: "Hello Localazy!"

</code></pre><p>We'll name the file as <code>en.yml</code>. So now that we have a localizable file, what will we do?</p><h3 id="create-a-directory-structure">Create a directory structure <a class="markdownit-header-anchor" href="#create-a-directory-structure">🔗</a></h3><p>For this example, we'll create a directory structure with the following layout:</p><pre><code>.
├── locales
│   └── en.yml
├── converted
├── localazy.exe   
└── localazy.json</code></pre><p>The <code>locales</code> folder is where we will keep the file we want to convert, and in the <code>converted</code> folder, we will store the converted files. All of this will have to be configured in our <code>localazy.json</code> file.</p><p>The <strong>localazy.exe</strong> file is the Localazy CLI; if you use a different OS, you might not have to have it downloaded and stored here. </p><blockquote>For more information about the CLI, check <a href="https://localazy.com/docs/cli/the-basics">The Basics – Localazy</a>.</blockquote><h3 id="set-up-your-localazy-configuration">Set up your Localazy configuration <a class="markdownit-header-anchor" href="#set-up-your-localazy-configuration">🔗</a></h3><p>With this done, we can start populating our <code>localazy.json</code> file with the following configuration:</p><pre><code>{

    "writeKey": "your-write-key",
    "readKey": "your-read-key",
    
    "upload": {
      "type": "yaml",
      "files": "/locales/en.yml" 
    },
    "conversion": {
      "actions": 
        {
          "type": "json",
          "output": "converted/${lang}.json"
        }    
    }
  }</code></pre><p>We didn't add a <code>download</code> section to the <code>localazy.json</code> configuration file because we are simply doing file conversions for now and not translations.</p><p>If you're familiar with our CLI, you know that we use <code>writeKeay</code>and <code>readKey</code> to upload and download the files. For you to have these keys assigned, you must <a href="/my/create">create a new project</a> in Localazy and choose the format you'll use as the source for the conversion.</p><blockquote>Remember that the <a href="/docs/general/format-conversions-add-on">Format Conversions feature</a> is only available for users with the <a href="/docs/general/localazy-professional-tier">Professional tier</a> and up, meaning that the following steps will not function if you are on the Free plan and the feature is locked. <strong>However, you can activate a 7-day trial of the Professional plan to try everything out.</strong> </blockquote><h3 id="conversion">Conversion <a class="markdownit-header-anchor" href="#conversion">🔗</a></h3><p>When you have your keys ready, just add them to the <code>localazy.json</code> file, and we'll now use the Localazy CLI to upload the strings and then download the converted file. Just execute:</p><p><code>localazy upload</code> - This will upload the strings to our server, where all the magic happens.</p><p><code>localazy download</code> - This will download the converted format file.</p><p>Your folder layout will now look like this:</p><pre><code>.
├── locales
│   └── en.yml
├── converted
|   └── en.json
├── localazy.exe   
└── localazy.json</code></pre><p>As you can see, inside the converted folder, there's the converted file. This file will now have the <code>.json</code> extension and will look like this:</p><pre><code>{
  "calendar": {
    "one": "Calendar",
    "other": "Calendars"
  },
  "field": {
    "one": "Field",
    "other": "Fields"
  },
  "hello_localazy": "Hello Localazy!"
}</code></pre><h2 id="structured-keys-flattening">📏 Structured keys flattening <a class="markdownit-header-anchor" href="#structured-keys-flattening">🔗</a></h2><p>In some cases, we encounter a localizable file with multiple levels; for example, the <code>JSON</code> file we have just converted.</p><p>We cannot transfer the same level structure to some formats, say: Android XML as an example. Depending on the situation, Format Conversions offer multiple key flattening options like:</p><ul><li>Don't flatten structured keys;</li><li>Flatten structured keys with a dot ( <strong>. </strong>);</li><li>Flatten structured keys with an underscore ( <strong>_</strong> );</li><li>Flatten structured keys with a dash ( <strong>- </strong>)</li></ul><p>The default output result of the conversion to Android would then be:</p><pre><code class="language-XML">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"&gt;
  &lt;string name="hello_localazy"&gt;"Hello Localazy!"&lt;/string&gt;
  &lt;string name="calendar_one"&gt;"Calendar"&lt;/string&gt;
  &lt;string name="calendar_other"&gt;"Calendars"&lt;/string&gt;
  &lt;string name="field_one"&gt;"Field"&lt;/string&gt;
  &lt;string name="field_other"&gt;"Fields"&lt;/string&gt;
&lt;/resources&gt;</code></pre><p>If you would like to specify the flattening, all you have to do is add:</p><pre><code class="language-json">"actions": 
          … other specifications …
 
          {
          "params": {
            "flatten_keys": "dot"
          }
        }
</code></pre><p>Keep in mind all the options and specifications are dependent on the formats you're converting.</p><p>See <a href="/docs/cli/format-conversions">Format Conversions CLI documentation</a> for all the available options you can use to configure your conversions.</p><h2 id="do-you-have-multiple-projects-try-connected-projects">🔌 Do you have multiple projects? Try Connected Projects! <a class="markdownit-header-anchor" href="#do-you-have-multiple-projects-try-connected-projects">🔗</a></h2><p>Format Conversions are perfect for 1:1 conversion of your files. But sometimes, your product might consist of multiple sub-projects that can contain files that are very similar, but not identical, so conversion wouldn't be a viable option.</p><p>In this case, you should consider setting up the <a href="/features/connected-projects">Connected Projects</a> feature included with your Professional plan, that is designed to help you with seamless translation sharing between your own projects. </p><p>Connected Projects empower you to translate your content only once and then let Localazy handle the rest. Perfect for multiplatform development or a portfolio of similar apps that share same texts.</p><p>Once you set everything up, Localazy keeps your translations in sync without any extra steps needed, speeds up the translation process by automatically approving matching texts, and allows all projects to tap into one central glossary.</p><blockquote><strong>Read more about <a href="/docs/general/connected-projects">Connected Projects</a> in the documentation</strong></blockquote><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/CJXM5jxFY2s" title="Connected Apps" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><h2 id="conclusion">✔️ Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2><p>We hope you liked this short tutorial on converting localizable file formats. If file conversion is something that you are battling with in your <a href="/dictionary/continuous-integration">CI/CD</a>, consider getting the <a href="/pricing">Localazy Professional plan</a> and make your dev life easier with automatic file format conversions. ✌️</p><h3 id="you-might-also-like">You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h3><ul><li><a href="/blog/guide-preparing-application-for-i18n-l10n-localazy">Guide: How to prepare your application for i18n &amp; l10n</a></li><li><a href="/blog/how-to-localize-go-app-with-go-i18n-and-localazy">How to localize Go app with go-i18n and Localazy</a></li><li><a href="/blog/create-multi-language-newsletters-free-using-google-sheets-localazy">Create multi-language newsletters for free using Google Sheets and Localazy</a><br></li></ul>]]></content:encoded>
            <author>Francisco Melo</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/06/Convert-files.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to localize Go app with go-i18n and Localazy]]></title>
            <link>https://localazy.com/blog/how-to-localize-go-app-with-go-i18n-and-localazy</link>
            <guid isPermaLink="false">how-to-localize-go-app-with-go-i18n-and-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:31:31 GMT</pubDate>
            <description><![CDATA[Are you looking for a straightforward approach how to localize your Go app into other languages? Seek no more - Localazy will take care of it for you.]]></description>
            <content:encoded><![CDATA[<p>Localazy is a universal <a href="/dictionary/translation-management-system-tms">translation management platform</a> that supports a wide variety of <a href="/integrations">formats and frameworks</a>. It is a platform tailor-made for developers.</p><p>Thanks to the <a href="/docs/cli/installation">Localazy CLI</a>, you can easily set up the download and upload commands to be part of your automation once and never be bothered by key extraction, file merging, and looking up which translations are still missing ever again. </p><p>Or you can just upload everything once, translate and download back manually. The choice is yours, and the <a href="/dictionary/localization">localization</a> possibilities are endless. </p><h2 id="localization-with-go-i18n">🚩 Localization with go-i18n <a class="markdownit-header-anchor" href="#localization-with-go-i18n">🔗</a></h2><p>This article will show you how to prepare your <a href="/go">Go project</a> for localization using a very popular <a href="https://github.com/nicksnyder/go-i18n">go-i18n</a> package. </p><p>You will learn how to connect your Go app to Localazy, include your source keys in your main language in the application, and resolve the messages by their keys for both singular and plural variants in your primary language as well as others. Let's dive into it!</p><h2 id="tldr">🙄 tldr; <a class="markdownit-header-anchor" href="#tldr">🔗</a></h2><ul><li>sign up for <a href="https://localazy.com/register">Localazy</a>,</li><li><a href="https://localazy.com/my/create">create an app</a> with English as source language and Use community translations (ShareTM) option enabled,</li><li>select <a href="https://localazy.com/go">Go</a> integration option and install Localazy <a href="https://localazy.com/docs/cli/installation">CLI</a>,</li><li>include <a href="https://github.com/nicksnyder/go-i18n">go-i18n</a> in your app,</li><li>create <code>localazy.json</code> in root and paste in and modify the <a href="https://localazy.com/docs/cli/quick-start-go">configuration</a>,</li><li>create <code>locales</code> folder and in it create <code>en.json</code>. Add any translation key-value pair,</li><li>run <code>localazy upload</code>,</li><li>in Localazy, add any language. Then review it and accept the suggested phrases,</li><li>run <code>localazy download</code> and check <code>locales</code> folder for the new locale,</li><li>run the app <code>go run main.go</code></li></ul><h2 id="sign-up-and-app-creation">🕹️ Sign up and app creation <a class="markdownit-header-anchor" href="#sign-up-and-app-creation">🔗</a></h2><p>First of all, let's <a href="/register">set up a new account</a> on Localazy and create a <a href="/my/create">new application</a>. In this article, we'll use English as the source language, but you can generally choose any other. Make sure that the <em>Use community translations (ShareTM)</em> option is enabled.</p><blockquote><a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a> is highly accurate <a href="/dictionary/translation-memory">translation memory</a>. Thanks to it, most new applications have as much as <strong>50 % of strings automatically pre-translated</strong> into 80+ languages.</blockquote><p>Proceed to create the app. Then, select <em>Go</em> on the integration screen. We'll use the powerful CLI tool to manage the upload and download of phrases. <a href="/docs/cli/installation">Installation</a> is available for Linux, macOS, and Windows. </p><p><strong>Note the read and write keys from step 2 somewhere. </strong>We'll need them shortly.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/Integration_screen.png" class="kg-image" alt="Integration_screen" loading="lazy"></figure><h2 id="set-up-go-app">🛠️ Set up Go app <a class="markdownit-header-anchor" href="#set-up-go-app">🔗</a></h2><p>If you don’t want to follow the step-by-step guide here, you can take a look at the <a href="https://github.com/localazy/go-i18n-example">finished repo</a>. Otherwise, stay awhile and listen.</p><h3 id="configuration">Configuration <a class="markdownit-header-anchor" href="#configuration">🔗</a></h3><p>First of all, initialize a Go module which is a core tool for managing dependencies. Since we'll be using Go packages, it just makes dependency management easier. </p><p>Just run</p><pre><code class="language-bash">go mod init go-i18n-example
</code></pre><p>The next thing to do is to integrate Localazy. Create <code>localazy.json</code> in the root of your application and paste the following configuration. Use the write and read keys from the step 2 of the integration guide page.</p><pre><code>{
    "writeKey": "your-write-key",
    "readKey": "your-read-key",

    "upload": {  
      "type": "json",
      "files": "locales/en.json",
      "features": ["plural_object"]  
    },
    
    "download": {
      "files": "locales/${lang}.json"
    }
}
</code></pre><p>The upload section is for locating the source language file and uploading all of the source keys. Note the <code>plural_object</code> <a href="https://localazy.com/docs/cli/json-format#defined-as-object">option</a>, this configures to recognize plural variants using key-value approach. </p><p>The download section is configured to download the published languages in Localazy back to the <code>locales</code> folder under the language's tag name.</p><p>However, the English language file is still missing. So create <code>en.json</code> within the <code>locales</code> folder. Since we’ve set English to be the source language, this file will contain the source keys for our application. You can fill in any key-value pair you like. I’ll add this.</p><pre><code>{
    "listen": "Stay a while and listen",
    "person": {
        "one": "person",
        "other": "people"
    }
}
</code></pre><h3 id="go-code">Go code <a class="markdownit-header-anchor" href="#go-code">🔗</a></h3><p>Got the pun? Go (as verb) code?😅 Anyways, create a <code>main.go</code> file in the root folder and paste in the following code.</p><pre><code class="language-golang">// main.go
package main

import (
	"encoding/json"
	"fmt"

	"github.com/nicksnyder/go-i18n/v2/i18n"
	"golang.org/x/text/language"
)

func initLocalizer(langs ...string) *i18n.Localizer {
	// Create a new i18n bundle with English as default language.
	bundle := i18n.NewBundle(language.English)

	// Register a json unmarshal function for i18n bundle.
	// This is to enable usage of json format
	bundle.RegisterUnmarshalFunc("json", json.Unmarshal)

	// Load source language
	bundle.LoadMessageFile("./locales/en.json")

	// Initialize localizer which will look for phrase keys in passed languages
	// in a strict order (first language is searched first)
	// When no key in any of the languages is found, it fallbacks to default - English language
	localizer := i18n.NewLocalizer(bundle, langs...)

	return localizer
}
</code></pre><p>We have prepared a factory function for initialization of <code>localizer</code> object from the <code>go-i18n</code> package that is responsible for looking up strings in selected language by it's key.</p><p>As you can see, the <code>initLocalizer</code> function is defined as <a href="https://gobyexample.com/variadic-functions">variadic</a> which means it can take an arbitrary number of arguments. That is convenient since you may want, in certain scenarios, to look up the string in several languages, especially when you're just searching for regional variants.</p><p>Now, let's add the rest of the example code that will print a single message that combines the simple key and the plural key we've defined earlier in the <code>json</code> localization file. </p><blockquote>You could also use other formats if you prefer, such as TOML or YAML.</blockquote><p>I will already predefine <em>Latin American Spanish</em> as first desired language and then Spanish as first possible fallback. We don't have those translations yet, but we will shortly.</p><pre><code class="language-golang">// main.go

...

func main() {
	//
	localizer := initLocalizer(
		language.LatinAmericanSpanish.String(),
		language.Spanish.String(),
	)

	simpleMessage, _ := localizer.Localize(&amp;i18n.LocalizeConfig{
		MessageID: "listen", // source key identifier
	})

	pluralMessage, _ := localizer.Localize(&amp;i18n.LocalizeConfig{
		DefaultMessage: &amp;i18n.Message{ID: "person"}, // another source key identifier
		PluralCount:    2, // would use "one" variant if the count was 1
	})

	fmt.Println(simpleMessage + ", " + pluralMessage)
}
</code></pre><p>Your project structure should look like this at this point</p><pre><code class="language-bash">.
├── locales
│   └── en.json
├── go.mod
├── go.sum
├── localazy.json
└── main.go
</code></pre><p>You can already test it out. Run <code>go run main.go</code> and you should see <em>Stay a while and listen, people</em> message in your terminal. Since the <code>localizer</code> could not find those keys in either Spanish variant, it has fallen back to the English language.</p><pre><code class="language-bash">~/go-i18n-example $ go run main.go

Stay a while and listen, people
</code></pre><h2 id="uploading-and-downloading-strings">↪️ Uploading and downloading strings <a class="markdownit-header-anchor" href="#uploading-and-downloading-strings">🔗</a></h2><h3 id="upload-using-cli">Upload using CLI <a class="markdownit-header-anchor" href="#upload-using-cli">🔗</a></h3><p>Let's upload the English file to Localazy. From the root folder, run the following command</p><pre><code class="language-bash">localazy upload -s
</code></pre><p>The <code>-s</code> argument stands for simulate. It is a good practice to test out the configuration without uploading anything to assure that nothing unexpected happens (such as some of the key-value pairs are incorrectly matched and override each other). The output should be something along these lines, depending on the CLI version.</p><pre><code>Localazy CLI, v1.4.5
Command-line tool for the Localazy platform.

Read more information at https://localazy.com/docs/cli

Parameters:
  - deprecate missing: false
  - import as new: false
  - force current: false
  - filter source: true
  - app version: 0
  - groups: (default only)
  - folder: .

Processing files...

locales/en.json
(file: file.json, lang: inherited, type: json)

Verifying...

Validating...

Done.
</code></pre><p>And now, let's let upload it for real.</p><pre><code class="language-bash">localazy upload
</code></pre><h3 id="translate-and-review-with-the-power-of-sharetm">Translate and review with the power of ShareTM <a class="markdownit-header-anchor" href="#translate-and-review-with-the-power-of-sharetm">🔗</a></h3><p>Refresh your app page and you should see the English language on the list. Open the <em>Add languages</em> tab and there you find a couple of languages with info about the percentage of automated translations.</p><p>It is possible that you will see either 50 % or 100 %. The automated matching with <a href="/docs/general/what-is-localazy-sharetm">ShareTM</a> improves all the time and it's likely that thanks to this article you would have all the strings automatically translated. How cool is that? 🙂</p><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/8fcb8ade-8120-43ed-b295-a760c81d7a75" class="kg-image" alt="alt text" loading="lazy" title="ShareTM suggestions"></figure><p>One way or another, look up Spanish and Latin American Spanish and add them to your app. You'll see that there is a review button. Every time ShareTM provides a translation suggestion, it will have candidate status. This means that it will be ready for review, and any reviewer can either approve it or decline it. Go ahead and approve the suggested text(s).</p><p>In case that the ShareTM did not translate 100 %, come back to the languages list and notice that the review button now reads translate. Localazy recognizes that there is nothing to review but still something to translate, so it offers you the next most likely action in one click. </p><!--kg-card-begin: html--><div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg xmlns="http://www.w3.org/2000/svg" viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Some parts of this article might not be accurate. This article mentions the ShareTM feature, which we've updated later. Learn more about the <a href="/blog/feature-update-sharetm-improvements">Localazy ShareTM improvements in this article</a>.</p>
</div><!--kg-card-end: html--><p>Translate the remaining texts (you may use one of the suggestions on the translation page). This time you do not need to go through the review process since you are a trusted translator as owner by default, so the translation is immediately approved.</p><h3 id="use-newly-translated-languages">Use newly translated languages <a class="markdownit-header-anchor" href="#use-newly-translated-languages">🔗</a></h3><p>It's time to go back to the Go project. 🙃</p><pre><code class="language-bash">localazy download
</code></pre><p>With this command, you'll download all the recently accepted translations and newly added languages. In the <em>locales</em> folder, we can see there are newly created <code>es.json</code> and <code>es-419.json</code> files.</p><p>This how your final project structure should look like</p><pre><code class="language-bash">.
├── locales
│   ├── en.json
│   ├── es-419.json
│   └── es.json
├── go.mod
├── go.sum
├── localazy.json
└── main.go
</code></pre><p>Let's include these translations in the application. Add the following lines to the <code>initLocalizer</code> function just below where you load the English file.</p><pre><code class="language-golang">bundle.LoadMessageFile("./locales/es-419.json")
bundle.LoadMessageFile("./locales/es.json")
</code></pre><p>Now when you rerun the app, you'll see that Localazy correctly translated the strings to Spanish.</p><pre><code class="language-bash">~/go-i18n-example $ go run main.go

Quédate un rato y escucha, Personas
</code></pre><h2 id="closing-words">✔️ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2><p>I hope you've enjoyed this sneak peek at what Localazy can do for you and understood how easy it is to start localizing any Go app with it. If you would like to play around with the prototype, you can check it out on <a href="https://replit.com/@DanCharvt/go-i18n-example#main.go">Replit</a>. The whole git repository is available on <a href="https://github.com/localazy/go-i18n-example">GitHub</a>. If you have any questions, just join us on our <a href="https://discord.gg/sQucDznuMp">Discord</a> for a chat.</p>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/06/Go-i18n-localazy.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[From a lifelong deal to an immediate boost]]></title>
            <link>https://localazy.com/blog/from-a-lifelong-deal-to-an-immediate-boost</link>
            <guid isPermaLink="false">from-a-lifelong-deal-to-an-immediate-boost</guid>
            <pubDate>Thu, 17 Mar 2022 15:09:22 GMT</pubDate>
            <description><![CDATA[When we opened Localazy about one year ago to the general public, the world was presented with a solution to two main pain points many developers have when using competitors' services.]]></description>
            <content:encoded><![CDATA[<p>The first was definitely a <strong>monthly subscription for storing texts on the platform</strong>, which not everybody loves, and <strong>non-sensical distribution of essential localization features</strong> to the most expensive tiers. Well, it makes sense, but only for the month-over-month revenue growth that investors love so much because of the predictability. 🙄</p><p>Well, we are in the same situation, but honestly - we do this for you, as <a href="/blog/the-passion-and-the-dogfooding-of-localazy">Localazy is a dogfooded project</a>, and you can count on us when it comes to full transparency and willingness to make you happy. While things may change, they will change in a good way.</p><blockquote>"Making subscriptions great again." - Localazy®.</blockquote><p>The second and more important was the <strong>tedious use of available software localization tools</strong> in general, such as too complex UI or suboptimal support for usual dev tools. Plus, the sustained requirement from the <a href="/dictionary/translation-management-system-tms">TMS</a> providers to spend our precious time with their platform diverts our focus.</p><p>Here we come. 😎</p><h2 id="your-localization-team-across-the-globe-at-your-keyboard">🌍 Your localization team across the globe at your keyboard <a class="markdownit-header-anchor" href="#your-localization-team-across-the-globe-at-your-keyboard">🔗</a></h2><p>One year later, Localazy provides the localization platform and additional translation services to both single developers and major companies worldwide.</p><p>While we are not yet at the top of the industry entangled by TMS spaghetti, reportedly tens of millions of users now enjoy and can rely on their apps, from 🎮 <strong>casual games</strong> to 🚆 <strong>railway maintenance systems</strong>. Thank you to all of the fantastic Localazy users who empowered us to shift the rooted belief that localization is a dirty job.</p><blockquote><em>Making your life safer, easier and happier through localized software.</em></blockquote><p>To further make <a href="/dictionary/internationalization">internationalization</a>, <a href="/dictionary/localization">localization </a>&amp; <a href="/dictionary/translation">translation </a>a breeze, Localazy is now introducing a slight change to the pricing structure. </p><p>We have been experimenting with optional add-ons to find out which of them are the most loved ones for particular use cases. At the same time, we have offered all of the early birds with a promotional price of lifetime source keys (source phrases, source language strings, as you wish) to make Localazy pretty affordable. </p><p>Now it is time to perform the next round of pricing policy optimizations to bring you even better service at a great price. To fuel your app's growth, you can now use a more powerful localization engine at a better operation cost!</p><h2 id="towards-continuous-localization-while-you-sleep">🔄 Towards continuous localization while you sleep <a class="markdownit-header-anchor" href="#towards-continuous-localization-while-you-sleep">🔗</a></h2><p>So, what's new to Localazy? Our <a href="/docs/general/continuous-localization-team">Continuous Localization</a> service, including the Virtual Translator, Virtual Reviewer, and Professional Translator, got strong traction and positive feedback. </p><p>Fresh startups and even large and successful companies (such as <a href="https://www.upchain.com/">UpChain</a> recently acquired by AutoDesk (<strong><a href="https://www.nasdaq.com/market-activity/stocks/adsk">NASDAQ:ADSK</a></strong>) proved that the service is well-appreciated and worthy of further development. Now, it is time to boost it and allow us to localize your software for you while you sleep peacefully. 😴</p><h3 id="introducing-localazyr-autopilot">✈️ Introducing Localazy® Autopilot <a class="markdownit-header-anchor" href="#introducing-localazyr-autopilot">🔗</a></h3><p>Imagine that all of your internationalization, localization and translation needs are satisfied by a 🎯 one-stop-shop. That is what you can now enjoy with Localazy.</p><p>Localazy® Autopilot is a package of localization tools and translation services. With a single recurring payment, you receive all the tools your team needs and, on top of that, a fantastic amount of credits to get your app translated, renewed every month!</p><p>The process of making your app multilingual with Localazy ® is pretty straightforward:</p><ol><li><a href="/integrations">Integrate</a> Localazy with your tech stack</li><li>Choose Localazy® Autopilot as your <a href="/pricing">plan</a></li><li>Select preferred languages and let Localazy work while you sleep</li></ol><h3 id="what-does-localazyr-autopilot-include">📦 What does Localazy® Autopilot include? <a class="markdownit-header-anchor" href="#what-does-localazyr-autopilot-include">🔗</a></h3><ul><li>15,000 source keys - more than enough for 99.9% of users</li><li>$49 in translation credits to keep the <a href="/docs/general/continuous-localization-team">Continuous Localization</a> up and running</li><li><a href="/docs/general/additional-mt-engines">Additional MT</a> add-on</li><li>Machine pre-translate</li><li><a href="/docs/general/release-tags-add-on">Release Tags</a> for translation version control</li><li><a href="/docs/general/format-conversions-add-on">Format Conversions</a></li><li><a href="/docs/general/connected-projects">Connected Projects</a></li><li><a href="/docs/figma/plugin-introduction">Figma Plugin</a></li><li><a href="/docs/general/screenshots">Context screenshots</a></li><li>Webhooks (coming soon)</li><li>Zapier add-on (coming soon)</li></ul><p>+ All of the free core features that Localazy offers, but that goes without saying ;-)</p><p>⭐ <strong>You can get all of this for a fantastic price:</strong> $49 / month.</p><p>Too good to be true? Of course, this is a limited offer! You get not only a powerful localization platform but also the automated translation of your software. How does it sound to you?</p><h2 id="best-add-ons-bundled-together-for-one-price">🎁 Best add-ons bundled together for one price <a class="markdownit-header-anchor" href="#best-add-ons-bundled-together-for-one-price">🔗</a></h2><p>Localazy® add-ons now come in comfortable feature packages, carefully tailored based on data we have received from our users. Need a feature from another plan? Feel free to <a href="/contact">contact us</a> directly for custom pricing.</p><p>Enjoy all the benefits of advanced features within one monthly payment.</p><h2 id="keeping-one-time-payments-to-increase-source-keys-quota">🤩 Keeping one-time payments to increase source keys quota <a class="markdownit-header-anchor" href="#keeping-one-time-payments-to-increase-source-keys-quota">🔗</a></h2><p>We keep promises and allow you to increase your source keys quota by one-time payments. While freshly released recurring payment packages include generous amounts for a great price, you can still make your decision permanent and buy it with one-time payment only. </p><p>But do not wait too long, because this offer may not be available forever. You can always increase your quota with source key packages; you are not required to shift to a higher tier.</p><p>Check out <a href="/pricing">pricing </a>or see one-time purchase prices after login.</p><h2 id="utilize-all-localization-benefits-with-localazy">😉 Utilize all localization benefits with Localazy <a class="markdownit-header-anchor" href="#utilize-all-localization-benefits-with-localazy">🔗</a></h2><p>All the changes we made are here to make your dev &amp; entrepreneurship life more enjoyable.</p><ul><li>Localazy® Autopilot translates and reviews new app translations for you</li><li>Bulked Add-on packages based on an extensive use case research boost productivity</li><li>All core localization features are still for free</li><li>Is your budget on a shoestring? Complete <a href="/my/community">community</a> actions and earn rewards for helping us :)</li></ul>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/06/New-pricing.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Release Update: File Management + iOS SDK and new pricing options!]]></title>
            <link>https://localazy.com/blog/localazy-release-update-file-management-ios-sdk-new-pricing</link>
            <guid isPermaLink="false">localazy-release-update-file-management-ios-sdk-new-pricing</guid>
            <pubDate>Mon, 30 Jan 2023 11:05:28 GMT</pubDate>
            <description><![CDATA[The new release is here! I called the last release update "special." Well, this one took us a little longer, and I think I can call it not only "special" but even "game-changing," so let's see what's new!]]></description>
            <content:encoded><![CDATA[<p>In todays' release update:</p><ul><li>We are introducing <strong>new pricing</strong> with cashflow friendly options and more features at lower costs.</li><li><strong>iOS SDK</strong> to make the developer experience even juicier, take a bite!</li><li><strong>Import your files directly</strong>; you won't need CLI for simple stuff anymore! Plus, additional file options.</li><li><strong>Community Section!</strong> Earn rewards and help us help you grow!</li><li>More improvements and fixes, as is customary. 😊</li></ul><h2 id="new-pricing-with-a-better-cost-benefit-ratio">📒 New pricing with a better cost-benefit ratio <a class="markdownit-header-anchor" href="#new-pricing-with-a-better-cost-benefit-ratio">🔗</a></h2><p>We've had countless meetings and discussions among our team, users, and stakeholders regarding our <a href="/pricing">pricing</a>.</p><p>Our philosophy stays, but we wanted to make the pricing more transparent and less complicated. That's one reason why we are introducing monthly plans that include source key limit increases and additional features neatly bundled by use case.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image-12.png" class="kg-image" alt loading="lazy" width="1240" height="712" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/image-12.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/06/image-12.png 1000w, https://ghost.localazy.com/content/images/2021/06/image-12.png 1240w" sizes="(min-width: 720px) 720px"></figure><h3 id="free-tier">🕊️ Free Tier <a class="markdownit-header-anchor" href="#free-tier">🔗</a></h3><p>The<strong> </strong><a href="/docs/general/localazy-free-tier">Free plan</a> remains without change and is designed for smaller projects and individual developers who look for a fully-featured translation management system. The free tier offers all core localization features to help you successfully manage and translate your app’s texts.</p><blockquote><strong>Read what's included in the <a href="/docs/general/localazy-free-tier">Free plan</a></strong> </blockquote><h3 id="professional-tier">⭐ Professional Tier <a class="markdownit-header-anchor" href="#professional-tier">🔗</a></h3><p>The <a href="/docs/general/localazy-professional-tier">Professional plan</a> is suitable for developers and companies looking for more automation for their multilingual app development workflow process, including localization.</p><p>This tier further extends the core localization features of our Free tier and comes with <a href="/docs/general/release-tags-add-on">Release Tags</a>, <a href="/docs/general/format-conversions-add-on">Format Conversions</a>, and <a href="/docs/general/connected-apps">Connected Projects</a> features, ready for agile development processes and aiming to keep your translation management even more clean and streamlined. Plus, there is a 7-day trial available for this plan! </p><blockquote><strong>Read what's included in the <a href="/docs/general/localazy-free-tier">Professional plan</a></strong> </blockquote><p>✔️ <strong>Price:</strong> Only $9 / month <em>(see <a href="/pricing">pricing</a>)</em></p><h3 id="autopilot-tier-recommended">🚀 Autopilot Tier (recommended!) <a class="markdownit-header-anchor" href="#autopilot-tier-recommended">🔗</a></h3><p>The <a href="/docs/general/localazy-autopilot-tier">Autopilot plan</a> offers a real automated continuous localization experience for all developers and companies of any size. </p><p>Autopilot comes with a <strong>generous source key limit</strong>, advanced features from the Professional tier, and core localization features available in the Free tier. </p><p>On top of that, with each payment, you receive translation credits to spend on <strong>Virtual Translator</strong> or other translation services by our <a href="/docs/general/continuous-localization-team">Continuous Localization Team</a> to enjoy a <strong>genuinely automated localization</strong> of your app and <a href="/docs/general/additional-mt-engines">Additional MT Engines</a> to boost your translation quality.</p><blockquote><strong>Read what's included in the <a href="/docs/general/localazy-autopilot-tier">Autopilot plan</a></strong> </blockquote><p>✔️ <strong>Price:</strong> $49 / month<em> (see <a href="/pricing">pricing</a>)</em></p><h3 id="agency-tier">🌎 Agency Tier <a class="markdownit-header-anchor" href="#agency-tier">🔗</a></h3><p>The <a href="/docs/general/localazy-agency-tier">Agency plan</a> <strong>unlocks all features of Localazy</strong> and packs plenty of additional benefits. Enjoy the <strong>full service of an outsourced localization team</strong> without the hassle and overhead costs.</p><p>With Agency, you get a rich source key limit, advanced features from the Autopilot and Professional tiers, and core localization features available in the Free tier. </p><p>On top of that, with each payment, you receive translation credits to enjoy <strong>automated localization of your projects </strong>and credit for Online Services to deliver your translations globally via <a href="/docs/general/localazy-cdn">Localazy CDN</a> and <a href="/docs/android/only-ota-updates-that-really-work">OTA updates</a>.</p><blockquote><strong>Read what's included in the <a href="/docs/general/localazy-agency-tier">Agency plan</a></strong> </blockquote><p>✔️ <strong>Price:</strong> $199 / month <em>(see <a href="/pricing">pricing</a>)</em></p><hr><p>Worry not; you can still increase your source key limit for life with a simple one-time payment, and as we mentioned, the free plan stays without any change. Users can renew all running subscriptions or choose to switch to one of our new plans.</p><blockquote>Read more about the decisions leading to this significant change in our business model in our announcement: <a href="/blog/from-a-lifelong-deal-to-an-immediate-boost">From a lifelong deal to an immediate boost.</a></blockquote><p>We have also decided to change the definitions we use a little bit. <em>Phrases </em>are now called <em>source keys</em>, and <em>add-ons</em> are now called just <em>features</em>. </p><p>This change stems from discussions with our users; some of them have found this terminology confusing, and we are hoping that this will make everything clearer.</p><h2 id="introducing-localazy-ios-and-macos-sdk-beta">🍎 Introducing Localazy iOS and macOS SDK (beta) <a class="markdownit-header-anchor" href="#introducing-localazy-ios-and-macos-sdk-beta">🔗</a></h2><p>Even though our CEO Václav is a die-hard <a href="/android">Android </a>fan, we know that we can't ignore the apple orchard and the developer community caring for it that helps billions of users enjoy great apps on their Apple devices.</p><p>And because our mission is to help everyone enjoy apps in their preferred language, one way to achieve it is to give all developers the proper tools to do so efficiently.</p><p>Currently in beta, but fully featured Localazy Swift SDK for<a href="/ios"> iOS</a> and macOS is now available to everyone. Read everything to get you up to speed with the SDK in the <a href="https://github.com/localazy/localazy-ios-library/tree/develop">localazy-swift repository</a>. To see Localazy Swift SDK in action, you can check our demo project <a href="https://github.com/localazy/ios-demo">here</a>.</p><h2 id="import-your-localization-files-directly">📤 Import your localization files directly <a class="markdownit-header-anchor" href="#import-your-localization-files-directly">🔗</a></h2><p>Importing your localization files to Localazy is an easy alternative to uploading files using our <a href="/docs/cli/the-basics">CLI</a>. You can import new keys for your source language or map existing translations to the current source keys. </p><blockquote>Learn everything about importing files via File management in the <a href="/docs/general/importing-localization-files">documentation</a>.</blockquote><p>We have also added more options to files. You can now add new source keys, approve all keys in the file, send them to review or pre-translate them with the machine translation engine of your choice (available with the <a href="/docs/general/additional-mt-engines">Additional MT</a> feature enabled).</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image-7.png" class="kg-image" alt loading="lazy" width="323" height="350"></figure><h2 id="the-brand-new-community-section-beta">🥳 The brand new community section (beta) <a class="markdownit-header-anchor" href="#the-brand-new-community-section-beta">🔗</a></h2><p>Inside the new 🤝Community section, you will find various ways to help Localazy grow and get rewarded for it! 🎁 Make sure to visit the <a href="/my/community">Community</a> regularly not to miss new ways to help us help you :)</p><h2 id="various-updates-and-fixes">🛠️ Various updates and fixes <a class="markdownit-header-anchor" href="#various-updates-and-fixes">🔗</a></h2><h3 id="localazy-schema-supports-conversions">Localazy schema supports conversions <a class="markdownit-header-anchor" href="#localazy-schema-supports-conversions">🔗</a></h3><p>We've updated localazy JSON schema with conversions to support auto-suggestions and validation of localazy.json in your favorite <a href="/dictionary/integrated-development-kit-ide">IDE</a>; read more in the <a href="https://localazy.com/docs/cli/format-conversions#full-configuration">documentation</a>.</p><h3 id="organization-owners-are-highlighted-among-contributors">Organization owners are highlighted among contributors <a class="markdownit-header-anchor" href="#organization-owners-are-highlighted-among-contributors">🔗</a></h3><p>You can now see a little 👑 crown icon next to users who can make purchases for the project on the Contributors screen.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/06/image-8.png" class="kg-image" alt loading="lazy" width="1164" height="316" srcset="https://ghost.localazy.com/content/images/size/w600/2021/06/image-8.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/06/image-8.png 1000w, https://ghost.localazy.com/content/images/2021/06/image-8.png 1164w" sizes="(min-width: 720px) 720px"></figure><h3 id="on-demand-support-chat">On-demand support chat <a class="markdownit-header-anchor" href="#on-demand-support-chat">🔗</a></h3><p>Due to several complaints that our new live chat solution covered parts of Localazy UI, we have decided to hide the chat icon and show it on demand. To chat with us, find the ❓ button in the top right corner and click on <em>Contact support.</em></p><h3 id="fixes-and-improvements">Fixes & improvements <a class="markdownit-header-anchor" href="#fixes-and-improvements">🔗</a></h3><ul><li>LOC-2597 - Limit number of alerts visible at once</li><li>LOC-2494 - Fixed: Search in invite user modal has broken styling</li><li>LOC- 2673 - Updated <a href="/dictionary/icu">ICU </a>placeholder detection</li></ul><h2 id="discuss-this-release-update">💬 Discuss this release update <a class="markdownit-header-anchor" href="#discuss-this-release-update">🔗</a></h2><p>Thank you, our users, for helping us make Localazy better for everyone. You are our greatest inspiration. Please tell us what you think about the new release; join our forum now at <a href="https://discuss.localazy.com/t/release-update-file-management-ios-sdk-and-new-pricing-options/173">discuss.localazy.com</a>.</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/06/release.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Unique review process and self-managed translations]]></title>
            <link>https://localazy.com/blog/unique-review-process-and-self-managed-translations</link>
            <guid isPermaLink="false">unique-review-process-and-self-managed-translations</guid>
            <pubDate>Mon, 31 May 2021 08:10:57 GMT</pubDate>
            <description><![CDATA[Spend time with your code. Make your app better. Do what you love and forget about translations. Localazy is here to keep track so you can have a peaceful mind. ]]></description>
            <content:encoded><![CDATA[<h2 id="the-review-process">📝 The review process <a class="markdownit-header-anchor" href="#the-review-process">🔗</a></h2><p>While the review is a way to ensure translation quality in other translation platforms, Localazy is organized around it. But our review process is entirely different. It's not just a set of filtering options to find strings that may be inaccurately translated.</p><p>Our review process is a proactive tool that helps you verify translations and track all changes that happened in Localazy while you spent your precious time developing your app and making it better.</p><p><strong>No matter if you visit Localazy every day or once per 2 months, you never get lost! You always know precisely about everything related to your project translation.</strong></p><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/5e509a47-06cf-4185-b9db-9d07c775bd41" class="kg-image" alt="Review" loading="lazy"></figure><h2 id="high-quality-app-translation-ensured">📑 High-quality app translation ensured! <a class="markdownit-header-anchor" href="#high-quality-app-translation-ensured">🔗</a></h2><p>The primary function of the review process is to help you with verifying new translations from your contributors. You can accept or reject translations or mark them as acceptable but not good enough, etc.</p><p>Besides the approve/reject mechanism, you can directly edit the suggested translation and alter it. That's extremely useful for minor changes. The translation may be perfect but with small issues and a missing exclamation mark or typo is something you can quickly fix on your own.</p><p>The review process offers a set of useful features to assist you with this task:</p><ul><li>The <strong>static analysis</strong> checks for common problems like missing tags and placeholders or poorly formatted translation. It also informs you about important information related to the translation.</li><li>The review provides you with <strong>contextual information</strong> to help you make the right decision. You have the same set of information as the original translator.</li><li>You can directly <strong>comment on the phrase</strong> to provide additional notes to the translators if necessary.</li><li>The review process is automatically <strong>optimized with data collected from your users</strong> via OTA updates. You can be sure that your time is well-spent on the phrases with the most visible impact.</li><li>The <strong>backward machine translation provides you with insight into the translation</strong>, even for languages you don't understand. You can, with a certain amount of confidence, ensure high quality for almost any language.</li></ul><p>You have everything necessary for ensuring a high-quality localization of your app! We will <a href="/blog/invest-into-quality-app-translations">make the review process work</a> for you in an effective manner.</p><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/0fb31bb7-e646-479f-8fe1-8eeb0c7c7490" class="kg-image" alt="PDCA" loading="lazy"></figure><h2 id="self-managed-localization">⚖️ Self-managed localization <a class="markdownit-header-anchor" href="#self-managed-localization">🔗</a></h2><p>We call Localazy an automated or self-managed localization platform for a reason. The traditional approach is to offer tools for advanced filtering and issue diagnosis. In contrast, Localazy does as much as it can for you automatically and only pings you when it needs your help.</p><p>For sure, you want <strong>to invest your time cleverly and maximize its impact</strong>. You don't want to scan through hundreds of phrases looking for possible issues. And you don't want to fight your <strong>localization platform</strong> to determine whether recent translations are good enough for your app. A complex translation workflow is a headache for developers and steals their focus from more meaningful work.</p><p>Using <a href="/benefits">Localazy is a clever way to translate</a> your app. Whether you weren't here for one day or one month, you dive back into review and start making a valuable impact immediately. You won't get easily lost on the platform.</p><p><strong>When you have a few spare minutes, open Localazy, and approve some phrases through the review. In a few moments, we start delivering them to your users via <a href="/docs/android/only-ota-updates-that-really-works">OTA updates</a>. This is the true meaning of a continuous translation.</strong></p><p>We aim to improve the review process further and increase the number of automatically approved translations with machine learning and other advanced techniques. And you help us with it. The more apps, the better our algorithms work.</p><h2 id="identify-contributors-with-bad-intentions">⛔ Identify contributors with bad intentions <a class="markdownit-header-anchor" href="#identify-contributors-with-bad-intentions">🔗</a></h2><p>The review process is an excellent tool for keeping track of your contributors' performance and identifying people that destroy your app localization on purpose.</p><p>It's easy to catch such people through the review before they can damage your app localization.</p><p>Even better, Localazy doesn't come with any finalization or locking of phrases. The approved translation remains in use as long as it's not superseded by another approved one. <strong>This is a fundamental concept - skilled translators can suggest better translations, and misbehaving volunteers are unable to harm your app.</strong></p><p>Also, Localazy comes with advanced contributor management and so it's easy to identify the unhelpful person, find all of their translations, remove them eventually, and ban them.</p><h2 id="trusted-translators-and-reviewers">✅ Trusted translators and reviewers <a class="markdownit-header-anchor" href="#trusted-translators-and-reviewers">🔗</a></h2><p>You don't need to review every single translation. You can mark selected contributors as <strong>trusted</strong>, and their translations are then automatically approved. This role should be reserved only for people you trust and for long-term contributors.</p><p>You can also delegate the review process to any of your contributors and promote them to <strong>the reviewer</strong> or higher role. Reviewers can approve or reject phrases in all languages, and they can also access other features with higher privileges. They can, for example, edit the <a href="/docs/general/how-to-define-your-glossary">glossary</a> for your app.</p><blockquote>Learn <a href="/blog/introduction-to-translation-glossary-best-practices">the best practices of glossary production</a>.</blockquote><p>The reviewer role is here for people who help you with making the app localization better. Not necessarily only through the review process.</p><h2 id="intm-and-sharetm">🔀 InTM and ShareTM <a class="markdownit-header-anchor" href="#intm-and-sharetm">🔗</a></h2><p>The review process is a crucial part of our other technologies, and it integrates tightly with <a href="/docs/general/what-is-localazy-sharetm"><strong>ShareTM</strong></a> and <a href="/docs/general/what-is-localazy-intm"><strong>InTM</strong></a>. With the review, we can directly suggest suitable actions for your app. You don't need anyone to go manually through hundreds of phrases.</p><p>It's all nicely available in a single place with a proactive approach. Whether you are checking translations from your contributors or approving those from ShareTM or InTM, you use the user-friendly interface of our service. <strong>It's your command center for the localization of your app.</strong></p><p>Under certain circumstances, such as moving the namespace, InTM can bypass the review process and automatically approve the translations. This is part of the self-managed approach.</p><h2 id="the-final-note">😊 The final note <a class="markdownit-header-anchor" href="#the-final-note">🔗</a></h2><p>As you learned in this article, the review process in Localazy is a unique tool designed to help you. Rely on it!</p><p><strong>Spend time with your code. Make your app better. Do what you love and forget about translations. Localazy is here to keep track so you can have a peaceful mind.</strong></p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/05/Unique-rewiev-process.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy CLI Tips: Using absolute paths]]></title>
            <link>https://localazy.com/blog/localazy-cli-tips-using-absolute-paths</link>
            <guid isPermaLink="false">localazy-cli-tips-using-absolute-paths</guid>
            <pubDate>Thu, 16 Apr 2026 14:35:25 GMT</pubDate>
            <description><![CDATA[Another Localazy CLI Tip for you! Some of you have been asking us to add support for absolute paths into the CLI. We have some good news: it's already available 😉 Let me show you two ways how you can use them.]]></description>
            <content:encoded><![CDATA[<p>Localazy CLI is our command-line interface, and you can use it to upload files to the Localazy platform and download translations back to your app. You can easily integrate it into your build chain or <a href="/dictionary/continuous-integration">CI/CD</a>. </p><p><a href="/docs/cli/the-basics"><strong>Learn how to get started with Localazy CLI</strong></a> in our documentation.</p><h2 id="why-absolute-paths">❓ Why absolute paths? <a class="markdownit-header-anchor" href="#why-absolute-paths">🔗</a></h2><p>To be honest, I'm not a fan of absolute paths, mainly because they tightly couple the code/configuration with a particular environment. However, there are also several use cases pointed out by our users where using absolute paths may be beneficial.</p><p>One of them is a centralized <a href="/dictionary/localization">localization </a>for several different projects or collecting/outputting localizable files across several folders on the file system.</p><blockquote>We've improved support for absolute path in Localazy CLI 1.2.21, so be sure to keep your tools updated <strong>😉</strong>.</blockquote><h3 id="absolute-base-folder">Absolute base folder <a class="markdownit-header-anchor" href="#absolute-base-folder">🔗</a></h3><p>This one is my favorite. Basically, you can tell Localazy CLI in which folder you want to perform upload and download actions using <code>upload.folder</code> or <code>download.folder</code>.</p><p>Here's an example for Windows, but it's going to work the same way on Linux as well as macOS:</p><!--kg-card-begin: markdown--><pre><code class="language-json">{
    &quot;upload&quot;: {
        &quot;folder&quot;: &quot;C:\\Users\\Localazy\\projects&quot;,
        &quot;files&quot;: &quot;assets\\i18n\\en.json&quot;
  },
    &quot;download&quot;: {
        &quot;folder&quot;: &quot;C:\\Users\\Localazy\\projects\\build&quot;,
        &quot;files&quot;: &quot;assets\\i18n\\${lang}.json&quot;
  }  
}</code></pre>
<!--kg-card-end: markdown--><p><strong>Note:</strong> Backslashes in the <a href="/json">JSON</a> string must be escaped, and thus all those <code>\\</code> in the path.</p><h3 id="separated-absolute-paths">Separated absolute paths <a class="markdownit-header-anchor" href="#separated-absolute-paths">🔗</a></h3><p>This one is useful if you need to collect files from different folders across your file system.</p><!--kg-card-begin: markdown--><pre><code class="language-json">{
    &quot;upload&quot;: {
        &quot;folder&quot;: &quot;&quot;,
        &quot;files&quot;: &quot;C:\\Users\\Localazy\\projects\\assets\\i18n\\en.json&quot;
  },
    &quot;download&quot;: {
        &quot;folder&quot;: &quot;&quot;,
        &quot;files&quot;: &quot;C:\\Users\\Localazy\\projects\\build\\assets\\i18n\\${lang}.json&quot;
  }  
}</code></pre>
<!--kg-card-end: markdown--><p><strong>Note:</strong> By default, the folder is set to <code>.</code> to allow relative paths. If you want to use absolute paths in patterns, you need to set it to an empty string.</p><blockquote>Tip: You can read more <a href="/tags/devtips">#DevTips</a> on our blog!</blockquote>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/absolute-paths.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Guide: How to prepare your application for i18n & l10n]]></title>
            <link>https://localazy.com/blog/guide-preparing-application-for-i18n-l10n-localazy</link>
            <guid isPermaLink="false">guide-preparing-application-for-i18n-l10n-localazy</guid>
            <pubDate>Thu, 18 May 2023 09:07:04 GMT</pubDate>
            <description><![CDATA[The modern software market got this global mainly thanks to multilingual software. Developing software to be multilingual is almost a requirement to ensure its success. Still, it can become a mess and a full-blown headache if not done correctly.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Localazy's objective is to make your life easier and hassle free by automating the localization process of translating your app.</p>
<h2 id="why-internationalize-my-software" id="why-internationalize-my-software">🤔 Why internationalize my software? <a class="markdownit-header-anchor" href="#why-internationalize-my-software">🔗</a></h2>
<p>Diversifying and expanding your software internationally is undoubtedly something that will add a lot of value to your product/service and bring more security to your business.</p>
<p>⚔️ <strong>International Competition:</strong> Instead of limiting yourself to your domestic market, you will be competing with markets from all over the globe 🌍.</p>
<p>💸 <strong>Higher profits:</strong> When you throw yourself into the global market, you will be expanding your product/service across borders, allowing more visibility. This, just by itself, can result in higher profits as you’ll be able to win customers from other regions.</p>
<p>🔀 <strong>Differentiation:</strong> Differentiating can be an option that will bring a great advantage; since the international market may require specific changes to the products/services to adapt to them better.</p>
<p><img src="https://directus9.localazy.com/assets/fc294e20-32ae-487a-8b39-4b336394ffd9" alt="Continents"></p>
<h2 id="how-to-internationalize-my-software" id="how-to-internationalize-my-software">❓ How to internationalize my software? <a class="markdownit-header-anchor" href="#how-to-internationalize-my-software">🔗</a></h2>
<p>To develop multilingual software, we are required to go through three phases: <strong>i18n</strong>,<strong>l10n</strong> and finally, <strong>t9n</strong>.</p>
<p>Internationalization is popularly known in the development and technological world as <strong><a href="https://localazy.com/dictionary/internationalization">i18n</a></strong>,. It is the process of creating or transforming products or services so that they can effortlessly be adapted to specific local languages and cultures. While Localization, commonly known as <strong><a href="https://localazy.com/dictionary/localization">l10n</a></strong>, is the process of adapting an internationalized product to a particular region or language. Finally, <strong><a href="https://localazy.com/dictionary/translation">t9n</a></strong> stands for translation.</p>
<h3 id="if-the-project-is-still-to-be-planned" id="if-the-project-is-still-to-be-planned">If the project is still to be planned <a class="markdownit-header-anchor" href="#if-the-project-is-still-to-be-planned">🔗</a></h3>
<p>When the project planning hasn’t yet begun, design decisions are more manageable. Depending on the framework or library you are planning to use, you will be able to discover suitable <strong>i18n libraries</strong> and begin incorporating them from the start.</p>
<p>Be sure to choose one and carefully follow the steps on how to configure it during the early stages of development. One of the most popular is the <a href="https://localazy.com/blog?search=i18next">i18next</a> library as it is simple to use, and supports frameworks like React, <a href="https://localazy.com/angular">Angular</a>, <a href="https://localazy.com/vuejs">Vue</a>, Vanilla <a href="https://localazy.com/blog/javascript-app-localization-i18next-localazy">JavaScript</a> and NodeJS.</p>
<p>If you want to know more about the <strong><a href="https://localazy.com/blog?search=i18n">i18n</a></strong> process, how to use a library like <a href="https://localazy.com/dictionary/i18next">i18next</a> or how it works on an empty project, check out our <a href="https://localazy.com/blog/javascript-app-localization-i18next-localazy#why-localazy-and-i18next">JavaScript app localization with i18next and Localazy</a> article.</p>
<h3 id="if-the-project-is-in-production" id="if-the-project-is-in-production">If the project is in production <a class="markdownit-header-anchor" href="#if-the-project-is-in-production">🔗</a></h3>
<p>In case of a project with large amounts of code and which is already in production and with customers using it for a fairly long time , things may become very complicated. Intrusive changes like adding i18n and l10n support to the application will not be easily feasible.</p>
<p>Nevertheless, if we use libraries like React or frameworks like <a href="https://localazy.com/blog/localize-angular-app-i18n-l10n-localazy">Angular</a> and <a href="http://ASP.NET">ASP.NET</a> Core, our situation will be better. It is recommended to gradually release the application or regional updates so that only a certain percentage of users will be affected in case of any issues.</p>
<p>For example, you can first publish a project with an instance of translatable messages to handle the default locale. For users, they will not feel any difference, but you will take the first step. You can then add each version incrementally to allow time to adapt.</p>
<p>Ideally, you should remember to also implement a way to add new translations without redeploying the application so that you can fix any errors without interruption.</p>
<h3 id="legal-reflections" id="legal-reflections">Legal Reflections <a class="markdownit-header-anchor" href="#legal-reflections">🔗</a></h3>
<p>When publishing apps in other markets, you need to ensure that your application complies with local laws and regulations. If it does, you may have to change some parts or aspects of it to adapt to different markets. For example, gambling apps are modified for different markets and areas in terms of payment systems, in-game currency, and randomized gaming elements to comply with the gambling laws of each market.</p>
<p>You also need to remember that legal issues may emerge depending upon how your application is really being utilized and not by how you designed it in the first place. This may imply that you will not have the option to deliver your application to specific nations. For instance, betting is illicit in nations like Korea and Taiwan. So releasing a betting game there would be illicit, regardless of how diligently you attempt to change it.</p>
<p>Data usage is also important to keep in mind as different countries have different laws in terms of data storage, sharing, security, and more. The difference between these laws and regulations lies in the need to obtain permission for user data, what data can be obtained and how to use it, including personal information (such as name, email address, social security number, etc.) and any user activity or behaviour. This applies especially for countries in the EU where GDPR (General Data Protection Regulation) applies.</p>
<h3 id="keeping-content-separated" id="keeping-content-separated">Keeping content separated <a class="markdownit-header-anchor" href="#keeping-content-separated">🔗</a></h3>
<p>The most important thing that you need to do regarding the project internationalization is separating the content from the code.</p>
<p>In order to create different versions of the content and different product flavours, nothing that the user will see in the application can be static. The version will be dynamically loaded and adjusted according to each locale.</p>
<p>You need to collect the content and store it in a repository so that you can easily create different versions of that content for any new locales you might want to add and load it into your project without influencing the code. This will allow the development teams to develop multilingual applications, while translators or team members responsible for the <strong>localization process</strong> can work separately, making it easier for both sides to work simultaneously.</p>
<p>The content is:</p>
<ul>
<li>Media(image, video, sound) 📷</li>
<li>Text 📜</li>
<li>Date Format ⌛</li>
<li>Numbers 🔢</li>
<li>Currency 💰</li>
</ul>
<h3 id="externalizing-strings" id="externalizing-strings">Externalizing Strings <a class="markdownit-header-anchor" href="#externalizing-strings">🔗</a></h3>
<p>Text is without a doubt the most common way to communicate with the user of an app and so we will cover the importance of strings. First off, not all text needs to be external, only the one that the user will see. There is a lot of text that will always stay within the app itself for programming purposes, therefore it doesn’t need to be extracted or externalized. Text should also use UTF-8 encoding as it is capable of encoding all 1,112,064 valid character code points in Unicode, giving you the ability of supporting languages with different alphabets.</p>
<p>Externalizing the strings the users will see from the get-go, is a crucial step of i18n as it will save you huge amounts of time and a headache opposed to simply hardcoding all the project’s strings inside the project itself.</p>
<p>With all of that said, you need to write all the strings that are relevant to translation and each one of them will have a key assigned for location identification. All of them will be written in an external source, e.g. a text file. Or in case of the previously mentioned <code>i18next</code> library, you will use a <a href="https://localazy.com/json">JSON</a> file.</p>
<p>If your project is organized by a framework, this file should be created inside a <code>locale</code>, <code>lang</code> or similar folder, and named by the default language you will use, if your project’s source language is English, then the filename will be <code>en.json</code>.</p>
<h3 id="extracting-the-strings" id="extracting-the-strings">Extracting the Strings <a class="markdownit-header-anchor" href="#extracting-the-strings">🔗</a></h3>
<p>If you’ve started the project without externalizing the strings, there are a few options to help with the hassle, one of them being the <code>GNU gettext</code>.</p>
<p><strong><a href="https://localazy.com/dictionary/gnu-gettext">gettext</a></strong> is a library that was built to minimize the <code>i18n</code> and <code>l10n</code> work. It works by extracting the strings directly from the source files and generating a template file with the strings that are going to be translated. It’s simple but flexible to use and it has plural support.</p>
<p>It is available for various languages (<a href="https://localazy.com/dictionary/python">Python</a>, C, PHP, <a href="https://localazy.com/rails-i18n">Ruby</a>, JavaScript and many more) and most frameworks already have it with some support. You can check it <a href="https://www.gnu.org/software/gettext/">here</a>.</p>
<p>If you choose this route, you’ll be in luck because Localazy supports <code>gettext</code>.</p>
<p>Alternatives to <code>gettext</code> are:</p>
<ul>
<li>OASIS <a href="https://localazy.com/xliff">XLIFF</a></li>
<li>GNU gettext po/mo files</li>
<li>POSIX catalogs</li>
<li><a href="https://localazy.com/qt">Qt ts/tm files</a></li>
<li><a href="https://localazy.com/properties">Java properties</a>,</li>
<li><a href="https://localazy.com/resx">Windows resources</a>.</li>
</ul>
<h3 id="translating-the-strings" id="translating-the-strings">Translating the Strings <a class="markdownit-header-anchor" href="#translating-the-strings">🔗</a></h3>
<h4 id="use-localazy-or-find-translators">Use Localazy or find Translators</h4>
<p>Having the default language file is a big step and taking in all the topics we covered so far is a challenge by itself, but the real legwork is to translate all the strings. Sure, if you have a project with a few dozens of strings, you might not be too bothered to translate it yourself or pay translators to translate them all. The real problem is when we have massive projects with hundreds, if not thousands of strings to translate. It will soon become messy, costly and painful to manage.</p>
<p>The good news is that Localazy allows you to go through the <code>l10n</code> process in a much more affordable, smoother and hassle free way.</p>
<p>Localazy is a developer-focused <strong>localization management platform</strong> that supports a wide variety of <a href="https://localazy.com/integrations">frameworks and an even more comprehensive range of formats</a> through its <a href="/docs/cli/the-basics">CLI</a>.</p>
<iframe width="100%" height="560" src="https://www.youtube.com/embed/q0uEltq02e0" title="Automated SW localization using Localazy CLI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h4 id="localazys-best-features">Localazy’s best features</h4>
<ul>
<li>A <a href="https://localazy.com/blog/is-there-ai-behind-localazy">pro-active review process</a></li>
<li>Highly accurate translation memory supported by <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">community-shared translations</a>.</li>
<li>A simple, crystal clear UI that is not bloated with rarely used options.</li>
</ul>
<iframe width="100%" height="560" src="https://www.youtube.com/embed/rYhwKIYQSuw" title="Automated SW localization using Localazy CLI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> 

<h4 id="hire-the-virtual-translator-for-continuous-translation">Hire the Virtual Translator for Continuous translation</h4>
<iframe width="100%" height="560" src="https://www.youtube.com/embed/QbsSJKc2N84" title="Automated SW localization using Localazy CLI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h3 id="managing-the-external-strings" id="managing-the-external-strings">Managing the external Strings <a class="markdownit-header-anchor" href="#managing-the-external-strings">🔗</a></h3>
<p>If you choose to do this process manually or if you have it automatically, in the mentioned languages folder you will have to have files with different naming (names that will depend on the language we will have translated inside the file) and with the same string keys as the original.</p>
<p>Example of <code>en.json</code>:</p>
<pre><code>
{

  &quot;hello_world&quot;: &quot;Hello World!&quot;,

  &quot;like_ice_cream&quot;: &quot;I like ice cream&quot;;,

  &quot;bread&quot;: &quot;Bread&quot;

}

</code></pre>
<p>Different language file, for example, Polish in <code>pl.json</code>:</p>
<pre><code>
{

  &quot;hello_world&quot;: &quot;Witaj świecie!&quot;,

  &quot;like_ice_cream&quot;: &quot;Lubię lody&quot;;,

  &quot;bread&quot;: &quot;Chleb&quot;

}

</code></pre>
<p>The file extensions used here are just for demonstration purposes as they can be different, depending on the programming language or framework used.</p>
<h2 id="challenges-of-i18n-and-final-considerations" id="challenges-of-i18n-and-final-considerations">🏆 Challenges of i18n and Final Considerations <a class="markdownit-header-anchor" href="#challenges-of-i18n-and-final-considerations">🔗</a></h2>
<h3 id="plurals-and-string-interpolation" id="plurals-and-string-interpolation">Plurals and String Interpolation <a class="markdownit-header-anchor" href="#plurals-and-string-interpolation">🔗</a></h3>
<p>When we use numbers in the text, we tend to think there are only two cases, whether it is singular or plural. Still, different languages ​​have different numbering systems and different plural forms. Some languages ​​have singular, double, and plural nouns, while others have more specific rules about few or many nouns, and even the definitions of “rarely” and &quot;many’’ are different. Since this is a common problem, most systems today support localization plural forms between different languages. Depending on the languages you want to add, you can check Unicode’s <a href="https://www.unicode.org/cldr/cldr-aux/charts/29/supplemental/language_plural_rules.html">Language Plural Rules</a>.</p>
<p>If we need to use variables inside the strings, we can use <strong>string interpolation</strong> as it allows us to insert variables directly into a string without concatenating multiple strings together.</p>
<p>This allows translators to view the complete sentence and modify it as needed, thereby changing the order of any strings or variables accordingly. To do this, we can use placeholders to define the variables. The variables can also change the plural forms. As an example of placeholder usage we will demonstrate a placeholder in PHP’s Laravel framework:</p>
<pre><code>
&lt;?php

return [

  'voted'=&gt;&quot;The city most voted by the users is :city&quot;,

  'name'=&gt;&quot;My name is :name&quot;,

  'carStatus'=&gt;&quot;There is :carNum car blocking the road | There are :carNum cars blocking the road&quot;

]

 ?&gt;

</code></pre>
<p>The same file with the translated strings to Portuguese:</p>
<pre><code>
&lt;?php

return [

  'voted_city'=&gt;&quot;A cidade mais votada pelos utilizadores foi :city&quot;,

  'name'=&gt;&quot;O meu nome é :nome&quot;

  'carStatus'=&gt;&quot;Há :carNum carro a bloquear a estrada | Há :carNum carros a bloquear a estrada&quot;

]

 ?&gt;

</code></pre>
<p>Using the prefix <code>:</code>, we are then able to assign the variables: <strong>city</strong> and <strong>name</strong>. With the <code>|</code> character we are able to distinguish between singular and plural.</p>
<p>This example is simply for demonstration purposes as placeholders and plurals <strong>differ</strong> depending on which language/framework/library you are working with. Plurals can be an extreme challenge if we are translating a language with many forms, but <a href="https://localazy.com/docs/general/translating-plurals">Localazy supports all CLDR plural rules</a> internally and generates them correctly for all languages defined there.</p>
<p>In some areas we want to internationalize our product to, we might need to implement <strong>Right-to-Left</strong>  languages support.</p>
<p>You can check some examples of <strong>plurals</strong> and <strong>string interpolation</strong> on our <a href="https://localazy.com/blog/laravel-multilingual-i18n-php-localazy">How to build a <strong>multilingual PHP</strong> app with Localazy and Laravel</a> article.</p>
<p><a href="/blog/attract-more-contributors-translate-your-app">How to attract more contributors to translate your app?</a></p>
<h2 id="closing-words" id="closing-words">✔️ Closing Words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2>
<p>As we could see by now, developing multilingual applications is not that easy as there is quite a lot to consider, plan and develop.</p>
<p>After all we’ve covered, it is recommended to plan a project to be internationalized right from the beginning and depending on the product flavours and versions we want to add, we might need to expand the external content besides just the strings for the text. Many of the concepts we talked about here and given examples have different methods of implementation, depending on the language/framework/library we are using, it is wise to read their documentation to avoid compatibility issues. The <code>i18n</code> path is not an easy one to take but at least you can count on Localazy to make part of it effortless.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Francisco Melo</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/05/Prepare-app-for-i18n.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Before you invest in app promotion, invest in app localization]]></title>
            <link>https://localazy.com/blog/before-invest-app-promotion-invest-app-localization</link>
            <guid isPermaLink="false">before-invest-app-promotion-invest-app-localization</guid>
            <pubDate>Thu, 17 Mar 2022 14:45:30 GMT</pubDate>
            <description><![CDATA[Learn why you should localize your app before you start burning money on app promotion in foreign markets.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you noticed how many app promotion agencies are in the market? How many App Store Optimization tools are available out there? And sure, app analytics and business intelligence services are not behind.</p>
<p>However, does it make sense to grow your user base with more users who do not speak your app's language? Sooner or later, they will find out that using your app in non-native languages is not as comfortable as it could be. User retention drops as they find better alternatives to your app with improved language support. After all, even ASO considers app store description translations.</p>
<h2 id="localization-and-arpu" id="localization-and-arpu">📈 Localization and ARPU <a class="markdownit-header-anchor" href="#localization-and-arpu">🔗</a></h2>
<p>All of us want to increase the lifetime value of every single user. Every app shall give back something to its owner. For many, <a href="/dictionary/app-monetization">app monetization</a> is of vital importance to cover the development costs, at least. Improving language support can enhance competitive advantage in various markets. More satisfied users mean higher average revenue per user (ARPU).</p>
<p>You can keep pouring more users into your app. But unless you fix the leaking barrel and adapt to the different markets via <a href="/dictionary/localization">localization</a>, you will keep wasting money on app promotion, and ARPU will stagnate.</p>
<blockquote>
<p><strong>Read a story on <a href="/blog/interview-how-floating-apps-achieved-millions-downloads">how the app Floating Apps achieved millions of downloads</a> thanks to localization</strong></p>
</blockquote>
<p><img src="https://directus9.localazy.com/assets/f1f473c7-4dfe-4507-8fe1-d8bdae51d47d" alt="Leaking barrel illustration"></p>
<h3 id="is-localization-underrated" id="is-localization-underrated">Is localization underrated? <a class="markdownit-header-anchor" href="#is-localization-underrated">🔗</a></h3>
<p>You might think that English is enough. But app localization into other languages is perceived as a must by many. How can we say that? Well, we run a localization platform! Millions and millions of end-users use their favorite apps in their native languages because app developers know the value.</p>
<p>However, the localization process can be a tedious task. As developers on our own, we have found current app localization tools and <a href="/dictionary/translation-management-system-tms">translation management systems</a> so uncomfortable to use that we have decided to develop Localazy - focused mainly on making continuous localization a somewhat pleasant experience instead of a gloomy nuisance.</p>
<blockquote>
<p><strong>Read more about various <a href="/blog/overview-software-localization-i18n-tools-2021">software localization tools for 2021</a></strong></p>
</blockquote>
<h3 id="mobile-app-downloads-are-still-growing" id="mobile-app-downloads-are-still-growing">Mobile app downloads are still growing <a class="markdownit-header-anchor" href="#mobile-app-downloads-are-still-growing">🔗</a></h3>
<p>Do not limit yourself to one market when your app can profit from the global hunger for apps. The graph below shows just mobile apps, but every day, hundreds or even thousands of new apps are published across the globe - startups, tools, widgets, call it as you wish. If you do not localize, your competitors do and take their slice.</p>
<p><img src="https://directus9.localazy.com/assets/e6fcc7d4-4ea8-48cb-89a8-65ac0aa46dc5" alt="Statistic: Number of mobile app downloads worldwide from 2016 to 2019 (in billions) | Statista"></p>
<p><em>Source: <a href="https://www.statista.com">Statista</a></em></p>
<h2 id="how-to-make-your-app-speak-many-languages" id="how-to-make-your-app-speak-many-languages">🚩 How to make your app speak many languages <a class="markdownit-header-anchor" href="#how-to-make-your-app-speak-many-languages">🔗</a></h2>
<p>One of the most frequent issues is the cost/outcome value of language <a href="/dictionary/translation">translation</a>. It can be an extremely daunting task to choose which languages will provide the best value. Of course, significant languages for global apps are a no-brainer. Still, hundreds of other languages are available worldwide, and all of them can make sense to get a competitive advantage over other apps.</p>
<p>For example, the European continent is full of smaller countries, and they all use different languages. And yes, all of the people do usually prefer to use their language. Speaking to users in their non-native language can be a dealbreaker.</p>
<blockquote>
<p>Pidgin languages — most simply defined as a blend of two languages — are also used around the world. Official estimates of the number of pidgin languages vary, but <a href="https://www.ethnologue.com/">Ethnologue</a> lists a total of <a href="https://www.ethnologue.com/subgroups/pidgin">16 pidgin languages</a> with speakers spread around the globe. Nigerian Pidgin English, for example, has an impressive 75 million speakers in Nigeria, Haitian Creole has 12 million speakers, and Jamaican Creole has 3.2 million.</p>
</blockquote>
<p><em>More on <a href="https://www.rws.com/insights/rws-moravia-blog/can-pidgin-languages-be-used-for-marketing-and-advertising/?utm_source=localazy&amp;utm_medium=referral&amp;utm_campaign=BlogPosts-Moravia">RWS Moravia</a></em></p>
<h2 id="we-share-the-code-lets-share-translations-as-well" id="we-share-the-code-lets-share-translations-as-well">🤝 We share the code. Let’s share translations as well. <a class="markdownit-header-anchor" href="#we-share-the-code-lets-share-translations-as-well">🔗</a></h2>
<p>Imagine thousands of developers at Localazy who are willing to share their app interface translations to receive some translations back. Especially when your team is small and your budget tight, sharing high-quality translations is the only way to provide many languages while keeping your energy at development, not managing translations all the time.</p>
<p>Using <a href="/docs/general/what-is-localazy-sharetm">Localazy ShareTM</a>, you can share your translations with other apps on the platform, and as a reward, get your app translated to more languages for free using a simple principle of anonymized many-to-many sharing. When a translation is approved, it’s sent to the ShareTM. And ShareTM distributes it across all other apps on Localazy. In a nutshell, ShareTM is a crowdsourced <a href="/dictionary/translation-memory">translation memory</a>, and it is what makes Localazy unique and different from other translation platforms.</p>
<p><img src="https://directus9.localazy.com/assets/08d5cbf9-44d6-4502-9e8f-2136a4d53e42" alt="Many-to-many sharing illustration"></p>
<p>You import your app, and almost instantly, you see that Localazy automatically translates it to up to 80 languages. Depending on strings in your app, it can translate up to 50% of your texts instantly!</p>
<blockquote>
<p><strong>Read a story on <a href="/blog/how-i-localized-my-media-player-app-into-50-languages-for-free">how our customer has localized his media player app to 50 languages for free</a> with Localazy ShareTM</strong></p>
</blockquote>
<p>ShareTM suggestions are sent into the review to ensure that you have complete control over the final translation. Through the review, you can not only approve translations provided by ShareTM, but you can choose from several different versions and easily update the text as you need to create an entirely new translation from the existing one.</p>

<!--kg-card-end: html--><!--kg-card-begin: html--><div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg xmlns="http://www.w3.org/2000/svg" viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Some parts of this article might not be accurate. This article mentions the ShareTM feature, which we've updated later. Learn more about the <a href="/blog/feature-update-sharetm-improvements">Localazy ShareTM improvements in this article</a>.</p>
</div><!--kg-card-end: html--><!--kg-card-begin: html--><h3 id="stay-safe-with-your-private-data" id="stay-safe-with-your-private-data">Stay safe with your private data. <a class="markdownit-header-anchor" href="#stay-safe-with-your-private-data">🔗</a></h3>
<p>At Localazy, we are aware of data protection, so we know that we can’t share everything with everyone. URL addresses, ad and app identifiers, and other things are supposed to be private and remain private. ShareTM can detect those strings and don’t process them - don’t share them with other apps and don’t even store and index them. You can also mark which strings shall stay hidden from unauthorized eyes.</p>
<h2 id="multiplatform-localization-can-be-a-challenge" id="multiplatform-localization-can-be-a-challenge">🔄 Multiplatform localization can be a challenge <a class="markdownit-header-anchor" href="#multiplatform-localization-can-be-a-challenge">🔗</a></h2>
<p>Modern projects are often scattered around various platforms and built with different stacks, e.g., developing a version of your app for <a href="/android">Android</a>, <a href="ios">iOS</a>, and web individually. Their localization often leads to duplicated efforts and a lot of costly manual work. Wouldn’t you love to be more productive and efficient in your localization process? Imagine how convenient it would be to translate your content only once and allow Localazy to handle the rest.</p>
<h3 id="translate-only-once-and-reuse-translations" id="translate-only-once-and-reuse-translations">Translate only once and reuse translations <a class="markdownit-header-anchor" href="#translate-only-once-and-reuse-translations">🔗</a></h3>
<iframe width="100%" height="560" src="https://www.youtube.com/embed/CJXM5jxFY2s" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p>If you utilize a multi-platform approach like this, you probably currently have your translation files stored in various formats. You might have also wondered how to better manage translations across all of your supported platforms. That’s where the <a href="/docs/general/format-conversions-add-on">Format Conversions</a> and <a href="/docs/general/connected-apps">Connected Projects</a> add-ons for Localazy come in handy. They both achieve similar goals but solve different problems.</p>
<p>Choose <strong>Format Conversions</strong> to translate two identical files within the same project. It’s a perfect choice for simultaneous development of <a href="/dictionary/ios">iOS</a> and <a href="/dictionary/android">Android</a> apps, sharing translations between the backend and frontend of your application, and so on. You can automate the conversion and make it a part of your workflow easily because the add-on is an integral part of the <a href="/docs/cli/format-conversions">Localazy CLI tool</a>.</p>
<p><strong>Connected Projects</strong> help localize apps that are similar but don’t necessarily share all texts. One example can be a series of mobile games, where most basic texts are identical but depending on the theme or story, there is more variety across apps. With <a href="/dictionary/connected-apps">Connected Projects</a>, you don’t have to translate each app separately. Once you set everything up, the Connected Projects feature keeps your translations in sync without any extra steps needed, speeds up the translation process by automatically approving matching keys, and allows all apps to tap into one central <a href="/docs/general/how-to-define-your-glossary">glossary</a>.</p>
<h2 id="make-your-dev-life-easier" id="make-your-dev-life-easier">🤖 Make your dev life easier <a class="markdownit-header-anchor" href="#make-your-dev-life-easier">🔗</a></h2>
<p>We are aware of the challenges that come with app localization. We know that the translation process can be mundane and even frustrating as your app grows. For developers who want to keep consistently improving and delivering new features for their users, the opportunity costs that accompany localization are high.</p>
<p>With Localazy, you can order translations by our <a href="/docs/general/virtual-translator">Continuous Localization Team</a> to automatically translate and review your app(s) texts to selected languages. Choose between <a href="/dictionary/hamt">human-assisted machine translation</a>, reviews or professional translations, and we will handle everything from there!</p>
<iframe width="100%" height="560" src="https://www.youtube.com/embed/QbsSJKc2N84" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p>When you make clever choices, you can afford to be lazy in certain areas, and there is a reason why we incorporated the word lazy into our brand name <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/> Focus on making your app even better while we manage the translation process for you.</p><!--kg-card-end: html--><p></p>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/05/Invest-in-app-localisation-03.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Localazy CLI Tips: Automated language switcher]]></title>
            <link>https://localazy.com/blog/localazy-cli-tips-automated-language-switcher</link>
            <guid isPermaLink="false">localazy-cli-tips-automated-language-switcher</guid>
            <pubDate>Thu, 16 Apr 2026 14:35:29 GMT</pubDate>
            <description><![CDATA[So, you have integrated Localazy CLI into your workflow, and now you can automatically upload and download localizable files. Everything is working like a charm, but you want to automate the language selector too? You can!]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="the-metadata-file" id="the-metadata-file">The metadata file <a class="markdownit-header-anchor" href="#the-metadata-file">🔗</a></h2>
<p>All you need to do is to tell Localazy CLI to export the so-called <a href="/docs/cli/metadata-file">metadata file</a>.</p>
<blockquote>
<p>We’ve added support for metadata files in Localazy CLI 1.1.17, so be sure to keep your tools updated 😉</p>
</blockquote>
<pre><code>{
  &quot;download&quot;: {
    &quot;metadataFile&quot;: &quot;languages.json&quot;,
    &quot;files&quot;: &quot;...&quot;
  }
}
</code></pre>
<p>From that moment, when you invoke <code>localazy download</code>, the file <code>languages.json</code> will be generated with basic information about your project as well as a list of languages, including their English and localized name:</p>
<pre><code class="language-json">{
    &quot;projectUrl&quot;: &quot;&lt;https://localazy.com/p/my-app&gt;&quot;,
    &quot;baseLocale&quot;: &quot;en&quot;,
    &quot;languages&quot;: [
        {
            &quot;language&quot;: &quot;ar&quot;,
            &quot;region&quot;: &quot;&quot;,
            &quot;script&quot;: &quot;&quot;,
            &quot;isRtl&quot;: true,
            &quot;name&quot;: &quot;Arabic&quot;,
            &quot;localizedName&quot;: &quot;العربية&quot;
        },
        {
            &quot;language&quot;: &quot;cs&quot;,
            &quot;region&quot;: &quot;&quot;,
            &quot;script&quot;: &quot;&quot;,
            &quot;isRtl&quot;: false,
            &quot;name&quot;: &quot;Czech&quot;,
            &quot;localizedName&quot;: &quot;Čeština&quot;
        },
        {
            &quot;language&quot;: &quot;en&quot;,
            &quot;region&quot;: &quot;&quot;,
            &quot;script&quot;: &quot;&quot;,
            &quot;isRtl&quot;: false,
            &quot;name&quot;: &quot;English&quot;,
            &quot;localizedName&quot;: &quot;English&quot;
        },
        {
            &quot;language&quot;: &quot;de&quot;,
            &quot;region&quot;: &quot;&quot;,
            &quot;script&quot;: &quot;&quot;,
            &quot;isRtl&quot;: false,
            &quot;name&quot;: &quot;German&quot;,
            &quot;localizedName&quot;: &quot;Deutsch&quot;
        }
    ]
}
</code></pre>
<p>Neat! You can load data for your language selector from this file and fully automate the <a href="/dictionary/localization">localization</a>. And you can control visible languages from Localazy! That’s the beauty of the single source of truth. 😁</p>
<!--kg-card-end: html--><h2 id="you-might-also-like">You might also like <a class="markdownit-header-anchor" href="#you-might-also-like">🔗</a></h2><p>Read more Localazy CLI related articles!</p><ul><li><a href="/blog/convert-localization-files-different-formats-localazy">How to convert localization files into different formats?</a></li><li><a href="/blog/new-cli-release-tags-merging-language-aliases-ios-update">New in CLI: Release tags merging, language aliases, iOS update and more!</a></li><li><a href="/blog/localazy-cli-tips-using-absolute-paths">Localazy CLI Tips: Using absolute paths</a></li></ul><p>Or, learn how to implement a language switcher into your Android app.</p><blockquote>Read the article: <strong><a href="/blog/how-to-create-custom-language-selector-in-android">How to create a custom language selector for Android apps</a></strong></blockquote>]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2023/06/lang-switch.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Product Review: Why we love Mixpanel at Localazy?]]></title>
            <link>https://localazy.com/blog/mixpanel-review-localazy</link>
            <guid isPermaLink="false">mixpanel-review-localazy</guid>
            <pubDate>Thu, 27 May 2021 05:26:25 GMT</pubDate>
            <description><![CDATA[As open-minded developers, designers and marketers, we are happy to share our thoughts on tools we use every day to bring our users great experiences with Localazy. Within this post, you can read more about why we have decided to use Mixpanel as a part of our analytics stack and how we utilize it.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="what-is-mixpanel" id="what-is-mixpanel">❓ What is Mixpanel? <a class="markdownit-header-anchor" href="#what-is-mixpanel">🔗</a></h2>
<p>Mixpanel is a pretty popular product analytics tool, and we believe that everyone involved in product management has at least heard about it. The principle is very simple; it allows you to collect user events from different sources through its API or SDKs. Once you collect enough data, you can create powerful reports inside Mixpanel.</p>
<p>Mixpanel constructs these reports in a way that helps you uncover the user journey and answer the most critical questions about your product. It gives you a great insight into who your users are and, most importantly, how they are using your product. Mixpanel is also extremely useful for marketing operations, especially for syncing custom audiences with additional marketing tools.</p>
<p>Mixpanel has five types of standard reports. They are Insights, Funnels, Flows, and Retention. Then there are Signals, which are available only on the enterprise plan, and unfortunately, we haven’t had a chance to try it out yet. All reporting functionality is based upon user cohorts you need to create beforehand. After you’ve designed some reports, you can group them into custom dashboards to track your most important KPIs.</p>
<p><img src="https://directus9.localazy.com/assets/4ea3091a-8571-42fd-a614-642aa2b3c2cd" alt="Mixpanel Demo Screen 1">
<em>The above screenshot is from Mixpanel Demo project</em></p>
<h2 id="what-is-our-experience-with-mixpanel" id="what-is-our-experience-with-mixpanel">🤔 What is our experience with Mixpanel? <a class="markdownit-header-anchor" href="#what-is-our-experience-with-mixpanel">🔗</a></h2>
<p>Since the beginning of our company, we have wanted to use some product analytics tool. That was early spring of 2020. However, because at that time, we didn’t have any users yet, there weren’t many things we could track. 😄</p>
<p>Also, we could get much more valuable information from different types of user analytics like Fullstory, which helped us understand our initial users and their behavior. We started to get some useful data from Mixpanel around summer 2020, and it was at that point when we began to use it actively.</p>
<h3 id="why-did-we-decide-to-use-mixpanel-at-localazy" id="why-did-we-decide-to-use-mixpanel-at-localazy">Why did we decide to use Mixpanel at Localazy? <a class="markdownit-header-anchor" href="#why-did-we-decide-to-use-mixpanel-at-localazy">🔗</a></h3>
<p>We did a bit of research before deciding on Mixpanel, and at that time, we were half the size, and we didn’t have any resources to come up with something overly complex. We needed a tool that is quick to set up and simple to use, so everyone in the team can find the answers or data quickly without any complicated onboarding needed.</p>
<p>Another requirement was the ability to push data through an API and export the cohorts in the same manner. Also, integrations with marketing tools such as Google Ads were necessary. Mixpanel ticked all the boxes, and we decided to try it out.</p>
<p>As a pleasant bonus, we’ve received a special startup deal from Mixpanel, but that is a pretty common sales technique, and all other competitors offer this type of deal as well. We also chose Mixpanel because of its transparent pricing. We simply didn’t want to spend hours with salespeople of competitors listening to countless demos only to find out their solution is too expensive for us in the end.</p>
<h3 id="how-we-use-mixpanel-at-localazy" id="how-we-use-mixpanel-at-localazy">How we use Mixpanel at Localazy <a class="markdownit-header-anchor" href="#how-we-use-mixpanel-at-localazy">🔗</a></h3>
<p>We have a couple of different use cases.</p>
<ul>
<li>The most common one we use almost every day is tracking our most important metrics and KPIs. So we have a dashboard where we often check whether the metrics are moving in the right direction. We look for spikes, unusual behavior, etc.</li>
<li>Another use case is very helpful for answering factual questions. Anyone can come into the Mixpanel to create a report or insight and share it with others. This way, you can make more informed decisions when designing the product or prioritizing some features.</li>
<li>Last but not least, we export some pre-made cohorts of users, which we can use for marketing purposes. We do it either through API or through some of the integrations, for example, Google Ads. You can use these data to improve audience targeting, upsell some features, or retrieve lost users. However, you need to reach particular requirements on the Google Ads side to use this integration.</li>
</ul>
<h3 id="how-mixpanel-helped-us-to-make-decisions" id="how-mixpanel-helped-us-to-make-decisions">How Mixpanel helped us to make decisions <a class="markdownit-header-anchor" href="#how-mixpanel-helped-us-to-make-decisions">🔗</a></h3>
<ul>
<li>When we were designing new navigation, we could check the most common paths in the app and make some informed decisions when designing the feature.</li>
<li>We are <a href="/dictionary/continuous-improvement">continuously improving</a> the product, and with limited resources, we cannot risk developing a feature nobody will use. So what we do, for example, right now is some market testing. We release a dummy feature or an MVP and watch whether users are interacting with it; this way, we can prioritize the development of components. We can focus on things that are in high demand by our users.</li>
<li>When developing a new feature, we can export a cohort of users who might be potentially interested in it and meet some criteria and send an email to ask if they’re interested in testing it.</li>
<li>We use selected Mixpanel cohorts to improve the learning curve of Google Ads campaigns, expand the reach, and optimize bids based on gathered data.</li>
</ul>
<p><img src="https://directus9.localazy.com/assets/de2bdff0-4b03-4563-bf21-0c95a3354635" alt="Mixpanel Demo Screen">
<em>The above screenshot is from Mixpanel Demo project</em></p>
<h3 id="what-is-the-learning-curve-like" id="what-is-the-learning-curve-like">What is the learning curve like? <a class="markdownit-header-anchor" href="#what-is-the-learning-curve-like">🔗</a></h3>
<p>There obviously is a learning curve, but it depends on whether you’ve used any product analytics tool before.</p>
<ul>
<li>If you have, I’d say that the interface is pretty self-explanatory.  Anyone can come in and create the report they need without any complicated onboarding.</li>
<li>As for the implementation, it definitely needs some planning before you dive into it. You need to realize what you want to track, set up the important events and metrics, and send the related events accordingly.</li>
<li>You need to read the docs carefully to get it right from the start. For example, it’s necessary to keep property names consistent across events in order to create some types of reports.  But the implementation itself from a developer’s point of view is then straightforward.</li>
<li>If you don’t have much experience with product analytics, Mixpanel has many great resources apart from its documentation to get you on track. These include articles, webinars, white papers, etc.</li>
</ul>
<h3 id="how-soon-did-we-get-the-value-we-were-looking-for" id="how-soon-did-we-get-the-value-we-were-looking-for">How soon did we get the value we were looking for? <a class="markdownit-header-anchor" href="#how-soon-did-we-get-the-value-we-were-looking-for">🔗</a></h3>
<p>With a tool like this, the time to value is usually counted in months.</p>
<ol>
<li>First, you need to plan the implementation. What you want to track, what are your metrics etc.</li>
<li>You need to implement all events in code, which also takes some time but much less than the planning phase.</li>
<li>Once the implementation is ready; you still need to wait for some time to allow the tool to collect some data.  And then you’d probably need to iterate, since most of the time, you’ll find out that you’ve missed something important anyway.</li>
</ol>
<p>Only after that moment, you’ll get the value, not earlier.  So for us, it was something between 2-3 months.</p>
<h3 id="how-did-we-approach-the-implementation" id="how-did-we-approach-the-implementation">How did we approach the implementation? <a class="markdownit-header-anchor" href="#how-did-we-approach-the-implementation">🔗</a></h3>
<ul>
<li>We started with a tracking plan and an analysis of what metrics we want to track.</li>
<li>We planned it in a simple docs sheet that was the source of truth for implementation.</li>
<li>Then we had to determine where each of these events happens. Whether is it possible to send it from the front end?  Does the back end need to take care of that?</li>
<li>We use their Javascript SDK on the front end, and simple API calls on the back end,  so both are usually one-liners.</li>
<li>Everyone from the team has access to the control panel, and they can use the data or reports whenever they need them.</li>
<li>We’re constantly adding new events before the new feature release.</li>
</ul>
<p>It was only a one-time effort to plan the initial implementation, but later on, it’s not time-consuming at all.</p>
<h3 id="what-are-the-best-features" id="what-are-the-best-features">What are the best features? <a class="markdownit-header-anchor" href="#what-are-the-best-features">🔗</a></h3>
<ul>
<li>Mixpanel’s best feature is the intuitive and clean UI. They did a great job there, and creating complex reports feels like a breeze. I take it as the most significant benefit because anyone from the team can log in and find any data they need.</li>
<li>Lexicon. It enables you to manage all events coming into Mixpanel without maintaining a separate google sheet manually. Everything is populated automatically. You can merge and rename events in case something is wrong with your implementation. You can add a description and get a great overview of what you’re tracking and why.</li>
<li>Impact analysis. There are some serious statistics and ML behind these reports. It lets you check whether a concrete feature release had some statistically significant impact on some of the metrics you’re tracking without the need for A/B testing.</li>
<li>Speaking Marcom, we haven’t been able to use all Mixpanel features such as messaging. But seeing that the guys at <a href="https://mixpanel.com/blog/why-were-sunsetting-messaging-and-experiments/">Mixpanel have decided to seal the fate of messaging</a>, we are not too disappointed <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>  Still, on the other hand, the direct and automated integration with google Ads or Facebook makes Mixpanel a really powerful source of custom audiences. You can use it to acquire new users, support user retention, or generate valuable conversions based on your user’s needs.</li>
</ul>
<h2 id="listen-to-the-podcast" id="listen-to-the-podcast">🎙️ Listen to the podcast <a class="markdownit-header-anchor" href="#listen-to-the-podcast">🔗</a></h2>
<iframe src="https://widget.spreaker.com/player?episode_id=44294850&theme=light&autoplay=false&playlist=false" width="100%" height="200px" frameborder="0"></iframe>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jan Bílek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/05/Ll-use-mixpanel_02.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[New in CLI: Release tags merging, language aliases, iOS update and more!]]></title>
            <link>https://localazy.com/blog/new-cli-release-tags-merging-language-aliases-ios-update</link>
            <guid isPermaLink="false">new-cli-release-tags-merging-language-aliases-ios-update</guid>
            <pubDate>Mon, 31 May 2021 09:17:50 GMT</pubDate>
            <description><![CDATA[We are continuously improving Localazy, and CLI is no exception! Take a look at new features now available in CLI v.1.4.0 - merging tags, language aliases, filtering keys, and more!]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>If you are a developer who uses Localazy, you are already familiar with the <a href="/docs/cli/the-basics">CLI tool</a>. It makes Localazy integration and localization automation smooth and allows you to manage your localizable files effectively.</p>
<h2 id="merge-release-tags" id="merge-release-tags">🏷️ Merge release tags <a class="markdownit-header-anchor" href="#merge-release-tags">🔗</a></h2>
<p>The <a href="/docs/general/release-tags-add-on">Release Tags</a> feature is already helpful when you need to lock the current state of translation to prevent affecting your production and retaining the possibility to test <a href="/dictionary/localization">localization</a> during development and in the staging environment.</p>
<p>With merging, you can modify existing tags in many different ways:</p>
<ul>
<li>merge missing translations from one tag to another</li>
<li>update translations in the tag using another tag as a source</li>
<li>overwrite keys including the source language</li>
<li>merge only selected languages and keys</li>
<li>add/remove selected languages and keys</li>
<li>publish/unpublish languages</li>
<li>apply changes only if the source language content matches</li>
<li>apply changes only for arrays with the same length</li>
<li>update language, project, and metadata information</li>
</ul>
<p>And that’s awesome as you can, e.g., update only selected languages/keys in your production environment once you have tested them on staging.</p>
<p><strong><a href="https://localazy.com/docs/cli/release-tags">READ MORE &gt;&gt;</a></strong></p>
<h2 id="language-aliases-and-expansions" id="language-aliases-and-expansions">🖊️ Language aliases and expansions <a class="markdownit-header-anchor" href="#language-aliases-and-expansions">🔗</a></h2>
<p>You can now easily change languages or expand them to more output files. For example, with a simple configuration shown below, locale <code>zh-Hant-TW</code> will be stored as <code>zh-TW</code>, <code>zh-MO</code>, <code>zh-CN</code>.</p>
<pre><code class="language-json">&quot;langAliases&quot;: {
  &quot;zh-Hant-TW&quot;: &quot;zh-TW&quot;
},
&quot;langExpansions&quot;: {
  &quot;zh-Hant-TW&quot;: [&quot;zh-MO&quot;, &quot;zh-CN&quot;]
}
</code></pre>
<p>Aliases are handy, e.g., for Chinese locales on Android or to support both new and legacy locales. It also works for the <a href="/docs/general/format-conversions-add-on">format conversions</a> feature allowing you to consider platform-specific locale differences easily.</p>
<p><strong><a href="https://localazy.com/docs/cli/download-reference#full-output-configuration">READ MORE &gt;&gt;</a></strong></p>
<h2 id="including-and-excluding-keys" id="including-and-excluding-keys">🗝️ Including and excluding keys <a class="markdownit-header-anchor" href="#including-and-excluding-keys">🔗</a></h2>
<p>You can now include and exclude keys based on exact match, prefix, suffix, or a regular expression when uploading files or converting them. It allows you to remove sensitive data from your string files or use format conversions to output files, e.g., for <a href="/android">Android</a> and <a href="/ios">iOS</a> while eliminating platform-specific parts.</p>
<pre><code class="language-json">{
  &quot;excludeKeys&quot;: [
    &quot;REGEX:private_.*&quot;,
    &quot;SUFFIX:_private&quot;
  ]
}
</code></pre>
<p><strong><a href="https://localazy.com/docs/cli/excluding-string-keys">READ MORE &gt;&gt;</a></strong>
`</p>
<h2 id="more-improvements" id="more-improvements">🆕 More improvements <a class="markdownit-header-anchor" href="#more-improvements">🔗</a></h2>
<h3 id="no-need-for-write-key-and-config-file" id="no-need-for-write-key-and-config-file">No need for write key and config file <a class="markdownit-header-anchor" href="#no-need-for-write-key-and-config-file">🔗</a></h3>
<p>We have reworked how configuration works, so it’s no longer necessary to have the configuration file and <code>writeKey</code> for commands that don’t really need it. The configuration file is now required only for upload and download commands. The <code>writeKey</code> is required for file manipulations, release tags actions, and upload.</p>
<h3 id="showing-of-upload-stats" id="showing-of-upload-stats">Showing of upload stats <a class="markdownit-header-anchor" href="#showing-of-upload-stats">🔗</a></h3>
<p>When uploading files in the synchronous mode, after the upload, additional details are provided - at the moment, it’s the number of added, updated, and deprecated phrases.</p>
<h3 id="downloading-ios-data" id="downloading-ios-data">Downloading iOS data <a class="markdownit-header-anchor" href="#downloading-ios-data">🔗</a></h3>
<p>We have added the option to download iOS data in a highly compressed binary format. This is an integral part of our upcoming iOS SDK. Stay tuned!</p>
<h3 id="newer-version-of-node-fetch" id="newer-version-of-node-fetch">Newer version of node-fetch <a class="markdownit-header-anchor" href="#newer-version-of-node-fetch">🔗</a></h3>
<p>We have bumped the version of the <code>node-fetch</code> dependency for the NPM version of our CLI as the previous version has known vulnerability.</p>
<h3 id="improved-docker-images" id="improved-docker-images">Improved Docker images <a class="markdownit-header-anchor" href="#improved-docker-images">🔗</a></h3>
<p>Our Docker image is now based on <code>ubuntu:20.04</code>, and we have improved our build script to remove apt caches and other unnecessary files to reduce the size and remove the possible vulnerability.</p>
<h3 id="improved-error-reporting" id="improved-error-reporting">Improved error reporting <a class="markdownit-header-anchor" href="#improved-error-reporting">🔗</a></h3>
<ul>
<li>When the upload fails because there are no files for uploading (e.g., invalid pattern), the CLI returns a non-zero exit code.</li>
<li>Improved error reporting for NPM version - avoid Kotlin/JS incompatibility in exceptions</li>
</ul>
<h3 id="fixed-bug-with-s-parameter" id="fixed-bug-with-s-parameter">Fixed bug with <code>-s</code> parameter <a class="markdownit-header-anchor" href="#fixed-bug-with-s-parameter">🔗</a></h3>
<p>The simulate parameter wasn’t correctly applied for generating metadata files. The files were generated and stored even with the `-s’ parameter provided.</p>
<h3 id="npm-version-is-minified-now" id="npm-version-is-minified-now">NPM version is minified now <a class="markdownit-header-anchor" href="#npm-version-is-minified-now">🔗</a></h3>
<p>NPM version of the CLI is now minified, has only half of the size, and is faster.</p>
<h2 id="join-the-discussion" id="join-the-discussion">🗨️ Join the discussion! <a class="markdownit-header-anchor" href="#join-the-discussion">🔗</a></h2>
<p>Any thoughts and comments are welcome in the <a href="https://discuss.localazy.com/t/cli-v-1-4-0-released-merging-tags-language-aliases-filtering-keys-and-more/120">Localazy forum</a>.  Tell us what you think!</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://ghost.localazy.com/content/images/2021/05/New-CLI-1_4_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[An overview of software localization and i18n tools (2022)]]></title>
            <link>https://localazy.com/blog/overview-software-localization-i18n-tools-2021</link>
            <guid isPermaLink="false">overview-software-localization-i18n-tools-2021</guid>
            <pubDate>Tue, 12 Apr 2022 14:25:56 GMT</pubDate>
            <description><![CDATA[As a developer, you have pretty extensive software internationalization options, language localization, and phrase translation solutions. But when it comes to decision making, the wide variety makes it harder to make a qualified decision on which solution is the best for you and your project. ]]></description>
            <content:encoded><![CDATA[<p>How could one navigate in such a plethora of options? Let's take a closer look at it!</p><h2 id="difference-between-internationalization-and-localization">🎌 Difference between internationalization and localization <a class="markdownit-header-anchor" href="#difference-between-internationalization-and-localization">🔗</a></h2><p><a href="/dictionary/internationalization">Internationalization (i18n)</a> is the preparation of software for multilingual support. <a href="/dictionary/localization">Localization (l10n)</a> is the process of aligning internationalized software with particular cultures’ needs, whether you align language, meanings, values, beliefs, or visual code.</p><h2 id="many-factors-coming-into-the-decision-process">🤔 Many factors coming into the decision process <a class="markdownit-header-anchor" href="#many-factors-coming-into-the-decision-process">🔗</a></h2><ul><li>Technologic compatibility</li><li>Service accessibility</li><li>Service availability</li><li>Technical debt</li><li>User experience</li><li>Easiness of adoption and maintenance</li><li>Business compliance</li><li>Business model/pricing policy</li></ul><h2 id="types-of-software-i18nandl10nandt9n-solutions">🛠️ Types of software i18n&l10n&t9n solutions <a class="markdownit-header-anchor" href="#types-of-software-i18nandl10nandt9n-solutions">🔗</a></h2><ul><li>i18n frameworks, formats</li><li>language technology providers</li><li>language service providers</li><li>software localization services</li></ul><h2 id="i18n-frameworks-formats-and-language-technology-providers">🗃️ i18n frameworks, formats, and language technology providers <a class="markdownit-header-anchor" href="#i18n-frameworks-formats-and-language-technology-providers">🔗</a></h2><p>There are multiple i18n frameworks and formats worldwide you can use for your software internationalization project. All of them have some specialties.</p><p>For example:</p><ul><li><a href="/xliff">XLIFF file format</a></li><li><a href="/po">PO file format</a></li><li><a href="/android">Android XML</a></li><li><a href="/flutter">Flutter Arb</a></li><li><a href="/blog/javascript-app-localization-i18next-localazy">i18next</a></li><li><a href="/json">Multilingual JSON</a></li><li><a href="/ios">iOS .strings, .stringsdict, .plist</a></li><li><a href="/yaml">YAML</a></li><li><a href="/properties">Java properties</a></li></ul><p>And many more, which you can find on the <a href="/integrations">Localazy Integrations page</a>. If you think something is missing, kindly let us know, and we will make sure Localazy supports your platform.</p><h4 id="lost-in-localizable-file-format-conversions">Lost in localizable file format conversions?</h4><p>Activate the <a href="/tiers/professional">Professional plan</a> to get the <a href="/docs/general/format-conversions-add-on">Format Conversions</a> feature and seamlessly output your translations in many different formats. Format conversions come especially handy when you are developing your app simultaneously on multiple platforms or when you need to share texts between the front-end and back-end of your project.</p><p>Once you activate the feature, you can start using new commands in the <a href="/docs/cli/the-basics">Localazy CLI tool</a>  to convert your localizable files into different formats. Make it a part of your workflow and automate file format conversions to output your translations in many different formats seamlessly.</p><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/6019481a-c3f4-4ef5-afcf-a5f752580e4f" class="kg-image" alt="Format Conversions add-on" loading="lazy"></figure><h3 id="language-technology-providers">Language technology providers <a class="markdownit-header-anchor" href="#language-technology-providers">🔗</a></h3><p>The language technology provider will enable you to use their technology to translate your software; however, they will most probably not offer complete localization services, including phrase translations. It is then only your responsibility to implement the technology and use it to localize your software projects.</p><h3 id="language-service-providers">Language service providers <a class="markdownit-header-anchor" href="#language-service-providers">🔗</a></h3><p>Language service providers usually provide you with the underlying technology. Still, their core business is preferably in the localization services itself - they help you translate phrases using professional translators, provide you with cultural expertise, and so on. LSPs are, by principle, more expensive because there is an increased portion of human work, and technology is just a part of the workflow. You may still want to check if your LSP uses proper technology, not adding pennies to your bill because of tech debt and non-effective workflows.</p><h3 id="software-localization-services">Software localization services <a class="markdownit-header-anchor" href="#software-localization-services">🔗</a></h3><p>Highly specialized providers focused on software. While language tech and service providers can offer you to localize software and content in general, software localization services dedicate themselves to the SW development vertical. They are thus highly qualified for your kind of job, frequently from i18n to l10n of user interfaces.</p><h3 id="going-further-in-the-software-category">Going further in the software category <a class="markdownit-header-anchor" href="#going-further-in-the-software-category">🔗</a></h3><p>The software localization category can go even further. Notably, there are companies focused on the gaming industry, such as Keyword Studio. And there are companies focused on single developers and small digital teams, such as Localazy. If you want to localize your software as an expert, but enterprise solutions are not a cup of your coffee, give us a try.</p><h3 id="combined-solutions-a-la-carte">Combined solutions / A lá carte <a class="markdownit-header-anchor" href="#combined-solutions-a-la-carte">🔗</a></h3><p>Within the market, you can, of course, find combined / A lá carte solutions for your project. Just make your choice of the service you need and order. Do you need only technology? Or do you need just translations? Or maybe both?</p><p>No problem!</p><h2 id="list-of-i18nl10nt9n-services-and-frameworks">📌 List of i18n/l10n/t9n services and frameworks <a class="markdownit-header-anchor" href="#list-of-i18nl10nt9n-services-and-frameworks">🔗</a></h2><p>Let’s dive into the actual tools you can use for localization and translation management. Which one should you pick? That depends on your budget, goals, expectations, and the size of your team and project. Allow us to introduce some of them in the following section.</p><h3 id="editors-pick">Editor’s pick <a class="markdownit-header-anchor" href="#editors-pick">🔗</a></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/12/image-11.png" class="kg-image" alt loading="lazy" width="1920" height="969" srcset="https://ghost.localazy.com/content/images/size/w600/2021/12/image-11.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/12/image-11.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/12/image-11.png 1600w, https://ghost.localazy.com/content/images/2021/12/image-11.png 1920w" sizes="(min-width: 720px) 720px"><figcaption>Localazy.com Homepage</figcaption></figure><h4 id="-localazy-com">🔵 <a href="http://Localazy.com">Localazy.com</a></h4><p>Which localization tool is the best? You guessed it. 😎 Obviously, <a href="/testimonials">it’s Localazy</a>! 😀 Why?</p><p><strong>By developers, for developers</strong></p><p>Localazy is a developer-friendly automated localization platform. With the powerful <a href="/docs/cli/the-basics">CLI tool</a> and comprehensive <a href="/integrations">integrations</a>, any developer can localize their project conveniently.</p><ul><li>See the <a href="/integrations">list of available integrations and supported file formats</a></li><li>Learn <a href="/tags/howto">how to integrate Localazy</a> into your project</li></ul><p><strong>Flexible and affordable pricing</strong></p><p>You can use Localazy <strong>for free</strong> and enjoy all core localization features without any recurring payments. Zero compromises, unlimited localization features.</p><p>The free plan includes:</p><ul><li>Unlimited projects</li><li>Unlimited languages &amp; translations</li><li>Unlimited machine translations</li><li>All integrations &amp; formats</li><li>200 source keys</li></ul><p>Localazy offers affordable plans suitable for single developers and bigger teams alike.</p><ul><li>See our <a href="/pricing">pricing</a></li></ul><p><strong>Instant translations with <a href="/docs/general/what-is-localazy-sharetm">ShareTM technology</a></strong></p><p>We are developers; we share our code, we cooperate, share our knowledge and libraries. We have this in our DNA. It saves us time and money; it helps us to move forward faster and produce better software. ShareTM is what makes Localazy unique and different from other translation platforms.</p><p>ShareTM is a pro-active <a href="/dictionary/translation-memory">translation memory</a> that translates your app automatically to new languages. It works like magic!</p><p><strong>Powerful features</strong></p><p>Discover advanced features that make translating and maintaining your project even more enjoyable.</p><ul><li><a href="/addons/connected-apps">Connected Projects</a> share translations across backend and frontend, from Android to iOS, or anything else you would like. Many-to-many translation shared memory.</li><li><a href="/docs/general/format-conversions-add-on">Format Conversions</a> allow you to convert translated files between different formats.</li><li><a href="/docs/general/release-tags-add-on">Release Tags</a> allow you to release translation updates iteratively only when you want. Test translations on stage before pushing to production.</li><li><a href="/docs/general/additional-mt-engines">Additional MT</a> will give you three other powerful machine translation engine suggestions to help you make more accurate translations and unlock other features.</li></ul><p><strong>Translation on auto-pilot</strong></p><p>Focus on what’s important and order automatic translations by our <a href="/docs/general/virtual-translator">Continuous Localization Team</a> to automatically translate your project to selected languages. Choose between <a href="/dictionary/hamt">human-assisted machine translation</a>, reviews or professional translations, and we will handle everything from there!</p><p><strong>Unique review process</strong></p><p>Our review process is a pro-active tool that helps you verify translations and keep track of all changes that happened on Localazy while you spent your precious time making your product better.</p><p>The primary function of the review process is to help you with verifying new translations from your contributors. You can accept or reject translations or mark them as acceptable but not good enough, etc.</p><p>As an addition to the approve/reject mechanism, you can directly edit the suggested translation and alter it. That’s extremely useful for minor changes. The translation may be perfect but with a small issue such as a missing exclamation mark or typo, which is something you can quickly fix on your own.</p><ul><li><a href="/docs/general/unique-review-process-and-self-managed-translations">Learn more about the review process</a></li></ul><p><strong>Clean and user-friendly UI</strong></p><p>Even though software developers might be fairly used to encountering obscure tools and outdated interfaces, we strive to make all of our users feel at home and pay great attention to UX and design our interfaces thoughtfully.</p><p>Clean UI displaying all of the important information with minimal clutter will help you focus better and get things done quickly.</p><ul><li>Read a <a href="/blog/intro-localazy-translators-perspective">review of Localazy UI by an experienced translator</a> Michał Tosza</li></ul><p><strong>Stellar support and community engagement</strong></p><p>Our users frequently mention our dedication to customer support and fast response times in their <a href="https://www.trustpilot.com/review/localazy.com">reviews</a> and <a href="/testimonials">testimonials</a>. Please chat with us whenever you have a question or encounter an issue on your localization journey! We are here to help. 😊</p><p>We also love to communicate with our users and involve them in the development process. Whether we ask for feedback, invite them to test new features early, or just exchange banter in the <a href="https://discuss.localazy.com/">forum</a>, we are always happy to talk!</p><p><strong>CDN and OTA updates</strong></p><p>Our <a href="/docs/general/localazy-cdn">CDN</a> allows you to use translated files directly in your project without needing to rebuild and publish. Just get the link, and you won’t have to worry about updates of translations.</p><p><a href="/android">Android</a> developers can integrate our <a href="/docs/android/localazy-gradle-plugin">Gradle plugin</a> that will do the work for them. Integrate <a href="/docs/android/only-ota-updates-that-really-work">Localazy OTA updates</a> without a single change of your source code.</p><h3 id="other-popular-tools">Other popular tools <a class="markdownit-header-anchor" href="#other-popular-tools">🔗</a></h3><p>The following section will list some of the other most popular translation management platforms for software developers. They are listed in no particular order, and you can compare each with Localazy to see who will fit your needs better.</p><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/87998ec0-5c4c-4bc5-a5c0-673f99a66753" class="kg-image" alt="Lokalise.com Homepage" loading="lazy"></figure><h4 id="-lokalise-com">🟠 <a href="/lokalise-alternative">Lokalise.com</a></h4><p>Trusted by prominent brands like Revolut, Daimler, and TESCO, Lokalise is without a doubt a well-established tool for localization and translation management. A great variety of valuable features such as real-time translations for support tickets and in-context editing makes Lokalise an excellent choice for teams requiring distinct localization approaches in their daily operations.</p><p>But, even though Lokalise offers a 14-day trial to test out their Enterprise plan, with the Start plan starting at 90 dollars (billed annually), Lokalise is one of the pricier options out there.</p><p>Localazy offers core localization features for <strong>free up to 200 phrases</strong>, why not give us a shot?</p><p><strong><a href="/lokalise-alternative">Compare Lokalise vs. Localazy</a></strong></p><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/6150a474-f509-49e9-a1ba-97992050196a" class="kg-image" alt="Smartling.com Homepage" loading="lazy"></figure><h4 id="-smartling">🟣 Smartling</h4><p>Smartling is considered a market leader in the computer-assisted translation field. With customers like Shopify, Pinterest, Vimeo, and other big names, we can only agree that it is a valid assumption. Smartling emphasizes the human aspect of CAT and prides itself in connecting customers directly with their translators. Smartling also offers a robust infrastructure and a unique approach to translation performance tracking.</p><p>However, the pricing is not transparent, so you can’t know how much Smartling will cost you without asking them first. Becoming a part of Smartling might prove expensive, but their linguistic asset management services look promising in increasing translation quality control for any language.</p><p>Localazy offers a <strong><a href="/pricing">transparent pricing</a></strong> model with many core features free.</p><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/54de4f98-ba0c-4128-a6ee-38ff6f7a8339" class="kg-image" alt="Phrase.com Homepage" loading="lazy"></figure><h4 id="-phrase-com">🔵 <a href="/phrase-alternative">Phrase.com</a></h4><p>Previously known as PhraseApp, <a href="/phrase-alternative">Phrase.com</a> is an established all-in-one software localization platform with many features for the whole team. The idea of the Phrase platform is centered around translation workflow management and different roles employed in the process.</p><p>However, Phrase is not outfitted with <a href="/dictionary/machine-translation">machine translations (MT)</a>, so you are either on your own, or you can order professional translation services on the platform. Phrase allows a 14-day trial, and the Basic plan starts at 23 dollars a month at the date of publishing this post.</p><p>Localazy offers <strong>machine translations</strong> for all users to speed up the process and minimize the localization headache.</p><p><strong><a href="/phrase-alternative">Compare Phrase vs. Localazy</a></strong></p><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/19ee7425-ccbc-4ca8-b5db-32df31ac23dc" class="kg-image" alt="AppLanga.com Homepage" loading="lazy"></figure><h4 id="-applanga-com">🔵 <a href="/applanga-alternative">AppLanga.com</a></h4><p>AppLanga is an online translation management platform that specializes in the localization of native mobile apps and games. AppLanga offers its’ own SDK, integration with leading platforms for mobile app development, in-context editor, and OTA updates to speed up the delivery of localization changes to users.</p><p>There is no phrase limit, and you can even use AppLanga free of charge for a small project with under 1000 MAU (monthly active users). To access more features such as glossary and invite team members, you have to upgrade to the Pro plan, which is 500 dollars per month.</p><p>With Localazy, you can use the <strong>Glossary</strong> and invite your teammates to help you with translation even on the free plan!</p><p><strong><a href="/applanga-alternative">Compare AppLanga vs. Localazy</a></strong></p><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/f033678c-14c4-4e7f-a990-761055941150" class="kg-image" alt="Localise.biz Homepage" loading="lazy"></figure><h4 id="-localise-biz-loco-">🟢 <a href="/loco-alternative">Localise.biz (Loco)</a></h4><p>Loco is a simple platform for translation management supporting 14 file formats. With the free plan, you can translate two projects into up to 10 languages. Loco is an affordable option with the Pro plan starting at only 6 dollars a month, and you can increase the limit with additional monthly charges. You can also automate the distribution of localization files with the Loco API.</p><p>However, Loco does not offer any translation services or MT engines, and you have to handle the translations on your own. Loco is also available as a free WordPress plugin for a user-friendly localization of themes and plugins, making it perfect for indie WordPress developers or handy site owners who are looking for a free option to localize their WordPress site.</p><p>With Localazy, you can order translations from our <strong><a href="/docs/general/virtual-translator">Continuous Localization Team</a></strong> to translate your apps or use machine translations. On top of that we don’t limit the number of projects or languages!</p><p><strong><a href="/loco-alternative">Compare Loco vs. Localazy</a></strong></p><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/61c1b275-ffd6-4000-a9be-8e8d76041a68" class="kg-image" alt="Transifex.com Homepage" loading="lazy"></figure><h4 id="-transifex-com">🟣 <a href="/transifex-alternative">Transifex.com</a></h4><p>Transifex is a cloud-based localization platform trusted by some of the world’s tech leaders such as Atlassian, Trello, or Disqus, to name a few. Transifex offers a variety of integrations not only for developers but for designers, support platforms, and e-commerce solutions as well. With Transifex, you can also manage localization workflows, order professional translations and view comprehensive reports to measure your efforts.</p><p>You can try Transifex for free. The Basic plan starts at $70 / month and offers up to 50,000 words, unlimited projects, and essential tools to start localizing your project. However, the initial setup might not be the easiest out there, according to some reviews.</p><p>Integrate Localazy in minutes with our <strong><a href="/docs/cli/the-basics">developer friendly CLI tool</a></strong> and try Localazy for free.</p><p><strong><a href="/transifex-alternative">Compare Transifex vs. Localazy</a></strong></p><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/55aca927-29b3-4d80-a9d7-31576efa622d" class="kg-image" alt="ICanLocalize.com Homepage" loading="lazy"></figure><h4 id="-icanlocalize">🟠 ICanLocalize</h4><p>Focusing on professional translation delivery between over 400 language pairs, ICanLocalize is a great choice for one-time projects. They also offer transparent pricing with rates that start at 0.09 USD per word and no additional storage fees. Since ICanLocalize is the company behind the WPML plugin for WordPress, using their services for translating WordPress websites should be easy.</p><p>Translating <a href="/android">Android</a> or <a href="/ios">iOS</a> apps is possible with ICanLocalize too, but you have to upload files manually every time you make a change in your project, which means you must add an extra step into your workflow. You can also upload any documents for translation, and with their Instant translation service, translating short texts is possible within minutes for common language pairs.</p><p>You can <strong><a href="/tags/automated-localization">fully automate the localization</a></strong> process with Localazy and forget about handling files manually thanks to our <strong><a href="/docs/cli/the-basics">CLI</a></strong>, and <strong><a href="/docs/general/localazy-cdn">CDN</a></strong>.</p><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/4c3e7c94-92ae-461b-bfb6-ea74a7857865" class="kg-image" alt="OneSkyApp.com Homepage" loading="lazy"></figure><h4 id="-oneskyapp-com">🔵 <a href="/oneskyapp-alternative">OneSkyApp.com</a></h4><p>OneSky offers an end-to-end localization solution with 50+ Languages, 1,000+ Translators, and 19 compatible file formats. OneSky is an established platform that has helped many companies localize their mobile apps and games, including HubSpot, Ubisoft, and Microsoft. Pricing at OneSky is pay per word, starting at $0.04 for translation and $0.05 for review, and offers only translators with technical experience and industry-specific knowledge suitable for your project.</p><p>Additionally, OneSky offers App Store Integration for description translation and On-Device Testing to ensure your UI won’t break in other language versions, emphasizing their specialization in apps and games.</p><p>Localazy offers a wider variety of approaches to the localization process. You can translate your apps on your own, invite volunteers or order the <strong><a href="/docs/general/virtual-translator">Continuous Localization services</a></strong>. We don’t push you to pay per translated word if you don’t want to!</p><p><strong><a href="/oneskyapp-alternative">Compare OneSkyApp vs. Localazy</a></strong></p><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/9a9919eb-4b7d-4ca8-93ad-df7f6229cb51" class="kg-image" alt="i18nexus.com Homepage" loading="lazy"></figure><h4 id="-i18nexus">🟢 i18nexus</h4><p>i18nexus allows you to quickly edit, automate, and manage your translations and connect them to your website, app, or video game with the i18next framework. <a href="/dictionary/i18next">i18next</a> is a flexible <a href="/json">JSON</a> approach that works with all modern tech stacks, including libraries for React, Angular, Node, iOS, Ruby on Rails… i18next is one of the top open-source internationalization frameworks and Localazy supports i18next as well!</p><p>i18nexus translates your app using Google Translate immediately, but you have to source professional translators yourself and invite them to i18nexus if you want to localize your app professionally. The free plan is quite generous, offering up to 500 strings for free; the basic plan (up to 3000 strings) starts at $14 / mo.</p><p>Localazy allows you to <strong><a href="/dictionary/i18next">automate your i18next project localization</a></strong> and order professional translators when you are ready. You can fully focus on development and improvement of your software, while Localazy handles the rest for you!</p><p><strong><a href="/i18nexus-alternative">Compare i18nexus vs. Localazy</a></strong></p><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/d06a667e-73e5-4312-81ee-740ffd11616e" class="kg-image" alt="Lingoport.com Homepage" loading="lazy"></figure><h4 id="-lingoport">🟣 Lingoport</h4><p>Lingoport is a full-service solution that provides a broad range of software internationalization services customized to fit your release goals, technologies, engineering resources, and budget. Established in 2001, Lingoport is trusted by the world’s largest software companies, including Snapchat, VISA, or Dell.</p><p>Lingoport Suite consists of three products: Globalyzer, Localyzer, and Localyzer QA that work together to support i18n, L10n, and QA. All Lingoport Suite products offer various license choices ranging from cloud hosting, private cloud installation, and on-premise installation. On the other hand, you can’t easily find the pricing models for any of the options offered by Lingoport, so you would have to contact them with your specific case.</p><p><strong><a href="/tags/automated-localization">Automate the localization</a></strong> of your project with Localazy, start for free and upgrade when you need. Deliver your translations via our <strong><a href="/docs/general/localazy-cdn">CDN</a></strong> or <strong><a href="/docs/android/only-ota-updates-that-really-work">OTA updates</a></strong>, and don’t waste time on complicated setup and maintenance.</p><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/74749640-585d-46e5-87c7-d7c1df6d49a9" class="kg-image" alt="GitLocalize.com Homepage" loading="lazy"></figure><h4 id="-gitlocalize-part-of-alconost-">🟡 GitLocalize (part of Alconost)</h4><p>Aimed at single developers and small teams, GitLocalize is a free and simple-to-use translation management tool that integrates directly with your GitHub repository. GitLocalize tracks changes in your repository and pulls them into the project. Translations are then sent to the repository via a pull request.</p><p>Setup is easy, and translations can be managed statically on a file level and compared to the original by segment. Since the tool is free, you shouldn’t expect any built-in machine translation help or professional translation services, so this important part of the localization process has to be sourced elsewhere.</p><p>Localazy can do the same as GitLocalize and much more for you, e.g.:</p><ul><li>translate your project with <a href="/dictionary/machine-translation">machine translations</a> and <a href="/docs/general/what-is-localazy-sharetm">ShareTM</a>,</li><li>fully <a href="/tags/automated-localization">automate the localization process</a> with the <a href="/docs/general/virtual-translator">Continuous Localization Team</a></li><li>deliver translations to your users via <a>CDN</a>…</li></ul><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/8d32fdb6-0f64-4cf8-8a3f-b6e12a12a217" class="kg-image" alt="IBabbleOn.com Homepage" loading="lazy"></figure><h4 id="-babble-on">⚫ Babble-on</h4><p>Babble-on is an expert team of native translators and writers. With their app localization service, you can have your app translated professionally into any language of your choice. Babble-on supports around 20 file formats. You can sync via Github or Bitbucket or send them the latest export of your strings to get your translated files back in a few days.</p><p>Babble-on can handle the whole process for you, or you can join their translation system and participate by adding context &amp; screenshots, answer translators’ questions, and remove texts you don’t want to translate. Pay $0.21 per word, with zero monthly fees. Babble-on can also help you with your app descriptions and press releases in different languages.</p><p>With Localazy, you can translate your apps on your own with the help of machine translation engines, invite volunteers or order the <strong><a href="/docs/general/virtual-translator">Virtual Translator</a></strong> to translate your project automatically and pro-actively.</p><hr><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/f80294f7-24e1-481d-b07f-e5a3c2701149" class="kg-image" alt="Locize.com Homepage" loading="lazy"></figure><h4 id="-locize-com">🔵 <a href="/locize-alternative">locize.com</a></h4><p>Locize is a translation management system with a variety of features built by the creators of <a href="/dictionary/i18next">i18next</a>. You’ll find features aimed at teams, contributors, and managers, as well as single developers + other essential tools for efficient translation management. Locize also offers professional translations, and machine translations are included within the system as well.</p><p>On top of that, you can translate your website directly from your browser with their InContext Editing tool. Locize employs a variable “pay as you go” pricing model that might be hard to understand at first, and the UI might seem cluttered for some users, but you can try a 14-day trial to see if Locize is what you are looking for.</p><p>Translate your app comfortably and enjoy the clean and user-friendly interface of Localazy. Also, please don’t get lost in pricing calculations, take a look at our transparent and easy to understand <a href="/pricing">pricing</a></p><p><strong><a href="/locize-alternative">Compare Locize vs Localazy</a></strong></p><hr><h4 id="and-more-">and more…</h4><p>This list is not exhaustive, if you would like to see a comparison with your current platform or service not included in the list, kindly let us know.</p><h2 id="in-conclusion">✔️ In conclusion <a class="markdownit-header-anchor" href="#in-conclusion">🔗</a></h2><p>We hope this article helped serve as a broad overview of solutions available for software localization and translation management.</p><p>At Localazy, we are working very hard to become the go-to option for software developers in need of a localization platform. We believe that everyone should be able to enjoy software in their native language. We want to bring together developers, users &amp; translators that believe in the same thing and provide them with an effortless way of translating their projects.</p><p>We value the feedback of our current or potential users. Whether you are a developer or freelance translator, <a href="https://discuss.localazy.com/">join our forum</a> and let us know what you think!</p>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://ghost.localazy.com/content/images/2022/04/Software-localization-overview22.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Intro to Localazy from translator's perspective]]></title>
            <link>https://localazy.com/blog/intro-localazy-translators-perspective</link>
            <guid isPermaLink="false">intro-localazy-translators-perspective</guid>
            <pubDate>Tue, 30 Apr 2024 17:19:09 GMT</pubDate>
            <description><![CDATA[Due to a series of fortunate events, I started cooperating with the Localazy team. And now, from the perspective of a translator, localization specialist, and software trainer, I will try to show you - fellow translators - the features of and philosophies behind the Localazy software. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>We will start with the basic introduction to the user interface and features for translators working in Localazy.</p>
<h2 id="introduction" id="introduction">🎈 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2>
<p>Specialized software for translators - and Localazy is specialized, as it has been created with translating user interfaces of applications in mind - can be a pain to use. The main reason is usually the interface filled with dozens of unintuitive options and features that work in obscure ways. Yes, Passollo, I am looking at you now. 🙄</p>
<p>On the other hand, there are some well-designed specialized applications that perfectly serve their purpose; here, <a href="http://Xbench.net">Xbench.net</a> comes to mind. 😉 The most prominent players in the <a href="/dictionary/cat-tool">CAT tool</a> market, such as Trados or memoQ, are great all-purpose tools. Still, they will never be suitable specialized applications for translating movie subtitles or performing such advanced QA checks as QA Distiller.</p>
<p>There is still a lot of opportunities in the translation industry for other developers to provide specialized translation software, and Localazy will take over a part of them, in my opinion.</p>
<h2 id="what-is-localazy" id="what-is-localazy">🚩 What is Localazy? <a class="markdownit-header-anchor" href="#what-is-localazy">🔗</a></h2>
<p>Localazy is a clean online tool that facilitates and automates <a href="/dictionary/localization">localization</a> of software user interfaces - a new take on <a href="/dictionary/translation-management-system-tms">TMS</a>. And why do I like it?</p>
<p>One of its most significant advantages is simplicity. Like most online CAT tools - you just set up a simple translator profile and log in to the system. The project, fully prepared by the client, waits there to be taken care of.</p>
<p>With Localazy you do not need to:</p>
<ul>
<li>create <a href="/dictionary/translation-memory">translation memories</a>,</li>
<li>configure matching penalties,</li>
<li>import DTD.</li>
</ul>
<p>These tasks are already done by the client and Localazy before you come in and start translating. You might know this scenario - it has a lot of advantages (you don’t worry about any technical issues) and a lot of disadvantages (you have almost no options to fix, tweak, add any translation resources), but in most cases, this is comfortable for the translator, as you save a lot of time.</p>
<h2 id="basic-navigation" id="basic-navigation">🧭 Basic navigation <a class="markdownit-header-anchor" href="#basic-navigation">🔗</a></h2>
<p>Now, let’s see what Localazy presents when you log in to the system.</p>
<p><img src="https://directus9.localazy.com/assets/b6ab72dd-fedf-4cae-96b6-64028c4f72fb" alt="Localazy Translator Dashboard"></p>
<p>I actively take part in 3 projects. And to start working, you just click on the project name and select your target language on the next screen. You can start typing it in the search languages field (1), just as I did it in this screenshot, and then hit the ideogram icon (2).</p>
<p><img src="https://directus9.localazy.com/assets/89eac3a9-9e07-46d2-b1e6-7d4e1d2bf4c5" alt="Localazy Translator Dashboard"></p>
<p>Below, there are the two UI sections of Localazy you will spend the most time in - the list of phrases (Localazy calls strings “phrases”) and translation editor.</p>
<p><img src="https://directus9.localazy.com/assets/094d53f8-457b-4e63-9822-c38fc7d3f66e" alt="Localazy Translator Dashboard"></p>
<p>The list of phrases contains the usual two columns of source and target segments (1), as well as some context provided by the client in the <strong>Key</strong> column (2). You can filter the columns with some filtering options, but now this feature only supports alphanumeric characters and not regular expressions. Dropdown menu (4) allows filtering of the phrases by their statuses, which are pretty self-explanatory and useful. On the bottom, there is another dropdown to change the number of phrases (10-100) displayed.</p>
<p>Nothing fancy here, but this makes the screen easy to read and uncluttered - this is crucial, as you can:</p>
<ul>
<li>start working almost instantly,</li>
<li>not waste time on dozens of menus and options looking for this one “Open project” or “Start working” button,</li>
<li>and there are no UI elements that distract you.</li>
</ul>
<p>When you click any phrase, the editor is displayed.</p>
<p><img src="https://directus9.localazy.com/assets/2d41488a-6f67-424e-a926-34ee369f200d" alt="Localazy Translator Dashboard"></p>
<p>Area (1) contains the source and target phrase fields and some context to the left - with file name and ID of the phrase (2). Suppose the client decides to add more context in their Notes section (not visible here - it is available while creating a localization kit). In that case, the additional context and descriptions for phrases will also be visible here. Context is <a href="https://www.brafton.com/blog/content-marketing/content-vs-context/">king/queen/god</a>; you name it - the more context available for the translator, the better the final quality of the translation.</p>
<p>(3) are standard buttons to confirm (<strong>Save</strong> <code>Ctrl + ENTER </code>) and skip (<strong>Cancel</strong> <code>Ctrl + ,</code>) a translated segment.</p>
<h2 id="suggestions-save-time" id="suggestions-save-time">📚 Suggestions save time <a class="markdownit-header-anchor" href="#suggestions-save-time">🔗</a></h2>
<p><strong>SUGGESTIONS</strong> (4) tab is composed of max. 7 hits from ShareTM + InTM and one hit per each machine translation engine supported. This is quite an interesting set of features, I must admit. The hits displayed here come from two types of translation memories + automated translation engines.</p>
<p><a href="/docs/general/what-is-localazy-sharetm">ShareTM</a> is a sort of a global TM shared by all clients using Localazy as their localization platform. So you can get human-translated matches from translations in other clients’ projects.</p>
<p><a href="/docs/general/what-is-localazy-intm">InTM</a> is your own translation memory. The localized phrases saved here are private, and only you can use them.</p>
<p><a href="/dictionary/machine-translation">Machine Translation</a> - all automated engines that deliver better/worse translations. For obvious reasons, these hits are listed as last in the list of SUGGESTIONS. You can also buy an add-on to gain access to suggestions from <a href="/docs/general/additional-mt-engines">additional MT engines</a>.</p>
<h2 id="similar-phrases-in-the-project" id="similar-phrases-in-the-project">👁️‍🗨️ Similar phrases in the project <a class="markdownit-header-anchor" href="#similar-phrases-in-the-project">🔗</a></h2>
<p>The <strong>SIMILAR</strong> tab is composed of matches from the currently translated project.</p>
<p><img src="https://directus9.localazy.com/assets/249c92cf-f110-4791-b1b9-902ef4603e06" alt="Localazy Translator Dashboard"></p>
<p>You can insert these hits to <strong>Your translation</strong> pane with <code>Shift + number</code>, just as in every other civilized CAT tool. 👍</p>
<h2 id="see-translations-in-other-languages" id="see-translations-in-other-languages">🗃️ See translations in other languages <a class="markdownit-header-anchor" href="#see-translations-in-other-languages">🔗</a></h2>
<p>Next is the <strong>LANGUAGES</strong> tab, which is so helpful!</p>
<p><img src="https://directus9.localazy.com/assets/ab414589-7885-48a8-8196-04807f8f8272" alt="Localazy Translator Dashboard"></p>
<p>I love working on projects with “transparency” of translations because I can look at translations to other languages. And with the use of any external machine translation or my knowledge of other languages (other than English and Polish), I can check how other translators localized the source segment. Sometimes this feature saved me from terrible mistakes.</p>
<p>I use it always before asking the devs for clarifications. And sometimes, Russian (I know some Russian as well) translations that I noticed by chance were so strikingly different from mine that they made me question my understanding of the source and saved me from serious issues. 🤔</p>
<p>The bottom line is - I managed to avoid many localization errors because I was able to look at translations to other languages. This is a fantastic feature that is so rarely available in CAT tools.</p>
<h2 id="asking-the-developer-for-context" id="asking-the-developer-for-context">💭 Asking the developer for context <a class="markdownit-header-anchor" href="#asking-the-developer-for-context">🔗</a></h2>
<p>And the last tab is my beloved feature - semi-automated queries. 🥰</p>
<p><img src="https://directus9.localazy.com/assets/bd021ed9-48c9-4111-a772-1f09bdca3f64" alt="Localazy Translator Dashboard"></p>
<p>Fantastic. It saves so much time when you do not have to switch to Excel or log in to an online tool to add a query. Moreover, in Localazy, you do not have to type in the same queries over and over again. You can just click a <strong>“Could you please clarify…”</strong> button, and this text is inserted automatically. Then you only need to type in the rest of your question. The way this <strong>COMMENTS</strong> feature is designed can save a lot of time, repetitive work, and frustration.</p>
<p>When translating a demanding or poorly written source text, translators sometimes tend not to ask the developers questions, even if they are unsure about the meaning or need clarification. This happens when they need to ask, and type in A LOT of queries.</p>
<p>After adding several comments, translators just stop doing this because “enough is enough,” “this takes so much time,” and the frustration along with some impostor syndrome “I should understand everything, and not ask so many questions! The devs will think I am not fit for the job” kick in. 😤</p>
<p>Here, the semi-automation of this tedious task saves a lot of time and allows for a higher quality of the final localization. Moreover, with this feature, translators can inform the devs that perhaps their source texts are not of the highest quality and should be rewritten - a win-win scenario for both parties and a great feature.</p>
<h2 id="in-conclusion" id="in-conclusion">😎 In conclusion <a class="markdownit-header-anchor" href="#in-conclusion">🔗</a></h2>
<p>And this is basically it when it comes to the translator’s role in Localazy. The features mentioned above and some mechanics allow you to deliver translated phrases and indicate them as ready-for-review. You do not need to finalize a project, export files, or send any packages.</p>
<p>In my opinion, being straightforward in visual communication with the user, having a limited set of features for translators, and presenting an uncluttered UI are the most distinct elements of Localazy. Moreover, thanks to this, Localazy sets the entry threshold on a very low level and is friendly for newcomers, which is quite unusual for any CAT tool.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Michał Tosza</author>
            <enclosure url="https://directus9.localazy.com/assets/2b550433-d2a7-413e-940e-8c78a5c48431" length="0" type="image//assets/2b550433-d2a7-413e-940e-8c78a5c48431"/>
        </item>
        <item>
            <title><![CDATA[Top 10 tools for (not only) multilingual Android development]]></title>
            <link>https://localazy.com/blog/top-10-tools-multilingual-android-development</link>
            <guid isPermaLink="false">top-10-tools-multilingual-android-development</guid>
            <pubDate>Tue, 21 Sep 2021 22:00:52 GMT</pubDate>
            <description><![CDATA[Software and app developers working with any platform each require a set of tools to produce high-quality software. Android app development is no exception. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>I will write about my top 10 tools I think of as mandatory for developing high-quality <a href="/android">Android</a> applications. Keep in mind that this is a recommendation of tools that work for me and that other developers may use their own set of tools to achieve different goals.</p>
<h2 id="1-android-studio" id="1-android-studio">1. Android Studio <a class="markdownit-header-anchor" href="#1-android-studio">🔗</a></h2>
<p>In order to start the development of an Android application, the first thing you need to download is Android Studio. <a href="/dictionary/android-studio">Android Studio</a> provides a unified environment where you can build apps for Android phones, tablets, Android Wear, Android TV, and Android Auto (to be more precise, any device that runs Android as the primary OS). It also covers Android Emulators, which are virtual machines over which we can run and test our app; we will talk about it later.</p>
<p>Android Studio <a href="/dictionary/integrated-development-kit-ide">IDE</a> makes it easy to create Android apps for various form factors, such as handsets, tablets, TV, and Wear devices.
You can download Android Studio from the official web page. It runs on Windows, Linux, Mac, and Chrome OS.
<a href="https://developer.android.com/studio">https://developer.android.com/studio</a></p>
<p>System requirements are different for each OS, so I suggest checking it on the official site I have provided above. Just a note, you don’t need any particular configuration for it. You don’t need a powerful machine to run it on; there will be a difference only in performance, which is expected.</p>
<h2 id="2gradle" id="2gradle">2.Gradle <a class="markdownit-header-anchor" href="#2gradle">🔗</a></h2>
<p>The Android Studio build system is based on <a href="/dictionary/gradle">Gradle</a>, and the Android Gradle plugin adds several features specific to building Android apps. It can run independently of Android Studio and be updated separately. Gradle is a build system responsible for code compilation, testing, deployment, and conversion of the code into <code>.dex</code> files and hence running the app on the device, in this case, Android device.</p>
<p>Whenever you click on the Run button in Android Studio, a Gradle task automatically triggers and starts building the project. After Gradle completes its job, the app starts running in AVD or in the device connected over the USB or Wi-Fi.</p>
<p>There are two <code>build.gradle</code> files for every Android Studio project. One is for the application, and the other is for project-level (module-level) build files where you can manage the specific setup for each.</p>
<p><strong>build.gradle (project level)</strong></p>
<p>The Top-level (module) <code>build.gradle</code> file is a project-level build file, which defines build configurations at the project level. This file applies configurations to all the modules in the Android application project.</p>
<p><strong>build.gradle (application level)</strong></p>
<p>The Application level <code>build.gradle</code> file is located in each module of the android project. This file includes your package name as applicationID, version name (APK version), version code, minimum and target SDK for a specific application module. When you use external libraries, you need to mention them in the app level Gradle file to include them in your project as dependencies of the application.</p>
<p>You can find more info about the Gradle Android, including release notes here.
<a href="https://developer.android.com/studio/releases/gradle-plugin">https://developer.android.com/studio/releases/gradle-plugin</a></p>
<h2 id="3-localazy" id="3-localazy">3. Localazy <a class="markdownit-header-anchor" href="#3-localazy">🔗</a></h2>
<p>Most developers struggle with the <a href="/dictionary/localization">localization</a> of their apps. Finding an ideal solution is always tricky, but I have found a little treasure. Localazy is relatively new out there, but believe it or not - it can easily compare with the other similar tools already in the market for a while, and some of them have existed for a decade now.</p>
<p>Localazy is a feature-rich <a href="/dictionary/translation-management-system-tms">translation management platform</a> that allows you to handle the translation process easily, making it straightforward for your <a href="/blog/attract-more-contributors-translate-your-app">user base to opt-in</a> and provides plenty of solutions for you as a developer and your project. Localazy is more than suitable for any Android developer in need of localization management. The founder <a href="/blog/how-i-converted-floating-apps-to-localazy">is a succesful Android developer</a> himself!</p>
<p>Localazy also offers many valuable features - for example:</p>
<ul>
<li><a href="/docs/android/only-ota-updates-that-really-work">OTA updates</a> that deliver your fresh translations without you having to touch the source code.</li>
<li>The <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM technology</a> that helps translate your apps with shared translations.</li>
<li>A variety of localization services such as the <a href="/docs/general/virtual-translator">Virtual Translator</a> that can make your life as a multilingual app developer a lot easier.</li>
</ul>
<p>It just suits all the needs! And one important thing, it’s <a href="/pricing">very affordable</a>, unlike others <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/></p>
<iframe width="100%" height="560" src="https://www.youtube.com/embed/rYhwKIYQSuw" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h2 id="4-firebase" id="4-firebase">4. Firebase <a class="markdownit-header-anchor" href="#4-firebase">🔗</a></h2>
<p>As they said, <em>“Backed by Google and <strong>loved by app development teams</strong> - from startups to global enterprises,”</em> <a href="/dictionary/firebase">Firebase</a> is an ideal solution to run high-quality apps on. It offers features like Firebase databases, machine learning infrastructure, hosting and storage solutions, analytics, crashlytics, Cloud Functions, and more.</p>
<p>You should definitely check this link:
<a href="https://firebase.google.com/">https://firebase.google.com/</a></p>
<p>Here, I will cover just a few of them I think are essential and which I use.</p>
<h4 id="realtime-db">Realtime DB</h4>
<p>Store and sync data with a NoSQL cloud database. Data is synced across all clients in real-time and remains available when your app goes offline. The Firebase Realtime Database is cloud-hosted. Data is stored as JSON and synchronized in real-time to every connected client.</p>
<h4 id="analytics">Analytics</h4>
<p>Google Analytics is a free app measurement solution that provides insight into app usage and user engagement. It is a helpful tool to understand how and from where people use your app. The detailed insights enable you to make informed decisions regarding app marketing and performance optimizations.</p>
<h4 id="crashlytics">Crashlytics</h4>
<p>Firebase Crashlytics is a lightweight, real-time crash reporter that helps you track, prioritize, and fix stability issues that erode your app quality. Crashlytics saves you troubleshooting time by intelligently grouping crashes and highlighting the circumstances that lead up to them. It will help uncover what causes your apps to crash and find an ideal solution to improve user experience.</p>
<h2 id="5-instabug" id="5-instabug">5. Instabug <a class="markdownit-header-anchor" href="#5-instabug">🔗</a></h2>
<p>Instabug aims to help the developer collect performance metrics, crash reports, and many other kinds of valuable logs. Some developers found it more suitable than Firebase because it’s more dedicated to the features it offers. Instabug instantly notifies you whenever there’s a problem in your app through comprehensive bug and crash reports and performance metrics.</p>
<p>Receive console logs, network logs, and visual repro steps to debug issues easily, saving you time investigating, diagnosing, and resolving problems.</p>
<p>Read more about the features and integration on the official webpage
<a href="https://instabug.com/">https://instabug.com/</a></p>
<h2 id="6-bitrise" id="6-bitrise">6. Bitrise <a class="markdownit-header-anchor" href="#6-bitrise">🔗</a></h2>
<p>Bitrise is a powerful automation tool for development, testing, and deploying builds. It’s definitely a time-saver; automating the whole development/testing process increases your software product quality and saves a lot of time for you and your team. It is a “needed” tool for dev teams where there are more than two developers.</p>
<p>Doing this all by manual methods will undoubtedly lead to a mess inside the code, failed builds, and so on, making the process unnecessarily time-consuming, especially if it’s a big project. <a href="/dictionary/continuous-integration">Continuous integration</a>, delivery, and deployment are one of the top benefits of Bitrise.</p>
<p>Read an article on <a href="https://localazy.com/blog/automated-localization-bitrise-io-localazy">Automated localization with Bitrise and Localazy</a> or check the official website for the integration docs and feature list.</p>
<p><a href="https://www.bitrise.io/">https://www.bitrise.io/</a></p>
<h2 id="7-android-emulator" id="7-android-emulator">7. Android Emulator <a class="markdownit-header-anchor" href="#7-android-emulator">🔗</a></h2>
<p>The Android Emulator simulates Android devices on your computer to help you test your application on a variety of devices and Android API levels without needing each physical device. The emulator provides almost all of the capabilities of an actual Android device, including simulation of different device states and hardware configurations. You can run this emulator from Android studio and test your app away faster than you could do with a physical device.</p>
<p>Read more about it and how to use it on
<a href="https://developer.android.com/studio/run/emulator">https://developer.android.com/studio/run/emulator</a></p>
<h2 id="8-appcenter" id="8-appcenter">8. Appcenter <a class="markdownit-header-anchor" href="#8-appcenter">🔗</a></h2>
<p>Appcenter is a cross-platform tool that lets you automate and manage the lifecycle of your iOS, Android, Windows, and macOS apps and many more.</p>
<p>Connect your repo and, within minutes, automate your builds, test on real devices in the cloud, distribute apps to beta testers, and monitor real-world usage with crash and analytics data. All in one place.</p>
<p>It’s easy to set up and supports many widely used git solutions. Connect to GitHub, Bitbucket, GitLab, or Azure DevOps and build your app in the cloud on every commit. Automatically run unit tests, release to testers and stores, or test your UI on real devices.</p>
<p>More on
<a href="https://appcenter.ms/">https://appcenter.ms/</a></p>
<h2 id="9-admob" id="9-admob">9. AdMob <a class="markdownit-header-anchor" href="#9-admob">🔗</a></h2>
<p>We all know that Android app developers don’t earn money based on download counts, reviews, and pleasant words from the users. Those are just a few critical factors that will help generate more revenue from apps with some form of <a href="/dictionary/app-monetization">app monetization</a>.</p>
<p>AdMob is the most famous and widely used. Your hard work will be definitely rewarded. AdMob makes earning revenue easy with in-app ads, actionable insights, and powerful, easy-to-use tools that grow your app business. It’s easy to integrate, cross-platform, and well documented.</p>
<p>Get more info about integration, feature list, and solutions on
<a href="https://admob.google.com/">https://admob.google.com/</a></p>
<h2 id="10-facebook-audience-network" id="10-facebook-audience-network">10. Facebook Audience Network <a class="markdownit-header-anchor" href="#10-facebook-audience-network">🔗</a></h2>
<p>Facebook audience network is also an ad serving solution for your apps. It’s cross-platform, offers multiple ad types, and it binds to the Facebook ecosystem itself. Facebook audience network is also one of the top used solutions because of its rich content nature.</p>
<p>From what I’ve learned over the past few years being in doubt about which service to use, I found that this one has slightly better income for the developer, but it’s not for newly baked apps since it requires some threshold of users to start serving ads.</p>
<p>Read more on
<a href="https://www.facebook.com/audiencenetwork/">https://www.facebook.com/audiencenetwork/</a></p>
<h2 id="conclusion" id="conclusion">Conclusion <a class="markdownit-header-anchor" href="#conclusion">🔗</a></h2>
<p>I hope you have checked all of the suggested tools and found some that suit your needs. Keep searching and evolving; this is an ongoing thing. Every day brings us new solutions, new tools, and also obstacles.</p>
<p>Do you have any other tools &amp; tips worth consideration? Please share with us your tips &amp; tricks on Android devtools in our <a href="https://discuss.localazy.com/c/help-each-other/18">discussion forum</a>. <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/></p>
<p>Cheers!</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Danijel Markov</author>
            <enclosure url="https://directus9.localazy.com/assets/b5749a78-1805-422f-8edf-05586a009047" length="0" type="image//assets/b5749a78-1805-422f-8edf-05586a009047"/>
        </item>
        <item>
            <title><![CDATA[Crowdsource translations for your Android app with Localazy Card library]]></title>
            <link>https://localazy.com/blog/crowdsource-translation-android-app-localazy-card-library</link>
            <guid isPermaLink="false">crowdsource-translation-android-app-localazy-card-library</guid>
            <pubDate>Fri, 05 Apr 2024 11:21:55 GMT</pubDate>
            <description><![CDATA[Utilize the power of your user base and get your app translated into many languages. You do not need to do much. All you need is to ask for help and invite your users to translate your app. ]]></description>
            <content:encoded><![CDATA[<p>Yes, it works! And to make it even easier for you, you can use a simple library in your project to invite your users to help you with app translation using Localazy.</p><h2 id="localazy-card-library-for-android-apps-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-librarylocalazy-card-library-for-android-appsgreaterlessagreater">🗂️ Localazy Card library for Android apps <a href="https://localazy.com/blog/crowdsource-translation-android-app-localazy-card-library#localazy-card-library-for-android-apps">🔗</a> <a class="markdownit-header-anchor" href="#localazy-card-library-for-android-apps-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-librarylocalazy-card-library-for-android-appsgreaterlessagreater">🔗</a></h2><p>Use the <a href="https://github.com/Paget96/Localazy-Card">Localazy Card library</a> for <a href="https://localazy.com/android">Android</a> by <a href="https://localazy.com/blog/author/danijel-markov">Danijel Markov</a> to facilitate crowdsourced app <a href="https://localazy.com/dictionary/translation">translations</a> using UI integration to attract users to <a href="https://localazy.com/dictionary/localization">localize</a> your apps. The Localazy® card offers a nice invitation message to help an app developer improve the UX of the app by providing proper and relevant app translation, vital to correct localization.</p><p>Localazy card allows instant access to the main translation page on Localazy and changes the app default language no matter which one is set as the default on the device. Allowing users to switch the language is essential. Just because a device is set to one language does not mean that users prefer it.</p><p>Read an article on <a href="https://localazy.com/blog/why-allow-users-to-switch-languages">why it’s a good idea to allow users to switch languages independently on system language</a>.</p><h2 id="localazy-android-card-features-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-librarylocalazy-android-card-featuresgreaterlessagreater">❤️ Localazy Android Card Features <a href="https://localazy.com/blog/crowdsource-translation-android-app-localazy-card-library#localazy-android-card-features">🔗</a> <a class="markdownit-header-anchor" href="#localazy-android-card-features-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-librarylocalazy-android-card-featuresgreaterlessagreater">🔗</a></h2><h3 id="users-can-invite-people-to-translate-your-app-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-libraryusers-can-invite-people-to-translate-your-appgreaterlessagreater">Users can invite people to translate your app <a href="https://localazy.com/blog/crowdsource-translation-android-app-localazy-card-library#users-can-invite-people-to-translate-your-app">🔗</a> <a class="markdownit-header-anchor" href="#users-can-invite-people-to-translate-your-app-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-libraryusers-can-invite-people-to-translate-your-appgreaterlessagreater">🔗</a></h3><p>Every user of your app can share the link to help with translations.</p><figure class="kg-card kg-image-card"><img src="https://localazy.com/_ipx/f_webp,q_85/https://directus9.localazy.com/assets/ac7aa1b6-daa7-4ffb-97a2-8d394c6fb51a" class="kg-image" alt="Chat bubble invite" loading="lazy"></figure><h3 id="allow-users-to-translate-your-app-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-libraryallow-users-to-translate-your-appgreaterlessagreater">Allow users to translate your app <a href="https://localazy.com/blog/crowdsource-translation-android-app-localazy-card-library#allow-users-to-translate-your-app">🔗</a> <a class="markdownit-header-anchor" href="#allow-users-to-translate-your-app-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-libraryallow-users-to-translate-your-appgreaterlessagreater">🔗</a></h3><p>Allow your users to translate your app to their language easily. Pressing a translate button will send them to the translation page of the app, where they can enjoy a simple, mobile-friendly translation workbench to help you translate the app directly from their phone.</p><figure class="kg-card kg-image-card"><img src="https://localazy.com/_ipx/f_webp,q_85/https://directus9.localazy.com/assets/12548904-842b-4f38-ac26-7a6cb4dc54ef" class="kg-image" alt="Localazy mobile translation screen mockup" loading="lazy"></figure><p>Allow users to switch the language of your app <a href="https://localazy.com/blog/crowdsource-translation-android-app-localazy-card-library#allow-users-to-switch-the-language-of-your-app">🔗</a></p><p>This option lets you change the default application language with any of the defined languages. Changing application language can help both users and developers.</p><p>Here is an example for both cases:</p><ul><li>as a developer, you can quickly check how the particular language looks in your app without changing the device’s language.</li><li>As a user, you can set any supported language no matter if your device supports it. Also, some users prefer keeping an app in English while using another on the device itself, and vice versa.</li></ul><figure class="kg-card kg-image-card"><img src="https://localazy.com/_ipx/f_webp,q_85/https://directus9.localazy.com/assets/7d94e0e0-9323-49d0-ad5f-f235d4ee5000" class="kg-image" alt="Language Switcher" loading="lazy"></figure><blockquote>This is an example language switcher you can find in Localazy</blockquote><figure class="kg-card kg-image-card"><img src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png" class="kg-image" alt="😉" loading="lazy"></figure><h2 id="make-sure-crowdsourced-translations-are-correct-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-librarymake-sure-crowdsourced-translations-are-correctgreaterlessagreater">💎 Make sure crowdsourced translations are correct <a href="https://localazy.com/blog/crowdsource-translation-android-app-localazy-card-library#make-sure-crowdsourced-translations-are-correct">🔗</a> <a class="markdownit-header-anchor" href="#make-sure-crowdsourced-translations-are-correct-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-librarymake-sure-crowdsourced-translations-are-correctgreaterlessagreater">🔗</a></h2><p>It just happens that some users do not translate strings correctly. Some even tend to spoil the translation efforts. Because we’ve been there as app owners, we have prepared two ways to keep control of the contributions in your hands.</p><p>First and foremost, there is a robust <a href="https://localazy.com/docs/general/unique-review-process-and-self-managed-translations">review process</a> in the place where you can take full control over the changes and approve only correct translations. Second, we do realize it takes a lot of time to review new translations. To save your time and allow you to do what you really love and not waste your precious time reviewing the translations, you can configure the <a href="https://localazy.com/docs/general/continuous-localization-team#virtual-reviewer">Virtual Reviewer service</a> that will do it for you.</p><h3 id="set-up-virtual-reviewer-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-libraryset-up-virtual-reviewergreaterlessagreater">Set up Virtual Reviewer <a href="https://localazy.com/blog/crowdsource-translation-android-app-localazy-card-library#set-up-virtual-reviewer">🔗</a> <a class="markdownit-header-anchor" href="#set-up-virtual-reviewer-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-libraryset-up-virtual-reviewergreaterlessagreater">🔗</a></h3><p>The Virtual Reviewer works in your favor by automatically and pro-actively reviewing translated strings. As long as you have the Virtual Reviewer active, you don’t have to worry about reviewing crowdsourced translations.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/QbsSJKc2N84?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="More app languages with less effort using Localazy Virtual Translator"></iframe></figure><p>The Virtual Reviewer is a service provided by the <a href="https://localazy.com/docs/general/virtual-translator">Continuous Localization Team</a>. The pricing is transparent and usage-based. You can set up the Virtual Reviewer per app and per language separately. On top of reviewing crowdsourced translations, you can also order human-assisted machine translation (Virtual Translator) or professional translations when you need them.</p><p>Because it is a service provided by humans, you won’t get your app translated or reviewed instantly, as the quality of translations is our priority. Still, we usually manage to deliver within a few business days.</p><p>Focus on what’s important and enjoy localization on autopilot with the Localazy Continuous Localization Team. <a href="https://localazy.com/docs/general/virtual-translator">Learn more in the documentation</a> or contact us if you have further questions specific to your needs.</p><h2 id="get-the-library-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-libraryget-the-librarygreaterlessagreater">💪 Get the library <a href="https://localazy.com/blog/crowdsource-translation-android-app-localazy-card-library#get-the-library">🔗</a> <a class="markdownit-header-anchor" href="#get-the-library-lessa-hrefhttpslocalazycomblogcrowdsource-translation-android-app-localazy-card-libraryget-the-librarygreaterlessagreater">🔗</a></h2><p>Unlock the full potential of Localazy Card Library and Virtual Reviewer combo and translate your app faster:</p><ol><li>Get the <a href="https://github.com/Paget96/Localazy-Card">Localazy Card library</a> at GitHub to improve UX and crowdsource translation</li><li>Set up <a href="https://localazy.com/my/virtual-translator">Virtual Reviewer</a> to outsource translation review to Localazy</li></ol><p>Get the library: <a href="https://github.com/Paget96/Localazy-Card">https://github.com/Paget96/Localazy-Card</a></p>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://directus9.localazy.com/assets/17ffc50f-7516-4874-936f-ca58b94cc912" length="0" type="image//assets/17ffc50f-7516-4874-936f-ca58b94cc912"/>
        </item>
        <item>
            <title><![CDATA[Top 15 Flutter Tools that you should know]]></title>
            <link>https://localazy.com/blog/top-15-flutter-tools-you-should-know</link>
            <guid isPermaLink="false">top-15-flutter-tools-you-should-know</guid>
            <pubDate>Sun, 24 Apr 2022 22:31:20 GMT</pubDate>
            <description><![CDATA[There is a massive pool of Flutter development tools and it’s gonna get bigger. We listed the best Flutter development tools that can make a difference.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="panache" id="panache">Panache <a class="markdownit-header-anchor" href="#panache">🔗</a></h2>
<p>Panache is one of the most popular <a href="/dictionary/flutter">Flutter</a> tools in recent years. It’s used by over 40 million developers worldwide. Panache enables you to make customized material themes for your Flutter apps. You can customize widgets, colors, shapes, and everything about your theme.</p>
<p>Using Panache is very easy to understand. Go to the <a href="https://rxlabz.github.io/panache/#/editor">Panache Website</a> to customize your app theme, download <code>theme.dart</code> file, and add the theme to your flutter project. That’s all!</p>
<p><a href="https://github.com/rxlabz/panache">Panache GitHub Repo</a></p>
<p><img src="https://directus9.localazy.com/assets/d1d17035-f87d-4e23-aacd-2ea181ae68b0" alt="Panache"></p>
<h2 id="adobe-xd-plugins" id="adobe-xd-plugins">Adobe XD Plugins <a class="markdownit-header-anchor" href="#adobe-xd-plugins">🔗</a></h2>
<p>As you know, Adobe XD is a design tool for web apps and mobile apps. Adobe XD is the easiest way to design UI and UX. You create the design, and Adobe exports the code for you.</p>
<p>The good news is that Adobe XD supports <a href="/dictionary/flutter">Flutter</a> from early 2020. That means you can design your application with Adobe XD and it generates the dart code for you.</p>
<p>You can find the usage documentation on the Github Repo page.</p>
<p><a href="https://github.com/AdobeXD/xd-to-flutter-plugin">GitHub Repo</a></p>
<p><a href="https://pub.dev/packages/adobe_xd">PubDev Adobe XD</a></p>
<p><img src="https://directus9.localazy.com/assets/fd572568-d48d-43e7-ab9e-676ce1d4b796" alt="Adobe XD"></p>
<h2 id="firebase" id="firebase">Firebase <a class="markdownit-header-anchor" href="#firebase">🔗</a></h2>
<p><a href="/dictionary/firebase">Firebase</a> is a highly used backend platform that’s developed by Google. With Firebase, you can power your app’s backend, including data storage, user authentication, real-time database, static hosting, cloud messaging, push notifications, and much more.</p>
<p>If you are new to Flutter, we highly recommend the Firebase platform because there are many documentation articles and a thousand example projects on Github. To start using Firebase, you can take a glance at this <a href="https://codelabs.developers.google.com/codelabs/flutter-firebase">Google CodeLabs</a>.</p>
<p><a href="https://firebase.google.com/">Official Website</a></p>
<p><a href="https://pub.dev/packages/firebase">PubDev Firebase</a></p>
<p><img src="https://directus9.localazy.com/assets/a8c390b6-f52d-44a3-8bc4-7cec91b3cee3" alt="Flutter + Firebase"></p>
<h2 id="codemagic" id="codemagic">Codemagic <a class="markdownit-header-anchor" href="#codemagic">🔗</a></h2>
<p>Codemagic is one of the most efficient ways to boost your Flutter app development process. It helps in automatic code signing, allowing smooth development and deployment of flutter applications. Also, with Codemagic, you can test and release your flutter apps with no configuration. It can automate the whole build process, test, and release process of your flutter apps.
Using Codemagic is surprisingly not too hard. You can <a href="https://medium.com/better-programming/devops-in-flutter-734cb268d7db">read this Medium article</a> to use Codemagic with your Flutter application.</p>
<p><a href="https://codemagic.io/">Official Website</a></p>
<p><img src="https://directus9.localazy.com/assets/e0a94d7c-4294-4dd1-aa3c-9a57f458f549" alt="Codemagic"></p>
<h2 id="square" id="square">Square <a class="markdownit-header-anchor" href="#square">🔗</a></h2>
<p>If you are interested in e-commerce or anything you can sell in your app, you shouldn’t miss the Square tool. Square is an in-app payment management platform. It offers better assistance in taking care of any sort of payment processing technicality for you with an in-app payment feature.</p>
<p>Using its Flutter SDK, you can start receiving in-app payments effortlessly via an easily customizable user interface with built-in support for storing cards and online wallets.</p>
<p><a href="https://github.com/square/in-app-payments-flutter-plugin">GitHub Repo</a></p>
<p><img src="https://directus9.localazy.com/assets/d7f3bbf7-cc4d-4ff3-9b59-54f9af2af824" alt="Square"></p>
<h2 id="wonderpush" id="wonderpush">WonderPush <a class="markdownit-header-anchor" href="#wonderpush">🔗</a></h2>
<p>WonderPush is a push notification and in-app messaging implement that you can utilize in your Flutter app to boost your users’ engagement. It provides a plethora of powerful features, including segmentation and targeting, geo-targeting, and A/B testing for a meager price.</p>
<p><a href="https://pub.dev/packages/wonderpush_flutter">WonderPush PubDev</a></p>
<p><a href="https://www.wonderpush.com/">Official Website</a></p>
<p><img src="https://directus9.localazy.com/assets/821bc5a3-5032-4a66-91b9-d5c6d450f6e9" alt="WonderPush"></p>
<h2 id="appetize" id="appetize">Appetize <a class="markdownit-header-anchor" href="#appetize">🔗</a></h2>
<p>Appetize is an online web-based android Emulator and iOS simulator for when you want to run native apps in the browser. It is handy for customer support, training, development, testing, and app demos. You can utilize it to make the introduction procedure more effective.</p>
<p>It’s easy to upload your application to Appetize cloud, but you can use it via API. To start using Appetize, you can check out <a href="https://medium.com/@bitrise/appetize-integration-on-bitrise-for-running-apps-in-any-browser-6a31b77f0ecc">this article</a>.</p>
<p><a href="https://appetize.io/">Official Website</a></p>
<p><img src="https://directus9.localazy.com/assets/5e570d6f-a7eb-47e1-b054-7c0bd4a4565e" alt="Appetize"></p>
<h2 id="countly" id="countly"><a href="http://Count.ly">Count.ly</a> <a class="markdownit-header-anchor" href="#countly">🔗</a></h2>
<p><a href="http://Count.ly">Count.ly</a> is an open-source analytics platform that focuses on the security and privacy of your data. It helps explore user behavior on an individual level of detail and enables you to retrieve and analyze every detail about your customers by trackings actions utilizing custom events.</p>
<p>The paid version of <a href="http://Count.ly">Count.ly</a> provides an increased set of metrics and other features like A/B testing and push notification features.</p>
<p><a href="https://pub.dev/packages/countly_flutter">PubDev Count.ly</a></p>
<p><img src="https://directus9.localazy.com/assets/518a2ab9-8329-4685-aa84-aa0ec5464c64" alt="Count.ly"></p>
<h2 id="dartpad" id="dartpad">Dartpad <a class="markdownit-header-anchor" href="#dartpad">🔗</a></h2>
<p>DartPad is an online dart language editor that runs Dart Programs directly into your browser. You can run your flutter application on it, so you don’t have to install the Flutter SDK into your computer to run your app. It’s an open-source project that’s getting better day by day.</p>
<p>You can <a href="https://medium.com/better-programming/introduction-to-flutter-on-dartpad-413b7680179b">take a look at this article</a> to start with Dartpad.</p>
<p><a href="https://dartpad.dev/">Official Website</a></p>
<p><a href="https://github.com/dart-lang/dart-pad">GitHub Repo</a></p>
<p><img src="https://directus9.localazy.com/assets/9b738e20-32af-4bd1-a999-bbae83ecf9ad" alt="Dartpad"></p>
<h2 id="vysor" id="vysor">Vysor <a class="markdownit-header-anchor" href="#vysor">🔗</a></h2>
<p>Vysor gives you the integration and ease of an emulator on a physical device. It makes it simple for you to see the screen activities of a device on the computer.
With the free version, you can connect your phone via USB cable and use your computer’s keyboard and mouse to control your phone. Also, if you buy the Vysor Pro version, you can connect by wireless as well.</p>
<p><a href="https://www.vysor.io/">Official Website</a></p>
<p><img src="https://directus9.localazy.com/assets/ca195edc-48f9-429d-a5d8-308126f53442" alt="Vysor"></p>
<h2 id="visual-studio-code" id="visual-studio-code">Visual Studio Code <a class="markdownit-header-anchor" href="#visual-studio-code">🔗</a></h2>
<p>Visual Studio Code is a freeware source-code editor developed by Microsoft for Windows, macOS, and Linux. Even though it’s such a light application, you can do debugging, syntax highlighting, snippets, and code refactoring. And it also supports Git.</p>
<p>And, good news, it supports Flutter as well! That means you can review, edit and also run your application in an emulator. To start, you can <a href="https://flutter.dev/docs/development/tools/vs-code">check this Flutter Article</a>.</p>
<p><a href="https://code.visualstudio.com/">Official Website</a></p>
<p><a href="https://github.com/microsoft/vscode">GitHub Repo</a></p>
<p><img src="https://directus9.localazy.com/assets/b9d093e4-04ae-44db-b659-93def2f6dc52" alt="VS Code"></p>
<h2 id="amplitude" id="amplitude">Amplitude <a class="markdownit-header-anchor" href="#amplitude">🔗</a></h2>
<p>If you have bigger plans, this famous in-application analytic tool helps you uncover how your clients interact with your app.
As of now, it’s a pretty popular Flutter designer tool that helps you screen and track a wide range of information and connects with each actively installed application, working to help you make the right moves based upon your captured data.</p>
<p><a href="https://amplitude.com/">Official Website</a></p>
<p><a href="https://github.com/amplitude/Amplitude-Flutter">GitHub Repo</a></p>
<p><img src="https://directus9.localazy.com/assets/e23e02aa-c610-4511-9a0d-2ad3b175fcb1" alt="Amplitude"></p>
<h2 id="screenshots" id="screenshots">Screenshots <a class="markdownit-header-anchor" href="#screenshots">🔗</a></h2>
<p>Screenshots is a standalone command-line utility and package for capturing screenshot images for Flutter. Screenshots will start the required android emulators and iOS simulators, run tests, process the captured screenshots, and drop them off to Fastlane for delivery to both stores. You can integrate Screenshots into your Flutter application by following the instructions in the GitHub repo.</p>
<p><a href="https://pub.dev/packages/screenshots">PubDev</a></p>
<p><a href="https://github.com/mmcc007/screenshots">GitHub Repo</a></p>
<p><img src="https://directus9.localazy.com/assets/030257af-8dab-48bb-8fd2-9aa0912b5932" alt="Screenshots"></p>
<h2 id="localazy" id="localazy">Localazy <a class="markdownit-header-anchor" href="#localazy">🔗</a></h2>
<p>Localization is the process of rendering your app’s content into other languages and customizing your app for each target market that you want to support. <a href="/dictionary/localization">Localization</a> of a Flutter application can be challenging and tedious because you need to create local files for every language and fill them with content. <a href="/blog/flutter-localization-internationalization-localazy">This article</a> will show you how you can easily handle the localization problem in your Flutter apps with Localazy.</p>
<p><a href="/flutter">Integrate your Flutter app now</a></p>
<p><img src="https://directus9.localazy.com/assets/b2f18319-072f-4bef-aa8a-58d6d1abbc5b" alt="Localazy"></p>
<h2 id="amazon-web-services" id="amazon-web-services">Amazon Web Services <a class="markdownit-header-anchor" href="#amazon-web-services">🔗</a></h2>
<p><a href="https://aws-amplify.github.io/">AWS Amplify</a> is a set of tools and services for building secure, scalable mobile and web applications. Currently, Amplify supports iOS, Android, and JavaScript (web and React Native) and is the quickest and easiest way to build applications powered by Amazon Web Services (AWS).</p>
<p><img src="https://directus9.localazy.com/assets/d998663b-e561-45d4-b19f-99bea7a6a231" alt="Flutter and AWS"></p>
<p><a href="https://docs.amplify.aws/start/q/integration/flutter">Amplify Flutter</a> brings together AWS Amplify and Flutter, and we designed it for customers who have invested in the Flutter ecosystem and now want to take advantage of the power of AWS.</p>
<p><a href="https://docs.amplify.aws/start/getting-started/setup/q/integration/flutter#prerequisites">Amplify Framework Documentation</a></p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Ümit Duran</author>
            <enclosure url="https://directus9.localazy.com/assets/94f9a924-c749-4ada-9be0-1d97588e081f" length="0" type="image//assets/94f9a924-c749-4ada-9be0-1d97588e081f"/>
        </item>
        <item>
            <title><![CDATA[Q&A for SourceForge: Make Your Apps Multilingual With Continuous Software Localization]]></title>
            <link>https://localazy.com/blog/qanda-sourceforge-make-your-apps-multilingual-continuous-software-localization</link>
            <guid isPermaLink="false">qanda-sourceforge-make-your-apps-multilingual-continuous-software-localization</guid>
            <pubDate>Thu, 17 Mar 2022 14:53:13 GMT</pubDate>
            <description><![CDATA[<p>Read an extensive Q&A about Localazy we did for SourceForge. Learn why we approached building our translation management system differently, the motivation behind Localazy and what our users love the most about it.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>We also share some background info about technology behind Localazy and our views on open-source.</p>
<h2 id="some-definitions-first" id="some-definitions-first">🎓 Some definitions first <a class="markdownit-header-anchor" href="#some-definitions-first">🔗</a></h2>
<p><strong>What is the difference between internationalization, localization and translation?</strong></p>
<p><a href="/dictionary/internationalization">Internationalization</a> is a process of making your software localizable. The code structure has to be prepared to allow for localization, and it starts, ideally, in the design phase. For example, you may want to have externalised strings so you can bring your strings to the translation management tool.</p>
<p><a href="/dictionary/localization">Localization</a> takes care of the process – the localized app is aligned with culture – from text orientation, correct fonts, colors, local currencies, pluralisation through time/date formats and finally texts to be translated with the proper context.</p>
<p><a href="/dictionary/translation">Translation</a> is the process of translating texts into more languages. This localization part is often the most tedious one as you can’t just introduce a few locale-based rules in your source code. Translating texts to another language is hard. You need to know context/meaning. You can translate a word quickly, but without context, you can translate it the wrong way. For example, the term <em>“book”</em> can mean <em>“reserve”</em> or <em>“piece of literature”</em> in the Czech language. Both translations are correct, but which one is valid for a button? Context provides the right meaning.</p>
<p>You need the right tool to assist you in getting the best possible translation quality.</p>
<h2 id="the-philosophy-behind-localazy" id="the-philosophy-behind-localazy">🧠 The philosophy behind Localazy <a class="markdownit-header-anchor" href="#the-philosophy-behind-localazy">🔗</a></h2>
<p><strong>What are the most significant benefits of Localazy compared to your competitors?</strong></p>
<p>Localazy is a <a href="/blog/the-passion-and-the-dogfooding-of-localazy">dogfooded product</a>. We are developers; we went through the localization pain for our apps before, we know the problem, and we solve it for ourselves and all other developers and companies.</p>
<p>That means Localazy is built with developers in mind from scratch to streamline the software localization process with automation in mind and provide tools aligned with this vision. We don’t want to overflow users with a lot of features in choices. Who cares about them? We all want to get the job done. Also, as developers, we want to spend our time with code and not with the localization tool, so Localazy ensures that even if you are dived deep in your source code for several months, you retain full control over translators and localization quality.</p>
<p>As developers, we also have the sharing deep in our souls, and so we introduced features like our <a href="/docs/general/what-is-localazy-sharetm">ShareTM</a> from the beginning.</p>
<p>Developers already share their source code on Github, Gitlab and other places. Let’s also share translations to save money and make our apps better for our users. Anyone can tell you that they’re building their product for developers. We are not. We are developers, and we are building it for ourselves, and that makes the difference.</p>
<p><strong>Why spend money again and again on the same texts?</strong></p>
<p>The vital thing is that we also came through many tools, spending considerable amounts for monthly fees for features we don’t want. Nothing like this is in Localazy. You can use it for free, and if you hit limits, you can increase them with a one-time payment. Of course, there are add-ons and extra features like CDN delivery, etc. that are paid at fair prices separately on usage or monthly basis, but you are in control of what you need. We don’t dictate you to get an overpriced package just because you hit limits. At the same time, we never limit tools that can improve translation quality! Your app deserves accurate translation.</p>
<p><strong>Why have you decided to build Localazy and offer it to other developers?</strong></p>
<p>I have <a href="/blog/how-i-converted-floating-apps-to-localazy">localized Floating Apps</a> to 30+ languages, and as a single developer, I have found it extremely demanding activity to correctly manage all the language versions and product flavours. I strived for high-quality translation, so I was very concerned about being able to overview the quality and control all the contributors comfortably. I even wrote a small tool to use other solutions available on the market in a bit more comfortable way not wasting hundreds of hours on every major app release. All those ideas and tools led to Localazy.</p>
<p>Localazy is built to assist Localazy which does most of the work and requires your attention only when needed.</p>
<p>And of course, I feel that the pricing model was worth changing too <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<p><strong>You have a quite specific pricing compared to other localization platforms. Why and how it makes a difference?</strong></p>
<p>We, developers, hate monthly subscriptions when they are not justified because we kind of understand what’s behind it – for example, monthly fee for phrase management. A few texts stored somewhere in a database. It’s not that easy but the perceived value is simply not there.</p>
<p>On the other side, we are happy to pay much more for features which provide clear and tangible value. For that reason, Localazy provides all core localization features for free, so the quality of your app translation is not compromised. We do not ask for a monthly fee for phrase management, which is paid on a lifetime basis. What we want you to pay for is when we make your life easier and your app better.</p>
<p><img src="https://directus9.localazy.com/assets/3616641d-29f9-4c81-be34-c1c814438afd" alt="Localazy Features"></p>
<p><strong>What industries do you serve and who are your current customers?</strong></p>
<p>Our current customers are single developers and teams – no matter whether single teams or dev teams in large organizations. Especially software houses with own and client projects and companies with their software products love to use Localazy.</p>
<p>If you think of having more than one language available, Localazy is a viable solution to manage software localization with ease. Once you integrate it into your tech stack, you can forget many manual tasks and management overhead. The volume of resources saved – from time to finance is vast even when you are a single developer who wants to focus on development rather than translation management.</p>
<h2 id="getting-started-with-localization" id="getting-started-with-localization">🚀 Getting started with Localization <a class="markdownit-header-anchor" href="#getting-started-with-localization">🔗</a></h2>
<p><strong>How much effort to implement Localazy one needs to see a new language in their apps?</strong></p>
<p>It takes a few minutes to <a href="/integrations">integrate Localazy</a> if your app is i18n ready. Of course, it depends on the level of sophistication. A simple app can get new languages in minutes with Localazy, while more complex apps or team projects will require slightly more work on their side to complement their workflow fully. Once you integrate Localazy, it reportedly saves thousands just on dev time savings.</p>
<p>Anyway, there is no long-term project needed for integrating Localazy. Just tell the tool where your localizable files are and where to place translated ones, and you are ready to go. All the localization-related tasks are moved from the developers’ shoulders away.</p>
<p><strong>What are some of the most pressing software localization pains? And how is Localazy addressing these?</strong></p>
<p>Handling localization files manually, version management, translators, translation delivery and pricing are definitely few of the pains every developer will face when it comes to app localization in a productive manner.</p>
<p>Just to show you how a tiny change can be a huge pain. Imagine that you already have your app translated and just added one more text because of a new feature. How are you going to contact all the relevant translators? Do you send them the file? Do you save the translated file back and check for its quality? How do you answer their questions about context? What if they are not familiar with XML or <a href="/json">JSON</a> or whatever file format you use for storing translated texts? What if someone complains about translation quality? How can they help you with improving the translation?</p>
<p>Wouldn’t it be just better for you to invoke <a href="/docs/cli/the-basics">CLI command</a> <code>localazy upload</code> and let Localazy care about contacting translators automatically, providing them with assistive technologies such as <a href="/dictionary/machine-translation">MT</a> engines and shield them from the format specification? Of course, later, you will need to invoke <code>localazy download</code> to get translated files back to your app. Well, you don’t! Just make both commands part of your CI/CD workflow <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<iframe width="100%" height="540" src="https://www.youtube.com/embed/q0uEltq02e0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p><strong>There is a whole plethora of technologies developers use to create software. How do you make sure there is an integration for them? Which integrations do you offer?</strong>
<p>As described above, we are trying to be flexible enough with our CLI and extensive format support to be a viable solution for projects of any size and any technology. In the end, formats like JSON, YAML, PO, XLIFF, RESX, XML, etc. are typically used for localization needs, so there’s no wild-west <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>. We also invest a lot of effort to support services like <a href="/blog/automated-localization-github-actions-localazy">Github</a>, <a href="/blog/automated-localization-gitlab-cicd-localazy">Gitlab</a>, <a href="/blog/automated-localization-bitrise-io-localazy">Bitrise</a>, JetBrains Space, etc. that are typically used by our users.</p>
<p>Today, the situation is not always that hard with Docker, NPM, Maven, Brew and other standard ways to make our tools and libraries widely available.</p>
<p>Of course, there is a long list of what we want to improve and support. That’s probably a never-ending task, but it’s also a challenging and rewarding one – to get our hands on all these technologies is awesome!</p>
<p>You can see the list of currently supported platforms at <a href="/integrations">localazy.com/integrations</a>.</p>
<p><img src="https://directus9.localazy.com/assets/d74a8454-387c-4419-814a-46399271e5e9" alt="Localazy Integrations"></p>
<h2 id="why-you-will-love-localazy" id="why-you-will-love-localazy">💖 Why you will love Localazy <a class="markdownit-header-anchor" href="#why-you-will-love-localazy">🔗</a></h2>
<p><strong>What your current users say about Localazy?</strong></p>
<p>The best would be to just visit <a href="/testimonials">Localazy testimonials</a>.</p>
<p><strong>What do your users appreciate the most on Localazy?</strong></p>
<p>Our customer support is the most appreciated “feature” of Localazy <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>. We live up to our internal claim “We are here to help” and do whatever we can to help our users. For me, personally, customer support is the best way to understand our users’ needs and to plan how to improve our product.</p>
<p><strong>The key technologies that make us different from other solutions on the market are amongst the loved ones too:</strong></p>
<h3 id="cli-and-developer-first-approach" id="cli-developer-first-approach">CLI &amp; developer-first approach <a class="markdownit-header-anchor" href="#cli-and-developer-first-approach">🔗</a></h3>
<p>At the moment, you won’t even find the classic upload form field on Localazy to get your files to our platform. We have <a href="/docs/cli/the-basics">powerful CLI</a> built for Windows, Linux, macOS, JVM and <a href="/dictionary/nodejs">Node</a> that you can configure to work for you the way you need it. It’s straightforward to use it out of the box for small projects, yet it’s flexible enough to be configured for projects of any size. We are working on a lot of features and improvements all the time.</p>
<h3 id="extensive-localizable-file-format-support" id="extensive-localizable-file-format-support">Extensive localizable file format support <a class="markdownit-header-anchor" href="#extensive-localizable-file-format-support">🔗</a></h3>
<p>Our <a href="/integrations">format parsers</a> are very flexible. The most configurable one, our <a href="/json">JSON</a> format parser, can parse almost any kind of JSON files with arrays and <a href="/docs/general/translating-plurals">plurals</a> and it not even can parse it but it produces back the very same file retaining different structures per plural, etc. Some tools say “we accept this file format”. We rather say “just tell us what features of our parsers do you need”. As said above, we are here to help and not to force developers to change the format and rewrite their code. That’s also the important part of our seamless integration.</p>
<h3 id="how-virtual-translator-vt-can-help-get-more-done-in-less-time" id="how-virtual-translator-vt-can-help-get-more-done-in-less-time">How Virtual Translator (VT) can help get more done in less time? <a class="markdownit-header-anchor" href="#how-virtual-translator-vt-can-help-get-more-done-in-less-time">🔗</a></h3>
<p>A <a href="/dictionary/hamt">human-assisted machine translation</a> combines several machine translation engines and our proprietary technologies for sharing translations with a human touch. It’s way better than plain machine translations and cheaper than professional translators at the same time. Enabling <a href="/docs/general/virtual-translator">Virtual Translator</a> for your apps will regularly scan for new phrases and automatically translate them into selected languages. It’s a cheap and simple way to introduce continuous localization to your apps without any effort. Even if you are going to request professional translations at a later stage of your project, completing it will require much less work.</p>
<iframe width="100%" height="540" src="https://www.youtube.com/embed/QbsSJKc2N84" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h3 id="shared-translations-sharetm-are-a-game-changer" id="shared-translations-sharetm-are-a-game-changer">Shared translations (ShareTM) are a game changer <a class="markdownit-header-anchor" href="#shared-translations-sharetm-are-a-game-changer">🔗</a></h3>
<p>Upload your localizable files to Localazy and get a huge portion of your texts translated to up to 80 languages for free and in a few minutes. That’s exactly what the <a href="/docs/general/what-is-localazy-sharetm">ShareTM experience</a> looks like. You still retain control through our proactive review, so don’t worry about quality. ShareTM is based on apps (that enable the feature) we have on Localazy and so the translations are usually extremely accurate. Way better than translations from Google and other MT engines.</p>
<iframe width="100%" height="540" src="https://www.youtube.com/embed/rYhwKIYQSuw" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h3 id="will-connected-apps-intm-sync-simultaneously-translations-across-tech-stack" id="will-connected-apps-intm-sync-simultaneously-translations-across-tech-stack">Will Connected Projects (InTM) sync simultaneously translations across tech stack? <a class="markdownit-header-anchor" href="#will-connected-apps-intm-sync-simultaneously-translations-across-tech-stack">🔗</a></h3>
<p>In the background, Localazy uses its <a href="/docs/general/what-is-localazy-intm">InTM</a> technology, which is a much smarter version of a classic <a href="/dictionary/translation-memory">translation memory</a>. InTM distributes existing translations between connected projects and automatically decides, whether the translation can be used right away or needs to go through review first. This can really save you a significant amount of time and money. <a href="/docs/general/connected-apps">Connected projects</a>  also share all glossary terms by default. When you create a new term, it gets automatically distributed among your connected apps. This way, all your translators can operate within the same context, and you don’t need to redefine the terms for each app separately.</p>
<iframe width="100%" height="540" src="https://www.youtube.com/embed/CJXM5jxFY2s" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h3 id="content-delivery-network-cdnota" id="content-delivery-network-cdnota">Content Delivery Network (CDN/OTA) <a class="markdownit-header-anchor" href="#content-delivery-network-cdnota">🔗</a></h3>
<p>The important part of the configure &amp; forget experience is that we provide global CDN and <a href="/docs/android/only-ota-updates-that-really-work">Over-The-Air updates</a>. Localization of your product/app is no longer waiting for the next release. It’s always up to date and as we also generate metadata (list of supported languages including their English and localized name and plural rules), it’s possible to add new languages dynamically. CDN backed by reliable Amazon CloudFront is a zero configuration option – it’s just available for you.</p>
<h3 id="api-first-for-high-service-accessibility" id="api-first-for-high-service-accessibility">API-first for high service accessibility <a class="markdownit-header-anchor" href="#api-first-for-high-service-accessibility">🔗</a></h3>
<p>We strive to be as close to our users as possible. For that reason, we have developed not only an Android Studio plugin, but also CLI itself and we are going after API-first approach, which also means that Localazy will be soon available in Slack and other 3rd party integrations to make your localization even easier across the team.</p>
<h2 id="the-technology-behind-localazy" id="the-technology-behind-localazy">⚙️ The technology behind Localazy <a class="markdownit-header-anchor" href="#the-technology-behind-localazy">🔗</a></h2>
<p><strong>What is your tech stack?</strong></p>
<p>We used Kotlin (JVM) almost exclusively for our backend and TypeScript for the front-end of the service. The back-end is designed as a set of microservices communicating through a message broker which is ActiveMQ with a custom configuration to support delayed delivery and some other features. For data, we use S3, sharded PostgreSQL and Elasticsearch. Memcached is used for database-caching, high-speed operations and request counting.</p>
<p>We also introduced Kotlin Native/MPP for our CLI tool which allows us to quickly build it for all major platforms.</p>
<p>These are the core technologies we work with but there’s plenty of tools we use on a daily basis.</p>
<p>Everything runs on Amazon AWS and we rely on some other services provided by AWS (such as CloudFront for our global localization CDN). We recently also introduced ScaleWay as their bare-servers are a better option for some compute-intensive tasks.</p>
<h2 id="closing-thoughts" id="closing-thoughts">🤓 Closing thoughts <a class="markdownit-header-anchor" href="#closing-thoughts">🔗</a></h2>
<p><strong>How does your team at Localazy cooperate with the Open Source community?</strong></p>
<p><a href="https://sourceforge.net">SourceForge</a> has been known in the OpenSource community since 1999 and we are pleased to be <a href="https://sourceforge.net/software/product/Localazy/">listed</a> on SourceForge nowadays. At Localazy, we do rely on open-source extensively, which has been also an observable trend with much larger companies nowadays. Relying on open-source software enables us to progress and innovate much faster, without a need to reinvent the wheel, which results in much better products in shorter times. In return, we strive to open source as much as we can from our projects and help to improve the existing ones. Our developers are then naturally becoming active members of the community who contribute to open-source software as a part of their day-to-day job. You can check out our <a href="https://github.com/localazy/">GitHub</a> for more insight.</p>
<p>If you have an Open Source project you would like to localize, just let us know and we will make sure you get what you need. The same applies for nonprofit organizations and academic users, of course.</p>
<p><strong>Why have you decided to bring Localazy to SourceForge?</strong></p>
<p>We believe SourceForge is a great resource for all creative people seeking the best solutions, and our mission is to remove the localization hassle out of their shoulders to give them more time for their creative part. SourceForge is a trusted medium to let them know we are here for them. Feel free to check out <a href="https://sourceforge.net/software/product/Localazy/#reviews">Localazy reviews at SourceForge</a>.</p>
<p><em>This article was originally published at <a href="https://sourceforge.net/articles/qa-with-localazy-make-your-apps-multilingual-with-continuous-software-localization/">SourceForge.net</a></em></p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/37cf5534-0513-40d5-8569-3c3c473fb037" length="0" type="image//assets/37cf5534-0513-40d5-8569-3c3c473fb037"/>
        </item>
        <item>
            <title><![CDATA[From a photo of a business card to software localization]]></title>
            <link>https://localazy.com/blog/from-photo-of-business-card-to-software-localization</link>
            <guid isPermaLink="false">from-photo-of-business-card-to-software-localization</guid>
            <pubDate>Wed, 21 Apr 2021 08:27:22 GMT</pubDate>
            <description><![CDATA[Many years ago, managing a software development company, I made a switch from a developer hat to the sales one. And I recommend everyone to try B2B sales. It can teach you a lot about how to communicate effectively and understand business needs.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>But at first, I wasn’t disciplined enough. While rushing to cram as many meetings as I could into my day, I used to just take a photo of the business card instead of saving the contact to my phone’s contact book properly. Have you ever tried to call a number from a photo? You end up switching between gallery and dialer, looking around for a piece of paper and something to write the number down, or just trying to remember the whole number.</p>
<h2 id="a-bright-idea" id="a-bright-idea">💡 A bright idea <a class="markdownit-header-anchor" href="#a-bright-idea">🔗</a></h2>
<p>I daydreamed about being able to open the dialer over the gallery in some kind of floating window on my <a href="/android">Android</a> phone. And because I was (and still am) a developer by heart, I naturally started to look for a solution. I eventually found it and created a small app for myself. As time went on, I extended it with more features and grew it slowly to solve problems I have encountered. But it was still only a hobby app, a small side project.</p>
<p>After running my own software company for eight years, I started to hate it. Working for clients is satisfying, because you can dabble in so many different fields and come up with creative solutions to various problems, but it has its price. And, although the money is coming in fast, you are not the one making the decisions. You are not building it for yourself. So I eventually decided to move on.</p>
<p>I had nothing to do, and so I focused further on my small hobby app. Over time, I turned it into a fully-featured multitasking solution and put it on Google Play as <a href="/blog/interview-how-floating-apps-achieved-millions-downloads">Floating Apps</a>, which achieved more than 10M+ downloads worldwide and pretty decent earnings.</p>
<h2 id="how-it-made-me-love-software-localization" id="how-it-made-me-love-software-localization">👍 How it made me love software localization <a class="markdownit-header-anchor" href="#how-it-made-me-love-software-localization">🔗</a></h2>
<p>The critical part of the success was <a href="dictionary/localization">localization</a>. I translated the app into 30+ languages which opened the full potential of markets like Japan, Brazil, and Russia. It accelerated the growth by a factor of ten.</p>
<p>Localization was a painful and tedious task for me. I have despised doing it because it was time-consuming. I had to postpone releases due to unfinished translations. And while I managed to engage my users and get help, some of them were destroying existing translations (I don’t know why). I was heavily concerned about the quality of the translations and spent days checking every single translation in every language.</p>
<p>There were some existing solutions for <a href="/dictionary/translation-management-system-tms">translation management</a>, but none of them focused on developers. They were not built for us, creative souls. I even wrote my own tools to assist me and to improve my workflow. But it remained to be tedious and painful.</p>
<p>Eventually, I reached the point where the localization process was so painful that I decided to fix this for myself and other developers.</p>
<p>Localazy was born from my experience, pain, tools, and workflows.</p>
<p>Looking back, the photo of a business card took me, over time, to a completely different field - software localization. And I love it! Many developers give us feedback and suggestions, share their ideas, and thank us for building Localazy. Awesome feeling.</p>
<h2 id="takeaways" id="takeaways">😉 Takeaways <a class="markdownit-header-anchor" href="#takeaways">🔗</a></h2>
<p>If you are like me, you want to solve problems and come up with creative solutions fast. Localization helps us reach a new audience in need of our solutions. But they are stuck behind the language barrier if we don’t speak their language. We are robbing not only the potential users but also ourselves of the benefits of proper localized software. In the current globalized world, it doesn’t make any sense why it should be this way. So go ahead and localize, localize, localize!</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/ebe87735-2be9-4c85-a0dd-4d978b6e46f6" length="0" type="image//assets/ebe87735-2be9-4c85-a0dd-4d978b6e46f6"/>
        </item>
        <item>
            <title><![CDATA[How to build a multilingual PHP app with Localazy and Laravel]]></title>
            <link>https://localazy.com/blog/laravel-multilingual-i18n-php-localazy</link>
            <guid isPermaLink="false">laravel-multilingual-i18n-php-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:27:04 GMT</pubDate>
            <description><![CDATA[In this article, we’ll show you how easy it is to integrate a Laravel project with Localazy, allowing your project visibility to skyrocket 🚀.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Software localization adjusts software to a target market's cultural, linguistic,  and technical demands to gain a competitive advantage, long-term sales increase, and better customer retention. This process frequently requires a tremendous amount of time from the development teams and is work exhaustive, right? Not if you're working with Localazy, we automate the localization process for you, making it so much easier to conquer your target markets 👑.</p>
<h2 id="why-localazy-and-laravel" id="why-localazy-and-laravel">💭 Why Localazy and Laravel? <a class="markdownit-header-anchor" href="#why-localazy-and-laravel">🔗</a></h2>
<p>Localazy is a developer-focused <a href="/dictionary/translation-management-system-tms">localization management platform</a> that supports a wide variety of frameworks and an even more comprehensive range of <a href="/integrations">formats</a> through its <a href="/docs/cli/the-basics">CLI</a>.</p>
<h3 id="localazys-best-features" id="localazys-best-features">Localazy’s best features <a class="markdownit-header-anchor" href="#localazys-best-features">🔗</a></h3>
<ul>
<li>A pro-active review process.</li>
<li>Highly accurate <a href="/dictionary/translation-memory">translation memory</a> supported by community-shared translations.</li>
<li>A simple, crystal clear UI that is not bloated with rarely used options.</li>
</ul>
<p>We support the <a href="/laravel">Laravel framework</a>, which is without a doubt the most used one for PHP apps but is also considered one of the top web development frameworks.</p>
<h2 id="localazy-and-laravel-integration-how" id="localazy-and-laravel-integration-how">🧭 Localazy and Laravel Integration: How? <a class="markdownit-header-anchor" href="#localazy-and-laravel-integration-how">🔗</a></h2>
<p>The code we’ll use is supposed to demonstrate the general concept, so feel free to take any part of it and adapt it to your own project’s specific needs.</p>
<p>For this tutorial, we’ll use a Windows 10 machine, but you can accomplish the same with the other operating systems supported by the Localazy CLI, we’ll also use Laravel version <code>8.5.15</code>.</p>
<h3 id="creating-a-new-laravel-project" id="creating-a-new-laravel-project">Creating a new Laravel project <a class="markdownit-header-anchor" href="#creating-a-new-laravel-project">🔗</a></h3>
<p>We’ll start this tutorial by creating an empty project on Laravel using <a href="https://getcomposer.org/">Composer</a>. We’ll go step by step to every detail showing you how to integrate a Laravel project with Localazy from the get-go.</p>
<p>Open your <code>cmd</code> and navigate it to the directory where you want to create the project.</p>
<p>I’ll use the <code>htdocs</code> folder on our <code>XAMPP</code> directory, but feel free to use your own.</p>
<p>You do not need <code>XAMPP</code> installed as Laravel has it’s own local development server.</p>
<p><img src="https://directus9.localazy.com/assets/2b511fc6-9468-4ae2-a76d-bb7c3198fcb6" alt="cmd"></p>
<p>We’ll run the command <code>composer create-project laravel/laravel example-app</code> to create our new project in our desired directory.</p>
<p><img src="https://directus9.localazy.com/assets/88c44efc-fbbe-4fcf-a8d1-8decf09e3400" alt="Installation"></p>
<p>If everything worked properly, this is your new project’s directory:</p>
<p><img src="https://directus9.localazy.com/assets/5a5cc312-e25f-4642-b433-6b5bca2b4ba3" alt="Example_Directory"></p>
<p>On Laravel default projects, there’s a very special ✨ folder for our <a href="/dictionary/localization">Localization</a> process, that is <code>example-appresources\lang</code>. The <code>lang</code> folder will contain the supported languages for your project, and by default, it only contains English, as we can see by the <code>en</code> folder.</p>
<p><img src="https://directus9.localazy.com/assets/a430926b-73aa-475d-9330-4554a1380239" alt="Language_Directory"></p>
<p>Before adding any new languages and starting our localization journey, we need an actual project to translate.</p>
<p>So we’ll create a <code>php</code> file inside <code>example-app\resources\views</code> and we’ll name it <code>example.blade.php</code>. You can ignore or delete the <code>welcome.blade.php</code> file inside the <code>views</code> directory as it is useless for our example.</p>
<p><img src="https://directus9.localazy.com/assets/079b8597-194d-4921-8859-fee7f54c8df8" alt="Views_Directory"></p>
<p>Inside our <code>example.blade.php</code> we’ll write the following code in <code>HTML</code> and <code>PHP</code> with some different strings:</p>
<pre><code>&lt;h1&gt;Welcome to our Localazy translation tutorial&lt;/h1&gt;

&lt;?php

echo &quot;&lt;h2&gt;PHP is Fun!&lt;/h2&gt;&quot;;
echo &quot;Hello world!&lt;br&gt;&quot;;

$x = 30;

$string_1 = &quot;How old are you? &lt;br&gt;&quot;;
$string_2 = &quot;I am $x years old &lt;br&gt;&quot;;

echo $string_1;
echo $string_2;

?&gt;

&lt;br&gt;

&lt;a href=&quot;#&quot;&gt; This is an anchor tag &lt;/a&gt;
</code></pre>
<p>We kept it very basic for demonstration purposes.</p>
<p>To see what we wrote on our browser, we need to configure our <code>web.php</code> file inside <code>example-app\routes</code>. We have to open the file and add <code>Route::view('example', 'example');</code>. The file then will contain the following code:</p>
<pre><code>&lt;?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the &quot;web&quot; middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Route::view('example','example');


</code></pre>
<p>Now we’ll use Laravel’s local development server to show what we have in the browser. To start the server, all we have to do is execute <code>PHP artisan serve</code> in the project’s root.</p>
<p>This is how it should look:</p>
<p><img src="https://directus9.localazy.com/assets/a6d52f3a-fef7-472c-b02a-d5b5141d41ed" alt="Laravel_Server"></p>
<p>We can now open our browser and enter <code>localhost:8000/example</code>. If we have followed all the steps correctly, we will now see the following page:</p>
<p><img src="https://directus9.localazy.com/assets/a7eeebff-eff1-4057-9b26-5f36c9240311" alt="Example"></p>
<h3 id="adding-the-source-language" id="adding-the-source-language">Adding the source language <a class="markdownit-header-anchor" href="#adding-the-source-language">🔗</a></h3>
<p>Right, the browser shows the strings, but how are we going to translate everything we wrote? We’re going to open the <code>en</code> folder in <code>example-app\resources\lang</code>, and here we will create the file <code>example.php</code>, and this file will contain all our strings in English, our source language.</p>
<p>Inside the file, we’ll write this code:</p>
<pre><code>&lt;?php

return [
  'welcome'=&gt;&quot;&gt;Welcome to our Localazy translation tutorial&quot;,
  'php_fun'=&gt;&quot;PHP is Fun!&quot;,
  'hello'=&gt;&quot;Hello world!&quot;,
  'how_old_question'=&gt;&quot;How old are you?&quot;,
  'how_old_answer'=&gt;&quot;I am :years years old&quot;,
  'anchor'=&gt;&quot;This is an anchor tag&quot;,

]

 ?&gt;

</code></pre>
<p>What we did is that we gave a key to each string we want to translate. We will use the key to locate the translated string and use it in the localization process.</p>
<p>We also used a variable to show how we can translate the string without affecting the variable usage, so we had to set a placeholder on the <code>example.php</code> file using the prefix <code>:</code>.</p>
<p>Now we’ll have to tell our project where to get the strings from. Open the <code>example.blade.php</code> file and switch all the strings with the key name that we just set.</p>
<pre><code>
&lt;h1&gt;{{__('example.welcome')}}&lt;/h1&gt;


&lt;?php

echo &quot;&lt;h2&gt;&quot;.__('example.php_fun').&quot;&lt;/h2&gt;&quot;;
echo __('example.hello'). &quot;&lt;br&gt;&quot;;

$x = 30;

$string_1 = __('example.how_old_question'). &quot;&lt;br&gt;&quot;;


$string_2 = __('example.how_old_answer', ['years' =&gt; $x]). &quot;&lt;br&gt;&quot;;

echo $string_1;
echo $string_2;

 ?&gt;

 &lt;br&gt;

 &lt;a href=&quot;#&quot;&gt; {{__('example.anchor')}} &lt;/a&gt;


</code></pre>
<p>We’ve used <code>HTML</code> and <code>PHP</code> examples to show the correct format for both cases.</p>
<p>For the variable to work correctly, we need to use <code>[ ]</code> and define the placeholder’s variable.</p>
<p>Your browser’s page will look like this:</p>
<p><img src="https://directus9.localazy.com/assets/a7eeebff-eff1-4057-9b26-5f36c9240311" alt="Example"></p>
<p>Yes, it should look exactly like before because we just localized our project, giving it a format that enables us to use Localazy’s features.</p>
<h3 id="integrating-localazy-with-our-project" id="integrating-localazy-with-our-project">Integrating Localazy with our project <a class="markdownit-header-anchor" href="#integrating-localazy-with-our-project">🔗</a></h3>
<p>Now comes the fun part. Now we will download and install the <a href="/docs/cli/installation">Localazy CLI</a>. We’ll use Windows 10 for the demonstration. The process might be different from the other operating systems. But on the <a href="https://localazy.com/docs/cli/installation">Localazy CLI</a> installation page, there’s all the information to proceed with another OS.</p>
<p>After downloading the CLI, place it inside the root directory of the project.</p>
<p>Note that this example is for Windows, so download and paste the <code>.exe</code> in the project’s root.</p>
<p><img src="https://directus9.localazy.com/assets/0aaeb717-9c2f-44d4-9bcf-dd36ce3dd415" alt="Project Root"></p>
<p>Proceed to <a href="/register">register</a> if you don’t have a Localazy account or <a href="/login">log in</a> and <a href="/my/create">create</a> a new app.</p>
<p><img src="https://directus9.localazy.com/assets/a13fab56-dc18-4bfb-bd7a-b13a2f872e24" alt="Creating App"></p>
<p>You’ll now have to choose your integration which in this case is obviously Laravel.</p>
<p><img src="https://directus9.localazy.com/assets/eb4f8544-5390-46ca-b6f5-fb30293d8d9f" alt="Choosing Integration"></p>
<p>When you choose the integration, you’ll receive a <code>write-key</code> and a <code>read-key</code> with the following code:</p>
<pre><code>{

  &quot;writeKey&quot;: &quot;your-apps-write-key&quot;,
  &quot;readKey&quot;: &quot;your-apps-read-key&quot;,

  &quot;upload&quot;: {  
    &quot;type&quot;: &quot;php&quot;,
    &quot;files&quot;: &quot;translations/strings.php&quot;         
  },

  &quot;download&quot;: {
    &quot;files&quot;: &quot;translations/${lang}.php&quot;
  }

}

</code></pre>
<p>We will use the code above in a <code>localazy.json</code> file for the configuration of the integration. We need to create the <code>localazy.json</code> file in the directory root with the Locality CLI, and we’ll configure it to upload and download the strings on our chosen directory with the following code:</p>
<pre><code>{

  &quot;writeKey&quot;: &quot;your-apps-write-key&quot;,
  &quot;readKey&quot;: &quot;your-apps-read-key&quot;,

  &quot;upload&quot;: {
    &quot;type&quot;: &quot;php&quot;,
    &quot;files&quot;: &quot;/resources/lang/en/example.php&quot;
  },

  &quot;download&quot;: {
    &quot;files&quot;: &quot;/resources/lang/${lang}/example.php&quot;
  }

}

</code></pre>
<p>The <code>localazy.json</code> file will be located in the root folder of the project. In this case, it’ll be <code>example-app\</code>.</p>
<p><img src="https://directus9.localazy.com/assets/45d987ea-74f9-4e61-ba0e-c0d6b76e9e6a" alt="Creating .json file"></p>
<h3 id="uploading-the-strings" id="uploading-the-strings">Uploading the strings <a class="markdownit-header-anchor" href="#uploading-the-strings">🔗</a></h3>
<p>After all is configured and set, open <code>cmd</code> on your project directory and run <code>localazy.exe upload</code>.</p>
<p>You can learn the different ways to install and run the CLI on the other supported operating systems in the <a href="/docs/cli/installation#linux">documentation</a>.</p>
<p><img src="https://directus9.localazy.com/assets/74ce8465-3dcd-4b1a-ae62-5f1d685d1283" alt="Localazy CLI upload"></p>
<p>If everything worked perfectly, the strings have been updated, and you’ll now have options to add languages for translation.</p>
<p><img src="https://directus9.localazy.com/assets/5185a807-fc01-4782-a4a5-95a50429a083" alt="Adding Languages"></p>
<p>I’ve added, for example, Portuguese, Spanish, and Czech as the languages I want to translate the project to. Some languages might be already translated by <a href="/docs/general/what-is-localazy-sharetm">ShareTM technology</a>. Adding one of these languages will show you a review button to approve the suggested phrases. If you add a language that doesn’t have any suggestions, you can start translating immediately with the help of classic <a href="/dictionary/machine-translation">machine translations</a>.</p>

<!--kg-card-end: html--><!--kg-card-begin: html--><div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg xmlns="http://www.w3.org/2000/svg" viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Some parts of this article might not be accurate. This article mentions the ShareTM feature, which we've updated later. Learn more about the <a href="/blog/feature-update-sharetm-improvements">Localazy ShareTM improvements in this article</a>.</p>
</div><!--kg-card-end: html--><!--kg-card-begin: html--><p><img src="https://directus9.localazy.com/assets/e1ca0c95-1ebd-4908-8346-57f28c4972df" alt="Added Languages"></p>
<p>All we have to do now is translate or review the strings we uploaded.</p>
<p><img src="https://directus9.localazy.com/assets/59b25bcf-cfb1-4a36-be00-c6537dc1c91a" alt="Translation Strings"></p>
<p>After we’re all done, it should look like this:</p>
<p><img src="https://directus9.localazy.com/assets/9c89468b-58d6-4004-915d-717b29e917ad" alt="Translated languages"></p>
<h3 id="downloading-the-strings" id="downloading-the-strings">Downloading the strings <a class="markdownit-header-anchor" href="#downloading-the-strings">🔗</a></h3>
<p>We can now download our new translated strings back to the project.
Let’s open <code>cmd</code> on our project’s root and execute <code>localazy.exe download</code>.</p>
<p><img src="https://directus9.localazy.com/assets/c319bcc9-c610-417a-9d33-adad13d7e71e" alt="Localazy CLI download"></p>
<p>This will download the strings into our chosen directory <code>/resources/lang</code> and this is how it looks:</p>
<p><img src="https://directus9.localazy.com/assets/6674d82a-c25c-4fd2-8b8a-0845de62dbd0" alt="Lang directory"></p>
<h2 id="creating-a-simple-language-switcher" id="creating-a-simple-language-switcher">🔀 Creating a simple language switcher <a class="markdownit-header-anchor" href="#creating-a-simple-language-switcher">🔗</a></h2>
<p>The integration is complete, but how can we actually see the results of our project? We will create a language switcher. For this, we’ll have to change some of the code that we wrote so, let’s go back to our <code>web.php</code> file inside <code>example-app\routes</code> and change the code we wrote with the following:</p>
<pre><code>
&lt;?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the &quot;web&quot; middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Route::get('/example/{lang}', function ($lang) {
    App::setlocale($lang);
    return view('example');
});


</code></pre>
<p>Now we’ll add some code to <code>example.blade.php</code>. The code is four simple anchors that represent the language and change it:</p>
<pre><code>
&lt;h1&gt;{{__('example.welcome')}}&lt;/h1&gt;


&lt;?php
echo &quot;&lt;h2&gt;&quot; . __('example.php_fun') . &quot;&lt;/h2&gt;&quot;;
echo __('example.hello') . &quot;&lt;br&gt;&quot;;

$x = 30;

$string_1 = __('example.how_old_question') . &quot;&lt;br&gt;&quot;;

$string_2 = __('example.how_old_answer', ['years' =&gt; $x]) . &quot;&lt;br&gt;&quot;;

echo $string_1;
echo $string_2;

?&gt;

 &lt;br&gt;

 &lt;a href=&quot;#&quot;&gt; {{__('example.anchor')}} &lt;/a&gt;

 &lt;br&gt;&lt;br&gt;

 &lt;a href=&quot;http://localhost:8000/example/pt&quot;&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Flag_of_Portugal.svg/255px-Flag_of_Portugal.svg.png&quot; width=&quot;60&quot; height=&quot;40&quot; title=&quot;Portuguese Flag&quot; &gt;&lt;/a&gt;
 &lt;a href=&quot;http://localhost:8000/example/cs&quot;&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/c/cb/Flag_of_the_Czech_Republic.svg/1280px-Flag_of_the_Czech_Republic.svg.png&quot; width=&quot;60&quot; height=&quot;40&quot; title=&quot;Czech Flag&quot; &gt;&lt;/a&gt;
 &lt;a href=&quot;http://localhost:8000/example/en&quot;&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/en/thumb/a/ae/Flag_of_the_United_Kingdom.svg/1200px-Flag_of_the_United_Kingdom.svg.png&quot; width=&quot;60&quot; height=&quot;40&quot; title=&quot;UK Flag&quot; &gt;&lt;/a&gt;
 &lt;a href=&quot;http://localhost:8000/example/es&quot;&gt;&lt;img src=&quot;https://www.countryflags.com/wp-content/uploads/spain-flag-png-large.png&quot; width=&quot;60&quot; height=&quot;40&quot; title=&quot;Spanish Flag&quot; &gt;&lt;/a&gt;



</code></pre>
<p>If we have completed all these steps, we could now access <code>localhost:8000/example/en</code> and this is how it looks:</p>
<p><img src="https://directus9.localazy.com/assets/871974e8-2ba0-4d68-975f-170acb64caf7" alt="English demonstration"></p>
<p>If we click on the Portuguese flag, we’ll have the same page translated to the target language.</p>
<p><img src="https://directus9.localazy.com/assets/abfb2be2-fb44-4f91-8b6c-0dbf435eca85" alt="Portuguese demonstration"></p>
<h2 id="plurals-support" id="plurals-support">🔢 Plurals support <a class="markdownit-header-anchor" href="#plurals-support">🔗</a></h2>
<p>We support Laravel’s plurals basic syntax using the <code>|</code> character; you may distinguish singular and plural forms of a string and use it like we are going to show.
For demonstration purposes, we will add <code> echo &quot;&lt;h2&gt;&quot; . trans_choice('example.users', 1). &quot;&lt;/h2&gt;&quot;;</code> to our <code>example.blade.php</code> file. The next step is to assign the key with the string <code>'users' =&gt; &quot;There is one user on my website|There are many users on my website&quot;</code> in our <code>example.php</code> file in <code>example-app\resources\lang\en</code> so we can translate it using Localazy. Let’s repeat what we did in the beginning by uploading the new string using <code>cmd</code> with <code>localazy.exe upload</code>.</p>
<p><img src="https://directus9.localazy.com/assets/d59cb0cb-d95c-47bb-8aa7-e67e2563ac6d" alt="Localazy Plurals"></p>
<p>Translate it and download it using <code>localazy.exe download</code>
After the download, we can now try if it works and look at the page at <code>http://localhost:8000/example/en</code>.</p>
<p><img src="https://directus9.localazy.com/assets/3215f693-7c25-487b-95c7-47a815b47244" alt="Browser Singular"></p>
<p>This is the singular version and for us to check if the plurals work, we have to change the variable in <code> echo &quot;&lt;h2&gt;&quot; . trans_choice('example.users', 1). &quot;&lt;/h2&gt;&quot;;</code>, so instead of 1, we can change to 10.</p>
<p><img src="https://directus9.localazy.com/assets/d656ed05-9a88-4b81-86fa-c164f7ef84f1" alt="Browser Plural"></p>
<p>We can see that the string changed to “many,” meaning our plurals setup has indeed worked.</p>
<p><img src="https://directus9.localazy.com/assets/bba9bf05-278a-41a1-b4c0-56e10c54c927" alt="Browser Spanish Translation"></p>
<p>In Spanish, for example, it’s also visible that it changes dynamically depending on the number we input.</p>
<p>Pluralization is very complex, and to use it with attributes or with over two plural forms, we need to implement all the plurals manually with Laravel.</p>
<h2 id="closing-words" id="closing-words">✅ Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2>
<p>To finalize our journey, we hope you understood how easy it could be to increase your project’s success with localization. You are only a few clicks away from integrating your projects with Localazy and putting them out for the whole 🌍 to see.  If you would like to play around with the prototype, you can check it out on <a href="https://phpsandbox.io/n/github-laravel-example-localazy-main">CodeSandbox</a>.</p>
<p>The whole <a href="https://github.com/localazy/laravel-example">git repository is available on GitHub</a>.</p>
<p>Feel free to join the developer discussion at <a href="http://discuss.localazy.com/">discuss.localazy.com </a>. Share ideas and feedback, discuss new concepts, and comment on new features of Localazy as we add them <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/></p><!--kg-card-end: html-->]]></content:encoded>
            <author>Francisco Melo</author>
            <enclosure url="https://directus9.localazy.com/assets/66176f0e-202f-4b4e-a47d-418db4cd047d" length="0" type="image//assets/66176f0e-202f-4b4e-a47d-418db4cd047d"/>
        </item>
        <item>
            <title><![CDATA[Create multi-language newsletters for free using Google Sheets and Localazy]]></title>
            <link>https://localazy.com/blog/create-multi-language-newsletters-free-using-google-sheets-localazy</link>
            <guid isPermaLink="false">create-multi-language-newsletters-free-using-google-sheets-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:34:48 GMT</pubDate>
            <description><![CDATA[In today’s mainly remote world, email communication is experiencing a renaissance (which one is it?). As a data scientist, your job may be to set up a periodic newsletter with key business indicators.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>It would take the least amount of effort to send the URL of the online spreadsheet to everyone involved. But a summary appearing every day in the inbox is more likely to give stakeholders regular insight into the latest data.</p>
<p>There are many services for sending newsletters with no or little code. On the other hand, you still need a tool to automate report generation and scheduling it. You can use ready-made solutions such as Tableau, Qlikview, Google Data Studio or self-hosted alternatives, but those require additional costs and time, especially to integrate them into email delivery service. You also need an always-on automation server and you are unlikely to want to play with the administration of a large system just to send few messages.</p>
<p>When you add to that the need to support multiple language versions, the level of complexity can arise beyond the scope of what was supposed to be a relatively simple project. Fortunately, only two tools are needed to achieve the objectives: Google Sheets and Localazy.</p>
<h2 id="why" id="why">🤔 Why? <a class="markdownit-header-anchor" href="#why">🔗</a></h2>
<p>Imagine that you work in the analytics team at an international company that has 3 branches in different countries (England, Germany, Poland).</p>
<p><img src="https://directus9.localazy.com/assets/99ee54c5-f534-4b17-8f44-79e9b6338c22" alt="Map of Europe"></p>
<p>Employees in each branch need to receive a summary of sales for the day.</p>
<p>Sales data is continuously updated in <a href="https://docs.google.com/spreadsheets/d/1zbbW6DuAgvLIi7XUruvgW_2lpticLLhVV93sND1jtrY/edit?usp=sharing">Google Sheets</a>.</p>
<p>So let’s generate and schedule the newsletter with a report using it.</p>
<p><img src="https://directus9.localazy.com/assets/d3086527-60c7-4905-afb7-d32793cd5a07" alt="Sales in Warsaw mockup"></p>
<h2 id="sending-email-from-google-sheets" id="sending-email-from-google-sheets">📧 Sending email from Google Sheets <a class="markdownit-header-anchor" href="#sending-email-from-google-sheets">🔗</a></h2>
<p>The first sheet named <code>data</code> contains sales data for each location and day. Data could be fetched at some intervals from an ERP or accounting system. <code>emails</code> sheet contains an email list with some setting for each addressee. Let’s get on with sending messages first.</p>
<p>To create a new Apps Script project, click on Tools &gt; Script editor. Paste the code below to the <a href="http://Code.gs">Code.gs</a> file.</p>
<p><a href="https://gist.github.com/fischerbach/2db069c082651418ebf76ed48b6308ac">https://gist.github.com/fischerbach/2db069c082651418ebf76ed48b6308ac</a></p>
<p>Next, you should select the <code>sendEmail</code> function from the dropdown menu and click the play button.</p>
<p><img src="https://directus9.localazy.com/assets/228c8f00-7118-46ba-adbc-50fee5001316" alt="Google Sheets Mockups"></p>
<p>After that, you will probably be asked for permission to access your data. An email should appear in your inbox, sent from your Gmail address:</p>
<p><img src="https://directus9.localazy.com/assets/182cd48a-49c6-45a9-801e-656537d8f7a5" alt="Gmail client screenshot"></p>
<h2 id="sending-newsletter-from-google-sheets" id="sending-newsletter-from-google-sheets">📮 Sending newsletter from Google Sheets <a class="markdownit-header-anchor" href="#sending-newsletter-from-google-sheets">🔗</a></h2>
<p>One of the biggest advantages of Apps Script is the ease with which you can transfer data between different services in the Google ecosystem. Most Google applications have a dedicated Apps Script service, for example, Gmail has the Gmail service and Google Sheets has the Spreadsheet service. With these built-in services, you can quickly extract an email list from a spreadsheet, generate a report and send the result using Gmail.</p>
<p>Update <code>Code.gs</code> with the following code:</p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/0fd534e40b7b51864a85cde23817db61.js"></script></body></html>'></iframe>
<p>Each call to the <code>sendEmails</code> function will retrieve email addresses and check the date of the last newsletter. If it is older than today, the report will be sent. This safeguards against sending too many messages.</p>
<h2 id="generating-daily-report" id="generating-daily-report">📊 Generating daily report <a class="markdownit-header-anchor" href="#generating-daily-report">🔗</a></h2>
<p>Now the flexibility of our solution becomes apparent. We want to prepare a report containing data for a specific branch on a specific date. It would be moderately easy to prepare something like this in <a href="/dictionary/python">Python</a>, depending on the data source and what the output report should look like. Even more so in an Excel-like environment, where it needs practically a few clicks.</p>
<p>In Google Sheets, we make a few charts and summaries using pivot tables.</p>
<p><img src="https://directus9.localazy.com/assets/c0dfb3bf-cdd5-44ce-bd75-843d24e7fa47" alt="Google Sheets Example"></p>
<p>For more details refer to the example file (sheet <code>report</code>).</p>
<h2 id="customizing-messages" id="customizing-messages">💬 Customizing messages <a class="markdownit-header-anchor" href="#customizing-messages">🔗</a></h2>
<p>As we have employees from different branches, each of them receives a different report. All elements of the report are saved and updated in the spreadsheet. Now it is enough to glue them together. This is done by the <code>generateReport</code> function:</p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/c0401ebc85691b4d9f698c2ff37c947d.js"></script></body></html>'></iframe>
<p>Full code available <a href="https://gist.github.com/fischerbach/5ab4f971ef7be3ef75ad60afccab318f">here</a></p>
<p><img src="https://directus9.localazy.com/assets/a3af6267-4b61-412e-9866-ce5f859abb27" alt="Gmail Newsletter mockup"></p>
<h2 id="multiple-language-versions" id="multiple-language-versions">🌐 Multiple language versions <a class="markdownit-header-anchor" href="#multiple-language-versions">🔗</a></h2>
<p>Your company employs people from different countries and with varying levels of English proficiency. As some terms may be difficult for them to understand, let’s prepare other language versions of the report. Your report is generated automatically once a day, so having it translated manually into national languages every time is not an option.</p>
<p>In theory, automating another language version does not seem complicated. After all, it is enough to translate individual labels and descriptions into another language and then hardcode them in the next version of the script.</p>
<p>Although with a set-and-forget type of things this simple approach could even work, in practice, is time-consuming and error-prone. Especially when there is a recurring need to modify some messages. And you will quickly find out modifications are always needed.</p>
<p>Not to mention the difficulty of working with non-technical translators using this method. But if you can automate report generation, why not do the same with translation?</p>
<p><img src="https://directus9.localazy.com/assets/bf1facca-4445-427d-b2a8-4e0be780bee2" alt="Localazy pipeline diagram"></p>
<p><em>Pipeline is simple. Language versions are stored in a single file, translated and downloaded from Localazy. This file is stored in Google Drive and loaded into Sheets and Apps Script. Apps Script generates a report and sends it by Gmail. (Pic. by author. All logos belong to their respective owners and are used for informational or editorial purposes to identify specific products and services.)</em></p>
<h2 id="localization" id="localization">🚩 Localization <a class="markdownit-header-anchor" href="#localization">🔗</a></h2>
<p>First, let’s prepare a JSON file with the labels:</p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/e54bab338a602fe3bb9aa511deb82bfe.js"></script></body></html>'></iframe>
<p>Upload it to your Google Drive and find its id (in sharing url, just like in Sheets). Then, let’s add a new function in <code>Code.gs</code> that takes any string and the target language. If a suitable translation is found in the <code>lang.json</code> file, the function will return it. If otherwise, it will simply return the input string.</p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/0ef38a286a0cfb5700a108b715f3b3bd.js"></script></body></html>'></iframe>
<p>Note: the concept presented here is a simplified version of the approach using [GNU Gettext](/dictionary/gnu-gettext, e.g. for <a href="/blog/automatic-data-reports-multiple-languages-python-gettext-localazy">localizing Python scripts</a>.</p>
<p>Now let’s simply surround the <code>_t</code> function with all labels that require <a href="/dictionary/localization">localization</a>. This is the final version of the <code>Code.gs</code> file:</p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/3e68c13831e4f69114fb8efa635cf242.js"></script></body></html>'></iframe>
<h2 id="localazy" id="localazy">🚀 Localazy <a class="markdownit-header-anchor" href="#localazy">🔗</a></h2>
<p>Now we need to find a way to manage the language versions stored in the <code>lang.json</code> file. Localazy provides a convenient GUI for this purpose.</p>
<p><img src="https://directus9.localazy.com/assets/36c2ca44-bd94-44f8-8fda-907221302c03" alt="Localazy translation overview"></p>
<p>Localazy is an awesome piece of software that makes the usually awful translation experience bearable and even almost enjoyable. Because it supports <a href="/json">JSON files</a>, the possibilities for integration into any workflow are virtually endless. First, <a href="/register">create a Localazy account</a> and install <a href="/docs/cli/installation">Localazy CLI</a>. Then, create a new application.</p>
<p><img src="https://directus9.localazy.com/assets/03e153ee-97e6-4b24-ae3b-b1619d140bc1" alt="Localazy New App"></p>
<p>Then, select JSON files from available file formats. You will see a template configuration file. In it, we set up support for our labels and different languages in one file:</p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/d06cc0f74c75f69bdef6afeaa0d7e14b.js"></script></body></html>'></iframe>
<p>Save it to the same folder as the <code>lang.json</code> file. Go to your app on Localazy and add some new languages.</p>
<p><img src="https://directus9.localazy.com/assets/b7742b27-c1ba-4c88-ae01-ec82021badb4" alt="Localazy Add Languages"></p>
<p>Now you can load <code>lang.json</code> into Localazy:</p>
<p><img src="https://directus9.localazy.com/assets/266c9975-b4fd-4cb7-855a-8e47efb5efa3" alt="Localazy CLI Upload"></p>
<p>After a while, you will see a list of phrases to translate in each language of your application.</p>
<p><img src="https://directus9.localazy.com/assets/af92c6da-4f9b-4cf7-832d-a06c4ec2bdd1" alt="Localazy phrases screen"></p>
<p>And the cherry on the top, a <a href="/dictionary/machine-translation">machine translation</a> comes with each phrase.</p>
<p><img src="https://directus9.localazy.com/assets/81ea70b8-228c-4b77-8825-f8bbd8dc79a2" alt="Localazy Translate Phrase screen"></p>
<p>Once all the translations have been accepted or created, you can download them into your application:</p>
<p><img src="https://directus9.localazy.com/assets/320b788f-8762-4ffd-8437-1556b0d3f720" alt="Localazy CLI Download"></p>
<p>If you run this in a folder that syncs with Drive, you can now generate a report of the new language version. Let’s check the report in Polish:</p>
<p><img src="https://directus.localazy.com/_/assets/loc-rybnik-nwl-15.png" alt="Report Newsletter mockup Polish"></p>
<p>Nice. Finally, let’s address one more issue.</p>
<h2 id="report-schedule" id="report-schedule">📅 Report schedule <a class="markdownit-header-anchor" href="#report-schedule">🔗</a></h2>
<p>Back to Apps Script. We can now set a schedule for sending the report. In the project, select <code>Triggers</code> and then <code>Add Trigger</code>.</p>
<p><img src="https://directus9.localazy.com/assets/2b9d496a-402c-41da-8748-b5f4ea88b03b" alt="AppsScript add triggers"></p>
<p>We set the report to be sent daily, but there are other triggers available, such as calendar events.</p>
<h2 id="takeaways" id="takeaways">🤓 Takeaways <a class="markdownit-header-anchor" href="#takeaways">🔗</a></h2>
<p>From now on, the report will be sent between 8 am and 9 am. Unlike CRON, you cannot set an exact minute. This shouldn’t be a problem for our project, but it’s worth bearing in mind if the data is fetched to the spreadsheet at specific times of the day.</p>
<p>As you can see, with some initial effort you can create a pretty robust serverless workflow to distribute multi-language reports. Another advantage is the use of tools available practically free of charge.</p>
<p>Thank you for reading. I hope you enjoyed reading as much as I enjoyed writing this for you.</p>
<p>If you would like to share feedback or simply say hello, you can connect with me on <a href="https://www.linkedin.com/in/rafalrybnik/?locale=en_US">LinkedIn</a></p>
<p>If you enjoyed reading this, you’ll probably enjoy my other articles too: <a href="https://fischerbach.medium.com">https://fischerbach.medium.com</a></p>
<h2 id="references" id="references">📚 References <a class="markdownit-header-anchor" href="#references">🔗</a></h2>
<p><strong>Apps Script:</strong> <a href="https://developers.google.com/apps-script/">https://developers.google.com/apps-script/</a></p>
<p><strong>Localazy:</strong> <a href="https://localazy.com/">https://localazy.com/</a></p>
<p><strong>Other:</strong></p>
<p><a href="https://towardsdatascience.com/how-to-create-dashboard-for-free-with-google-sheets-and-chart-js-8c319ab8809b">https://towardsdatascience.com/how-to-create-dashboard-for-free-with-google-sheets-and-chart-js-8c319ab8809b</a></p>
<p><a href="https://towardsdatascience.com/how-to-create-online-survey-for-free-with-surveyjs-and-google-sheets-d9a782d0f458">https://towardsdatascience.com/how-to-create-online-survey-for-free-with-surveyjs-and-google-sheets-d9a782d0f458</a></p>
<p><a href="https://developers.google.com/apps-script/articles/sending_emails">https://developers.google.com/apps-script/articles/sending_emails</a></p>
<p>This post was originally published on <a href="https://netlabe.com/how-to-create-multi-language-newsletter-for-free-using-google-sheets-and-localazy-c85ad2155fbf">Netlabe.com</a> by <strong>Rafał Rybnik</strong></p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Rafał Rybnik</author>
            <enclosure url="https://directus9.localazy.com/assets/d256fdbe-8d65-4ec2-a086-6c887f71f128" length="0" type="image//assets/d256fdbe-8d65-4ec2-a086-6c887f71f128"/>
        </item>
        <item>
            <title><![CDATA[Qt localization with Localazy]]></title>
            <link>https://localazy.com/blog/qt-localization-localazy</link>
            <guid isPermaLink="false">qt-localization-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:34:51 GMT</pubDate>
            <description><![CDATA[This article describes a simple example of creating a basic Qt 6 project for a mobile application, using the Qt localization feature to add multiple languages in the app and integrating Localazy with the project to manage the translations.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Qt is a cross-platform toolkit for creating applications with a graphical user interface (GUI). This framework is available under commercial and open-source licences and provides the programmer with many programming tools and pre-made GUI elements that are easy to use.</p>
<p>Qt is commonly used not only for desktops but also for mobile application development. </p>
<p><a href="https://github.com/localazy/qt-example">See the full repository for this article at GitHub.</a></p>
<h2 id="new-project" id="new-project">🆕 New project <a class="markdownit-header-anchor" href="#new-project">🔗</a></h2>
<p>Qt can be installed by directly downloading the package from Qt website. It is also available in the commonly used Linux package repositories. The main development tool provided in the Qt toolkit is called <a href="https://www.qt.io/product/development-tools">Qt Creator</a>. It contains a code and GUI editor and various tools that are making the whole compilation process fairly simple and easy to debug.</p>
<p>After opening Qt Creator, let’s create a new project (File - New File or Project) and select, for example, the Swipe template which is suitable for mobile development.</p>
<p><img src="https://directus9.localazy.com/assets/cbd1f50e-4183-4081-b1cb-24af8a1f8d91" alt="New Project"></p>
<h2 id="internationalization" id="internationalization">🚩 Internationalization <a class="markdownit-header-anchor" href="#internationalization">🔗</a></h2>
<p>For now, let’s leave all project settings at default values. If you have configured kits for <a href="/android">Android</a> development or other target platforms, you can enable them or do so later. It is also possible to enable the translation right away in the initial project settings wizard, but we will add it later manually to cover the whole process since someone might want to add the translations into an already existing project.</p>
<p>The main qml file already contains some strings in <code>qsTr()</code> function. Instead of writing the string directly in the property, it is passed as a parameter to the function that translates it according to the active language. Even the original strings, however, might change. A good practice to avoid problems in such cases is to use IDs instead of the source language strings. Let’s use <code>qsTrId()</code> instead of the <code>qsTr()</code> function. The string parameters should be unique IDs of the strings. Note that commonly used strings might have the same IDs.</p>
<p>It is a good practice to follow the same pattern when creating the IDs to be able to easily identify where does the given string belong. The edited files with the compiled application might then look like this:</p>
<p><img src="https://directus9.localazy.com/assets/b75fddcb-7e6f-4981-a701-e8fa5fe60176" alt="Preview"></p>
<p>The strings in the application have also changed to the IDs since we have not yet provided the translation strings. First of all, let’s create a directory for the translations and add the expected translation files in the project. Edit the project file (<code>.pro</code> extension) and add the translation files:</p>
<pre>
RESOURCES += qml.qrc
TRANSLATIONS = translations/EN.ts translations/CS.ts
</pre>
<p>Two translation files, English and Czech, are now defined. Manually create the translations directory in the project folder and then simply use Tools - External - Linguist - Update Translations (<code>lupdate</code>).</p>
<p><img src="https://directus9.localazy.com/assets/5e949a7a-6a53-4733-9b84-ef467977a8f8" alt="lupdate"></p>
<p>The external tool lupdate generates the translation files and updates them in case of changes. The files can be added to the project by right clicking the <code>qml.qrc</code> file and adding the existing translations directory.  The files should then appear in the project file tree.</p>
<p>The <code>.ts</code> files are in XML format where each translation ID has one message element. Moreover, don’t forget to define the language of the file in the header part. Here is an example of one finished and one unfinished translation:</p>
<pre><code>...
&lt;TS version=&quot;2.1&quot; language=&quot;en_US&quot;&gt;
...
&lt;message id=&quot;page-1-header&quot;&gt;
	&lt;location filename=&quot;../Page1Form.ui.qml&quot; line=&quot;9&quot;/&gt;
	&lt;source&gt;&lt;/source&gt;
	&lt;translation&gt;Page 1&lt;/translation&gt;
&lt;/message&gt;
&lt;message id=&quot;page-1-text&quot;&gt;
	&lt;location filename=&quot;../Page1Form.ui.qml&quot; line=&quot;15&quot;/&gt;
	&lt;source&gt;&lt;/source&gt;
	&lt;translation type=&quot;unfinished&quot;&gt;&lt;/translation&gt;
&lt;/message&gt;
...
</code></pre>
<p>To see the result and to use the files easily later with Localazy, the source language file should be manually filled. The source language file is now prepared but it is not used in the application yet. This is to be done in the <code>main.cpp</code> file.</p>
<p>A new QTranslator object has to be created, loaded, and installed. Here is the edited <code>main.cpp</code> file:</p>
<pre><code>#include &lt;QGuiApplication&gt;
#include &lt;QQmlApplicationEngine&gt;
//EDIT: include the header
#include &lt;QTranslator&gt; 

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    const QUrl url(QStringLiteral(&quot;qrc:/main.qml&quot;));
    QObject::connect(&amp;engine, &amp;QQmlApplicationEngine::objectCreated,
                     &amp;app, [url](QObject *obj, const QUrl &amp;objUrl) {
        if (!obj &amp;&amp; url == objUrl)
            QCoreApplication::exit(-1);
    }, Qt::QueuedConnection);
    
    //EDIT: create, load and install translator
    QTranslator translator;
    translator.load(&quot;:/translations/EN.qm&quot;);
    app.installTranslator(&amp;translator);
    
    engine.load(url);
    return app.exec();
}
</code></pre>
<p>Hmm <code>.qm</code> file? Do we have that in our project? Not yet! The <code>.qm</code> files are the compiled translations that are used in the application. They can be generated in the same way as when generating the <code>.ts</code> files.</p>
<p>If you are not using the ID-based approach, then instead of Update Translations (<code>lupdate</code>) use the Release Translations (<code>lrelease</code>) button. The <code>lrelease</code> tool, however, needs an additional parameter in case of IDs present in the project <code>-idbased</code>. A simple script or command can be executed from the translations directory:</p>
<pre>/USE_YOUR_PATH_TO_QT/Qt/6.1.0/gcc_64/bin/lrelease
../QtLocalazy.pro -idbased
</pre>
<p>The correct path to the Qt installation has to be used to find the <code>lrelease</code> tool. Again, add the newly generated <code>.qm</code> files in the project. Now simply hit the Run button, compile the project and… it’s translated!</p>
<h2 id="localazy" id="localazy">❤️ Localazy <a class="markdownit-header-anchor" href="#localazy">🔗</a></h2>
<p>Create Localazy account and <a href="/docs/cli/installation">install or download</a> the CLI tool. In My Apps section in the Localazy web interface hit the Add new App button, fill the name, and select the source language (English in our case).</p>
<p>Then go to the App settings and get the read and write access keys. The process of managing the translations is quite simple. Simply create a new directory in the translations one (to avoid unwanted overwriting of the translations) and add the configuration file according to the <a href="/docs/cli/quick-start-qt-ts">docs</a>.</p>
<p>In our case:</p>
<pre><code>{
  &quot;writeKey&quot;: &quot;your-write-key&quot;,
  &quot;readKey&quot;: &quot;your-read-key&quot;,
  
  &quot;upload&quot;: {
    &quot;type&quot;: &quot;qt-ts&quot;,
    &quot;files&quot;: &quot;../EN.ts&quot;
  },
  
  &quot;download&quot;: {
    &quot;files&quot;: &quot;./${lang}.ts&quot;
  } 
}
</code></pre>
<p>Then call the localazy upload command:</p>
<pre><code>PATH_TO_LOCALAZY_CLI/localazy upload
</code></pre>
<p>The translation should be present in the Localazy engine now as the source language.</p>
<p><img src="https://directus9.localazy.com/assets/4409e0e9-2812-4643-bb7e-52ddbc8e4b12" alt="Localazy Setup"></p>
<p>After hitting the Add language button and creating a new translation (Czech in our example). Simply call the CLI again:</p>
<pre><code>PATH_TO_LOCALAZY_CLI/localazy download
</code></pre>
<p>A new <code>cs.ts</code> file is now in the directory. Simply replace the <code>CS.ts</code> file in the translations directory with the downloaded file. Instead of <code>EN.qm</code> load the <code>CS.qm</code> in the translator:</p>
<pre><code>translator.load(&quot;:/translations/CS.qm&quot;);
</code></pre>
<p>Compile the translations again (lrelease) and run the application:</p>
<p><img src="https://directus9.localazy.com/assets/d2fa0f67-9e22-43a6-8eca-35d30b8ec360" alt="Final Result"></p>
<h2 id="afterword" id="afterword">👍 Afterword <a class="markdownit-header-anchor" href="#afterword">🔗</a></h2>
<p>The described example project shows how to simply add and load a translation in cooperation with Localazy service. To be able to dynamically change the language in runtime, the whole translator management should be moved into a standalone C++ class with callable member functions from QML.</p>
<p>In such a way, multiple translators can be loaded and one of them can be installed according to the selected language. Later, the active one can be removed and replaced by another one without the need to restart the application.</p>
<p>This article has been produced by a member of the developer team at <a href="https://nepanikar.eu/">Nepanikar.eu</a>. Thank you.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/d20d3348-e10a-4edc-8030-6f6f6294e5e3" length="0" type="image//assets/d20d3348-e10a-4edc-8030-6f6f6294e5e3"/>
        </item>
        <item>
            <title><![CDATA[Release Update: New Virtual Translator, new features, revamped CLI, and more!]]></title>
            <link>https://localazy.com/blog/release-update-new-virtual-translator-new-add-ons-revamped-cli</link>
            <guid isPermaLink="false">release-update-new-virtual-translator-new-add-ons-revamped-cli</guid>
            <pubDate>Mon, 30 Jan 2023 11:06:29 GMT</pubDate>
            <description><![CDATA[This release is pretty special! We have worked hard for the past couple of weeks and managed to release many new features. What will you find in today's update? ]]></description>
            <content:encoded><![CDATA[<p>The Virtual Translator is out of the beta stage with a new UI and supports professional translations now. We have released two new CLI add-ons, and the CLI itself received a huge developer experience update. You can now also manage your localizable files directly in the Localazy UI. Plus some backlog fixes, as usual. 😉 So, let's get to it!</p><h2 id="share-your-ideas-and-join-the-discussion">💬 Share your ideas and join the discussion <a class="markdownit-header-anchor" href="#share-your-ideas-and-join-the-discussion">🔗</a></h2><p>Before we get to the exciting stuff, we must thank you, our users, for helping us make Localazy better for everyone. You are our greatest inspiration. We love reading your stories and hearing your feedback. Join our shiny new place to share your ideas, discuss interesting news and engage in off-topic discussion with fellow Localazians. Join our Discourse now at <a href="https://discuss.localazy.com/">discuss.localazy.com</a></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/image-18.png" class="kg-image" alt loading="lazy" width="1200" height="356" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-18.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/image-18.png 1000w, https://ghost.localazy.com/content/images/2021/11/image-18.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>Localazy Community</figcaption></figure><h2 id="the-new-virtual-translator-is-here">🤖 The new Virtual Translator is here! <a class="markdownit-header-anchor" href="#the-new-virtual-translator-is-here">🔗</a></h2><p>We are proud to announce that the <a href="/docs/general/continuous-localization-team#virtual-translator">Virtual Translator</a> is now officially out of the beta stage and open for business! Focus on what’s important and use Virtual Translator to automatically translate and review your project to selected languages. </p><blockquote>Virtual Translator is a service offered by our <strong>Continuous Localization Team</strong>. <a href="/docs/general/continuous-localization-team">Learn more in the documentation</a>.</blockquote><p>Now, you can choose between human-assisted machine translation or professional translations. The Virtual Translator is ready to help you translate your app even faster.</p><!--kg-card-begin: html--><iframe width="100%" height="560" src="https://www.youtube.com/embed/QbsSJKc2N84" title="Localazy Virtual Translator" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html--><p>At the moment, <strong>Virtual Translator</strong> offers over 20 language pairs. No worries, more are coming in the future! The new version also offers a more granular configuration with the possibility to configure projects, languages, and operations separately with more details now available to you about pricing, estimations, etc.</p><p>Are you ready to take your translation game to the next level? Set up your Virtual Translator now and enjoy localization on auto-pilot. Do you have any questions or ideas? Feel free to contact us or <a href="https://discuss.localazy.com/t/new-virtual-translator-launched/91">start a thread</a> in the forum. 😉</p><h2 id="major-cli-developer-experience-update">🧰 Major CLI developer experience update <a class="markdownit-header-anchor" href="#major-cli-developer-experience-update">🔗</a></h2><p>If you already use Localazy, you know the <a href="/docs/cli/the-basics">CLI</a> very well. It’s a powerful weapon, and to make your life with the Localazy CLI tool even easier, we introduce a major update.</p><p><strong>What’s new?</strong></p><ul><li>CLI now comes with colors! Fancy!</li><li>Full support for release tags</li><li>Support for our global localization CDN</li><li>Support for file format conversions</li><li>Possibility to change working directory with a command-line option</li><li>Synchronous (wait for data to be imported) and asynchronous mode</li><li>Improved error reporting</li><li>Added forceCurrent option to skip review process for existing translations</li><li>Fixed several minor bugs and issues</li><li>Added support for managing files</li></ul><h2 id="manage-your-translations-with-release-tags">🏷️ Manage your translations with Release Tags <a class="markdownit-header-anchor" href="#manage-your-translations-with-release-tags">🔗</a></h2><p>Developing software is an iterative process, and using the latest ever-changing version of your translations in a production or staging environment may not be a good idea. To help you streamline your workflow, we have added the <a href="/docs/cli/release-tags">Release Tags</a> feature available as a set of CLI commands.</p><blockquote>Release Tags are available with the <a href="/docs/general/localazy-professional-tier">Professional plan</a> and higher. </blockquote><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/11/image-19.png" class="kg-image" alt loading="lazy" width="1200" height="356" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-19.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/image-19.png 1000w, https://ghost.localazy.com/content/images/2021/11/image-19.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="format-conversions">🔄 Format Conversions <a class="markdownit-header-anchor" href="#format-conversions">🔗</a></h2><p>Another CLI goodie. Activate the Professional plan to get the <a href="/docs/general/format-conversions-add-on">Format Conversions</a> feature and seamlessly output your translations in many different formats. Helpful for simultaneous multiplatform development or instant translation sharing between the backend and frontend of your project.</p><figure class="kg-card kg-image-card"><img src="https://ghost.localazy.com/content/images/2021/11/image-20.png" class="kg-image" alt loading="lazy" width="1200" height="356" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-20.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/image-20.png 1000w, https://ghost.localazy.com/content/images/2021/11/image-20.png 1200w" sizes="(min-width: 720px) 720px"></figure><h2 id="browse-your-files-in-localazy">📝 Browse your files in Localazy <a class="markdownit-header-anchor" href="#browse-your-files-in-localazy">🔗</a></h2><p>In your app menu, you will find a new tab called File management. Here, you can see your localizable files and browse your source phrases contained in the files. The file management interface is now in beta and we are working on the next iteration which will bring more features soon.</p><h2 id="from-the-backlog">🗃️ From the backlog <a class="markdownit-header-anchor" href="#from-the-backlog">🔗</a></h2><ul><li>LOC-2196 - Improvement: Replace v-dialog with custom modal</li><li>LOC-2370 - Fixed: User banned from a project shouldn’t encounter error 500</li><li>LOC-407 - Removed irrelevant text for a contributor with translator role in empty Glossary</li></ul><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your localization story? Head to the <a href="https://localazy.com/my/community">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="https://localazy.com/my/community">answer our questionnaire</a> in the community section to get started!</blockquote>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://directus9.localazy.com/assets/0a6ab118-69c8-45a8-9cd1-34f3ceee8057" length="0" type="image//assets/0a6ab118-69c8-45a8-9cd1-34f3ceee8057"/>
        </item>
        <item>
            <title><![CDATA[How to attract more contributors to translate your app?]]></title>
            <link>https://localazy.com/blog/attract-more-contributors-translate-your-app</link>
            <guid isPermaLink="false">attract-more-contributors-translate-your-app</guid>
            <pubDate>Thu, 18 May 2023 09:19:05 GMT</pubDate>
            <description><![CDATA[As CEO of Localazy, I may sound biased when I tell you that localizing your app to more languages is crucial.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>But, what if I tell you that I am also a developer of a successful <a href="/android">Android</a> app called <a href="/blog/interview-how-floating-apps-achieved-millions-downloads">Floating Apps</a>? For many years, the app is still the most successful one of its kind on Google Play, has reached over 10 million downloads to date and its growth was fueled mainly by my localization efforts.</p>
<p>My journey with Floating Apps is where I learned how to get it translated to more languages for free, get contributors and volunteers - well, how to get hundreds of them. And that there is more to it if you want to get your app translated the right way.</p>
<p>In this article, I describe my very own experience that I gathered through the course of almost seven years. As much as possible of this process, we automatized in Localazy, so don’t worry, it’s not that hard, and it can bring you enormous amounts of new users.</p>
<h2 id="prepare-your-app-for-localization" id="prepare-your-app-for-localization">📐 Prepare your app for localization <a class="markdownit-header-anchor" href="#prepare-your-app-for-localization">🔗</a></h2>
<p>I’m not going into details about preparing your app for <a href="/dictionary/localization">localization</a> from the technical point of view. (You can read more about this <a href="/blog/how-i-converted-floating-apps-to-localazy">here</a>). But I want to urge you to prepare your app for localization before you go out into the wild to get new contributors and volunteers. Why?</p>
<p>When you get your first volunteers that want to become contributors, they want to help you right away, make an impact, and their time may be limited. You have to be ready to get them in the process immediately, if possible. They want to help you for free, so remove obstacles out of their way.</p>
<blockquote>
<p>By having all your app’s strings in localizable files or even better, managed by a translation platform such as Localazy, you are ready to go in seconds.</p>
</blockquote>
<h2 id="ask-your-users" id="ask-your-users">📢 Ask your users <a class="markdownit-header-anchor" href="#ask-your-users">🔗</a></h2>
<p>This may be an obvious piece of advice, but if you want to recruit contributors/volunteers, just ask your loyal users first. That’s essential. Do you have a “Help us translate the app” option in your app’s main menu? No? Fix it.</p>
<p>I experimented with several ways of how to do it. The very first and fast implementation was just to ask my app users to contact me via e-mail. They did eventually, and I ended up manually handling XML files. Time-consuming and error-prone, but I managed to get my app translated to the first three languages with a few other contributors waiting for me to get back to them.</p>
<p>After this first-hand experience with translations using the back and forth sending of XML files, it was time for a change. I wrote a quick and straightforward form-based app to help me manage translations faster. It worked for a while, but I received a lot of feedback about missing features that would make the translation more efficient and comfortable. Whenever it wasn’t clear how to translate the phrase, the translator had to contact me via email. Handling XML files was still partly involved, and I soon realized that my form-based solution is not prepared for ever-changing source phrases.</p>
<p>The definitive solution I continue to use to this day is to ask users for help and point them directly to Localazy.</p>
<blockquote>
<p>Localazy removes obstacles, it’s easily accessible, and anyone willing to help can start instantly and learn quickly how to use it.</p>
</blockquote>
<h2 id="the-power-of-language-selector" id="the-power-of-language-selector">✔️ The power of language selector <a class="markdownit-header-anchor" href="#the-power-of-language-selector">🔗</a></h2>
<p>An effective way to ask for help is to use language selectors. It allows you to present available languages and ask for help in a natural way.</p>
<p>A great tip is to show whether the given language is fully translated or not - it incentivizes your potential contributors even more.</p>
<blockquote>
<p>Localazy can help you with this as you can automate the process and save your precious time.</p>
</blockquote>
<h2 id="motivate-contributors" id="motivate-contributors">🎉 Motivate contributors <a class="markdownit-header-anchor" href="#motivate-contributors">🔗</a></h2>
<p>Contributor motivation was one of the primary reasons behind <a href="/docs/general/what-is-localazy-sharetm">Localazy ShareTM</a>. It’s here to help you to translate your app to more languages - at least partly. Why? Because once a part of your app is already translated, it’s easier to ask people to help you finish the translation.</p>
<p>It helps you open the “we support your language, but your help is appreciated” type of conversation with your users.</p>
<p>That’s where you should start right now. Get your app on Localazy if you haven’t yet, navigate to the reviews, and carefully go through ShareTM suggestions for key languages. It’s the first step. Try it now and see how quickly you can get parts of your app translated.</p>
<blockquote>
<p>Also, you can use <a href="/dictionary/machine-translation">machine translations</a> to create better motivation  - It’s free with Localazy.</p>
</blockquote>
<h2 id="translations-are-never-finished" id="translations-are-never-finished">🚧 Translations are never finished <a class="markdownit-header-anchor" href="#translations-are-never-finished">🔗</a></h2>
<p>What if you added new features that need to be translated, made a mistake, or used inaccurate wording? You need your translators again. It’s an ongoing process, and you need to stay in touch with them.</p>
<p>Also, there is nothing like a finished translation. Even with your users’ best effort, the context may not be specified well enough, or the user misunderstood the meaning, and another user may come later to fix the translation. Your contributors are not just about one per language… And so you need a solution to manage this comfortably, or it will drive you crazy soon.</p>
<blockquote>
<p>Localazy handles all this stuff automatically, provides extra context information, and automates communication with contributors. You don’t even have to think about it <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>.</p>
</blockquote>
<h2 id="upload-changes-early" id="upload-changes-early">🔜 Upload changes early <a class="markdownit-header-anchor" href="#upload-changes-early">🔗</a></h2>
<p>Whenever you add or update strings in your app, you should immediately upload them to the localization platform, so your contributors can work on them when they have time.</p>
<p>I bet that you are eager to release the new version of your app as soon as you are done with writing the code. If you only upload strings at that moment, you need to wait for your contributors or release the version without the translation.</p>
<p>Uploading changed strings regularly helps to avoid or mitigate this problem.</p>
<blockquote>
<p>With Localazy, this is a matter of seconds, and you’ll never feel like it’s a bothersome task again.</p>
</blockquote>
<h2 id="good-and-bad-users" id="good-and-bad-users">☯️ Good and bad users <a class="markdownit-header-anchor" href="#good-and-bad-users">🔗</a></h2>
<p>Some loyal users love your app, and will gladly help you. But there are also random users that, for a reason that I still don’t understand, come just to harm your app and damage existing translations. That’s a good reason for reviewing all contributions. So do it and <a href="/docs/general/defining-user-roles">manage your contributors</a> with care.</p>
<p>Also, even if the user is doing their best, the translation may not be accurate enough. Commonly, placeholders are missing or misspelled. So, <a href="/docs/general/unique-review-process-and-self-managed-translations">review your translations</a>. It’s important.</p>
<blockquote>
<p>All these features are already built into Localazy to make the process as simple as possible for you.</p>
</blockquote>
<h2 id="best-users" id="best-users">🥇 Best users <a class="markdownit-header-anchor" href="#best-users">🔗</a></h2>
<p>Award your best contributors with extra perks - mark them as trusted translators, so they see that you trust them and can make notable progress.</p>
<p>Also, from time to time, you can find people that are likely to become more than just contributors, but rather your teammates. Those deserve your trust and can help you with reviewing phrases or managing other contributors.</p>
<blockquote>
<p>There’s everything you need for your user management contained in Localazy.</p>
</blockquote>
<h2 id="just-dont-be-afraid" id="just-dont-be-afraid">😎 Just don’t be afraid… <a class="markdownit-header-anchor" href="#just-dont-be-afraid">🔗</a></h2>
<p>It’s simple to localize your app! There’s a lot of topics in this article, but don’t be afraid. It’s simple with the right tool, and many tasks can be automatized or are just as simple as a few clicks.</p>
<blockquote>
<p>Everything we learned during the last seven years is available in Localazy for you.</p>
</blockquote>
<!--kg-card-end: html--><!--kg-card-begin: html--><div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg xmlns="http://www.w3.org/2000/svg" viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Some parts of this article might not be accurate. This article mentions the ShareTM feature, which we've updated later. Learn more about the <a href="/blog/feature-update-sharetm-improvements">Localazy ShareTM improvements in this article</a>.</p>
</div><!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/cb279864-917b-4d99-8c5c-982e90d1e206" length="0" type="image//assets/cb279864-917b-4d99-8c5c-982e90d1e206"/>
        </item>
        <item>
            <title><![CDATA[Automatic data reports in multiple languages with Python, Gettext and Localazy]]></title>
            <link>https://localazy.com/blog/automatic-data-reports-multiple-languages-python-gettext-localazy</link>
            <guid isPermaLink="false">automatic-data-reports-multiple-languages-python-gettext-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:34:56 GMT</pubDate>
            <description><![CDATA[Once in a while as a data scientist, your job may be to produce a report that you could email to stakeholders or share through the intranet. Creating an automated report using it is a rather standard skill for a data scientist. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Word documents may seem a bit old school, but there are still cases when using them is the shortest route to this goal. Whenever automation is discussed, <a href="/dictionary/python">Python</a> is a tool of choice. </p>
<p>But everything’s all fun and games until other languages show up.</p>
<p>In theory, preparing another language version does not seem complicated. After all, it is enough to translate individual labels and descriptions into another language and then hardcode them in the next version of the script. In practice, this simple approach is time-consuming and error-prone, especially when there is a constant need to modify some messages. Not to mention the difficulty of working with non-technical translators using this method.</p>
<p>This article shows how to save time by translating the Python-generated data report by using <a href="/dictionary/gnu-gettext">Gettext</a> and Localazy. I’ll show you how to extract messages from the source code (Gettext), store them in separate files and how to make them available in a collaborative translation tool (Localazy). Also, you will learn how to deal with difficulties in translating f-strings.</p>
<h2 id="why" id="why">🤔 Why? <a class="markdownit-header-anchor" href="#why">🔗</a></h2>
<p>Imagine that you work in the analytics team at an international company that has 3 branches in different countries (England, Germany, Poland).</p>
<p><img src="https://directus9.localazy.com/assets/f7754c1c-5c90-4465-b420-cd72939fea2e" alt="Illustrative Map"></p>
<p>You have created an interesting descriptive report, the results of which can significantly improve the performance of each branch.</p>
<p><img src="https://directus9.localazy.com/assets/0c46a22d-294e-4411-b2b7-61f17f364a48" alt="Data Report Example">
<em>The report is generated in docs format for easy email distribuiton</em></p>
<p>You want it to reach the widest possible audience, but your company does not work exclusively in English. As your report is generated automatically once a day, having it translated manually into national languages every time is not an option.</p>
<p>But if you can automate report generation, why not do the same with translation?</p>
<h2 id="project-start" id="project-start">▶️ Project start <a class="markdownit-header-anchor" href="#project-start">🔗</a></h2>
<p>In the beginning, your project is one file with the main script and dataset in CSV format.</p>
<p><img src="https://directus9.localazy.com/assets/a32dd24a-0e89-417c-a615-7252952b3a2b" alt=".py and .csv files"></p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/4fef8f69367fd7520ae9f89e33983070.js"></script></body></html>'></iframe>
<p>The script is quite self-explanatory. Using the data loaded from the CSV file, it calculates various statistics, generates a bar chart and packs everything into a Word document. The usage of the script is simple. All you need to do is specify the city and the date.</p>
<p><img src="https://directus9.localazy.com/assets/c49ee1eb-9067-46e8-8070-2eb801007af8" alt="Command Line Picture"></p>
<p><em>Note: This project is aimed at teaching localization of Python applications, so I’m skipping aspects like validating input variables or being interesting 😆</em></p>
<p>Perhaps, we could translate messages into other languages and use <code>if</code> statements to change them according to the user’s will, but this approach would be tedious and error-prone. Therefore we will first extract all strings from the code to work on them separately from the business logic.</p>
<h2 id="gettext" id="gettext">📝 Gettext <a class="markdownit-header-anchor" href="#gettext">🔗</a></h2>
<p><a href="https://www.gnu.org/software/gettext/">GNU gettext</a> is a universal set of tools for producing multi-lingual messages. It provides a framework to support translated message strings. It supports many programming languages <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>, including Python. The gettext module comes shipped with Python standard library. The best thing about gettext is that it will help us seamlessly extract text messages into separate files.</p>
<p>As our report is prepared for data from London, Warsaw and Berlin, we will prepare English, Polish and German language versions. First, we need to prepare the directory structure.</p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/9b0607b0c33ac3e08db9fb1d3819f17f.js"></script></body></html>'></iframe>
<pre><code>mkdir -p locales/{de,pl}/LC_MESSAGES
</code></pre>
<p>Then, we should extract the messages from the code.</p>
<pre><code>xgettext -d base -o locales/base.pot
</code></pre>
<p>Or, alternatively:</p>
<pre><code>/Library/Frameworks/Python.framework/Versions/3.8/share/doc/python3.8/examples/Tools/i18n/pygettext.py -d base -o locales/base.pot report.py
</code></pre>
<p>To find the <code>pygettext.py</code> file, you can use the command: <code>locate pygettext.py</code> .</p>
<p><em>Note: using plain gettext command will force you to modify the result file by adding CHARSET header “Content-Type: text/plain; charset=UTF-8n”</em></p>
<p>That will generate in the <code>locales</code> folder a <code>base.pot</code> file with strings taken from the <code>report.py</code> file.</p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/1e1d3f70498ac5b791329bfe60871aef.js"></script></body></html>'></iframe>
<p>Unfortunately, as you can see, generated <code>base.pot</code> does not contain any strings. To fix this, we need to modify <code>report.py</code> by marking the messages for translation.</p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/180bceeaedbea6bf2de5bc6700914dd4.js"></script></body></html>'></iframe>
<p>After generating the <code>base.pot</code> again, two strings appear in it.</p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/07ed29c6e846235f153a4de850472ee4.js"></script></body></html>'></iframe>
<p>After this paragraph, the project should look like this:</p>
<p><a href="https://github.com/fischerbach/python_localization_tutorial/tree/002-gettext">https://github.com/fischerbach/python_localization_tutorial/tree/002-gettext</a></p>
<p><strong>Use this repository: <a href="https://github.com/fischerbach/python_localization_tutorial">https://github.com/fischerbach/python_localization_tutorial</a>
The branches contain the following steps discussed in this article.</strong></p>
<p><img src="https://directus9.localazy.com/assets/7e828fab-3070-4382-8042-6ef9279dff30" alt="Project branches overview"></p>
<h2 id="first-translations" id="first-translations">🎉 First translations <a class="markdownit-header-anchor" href="#first-translations">🔗</a></h2>
<p>Now let’s prepare the first translations. Copy and rename the base.pot into each language folder:</p>
<pre><code>cp locales/base.pot locales/de/LC_MESSAGES/base.po
cp locales/base.pot locales/pl/LC_MESSAGES/base.po
</code></pre>
<p>Let’s modify the individual language files:</p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/92be749db6d7114ceb415f457d7417ef.js"></script></body></html>'></iframe>
<p>To use translation in our program, we need to generate the MO files. MO files are binary data files that are parsed by the Python gettext module and used in the program.</p>
<pre><code>msgfmt -o locales/de/LC_MESSAGES/base.mo locales/de/LC_MESSAGES/base
msgfmt -o locales/pl/LC_MESSAGES/base.mo locales/pl/LC_MESSAGES/base
</code></pre>
<p>Now we can modify the script to generate reports in different languages.</p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/e304921e053b40d3925388561e28f49d.js"></script></body></html>'></iframe>
<p>From now on, we will also pass the appropriate translation function to the <code>generate_report</code> function.</p>
<p>Let’s test:</p>
<pre><code>python3 report.py sales.csv Warsaw 2019-01-04 pl
</code></pre>
<p><img src="https://directus9.localazy.com/assets/631c4f7a-d4ee-4c74-8a30-776ff6232da6" alt="Data Report Example 2"></p>
<p>The sentence in the middle paragraph has been replaced! If we change the last parameter to <code>de</code>, we get a version in German.</p>
<p><img src="https://directus9.localazy.com/assets/c6ec023e-e90d-4a6c-839a-de2b119e92bc" alt="Data Report Example 3"></p>
<p>One sentence in the report translated, it’s time for the rest. The procedure is the same. Every time a string with a message appears in the source code, surround it with the function <code>_(‘This is a string’)</code>. Once this is done, generate the <a href="/docs/cli/po-format">POT file</a> from the beginning, copy it to the locales of each language, translate it and generate the binary files.</p>
<h2 id="but-hey-it-was-supposed-to-be-easier" id="but-hey-it-was-supposed-to-be-easier">🥺 But hey, it was supposed to be easier <a class="markdownit-header-anchor" href="#but-hey-it-was-supposed-to-be-easier">🔗</a></h2>
<p>So in the next iteration of our solution, we create two helper scripts (<code>generate_po.sh</code> and <code>generate_mo.sh</code>). You have all the changes here:</p>
<p><a href="https://github.com/fischerbach/python_localization_tutorial/tree/004-gettext-generators">https://github.com/fischerbach/python_localization_tutorial/tree/004-gettext-generators</a></p>
<p>Let’s check one of the language files:</p>
<p><a href="https://github.com/fischerbach/python_localization_tutorial/blob/004-gettext-generators/locales/pl/LC_MESSAGES/base.po">https://github.com/fischerbach/python_localization_tutorial/blob/004-gettext-generators/locales/pl/LC_MESSAGES/base.po</a></p>
<p>As you can see, even a relatively simple report can result in a fairly significant number of labels to translate. Additionally, with each change, we would have to <a href="https://stackoverflow.com/questions/7496156/gettext-how-to-update-po-and-pot-files-after-the-source-is-modified">take care of merging the changes by using msgmerge</a>. But we will use something better.</p>
<h2 id="integrating-localazy" id="integrating-localazy">🚀 Integrating Localazy <a class="markdownit-header-anchor" href="#integrating-localazy">🔗</a></h2>
<p>Localazy is an awesome piece of software that makes the usually awful translation experience bearable and even almost enjoyable. It supports many frameworks and file formats and provides <a href="/docs/cli/the-basics">CLI tools</a> for build automation. My favourite features are the possibility of cooperative translation and automagic management of changes in translated files.</p>
<p><img src="https://directus9.localazy.com/assets/e3d24a92-49b6-4744-995d-a78c808c7eff" alt="Localazy phrases example"></p>
<p>So let’s integrate our report with Localazy. First, <a href="/register">create a Localazy account</a> and install <a href="/docs/cli/installation">Localazy CLI</a>. Then, create a new application.</p>
<p><img src="https://directus9.localazy.com/assets/3b8788d8-4153-4c0c-8953-d43a98ebde0d" alt="Localazy New App Screen"></p>
<p>Make sure to set the App Type to Private app. If your app does not contain sensitive data, you can safely leave it Public. However, we will set it to Private, for reasons described in the last section <em>“f-strings problem”</em> of this article. Then, select POT files from available file formats.</p>
<p><img src="https://directus9.localazy.com/assets/12022210-d9a3-470b-915f-7ab44a932ad7" alt="Localazy File Formats"></p>
<p>You will see a template configuration file <code>localazy.json</code>. Copy it to the project main folder.</p>
<p><img src="https://directus9.localazy.com/assets/92e479e4-0c6a-4af3-abec-921e26e0eea1" alt="Localazy Upload strings screen"></p>
<iframe frameborder="0" style="min-width: 200px; width: 100%; height: 460px;" scrolling="no" seamless="seamless" srcdoc='<html><body><style type="text/css">.gist .gist-data { height: 400px; }</style><script src="https://gist.github.com/fischerbach/cf911e1fadb26ce0575d7ebfd0ac5461.js"></script></body></html>'></iframe>
<p>Remember to modify the locales folder path. Go to your app on Localazy and add some new languages.</p>
<p><img src="https://directus9.localazy.com/assets/e2b638bb-3834-4a70-bdba-e82f6e1ea12b" alt="Localazy add languages"></p>
<p>Now you can generate the PO files again and load them into Localazy:</p>
<pre><code>bash generate_po.sh
localazy upload
</code></pre>
<p><img src="https://directus9.localazy.com/assets/cf3c8259-d629-4a7c-8644-de080a2b1054" alt="Localazy CLI"></p>
<p>After a while, you will see a list of phrases to translate in each language of your application.</p>
<p><img src="https://directus9.localazy.com/assets/855d0b70-a1ce-4c47-81b6-1bd7ff224a79" alt="Localazy Polish language phrases"></p>
<p>And the cherry on the top, a <a href="/dictionary/machine-translation">machine translation</a> comes with each phrase.</p>
<p><img src="https://directus9.localazy.com/assets/8a3c3d95-a947-43bc-99ca-2100b0682e45" alt="Localazy Translate Screen"></p>
<p>Once all the translations have been accepted or created, you can download them into your application and re-generate binary MO files:</p>
<pre><code>localazy download
bash generate_mo.sh
</code></pre>
<p><img src="https://directus9.localazy.com/assets/ee6c472f-6081-4b87-9d06-bb931f783540" alt="Localazy CLI 2"></p>
<p>Let’s check the report in Polish:</p>
<p><img src="https://directus9.localazy.com/assets/2064395b-d12e-43bc-8233-a7e70f7dd566" alt="Report in Polish"></p>
<p>As someone with some understanding of Polish, I’d say it’s quite acceptable. Finally, let’s address one more issue.</p>
<h2 id="f-strings-problem" id="f-strings-problem">⚠️ f-strings problem <a class="markdownit-header-anchor" href="#f-strings-problem">🔗</a></h2>
<p>The project uses f-strings quite extensively. Unfortunately, we cannot use them as arguments of <code>_()</code> function, gettext will return an error. The problem can be solved by changing f-strings to a <code>.format()</code> statements or string concatenations. But I like f-strings, and generating text reports is indeed a model case for using them. Fortunately, there is a <a href="https://stackoverflow.com/a/56264202/13712137">workaround</a>.</p>
<p><a href="https://gist.github.com/fischerbach/993e6fab4caf67af6c63281fe3cb8b67">https://gist.github.com/fischerbach/993e6fab4caf67af6c63281fe3cb8b67</a></p>
<p>We just wrap the f-string in a function that evaluates it. However, there are potential risks associated with using the <code>eval</code> function, because it runs the code contained in the string. This is why we made the application in Localazy private, so as not to run unfiltered code from users.</p>
<p><img src="https://directus9.localazy.com/assets/b8dd657c-25ae-43d7-859c-b46cb3de1ead" alt="Localazy Placeholders"></p>
<p>Another limitation is that every time you need to change the expression inside the string, you’ll need to update your .po file as well. However, thanks to Localazy, it is effortless to do so.</p>
<h2 id="takeaways" id="takeaways">🤓 Takeaways <a class="markdownit-header-anchor" href="#takeaways">🔗</a></h2>
<p>As you can see, the duo of Gettext and Localazy is a flexible solution to localization problems. Each addresses different sources of workload and they complement each other wonderfully.</p>
<p>The f-string issue remains to be solved, especially in the context of community translations. It is also worth considering what to do with the labels that appear in the dataset.</p>
<p>Thank you for reading. I hope you enjoyed reading as much as I enjoyed writing this for you.</p>
<p>If you would like to share feedback or simply say ‘hello’, you can connect with me: <a href="https://www.linkedin.com/in/rafalrybnik/">https://www.linkedin.com/in/rafalrybnik/</a></p>
<p>If you enjoyed reading this, you’ll probably enjoy my other articles too: <a href="https://fischerbach.medium.com">https://fischerbach.medium.com</a></p>
<h2 id="references" id="references">📚 References <a class="markdownit-header-anchor" href="#references">🔗</a></h2>
<p><strong>GNU Gettext:</strong>
<a href="https://www.gnu.org/software/gettext/">https://www.gnu.org/software/gettext/</a></p>
<p><strong>Localazy:</strong>
<a href="/">https://localazy.com/</a></p>
<p><strong>Specification of PO files:</strong>
<a href="https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html">https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html</a></p>
<p><strong>Other:</strong>
<a href="https://python-docx.readthedocs.io/en/latest/#what-it-can-do">https://python-docx.readthedocs.io/en/latest/#what-it-can-do</a></p>
<p><a rel="nofollow" href="https://phrase.com/blog/posts/translate-python-gnu-gettext/">https://phrase.com/blog/posts/translate-python-gnu-gettext/</a></p>
<p><a href="https://localazy.com/blog/javascript-app-localization-i18next-localazy">https://localazy.com/blog/javascript-app-localization-i18next-localazy</a></p>
<p>This post was originally published on <a href="https://towardsdatascience.com/how-to-create-automatic-data-report-in-multiple-languages-2a53b6417d42">Towardsdatascience.com</a> by <strong>Rafał Rybnik</strong></p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Rafał Rybnik</author>
            <enclosure url="https://directus9.localazy.com/assets/185acdae-c664-4d60-9411-9898ecc76efe" length="0" type="image//assets/185acdae-c664-4d60-9411-9898ecc76efe"/>
        </item>
        <item>
            <title><![CDATA[Interview with Code Ink: Localization at a small software firm using Localazy]]></title>
            <link>https://localazy.com/blog/interview-code-ink-localization-small-software-firm-using-localazy</link>
            <guid isPermaLink="false">interview-code-ink-localization-small-software-firm-using-localazy</guid>
            <pubDate>Mon, 29 Nov 2021 13:10:37 GMT</pubDate>
            <description><![CDATA[In today's interview, we welcome **Matěj Bačo**, the lead dev at **[Code Ink](https://codeink.io/)**, a small software studio located in Slovakia. Matěj talks about the challenges surrounding localization, finding the right approach with his team, and why they grew to love Localazy. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p><strong>Hi Matěj, can you quickly introduce yourself and the business you do?</strong></p>
<p>Hi, I am a developer for a small software studio called Code Ink in Slovakia. I have been working here for a few years now, and I love the friendly community. At Code Ink, we help HR specialists run online pre-selection of candidates to check (mostly) their language and communication skills. This process is almost completely automated and can reduce the costs of a full interview, can help find talents 24/7, and last but not least, helps lower the fluctuation in the company.</p>
<p><strong>Who are your users?</strong></p>
<p>Our users are HR specialists trying to achieve as automatic pre-selection as possible by checking the candidate’s language, which they don’t even have to understand. Also, the rest of our users are candidates themselves who are interviewed in a specific language.</p>
<p><strong>How is Localazy used in your product?</strong></p>
<p>We were looking for a good <a href="/dictionary/localization">localization</a> solution for years, and we were never delighted with the solutions we tried. Some were pricey; some were not comfortable for developers; some were even too complex for clients/translators.</p>
<p>When we first saw Localazy, we believed it would come with a library (<a href="/dictionary/nodejs">nodejs</a>, javascript, PHP, …) that will help extract and use translations in the project. While this was not the case, the Localazy helpdesk team was <strong>really</strong> friendly and willing to help even if that was none of their business. I have to say, Localazy even added some new features <a href="https://improve.localazy.com/">requested by users</a> within two weeks!</p>
<p>Finally, we created a solution that works across our stack. First of all, we have localization on the frontend in <a href="/angular">Angular</a> using the default <a href="/dictionary/internationalization">i18n</a> library and few <a href="/tags/cli">CLI</a> scripts to convert localization files to meet Localazy standards (using ARB/JSON format). Secondly, we use a custom i18n library on the backend with a Babel extractor that feels almost identical to the one in Angular to developers (also, using ARB/JSON format). All of this is possible thanks to Localazy and their easy-to-use and customizable CLI solution to upload and download translation files.</p>
<p><strong>Maybe you’d want to share your perspective on software localization?</strong></p>
<p>We believe localization is necessary for 90 % of the projects. People always love to work in an environment that is familiar to them. Not all people speak English, so not all of your potential users will understand English.</p>
<p>By adding localization into your project, you don’t only attract the interest of more potential users, but you can also address anyone in their native language worldwide. Localization will help you grow your business over the border of your country and accelerate your startup faster.</p>
<p>In the end, do you know about some huge website that only supports the English language?</p>
<p><strong>Why did your team decide to use Localazy for app localization?</strong></p>
<p>The main reason that led us to try Localazy was its <a href="/pricing">pricing</a>. Localazy was the first localization system that offered a lifetime price instead of monthly payments. You might ask, why is that important?</p>
<p>As a small software company, we usually don’t work on more than 2 or 3 projects at once. That means we would probably be able to go with a cheap solution of any localization system for around 10 euro a month. Instead, we can pay €250 in a one-time payment to get a total of 6000 phrases in Localazy which should be more than enough for three actively developed projects.</p>
<p>So, instead of having a solution for two years (with monthly payments), we have access to Localazy forever, which results in significant money-saver over the years. Keep in mind that you can backup and remove phrases for projects you are finished with, so you can start working on new projects. Localazy lets you re-import phrases whenever the development of the project needs to continue.</p>
<p><strong>Describe the process of introducing Localazy to your product. Did you face any challenges or issues? How have you overcome them?</strong></p>
<p>We didn’t struggle with integrating Localazy into our projects because it came with a great CLI tool that helps you upload and download localization files easily.</p>
<p>But, some problems started when we started translating bigger, actively developed projects.</p>
<p>At first, there was a considerable problem when Localazy started creating duplicates with every upload we made. With the Localazy helpdesk team, we found out this was due to an automatic ID system (based on file name and code line) in our Angular project. This problem got solved by assigning every translation an ID.</p>
<p>Second, deprecated translations were not removed from Localazy, which means, our translators had to translate phrases that were no longer used in the application. Once again, thanks to the Localazy helpdesk, we solved this problem by changing the configuration in localazy.json (config file).</p>
<p>Last, the option to translate source language (English in most cases) was missing, and we had to believe in the Localazy developers team to implement this in the future. Which they eventually did!</p>
<p><strong>What are the most significant outcomes and benefits of bringing Localazy to your product?</strong></p>
<p>We are pleased as we finally created a localization solution we are satisfied with. Both our developers and translators enjoy working with Localazy. In conclusion, Localazy helps us save money and creates an environment that we won’t have to replace in a few years when our software studio continues to grow.</p>
<p><img src="https://directus9.localazy.com/assets/c58df51a-6c5d-4288-9f55-219e2b0a3758" alt="Developer friendly localization without monthly fees"></p>
<p><strong>What are some of your favourite Localazy features, and why?</strong></p>
<ol>
<li>Localazy CLI</li>
</ol>
<p>Our developers had multiple positive comments about the <a href="/docs/cli/the-basics">Localazy CLI</a> system that helps upload and download translations. This feature not only allows test languages in development but also automates pushing translations into production.</p>
<ol start="2">
<li>Localazy web application</li>
</ol>
<p>Our translators were happy about the look and feel of the Localazy application as it is similar to the Google Translate interface, which all of us already know well. We also find <a href="/dictionary/machine-translation">machine translation</a> way more accurate than any other localization software - not sure how Localazy achieved this. Additionally, the Localazy translator interface includes translations of the phrase in other (already translated) languages. Thus, we can assign a person speaking Hungarian and Slovak languages to translate the application, even if our application source is English.</p>
<ol start="3">
<li>Localazy ShareTM</li>
</ol>
<p>We saw a similar feature in other localization software, but it is so nice to have this feature in Localazy. It simply helps you translate commonly used phrases automatically from other (not only yours) projects. Basic phrases - like “E-mail address” or “Phone number” can be translated to almost any language within one click using <a href="/docs/general/what-is-localazy-sharetm">ShareTM</a>.</p>
<p><strong>Would you like to share any statistics? Number of team members working on the product, number of lines of code, number of languages available, number of contributors to localization, etc.?</strong></p>
<p>As mentioned earlier, we are a small software company, so we can’t show huge numbers. Anyway, our company consists of 5 members that can create an all-in-one solution for our clients, bringing their idea from their heads into the online space. We usually work on more significant projects that take many months to finish. With that said, our average backend project has approx. 10 000 lines of code and contains at least 1000 phrases that need to be translated. Frontend projects are usually way bigger, but most of the code is generated automatically using Angular CLI. Anyway, on the frontend, we typically have 2000-3000 phrases per project. We don’t try to translate our projects into all languages possible as the translation would not be too accurate, and with every new language, new problems may come up. These problems are summed up in a <a href="https://youtu.be/0j74jcxSunY">Youtube video by Computerphile</a> pretty well. We only translate our application for the audience in which the client or we try to sell the solution we made, so we end up with 4-5 languages supported.</p>
<p><strong>Do you have any tips or advice you’d like to share with our readers?</strong></p>
<p>I hope it is clear that we love Localazy. After a long time of ignoring localization and rejecting projects that require localization, we can proudly announce that we are happy to start localizing all of the projects. The best advice I can provide to readers is to try. You will love Localazy, or you will learn something. You have nothing to lose, and Localazy free 200 phrases should be more than enough to understand the system.</p>
<p>I hope Localazy serves you and your project as great as it does for our company.</p>
<!--kg-card-end: html--><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/b3679977-0160-4ba0-bf64-1c9fdadc0b7a" length="0" type="image//assets/b3679977-0160-4ba0-bf64-1c9fdadc0b7a"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Multiple MT engines and more!]]></title>
            <link>https://localazy.com/blog/localazy-release-update-multiple-mt-engines-more</link>
            <guid isPermaLink="false">localazy-release-update-multiple-mt-engines-more</guid>
            <pubDate>Mon, 30 Jan 2023 11:06:04 GMT</pubDate>
            <description><![CDATA[You are our most influential decision-maker and we work hard to deliver new useful features and improve Localazy. Within today’s release update, you will find a whole variety of [improvements](https://improve.localazy.com/). ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="additional-mt-engines-add-on" id="additional-mt-engines-add-on">🔛 Additional MT engines add-on <a class="markdownit-header-anchor" href="#additional-mt-engines-add-on">🔗</a></h2>
<p>Have you ever wondered why we do not offer suggestions from other machine translation engines, DeepL, for example? We have some good news for you! Our main MT engine is still available totally free. However, if you would like to see more suggestions from different MT engines, you can upgrade your translations with the<a href="/docs/general/additional-mt-engines"> Additional MT engines add-on.</a> With this add-on, you will see additional suggestions from <strong>Google Translate</strong>, <strong>Azure Translator</strong>, and <strong>DeepL</strong>. Make better and faster decisions by cross-checking translations. It’s super helpful, especially for reviews!</p>
<p><img src="https://directus9.localazy.com/assets/70a8d22d-ea94-4414-ad14-5310e6da087c" alt="Localazy - Additional MT add-on"></p>
<h2 id="big-changes-in-ui" id="big-changes-in-ui">🔥 Big changes in UI! <a class="markdownit-header-anchor" href="#big-changes-in-ui">🔗</a></h2>
<p>To make sure that you always feel at home while using Localazy, we tweak our layouts every now and then to accommodate for new features and improve your experience.</p>
<p><strong>What’s new?</strong></p>
<ul>
<li>New, cleaner header component with Help &amp; Feedback buttons always visible</li>
<li>User / Organization based items moved to a new collapsible side-menu</li>
<li>New App collapsible sub-side-menu</li>
<li>Completely new UI for mobile devices</li>
</ul>
<p><img src="https://directus9.localazy.com/assets/dc567976-42a6-474d-9202-9848507fb2f8" alt="Localazy Mobile UX Update"></p>
<h3 id="flags-in-translations-dashboard" id="flags-in-translations-dashboard">🎌 Flags in translations dashboard <a class="markdownit-header-anchor" href="#flags-in-translations-dashboard">🔗</a></h3>
<p>For a better orientation in your languages, we have added little flags next to the language names in the translations dashboard. Lovely, isn’t it?</p>
<h3 id="phrase-keys-always-visible-in-translate-and-review" id="phrase-keys-always-visible-in-translate-review">🗝️ Phrase keys always visible in translate &amp; review <a class="markdownit-header-anchor" href="#phrase-keys-always-visible-in-translate-and-review">🔗</a></h3>
<p>By popular request, we have added a display field for phrase keys to the translate and review screens for additional context. Enjoy!</p>
<h3 id="seamless-transition-from-one-language-to-another" id="seamless-transition-from-one-language-to-another">📑 Seamless transition from one language to another <a class="markdownit-header-anchor" href="#seamless-transition-from-one-language-to-another">🔗</a></h3>
<p>When editing a translation for a phrase, you can now quickly jump to any other translation for this phrase from the Languages tab. Super helpful for those occasions when your eye catches that something is either off or missing in another language!</p>
<h3 id="leave-app-button-added-to-contributor-profile" id="leave-app-button-added-to-contributor-profile">👋 ‘Leave App’ button added to contributor profile <a class="markdownit-header-anchor" href="#leave-app-button-added-to-contributor-profile">🔗</a></h3>
<p>If you no longer want to contribute to someone else’s app, you can leave the project. Say your goodbyes and click the button in your contributor profile of the app. Leaving the app will remove it from your dashboard, and your current role will be removed. If the app is private, you’ll also lose access to its content. See you later!</p>
<h2 id="new-integrations-and-file-formats-available" id="new-integrations-and-file-formats-available">🥳 New Integrations and file-formats available <a class="markdownit-header-anchor" href="#new-integrations-and-file-formats-available">🔗</a></h2>
<p>Now you can use Localazy with <a href="/stenciljs">StencijJS</a>, <a href="/laravel">Laravel</a>, <a href="/qt">Qt TS</a> or <a href="/django">Django</a>! New file-formats are aslo available, including <a href="/php">PHP</a> and <a href="/ini">INI</a> files. Happy integrating!</p>
<h2 id="from-the-backlog" id="from-the-backlog">🗃️ From the backlog <a class="markdownit-header-anchor" href="#from-the-backlog">🔗</a></h2>
<ul>
<li>LOC-1978 - Fixes to source phrase edit screen</li>
<li>LOC-2054 - Added loading state to login/signup button</li>
<li>LOC-2096 - Fixed: Update unread comment count after comment is displayed</li>
<li>LOC-2179 - Send comment when enter is pressed</li>
<li>LOC-453 - Added empty state for language list</li>
<li>LOC-2262 - Fixed save button disabled state</li>
</ul>
<h2 id="how-to-tune-up-your-ios-localization-workflow-with-localazy" id="how-to-tune-up-your-ios-localization-workflow-with-localazy">🤗 How to tune up your iOS localization workflow with Localazy <a class="markdownit-header-anchor" href="#how-to-tune-up-your-ios-localization-workflow-with-localazy">🔗</a></h2>
<p>Watch this short video by <strong>Aad ‘t Hart</strong> @ <a href="https://goingwalkabout.app/">Going Walkabout</a>, who shares his localization workflow and how Localazy helps him translate his iOS app.</p>
<iframe width="100%" height="560" src="https://www.youtube.com/embed/8xO-79QZ_LE" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h2 id="get-dollar100-for-your-case-study" id="get-100-for-your-case-study">💸 Get $100 for your case study <a class="markdownit-header-anchor" href="#get-dollar100-for-your-case-study">🔗</a></h2>
<p>Do you like Localazy and would you love to feature your product and share how Localazy fits into your tech stack and business? <a href="https://txd5ek4t.paperform.co">Fill in this interview form</a> and get rewarded with $100 credit to enjoy Localazy Add-ons.</p>
<h2 id="read-it-while-it-is-hot-on-the-blog" id="read-it-while-it-is-hot-on-the-blog">♨️ Read it while it is hot on the blog <a class="markdownit-header-anchor" href="#read-it-while-it-is-hot-on-the-blog">🔗</a></h2>
<ul>
<li><a href="/blog/automated-localization-bitrise-io-localazy">Automated Localization with Bitrise and Localazy</a></li>
<li><a href="/blog/multi-platform-localization-localazy-connected-projects">Multi-platform localization with the Connected Projects feature</a></li>
<li><a href="https://towardsdatascience.com/how-to-create-automatic-data-report-in-multiple-languages-2a53b6417d42">Towards Data Science: How to create automatic data report in multiple languages by Rafał Rybnik</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://directus9.localazy.com/assets/0a6ab118-69c8-45a8-9cd1-34f3ceee8057" length="0" type="image//assets/0a6ab118-69c8-45a8-9cd1-34f3ceee8057"/>
        </item>
        <item>
            <title><![CDATA[Localization automation - language as a product or service?]]></title>
            <link>https://localazy.com/blog/localization-automation-language-product-service</link>
            <guid isPermaLink="false">localization-automation-language-product-service</guid>
            <pubDate>Tue, 21 Sep 2021 22:57:04 GMT</pubDate>
            <description><![CDATA[In this article we talk about stepping-up one's localization workflow by slightly shifting the view of localization, drawing inspiration from visionaries of our time and getting the most out of automation by synergising various tools with Localazy. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Did you know that the most innovative companies nowadays are software companies? The fact that nothing is hard-wired into the brick-and-mortar world allows them to iterate faster and grow more than ever.</p>
<p>Take a look at Amazon. Even major retailers and other business verticals no longer feel safe because of the mindset of the Amazon founder, Jeff Bezos. Amazon is monetizing its software by sending millions of smiling brown boxes with anything you can imagine all over the world. And, when you buy a new mattress, there are lines and lines of code in the background of it all, facilitating door-to-door delivery.</p>
<p>Now, we produce and deliver <strong>languages as products</strong> that you can use to speak with your app users in their native language. Moreover, we deliver those products with the service. It is up to you whether you choose a one-time language file download or you prefer to have your language up-to-date all the time using Localazy features for continuous localization. Localazy runs on a cloud, powered by Amazon AWS, thanks to the AWS Activate Startup Program. That way, we can provide top-notch <strong><a href="https://localazy.com">localization service</a></strong> across the globe and without the need to invest tremendous amounts of time, money, and hardware into building the cloud on our own. We do the same for you when it comes to reaching foreign markets via <a href="https://localazy.com/dictionary/localization">software localization</a>. Maybe we are not shipping you a new mattress, but you will most probably sleep better thanks to Localazy.</p>
<p><img src="https://directus9.localazy.com/assets/b52ad226-ffe4-4a39-bf1b-6c71f702ce58" alt="Localazy Monday"></p>
<p>We live in an era of increasing automation. And, especially now, when it is getting even more convenient to set automation up, there is no longer a reason to spend your time and attention handling your localizable files manually! There are multiple reasons and benefits to <strong><a href="https://localazy.com/blog/multi-platform-localization-localazy-connected-apps">automating your software localization</a></strong>. Many of our users reportedly used their subpar workflows and tools before deciding to make things easier for them. Let’s take a look at how a simple tool for continuous localization can make your Monday better!</p>
<h2 id="developer-unchained" id="developer-unchained">Developer: unchained <a class="markdownit-header-anchor" href="#developer-unchained">🔗</a></h2>
<p>With the increasing sophistication of work, the importance of software developers is rising significantly. The average rates charged by people who can solve problems using their unique set of skills and mindset are <a href="https://localazy.com/blog/what-is-your-price-app-developers">skyrocketing</a>. You can read more about this phenomenon in the book <strong>Metaskills: Five Talents for the Robotic Age by Marty Neumeier.</strong></p>
<p>You may want to <strong>ask your developer</strong> if there is something you could do better. When it comes to <strong>software localization</strong> and proper <strong>i18n support</strong> using <strong>available libraries and integrations</strong>, you can obtain dozens of ideas from your dev team. Here are a few examples:</p>
<ul>
<li>Single collaborative space for developers, copywriters, translators, localization managers, and product owners makes everything easier</li>
<li>Orderly file management and track of changes is of vital importance</li>
<li>It takes time to keep all the locales up-to-date on our own</li>
<li><strong><a href="https://localazy.com/docs/cli/the-basics">Multiplatform localization CLI tool</a></strong> comes in handy</li>
<li>A localization expert is a colleague I would appreciate</li>
<li>No, the <strong>diff is not enough</strong> to manage localizable phrases</li>
</ul>
<p>If you had to decide, would you choose to: move files back and forth, check them for errors from contributors, rebuild your app and do so many more activities involved in providing new translations, or simply executing all of these things with a single command? Automation as a time-saving tool is a no-brainer, and Localazy can help you here. When you want to get more languages for your app, you no longer have to coordinate with dozens of suppliers daily.</p>
<p>The more you can help your developer, the better the overall performance of your business. Give your developer a <strong>localization team</strong> <strong>within the command-line tool,</strong> and you will see him work wonders.</p>
<h2 id="automated-translation-delivery-is-a-muskt" id="automated-translation-delivery-is-a-muskt">Automated translation delivery is a Mus(k)t <a class="markdownit-header-anchor" href="#automated-translation-delivery-is-a-muskt">🔗</a></h2>
<p>The unique approach of Elon Musk allows Tesla vehicles to get fixes and improvements without any recalls by upgrading just over the air (OTA) - saving his company and customers hundreds of millions of dollars. You can deliver new translations to your software users using <a href="https://localazy.com/docs/android/only-ota-updates-that-really-work">OTA updates</a> or CDN delivery with Localazy too. Once new phrases have gone through the review, you can improve the user experience within a single command using Localazy CLI or our automation steps such as <a href="https://localazy.com/blog/automated-localization-github-actions-localazy">Github Actions</a>, <a href="https://localazy.com/blog/automated-localization-bitrise-io-localazy">Bitrise Verified Steps</a>, or our <a href="https://localazy.com/docs/android/localazy-android-library">Android localization library</a>.</p>
<iframe width="100%" height="560" src="https://www.youtube.com/embed/_vILvEhCx9w" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h2 id="reduce-error-prone-human-operations" id="reduce-error-prone-human-operations">Reduce error-prone human operations <a class="markdownit-header-anchor" href="#reduce-error-prone-human-operations">🔗</a></h2>
<p>People are not flawless. The bottom line is to get rid of manual work where software can do it for you. Localazy is like your own team of linguists, engineers, and translators who work as your in-house localization team. And this <em>Babylon fish</em> of software localization even has social skills - the CLI to talk concisely with developers and a good-looking, clean GUI to please the non-tech folks. Add to that the proactive technical validations, <a href="https://localazy.com/dictionary/hamt">human-assisted machine translation</a> (<strong>HAMT</strong>), machine translation post-editing (<strong>MTPE</strong>), and other solutions now available for you allowing you to enjoy hassle-free localization free of unwanted and unexpected pain on the way to multilingual app.</p>
<p><img src="https://media.giphy.com/media/w7QlYFuLs3xIc/giphy.gif" alt="Robots!?"></p>
<h2 id="continuous-localization-is-no-longer-a-daydream-thanks-to-automation" id="continuous-localization-is-no-longer-a-daydream-thanks-to-automation">Continuous localization is no longer a daydream, thanks to automation <a class="markdownit-header-anchor" href="#continuous-localization-is-no-longer-a-daydream-thanks-to-automation">🔗</a></h2>
<ul>
<li>Review new translations automatically using the <a href="/docs/general/continuous-localization-team#virtual-reviewer">Virtual Reviewer</a>.</li>
<li>Set up triggers and allow machines to do the work for you</li>
<li>Thanks to the network effect of <strong><a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a></strong>, you receive new suggestions and improvements.</li>
<li>Execute <strong>software localization as a service</strong> automatically</li>
<li>Use your favorite tools to integrate localization into your workflow</li>
</ul>
<p>Gone are the days when you had to send localizable files back and forth between collaborators and manually handle those absurdly complicated sheets.</p>
<p><strong>Are you ready to get off the Ferris wheel of manual localization?</strong></p>
<!--kg-card-end: html--><blockquote>Learn more about the <a href="/docs/general/continuous-localization-team">Continuous Localization services</a> we offer.</blockquote>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/f8cac5b2-7ce7-4c40-9da3-6808814fe1b0" length="0" type="image//assets/f8cac5b2-7ce7-4c40-9da3-6808814fe1b0"/>
        </item>
        <item>
            <title><![CDATA[Flutter Force Developers Tips #112]]></title>
            <link>https://localazy.com/blog/flutter-force-developers-tips-112</link>
            <guid isPermaLink="false">flutter-force-developers-tips-112</guid>
            <pubDate>Wed, 07 Jul 2021 12:33:56 GMT</pubDate>
            <description><![CDATA[Hello Flutter World! Another week is here, and that means another serving of Flutter Force Dev Tips with the latest tasty news and handy Flutter flavored tips.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h4 id="ubuntu-makes-flutter-default-choice-for-future-desktop-apps">Ubuntu Makes Flutter ‘Default Choice’ for Future Desktop Apps</h4>
<p><a href="/flutter">Flutter</a> will be the default choice for future mobile and desktop apps created by Canonical.</p>
<p><a href="https://www.omgubuntu.co.uk/2021/03/ubuntu-building-apps-with-flutter-in-future"><strong>Ubuntu Makes Flutter ‘Default Choice’ for Future Desktop Apps - OMG! Ubuntu!</strong></a></p>
<h4 id="flutter-slidable">flutter_slidable</h4>
<p>Flutter_slideable is a package that provides a slidable widget that lets your users swipe to reveal actions without a lot of hassle. Learn how to use this package and define your actions.</p>
<iframe width="100%" height="560" src="https://www.youtube.com/embed/QFcFEpFmNJ8" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h4 id="flutterquill-rich-text-editor-for-flutter">FlutterQuill — Rich Text Editor for Flutter</h4>
<p>FlutterQuill is a rich text editor and a <a href="https://quilljs.com/docs/formats">Quill</a> component for <a href="https://github.com/flutter/flutter">Flutter</a>.</p>
<p>This library is a WYSIWYG editor built for the modern mobile platform, with web compatibility under development.</p>
<p><a href="https://pub.dev/packages/flutter_quill"><strong>flutter_quill | Flutter Package</strong></a></p>
<h4 id="advantages-of-using-dart-on-the-command-line">Advantages of Using Dart on the Command Line</h4>
<p>Dart has a much smaller community compared to <a href="/dictionary/javascript">JavaScript</a>, is not as easy to use as Bash and Python and many libraries just don’t work as expected with Dart. Few people have been using it for less time.</p>
<p><a href="https://dzone.com/articles/5-advantages-of-dart-over-javascript-python-and-ba"><strong>5 Advantages of Dart Over JavaScript, Python, and Bash - DZone Web Dev</strong></a></p>
<h4 id="sidebar-bigeagle">sidebar_bigeagle</h4>
<p>This package adds a Sidebar widget which is convenient for Web &amp; Desktop.</p>
<p><a href="https://pub.dev/packages/sidebar_bigeagle"><strong>sidebar_bigeagle | Flutter Package</strong></a></p>
<h4 id="flutter-template-examples">Flutter Template Examples</h4>
<p>Flutter Template Examples is a collection of widgets and animations with source code, all built with <a href="/dictionary/flutter">Flutter</a>.</p>
<p><a href="https://play.google.com/store/apps/details?id=com.tltemplates.flutter_templates"><strong>Flutter Template Examples - Apps on Google Play</strong></a></p>
<h4 id="msix">Msix</h4>
<p>A command-line tool that create Msix installer for your flutter windows-build files.</p>
<p><a href="https://github.com/YehudaKremer/msix"><strong>YehudaKremer/msix</strong></a></p>
<h4 id="a-real-life-guide-to-dart-sound-null-safety">A Real Life Guide To Dart Sound Null Safety</h4>
<p>On March 3, 2021 Flutter team unveiled <a href="https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65">Flutter 2</a> and <a href="https://medium.com/dartlang/announcing-dart-2-12-499a6e689c87">Dart 2.12</a>. Among other major changes a significant one is Sound Null Safety. This guide will help you migrate your code to Sound Null Safety.</p>
<ul>
<li>by Debkanchan Samadder</li>
</ul>
<p><a href="https://blog.rideapp.in/a-real-life-guide-to-sound-null-safety-in-dart-a33283678068"><strong>A Real Life Guide To Dart Sound Null Safety</strong></a></p>
<h4 id="announcing-the-new-rive">Announcing the new Rive</h4>
<p>The Rive beta is here! The new Rive introduces team collaboration, a new editor with numerous UX improvements and features, and new native runtimes for Web, <a href="/ios">iOS</a>, <a href="/android">Android</a>, Flutter, and C++. Sign up for the beta:</p>
<p><a href="https://rive.app/"><strong>Rive - About Rive</strong></a></p>
<h4 id="flutter-tutorial-flutter-keys-value-key-johannes-milke">Flutter Tutorial — Flutter Keys — Value Key (Johannes Milke)</h4>
<p>With the Flutter Value Key, you can preserve the state of Stateful Widgets while they are moving around within your Widget tree.</p>
<iframe width="100%" height="560" src="https://www.youtube.com/embed/-F_5yHm_Zso" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h4 id="how-to-code-maplestory-flutter-from-scratch">How to code MapleStory | Flutter From Scratch</h4>
<p>This game is built with Flutter from scratch!</p>
<p><a href="https://github.com/mitchkoko/maplestoryflutter"><strong>mitchkoko/maplestoryflutter</strong></a></p>
<h4 id="eeffects">eeffects</h4>
<p>Flutter package providing a variety of effects: Point Lights, Light Beams, Fire, Lightning bolts</p>
<p><a href="https://pub.dev/packages/eeffects"><strong>eeffects | Flutter Package</strong></a></p>
<h4 id="migrating-a-flutter-firebase-app-to-null-safety-a-case-study">Migrating a Flutter &amp; Firebase app to Null Safety: A Case Study</h4>
<p>Null Safety helps us eliminate an entire class of bugs in our Flutter apps.</p>
<p>As Flutter 2 is here, we can migrate our projects to Null Safety and make the most of it.</p>
<p><a href="https://codewithandrea.com/articles/migrating-flutter-firebase-app-null-safety/"><strong>Migrating a Flutter &amp; Firebase app to Null Safety: A Case Study</strong></a></p>
<h4 id="flutter-tutorial-cupertino-date-picker-time-picker">Flutter Tutorial — Cupertino Date Picker &amp; Time Picker</h4>
<p>Use the iOS Styled Cupertino Date Picker in Flutter to pick dates, times &amp; also any other items.</p>
<p><a href="https://github.com/JohannesMilke/cupertino_datepicker_example"><strong>JohannesMilke/cupertino_datepicker_example</strong></a></p>
<h4 id="surveykit-create-beautiful-surveys-with-flutter">SurveyKit: Create beautiful surveys with Flutter</h4>
<p>Do you want to display a questionnaire to get the opinion of your users? A survey for a medical trial? A series of instructions in a manual-like style?
SurveyKit is an Flutter library that allows you to create exactly that.</p>
<p><a href="https://github.com/quickbirdstudios/survey_kit"><strong>quickbirdstudios/survey_kit</strong></a></p>
<h4 id="flutter-advanced-adding-dark-mode-dynamic-theme-using-provider">Flutter Advanced — Adding Dark Mode | Dynamic Theme using Provider</h4>
<p>Let’s add multiple themes to our Flutter Application, the easy way using Providers</p>
<p><a href="https://shashankbiplav.me/flutter-advanced-adding-dark-mode-or-dynamic-theme-using-provider"><strong>Flutter Advanced - Adding Dark Mode | Dynamic Theme using Provider</strong></a></p>
<h4 id="flutter-modular">flutter_modular</h4>
<p>As an application project grows and becomes complex, it’s hard to keep your code and project structure mantainable and reusable. Modular provides a bunch of Flutter-suiting solutions to deal with this problem, like dependency injection, routing system and the “disposable singleton” system (that is, Modular disposes the injected module automatically as it is out of scope).</p>
<p><a href="https://pub.dev/packages/flutter_modular"><strong>flutter_modular | Flutter Package</strong></a></p>
<h4 id="portfolio-website-in-flutter">Portfolio Website in Flutter</h4>
<p>Given the much-anticipated release of stable Flutter Web, I decided to build a portfolio website in Flutter. Additionally, it uses <a href="/dictionary/firebase">Firebase</a> as a Content Management System.</p>
<p><a href="https://taufeeqr.dev/#/home"><strong>Expert flutter developer for hire</strong></a></p>
<h4 id="login-fresh">login_fresh</h4>
<p>LoginFresh helps you build a login easily with a friendly design, and very flexible for its construction.</p>
<p><a href="https://pub.dev/packages/login_fresh"><strong>login_fresh | Flutter Package</strong></a></p>
<h4 id="how-to-create-a-controller-for-a-custom-widget">How to create a controller for a custom widget</h4>
<p>You probably know the TextField widget and its TextEditingController, which provides the possibility for the developer to control the behavior of the input (e. g. react to a change or clear the current input). But what if you create your own custom widget? How is it possible to implement such a controller that provides the possibility to control the widget from the outside?</p>
<p><a href="https://www.flutterclutter.dev/flutter/tutorials/create-a-controller-for-a-custom-widget/2021/2149/"><strong>Creating a controller for a custom widget</strong></a></p>
<h4 id="invoice-ninja-v5-built-with-google-flutter">Invoice Ninja v5 built with Google Flutter</h4>
<p>7 years after coming online, open-source platform Invoice Ninja launches a new invoicing platform built with <a href="/laravel">Laravel</a> &amp; Flutter.</p>
<p><a href="https://www.invoiceninja.com/v5-live/"><strong>Invoice Ninja v5 is Live! | Invoice Ninja</strong></a></p>
<h4 id="flutter-101-podcast-codemagic-with-ceo-martin-jeret">Flutter 101 Podcast: Codemagic with CEO Martin Jeret</h4>
<p>We talked to Martin Jeret about Codemagic, <a href="/dictionary/ci">CI/CD</a> for mobile apps, and other challenges Flutter developers face.</p>
<p><a href="https://flutter101.dev/episodes/martin-jeret-codemagic"><strong>Codemagic with CEO Martin Jeret | Flutter 101 Podcast</strong></a></p>
<h4 id="expert-flutter-logging">Expert Flutter Logging</h4>
<p>Anybody can tell you how to cal a Logging API. Let’s do something a little different where I show you why you will call the logging API the way I say to as it pertains to keeping the app user secrets secret.</p>
<p><a href="https://medium.com/codex/expert-flutter-logging-dfb240b14484"><strong>Expert Flutter Logging</strong></a></p>
<h4 id="catch-flutter-application-exceptions">Catch Flutter Application Exceptions</h4>
<p>There are two buckets you have to get feedback to help improve app code. The first one used is obviously logging. The second bucket is when that rare application exception occurs.</p>
<p><a href="https://itnext.io/catch-flutter-application-exceptions-cad036d0fd4e"><strong>Catch Flutter Application Exceptions</strong></a></p>
<h4 id="uistate">UIState</h4>
<p>Cleanest way of representing UI state in a flutter widget.</p>
<p><a href="https://github.com/cesarferreira/UIState"><strong>cesarferreira/UIState</strong></a></p>
<h4 id="bottom-navigation-builder">bottom_navigation_builder</h4>
<p>A set of widgets that helps you to implement bottom navigation with a navigation history and a transition. Highly flexible and works fine with any kind of custom bottom navigation bar widgets.</p>
<p><a href="https://pub.dev/packages/bottom_navigation_builder"><strong>bottom_navigation_builder | Flutter Package</strong></a></p>
<h4 id="thanks-for-reading">Thanks for reading!</h4>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Ümit Duran</author>
            <enclosure url="https://directus9.localazy.com/assets/d3eff128-1fd3-4087-8596-dafbb0f3650e" length="0" type="image//assets/d3eff128-1fd3-4087-8596-dafbb0f3650e"/>
        </item>
        <item>
            <title><![CDATA[Flutter Force Developers Tips #111]]></title>
            <link>https://localazy.com/blog/flutter-force-developers-tips-111</link>
            <guid isPermaLink="false">flutter-force-developers-tips-111</guid>
            <pubDate>Mon, 15 Mar 2021 11:07:50 GMT</pubDate>
            <description><![CDATA[What's new in Flutter world? We've got you covered with another FlutterForce Developer Tips, your weekly dose of Flutter news!]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h4 id="flutter-engage-recap">Flutter Engage Recap</h4>
<p>Hi everyone! On March 3rd, 2021 Google organized an event which name is <strong>Flutter Engage</strong>! The Flutter team had a great show again. It was a sensational event that showed the power and future of <a href="/dictionary/flutter">Flutter</a>. I’m very excited to use these Flutter improvements in my projects.</p>
<p><a href="https://medium.com/nerd-for-tech/flutter-engage-recap-901647c3f577"><strong>Flutter Engage Recap</strong></a></p>
<h4 id="whats-new-in-flutter-2">What’s New in Flutter 2</h4>
<p>Flutter web and Null Safety move to stable, Flutter desktop moves to beta and so much more!</p>
<p><a href="https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65"><strong>What’s New in Flutter 2.0</strong></a></p>
<h4 id="navigator-20-is-too-complicated-just-use-yeet">Navigator 2.0 is too complicated? Just use YEET!</h4>
<p>A dank way to navigate.</p>
<p><a href="https://pub.dev/packages/yeet/versions/0.0.3"><strong>yeet 0.0.3 | Flutter Package</strong></a></p>
<h4 id="announcing-zapp-eap-build-dart-flutter-apps-in-the-browser">Announcing Zapp! EAP: Build Dart &amp; Flutter apps in the browser!</h4>
<p>Today at Invertase we’re super excited to announce that a project we’ve been working on will soon be ready for Early Access Preview. Zapp! allows developers to code and run Dart &amp; Flutter projects directly within a browser without the need for a local development environment.</p>
<p><a href="https://invertase.io/blog/introducing-zapp"><strong>Announcing Zapp! EAP: Build Dart &amp; Flutter apps in the browser! | Invertase</strong></a></p>
<h4 id="jiffy">Jiffy</h4>
<p>Jiffy is a Flutter (Android, IOS and Web) date time package inspired by <a href="https://momentjs.com/">momentjs</a> for parsing, manipulating, querying and formatting dates</p>
<p><a href="https://pub.dev/packages/jiffy"><strong>jiffy | Dart Package</strong></a></p>
<h4 id="fruit-ninja-with-flutter">Fruit Ninja with Flutter!</h4>
<p>Learn how to make this awesome game with a few simple steps in Flutter.</p>
<p><a href="https://github.com/bedardjo/fruit_ninja"><strong>bedardjo/fruit_ninja</strong></a></p>
<h4 id="wallace-gromit-the-big-fix-up-a-flutter-ar-experience">Wallace &amp; Gromit: The Big Fix Up — A Flutter AR Experience</h4>
<p>Combining the latest in augmented and mixed reality, Wallace &amp; Gromit: The Big Fix Up, is an all new epic adventure built in <a href="/flutter">Flutter</a> in which fans are able to experience and interact with the story as it unfolds over time. Hear from their developers how they leveraged the power of Flutter working with <a href="/dictionary/unity">Unity</a> to rapidly prototype and launch this engaging experience using the best of both technologies.</p>
<iframe width="100%" height="560" src="https://www.youtube.com/embed/G46cxw9mNFs" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h4 id="make-anything-in-flutter-using-renderobjects">Make Anything in Flutter using RenderObjects</h4>
<p>RenderObjects gives you the power to create anything in Flutter. Learning this you will get a deeper understanding and also a feeling that you can accomplish anything 👏</p>
<iframe width="100%" height="560" src="https://www.youtube.com/embed/uC3sL5SmizM" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h4 id="flutter-plasma">Flutter Plasma</h4>
<p>This demo shows the capabilities of Flutter in the web.</p>
<p><a href="https://flutterplasma.dev/"><strong>Flutter Plasma</strong></a></p>
<h4 id="resources-absolutely-needed-to-learn-flutter-in-2021">Resources Absolutely Needed to Learn Flutter in 2021</h4>
<p>Last year I became aware that cross-platform app development is steadily on the rise. Since then I’ve been learning Flutter &amp; Dart. I’ve gone through enough platforms to know what helps and what doesn’t, and I’ve compiled a short list for all you beginners out there.</p>
<p><a href="https://prateekaher.hashnode.dev/resources-absolutely-needed-to-learn-flutter-in-2021"><strong>Resources Absolutely Needed to Learn Flutter in 2021</strong></a></p>
<h4 id="qwtch-to-flwtch-porting-cwtchs-goqt-frontend-to-goflutter">Qwtch to Flwtch: Porting Cwtch’s Go/Qt Frontend to Go/Flutter</h4>
<p>Welcome to Discreet Log! A fortnightly technical development blog to provide an in-depth look into the research, projects and tools that we work on at Open Privacy. For our second post Erinn Atwater documents the development of a new Flutter-based UI for Cwtch.</p>
<p><a href="https://openprivacy.ca/discreet-log/02-porting-qwtch-to-flwtch/"><strong>Discreet Log #2: Qwtch to Flwtch: Porting Cwtch’s Go/Qt Frontend to Go/Flutter</strong></a></p>
<h4 id="so-you-want-social-login-oauth-20-with-flutter">So You Want Social Login (OAuth 2.0) With Flutter…</h4>
<p>The goal was simple: create something that makes authentication with <strong>OAuth 2.0</strong> as simple as possible in Flutter. After building this functionality into my app, I decided to pull it into its own package and share it with the community. The beauty of open source.</p>
<ul>
<li>by Emmanuel Olaojo</li>
</ul>
<p><a href="https://itnext.io/so-you-want-social-login-oauth-2-0-with-flutter-38f51ab02bba"><strong>So You Want Social Login (OAuth 2.0) With Flutter…</strong></a></p>
<h4 id="flutter-an-easy-and-pragmatic-approach-to-navigator-20">Flutter: An Easy and Pragmatic Approach to Navigator 2.0</h4>
<p>During the second half of 2020, the Flutter team introduced a revamped navigation and routing system called <a href="https://docs.google.com/document/d/1Q0jx0l4-xymph9O6zLaOY4d_f7YFpNWX_eGbzYxr9wY/edit">Navigator 2.0</a>. The reception by the developer community has not been great so far: <a href="https://github.com/flutter/flutter/issues/69315">principal criticisms</a> regard the API complexity and the absence of an extra abstraction layer for common scenarios.</p>
<ul>
<li>by Marco Muccinelli</li>
</ul>
<p><a href="https://itnext.io/flutter-an-easy-and-pragmatic-approach-to-navigator-2-0-44152e73112f"><strong>Flutter: An Easy and Pragmatic Approach to Navigator 2.0</strong></a></p>
<h4 id="aws-amplify-flutter-integration">AWS Amplify Flutter Integration</h4>
<p>I created an example of how to configure an AWS account with your Flutter app. Next steps I will create documentation for Auth, Storage, and Analytics using AWS Amplify step by step.</p>
<p><a href="https://github.com/durannumit/aws_amplify_flutter_integration"><strong>durannumit/aws_amplify_flutter_integration</strong></a></p>
<h4 id="flutter-tasks">Flutter Tasks</h4>
<p>This Flutter app is a rough clone of an earlier version of the Google Tasks application.</p>
<p>And I know it all lives in one file that is way too long, but this is just a demo.</p>
<p><a href="https://github.com/leodr/flutter_tasks"><strong>leodr/flutter_tasks</strong></a></p>
<h4 id="mocktail">mocktail</h4>
<p>Mock library for Dart inspired by <a href="https://pub.dev/packages/mockito">mockito</a>.</p>
<p>Mocktail focuses on providing a familiar, simple API for creating mocks in Dart (with null-safety) without the need for manual mocks or code generation.</p>
<p><a href="https://pub.dev/packages/mocktail"><strong>mocktail | Dart Package</strong></a></p>
<h4 id="dialog-flowtter">dialog_flowtter</h4>
<p>A Flutter implementation of DialogFlow, improved. Build your integrations with DialogFlow easier and faster.</p>
<p><a href="https://pub.dev/packages/dialog_flowtter/versions/0.3.0-nullsafety.0"><strong>dialog_flowtter 0.3.0-nullsafety.0 | Flutter Package</strong></a></p>
<h4 id="flutter-folio">Flutter Folio</h4>
<p>A multi-platform app that feels great on every device</p>
<p><a href="https://flutter.gskinner.com/"><strong>Flutter Folio Showcase</strong></a></p>
<h4 id="paged-vertical-calendar">paged_vertical_calendar</h4>
<p>A simple paginated framework for implementing calendar based interfaces.</p>
<p><a href="https://pub.dev/packages/paged_vertical_calendar"><strong>paged_vertical_calendar | Flutter Package</strong></a></p>
<h4 id="responsive-styled-widget">responsive_styled_widget</h4>
<p>Lets you use a serializable style/style map to make responsive and animatable widgets.</p>
<p><a href="https://pub.dev/packages/responsive_styled_widget/versions/0.0.3"><strong>responsive_styled_widget 0.0.3 | Flutter Package</strong></a></p>
<h4 id="eric-windmill-flutter-101-podcast">Eric Windmill — Flutter 101 Podcast</h4>
<p>In this episode, talked to Eric Windmill. Eric is the author of Flutter by Example, and Flutter in Action (Manning).</p>
<p><a href="https://flutter101.dev/episodes/flutter-by-example-with-eric-windmill"><strong>Flutter by Example with Eric Windmill | Flutter 101 Podcast</strong></a></p>
<h4 id="avatar-glow">avatar_glow</h4>
<p>This Flutter package provides a Avatar Glow Widget with cool background glowing animation.</p>
<p><a href="https://pub.dev/packages/avatar_glow"><strong>avatar_glow | Flutter Package</strong></a></p>
<h4 id="flutter-command">flutter_command</h4>
<p>flutter_command is a way to manage your state based on ValueListenable and the Command design pattern. Sounds scary uh? Ok lets try it a different way. A Command is an object that wraps a function that can be executed by calling the command, therefore decoupling your UI from the wrapped function.</p>
<p><a href="https://pub.dev/packages/flutter_command"><strong>flutter_command | Flutter Package</strong></a></p>
<h4 id="number-ticker">Number Ticker</h4>
<p>Number_ticker is a dart package that provides a Robinhood-like number ticker widget for displaying changing number.</p>
<p><a href="https://pub.dev/packages/number_ticker"><strong>number_ticker | Flutter Package</strong></a></p>
<h4 id="chris-sells-its-all-widgets-podcast">Chris Sells | It’s All Widgets! Podcast</h4>
<p>Before joining Google, Chris was a contributing member of the Windows developer community for more than 20 years, including 3 years at Intel and 8 years at Microsoft. He’s written a number of books in this area and still maintains a blog that he started in 1995 about his various technical adventures, although he’s more active on Twitter these days. At Google, Chris is the Product Manager responsible for the Flutter developer experience.</p>
<p><a href="https://itsallwidgets.com/podcast/episodes/40/chris-sells"><strong>Chris Sells | It’s All Widgets!</strong></a></p>
<h4 id="thanks-for-reading">Thanks for reading!</h4>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Ümit Duran</author>
            <enclosure url="https://directus9.localazy.com/assets/d3eff128-1fd3-4087-8596-dafbb0f3650e" length="0" type="image//assets/d3eff128-1fd3-4087-8596-dafbb0f3650e"/>
        </item>
        <item>
            <title><![CDATA[Flutter Force Developers Tips #110]]></title>
            <link>https://localazy.com/blog/flutter-force-developers-tips-110</link>
            <guid isPermaLink="false">flutter-force-developers-tips-110</guid>
            <pubDate>Mon, 15 Mar 2021 09:49:43 GMT</pubDate>
            <description><![CDATA[Check out the latest news from the Flutter world, heartedly prepared by The Flutterist.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h4 id="flutter-uiux-examples">Flutter UI/UX Examples 🍟</h4>
<p>Looking for an awesome UI kit for Flutter? Here is a curated list of a few awesome Flutter UI design templates to integrate in your Flutter app and save your time on designing widgets. You can check more UI design templates here.</p>
<p><a href="https://github.com/Chromicle/awesome-flutter-ui"><strong>Chromicle/awesome-flutter-ui</strong></a></p>
<h4 id="best-resources-to-learn-flutter-dart">Best Resources to Learn Flutter &amp; Dart</h4>
<p><a href="/flutter">Flutter</a> is a UI toolkit, developed by Google, and you can use it to create a beautiful native app for desktop, mobile, and web. For faster development and native performance, you can choose Flutter for building an app. Hot Reload and customizable widgets are some notable features of Flutter.</p>
<p><a href="https://tltemplates.com/learn-flutter/"><strong>Best Resources to Learn Flutter &amp; Dart</strong></a></p>
<h4 id="flutter-tutorial-fingerprint-touch-id-local-auth">Flutter Tutorial — Fingerprint &amp; Touch ID — Local Auth</h4>
<iframe width="100%" height="460" src="https://www.youtube.com/embed/qTuVurGvdbM" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
By using Flutter Local Auth users can authenticate with Fingerprint & Touch ID in Flutter.
<p><a href="https://www.youtube.com/watch?v=qTuVurGvdbM"><strong>Flutter Tutorial — Fingerprint &amp; Touch ID — Local Auth</strong></a></p>
<h4 id="reverse-engineering-flutter-apps-part-2">Reverse engineering Flutter apps (Part 2)</h4>
<p>This is a continuation of <a href="https://blog.tst.sh/reverse-engineering-flutter-apps-part-1/">Part 1 </a>which covered how Flutter compiles apps and what snapshots look like internally.</p>
<p><a href="https://blog.tst.sh/reverse-engineering-flutter-apps-part-2/"><strong>Reverse engineering Flutter apps (Part 2)</strong></a></p>
<h4 id="flutter-navigator-20-and-deep-links">Flutter Navigator 2.0 and Deep Links</h4>
<p>With Flutter’s Navigator 2.0, learn how to handle deep links in Flutter and gain the ultimate navigation control for your app.</p>
<p><a href="https://www.raywenderlich.com/19457817-flutter-navigator-2-0-and-deep-links"><strong>Flutter Navigator 2.0 and Deep Links</strong></a></p>
<h4 id="build-flutter-apps-fast-with-riverpod-firebase-hooks-and-freezed">Build Flutter Apps Fast with Riverpod, Firebase, Hooks, and Freezed</h4>
<iframe width="100%" height="460" src="https://www.youtube.com/embed/vrPk6LB9bjo" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p>Today, I’m going to teach you how to build a fully functional shopping list app using Riverpod, Firebase, Hooks, and Freezed. With this combination, we’re able to greatly reduce the amount of boilerplate code we have to write when developing apps.</p>
<p><a href="https://www.youtube.com/watch?v=vrPk6LB9bjo"><strong>Build Flutter Apps Fast with Riverpod, Firebase, Hooks, and Freezed</strong></a></p>
<h4 id="scaled-list">scaled_list</h4>
<p>A Horizontal List view with Lots of modification including a scaled current item. Provided with curved custom painting and Dots indictor below it. It makes the widget of item builder responsive to the device screen’s width and height. You can also set the relative width, margin width, height of selected and unselected Card to the entire screen</p>
<p><a href="https://pub.dev/packages/scaled_list?fbclid=IwAR2LU6F0V49y77PJm7SXevNPXKtd1DGEj2rd3BqZ_Skfs-QevewGcUoWFy4"><strong>scaled_list | Flutter Package</strong></a></p>
<h4 id="very-good-cli">Very Good CLI</h4>
<p>A Very Good Command Line Interface for Dart.</p>
<p><a href="https://github.com/VeryGoodOpenSource/very_good_cli"><strong>VeryGoodOpenSource/very_good_cli</strong></a></p>
<h4 id="flutter-basics-how-flutter-renders-the-contents-on-the-screen">Flutter Basics — How Flutter renders the contents on the screen?</h4>
<p>After reading my previous article in this series, you would be wondering that how actually <a href="/dictionary/flutter">flutter</a> rebuilds widgets. Every widget has its own build method and they are called often! During a complete rebuild, how much of a performance hit do we encounter?</p>
<p><a href="https://shashankbiplav.me/flutter-basics-how-flutter-renders-the-contents-on-the-screen"><strong>Flutter Basics - How Flutter renders the contents on the screen?</strong></a></p>
<h4 id="flutter-web-twitch-oauth2-authentication-flow-implementation">Flutter Web: Twitch OAuth2 authentication flow implementation</h4>
<p>I had a hard time figuring how to implement this kind of authentication flow while a solution was actually quite simple. Today I am going to explain it using Twitch’s API as an example.</p>
<ul>
<li>by Guillaume Roux</li>
</ul>
<p><a href="https://itnext.io/flutter-web-twitch-oauth2-authentication-flow-implementation-77d239c72be5"><strong>Flutter Web: Twitch OAuth2 authentication flow implementation</strong></a></p>
<h4 id="adaptive-layouts-part-2-the-boring-flutter-development-show-ep-46">Adaptive Layouts part 2 (The Boring Flutter Development Show, Ep. 46)</h4>
<iframe width="100%" height="460" src="https://www.youtube.com/embed/eikOZzfc0l4" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Filip and Fitz jump back into the app they started working on in part 1 with adaptive layout. They switch to an expandable desktop window and explore how flexible their layout should be and troubleshoot issues that arise when working on an adaptive layout.
<p><a href="https://www.youtube.com/watch?v=eikOZzfc0l4"><strong>Adaptive Layouts part 2 (The Boring Flutter Development Show, Ep. 46)</strong></a></p>
<h4 id="dart-vs-kotlin-detailed-comparison">Dart vs Kotlin: detailed comparison</h4>
<p>Dart vs Kotlin? Both Dart and Kotlin have been gaining a lot of traction in recent years, though they have been around for a pretty long time.</p>
<ul>
<li>by Codemagic</li>
</ul>
<p><a href="https://blog.codemagic.io/dart-vs-kotlin/"><strong>Dart vs Kotlin: detailed comparison | Codemagic Blog</strong></a></p>
<h4 id="messenger-gradient-chat-bubble-effect-in-flutter">Messenger Gradient Chat Bubble Effect In Flutter</h4>
<p>Facebook has taken the world by storm and created a milestone in the UI/UX world by introducing Messenger’s new dynamic chat theme. The dynamic gradient effect on Chat Bubbles while scrolling is an absolutely new concept that the world has seen. So, this gave us a craving to emulate this effect in Flutter.</p>
<p><a href="https://techblog.geekyants.com/messenger-gradient-chat-bubble-effect-in-flutter"><strong>Messenger Gradient Chat Bubble Effect In Flutter</strong></a></p>
<h4 id="design-shapes-in-flutter-introduction-to-the-morphable-shape-package">Design Shapes in Flutter — Introduction to the Morphable Shape Package</h4>
<p>Shapes and borders are essential aspects of UI frameworks. CSS offers rounded rectangle shapes with four configurable borders out of the box. But you can use clip-path or some smart tricks to generate all kinds of shapes. It would be great to have those features in Flutter as well.</p>
<ul>
<li>by Wenkai Fan</li>
</ul>
<p><a href="https://kevinvan.medium.com/design-shapes-in-flutter-introduction-to-the-morphable-shape-package-30e0d33c60a7"><strong>Design Shapes in Flutter — Introduction to the Morphable Shape Package</strong></a></p>
<h4 id="swipeable-card-stack">swipeable_card_stack</h4>
<p>This is Tinder like swipeable cards package. You can add your own widgets to the stack, receive all four events, left, right, up and down. You can define your own business logic for each direction.</p>
<p><a href="https://github.com/codetoart/cta-flutter-tinder-card-animation"><strong>codetoart/cta-flutter-tinder-card-animation</strong></a></p>
<h4 id="flutter-fortune-wheel">Flutter Fortune Wheel</h4>
<p>This Flutter package includes wheel of fortune widgets, which allow you to visualize random selection processes. They are highly customizable and work across mobile, desktop and the web.</p>
<p><a href="https://pub.dev/packages/flutter_fortune_wheel"><strong>flutter_fortune_wheel | Flutter Package</strong></a></p>
<h4 id="flutter-and-pwas-with-chris-sells-all-hands-on-tech-podcast">Flutter and PWAs with Chris Sells | All Hands on Tech podcast</h4>
<iframe width="100%" height="460" src="https://www.youtube.com/embed/6TzX5_FsO4Q" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Jeremy speaks with Chris Sells, who is a Senior Product Manager at Google with the Flutter team. They discuss progressive web apps, Flutter, and online backgammon over Telnet.
<p><a href="https://www.youtube.com/watch?v=6TzX5_FsO4Q"><strong>Flutter and PWAs with Chris Sells | All Hands on <em>Tech podcast</em></strong></a></p>
<h4 id="flutter-pw-validator">flutter_pw_validator</h4>
<p>Flutter Password Validator package helps you to validate sign-in user-entered passwords with your rules.</p>
<p><a href="https://pub.dev/packages/flutter_pw_validator"><strong>flutter_pw_validator | Flutter Package</strong></a></p>
<h4 id="build-an-imessage-clone-with-streams-flutter-chat-sdk">Build an iMessage Clone with Stream’s Flutter Chat SDK</h4>
<p>In this tutorial, we’ll build a functional clone of iMessage using <a href="https://pub.dev/packages/stream_chat_flutter">Stream Chat Flutter SDK</a>. Building a chat in your app at scale is not an easy task; but in this tutorial, you’ll get a chat experience up and running in roughly 20 minutes! You can follow this tutorial without a deep knowledge of Flutter, a basic understanding of the <a href="https://flutter.dev/docs/development/ui/layout#lay-out-multiple-widgets-vertically-and-horizontally">layout system</a>, Row and Column, we’ll do.</p>
<ul>
<li>by Sacha Arbonel</li>
</ul>
<p><a href="https://sachaarbonel.medium.com/build-an-imessage-clone-with-streams-flutter-chat-sdk-7e84e28e8dec"><strong>Build an iMessage Clone with Stream’s Flutter Chat SDK</strong></a></p>
<h4 id="beamer">beamer</h4>
<p>Handle your application routing, synchronize it with browser URL and more. Beamer uses the power of Navigator 2.0 API and implements all the underlying logic for you.</p>
<p><a href="https://pub.dev/packages/beamer"><strong>beamer | Flutter Package</strong></a></p>
<h4 id="flutter-inappwebview">flutter_inappwebview</h4>
<p>A Flutter plugin that allows you to add an inline webview, to use an headless webview, and to open an in-app browser window.</p>
<p><a href="https://pub.dev/packages/flutter_inappwebview/versions/5.0.0-nullsafety.0"><strong>flutter_inappwebview 5.0.0-nullsafety.0 | Flutter Package</strong></a></p>
<h4 id="cicd-p1-multiple-firebase-environments-in-flutter">CICD P1. Multiple Firebase Environments in Flutter</h4>
<p>This will be first part of multi-part series, which will introduce ultimate CICD configuration for Flutter. I’ll split it to individual small tutorials as they standalone can contribute to many developers already.</p>
<ul>
<li>by Aurimas Deimantas</li>
</ul>
<p><a href="https://aurimas-deimantas.medium.com/cicd-p1-multiple-firebase-environments-in-flutter-1f7b93090895"><strong>CICD P1. Multiple Firebase Environments in Flutter</strong></a></p>
<h4 id="wa-status-saver">wa_status_saver</h4>
<p>A WhatsApp status saver/downloader with flutter.</p>
<p><a href="https://github.com/Baksman/swhatsapp_status_saver"><strong>Baksman/swhatsapp_status_saver</strong></a></p>
<h4 id="drop-zone">drop_zone</h4>
<p><em>A simple way to bring drag’n’drop to flutter web.</em></p>
<p>drop_zone is commonly used for file choosing by dragging and dropping a file(s) onto a designated widget. The user can then use the dropped html file(s).</p>
<p><a href="https://github.com/Derrick56007/dropzone"><strong>Derrick56007/dropzone</strong></a></p>
<h4 id="flutter-apps-state-in-isolate">Flutter app’s state in Isolate</h4>
<p>There are many ways to manage state in Flutter, but most of them are built in such a way that all the logic is executed in the main isolate of your application. Execution of network requests, working with WebSocket, potentially heavy synchronous operations (like local search), all this, as a rule, is implemented in the main isolate. This article will show other doors as well.</p>
<ul>
<li>by Mikle Alpha</li>
</ul>
<p><a href="https://itnext.io/flutter-apps-state-in-isolate-8fd9828fc1a3"><strong>Flutter app’s state in Isolate</strong></a></p>
<h4 id="flutter-gridview-simple-pagination">Flutter gridview simple pagination</h4>
<p>In this post i’ll cover how to do a quick and dirty pagination using the GridView widget in Flutter. This approach will also work with other components such as the ListView or just a collection of widgets layed out in a Column or Row, with a few tweaks of course.</p>
<p><a href="https://willsthoughts.com/posts/programming/flutter-paginate-gridview/"><strong>Flutter gridview simple pagination</strong></a></p>
<h4 id="dimension">dimension</h4>
<p>A Flutter package that introduce the Dimension/Length class. It mimics the css length system and currently supports four units including px, percentage, vw and vh. The user would need to supply the constraint value and the screen size in order to get a px value from the Length class.</p>
<p><a href="https://pub.dev/packages/dimension"><strong>dimension | Flutter Package</strong></a></p>
<h4 id="flutter-handling-application-lifecycle-flutter-tutorial">Flutter — Handling Application Lifecycle | Flutter Tutorial</h4>
<p>In this Flutter Tutorial, we will be taking an in-depth look at handling Application Logic on the application life cycle States such as resumed, paused, inactive or detached. We will write a basic timer app to pause when the application is in the background and resume when the app comes to the foreground.</p>
<p>[<strong>Flutter — Handling Application Lifecycle</strong>]</p>
<iframe width="100%" height="460" src="https://www.youtube.com/embed/a0RG0sxfSjk" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h4 id="flutter-tutorial-hotel-booking-app-ui">Flutter Tutorial: Hotel Booking App UI</h4>
<p>Building a Hotel Booking app and looking for inspiration? Look no further, we will build two screens of a super clean hotel booking app using Flutter.</p>
<p><a href="https://github.com/cybdom/hotel_booking_ui"><strong>cybdom/hotel_booking_ui</strong></a></p>
<h4 id="getting-started-with-flutter-a-3-part-guide">Getting Started With Flutter (A 3 part guide)</h4>
<p>Flutter is a UI toolkit, allowing you to build a native UI across mobile, web and desktop. The beauty of Flutter is this is possible from a single codebase using <strong>declarative UI</strong>.</p>
<p><a href="https://darrylbayliss.net/getting-started-with-flutter-part-one/"><strong>Getting Started With Flutter: Part One</strong></a></p>
<h4 id="flutter-instagram-ui">Flutter Instagram UI</h4>
<p>Instagram UI application which built with Flutter</p>
<p><a href="https://github.com/HadesPTIT/flutter_instagram"><strong>HadesPTIT/flutter_instagram</strong></a></p>
<h4 id="ep-008-fills-and-strokes-flutter-processing">Ep. 008 — Fills and strokes | Flutter Processing</h4>
<p>Today, we implement fill(), noFill(), stroke(), and noStroke().</p>
<p><a href="https://www.youtube.com/embed/tLktTENqVXo"><strong>Ep. 008 — Fills and strokes | Flutter Processing</strong></a></p>
<h4 id="bgg-api">bgg_api</h4>
<p><a href="https://boardgamegeek.com/">Board Game Geek</a> XML API client (version 2)</p>
<p>This package was inspired by <a href="https://github.com/matanlurey/bgg.dart">bgg.dart</a> package, which works with first version of BGG API.</p>
<p><a href="https://pub.dev/packages/bgg_api/versions/0.3.0-nullsafety"><strong>bgg_api 0.3.0-nullsafety | Dart Package</strong></a></p>
<h4 id="flutter-tabbar-a-complete-tutorial-with-examples">Flutter TabBar: A complete tutorial with examples</h4>
<p>Apps often have different categories of content or features available to users. Naturally, you want your users to be able to quickly glance at each option and move between categories with a simple swipe. That’s where the Flutter TabBar class comes in.</p>
<p><a href="https://blog.logrocket.com/flutter-tabbar-a-complete-tutorial-with-examples/"><strong>Flutter TabBar: A complete tutorial with examples - LogRocket Blog</strong></a></p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Ümit Duran</author>
            <enclosure url="https://directus9.localazy.com/assets/d3eff128-1fd3-4087-8596-dafbb0f3650e" length="0" type="image//assets/d3eff128-1fd3-4087-8596-dafbb0f3650e"/>
        </item>
        <item>
            <title><![CDATA[Interview: How Floating Apps achieved millions of downloads]]></title>
            <link>https://localazy.com/blog/interview-how-floating-apps-achieved-millions-downloads</link>
            <guid isPermaLink="false">interview-how-floating-apps-achieved-millions-downloads</guid>
            <pubDate>Mon, 29 Nov 2021 13:10:06 GMT</pubDate>
            <description><![CDATA[In this interview, the founder and CEO of Localazy, Václav Hodek, shares his past experience as a freelance developer, the reasons that led him to the founding of a new translation management platform, and how Localazy helped his project enter new markets and hit over 10 million downloads!]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="introduction" id="introduction">🤝 Introduction <a class="markdownit-header-anchor" href="#introduction">🔗</a></h2>
<p><strong>Hi, Václav, please tell our readers something about yourself and your journey.</strong></p>
<p>Hello, being somewhere between developer and entrepreneur, I ran my own software studio with 10 developers for a couple of years.</p>
<p>It wasn’t all sunshine and rainbows. We had to meet deadlines and stay within a tight budget, but sometimes, there wasn’t enough time and money to do things the right way. In those ten years, I saw a lot of stupid ideas or great ideas with stupid execution and decisions behind them.</p>
<p>I had to leave and I had to shut down a profitable company after all the effort because I was no longer able to do it, I felt burnt-out and couldn’t continue in the high-stress business.</p>
<p>For quite some time, I had nothing to do, so I started to play a bit with my old hobby app - <a href="https://www.floatingapps.net/">Floating Apps</a>. And grew it to be the best one of its kind in the world.</p>
<p><strong>What exactly is the app Floating Apps about? What is the purpose?</strong></p>
<p>Floating Apps is a set of useful mini-apps that are displayed over other apps on your <a href="/android">Android</a> device. It unlocks full multitasking potential as you no longer need to leave the current task for something small.</p>
<p>In a way, it turns Android into Windows <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<p>Of course, due to the limitations of the Android platform, it’s not all-powerful. But it’s great to e.g. open email attachments without leaving the email app, watch YouTube videos while playing games, or do fast calculations with the floating calculator… There are about 40 different mini-apps, so it’s like a Swiss knife for Android multitasking.</p>
<p><strong>Who are the users of Floating Apps?</strong></p>
<p>Floating Apps is aimed at advanced Android users. If you use your phone for more than making voice calls (and who doesn’t nowadays), Floating Apps can be a great little helper for you. It just sits idle ready to assist you when needed. Next time you switch from one app to another and then back, you should install it.</p>
<p>The app now has more than 10 million downloads from all over the world, and it’s not exactly aimed at a specific group of people, everyone can find his way to utilize the app to fit his needs.</p>
<p><img src="https://directus9.localazy.com/assets/325f40ca-2e41-450f-a65b-68a6c3a8873e" alt="Floating Apps Screenshots"></p>
<h2 id="rapid-growth-with-localazy" id="rapid-growth-with-localazy">📈 Rapid growth with Localazy <a class="markdownit-header-anchor" href="#rapid-growth-with-localazy">🔗</a></h2>
<p><strong>Do you think that localization was the most important factor of your success?</strong></p>
<p>Floating Apps started as a hobby project and it skyrocketed to millions of downloads because I did a few things right. I wasn’t hesitant to invest money for some initial promotion to get traction. I was always willing to help users, listen to them and answer their questions and comments.</p>
<p>But one of the most important things for such explosive growth of the user base was the <a href="/dictionary/localization">localization</a> to more languages. It helped me to grow rapidly in Asia.</p>
<p>Japan quickly became the second-largest market for the paid version of the app. Korea is a very strong market for paid apps too.</p>
<p>India, Indonesia, Vietnam, and other countries generated millions of downloads of the free version.</p>
<p><strong>Why did you decide to invest time into building Localazy and didn’t use available translation management solutions? What features are important to you?</strong></p>
<p>I tried several different solutions before founding Localazy, but I was very disappointed as none of them matched my workflow. While I loved to add new features to make my app better, I was always almost scared to add new texts as it also meant I had to translate them.</p>
<p>I wanted to achieve the best available translation quality, so I checked the translations myself. It’s necessary also because while there are a lot of users that were helping me with translating the app, some of them were spoiling translations on purpose.</p>
<p>Several key features of Localazy are extremely important for me:</p>
<ol>
<li>Great <a href="/docs/general/defining-user-roles">management of collaborators</a> allows me to identify the good and bad ones and treat them accordingly.</li>
<li>The <a href="/docs/general/unique-review-process-and-self-managed-translations">awesome review process</a> helps me to achieve quality translation and also to identify invalid ones. I was able to spend 2-3 months with code and improving Floating Apps and still was able to see all changes made by translators.</li>
<li>Thanks to the integration, automation, and <a href="/docs/android/only-ota-updates-that-really-work">OTA updates</a>, I no longer need to postpone new releases because they are not completely translated yet.</li>
<li>No final translations approach - my users can keep improving even the existing translations and I can review all changes through the review process. This is very important as development and translation are evolving and continuous processes.</li>
</ol>
<p><strong>Describe the process of introducing Localazy to your product. Did you face any challenges or issues? How have you overcome them?</strong></p>
<p>It was completely straightforward to get Localazy integrated with the app. I invested extra time to refactor a lot of old code to replace my old language selector with the new one based on the <a href="/docs/android/localazy-android-library">Localazy Android library</a>. It allows me to dynamically add languages with no changes to the code.</p>
<p>I also needed to do a few minor improvements because my app is very complicated - it uses a long-running background service that is run in another process. However, Localazy is ready for this situation too, so it was a pleasure.</p>
<p>I was glad to be able to throw out my old language selector because it wasn’t reliable for some users, and since I switched to Localazy, no single complaint arrived about accidental language changes!</p>
<p><strong>What’s best about bringing Localazy to your product?</strong></p>
<p>Peace of mind! That is the most important benefit for me. I no longer have to stress and worry about translations, their quality, and distribution/updating.</p>
<p>For my users, it’s definitely the fast updates and releases.</p>
<p><strong>Would you like to share any statistics? Number of team members working on the project, number of lines of code, number of languages available, number of contributors to localization, etc.?</strong></p>
<p>We are a team of two - there’s me, the developer &amp; self-made app marketer, and my wife on maternity leave, who is working mostly on customer support responding to every single comment, email, and any other feedback.</p>
<p><strong>The numbers:</strong></p>
<ul>
<li>The app has around 170.000 lines of code mostly in Java, but all new features are written in Kotlin.</li>
<li>We’ve responded to over 60.000 comments, ratings, emails, and tickets.</li>
<li>We receive up to 50 new emails every single day.</li>
<li>There are 10 million downloads worldwide. I guess it’s a nice success.</li>
<li>The app is available in 30 languages and almost half of them don’t use the Latin alphabet. Additional 5 languages are currently translated only partly, so I haven’t made them available publicly yet.</li>
<li>Almost 200 awesome people helped me with translating the app to more languages over the last few years.</li>
</ul>
<h2 id="in-conclusion" id="in-conclusion">✔️ In conclusion… <a class="markdownit-header-anchor" href="#in-conclusion">🔗</a></h2>
<p><strong>Do you have any tips or advice you’d like to share with our readers?</strong></p>
<p>Start with the localization of your app early. It’s better to think about it from the very beginning. Follow best practices - don’t misuse plurals, use string interpolation over concatenation, design your layouts for RTL, count with different string lengths, etc.</p>
<p>For sure, bring Localazy onboard early too, and offload all the legwork. It’s not worth your time to invest it into something that is already solved in such an awesome way.</p>
<h2 id="you-might-like" id="you-might-like">🥰 You might like: <a class="markdownit-header-anchor" href="#you-might-like">🔗</a></h2>
<ul>
<li>Get inspired by Floating Apps! Learn <a href="/tags/floating-windows">how to implement floating windows</a> into your Android app!</li>
<li>Case Study: See how easy it was to <a href="/blog/how-i-converted-floating-apps-to-localazy">integrate Localazy</a> with Floating Apps!</li>
<li><a href="/blog/so-you-are-lazy-but-are-you-local-smart">How to start with Android localization</a> - for lazy developers <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/></li>
</ul>
<!--kg-card-end: html--><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Petr Hodný</author>
            <enclosure url="https://directus9.localazy.com/assets/2ae82efd-a51d-47c4-ad4c-6a9fe81cbc30" length="0" type="image//assets/2ae82efd-a51d-47c4-ad4c-6a9fe81cbc30"/>
        </item>
        <item>
            <title><![CDATA[Battery Guru - for healthy battery life]]></title>
            <link>https://localazy.com/blog/battery-guru-healthy-battery-life</link>
            <guid isPermaLink="false">battery-guru-healthy-battery-life</guid>
            <pubDate>Tue, 02 Apr 2024 17:41:17 GMT</pubDate>
            <description><![CDATA[Battery Guru is one of the perfect and well-designed solutions for monitoring your battery, getting application usage, finding the top drainer, giving you advice on how to take care of your battery and get the most of it. Check out how its author, Danijel Markov, localized the app to more languages.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h1 id="what-is-battery-guru">What is Battery Guru</h1>
<p>Besides all of that, Battery Guru displays <strong>battery usage information</strong>, measures <strong>battery capacity (mAh)</strong>, show estimates, and helps you change your charging habits with useful tips to prolong battery life and increase its lifespan.</p>
<p>🏆 Designed to keep the battery in the best condition and bring it a healthy life
⭐ Taking care of battery health and optimise its performance
❤ Showing the health of your battery</p>
<h2 id="how-did-it-all-start" id="how-did-it-all-start">How did it all start? <a class="markdownit-header-anchor" href="#how-did-it-all-start">🔗</a></h2>
<p>First and a general idea of the app was showing basic battery info to the user, then I found a good potential in this app. Out of nowhere, people started downloading it and dropping suggestions; at one time, my TO-DO list was pretty long, so I decided, now or never. In just one year (now), I managed to have 300k+ downloads and counting without single paid promotion. Now we are here; <strong>in 80% of countries, Battery Guru can be found in the top 10 battery apps on PlayStore</strong>.</p>
<h2 id="why-should-people-use-battery-guru" id="why-should-people-use-battery-guru">Why should people use Battery Guru? <a class="markdownit-header-anchor" href="#why-should-people-use-battery-guru">🔗</a></h2>
<p>People love how I manage things, from listening to their suggestions to regular updates, which sometimes happen a few times a month. Features of the app are based on multiple and extended tests with a wide range of testers. Place suitable for dropping your opinion and where all happens (suggestions, bug reports, testing, cooperation…) is this <strong><a href="https://t.me/Paget96_Projects">Telegram Group</a>.</strong></p>
<p>This is our community, where you can get the most answers; if no, you can always tag me and get it fast. You can rarely find this for any other app. Usually, it’s going over some filled forms, emails or even don’t have a way to ask questions, give suggestions or report a bug, and when you do, it can last for a couple of days.</p>
<p>Unlike others, problem-solving is pretty fast, people help each other, and there is also an off-topic. Such a healthy community and everyone is welcome.</p>
<p>Let’s go back to Battery Guru itself, PlayStore is a place full of “such” apps, but if you take a look closer, 90% of them are just well-advertised applications that do nothing other than sucking your battery. I want to stop that and show people how some decent projects look like and what they actually can do with them. Battery Guru offers the most of the things, well-baked features, and its service is power efficient. You can use the app that can be used in many aspects.</p>
<p>There are several quality categories of USB cables you use every day to charge a device; with Battery Guru, you can quickly check how much power passes through it and decide whether it is good or bad. The same thing means for chargers. Measure the charging current (in mA) to find out! The app will show you max current achieved while charging.</p>
<p>There is a very high amount of features, and my advice is to try it, download from <strong><a href="https://play.google.com/store/apps/details?id=com.paget96.batteryguru">Play Store</a>.</strong></p>
<h2 id="how-do-you-advertise-your-app-from-where-all-good-reviews" id="how-do-you-advertise-your-app-from-where-all-good-reviews">How do you advertise your app, from where all good reviews? <a class="markdownit-header-anchor" href="#how-do-you-advertise-your-app-from-where-all-good-reviews">🔗</a></h2>
<p>Most people ask me where all of those, how much I spent per month on advertising, do I buy reviews?
Simple answer, no, people like how I behave with them, holds the situation and how fast we all become friends. None of the people who talked with me has anything negative to say about it; good things always spread; that’s the fact.</p>
<h2 id="do-you-have-any-other-projects-worthy-of-mention" id="do-you-have-any-other-projects-worthy-of-mention">Do you have any other projects worthy of mention? <a class="markdownit-header-anchor" href="#do-you-have-any-other-projects-worthy-of-mention">🔗</a></h2>
<p>Battery Guru is not my first project. Before I started it, I was working on a world-famous optimization app <strong>L Speed</strong>. This app caused a boom in the rooted world of Android. People massively downloaded it to optimize their older devices.</p>
<p>After just three years on the Play Store app passed three million downloads with a rating of 4.6; soon after (half a year), the app was removed from the store because of a violation of some new and updated policy of what apps can and cannot touch on the devices.</p>
<p>Since L Speed was tweaking and a kernel modifier app, Google’s opinion was risky to be on PlayStore and removed. The project is still updating (but significantly lesser). You can also find a lot of content on YouTube and Google itself.
Until then, I made many good connections with people, the same attitude, and the same behaviours. After removal, I lost everything, my job, earnings and was on zero. This was a time for new things; in a short period, I have developed six more apps found on my <a href="https://play.google.com/store/apps/dev?id=6924549437581780390&amp;hl=en">Developer Profile</a> on PlayStore.</p>
<p>When people heard what happened, many of them shared my stuff, helped me build a community from the beginning, and brought me back where I belong.</p>
<p>Battery Guru holds a good position and rank on PlayStore with ~5k of reviews and 300k+ downloads and counting.</p>
<iframe width="100%" height="460" src="https://www.youtube.com/embed/iRUVyhfAr4Q" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h2 id="what-about-multilingual-support" id="what-about-multilingual-support">What about multilingual support? <a class="markdownit-header-anchor" href="#what-about-multilingual-support">🔗</a></h2>
<p>All of my apps are multilingual. I have been in this job for five years now, and I’m struggling with translations since the beginning.</p>
<blockquote>
<p>People keep asking when it will support Spanish, Turkish, Russian and so on, where I can say I was pretty upset because I have to do all alone, from app design, coding, bug report approvals, user support, etc. on. Aside from all of that, I sent plenty of emails to people who want to help translate, asking in review responses on PlayStore, in my community groups. It was so inefficient time-wasting way and led to formatting issues misreadings.</p>
</blockquote>
<p><strong>I was seeking a solution, all I found was free trials with high prices for my standard here, generally expensive tools for my needs or they require per month paying for using their services, Okay, I pay one month, upload 2000 phrases and what then, I have to pay again and again for the same amount. I was so unhappy returning to my usual way of doing it (for the 10th time).</strong></p>
<p>Some weeks ago I found something and fell in love with it.</p>
<blockquote>
<p>Localazy, the most perfect and efficient way to do translations of the applications. It offers <a href="/pricing">200 source language strings for free</a>; it uses a one-time paying system and uses referral links and rewards for every new user. Pricing is so cheap for what it offers, and I hope all will remain the same.</p>
</blockquote>
<p>One of the things I like pretty much is a well-optimized site for mobile devices; I can check everything from bed before sleeping.</p>
<p><img src="https://directus9.localazy.com/assets/f84cb471-2ff3-4bed-98d7-cb3d703f6cc6" alt="manage translations from phone"></p>
<p>People are satisfied. A lot of them opt to translate on the first day I have announced it. They found it a comfortable, easy and fast way to support me.</p>
<h2 id="words-about-localazy-from-my-translators" id="words-about-localazy-from-my-translators">Words about Localazy from my translators? <a class="markdownit-header-anchor" href="#words-about-localazy-from-my-translators">🔗</a></h2>
<ul>
<li>An easy way of translating apps, we also found other devs and exciting apps on Localazy.</li>
<li>Even if we don’t know the meaning of some words or find it a bit difficult to translate to our native language, there are helpers at the bottom which show translations from other apps.</li>
<li>One functional and useful feature is <a href="/docs/general/what-is-localazy-sharetm">machine translation</a> which helps me easily translate, even some strings are already translated.</li>
</ul>
<h2 id="what-i-have-to-say-about-localazy" id="what-i-have-to-say-about-localazy">What I have to say about Localazy? <a class="markdownit-header-anchor" href="#what-i-have-to-say-about-localazy">🔗</a></h2>
<p>From my side, as a developer, I found it as a professional <a href="/benefits">localisation tool</a> that solves all of my issues.</p>
<p>When I added my strings, the first impression was that 1000 free strings could cover 3 of my apps at the moment. Easy setup, I had many questions when I started using it, so Localazy owner and his employers helped me solve it all in about 24h (they were so user friendly).</p>
<p>From things Localazy offers, I am using the <a href="/docs/android/gradle-plugin-faq">Gradle Plugin</a> and <a href="/docs/cli/the-basics">CLI</a> in my app implementation to manipulate strings easily. One day I will see with the Localazy team to write about my implementation and how I’m using it.</p>
<p>What else to say? I will continue using it and also try to open eyes to other developers. Good things should spread, don’t waste your time, get Localazy. <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/></p>
<!--kg-card-end: html--><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://directus9.localazy.com/assets/2a592f7b-762a-4d08-b966-be9574396b36" length="0" type="image//assets/2a592f7b-762a-4d08-b966-be9574396b36"/>
        </item>
        <item>
            <title><![CDATA[Kopply - The business card that plants trees]]></title>
            <link>https://localazy.com/blog/case-study-kopply-business-card-plants-trees</link>
            <guid isPermaLink="false">case-study-kopply-business-card-plants-trees</guid>
            <pubDate>Tue, 02 Apr 2024 17:40:02 GMT</pubDate>
            <description><![CDATA[Read a story of Kopply, a digital business card which plants trees!]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you ever wondered about business cards in your pocket or those forgotten in a drawer? Every other day one can think of a different design, need to change the contents, not mentioning those physical business cards are nowadays, honestly, sort of deprecated practice when it comes to sharing contacts with your business peers. Professional connections sharing now happens online and business cards as we have known them for decades also changed their contents to comply with a modern world.</p>
<p>Although physical business cards still have some value, especially those creative ones which can be even helpful, now you can keep all your contacts in digital databases and have them by hand immediately.</p>
<p>We are proud to introduce you to <strong><a href="https://kopply.com/">Kopply</a></strong>, a digital replacement for the paper business card, which, on top of that, plants trees! We have interviewed the founder of Kopply, Björn Wagner.</p>
<h4 id="hi-bjorn-who-are-your-users">Hi Björn, who are your users?</h4>
<p>Our users are all sorts of people who need to network effectively, from entrepreneurs and small businesses to salespeople. If you have ever been handed a business card or gave your own, Kopply will be a helpful app for you when you are <a href="https://medium.com/kopplyhq/tell-the-world-about-your-new-business-2cfe52008659">launching a new business</a>.</p>
<h4 id="when-you-start-a-new-business-you-should-always-start-with-a-question-of-why-whats-yours">When you start a new business, you should always start with a question of why. What’s yours?</h4>
<p>The wastefulness of printed business cards is not just here in Germany (a country that loves unnecessary paperwork) but an enormous global problem. In fact, over <a href="https://www.cleantechloops.com/business-cards-environment/">100 billion business cards</a> are printed each year. That’s more than 6 Million trees each year, tons of CO2 emissions, chemicals and hundreds of litres of water wastage. It’s enough to make us cringe when realizing the low business value of these throw-away cards that weren’t even worth the effort to type and save a name and email address when you know you could google it later. These are big numbers, and they represent an impact more significant than just you and me. But like every environmental initiative, we as global citizens have to start somewhere. So we dogfooded <em>Kopply</em> to alleviate this issue and help to revert it by helping more individuals.</p>
<h4 id="how-kopply-makes-my-life-easier">How Kopply makes my life easier?</h4>
<p><strong><em>Saying “No” to printed cards — Why are digital business cards your better choice?</em></strong></p>
<p>With your digital business card, you can <strong>offer a professional introduction</strong> right in the hands of your new clients. Gain an immediate engagement and wow factor — all while <strong>maintaining your sustainable business values</strong>.</p>
<p>Your digital business card is <strong>always at hand, ready to scan a QR code on your phone or insert as a link into any email or professional content</strong>. Your client loads your card immediately (most phones already have integrated QR scanners in the standard camera function) and is presented with your smiling face in their hands. Your contact information is ready to use immediately without typing and re-typing it from a printed card. In one click, they are on your website, or your social media page, sending you an immediate email or saving your contact details to follow up later.</p>
<blockquote>
<p>It’s that easy. A wow-factor, immediate connection and professionally representing your business identity.</p>
</blockquote>
<iframe width="100%" height="460" src="https://www.youtube.com/embed/K0NuytS5nLw" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h4 id="how-do-you-perceive-the-role-of-localization-of-kopply-in-user-adoption">How do you perceive the role of localization of Kopply in user adoption?</h4>
<p>In the beginning, we thought it would be enough to offer the app in English, but we quickly realized that especially on the German market, people expect you to support German too. The same will most probably apply to other countries, such as your country, Czechia, where people are used to everything in their native language.</p>
<h4 id="how-is-localazy-used-in-your-product-integrations-used-new-markets-approached-maybe-youd-want-to-share-your-perspective-on-software-localization">How is Localazy used in your product? Integrations used, new markets approached. Maybe you’d want to share your perspective on software localization?</h4>
<p>We use Localazy to translate our mobile and web application into other languages. Before we started using your service, this was a very time consuming and error-prone process. Now, we can even use our network to help us translate the app into many different languages.</p>
<h4 id="why-did-your-team-decide-to-use-localazy-for-app-localization-and-what-alternatives-did-you-consider">Why did your team decide to use Localazy for app localization, and what alternatives did you consider?</h4>
<p>Honestly spoken, we were doing it by hand because we weren’t aware of such a service. We use <a href="/flutter">Flutter</a> and follow their standard best practice to integrate Kopply with Localazy. Translation of our products became a collaborative process, and even people with no technical knowledge could start helping us translate the product. We can ask friends to review the translations, and we can automate it.</p>
<h4 id="what-are-your-favourite-localazy-features-and-why">What are your favourite Localazy features and why?</h4>
<p><strong>Ease of use:</strong> You upload one file, and other files will be created with the same structure. We upload our files using <a href="/blog/automated-localization-github-actions-localazy">GitHub Actions</a> every time we push a changed language file into the repo.</p>
<p><strong>Collaboration:</strong> It’s super fast and powerful to invite users to the product and let them help you with the translations.</p>
<p><strong>Automatic translations:</strong> Even though we look over every translation, it’s already a good thing that your files will be translated by default, and you only have to re-align it a bit.</p>
<p><strong>Pricing:</strong> Maybe not a classic “feature”, but I really enjoy the one-time payments.</p>
<h4 id="do-you-have-any-tips-or-advice-youd-like-to-share-with-our-readers">Do you have any tips or advice you’d like to share with our readers?</h4>
<p>There are tons of things you can think of when you want to develop an app. I18n might not have the highest priority on your list, but if you spend a little time beginning with the implementation, you won’t have to replace all your text once you want to support more than one language.</p>
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">My dream is to have one place where I can update my <a href="https://twitter.com/hashtag/contactinformation?src=hash&amp;ref_src=twsrc%5Etfw">#contactinformation</a> if something changes.<a href="https://twitter.com/hashtag/networking?src=hash&amp;ref_src=twsrc%5Etfw">#networking</a> <a href="https://twitter.com/hashtag/contactmanagement?src=hash&amp;ref_src=twsrc%5Etfw">#contactmanagement</a> <a href="https://t.co/RwpCj9s0p8">pic.twitter.com/RwpCj9s0p8</a></p>&mdash; KopplyHQ (@KopplyHQ) <a href="https://twitter.com/KopplyHQ/status/1351485822139297794?ref_src=twsrc%5Etfw">January 19, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<h4 id="call-to-action-for-localazy-users">Call to action for Localazy users</h4>
<p>Here at Localazy, we really value innovative ideas getting into the shape. For that reason, we have decided to support Kopply on their journey to produce less waste and more value for every person and the environment. Kopply is 100% bootstrapped, and they do deserve big support. Are you an early adopter? Get your fresh Kopply card today and use it on the go from your phone or in the comfort of your workplace using Kopply browser addon.</p>
<p><strong>Follow Kopply on Twitter:</strong> <a href="https://twitter.com/kopplyhq">https://twitter.com/kopplyhq</a></p>
<p><strong>Download Kopply App:</strong> <a href="https://kopply.com">kopply.com</a></p>
<h2 id="bjorn-wagner-founder" id="bjorn-wagner-founder">Björn Wagner, Founder <a class="markdownit-header-anchor" href="#bjorn-wagner-founder">🔗</a></h2>
<p>Björn loves to build and try new things out. He had studied business administration but found his real passion when he wrote his first lines of code.</p>
<!--kg-card-end: html--><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Localazy Team</author>
            <enclosure url="https://directus9.localazy.com/assets/916a106d-2b0d-4105-8e4f-4c54945b3b39" length="0" type="image//assets/916a106d-2b0d-4105-8e4f-4c54945b3b39"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Meet the Virtual Translator]]></title>
            <link>https://localazy.com/blog/release-update-meet-virtual-translator</link>
            <guid isPermaLink="false">release-update-meet-virtual-translator</guid>
            <pubDate>Mon, 30 Jan 2023 11:05:41 GMT</pubDate>
            <description><![CDATA[We have some great news for you! Check out latest release update on multilingual app development with Localazy.]]></description>
            <content:encoded><![CDATA[<p>You are our most influential decision-maker. Within today’s release, you will find out a whole plethora of <a href="https://improve.localazy.com/">improvements</a>.</p><h3 id="edit-source-language-from-ui">🔗 Edit source language from UI <a class="markdownit-header-anchor" href="#edit-source-language-from-ui">🔗</a></h3><p>Many of you asked us to allow you to <a href="https://localazy.com/docs/general/editing-source-language">edit source language phrases directly from Localazy UI</a>. Now it is done, and you can enjoy this productivity improvement.</p><h3 id="show-translation-progress-during-translation-and-review">⏩ Show translation progress during translation and review <a class="markdownit-header-anchor" href="#show-translation-progress-during-translation-and-review">🔗</a></h3><p>It is hard to continue with the translation game when one does not know how much work is done and how much work remains. Now, translators can see how close they are to finish.</p><h3 id="virtual-translator-is-available">🥳 Virtual Translator is available <a class="markdownit-header-anchor" href="#virtual-translator-is-available">🔗</a></h3><p>Virtual Translator - <a href="https://localazy.com/dictionary/hamt">human-assisted machine translations</a>. It automatizes <em>app localization</em> using neural network translations and our unique <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a> with a quality assured by human touch. The quality is way better than bare machine translations and the price is lower than for professional translators. It’s a perfect match for cheaper initial localization of your software into more languages.</p><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/062e7892-49a7-4274-a009-aada5fadae53" class="kg-image" alt="Learn more about Virtual Translator" loading="lazy"></figure><blockquote><strong>Virtual Translator</strong> is a service offered by our <strong>Continuous Localization Team</strong>. <a href="/docs/general/continuous-localization-team">Learn more in the documentation</a>.</blockquote><h3 id="display-stats-for-online-services">📊 Display stats for online services <a class="markdownit-header-anchor" href="#display-stats-for-online-services">🔗</a></h3><p>Get an insight into how online services such as OTA updates or Virtual Translator are used. You can find your stats in the Marketplace!</p><h3 id="get-dollar50-for-an-interview">💸 Get $50 for an interview <a class="markdownit-header-anchor" href="#get-dollar50-for-an-interview">🔗</a></h3><p>Do you like Localazy and would you love to feature your product and share how Localazy fits into your tech stack and business? <a href="/community/shake-hands/publish-interview">Fill in the interview application form</a> and get featured on our blog. Once your interview is published, you will get $50 to enjoy paid features of Localazy.</p><h3 id="from-the-backlog">🗃️ From the backlog <a class="markdownit-header-anchor" href="#from-the-backlog">🔗</a></h3><ul><li>Fixed LOC-1552 - Highlight glossary items from connected projects</li><li>Fixed LOC-1885 - Add timestamp to user contributions table</li><li>Fixed LOC-379 - SPA mobile fixes and Tailwind typography</li><li>Fixed LOC-1797 - Improve phrase limit reached UX in the marketplace</li><li>Fixed LOC-1711 - Change links on user profile to icons</li><li>Fixed LOC-1929 - Display custom comment in translation/review</li></ul><h3 id="localazy-in-top-50-dev-tools-of-2020-by-stackshare">🤗 Localazy in TOP 50 dev tools of 2020 by StackShare <a class="markdownit-header-anchor" href="#localazy-in-top-50-dev-tools-of-2020-by-stackshare">🔗</a></h3><p>We are pleased to announce that the developer community on StackShare  <a href="https://stackshare.io/posts/top-developer-tools-2020">rated Localazy to 50 dev tools of 2020</a>.</p><h4 id="-are-you-on-stackshare">👩‍💻 Are you on StackShare?</h4><ul><li><a href="https://stackshare.io/localazy">Let other developers know that Localazy is a part of your tech stack.</a></li></ul><h3 id="enjoy-podcast-with-daniel-by-scaleway">🎙️ Enjoy podcast with Daniel by Scaleway <a class="markdownit-header-anchor" href="#enjoy-podcast-with-daniel-by-scaleway">🔗</a></h3><ul><li><a href="https://blog.scaleway.com/startup-stories-22-localazy/">Interview with Daniel, Business Development &amp; Lead Front-end Developer at Localazy</a></li></ul>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/0a6ab118-69c8-45a8-9cd1-34f3ceee8057" length="0" type="image//assets/0a6ab118-69c8-45a8-9cd1-34f3ceee8057"/>
        </item>
        <item>
            <title><![CDATA[Flutter Force Developers Tips #105]]></title>
            <link>https://localazy.com/blog/flutter-force-developers-tips-105</link>
            <guid isPermaLink="false">flutter-force-developers-tips-105</guid>
            <pubDate>Mon, 25 Jan 2021 09:01:46 GMT</pubDate>
            <description><![CDATA[What is new Flutter World? Have a look!]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h1 id="flutterforce-week-105">FlutterForce — #Week 105</h1>
<p><img src="https://miro.medium.com/max/1400/0*kUGbS28zc7SFxcXa.png" alt="Image for post"></p>
<p>Production of FlutterForce — #Week105 supported by <a href="https://localazy.to/flutterforce98">*Localazy.com</a>, the modern way of <a href="https://localazy.to/flutterforce98">multilingual development for Flutter apps*</a></p>
<p><img src="https://miro.medium.com/max/992/0*V2tzca-SMRBxbiMQ.png" alt="Image for post"></p>
<h1 id="huge-upgrade-for-your-flutter-animations">- Huge upgrade for your Flutter animations</h1>
<p>With the today’s release of <a href="https://pub.dev/packages/simple_animations"><em>Simple Animations</em></a> 2.5.0 a lot of new features coming to all Flutter developers.</p>
<p>The last months I <em>challenged</em> <em>myself</em> in doing really <em>complex</em> <em>animations</em> and tried to use the existing tooling of the simple_animations package. I figured out, there was some room for improvements. <a href="https://medium.com/u/f475f3b176df?source=post_page-----da0de45d2648--------------------------------">Felix Blaschke</a></p>
<p>(<a href="https://felixblaschke.medium.com/huge-upgrade-for-your-flutter-animations-98d73ee6a714">https://felixblaschke.medium.com/huge-upgrade-for-your-flutter-animations-98d73ee6a714</a>)</p>
<h1 id="bloc-rest-api">- bloc_rest_api</h1>
<p>A flutter package to easily interegrate and manage REST APIs. Now all you need to do is create a model class and all the rest is taken care of. <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/></p>
<p>(<a href="https://pub.dev/packages/bloc_rest_api">https://pub.dev/packages/bloc_rest_api</a>)</p>
<h1 id="bloc-provider-riverpod-support-parabeac-core-v13">- BLoC, Provider, &amp; Riverpod Support- Parabeac-Core v1.3</h1>
<p>We continue to receive great feedback from the Parabeac Core community on how to make our <a href="https://github.com/">design to Flutter code converter</a> better. Our community told us that they need the code output to configure with their preferred state management architecture.</p>
<p>(<a href="https://dev.to/parabeac/bloc-provider-riverpod-support-parabeac-core-v1-3-29pj">https://dev.to/parabeac/bloc-provider-riverpod-support-parabeac-core-v1-3-29pj</a>)</p>
<h1 id="app-bar-deep-dive-google-podcasts-app">- App Bar Deep Dive — Google Podcasts App</h1>
<p>In this video we’ll progressively build up the “Explore” page from the Google Podcasts app. The goal is that you understand along the way, why each element in the implementation is necessary to get the AppBar that we’re after.</p>
<p>(<a href="https://github.com/AlabasterAxe/google_podcasts_clone">https://github.com/AlabasterAxe/google_podcasts_clone</a>)</p>
<h1 id="date-field">- date_field</h1>
<p>Contains DateTimeField and DateTimeFormField which allows the user to pick a DateTime from an input field! Depending on the mode, it can ask the user the time, the date or both at the same time <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/> !</p>
<p>(<a href="https://pub.dev/packages/date_field">https://pub.dev/packages/date_field</a>)</p>
<h1 id="flutter-tutorial-page-transition-shared-axis-animation">- Flutter Tutorial — Page Transition — Shared Axis Animation</h1>
<p>Let’s create a beautiful shared axis transition animation for pages &amp; widgets in Flutter.</p>
<p>(<a href="https://github.com/JohannesMilke/animations_sharedaxis_example">https://github.com/JohannesMilke/animations_sharedaxis_example</a>)</p>
<h1 id="flutter-how-to-measure-widgets">- Flutter: How to measure Widgets</h1>
<p>One of the trickier things to do in Flutter is to get the size of things.</p>
<p>(<a href="https://blog.gskinner.com/archives/2021/01/flutter-how-to-measure-widgets.html">https://blog.gskinner.com/archives/2021/01/flutter-how-to-measure-widgets.html</a>)</p>
<h1 id="floaty-head">- floaty_head</h1>
<p>One thing that i always love was the simplicity that messenger had using Chatheads.</p>
<p>(<a href="https://pub.dev/packages/floaty_head">https://pub.dev/packages/floaty_head</a>)</p>
<h1 id="how-the-worlds-biggest-journaling-app-uses-flutter-to-keep-their-dev-team-lean">- How the world’s biggest journaling app uses Flutter to keep their dev team lean</h1>
<p>Darius Mora is the Chief Marketing Officer at Reflectly, the world’s largest journaling app. He’s been focused on ASO, free marketing, paid user acquisition, and retention for both Android and iOS apps.</p>
<p>(<a href="https://podcasts.apple.com/us/podcast/ep-8-building-lean-growth-machine-for-worlds-largest/id1538057974?i=1000505944813">https://podcasts.apple.com/us/podcast/ep-8-building-lean-growth-machine-for-worlds-largest/id1538057974?i=1000505944813</a>)</p>
<h1 id="ep-002-what-is-processing-flutter-processing">- Ep. 002 — What is Processing? | Flutter Processing</h1>
<p>Before we begin porting Processing to Flutter, let’s look at a few Processing examples to understand what it is.</p>
<p>(<a href="https://www.youtube.com/watch?v=S04DAiYTARg">https://www.youtube.com/watch?v=S04DAiYTARg</a>)</p>
<h1 id="wakelock">- Wakelock</h1>
<p>Wakelock is Flutter plugin that allows you to keep the device screen awake, i.e. prevent the screen from sleeping.</p>
<p>(<a href="https://github.com/creativecreatorormaybenot/wakelock">https://github.com/creativecreatorormaybenot/wakelock</a>)</p>
<h1 id="flings-a-things-style-todo-list-app-written-in-flutter">- Flings — A Things-style todo list app written in Flutter</h1>
<p>In this series, I’ll be using Flutter to build a production-quality Todo list app.</p>
<p>(<a href="https://github.com/ptrbrynt/flings-flutter">https://github.com/ptrbrynt/flings-flutter</a>)</p>
<h1 id="debugging-flutter-apps-in-the-cloud">- Debugging Flutter Apps in the cloud</h1>
<p>Sometimes your app behaves badly. In the worst cases, it even can be crashed.</p>
<p>In such a case you need to <em>debug</em> your app. The simplest and most popular way to debug is to look at the application <em>logs</em>. It’s a text output from your app. This output comprises the output of your code (like print() method calls) as well as from the output of libraries you are using. by <a href="https://medium.com/u/e6c596a1674b?source=post_page-----da0de45d2648--------------------------------">Myroslava Drobnych</a></p>
<p>(<a href="https://mdrobnych.medium.com/debugging-flutter-apps-in-the-cloud-f6432fb7bdb7">https://mdrobnych.medium.com/debugging-flutter-apps-in-the-cloud-f6432fb7bdb7</a>)</p>
<h1 id="mailto">- mailto</h1>
<p>Simple Dart package for creating mailto links in your Flutter and Dart apps</p>
<p>(<a href="https://pub.dev/packages/mailto/versions/2.0.0-nullsafety.0">https://pub.dev/packages/mailto/versions/2.0.0-nullsafety.0</a>)</p>
<h1 id="introducing-the-ably-flutter-plugin">- Introducing the Ably Flutter plugin</h1>
<p>A <a href="https://flutter.dev/">Flutter</a> plugin wrapping the <a href="https://github.com/ably/ably-cocoa">ably-cocoa</a> (iOS) and <a href="https://github.com/ably/ably-java">ably-java</a> (Android) client library SDKs for <a href="https://ably.io/">Ably</a><em>, the realtime data delivery platform.</em></p>
<p>Ably provides the best infrastructure and APIs to power realtime experiences at scale, delivering billions of realtime messages everyday to millions of end users. We handle the complexity of realtime messaging so you can focus on your code.</p>
<p>(<a href="https://pub.dev/packages/ably_flutter_plugin">https://pub.dev/packages/ably_flutter_plugin</a>)</p>
<h1 id="providing-operating-system-compatibility-on-a-large-scale">- Providing operating system compatibility on a large scale</h1>
<p>In this article, Flutter’s core development team (we) want to share why we invest in supporting multiple platforms, how we can keep supporting multiple platforms, and how we make decisions when it comes time to add support for new platforms or drop support for old platforms. by <a href="https://medium.com/u/95debe19f9f3?source=post_page-----da0de45d2648--------------------------------">Ray Rischpater, KF6GPE</a></p>
<p>(<a href="https://medium.com/flutter/providing-operating-system-compatibility-on-a-large-scale-374cc2fb0dad">https://medium.com/flutter/providing-operating-system-compatibility-on-a-large-scale-374cc2fb0dad</a>)</p>
<h1 id="flutter-clean-code-how-to-structure-widgets-in-flutter">- Flutter Clean Code | How to structure Widgets in Flutter</h1>
<p>In this video I show you how to take an existing codebase with repetitive widgets and refactor it into a more concise and easy to read codebase</p>
<p>(<a href="https://www.youtube.com/watch?v=AK01gcM6Xbc">https://www.youtube.com/watch?v=AK01gcM6Xbc</a>)</p>
<h1 id="validating-your-login-form-in-flutter">- Validating Your Login Form in Flutter</h1>
<p>We’ll take a look at validating your authentication form in Flutter using the Authy sample app.</p>
<p>(<a href="https://github.com/nhandrew/authy">https://github.com/nhandrew/authy</a>)</p>
<h1 id="beamer">- beamer</h1>
<p>Handle your application routing, synchronize it with browser URL and more. <code>Beamer</code> uses the power of Navigator 2.0 features and implements all the underlying logic for you.</p>
<p>(<a href="https://pub.dev/packages/beamer">https://pub.dev/packages/beamer</a>)</p>
<h1 id="flutter-101-podcast">- Flutter 101 Podcast</h1>
<p>Weekly podcast focusing on software development with Flutter and Dart. Hosted by Vince Varga.</p>
<p>(<a href="https://flutter101.dev/">https://flutter101.dev/</a>)</p>
<h1 id="microbenchmarking-dart-part-1">- Micro​benchmarking Dart (Part 1)</h1>
<p>In the past few months I have started receiving more and more questions about performance of some specific Dart operations. Here is an example of such a question asked by <a href="https://twitter.com/lets4r">Romain Rastel</a> in the context of his work on <a href="https://github.com/flutter/flutter/issues/71900">improving performance of ChangeNotifier</a> in Flutter.</p>
<p>(<a href="https://mrale.ph/blog/2021/01/21/microbenchmarking-dart-part-1.html">https://mrale.ph/blog/2021/01/21/microbenchmarking-dart-part-1.html</a>)</p>
<h1 id="on-device-machine-learning-train-and-run-tensorflow-lite-models-in-your-flutter-apps">- On Device Machine Learning: Train And Run TensorFlow Lite Models In Your Flutter Apps</h1>
<p>Build, Train, and Run an Image Classifier Neural Network using Deep Transfer Learning in TensorFlow and Keras by <a href="https://medium.com/u/fc77409214aa?source=post_page-----da0de45d2648--------------------------------">Yashwardhan Deshmukh</a></p>
<p>(<a href="https://medium.com/google-cloud/on-device-machine-learning-train-and-run-tensorflow-lite-models-in-your-flutter-apps-15ea796e5ad4">https://medium.com/google-cloud/on-device-machine-learning-train-and-run-tensorflow-lite-models-in-your-flutter-apps-15ea796e5ad4</a>)</p>
<h1 id="thanks-for-reading">Thanks for reading!</h1>
<p>Leave a comment below or <em>tweet</em> me if with any questions/suggestions, or adding resources.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Ümit Duran</author>
            <enclosure url="https://directus9.localazy.com/assets/d3eff128-1fd3-4087-8596-dafbb0f3650e" length="0" type="image//assets/d3eff128-1fd3-4087-8596-dafbb0f3650e"/>
        </item>
        <item>
            <title><![CDATA[So, you are lazy, but are you local smart?]]></title>
            <link>https://localazy.com/blog/so-you-are-lazy-but-are-you-local-smart</link>
            <guid isPermaLink="false">so-you-are-lazy-but-are-you-local-smart</guid>
            <pubDate>Tue, 19 Jan 2021 17:22:41 GMT</pubDate>
            <description><![CDATA[Read a story from Ketu Imevbore on how you can become local smart while keeping yourself lazy.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>It was one of the greatest minds who ever lived Socrates who said “Man Know Thyself”, such a simple quote but Everly so powerful once truly understood.</p>
<p>The truth is, it’s only in the knowledge of yourself that you know what works for you, and as developers, we are lazy (lol yeah nobody wants to admit it, but when it comes to it, whatever will save us writing that extra line of code we’ll take it! lol) see! Now you know yourself lol, and we know we’re lazy lol, breathe!</p>
<p>It’s not a bad thing, like Socrates said to know thyself, because we know we’re lazy that makes us plan around it, we’re constantly looking for ways to make our task easier, heck most of the <em><a href="https://localazy.com/docs/android/localazy-android-library">best Android libraries</a></em> are from folks who got tired of the manual ways of doing certain things and just created a faster code to get them done if anything you should own your laziness and make it work for you lol.</p>
<p>That being said, every <em>android developer</em> I know always wants to focus on the main task/logic to get their app working and ready to ship as soon as possible and really don’t have or want to spend their time on mundane tasks. One of those mundane tasks is <em><a href="https://localazy.com/blog/android-strings-xml-deprecated">Strings localization</a></em>.</p>
<p>We’ve all come to realize that while our apps can be super great, there is a lot of potential clients lost to language barriers out there; hence when we code our android apps, we begin adding strings translations to <em>localize our app</em> to various languages and open up those language barriers, this is something us android developers would normally have to write manually, usually we’ll go to our res folder and create new string files for each language we want to localize to and then translate each string one by one before building the app, What if I told you that’s a thing of the past, what if you didn’t have to manually create files and translate each string to the over 80+ international languages (Oh you didn’t even translate up to 80 languages? Don’t worry you will now) that exists, what if there was a simple plug and play solution.</p>
<iframe width="100%" height="480" src="https://www.youtube.com/embed/Bfmi-Bv2WAA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p>This is exactly <a href="https://localazy.com/benefits">why Localazy was created</a>, it is a simple <em><a href="https://localazy.com/dictionary/gradle">Gradle plugin</a></em> and play solution to help us android developers handle the issue of translating strings to a different locale, it’s a straightforward solution coupled with on the fly update, where you don’t have to update your strings and have to push changes to your live app on Playstore every time. So how does Localazy work?</p>
<p>In this article, I’ll be introducing you to the brave new world of handling your <em>Android app Strings localization automatically</em> using Localazy in just a few steps.</p>
<h2 id="1-sign-up" id="1-sign-up">1. Sign up <a class="markdownit-header-anchor" href="#1-sign-up">🔗</a></h2>
<p>Log on to <a href="http://www.localazy.com">www.localazy.com</a> to <a href="https://localazy.com/register">create a new user account</a>.</p>
<p><img src="https://directus9.localazy.com/assets/d1834ba5-f1f7-41e3-8bad-a2e966623dff" alt="Localazy app creation page"></p>
<h2 id="2-create-a-new-app" id="2-create-a-new-app">2. Create a new app <a class="markdownit-header-anchor" href="#2-create-a-new-app">🔗</a></h2>
<p>Log into your account and create a new app, you create the app you want to automatically handle its String localization here if you had already created an app, it’s also displayed here when you log in.</p>
<p><img src="https://directus9.localazy.com/assets/5d4666ea-0612-4029-b45b-b1464eaa5c5b" alt="Localazy"></p>
<h2 id="3-entering-details" id="3-entering-details">3. Entering details <a class="markdownit-header-anchor" href="#3-entering-details">🔗</a></h2>
<p>Enter app details, upon selecting create app you’ll get his page where you can enter the name of your app, which is used to generate a URL Slug for you to access your app easily, also you can choose to make your app public(Where everyone can help translate) or choose to make it private (where only invited contributors are allowed to contribute to the translations), another thing we can do here is to choose the source language(here we choose the language our strings are originally written in).</p>
<p>On the right side of the screen, we can select an image to upload to be used as our app icon, and now we’re all set, we click create.</p>
<p><img src="https://directus9.localazy.com/assets/a9339325-69c6-4a0b-8dfb-0c6832014fb4" alt="Localazy"></p>
<h2 id="4-select-platform" id="4-select-platform">4. Select Platform <a class="markdownit-header-anchor" href="#4-select-platform">🔗</a></h2>
<p>Select Platform, Localazy supports a ton of platforms for developers, note the option to invite a developer (That’s a pretty cool feature from Localazy, so if you’re not the right team member to implement the integration you can use the “INVITE DEVELOPER” option to invite them to come to handle the process), however as earlier indicated this example will be focused on using Localazy to handle string localization while building your android app; hence we’ll go ahead to click Android.</p>
<p><img src="https://directus9.localazy.com/assets/e7a2ce0a-ac45-4c02-bd3f-e088784f3b5e" alt="Localazy"></p>
<h2 id="5-gradle-plugin" id="5-gradle-plugin">5. Gradle plugin <a class="markdownit-header-anchor" href="#5-gradle-plugin">🔗</a></h2>
<p>Add Localazy Gradle plugin, we open android studio and insert Localazy repository and Gradle plugin into the buildscript section of the build.Gradle file in your project’s root directory.</p>
<p><img src="https://directus9.localazy.com/assets/5630d21e-31c1-41e6-8d2c-12a9684debb2" alt="Localazy"></p>
<h2 id="6-apply-plugin" id="6-apply-plugin">6. Apply plugin <a class="markdownit-header-anchor" href="#6-apply-plugin">🔗</a></h2>
<p>Apply plugin. First off we choose to push updated translations online to our app users or only to loyal users or not at all (This is a great feature as translations updated to users online means you don’t have to push a new update to your live app on Playstore each time you update translations).</p>
<p><img src="https://directus9.localazy.com/assets/439d3844-ea26-41e8-a435-075e852914c7" alt="Localazy"></p>
<p>Now we select what library our app uses then we can go ahead to copy the corresponding lines of code (here I believe most apps should be on ANDROIDX, however, if your app is not select one of the others that apply), we open our build.gradle file in our app’s module. We paste the apply the localazy plugin after the android{} alongside our localazy app read and write key copied from the platform.
Note that each app would have its own key.</p>
<h2 id="7-upload-your-strings" id="7-upload-your-strings">7. Upload your strings <a class="markdownit-header-anchor" href="#7-upload-your-strings">🔗</a></h2>
<p>Before we get to upload our strings, first we sync our Gradle with a good internet connection to allow for our localazy plugin to be applied(Localazy work with android studio build tools from 3.5.0 and above, if your build tools/android studio versions are old, you might have Gradle build failure and prompted to update your android studio and plugins to the latest versions, ensure good data connection and sync again).</p>
<p>After successful sync, we go to Gradle tool window double click localazy &gt; uploadStrings in the app’s module. This uploads all our defaults strings in our res folder to the app on Localazy platform, where we can create lots of translations for the string uploaded.</p>
<p><img src="https://directus9.localazy.com/assets/61f7e2d6-ae32-4c19-8d15-7c61cf2bafff" alt="Localazy"></p>
<h2 id="8-localazy-platform" id="8-localazy-platform">8. Localazy platform <a class="markdownit-header-anchor" href="#8-localazy-platform">🔗</a></h2>
<p>We can begin translation here on the Localazy platform after we’ve uploaded our strings from Gradle in the android studio. This section displays upload strings after you’ve already done that in android studio refresh the page, so it’s updated.</p>
<p><img src="https://directus9.localazy.com/assets/f4082254-16b3-4ec0-b154-0cf5cf9cb93b" alt="Localazy"></p>
<h2 id="9-translating-and-reviewing" id="9-translating-reviewing">9. Translating &amp; reviewing <a class="markdownit-header-anchor" href="#9-translating-and-reviewing">🔗</a></h2>
<p>Once the platform gets your strings, you can begin to add languages, here for each language added you get to verify by reviewing each word and either accepting and translation or even changing it.
The review would look like this; thus, you, the app developer still maintain absolute control of what translations are accepted or rejected.</p>
<p><img src="https://directus9.localazy.com/assets/3c59be9e-28d6-472e-b9b3-1a020ae4e238" alt="Localazy"></p>
<h2 id="10-publishing" id="10-publishing">10. Publishing <a class="markdownit-header-anchor" href="#10-publishing">🔗</a></h2>
<p>As soon as all phrases for that particular language are reviewed and accepted, the platform goes ahead to publish them, which means they are now available for download, so now you can go back to android studio and sync Gradle and load the run a new build to phone(always run the build with good internet connection otherwise Gradle build might fail if Localazy is not able to connect).</p>
<p><img src="https://directus9.localazy.com/assets/c451fecf-4b36-4501-ab1b-54306e7b85d1" alt="Localazy"></p>
<p>After a successful build, your app should be loaded with the latest strings, you can test this by switching your phone’s language to one of the localized strings on your app and then opening your app on your phone, it should display everything normally (as Localazy doesn’t touch your codebase) only difference now is the texts should be displayed in the selected language of the phone, which you have localized on the Localazy platform, an example is displayed below of an app in English and now in french and can be easily translated on the Localazy platform to any of the other numerous languages.</p>
<p><img src="https://directus9.localazy.com/assets/a7e83776-95ed-49ad-bcd5-a8b6f0b70922" alt="Localazy"></p>
<p>You can confirm that all other languages your app displays are from LocaLazy translations, by checking your res folder in the <em>android studio</em> you wouldn’t find any other set of strings except your default set.</p>
<p>Should you update/change your default set of strings, do remember to repeat the earlier mentioned step of uploading your strings from Gradle. Hence, the Localazy platform is aware to update changes.</p>
<p>Thanks for reading my article and welcome to the new, easy, automatic handling of string translation in android development. So you’re a lazy developer, but now you’re local smart! Go ye and focus on the important things while Localazy Handles your string localization!.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Imevbore Ketu</author>
            <enclosure url="https://directus9.localazy.com/assets/fe403bf4-2a5b-497c-a716-d1afd7019af1" length="0" type="image//assets/fe403bf4-2a5b-497c-a716-d1afd7019af1"/>
        </item>
        <item>
            <title><![CDATA[V-model support without requiring value prop]]></title>
            <link>https://localazy.com/blog/v-model-support-without-requiring-value-prop</link>
            <guid isPermaLink="false">v-model-support-without-requiring-value-prop</guid>
            <pubDate>Wed, 19 May 2021 23:33:47 GMT</pubDate>
            <description><![CDATA[Have you ever wished to create a component that supports `v-model` directive, but works without it as well? If you've tried Vue.js you've probably learned that you can bind variables on inputs. This creates a two-way data binding which syncs the variable and the input's state. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>All you need to do is to use the v-model directive. You may also have learned that you can use this directive with any custom component since <code>v-model</code> is just a syntax sugar to cover both ways of the data binding.  You can learn more about this <a href="https://vuejs.org/v2/guide/components.html#Using-v-model-on-Components">here</a>. Hence</p>
<pre><code class="language-html">&lt;input v-model=&quot;searchText&quot;&gt;
</code></pre>
<p>turns into</p>
<pre><code class="language-html">&lt;input
  v-bind:value=&quot;searchText&quot;
  v-on:input=&quot;searchText = $event.target.value&quot;
&gt;
</code></pre>
<p>As you can see, in order to implement the support, you have to declare a prop variable called <em>value</em> and emit an event labeled <em>input</em>. And that’s it.</p>
<p>However, you will quickly find out that at this point the component indeed supports the <code>v-model</code> directive, but it doesn’t work at all without it. That’s often undesirable. For instance, imagine you’d like to create a custom search component that includes a text input. Since it’s a mere extension of a text input, it’s reasonable that it should support <code>v-model</code>. But it is also reasonable that you’d like to be able to use it without it since the input inside would normally work straight away had it been a plain HTML element. Let’s tackle this.</p>
<h2 id="optional-v-model-support" id="optional-v-model-support">Optional v-model support <a class="markdownit-header-anchor" href="#optional-v-model-support">🔗</a></h2>
<p>Let’s start by creating a simple search component that will accept <code>value</code> as prop. If the user doesn’t provide it, it’s initiated to an empty value.</p>
<pre><code class="language-vue">  props: {
    value: {
      type: String,
      default: &quot;&quot;,
    },
  },
</code></pre>
<p>However, we can’t use this prop directly in the input since that would mutate it which is not recommended. To circumvent this problem we’ll create a clever computed value that will use the value prop if passed from the parent, or a custom local value otherwise. We’ll make use of the extended computed property syntax where one can declare different functions for setter and getter of the computed function.</p>
<pre><code class="language-vue">  data() {
    return {
      localValue: this.value,
    };
  },
  computed: {
    searchValue: {
      get() {
        return this.isValuePropSet() ? this.value : this.localValue;
      },
      set(value) {
        this.$emit(&quot;input&quot;, value);
        this.localValue = value;
      },
    },
  },
  methods: {
    isValuePropSet() {
      return (
        !!this.$options.propsData &amp;&amp; this.$options.propsData.value !== undefined
      );
    },
  },
</code></pre>
<p>Let’s first take a look at the getter. When retrieving the value, the <code>isValuePropSet()</code> method is invoked. This method returns true when the <code>value</code> prop was set by the parent, not initialized to empty string by the default property. So when it was set from the outside, we’ll just return the <em>value</em> property and the component works as if it was implemented as a regular component with <code>v-model</code> support. However, when the value was not set, then the getter returns <code>localValue</code> instead. In the setter the current value is both emitted as an input event and stored in the <code>localValue</code>.</p>
<p>With this pattern, we can bind the clever <code>searchValue</code> computed property to the input as usual</p>
<pre><code class="language-html">&lt;input v-model=&quot;searchValue&quot; /&gt;
</code></pre>
<p>And that’s it. The search component works with <code>v-model</code> attached as well as without it. Check out the example <a href="https://codesandbox.io/s/optional-v-model-component-q3g4p">sandbox</a> to see it wholly in action.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://directus9.localazy.com/assets/1d2af793-86b7-4afe-960f-3f0784991d3a" length="0" type="image//assets/1d2af793-86b7-4afe-960f-3f0784991d3a"/>
        </item>
        <item>
            <title><![CDATA[Quicker Software Localization with Virtual Translator & Continuous Localization Team]]></title>
            <link>https://localazy.com/blog/quicker-software-localization-virtual-translator-continuous-localization-localazy</link>
            <guid isPermaLink="false">quicker-software-localization-virtual-translator-continuous-localization-localazy</guid>
            <pubDate>Mon, 29 Nov 2021 10:12:17 GMT</pubDate>
            <description><![CDATA[Not everyone has the required resources which can be put into professional localization right from day zero. Localazy already provides tools to localize your projects. But what if the absent resource is your time? Meet our continuous localization service called the Virtual Translator (VT).]]></description>
            <content:encoded><![CDATA[<p>Localazy already comes with a highly accurate shared translation memory <a href="/docs/general/what-is-localazy-sharetm">(ShareTM)</a>, allowing you to obtain instant translations of up to 50% of your texts into 80 languages for free.</p><p><em>But what about the rest?</em></p><p>Here comes another simple solution from Localazy labs 🥼. The Virtual Translator, a service offered by our <a href="/docs/general/continuous-localization-team">Continuous Localization Team</a>. How does it work?</p><p>Enabling Virtual Translator for your project will regularly scan for new texts that need translation and automatically translate them into selected languages. It’s an affordable and simple way to introduce <em>continuous localization</em> to your workflow without any effort. </p><h2 id="virtual-translator-is-a-human-assisted-machine-translation">Virtual Translator is a human-assisted machine translation <a class="markdownit-header-anchor" href="#virtual-translator-is-a-human-assisted-machine-translation">🔗</a></h2><p>Using a bare <em><a href="/dictionary/machine-translation">machine translation</a></em> engine is free as far as you do not consider your time and quality assurance. However, in the software localization domain, you will soon find out that many of those translations are just not the right fit. For example, the word “book” is usually considered by <em>MT engines</em> as a piece of literature, while in software, the more common meaning is a reservation, e.g., booking a room. The challenge of choosing the right translation proposed by an MT is nearly impossible if your target language uses exotic characters you don't even know how to even read.</p><h2 id="virtual-translator-saves-your-time">⏳ Virtual Translator saves your time <a class="markdownit-header-anchor" href="#virtual-translator-saves-your-time">🔗</a></h2><p>Why spend your time on tasks you can automate, delegate or cut out of your workflow? Virtual Translator does it all!</p><h2 id="virtual-translator-saves-your-money">💰 Virtual Translator saves your money <a class="markdownit-header-anchor" href="#virtual-translator-saves-your-money">🔗</a></h2><p>According to <a href="https://search.proz.com/?sp=pfe/rates">Proz</a>, the average cost of professional translation in general domain per word starts at $0.10 per word. With Localazy, you can cut the price by 50%. How is that possible? VT is a human-assisted machine translation, cutting the need for time-consuming human work (translating from scratch) with the priority of faster progress, keeping the reasonable quality on the eye. It is perfect if you want to quickly populate new language while keeping the costs at a reasonable level.</p><h3 id="costvalue-translation-with-a-human-touch">Cost/value translation with a human touch  <a class="markdownit-header-anchor" href="#costvalue-translation-with-a-human-touch">🔗</a></h3><p>Hiring a professional translator on your own costs some significant amount of money, not mentioning the management overhead. For a fraction of cost on your side, the Virtual Translator will translate your app on a best-effort basis. </p><p>Purpose of the <a href="https://localazy.com/my/virtual-translator">Virtual Translator translation service</a> is fast iteration. Suppose you need just translation to start and review it later. In that case, Virtual Translator will help you get your app translated to 100% at a fraction of cost.</p><h2 id="virtual-translator-protects-your-attention-span">💂 Virtual Translator protects your attention span <a class="markdownit-header-anchor" href="#virtual-translator-protects-your-attention-span">🔗</a></h2><p>What is worse than losing your attention? Switching context is very expensive and productive people hate it. On the other side, not paying attention to these will drop your productivity as well. Focus on building your product and let Localazy do the work you might prefer to outsource.</p><figure class="kg-card kg-image-card"><img src="https://directus9.localazy.com/assets/00b4e3c4-a033-4ca4-ac64-4fb540c97ab1" class="kg-image" alt="Multitasking" loading="lazy"></figure><blockquote>Most people wear a lot of hats every day. Your title might be “senior developer” but you’re also “pseudo-project manager,” “part-time designer” and “chief of inbox relations.” In our own research, we found that software developers spend just 41% of their time each day doing… well, software development.</blockquote><p>Source: <a href="https://blog.rescuetime.com/context-switching/">rescuetime.com</a></p><h2 id="other-ways-localazy-can-help-you">Other ways Localazy can help you <a class="markdownit-header-anchor" href="#other-ways-localazy-can-help-you">🔗</a></h2><p>The Virtual Translator is only a part of what our <a href="/docs/general/continuous-localization-team">Continuous Localization Team</a> can do for you. You can also choose the <strong>Virtual Reviewer</strong> or order our stellar <strong>Professional Translations</strong>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://ghost.localazy.com/content/images/2021/11/image-21.png" class="kg-image" alt loading="lazy" width="2000" height="1274" srcset="https://ghost.localazy.com/content/images/size/w600/2021/11/image-21.png 600w, https://ghost.localazy.com/content/images/size/w1000/2021/11/image-21.png 1000w, https://ghost.localazy.com/content/images/size/w1600/2021/11/image-21.png 1600w, https://ghost.localazy.com/content/images/size/w2400/2021/11/image-21.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Continuous Localization Team configuration</figcaption></figure><h3 id="contributor-sourced-translation-review-automation-with-a-human-touch">Contributor-sourced translation review automation with a human touch <a class="markdownit-header-anchor" href="#contributor-sourced-translation-review-automation-with-a-human-touch">🔗</a></h3><p>The review process can be a tedious job if you have a lot of texts to go through from your volunteers or other contributors. <a href="https://localazy.com/docs/general/continuous-localization-team#virtual-reviewer">Virtual Reviewer</a> will do the job for you. There is a real person who keeps an eye on your translations and makes sure they are good enough to go by checking context, placeholders and consistency.</p><h3 id="one-click-professional-translations">One-click Professional translations <a class="markdownit-header-anchor" href="#one-click-professional-translations">🔗</a></h3><p>When quality is of essence and you fear that Virtual Translator &amp; Reviewer won't satisfy your needs, you can just flip the switch and order <a href="/docs/general/continuous-localization-team#professional-translations">professional translations</a> directly from Localazy. By enabling this option, you’ll get translations crafted by language professionals who Localazy carefully selected.</p><p>You’ll get rid of the excessive file handling and submitting files to translation agencies. Everything is handled automatically and integrated with Localazy.</p><h2 id="get-more-languages-done-today">Get more languages done today <a class="markdownit-header-anchor" href="#get-more-languages-done-today">🔗</a></h2><p>If you want to stop worrying about localization of your project, go ahead and set up your own mix of continuous localization services by Localazy. If you have any questions, or find that your desired language is missing from the service, feel free to <a href="/contact">contact us</a>.</p><blockquote><strong>Tip:</strong> With our paid plans, you can get free translation credits to get your project translated. <a href="/pricing">Learn more on our pricing page</a>.</blockquote>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/062e7892-49a7-4274-a009-aada5fadae53" length="0" type="image//assets/062e7892-49a7-4274-a009-aada5fadae53"/>
        </item>
        <item>
            <title><![CDATA[JavaScript app localization with i18next and Localazy]]></title>
            <link>https://localazy.com/blog/javascript-app-localization-i18next-localazy</link>
            <guid isPermaLink="false">javascript-app-localization-i18next-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:31:35 GMT</pubDate>
            <description><![CDATA[Localization is hardly the most favourite part of development for anyone. Regardless of whether it is a web, mobile, or desktop app, it is time-consuming and error-prone. This article shows a quick and seamless way of integrating the process into any JavaScript app.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>We won’t use any JavaScript framework only to stay focused on the sole purpose of this article. All code examples are supposed to demonstrate the general concept, so feel free to take any part of them and adapt it to your own app’s specific needs.</p>
<h2 id="why-localazy-and-i18next" id="why-localazy-and-i18next">Why Localazy and i18next? <a class="markdownit-header-anchor" href="#why-localazy-and-i18next">🔗</a></h2>
<p>Localazy is a developer-focused localization management platform that supports a wide variety of frameworks and an even more comprehensive range of formats through its CLI. Localazy’s best features are a pro-active review process, highly accurate translation memory supported by community-shared translations, and a simple, crystal clear UI which is not bloated with rarely used options.</p>
<p>As we’ll show shortly, it works seamlessly with <a href="/dictionary/i18next">i18next library</a>, which is one of the most popular choices when it comes to internationalization in JavaScript apps. Thanks to that, managing translations in professional teams or even in open-source projects where anybody can contribute is a piece of cake 🍰.</p>
<h2 id="create-a-new-project" id="create-a-new-project">Create a new project <a class="markdownit-header-anchor" href="#create-a-new-project">🔗</a></h2>
<p>Let’s start with an empty project. We will use <code>npm</code> to manage dependencies, so make sure you have <a href="https://nodejs.org/en/">Node.js</a> installed. You can verify the installation by running <code>npm -v</code>.</p>
<pre><code class="language-bash">mkdir localize-js-app &amp;&amp; cd localize-js-app &amp;&amp; npm init
</code></pre>
<p>After running the above command and answering the initial questions, a <code>package.json</code> file should be created. Let’s complete our empty project structure to look like the tree below. These should be all the files we’ll need initially.</p>
<pre><code class="language-bash">.
├── index.html
├── package.json
├── src
│   ├── i18n.js
│   └── index.js
└── style.css
</code></pre>
<p>Paste the following content into your <code>index.html</code> file. This will be our app index, and we’re not going to touch it anymore, since we’re going to create all content dynamically with JavaScript.</p>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;title&gt;Localize Javascript App with Localazy&lt;/title&gt;
  &lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot;/&gt;
  &lt;meta charset=&quot;UTF-8&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;app&quot;&gt;&lt;/div&gt;
  &lt;script src=&quot;src/index.js&quot;&gt;
  &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<p>To work with the project more conveniently, let’s install <code>parcel-bundler</code>  first.
If you don’t know <a href="https://parceljs.org/getting_started.html">Parcel</a> yet, it’s a web application bundler, with a great developer experience. It offers blazing-fast performance and requires zero configuration. So basically with one package installed, you’ll get a development server with hot-reloading and production builds. Excellent for quick projects and rapid prototyping.</p>
<pre><code class="language-bash">npm install -D parcel-bundler
</code></pre>
<p>You can then simplify running the Parcel bundler by adding a <em>run</em> and <em>build</em> task to the scripts section in your <code>package.json</code>. Once done, try to run the development server with  <code>npm start</code>.</p>
<pre><code class="language-json">{
  &quot;scripts&quot;: {
    &quot;start&quot;: &quot;parcel index.html --open&quot;,
    &quot;build&quot;: &quot;parcel build index.html&quot;
  }
}
</code></pre>
<h2 id="add-source-language" id="add-source-language">Add source language <a class="markdownit-header-anchor" href="#add-source-language">🔗</a></h2>
<p>Create new <code>src/locales</code> folder next to our <code>index.js</code> file and put an <code>en.json</code> file inside it. This will be our base language for the app.</p>
<pre><code class="language-bash">.
├── index.html
├── package.json
├── src
│   ├── i18n.js
│   ├── index.js
│   └── locales
│       └── en.json
└── style.css
</code></pre>
<p>Let’s add a couple of simple translatable strings in English.</p>
<pre><code class="language-json">{
  &quot;hello_localazy&quot;: &quot;Hello Localazy!&quot;,
  &quot;calendar&quot;: &quot;Calendar&quot;,
  &quot;field&quot;: &quot;Field&quot;,
  &quot;event&quot;: &quot;Event&quot;,
  &quot;title&quot;: &quot;Title&quot;,
  &quot;color&quot;: &quot;Color&quot;
}
</code></pre>
<p>As a next step, we’re going to install the <code>i18next</code> library.  It will help us to quickly load all the locales we have,   get our content translated by some convinient methods it provides and eventually to implement a custom language switcher. We will get to it shortly.</p>
<pre><code class="language-bash">npm install i18next
</code></pre>
<p>To test that the library works for us, we need to import the base strings and initialize the <code>i18next</code> object.
Add the following content to the <code>i18n.js</code> file.</p>
<pre><code class="language-js">// i18n.js
import i18next from &quot;i18next&quot;;
import enJson from &quot;./locales/en.json&quot;;

export const i18n = i18next;

export const initI18n = (callback) =&gt; {
  i18next.init({
    lng: &quot;en&quot;,
    debug: true,
    resources: {
      en: {
        translation: enJson,
      },
    },
  }, function (err, t) {
    // Call this function once i18next is initialized
    callback()
  });
}
</code></pre>
<p>And run the initializer in <code>index.js</code>.  We pass the <code>createPageContent</code> function as a callback when the initialization finishes. To test that the translations are loaded correctly, we simply set some text to the <code>#app</code>  content. Note that this is not an optimal approach and might get unmaintainable in bigger projects, but it should serve well for our demonstrating purposes.</p>
<pre><code class="language-js">// index.js
import { i18n, initI18n } from &quot;./i18n&quot;;

const createPageContent = () =&gt; {
  document.querySelector(&quot;#app&quot;).innerHTML = i18n.t(&quot;hello_localazy&quot;);
}
initI18n(createPageContent);
</code></pre>
<p>Going back to the browser while having the server running, you should see the <code>Hello Localazy!</code> greeting to appear. Awesome, we have the basic setup working, but let’s get the phrases translated now.
Now, that’s where the fun begins. In real-life projects, we don’t want to handle translations in JSON manually, it’s usually very tedious and error-prone. Also, we need some sort of a quality control mechanism, to ensure that the translations meet the required standards. With Localazy you get all of this plus automated translations as a bonus.</p>
<h2 id="integrate-with-localazy" id="integrate-with-localazy">Integrate with Localazy <a class="markdownit-header-anchor" href="#integrate-with-localazy">🔗</a></h2>
<p>Go to <a href="https://localazy.com/register">Localazy signup</a> and create an account, then create a new app. I’m leaving it public, this way other people can freely contribute with their translations. Source language is English, and community translations enabled. They will help us to translate some parts of the app automatically.</p>
<p><img src="https://directus9.localazy.com/assets/13a7ec4a-5103-4524-b16d-bc8032c2b616" alt=""></p>
<p>Now in your app, from the available integrations select JavaScript.  The setup steps you see there is a general-purpose quick start, but I’ll give you more precise instructions here, so read on. The only thing needed is to note down the <code>readKey</code> and <code>writeKey</code>, we will need them in a moment.</p>
<p><img src="https://directus9.localazy.com/assets/27c90278-0f8f-4b20-9aba-dc4b576d83d7" alt=""></p>
<p>Now we need to configure our app to synchronize strings with Localazy. Go back to your app’s terminal and install <a href="https://testing.localazy.com/docs/cli/the-basics">Localazy CLI</a>.</p>
<pre><code class="language-bash">npm install -D @localazy/cli
</code></pre>
<p>Then create a new file called <code>localazy.json</code> in your project root, paste the following content. This is a configuration for the CLI we’ve just installed.  Don’t forget to fill in the keys, you’ve noted earlier. If you would like to better understand the used configuration, go to the <a href="https://localazy.com/docs/cli/the-basics">Localazy CLI</a> documentation, where you’ll find all the necessary details.</p>
<pre><code class="language-json">// localazy.json
{
  &quot;writeKey&quot;: &quot;&lt;your-write-key&gt;&quot;,
  &quot;readKey&quot;: &quot;&lt;your-read-key&gt;&quot;, 
  &quot;upload&quot;: {  
    &quot;type&quot;: &quot;json&quot;,
    &quot;files&quot;: &quot;src/locales/en.json&quot;         
  },
  &quot;download&quot;: {
    &quot;files&quot;: &quot;src/locales/${lang}.json&quot;
  }
}
</code></pre>
<p>In <code>package.json</code>  add  <code>upload</code> and <code>download</code> tasks to the <code>&quot;scripts&quot;</code> section, right after the parcel commands. You can also add a <code>list</code>  task, to check what files are available on the platform, but we won’t need it in this article specifically.</p>
<pre><code class="language-json">{
  &quot;scripts&quot;: {
    &quot;start&quot;: &quot;parcel index.html --open&quot;,
    &quot;build&quot;: &quot;parcel build index.html&quot;,
    &quot;upload&quot;: &quot;localazy upload&quot;,
    &quot;download&quot;: &quot;localazy download&quot;,
    &quot;list&quot;: &quot;localazy list&quot;
  }
}
</code></pre>
<p>If set up correctly, you should be able to run <code>npm run upload</code> to upload strings. Note that you can always run the tasks with the <code>-s</code> option to simulate the action and verify that everything is configured correctly. No files will be uploaded or written then.</p>
<p>Now go back to your app at Localazy, you should see our base language (English) to appear.  If successful, try to add some new language. Some of the languages might be already translated by ShareTM technology.  Adding one of these languages will show you a review button, where you can approve the suggested phrases. If you add language without suggestions, you can start translating immediately with the help of classic machine translations.</p>
<p><img src="https://directus9.localazy.com/assets/a4fec7c4-9b9a-4427-9a31-2f715d7fca9a" alt=""></p>
<p>After adding some languages and translating or approving a few phrases, go back to the app and run the download task as <code>npm run download</code>. You should see the new languages to appear immediately in the <code>locales</code> folder. Note that only approved phrases or phrases translated directly by you – the owner will be downloaded.</p>
<p>As an example, I’ve added French and Czech and translated them fully.</p>
<p><img src="https://directus9.localazy.com/assets/8afdb567-5d0c-48ae-b88a-0a09e06b647b" alt=""></p>
<p>Next step to use the downloaded translations. Open the <code>i18n.js</code> file again and import the new files like the following. I’m importing the JSON directly, and then I’m adding it to the resources object. To try out your app in a different language, simply set  <code>lng</code>  property to  <code>&quot;fr&quot;</code> for example. You should see the translated message to appear in your app.</p>
<pre><code class="language-js">// i18n.js
import i18next from &quot;i18next&quot;;
import enJson from &quot;./locales/en.json&quot;;
import frJson from &quot;./locales/fr.json&quot;;
import csJson from &quot;./locales/cs.json&quot;;

export const i18n = i18next;

export const initI18n = (callback) =&gt; {
  i18next.init({
    lng: &quot;en&quot;,
    debug: true,
    resources: {
      en: {
        translation: enJson,
      },
      fr: {
        translation: frJson,
      },
      cs: {
        translation: csJson,
      },
    },
  }, function (err, t) {
	// Call this function once i18next is initialized
    callback()
  });
}
</code></pre>
<p>We’ve just implemented the basic i18next functionality, and we’re able to translate our content. However, we don’t have an option to change the current language because it’s hardcoded. Let’s implement the language switcher as a next step.</p>
<h2 id="implement-language-switcher" id="implement-language-switcher">Implement language switcher <a class="markdownit-header-anchor" href="#implement-language-switcher">🔗</a></h2>
<p>Localazy CLI has an additional option called <a href="https://localazy.com/docs/cli/metadata-file">metadata file</a>, which lets you retrieve current languages metadata directly from Localazy. This enables you to quickly implement language switcher, by knowing exactly which languages will be available and what are their full localized names and other properties. The language metadata file is available in JavaScript, Typescript or JSON file format. We will use the JavaScript version since it also contains plurals resolver, which we will use later.  Let’s configure it in the <code>&quot;download&quot;</code> section in <code>localazy.json</code> file.</p>
<pre><code class="language-json">{
  &quot;download&quot;: {
    &quot;files&quot;: &quot;src/locales/${lang}.json&quot;,
    &quot;metadataFileJs&quot;: &quot;src/localazy-meta.js&quot;
  }
}
</code></pre>
<p>Now run the <code>npm run download</code> command again, you should see a new <code>localazy-meta.js</code> file appear.  Let’s use the metadata file directly and add a few convenience methods to our <code>i18n.js</code> file for it.</p>
<pre><code class="language-js">import i18next from &quot;i18next&quot;;
import LocalazyMeta from './localazy-meta';
import enJson from &quot;./locales/en.json&quot;;
import frJson from &quot;./locales/fr.json&quot;;
import csJson from &quot;./locales/cs.json&quot;;

export const i18n = i18next;

export const getSupportedLangCodes = () =&gt; {
  return LocalazyMeta.languages.map(l =&gt; l.language)
}

export const getBaseLanguage = () =&gt; {
  return LocalazyMeta.baseLocale;
}

export const getCurrentLanguage = () =&gt; {
  return window.localStorage.i18nextLng || 'en';
}

export const getLanguages = ()=&gt;{
  return LocalazyMeta.languages;
}

export const initI18n = (callback) =&gt; {
  i18next.init({
    lng: getBaseLanguage(),
    fallbackLng: getBaseLanguage(),
    debug: true,
    supportedLngs: getSupportedLangCodes(),
    resources: {
      en: {
        translation: enJson,
      },
      fr: {
        translation: frJson,
      },
      cs: {
        translation: csJson,
      },
    },
  }, function (err, t) {
    callback()
  });
}
</code></pre>
<p>We will now create a really basic language switcher directly in our <code>index.js</code> file.</p>
<pre><code class="language-js">import { i18n, initI18n, getLanguages, getCurrentLanguage } from &quot;./i18n&quot;;

const createLanguageSelector = () =&gt; {
  let template = '&lt;select id=&quot;selector&quot;&gt;';
  getLanguages().forEach(l =&gt; {
    template += `
    &lt;option ${l.language === getCurrentLanguage() ? &quot;selected&quot; : &quot;&quot;} value=&quot;${l.language}&quot;&gt;
      ${l.localizedName}
    &lt;/option&gt;`
  })
  template += '&lt;/select&gt;';
  return template;
}

const getTranslatedContent = () =&gt; {
  return i18n.t(&quot;hello_localazy&quot;);
}

const updateTranslatedContent = () =&gt; {
  document.querySelector(&quot;#content&quot;).innerHTML = getTranslatedContent();
}

const initPageContent = () =&gt; {
  document.querySelector(&quot;#app&quot;).innerHTML = `  
  ${createLanguageSelector()}   
  &lt;div id=&quot;content&quot;&gt;  
    ${getTranslatedContent()}
  &lt;/div&gt;`;

  document.querySelector(&quot;#selector&quot;).addEventListener(&quot;change&quot;, (e) =&gt; {
    i18n.changeLanguage(e.target.value);
    updateTranslatedContent();
  })
}

initI18n(initPageContent);
</code></pre>
<p>I’m also adding a few lines of CSS to the <code>styles.css</code> file. Just enough to make the page okay to look at, but you can embrace your creativity here.</p>
<pre><code class="language-css">#selector {
  width: 150px;
}
#content {
  margin-top: 1rem;
}
</code></pre>
<p>That’s all needed for a language switcher. Your app should now look like the following.</p>
<p><img src="https://directus9.localazy.com/assets/b177b4cf-bfb1-449e-a497-cbd0141685b9" alt=""></p>
<h2 id="add-plurals-support" id="add-plurals-support">Add plurals support <a class="markdownit-header-anchor" href="#add-plurals-support">🔗</a></h2>
<p>Different languages come with various pluralization rules, and it’s one of the most challenging tasks to get right when localizing apps. Languages like French or English have more straightforward rules, a word can have either singular or plural form.  (also called as “one” and “other” ). This is not the case for Czech for example which has rules for “one” ,“few” and “other” quantities.  All possible forms for all common languages are well defined in the CLDR <a href="https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_plural_rules.html">Language Plural Rules</a>.</p>
<p>However, i18next supports plural rules for some languages, but unfortunately, it’s not the entire set. Moreover, i18next calls “one” form as “singular” which, in my opinion, creates confusion as it deviates from the CLDR standard.
Luckily, Localazy covers the entire specification automatically in the language metadata file, where it returns correct plural rules for languages which are part of the specification.</p>
<p>Let’s change some of our base phrases into plural forms in the <code>en.json</code> file. There are multiple ways of defining plurals in JSON. We will use an object notation, but you can read about all other options here: <a href="https://localazy.com/docs/cli/json-format#plurals">File Format - JSON</a>.</p>
<pre><code class="language-json">{
  &quot;hello_localazy&quot;: &quot;Hello Localazy!&quot;,
  &quot;calendar&quot;: {
    &quot;one&quot;: &quot;Calendar&quot;,
    &quot;other&quot;: &quot;Calendars&quot;
  },
  &quot;field&quot;: {
    &quot;one&quot;: &quot;Field&quot;,
    &quot;other&quot;: &quot;Fields&quot;
  },
  &quot;title&quot;: {
    &quot;one&quot;: &quot;Title&quot;,
    &quot;other&quot;: &quot;Titles&quot;
  },
  &quot;event&quot;: {
    &quot;one&quot;: &quot;Event&quot;,
    &quot;other&quot;: &quot;Events&quot;
  },
  &quot;color&quot;: {
    &quot;one&quot;: &quot;Color&quot;,
    &quot;other&quot;: &quot;Colors&quot;
  }
}
</code></pre>
<p>To enable that feature in the CLI, we need to also add  <code>plural_object</code> in the <code>&quot;upload&quot;</code> section of our <code>localazy.json</code> file.</p>
<pre><code class="language-json">{
  &quot;upload&quot;: {  
    &quot;type&quot;: &quot;json&quot;,
    &quot;features&quot;: [&quot;plural_object&quot;],
    &quot;files&quot;: &quot;src/locales/en.json&quot;    
  },
  &quot;download&quot;: {
    &quot;files&quot;: &quot;src/locales/${lang}.json&quot;,
    &quot;metadataFileJs&quot;: &quot;src/localazy-meta.js&quot;
  }
}
</code></pre>
<p>Now, try to run the <code>npm run upload</code> task again and go to the Localazy web interface. If you now try to translate<br>
some of the new phrases, you should see that all plurals are displayed in a slightly different interface, which accommodates according to each language plural rules as per the CLDR specification.</p>
<p><img src="https://directus9.localazy.com/assets/e4334b6c-cb33-448a-b88d-169566812002" alt=""></p>
<p>Try to add some example translations for the phrases and run <code>npm run download</code> task again.
We will now add a plural helper into <code>i18n.js</code> file, which will resolve correct plural form for each language as defined in Localazy.</p>
<pre><code class="language-js">// i18n.js
//...
export const getKeyPlural = (key, count) =&gt; {    
  const currentLanguage = LocalazyMeta.languages.find(l =&gt; l.language === i18next.language);
  const pluralType = currentLanguage.pluralType(+count);
  return `${key}.${pluralType}`;
}
//...
</code></pre>
<p>Then we will update the <code>getTranslatedContent</code> function in  <code>index.js</code> file to resolve our pluralized content. You can tweak the count variable to display different plural forms.</p>
<pre><code class="language-js">// index.js
import { i18n, initI18n, getLanguages, getCurrentLanguage, getKeyPlural as p } from &quot;./i18n&quot;;
let count = 0;
//...
const getTranslatedContent = () =&gt; {
  return `${i18n.t(&quot;hello_localazy&quot;)}&lt;br&gt;&lt;br&gt;
          ${count}  ${i18n.t(p(&quot;calendar&quot;, count))}&lt;br&gt;
          ${count}  ${i18n.t(p(&quot;field&quot;, count))}&lt;br&gt;
          ${count}  ${i18n.t(p(&quot;event&quot;, count))}&lt;br&gt;
          ${count}  ${i18n.t(p(&quot;title&quot;, count))}&lt;br&gt;
          ${count}  ${i18n.t(p(&quot;color&quot;, count))}`;
}
//..
</code></pre>
<p>To improve the example a little bit, we will add a number input and update the count variable according to the input value, so we can test the functionality based on our input.  Here’s the final <code>index.js</code> file.</p>
<pre><code class="language-js">import { i18n, initI18n, getLanguages, getCurrentLanguage, getKeyPlural as p } from &quot;./i18n&quot;;
let count = 0;

const createLanguageSelector = () =&gt; {
  let template = '&lt;select id=&quot;selector&quot;&gt;';
  getLanguages().forEach(l =&gt; {
    template += `
    &lt;option ${l.language === getCurrentLanguage() ? &quot;selected&quot; : &quot;&quot;} value=&quot;${l.language}&quot;&gt;
      ${l.localizedName}
    &lt;/option&gt;`
  })
  template += '&lt;/select&gt;';
  return template;
}

const getTranslatedContent = () =&gt; {
  return `${i18n.t(&quot;hello_localazy&quot;)}&lt;br&gt;&lt;br&gt;
          ${count}  ${i18n.t(p(&quot;calendar&quot;, count))}&lt;br&gt;
          ${count}  ${i18n.t(p(&quot;field&quot;, count))}&lt;br&gt;
          ${count}  ${i18n.t(p(&quot;event&quot;, count))}&lt;br&gt;
          ${count}  ${i18n.t(p(&quot;title&quot;, count))}&lt;br&gt;
          ${count}  ${i18n.t(p(&quot;color&quot;, count))}`;
}

const updateTranslatedContent = () =&gt; {
  document.querySelector(&quot;#content&quot;).innerHTML = getTranslatedContent();
}

const initPageContent = () =&gt; {
  document.querySelector(&quot;#app&quot;).innerHTML = `  
  ${createLanguageSelector()}   
  &lt;input id=&quot;count&quot; type=&quot;number&quot; placeholder=&quot;count&quot; value=&quot;${count}&quot; min=&quot;0&quot;/&gt;
  &lt;div id=&quot;content&quot;&gt;  
    ${getTranslatedContent()}
  &lt;/div&gt;`;

  document.querySelector(&quot;#selector&quot;).addEventListener(&quot;change&quot;, (e) =&gt; {
    i18n.changeLanguage(e.target.value);
    updateTranslatedContent();
  })

  document.querySelector(&quot;#count&quot;).addEventListener(&quot;input&quot;, (e) =&gt; {
    if (e.target.value) {
      count = e.target.value;
      updateTranslatedContent();
    }
  })
}

initI18n(initPageContent);

</code></pre>
<p>And the final example will look like following. Changing the number should correctly update the plural form.</p>
<p><img src="https://directus9.localazy.com/assets/2cd08640-6484-4323-be9c-427b404f943c" alt=""></p>
<h2 id="closing-words" id="closing-words">Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2>
<p>I hope you’ve enjoyed this sneak peek on what Localazy can do for you and understood how easy it is to start localizing any JavaScript app with it.  If you would like to play around with the prototype, you can check it out on <a href="https://codesandbox.io/s/localazy-javascript-i18n-example-imskh?file=/src/i18n.js">CodeSandbox</a>. The whole git repository is available on <a href="https://github.com/localazy/javascript-i18next-example">GitHub</a>. If you have any questions, just join us on our <a href="https://discord.gg/sQucDznuMp">Discord</a> for a chat.</p>
<!--kg-card-end: html--><!--kg-card-begin: html--><div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg xmlns="http://www.w3.org/2000/svg" viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Some parts of this article might not be accurate. This article mentions the ShareTM feature, which we've updated later. Learn more about the <a href="/blog/feature-update-sharetm-improvements">Localazy ShareTM improvements in this article</a>.</p>
</div><!--kg-card-end: html-->]]></content:encoded>
            <author>Jan Bílek</author>
            <enclosure url="https://directus9.localazy.com/assets/01cb8b1d-4ee0-4dcb-9841-9b161ee9be35" length="0" type="image//assets/01cb8b1d-4ee0-4dcb-9841-9b161ee9be35"/>
        </item>
        <item>
            <title><![CDATA[Localazy is Lighthouse Ventures tech partner]]></title>
            <link>https://localazy.com/blog/localazy-lighthouse-ventures-tech-partner-software-localization</link>
            <guid isPermaLink="false">localazy-lighthouse-ventures-tech-partner-software-localization</guid>
            <pubDate>Mon, 07 Dec 2020 13:49:33 GMT</pubDate>
            <description><![CDATA[When you find a meaningful partnership, great things can happen. Localazy is now offering a deal to Lighthouse Ventures portfolio companies.



]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Localazy is partnering with <a href="https://lhv.vc/partner/localazy/">Lighthouse Ventures</a> as a technology partner to support the international growth of Lighthouse Ventures portfolio companies.</p>
<p>Localazy is a tailor-made localization platform for growing apps and established businesses alike, making new translations available to users within hours. With $1,000 credit, Lighthouse Ventures startups can use it to improve language support of their apps.</p>
<p><strong>To redeem your coupon, please email <a href="mailto:jakub@localazy.com">jakub@localazy.com</a></strong></p>
<p>Lighthouse Ventures is an early-stage and acceleration venture capital, focused on technology projects with global vision.</p>
<p>We are proud to be a part of Lighthouse Ventures both as a portfolio company and a tech partner. Our cooperation started in Q1 2020.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/5491251a-1ddb-4faf-bf33-57397d527d99" length="0" type="image//assets/5491251a-1ddb-4faf-bf33-57397d527d99"/>
        </item>
        <item>
            <title><![CDATA[Automated Localization: Localazy ❤ Bitrise.io]]></title>
            <link>https://localazy.com/blog/automated-localization-bitrise-io-localazy</link>
            <guid isPermaLink="false">automated-localization-bitrise-io-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:35:38 GMT</pubDate>
            <description><![CDATA[Setup fully automated localization for your project once and forget about all the hassle forever. Automate build and localization with Localazy + Bitrise.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="automated-localization" id="automated-localization">Automated Localization <a class="markdownit-header-anchor" href="#automated-localization">🔗</a></h2>
<p>You have probably already heard of continuous localization. It’s important as software development is a never-ending process, and with new features, you usually need to add new strings.</p>
<p>Fully automated localization is a level above it. As a developer, you only set up it once, and then, you can forget about it completely.</p>
<h2 id="what-is-bitrise" id="what-is-bitrise">What is Bitrise? <a class="markdownit-header-anchor" href="#what-is-bitrise">🔗</a></h2>
<p>If you haven’t heard about <a href="http://bitrise.io">Bitrise.io</a> yet, it’s CD/CI made for mobile apps developers. It has an awesome UI with a visual workflow editor. You just build the automation out of boxes (called steps) and there are many of them made for us, mobile app developers.</p>
<p>Of course, if you prefer code, you can build your workflow in YAML in a similar way you would do with Github Actions, and there is also a powerful CLI tool available!</p>
<p>You can start in minutes with Bitrise and save hours with automated build and deployment.</p>
<h2 id="localazy-gradle-plugin" id="localazy-gradle-plugin">Localazy Gradle plugin <a class="markdownit-header-anchor" href="#localazy-gradle-plugin">🔗</a></h2>
<p>It’s simple to run Gradle build tasks on Bitrise, and so if you use our Localazy Gradle plugin for Android, it’s supported out of the box. No action is needed.</p>
<h2 id="lets-try-it-out" id="lets-try-it-out">Let’s try it out! <a class="markdownit-header-anchor" href="#lets-try-it-out">🔗</a></h2>
<p>Let’s suppose that your mobile app is ready for localization, and strings in the source language are stored in Android XML, iOS’ strings, Flutter’s ARB, JSON, or some other common format.</p>
<p>You can configure Bitrise manually for anything you want - it may not even be a mobile app - and there are predefined configurations for iOS, Android, Xamarin, macOS, Cordova, ionic, React Native and Flutter. Localazy supports usual localizable files for all of these platforms. A perfect match!</p>
<h2 id="configure-localazy" id="configure-localazy">Configure Localazy <a class="markdownit-header-anchor" href="#configure-localazy">🔗</a></h2>
<p><a href="https://localazy.com">Sign up with Localazy</a>, create a new project, <a href="https://localazy.com/docs/cli/installation">install the CLI tool</a>, and then create and test your <code>localazy.json</code> configuration. You should be able to upload the source language files and download localized ones.</p>
<p>My configuration is as simple as:</p>
<pre><code class="language-json">{
  &quot;readKey&quot;: &quot;read-key&quot;,
  &quot;writeKey&quot;: &quot;write-key&quot;,

  &quot;upload&quot;: {  
    &quot;type&quot;: &quot;json&quot;,
    &quot;files&quot;: &quot;locales/en.json&quot;         
  },
  
  &quot;download&quot;: {
    &quot;files&quot;: &quot;locales/${lang}.json&quot;
  }
}
</code></pre>
<p>From this moment on, Localazy is the place to manage your translations, translators and contributors. And as a bonus, <strong>it translates your app to up to 80 languages for free</strong> by sharing translations with another app.</p>
<p>Creating and testing <code>localazy.json</code> is essential as it’s used by the Bitrise step described below.</p>
<p>We are going to automate downloading translations from Localazy when the app is built on Bitrise. It’s also possible to automatically upload strings to Localazy, e.g., <a href="https://localazy.com/blog/automated-localization-github-actions-localazy">when you push your app to Github</a> or with <a href="https://localazy.com/blog/automated-localization-gitlab-cicd-localazy">Gitlab CI/CD</a>.</p>
<p><strong>To use Bitrise, push your app to Github, Gitlab or Bitbucket.</strong></p>
<h2 id="ignore-localized-files" id="ignore-localized-files">Ignore Localized Files <a class="markdownit-header-anchor" href="#ignore-localized-files">🔗</a></h2>
<p>The source language file, in my case <code>en.json</code>, is the source of truth and for localized files, it’s the latest version on Localazy. I don’t need those files to be committed to my repository.</p>
<p>With a simple <code>.gitignore</code> file placed in <code>locales</code> folder, I can filter out all localized files except for the source language one:</p>
<pre><code>*.json
!en.json
</code></pre>
<h2 id="configure-your-app-on-bitrise" id="configure-your-app-on-bitrise">Configure Your App on Bitrise <a class="markdownit-header-anchor" href="#configure-your-app-on-bitrise">🔗</a></h2>
<p>Head to <a href="https://bitrise.io">bitrise.io</a> and set up a new account if you haven’t one yet. Once you are done, <strong>Add New App</strong> and choose to <strong>Add New App on web UI</strong>.</p>
<p>Follow the visual guide to get everything configured for your app. It’s straight forward. You add a repository and select branch, and Bitrise autodetects your app and preconfigures it. Neat!</p>
<p>Once configured, Bitrise automatically starts the first build and you should see something like:</p>
<p><img src="https://content.localazy.com/bitrise/1.png" alt="https://content.localazy.com/bitrise/1.png"></p>
<p>Congratulations! Your app is just being built with Bitrise!</p>
<h2 id="add-localazy-step" id="add-localazy-step">Add Localazy step <a class="markdownit-header-anchor" href="#add-localazy-step">🔗</a></h2>
<p>Wait for the build to finish and then Open Workflow Editor (the button is just above the console output):</p>
<p><img src="https://content.localazy.com/bitrise/2.png" alt="https://content.localazy.com/bitrise/2.png"></p>
<p>I’ve created a manual project to focus on continuous localization, so my workflow is simple and looks like:</p>
<p><img src="https://content.localazy.com/bitrise/3.png" alt="https://content.localazy.com/bitrise/3.png"></p>
<p>Click on the <strong>plus button</strong> where it makes sense to download updated translations and search for <strong>Localazy CLI</strong> in the list of available steps. You may need to switch to show ALL of them.</p>
<p><img src="https://content.localazy.com/bitrise/4.png" alt="https://content.localazy.com/bitrise/4.png"></p>
<p>And my new workflow with the Localazy step is:</p>
<p><img src="https://content.localazy.com/bitrise/5.png" alt="https://content.localazy.com/bitrise/5.png"></p>
<h2 id="configure-access-keys" id="configure-access-keys">Configure Access Keys <a class="markdownit-header-anchor" href="#configure-access-keys">🔗</a></h2>
<p>I’ve decided not to commit my read and write keys for Localazy to the public repository (probably a good idea) and so I need to configure them on Bitrise.</p>
<p>Click the <strong>Localazy CLI step</strong> to see available configuration options. There is a lot of them, so you can configure Localazy for your need.</p>
<p>But now, we only need to setup <strong>Read Key</strong> and <strong>Write Key</strong>.</p>
<p><img src="https://content.localazy.com/bitrise/6.png" alt="https://content.localazy.com/bitrise/6.png"></p>
<p>They are both secret variables, so don’t worry about them being exposed even if you have your app public on Bitrise.</p>
<h2 id="automated-localization-done" id="automated-localization-done">Automated Localization… Done. <a class="markdownit-header-anchor" href="#automated-localization-done">🔗</a></h2>
<p>Leave the Workflow Editor and re-run the build. As you can see in the screenshot below, Localazy CLI is invoked and updated translations are downloaded.</p>
<p><img src="https://content.localazy.com/bitrise/7.png" alt="https://content.localazy.com/bitrise/7.png"></p>
<h2 id="closing-words" id="closing-words">Closing Words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2>
<p>It’s simple enough to completely remove the localization burden from your shoulders with <a href="https://localazy.com">Localazy</a> and <a href="https://bitrise.io">Bitrise</a>. No more file handling. All the translations and build steps of your lovely app can be managed in a single place with a beautiful UI designed for developers.</p>
<h2 id="gift-to-all-bitrise-users" id="gift-to-all-bitrise-users">Gift to all Bitrise users <a class="markdownit-header-anchor" href="#gift-to-all-bitrise-users">🔗</a></h2>
<p>Are you Bitrise user? Enjoy 75% discount on your first Localazy purchase! Redeem your code <strong>“LOVEBITRISE”</strong> today!</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/34845c3d-37f3-406f-b327-5060130b9560" length="0" type="image//assets/34845c3d-37f3-406f-b327-5060130b9560"/>
        </item>
        <item>
            <title><![CDATA[How to automatically sign macOS apps using GitHub Actions]]></title>
            <link>https://localazy.com/blog/how-to-automatically-sign-macos-apps-using-github-actions</link>
            <guid isPermaLink="false">how-to-automatically-sign-macos-apps-using-github-actions</guid>
            <pubDate>Thu, 06 Mar 2025 12:09:45 GMT</pubDate>
            <description><![CDATA[In this article, I’m going to show how to automate code signing using GitHub Actions specifically, but the same principle can be used on other CI tools with minimal tweaks.]]></description>
            <content:encoded><![CDATA[<div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">👀</div><div class="kg-callout-text"><strong><em>Update (03/25): This solution is deprecated. If you want to sign your macOS app, you can now benefit from <a href="https://github.com/lando/code-sign-action">this Github Action</a> which can also handle the notarization process. More information on the <a href="https://localazy.com/blog/localazy-cli-tips-automated-signing-and-notarization-for-apple-binaries">updated guide</a>.</em></strong></div></div><!--kg-card-begin: html--><p>Code signing on macOS locally is usually straightforward using the <code>codesign</code> utility. However, it might get quite tricky in a CI environment, where you don’t have direct access to UI tools and password dialogues.</p>
<p>To give you a little bit more context, we’ll be signing a macOS distribution of Localazy CLI tool. If you’d like to know more how and why we’ve built it, you can check out  “<a href="https://localazy.com/blog/localazy-cli-sofware-localization-tool-kotlin-github">How we built Localazy CLI: Kotlin MPP and Github Actions</a>”  written by my colleague Václav.</p>
<p>At this point, I’m assuming that you have your app or binary already compiled in the environment CI and the last step missing is to sign it before release. Another prerequisite is an <a href="https://developer.apple.com/programs/">Apple Developer Program</a> subscription. This allows you to obtain the necessary certificates, release to App Store and much more.</p>
<h2 id="lets-get-started" id="lets-get-started">🔗 Let’s get started <a class="markdownit-header-anchor" href="#lets-get-started"></a></h2>
<p>We start by obtaining the certificate. After logging to your developer account and selecting <strong>Certificates IDs &amp; Profiles</strong>, you should be able to create a new certificate. From all the listed types, select <strong>Developer ID Application</strong> as per its description.</p>
<p><img src="https://directus9.localazy.com/assets/3a0d645a-6154-4f4f-bb45-6c57ccbfe98a" alt=""></p>
<p>To be able to obtain the certificate, you need to create a Certificate Signing Request (CSR) first, which you can easily get by opening Keychain Acces and going to <strong>Certificate Assistant</strong> -&gt; <strong>Request a Certificate from a Certificate Authority</strong></p>
<p><img src="https://directus9.localazy.com/assets/76fe0b48-bc69-43d3-9f57-2528f093d41d" alt=""></p>
<p>Fill in the necessary information and select your request to be <strong>Saved to disk</strong>. Note that the email address should be the same as the one you’re logging to the developer account.</p>
<p><img src="https://directus9.localazy.com/assets/f8fbc6bb-bae2-4602-b6fe-16bc9b02c9ba" alt=""></p>
<p>You can then upload the CSR request file to the web which should successfully create a new certificate for you.
Download it and add it to your Keychain Access by simply opening it. The certificate should be added to one of your default keychains and not to the system; otherwise you might later have troubles exporting it.</p>
<p><img src="https://directus9.localazy.com/assets/4b2e897f-ffb4-4f3a-a04a-edc5a2981632" alt=""></p>
<p>To be able to use the certificate for automated code signing, we need some format which would allow us to store the certificate as a string, so we can later add it to Github Secrets as an environment variable. For that purpose, we’ll make use of a little trick by encoding it to  <em>base64</em> first and then decoding it during the workflow.
Let’s export the certificate by selecting both the certificate and its private key, invoke its context menu and select <strong>Export 2 items …</strong>. From the available formats pick <strong>Personal Information Exchange (.p12)</strong>.  Then it will ask you to create a password for it. Generate it and note it down, we’ll need it shortly.</p>
<p><img src="https://directus9.localazy.com/assets/27980b33-5f32-4cdb-bf78-cde20feb7b60" alt=""></p>
<p>Open your terminal and encode the certificate to <em>base64</em>, you can also copy it to the clipboard at the same time by running:</p>
<pre><code class="language-bash">base64 Certificates.p12 | pbcopy 
</code></pre>
<p>Go to your Github project and navigate to <strong>Settings</strong> -&gt; <strong>Secrets</strong>  where you can add new secrets. Create a new repository secret, I’ve called it <code>MACOS_CERTIFICATE</code>, and paste the encoded certificate.
Create another secret name, for example <code>MAOS_CERTIFICATE_PWD</code>, where you store the certificate password you’ve created earlier.</p>
<p><img src="https://directus9.localazy.com/assets/c602eea8-d655-423c-b479-41bda24b09a5" alt=""></p>
<p>If you’re not already using Github Actions to build your code, create a new workflow file  <code>.github/workflows/build.yml</code>  and add the following content to it.</p>
<pre><code class="language-yaml">name: Build and Sign macOS
on:
  push:
    tags:
      - '*'
jobs:
  macos:
    runs-on: macos-11.0
    steps:
      - uses: actions/checkout@v2

     # Install dependencies and build you app here #
     # - name: Build executable
     #     run: ---

      - name: Codesign executable
        env: 
          MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
          MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
        run: |
      
	# We will fill this part shortly

</code></pre>
<p>Let’s complete the script we need to run. First, we should decode the certificate back from <em>base64</em> into a certificate file which we can import into the machine’s keychain.</p>
<pre><code class="language-bash">echo $MACOS_CERTIFICATE | base64 --decode &gt; certificate.p12
</code></pre>
<p>Running <code>codesign</code>  with a new certificate for the first time will greet you with an UI password prompt, which is a bummer here since it basically hangs the process in CI environment.  To overcome that one prompt, we need to enter a series of commands which will unlock the certificate beforehand effectively skipping the password validation.</p>
<p>First, we need to create a new keychain. Under the <code>-p</code> argument, you should specify a new keychain password which will be used later. I use <code>build.keychain</code>  as a name for it, but it can be anything which makes sense to you.  The second step sets the keychain as default in the system.</p>
<pre><code class="language-bash">security create-keychain -p &lt;your-password&gt; build.keychain
security default-keychain -s build.keychain
</code></pre>
<p>Next, we will unlock the keychain to avoid any prompts and import our decoded certificate into it.  Notice the <code>-P</code> parameter, where we use the certificate password we earlier exported as an environment variable. The <code>-T</code> option enables this certificate to be accessed by the <code>codesign</code> utility.</p>
<pre><code class="language-bash">security unlock-keychain -p &lt;your-password&gt; build.keychain
security import certificate.p12 -k build.keychain -P $MACOS_CERTIFICATE_PWD -T /usr/bin/codesign
</code></pre>
<p>You can now verify that the certificate was added successfully by running <code>security find-identity -v</code>  as a next command. This is especially helpful when looking for a problem in the CI logs.</p>
<p>This used be to enough to avoid the password prompt until macOS 10.12.5 with its new security mechanism called  <code>partition-list</code> appeared. It is basically an access control list (ACL). When an application is not in this list, you’ll get the above prompt when it accesses a keychain item. Therefore, we need to add <code>codesign</code> to this list by doing so.</p>
<pre><code class="language-bash">security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k &lt;your-password&gt; build.keychain
</code></pre>
<p>Finally, this is the moment to run the <code>codesign</code>  utility from within the CLI without any additional prompts and sign our application with the generated certificate. The identity id can be retrieved by executing <code>security find-identity -v</code></p>
<pre><code class="language-bash">/usr/bin/codesign --force -s &lt;identity-id&gt; ./path/to/you/app -v
</code></pre>
<p>Here’s the full configuration you should put in the Codesign task:</p>
<pre><code class="language-yaml"> - name: Codesign executable
        env: 
          MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
          MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
        run: |
          echo $MACOS_CERTIFICATE | base64 —decode &gt; certificate.p12
          security create-keychain -p &lt;your-password&gt; build.keychain
          security default-keychain -s build.keychain
          security unlock-keychain -p &lt;your-password&gt; build.keychain
          security import certificate.p12 -k build.keychain -P $MACOS_CERTIFICATE_PWD -T /usr/bin/codesign
          security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k &lt;your-password&gt; build.keychain
          /usr/bin/codesign --force -s &lt;identity-id&gt; ./path/to/you/app -v
</code></pre>
<p>And that’s all, your app should now get successfully signed every time the Github workflow completes.</p>
<h3 id="reference" id="reference">Reference <a class="markdownit-header-anchor" href="#reference">🔗</a></h3>
<p><a href="https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html">Code Signing Tasks</a></p>
<p><a href="https://mostlikelee.com/blog-1/2017/9/16/scripting-the-macos-keychain-partition-ids">Scripting the macOS Keychain - Partition IDs — Most Like Lee</a></p>
<p><a href="https://localazy.com/">Localazy Software i18n – App Localization – Multilingual app</a></p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jan Bílek</author>
            <enclosure url="https://directus9.localazy.com/assets/1a3f08db-afcd-4be7-837f-acdc4abf288b" length="0" type="image//assets/1a3f08db-afcd-4be7-837f-acdc4abf288b"/>
        </item>
        <item>
            <title><![CDATA[How to localize your Flutter app with Localazy]]></title>
            <link>https://localazy.com/blog/flutter-localization-internationalization-localazy</link>
            <guid isPermaLink="false">flutter-localization-internationalization-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:29:46 GMT</pubDate>
            <description><![CDATA[Localization of a Flutter application can be challenging and tedious because you need to create local files for every language and fill them with content. In this article, I’ll show you how can you handle the localization problem, easily localization files easily with Localazy in your Flutter apps.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="how-to-localize-flutter-app-with-localazy" id="how-to-localize-flutter-app-with-localazy">How to localize Flutter app with Localazy <a class="markdownit-header-anchor" href="#how-to-localize-flutter-app-with-localazy">🔗</a></h2>
<p><strong><a href="/dictionary/localization">Localization</a></strong> is the process of rendering the content of your app into other languages and customizing your app for each target market that you want to support.</p>
<h2 id="benefits-of-localazy" id="benefits-of-localazy">Benefits Of Localazy <a class="markdownit-header-anchor" href="#benefits-of-localazy">🔗</a></h2>
<h3 id="save-money-on-translations" id="save-money-on-translations">Save money on translations <a class="markdownit-header-anchor" href="#save-money-on-translations">🔗</a></h3>
<p>Save up to 50% of translation costs thanks to <strong><a href="/docs/general/what-is-localazy-sharetm">shared translations</a></strong>. Localize your app to 80+ languages for free.</p>
<h4 id="what-is-localazy-sharetm">What is Localazy ShareTM</h4>
<p><a href="/dictionary/sharetm">ShareTM</a> is <a href="/docs/general/what-is-localazy-sharetm">what makes Localazy unique</a> and different from other translation platforms.
We are developers; we share our code on Github, Gitlab, or in another place. We cooperate, share our knowledge and libraries. We have this in our DNA. It saves us time and money; it helps us to move forward faster and produce better software.</p>
<p>Why don’t we share translations to make our apps better for the worldwide audience? Why we pay for translating the same words again and again? Does it make sense? It does not, and ShareTM is here to fix this issue.</p>
<p>Upload your app to Localazy and instantly share your translations with other apps on the platform, and as a reward, get your app translated to more languages for free.</p>
<h3 id="stay-assured-about-high-quality" id="stay-assured-about-high-quality">Stay assured about high quality <a class="markdownit-header-anchor" href="#stay-assured-about-high-quality">🔗</a></h3>
<p>Verify translations with the <strong><a href="https://localazy.com/docs/general/unique-review-process-and-self-managed-translations">pro-active review</a></strong> and use all tools for providing context to your translators for free.</p>
<h3 id="keep-track-of-changes" id="keep-track-of-changes">Keep track of changes <a class="markdownit-header-anchor" href="#keep-track-of-changes">🔗</a></h3>
<p>While the review is a way to ensure translation quality in other translation platforms, Localazy is organized around it. But our review process is entirely different. It’s not just a set of filtering options to find strings that may be inaccurately translated.</p>
<p>Our review process is a pro-active tool that helps you to verify translations and keep track of all changes that happened on Localazy while you spend your precious time developing your app and making it better.
No matter if you visit Localazy every day or once per month, you never get lost! The best recipe for a peaceful mind.</p>
<h2 id="sign-up-and-create-an-app" id="sign-up-and-create-an-app">Sign Up and Create an App <a class="markdownit-header-anchor" href="#sign-up-and-create-an-app">🔗</a></h2>
<p>Firstly, you need to <strong><a href="https://localazy.com/register">sign up</a></strong> and create an app in Localazy. In this article, we’ll create a basic <a href="/flutter">Flutter</a> app which is using multi-language support.</p>
<p><img src="https://directus9.localazy.com/assets/7d1a207b-85f7-464e-859a-37775733bcac" alt="Register page"></p>
<p>After you create a new account in Localazy, you will see a new page which name is <strong>Create a New App</strong>. We are giving a name as “flutter-localazy”.</p>
<p><strong>App Type</strong> means, if you do it public, people can help to improve translation and if you choose private, only invited people can improve the translation.</p>
<p>And we are choosing English as the source language.</p>
<p>Also, we are using <strong><a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a></strong> feature. ShareTM is what makes Localazy unique and different from other translation platforms. Briefly, <strong>ShareTM</strong> is highly accurate translation memory. It allows using of community translations.</p>
<p><img src="https://directus9.localazy.com/assets/32555683-699f-4092-8e25-adef903597b8" alt="Create a new App"></p>
<p>After all these things we can create a new project. Then you will see a “<strong>Select Your Integration</strong>” page. You can integrate Localazy to all these platforms, we will choose <strong>Flutter</strong> for now.</p>
<p><img src="https://directus9.localazy.com/assets/40b483a6-2568-4644-80ba-f2b94dc46d38" alt="Select Your Integration"></p>
<p>Now, we need to install <strong><a href="https://localazy.com/docs/cli/installation">Localazy CLI</a></strong> tool to manage the upload and download of phrases.</p>
<p><strong>Installation</strong>
Localazy CLI is available as a native app for all major platforms (Windows, Linux and macOS), Java’s JAR and Docker…</p>
<p><strong>Localazy CLI</strong> is a command-line interface, and we can use it to upload files to the Localazy platform and download translations back to our app.</p>
<p>Also, <a href="/blog/localazy-cli-sofware-localization-tool-kotlin-github">Localazy CLI</a> is available as a <strong>native app for all major platforms</strong> (Windows, Linux and macOS), Java’s JAR and Docker image.</p>
<blockquote>
<p>You need to install Localazy CLI inside project folder or update your path</p>
</blockquote>
<h2 id="set-up-flutter-project" id="set-up-flutter-project">Set Up Flutter Project <a class="markdownit-header-anchor" href="#set-up-flutter-project">🔗</a></h2>
<p>After <strong><a href="https://flutter.dev/docs/get-started/install">install Flutter</a></strong>, we create a new Flutter project.</p>
<p>Use the <code>flutter create</code> the command to create a new project:</p>
<pre><code>$ flutter create flutter_localazy
$ cd flutter_localazy
</code></pre>
<p>The command creates a Flutter project directory called <code>flutter_localazy</code> that contains a simple demo app that uses <strong><a href="https://material.io/guidelines">Material Components</a></strong>.</p>
<p><img src="https://directus9.localazy.com/assets/aac05215-3df7-4d01-9f9e-148a09e03af6" alt="Demo App"></p>
<p>First step is to include required packages in <code>pubspec.yaml</code> file. For that just add the two packages name under the dependencies. It would look something like this.</p>
<pre><code>dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:     //add this line
    sdk: flutter             //add this line
    
  intl_translation: ^0.17.1  //add this line
</code></pre>
<p>After you save this file, <a href="/dictionary/flutter">Flutter</a> will automatically download and it will include the packages. You can now use it in your app anywhere simply by importing it. We’ll import it in the <code>main.dart</code> file first. Go to, your <code>main.dart</code> file and add import the package.</p>
<pre><code>import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:intl/intl.dart';
void main() =&gt; runApp(MyApp());
</code></pre>
<p>The next step is to set up the Localization delegates in your <code>main.dart</code> file. For that, you need to specify the two delegates first.</p>
<pre><code>Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate
      ],
      supportedLocales: [
        const Locale('en', 'US'),
        const Locale('de', 'DE')
      ],
      ...
</code></pre>
<p><code>GlobalMaterialLocalizations.delegate</code> provides localized strings and other values for the Material Components library. <code>GlobalWidgetsLocalizations.delegate</code> defines the default text direction, either left to right or right to left, for the widgets library. As you can see here, we added two lists to our Material app <code>localizationsDelegates</code> &amp; <code>supportedLocales</code>. The <code>supportedLocales</code> parameter holds the list of languages that our app will support.</p>
<p>Next step is to create an <code>AppLocalization</code> &amp; <code>AppLocalizationDelegate</code>. Classes in which we’ll be defining our keywords and their translations. We’ll also use it throughout the app and for manually switching the Locale if required. Therefore Isuggest you create this class in a separate folder in your lib directory. Mine looks like <code>/lib/locale/app_localization.dart</code> The AppLocalization class will only have two static methods for now. The <code>load()</code> &amp; <code>of()</code> method.</p>
<pre><code>import 'package:flutter/material.dart';
import 'package:intl/intl.dart';

class AppLocalization {
  
  static Future&lt;AppLocalization&gt; load(Locale locale) {
    final String name = locale.countryCode.isEmpty ? locale.languageCode : locale.toString();
    final String localeName = Intl.canonicalizedLocale(name);
    return initializeMessages(localeName).then((_) {
      Intl.defaultLocale = localeName;
      return AppLocalization();
    });
  }

  static AppLocalization of(BuildContext context) {
    return Localizations.of&lt;AppLocalization&gt;(context, AppLocalization);
  }
  
  // list of locales
String get heyWorld {
  return Intl.*message*(
    'You have pushed the button this many times:',
    name: 'heyWorld',
    desc: 'Simple word for greeting ',
  );
}
}
</code></pre>
<p><em>PS: Note that your <code>load()</code> might be returning an error on the line: <code>return initializeMessages()</code> ignore this for now, we’ll remove it in a while.</em></p>
<p><code>load()</code> : It will load/set all the Localized values. You can also call this method if you wish to switch the locale of app manually.</p>
<p><code>of()</code> : This method will return the instance of current Localization of the app. Somewhat like a factory method.</p>
<p><code>get heyWorld</code>: This getter returns the value of the heyWorld. This property is what will be using to get its translations based on locale of the app. For demo purpose I have only set 1 String as for now but you can as many as you can.</p>
<p>Now create an <code>AppLocalizationDelegate</code> for the <code>AppLocalization</code> class.</p>
<pre><code>class AppLocalizationDelegate extends LocalizationsDelegate&lt;AppLocalization&gt;{
  final Locale overriddenLocale;

  const AppLocalizationDelegate(this.overriddenLocale);

  @override
  bool isSupported(Locale locale) =&gt; ['en', 'de'].contains(locale.languageCode);

  @override
  Future&lt;AppLocalization&gt; load(Locale locale) =&gt; AppLocalization.load(locale);

  @override
  bool shouldReload(LocalizationsDelegate&lt;AppLocalization&gt; old) =&gt; false; 
}
</code></pre>
<p>As you can see this Delegate class is extended from main LocalizationsDelegate and we have pointed it to AppLocalization via <AppLocalization> add the above required methods and take a look at the isSupported() method:</p>
<pre><code>@override
bool isSupported(Locale locale)=&gt;['en','de'].contains(locale.languageCode);
</code></pre>
<p>This method will be called to check if the language is supported or not, based on the Locale instance provided. Make sure to you have your supported languages inserted in this list here such as: <code>[‘en’, ‘de’ ….]</code></p>
<p>Now create a <a href="/dictionary/l10n">l10n</a> directory in your lib folder. This directory will hold all the translated values as per your Locale. Your final directory structure will look somewhat like this:</p>
<p><img src="https://directus9.localazy.com/assets/cf774415-bcd4-4b53-b8e8-7cb2b272b7fd" alt=""></p>
<p>In your Terminal and run the following command to create the arb files:</p>
<pre><code>$ flutter pub run intl_translation:extract_to_arb --output-dir=lib/l10n lib/locale/app_localization.dart
</code></pre>
<p>NOTE: The Dart intl package only creates one template file of .arb from your Localization class and names it <code>intl_messages.arb</code>. From here, you now have to manually create other resource files with convention <code>intl_[LANGUAGE_CODE].arb</code> and copy the content of <code>intl_messages.arb</code> directly with updated the values.</p>
<p>Eg: For English format you will create file <code>intl_en.arb</code> and the content copied from <code>intl_messages.arb</code> :</p>
<pre><code>{
  &quot;@@last_modified&quot;: &quot;2020-11-07T23:41:23.983052&quot;,
  &quot;heyWorld&quot;: &quot;You have pushed the button this many times:&quot;,
  &quot;@heyWorld&quot;: {
    &quot;description&quot;: &quot;Simple word for greeting &quot;,
    &quot;type&quot;: &quot;text&quot;,
    &quot;placeholders&quot;: {}
  }
}
</code></pre>
<p>Now let’s create one in the German language. So this will be:</p>
<pre><code>{
  &quot;@@last_modified&quot;: &quot;2019-06-27T23:38:38.868199&quot;,
  &quot;heyWorld&quot;: &quot;Hey Welt&quot;,
  &quot;@heyWorld&quot;: {
    &quot;description&quot;: &quot;Einfaches Wort zur Begrüßung&quot;,
    &quot;type&quot;: &quot;text&quot;,
    &quot;placeholders&quot;: {}
  }
}
</code></pre>
<p>Once you created these files in your l10n folder. Now you need to run another command to create the corresponding <code>.dart</code> files that will be used to manage these resource files. For that run the following command:</p>
<pre><code>$ flutter pub run intl_translation:generate_from_arb --output-dir=lib/l10n --no-use-deferred-loading lib/l10n/intl_messages.arb lib/l10n/intl_de.arb lib/l10n/intl_en.arb lib/locale/app_localization.dart
</code></pre>
<p>NOTE that i have only 2 files <code>intl_en.arb</code> &amp; <code>intl_de.arb</code> therefore I am only passing those in command. But if you have more or less, you need to pass them all.</p>
<p><img src="https://directus9.localazy.com/assets/b8451b01-1a95-406e-9f8b-9132035676bc" alt=""></p>
<p>Now import the <code>messages_all.dart</code> file in your <code>AppLocalization</code> Class and here’s a final look at your AppLocalization Class:</p>
<pre><code>class AppLocalization {
  
  static Future&lt;AppLocalization&gt; load(Locale locale) {
    final String name = locale.countryCode.isEmpty ? locale.languageCode : locale.toString();
    final String localeName = Intl.canonicalizedLocale(name);
    return initializeMessages(localeName).then((_) {
      Intl.defaultLocale = localeName;
      return AppLocalization();
    });
  }

  static AppLocalization of(BuildContext context) {
    return Localizations.of&lt;AppLocalization&gt;(context, AppLocalization);
  }

  String get heyWorld {
    return Intl.message(
      'Hey World',
      name: 'heyWorld',
      desc: 'Simpel word for greeting ',
    );
  }
}

class AppLocalizationDelegate extends LocalizationsDelegate&lt;AppLocalization&gt; {
  final Locale overriddenLocale;

  const AppLocalizationDelegate(this.overriddenLocale);

  @override
  bool isSupported(Locale locale) =&gt; ['en', 'es', 'de'].contains(locale.languageCode);

  @override
  Future&lt;AppLocalization&gt; load(Locale locale) =&gt; AppLocalization.load(locale);
  
  @override
  bool shouldReload(LocalizationsDelegate&lt;AppLocalization&gt; old) =&gt; false;
}
</code></pre>
<p><em>The error is gone! right. <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/></em> Now you’re just one step from using the language values based on your current localization settings. To use language specific text in your app, you’ll simply need to follow the two steps:</p>
<ul>
<li>
<p>import <code>AppLocalization</code> class where you want to use the text</p>
</li>
<li>
<p>Call localized value of text via: <code>AppLocalizations.of(context).heyWorld</code></p>
</li>
</ul>
<p>Now what is happening here is that if you call the above method, it calls the getter of the <code>AppLocalization</code> class and returns its value based on the Locale of the context.</p>
<p>If the context is <code>en</code> (i.e. english) it will return the value from <code>intl_en.arb</code> and when the Locale changes to de ( i.e. german) it will return the value from <code>intl_de.arb</code>. And since we’re using the same class getter for both languages ie <code>(heyWorld)</code> therefore we don’t need to worry about that either. Flutter will take care of that. But wait, here comes the best part.</p>
<h2 id="integrate-localazy-for-strings-management" id="integrate-localazy-for-strings-management">Integrate Localazy for strings management <a class="markdownit-header-anchor" href="#integrate-localazy-for-strings-management">🔗</a></h2>
<p>Now it’s time to add the integration with Localazy. Create localazy.json in the <strong>root folder</strong> and paste the following configuration. Use the <strong>write</strong> and <strong>read</strong> keys from the step 2 of the <strong>integration guide page</strong>.</p>
<p>In your <code>main.dart</code> file will be like this:</p>
<pre><code>void main() =&gt; runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  State&lt;StatefulWidget&gt; createState() =&gt; _MyAppState();
}

class _MyAppState extends State&lt;MyApp&gt; {
  // This widget is the root of your application.
  AppLocalizationDelegate _localeOverrideDelegate =
  AppLocalizationDelegate(Locale('en', 'US'));

  @override
  Widget build(BuildContext context) {
    return new MaterialApp(localizationsDelegates: [
      GlobalMaterialLocalizations.*delegate*,
      GlobalWidgetsLocalizations.*delegate*,
      _localeOverrideDelegate
    ], supportedLocales: [
      const Locale('en', 'US'),
      const Locale('de', 'DE')
    ],
        home: MyHomePage());
  }
}

class MyHomePage extends StatefulWidget {
  @override
  State&lt;StatefulWidget&gt; createState() =&gt; _MyHomePageState();
}

class _MyHomePageState extends State&lt;MyHomePage&gt; {

  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
         title: Text(&quot;Flutter Demo Localazy&quot;),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: &lt;Widget&gt;[
            Text(
              AppLocalization.*of*(context).heyWorld,
            ),
            Text(
              '$_counter',
              style: Theme.*of*(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.*add*),
      ),
    );
  }
}
</code></pre>
<h2 id="implement-localization-to-flutter-app" id="implement-localization-to-flutter-app">Implement Localization to Flutter App <a class="markdownit-header-anchor" href="#implement-localization-to-flutter-app">🔗</a></h2>
<p>We created our localization files easily, now we will add localazy to our Flutter app according to documentation.</p>
<pre><code>{
    &quot;writeKey&quot;: &quot;your-write-key&quot;,
    &quot;readKey&quot;: &quot;your-read-key&quot;,

    &quot;upload&quot;: {
      &quot;type&quot;: &quot;arb&quot;,
      &quot;files&quot;: &quot;lib/l10n/intl_en.arb&quot;
    },

    &quot;download&quot;: {
      &quot;files&quot;: &quot;lib/l10n/intl_${lang}.arb&quot;
    }

}
</code></pre>
<p>And the project structure will be like this.</p>
<p><img src="https://directus9.localazy.com/assets/bea2c146-cdde-4156-9526-868869eabdd9" alt=""></p>
<p>Since we’ve set English to be the source language, this file will contain the source phrases for our application. You can fill in any key-value pair you like.</p>
<blockquote>
<p>Flutter’s ARB format is fully supported including arrays, plurals and selected context information. No extra configuration is necessary, but you can enable certain features if you want so.
<a href="https://localazy.com/docs/cli/flutter-format">File Format - Flutter ARB</a>
*Flutter’s ARB format is fully supported including arrays, plurals and selected context information.</p>
</blockquote>
<pre><code>{
    &quot;@@last_modified&quot;: &quot;2019-06-28T17:50:47.781400&quot;,
    &quot;heyWorld&quot;: &quot;You have pushed the button this many times:&quot;,
    &quot;@heyWorld&quot;: {
      &quot;description&quot;: &quot;Simple word for greeting &quot;,
      &quot;type&quot;: &quot;text&quot;,
      &quot;placeholders&quot;: {}
    }
  }
</code></pre>
<p><img src="https://directus9.localazy.com/assets/f1254f0f-50f2-48df-8704-5655be19789b" alt=""></p>
<p>We created language files for our project. Now, the application is ready to have <a href="/tags/localization">localization managed by Localazy</a>. We can upload our language to Localazy and add multi-language support with using Localazy features.</p>
<p>Let’s upload the English file to Localazy.</p>
<pre><code>localazy upload
</code></pre>
<p>And it’s done in 2 seconds.</p>
<pre><code>Localazy CLI, v1.1.9
Advanced file uploader/downloader for the Localazy translation platform.

Read more information at [https://localazy.com/docs/cli](https://localazy.com/docs/cli)

Uploading...
  - deprecate missing: false
  - import as new: false
  - app version: 0
  - groups: (default only)
  - folder: .

Processing files...

./lib/l10n/intl_en.arb
  (file=intl.arb, lang=inherited, type=arb)

Verifying...

Validating...

Uploading 432 B...

Your data has been uploaded to Localazy. It's scheduled for processing and will be imported soon.
You will be notified about the progress on the Localazy platform (through notifications).

Your app on Localazy: [https://connect.localazy.com/p/flutter-localazy](https://connect.localazy.com/p/flutter-localazy)

Done.
</code></pre>
<p><img src="https://directus9.localazy.com/assets/683d2d76-a72b-461a-93c1-1b3e1af50810" alt=""></p>
<p>After refreshing this page, it shows our translations. Now we can add multiple languages.</p>
<p><img src="https://directus9.localazy.com/assets/c43de7a3-b26d-4185-a3a7-212e719b3dd9" alt=""></p>
<p>Open the <em>Add languages</em> tab and there you find a couple of languages with info about the percentage of automated translations. Also you will see the suggestions for every key. You can just click and translate every key according to suggestions. It’s really easy to implement multiple languages.</p>
<p><img src="https://directus9.localazy.com/assets/c23c8665-56ac-4fb2-9af5-2da0bd071345" alt=""></p>
<p>Whenever you want, you can improve your translation, add new keys, or remove old keys. When we go back to project we need to do just download with CLI.</p>
<pre><code>localazy download
</code></pre>
<p>With this command, you’ll download all the newly accepted phrases and newly added languages. In the <em>locales</em> folder, we can see there is newly <em>intl_de.arb</em>.</p>
<p>We created our localization files easily, now we will add localization to our <a href="/tags/flutter">Flutter</a> app according to documentation.</p>
<p><img src="https://directus9.localazy.com/assets/a902ec50-0218-4cf9-a9a8-6deae546955b" alt=""></p>
<p>I hope you’ve enjoyed this short intro into Localazy with Flutter. If you’d like to get closer to us, join <a href="https://discord.gg/CAVhHrh">Discord</a>.</p>
<p>You can get all code from the link in below:</p>
<p><a href="https://github.com/durannumit/flutter-localazy">https://github.com/durannumit/flutter-localazy</a></p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Ümit Duran</author>
            <enclosure url="https://directus9.localazy.com/assets/f9e69bfd-8b43-49a5-971c-0d53d72db9f4" length="0" type="image//assets/f9e69bfd-8b43-49a5-971c-0d53d72db9f4"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Marketplace, connected projects and many more]]></title>
            <link>https://localazy.com/blog/release-update-marketplace-connected-projects</link>
            <guid isPermaLink="false">release-update-marketplace-connected-projects</guid>
            <pubDate>Thu, 17 Mar 2022 15:18:22 GMT</pubDate>
            <description><![CDATA[You are our most important decision-maker. Within today’s release, you will find out a whole plethora of improvements and one big leap.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h3 id="connected-projects-and-glossary" id="connected-projects-and-glossary">🔗 Connected projects and glossary <a class="markdownit-header-anchor" href="#connected-projects-and-glossary">🔗</a></h3>
<p>Dreams come true with Localazy, connected projects are up and running! Create as many projects as you need in Localazy and connect them to save a tremendous amount of time on translations. Manage your apps on different platforms as one project and distribute translations across all platforms in your stack.</p>
<p>Learn more about the <a href="/features/connected-projects">Connected Projects</a> feature.</p>
<h3 id="ability-to-search-in-path-and-group-phrases" id="ability-to-search-in-path-and-group-phrases">🔍 Ability to search in “path” and group phrases <a class="markdownit-header-anchor" href="#ability-to-search-in-path-and-group-phrases">🔗</a></h3>
<p><img src="https://directus9.localazy.com/assets/b0ac9cd3-1139-4296-a9d3-af5ec072fb3b" alt="Search phrases"></p>
<p>Navigate through the structure and find strings specific to specified paths and/or groups. If the default translation game is not the right fit for your specific needs, just use search and focus on specific paths to be translated. Comes handy, huh?</p>
<h3 id="prioritize-translations-by-number-of-speakers" id="prioritize-translations-by-number-of-speakers">📊 Prioritize translations by number of speakers <a class="markdownit-header-anchor" href="#prioritize-translations-by-number-of-speakers">🔗</a></h3>
<p>Not sure about which languages to choose as a priority? Soon we will come up with suggestions. For now, you can see a number of speakers for a particular language. You are welcome <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/></p>
<h2 id="introducing-localazy-marketplace" id="introducing-localazy-marketplace">🏪 Introducing Localazy Marketplace <a class="markdownit-header-anchor" href="#introducing-localazy-marketplace">🔗</a></h2>
<p><img src="https://directus9.localazy.com/assets/d2a47ee6-0c93-4683-bb20-6749a451cd9f" alt="Localazy Marketplace"></p>
<p>Our journey towards a transparent, simple and especially fair approach to pricing continues. We have been working on the business model to stay for a long time and made an extra effort to keep Localazy within your budget.</p>
<p>Why Localazy Marketplace? What are the motivations and differences from other services on the market? Read our blogpost on <a href="/blog/software-localization-app-translation-localazy-marketplace">Why and how we built Localazy Marketplace</a>?</p>
<p>Rest assured, current users will not be affected. It is quite the opposite! We do our best to be the most affordable i18n &amp; l10n tool on the market.</p>
<h2 id="referral-system" id="referral-system">💸 Referral system <a class="markdownit-header-anchor" href="#referral-system">🔗</a></h2>
<p>Share Localazy with your peers and increase your free string quota plus get $50 for every 5 activated apps referred by your link.</p>
<h3 id="from-the-backlog" id="from-the-backlog">🗃️ From the backlog <a class="markdownit-header-anchor" href="#from-the-backlog">🔗</a></h3>
<ul>
<li>Fixed LOC-1163 Update security keys UI</li>
<li>Fixed LOC-1303 Fix email verification flow</li>
<li>Fixed LOC-1502 Update notification wording for save translation success</li>
<li>Fixed LOC-265 Change app source language to another one</li>
<li>Fixed LOC-1499 Don’t create a new version if there’s no change in translation</li>
<li>Fixed LOC-1513 Fix plurals for languages without CLDR rules</li>
</ul>
<h3 id="localazy-supports-mobile-developers-cafe" id="localazy-supports-mobile-developers-cafe">🤗 Localazy supports Mobile Developer’s Café <a class="markdownit-header-anchor" href="#localazy-supports-mobile-developers-cafe">🔗</a></h3>
<p>We are proud to support <a href="https://mobiledeveloperscafe.com">MDC</a>, a weekly digest for mobile app developers by our user Iran Sanjith.</p>
<p>Are you an author and you have something to share? Contact Jakub on our Discord server.</p>
<h3 id="read-it-while-it-is-hot-on-the-blog" id="read-it-while-it-is-hot-on-the-blog">♨️ Read it while it is hot on the blog <a class="markdownit-header-anchor" href="#read-it-while-it-is-hot-on-the-blog">🔗</a></h3>
<p><a href="/blog/automated-localization-github-actions-localazy">Automated Localization: Github Actions ❤ Localazy</a></p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/0a6ab118-69c8-45a8-9cd1-34f3ceee8057" length="0" type="image//assets/0a6ab118-69c8-45a8-9cd1-34f3ceee8057"/>
        </item>
        <item>
            <title><![CDATA[How to localise NodeJS with Polyglot.js and Localazy]]></title>
            <link>https://localazy.com/blog/how-to-localise-nodejs-with-polyglotjs-and-localazy-i18n</link>
            <guid isPermaLink="false">how-to-localise-nodejs-with-polyglotjs-and-localazy-i18n</guid>
            <pubDate>Thu, 16 Apr 2026 14:34:02 GMT</pubDate>
            <description><![CDATA[Do you use Polyglot.js to localise your NodeJS app? Or maybe you're looking for a tool to use? That's great, but tell me, how easily can you manage the translation files? Not really, huh? In this article, I'll give you a short introduction to translations management with Polyglot.js and Localazy.
]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h1 id="what-is-localazy">What is Localazy?</h1>
<p>Localazy is a translation management platform and it’s a great option for developers because of several key features. My favorite ones are:</p>
<ul>
<li>It comes with <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a> allowing you to automatically translate your app into 80+ languages for free by sharing translations with other developers.</li>
<li>With its <a href="https://localazy.com/docs/cli/the-basics">CLI</a>, it can be easily integrated into any workflow. And we are going to use the CLI today.</li>
</ul>
<h1 id="part-one-getting-started-with-localazy">Part One - Getting started with Localazy</h1>
<p>Create a <a href="https://localazy.com">Localazy</a> account and create a new app. I will use English as source language, but you can choose any other. Then on the integration screen, select JSON. We will upload the source strings in a bit.</p>
<p>Afterwards, you can <a href="https://localazy.com/docs/cli/installation">install</a> Localazy’s CLI for Linux, MacOS or Windows.</p>
<p>Come back to your project. In the root folder, create a file called <code>localazy.json</code> and paste the following. Make sure to fill in your <em>writeKey</em> and <em>readKey</em> which you can retrieve from your app either under settings tab or in the first step of the JSON CLI guide on the select integration screen.</p>
<pre><code class="language-json">{

  &quot;writeKey&quot;: &quot;your-apps-write-key&quot;, 
  &quot;readKey&quot;: &quot;your-apps-read-key&quot;,

  &quot;upload&quot;: {
    &quot;type&quot;: &quot;json&quot;,
    &quot;files&quot;: &quot;locales/en.json&quot;
  },

  &quot;download&quot;: {
    &quot;files&quot;: &quot;locales/${lang}.json&quot;
  }
}
</code></pre>
<p>Now, we can upload the source strings. Create <code>en.json</code> in <em>locales</em> folder and edit as needed. If you are using another language as your source, replace <code>en</code> with the correct locale.</p>
<pre><code class="language-json">{
  &quot;appName&quot;: &quot;Your Cool App&quot;,
  &quot;error&quot;: &quot;An error has occurred.&quot;,
  &quot;hello&quot;: &quot;Hello %{name}&quot;
}
</code></pre>
<p>Now run <code>localazy upload</code> and you should see your source strings in your app in Localazy. At this point, you may add new languages, for which you can use automatic or manual translations. <strong>Automatic translations</strong> use highly accurate community translations, so they are generally very precise. However, they support translations only from English at the moment, so you need to have the English language added. It does not have to be your source language though.</p>
<p>Before downloading, you need to review automatically translated strings. Otherwise, they have only a candidate status and won’t be published. In case you, as an owner, translate anything, the strings are automatically accepted without the review process. Try to add German language and review the suggested phrases or translate them manually (it does not need to be proper German ツ).</p>
<p>Once you have approved the translations, you can run <code>localazy download</code> to gather edited files.</p>
<h1 id="part-two-development">Part Two - Development</h1>
<p>Install <a href="https://npm.im/node-polyglot">node-polyglot</a> and fs via npm.</p>
<pre><code class="language-bash">npm install node-polyglot
</code></pre>
<p>In your code add the following to your <code>index.js</code>.</p>
<pre><code class="language-js">const Polyglot = require('node-polyglot')
const fs = require('fs')
const polyglots = new Map() // here we will store all our different locales

const translationFiles = fs.readdirSync('./locales').filter(file =&gt; file.endsWith('.json')) // gather our locales

for (const file of translationFiles) {
  const t = require('./locales/' + file)
  const p = new Polyglot()
  p.extend(t) // load all translations into it
  const localeName = file.slice(0, -5);
  polyglots.set(localeName, p) // sets the locale name and the Polyglot instance
}

function translate (key, locale, options = {}) {
    return polyglots.get(locale).t(key, options);
}
</code></pre>
<p>If you’d like, you can name the file something like <code>translate.js</code> to turn it into a module. You’d also add <code>module.exports = translate</code> to the end of the file. Then you can <code>const translate = require('./translate.js')</code> to get the function.</p>
<p>Now, to translate anything, use the <code>translate()</code> function, like so:</p>
<pre><code class="language-js">console.log(translate('hello', 'de', { name: 'Daniel' }))
</code></pre>
<p>When you run <code>node index.js</code>, you should see a console log of the phrase <em>hello</em> translated into German.</p>
<p>Implement this to fit your code, and you are all set! You may check out the final repo <a href="https://github.com/danielnewell/polyglotjs-sample">here</a>.</p>
<p>If you run into issues, please leave a message and I will fix it as soon as possible.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://directus9.localazy.com/assets/9d444069-48f4-45d3-8b23-8c7c20155d48" length="0" type="image//assets/9d444069-48f4-45d3-8b23-8c7c20155d48"/>
        </item>
        <item>
            <title><![CDATA[How I localized my media player app into 50 languages for free]]></title>
            <link>https://localazy.com/blog/how-i-localized-my-media-player-app-into-50-languages-for-free</link>
            <guid isPermaLink="false">how-i-localized-my-media-player-app-into-50-languages-for-free</guid>
            <pubDate>Wed, 30 Mar 2022 14:44:44 GMT</pubDate>
            <description><![CDATA[One of our users shares his experience with Localazy and how he was able to localize his small media player app into 50 languages for free.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Recently, I worked on a small media player app for Android to play a list of tracks in a given folder on the SD card. One of the requirements was to get the app translated to more languages.</p>
<p>There were only a few strings at the time, but the app was just a proof of concept, and it was supposed to be improved in the future.</p>
<pre><code class="language-xml">&lt;resources&gt;
    &lt;string name=&quot;button_play&quot;&gt;Play&lt;/string&gt;
    &lt;string name=&quot;button_pause&quot;&gt;Pause&lt;/string&gt;
    &lt;string name=&quot;button_stop&quot;&gt;Stop&lt;/string&gt;
    &lt;string name=&quot;button_next&quot;&gt;Next&lt;/string&gt;
    &lt;string name=&quot;button_previous&quot;&gt;Previous&lt;/string&gt;
    &lt;string name=&quot;menu_tracks&quot;&gt;Tracks&lt;/string&gt;
    &lt;string name=&quot;info_playing&quot;&gt;Now playing: %1$s&lt;/string&gt;
&lt;/resources&gt;
</code></pre>
<p>I was looking for a simple <strong>solution to manage translations</strong> and found <a href="https://localazy.com">Localazy</a>. It’s free, and it promised to translate my app into 80 languages for free by sharing translations with other apps, so I decided to give it a try.</p>
<p>I signed up, followed the instructions, and integrated Localazy with my Gradle script. It was simple, and I didn’t need to touch the source code or handle XML files. Neat!</p>
<p>With the <code>uploadStrings</code> Gradle command added by Localazy, I uploaded strings. In a few seconds, new languages are available for my app:</p>
<p><img src="https://content.localazy.com/80_langs/available_langs.png" alt="Available languages"></p>
<p>I added about 50 of then to my app:</p>
<p><img src="https://content.localazy.com/80_langs/added_langs.png" alt="News languages"></p>
<p>And then reviewed them:</p>
<p><img src="https://content.localazy.com/80_langs/review.png" alt="Review languages"></p>
<p>The review is awesome as it allowed me to check that placeholders are correct, etc.</p>
<p>Honestly, the offered translations are extremely accurate. I tried on another of my apps too, and it’s way better than Google Translate. If the string is not available through the shared translations, there are machine translations from Amazon and Google.</p>
<p>Adding a new language to my app took me just a few minutes. And what I totally love about <a href="https://localazy.com">Localazy</a> is that I only cleaned my project and rebuilt it to have all the languages included in the app! Nothing else needed.</p>
<p>It’s not that shocking that my simple app was 100% translated easily, as my strings are common. However, the whole process is enjoyable and seamless!</p>
<hr>
<p>This post is translated and republished with the consent of the original author.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/e2a6184a-b5bd-4851-937c-7c976769d921" length="0" type="image//assets/e2a6184a-b5bd-4851-937c-7c976769d921"/>
        </item>
        <item>
            <title><![CDATA[How to localize Vue.js app with vue-i18n and Localazy]]></title>
            <link>https://localazy.com/blog/how-to-localize-vuejs-app-with-vue-i18n-and-localazy</link>
            <guid isPermaLink="false">how-to-localize-vuejs-app-with-vue-i18n-and-localazy</guid>
            <pubDate>Thu, 16 Apr 2026 14:34:06 GMT</pubDate>
            <description><![CDATA[Localization of any type of application, be it a web, mobile or desktop app, can be tedious and irritating. In this article, I'll show you how can you handle that easily with Localazy and vue-18n in a way that you'll spend your time effectively and actually enjoy the localization process.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Localazy’s most prominent features are a pro-active review process, highly accurate translation memory supported by community-shared translations and non-disturbing, and crystal clear UI which is not bloated with rarely used options. And as I’ll show shortly, it works seamlessly with vue-i18n. Thanks to that, managing translation strings, even with open-source projects where anybody can contribute (with varying quality), is a piece of cake 🍰.</p>
<h2 id="tldr" id="tldr">tldr; <a class="markdownit-header-anchor" href="#tldr">🔗</a></h2>
<ul>
<li>sign up for <a href="https://localazy.com/register">Localazy</a>,</li>
<li><a href="https://localazy.com/my/create">create an app</a> with English as source language and <em>Use community translations (ShareTM)</em> option enabled,</li>
<li>select <em>Vue.js</em> integration option and install Localazy <a href="https://localazy.com/docs/cli/installation">CLI</a>,</li>
<li>install and configure <a href="https://kazupon.github.io/vue-i18n/">vue-i18n</a></li>
<li>create <code>localazy.json</code> in root and paste in and modify the <a href="https://localazy.com/docs/cli/quick-start-json">configuration</a></li>
<li>create <code>locales</code> folder and in it create <code>en.json</code>.  Add any translation key-value pair, e.g.</li>
<li>run <code>localazy upload</code>,</li>
<li>in Localazy, add any language. Then review it and accept the suggested phrases,</li>
<li>run <code>localazy download</code> and check locales folder for the new locale,</li>
<li>run the app <code>npm run serve</code></li>
</ul>
<h2 id="sign-up-and-app-creation" id="sign-up-and-app-creation">Sign up and app creation <a class="markdownit-header-anchor" href="#sign-up-and-app-creation">🔗</a></h2>
<p>First of all, let’s <a href="https://localazy.com/register">set up a new account</a> on Localazy and create a <a href="https://localazy.com/my/create">new application</a>. In this article, we’ll use English as the source language, but you can generally choose any other. Make sure that the <em>Use community translations (ShareTM)</em> option is enabled. <a href="https://localazy.com/docs/general/what-is-localazy-sharetm">ShareTM</a> is the highly accurate translation memory I mentioned. Thanks to it, most of the new applications have as much as 50 % of their strings automatically available for translation into 80+ languages.</p>
<p>Proceed to create the app. Afterward, select <em>Vue.js</em> on the integration screen. We’ll use the powerful CLI tool to manage the upload and download of phrases. <a href="https://localazy.com/docs/cli/installation">Installation</a> is available for Linux, MacOS and Windows. Note the read and write keys in step 2. We’ll need it shortly.</p>
<h2 id="set-up-vue-project" id="set-up-vue-project">Set up Vue project <a class="markdownit-header-anchor" href="#set-up-vue-project">🔗</a></h2>
<p>If you don’t want to follow the step-by-step guide here, you can take a look at the <a href="https://github.com/localazy/vue-18n-example">finished repo</a>. Otherwise, stay awhile and listen.</p>
<p>Create a new Vue project with <code>vue create vue-i18n-example</code> (if you don’t have Vue CLI installed, run <code>npm install -g @vue/cli</code>) and use <em>Vue 2</em> preset.  Once everything is installed, add vue-i18n.</p>
<pre><code class="language-bash">npm install vue-i18n
</code></pre>
<p>Now it’s time to add integration with Localazy. Create <code>localazy.json</code> in the root folder and paste the following configuration. Use the write and read keys from the step 2 of the integration guide page.</p>
<pre><code class="language-json">{
    &quot;writeKey&quot;: &quot;your-write-key&quot;,
    &quot;readKey&quot;: &quot;your-read-key&quot;,

    &quot;upload&quot;: {  
      &quot;type&quot;: &quot;json&quot;,
      &quot;files&quot;: &quot;src/assets/locales/en.json&quot;         
    },
    
    &quot;download&quot;: {
      &quot;files&quot;: &quot;src/assets/locales/${lang}.json&quot;
    }
}
</code></pre>
<p>Additionally, create <code>src/assets/locales</code> folder and <code>en.json</code> file inside. Since we’ve set English to be the source language, this file will contain the source phrases for our application. You can fill in any key-value pair you like. I’ll add this.</p>
<pre><code class="language-json">{
  &quot;hello&quot;: &quot;Hello, my friend&quot;,
  &quot;stay_awhile_and_listen&quot;: &quot;Stay awhile and listen&quot;
}
</code></pre>
<p>At this point, the application is ready to have localization managed by Localazy. Before we upload the first bunch of strings, let’s prepare a test scenario with vue-i18n to get it off our plates.</p>
<p>First modify <code>main.js</code>.</p>
<pre><code class="language-javascript">import Vue from 'vue'
import App from './App.vue'
import VueI18n from &quot;vue-i18n&quot;;
import en from &quot;../src/assets/locales/en.json&quot;;

const messages = {
    en,
}

Vue.use(VueI18n);
const i18n = new VueI18n({
    locale: 'en',
    messages
})


Vue.config.productionTip = false

new Vue({
  i18n,
  render: h =&gt; h(App),
}).$mount('#app')
</code></pre>
<p>And then <code>App.vue</code></p>
<pre><code class="language-html">&lt;template&gt;
  &lt;div id=&quot;app&quot;&gt;
    &lt;h1&gt;{{$t('hello')}}&lt;/h1&gt;
    &lt;h2&gt;{{$t('stay_awhile_and_listen')}}&lt;/h2&gt;
  &lt;/div&gt;
&lt;/template&gt;

&lt;script&gt;

export default {
  name: 'App',
}
&lt;/script&gt;

&lt;style&gt;
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
&lt;/style&gt;
</code></pre>
<p>When you run <code>npm run serve</code>, you should see the two English phrases. Nothing fancy so far.</p>
<h2 id="uploading-and-downloading-phrases" id="uploading-and-downloading-phrases">Uploading and downloading phrases <a class="markdownit-header-anchor" href="#uploading-and-downloading-phrases">🔗</a></h2>
<p>Let’s upload the English file to Localazy. From the root folder, run the following command</p>
<pre><code class="language-bash">localazy upload -s
</code></pre>
<p>The <code>-s</code> argument stands for simulate. It is a good practice to test out the configuration without uploading anything to assure that nothing unexpected happens (such as some of the key-value pairs are incorrectly matched and override each other). The output should be something along these lines,  depending on the CLI version</p>
<pre><code>Localazy CLI, v1.1.9
Advanced file uploader/downloader for the Localazy translation platform.

Read more information at https://localazy.com/docs/cli

Uploading...
  - deprecate missing: false
  - import as new: false
  - app version: 0
  - groups: (default only)
  - folder: .

Processing files...

./src/assets/locales/en.json
  (file=file.json, lang=inherited, type=json)

Verifying...

Validating...

Done.
</code></pre>
<p>Everything worked out well and our English file was matched. This time let’s let upload it for real.</p>
<pre><code class="language-bash">localazy upload
</code></pre>
<p>Refresh your app page and you should see the English language on the list. Open the <em>Add languages</em> tab and there you find a couple of languages with info about the percentage of automated translations. It is possible that you will see either 50 % or 100 %. The automated matching with ShareTM improves all the time and it’s likely that thanks to this article you would have all the phrases automatically translated. How cool is that? 🙂</p>
<p><img src="https://directus9.localazy.com/assets/8fcb8ade-8120-43ed-b295-a760c81d7a75" alt="alt text" title="ShareTM suggestions"></p>
<p>One way or another, look up German and add it to your app. You’ll see there is a review button. Every time ShareTM provides a translation suggestion it will have candidate status. This means that it will be ready for review and any reviewer can either approve it or decline. Go ahead and approve the suggested phrase(s).</p>
<p><img src="https://directus9.localazy.com/assets/f1e69efe-1cb7-49b3-9dd3-1cdc0affa976" alt="alt text" title="Review phrases by ShareTM"></p>
<p>In case that the ShareTM did not translate 100 % of phrases, come back to the languages list and notice that the review button now reads translate. Localazy recognizes that there is nothing to review but still something to translate, so it offers you the next most likely action in one click. Translate the other phrase (you may use a suggested phrase on the translation page). This time you do not need to go through the review process since you are a trusted translator as owner by default, so the translation is immediately approved.</p>
<p>It’s time to go back to the Vue project.</p>
<pre><code class="language-bash">localazy download
</code></pre>
<p>With this command, you’ll download all the newly accepted phrases and newly added languages. In the <em>locales</em> folder, we can see there is newly <code>de.json</code>.</p>
<p>The last thing to be done is to update <code>main.js</code> and add the German locale resource file.</p>
<pre><code class="language-javascript">import Vue from 'vue'
import App from './App.vue'
import VueI18n from &quot;vue-i18n&quot;;
import en from &quot;../src/assets/locales/en.json&quot;;
import de from &quot;../src/assets/locales/de.json&quot;;


const messages = {
    en,
    de
}

Vue.use(VueI18n);
const i18n = new VueI18n({
    locale: 'de',
    messages
})


Vue.config.productionTip = false

new Vue({
  i18n,
  render: h =&gt; h(App),
}).$mount('#app')
</code></pre>
<p>Now when you run the app again, you’ll see that the phrases were correctly translated to German.</p>
<h2 id="closing-words" id="closing-words">Closing words <a class="markdownit-header-anchor" href="#closing-words">🔗</a></h2>
<p>I hope you’ve enjoyed this short intro into Localazy with vue-i18n. If you’d like to get closer to us, join us on <a href="https://discord.gg/CAVhHrh">Discord</a>.</p>
<!--kg-card-end: html--><!--kg-card-begin: html--><div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg xmlns="http://www.w3.org/2000/svg" viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Some parts of this article might not be accurate. This article mentions the ShareTM feature, which we've updated later. Learn more about the <a href="/blog/feature-update-sharetm-improvements">Localazy ShareTM improvements in this article</a>.</p>
</div><!--kg-card-end: html-->]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/02/technical-article-vue-tutorial.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Interview with Julian, a lead Android developer at Applover]]></title>
            <link>https://localazy.com/blog/interview-with-julian-a-lead-android-developer-at-applover</link>
            <guid isPermaLink="false">interview-with-julian-a-lead-android-developer-at-applover</guid>
            <pubDate>Mon, 29 Nov 2021 13:07:51 GMT</pubDate>
            <description><![CDATA[Read an interview with Julian, a lead Android developer at 
Applover Digital Agency. Read about how Applover team is working these days and how they tackle app internationalization and localization challenges.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>We love to talk with our industry peers about how do they actually approach app development, how they cooperate together and why they love what they do. This time we have interviewed lead Android developer at <a href="https://www.applover.com">Applover</a>, our friendly digital agency from Poland.</p>
<h4 id="hello-could-you-briefly-talk-about-yourself-and-about-your-position-in-applover">Hello. Could you briefly talk about yourself and about your position in Applover?</h4>
<p>Hello. My name is Julian. I’ve been with Applover for almost four years now. I work as a lead Android developer. Apart from daily development work for both in-house projects and external clients, I try to take care of our Android team. I mostly focus on facilitating better communication, removing impediments and organizing meetings or new initiatives.</p>
<h4 id="from-a-group-of-4-friends-applover-managed-to-grow-quite-rapidly-into-a-healthy-almost-medium-sized-enterprise-that-also-surely-means-that-people-have-become-more-specialized-in-the-team-and-the-team-synchronization-both-within-and-between-teams-and-management-majority-of-it-companies-were-forced-to-adopt-home-offices-on-an-unprecedented-scale-some-have-thrived-some-have-seen-a-drop-in-their-productivity">From a group of 4 friends, Applover managed to grow quite rapidly into a healthy, almost medium-sized enterprise. That also surely means that people have become more specialized in the team and the team synchronization, both within and between teams and management. Majority of IT companies were forced to adopt home offices on an unprecedented scale. Some have thrived, some have seen a drop in their productivity.</h4>
<p>What is the 2020 like for Applover and the dev team in particular?</p>
<p>We have been fortunate enough to avoid any major drawbacks in 2020. The entire market has changed in really unexpected ways. We have not been significantly affected by the whole situation due to our twofold strategy. Providing both full-stack and team extension services has allowed us to stay agile and pivot when needed.</p>
<p>When it comes to the day-to-day operations, we have always been remote-friendly. Switching to the fully remote work mode was not that difficult as we already had some relevant experience. We made sure to keep the spirits high and everyone feeling included in the team by organizing remote team building activities. It was very well received and honestly quite fun.</p>
<h4 id="i-noticed-on-applovers-website-that-the-employees-are-offered-quite-interesting-perks-and-benefits-hackatons-gaming-tournaments-or-edusessions-apparently-you-get-to-spend-a-lot-of-time-together-at-work-and-off-work-does-it-help-the-morale-do-people-feel-more-refreshed-thanks-to-them-and-what-is-your-personal-favorite-perk">I noticed on Applover’s website that the employees are offered quite interesting perks and benefits. Hackatons, gaming tournaments or EduSessions. Apparently you get to spend a lot of time together at work and off work. Does it help the morale, do people feel more refreshed thanks to them? And what is your personal favorite perk?</h4>
<p>I think it really does. All the team building events are usually tons of fun and we tend to look forward to them as they are inherently a social way of improving morale. On top of that, we often use our sports card benefits to meet up after work, taking care of physical fitness while spending time together. Personally, I am loving the additional motivation to work out so I think the sports one is definitely my favorite benefit.</p>
<h4 id="applovers-tech-stack-is-broad-so-i-would-imagine-that-customers-frequently-ask-for-a-development-of-a-multi-platform-application-an-android-ios-and-web-applications-are-for-instance-quite-common-since-they-use-different-formats-for-localization-strings-how-do-you-approach-localization-in-general">Applover’s tech stack is broad, so I would imagine that customers frequently ask for a development of a multi-platform application. An Android, iOS and web applications are for instance quite common. Since they use different formats for localization strings, how do you approach localization in general?</h4>
<p>We tend to use platform-specific open-source libraries that connect to a shared spreadsheet hosted online that contains the translations. Each platform’s library then translates the spreadsheet to the resources required by the environment. It usually works great but definitely has some quirks we need to be aware of when using such a system.</p>
<h4 id="is-localization-and-internalization-a-big-part-of-ui-and-ux-design-can-you-tell-i-would-imagine-that-varying-length-of-texts-or-writing-from-right-to-left-could-pose-some-unique-challenges">Is localization and internalization a big part of UI and UX design, can you tell? I would imagine that varying length of texts or writing from right to left could pose some unique challenges.</h4>
<p>Well, of course, internationalization has to be thought of since the first mockups and first lines of code in every project that is to be localized. Supporting different text lengths, plural forms, declination, character sets, even the direction of layout is quite difficult to get right. Fortunately, the major platforms have inbuilt mechanisms to help with developing features with localization in mind. We take great care in making sure no unexpected issues arise due to internationalization mostly by incorporating it into our planning from the get-go.</p>
<h4 id="one-more-question-about-localization-do-customers-commonly-ask-for-a-manageable-localization-ive-heard-stories-from-my-friends-and-colleagues-that-some-in-order-to-save-money-had-hired-students-or-questionable-agencies-for-a-localized-mobile-or-web-app-development-it-was-delivered-though-all-the-strings-were-hard-coded-in-the-resource-files-which-was-obviously-extremely-unpleasant-for-the-customer-to-modify-later-on-do-people-care-and-think-ahead-how-they-will-manage-the-translations">One more question about localization - do customers commonly ask for a manageable localization? I’ve heard stories from my friends and colleagues that some, in order to save money, had hired students or questionable agencies for a localized mobile or web app development. It was delivered, though all the strings were hard-coded in the resource files, which was obviously extremely unpleasant for the customer to modify later on. Do people care and think ahead how they will manage the translations?</h4>
<p>It has changed a lot in the last few years. Honestly, my first programming job was basically spewing out same-ish apps with different texts and colors for different markets. As you can imagine I did not stay there for a long time. Fortunately, these times are long gone and companies now realize that it is both more scalable, cheaper and easier to do localize properly from the start. You would be hard-pressed to find someone still doing it this way.</p>
<p>Recently, we have seen a great spike in the number and quality of localization tools ranging from simple scripts for personal apps to enormous systems capable of supporting the largest projects. This, coupled with more awareness of proper <strong>internationalization standards</strong> causes more people to plan accordingly and focus on the end result in different configurations, languages and markets. Personally, I find it really uplifting that more and more people care about products being accessible and comfortable to use for everyone, no matter the language and locale.</p>
<p>You might be interested in an <a href="/blog/what-is-your-price-app-developers">interview with Jan Kamiński</a>, Co-Founder &amp; Head of Sales at Applover.</p>
<!--kg-card-end: html--><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://directus9.localazy.com/assets/e099017c-a1df-4719-88b1-d627768e9bf1" length="0" type="image//assets/e099017c-a1df-4719-88b1-d627768e9bf1"/>
        </item>
        <item>
            <title><![CDATA[Release Update: Improved translation/review workflow and more]]></title>
            <link>https://localazy.com/blog/release-update-improved-translation-review-workflow</link>
            <guid isPermaLink="false">release-update-improved-translation-review-workflow</guid>
            <pubDate>Sun, 18 Oct 2020 08:04:20 GMT</pubDate>
            <description><![CDATA[You are our most important decision-maker. 
Within today's release, you will learn about our new improvements.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="unified-translatereview-screen" id="unified-translatereview-screen">🔥 Unified translate/review screen <a class="markdownit-header-anchor" href="#unified-translatereview-screen">🔗</a></h2>
<p>Make your work with Localazy even more straightforward and burn through more tasks in less time. We have connected the translate and review workflows into one screen with a streamlined process to get new languages. You gotta see it with your own eyes!</p>
<p><img src="https://directus9.localazy.com/assets/510c5d09-c3a0-41ef-b31f-fcf704564333" alt="workflow update"></p>
<h2 id="turn-your-ideas-into-perks" id="turn-your-ideas-into-perks">💡 Turn your ideas into perks <a class="markdownit-header-anchor" href="#turn-your-ideas-into-perks">🔗</a></h2>
<p>Request improvements using <a href="http://improve.localazy.com">improve.localazy.com</a> and vote for the champions. We will make sure authors are rewarded once improvements are in place.</p>
<h2 id="improved-user-invitations-by-email" id="improved-user-invitations-by-email">✉️ Improved user invitations by email <a class="markdownit-header-anchor" href="#improved-user-invitations-by-email">🔗</a></h2>
<ul>
<li>Invite multiple users at once</li>
<li>Choose user role before sending an invitation</li>
<li>Minor bugs fixed in mail invitations</li>
</ul>
<h2 id="invite-developer-to-integrate-localazy" id="invite-developer-to-integrate-localazy">🛠️ Invite developer to integrate Localazy <a class="markdownit-header-anchor" href="#invite-developer-to-integrate-localazy">🔗</a></h2>
<p>Not the right person to integrate Localazy? Dedicate the task to your developer. Create your app and send instructions with invitations directly to your developer’s inbox.</p>
<p><img src="https://directus9.localazy.com/assets/1df4b794-d2b6-46e6-aeee-3c6db8a6a1ec" alt="Invite developer"></p>
<h2 id="updated-pricing" id="updated-pricing">💰 Updated pricing <a class="markdownit-header-anchor" href="#updated-pricing">🔗</a></h2>
<p>We are making changes to our pricing to make Localazy as transparent as possible while keeping it easy to understand for people considering our service. Rest assured, current users will not be affected. It is quite the opposite! We do our best to be the most affordable i18n &amp; l10n tool on the market!</p>
<h2 id="shields-to-show-your-stellar-language-support" id="shields-to-show-your-stellar-language-support">🛡️ Shields to show your stellar language support <a class="markdownit-header-anchor" href="#shields-to-show-your-stellar-language-support">🔗</a></h2>
<p>Show your users how great localization is. Use shields wherever you want and attract more contributors to help you with app translations.</p>
<p><a href="https://github.com/localazy/shields">Explore Localazy shields on Github</a></p>
<p><img src="https://connect.localazy.com/status/floating-apps?content=all" alt=""></p>
<h2 id="from-the-backlog" id="from-the-backlog">🗃️ From the backlog <a class="markdownit-header-anchor" href="#from-the-backlog">🔗</a></h2>
<ul>
<li>Fixed LOC-1266 Source phrase placeholders are missing</li>
<li>Fixed LOC-1240 Fix sorting of versions in review</li>
<li>Fixed LOC-1223 Language select autocomplete UX improvements</li>
<li>Updated LOC-1251 Update IntelliSense for CLI</li>
<li>Added LOC-1267 Add file and path to phrase key</li>
</ul>
<h2 id="localazy-supports-flutter-force" id="localazy-supports-flutter-force">🤗 Localazy supports Flutter Force <a class="markdownit-header-anchor" href="#localazy-supports-flutter-force">🔗</a></h2>
<p>We are proud to support Flutter Force, a weekly digest for Flutter developers by our user Ümit Duran.
Are you an author and you have something to share? Contact Jakub on our <a href="https://discord.gg/teEJpGb">Discord server</a>.</p>
<h2 id="read-it-while-it-is-hot-on-the-blog" id="read-it-while-it-is-hot-on-the-blog">♨️ Read it while it is hot on the blog <a class="markdownit-header-anchor" href="#read-it-while-it-is-hot-on-the-blog">🔗</a></h2>
<p><a href="/blog/why-allow-users-to-switch-languages">Why allow users to switch languages?</a> Learn why allowing users to switch languages in your app is crucial for sound app localization.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/0a6ab118-69c8-45a8-9cd1-34f3ceee8057" length="0" type="image//assets/0a6ab118-69c8-45a8-9cd1-34f3ceee8057"/>
        </item>
        <item>
            <title><![CDATA[Kotlin & Gmail API - listing emails]]></title>
            <link>https://localazy.com/blog/kotlin-gmail-api-listing-emails</link>
            <guid isPermaLink="false">kotlin-gmail-api-listing-emails</guid>
            <pubDate>Fri, 17 Dec 2021 13:45:15 GMT</pubDate>
            <description><![CDATA[Learn how to simply list all emails from your Gmail using Kotlin & Gmail API.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="the-idea" id="the-idea">The idea <a class="markdownit-header-anchor" href="#the-idea">🔗</a></h2>
<p>Let’s demonstrate the basic functionality on a useful idea. I have a folder/label in Gmail with a lot of emails. I want to list all email addresses - all senders.</p>
<p>Everything I need to do is a small console app to go through all emails with the given label and extracting the <code>From</code> header. If it contains the email address in format <code>Name &lt;email@address.com&gt;</code>, extract only the email address.</p>
<p>Let’s dive into it!</p>
<h2 id="get-credentials" id="get-credentials">Get credentials <a class="markdownit-header-anchor" href="#get-credentials">🔗</a></h2>
<p>Before we start, you need to create a new project in <a href="console.cloud.google.com">Google Cloud Console</a>.</p>
<p>Under the new project, navigate to <strong>API &amp; Services</strong> and enable <strong>Gmail API</strong> in <strong>Library</strong>.</p>
<p>In <strong>Credentials</strong>, click the <strong>+ CREATE CREDENTIALS</strong>, select <strong>OAuth client ID</strong> and setup it like this:</p>
<p><img src="https://content.localazy.com/kotlin_gmail_api/console.png" alt="OAuth client ID setup"></p>
<p>Click <strong>Save</strong> and download the credentials for your newly created ID:</p>
<p><img src="https://content.localazy.com/kotlin_gmail_api/credentials.png" alt="OAuth client ID setup"></p>
<p>Save the downloaded file as <code>credentials.json</code>.</p>
<h2 id="kotlin-project" id="kotlin-project">Kotlin project <a class="markdownit-header-anchor" href="#kotlin-project">🔗</a></h2>
<p>Create a new Kotlin project with Gradle and add Google’s dependencies:</p>
<pre><code class="language-groovy">dependencies {
    implementation &quot;org.jetbrains.kotlin:kotlin-stdlib&quot;
    implementation 'com.google.api-client:google-api-client:1.23.0'
    implementation 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
    implementation 'com.google.apis:google-api-services-gmail:v1-rev83-1.23.0'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.0-M1'
}
</code></pre>
<h2 id="authorization-scopes" id="authorization-scopes">Authorization scopes <a class="markdownit-header-anchor" href="#authorization-scopes">🔗</a></h2>
<p>As we only want to go through labels, messages (we need just headers - metadata), we need a small and safe set of scopes:</p>
<pre><code class="language-kotlin">private val SCOPES = setOf(
        GmailScopes.GMAIL_LABELS,
        GmailScopes.GMAIL_READONLY,
        GmailScopes.GMAIL_METADATA
)
</code></pre>
<p>Beware that if you provide the <code>GmailScopes.GMAIL_METADATA</code>, you are not able to access the whole message. You have to omit it if you want to get the message body.</p>
<h2 id="authorize-with-gmail" id="authorize-with-gmail">Authorize with Gmail <a class="markdownit-header-anchor" href="#authorize-with-gmail">🔗</a></h2>
<p>Fortunately, Google libraries come with everything we may need including the server for receiving the authorization request. The whole implementation is as simple as:</p>
<pre><code class="language-kotlin">private fun getCredentials(httpTransport: NetHttpTransport): Credential? {
    val inputStream = File(&quot;credentials.json&quot;).inputStream()
    val clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, InputStreamReader(inputStream))
    val flow = GoogleAuthorizationCodeFlow.Builder(httpTransport, JSON_FACTORY, clientSecrets, SCOPES)
            .setDataStoreFactory(FileDataStoreFactory(File(TOKENS_DIRECTORY_PATH)))
            .setAccessType(&quot;offline&quot;)
            .build()
    val receiver = LocalServerReceiver.Builder().setPort(8888).build()
    return AuthorizationCodeInstalledApp(flow, receiver).authorize(&quot;user&quot;)
}
</code></pre>
<p>This code above outputs the request for authorization to the console:</p>
<pre><code class="language-shell">Please open the following address in your browser:
  https://accounts.google.com/o/oauth2/auth?access_type=offline&amp;client_id=...
</code></pre>
<p>Click the link, authorize the app, and the authorization token is received and stored in <code>TOKENS_DIRECTORY_PATH</code>. You only need to do this for the first time. Next time, the stored token is used.</p>
<h2 id="build-client-and-get-labels" id="build-client-get-labels">Build client  &amp; get labels <a class="markdownit-header-anchor" href="#build-client-and-get-labels">🔗</a></h2>
<p>We can now use the <code>getCredentials()</code> function above to build an authorized client, list all labels, and find the required one identified by <code>labelName</code>.</p>
<pre><code class="language-kotlin">// Build a new authorized API client service.
val httpTransport = GoogleNetHttpTransport.newTrustedTransport()
val service = Gmail.Builder(httpTransport, JSON_FACTORY, getCredentials(httpTransport))
                .setApplicationName(APPLICATION_NAME)
                .build()

// Find the requested label
val user = &quot;me&quot;
val labelList = service.users().labels().list(user).execute()
val label = labelList.labels
        .find { it.name == labelName } ?: error(&quot;Label `$labelName` is unknown.&quot;)

</code></pre>
<h2 id="list-all-emails" id="list-all-emails">List all emails <a class="markdownit-header-anchor" href="#list-all-emails">🔗</a></h2>
<p>For listing all email messages, let’s use a few of Kotlin’s goodies - <code>tailrec</code> extension function with lambda as the last parameter.</p>
<p>We need to invoke the list request repeatedly until the <code>nextPageToken</code> is <code>null</code>, and doing so with <code>tailrec</code> is safer.</p>
<p>For each message, we invoke the <code>process</code> lambda to perform an actual operation.</p>
<pre><code class="language-kotlin">private tailrec fun Gmail.processMessages(
    user: String,
    label: Label,
    nextPageToken: String? = null,
    process: (Message) -&gt; Unit
) {

    val messages = users().messages().list(user).apply {
        labelIds = listOf(label.id)
        pageToken = nextPageToken
        includeSpamTrash = true
    }.execute()

    messages.messages.forEach { message -&gt;
        process(message)
    }

    if (messages.nextPageToken != null) {
        processMessages(user, label, messages.nextPageToken, process)
    }
        
}
</code></pre>
<h2 id="process-message" id="process-message">Process message <a class="markdownit-header-anchor" href="#process-message">🔗</a></h2>
<p>The code for listing emails above returns only <code>id</code> and <code>threadId</code> for each of the messages, so we need to fetch message details, extract <code>From</code> header, and eventually process it.</p>
<p>To speed up the process, let’s use Kotlin’s coroutines to perform the message fetching in parallel. First, introduce a custom dispatcher, so we can limit the number of threads.</p>
<pre><code class="language-kotlin">private val MAX_FETCH_THREADS = Runtime.getRuntime().availableProcessors()

val executors = Executors.newFixedThreadPool(MAX_FETCH_THREADS)

val dispatcher = object : CoroutineDispatcher() {
    override fun dispatch(context: CoroutineContext, block: Runnable) {
        executors.execute(block)
    }
}
</code></pre>
<p>For extracting the email address from the <code>Name &lt;email@address.com&gt;</code> format, the code is simple:</p>
<pre><code class="language-kotlin">private fun String.parseAddress(): String {
    return if (contains(&quot;&lt;&quot;)) {
        substringAfter(&quot;&lt;&quot;).substringBefore(&quot;&gt;&quot;)
    } else {
        this
    }
}
</code></pre>
<p>Now, we can put things together. Of course, you should introduce some logic for catching exceptions, etc.</p>
<pre><code class="language-kotlin">private fun Gmail.processFroms(
        user: String,
        label: Label,
        process: (String) -&gt; Unit
) {
    runBlocking(dispatcher) {
        processMessages(user, label) { m -&gt;
            launch {
                val message = users().messages().get(user, m.id).apply { format = &quot;METADATA&quot; }.execute()
                message.payload.headers.find { it.name == &quot;From&quot; }?.let { from -&gt;
                    process(from.value.parseAddress())
                }
            }
        }
    }
}
</code></pre>
<h2 id="result" id="result">Result <a class="markdownit-header-anchor" href="#result">🔗</a></h2>
<p>With all the code above, we can get unique list of all senders like this:</p>
<pre><code class="language-kotlin">val senders = mutableSetOf&lt;String&gt;()
service.processFroms(user, label) {
    senders += it
}

senders.forEach(::println)
</code></pre>
<h2 id="source-code" id="source-code">Source code <a class="markdownit-header-anchor" href="#source-code">🔗</a></h2>
<p>The complete source code is <a href="https://github.com/vaclavhodek/gmail-email-extractor">available on Github</a>.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/9b875582-e6bb-445a-983e-48d052b85256" length="0" type="image//assets/9b875582-e6bb-445a-983e-48d052b85256"/>
        </item>
        <item>
            <title><![CDATA[Android's strings.xml: Deprecated!]]></title>
            <link>https://localazy.com/blog/android-strings-xml-deprecated</link>
            <guid isPermaLink="false">android-strings-xml-deprecated</guid>
            <pubDate>Wed, 30 Mar 2022 14:47:13 GMT</pubDate>
            <description><![CDATA[A simple guide on avoiding handling translated XML files at all in a few simple steps.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you decided to make your Android app multilingual? I guess that even if you haven’t yet, you know about <code>strings.xml</code> and <code>values-XX</code> folders. Localizing your app should be easier than handling XML files. And it can be!</p>
<p>Here goes a simple guide on avoiding handling translated XML files at all in a few simple steps. And as a bonus, you get <strong>your app translated to up to 80 languages for free</strong> by sharing translations with other apps.</p>
<h2 id="not-thinking-about-localization-yet" id="not-thinking-about-localization-yet">Not thinking about localization yet? <a class="markdownit-header-anchor" href="#not-thinking-about-localization-yet">🔗</a></h2>
<p>You should keep localization in mind early. It’s better to have your app prepared for it from the beginning. Believe me. Several times, I was depressed from searching for all the hardcoded strings having a hard time refactoring my code to be prepared for proper localization.</p>
<p><strong>A few minutes you spend with this article will save you hours or maybe days in the future.</strong></p>
<h2 id="the-source-language" id="the-source-language">The source language <a class="markdownit-header-anchor" href="#the-source-language">🔗</a></h2>
<p>Okay, there’s already a localization solution baked into Android, so there’s no reason to go against it. Use <code>strings.xml</code> in the <code>values</code> folder for the source language. Btw, I strongly recommend using English.</p>
<p>Just keep doing what’s standard and what’s recommended by Android Studio, and for what Android Studio can give us insights and useful warnings.</p>
<p>However, completely forget about those <code>values-de-rDE</code> or <code>values-b+zh+Hans+TW</code> folders. You don’t need them at all!</p>
<h2 id="1-sign-up-for-localazy-its-free" id="1-sign-up-for-localazy-its-free">1. Sign up for Localazy - It’s free <a class="markdownit-header-anchor" href="#1-sign-up-for-localazy-its-free">🔗</a></h2>
<p>Navigate to <a href="https://localazy.com/android">Localazy</a>, sign up, and create a new app after the registration.</p>
<p>Select the Android integration:</p>
<p><img src="https://content.localazy.com/strings_xml_deprecated/1_select_integration.png" alt="Select the Android integration"></p>
<h2 id="2-follow-the-integration-guide" id="2-follow-the-integration-guide">2. Follow the integration guide <a class="markdownit-header-anchor" href="#2-follow-the-integration-guide">🔗</a></h2>
<p>It’s as simple as adding a few lines to your <strong>root’s</strong> <code>build.gradle</code> (adding a repository and a build plugin):</p>
<pre><code class="language-groovy">buildscript {
    repositories {
        maven { url &quot;https://maven.localazy.com/repository/release/&quot; }
    }
    dependencies {
        // ...
        classpath &quot;com.localazy:gradle:1.5.2&quot;
    }
}
</code></pre>
<p>And a few lines at the end of your <strong>app’s</strong> <code>build.gradle</code> (configuring and applying a build plugin):</p>
<pre><code class="language-groovy">apply plugin: 'com.localazy.gradle'

localazy {
    readKey &quot;secret-read-key&quot;
    writeKey &quot;secret-write-key&quot;
}
</code></pre>
<p>It’s a matter of about 30 seconds if you know what you do <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>. And btw, the <a href="https://localazy.com/docs/android/localazy-gradle-plugin">Localazy Gradle plugin is highly configurable</a> <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>.</p>
<h2 id="3-upload-strings" id="3-upload-strings">3. Upload strings <a class="markdownit-header-anchor" href="#3-upload-strings">🔗</a></h2>
<p>Once Localazy is integrated with your app, all you need to do is to upload strings. You can do so from the command-line:</p>
<pre><code class="language-shell">./gradlew uploadStrings
</code></pre>
<p>Or from Android Studio using the <strong>Gradle</strong> view:</p>
<p><img src="https://content.localazy.com/strings_xml_deprecated/2_android_studio.png" alt="Gradle View in Android Studio"></p>
<p>Upload your strings whenever you add new ones so that translators can get their hands on them early.</p>
<h2 id="4-get-your-app-translate" id="4-get-your-app-translate">4. Get your app translate <a class="markdownit-header-anchor" href="#4-get-your-app-translate">🔗</a></h2>
<p>Shortly after you upload your strings, you are offered about 80 languages into which Localazy can automatically translate your app. All you need to do is just to review them so that they can go live.</p>
<p>You can go as far as translating languages you don’t know using machine translations. They are completely free with Localazy.</p>
<p><img src="https://content.localazy.com/strings_xml_deprecated/3_langs.png" alt="The simplest localization management"></p>
<p>However, I strongly recommend doing so, <strong>you can invite your loyal users to Localazy to help you with translating your app</strong> to their native languages. With Localazy, you can manage them easily, and the review is here to ensure high-quality translation.</p>
<p><img src="https://content.localazy.com/strings_xml_deprecated/4_contribs.png" alt="The simplest contributor management"></p>
<h2 id="and-thats-it" id="and-thats-it">And that’s it! <a class="markdownit-header-anchor" href="#and-thats-it">🔗</a></h2>
<p>Really! Do you expect another step? Downloading translated files and placing them in the correct values folder? Nothing like this is necessary.</p>
<p>The Localazy Gradle plugin you integrated in the step <strong>2.</strong> is taking care of everything for you. When your app is built, it downloads and places translated files into it. Everything is processed during the build, so your source code and resources are left untouched.</p>
<p>Did I promise that you can forget about manual XML files handling? Here it is!</p>
<h2 id="otaonline-updates" id="otaonline-updates">OTA/online updates <a class="markdownit-header-anchor" href="#otaonline-updates">🔗</a></h2>
<p>And there’s more you are about to get. The Localazy Gradle plugin automatically integrates the <a href="https://localazy.com/docs/android/localazy-android-library">Localazy Android library</a> with your app. And this small library <strong>keeps translations in your app up-to-date, and it can even download new languages</strong>. You no longer need to re-submit your app to Play Store just because you need to fix translations or add new languages.</p>
<p><strong>And all of this with no single change to the source code of your app!</strong> Everything is done automatically during the build process.</p>
<p>You can disable this feature if you want so, but I recommend using it as it also optimizes the translation and review process, so you spend your time with the most important translations first.</p>
<p>Btw, the <a href="https://localazy.com/docs/android/localazy-android-library">Localazy Android library</a> comes with a bunch of nice features, so you can, for example, create a language selector that is always up to date.</p>
<h2 id="and-what-about-you" id="and-what-about-you">And what about you? <a class="markdownit-header-anchor" href="#and-what-about-you">🔗</a></h2>
<p>Of course, the final choice is yours, but as Localazy is free for usual apps, I’m no longer going to have headaches from all those XML files and values folders. Having like 6 folders for different densities and another set of them for mipmap images is enough for
me <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/2fb2d145-89b3-4784-8e24-b61627a61ac3" length="0" type="image//assets/2fb2d145-89b3-4784-8e24-b61627a61ac3"/>
        </item>
        <item>
            <title><![CDATA[Switching locales with Jetpack Compose]]></title>
            <link>https://localazy.com/blog/switching-locales-with-jetpack-compose</link>
            <guid isPermaLink="false">switching-locales-with-jetpack-compose</guid>
            <pubDate>Wed, 30 Mar 2022 14:46:44 GMT</pubDate>
            <description><![CDATA[Learn how to easily allow users of your app to switch languages in Android apps.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>I’ve already published an article on <a href="https://localazy.com/blog/why-allow-users-to-switch-languages">how it’s important to allow users to switch languages</a>. There’s plenty of reasons to do so.</p>
<p>Now, let’s see how simple it can be with Jetpack Compose to implement custom language switching.</p>
<h2 id="prepare-your-app" id="prepare-your-app">Prepare your app <a class="markdownit-header-anchor" href="#prepare-your-app">🔗</a></h2>
<p>Be sure that you have all strings in <code>res/values/strings.xml</code> and whenever you need them, get them using Android’s standard mechanism <code>getString()</code>.</p>
<p>It’s best to use English as the base language as it works best with translation tools, and it’s usually easier to find collaborators and volunteers.</p>
<p>And that’s all. You don’t need to care about XML files in other languages. We use a localization platform for that.</p>
<h2 id="manage-translations" id="manage-translations">Manage translations <a class="markdownit-header-anchor" href="#manage-translations">🔗</a></h2>
<p>Once you have your <code>strings.xml</code> file ready, <a href="https://localazy.com/android">sign up for Localazy</a> and follow Android integration instruction. It’s simple as it only means a few lines to be added to your root’s and app’s<code>build.gradle</code> — no need to change source code or resources.</p>
<p>All changes you will need to do will be as simple as:</p>
<p><strong>add Localazy to the root’s build.gradle file:</strong></p>
<pre><code class="language-groovy">buildscript {

    repositories {
        // ...
        maven { url &quot;https://maven.localazy.com/repository/release/&quot; }
    }

    dependencies {
        // ...
        classpath &quot;com.localazy:gradle:1.5.2&quot;
    }

}
</code></pre>
<p><strong>Add Localazy to the app’s build.gradle file:</strong></p>
<pre><code class="language-groovy">apply plugin: 'com.localazy.gradle'

localazy {
    readKey &quot;your-read-key&quot;
    writeKey &quot;your-write-key&quot;
}
</code></pre>
<p>And that’s it! Now, you can upload strings using the <code>uploadStrings</code> task using Gradle. It’s available on the command line:</p>
<pre><code class="language-shell">./gradlew uploadStrings
</code></pre>
<p>And also in the <strong>Gradle</strong> view in Android Studio.</p>
<p><img src="https://content.localazy.com/jetpack_locale_switching/android-studio.png" alt="|Gradle View in Android Studio"></p>
<p>From that moment on, you can manage translations easily using Localazy, and there are also shared translations to translate a huge portion of your app to up to 80 languages for free.</p>
<h2 id="jetpack-hello-world" id="jetpack-hello-world">Jetpack: Hello World <a class="markdownit-header-anchor" href="#jetpack-hello-world">🔗</a></h2>
<p>To test how our locale switching works, let’s create a simple Hello World app.</p>
<p>Here goes a code for a composable, a text, rendered in the center of the screen:</p>
<pre><code class="language-kotlin">@Composable
fun WelcomeText(text: String) {
    Column(
        modifier = Modifier
            .fillMaxWidth()
            .fillMaxHeight(),
        verticalArrangement = Arrangement.Center
    ) {
        Text(
            text = text,
            modifier = Modifier
                .gravity(Alignment.CenterHorizontally)
        )
    }
}
</code></pre>
<p>To allow users to switch their language, we can use the floating action button. We can add it to our activity and give it an action - to open <code>SwitchActivity</code> that we will discuss later.</p>
<pre><code class="language-kotlin">class MainActivity : AppCompatActivity() {
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            Scaffold(
                floatingActionButton = {
                    FloatingActionButton(
                        onClick = {
                            startActivity(
                                Intent(this@MainActivity, SwitchActivity::class.java)
                            )
                        },
                        elevation = 10.dp
                    ) {
                        Icon(Icons.Default.Translate)
                    }
                },
                bodyContent = {
                    WelcomeText(text = getString(R.string.welcome_message))
                }
            )
        }
    }

}
</code></pre>
<p>The resulting screen is expected:</p>
<p><img src="https://content.localazy.com/jetpack_locale_switching/mainactivity.png" alt="MainActivity screenshot"></p>
<p>Now, let’s implement <code>SwitchActivity</code>.</p>
<h2 id="switchactivity" id="switchactivity">SwitchActivity <a class="markdownit-header-anchor" href="#switchactivity">🔗</a></h2>
<p>Localazy Android library has been automatically integrated with our app by the few lines in the build script mentioned above, so it’s available. The whole <a href="https://localazy.com/docs/android/localazy-android-library">documentation for the Localazy Android library is available on the website</a>.</p>
<p>First, we wrap a simple <code>ViewModel</code> around it to make their data easily accessible to our newly created activity.</p>
<pre><code class="language-kotlin">class LocaleViewModel : ViewModel() {

    private val localazyListener = LocalazyWrappedListener {
        viewModelScope.launch {
            update()
        }
    }

    var locales by mutableStateOf(listOf&lt;LocalazyLocale&gt;())
        private set

    init {
        Localazy.setListener(localazyListener)
        update()
    }

    private fun update() {
        locales = Localazy.getLocales() ?: emptyList()
    }

}
</code></pre>
<p>We wrapped <code>LocalazyListener</code>, so we don’t need to implement all the overrides to listen for a single event. Here goes the implementation:</p>
<pre><code class="language-kotlin">/**
 * A simple class to wrap LocalazyListener, so we don't need to implement
 * all functions, and can use a lambda to monitor changes.
 */
class LocalazyWrappedListener(val body: () -&gt; Unit) : LocalazyListener {

    override fun missingTextFound(p0: LocalazyId?, p1: Locale?, p2: String?) {}

    override fun missingKeyFound(p0: Locale?, p1: String?) {}

    override fun stringsUpdateStarted() {}

    /**
     * This function is called when updated data is downloaded.
     */
    override fun stringsUpdateFinished() {
        body()
    }

    override fun stringsUpdateFailed(p0: Int) {}

    override fun stringsUpdateNotNecessary() {}

    /**
     * This function is called when the strings are loaded.
     */
    override fun stringsLoaded(fromUpdate: Boolean, success: Boolean) {
        if (success) {
            body()
        }
    }

}
</code></pre>
<p>Great! That was pretty simple. Now, let’s render the language selector using Jetpack’s composables. Not only that we show the available languages, but we can also indicate that the given language is not yet fully translated (which is extremely handy as it can attract more contributors and volunteers to help with translating) and, of course, we also need to point users to our project on Localazy, so they can actually help us.</p>
<pre><code class="language-kotlin">@Composable
fun LocaleSwitcher(
    items: List&lt;LocalazyLocale&gt;,
    onChange: (LocalazyLocale) -&gt; Unit,
    onHelp: () -&gt; Unit
) {
    Column {
        LazyColumnFor(items = items, modifier = Modifier.padding(0.dp, 8.dp)) {
            TextButton(
                onClick = {
                    onChange(it)
                },
                modifier = Modifier.padding(16.dp, 4.dp, 4.dp, 4.dp).fillMaxWidth()
            ) {
                val name =
                    &quot;${it.localizedName}${if (!it.isFullyTranslated) &quot; (incomplete)&quot; else &quot;&quot;}&quot;
                Text(name)
            }
        }
        TextButton(
            onClick = {
                onHelp()
            },
            modifier = Modifier.padding(16.dp, 12.dp, 4.dp, 4.dp).fillMaxWidth()
        ) {
            Text(&quot;Help us translate the app!&quot;)
        }
    }
}
</code></pre>
<p>We have everything ready for <code>SwitchActivity</code>. Let’s make the drum rolls.</p>
<pre><code class="language-kotlin">class SwitchActivity : AppCompatActivity() {

    private val localeViewModel by viewModels&lt;LocaleViewModel&gt;()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            LocaleSwitcher(
                items = localeViewModel.locales,
                onChange = {

                    // Change the locale and persist the new choice.
                    Localazy.forceLocale(it.locale, true)

                    // Reopen MainActivity with clearing top.
                    startActivity(
                        Intent(
                            this@SwitchActivity,
                            MainActivity::class.java
                        ).apply {
                            flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
                        }
                    )

                },
                onHelp = {
                    // Open the project on Localazy to allow contributors to help us with translating.
                    startActivity(
                        Intent(Intent.ACTION_VIEW, Localazy.getProjectUri()).apply {
                            flags = Intent.FLAG_ACTIVITY_NEW_TASK
                        }
                    )
                }
            )
        }
    }

}
</code></pre>
<p>And the result:</p>
<p><img src="https://content.localazy.com/jetpack_locale_switching/switchactivity.png" alt="SwitchActivity screenshot"></p>
<p>Which exactly matches my app on Localazy at the given time:</p>
<p><img src="https://content.localazy.com/jetpack_locale_switching/localazy.png" alt="Localazy"></p>
<p>To translate my app to more languages, I don’t need to touch XML files or source code. Everything can be managed through Localazy.</p>
<p><strong>Updated translations and new languages are delivered online to existing users without the need to re-submit the app to Play Store <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>. Awesome, well?</strong></p>
<h2 id="source-code" id="source-code">Source Code <a class="markdownit-header-anchor" href="#source-code">🔗</a></h2>
<p>You can find <a href="https://github.com/vaclavhodek/JetpackLocaleSwitching">the whole source code on Github</a>.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/264dc74b-f384-43a4-a76b-01bfa66b6a25" length="0" type="image//assets/264dc74b-f384-43a4-a76b-01bfa66b6a25"/>
        </item>
        <item>
            <title><![CDATA[Kotlin MPP: Unable to compile C bridges]]></title>
            <link>https://localazy.com/blog/kotlin-mpp-unable-to-compile-c-bridges</link>
            <guid isPermaLink="false">kotlin-mpp-unable-to-compile-c-bridges</guid>
            <pubDate>Mon, 05 Oct 2020 11:25:16 GMT</pubDate>
            <description><![CDATA[How to fix "e: Unable to compile C bridges" with Kotlin Multiplatform. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>We’ve come across this problem several times, and for the first time, it was a bit problem to find what’s wrong.</p>
<p>Basically, it’s missing <code>libncurses5</code> which you can simply install on Ubuntu/Debian:</p>
<pre><code class="language-bash">apt-get install libncurses5
</code></pre>
<p>This problem usually hits us on CI/CD, where you are in a clean environment. The last time, it was with Github Actions after moving our runner to a new set of servers.</p>
<p>This one is just a quick tip that can save you nerves eventually <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/554e6e02-700c-4a2b-b2ec-6e6a1b99d8f9" length="0" type="image//assets/554e6e02-700c-4a2b-b2ec-6e6a1b99d8f9"/>
        </item>
        <item>
            <title><![CDATA[The passion and the dogfooding of Localazy]]></title>
            <link>https://localazy.com/blog/the-passion-and-the-dogfooding-of-localazy</link>
            <guid isPermaLink="false">the-passion-and-the-dogfooding-of-localazy</guid>
            <pubDate>Wed, 30 Mar 2022 14:41:24 GMT</pubDate>
            <description><![CDATA[Customer success is something we consider our priority, but do we actually have to translate every single app to our native language? Or a better question: Are we building a product that is truly helpful to our audience? ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="czech-this-app" id="czech-this-app">🍻 Czech this app! <a class="markdownit-header-anchor" href="#czech-this-app">🔗</a></h2>
<p>A few months ago, my colleague Jakub posted something like “<em>There’s an awesome new app on our platform. If you have a few spare minutes, help me translate it into the Czech language.</em>” on our Slack.</p>
<p>Let me tell you something about the Czech language first. It’s the official language of the Czech Republic. A small country with just about 10 million people. Our home. We Czechs are used to read books and watch movies translated and dubbed in our language. The state owned TV station (not kind of propaganda based, normal TV station) is required by law to dub all movies to our language. And all other TV stations in our country do too. Why? Because people here are used to consume media in their native language.</p>
<p>Our country is a nice example of how you can get more customers if you <a href="/benefits">localize your app</a> to their language. Hence why we help our users to translate their apps to the Czech language. It has several positive impacts - they can reach a whole new market, and they see how our system works and its benefits.</p>
<p>Back to the original story. I jumped in and started translating one of our users apps. Soon, I got to a “cover art” phrase. I wondered what the best way to translate it was. What if someone else already translated the phrase? Part of the app was localized to the Czech language before I jumped in. So, I looked at existing translations, and indeed, there was an existing translation for the sentence with a similar term, and it was different from how I would translate it.</p>
<p>I immediately realized that if the translator is unwilling to examine existing translations, the same phrase can be translated in a completely different manner. Also, even if the translator is doing their job with quality in mind, it’s not right for them to spend so much time looking for existing translations.</p>
<p>Two weeks after this “incident”, we introduced the similar phrases functionality providing extra <strong>context information</strong> by matching the current phrase with all other uses in the same app. Awesome!</p>
<h2 id="dog-food-is-good-for-you" id="dog-food-is-good-for-you">🦴 Dog food is good for you! <a class="markdownit-header-anchor" href="#dog-food-is-good-for-you">🔗</a></h2>
<p>The outcome? Helping our users to translate their apps to our language allows us to taste our dog food - the so-called dogfooding. It’s actually one of the things I really like about <a href="https://www.jetbrains.com" target="_blank">JetBrains</a> and their approach to developing <a href="/dictionary/intellij-idea">IntelliJ IDEA</a>. I’m happy that we are working on a product that allows us to employ the very same approach.</p>
<p>And the story continues… A few weeks ago, Jan, our product manager, responsible for the front-end experience, tasted what he helped to cook. As I did, he jumped in and helped another of our users to translate their app, and the similar phrases functionality was there, ready to assist him. Except that it didn’t…</p>
<p>He was the first to translate the app, so there were no prior translations and no preset standards. Have you ever tried to translate 200 different phrases? You easily forget the exact way you translate the very first phrase. You have to think about it, spend time… or to put it in a better way - waste time. Our similar phrases functionality took into account only the approved translations and thus was useless for this particular situation.</p>
<p>Long story short: The similar phrases feature is now offering approved translations and your previous translation suggestions that are still waiting for review.</p>
<p>I am sure you understand why I went with these two real examples to demonstrate the dogfooding benefits and how it can help evolve the product. But there were numerous similar situations where getting our hands dirty has helped us push <a href="https://localazy.com">Localazy</a> forward.</p>
<p>I think it’s not only about making the product better but about the product’s long-term sustainability….</p>
<h2 id="doing-dogfooding-right" id="doing-dogfooding-right">🤨 Doing dogfooding right <a class="markdownit-header-anchor" href="#doing-dogfooding-right">🔗</a></h2>
<p>During my professional IT career, which is now about 17 years long if I’m counting it from the moment I was able to do it legally - from the moment I reached the legal age for running a business - I succeeded, and I failed many times.</p>
<p>I built a lot of different products, and looking back, I can now see why some of them were successful and some of them not. The common denominator: Products that I used personally and that made <strong>my</strong> life easier were those that achieved some level of success. Might it have been because of me understanding the need and thus making me able to design the products the right way? Passion was always involved where I saw the value for myself first.</p>
<p>However, my hobby mobile app, the precursor to the <a href="https://localazy.com">Localazy</a> journey, was and is still the most successful one of its kind on Google Play. And even now after 7 years from its very start, I’m still an active user! I eat my dog food daily!</p>
<p>From this point of view, my previous venture (Effortix) is a stellar example of this concept. It’s a no-code solution for building mobile apps initially developed for the tourism industry - building mobile tourism guides was my primary job for several years. Soon after we released the first version of Effortix, I realized that there are more fields where such a solution would be useful. And so we started to add feature after feature trying to step into unknown lands. Guess what?</p>
<p>Effortix is now officially on life support and only available to existing customers - all of them are from the tourism industry, all of them are still willing to pay for it, all of them love the product, all of them count on it for years to come… And while it never took off in any other field, it’s still the standard for mobile tourism guides. And as I don’t have enough time to keep it up-to-date, I’m now able to pass the whole product to another company interested in keeping it running and maybe resurrecting it.</p>
<p>It’s a single product - half dead, half more than alive. The part of it where I got my hands dirty and where my passion was has worked and still works. The part I didn’t understand died…</p>
<h2 id="in-conclusion" id="in-conclusion">😉 In conclusion <a class="markdownit-header-anchor" href="#in-conclusion">🔗</a></h2>
<p>Build what you love, follow your passion, and build products that you would love to use. Even if you can’t use your own product, you should always be 100% sure that anytime there is a need for it, you wouldn’t hesitate a second, and it would be your first and only choice. If your own product is not your first choice, why should it be for others?</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/b2d717cc-89ad-412b-a749-7cb439aa2c34" length="0" type="image//assets/b2d717cc-89ad-412b-a749-7cb439aa2c34"/>
        </item>
        <item>
            <title><![CDATA[Why allow users to switch languages]]></title>
            <link>https://localazy.com/blog/why-allow-users-to-switch-languages</link>
            <guid isPermaLink="false">why-allow-users-to-switch-languages</guid>
            <pubDate>Sun, 24 Apr 2022 22:23:57 GMT</pubDate>
            <description><![CDATA[Learn why allowing users to switch languages in your app is crucial for sound app localization. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="language-vs-locale" id="language-vs-locale">Language vs. Locale <a class="markdownit-header-anchor" href="#language-vs-locale">🔗</a></h2>
<p>First, let’s say a few words about the difference between languages and locales. If you are new to <a href="https://localazy.com"><strong>app localization</strong></a>, understanding the difference is a key knowledge.</p>
<p>The language is just a particular language – <strong>English</strong>, <strong>Czech</strong>, <strong>German</strong>, <strong>Italian</strong>, etc. It carries only the information about the language itself and nothing else.</p>
<p>The locale, on the other hand, can be composed of many parameters – language, region (territory), codeset, script. It’s usually associated with cultural conventions (numeric, monetary, date and time formats, writing direction, etc.). However, that information is not encoded in the locale itself.</p>
<p>Also, the language is not always the same, and different locales can use different words – <strong>European Portuguese</strong> vs. <strong>Brazil Portuguese</strong> and <strong>European French</strong> vs. <strong>Canadien French</strong> are commonly known examples.</p>
<p>It’s also possible that the locale contains information about script (writing system), and so the same language can be written using completely different letters – <strong>Traditional Chinese</strong> and <strong>Simplified Chinese</strong> are well-known for this.</p>
<h2 id="mobile-vs-web" id="mobile-vs-web">Mobile vs. Web <a class="markdownit-header-anchor" href="#mobile-vs-web">🔗</a></h2>
<p>For web apps, there is no built-in solution for localization. The browser is sending information about the user’s preferences, but implementing the logic is completely on the developer both for the back-end and front-end parts. Usually, there is an option to switch the language/locale, and the most logical choice, based on the user’s preferences, is preset.</p>
<p>Mobile platforms, <a href="/android"><strong>Android</strong></a> and <a href="/ios"><strong>iOS</strong></a>, comes with built-in <a href="/integrations"><strong>solutions for localization</strong></a>, and they are able to pick the language best-matching the user’s preferences automatically. You only need to add a new translation, and there is nothing else to care about. Everything works!</p>
<p>For me, living in a small country in the heart of Europe, this seems like a perfect solution. We have only one language and no differences in numeric or date and time formats across regions.</p>
<p>There’s a lot of reasons why this is not a perfect solution and why you should allow users to change the language/locale manually.</p>
<h2 id="why-to-switch-languages" id="why-to-switch-languages">Why To Switch Languages? <a class="markdownit-header-anchor" href="#why-to-switch-languages">🔗</a></h2>
<p>Certainly, switching languages is not a tool for all your users, but it’s extremely useful for a subset of them.</p>
<h3 id="the-default-is-not-the-best" id="the-default-is-not-the-best">The default is not the best <a class="markdownit-header-anchor" href="#the-default-is-not-the-best">🔗</a></h3>
<p>When there is no appropriate language for the user, the platform fallbacks to your default one (the one contained in <code>values</code> folder for Android or <code>Base.lproj</code> for iOS). The common pattern is that the default language is English, but it may not be the case.</p>
<p>Anyway, the default choice may not be the best one for the user, so if she’s given the option to change the language, she appreciates it.</p>
<p>As an example, the <strong>Czech</strong> and <strong>Slovak</strong> languages are very close yet they are considered two different languages. We, Czech people, understand the Slovak language pretty well, and Slovaks understand the Czech language. Many years ago, we were a federation, a single country. Many Slovaks study in the Czech Republic nowadays, and they can attend university and finish it in the Czech language. They even can write seminars in Slovak, and the teachers accept it. That demonstrates how close the languages are.</p>
<p>However, if the Czech translation is available and Slovak not, your app fallbacks to English for Slovaks. Do you see the problem? Slovakia is a small country – it’s just about 6 million potential users <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<p>From Android 7, it’s possible to set several preferred languages, but many users still don’t know about this option and don’t use it. They usually select their language in the welcome wizard – and there’s typically no option to select more preferred languages – when they start the phone for the first time and never think about it again.</p>
<p>I did my small research, and not a single person out of people around me has set both Czech and Slovak languages as they preferred locales even if it makes perfect sense.</p>
<h3 id="bilingual-users" id="bilingual-users">Bilingual users <a class="markdownit-header-anchor" href="#bilingual-users">🔗</a></h3>
<p>This is a similar situation to the previous one.</p>
<p>There are plenty of bilingual users with English not being any of those languages they know. Better to say, with any of the languages they can speak not being the default one in your app.</p>
<p>So when their native language is not available in your app, they would choose a different option other than your app’s base language.</p>
<p>And the situation may be even more complicated with regions – someone from Latin America who can speak Spanish and Portuguese is more likely to select Brazil Portuguese, and someone from Europe would probably go with Portugal Portuguese. While these variants are close, some words are completely different.</p>
<p>I would bet that the majority of them don’t know about the option to set more preferred languages on Android 7+, I wrote about above.</p>
<h3 id="different-script-is-better" id="different-script-is-better">Different script is better <a class="markdownit-header-anchor" href="#different-script-is-better">🔗</a></h3>
<p>Some languages use more different scripts (aka <a href="https://en.wikipedia.org/wiki/List_of_writing_systems">writing systems</a> - simplified, we can talk about them as letters used for writing in the given language). In Chinese, there is a traditional and simplified form. Azerbaijani can use Latin, Cyrillic or Arabic letters. And so on.</p>
<p>While the automatic resolution can find the correct language, the user may not read the given script, so switching language may be a handy option. Also, the locale resolution engine – depending on its implementation – may be unable to find the language in a suitable script, and therefore, it can fallback to the base language. None of these options is wrong, but certainly, none of them is perfect.</p>
<p>Can you see the problem? If your language has only one written form, you may not even realize how big of an issue this can be.</p>
<h3 id="language-selection-useful-for-some-countries" id="language-selection-useful-for-some-countries">Language selection useful for some countries <a class="markdownit-header-anchor" href="#language-selection-useful-for-some-countries">🔗</a></h3>
<p>Some countries have several different languages and variants in use. India is one of them.</p>
<p>This is actually something I wasn’t aware of until one of our users from India explained to me the situation. It’s not always the question of a simple language resolution, and the situation is so complex that the only option is to let users choose their preferred locale.</p>
<p><img src="https://directus9.localazy.com/assets/2d59232e-03be-4c98-bf73-b9b2091fd216" alt="language selector">
He considered the option for switching languages as required prerequisites for using <a href="https://localazy.com">Localazy</a>, and fortunately, our <a href="https://localazy.com/docs/android/localazy-android-library">Android library</a> comes with a great implementation, so he happily used it.</p>
<p>As you can see, there are specific situations that we can’t fully understand or even know about, but they are important enough to be the top priority for particular developers.</p>
<h3 id="different-language-in-phone" id="different-language-in-phone">Different language in phone <a class="markdownit-header-anchor" href="#different-language-in-phone">🔗</a></h3>
<p>This is probably not a big issue, but there are also users with a different language set as the primary one in their phone. Why? In my case, it’s because of the voice assistant. As I use the phone instead of navigation in the car (with Android Auto), I need it to understand me.</p>
<p>It’s quite common for users to switch the phone to a language they are trying to learn. But for your particular app, they may be willing to use their native language instead.</p>
<p>I can imagine that I would rather use a language I’m familiar with for my stock trading app and not accidentally sell my Tesla or Apple stock because of a lack of knowledge of the vocabularies <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<h3 id="attract-more-volunteers-to-localize-your-app" id="attract-more-volunteers-to-localize-your-app">Attract more volunteers to localize your app <a class="markdownit-header-anchor" href="#attract-more-volunteers-to-localize-your-app">🔗</a></h3>
<p>All situations described above are about our users and their particular needs and their different situations. However, there is also a great reason for implementing language switching for your app’s good - to attract more volunteers.</p>
<p>Having the option to switch languages is like having a dedicated space to communicate with your users. They can see which languages are supported, which not, which languages are fully translated, and where they can help you. You can ask them to help you, and if you do, they are more likely to come and contribute new translations to your app.</p>
<p>That is, in turn, a way how to get more users for your app. My <a href="https://floatingapps.net">Floating Apps</a> skyrocketed in Japan only after it became available in Japanese.</p>
<p>And Teo, the user of <a href="https://localazy.com">Localazy</a>, translated his <a href="https://localazy.com/case-study/birthday-reminder-app">Birthday Reminder</a> to more languages to grow it significantly:</p>
<blockquote>
<p>With Localazy, I discovered that there are some markets where it is very important that the app is translated into the local language. I have seen growth in specific states like Brazil, Mexico and Russia. Just for translating the app! In addition, it has also improved the reviews since especially in Russia they leave bad reviews if the app is not translated into their language … Not long ago I also translated the app into Arabic and I’m starting to see the first positive effects especially for regarding in-app purchases. [Teo Coding, Author of Birthday Reminder]</p>
</blockquote>
<h3 id="how-to-improve-app-reviews-significantly" id="how-to-improve-app-reviews-significantly">How to improve app reviews significantly <a class="markdownit-header-anchor" href="#how-to-improve-app-reviews-significantly">🔗</a></h3>
<p>Some users are more likely to rate your app lower if it doesn’t speak their language. Contrary, you are more likely to get positive reviews with a multilingual app.</p>
<p>In some countries, this is more common - for example, in <strong>Russia</strong>. Also, I saw users from <strong>Brazil</strong> to prefer their native language more than people from other countries. As you can see, Teo above has a very similar experience.</p>
<p>A high rating of your app is extremely important for sustainable growth, so if you can attract more volunteers and contributors, you can, in turn, also get more users in general. And that’s a simple win-win and another argument for offering your users an option to switch language - and thus opening a new communication channel with them.</p>
<h2 id="the-right-way-to-localize-apps" id="the-right-way-to-localize-apps">The Right Way to localize apps <a class="markdownit-header-anchor" href="#the-right-way-to-localize-apps">🔗</a></h2>
<p>Are you considering to <a href="/blog/improve-mobile-app-localization-efficiency-with-localazy">localize your app</a>? Do you plan to add an option to switch languages? Do it the right way.</p>
<p>Do not hesitate to use <a href="https://localazy.com">Localazy</a>, and feel free to contact us for help <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/9af638b2-4bdb-46b7-b672-3d494b791340" length="0" type="image//assets/9af638b2-4bdb-46b7-b672-3d494b791340"/>
        </item>
        <item>
            <title><![CDATA[How to pass function to Web Workers]]></title>
            <link>https://localazy.com/blog/how-to-pass-function-to-web-workers</link>
            <guid isPermaLink="false">how-to-pass-function-to-web-workers</guid>
            <pubDate>Tue, 02 Apr 2024 14:35:40 GMT</pubDate>
            <description><![CDATA[Web Workers allow for multithread operations similar to those common in languages such as Java or C++. In the front-end world, they are a tool that has yet to be more frequently used. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>That's, in my opinion, mainly due to lack of knowledge about their use cases, misjudgment that most people have fast PCs and modern browsers, and force of habit of sticking to what one knows (I second that). Additionally, there some limitations to their usage, such as the inability to pass functions into them.</p>
<h2 id="why-to-use-web-workers" id="why-to-use-web-workers">Why to use Web Workers <a class="markdownit-header-anchor" href="#why-to-use-web-workers">🔗</a></h2>
<p>Web worker is a mere script that runs in the background, in another thread, which means that any calculation, however expensive, will not block the UI’s thread. That’s huge. People hate when websites become slow or even worse, non-responsive. With  Web Workers, you can do the heavy lifting in the background while showing the user a loading indicator and letting him or her do whatever else in the meantime.</p>
<p>You may ask when this is useful. We’ve put this into good use when we worked with a recursive tree structure. We were processing the whole tree with thousands of nodes each time the user interacted with the tree. That included loads of calculations and had we had done all of that in the main thread + render the result at the end, even the most beastly pc sets would have growled about it.</p>
<h2 id="limitations-of-web-workers" id="limitations-of-web-workers">Limitations of Web Workers <a class="markdownit-header-anchor" href="#limitations-of-web-workers">🔗</a></h2>
<p>Since the Web Workers run in another thread, there are limitations to what it can and cannot do.</p>
<ul>
<li>It cannot access the DOM directly and you lose direct access to <em>window</em> object.</li>
<li>you cannot rely on a global state within them.</li>
<li>you cannot send in data that cannot be handled by <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/The_structured_clone_algorithm">structured clone</a> algorithm</li>
</ul>
<p>The last has turned out to be the most painful for me. You see, when you have an instance of a Web Worker, you may send in data through <code>postMessage</code></p>
<pre><code class="language-js">worker.postMessage({
    string: 'string',
    number: 0,
    array: [],
    ...
});
</code></pre>
<p>Those value types above can be handled by the structured cloning. However, you cannot send in functions because they can be neither cloned nor <a href="https://developer.mozilla.org/en-US/docs/Web/API/Transferable">transferred</a>. That was a problem, because we wanted to send in an evaluator for each of the nodes (e.g. whether its name matches a search term), for which we needed a function inside of the worker.</p>
<h2 id="overcoming-the-no-functions-limitation" id="overcoming-the-no-functions-limitation">Overcoming the no-functions limitation <a class="markdownit-header-anchor" href="#overcoming-the-no-functions-limitation">🔗</a></h2>
<p>There is a simple trick on how to solve this. As any other object or value, and in javascript especially since functions here are First-class citizens, we may define functions within objects and stringify them through <code>JSON.stringify</code>. This transforms the function declaration a bit, so parsing them back requires a bit of effort. Luckily, there’s <a href="https://github.com/vkiryukhin/jsonfn">JSONfn</a> plugin that handles it well both ways.</p>
<p>And that’s that is required. Now you can declare and object which includes functions for the Web Worker, stringified with JSONfn:</p>
<pre><code class="language-js">// From main thread
worker.postMessage({
    myFunction: JSONfn.stringify( (arg) =&gt; ... )
    payload: ... // any kind of data, let the function decide whether it's useful
});
</code></pre>
<p>And reconstructed inside of the Web Worker’s script</p>
<pre><code class="language-js">// inside of worker
self.addEventListener(&quot;message&quot;, function(e) {
    // `e.data` contains data sent from main thread
    const myFunction = JSONfn.parse(e.data.myFunction);
    myFunction(e.data.payload); // reconstructed and callable
});
</code></pre>
<p>As you can see, if we have several functions which need different arguments, we have to be careful. This is similar to an observer pattern in the way commonly implemented in C# for instance, where several observers subscribe to the dispatcher, and when they receive data, the observers have to handle the payload and decide whether they can use that message. Here it is the same. The most scalable option I’ve found is to have two stable parameters, one for functions and one for their arguments a simply send it both in arrays. Then when the event occurs, send all the arguments to all the functions and let them handle it.</p>
<h3 id="a-side-note-about-classes" id="a-side-note-about-classes">A side note about classes <a class="markdownit-header-anchor" href="#a-side-note-about-classes">🔗</a></h3>
<p>Be aware that the above-described approach will not work if you use classes. Although from the maintainability and readability perspective it would have made a perfect sense to use classes and typescript interfaces, it is not possible. The stringify method can turn to a string only those values it has access to directly. However, when you define something as a class method, it is attached merely to the object’s prototype. It does not directly exist on the object itself.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://directus9.localazy.com/assets/57cd8447-209e-4473-b26f-2165a235a12a" length="0" type="image//assets/57cd8447-209e-4473-b26f-2165a235a12a"/>
        </item>
        <item>
            <title><![CDATA[#10 Floating Windows on Android: Tips & Tricks]]></title>
            <link>https://localazy.com/blog/floating-windows-on-android-10-tips-and-tricks</link>
            <guid isPermaLink="false">floating-windows-on-android-10-tips-and-tricks</guid>
            <pubDate>Mon, 21 Sep 2020 14:34:53 GMT</pubDate>
            <description><![CDATA[Learn how to use floating windows in your Android apps. The last lesson teaches you a few tips and tricks I learned the hard way.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you ever wondered how to make those floating windows used by Facebook Heads and other apps? Have you ever wanted to use the same technology in your app? It’s easy, and I will guide you through the whole process.</p>
<p>I’m the author of <a href="https://floatingapps.net">Floating Apps</a>; the first app of its kind on Google Play and the most popular one with over 8 million downloads. After 6 years of the development of the app, I know a bit about it. It’s sometimes tricky, and I spent months reading documentation and Android source code and experimenting. I received feedback from tens of thousands of users and see various issues on different phones with different Android versions.</p>
<p>Here’s what I learned along the way.</p>
<p>Before reading this article, it’s recommended to go through <a href="https://localazy.com/blog/floating-windows-on-android-9-shortcomings">Floating Windows on Android 9: Shortcomings</a>.</p>
<p><strong>In this article, I show you some tips &amp; tricks I used in Floating Apps.</strong></p>
<h2 id="minimize" id="minimize">Minimize <a class="markdownit-header-anchor" href="#minimize">🔗</a></h2>
<p>In Floating Apps, it’s possible to minimize windows. How do I achieve this effect?</p>
<p>Well, I move the window outside of the visible area of the screen. This is the safest thing you can do. Changing the window’s size, removing the view from <code>WindowManager</code>, or any other similar action could break your app. For example, components rendering content directly to the video memory such as <code>SurfaceView</code>, <code>VideoView</code>, etc. don’t like it.</p>
<p>When the window is moved outside of the screen area, I inject a new view - the bubble. It’s all done together with smooth animations, so it actually looks like the window is minimized to the bubble. But it’s all just a smart effect.</p>
<h2 id="maximize" id="maximize">Maximize <a class="markdownit-header-anchor" href="#maximize">🔗</a></h2>
<p>In Floating Apps, there is heavy math behind the window’s size as there are different modes (with the title bar, without it, with minimal bar, etc.), half-screen size, etc.</p>
<p>But maximizing the window is not the case <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>. You can use <code>MATCH_PARENT</code> for <code>LayoutParams</code>, and it automatically sets the maximal available size. Simple.</p>
<pre><code class="language-kotlin">params.gravity = Gravity.TOP or Gravity.LEFT  
params.width = ViewGroup.LayoutParams.MATCH_PARENT  
params.height = ViewGroup.LayoutParams.MATCH_PARENT  
params.x = 0  
params.y = 0
</code></pre>
<p>Don’t forget to remember the original position and size, and disable moving the maximized window.</p>
<p>Also, be sure that your layout is flexible enough to work correctly with the maximized window as well as with smaller ones.</p>
<h2 id="resizing-windows" id="resizing-windows">Resizing Windows <a class="markdownit-header-anchor" href="#resizing-windows">🔗</a></h2>
<p>This one is tricky. In Floating Apps, some windows can be resized, and such windows have a small handle in the right bottom corner.</p>
<p>Resizing the window is very similar to moving it, and you can use the same <code>DraggableTouchListener</code> as we introduced in <a href="https://localazy.com/blog/floating-windows-on-android-5-moving-window">the <strong>Moving Window</strong> article</a>. Just change <code>x</code> and <code>y</code> for <code>width</code> and <code>height</code>.</p>
<p>I experimented with changing the window size directly, but for windows with a complex layout, it’s slow.</p>
<p><strong>So my final version is:</strong> When the resize handle is touched, a new semi-transparent floating view is injected above the original window with the same size and position and it’s resized instead of it. When resizing is finished, the new size is applied to the original window.</p>
<h2 id="transparency" id="transparency">Transparency <a class="markdownit-header-anchor" href="#transparency">🔗</a></h2>
<p><code>WindowManager.LayoutParams</code>  comes with <code>alpha</code>, so this one is as simple as:</p>
<pre><code class="language-kotlin">// Make the window transparent with 50% opacity.
params.alpha = 0.5f
</code></pre>
<p>Don’t allow the user to make the window completely invisible as it could have undesired effects. I bet you can imagine it.</p>
<p><strong>FUN TIP:</strong> Completely invisible floating window is a nice prank! <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>.</p>
<h2 id="screen-rotation" id="screen-rotation">Screen Rotation <a class="markdownit-header-anchor" href="#screen-rotation">🔗</a></h2>
<p>In the foreground service, register the broadcast receiver to listen to <code>Intent.ACTION_CONFIGURATION_CHANGED</code>, and you get notified when the screen is rotated.</p>
<p>In Floating Apps, when the screen orientation is changed, I keep the same size of the window and recalculate its position using the percentual calculation:</p>
<pre><code class="language-kotlin">newX = oldX / oldScreenWidth * newScreenWidth
</code></pre>
<p>The window seems to be still in the same position relatively.</p>
<h2 id="bubble-physics" id="bubble-physics">Bubble Physics <a class="markdownit-header-anchor" href="#bubble-physics">🔗</a></h2>
<p>In Floating Apps, the bubbles for minimized windows are just specifically layouted views and nothing more. There is almost no difference from floating windows, as we discussed them in this series.</p>
<p>However, the bubbles have nice psychics when they’re moved around the screen. All the magic is created with the <a href="https://github.com/facebookarchive/rebound">Facebook Rebound</a> library - a java library that models spring dynamics.</p>
<p>Ooh, I just noticed that the library is archived. Pity. It’s very nice.</p>
<h2 id="and-we-are-done" id="and-we-are-done">And We Are Done! <a class="markdownit-header-anchor" href="#and-we-are-done">🔗</a></h2>
<p>This is the last article in the series about the floating technology. I taught you almost everything I learned during the last few years.</p>
<p>Enjoy it and feel free to share your apps with me.</p>
<p>Also, I will be glad if you decide to localize your apps with <a href="https://localazy.com">Localazy</a>. I put the very same love into it as I did with Floating Apps.</p>
<p><strong>Thanks for reading!  Follow me (<a href="https://twitter.com/vaclavhodek">@vaclavhodek</a>) and Localazy (<a href="https://twitter.com/localazy">@localazy</a>) on Twitter, or like <a href="https://www.facebook.com/localazy">Localazy on Facebook</a> for more interesting information about Android development.</strong></p>
<h2 id="the-series" id="the-series">The Series <a class="markdownit-header-anchor" href="#the-series">🔗</a></h2>
<p>This article is part of the <strong>Floating Windows on Android</strong> series.</p>
<ul>
<li><a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">Floating Windows on Android 1: Jetpack Compose &amp; Room</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-2-foreground-service">Floating Windows on Android 2: Foreground Service</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-3-permissions">Floating Windows on Android 3: Permissions</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-4-floating-window">Floating Windows on Android 4: Floating Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-5-moving-window">Floating Windows on Android 5: Moving Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-6-keyboard-input">Floating Windows on Android 6: Keyboard Input</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-7-boot-receiver">Floating Windows on Android 7: Boot Receiver</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-8-the-final-app">Floating Windows on Android 8: The Final App</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-9-shortcomings">Floating Windows on Android 9: Shortcomings</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-10-tips-and-tricks">Floating Windows on Android 10: Tips &amp; Tricks</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/af3c3a19-d627-4b47-bb8e-b306dab97bd7" length="0" type="image//assets/af3c3a19-d627-4b47-bb8e-b306dab97bd7"/>
        </item>
        <item>
            <title><![CDATA[#8 Floating Windows on Android: The Final App]]></title>
            <link>https://localazy.com/blog/floating-windows-on-android-8-the-final-app</link>
            <guid isPermaLink="false">floating-windows-on-android-8-the-final-app</guid>
            <pubDate>Mon, 21 Sep 2020 14:33:37 GMT</pubDate>
            <description><![CDATA[Learn how to use floating windows in your Android apps. The eighth lesson teaches you how to connect everything together into a wonderful app. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you ever wondered how to make those floating windows used by Facebook Heads and other apps? Have you ever wanted to use the same technology in your app? It’s easy, and I will guide you through the whole process.</p>
<p>I’m the author of <a href="https://floatingapps.net">Floating Apps</a>; the first app of its kind on Google Play and the most popular one with over 8 million downloads. After 6 years of the development of the app, I know a bit about it. It’s sometimes tricky, and I spent months reading documentation and Android source code and experimenting. I received feedback from tens of thousands of users and see various issues on different phones with different Android versions.</p>
<p>Here’s what I learned along the way.</p>
<p>Before reading this article, it’s recommended to go through <a href="https://localazy.com/blog/floating-windows-on-android-7-boot-receiver">Floating Windows on Android 7: Boot Receiver</a>.</p>
<p><strong>In this article, I will teach you how to wrap everything together to get the note-taking app with floating technology.</strong></p>
<h2 id="the-final-app" id="the-final-app">The Final App <a class="markdownit-header-anchor" href="#the-final-app">🔗</a></h2>
<p>To finalize our app, we need to finish adding notes from the floating window. It’s not hard but not simple because the view model we created in the first article is not available in the service.</p>
<p>As a workaround, we encapsulate the whole data management for notes into a class and prepare it to be usable both from the view model and our service.</p>
<p>As you can notice below, the newly created class also comes with support for broadcasting the <code>NOTES_RECEIVER_ACTION</code> event when notes are added or removed. More on the broadcasting event is in the next chapter.</p>
<p>There is also <code>enableMultiInstanceInvalidation()</code> for Room enabled. It solves the problem with the concurrent changes to the same database.</p>
<p>There is the complete source code for our new <code>NotesDb</code> class:</p>
<pre><code class="language-kotlin">class NotesDb(val context: Context) {  
  
  val db = Room.databaseBuilder(  
    if (context.applicationContext == null) context else context.applicationContext,  
    AppDatabase::class.java,  
    &quot;db-notes&quot;  
  ).enableMultiInstanceInvalidation().build()  
    
  fun insert(note: String, sendBroadcast: Boolean = false) {  
    if (note.isEmpty()) return
    val noteObj = Note((System.currentTimeMillis() % Int.MAX_VALUE).toInt(), note)  
    insert(noteObj, sendBroadcast)  
  }  
   
  fun insert(note: Note, sendBroadcast: Boolean = false) {  
    GlobalScope.launch {  
      db.notes().insert(note)  
      if (sendBroadcast) {  
        update()  
      }  
    }  
  }  
    
  fun remove(note: Note, sendBroadcast: Boolean = false) {  
    GlobalScope.launch {  
      db.notes().delete(note)  
      if (sendBroadcast) {  
        update()  
      }  
    }  
  }  
  
  fun list(setter: (List&lt;Note&gt;) -&gt; Unit) {  
    GlobalScope.launch {  
      setter(db.notes().getAll())  
    }  
  }  
  
  fun update() {  
    context.sendBroadcast(Intent(NOTES_RECEIVER_ACTION))  
  }  
  
}
</code></pre>
<p>We need to update our <code>NotesViewModel</code> (not shown here) to use <code>NotesDb</code> and finish the <code>Window</code>. When the user clicks on the add icon, the note is added, and the text field is cleared. And it’s really that simple as adding a few lines:</p>
<pre><code class="language-kotlin">class Window(context: Context) {  
  
  private val db = NotesDb(context)

  private fun initWindow() {  
  
    // Add note and clear the edit field.
    rootView.findViewById&lt;View&gt;(R.id.content_button).setOnClickListener {  
      with(rootView.findViewById&lt;EditText&gt;(R.id.content_text)) {  
        // Don't forget to pass true for sendBroadcast parameter.
        db.insert(text.toString(), true)  
        setText(&quot;&quot;)  
      }  
    }
     
     // ... the rest of initWindow() ...	 
  }
 
  // ... unrelated code is omitted for brevity ...	 
}
</code></pre>
<h2 id="notify-the-main-app" id="notify-the-main-app">Notify The Main App <a class="markdownit-header-anchor" href="#notify-the-main-app">🔗</a></h2>
<p>Jetpack Compose automatically refreshes notes if we change them in the view model. However, as it’s impossible to get the view model in the service, we must invoke the refresh manually.</p>
<p>First, let’s introduce a simple broadcast receiver that invokes lambda when the event is received. The event is sent by the <code>NotesDb</code> introduced above.</p>
<pre><code class="language-kotlin">const val NOTES_RECEIVER_ACTION = &quot;com.localazy.quicknote.actions.UPDATE_NOTES&quot;  
  
class NotesReceiver(val update: () -&gt; Unit) : BroadcastReceiver() {  
  
  override fun onReceive(context: Context?, intent: Intent?) {  
    update()  
  }  
 
}
</code></pre>
<p>We can now use the broadcast receiver in the view model - we create a broadcast aware view model.</p>
<p>When the event is received, we simply load notes from the Room database again. It leads to a change in the view model and refreshes the list of notes in our main app. The data-related logic is kept inside the view model and separated from UI, and it should be this way.</p>
<pre><code class="language-kotlin">class NotesViewModel(application: Application) : AndroidViewModel(application) {
	
  private val context = application.applicationContext
  private val updateReceiver = NotesReceiver { loadItemsFromDb() }

  init {  
    context.registerReceiver(updateReceiver, IntentFilter(NOTES_RECEIVER_ACTION))  
    loadItemsFromDb()  
  }

  override fun onCleared() {  
    super.onCleared()  
    context.unregisterReceiver(updateReceiver)  
  }

  // ... unrelated code is omitted for brevity ...	

}
</code></pre>
<p><strong>At this point, we have finished our note-taking app!</strong></p>
<h2 id="localization-and-volunteers" id="localization-volunteers">Localization &amp; Volunteers <a class="markdownit-header-anchor" href="#localization-and-volunteers">🔗</a></h2>
<p><strong>I skyrocketed Floating Apps by translating it to 30 languages</strong>, and one of the things I would like to teach you is how you can do the same.</p>
<p>We now have an excellent note-taking app that brings value to our users. Let’s convert some of them to volunteers/contributors that help us to localize the app to more languages.</p>
<p>First, we need to give them the right tool for it, and <strong>ask them to help us</strong>. So let’s create a language selector that is great for normal users as they can switch language, but it can also help us to communicate with our potential contributors. In <a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">the first article</a>, we have integrated Localazy and its awesome localization library for Android, which is actually integrated automatically. By default, it resolves the language the same way as Android does. But we can force different locale if we want so.</p>
<p>Let’s create a view model for our language selector. As the Localazy library is available, it’s quite simple. <code>LocalazyWrapperListener</code> simplifies the standard <code>LocalazyListener</code>, and you can find it on <a href="https://github.com/vaclavhodek/quicknote_8/blob/master/app/src/main/java/com/localazy/quicknote/localazy/LocalazyWrapperListener.kt">Github</a>.</p>
<pre><code class="language-kotlin">class LocaleViewModel(application: Application) : AndroidViewModel(application) {  
  
  private val localazyListener = LocalazyWrapperListener {  
    viewModelScope.launch {  
      update()  
    }  
  }
  
  var locales by mutableStateOf(listOf&lt;LocalazyLocale&gt;())  
    private set  
  
  init {  
    Localazy.setListener(localazyListener)  
    update()  
  }  
  
  private fun update() {  
    locales = Localazy.getLocales() ?: emptyList()  
  }  
  
}
</code></pre>
<p>And a simple <code>@Composable</code> to show a list of available languages with a ‘<em>help us translate</em>’ message. Notice that the message is kept in English and is not translated. That’s for purpose because we want to attract people who are likely to understand English good enough to supply an accurate translation.</p>
<pre><code class="language-kotlin">@Composable  
fun ShowLocales(  
  items: List&lt;LocalazyLocale&gt;,  
  onChange: (LocalazyLocale) -&gt; Unit,  
  onHelp: () -&gt; Unit  
) {  
  Column {  
    LazyColumnFor(items = items, modifier = Modifier.padding(0.dp, 8.dp)) {  
      TextButton(  
        onClick = { onChange(it) },
        modifier = Modifier.padding(16.dp, 4.dp, 4.dp, 4.dp).fillMaxWidth()  
      ) {  
        val name = &quot;${it.localizedName}${if (!it.isFullyTranslated) &quot; (incomplete)&quot; else &quot;&quot;}&quot;  
        Text(name)  
      }  
    }  
    TextButton(  
      onClick = { onHelp() },
      modifier = Modifier.padding(16.dp, 12.dp, 4.dp, 4.dp).fillMaxWidth()  
    ) {  
      Text(&quot;Help us translate the app!&quot;)  
    }  
  }
}
</code></pre>
<p>And the last thing to do is to wrap everything into <code>LocaleActivity</code>:</p>
<pre><code class="language-kotlin">class LocaleActivity : AppCompatActivity() {  
  
  private val localesViewModel by viewModels&lt;LocaleViewModel&gt;()  
  
  override fun onCreate(savedInstanceState: Bundle?) {  
    super.onCreate(savedInstanceState)  
    setContent {  
      ShowLocales(  
        localesViewModel.locales,  
        onChange = {  
        
          // Change the locale and persist the new choice.
          Localazy.forceLocale(it.locale, true)  
  
          // Stop the service and reopen MainActivity with clearing top.  
          // MainActivity restarts the service, so the locale change  
          // is applied across both activity and the service.  
          startFloatingService(INTENT_COMMAND_EXIT)  
          startActivity(Intent(this@LocaleActivity, MainActivity::class.java).apply {  
            flags = Intent.FLAG_ACTIVITY_CLEAR_TOP  
          })
  
        },  
        onHelp = {  
          // Open the project on Localazy to allow contributors to help us with translating.  
          startActivity(  
            Intent(Intent.ACTION_VIEW, Localazy.getProjectUri()).apply {  
              flags = Intent.FLAG_ACTIVITY_NEW_TASK  
            }  
          )  
        }  
      )  
    }  
  }  
  
}
</code></pre>
<p>We have to add the newly created <code>LocaleActivity</code> to <code>AndroidManifest.xml</code> and also add a way to open it from <code>MainActivity</code>. See <em>Results</em> below for the video of the fully functional app and the full code on <a href="https://github.com/vaclavhodek/quicknote_8">Github</a>.</p>
<p><strong>Btw, notice that there is no <code>values-XX</code> folder in the project, just the base language’s <code>values</code> folder.</strong> All other languages are supplied by Localazy automatically. You don’t need to care about it at all <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>.</p>
<p><strong>It’s simple, but it works!</strong> Just asking my users, I get hundreds of people helping me translate the app, suggest new ideas, and hunt bugs. I owe all my knowledge shared with you in these articles to users who helped me along the way! Thanks!</p>
<p>If you want to read more about this topic, be sure to check <a href="https://localazy.com/blog/how-i-converted-floating-apps-to-localazy">how I converted Floating Apps to Localazy</a>.</p>
<h2 id="results" id="results">Results <a class="markdownit-header-anchor" href="#results">🔗</a></h2>
<p><strong>And here comes our final app!</strong> Fully working notes-taking app with floating technology and externally manage languages with seamless locale switching.</p>
<iframe width="100%" height="360"
src="https://www.youtube.com/embed/8U7mRdjpouw" 
frameborder="0" 
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" 
allowfullscreen></iframe>
<p><strong>We are not yet done!</strong> I prepared two more articles to teach you tips, tricks, and shortcomings of floating technology.</p>
<h2 id="source-code" id="source-code">Source Code <a class="markdownit-header-anchor" href="#source-code">🔗</a></h2>
<p>The whole source code for this article is <a href="https://github.com/vaclavhodek/quicknote_8">available on Github</a>.</p>
<h2 id="stay-tuned" id="stay-tuned">Stay Tuned <a class="markdownit-header-anchor" href="#stay-tuned">🔗</a></h2>
<p>Eager to learn more about Android development? Follow me (<a href="https://twitter.com/vaclavhodek">@vaclavhodek</a>) and Localazy (<a href="https://twitter.com/localazy">@localazy</a>) on Twitter, or like <a href="https://www.facebook.com/localazy">Localazy on Facebook</a>.</p>
<h2 id="the-series" id="the-series">The Series <a class="markdownit-header-anchor" href="#the-series">🔗</a></h2>
<p>This article is part of the <strong>Floating Windows on Android</strong> series.</p>
<ul>
<li><a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">Floating Windows on Android 1: Jetpack Compose &amp; Room</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-2-foreground-service">Floating Windows on Android 2: Foreground Service</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-3-permissions">Floating Windows on Android 3: Permissions</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-4-floating-window">Floating Windows on Android 4: Floating Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-5-moving-window">Floating Windows on Android 5: Moving Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-6-keyboard-input">Floating Windows on Android 6: Keyboard Input</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-7-boot-receiver">Floating Windows on Android 7: Boot Receiver</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-8-the-final-app">Floating Windows on Android 8: The Final App</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-9-shortcomings">Floating Windows on Android 9: Shortcomings</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-10-tips-and-tricks">Floating Windows on Android 10: Tips &amp; Tricks</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/8b54b52a-8bbc-4f80-a8c2-be0cb40351f5" length="0" type="image//assets/8b54b52a-8bbc-4f80-a8c2-be0cb40351f5"/>
        </item>
        <item>
            <title><![CDATA[#9 Floating Windows on Android: Shortcomings]]></title>
            <link>https://localazy.com/blog/floating-windows-on-android-9-shortcomings</link>
            <guid isPermaLink="false">floating-windows-on-android-9-shortcomings</guid>
            <pubDate>Sun, 20 Sep 2020 07:58:42 GMT</pubDate>
            <description><![CDATA[Learn how to use floating windows in your Android apps. The ninth lesson teaches you how to overcome some key shortcomings in floating technology. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you ever wondered how to make those floating windows used by Facebook Heads and other apps? Have you ever wanted to use the same technology in your app? It’s easy, and I will guide you through the whole process.</p>
<p>I’m the author of <a href="https://floatingapps.net">Floating Apps</a>; the first app of its kind on Google Play and the most popular one with over 8 million downloads. After 6 years of the development of the app, I know a bit about it. It’s sometimes tricky, and I spent months reading documentation and Android source code and experimenting. I received feedback from tens of thousands of users and see various issues on different phones with different Android versions.</p>
<p>Here’s what I learned along the way.</p>
<p>Before reading this article, it’s recommended to go through <a href="https://localazy.com/blog/floating-windows-on-android-8-the-final-app">Floating Windows on Android 8: The Final App</a>.</p>
<p><strong>In this article, I teach you how to overcome some key shortcomings of floating technology.</strong></p>
<h2 id="mixed-support" id="mixed-support">Mixed Support <a class="markdownit-header-anchor" href="#mixed-support">🔗</a></h2>
<p>Below, I write about the most significant shortcomings of floating technology. On some devices, some of the described problems may not appear at all. On other devices, some issues exist, some not.</p>
<p>However, if you want your app to be available to all users, you can’t rely on mixed support. Your app would crash frequently, or it wouldn’t be usable for a large group of users.</p>
<p>Believe me, I had the privilege to see my app running on thousands of different devices, and I came across weird and illogical bugs and non-standard behavior.</p>
<h2 id="dialogs" id="dialogs">Dialogs <a class="markdownit-header-anchor" href="#dialogs">🔗</a></h2>
<p><strong>Problem:</strong></p>
<p>The standard Android’s <code>AlertDialog</code> needs an underlying activity, and so it’s not possible to use it in floating windows - it would cause the app to crash.</p>
<p><strong>Solution:</strong></p>
<p>The best solution is to implement custom dialogs based on floating technology.</p>
<p>In Floating Apps, I implemented many different dialog types:</p>
<ul>
<li>yes/no</li>
<li>ok/cancel</li>
<li>ok only</li>
<li>select file</li>
<li>show list</li>
<li>list of checkboxes</li>
<li>rich-text</li>
<li>custom view</li>
<li>etc.</li>
</ul>
<p>I also implemented modality. When the dialog is shown, the related window is blocked, and the dialog is brought to the front instead of the window.</p>
<p><strong>Example:</strong></p>
<p><em>A simple confirmation dialog.</em></p>
<p><img src="https://content.localazy.com/quicknote_8/fa1.png" alt="Dialog in Floating Apps"></p>
<h2 id="popup-menus" id="popup-menus">Popup Menus <a class="markdownit-header-anchor" href="#popup-menus">🔗</a></h2>
<p><strong>Problem:</strong></p>
<p>With popup menus, there is a similar problem as for <code>AlertDialog</code>. It’s not supported in floating windows.</p>
<p><strong>Solution:</strong></p>
<p>As for <code>AlertDialog</code>, I would recommend implementing custom popup menus based on floating technology.</p>
<p>I did for Floating Apps. It relies on popups heavily.</p>
<p><strong>Example:</strong></p>
<p><em>A simple popup menu shown over its parent window.</em></p>
<p><img src="https://content.localazy.com/quicknote_8/fa2.png" alt="Popup menu in Floating Apps"></p>
<h2 id="copy-and-paste" id="copy-paste">Copy &amp; Paste <a class="markdownit-header-anchor" href="#copy-and-paste">🔗</a></h2>
<p><strong>Problem:</strong></p>
<p>The copy/paste feature is a real problem. It works well only on a few phones. As a rule of thumb, it’s better to consider it unsupported.</p>
<p>Usually, it’s possible to highlight/select text. To be more precise, it’s possible to select words with a long tap.  However, handles used for working with the selection are missing, and therefore, there is no way to select anything else than single words.</p>
<p>And there’s another issue. The standard popup with actions (copy, paste, select all, translate, etc.) is somehow connected to the underlying activity on most devices and won’t appear at all.</p>
<p><strong>Solution:</strong></p>
<p>For short texts, it’s acceptable to implement <code>OnLongClickListener</code> and use custom popup. However, as it’s not possible to select the text this way, it’s necessary to introduce <em>Copy all</em>/<em>Cut all</em> functionality. The Facebook Heads uses this solution everywhere. In Floating Apps, I use it too for edit fields.</p>
<p>In Floating Apps, there are mini-apps for notes taking and text editing, and being able to use <em>Copy all</em> only, it wouldn’t be a suitable solution. For this reason, these apps use WebView in which a full-size <code>contenteditable</code> <code>div</code> is shown with custom logic for text selection, copying and pasting. It’s not perfect, but better than nothing <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<p><strong>Example:</strong></p>
<p><em>A custom copy/paste popup menu.</em>
<img src="https://content.localazy.com/quicknote_8/fa3.png" alt="Copy/paste in Floating Apps"></p>
<h2 id="permissions" id="permissions">Permissions <a class="markdownit-header-anchor" href="#permissions">🔗</a></h2>
<p><strong>Problem:</strong></p>
<p>Obtaining permissions from Android M and above requires a dialog to be shown and the method for issuing the request is available in <code>Activity</code> as well as the mechanism for catching the result.</p>
<p><strong>Solution:</strong></p>
<p>In fact, there are two possible solutions to this problem.</p>
<ol>
<li>You can ask the user to grant all the necessary permissions in the main app before you allow her to access floating windows. Honestly, this solution may scare your users, and as Floating Apps has around 8 required permissions, I believe that almost nobody would grant them all before any real experience with the app.</li>
<li>Ask the user for the required permission when you need it. This is the correct way how to do it. In this case, the best you can do is to show an invisible activity and raise the permission request dialog from it. It may interrupt the current task, but as this is an only one-time action, it’s not a big deal, and there is no better way to do.</li>
</ol>
<p>In Floating Apps, every single mini-app defines a set of required permissions, and before the app is launched, the service checks whether all permissions are granted. If not, an invisible activity is shown and ask the user to grant missing ones.</p>
<h2 id="system-interactions" id="system-interactions">System Interactions <a class="markdownit-header-anchor" href="#system-interactions">🔗</a></h2>
<p><strong>Problem:</strong></p>
<p>Some things, such as social logins, requesting SD card access, opening with, sharing, etc., can only be invoked from running activity.</p>
<p><strong>Solution:</strong></p>
<p>I tend to move “configuration” level things to the main app, which is a normal Android app, and once configured, it’s usually possible to use them from inside the service.</p>
<p>For <code>Open With</code> / <code>Share With</code> functionality, a hidden activity is a solution both for showing the dialog to open/share with and for receiving data from other apps.</p>
<p>However, you may need to sacrifice functionality that is not supported in the service. For example, I once wanted to implement floating navigation with MapBox, but their SDK expects  an instance of Activity to be available. No luck.</p>
<h2 id="z-order" id="z-order">Z-Order <a class="markdownit-header-anchor" href="#z-order">🔗</a></h2>
<p><strong>Problem:</strong></p>
<p>The most recently added <code>View</code> is rendered on top of all others. There is no mechanism for switching the z-order of <code>View</code>s in <code>WindowManager</code>.</p>
<p><strong>Solution:</strong></p>
<p>In Floating Apps, the switching of floating windows is a complex process.</p>
<ul>
<li>The whole window is rendered to an image, and a new <code>ImageView</code> is injected to <code>WindowManager</code> with the image of the original window on exactly the same position. In fact, it looks exactly the same as the original window.</li>
<li>The original window is removed from the <code>WindowManager</code> but kept alive.</li>
<li>The original window is added back to the <code>WindowManager</code>, which means that it’s effectively brought to the top.</li>
<li>The <code>ImageView</code> with the rendered image of the window is removed from the <code>WindowManager</code>.</li>
</ul>
<p>Using the approach above, switching windows seems like a seamless process without blinking and other undesired effects.</p>
<p>Of course, in Floating Apps, this is automated, and there is a complex logic around this that also controls the current z-order of all windows and intelligently decides when the switching is necessary and when not.</p>
<p>However, removing and re-adding the window may cause a problem with components rendering content directly to the video memory such as <code>SurfaceView</code>, <code>VideoView</code>, etc. For this reason, Floating Apps automatically disable this process for windows of a certain type.</p>
<h2 id="browser-limitations" id="browser-limitations">Browser Limitations <a class="markdownit-header-anchor" href="#browser-limitations">🔗</a></h2>
<p><code>WebView</code> works well in floating windows, and it’s mostly possible to reimplement its interactions such as uploading and downloading files, invalid certificate notifications, requests for location permission, etc. to use floating windows/dialogs described above.</p>
<p>However, there are a few actions that may lead to crashes or are unsupported. I hope I listed all the key issues.</p>
<h3 id="open-with" id="open-with">Open With <a class="markdownit-header-anchor" href="#open-with">🔗</a></h3>
<p>Android tries to offer available apps, aka  <code>Open With</code> feature, when opening links with an unknown protocol. As there is no activity, it may cause crashes. However, this behavior can be easily overridden.</p>
<h3 id="copypaste" id="copypaste">Copy/Paste <a class="markdownit-header-anchor" href="#copypaste">🔗</a></h3>
<p>The problem with copy/paste described above also exists for <code>WebView</code>, and it’s even worse.</p>
<p>It’s possible to use <code>WebView</code> to implement a workaround for unsupported text selection because we have full control over the code. However, for other websites, the situation is much complicated.</p>
<p>However, it’s possible to get the selected text in the <code>WebView</code> using something like:</p>
<pre><code class="language-kotlin">webView.loadUrl(&quot;javascript:process(window.getSelection().toString());&quot;)
</code></pre>
<p>And paste the text to <code>WebView</code> using simulating key strokes with <code>dispatchKeyEvent</code>.</p>
<h3 id="long-click-on-links-and-images" id="long-click-on-links-images">Long-Click On Links &amp; Images <a class="markdownit-header-anchor" href="#long-click-on-links-and-images">🔗</a></h3>
<p>Long-clicks may lead to crashes depending on the implementation, and certainly, it’s not possible to invoke standard actions like <code>Open In New Window</code>, <code>Download Image</code>, etc.</p>
<p>The solution is to set custom <code>OnLongClickListener</code> for the <code>WebView</code> and get use <code>webView.getHitTestResult()</code> to get information about the clicked element.</p>
<p>Don’t forget to <code>return false</code> when <code>webView.getHitTestResult()</code> returns <code>null</code> to let the <code>WebView</code> process the long click correctly, e.g. for selecting texts.</p>
<h3 id="html-lessselectgreater" id="html-select">HTML  &lt;select&gt; <a class="markdownit-header-anchor" href="#html-lessselectgreater">🔗</a></h3>
<p>HTML element <code>&lt;select&gt;</code> shows a dialog with available options and cause your app to crash. It’s a big deal, and the only solution is to hook the element, override its action, and show custom UI based on floating technology.</p>
<p>It’s not a simple task and needs a lot of testing. Don’t forget that options in <code>&lt;select&gt;</code> may be nested and disabled.</p>
<h2 id="the-final-note" id="the-final-note">The Final Note <a class="markdownit-header-anchor" href="#the-final-note">🔗</a></h2>
<p>You learned how to implement floating windows for your app. It’s a powerful technology, but it comes with its price.</p>
<p>Use it wisely where it makes sense and try to avoid situations in which you get to shortcomings mentioned in this article and some others I forgot. It’s not a simple task to correctly implement all the workarounds to be reliable across different phones and Android versions.</p>
<p>Enjoy it and feel free to share your apps with me.</p>
<p>Also, I will be glad if you decide to localize your apps with <a href="https://localazy.com">Localazy</a>. I put the very same love into it as I did with Floating Apps.</p>
<p>Continue to <a href="https://localazy.com/blog/floating-windows-on-android-10-tips-and-tricks">the last article with tips &amp; tricks</a> I learned the hard way.</p>
<h2 id="stay-tuned" id="stay-tuned">Stay Tuned <a class="markdownit-header-anchor" href="#stay-tuned">🔗</a></h2>
<p>Eager to learn more about Android development? Follow me (<a href="https://twitter.com/vaclavhodek">@vaclavhodek</a>) and Localazy (<a href="https://twitter.com/localazy">@localazy</a>) on Twitter, or like <a href="https://www.facebook.com/localazy">Localazy on Facebook</a>.</p>
<h2 id="the-series" id="the-series">The Series <a class="markdownit-header-anchor" href="#the-series">🔗</a></h2>
<p>This article is part of the <strong>Floating Windows on Android</strong> series.</p>
<ul>
<li><a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">Floating Windows on Android 1: Jetpack Compose &amp; Room</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-2-foreground-service">Floating Windows on Android 2: Foreground Service</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-3-permissions">Floating Windows on Android 3: Permissions</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-4-floating-window">Floating Windows on Android 4: Floating Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-5-moving-window">Floating Windows on Android 5: Moving Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-6-keyboard-input">Floating Windows on Android 6: Keyboard Input</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-7-boot-receiver">Floating Windows on Android 7: Boot Receiver</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-8-the-final-app">Floating Windows on Android 8: The Final App</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-9-shortcomings">Floating Windows on Android 9: Shortcomings</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-10-tips-and-tricks">Floating Windows on Android 10: Tips &amp; Tricks</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/0dd914a9-6337-4c51-acbd-d6429df1c56a" length="0" type="image//assets/0dd914a9-6337-4c51-acbd-d6429df1c56a"/>
        </item>
        <item>
            <title><![CDATA[#7 Floating Windows on Android: Boot Receiver]]></title>
            <link>https://localazy.com/blog/floating-windows-on-android-7-boot-receiver</link>
            <guid isPermaLink="false">floating-windows-on-android-7-boot-receiver</guid>
            <pubDate>Thu, 17 Sep 2020 20:21:03 GMT</pubDate>
            <description><![CDATA[Learn how to use floating windows in your Android apps. The seventh lesson teaches you how to reliably start the service when the device boots up.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you ever wondered how to make those floating windows used by Facebook Heads and other apps? Have you ever wanted to use the same technology in your app? It’s easy, and I will guide you through the whole process.</p>
<p>I’m the author of <a href="https://floatingapps.net">Floating Apps</a>; the first app of its kind on Google Play and the most popular one with over 8 million downloads. After 6 years of the development of the app, I know a bit about it. It’s sometimes tricky, and I spent months reading documentation and Android source code and experimenting. I received feedback from tens of thousands of users and see various issues on different phones with different Android versions.</p>
<p>Here’s what I learned along the way.</p>
<p>Before reading this article, it’s recommended to go through <a href="https://localazy.com/blog/floating-windows-on-android-6-keyboard-input">Floating Windows on Android 6: Keyboard Input</a>.</p>
<p><strong>In this article, I will teach you how to start our service reliably when the device boots up.</strong></p>
<h2 id="always-ready" id="always-ready">Always Ready <a class="markdownit-header-anchor" href="#always-ready">🔗</a></h2>
<p>Our floating service is launched from the main app. When the user turns off the device and later turns it on, she cannot make notes with our app until she manually starts it. That’s not comfortable.</p>
<p>However, we can quickly solve this by launching our service when the device boots up.</p>
<h2 id="the-permission" id="the-permission">The Permission <a class="markdownit-header-anchor" href="#the-permission">🔗</a></h2>
<p>We need to add permission to <code>AndroidManifest.xml</code> to listen for boot events:</p>
<pre><code class="language-xml">&lt;uses-permission android:name=&quot;android.permission.RECEIVE_BOOT_COMPLETED&quot; /&gt;
</code></pre>
<h2 id="the-receiver" id="the-receiver">The Receiver <a class="markdownit-header-anchor" href="#the-receiver">🔗</a></h2>
<p>When the broadcast is received, just start the service. Nothing else is necessary to do.</p>
<pre><code class="language-kotlin">class BootReceiver : BroadcastReceiver() {  
  
  override fun onReceive(context: Context, intent: Intent?) {  
    context.startFloatingService()  
  }  
  
}
</code></pre>
<h2 id="receiver-registration" id="receiver-registration">Receiver Registration <a class="markdownit-header-anchor" href="#receiver-registration">🔗</a></h2>
<p>The last thing to do is to register our receiver in <code>AndroidManifest.xml</code>, so it receives required broadcast events.</p>
<pre><code class="language-xml">&lt;receiver android:name=&quot;.BootReceiver&quot;&gt;  
  &lt;intent-filter&gt; 
    &lt;action android:name=&quot;android.intent.action.BOOT_COMPLETED&quot; /&gt;  
    &lt;action android:name=&quot;android.intent.action.USER_PRESENT&quot; /&gt;  
    &lt;action android:name=&quot;android.intent.action.QUICKBOOT_POWERON&quot; /&gt;  
  &lt;/intent-filter&gt;
&lt;/receiver&gt;
</code></pre>
<p>You can notice that we listen to more events:</p>
<ul>
<li><code>BOOT_COMPLETED</code> - This is broadcast once after the device has finished booting.</li>
<li><code>USER_PRESENT</code> - Sent when the user is present after the device wakes up (e.g. when the keyguard is gone).</li>
<li><code>QUICKBOOT_POWERON</code> - This is broadcast that you don’t find in the official Android documentation. It’s sent on some devices and emulators when the device is restarted only.</li>
</ul>
<p>With these three events, our service should be reliably launched when the device boots up.</p>
<p><strong>Note:</strong> Please remember that when the app was force killed or stopped, it may not be started automatically on boot before the user launches it manually at least once again.</p>
<h2 id="settings" id="settings">Settings <a class="markdownit-header-anchor" href="#settings">🔗</a></h2>
<p>It’s out of the scope of this article, but for the app’s production version, it would be useful to implement an option to disable the notification and disable starting the service when the device boots up.</p>
<h2 id="results" id="results">Results <a class="markdownit-header-anchor" href="#results">🔗</a></h2>
<ol>
<li>Install the app and start the main app. The note notification appears.</li>
<li><strong>Real device:</strong> Turn the device off and on, or restart it.</li>
<li><strong>Emulator:</strong> Close the emulator and start it again from <strong>Android Virtual Device Manager</strong>. Don’t start it by running the app!</li>
<li>The notification should appear a while after the device boots up.</li>
</ol>
<h2 id="source-code" id="source-code">Source Code <a class="markdownit-header-anchor" href="#source-code">🔗</a></h2>
<p>The whole source code for this article is <a href="https://github.com/vaclavhodek/quicknote_7">available on Github</a>.</p>
<h2 id="stay-tuned" id="stay-tuned">Stay Tuned <a class="markdownit-header-anchor" href="#stay-tuned">🔗</a></h2>
<p>Eager to learn more about Android development? Follow me (<a href="https://twitter.com/vaclavhodek">@vaclavhodek</a>) and Localazy (<a href="https://twitter.com/localazy">@localazy</a>) on Twitter, or like <a href="https://www.facebook.com/localazy">Localazy on Facebook</a>.</p>
<h2 id="the-series" id="the-series">The Series <a class="markdownit-header-anchor" href="#the-series">🔗</a></h2>
<p>This article is part of the <strong>Floating Windows on Android</strong> series.</p>
<ul>
<li><a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">Floating Windows on Android 1: Jetpack Compose &amp; Room</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-2-foreground-service">Floating Windows on Android 2: Foreground Service</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-3-permissions">Floating Windows on Android 3: Permissions</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-4-floating-window">Floating Windows on Android 4: Floating Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-5-moving-window">Floating Windows on Android 5: Moving Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-6-keyboard-input">Floating Windows on Android 6: Keyboard Input</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-7-boot-receiver">Floating Windows on Android 7: Boot Receiver</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-8-the-final-app">Floating Windows on Android 8: The Final App</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-9-shortcomings">Floating Windows on Android 9: Shortcomings</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-10-tips-and-tricks">Floating Windows on Android 10: Tips &amp; Tricks</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/f7ccc7ac-884c-41cd-b068-7fb0c1d25c83" length="0" type="image//assets/f7ccc7ac-884c-41cd-b068-7fb0c1d25c83"/>
        </item>
        <item>
            <title><![CDATA[#6 Floating Windows on Android: Keyboard Input]]></title>
            <link>https://localazy.com/blog/floating-windows-on-android-6-keyboard-input</link>
            <guid isPermaLink="false">floating-windows-on-android-6-keyboard-input</guid>
            <pubDate>Thu, 17 Sep 2020 20:11:18 GMT</pubDate>
            <description><![CDATA[Learn how to use floating windows in your Android apps. The sixth lesson teaches you how to switch modes to allow the keyboard input.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you ever wondered how to make those floating windows used by Facebook Heads and other apps? Have you ever wanted to use the same technology in your app? It’s easy, and I will guide you through the whole process.</p>
<p>I’m the author of <a href="https://floatingapps.net">Floating Apps</a>; the first app of its kind on Google Play and the most popular one with over 8 million downloads. After 6 years of the development of the app, I know a bit about it. It’s sometimes tricky, and I spent months reading documentation and Android source code and experimenting. I received feedback from tens of thousands of users and see various issues on different phones with different Android versions.</p>
<p>Here’s what I learned along the way.</p>
<p>Before reading this article, it’s recommended to go through <a href="https://localazy.com/blog/floating-windows-on-android-5-moving-window">Floating Windows on Android 5: Moving Window</a>.</p>
<p><strong>In this article, I will teach you how to allow keyboard input in the floating window.</strong></p>
<h2 id="almost-there" id="almost-there">Almost There <a class="markdownit-header-anchor" href="#almost-there">🔗</a></h2>
<p>In the previous articles, we created the main app, foreground service, and the floating window. We can even move the window around the screen. However, it’s still not possible to use it as the soft keyboard is not triggered, so it’s impossible to write any note.</p>
<p>Let’s solve this last issue so we can wrap everything nicely together to get the fully functional app in the next articles.</p>
<h2 id="whats-the-problem" id="whats-the-problem">What’s The Problem? <a class="markdownit-header-anchor" href="#whats-the-problem">🔗</a></h2>
<p>You may remember that in the fourth article about the floating window, we add a specific flag to <code>LayoutParams</code> for our window:</p>
<ul>
<li><code>FLAG_NOT_FOCUSABLE</code> - The window won’t ever get key input focus, so the user can not send key or other button events to it. Those will instead go to whatever focusable window is behind it.</li>
</ul>
<p>The description is pretty clear. When this flag is set, our window is not going to receive any keyboard inputs. However, when this flag is not set, the floating window interfere with the apps behind it, and make it impossible to use keyboard for them.</p>
<h2 id="the-solution" id="the-solution">The Solution <a class="markdownit-header-anchor" href="#the-solution">🔗</a></h2>
<p>Obviously, the solution is not that hard to find. We just need to enable and disable this flag at the right time.</p>
<p>Changing the flag is a pretty simple task. Here it goes:</p>
<pre><code class="language-kotlin">private fun enableKeyboard() {  
  if (windowParams.flags and WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE != 0) {  
    windowParams.flags = windowParams.flags and WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE.inv()  
    update()  
  }  
}  
  
private fun disableKeyboard() {  
  if (windowParams.flags and WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE == 0) {  
    windowParams.flags = windowParams.flags or WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE  
    update()  
  }  
}
</code></pre>
<h2 id="when-enabledisable" id="when-enabledisable">When Enable/Disable? <a class="markdownit-header-anchor" href="#when-enabledisable">🔗</a></h2>
<p>The logic is straightforward. When the window is activated  - the user clicks on it - we should enable the keyboard input. When the user clicks outside of the window, we should disable it. And that’s it.</p>
<h2 id="universal-solution" id="universal-solution">Universal Solution <a class="markdownit-header-anchor" href="#universal-solution">🔗</a></h2>
<p>For a universal solution across different window layouts, we subclass <code>LinearLayout</code> to create a container for our window.</p>
<p>Fortunately, we set another flag to <code>LayoutParams</code>:</p>
<ul>
<li><code>FLAG_WATCH_OUTSIDE_TOUCH</code> - Receive events for touches that occur outside of your window.</li>
</ul>
<p>So, with a custom <code>ViewContainer</code> we can monitor clicks both inside and outside the window. The full source code for such container is here:</p>
<pre><code class="language-kotlin">class WindowContentLayout : LinearLayout {  
  
  constructor(context: Context) : super(context)  
  constructor(context: Context, attrs: AttributeSet) : super(context, attrs)  
  constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super(context, attrs, defStyleAttr)  
  
  private var listener: ((activate: Boolean) -&gt; Unit)? = null  
  
  fun setListener(listener: (activate: Boolean) -&gt; Unit) {  
    this.listener = listener  
  }  
  
  override fun onTouchEvent(event: MotionEvent): Boolean {  
    if (event.action == MotionEvent.ACTION_DOWN) listener?.invoke(true)  
    if (event.action == MotionEvent.ACTION_OUTSIDE) listener?.invoke(false)  
    return super.onTouchEvent(event)  
  }  
  
  override fun onInterceptTouchEvent(event: MotionEvent): Boolean  {  
    if (event.action == MotionEvent.ACTION_DOWN) listener?.invoke(true)  
    if (event.action == MotionEvent.ACTION_OUTSIDE) listener?.invoke(false)  
    return super.onInterceptTouchEvent(event)  
  }  
  
}
</code></pre>
<p>Now, we have to use our subclassed <code>LinearLayout</code> in the <code>window.xml</code> - the layout for our window:</p>
<pre><code class="language-xml">&lt;com.localazy.quicknote.windows.WindowContentLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    android:orientation=&quot;vertical&quot;
    android:weightSum=&quot;1&quot;&gt;

    &lt;!-- The content of the window omitted for brevity. --&gt;

&lt;/com.localazy.quicknote.windows.WindowContentLayout&gt;
</code></pre>
<p>And as we know that the root element is always our <code>WindowContentLayout</code>, we can change the line where <code>rootView</code> is inflated to:</p>
<pre><code class="language-kotlin">private val rootView = layoutInflater.inflate(R.layout.window, null) as WindowContentLayout
</code></pre>
<p>With <code>rootView</code> being <code>WindowContentLayout</code>, we can react to the events and enable/disable the soft keyboard support as necessary:</p>
<pre><code class="language-kotlin">rootView.setListener {  
  if (it) {  
    enableKeyboard()  
  } else {  
    disableKeyboard()  
  }  
}
</code></pre>
<p>All events sent to the window are intercepted, and so it’s a fully universal solution working for all windows with any content.</p>
<h2 id="results" id="results">Results <a class="markdownit-header-anchor" href="#results">🔗</a></h2>
<p>Smooth! We can use the keyboard both for the normal app running behind our window as well as in our floating note.</p>
<iframe width="100%" height="360"
src="https://www.youtube.com/embed/iHNyBH_XhkU" 
frameborder="0" 
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" 
allowfullscreen></iframe>
<h2 id="source-code" id="source-code">Source Code <a class="markdownit-header-anchor" href="#source-code">🔗</a></h2>
<p>The whole source code for this article is <a href="https://github.com/vaclavhodek/quicknote_6">available on Github</a>.</p>
<h2 id="stay-tuned" id="stay-tuned">Stay Tuned <a class="markdownit-header-anchor" href="#stay-tuned">🔗</a></h2>
<p>Eager to learn more about Android development? Follow me (<a href="https://twitter.com/vaclavhodek">@vaclavhodek</a>) and Localazy (<a href="https://twitter.com/localazy">@localazy</a>) on Twitter, or like <a href="https://www.facebook.com/localazy">Localazy on Facebook</a>.</p>
<h2 id="the-series" id="the-series">The Series <a class="markdownit-header-anchor" href="#the-series">🔗</a></h2>
<p>This article is part of the <strong>Floating Windows on Android</strong> series.</p>
<ul>
<li><a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">Floating Windows on Android 1: Jetpack Compose &amp; Room</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-2-foreground-service">Floating Windows on Android 2: Foreground Service</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-3-permissions">Floating Windows on Android 3: Permissions</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-4-floating-window">Floating Windows on Android 4: Floating Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-5-moving-window">Floating Windows on Android 5: Moving Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-6-keyboard-input">Floating Windows on Android 6: Keyboard Input</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-7-boot-receiver">Floating Windows on Android 7: Boot Receiver</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-8-the-final-app">Floating Windows on Android 8: The Final App</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-9-shortcomings">Floating Windows on Android 9: Shortcomings</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-10-tips-and-tricks">Floating Windows on Android 10: Tips &amp; Tricks</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/d6f8014d-a6a6-4cb2-b9e2-60880b240d6f" length="0" type="image//assets/d6f8014d-a6a6-4cb2-b9e2-60880b240d6f"/>
        </item>
        <item>
            <title><![CDATA[#5 Floating Windows on Android: Moving Window]]></title>
            <link>https://localazy.com/blog/floating-windows-on-android-5-moving-window</link>
            <guid isPermaLink="false">floating-windows-on-android-5-moving-window</guid>
            <pubDate>Thu, 17 Sep 2020 20:10:12 GMT</pubDate>
            <description><![CDATA[Learn how to use floating windows in your Android apps. The fifth lesson teaches you how to make your windows movable.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you ever wondered how to make those floating windows used by Facebook Heads and other apps? Have you ever wanted to use the same technology in your app? It’s easy, and I will guide you through the whole process.</p>
<p>I’m the author of <a href="https://floatingapps.net">Floating Apps</a>; the first app of its kind on Google Play and the most popular one with over 8 million downloads. After 6 years of the development of the app, I know a bit about it. It’s sometimes tricky, and I spent months reading documentation and Android source code and experimenting. I received feedback from tens of thousands of users and see various issues on different phones with different Android versions.</p>
<p>Here’s what I learned along the way.</p>
<p>Before reading this article, it’s recommended to go through <a href="https://localazy.com/blog/floating-windows-on-android-4-floating-window">Floating Windows on Android 4: Floating Window</a>.</p>
<p><strong>In this article, I will teach you how to make the window movable by dragging its header.</strong></p>
<h2 id="updating-layout" id="updating-layout">Updating Layout <a class="markdownit-header-anchor" href="#updating-layout">🔗</a></h2>
<p>In the previous article, we introduced how to add views to <code>WindowManager</code> along with their <code>LayoutParams</code>. However, from the moment the window is added, changes made to <code>LayoutParams</code> are not reflected.</p>
<p>To apply changes, it’s necessary to call method <code>updateViewLayout</code> of <code>WindowManager</code>. Therefore, we need to implement two additional methods for our <code>Window</code> class for changing the window position.</p>
<pre><code class="language-kotlin">private fun setPosition(x: Int, y: Int) {  
  windowParams.x = x  
  windowParams.y = y  
  update()  
}  

private fun update() {  
  try {  
    windowManager.updateViewLayout(rootView, windowParams)  
  } catch (e: Exception) {  
    // Ignore exception for now, but in production, you should have some  
    // warning for the user here.  
  }  
}
</code></pre>
<p>Of course, the very same principle can be used to change the window’s size, opacity, etc.</p>
<h2 id="custom-ontouchlistener" id="custom-ontouchlistener">Custom OnTouchListener <a class="markdownit-header-anchor" href="#custom-ontouchlistener">🔗</a></h2>
<p>For moving the window, let’s implement a custom <code>OnTouchListener</code> that allows us to track the initial point’s movement. Also, let’s keep the basic functionality - clicks &amp; long-clicks - to work in the expected system-like way.</p>
<p>Our implementation doesn’t support multitouch, but it’s good enough to demonstrate how to move the window.</p>
<p>The source code of our new <code>DraggableTouchListener</code> is here:</p>
<pre><code class="language-kotlin">class DraggableTouchListener(
    context: Context,
    private val view: View,
    private val initialPosition: () -&gt; Point,
    private val positionListener: (x: Int, y: Int) -&gt; Unit
) : View.OnTouchListener {

  private val touchSlop = ViewConfiguration.get(context).scaledTouchSlop
  private val longClickInterval = ViewConfiguration.getLongPressTimeout()
  private var pointerStartX = 0
  private var pointerStartY = 0
  private var initialX = 0
  private var initialY = 0
  private var moving = false
  private var longClickPerformed = false
  private var timer: Timer? = null

  init {
    view.setOnTouchListener(this)
  }

  private fun scheduleLongClickTimer() {
    if (timer == null) {
      timer = Timer()
      timer?.schedule(timerTask {
          if (!moving &amp;&amp; !longClickPerformed) {
              view.post {
                  view.performLongClick()
              }
              longClickPerformed = true
          }
          cancelLongClickTimer()
      }, longClickInterval.toLong())
    }
  }

  private fun cancelLongClickTimer() {
    timer?.cancel()
    timer = null
  }

  override fun onTouch(view: View, motionEvent: MotionEvent): Boolean {

    when (motionEvent.action) {

        MotionEvent.ACTION_DOWN -&gt; {
            pointerStartX = motionEvent.rawX.toInt()
            pointerStartY = motionEvent.rawY.toInt()
            with(initialPosition()) {
                initialX = x
                initialY = y
            }
            moving = false
            longClickPerformed = false
            scheduleLongClickTimer()
        }

        MotionEvent.ACTION_MOVE -&gt; {
            if (!longClickPerformed) {
                val deltaX = motionEvent.rawX - pointerStartX
                val deltaY = motionEvent.rawY - pointerStartY
                if (moving || hypot(deltaX, deltaY) &gt; touchSlop) {
                    cancelLongClickTimer()
                    positionListener(initialX + deltaX.toInt(), initialY + deltaY.toInt())
                    moving = true
                }
            }
        }

        MotionEvent.ACTION_UP -&gt; {
            cancelLongClickTimer()
            if (!moving &amp;&amp; !longClickPerformed) {
                view.performClick()
            }
        }

    }

    return true
  }
  
}
</code></pre>
<p>We can add a bit of Kotlin magic - extension functions - to make it even easier to use:</p>
<pre><code class="language-kotlin">fun View.registerDraggableTouchListener(  
  initialPosition: () -&gt; Point,  
  positionListener: (x: Int, y: Int) -&gt; Unit  
) {  
  DraggableTouchListener(context, this, initialPosition, positionListener)  
}
</code></pre>
<p>Theoretically, you can move anything with code above - the view serves here as a trigger only.</p>
<h2 id="lets-get-the-window-movin" id="lets-get-the-window-movin">Let’s Get The Window Movin’ <a class="markdownit-header-anchor" href="#lets-get-the-window-movin">🔗</a></h2>
<p>Everything we need to do is to attach our newly created <code>DraggableTouchListener</code> to the view we want to be used as a handle for moving the window.</p>
<p>For desktop operating systems, the window’s title bar typically serves this purpose, so let’s follow the same trend:</p>
<pre><code class="language-kotlin">rootView.findViewById&lt;View&gt;(R.id.window_header).registerDraggableTouchListener(  
  initialPosition = { Point(windowParams.x, windowParams.y) },  
  positionListener = { x, y -&gt; setPosition(x, y) }  
)
</code></pre>
<p><strong>And that’s it!</strong></p>
<h2 id="boundaries" id="boundaries">Boundaries <a class="markdownit-header-anchor" href="#boundaries">🔗</a></h2>
<p>It would be necessary for the productional use to implement some boundaries, so the window can’t be moved out of the screen too much.</p>
<p>In Floating Apps, I allow the user to move 50% of the window outside the screen area.</p>
<h2 id="results" id="results">Results <a class="markdownit-header-anchor" href="#results">🔗</a></h2>
<p>Tap the window’s title bar and move it anywhere you want!</p>
<iframe width="100%" height="360"
src="https://www.youtube.com/embed/fyTKObr6ZUA" 
frameborder="0" 
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" 
allowfullscreen></iframe>
<h2 id="source-code" id="source-code">Source Code <a class="markdownit-header-anchor" href="#source-code">🔗</a></h2>
<p>The whole source code for this article is <a href="https://github.com/vaclavhodek/quicknote_5">available on Github</a>.</p>
<h2 id="stay-tuned" id="stay-tuned">Stay Tuned <a class="markdownit-header-anchor" href="#stay-tuned">🔗</a></h2>
<p>Eager to learn more about Android development? Follow me (<a href="https://twitter.com/vaclavhodek">@vaclavhodek</a>) and Localazy (<a href="https://twitter.com/localazy">@localazy</a>) on Twitter, or like <a href="https://www.facebook.com/localazy">Localazy on Facebook</a>.</p>
<h2 id="the-series" id="the-series">The Series <a class="markdownit-header-anchor" href="#the-series">🔗</a></h2>
<p>This article is part of the <strong>Floating Windows on Android</strong> series.</p>
<ul>
<li><a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">Floating Windows on Android 1: Jetpack Compose &amp; Room</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-2-foreground-service">Floating Windows on Android 2: Foreground Service</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-3-permissions">Floating Windows on Android 3: Permissions</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-4-floating-window">Floating Windows on Android 4: Floating Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-5-moving-window">Floating Windows on Android 5: Moving Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-6-keyboard-input">Floating Windows on Android 6: Keyboard Input</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-7-boot-receiver">Floating Windows on Android 7: Boot Receiver</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-8-the-final-app">Floating Windows on Android 8: The Final App</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-9-shortcomings">Floating Windows on Android 9: Shortcomings</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-10-tips-and-tricks">Floating Windows on Android 10: Tips &amp; Tricks</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/8a1f3162-fe10-4375-a3f0-87d9e611cc9a" length="0" type="image//assets/8a1f3162-fe10-4375-a3f0-87d9e611cc9a"/>
        </item>
        <item>
            <title><![CDATA[#4 Floating Windows on Android: Floating Window]]></title>
            <link>https://localazy.com/blog/floating-windows-on-android-4-floating-window</link>
            <guid isPermaLink="false">floating-windows-on-android-4-floating-window</guid>
            <pubDate>Thu, 17 Sep 2020 20:09:28 GMT</pubDate>
            <description><![CDATA[Learn how to use floating windows in your Android apps. The fourth lesson teaches you how to create actual floating windows and show them. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you ever wondered how to make those floating windows used by Facebook Heads and other apps? Have you ever wanted to use the same technology in your app? It’s easy, and I will guide you through the whole process.</p>
<p>I’m the author of <a href="https://floatingapps.net">Floating Apps</a>; the first app of its kind on Google Play and the most popular one with over 8 million downloads. After 6 years of the development of the app, I know a bit about it. It’s sometimes tricky, and I spent months reading documentation and Android source code and experimenting. I received feedback from tens of thousands of users and see various issues on different phones with different Android versions.</p>
<p>Here’s what I learned along the way.</p>
<p>Before reading this article, it’s recommended to go through <a href="https://localazy.com/blog/floating-windows-on-android-3-permissions">Floating Windows on Android 3: Permissions</a>.</p>
<p><strong>In this article, I will teach you how to show the actual floating window over other apps.</strong></p>
<h2 id="windowmanager" id="windowmanager">WindowManager <a class="markdownit-header-anchor" href="#windowmanager">🔗</a></h2>
<p><code>WindowManager</code> is an interface that the app can use for communication with the window manager.</p>
<p>And the window manager on Android handles everything you can see on the screen. Fortunately, it allows us to add and remove views directly, and if we add them with correct parameters, we have our floating windows!</p>
<pre><code class="language-kotlin">// Obtain WindowManager
val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager

// Add view
windowManager.addView(rootView, windowParams)

// Remove view
windowManager.removeView(rootView)
</code></pre>
<h2 id="layoutparams" id="layoutparams">LayoutParams <a class="markdownit-header-anchor" href="#layoutparams">🔗</a></h2>
<p>In the short source code sample above, we called <code>addView</code> with the second parameter being <code>windowParams</code> of type <code>WindowManager.LayoutParams</code>. What are the correct params?</p>
<p>Here it goes:</p>
<pre><code class="language-kotlin">private val windowParams = WindowManager.LayoutParams(  
  0,  // Width
  0,  // Height
  0,  // X position
  0,  // Y position
  if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.O) {  
    WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY  
  } else {  
    WindowManager.LayoutParams.TYPE_PHONE  
  },  
  WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS or  
            WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or  
            WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or  
            WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,  
  PixelFormat.TRANSLUCENT  
)
</code></pre>
<p>The first four parameters specify the position and size of the window. Usually, I tend to have layout params defined on class level, so I keep these four being zero and calculate them later. Technically, we can set them right in place, but I rather move this code outside of the variable assignment. For calculation, it’s possible to use something like this to consider also screen size:</p>
<pre><code class="language-kotlin">private fun getCurrentDisplayMetrics(): DisplayMetrics {  
    val dm = DisplayMetrics()  
    windowManager.defaultDisplay.getMetrics(dm)  
    return dm  
}

// Set LayoutParams for a window that is placed in the center
// of the screen. 
private fun calculateSizeAndPosition(  
  params: WindowManager.LayoutParams,  
  widthInDp: Int,  
  heightInDp: Int  
) {  
  val dm = getCurrentDisplayMetrics()  
  // We have to set gravity for which the calculated position is relative.  
  params.gravity = Gravity.TOP or Gravity.LEFT  
  params.width = (widthInDp * dm.density).toInt()  
  params.height = (heightInDp * dm.density).toInt()  
  params.x = (dm.widthPixels - params.width) / 2  
  params.y = (dm.heightPixels - params.height) / 2  
}
</code></pre>
<p>The next parameter is the type of window. This one is critical, and using the right type, we tell Android how it should treat our view. Before Android O, the recommended type was <code>WindowManager.LayoutParams.TYPE_PHONE</code>. There are other types, and it’s possible to mix them to achieve different priorities of windows. However, as it’s unavailable from Android O, I don’t recommend using it. From Android O, the recommended type is <code>WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY</code>, and other types fallback to it.</p>
<p>The next comes <code>flags</code>, and they are also critical as they tell Android how we want our window to be interacting with touches, buttons and key input.</p>
<ul>
<li><code>FLAG_LAYOUT_NO_LIMITS</code> - Allow window to extend outside of the screen. This one is optional, but I tend to use it and calculate limits on my own.</li>
<li><code>FLAG_NOT_FOCUSABLE</code> - The window won’t ever get key input focus, so the user can not send key or other button events to it. Those will instead go to whatever focusable window is behind it. This one is extremely important, because it allows us to control the apps behind the floating window.</li>
<li><code>FLAG_NOT_TOUCH_MODAL</code> - Allow any pointer events outside of the window to be sent to the windows behind it.</li>
<li><code>FLAG_WATCH_OUTSIDE_TOUCH</code> - Receive events for touches that occur outside of your window. This one will be important in the future.</li>
</ul>
<p>The last parameters is the pixel format. I recommend <code>PixelFormat.TRANSLUCENT</code>  as it tells Android to select a format that supports translucency. And having windows partly transparent is fun <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>.</p>
<h2 id="layout" id="layout">Layout <a class="markdownit-header-anchor" href="#layout">🔗</a></h2>
<p>Unfortunately, we can’t use Jetpack Compose for floating windows as we need just a view, and there is no activity and thus no lifecycle.</p>
<p>However, we can use old good layout XML. To use it, we need to get instance of the <code>LayoutInflater</code> and inflate the view:</p>
<pre><code class="language-kotlin">val layoutInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater

// The second parameter is null as we don't have any ViewGroup
// to attach our newly created view to. 
val rootView = layoutInflater.inflate(R.layout.window,  null)
</code></pre>
<p>For demonstrational purposes, let’s rely on <code>LinearLayout</code>. It nicely demonstrates how our window layout is structured. In Floating Apps, I use the base layout for the window and insert the content dynamically, but we can have just a single layout file as there is only one window type.</p>
<pre><code class="language-xml">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;  
&lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;  
  android:layout_width=&quot;match_parent&quot;  
  android:layout_height=&quot;match_parent&quot;  
  android:orientation=&quot;vertical&quot;  
  android:weightSum=&quot;1&quot;&gt;  
  
  &lt;LinearLayout android:id=&quot;@+id/window_header&quot;
    android:layout_width=&quot;match_parent&quot;  
    android:layout_height=&quot;wrap_content&quot;  
    android:background=&quot;@color/windowHeader&quot;  
    android:orientation=&quot;horizontal&quot;  
    android:weightSum=&quot;1&quot;&gt;  
  
    &lt;TextView android:id=&quot;@+id/window_title&quot;  
      android:layout_width=&quot;0dp&quot;  
      android:layout_height=&quot;wrap_content&quot;  
      android:layout_gravity=&quot;start|center_vertical&quot;  
      android:layout_weight=&quot;1&quot;  
      android:paddingStart=&quot;8dp&quot;  
      android:paddingTop=&quot;4dp&quot;  
      android:paddingEnd=&quot;8dp&quot;  
      android:paddingBottom=&quot;4dp&quot;  
      android:text=&quot;@string/add_note&quot;  
      android:textColor=&quot;@color/windowHeaderText&quot; /&gt;  
  
    &lt;ImageButton android:id=&quot;@+id/window_close&quot;  
      android:layout_width=&quot;24dp&quot;  
      android:layout_height=&quot;24dp&quot;  
      android:layout_gravity=&quot;end|center_vertical&quot;  
      android:layout_margin=&quot;4dp&quot;  
      android:background=&quot;?android:attr/selectableItemBackground&quot;  
      android:padding=&quot;0dp&quot;  
      android:src=&quot;@drawable/baseline_highlight_off_black_24&quot;  
      android:tint=&quot;@color/windowHeaderClose&quot;  
      android:tintMode=&quot;src_in&quot; /&gt;  
    
 &lt;/LinearLayout&gt;  
 
 &lt;LinearLayout android:id=&quot;@+id/window_content&quot;  
   android:layout_width=&quot;match_parent&quot;  
   android:layout_height=&quot;0dp&quot;  
   android:layout_weight=&quot;1&quot;  
   android:background=&quot;@color/windowBody&quot;  
   android:orientation=&quot;horizontal&quot;&gt;  
  
   &lt;EditText  android:id=&quot;@+id/content_text&quot;  
     android:layout_width=&quot;0dp&quot;  
     android:layout_height=&quot;wrap_content&quot;  
     android:layout_weight=&quot;1&quot; /&gt;  
  
   &lt;ImageButton  android:id=&quot;@+id/content_button&quot;  
     android:layout_width=&quot;32dp&quot;  
     android:layout_height=&quot;32dp&quot;  
     android:layout_gravity=&quot;end|center_vertical&quot;  
     android:layout_margin=&quot;4dp&quot;  
     android:background=&quot;?android:attr/selectableItemBackground&quot;  
     android:src=&quot;@drawable/baseline_send_black_24&quot;  
     android:tint=&quot;@color/windowSend&quot;  
     android:tintMode=&quot;src_in&quot; /&gt;  
  
  &lt;/LinearLayout&gt;  
  
&lt;/LinearLayout&gt;
</code></pre>
<p>I’m not good designer, so I just pick a few semi-random colors for the window design <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<pre><code class="language-xml">&lt;resources&gt;  
 &lt;color name=&quot;windowHeader&quot;&gt;#FF888888&lt;/color&gt;  
 &lt;color name=&quot;windowHeaderText&quot;&gt;#FFFFFFFF&lt;/color&gt;  
 &lt;color name=&quot;windowHeaderClose&quot;&gt;#FFEE7777&lt;/color&gt;  
 &lt;color name=&quot;windowBody&quot;&gt;#FFDDDDDD&lt;/color&gt;  
 &lt;color name=&quot;windowSend&quot;&gt;#FF448844&lt;/color&gt;  
&lt;/resources&gt;
</code></pre>
<p>And, voála, the result of my designing skill:</p>
<p><img src="https://content.localazy.com/quicknote_4/fa_window.png" alt="The window design"></p>
<h2 id="floating-window" id="floating-window">Floating Window <a class="markdownit-header-anchor" href="#floating-window">🔗</a></h2>
<p>We have prepared view, layout parameters, and window manager. Now, let’s put the code together, and our very first floating window is ready!</p>
<p>Let’s create <code>Window</code> class to encapsulate the whole logic. The full source code:</p>
<pre><code class="language-kotlin">class Window(private val context: Context) {

  private val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
  private val layoutInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
  private val rootView = layoutInflater.inflate(R.layout.window, null)

  private val windowParams = WindowManager.LayoutParams(
      0,
      0,
      0,
      0,
      if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.O) {
          WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
      } else {
          WindowManager.LayoutParams.TYPE_PHONE
      },
      WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS or
              WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or
              WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or
              WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
      PixelFormat.TRANSLUCENT
  )

  private fun getCurrentDisplayMetrics(): DisplayMetrics {
    val dm = DisplayMetrics()
    windowManager.defaultDisplay.getMetrics(dm)
    return dm
  }

  private fun calculateSizeAndPosition(
      params: WindowManager.LayoutParams,
      widthInDp: Int,
      heightInDp: Int
  ) {
    val dm = getCurrentDisplayMetrics()
    // We have to set gravity for which the calculated position is relative.
    params.gravity = Gravity.TOP or Gravity.LEFT
    params.width = (widthInDp * dm.density).toInt()
    params.height = (heightInDp * dm.density).toInt()
    params.x = (dm.widthPixels - params.width) / 2
    params.y = (dm.heightPixels - params.height) / 2
  }

  private fun initWindowParams() {
    calculateSizeAndPosition(windowParams, 300, 80)
  }

  private fun initWindow() {
    // Using kotlin extension for views caused error, so good old findViewById is used
    rootView.findViewById&lt;View&gt;(R.id.window_close).setOnClickListener { close() }
    rootView.findViewById&lt;View&gt;(R.id.content_button).setOnClickListener {
      Toast.makeText(context, &quot;Adding notes to be implemented.&quot;, Toast.LENGTH_SHORT).show()
    }
  }

  init {
    initWindowParams()
    initWindow()
  }

  fun open() {
    try {
      windowManager.addView(rootView, windowParams)
    } catch (e: Exception) {
      // Ignore exception for now, but in production, you should have some
      // warning for the user here.
    }
  }

  fun close() {
    try {
      windowManager.removeView(rootView)
    } catch (e: Exception) {
      // Ignore exception for now, but in production, you should have some
      // warning for the user here.
    }
  }

}
</code></pre>
<h2 id="floating-apps" id="floating-apps">Floating Apps <a class="markdownit-header-anchor" href="#floating-apps">🔗</a></h2>
<p>If you are interested in how complex the logic behind simple floating windows can get, there is a bit of the background from <a href="https://floatingapps.net">Floating Apps</a>.</p>
<p>There are many mini-apps. Each of them has a header file that contains the necessary information about it - localized name, internal identifier, icon, list of required permissions, launch preferences, window presets, etc. Headers files are kept in memory and used for listing available apps.</p>
<p>When the app is launched, the information from its header file is used to create the app’s instance and an instance of <code>Window</code>.</p>
<p>Each of the apps extends <code>Application</code> that provides a basic set of features for managing its lifecycle, defining menus, handling window size, position, minimizing, etc. Also, the <code>Application</code> class can automatically solve a lot of shortcomings in floating technology. I will teach you more about all these issues in one of the next articles.</p>
<p>Also, all running apps are registered with the global list of active windows, and that allows for many exciting features - listing all active apps, running some of them only once, reactivating running apps instead of rerunning them, cross-app state refreshing, etc.</p>
<p>As you can see, there can be a vast logic. As normal Android apps rely on the system to provide many of these features, I had to rewrite all of these features for Floating Apps from scratch.</p>
<h2 id="results-and-missing-pieces" id="results-missing-pieces">Results &amp; Missing Pieces <a class="markdownit-header-anchor" href="#results-and-missing-pieces">🔗</a></h2>
<p>As you can see in the animation below, we open our new floating window and even switch apps. The window is still there visible above them.</p>
<p>However, there are two main issues:</p>
<ul>
<li>The window stays in the center of the screen, and we can’t move it anywhere.</li>
<li>It’s not possible to type texts. The keyboard is not activated and doesn’t appear.</li>
</ul>
<p>We will address both of these problems in the next articles.</p>
<iframe width="100%" height="360"
src="https://www.youtube.com/embed/_vr_pVBcav4" 
frameborder="0" 
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" 
allowfullscreen></iframe>
<h2 id="source-code" id="source-code">Source Code <a class="markdownit-header-anchor" href="#source-code">🔗</a></h2>
<p>The whole source code for this article is <a href="https://github.com/vaclavhodek/quicknote_4">available on Github</a>.</p>
<h2 id="stay-tuned" id="stay-tuned">Stay Tuned <a class="markdownit-header-anchor" href="#stay-tuned">🔗</a></h2>
<p>Eager to learn more about Android development? Follow me (<a href="https://twitter.com/vaclavhodek">@vaclavhodek</a>) and Localazy (<a href="https://twitter.com/localazy">@localazy</a>) on Twitter, or like <a href="https://www.facebook.com/localazy">Localazy on Facebook</a>.</p>
<h2 id="the-series" id="the-series">The Series <a class="markdownit-header-anchor" href="#the-series">🔗</a></h2>
<p>This article is part of the <strong>Floating Windows on Android</strong> series.</p>
<ul>
<li><a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">Floating Windows on Android 1: Jetpack Compose &amp; Room</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-2-foreground-service">Floating Windows on Android 2: Foreground Service</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-3-permissions">Floating Windows on Android 3: Permissions</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-4-floating-window">Floating Windows on Android 4: Floating Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-5-moving-window">Floating Windows on Android 5: Moving Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-6-keyboard-input">Floating Windows on Android 6: Keyboard Input</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-7-boot-receiver">Floating Windows on Android 7: Boot Receiver</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-8-the-final-app">Floating Windows on Android 8: The Final App</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-9-shortcomings">Floating Windows on Android 9: Shortcomings</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-10-tips-and-tricks">Floating Windows on Android 10: Tips &amp; Tricks</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/1f2239c1-ab58-4606-af9f-54c5d8f03042" length="0" type="image//assets/1f2239c1-ab58-4606-af9f-54c5d8f03042"/>
        </item>
        <item>
            <title><![CDATA[#3 Floating Windows on Android: Permissions]]></title>
            <link>https://localazy.com/blog/floating-windows-on-android-3-permissions</link>
            <guid isPermaLink="false">floating-windows-on-android-3-permissions</guid>
            <pubDate>Thu, 17 Sep 2020 20:09:04 GMT</pubDate>
            <description><![CDATA[Learn how to use floating windows in your Android apps. The third lesson teaches you how to ask users for required permissions.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you ever wondered how to make those floating windows used by Facebook Heads and other apps? Have you ever wanted to use the same technology in your app? It’s easy, and I will guide you through the whole process.</p>
<p>I’m the author of <a href="https://floatingapps.net">Floating Apps</a>; the first app of its kind on Google Play and the most popular one with over 8 million downloads. After 6 years of the development of the app, I know a bit about it. It’s sometimes tricky, and I spent months reading documentation and Android source code and experimenting. I received feedback from tens of thousands of users and see various issues on different phones with different Android versions.</p>
<p>Here’s what I learned along the way.</p>
<p>Before reading this article, it’s recommended to go through <a href="https://localazy.com/blog/floating-windows-on-android-2-foreground-service">Floating Windows on Android 2: Foreground Service</a>.</p>
<p><strong>In this article, I will teach you how to ask users for special permission that is required for the floating technology to work.</strong></p>
<h2 id="systemalertwindow" id="system-alert-window">SYSTEM_ALERT_WINDOW <a class="markdownit-header-anchor" href="#systemalertwindow">🔗</a></h2>
<p>For the floating technology to work, we need to define <code>SYSTEM_ALERT_WINDOW</code> in <code>AndroidManifest.xml</code>. Adding this single line is enough:</p>
<pre><code class="language-xml">&lt;uses-permission android:name=&quot;android.permission.SYSTEM_ALERT_WINDOW&quot; /&gt;
</code></pre>
<p>This permission was initially meant to provide a mechanism for showing system windows – small notifications, error messages, call-in-progress overlays, etc. However, with a bit of effort, we can use it for our floating windows.</p>
<h2 id="draw-over-other-apps" id="draw-over-other-apps">Draw Over Other Apps <a class="markdownit-header-anchor" href="#draw-over-other-apps">🔗</a></h2>
<p>The previous step with altering <code>AndroidManifest.xml</code> is not enough. To show floating windows, we need special permission called <strong>Draw over other apps</strong>. On some phones, it may have a different name. For example, on some Xiaomi phones, it’s <strong>Popup permission</strong>.</p>
<p>As it’s special permission, we need to point the user to a particular screen in the phone’s settings and manually enable it. Fortunately, there is a way to check for the permission status to implement decent logic for requesting it from the user.</p>
<p>Keep in mind that anytime in the future, the permission may be revoked for the app and so it’s necessary to do periodic checks. For this reason, we create an activity to ask for permission. We can start this activity from anywhere - from other activities as well as from the foreground service.</p>
<p>First, let’s add two small helper methods for checking whether the permission is granted or not</p>
<pre><code class="language-kotlin">fun Context.drawOverOtherAppsEnabled(): Boolean {
  return if (Build.VERSION.SDK_INT &lt; Build.VERSION_CODES.M) {
    true
  } else {
    Settings.canDrawOverlays(this)
  }
}


fun Context.startPermissionActivity() {
  startActivity(
    Intent(this, PermissionActivity::class.java).apply {
      flags = Intent.FLAG_ACTIVITY_NEW_TASK
    }
  )
}
</code></pre>
<p>Using these two methods, we can add a check for permission into <code>onStartCommand</code> method of our <code>FloatingService</code> introduced in the previous article.</p>
<pre><code class="language-kotlin">override fun onStartCommand(intent: Intent, flags: Int, startId: Int): Int {
  // ...unrelated code omitted for brevity...
	
  // Show the floating window for adding a new note.
  if (command == INTENT_COMMAND_NOTE) {
    if (!drawOverOtherAppsEnabled()) {
      startPermissionActivity()
    } else {
      Toast.makeText(
        this,
        &quot;Floating window to be added in the next lessons.&quot;,
        Toast.LENGTH_SHORT
      ).show()
    }
  }
  
  return START_STICKY  
}
</code></pre>
<p>Of course, we need to add our new activity to the <code>AndroidManifest.xml</code>. No extra care is necessary.</p>
<pre><code class="language-xml">&lt;activity android:name=&quot;.PermissionActivity&quot; /&gt;
</code></pre>
<p>And finally, here goes the full source code of the permission activity:</p>
<pre><code class="language-kotlin">const val PERMISSION_REQUEST_CODE = 1

class PermissionActivity : AppCompatActivity() {

  private fun showDialog(titleText: String, messageText: String) {
    with(AlertDialog.Builder(this)) {
      title = titleText
      setMessage(messageText)
      setPositiveButton(R.string.common_ok) { dialog, _ -&gt;
        dialog.dismiss()
      }
      show()
    }
  }

  @RequiresApi(Build.VERSION_CODES.M)
  private fun requestPermission() {
    val intent = Intent(
      Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
      Uri.parse(&quot;package:$packageName&quot;)
    )
    try {
      startActivityForResult(intent, PERMISSION_REQUEST_CODE)
    } catch (e: Exception) {
      showDialog(
        getString(R.string.permission_error_title),
        getString(R.string.permission_error_text)
      )
    }
  }

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
      Column {

        Text(
          text = getString(R.string.permission_required_title),
          fontSize = 16.sp,
          fontWeight = FontWeight.Bold,
          modifier = Modifier.padding(16.dp, 16.dp, 16.dp, 8.dp)
        )

        Text(
          text = getString(R.string.permission_required_text),
          modifier = Modifier.padding(16.dp, 4.dp)
        )

        Button(
          onClick = {
            if (Build.VERSION.SDK_INT &lt; Build.VERSION_CODES.M) {
              finish()
            } else {
              requestPermission()
            }
          },
          modifier = Modifier.padding(16.dp, 8.dp)
        ) {
          Text(text = getString(R.string.permission_required_open))
        }

      }
    }
  }

  override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    // Don't check for resultCode == Activity.RESULT_OK because the overlay activity
    // is closed with the back button and so the RESULT_CANCELLED is always received.
    if (requestCode == PERMISSION_REQUEST_CODE) {
      if (drawOverOtherAppsEnabled()) {
        // The permission has been granted.
        // Resend the last command - we have only one, so no additional logic needed.
        startFloatingService(INTENT_COMMAND_NOTE)
        finish()
      }
    } else {
      super.onActivityResult(requestCode, resultCode, data)
    }
  }

}
</code></pre>
<h2 id="android-5-and-older" id="android-5-older">Android 5 &amp; Older <a class="markdownit-header-anchor" href="#android-5-and-older">🔗</a></h2>
<p>Everything described above is valid on Android 6 and newer. On Android 5 and older devices, there is no mechanism for obtaining the state of the permission nor the standard mechanism for asking the user to grant it.</p>
<p>Based on my experience, on the majority of older devices, permission is enabled by default. Also, Android 5 is now obsolete enough, so it’s not a concern.</p>
<p>The very first version of Floating Apps was developed for then recent Android 2.3.3, and before Android 6 took over, it was a bit of pain for us <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<h2 id="unsupported-devices" id="unsupported-devices">Unsupported Devices <a class="markdownit-header-anchor" href="#unsupported-devices">🔗</a></h2>
<p>On a few devices, this permission is not accessible and can only be enabled through ADB. The same situation applies to some custom ROMs.</p>
<p>Also, on some specific devices such as Android TV boxes, this permission may not be available at all, and the floating technology won’t work.</p>
<p>However, this is my experience gathered from running Floating Apps on about 11.000 different devices, and there is mostly no problem with <strong>Draw over other apps</strong>. So don’t worry much about it.</p>
<h2 id="results" id="results">Results <a class="markdownit-header-anchor" href="#results">🔗</a></h2>
<p>The animation below demonstrates how permission is acquired.</p>
<iframe width="100%" height="360"
src="https://www.youtube.com/embed/oQIY4mrVLQs" 
frameborder="0" 
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" 
allowfullscreen></iframe>
<h2 id="source-code" id="source-code">Source Code <a class="markdownit-header-anchor" href="#source-code">🔗</a></h2>
<p>The whole source code for this article is <a href="https://github.com/vaclavhodek/quicknote_3">available on Github</a>.</p>
<h2 id="stay-tuned" id="stay-tuned">Stay Tuned <a class="markdownit-header-anchor" href="#stay-tuned">🔗</a></h2>
<p>Eager to learn more about Android development? Follow me (<a href="https://twitter.com/vaclavhodek">@vaclavhodek</a>) and Localazy (<a href="https://twitter.com/localazy">@localazy</a>) on Twitter, or like <a href="https://www.facebook.com/localazy">Localazy on Facebook</a>.</p>
<h2 id="the-series" id="the-series">The Series <a class="markdownit-header-anchor" href="#the-series">🔗</a></h2>
<p>This article is part of the <strong>Floating Windows on Android</strong> series.</p>
<ul>
<li><a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">Floating Windows on Android 1: Jetpack Compose &amp; Room</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-2-foreground-service">Floating Windows on Android 2: Foreground Service</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-3-permissions">Floating Windows on Android 3: Permissions</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-4-floating-window">Floating Windows on Android 4: Floating Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-5-moving-window">Floating Windows on Android 5: Moving Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-6-keyboard-input">Floating Windows on Android 6: Keyboard Input</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-7-boot-receiver">Floating Windows on Android 7: Boot Receiver</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-8-the-final-app">Floating Windows on Android 8: The Final App</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-9-shortcomings">Floating Windows on Android 9: Shortcomings</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-10-tips-and-tricks">Floating Windows on Android 10: Tips &amp; Tricks</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/19c823df-1215-4a9b-8171-d6a51ebcd0f2" length="0" type="image//assets/19c823df-1215-4a9b-8171-d6a51ebcd0f2"/>
        </item>
        <item>
            <title><![CDATA[#2 Floating Windows on Android: Foreground Service]]></title>
            <link>https://localazy.com/blog/floating-windows-on-android-2-foreground-service</link>
            <guid isPermaLink="false">floating-windows-on-android-2-foreground-service</guid>
            <pubDate>Thu, 17 Sep 2020 20:08:02 GMT</pubDate>
            <description><![CDATA[Learn how to use floating windows in your Android apps. The second lesson teaches you how to create a long-running foreground service. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you ever wondered how to make those floating windows used by Facebook Heads and other apps? Have you ever wanted to use the same technology in your app? It’s easy, and I will guide you through the whole process.</p>
<p>I’m the author of <a href="https://floatingapps.net">Floating Apps</a>; the first app of its kind on Google Play and the most popular one with over 8 million downloads. After 6 years of the development of the app, I know a bit about it. It’s sometimes tricky, and I spent months reading documentation and Android source code and experimenting. I received feedback from tens of thousands of users and see various issues on different phones with different Android versions.</p>
<p>Here’s what I learned along the way.</p>
<p>Before reading this article, it’s recommended to go through <a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">Floating Windows on Android 1: Jetpack Compose &amp; Room</a>.</p>
<p><strong>In this article, I teach you how to build the long-running foreground service that is necessary for floating windows and what are the limitations.</strong></p>
<h2 id="the-service" id="the-service">The Service <a class="markdownit-header-anchor" href="#the-service">🔗</a></h2>
<p>For the floating technology, it’s necessary to have <a href="https://developer.android.com/guide/components/services">Service</a> and not <a href="https://developer.android.com/guide/components/activities/intro-activities">Activity</a>. Android can have only one <code>Activity</code> in the foreground and so if we use <code>Activity</code>, other apps would be paused or restarted. And that’s not the desired behavior - we want not to interrupt the current task in any way.</p>
<p>Standard Android services are not designed for long-running operations. They are rather designed to do a task in the background and finish.</p>
<p>To avoid our <code>Service</code> from being killed by the Android system, it’s better to use a foreground service.</p>
<p>For our specific simple app, we use a service that is always running and renders a permanent notification. For your app, having the service running only when there are some floating windows active may be a better approach.</p>
<p>The magic is hidden in the overriding <code>onStartCommand</code> method and returning <code>START_STICKY</code> and <code>START_NOT_STICKY</code> correctly. The source code for this is shown below in this article.</p>
<h2 id="the-limitations" id="the-limitations">The Limitations <a class="markdownit-header-anchor" href="#the-limitations">🔗</a></h2>
<h3 id="show-notification" id="show-notification">Show Notification <a class="markdownit-header-anchor" href="#show-notification">🔗</a></h3>
<p>A foreground service must show permanent/foreground notification shortly after the service is launched. If we fail to do so, the app is terminated.</p>
<p>On some devices, this may cause occasional crashes as the process may take a bit longer than the hard-coded interval.</p>
<p>Be sure to show the foreground notification as the first thing. The source code for this is shown below in this article.</p>
<p>Also, some users simply dislike the permanent notification being shown, but there is a little we can do about it. They can, on some devices, hide the notification in the phone’s Settings.</p>
<h3 id="killed-on-some-devices" id="killed-on-some-devices">Killed On Some Devices <a class="markdownit-header-anchor" href="#killed-on-some-devices">🔗</a></h3>
<p>On some phones and tablets, it’s impossible to avoid the services from being killed thanks to the vendors who are integrating aggressive memory and process management.</p>
<p>There is an excellent website on this topic: <a href="https://dontkillmyapp.com/">Don’t kill my app!</a></p>
<h2 id="the-permission" id="the-permission">The Permission <a class="markdownit-header-anchor" href="#the-permission">🔗</a></h2>
<p>From Android API level 28, extra permission is necessary for foreground services. Add the line below to your <code>AndroidManifest.xml</code>:</p>
<pre><code class="language-xml">&lt;uses-permission android:name=&quot;android.permission.FOREGROUND_SERVICE&quot; /&gt;
</code></pre>
<h2 id="the-notification" id="the-notification">The Notification <a class="markdownit-header-anchor" href="#the-notification">🔗</a></h2>
<p>From Android O, a permanent notification is required, and with all the experience, I would recommend to use it for older versions too to prevent the service from being killed by Android.</p>
<p>The full source code for the foreground notification, including the code for stopping the service:</p>
<pre><code class="language-kotlin">/**  
 * Remove the foreground notification and stop the service. 
 */
private fun stopService() {  
  stopForeground(true)  
  stopSelf()  
}

/**
 * Create and show the foreground notification.
 */
private fun showNotification() {

  val manager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager

  val exitIntent = Intent(this, FloatingService::class.java).apply {
    putExtra(INTENT_COMMAND, INTENT_COMMAND_EXIT)
  }

  val noteIntent = Intent(this, FloatingService::class.java).apply {
    putExtra(INTENT_COMMAND, INTENT_COMMAND_NOTE)
  }

  val exitPendingIntent = PendingIntent.getService(
    this, CODE_EXIT_INTENT, exitIntent, 0
  )

  val notePendingIntent = PendingIntent.getService(
    this, CODE_NOTE_INTENT, noteIntent, 0
  )

  // From Android O, it's necessary to create a notification channel first.
  if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.O) {
    try {
      with(
        NotificationChannel(
          NOTIFICATION_CHANNEL_GENERAL,
          getString(R.string.notification_channel_general),
          NotificationManager.IMPORTANCE_DEFAULT
        )
      ) {
        enableLights(false)
        setShowBadge(false)
        enableVibration(false)
        setSound(null, null)
        lockscreenVisibility = Notification.VISIBILITY_PUBLIC
        manager.createNotificationChannel(this)
      }
    } catch (ignored: Exception) {
      // Ignore exception.
    }
  }

  with(
    NotificationCompat.Builder(
      this,
      NOTIFICATION_CHANNEL_GENERAL
    )
  ) {
    setTicker(null)
    setContentTitle(getString(R.string.app_name))
    setContentText(getString(R.string.notification_text))
    setAutoCancel(false)
    setOngoing(true)
    setWhen(System.currentTimeMillis())
    setSmallIcon(R.drawable.ic_launcher_foreground)
    priority = Notification.PRIORITY_DEFAULT
    setContentIntent(notePendingIntent)
    addAction(
      NotificationCompat.Action(
        0,
        getString(R.string.notification_exit),
        exitPendingIntent
      )
    )
    startForeground(CODE_FOREGROUND_SERVICE, build())
  }
    
}
</code></pre>
<p>Our notification is permanent and cannot be cancelled. It’s clickable and when clicked, it invokes <strong>INTENT_COMMAND_NOTE</strong> command. Also, the notification has the exit action to invoke <strong>INTENT_COMMAND_EXIT</strong>.</p>
<h2 id="onstartcommand" id="onstartcommand">OnStartCommand <a class="markdownit-header-anchor" href="#onstartcommand">🔗</a></h2>
<p>As mentioned above, the magic behavior of the service is hidden inside <code>onStartCommand</code>. It’s simple:</p>
<pre><code class="language-kotlin">override fun onStartCommand(intent: Intent, flags: Int, startId: Int): Int {

  val command = intent.getStringExtra(INTENT_COMMAND) ?: &quot;&quot;

  // Exit the service if we receive the EXIT command.
  // START_NOT_STICKY is important here, we don't want 
  // the service to be relaunched. 
  if (command == INTENT_COMMAND_EXIT) {
    stopService()
    return START_NOT_STICKY
  }

  // Be sure to show the notification first for all commands.
  // Don't worry, repeated calls have no effects.
  showNotification()

  // Show the floating window for adding a new note.
  if (command == INTENT_COMMAND_NOTE) {
    Toast.makeText(
      this, 
      &quot;Floating window to be added in the next lessons.&quot;, 
      Toast.LENGTH_SHORT
    ).show()
  }
    
  return START_STICKY
}
</code></pre>
<h2 id="service-and-androidmanifest" id="service-androidmanifest">Service &amp; AndroidManifest <a class="markdownit-header-anchor" href="#service-and-androidmanifest">🔗</a></h2>
<p>For our service, we need a record in <code>AndroidManifest.xml</code> file.</p>
<pre><code class="language-kotlin">&lt;service  
  android:name=&quot;.FloatingService&quot;  
  android:excludeFromRecents=&quot;true&quot;  
  android:exported=&quot;false&quot;  
  android:label=&quot;@string/app_name&quot;  
  android:roundIcon=&quot;@mipmap/ic_launcher_round&quot;
  android:stopWithTask=&quot;false&quot; /&gt;
</code></pre>
<p><strong>Explanation of parameters above:</strong></p>
<ul>
<li><code>android:excludeFromRecents</code> - Don’t show the service in <em>Recent items</em> screen.</li>
<li><code>android:exported</code> - There is no reason for the service to be accessible from outside the app.</li>
<li><code>android:stopWithTask</code> - Don’t stop the service when the app is terminated, e.g. swiped out of the <em>Recent items</em> screen.</li>
</ul>
<h2 id="start-service" id="start-service">Start Service <a class="markdownit-header-anchor" href="#start-service">🔗</a></h2>
<p>For starting the service, let’s create a small helper method. We need to handle the requirement for Android O and above - to use <code>startForegroundService</code> instead of  <code>startService</code>.</p>
<pre><code class="language-kotlin">fun Context.startFloatingService(command: String = &quot;&quot;) {  

  val intent = Intent(this, FloatingService::class.java)  
  if (command.isNotBlank()) {
    intent.putExtra(INTENT_COMMAND, command)  
  }
  
  if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.O) {  
    this.startForegroundService(intent)  
  } else {  
    this.startService(intent)  
  }  
  
}
</code></pre>
<p>In one of the following articles, we will learn how to start our service when the device boot, but for the time being, let’s stick with starting the service when the main app is launched. For this, we just add a single line to our existing <code>MainActivity</code>’s <code>onCreate</code> method.</p>
<pre><code class="language-kotlin">override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)

  // Start the foreground service.
  startFloatingService()

  // ... the rest of the code ...
  
}
</code></pre>
<h2 id="multi-process-approach" id="multi-process-approach">Multi Process Approach <a class="markdownit-header-anchor" href="#multi-process-approach">🔗</a></h2>
<p>If your floating service is heavy and may cause occasional crashes, you may want to separate it from your app.</p>
<p>You can use <code>android:multiprocess</code> in your <code>AndroidManifest.xml</code> and separate your activities from the service by running them in a different process.</p>
<p>However, keep in mind that using more processes involves extra effort for synchronizing state as activities, and the service would no longer share memory.</p>
<h2 id="localization" id="localization">Localization <a class="markdownit-header-anchor" href="#localization">🔗</a></h2>
<p>Above, we added new strings <code>notification_channel_general</code>, <code>notification_text</code> and <code>notification_exit</code>, so be sure to run the Gradle task <code>uploadStrings</code> to upload your translations to the <a href="https://localazy.com">Localazy platform</a> for translating.</p>
<p><strong>A minute after I uploaded my 11 strings, 6 of them are ready in 80 languages!</strong></p>
<p>More information on the importance of app localization was described in <a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">Floating Windows on Android 1: Jetpack Compose &amp; Room</a>.</p>
<h2 id="results" id="results">Results <a class="markdownit-header-anchor" href="#results">🔗</a></h2>
<p>The animation below demonstrates how the permanent notification is shown when the main app is launched and remains active even if the main app is removed from the <code>Recent items</code> screen.</p>
<iframe width="100%" height="360"
src="https://www.youtube.com/embed/7YpkNxBlqLI" 
frameborder="0" 
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" 
allowfullscreen></iframe>
<h2 id="source-code" id="source-code">Source Code <a class="markdownit-header-anchor" href="#source-code">🔗</a></h2>
<p>The whole source code for this article is <a href="https://github.com/vaclavhodek/quicknote_2">available on Github</a>.</p>
<h2 id="stay-tuned" id="stay-tuned">Stay Tuned <a class="markdownit-header-anchor" href="#stay-tuned">🔗</a></h2>
<p>Eager to learn more about Android development? Follow me (<a href="https://twitter.com/vaclavhodek">@vaclavhodek</a>) and Localazy (<a href="https://twitter.com/localazy">@localazy</a>) on Twitter, or like <a href="https://www.facebook.com/localazy">Localazy on Facebook</a>.</p>
<h2 id="the-series" id="the-series">The Series <a class="markdownit-header-anchor" href="#the-series">🔗</a></h2>
<p>This article is part of the <strong>Floating Windows on Android</strong> series.</p>
<ul>
<li><a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">Floating Windows on Android 1: Jetpack Compose &amp; Room</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-2-foreground-service">Floating Windows on Android 2: Foreground Service</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-3-permissions">Floating Windows on Android 3: Permissions</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-4-floating-window">Floating Windows on Android 4: Floating Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-5-moving-window">Floating Windows on Android 5: Moving Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-6-keyboard-input">Floating Windows on Android 6: Keyboard Input</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-7-boot-receiver">Floating Windows on Android 7: Boot Receiver</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-8-the-final-app">Floating Windows on Android 8: The Final App</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-9-shortcomings">Floating Windows on Android 9: Shortcomings</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-10-tips-and-tricks">Floating Windows on Android 10: Tips &amp; Tricks</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/40eab167-9569-42a8-b46d-fa2182cfdc12" length="0" type="image//assets/40eab167-9569-42a8-b46d-fa2182cfdc12"/>
        </item>
        <item>
            <title><![CDATA[#1 Floating Windows on Android: Jetpack Compose & Room]]></title>
            <link>https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-room</link>
            <guid isPermaLink="false">floating-windows-on-android-1-jetpack-compose-room</guid>
            <pubDate>Thu, 17 Sep 2020 08:27:06 GMT</pubDate>
            <description><![CDATA[Learn how to use floating windows in your Android apps. The first lesson teaches you how to build the main app using Jetpack Compose and Room.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Have you ever wondered how to make those floating windows used by Facebook Heads and other apps? Have you ever wanted to use the same technology in your app? It’s easy, and I will guide you through the whole process.</p>
<p>I’m the author of <a href="https://floatingapps.net">Floating Apps</a>; the first app of its kind on Google Play and the most popular one with over 8 million downloads. After 6 years of the development of the app, I know a bit about it. It’s sometimes tricky, and I spent months reading documentation and Android source code and experimenting. I received feedback from tens of thousands of users and see various issues on different phones with different Android versions.</p>
<p>Here’s what I learned along the way.</p>
<p><strong>In this article, I teach you how to build the simple main app with Jetpack Compose and Room.</strong></p>
<h2 id="the-idea" id="the-idea">The Idea <a class="markdownit-header-anchor" href="#the-idea">🔗</a></h2>
<p>We need an idea to apply floating technology. Let’s build an app that allows taking quick notes. That’s a perfect case. For writing a fast note, you usually don’t want to leave your current task.</p>
<p>Let’s implement it as a long-running service with a permanent notification - always ready to serve whenever needed. The user taps our notification and starts adding notes.</p>
<p>For your app, you can change this behavior. There is no need for long-running services.</p>
<h2 id="the-main-app" id="the-main-app">The Main App <a class="markdownit-header-anchor" href="#the-main-app">🔗</a></h2>
<p>Well, we need to start from the very begging. Let’s build the main app first. It allows us to showcase the integration process in a real-life scenario.</p>
<p>I decided to use <a href="https://kotlinlang.org">Kotlin</a>, <a href="https://developer.android.com/jetpack/compose">Jetpack Compose</a> and <a href="https://developer.android.com/topic/libraries/architecture/room">Room</a>, and build a very simple notes taking app.</p>
<p>Btw, you need to install Android Studio Canary as Jetpack Compose, at this moment, is not available in stable builds.</p>
<h2 id="room" id="room">Room <a class="markdownit-header-anchor" href="#room">🔗</a></h2>
<p>The <a href="https://developer.android.com/training/data-storage/room">Room</a> persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.</p>
<p>Let’s start with a simple entity for our notes:</p>
<pre><code class="language-kotlin">@Entity  
data class Note(  
  @PrimaryKey val id: Int,  
  @ColumnInfo(name = &quot;content&quot;) val content: String  
)
</code></pre>
<p>And corresponding DAO:</p>
<pre><code class="language-kotlin">@Dao  
interface NotesDao {  
  
  @Query(&quot;SELECT * FROM note&quot;)  
  fun getAll(): List&lt;Note&gt;  
  
  @Insert  
  fun insert(note: Note)  
  
  @Delete  
  fun delete(note: Note)  
  
}
</code></pre>
<p>And the last missing piece for accessing our data is <code>AppDatabase</code> class. Again, it’s very simple:</p>
<pre><code class="language-kotlin">@Database(entities = arrayOf(Note::class), version = 1)  
abstract class AppDatabase : RoomDatabase() {  
  
  abstract fun notes(): NotesDao  
  
}
</code></pre>
<h2 id="viewmodel" id="viewmodel">ViewModel <a class="markdownit-header-anchor" href="#viewmodel">🔗</a></h2>
<p>Now, make our data accessible through <code>ViewModel</code> with <code>MutableState</code> for Jetpack Compose. Changing the <code>notes</code> variable automatically run recomposition of <code>@Composable</code>’s that use it.</p>
<p>Room is accessed using <a href="https://kotlinlang.org/docs/reference/coroutines-overview.html">Kotlin Coroutines</a> as we can’t invoke calls to SQLite on the main thread. However, only the basic approach is used as more complex scenarios are out of the scope of this article.</p>
<pre><code class="language-kotlin">class NotesViewModel(application: Application) : AndroidViewModel(application) {  
  
  private val db = Room.databaseBuilder(  
    application.applicationContext,  
    AppDatabase::class.java,  
    &quot;db-notes&quot;  
  ).build()  
  
  var notes by mutableStateOf(listOf&lt;Note&gt;())  
    private set  
    
  // Load initial data from Room asynchronously.  
  init {  
    GlobalScope.launch {  
      val items = db.notes().getAll()  
      viewModelScope.launch { notes = items }  
    }  
  }  
  
  fun addNote(note: String) {  
    // Generate ID in a simple way - from timestamp.  
    val noteObj = Note(
      (System.currentTimeMillis() % Int.MAX_VALUE).toInt(), 
      note
    )  
    notes = notes + listOf(noteObj)  
    GlobalScope.launch { db.notes().insert(noteObj) }  
  }  
  
  fun removeNote(note: Note) {  
    notes = notes - listOf(note)  
    GlobalScope.launch { db.notes().delete(note) }  
  }  
  
}
</code></pre>
<h2 id="composables" id="composables">Composables <a class="markdownit-header-anchor" href="#composables">🔗</a></h2>
<p>Again, keep things simple and create just two complex <code>@Composable</code>’s - one for adding notes and the second for listing and deleting them.</p>
<h3 id="addnote-composable" id="addnote-composable">AddNote Composable <a class="markdownit-header-anchor" href="#addnote-composable">🔗</a></h3>
<p>Just a text field with a plus button. Nothing more.</p>
<pre><code class="language-kotlin">@Composable
fun AddNote(title: String, onNoteAdded: (String) -&gt; Unit) {
  Row {
    val text = remember { mutableStateOf(TextFieldValue(&quot;&quot;)) }
    TextField(
        value = text.value,
        onValueChange = { text.value = it },
        label = { Text(title) },
        modifier = Modifier
            .weight(1f, true)
            .padding(16.dp, 16.dp, 8.dp, 16.dp)
    )
    Button(
        onClick = {
            val newNote = text.value.text
            if (newNote.isNotBlank()) {
                onNoteAdded(newNote)
                text.value = TextFieldValue(&quot;&quot;)
            }
        },
        modifier = Modifier
            .padding(8.dp, 16.dp, 16.dp, 16.dp)
            .gravity(Alignment.CenterVertically)
    ) {
      Icon(
          asset = Icons.Filled.Add,
          modifier = Modifier.size(24.dp)
      )
    }
  }
}
</code></pre>
<h3 id="shownotes-composable" id="shownotes-composable">ShowNotes Composable <a class="markdownit-header-anchor" href="#shownotes-composable">🔗</a></h3>
<p>Composable <code>LazyColumnFor</code> lists all our notes automatically and when <code>items</code> comes from the view model, updates it whenever changed.</p>
<pre><code class="language-Kotlin">@Composable
fun ShowNotes(items: List&lt;Note&gt;, onNodeRemoved: (Note) -&gt; Unit) {
  LazyColumnFor(items = items) {
    Row {
      Text(
        text = it.content,
        modifier = Modifier
          .padding(16.dp, 4.dp, 4.dp, 4.dp)
          .weight(1f, true)
          .gravity(Alignment.CenterVertically)
      )
      TextButton(
        onClick = {
          onNodeRemoved(it)
        },
        contentPadding = InnerPadding(0.dp),
        modifier = Modifier
          .padding(4.dp, 4.dp, 16.dp, 4.dp)
          .gravity(Alignment.CenterVertically)
      ) {
        Icon(
          asset = Icons.Filled.Delete,
          modifier = Modifier.size(24.dp)
        )
      }
    }
  }
}
</code></pre>
<h2 id="activity-the-glue" id="activity-the-glue">Activity - The Glue <a class="markdownit-header-anchor" href="#activity-the-glue">🔗</a></h2>
<p>Our <code>MainActivity</code> just glues all the code above together and displays our two composables.</p>
<pre><code class="language-kotlin">class MainActivity : AppCompatActivity() {

  private val notesViewModel by viewModels&lt;NotesViewModel&gt;()

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
      Column {

        AddNote(getString(R.string.add_note)) {
          notesViewModel.addNote(it)
        }

        ShowNotes(notesViewModel.notes) {
          notesViewModel.removeNote(it)
        }

      }
    }
  }

}
</code></pre>
<h2 id="localization" id="localization">Localization <a class="markdownit-header-anchor" href="#localization">🔗</a></h2>
<p>As you can notice in the previous chapter, I get the title for <code>AddNote</code> using <code>getString(...)</code>. It’s an extremely useful practice to prepare your app for localization from the begging.</p>
<p>I’m from the Czech Republic, a small country from the heart of Europe. We have our own language, and people here use it proudly. Many of them don’t speak English at all.</p>
<p>For this reason, I’m used to preparing my app for more languages. <strong>Btw, <a href="https://floatingapps.net">Floating Apps</a> is available in 30 languages, and it helped me to skyrocket it to where it is.</strong></p>
<p>In our sample app, and you can notice it in the source code, I use <a href="https://localazy.com/android">Localazy</a> by including lines below in my root build.gradle:</p>
<pre><code class="language-groovy">repositories {  
  maven { url &quot;https://maven.localazy.com/repository/release/&quot; }  
}  

dependencies {  
  classpath &quot;com.localazy:gradle:1.5.2&quot;  
}
</code></pre>
<p>And in my app’s build.gradle:</p>
<pre><code class="language-groovy">apply plugin: 'com.localazy.gradle'

localazy {  
  readKey &quot;a8922414862262844150-...&quot;  
  writeKey &quot;a8922414862262844150-...&quot;  
}
</code></pre>
<p>And that’s enough. Nothing else is necessary for me to manage my strings using <a href="https://localazy.com">Localazy translation management</a> for free. <strong>Updated translations and even new languages are delivered online without re-submitting the app to Play Store.</strong></p>
<p>Also, Localazy comes with shared translations – you can share your translations with other apps and get your app translated to 80 languages for free. <strong>A minute after I uploaded my strings, 50% of my app is available in 80 languages!</strong></p>
<h2 id="results" id="results">Results <a class="markdownit-header-anchor" href="#results">🔗</a></h2>
<p>And here goes our app - simple yet  fully working notes taking app.</p>
<iframe width="100%" height="360"
src="https://www.youtube.com/embed/-iT7rZU9jBg" 
frameborder="0" 
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" 
allowfullscreen></iframe>
<h2 id="source-code" id="source-code">Source Code <a class="markdownit-header-anchor" href="#source-code">🔗</a></h2>
<p>The whole source code for this article is <a href="https://github.com/vaclavhodek/quicknote_1">available on Github</a>.</p>
<h2 id="stay-tuned" id="stay-tuned">Stay Tuned <a class="markdownit-header-anchor" href="#stay-tuned">🔗</a></h2>
<p>Eager to learn more about Android development? Follow me (<a href="https://twitter.com/vaclavhodek">@vaclavhodek</a>) and Localazy (<a href="https://twitter.com/localazy">@localazy</a>) on Twitter, or like <a href="https://www.facebook.com/localazy">Localazy on Facebook</a>.</p>
<h2 id="the-series" id="the-series">The Series <a class="markdownit-header-anchor" href="#the-series">🔗</a></h2>
<p>This article is part of the <strong>Floating Windows on Android</strong> series.</p>
<ul>
<li><a href="https://localazy.com/blog/floating-windows-on-android-1-jetpack-compose-and-room">Floating Windows on Android 1: Jetpack Compose &amp; Room</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-2-foreground-service">Floating Windows on Android 2: Foreground Service</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-3-permissions">Floating Windows on Android 3: Permissions</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-4-floating-window">Floating Windows on Android 4: Floating Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-5-moving-window">Floating Windows on Android 5: Moving Window</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-6-keyboard-input">Floating Windows on Android 6: Keyboard Input</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-7-boot-receiver">Floating Windows on Android 7: Boot Receiver</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-8-the-final-app">Floating Windows on Android 8: The Final App</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-9-shortcomings">Floating Windows on Android 9: Shortcomings</a></li>
<li><a href="https://localazy.com/blog/floating-windows-on-android-10-tips-and-tricks">Floating Windows on Android 10: Tips &amp; Tricks</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/c84e7831-54d8-4c97-a193-aca2a7e74998" length="0" type="image//assets/c84e7831-54d8-4c97-a193-aca2a7e74998"/>
        </item>
        <item>
            <title><![CDATA[Is localization worth it? 5 key benefits of having your app localized into multiple languages]]></title>
            <link>https://localazy.com/blog/key-benefits-having-app-localized-multiple-languages</link>
            <guid isPermaLink="false">key-benefits-having-app-localized-multiple-languages</guid>
            <pubDate>Thu, 21 Aug 2025 14:01:25 GMT</pubDate>
            <description><![CDATA[There are millions of apps in the leading app stores, and you might be missing one aspect to make your app stand out. ]]></description>
            <content:encoded><![CDATA[<p>There are millions of programs in the leading app stores, and you might be missing one aspect to make your app stand out.</p><p>In the field of marketing, it is crucial to know and understand customers’ preferences. This way, you can generate apps that respond to the needs of your target audience. However, geographical locations and cultures can heavily influence consumers. Fortunately, localization software solutions modify your apps to make it more appealing to prospective users.</p><p>Localization provides a more in-depth approach than linguistic translation, and this process is an effective marketing strategy for developers. Even a single app developer can craft a globally-known platform through localization. This listicle emphasizes the importance of localization in business sector and shows the advantage that localization can provide to your company.</p><h2 id="active-user-retention">Active user retention <a class="markdownit-header-anchor" href="#active-user-retention">🔗</a></h2><p>Although the number of downloads is essential for every business, developers and owners should also focus on improving the app’s retention rate. This rate refers to the percentage of users who keep using the program after downloading it. If more people keep using your digital product, then there is a higher chance for in-app purchases. Fortunately, one of the benefits of localization is its ability to increase your app’s active users.</p><p>Due to this visible advantage, developers must take advantage of localization platforms. For instance, you can subscribe to a localization program that includes a <a href="/blog/invest-into-quality-app-translations">translation software tool</a>. You can then provide an improved customer experience for every user and observe five-star reviews for your app. As a result, prospective consumers can be influenced by high-rated reviews of your digital service. Through localization, you can have a loyal customer base while attracting new users.</p><h2 id="better-brand-image">Better brand image <a class="markdownit-header-anchor" href="#better-brand-image">🔗</a></h2><p>Localization in business offers a better brand image by adapting your program to the local culture of your target audience. This way, you can build rapport with prospective customers and build trust that encourages them to further interact with your company. Through this marketing strategy, you can create a sense of familiarity within your app, which influences people to use your program. Localization programs like <a href="https://reviews.financesonline.com/p/localazy/">Localazy</a> provide a consistent brand image to your customers, so there’s no loss of brand identity. Moreover, they help present apps that align with the preferences of your customers in different locations. Through this process, you can provoke positive emotional reactions from app users. These positive reactions then motivate customers to trust your business and purchase your products and services. With localization tools, you can achieve your app’s sales targets while maintaining a positive brand reputation.</p><h2 id="introduction-to-new-markets">Introduction to new markets <a class="markdownit-header-anchor" href="#introduction-to-new-markets">🔗</a></h2><p>If you want to expand your company’s market reach, you should consider using localization strategies for your app. When managers ask why is localization important for small businesses, one of the primary responses is its ability to introduce your program to a broader audience. Localization allows you to attract customers from a different geographic location without creating an entirely new platform. The system automatically adjusts some aspects of your app to integrate the consumers’ preferences into your brand.</p><p>For example, it is advisable to <a href="https://translation.financesonline.com/">consider a translation software for your business</a>, especially if you want to offer your app to the international market. This way, prospective customers can clearly understand your app’s contents. Thus, they will continue to use your program and share a good recommendation for your digital product.</p><h2 id="more-successful-advertising-campaigns">More successful advertising campaigns <a class="markdownit-header-anchor" href="#more-successful-advertising-campaigns">🔗</a></h2><p>Since app users will navigate your program for more extended periods, they will also be exposed to targeted ads. Thus, your business can experience a higher effective cost per mile (eCPM), an important metric in calculating ad campaigns’ success. This way, you can generate more revenue from promotional materials and improve your app’s monetization performance. Aside from improved ad revenue, a localization program also helps increase your app’s return on investment (ROI). For instance, a <a href="https://newzoo.com/insights/rankings/top-10-countries-by-game-revenues/">study by Newzoo</a> showed that this 2020, China is the leading country when it comes to game revenue. Chinese uses Mandarin as their official language, so if your company launches a game app that will be marketed into China, you need to present an app that speaks their primary language. This way, you can encourage more in-app purchases.</p><blockquote>🎙️ What drives SaaS growth? <a href="https://localazy.com/blog/s01-ep-01-bridging-the-gap-podcast">In episode one, Lukas Mehnert joined Jakub Dubec and Marta G. Coloma</a> to talk go-to-market strategy on Bridging the Gap.</blockquote><h2 id="stable-global-presence">Stable global presence <a class="markdownit-header-anchor" href="#stable-global-presence">🔗</a></h2><p>In an increasingly globalized world, it is essential to introduce your digital products to international markets. Through the benefits of localization in international business, even small companies can successfully launch an app for worldwide use. This way, you can gain a competitive advantage over top competitors and experience foreign investment opportunities. Hence, your brand can achieve a stable global presence, which brings more quality leads to your company and higher sales.</p><h2 id="develop-a-highly-successful-app-through-localization">Develop a highly successful app through localization <a class="markdownit-header-anchor" href="#develop-a-highly-successful-app-through-localization">🔗</a></h2><p>You might first think of localization as another worthless expense, but it offers long-lasting benefits for your brand by providing a good reputation for your company, even in international markets. It also enhances your app’s user retention rate, which paves the way for successful ad campaigns and higher sales. Lastly, localization software tools help your brand maintain a stable global presence.</p>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/60d10cb7-292e-4f15-b6b0-382fe43b5593" length="0" type="image//assets/60d10cb7-292e-4f15-b6b0-382fe43b5593"/>
        </item>
        <item>
            <title><![CDATA[Sharing asynchronous data between Nuxt.js modules]]></title>
            <link>https://localazy.com/blog/sharing-asynchronous-data-between-nuxtjs-modules</link>
            <guid isPermaLink="false">sharing-asynchronous-data-between-nuxtjs-modules</guid>
            <pubDate>Thu, 25 Jan 2024 11:09:40 GMT</pubDate>
            <description><![CDATA[If you've developed some sites in Nuxt.js, there's a decent chance that you've had to asynchronously fetch data during the generation. But, there are often times when several modules such as the internal route module, sitemap module, or the RSS feed module require the same data from the database. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Alas, there is no easy way to share the fetched data between the modules as they run in an isolated synchronous order. Or is there?</p>
<h2 id="behind-the-localazy-scenes" id="behind-the-localazy-scenes">Behind the Localazy scenes <a class="markdownit-header-anchor" href="#behind-the-localazy-scenes">🔗</a></h2>
<p>We’ve found ourselves in a spot where we generate dozens of dynamic routes and that kind of data has to be used for dynamic routes, sitemap generation, and the RSS feed for our blog posts. In truth, it’s already quite challenging to generate all the dynamic routes with each website update itself. Since the Nuxt v2.13 there is a <a href="https://nuxtjs.org/api/configuration-generate/#crawler">crawler</a> option that enables detection of all the reachable dynamic routes by crawling through the statically generated content. However, I’ve had mixed success with it, and doing it manually still seems like a safer option.</p>
<p>I will not go into much detail on how to fetch the data and generate all the dynamic routes. If you would like to know more, join us on <a href="https://discord.gg/CAVhHrh">Discord</a> and reach out to me. Anyways, once you have the data, the trick to share them lies in having access to the filesystem through <a href="https://github.com/jprichardson/node-fs-extra">fs-extra</a> within the Nuxt modules. So once you fetch the data, you can store them as a JSON file in the distribution folder.</p>
<h2 id="preparing-the-data" id="preparing-the-data">Preparing the data <a class="markdownit-header-anchor" href="#preparing-the-data">🔗</a></h2>
<p>In our case, we begin in our custom module for data retreival and route generation. One of the final parts of it looks as follows:</p>
<pre><code>const generateRoutes = (tablesToRoutes) =&gt; {
  const routes = [];
  Object.entries(tablesToRoutes).forEach((entry) =&gt; {
    const table = entry[0];
    entry[1].forEach((route) =&gt; {
      routes.push({
        route: table !== '' ? `/${table}/${route.route}` : `/${route.route}`,
        payload: route.payload
      });
    });
  });

  return routes;
};
</code></pre>
<p>Essentially, for each entry we resolve the proper route path, not important. The crucial part is this:</p>
<pre><code>payload: route.payload
</code></pre>
<p>We’re storing the whole object that we’ve fetched under payload property. The <code>route.payload</code> is manufactured in one of the previous steps.</p>
<p>Once we have this gigantic array of route objects, we can step in into the final <a href="https://nuxtjs.org/api/internals-generator#hooks">Nuxt’s generation hook</a> and store it as JSON.</p>
<pre><code>import fse from 'fs-extra'; // comes with Nuxt already

moduleContainer.nuxt.hook('generate:done', async () =&gt; {
    await fse.outputJson(`${this.nuxt.options.generate.dir}/routes.json`, routes, {
      spaces: 2,
      EOL: 'n'
    });
});
</code></pre>
<p>The above is quite self-explanatory, perhaps except for <code>this.nuxt.options.generate.dir</code>. When you read more about the Nuxt modules, you’ll find in which context is the code executed and this is just one of the properties you have access to by default.</p>
<h2 id="sharing-the-data" id="sharing-the-data">Sharing the data <a class="markdownit-header-anchor" href="#sharing-the-data">🔗</a></h2>
<p>Now when you run <code>npm run generate</code>, you’ll find in your distribution folder (<em>dist</em> by default) a file called <strong>routes.json</strong>. The file contains an array of the data we’ve fetched in the module, in our case one entry may look like this:</p>
<pre><code>...
{
  &quot;route&quot;: &quot;/blog/kotlin-mpp-and-http-with-wininet-api-on-windows&quot;,
  &quot;payload&quot;: {
    &quot;modified_on&quot;: &quot;2020-09-09T12:57:04+00:00&quot;,
    &quot;slug&quot;: &quot;kotlin-mpp-and-http-with-wininet-api-on-windows&quot;,
    &quot;priority&quot;: &quot;0.7&quot;,
    &quot;changefreq&quot;: &quot;monthly&quot;,
    ...
  }
},
...
</code></pre>
<p>That’s everything we need in the other modules, so there is absolutely no need to refetch anything <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/> Let’s show how to utilize this in the commonly used <a href="https://github.com/nuxt-community/sitemap-module">sitemap</a> module.</p>
<p>First, let’s modify the config in <code>nuxt.config.js</code>.</p>
<pre><code>  sitemap: {
    path: '/sitemap.xml',
    hostname: 'https://localazy.com',
    sitemaps: [
      {
        path: '/static.xml',
        routes: () =&gt; generateSitemap(this.default.generate.dir),
      },
  }
</code></pre>
<p>We’ll dive into the <code>generateSitemap</code> in a second, but notice the argument first. We’ll need to know where to find the JSON file and since we’re not creating a module, but only a function to generate routes for the sitemap module, we will not have access to <strong>nuxt.options</strong> as before. But we have access to it still within <code>nuxt.config.js</code>, so let’s just pass the path to the generated folder.</p>
<p>The definition of <code>generateSitemap</code> would vary for everyone, but the important bit is the first lines</p>
<pre><code>import fse from 'fs-extra';

export default async function sitemapRoutes (generateDir) {
  const routesJson = await fse.readJson(`${generateDir}/routes.json`);

  return ...
}
</code></pre>
<p>As we know the path to the JSON file, it’s enough to read it’s content. This grants us access to all the data we’ve prepared in the previously executed module and there is no need to re-fetch anything. This makes the generation considerably faster and puts less load on your database.</p>
<p>Obviously, we could repeat this pattern for any other Nuxt module. Needless to say that with every additional module that would require such data, the benefits become even more obvious.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Daniel Charvát</author>
            <enclosure url="https://ghost.localazy.com/content/images/2024/01/nuxt-async-data.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[JSON5 & human-friendly software localization]]></title>
            <link>https://localazy.com/blog/json5-and-human-friendly-software-localization</link>
            <guid isPermaLink="false">json5-and-human-friendly-software-localization</guid>
            <pubDate>Tue, 30 Nov 2021 12:35:42 GMT</pubDate>
            <description><![CDATA[Localize your app easily using JSON5 even if your stack is only compatible with the standard JSON.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="the-old-good-json" id="the-old-good-json">The old, good(?) JSON <a class="markdownit-header-anchor" href="#the-old-good-json">🔗</a></h2>
<p>The JSON format became very important in many different fields, and one of them is also the software localization.</p>
<p>However, JSON is a bit limited in the sense of human-friendliness for this field (and not only for it) - it’s strict, and there are a lot of double quotes <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>. It’s not forgiving. It doesn’t have comments that are great for quickly providing a context for translators in a way that the comment is not a part of the content.</p>
<p>For some of these shortcomings, there are different solutions such as the <a href="https://github.com/google/app-resource-bundle/wiki/ApplicationResourceBundleSpecification">metadata in Flutter’s ARB format</a> defined with <code>@</code> prefix.</p>
<pre><code class="language-json">{
  &quot;string_key&quot;: &quot;Translations&quot;,
  &quot;@string_key&quot;: {
    &quot;description&quot;: &quot;Context for translator.&quot;
  }
}
</code></pre>
<p>Not quite simple to read and a bit wordy for a simple comment. However, it’s a useful concept when there is more structured contextual information to provide.</p>
<p>Back to the topic, the fact that JSON is limited inspired new formats such as <a href="https://hjson.github.io">HJSON</a> and <a href="https://json5.org">JSON5</a>.</p>
<h2 id="json5-json-for-humans" id="json5-json-for-humans">JSON5 - JSON for Humans <a class="markdownit-header-anchor" href="#json5-json-for-humans">🔗</a></h2>
<p>JSON5 is fully backward compatible, and a valid JSON file is also a valid JSON5 file. But there are also many interesting additional features that you don’t find in JSON:</p>
<p><strong>Objects</strong></p>
<ul>
<li>Object keys may be an ECMAScript 5.1  <em><a href="https://www.ecma-international.org/ecma-262/5.1/#sec-7.6">IdentifierName</a></em>.</li>
<li>Objects may have a single trailing comma.</li>
</ul>
<p><strong>Arrays</strong></p>
<ul>
<li>Arrays may have a single trailing comma.</li>
</ul>
<p><strong>Strings</strong></p>
<ul>
<li>Strings may be single quoted.</li>
<li>Strings may span multiple lines by escaping new line characters.</li>
<li>Strings may include character escapes.</li>
</ul>
<p><strong>Numbers</strong></p>
<ul>
<li>Numbers may be hexadecimal.</li>
<li>Numbers may have a leading or trailing decimal point.</li>
<li>Numbers may be  <a href="http://ieeexplore.ieee.org/servlet/opac?punumber=4610933">IEEE 754</a>  positive infinity, negative infinity, and NaN.</li>
<li>Numbers may begin with an explicit plus sign.</li>
</ul>
<p><strong>Comments</strong></p>
<ul>
<li>Single and multi-line comments are allowed.</li>
</ul>
<p><strong>White Space</strong></p>
<ul>
<li>Additional white space characters are allowed.</li>
</ul>
<h2 id="json5-human-friendly-localization" id="json5-human-friendly-localization">JSON5 - Human-friendly localization <a class="markdownit-header-anchor" href="#json5-human-friendly-localization">🔗</a></h2>
<p>As you can see from the simple example below, it’s more comfortable to use it than the standard JSON files.</p>
<pre><code class="language-json5">{

  menu: {
    share: 'Share &quot;this&quot;'
  }

  // Please keep the name short.
  shortName: 'Short Name',

  /*
  It's also possible to use multi-line comments to
  provide additional context for translators.
  */  
  json5IsGreat: &quot;It is!&quot;

  andForgiving: &quot;There's trailing comma... no problem.&quot;,
}
</code></pre>
<h2 id="no-support-for-json5-there-is-a-solution" id="no-support-for-json5-there-is-a-solution">No support for JSON5? There is a solution! <a class="markdownit-header-anchor" href="#no-support-for-json5-there-is-a-solution">🔗</a></h2>
<p>So you would like to use JSON5 to make your life easier, but your current localization solution supports only JSON? No problem at all.</p>
<p>Use JSON5 for your source language strings and use <a href="https://localazy.com">Localazy</a> as a translation management platform. It’s completely free for the majority of apps, <a href="/docs/general/what-is-localazy-sharetm">it translates your app to up to 80 languages for free</a> with shared translations, it supports JSON5, and it can output standard JSON files.</p>
<h2 id="working-out-of-the-box" id="working-out-of-the-box">Working out of the box <a class="markdownit-header-anchor" href="#working-out-of-the-box">🔗</a></h2>
<p>My app uses JSON for localization and I have translated files stored in the folder <code>translations</code>. I’ve added a new folders <code>trans_source</code> with my source JSON5 file. So the structure of my project is like this:</p>
<pre><code>- app
  - trans_source
    - en.json5
  - translations
    - en.json
    - cs.json
    - de.json
    - zh-TW.json
    - ...
  - src
  - resources
  - ...
  - localazy.json
</code></pre>
<p>Whenever I add a new feature, I also add new texts to <code>en.json5</code>. I can enjoy all the features of JSON5, most notably, I use comments for providing a context for translators, but I also like the possibility to use single quotes to avoid escaping of double-quotes, etc. No double quotes for keys is also a great improvement.</p>
<p>You can notice that there is <code>localazy.json</code> file, which is a <a href="/docs/cli/the-basics">configuration file for Localazy CLI</a> with this content:</p>
<pre><code class="language-json">{
  &quot;readKey&quot;: &quot;my-read-key&quot;,
  &quot;writeKey&quot;: &quot;my-write-key&quot;,

  &quot;upload&quot;: {
    &quot;type&quot;: &quot;json5&quot;,
    &quot;files&quot;: &quot;trans_source/en.json5&quot;
  },

  &quot;download&quot;: {
    &quot;includeSourceLang&quot;: true,
    &quot;files&quot;: &quot;translations/${lang}.json&quot;
  }
}
</code></pre>
<p><strong>And that’s everything!</strong></p>
<p>When I add new texts to <code>en.json5</code>, I just invoke <code>localazy upload</code> from the command line to send the updated file to the Localazy platform.</p>
<p>As a part of my build, <code>localazy download</code> is automatically invoked, and it downloads all translated files (including the source language; enabled by <code>&quot;includeSourceLang&quot;: true</code>) to the <code>translations</code> folder. Localazy outputs valid JSON files for JSON5 input, so it all works with my existing JSON-based localization solution out-of-the-box, and I can manage translations comfortably through Localazy and even get a huge portion of my app translated for free with shared translations. Win-Win.</p>
<p>As an addition, for JSON5, <a href="/docs/cli/json5-format">Localazy also supports ARB-style metadata, arrays, plurals, multilingual files</a> and other features, so I can use anything I need and currently use with the standard JSON.</p>
<h2 id="flutters-arb-supported-too" id="flutters-arb-supported-too">Flutter’s ARB supported too! <a class="markdownit-header-anchor" href="#flutters-arb-supported-too">🔗</a></h2>
<p>Flutter’s ARB is just a specification based on top of the standard JSON, so the solution described above can be used with minimal changes also for your Flutter apps.</p>
<p>Forget about complicated structures starting with <code>@</code> just to tell your translator that you need him to keep the name short <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/60b64b64-26f8-46d6-bfdd-7c96bed74c4f" length="0" type="image//assets/60b64b64-26f8-46d6-bfdd-7c96bed74c4f"/>
        </item>
        <item>
            <title><![CDATA[Kotlin MPP and HTTP with WinINet API on Windows]]></title>
            <link>https://localazy.com/blog/kotlin-mpp-and-http-with-wininet-api-on-windows</link>
            <guid isPermaLink="false">kotlin-mpp-and-http-with-wininet-api-on-windows</guid>
            <pubDate>Fri, 04 Sep 2020 20:12:45 GMT</pubDate>
            <description><![CDATA[Use WinINet API for HTTP communication with Kotlin MPP and get rid of dependency on libcurl for Windows. ]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>You can read the whole story about how we get from the <a href="https://ktor.io/clients/index.html">ktor clients library</a> to WinInet or just jump to <a href="https://github.com/localazy/kotlin-mpp-wininet">the source code on Github</a>.</p>
<hr>
<h2 id="the-story-behind" id="the-story-behind">The story behind <a class="markdownit-header-anchor" href="#the-story-behind">🔗</a></h2>
<p>We have decided to use Kotlin MPP for building our <a href="https://localazy.com">Localazy CLI tool</a> for several reasons - we love Kotlin here at Localazy and our backend is mostly based on Kotlin, and we also love the idea of having a single codebase for Linux, Windows, macOS and JVM version.</p>
<p>You can read more information about <a href="https://localazy.com/blog/localazy-cli-sofware-localization-tool-kotlin-github">how we built Localazy CLI with Kotlin MPP and fully automated its releases with Github Actions</a> in a separate post.</p>
<h2 id="kotlin-mpp-httphttps" id="kotlin-mpp-httphttps">Kotlin MPP + HTTP/HTTPS <a class="markdownit-header-anchor" href="#kotlin-mpp-httphttps">🔗</a></h2>
<p>One of the issues we had to face was how to implement HTTP communication. For the JVM version, we went with plain old HttpURLConnection and for native binaries, the <a href="https://ktor.io/clients/index.html">ktor clients library</a> seemed to be a viable option.</p>
<p>Everything worked well and during testing, the HTTP communication was flawless, but the ktor clients library introduced a dependency on <a href="https://curl.haxx.se/libcurl/">libcurl</a>. It’s not a big deal on Linux or macOS as you either already have libcurl installed or you can install it with a single line through APT, YUM or Homebrew.</p>
<p>On Windows, however, it was necessary to include almost 20 DLL files in the same directory where the CLI binary is placed. And that’s not the solution we were looking for.</p>
<h2 id="requirements" id="requirements">Requirements <a class="markdownit-header-anchor" href="#requirements">🔗</a></h2>
<p>Before we get to the technical solution, let’s talk about what we really needed. Localazy CLI only needed four HTTPS calls to verify your parameters, download metadata about the app for the validation step, upload your files, and download your files along with their metadata.</p>
<p>There were three GETs and one POST, and we needed to send custom headers for authorization and transfer of arbitrary data about the CLI version, etc.</p>
<p>No big deal. We only needed basic stuff and that gave us more possible solutions…</p>
<h2 id="possible-solutions" id="possible-solutions">Possible solutions <a class="markdownit-header-anchor" href="#possible-solutions">🔗</a></h2>
<h3 id="installer" id="installer">Installer <a class="markdownit-header-anchor" href="#installer">🔗</a></h3>
<p>The first simple solution that came to our minds was to create an installer for the CLI app and install it as a normal Windows app and along the way, install also required DLLs. We immediately disliked this solution. That’s not the developer-friendly “get &amp; use it” way and installers are enemies of automation.</p>
<h3 id="statically-link-libcurl-to-the-binary" id="statically-link-libcurl-to-the-binary">Statically link libcurl to the binary <a class="markdownit-header-anchor" href="#statically-link-libcurl-to-the-binary">🔗</a></h3>
<p>We rebuilt <a href="https://ec.haxx.se/sourcecode/building/building-source">libcurl from source with all static mode enabled</a> and with all external dependencies like OpenSSL disabled. Instead, we switched to Windows native subsystems. Also, we disabled support for all protocols except for HTTP. All these steps were about getting a statically linkable library that was as small as possible.</p>
<p>However, we had no luck. Linking was tricky because the ktor clients library was also trying to link against libcurl but not ours manually compiled one, and we ended up with a huge binary that still needed some dependencies.</p>
<p>While the ktor clients looked like a great solution initially, it showed up that for our simple requirements, it involved costs that we didn’t want to cover.</p>
<h3 id="switch-to-wininet" id="switch-to-wininet">Switch to WinInet <a class="markdownit-header-anchor" href="#switch-to-wininet">🔗</a></h3>
<p>Windows comes with its own native <a href="https://docs.microsoft.com/en-us/windows/win32/wininet/about-wininet">API for HTTP communication - WinINet</a>. It’s relatively simple, and if the app uses it, there are no extra dependencies as WinInet is available directly in Windows.</p>
<p>I could not find any existing Kotlin MPP implementation of HTTP communication using WinInet API, so I started from scratch. Thankfully, <a href="https://docs.microsoft.com/en-us/windows/win32/api/wininet/">Microsoft has pretty good documentation</a>, and there are examples available in C/C++.</p>
<h2 id="results" id="results">Results <a class="markdownit-header-anchor" href="#results">🔗</a></h2>
<p>The source code based on what I wrote for Localazy CLI is <a href="https://github.com/localazy/kotlin-mpp-wininet">available on Github</a>. The aim wasn’t to implement all features but to create a fast solution for invoking GET and POST requests.</p>
<p>If you need more information about WinInet to add some features or improve my solution, <a href="https://docs.microsoft.com/en-us/windows/win32/wininet/about-wininet">visit Microsoft’s documentation for WinInet API</a>.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/9efec5db-37ab-4287-b38b-ea36e5b37662" length="0" type="image//assets/9efec5db-37ab-4287-b38b-ea36e5b37662"/>
        </item>
        <item>
            <title><![CDATA[How we built Localazy CLI: Kotlin MPP and Github Actions]]></title>
            <link>https://localazy.com/blog/localazy-cli-sofware-localization-tool-kotlin-github</link>
            <guid isPermaLink="false">localazy-cli-sofware-localization-tool-kotlin-github</guid>
            <pubDate>Tue, 01 Sep 2020 06:35:38 GMT</pubDate>
            <description><![CDATA[How we built Localazy CLI, command-line friendly software localization tool for smart&lazy developers.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Initially, Localazy supported only Android through our simple to use but potent <a href="/docs/android/localazy-gradle-plugin">Gradle plugin</a> that automatically handles everything for the developer. Our vision of <em>developer-friendly software localizations</em> proves to be the right way to go. We started to receive a lot of requests to support other platforms too.</p>
<p>Our accurate <a href="/docs/general/what-is-localazy-sharetm">shared memory ShareTM</a>, <a href="/docs/general/unique-review-process-and-self-managed-translations">proactive review</a> and intuitive interface were compelling reasons to use Localazy also for developers outside the Android ecosystem, even if the integration would be less sophisticated than the Gradle plugin.</p>
<p>We thought about the right solution that would enable other developers to use Localazy on all platforms. We wanted to keep the developer-friendly / developer-centric approach and CLI, aka the command line interface, was the logical answer.</p>
<p><img src="https://directus9.localazy.com/assets/dfbc9844-5752-4e75-8f69-f3f40644cd66" alt="Cli"></p>
<h2 id="kotlin-multiplatform" id="kotlin-multiplatform">Kotlin Multiplatform <a class="markdownit-header-anchor" href="#kotlin-multiplatform">🔗</a></h2>
<p>We wanted <strong>Localazy CLI</strong> to be supported on all major platforms. Ideally, we wanted no dependency on Java or Node as those usually mean a huge binary or giant virtual machine. Small and fast binary for a given operating system looked like a perfect solution.</p>
<p>Kotlin is already heavily used at Localazy, and it powers the whole backend. And so <a href="https://kotlinlang.org/docs/reference/mpp-intro.html"><em>Kotlin MPP</em></a> was a logical choice to look at for this task. It allowed us to write a single codebase for native Linux, macOS, Windows and Java in a programming language we know well.</p>
<p>Almost all the code is shared between platforms and written in pure Kotlin. There were only two platform-dependent features - filesystem access and HTTP communication.</p>
<p>The filesystem access is quite simple, and we just create an actual implementation for Java (using java.io.File and streams), Linux/macOS (using POSIX) and Windows (slightly modified POSIX as there are small differences on Windows).</p>
<p>For HTTP communication, good old <em>HTTPUrlConnection</em> is used for Java and <em>ktor client</em> for Linux, macOS and Windows.
The prototype of CLI was ready in a couple of days, and with a bit of fine-tuning, we were able to compile it to Java’s JAR and native binary for Linux, macOS and Windows.</p>
<blockquote>
<p>Thanks to JetBrains for Kotlin, it was fun to write the CLI, and it works smoothly on all platforms.</p>
</blockquote>
<p><strong>Everything seemed to be great, except it wasn’t…</strong></p>
<h2 id="migrating-to-wininet" id="migrating-to-wininet">Migrating to WinInet <a class="markdownit-header-anchor" href="#migrating-to-wininet">🔗</a></h2>
<p>Well, everything worked well, but the ktor client introduced a dependency on libcurl. It’s not a big deal on Linux or macOS as you either already have libcurl installed or you can install it with a single line through APT, YUM or Brew.</p>
<p>On Windows, however, it was necessary to include almost 20 DLL files in the same directory where the CLI binary is placed. Ough, that’s not good, and we didn’t want that for sure.</p>
<h3 id="what-are-the-possible-solutions" id="what-are-the-possible-solutions">What are the possible solutions? <a class="markdownit-header-anchor" href="#what-are-the-possible-solutions">🔗</a></h3>
<ul>
<li>Create an installer that installs DLL files to the system folder. No! This doesn’t seem to be the simple developer-friendly solution in a spirit download and go, and I didn’t like the idea of installing anything on the system level.</li>
<li>Statically link libcurl to the binary. Several days lost trying to get this work. Partially, we were able to do so, but the resulting binary was huge, and it still needed some dependencies. We even recompiled the libcurl from the source, so it didn’t depend on OpenSSL and other libraries and rather use Windows native subsystems. No luck.</li>
<li>Rewrite the whole HTTP connection part to use <em>WinInet</em> - Windows native communication stack. Well, it meant a lot of work and another implementation, but it’s worth it as the resulting binary is small and has no dependencies. And so we did.</li>
</ul>
<h2 id="powerful-gradle-build" id="powerful-gradle-build">Powerful Gradle Build <a class="markdownit-header-anchor" href="#powerful-gradle-build">🔗</a></h2>
<p>We tweaked Gradle build script, so it works in two different modes - when IntelliJ is active and when the final build process runs.</p>
<p>When <a href="https://www.jetbrains.com/idea/" target="_blank">IntelliJ</a> is active, only the selected platform based on the host OS is used. This setup allows us to develop the CLI easily, and there is only one compilation target with no additional operations.</p>
<p>When the full build is run, the binary for the respective platform is compiled, packaged, renamed and placed into the correct folder. Additional operations are performed for optimising the binary size. For the Linux host, not only the native binary but also the Java version is built, a binary for Docker image is prepared, and DEB and RPM packages are generated.</p>
<h2 id="cross-compilation" id="cross-compilation">Cross-Compilation <a class="markdownit-header-anchor" href="#cross-compilation">🔗</a></h2>
<p>The big drawback of Kotlin MPP is cross-compilation. It’s currently possible to build some targets only on specific host platforms. Windows binary can only be built on the Windows host. The same applies to macOS.</p>
<p>At that moment, we already planned to use <a href="https://github.com/features/actions" target="_blank">Github Actions</a> for compilation, but as we had our own Linux based runner, we wanted to cover as much of the build process as possible using it. Even without our own runner, Linux actions are cheaper.</p>
<p>The second reason for cross-compilation was that I simply didn’t have Windows and cross-compilation allowed me to check that everything is alright and I could still be able to test binary with virtualized Windows. Technically, I could build the binary in the virtual machine but for the reason above, I was more interested in some kind of cross-compilation.</p>
<p>There is no solution for macOS. It simply needs the macOS host.</p>
<p>For Windows, however, there is a solution. Install Wine in Ubuntu-based docker and unpack the Windows version of OpenJDK, so it’s accessible from Wine. Be sure to set JAVA_HOME and PATH too. Invoking ./gradlew.bat fails due to missing TTY, but there is a simple workaround:</p>
<pre><code class="language-bash">faketty () {
    script -qfec &quot;$(printf &quot;%q &quot; &quot;$@&quot;)&quot;
}

faketty wine cmd /c gradlew.bat --no-daemon --console=plain clean buildWindows
</code></pre>
<p>And that’s it! The Windows binary can be built on the Linux host.</p>
<h2 id="the-distribution" id="the-distribution">The Distribution <a class="markdownit-header-anchor" href="#the-distribution">🔗</a></h2>
<p>Once the binaries for all platforms were built, we needed to make them <a href="/docs/cli/installation">available for you</a>.</p>
<ul>
<li><strong>Java JAR</strong> is simply available for download. It’s a standalone app and not a library so Maven doesn’t make much sense. However, it’s probably better this way. Download and go on any platform with JVM available. Instantly.</li>
<li><strong>Docker image</strong> is distributed through Docker Hub. Simple. No need to think about it.</li>
<li><strong>The Windows binary</strong> is available for download on our website and in the future, we could possibly investigate how to make it available in more places.</li>
<li><strong>The macOS binary</strong> is available for download on our website and for installation through Homebrew.</li>
<li><strong>The Linux binary</strong> is available for download on our website - as a native binary and DEB and RPM packages. We already have Sonatype Nexus Repository installed for the distribution of our Gradle plugin, and so we use it also as an APT and YUM repository. There’s also the bash autocomplete script installed along with the binary.</li>
</ul>
<h2 id="github-actions" id="github-actions">Github Actions <a class="markdownit-header-anchor" href="#github-actions">🔗</a></h2>
<p>We have two Actions - one that is run on macOS and one that is run on our self-hosted Linux runner. Actions are bound to a release, so whenever we want to release a new version, we just create a tag and release on Github. The name of the release is automatically used as a version identifier.</p>
<h3 id="what-exactly-do-our-actions-do" id="what-exactly-do-our-actions-do">What exactly do our Actions do? <a class="markdownit-header-anchor" href="#what-exactly-do-our-actions-do">🔗</a></h3>
<ul>
<li>build a native binary for Linux, macOS and Windows</li>
<li>build the Java version of the CLI</li>
<li>build a versioned Docker image and also the :latest one</li>
<li>package the Linux version as DEB and RPM</li>
<li>zip, tar, tar.gz all binaries and upload them to our distribution server</li>
<li>upload DEB and RPM to Nexus Repository</li>
<li>update, commit and push a new version of configuration file for Brew</li>
<li>change the version of the CLI in the CMS</li>
<li>rebuild static parts of our website including the documentation</li>
</ul>
<p>So, we change the code, test it, commit, push and create a release on Github. And that’s it. Everything else is taken care about automatically including changes on the website. Less manual work and repetitive tasks, less human errors <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<p>Personally, I love how a few minutes after creating a release on Github, invoking <code>apt update &amp;&amp; apt upgrade</code> makes sure that you are running the latest version of the Localazy CLI <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>.</p>
<h2 id="the-json-schema" id="the-json-schema">The JSON Schema <a class="markdownit-header-anchor" href="#the-json-schema">🔗</a></h2>
<p>Even we don’t remember all details about our configuration file localazy.json that is used by the CLI. Thankfully, my colleague Jan spent quite some time tweaking <strong>JSON schema</strong> for the file and so you can enjoy smart completion in supported IDEs. We tested on <strong>Visual Studio Code</strong> and <strong>IntelliJ IDEA</strong> and both work like a charm.</p>
<p>It needed some time to study it, create it and distribute it, but it simply makes our tool more developer-friendly and that’s important. We really strive to bring you a great tool and not only to fill some missing gap. Details matter.</p>
<h2 id="what-to-do-next" id="what-to-do-next">What To Do Next? <a class="markdownit-header-anchor" href="#what-to-do-next">🔗</a></h2>
<p>We are now in the process of obtaining a certificate from <strong>Comodo</strong>, so we can sign the Windows binary and get rid of warnings about a possibly dangerous unsigned app.</p>
<p>It seems that we can sign the Windows binary on Linux, so it’s going to be part of the Github Action once we have the certificate available.</p>
<h2 id="results" id="results">Results <a class="markdownit-header-anchor" href="#results">🔗</a></h2>
<p>Kotlin MPP is a viable solution for building CLI apps - it only needs some tweaks to support all platforms - and with Github Actions, it’s possible to automate everything.</p>
<h2 id="some-suggestions-for-kotlin-mpp" id="some-suggestions-for-kotlin-mpp">Some suggestions for Kotlin MPP <a class="markdownit-header-anchor" href="#some-suggestions-for-kotlin-mpp">🔗</a></h2>
<ul>
<li>cross-compilation should be possible out of the box</li>
<li>ktor client should introduce WinInet / WinHTTP implementation for Windows</li>
</ul>
<iframe width="100%" height="460" src="https://www.youtube.com/embed/q0uEltq02e0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/cd98ec35-142c-41a0-9478-56f76cf82710" length="0" type="image//assets/cd98ec35-142c-41a0-9478-56f76cf82710"/>
        </item>
        <item>
            <title><![CDATA[Release update: iOS, Flutter, React Native and more platforms are now available for your project]]></title>
            <link>https://localazy.com/blog/release-update-ios-flutter-react-native-platforms-available-localization</link>
            <guid isPermaLink="false">release-update-ios-flutter-react-native-platforms-available-localization</guid>
            <pubDate>Mon, 31 Aug 2020 16:47:56 GMT</pubDate>
            <description><![CDATA[Apply Localazy on your apps. Support iOS, Flutter, React Native and many other platforms is now ready to serve your software localization needs.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Great news! You can now use Localazy with many other platforms. It is up to you which one do you prefer for your dev projects. Login to your account, create an app and choose your desired technology.</p>
<p><img src="https://directus9.localazy.com/assets/84eb8c71-cd8a-4bea-9e5a-24c63ec41c9b" alt="Easy start">
See how easy it can be to use it <a href="/ios">here for iOS, for example</a>.</p>
<h2 id="localazy-improvement-highlights" id="localazy-improvement-highlights">Localazy improvement highlights <a class="markdownit-header-anchor" href="#localazy-improvement-highlights">🔗</a></h2>
<table>
<thead>
<tr>
<th>Improvement</th>
<th>More info</th>
</tr>
</thead>
<tbody>
<tr>
<td>Updated publishing</td>
<td>Publishing now got a lot easier.</td>
</tr>
<tr>
<td>Improved glossary UX</td>
<td>Workflow and tooltips got a better shape.</td>
</tr>
<tr>
<td>Brand new keyboard shortcuts</td>
<td>Do not touch mouse when reviewing new translations.</td>
</tr>
<tr>
<td>Batch delete of phrases</td>
<td>Delete your phrases in bulk if you need to do so.</td>
</tr>
</tbody>
</table>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/c68109c2-b24a-442a-b108-fba56589e4cd" length="0" type="image//assets/c68109c2-b24a-442a-b108-fba56589e4cd"/>
        </item>
        <item>
            <title><![CDATA[What is your price, app developers?]]></title>
            <link>https://localazy.com/blog/what-is-your-price-app-developers</link>
            <guid isPermaLink="false">what-is-your-price-app-developers</guid>
            <pubDate>Sat, 04 Jul 2020 06:12:35 GMT</pubDate>
            <description><![CDATA[How to increase your value on the app development market? What are the current challenges for single developers?]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Mobile app development is a pricey job to get done <a href="https://clutch.co/app-developers/resources/cost-build-mobile-app-survey-2015">Clutch.co</a>. With the increasing worldwide distribution of mobile devices, one would consider having a mobile app as her business is an idea worthy of pursuit. Great opportunity to all mobile app developers to land a dream contract, but maybe you have your app in mind or already in the app store.</p>
<p>Worldwide mobile app revenue in 2014 to 2023 forecast (in billion U.S. dollars) says it all. To eat a piece of the pie, you need to get even closer to your users and provide an exceptional product to take over your competitors. Will your effort to build a great app pay off?</p>
<p><img src="https://directus9.localazy.com/assets/e72fc23c-d8e5-4c0f-9641-70734296db14" alt="Worldwide mobile app revenues Statista">
Source: <a href="https://www.statista.com/statistics/269025/worldwide-mobile-app-revenue-forecast/">Statistic: Worldwide mobile app revenues in 2014 to 2023 (in billion U.S. dollars) | Statista</a></p>
<h2 id="what-is-your-price-app-developer" id="what-is-your-price-app-developer">What is your price, app developer? <a class="markdownit-header-anchor" href="#what-is-your-price-app-developer">🔗</a></h2>
<p>High demand for skilled mobile app developers drives the increasing costs of the developer’s time, worldwide. It is just fine if one is into contracts. But many apps have been shipped to the app stores by single developers. If you have your app and you are a great developer, but your app just does not repurchase your time, you are losing competitive advantage. Only if you have time, you can afford to learn more and tackle the turbulent technology landscape.</p>
<p>In this article, we have asked a few questions to people who have something to say about how app developers can increase their value on the market and decrease their cost/revenue ratio. Because at the end of the day, every programmer loves to be productive. We want to focus on what we love – code. That means other activities shall be eliminated, automated or delegated. Brew your cup of favourite drink and find out the perspective of other industry peers.
<img src="https://directus9.localazy.com/assets/49022565-8d2c-49eb-8312-b40d9269ac75" alt="App developer salaries">Source: <a href="https://www.glassdoor.com/Salaries/mobile-app-developer-salary-SRCH_KO0,20.htm">Glassdoor</a></p>
<p>App developers are highly valued, and it does not depend on location. Below you can find what Amrit Sanjeev, Staff Developer Advocate at Google and Bangalore Android Developer Group (BlrDroid) shared with us on the topic.</p>
<h3 id="amrit-sanjeev" id="amrit-sanjeev">Amrit Sanjeev <a class="markdownit-header-anchor" href="#amrit-sanjeev">🔗</a></h3>
<p><strong>BlrDroid, Bangalore Android Developer Group, <a href="https://www.linkedin.com/in/amrit-sanjeev-a4984438/?originalSubdomain=in">Staff Developer Advocate</a> at Google</strong></p>
<h4 id="in-india-android-is-a-vast-market-how-does-google-help-to-improve-developers-qualification-and-networking">In India, Android is a vast market. How does Google help to improve developers qualification and networking?</h4>
<p>Google, as a company has several programs as part of the developer relations initiatives that help developers in the region upskill and improve their opportunities in the market. Google also supports open developer communities like google developer groups, developer student clubs etc. that engage in activities like meetups and run developer conferences.</p>
<h4 id="what-would-be-your-tip-for-other-developers-to-enter-the-vast-android-market-in-india-with-their-app">What would be your tip for other developers to enter the vast Android market in India with their app?</h4>
<p>The one tip that I have for new devs is to focus on learning the basics really well and keep in mind that Kotlin/java language proficiency alone is not enough. Learn the OS to take advantage of the APIs. Android is an OS that has evolved over the years, and it is quite essential to understand the changes that are coming in each release to ensure that your apps perform optimally and flawlessly over different versions of the OS.</p>
<h4 id="years-ago-indian-developers-were-perceived-as-an-affordable-outsourcing-way-of-software-development-for-western-businesses-what-enabled-indian-developers-to-go-after-the-most-qualified-development-jobs-as-independent-developers-not-just-as-parts-of-software-houses">Years ago, Indian developers were perceived as an affordable outsourcing way of software development for western businesses. What enabled Indian developers to go after the most qualified development jobs as independent developers, not just as parts of software houses?</h4>
<p><img src="https://directus9.localazy.com/assets/e97c3dcd-ccf5-40fe-9c72-91f9345290a5" alt="India App Developer Trend"></p>
<p>The startup space is booming in the region. In fact, India is the 3rd <a href="https://www.startupindia.gov.in/content/sih/en/international/go-to-market-guide/indian-startup-ecosystem.html">largest startup ecosystem</a> in the world with a staggering growth double-digit YoY growth rate. Many of the developers have realized there are a lot of local problems that require solutions, and there is a massive market opportunity in this space. Also, the awareness of the local demographic and its characteristics make these folks the best people to create solutions that really solve the problems cost-effectively and efficiently.</p>
<h4 id="is-it-rather-hard-or-easy-to-get-a-contract-for-a-single-android-app-developer-in-india-compared-to-5-years-ago">Is it rather hard or easy to get a contract for a single Android app developer in India, compared to 5 years ago?</h4>
<p>There are definitely more people now with Android app development skills compared to 5 years ago. India being primarily an android market (90+%  market share) has led to the demand for more devs that can extend solutions to mobile platforms, and the market seems to have reacted well to that demand.</p>
<h4 id="is-there-any-speciality-in-indian-mobile-app-market-you-would-like-to-pitch-as-a-topic-personally-crucial-from-your-perspective">Is there any speciality in Indian mobile app market you would like to pitch as a topic personally crucial from your perspective?</h4>
<p>Since a lot of the developers in the region develop solutions for local problems, the audience for this solution tends to be more comfortable interacting in the local language. India is a country that has 23 official languages. English is considered as an aspirational language by many users. For a solution to get acceptance at scale in a region like this, <strong>app localization is essential</strong>, and that’s where a tool like <strong>Localazy</strong> can be super helpful for the developers in the area.</p>
<h2 id="developers-prefer-to-focus-on-what-they-love-code" id="developers-prefer-to-focus-on-what-they-love-code">Developers prefer to focus on what they love. Code. <a class="markdownit-header-anchor" href="#developers-prefer-to-focus-on-what-they-love-code">🔗</a></h2>
<p>Every freelancer knows it. Near to the primary, revenue-generating work, there is a ton of overhead which does not make any revenue but must be done to let developers make their living. It started far sooner before pandemic situation, remote jobs rocketed throughout the ceiling, and you find many mobile dev opportunities worldwide. And companies are ready to accommodate this type of contractor work. Some of them being experts in providing extraordinary environments. Less administrative overhead, more challenges and problem solving for developers.</p>
<h3 id="jan-kaminski" id="jan-kaminski">Jan Kamiński <a class="markdownit-header-anchor" href="#jan-kaminski">🔗</a></h3>
<p><strong>Co-Founder &amp; Head of Sales at <a href="https://applover.pl/?utm_source=localazy&amp;utm_medium=referral&amp;utm_campaign=partnerships&amp;utm_content=guestpost">Applover</a>, a full-stack digital agency, Deloitte Technology 50 FAST company</strong></p>
<h4 id="what-is-the-reason-why-developers-join-applover-as-their-agency-for-their-remote-jobs">What is the reason why developers join Applover as their agency for their remote jobs?</h4>
<p>I think the main reason is that we work with clients from different industries on various projects. So developers apply for challenging jobs, they want to work on something interesting that can help them develop their skills. Moreover, we offer them the best possible conditions and transparency, they know exactly what they will work on and with whom. In my opinion, our brand makes them trust us, last year Applover was nominated by <a href="https://applover.pl/blog/applover-is-the-rising-star">Deloitte as a Rising Star – Technology Fast 50 in the CEE</a>. Such achievements make us more trustworthy for them, and they want to be a part of such a company even though they work with us remotely.</p>
<h4 id="how-do-you-cooperate-with-developers-to-ensure-they-can-focus-on-their-job-and-dont-worry-about-anything-else-from-the-technological-aspect">How do you cooperate with developers to ensure they can focus on their job and don’t worry about anything else – from the technological aspect.</h4>
<p>We take care of everything – all the paperwork, clearly structured project – every task is well described, so every developer knows what they have to do. We introduce our clients to the <a href="https://applover.pl/about">team</a>, go through the series of workshops, so everything is set up before the developer even starts to code.</p>
<p><img src="https://directus9.localazy.com/assets/5bab9732-f983-4905-a250-edfa071843ec" alt="AppLover"></p>
<h4 id="how-do-your-clients-perceive-the-price-of-app-development-and-the-cost-structure-is-it-easier-for-them-to-accept-your-price-at-a-project-or-hourly-basis-what-is-actually-the-most-convenient-way-to-close-a-deal-with-an-app-investor">How do your clients perceive the price of app development and the cost structure? Is it easier for them to accept your price at a project or hourly basis? What is actually the most convenient way to close a deal with an app investor?</h4>
<p>It always depends on the project and the client. I think clients prefer fixed price when they are more experienced in the IT world and can specify everything from the beginning. The hourly basis is more convenient for clients with less experience when it is their first project they want to create. But nevertheless, we always encourage them to participate in the workshops with us. Thanks to it, we can really get to know the needs and assess the work scope correctly. It is a part of our process with every project. In our opinion, it helps us convince any app investor to cooperate with Applover. We just know what we do and how to do it so the client can genuinely benefit from their final product.</p>
<h4 id="how-much-workload-can-one-expect-on-one-project-made-for-android-and-ios-platforms">How much workload can one expect on one project made for Android and iOS platforms?</h4>
<p>This again is a very situational aspect, heavily depends on the project, how complicated and how advanced the final application should be. But we can say that after we have all the designs accepted by the clients than on average, it takes us 2 months to release an MVP. We usually work with a team of 2 developers for each platform.</p>
<h2 id="will-your-app-development-costs-pay-off" id="will-your-app-development-costs-pay-off">Will your app development costs pay off? <a class="markdownit-header-anchor" href="#will-your-app-development-costs-pay-off">🔗</a></h2>
<p>With the overall number of apps available on app stores, it can be a tough time to find the right niche to cover the costs of app development, especially for a single mobile app developer. Of course, there are a ton of individual developers who succeeded.</p>
<h3 id="vaclav-hodek" id="vaclav-hodek">Václav Hodek <a class="markdownit-header-anchor" href="#vaclav-hodek">🔗</a></h3>
<p><strong>Floating Apps developer, Localazy founder</strong></p>
<h4 id="how-much-time-and-other-resources-have-you-invested-in-your-app">How much time and other resources have you invested in your app?</h4>
<p>It’s impossible to count how much time I invested in Floating Apps <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>. It must be thousands of hours and hundreds of sleepless nights. Most of the time, I spent with development, which is something I enjoyed, so it’s somewhere in-between. Sometimes, it was joy and relaxation. Sometimes, I worked hard to fix hidden bugs…</p>
<p>I started Floating Apps as a hobby project, and it never was my only source of income, so I was always willing to re-invest money to support it. Also, in its early days, I’ve put my own money into it.</p>
<iframe width="100%" height="400" src="https://www.youtube.com/embed/iNzNTkOhbeU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p>I invested in paid downloads to get some traction for the app when it was new on the Play Store. I purchased licenses to bring amazing features that rely on 3rd party paid libraries. I paid to contractors that helped me with the app in many ways.</p>
<p>One of the most significant investments was the localization of the app. Over the last two years, I spent €6.500 on professional translations and related services. It helped me achieve over 7.5 million downloads all over the world, with 5-8 thousand new downloads every day.</p>
<h4 id="how-much-localization-came-into-account-when-reaching-new-markets">How much localization came into account when reaching new markets?</h4>
<p>Floating Apps is the most successful app of its kind thanks to the many things I did. I didn’t hesitate to invest money early into app marketing, promotion, and localization. And I listen to users and continuously improve the app.</p>
<p>The best markets for the paid version of my app are the US and Japan. The later won’t possibly be the case if I didn’t localize the app to Japanese. For the free version, downloads skyrocketed in India, Indonesia, Vietnam, Korea, and other countries when I introduced the respective language support.</p>
<p>So yes, the localization of the app is crucial, and it can be a small but significant difference for many users. It can be the reason why they choose your app over alternatives.</p>
<h4 id="what-was-your-pain-point-in-the-app-development-and-how-did-you-resolve-it-localazy">What was your pain point in the app development, and how did you resolve it? (Localazy)</h4>
<p>Being a developer, I struggled mostly with non-technical tasks that are overly important for app success.</p>
<p>The first one is user support. It’s essential for succeeding. Over the years, I aimed for replying to every single comment, post, and review. It’s necessary to listen to users and let them know that I do. Also, a lot of answers resolved users’ issues and helped them to enjoy the app. It took me some time, but my wife on maternity leave was able to take over most of the support tasks, learn technical aspects, and provide accurate and helpful answers.</p>
<p>The second one is the app localization. <a href="https://www.floatingapps.net">Floating Apps</a> is available in 30 languages (of which 15 don’t use the Latin alphabet), and the other ten languages are coming in the future. I enjoy the development of the app and spend long weeks making it better. I need a tool that allows volunteers and paid contributors to translate the app and still let me control the quality. I wasn’t able to find such a tool designed for developers, and I even created small scripts to assist me while using online translation platforms. Later, I’ve decided to give birth to Localazy based on all the experience gathered over the last five years.</p>
<h2 id="the-increasing-importance-of-app-localization" id="the-increasing-importance-of-app-localization">The increasing importance of app localization <a class="markdownit-header-anchor" href="#the-increasing-importance-of-app-localization">🔗</a></h2>
<p>One of the most frequent issues for single developers and small apps is the cost/outcome value of language translation. It can be an extremely daunting task to choose which languages will actually provide the best value. Of course, major languages for global apps are a no-brainer, but there are hundreds of languages worldwide, and all of them can make sense to get a competitive advantage over other apps.</p>
<blockquote>
<p>Pidgin languages—most simply defined as a blend of two languages—are used around the world. Official estimates of the number of pidgin languages vary, but Ethnologue lists a total of 16 pidgin languages with speakers spread around the globe. Nigerian Pidgin English, for example, has an impressive 75 million speakers in Nigeria, Haitian Creole has 12 million speakers and Jamaican Creole has 3.2 million.
<strong><a href="http://localazy.to/uzgaz9">RWS Moravia</a></strong></p>
</blockquote>
<p><img src="https://directus9.localazy.com/assets/3bc80bb2-396f-465c-ad1f-aebceeb070de" alt="Global Mobile Analytics Market Share">
Source: <a href="https://www.researchnester.com/admin/report_image/global-mobile-Analytics-market-share-demand-size-growth-trends.jpg">Research Nester</a></p>
<h3 id="word-from-the-crowd-opinion-of-teo-coding" id="word-from-the-crowd-opinion-of-teo-coding">Word from the crowd - Opinion of Teo Coding <a class="markdownit-header-anchor" href="#word-from-the-crowd-opinion-of-teo-coding">🔗</a></h3>
<p><strong>Birthday Reminder App developer and owner</strong></p>
<p>I learned that translating an app into as many languages as possible is one of the most important things. I came across Localazy, looking for an economic and developer-friendly solution that could help me grow the app. With the shared translations, the number of translated strings in my app increases day by day. All this for free without spending hundreds of euros for professional translators.</p>
<p><img src="https://directus9.localazy.com/assets/f4190edc-5e03-4ee5-8de7-6a4c8e8bc8be" alt="User growth statistic from Localazy integration"></p>
<p>Moreover, the number of active users increased significantly from the time of Localazy integration.</p>
<ul>
<li>Read the full <a href="/blog/interview-with-teo-coding-author-of-birthday-reminder-app">interview with Teo Coding</a></li>
<li><a href="/case-study/birthday-reminder-app">Mobile app localization case study</a></li>
</ul>
<h2 id="share-your-story-on-localazy" id="share-your-story-on-localazy">Share your story on Localazy <a class="markdownit-header-anchor" href="#share-your-story-on-localazy">🔗</a></h2>
<p>We love to support meaningful apps. If you would like to <a href="/blog/open-invitation-to-interview-for-developers">share your story</a>, make sure you opt-in for our open invitation for an interview for app developers.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/e099017c-a1df-4719-88b1-d627768e9bf1" length="0" type="image//assets/e099017c-a1df-4719-88b1-d627768e9bf1"/>
        </item>
        <item>
            <title><![CDATA[Kotlin Trivia #2: Infix Functions]]></title>
            <link>https://localazy.com/blog/kotlin-trivia-2</link>
            <guid isPermaLink="false">kotlin-trivia-2</guid>
            <pubDate>Thu, 21 Mar 2024 13:06:04 GMT</pubDate>
            <description><![CDATA[From time to time, we play with Kotlin just for fun and come with trivia. Let's play with us!]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Let’s play <a href="https://localazy.com/blog/kotlin-trivia-1">another Kotlin trivia</a> with us today!</p>
<h2 id="the-trivia" id="the-trivia">The trivia <a class="markdownit-header-anchor" href="#the-trivia">🔗</a></h2>
<p><strong>Add 3 lines of code outside the main function to make it print: Thank you, JetBrains!</strong></p>
<pre><code class="language-kotlin">fun main() {
    Localazy `❤️` Kotlin
}
</code></pre>
<h2 id="the-solution" id="the-solution">The solution <a class="markdownit-header-anchor" href="#the-solution">🔗</a></h2>
<p>The solution is very simple. Just create an <a href="(https://kotlinlang.org/docs/reference/functions.html#infix-notation)">infix function</a> with Unicode name wrapped in backticks.</p>
<pre><code class="language-kotlin">private infix fun Unit.`❤️`(text: String) = println(text)
private val Localazy = Unit
private val Kotlin = &quot;Thank you, JetBrains!&quot;

fun main() {
    Localazy `❤️` Kotlin
}
</code></pre>
<p>See the <a href="https://github.com/localazy/localazy-kotlin-trivia/tree/master/kotlin-trivia-2">whole project on Github</a>.</p>
<p>Do you like it? Do you have your own trivia? Let us know!</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/fe217124-39ee-4e12-80c7-0852c36fe85a" length="0" type="image//assets/fe217124-39ee-4e12-80c7-0852c36fe85a"/>
        </item>
        <item>
            <title><![CDATA[Kotlin Trivia #1: Infix Operators]]></title>
            <link>https://localazy.com/blog/kotlin-trivia-1</link>
            <guid isPermaLink="false">kotlin-trivia-1</guid>
            <pubDate>Mon, 11 Mar 2024 15:56:55 GMT</pubDate>
            <description><![CDATA[From time to time, we play with Kotlin just for fun and come with trivia. Let's play with us!]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Here, at Localazy, Kotlin is used extensively for the development of our Android tools, and the whole backend behind Localazy is also written in Kotlin.</p>
<p>From time to time, we play with it just for fun and come with trivia. Let’s play with us! <strong>Let’s play with us!</strong></p>
<h2 id="the-trivia" id="the-trivia">The trivia <a class="markdownit-header-anchor" href="#the-trivia">🔗</a></h2>
<p><strong>Can the code below be valid in Kotlin and print “Of course, sir!” using string concatenation?</strong></p>
<pre><code class="language-kotlin">fun main() {
    translate Android app with Localazy {
        free of charge
    }
}
</code></pre>
<h2 id="the-solution" id="the-solution">The solution <a class="markdownit-header-anchor" href="#the-solution">🔗</a></h2>
<p>Yes! It’s a completely valid Kotlin code that uses <a href="https://kotlinlang.org/docs/reference/functions.html#infix-notation">infix operators</a>. The whole code is:</p>
<pre><code class="language-kotlin">package com.localazy.trivia

private infix fun Unit.Android(body: Unit) = Unit
private infix fun Unit.with(body: Unit) = Unit
private infix fun String.of(input: String) = this.plus(input)
private fun Localazy(body: () -&gt; String) = println(body())

private val translate = Unit
private val app = Unit
private const val free = &quot;Of course, &quot;
private const val charge = &quot;sir!&quot;

fun main() {
    translate Android app with Localazy {
        free of charge
    }
}
</code></pre>
<p>See the <a href="https://github.com/localazy/localazy-kotlin-trivia/tree/master/kotlin-trivia-1">whole project on Github</a>.</p>
<p>Sometimes, this can be very handy to make your code clear.</p>
<p>Do you like it? Do you have your own trivia? Let us know!</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/fe217124-39ee-4e12-80c7-0852c36fe85a" length="0" type="image//assets/fe217124-39ee-4e12-80c7-0852c36fe85a"/>
        </item>
        <item>
            <title><![CDATA[How to track your international app marketing with Terminus App]]></title>
            <link>https://localazy.com/blog/how-to-track-your-international-app-marketing-with-terminus-app</link>
            <guid isPermaLink="false">how-to-track-your-international-app-marketing-with-terminus-app</guid>
            <pubDate>Mon, 11 Mar 2024 08:47:40 GMT</pubDate>
            <description><![CDATA[Have you ever though about how online marketers do their job the right way? Find out how to increase return on investment in your international app marketing with proper strategy, tactics, and tools.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Read about the experience of Puru Choudhary, founder and CEO of <a href="https://www.terminusapp.com" target="_blank">Terminus App</a>, UTM URL builder used by leading companies worldwide.</p>
<h2 id="tracking-analysis-and-optimization-is-a-key" id="tracking-analysis-and-optimization-is-a-key">Tracking, analysis and optimization is a key <a class="markdownit-header-anchor" href="#tracking-analysis-and-optimization-is-a-key">🔗</a></h2>
<p>Mobile app marketing can be tricky enough for single developers who focus on app development. App promotion and marketing can be a daunting activity which requires a lot of attention. Moreover, the campaign tracking &amp; optimization process has to be in place from the very start. There is no other ideal time than before you start to gain traction.
While there are a plethora of in-app analysis tools such as Amplitude, AppMetrica and business intelligence tools such as AppAnnie, campaign management impact on the app success is sometimes underestimated.</p>
<h2 id="how-can-utm-campaign-parameters-help-with-the-globalization-of-mobile-apps" id="how-can-utm-campaign-parameters-help-with-the-globalization-of-mobile-apps">How can UTM campaign parameters help with the globalization of mobile apps? <a class="markdownit-header-anchor" href="#how-can-utm-campaign-parameters-help-with-the-globalization-of-mobile-apps">🔗</a></h2>
<p>Many mobile app developers and owners do realize the importance of product globalization to increase their app market share. Part of the globalization strategy is localization for different locations, cultures, languages, including marketing. However, many single mobile app developers can not afford localization teams, and they have to decide on how to approach the app localization itself carefully.</p>
<p>One can get easily lost in all different app flavors, microsites, promotion channels and campaigns. Information management is crucial not only for a broad overview but also for <a href="https://www.terminusapp.com/blog/category/launching-a-powerful-marketing-campaign/" target="_blank">launching a robust marketing campaign</a>. UTM parameters serve as a carrier to provide information for analytic tools. Once you have correct data in the analytic tool, you are halfway to desired results.</p>
<p><img src="https://directus9.localazy.com/assets/d0b650ac-0daf-489e-aa13-7bba5dfc66f0" alt="Terminus is proven by giants"></p>
<h2 id="what-should-be-the-primary-concern-of-any-single-app-developer-who-would-like-to-manage-promotion-campaigns-effectively" id="what-should-be-the-primary-concern-of-any-single-app-developer-who-would-like-to-manage-promotion-campaigns-effectively">What should be the primary concern of any single app developer who would like to manage promotion campaigns effectively? <a class="markdownit-header-anchor" href="#what-should-be-the-primary-concern-of-any-single-app-developer-who-would-like-to-manage-promotion-campaigns-effectively">🔗</a></h2>
<p>It is so easy to say for yourself: Hey, I will start the campaign now and later on, I will see how it can be improved — one of the most dangerous misconceptions. Campaign attribution data are crucial to the campaign success from the very start; otherwise, you are blind, and your critical decisions are based only on guesswork.</p>
<h2 id="puru-is-it-possible-to-use-terminus-app-utm-url-builder-and-google-firebase-dynamic-links-together" id="puru-is-it-possible-to-use-terminus-app-utm-url-builder-and-google-firebase-dynamic-links-together">Puru, is it possible to use Terminus App UTM URL builder and Google Firebase Dynamic Links together? <a class="markdownit-header-anchor" href="#puru-is-it-possible-to-use-terminus-app-utm-url-builder-and-google-firebase-dynamic-links-together">🔗</a></h2>
<p>Because <a href="https://firebase.google.com/docs/dynamic-links/analytics" target="_blank">Firebase Dynamic Links do not support custom campaign attribution</a> on their own, you will need to pass your data to Google Analytics with proper campaign attribution parameters. And here Terminus App comes to help manage consistency of your parameter settings. A common practice was to manage all of those in sheets, but nowadays, the best practice is using a proper UTM builder, like Terminus App.</p>
<h2 id="is-terminus-app-ready-to-serve-single-customers-or-do-you-focus-on-teams" id="is-terminus-app-ready-to-serve-single-customers-or-do-you-focus-on-teams">Is Terminus App ready to serve single customers, or do you focus on teams? <a class="markdownit-header-anchor" href="#is-terminus-app-ready-to-serve-single-customers-or-do-you-focus-on-teams">🔗</a></h2>
<p>While it is capable of serving large companies who organize their campaigns across many different countries, Terminus App UTM Builder is great also for single users. Just give a try to our personal account, and you will see for yourself. There is rich documentation to learn the ropes quickly, and you can use just the essential features to quickly lift-off your campaign tracking.</p>
<h2 id="how-to-start-tracking-campaign-utms-with-terminus-app" id="how-to-start-tracking-campaign-utms-with-terminus-app">How to start tracking campaign UTMs with Terminus App? <a class="markdownit-header-anchor" href="#how-to-start-tracking-campaign-utms-with-terminus-app">🔗</a></h2>
<p>The process is pretty straightforward if you need to start with essential settings. Find out more about TerminusApp in the video below or in the <a href="https://www.terminusapp.com/blog/utm-hub/" target="_blank">UTM hub</a>, where you will find all information necessary about UTM tracking.</p>
<p>Terminus UTM Builder Quick Demo and Features Overview</p>
<iframe width="100%" height="460" src="https://www.youtube.com/embed/fNZILn6Zqek" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h2 id="does-terminus-app-also-work-on-mobile-devices" id="does-terminus-app-also-work-on-mobile-devices">Does Terminus App also work on mobile devices? <a class="markdownit-header-anchor" href="#does-terminus-app-also-work-on-mobile-devices">🔗</a></h2>
<p>Of course, Terminus App is responsive and ready to serve.</p>
<h2 id="you-have-some-great-clients-using-the-product-how-did-it-happen-to-have-such-success-maybe-you-have-rich-prior-experience-in-digital-marketing" id="you-have-some-great-clients-using-the-product-how-did-it-happen-to-have-such-success-maybe-you-have-rich-prior-experience-in-digital-marketing">You have some great clients using the product. How did it happen to have such success? Maybe you have rich prior experience in digital marketing? <a class="markdownit-header-anchor" href="#you-have-some-great-clients-using-the-product-how-did-it-happen-to-have-such-success-maybe-you-have-rich-prior-experience-in-digital-marketing">🔗</a></h2>
<p>I don’t have any formal background in digital marketing. I studied circuit design and then switched to become a software engineer. I’m still a software engineer and do a lot of coding for Terminus. I realized there was a potential in creating a formal UTM URL building solution and worked towards it for many years. Terminus was launched in early 2014, but most of the growth has happened in the last 2 years.</p>
<h2 id="localazy-audience-is-full-of-developers-would-you-like-to-share-your-tech-stack-so-they-can-see-what-is-under-the-hood" id="localazy-audience-is-full-of-developers-would-you-like-to-share-your-tech-stack-so-they-can-see-what-is-under-the-hood">Localazy audience is full of developers. Would you like to share your tech stack so they can see what is under the hood? <a class="markdownit-header-anchor" href="#localazy-audience-is-full-of-developers-would-you-like-to-share-your-tech-stack-so-they-can-see-what-is-under-the-hood">🔗</a></h2>
<p>Terminus App uses Ruby on Rails as the main framework. Some of the frontend parts use React, Webpacker, Jquery, HAML, SASS, etc. It’s hosted on Amazon Web Services.</p>
<h2 id="do-you-have-api-access-available" id="do-you-have-api-access-available">Do you have API access available? <a class="markdownit-header-anchor" href="#do-you-have-api-access-available">🔗</a></h2>
<p>There is no API available at this moment.</p>
<h2 id="your-app-can-be-less-affordable-for-single-developers-especially-those-who-wait-for-their-app-to-skyrocket-is-there-any-option-for-them-to-make-terminus-app-more-accessible" id="your-app-can-be-less-affordable-for-single-developers-especially-those-who-wait-for-their-app-to-skyrocket-is-there-any-option-for-them-to-make-terminus-app-more-accessible">Your app can be less affordable for single developers, especially those who wait for their app to skyrocket. Is there any option for them to make Terminus App more accessible? <a class="markdownit-header-anchor" href="#your-app-can-be-less-affordable-for-single-developers-especially-those-who-wait-for-their-app-to-skyrocket-is-there-any-option-for-them-to-make-terminus-app-more-accessible">🔗</a></h2>
<p>Our plans start at only $29/month. Also, users can publish an honest review of Terminus App, and receive six months of use entirely for free. Just contact me, and we can talk about it.</p>
<h2 id="how-can-your-users-calculate-roi-of-purchasing-your-app-how-would-you-recommend-them-to-use-terminus-app-to-get-the-most-out-of-it-ideally-in-a-way-that-the-tool-will-pay-for-itself" id="how-can-your-users-calculate-roi-of-purchasing-your-app-how-would-you-recommend-them-to-use-terminus-app-to-get-the-most-out-of-it-ideally-in-a-way-that-the-tool-will-pay-for-itself">How can your users calculate ROI of purchasing your app? How would you recommend them to use Terminus App to get the most out of it, ideally in a way that the tool will pay for itself? <a class="markdownit-header-anchor" href="#how-can-your-users-calculate-roi-of-purchasing-your-app-how-would-you-recommend-them-to-use-terminus-app-to-get-the-most-out-of-it-ideally-in-a-way-that-the-tool-will-pay-for-itself">🔗</a></h2>
<p>Time and energy units of every single human are limited. Ask yourself what the price of your working hour is. What is the cost of switching attention? Then you will probably find out that having a precise, consistent data will save your time, energy and focus. You will optimize your campaign effectiveness. Money saved is money earned. However, if you are on a shoestring budget as many startups are, get your account, go to pricing, and in the footer, you will find a notice to contact me.</p>
<p><img src="https://d12ue6f2329cfl.cloudfront.net/blog/wp-content/uploads/2019/09/UTM-Parameters-Infographic-BlueB-01-e1569876435423.jpg" alt="UTM parameters infographic"></p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
        </item>
        <item>
            <title><![CDATA[How to localize your mobile app as a single developer?]]></title>
            <link>https://localazy.com/blog/how-to-localize-mobile-app-as-a-single-developer</link>
            <guid isPermaLink="false">how-to-localize-mobile-app-as-a-single-developer</guid>
            <pubDate>Mon, 11 Mar 2024 15:36:24 GMT</pubDate>
            <description><![CDATA[How is this App localization tutorial different from all the other ones available on the net? This one is for single developers from the very scratch. No hassle or generalizations.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Are you a single mobile app developer, maybe a part of the small digital team? You are not alone who may want to <a href="/blog/how-to-translate-android-app-easier-than-ever-before">manage app localization easier</a> and provide better service to international userbase despite the absence of localization manager.</p>
<p>For developers who target international mobile apps market, <a href="/blog/introduction-into-gilt-for-developers">Globalization, Internationalization, Localization, Translation (GILT)</a> is one of the challenges on their way to success.</p>
<blockquote>
<p>The global mobile application market size was valued at $106.27 billion in 2018, and projected to reach $407.31 billion by 2026, growing at a CAGR of 18.4% from 2019 to 2026. source: <a href="https://www.alliedmarketresearch.com/mobile-application-market" target="_blank">Allied Market Research</a></p>
</blockquote>
<p>Both Google Play and Apple App Store are now available in almost every corner of the world. Apple supports 155 countries in 28 languages and Google Play has free applications available worldwide in 46 different languages.
Read more on how you can localize your mobile app on <a href="https://blog.getsocial.im/app-localization-what-does-it-mean-and-how-to-implement-it/">GetSocial’s blog</a>.</p>
<h2 id="how-to-localize-mobile-app-on-a-shoestring-budget" id="how-to-localize-mobile-app-on-a-shoestring-budget">How to localize mobile app on a shoestring budget <a class="markdownit-header-anchor" href="#how-to-localize-mobile-app-on-a-shoestring-budget">🔗</a></h2>
<p>Making your mobile app globally ready, not only available, can easily cost you anything from hundreds to thousands of dollars. While app translation into two or three languages is not as painful as making the app localized for tens or even hundreds of available languages across the globe, every minute and penny spend counts where you are just one person or a small team.</p>
<p>How many phrases do you have? And how much to pay for those translations? That is a good question.</p>
<p>See <a href="https://search.proz.com/?sp=pfe/rates" target="_blank">average rates for translation</a> on Proz</p>
<p>Manage your phrases with Localazy and <a href="/pricing">save up to 50% of your translation costs</a> across tens of languages.</p>
<p><img src="https://directus9.localazy.com/assets/36777021-d40d-4055-ac9f-1f8c7b4b4942" alt="Translate mobile app"></p>
<h3 id="shoestring-budget-does-not-have-to-result-in-low-quality" id="shoestring-budget-does-not-have-to-result-in-low-quality">Shoestring budget does not have to result in low quality <a class="markdownit-header-anchor" href="#shoestring-budget-does-not-have-to-result-in-low-quality">🔗</a></h3>
<p>When it comes to <a href="/blog/invest-into-quality-app-translations">quality assurance in localization</a>, one could find a whole plethora of stories when <a href="/blog/introduction-to-translation-glossary-best-practices">localization went wrong</a> the crazy way.</p>
<p>Vaclav Hodek, the <a href="https://www.crunchbase.com/person/v%C3%A1clav-hodek-2">founder of Localazy</a>, knows this very well. As a single developer, he managed to build up a massive userbase of 7,5 million users for his <a href="/blog/how-i-converted-floating-apps-to-localazy">Floating Apps</a>.</p>
<p>But Vaclav is not alone at all. Read more stories here:</p>
<ul>
<li><a href="/blog/interview-with-teo-coding-author-of-birthday-reminder-app">Story of Teo Coding</a></li>
<li><a href="/blog/about-modern-tech-stack-of-autotagger-app-and-more-with-sergey-chuprin">About modern tech stack of autotagger with Sergey Chuprin</a></li>
<li><a href="/blog/open-invitation-to-interview-for-developers">Share your story</a></li>
</ul>
<p>While localization takes more than just translation, t9n is of vital importance and sometimes the only thing a small team can do to reach and serve an international community.</p>
<p>And that is the reason why Localazy is an excellent fit for you. Based on the real needs of a single developer with a globally available app, Vaclav always struggled to manage the whole app translation management. Primarily but not exclusively, the review process was a pain with other mobile app translation tools on the market.</p>
<p><img src="https://directus9.localazy.com/assets/d5bc2c37-5d23-4a96-a596-3ce5e02a63dc" alt="Floating apps"></p>
<p><a href="https://blog.floatingapps.net/2020/04/for-android-developers-translate-your-app-easily-the-same-way-floating-apps-is-translated/">Floating Apps</a>, already translated into 30 languages at the time of implementation, was already a widely used app across different device types with a lot of requirements.
Localazy is <strong>mobile app translation</strong> solution on your table
If there were only three things Vaclav could say about what made the translations a breeze, he would say:</p>
<h3 id="full-application-ota-translation-updates" id="full-application-ota-translation-updates">Full application OTA translation updates <a class="markdownit-header-anchor" href="#full-application-ota-translation-updates">🔗</a></h3>
<p>There are a plethora of solutions for XML resource translation, but none of them is capable of translating all, even the special parts of your app. Localazy can translate and update all translations on-line just with a single click (or automatic updates, if configured so). All you need is to integrate Localazy via our plugins and libraries.</p>
<h3 id="proactive-translation-review-process" id="proactive-translation-review-process">Proactive translation review process <a class="markdownit-header-anchor" href="#proactive-translation-review-process">🔗</a></h3>
<p>When you have that spare time to visit your translation platform, you want to know immediately what happened, where and when it happened by who. In other words, the review process is usually prolonged and full of actions which can be automated, delegated or eliminated.
Localazy’s proactive review process not only helps to get rid of unnecessary operations, but it also <a href="/dictionary/continuous-improvement">continuously improves</a> your current translations.
No need to lock translations to prevent things from getting wrong. You can keep them unlocked, and only useful improvements will pass.</p>
<h3 id="app-translation-money-saver" id="app-translation-money-saver">App translation money saver <a class="markdownit-header-anchor" href="#app-translation-money-saver">🔗</a></h3>
<p>As a highly specialized mobile app translation service provider, Localazy is a platform which follows the culture well known from Github, for example. We, developers, love to share code. So why do not share translations?
It is possible to provide high accuracy app translations because Localazy translates only mobile apps. We do not offer translations of other types of content, and thus our shared translation memory <a href="/dictionary/sharetm">ShareTM</a> is a perfect fit for all mobile apps, saving up to 50% of translation costs across 80+ languages just because our niche is specific.
We want to save your money on human translations and time on review process. And we go even further. If we find there are phrases used across many apps, we donate high-quality translations of those phrases, so all of our users can benefit and provide translations even into the less common languages.</p>
<p><img src="https://directus9.localazy.com/assets/ccba8613-4531-4121-aeb6-82b32cdafee8" alt="string resources OTA updates"></p>
<ul>
<li>Read more on <a href="/docs/general/how-our-cloud-pricing-works">Localazy cloud based pricing policy</a></li>
</ul>
<h2 id="easier-app-translation-than-ever-before" id="easier-app-translation-than-ever-before">Easier app translation than ever before <a class="markdownit-header-anchor" href="#easier-app-translation-than-ever-before">🔗</a></h2>
<iframe width="100%" height="460" src="https://www.youtube.com/embed/1BqB1GO-oFU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/b2b3eff2-0b2b-4115-aa77-0814d63a22a7" length="0" type="image//assets/b2b3eff2-0b2b-4115-aa77-0814d63a22a7"/>
        </item>
        <item>
            <title><![CDATA[Multilingual Mobile App Development and Marketing]]></title>
            <link>https://localazy.com/blog/multilingual-mobile-app-development-and-marketing</link>
            <guid isPermaLink="false">multilingual-mobile-app-development-and-marketing</guid>
            <pubDate>Mon, 06 Apr 2020 12:16:53 GMT</pubDate>
            <description><![CDATA[How mobile development and marketing can support each other? Find out!]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Development and marketing are two sides of the same dice. All the sides are needed (not only those two aforementioned) to play a game in the growing market.</p>
<h2 id="localazy-can-help-with-app-localization" id="localazy-can-help-with-app-localization">Localazy can help with app localization <a class="markdownit-header-anchor" href="#localazy-can-help-with-app-localization">🔗</a></h2>
<p>For every mobile marketer, localization, including translation, is a key performance driver proven to increase measurable business goal metrics such as click-through rates and eventually conversions.</p>
<p>Smartphone usage is growing globally as the global digital population grows (<a href="https://www.statista.com/statistics/617136/digital-population-worldwide/" target="_blank">4.18 billion people were active mobile internet users as of January 2020</a>). It truly makes a difference to think about GILT already in the early phase of app development.</p>
<h3 id="what-app-localization-does-mean" id="what-app-localization-does-mean">What App localization does mean? <a class="markdownit-header-anchor" href="#what-app-localization-does-mean">🔗</a></h3>
<p>To localize the app, it means to align the app with a particular culture. You have to not only translate all the language string resources of an app to target language from the source language but also align your app with other cultural requirements – from currency to colour conceptions, laws and habits. From the perspective of a developer, this means a developer must think about how dynamic the app logic must be to provide enough flexibility for UI and UX arrangements.</p>
<h3 id="common-localization-challenges-for-developers-and-marketers" id="common-localization-challenges-for-developers-and-marketers">Common Localization challenges for developers and marketers <a class="markdownit-header-anchor" href="#common-localization-challenges-for-developers-and-marketers">🔗</a></h3>
<p>Localization mistakes are one of the top reasons for an app to get rejected from the App store. To name just a few samples of how localization can get wrong:</p>
<ul>
<li>RTL/LTR text orientation,</li>
<li>wrong currency settings (i.e. when you show different currency unit),</li>
<li>expansion and contraction of phrase length among many languages,</li>
<li>poor app flavor support,</li>
<li>and many other potential issues to be prevented.</li>
</ul>
<p>And this is just a very start! Let’s find out some of the most common challenges and how Localazy can help you take care, at least, of some of these.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p><strong>Mobile App translation as a part of a localization</strong></p>
<p>As you already know, translation is not the only activity of localization. However, it brings in a whole plethora of challenges to overcome.</p>
</div><h4 id="perpetual-and-never-ending-xml-reloading">Perpetual and never-ending XML reloading</h4>
<p>When your app grows up, and especially if there are app flavors as well, sooner or later you will get really annoyed by manual handling of your externalized strings files. This is, based on our research, one of the most painful activities of mobile app translation management.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>With Localazy, you do not have to manually handle any files. Integrate our Gradle plugin for Android and upload directly with a single click directly from your development environment. Easily upload even minor updates and translators have more time to deliver translations of high quality.</p>
</div><h4 id="flavors">Flavors</h4>
<p>Do you have special app flavors for different devices? Then you know the localization is even more demanding process.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Localazy will manage flavors automatically.</p>
</div><h4 id="private-strings">Private strings</h4>
<p>It can be sometimes tricky and especially time demanding to filter out all private strings.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Private strings can be filtered out in different ways with Localazy. Moreover, the majority of common private strings such as Ad Id, Facebook App Id and other ones will be automatically detected due to our advanced analysis.</p>
</div><h4 id="libraries-and-modules">Libraries and modules</h4>
<p>When it comes to library and module translations, it can get easily tricky to manage.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>In Localazy, you can simply add them to Gradle, and that is it.</p>
</div><h4 id="translation-platforms-missing-context">Translation platforms missing context</h4>
<p>Sometimes it is really hard for translation contributor to get into the right context of the translated phrase. Translation platforms with side spread of provided translation capabilities lack focus and integrity required for mobile app translations.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>With Localazy, app developers get helpful questions for a quick reply, and contributors receive helpful context information.</p>
</div><h4 id="translation-review-annoying-routine-turns-into-lower-quality">Translation review - annoying routine turns into lower quality</h4>
<p>Translation review is one of the most boring things for every developer and also for an editor, proofreader and translator. From the perspective of a single app developer or a small digital teams, there is no proofreader/editor always available and time spent on this boring routine is something postponed and relocated to other priorities. For that reason, quality assurance is not always in the top condition and translations can include errors.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>With Localazy, the translation review process activities are eliminated, automated and delegated as much as they can be. Plus, the review process is sort of asynchronous, the review screen is easy to use, and reviews can be done in a quick way.
We require you to review all phrases in order to push them into production. The process is proactive and helps you all the time to get things done fast. Clearly defined QA and accurate report on what happened from the last check will make it easy for you to prioritize your tasks. No need to seek what turned bad, Localazy will tell you.</p>
</div><h4 id="prioritized-phrase-translations">Prioritized Phrase Translations</h4>
<p>Nothing beats the feeling when a contributor can see the results.
Unfortunately, there was no simple way on how to find out, in realtime, which phrases need to be translated and reviewed first.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Localazy translation engine is rewarding for all parties. Based on telemetric data, our translation interface will automatically set up phrase priority, so the most important phrases get processed first.</p>
</div><iframe width="100%" height="460" src="https://www.youtube.com/embed/45yeEcVmYck" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h2 id="mobile-app-marketing-overview" id="mobile-app-marketing-overview">Mobile App Marketing Overview <a class="markdownit-header-anchor" href="#mobile-app-marketing-overview">🔗</a></h2>
<p>Marketing; promotion; expansion; monetization; Whole ocean to be explored in upcoming blog posts. Although, there are some proven or disruptive mobile app marketing strategies ready to help your app skyrocket. The global mobile app revenue pie is huge and growing (581.9 B USD in 2020 and 935.2 B USD in 2023), and you are going to take your piece. We are here to help.</p>
<h3 id="the-first-strategy-to-mention-is-gilt" id="the-first-strategy-to-mention-is-gilt">The first strategy to mention is GILT. <a class="markdownit-header-anchor" href="#the-first-strategy-to-mention-is-gilt">🔗</a></h3>
<p>GILT stands for Globalization, Internationalization, Localization and Translation. Read more on <a href="/blog/introduction-into-gilt-for-developers">what GILT is from the perspective of a mobile app developer</a>.</p>
<p>The GILT strategy is one of the most effective ones because well-executed GILT does have a sort of higher requirements to enter this competitive advantage. Taking care of <a href="/blog/invest-into-quality-app-translations">Quality Assurance</a> and continuous improvement <a href="/blog/improve-mobile-app-localization-efficiency-with-localazy">increase efficiency</a> requirements, especially for single mobile app developers such as <a href="/blog/about-modern-tech-stack-of-autotagger-app-and-more-with-sergey-chuprin">Sergey Chuprin</a> and small digital teams.</p>
<h4 id="gilt-can-include-some-of-these-key-activities">GILT can include some of these key activities</h4>
<ul>
<li>App store listing optimization</li>
<li>App localization</li>
<li>App translation</li>
</ul>
<h3 id="content-marketing" id="content-marketing">Content Marketing <a class="markdownit-header-anchor" href="#content-marketing">🔗</a></h3>
<h4 id="pre-launch-content">Pre-launch content</h4>
<p>Not every app launch is made equal, nor the discoverability is the same for all apps. There are two main components, or views.</p>
<h5 id="content-to-engage-with-your-users-from-the-very-start">Content to engage with your users from the very start</h5>
<p>The empty app is a useless app. But it actually does not end here. If you are going to provide your users with extraordinary service to ensure full customer satisfaction, you will probably need to do more.</p>
<ul>
<li>Do not forget about <a href="/docs">documentation</a></li>
<li>Your own <a href="/blog">blog</a> with help with content marketing</li>
<li>App website such as <a href="https://www.floatingapps.net">FloatingApps</a> one is a must</li>
</ul>
<h4 id="discoverability-of-the-app">Discoverability of the app</h4>
<p>About 40% of users find your app in the app store. And the remaining 60%? Other channels, including search. 1 of 4 users will probably find your app during the online search to solve an actual need, especially if your app is focused on a particular location, for example. PWA developers know this – The strength of PWA apps is that they can be indexed by search engines, while the content of native apps can not.</p>
<p>For example - you are a wedding planner, just paid thousands for your brand new native mobile app for the wedding and you would love to attract more users. There are several options!</p>
<p><a href="https://www.thinkwithgoogle.com/consumer-insights/mobile-app-marketing-insights/" target="_blank">App discovery does not happen just in the app store!</a></p>
<h5 id="owned-media">Owned media</h5>
<ul>
<li>mobile app microsite</li>
<li>blog</li>
<li>newsletter</li>
<li>your shirt, car, …</li>
</ul>
<h5 id="gained-media">Gained media</h5>
<ul>
<li>guest blogs</li>
<li>brand mentions</li>
<li>unpaid social media</li>
</ul>
<h5 id="paid-media">Paid media</h5>
<ul>
<li>in-app ads</li>
<li>app promotions</li>
<li>paid search and display</li>
<li>PR outlets</li>
</ul>
<h3 id="influencer-marketing" id="influencer-marketing">Influencer marketing <a class="markdownit-header-anchor" href="#influencer-marketing">🔗</a></h3>
<p>While a subject to many disputes regards the ROI measurability, there was a definitely trend going on with influencer marketing. The meaning behind buzzword of the last few years is here with us much longer, known as word of mouth and is definitely one of the most powerful marketing tools. The only difference is that the communication channel shifted from brick world talks to social with a much higher outreach.</p>
<p>A single podcast can get you an audition of thousands. One-to many word-of-mouth! France in XXI Century. This was a series of futuristic pictures issued in France in 1899, 1900, 1901 and 1910, originally in the form of paper cards enclosed to cigarette/cigar boxes and, later, as postcards. They depicted the world of the future, in 2000.</p>
<p><img src="https://directus9.localazy.com/assets/f6466a4d-1b58-49dc-a0d7-a4b0ecd6162c" alt="France in XXI Century. This was a series of futuristic pictures issued in France in 1899, 1900, 1901 and 1910, originally in the form of paper cards enclosed to cigarette/cigar boxes and, later, as postcards. They depicted the world of the future, in 2000."></p>
<h2 id="read-more-interesting-content-on-multilingual-apps-and-more" id="read-more-interesting-content-on-multilingual-apps-and-more">Read more interesting content on multilingual apps and more <a class="markdownit-header-anchor" href="#read-more-interesting-content-on-multilingual-apps-and-more">🔗</a></h2>
<ul>
<li><a href="https://www.businessofapps.com/data/app-statistics/">App download and usage statistics</a></li>
<li><a href="/blog/how-i-converted-floating-apps-to-localazy">How I converted floating apps to Localazy</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
        </item>
        <item>
            <title><![CDATA[How to translate your Android app easier than ever before?]]></title>
            <link>https://localazy.com/blog/how-to-translate-android-app-easier-than-ever-before</link>
            <guid isPermaLink="false">how-to-translate-android-app-easier-than-ever-before</guid>
            <pubDate>Mon, 11 Mar 2024 09:00:50 GMT</pubDate>
            <description><![CDATA[How to translate Android app without pain, easily and for a bargain? Try Localazy.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>There is a dozen of tutorials on <strong>how to translate android app</strong>, however many of them are sort of complicated. Honestly, accurate Android app translation is not an easy task. All of the tutorials require quite a load of labour and do not resolve things you will have to take care of, sooner or later.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>So why to choose the one from Localazy? With this tutorial, you will save a tremendous amount of time and other precious resources among your journey of mobile app localization.</p>
</div><p>Our tutorial is not the one on <strong>how to translate the mobile app</strong> entirely for free. Of course, small apps, indie, nonprofit or academic ones are something we support. And even if you are just an app waiting for its skyrocketing success, <a href="/pricing">Localazy pricing</a> is ready for single developers and small digital teams in mind. Do not worry; a small investment will pay off in no time, and you can benefit from 30 days of a free trial.</p>
<h2 id="android-app-translation-in-minutes-for-sure" id="android-app-translation-in-minutes-for-sure">Android app translation in minutes? For sure! <a class="markdownit-header-anchor" href="#android-app-translation-in-minutes-for-sure">🔗</a></h2>
<p>Do you know what our users love about Localazy? It is a <strong>smooth integration</strong>. There are no tedious and annoying translation file handling operations at all. You can translate everything in the app, no exclusions. You can get new translations to your users in realtime using our OTA updates. You can integrate easily with our <a href="/docs/android/localazy-gradle-plugin">Localazy Gradle plugin</a>. And that is just a beginning.</p>
<h2 id="translate-dozens-of-languages-at-once-yes-with-localazy" id="translate-dozens-of-languages-at-once-yes-with-localazy">Translate dozens of languages at once? Yes with Localazy. <a class="markdownit-header-anchor" href="#translate-dozens-of-languages-at-once-yes-with-localazy">🔗</a></h2>
<p>The smart secret of Localazy lies in the <strong>shared translation memory</strong>. Our ShareTM includes, by the date of this article publishing, over 15 millions of translated phrases. We can help you with a plethora of languages just from the very start. There are <a href="https://www.iso.org/iso-639-language-codes.html" target="_blank">over five hundred ISO 639 covered languages</a> worldwide. While it is not realistic to provide you with complete translations to all possible languages, give us a try and connect your app to Localazy. We will analyze your app strings, and you will get, instantly, a list of languages with % representation of translations you can get immediately for your review.</p>
<h2 id="localazy-is-more-than-just-a-machine-translation" id="localazy-is-more-than-just-a-machine-translation">Localazy is more than just a machine translation <a class="markdownit-header-anchor" href="#localazy-is-more-than-just-a-machine-translation">🔗</a></h2>
<p>While we do utilize machine translation to aid your translation review process (and more coming soon), our automated translations are not based just on machine translations, but on actual apps and human-involved translation processes. All you get is from Localazy community.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>If you decide to join Localazy ShareTM, you can benefit from it!</p>
</div><h2 id="three-simple-steps-to-translate-android-app" id="three-simple-steps-to-translate-android-app">Three simple steps to translate Android app <a class="markdownit-header-anchor" href="#three-simple-steps-to-translate-android-app">🔗</a></h2>
<h3 id="get-your-localazy-account" id="get-your-localazy-account">Get your Localazy account <a class="markdownit-header-anchor" href="#get-your-localazy-account">🔗</a></h3>
<p>Head directly to our registration page and get your account registered in no time.</p>
<h3 id="follow-the-integration-wizard" id="follow-the-integration-wizard">Follow the integration wizard <a class="markdownit-header-anchor" href="#follow-the-integration-wizard">🔗</a></h3>
<p>There are four steps which will help you integrate with Localazy.</p>
<h3 id="choose-your-languages-and-get-the-work-done" id="choose-your-languages-and-get-the-work-done">Choose your languages and get the work done <a class="markdownit-header-anchor" href="#choose-your-languages-and-get-the-work-done">🔗</a></h3>
<p>Once integrated, <strong>Localazy will analyze your app</strong>, and in a few minutes, you will be able to add new languages, start with translation and review process.</p>
<h2 id="go-above-and-beyond-with-localazy" id="go-above-and-beyond-with-localazy">Go above and beyond with Localazy <a class="markdownit-header-anchor" href="#go-above-and-beyond-with-localazy">🔗</a></h2>
<p>Our CEO and founder of Localazy, VÁCLAV HODEK, an app developer on his own, is a vetted expert from times when even an Android has not existed yet.
Get the advantage and learn in our <a href="/docs">documentation</a>. You can read <a href="%7Bblog">blog posts</a> on related topics such as globalization, internationalization, app monetization, international mobile app marketing and others.</p>
<iframe width="100%" height="460" src="https://www.youtube.com/embed/45yeEcVmYck" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/79b87f7f-d79a-4199-95cf-18a33ebbc75d" length="0" type="image//assets/79b87f7f-d79a-4199-95cf-18a33ebbc75d"/>
        </item>
        <item>
            <title><![CDATA[About modern tech stack of AutoTagger App and more with Sergey Chuprin]]></title>
            <link>https://localazy.com/blog/about-modern-tech-stack-of-autotagger-app-and-more-with-sergey-chuprin</link>
            <guid isPermaLink="false">about-modern-tech-stack-of-autotagger-app-and-more-with-sergey-chuprin</guid>
            <pubDate>Mon, 29 Nov 2021 13:06:56 GMT</pubDate>
            <description><![CDATA[Interview with mobile app developer SERGEY CHUPRIN is here to help you understand why app AutoTagger - automatic and batch music tag editor is the one you might want to choose to help you with your music collection management.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>In this article, you will find out some behind the curtain information. Feel free to brew your cup of hot drink and read an inspirational story of SERGEY CHUPRIN, the author of AutoTagger.</p>
<h3 id="where-the-idea-comes-from-for-your-autotagger-mobile-app" id="where-the-idea-comes-from-for-your-autotagger-mobile-app">Where the idea comes from for your AutoTagger mobile app? <a class="markdownit-header-anchor" href="#where-the-idea-comes-from-for-your-autotagger-mobile-app">🔗</a></h3>
<p>The idea had come to me in times when I was a student. I used to love to listen to music on my <a href="/android">android</a> device, but I was tired of the lack of metadata in the music files I listened to. I’ve used Poweramp player those times, and it had a feature allowing me to download cover arts for my songs, but every time I’ve had changed my phone or reinstalled the app, they were gone.</p>
<p>So I’ve decided to create an app for filling this gap. I wanted to organise my music automatically and grab missing music metadata such as cover art, title, artist, album, etc. An audio recognition came to my mind. There was no such music tag editor in Google Play, and I’ve started creating my own. Also, it was a great chance to get familiar with <a href="/dictionary/android">android</a> development in general.</p>
<iframe width="100%" height="400" src="https://www.youtube.com/embed/5sEIuoREIRw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h3 id="can-you-share-your-tech-stack-with-us-do-you-use-java-kotlin-or-something-else" id="can-you-share-your-tech-stack-with-us-do-you-use-java-kotlin-or-something-else">Can you share your tech stack with us? Do you use Java, Kotlin or something else? <a class="markdownit-header-anchor" href="#can-you-share-your-tech-stack-with-us-do-you-use-java-kotlin-or-something-else">🔗</a></h3>
<p>Being that I’ve rewritten AutoTagger 3 times, my current stack is pretty modern:</p>
<ul>
<li>100% Kotlin</li>
<li>Custom MVI implementation for presentation layer architecture</li>
<li>Clear architecture approach for the business logic organisation</li>
<li>High AndroidX usage</li>
<li>Android Architecture components</li>
<li>Dagger 2 for dependency injection</li>
<li>RxJava 2 for data streams</li>
<li>Room and StorIO for persistency</li>
<li>Retrofit for networking</li>
<li>Spek and MockK for unit tests</li>
<li>And other exciting stuff like ViewPager2, Material Components and e.t.c
¨</li>
</ul>
<h3 id="do-you-use-firebase-or-similar-services" id="do-you-use-firebase-or-similar-services">Do you use Firebase or similar services? <a class="markdownit-header-anchor" href="#do-you-use-firebase-or-similar-services">🔗</a></h3>
<p>Yep, I use multiple analytic trackers: <a href="/dictionary/amplitude">Amplitude</a> as a primary tracker, <a href="/dictionary/firebase">Firebase</a> and AppMetrica. Also, I have my custom solution for tracking different app usage metrics to analyse user’s behaviour inside the app. This helps me to do exciting things like showing a promo banner to the user or show app rating request.</p>
<h3 id="would-you-recommend-some-cool-libraries-to-your-fellow-developers" id="would-you-recommend-some-cool-libraries-to-your-fellow-developers">Would you recommend some cool libraries to your fellow developers? <a class="markdownit-header-anchor" href="#would-you-recommend-some-cool-libraries-to-your-fellow-developers">🔗</a></h3>
<p>I have some cool Gradle plugins created by me:</p>
<ul>
<li><a href="https://github.com/CleverPumpkin/App-Badge" target="_blank">AppBadge plugin draws app version on the app icon</a></li>
<li><a href="https://github.com/CleverPumpkin/Proguard-Dictionaries-Generator" target="_blank">Proguard Dictionaries generation plugin</a> helps to harden obfuscation to improve protection</li>
<li><a href="https://github.com/EverythingMe/overscroll-decor" target="_blank">Overscroll decorator library</a> to achieve over-scroll effects for lists like in iOS</li>
</ul>
<h3 id="how-many-users-do-you-have" id="how-many-users-do-you-have">How many users do you have? <a class="markdownit-header-anchor" href="#how-many-users-do-you-have">🔗</a></h3>
<p>It’s close to 400k installs I guess. 35k MAU.</p>
<h3 id="why-do-you-want-to-translate-your-app-to-other-languages-do-you-think-it-could-bring-you-more-users-or-you-want-to-improve-the-user-experience-are-your-users-actively-asking-for-translation" id="why-do-you-want-to-translate-your-app-to-other-languages-do-you-think-it-could-bring-you-more-users-or-you-want-to-improve-the-user-experience-are-your-users-actively-asking-for-translation">Why do you want to translate your app to other languages? Do you think it could bring you more users? Or you want to improve the user experience? Are your users actively asking for translation? <a class="markdownit-header-anchor" href="#why-do-you-want-to-translate-your-app-to-other-languages-do-you-think-it-could-bring-you-more-users-or-you-want-to-improve-the-user-experience-are-your-users-actively-asking-for-translation">🔗</a></h3>
<p>Sure, I want users to have a seamless app usage experience with their mother language. And of course, I believe it will bring more users to my app and will increase retention. Very few users are asking for a translation. But some volunteers are appearing from time to time. Despite this, it’s tough to keep strings up-to-date with all updated and new features being rolled out.
    I would say that <a href="/dictionary/translation">translation</a> is my pain №1. When I think about adding a new feature to app, I think how I can translate new strings to combine them into this update without spending a lot of money. My app has ~12 languages, so it’s hard to do.</p>
<p><img src="https://directus9.localazy.com/assets/e49e82e9-2c43-46cc-8304-a65abb3c02ec" alt="AutoTagger"></p>
<h3 id="do-you-have-any-tips-on-monetisation-or-promotion" id="do-you-have-any-tips-on-monetisation-or-promotion">Do you have any tips on monetisation or promotion? <a class="markdownit-header-anchor" href="#do-you-have-any-tips-on-monetisation-or-promotion">🔗</a></h3>
<p>No. I’ve made few attempts to do so but was never really satisfied. I’m only the developer by nature, so it’s hard for me to do such kind of work. Can only say that Reddit is a place where you can catch user attention to your app very simple. The only requirement - your app must be handy. Any promotion of useless app is a waste of money.</p>
<h3 id="what-are-your-goals-with-your-app" id="what-are-your-goals-with-your-app">What are your goals with your app? <a class="markdownit-header-anchor" href="#what-are-your-goals-with-your-app">🔗</a></h3>
<p>I need to feel myself a creator. Need to do something useful to people. Also, I need to live and satisfy my needs (by money).</p>
<h3 id="how-did-you-found-localazy-and-why-you-think-it-is-the-right-fit-for-your-app-localisation" id="how-did-you-found-localazy-and-why-you-think-it-is-the-right-fit-for-your-app-localisation">How did you find Localazy and why do you think it is the right fit for your app localization? <a class="markdownit-header-anchor" href="#how-did-you-found-localazy-and-why-you-think-it-is-the-right-fit-for-your-app-localisation">🔗</a></h3>
<p>Quora I think. I think Localazy is more useful and more affordable for my purposes than some other services I’ve tried.</p>
<h3 id="where-are-you-from" id="where-are-you-from">Where are you from? <a class="markdownit-header-anchor" href="#where-are-you-from">🔗</a></h3>
<p>I am from Russia.</p>
<h3 id="what-do-you-do-when-you-do-not-work-on-autotagger" id="what-do-you-do-when-you-do-not-work-on-autotagger">What do you do when you do not work on AutoTagger? <a class="markdownit-header-anchor" href="#what-do-you-do-when-you-do-not-work-on-autotagger">🔗</a></h3>
<p>It’s another pain point for me because I do programming a lot and often I don’t know what else to do beside programming. Well, sometimes I play computer games, drink beer or just go for a walk. I love nature and traveling.</p>
<h3 id="is-your-app-autotagger-just-a-hobby-or-is-it-able-to-pay-for-its-costs" id="is-your-app-autotagger-just-a-hobby-or-is-it-able-to-pay-for-its-costs">Is your app AutoTagger just a hobby or is it able to pay for its costs? <a class="markdownit-header-anchor" href="#is-your-app-autotagger-just-a-hobby-or-is-it-able-to-pay-for-its-costs">🔗</a></h3>
<p><a href="https://bit.ly/3bR57Mf">AutoTagger</a> is a hobby which has grown to a commercial project that feeds me.</p>
<h3 id="do-you-have-any-other-projects-you-would-like-to-mention" id="do-you-have-any-other-projects-you-would-like-to-mention">Do you have any other projects you would like to mention? <a class="markdownit-header-anchor" href="#do-you-have-any-other-projects-you-would-like-to-mention">🔗</a></h3>
<p>Unfortunately, no, not yet.</p>
<h3 id="what-would-you-like-to-say-to-your-potential-app-users-what-is-the-single-most-crucial-benefit-which-may-be-the-only-reason-to-choose-your-app" id="what-would-you-like-to-say-to-your-potential-app-users-what-is-the-single-most-crucial-benefit-which-may-be-the-only-reason-to-choose-your-app">What would you like to say to your potential app users? What is the single most crucial benefit which may be the only reason to choose your app? <a class="markdownit-header-anchor" href="#what-would-you-like-to-say-to-your-potential-app-users-what-is-the-single-most-crucial-benefit-which-may-be-the-only-reason-to-choose-your-app">🔗</a></h3>
<p>I want to say for all users: don’t be silent, always complain because feedback is king. What about benefits of using my app instead of others: I really do care about user experience, my app has a rich set of features that no one other tag editor has, and it’s well designed. I really enjoy using it.</p>
<h3 id="how-had-you-been-maintaining-multilingual-support-before-youve-opted-for-localazy" id="how-had-you-been-maintaining-multilingual-support-before-youve-opted-for-localazy">How had you been maintaining multilingual support before Localazy? <a class="markdownit-header-anchor" href="#how-had-you-been-maintaining-multilingual-support-before-youve-opted-for-localazy">🔗</a></h3>
<p>OneSky service. But it’s very inconvenient, however free.</p>
<p>Would you love to help SERGEY CHUPRIN with the translation of his app AutoTagger? You can now become a translator, or you can send Sergey a small donation to help make his app better.</p>
<h2 id="autotagger-app" id="autotagger-app">AutoTagger App <a class="markdownit-header-anchor" href="#autotagger-app">🔗</a></h2>
<p>App will help you organize your music collection with ease, find and edit music tags, download high quality cover art.
AutoTagger allows you edit music in batches, change cover art in batches and automatically search tags using music recognition.</p>
<h3 id="edit-any-tags" id="edit-any-tags">Edit any tags <a class="markdownit-header-anchor" href="#edit-any-tags">🔗</a></h3>
<p>📝Editing song title, cover art, artist, album, album artist, year, genre, track number, disc number, comment, lyrics.
App supports editing tags for MP3 (ID3v1, ID3v2), MP4, M4A, FLAC, OGG, WMA, WAV and editing music on SD-card.</p>
<h3 id="auto-tag-search" id="auto-tag-search">Auto tag search <a class="markdownit-header-anchor" href="#auto-tag-search">🔗</a></h3>
<p>🔍App will find tags for your music in seconds and you need only choose best result!</p>
<h3 id="batch-editing" id="batch-editing">Batch editing <a class="markdownit-header-anchor" href="#batch-editing">🔗</a></h3>
<p>📦Edit songs, albums or artists in batch.
Rename your files in batch using customizable patterns.
Also you can set cover art for multiple songs at once.</p>
<h3 id="cover-art-editing" id="cover-art-editing">Cover art editing <a class="markdownit-header-anchor" href="#cover-art-editing">🔗</a></h3>
<p>🎨Automatically and manual downloading high quality cover art, choosing from a gallery.</p>
<h3 id="reliability" id="reliability">Reliability <a class="markdownit-header-anchor" href="#reliability">🔗</a></h3>
<p>🛡️ Music tags and cover art are written directly into files and don’t disappear after files moving or device rebooting.</p>
<p>And more:</p>
<p>⭐ Album tracks numeration.<br>
⭐ Viewing music folders.<br>
⭐ In-built media-scanner.<br>
⭐ Customizable sortings.<br>
⭐ Dark theme.<br>
⭐ Excellent Material Design!</p>
<p>👉Join AutoTagger communities:</p>
<ul>
<li><a href="https://t.me/autotagger" target="_blank">Telegram</a></li>
<li><a href="https://www.facebook.com/autotaggerapp/" target="_blank">Facebook</a></li>
<li><a href="https://vk.com/autotaggerapp" target="_blank">Вконтакте </a></li>
</ul>
<!--kg-card-end: html--><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/e099017c-a1df-4719-88b1-d627768e9bf1" length="0" type="image//assets/e099017c-a1df-4719-88b1-d627768e9bf1"/>
        </item>
        <item>
            <title><![CDATA[Localazy for Contributors]]></title>
            <link>https://localazy.com/blog/localazy-for-contributors</link>
            <guid isPermaLink="false">localazy-for-contributors</guid>
            <pubDate>Sat, 28 Mar 2020 08:48:02 GMT</pubDate>
            <description><![CDATA[How Localazy can make translation contributor's life easier?]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Localazy is a niche-specific translation tool. We specialize in the world of <strong>mobile app localization</strong> to provide the best possible user experience for all parties involved. Universal CAT tools are sophisticated and robust, but they sometimes miss the point of being easy to use.</p>
<p>Localazy contributors can benefit from all standard translation tools, such as a <a href="/docs/general/how-to-define-your-glossary">glossary</a>, translation memory, machine translation help and other means of everyday use. So, what is unique about Localazy? We specialize and focus our best efforts to create advanced, yet easy to use app localization platform.</p>
<p>As of today, you can benefit from <strong>CAT tool for mobile apps</strong> and cooperate with your developer, app owner or just volunteer and help your favourite app get productively translated in other languages.</p>
<h2 id="why-you-might-find-localazy-comfortable" id="why-you-might-find-localazy-comfortable">Why you might find Localazy comfortable? <a class="markdownit-header-anchor" href="#why-you-might-find-localazy-comfortable">🔗</a></h2>
<ul>
<li>Prioritized translations make sure your work makes a real impact</li>
<li>Automatic translation updates make sure your work is available fast</li>
<li>Improved cooperation between content authors and contributors</li>
<li>We help app developers and owners to understand your needs</li>
<li>We have tried many CAT tools from all sides as a team</li>
<li>Thus, we know the pain points, and Localazy is here to fix them.</li>
</ul>
<p>Ask your fellow developer or a client to consider Localazy.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/b56d2568-3198-4761-8f58-7e629507b9e7" length="0" type="image//assets/b56d2568-3198-4761-8f58-7e629507b9e7"/>
        </item>
        <item>
            <title><![CDATA[Get Started With Localazy]]></title>
            <link>https://localazy.com/blog/get-started-with-localazy</link>
            <guid isPermaLink="false">get-started-with-localazy</guid>
            <pubDate>Fri, 27 Mar 2020 15:10:48 GMT</pubDate>
            <description><![CDATA[Mobile app translation tool made with single developers and small digital teams in mind.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Localazy is about localization. Localazy is about translation. Localazy is about simplicity for all parties – contributors, translation managers, app owners and especially mobile app developers.</p>
<p>There is a real need behind Localazy. One of our apps, <a href="https://www.floatingapps.net" target="_blank">FloatingApps</a>, is a flagship which makes sure our service is reliable, safe and easy to work with.</p>
<p>Everyone should be able to use their favourite app in their mother tongue. We want to contribute to reaching the full potential of apps available worldwide. We want to bring together developers &amp; translators that believe in the same thing.</p>
<p><strong>We are developers; we are translators, app owners and also end-users.</strong> To make sure you will always be happy to use Localazy for mobile app localization, you can ever get in touch with us.</p>
<ul>
<li>Find out <a href="https://localazy.com/docs">tutorials and tricks on app localization</a></li>
<li>Read stories of people in the <a href="https://localazy.com/blog">GILT industry and other related topics</a></li>
</ul>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Any ideas or comments to occur, feel free <a href="https://localazy.com/contact">to start a conversation</a></p>
</div><h2 id="multilingual-android-app-support-with-localazy" id="multilingual-android-app-support-with-localazy">Multilingual Android App Support With Localazy <a class="markdownit-header-anchor" href="#multilingual-android-app-support-with-localazy">🔗</a></h2>
<iframe width="100%" height="400" src="https://www.youtube.com/embed/45yeEcVmYck" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
        </item>
        <item>
            <title><![CDATA[How I converted Floating Apps to Localazy]]></title>
            <link>https://localazy.com/blog/how-i-converted-floating-apps-to-localazy</link>
            <guid isPermaLink="false">how-i-converted-floating-apps-to-localazy</guid>
            <pubDate>Thu, 26 Mar 2020 23:33:25 GMT</pubDate>
            <description><![CDATA[The integration of Localazy took me 5 minutes. Then I dived deep into advanced features of the Localazy Android library.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="it-could-be-so-simple" id="it-could-be-so-simple">It could be so simple… <a class="markdownit-header-anchor" href="#it-could-be-so-simple">🔗</a></h2>
<p>Floating Apps is the reason why we’ve created Localazy, and it was the first app to benefit from what we’ve built.</p>
<p>The integration was a complex task as, from historical reasons, we allow users to change the language of the app independently from the current system locale. There was a lot of code scattered around the app’s codebase to provide this feature.</p>
<p><strong>Except for the simple integration, nothing of what’s described in this post would be necessary, but I didn’t want to break anything for existing users</strong>, and it was a great test of what Localazy can do <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>.</p>
<h2 id="uploading-strings-and-basic-integration" id="uploading-strings-basic-integration">Uploading strings &amp; basic integration <a class="markdownit-header-anchor" href="#uploading-strings-and-basic-integration">🔗</a></h2>
<p>The initial integration was simple and straightforward. Floating Apps was already translated to 30 languages, and so all strings were already externalized into XML resources. Also, a long time ago, I split strings between several files:</p>
<ul>
<li><code>strings_main.xml</code> - strings for the main app</li>
<li><code>strings_apps.xml</code> - strings for the floating mini apps</li>
<li><code>strings_buddy.xml</code> - strings for the floating buddy feature</li>
<li><code>strings_freeform.xml</code> - strings related to the freeform feature</li>
<li><code>strings_help.xml</code> - strings for help</li>
<li><code>strings_private.xml</code> - private strings such as configuration, ad IDs, FB app ID, etc.</li>
<li><code>strings_universal.xml</code> - strings that I don’t want to translate for some reason</li>
</ul>
<p>I followed the integration guide, add Localazy Gradle plugin to the root build.gradle, and append the code below to the end of the app module build script.</p>
<pre><code class="language-groovy">apply plugin: 'com.localazy.gradle'

localazy {
    readKey &quot;---&quot;
    writeKey &quot;---&quot;
    
    // Used for testing that everything is translated correctly
    addPrefix false

    upload {      
        files {
            include &quot;main:values/strings_apps.xml&quot;
            include &quot;main:values/strings_buddy.xml&quot;
            include &quot;main:values/strings_freeform.xml&quot;
            include &quot;main:values/strings_help.xml&quot;
            include &quot;main:values/strings_main.xml&quot;
        }
    }
}
</code></pre>
<p><strong>And that was it!</strong> I uploaded strings to Localazy, waited for them to be published, and then cleaned and rebuilt the app. Purposely, I used <code>addPrefix true</code> to see if everything was working well. And as you can see in the screenshot below, it was!</p>
<p><img src="https://directus9.localazy.com/assets/3bd669fe-3d78-44a1-98bc-751cf4435240" alt="Floating Apps - first test after the integration"></p>
<p><strong>It worked like magic.</strong> I made no changes to the source code and just tuned my build script a bit, and my whole app with around 100k LOC was fully translated with over-the-air updates.</p>
<p>If I was not allowing users to switch languages in the app’s settings, <strong>I was done at this moment</strong>. Nothing else was needed to do to translate the app with Localazy.</p>
<h2 id="removing-my-stupid-code" id="removing-my-stupid-code">Removing my stupid code <a class="markdownit-header-anchor" href="#removing-my-stupid-code">🔗</a></h2>
<p>I’m not proud of it, but some parts of Floating Apps were developed under pressure, and while they work and are tested well, the code could be written better.</p>
<p>So, I removed my old method for changing the locale that was scattered around the whole app and followed the errors to get all the occurrences removed.</p>
<p>It was a lot of occurrences and long sleepless hours to get all this done correctly. But it’s no longer necessary, and having Localazy a few years ago, I wouldn’t need to write that code at all.</p>
<h2 id="stupid-code-for-smart-features" id="stupid-code-for-smart-features">Stupid code for smart features <a class="markdownit-header-anchor" href="#stupid-code-for-smart-features">🔗</a></h2>
<p>You may wonder why I allow users to change the language in the app itself. There is a good reason for it. It attracts more users to help with translating the app. They can see that their language is in the app; I can communicate that the translation is not complete and ask for their help, etc. It’s a way how to work together with Floating Apps users to make the app great!</p>
<p>However, it added a lot of burden to my shoulders. I manually managed the list of supported languages and whether they are translated fully or not.</p>
<p>I hated to release new major versions as it forced me to check all new translations and update the list of languages.</p>
<p>Good for us all, I dreamed about a tool like Localazy for such a long time that the only option was to go and create it <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<h2 id="fixing-the-language-resource-contamination" id="fixing-the-language-resource-contamination">Fixing the language resource contamination <a class="markdownit-header-anchor" href="#fixing-the-language-resource-contamination">🔗</a></h2>
<p>If you are not sure what the language resource contamination is, please <a href="/docs/android/what-is-the-language-resource-contamination-and-how-to-fix-it">read more about it in our documentation</a>.</p>
<p>I never cared about this before because it would be even more work for me with every release. With Localazy, it’s simple, and so I decided to implement it. It took me just 1 minute.</p>
<p>It’s not necessary with OTA updates, but it can decrease app size a bit, and you can be sure that your app is going to work correctly in every situation. Good for users; worth to do.</p>
<p>All my strings were already uploaded to Localazy before I started the implementation. <strong>Be sure to introduce this change after you successfully uploaded your strings</strong>.</p>
<p>The app module build script looked like this after the change:</p>
<pre><code class="language-groovy">apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.localazy.gradle.data'

localazy {

    readKey &quot;---&quot;
    writeKey &quot;---&quot;
  
    upload {
        files {
            include &quot;main:values/strings_apps.xml&quot;
            include &quot;main:values/strings_buddy.xml&quot;
            include &quot;main:values/strings_freeform.xml&quot;
            include &quot;main:values/strings_help.xml&quot;
            include &quot;main:values/strings_main.xml&quot;
        }
    }

}

android {

    // ...

    defaultConfig {    
        // ...
        resConfigs localazy.getResConfigs()
    }

    // ...

}

// ...

apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.localazy.gradle'
</code></pre>
<p>I cleaned and rebuilt the project, and with the <strong>Analyze APK</strong> feature of Android Studio, I checked that only the locales managed by Localazy are included in the app’s APK.</p>
<h2 id="converting-data-from-the-old-version" id="converting-data-from-the-old-version">Converting data from the old version <a class="markdownit-header-anchor" href="#converting-data-from-the-old-version">🔗</a></h2>
<p>I used to store the selected language as a string in format <code>lang-REGION</code> in the shared preferences under the name <code>general_language</code>. It was a very old decision from the time I knew nothing about languages and translating mobile apps, and over time, there was no motivation to change it. It just worked, and changing the working code without reason is usually not the best idea, you know <img class="emoji" draggable="false" alt="😃" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f603.png"/>.</p>
<p>In fact, <code>general_language</code> is used by <code>PreferenceFragment</code> (more on this in the next chapter), and with Localazy, it’s no longer needed at all. Localazy has its own mechanism for persisting the forced locale.</p>
<p>As Floating Apps is used by hundreds of thousands of users on a daily basis, I’m reluctant to make breaking changes if not necessary. Therefore, I want to convert the value of <code>general_language</code> and make Localazy to use the same locale as the user selected in the previous versions. Users hate unpredictable changes. Believe me.</p>
<p>So, I added this simple code to convert <code>general_language</code>:</p>
<pre><code class="language-java">boolean generalLanguageConverted = sp.getBoolean(SP_KEY_GENERAL_LANGUAGE_CONVERTED, false);

// Convert generalLanguage to Localazy if it wasn't converted yet.
if (!generalLanguageConverted) {

  // Mark the language as converted.
  sp.edit().putBoolean(SP_KEY_GENERAL_LANGUAGE_CONVERTED, true).apply();

  // generalLanguage is empty =&gt; keep automatic detection, don't force locale for Localazy
  // generalLanguage is not empty =&gt; run the conversion
  String generalLanguage = sp.getString(SP_KEY_GENERAL_LANGUAGE, &quot;&quot;);
  if (generalLanguage.length() != 0) {
    try {
      String[] pair = generalLanguage.split(&quot;-&quot;);
      String code = pair[0];
      String country = &quot;&quot;;
      if (pair.length &gt; 1) country = pair[1];
      Locale locale = new Locale(code, country);
      Localazy.forceLocale(locale, true);
    } catch (Exception ignored) {
      // Just for case there is a problem with the stored locale.
      // Ignoring the exception fallbacks to the automatic locale detection.
    }
  }

}
</code></pre>
<p>From that moment on, everything related to locales is handled by Localazy.</p>
<h2 id="rewriting-the-language-selection" id="rewriting-the-language-selection">Rewriting the language selection <a class="markdownit-header-anchor" href="#rewriting-the-language-selection">🔗</a></h2>
<p>The language selection is a part of the main settings screen, which is still the old good <code>PreferenceFragment</code>. Yep, Floating Apps is under development for about 7 years, and the technology is evolving. It’s not easy to keep up. Maybe, it’s not even necessary.</p>
<p>The definition XML for the fragment looks like:</p>
<pre><code class="language-xml">&lt;ListPreference
  android:entries=&quot;@array/languageValue&quot;
  android:entryValues=&quot;@array/languageKey&quot;
  android:icon=&quot;@null&quot;
  android:key=&quot;general_language&quot;
  android:persistent=&quot;true&quot;
  android:layout=&quot;@layout/pref_normal&quot;
  android:title=&quot;@string/settings_general_language&quot; /&gt;

&lt;Preference
  android:key=&quot;general_language_help&quot;
  android:layout=&quot;@layout/pref_normal&quot;
  android:summary=&quot;&quot;
  android:title=&quot;&quot; /&gt;
</code></pre>
<p>I removed <code>android:entries</code> and <code>android:entryValues</code> and added the code to populate the preference from Localazy. The code is below.</p>
<p>Persisting the state with <code>android:persistent=&quot;true&quot;</code> for <code>general_language</code> is also no longer necessary as Localazy automatically stores the selected locale, but I have a watcher for shared preferences that automatically notifies other processes (see more in the next chapter), and therefore I keep it.</p>
<p>Now, let’s get the preferences connected with Localazy. While other code snippets are in Java, this one is written in Kotlin. I love Kotlin, and Floating Apps codebase is, at the moment, mixed. There are around 100k lines of code, partly in Java, partly in Kotlin. Migrating to all code to Kotlin would be an enormous task, but Kotlin is used for all new parts.</p>
<pre><code class="language-kotlin">// Show the language selection only if the locales are correctly loaded by Localazy.
val locales: List&lt;LocalazyLocale&gt;? = Localazy.getLocales()
if (locales != null) {

    // Get the currently selected locale from Localazy.
    val selected = Localazy.getCurrentLocalazyLocale()

    (findPreference(PK_GENERAL_LANGUAGE) as ListPreference).apply {

        // Populate the preference with locales from Localazy.
        val sortedLocales = locales.sortedBy { it.localizedName }
        entries = sortedLocales.map { it.localizedName }.toTypedArray()
        entryValues = sortedLocales.map { it.localazyId.toString() }.toTypedArray()
        summary = if (selected != null) selected.localizedName else &quot;&quot;

        // React to the change of language.
        bindString { preference, value -&gt;

            val newSelection = locales.find { it.localazyId.toString() == value }
            if (newSelection != null) {
                preference.summary = newSelection.localizedName

                // Force the locale and apply changes to the current activity.
                Localazy.forceLocale(newSelection.locale, true)
                refreshActivity()
            } else {
                preference.summary = &quot;&quot;
            }

        }
    }


    findPreference(PK_GENERAL_LANGUAGE_HELP).apply {

        // Change the motivation message under the language selection according to
        // whether the language is fully translate or not.
        if (selected != null) {
            if (!selected.isFullyTranslated) {
                setTitle(R.string.lang_help_title)
                setSummary(R.string.lang_help_text)
                setIcon(R.drawable.menu_translate)
                icon = icon.mutate()
                icon.setColorFilter(COLOR_WARNING, PorterDuff.Mode.SRC_IN)
            } else {
                setTitle(R.string.menu_translate)
                setSummary(R.string.translate_title)
            }

        } else {
            (findPreference(PK_CATEGORY_GENERAL) as PreferenceGroup).removePreference(this)
        }

        // Show the screen for new translators on click. 
        onPreferenceClickListener = Preference.OnPreferenceClickListener {
            (activity as ActivityMain).showFragmentWithAnimation(FragmentTranslate::class.java)
            true
        }
    }

} else {

    // Hide the language selection if the locales are not loaded.
    (findPreference(&quot;general_category&quot;) as PreferenceGroup).apply {
        removePreference(findPreference(PK_GENERAL_LANGUAGE))
        removePreference(findPreference(PK_GENERAL_LANGUAGE_HELP))
    }
    
}
</code></pre>
<p>The code snippet above is a bit longer, but it does more than just changing locale. It also shows a motivational message that can attract more contributors/volunteers to help with the translating of the app.</p>
<p>In action, it looks like:</p>
<p><img src="https://directus9.localazy.com/assets/a5bee947-abdc-4ed6-94f2-0ab69286bed2" alt="Preference screen with motivational message"></p>
<h2 id="synchronizing-across-processes" id="synchronizing-across-processes">Synchronizing across processes <a class="markdownit-header-anchor" href="#synchronizing-across-processes">🔗</a></h2>
<p>Not enough complications with Floating Apps? Well, okay. Let’s dive into another issue. The app uses more processes; one for the main configuration app and second for the floating mini-apps. It eliminates a problem with the background service being killed on some devices.</p>
<p>Localazy can be used in multi-process apps, but when you allow users to change the language, you have to introduce some kind of synchronization.  I use <code>Handler</code> and <code>Messenger</code> to communicate between processes. When the configuration is changed in the main configuration app, the message is sent to the background service. It applies to all changes in the configuration, not only languages.</p>
<p>Everything I needed to do was to invoke the line below when the message was received:</p>
<pre><code class="language-java">Localazy.forceReload();
</code></pre>
<p><strong>That’s it!</strong> The simple solution for the multi-process issue. Method <code>forceReload</code> also reloads cached data, and therefore it’s the perfect solution for our situation.</p>
<h2 id="not-collecting-stats-for-development" id="not-collecting-stats-for-development">Not collecting stats for development <a class="markdownit-header-anchor" href="#not-collecting-stats-for-development">🔗</a></h2>
<p>By default, Localazy collects anonymous stats and optimizes the translation and review process. It’s a fantastic feature! My previous translation platform just offered strings for translating in random order (or something that looks like a random order). I don’t want the text for an error message that is rarely shown to be among the first things for translating.</p>
<p>There is a lot of incredible people that helped me with translating Floating Apps to many different languages, but they usually don’t translate the whole app at once. So, it’s better if they focus on the more important strings first.</p>
<p>This issue is solved transparently by Localazy for me. <strong>Perfect!</strong></p>
<p>I added this to my Application class to be sure that I don’t send stats during the development:</p>
<pre><code class="language-java">@Override
public void onCreate() {
  super.onCreate();
   
  if (BuildConfig.DEBUG) {
    Localazy.setStatsEnabled(false);
  }

  // ... more init code ...
}
</code></pre>
<p>If you have enough users, it’s not necessary to disable stats collecting as you are probably not going to affect them significantly anyway.</p>
<h2 id="planning-for-the-future" id="planning-for-the-future">Planning for the future <a class="markdownit-header-anchor" href="#planning-for-the-future">🔗</a></h2>
<p>The Localazy Android library allows <a href="/docs/android/localazy-android-library#listening-to-events">listening to different events</a>. One of them is <code>missingTextFound</code>, which is fired when the translation is missing for the requested key.</p>
<p>I want to introduce some kind of <strong>pro-active notification that is shown when the user is presented with the untranslated string</strong>. It could be a great way to attract more users to help me with translating the app.</p>
<p>However, this is <strong>under review</strong> at the moment as I need to find the best way how to do it. In no way, I want to bother users or distract them from what they are doing at the moment when the event occurs.</p>
<p>There must be some kind of aggregation of events and finding the right timing to show the notification — a lot of to think about before actual implementation.</p>
<p>However, if you know the right way how to implement this feature, it’s quite simple to do so. When the <code>missingTextFound</code> is called, you get instance of <code>LocalazyId</code> and all you need to do is to point the user to <code>LocalazyId.getPhraseUrl()</code> where she can instantly start translating the given missing phrase. <strong>Don’t forget to let me know your solution <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>.</strong></p>
<h2 id="no-problem-at-all" id="no-problem-at-all">No problem at all! <a class="markdownit-header-anchor" href="#no-problem-at-all">🔗</a></h2>
<p>As you can see, converting Floating Apps with keeping all its features was a complex task. There were several situations in which the app had a non-standard behavior that I wasn’t willing to change because of historical reasons and because of existing users.</p>
<p>However, <strong>every single situation was easily solved with Localazy</strong>. As a side effect, it improved the app and simplified my codebase. And most importantly, it removes a lot of manual work I have to care about with every release.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Václav Hodek</author>
            <enclosure url="https://directus9.localazy.com/assets/d5bc2c37-5d23-4a96-a596-3ce5e02a63dc" length="0" type="image//assets/d5bc2c37-5d23-4a96-a596-3ce5e02a63dc"/>
        </item>
        <item>
            <title><![CDATA[Introduction to Translation Glossary Best Practices]]></title>
            <link>https://localazy.com/blog/introduction-to-translation-glossary-best-practices</link>
            <guid isPermaLink="false">introduction-to-translation-glossary-best-practices</guid>
            <pubDate>Thu, 26 Mar 2020 18:58:13 GMT</pubDate>
            <description><![CDATA[What is a glossary, why to use it and how to use Localazy translation glossary? Find out!]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Glossary is a feature of every useful computer-assisted translation tool (CAT). Glossary keeps translations precise across many different cultures and thus is essential for successful app localization. Before we start with a tutorial on how to define a glossary for your project, let’s explain what glossary is.</p>
<h2 id="what-glossary-does-mean" id="what-glossary-does-mean">What glossary does mean? <a class="markdownit-header-anchor" href="#what-glossary-does-mean">🔗</a></h2>
<p>A <strong>glossary</strong>, also known as a vocabulary or clavis, is an alphabetical list of terms in a particular domain of knowledge with the definitions for those terms. Traditionally, a glossary appears at the end of a book and includes terms within that book that are either newly introduced, uncommon, or specialized. While glossaries are most commonly associated with non-fiction books, in some cases, fiction novels may come with a glossary for unfamiliar terms.</p>
<p>A <strong>bilingual glossary</strong> is a list of terms in one language defined in a second language or glossed by synonyms (or at least near-synonyms) in another language.</p>
<p>Source: <a href="https://en.wikipedia.org/wiki/Glossary" target="_blank">Wikipedia</a></p>
<p><strong>Translation glossary</strong> makes sure that translations, especially in multilingual environments, are subject to tone and meaning consistency. Mainly meaning consistency is of vital importance for quality assurance of every translation process.</p>
<h2 id="when-understanding-gets-wrong" id="when-understanding-gets-wrong">When understanding gets wrong <a class="markdownit-header-anchor" href="#when-understanding-gets-wrong">🔗</a></h2>
<p>Globalization costs something, and if there is something screwed in the process, the costs may even arise. Still, they can ruin the business due to many reasons, such as <a href="https://en.wikipedia.org/wiki/Brand_blunder" target="_blank">Brand blunder</a> or documentation misunderstanding <a href="https://books.google.bg/books?id=tCeLDQAAQBAJ&lpg=PT50&ots=SLvcu2PZjg&dq=rework%20costs%20translations&pg=PT50#v=onepage&q=rework%20costs%20translations&f=false" target="_blank">USD 4 million crash of Zenssor211</a>.</p>
<blockquote>
<p>Up to 15% of all globalization project costs arise from rework, and the primary cause of rework is inconsistent terminology.
<a href="http://info.lionbridge.com/rs/lionbridge/images/Lionbridge%20FAQ_Glossary_2013.pdf" target="_blank">Lionbridge</a></p>
</blockquote>
<blockquote>
<p>While fun to say, the catchphrase the company chose, “Nothing sucks like an Electrolux,” just didn’t convey an especially strong message about product quality or instil an abundance of confidence in performance. - Electrolux</p>
</blockquote>
<iframe width="100%" height="400" src="https://www.youtube.com/embed/yZrQqnRhmZ0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p>And we could continue. Those huge gimmicks are significant samples of how localization can get wrong, but even small issues can produce confusion. For that reason, localization specialists and quality control should be in place. There are even frameworks such as <a href="https://www.mindtools.com/pages/article/newPPM_89.htm">PDCA</a> for continuous improvement to make sure language is not a barrier!</p>
<p>It sometimes may seem funny, but nothing is closer to a disaster than misunderstanding or misinterpretation. Language dictionaries always include pronunciation for a reason. Translation tools include a glossary with a description of the context to make sure translators do their job right without guesswork.</p>
<iframe width="100%" height="400" src="https://www.youtube.com/embed/gmOTpIVxji8" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h2 id="how-to-understand-glossary-benefits" id="how-to-understand-glossary-benefits">How to understand glossary benefits <a class="markdownit-header-anchor" href="#how-to-understand-glossary-benefits">🔗</a></h2>
<p>Let us show you a clear example of how glossary can help your translation contributors understand and translate your phrases in the right way with no guesswork included.</p>
<h3 id="few-key-benefits-of-having-a-glossary" id="few-key-benefits-of-having-a-glossary">Few key benefits of having a glossary <a class="markdownit-header-anchor" href="#few-key-benefits-of-having-a-glossary">🔗</a></h3>
<p>Fully understand the meaning of the phrase by context</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p><strong>Button with the phrase “Book”</strong></p>
<p>Source language and meaning: EN - can be a verb, to make a reservation</p>
<p>Target language and meaning: CS - can be a noun, book for reading</p>
</div><p>There are a whole plethora of occurrences in every imaginable industry.
For example, <em>Drive</em> in the transport industry means something different from <em>drive</em> in IT industry, and there are even more subtle nuances an average translator without deep niche experience can not be expected to know by default. Imagine medical, technical, or business niches.</p>
<h3 id="quicken-the-translation-process" id="quicken-the-translation-process">Quicken the translation process <a class="markdownit-header-anchor" href="#quicken-the-translation-process">🔗</a></h3>
<p>As a freelance translator myself (author of this article), I do know how time-consuming and flow disturbing is when source phrase description is not precise. Connected with the next point, guesswork, having an accurate glossary can save tremendous amounts of time spent on clarifications and rework.</p>
<h3 id="remove-guesswork-greater-mitigate-the-risk-of-rework" id="remove-guesswork-mitigate-the-risk-of-rework">Remove guesswork &gt; mitigate the risk of rework <a class="markdownit-header-anchor" href="#remove-guesswork-greater-mitigate-the-risk-of-rework">🔗</a></h3>
<p>If a contributor does not have enough information about the context and desired meaning of a given phrase, there is a portion of guesswork. Guesswork makes places for assumptions based on previous experience, which can be different from the desired result. Eliminate guesswork, and you will mitigate the risk of rework, dropped user experience, et cetera.</p>
<h3 id="improve-the-user-experience" id="improve-the-user-experience">Improve the user experience <a class="markdownit-header-anchor" href="#improve-the-user-experience">🔗</a></h3>
<p>Chaotic navigation, unclear button texts, terrible text-breaks and other leaks in UX design may source from localization and especially wrong translation. The glossary can make sure that all mission-critical phrases are consistent across all languages. If your UX is subpar, your business results may drop as well.</p>
<h3 id="improve-business-results" id="improve-business-results">Improve business results <a class="markdownit-header-anchor" href="#improve-business-results">🔗</a></h3>
<p>If there are 500 languages, and you need to make sure your call to action button in the app does have the right meaning, we advise using native speakers instead of Machine Translation without human control.</p>
<p>While Fully Automatic High-Quality Machine Translation with no human involvement is indeed a powerful tool, it can easily miss the subtle nuances and change the meaning of your CTA button, resulting in conversion rate dropdown. In the words of UX, it will decrease desired behaviour. Although there are solutions, they are not very common in all translations tools.</p>
<blockquote>
<p>If you have a large repository of high-quality multilingual terminology data, you can reduce the amount of data necessary for training a machine-translation (MT) engine to obtain acceptable results. <a href="https://www.uxmatters.com/mt/archives/2019/02/supporting-localization.php" target="_blank"><em>—Elena Dunne</em></a></p>
</blockquote>
<h3 id="decreased-need-for-discipline" id="decreased-need-for-discipline">Decreased need for discipline <a class="markdownit-header-anchor" href="#decreased-need-for-discipline">🔗</a></h3>
<p>When a particular phrase must be used consistently across the whole project, a vast amount of self-discipline is something your contributors have to commit. But is there a way how to enforce discipline, especially if your contributors are short-term volunteers who do not know about all bits and bobs of your mobile app? No way. Glossary will help you keep them in line with your guidelines.</p>
<h2 id="best-practices-for-glossary-production" id="best-practices-for-glossary-production">Best practices for glossary production <a class="markdownit-header-anchor" href="#best-practices-for-glossary-production">🔗</a></h2>
<p>First and foremost, a glossary is a living document. Do not be too sad about the fact that your glossary is not complete. Glossary is a compelling feature because it allows you to change the term globally across the whole project just by changing a single glossary term.</p>
<h3 id="mutually-exclusive-glossary" id="mutually-exclusive-glossary">Mutually exclusive glossary <a class="markdownit-header-anchor" href="#mutually-exclusive-glossary">🔗</a></h3>
<p>Mutually exclusive means that every single term must be present in your glossary only once.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p>Each term must be isolated.</p>
</div><div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p><strong>Correct</strong> each term is isolated and occurs only once
“Book” a “Flight”</p>
</div><div class="markdown-it-vue-alter markdown-it-vue-alter-warning"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-warning"><svg viewBox="64 64 896 896" data-icon="exclamation-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p><strong>Wrong</strong> terms are not isolated and occur more than once
“Book a flight.”
“book”, “flight”</p>
</div><h3 id="collectively-exhaustive-glossary" id="collectively-exhaustive-glossary">Collectively exhaustive glossary <a class="markdownit-header-anchor" href="#collectively-exhaustive-glossary">🔗</a></h3>
<p>The glossary contains all the terms requiring definitions. In the words of a developer, the glossary is a single source of truth.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p><strong>Correct</strong>
Glossary is the only source of term meanings</p>
</div><div class="markdown-it-vue-alter markdown-it-vue-alter-warning"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-warning"><svg viewBox="64 64 896 896" data-icon="exclamation-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p><strong>Wrong</strong>
You have a glossary and another unsynced term documentation.</p>
</div><h3 id="brief-glossary" id="brief-glossary">Brief glossary <a class="markdownit-header-anchor" href="#brief-glossary">🔗</a></h3>
<p>An extensive glossary can be counterproductive. Not only that it requires somebody to build it, but it can also decrease the positive benefits for contributors if there are many terms, which do not have to be necessarily included.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p><strong>Correct</strong>
Glossary describing terms which need to be better described</p>
</div><div class="markdown-it-vue-alter markdown-it-vue-alter-warning"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-warning"><svg viewBox="64 64 896 896" data-icon="exclamation-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p><strong>Wrong</strong>
Glossary describing all terms in the app</p>
</div><h3 id="product-specific-glossary" id="product-specific-glossary">Product-specific glossary <a class="markdownit-header-anchor" href="#product-specific-glossary">🔗</a></h3>
<p>Glossary is, in most cases, a product-specific feature. Thus, connected to the previous point, it does not have to include all terms, especially those which are common. For example, Localazy is translation platform, and thus we know that many of our users are quite familiar with some terms already, but not all of them.</p>
<div class="markdown-it-vue-alter markdown-it-vue-alter-info"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-info"><svg viewBox="64 64 896 896" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p><strong>Correct</strong>
ShareTM - description of Localazy proprietary technology</p>
</div><div class="markdown-it-vue-alter markdown-it-vue-alter-warning"><i class="markdown-it-vue-alert-icon markdown-it-vue-alert-icon-warning"><svg viewBox="64 64 896 896" data-icon="exclamation-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z"></path></svg></i><p><strong>Wrong</strong>
Translation Memory - description of a technology in everyday practice</p>
</div><h3 id="contextual-glossary" id="contextual-glossary">Contextual glossary <a class="markdownit-header-anchor" href="#contextual-glossary">🔗</a></h3>
<p>Glossary is usually private and tied to a particular project unless you are going to use a shared glossary. That said, you can use your glossary not only to provide a term meaning but also to provide some context in the term description field.</p>
<p>While all CAT tools always provide context information for developers within translation screens, they are not as useful for average contributors who do not know the structure of the app code, URI’s, and so on.</p>
<h3 id="what-should-be-in-your-glossary-before-you-invite-contributors" id="what-should-be-in-your-glossary-before-you-invite-contributors">What should be in your glossary before you invite contributors <a class="markdownit-header-anchor" href="#what-should-be-in-your-glossary-before-you-invite-contributors">🔗</a></h3>
<h4 id="app-name-so-we-know-how-to-treat-it">App name, so we know how to treat it</h4>
<p>It is pretty usual that the app name can be easily translated into many languages. Question is if this is the desired behaviour. Translating your app name will most likely turn into brand misconceptions. But if it is your ASO strategy, It is also fine to let your contributors know that app name shall be translated.</p>
<h4 id="names-of-specific-features">Names of specific features</h4>
<p>App-specific features are glossary must-have. You want to clearly describe the feature and also tell your contributors whether to translate it and how. It is especially important if contributors are not app users.</p>
<h4 id="technologies-abbreviations">Technologies, abbreviations</h4>
<p>Make sure technology terms and abbreviations are defined in your glossary.</p>
<h4 id="specific-terms-for-your-industry">Specific terms for your industry</h4>
<p>Industry-specific terms are usually a reason why glossary is important. It is of vital importance to provide clarification for any and all industry-specific terms. Do not let your contributors guess the true meaning. A single term can mean something completely different when switched into a different context.</p>
<h4 id="3rd-party-services-and-names">3rd party services and names</h4>
<p>There are a whole plethora of 3rd party services and names which shall not be translated despite it is possible. For example, a revenue delivery platform Paddle can be translated, but it is not the desired behaviour.</p>
<h4 id="trademarks">Trademarks</h4>
<p>Trademarks shall be always marked in your glossary to not be translated because in other cases you will lose the brand protection.</p>
<h3 id="takeaway" id="takeaway">Takeaway <a class="markdownit-header-anchor" href="#takeaway">🔗</a></h3>
<p>While glossary may include the context in term of phrase meaning, language tonality, specific niche and so on, context related to the usage of particular phrase appearances shall be present in the source code. Read more on <a href="/docs/android/how-to-provide-comments-for-strings">how to provide comments in your source code and why</a>.</p>
<h2 id="how-to-use-localazy-glossary" id="how-to-use-localazy-glossary">How To Use Localazy Glossary <a class="markdownit-header-anchor" href="#how-to-use-localazy-glossary">🔗</a></h2>
<p>Localazy Glossary is quite similar in function to any standard translation glossary.</p>
<ul>
<li><a href="/docs/general/how-to-define-your-glossary">Localazy Tutorial on How to Use Glossary</a></li>
</ul>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/01608ede-7565-480b-a367-08edbc6fe023" length="0" type="image//assets/01608ede-7565-480b-a367-08edbc6fe023"/>
        </item>
        <item>
            <title><![CDATA[Improve Mobile App Localization Efficiency With Localazy]]></title>
            <link>https://localazy.com/blog/improve-mobile-app-localization-efficiency-with-localazy</link>
            <guid isPermaLink="false">improve-mobile-app-localization-efficiency-with-localazy</guid>
            <pubDate>Thu, 19 Mar 2020 14:27:47 GMT</pubDate>
            <description><![CDATA[Developers are a sort of people who love productivity tweaks all around. When it is possible to rid routine jobs, there is no reason not to do so. We want to share some of the tips with you on efficient mobile app localization.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="project-specification-and-documentation-is-a-time-saver" id="project-specification-and-documentation-is-a-time-saver">Project specification and documentation is a time saver <a class="markdownit-header-anchor" href="#project-specification-and-documentation-is-a-time-saver">🔗</a></h2>
<p>Imagine you are going to localize your app into another language. Externalized strings? Of course, that is a no-brainer. So you decide to give it a try with a first language, and during testing, you find out that your UI does not find longer words in other languages. Yikes. And this is just a straightforward example of a huge issue you can face if project specification from the very start does not count with app localization.</p>
<ul>
<li>Prepare project specification before you start developing your app</li>
</ul>
<h2 id="scalability-from-the-scratch" id="scalability-from-the-scratch">Scalability from the scratch <a class="markdownit-header-anchor" href="#scalability-from-the-scratch">🔗</a></h2>
<p>When it comes to scalability, one needs to consider how to approach it from two sides of the same coin. The one is making apps ready for user base expansion; the second one is making your app prepared for feature expansion. At Localazy, we strive to provide you with a smart solution for seamless app translation. All you need is to connect to our endpoint and receive translation at runtime into hundreds of language versions.</p>
<h2 id="eliminate-automate-delegate" id="eliminate-automate-delegate">Eliminate, Automate, Delegate <a class="markdownit-header-anchor" href="#eliminate-automate-delegate">🔗</a></h2>
<p>Translation, contributor management, importing, exporting, reviews, deploys, and many other activities are of crucial importance for every successful mobile app localization. But do you have time to manage all the activities, especially if you are a single mobile app developer? Probably not and you are already looking for ways on how to eliminate, automate and delegate tasks you do not have to do on your own.</p>
<h3 id="elimination" id="elimination">Elimination <a class="markdownit-header-anchor" href="#elimination">🔗</a></h3>
<p>Do not do things you do not have to do. At Localazy, we do our best to let you completely forget some activities, such as managing correct plurals.</p>
<h3 id="automation" id="automation">Automation <a class="markdownit-header-anchor" href="#automation">🔗</a></h3>
<p>When you have one additional language, it is not such a problem to manage exports and imports of updated translation files. One language later, you will find out it starts to be an activity you would prefer not to perform. But you can save much more energy with Localazy!</p>
<ul>
<li>Automatic phrase translations</li>
<li>No hassle with file export/import handling</li>
<li>Up-to-date live translations in your app</li>
</ul>
<h3 id="delegation" id="delegation">Delegation <a class="markdownit-header-anchor" href="#delegation">🔗</a></h3>
<p>There are activities which can not be eliminated or automated easily or at all, but you still want to rid them. For example, let’s say you can not rely every time on <strong>Fully Automatic High-Quality Machine Translation (FAHQT)</strong>.</p>
<p>Sometimes you need to choose from <strong>Human-Assisted Machine Translation (HAMT)</strong>, <strong>Machine-Assisted Human Translation (MAHT)</strong> or the most expensive <strong>Human Translation unassisted without any technology (HTLGI)</strong>. Translation Quality Assurance is another step which requires a review process. Unfortunately, the review process requires a highly qualified person who knows the app as his shoes.
<em>Guess who it is? Probably you, the developer.</em></p>
<h4 id="localazy-is-here-to-aid-your-translation-pain">Localazy is here to aid your translation pain</h4>
<ul>
<li>Easy approval of translated phrases</li>
<li>Contributors management</li>
<li>ShareTM to get automated language translations</li>
<li>Automated string priority management</li>
</ul>
<h2 id="maximize-the-work-time-of-you-and-your-team" id="maximize-the-work-time-of-you-and-your-team">Maximize the Work-Time of you and your team <a class="markdownit-header-anchor" href="#maximize-the-work-time-of-you-and-your-team">🔗</a></h2>
<p>There are moments when elimination, automation and delegation are not possible at all, and you just have (or want) to do it yourself. I.e. the app development itself.</p>
<p>Here at Localazy, we tend to maximize our Work-Time to keep the company running effectively. We live in different countries, and our users are across the globe, so time zones are also in effect. While it is possible to cut on the time costs, every day still does have only 24 hours, and one needs to cope with that.</p>
<p>Our mission to developers? We do our best to free your hands.
Localazy is a solution to our own problem, and we are sure there are other developers who will appreciate the following features.</p>
<ul>
<li>1-minute setup</li>
<li>No changes in your app code</li>
<li>Async review process</li>
<li>Async context and knowledge sharing</li>
<li>Complete and comprehensive documentation</li>
<li>Live and async support available</li>
</ul>
<h2 id="do-test-the-app-early-and-continuously" id="do-test-the-app-early-and-continuously">Do test the app early and continuously <a class="markdownit-header-anchor" href="#do-test-the-app-early-and-continuously">🔗</a></h2>
<p><a href="https://play.google.com/store/apps/details?id=com.localazy.android.developer&amp;hl=en">Localazy Developer</a> helps developers to test translations provided by Localazy. It allows them to invalidate the cache and re-download new translations from Localazy servers and is currently available for Android.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/42539583-ca4e-4939-bb1a-57b62bd3be3f" length="0" type="image//assets/42539583-ca4e-4939-bb1a-57b62bd3be3f"/>
        </item>
        <item>
            <title><![CDATA[Interview With Ondřej Půček, an Art Director & Designer at Localazy]]></title>
            <link>https://localazy.com/blog/interview-ondrej-pucek-art-director-designer-localazy</link>
            <guid isPermaLink="false">interview-ondrej-pucek-art-director-designer-localazy</guid>
            <pubDate>Thu, 19 Mar 2020 09:12:00 GMT</pubDate>
            <description><![CDATA[**ONDŘEJ PŮČEK** is an art director and designer at Localazy, tool for seamless mobile app translations. In this interview, you can find out what Ondřej finds most important in the design process and how he approaches the creative process within a small team.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><h2 id="in-charge-of-localazy-design" id="in-charge-of-localazy-design">In Charge of Localazy Design <a class="markdownit-header-anchor" href="#in-charge-of-localazy-design">🔗</a></h2>
<h3 id="what-encouraged-you-to-start-working-on-localazy-if-you-have-been-asked-why-you-do-it-what-would-be-your-answer" id="what-encouraged-you-to-start-working-on-localazy-if-you-have-been-asked-why-you-do-it-what-would-be-your-answer">What encouraged you to start working on Localazy? If you have been asked why you do it, what would be your answer? <a class="markdownit-header-anchor" href="#what-encouraged-you-to-start-working-on-localazy-if-you-have-been-asked-why-you-do-it-what-would-be-your-answer">🔗</a></h3>
<p>There were two reasons. I love to design things. With joining the <a href="https://www.localazy.com/contact">Localazy team</a>, there was an excellent opportunity to work on a unique new service and make a massive impact on the product. I like to feel that my work does have an effect, and I felt that from the start with Localazy. The second reason was I believed in the product. When I first met with VÁCLAV HODEK (CEO), he really hooked me in with what he said. I love that the idea of Localazy came from his own needs as a developer.</p>
<h3 id="what-you-find-most-attractive-in-your-work-with-localazy-from-your-perspective" id="what-you-find-most-attractive-in-your-work-with-localazy-from-your-perspective">What you find most attractive in your work with Localazy from your perspective? <a class="markdownit-header-anchor" href="#what-you-find-most-attractive-in-your-work-with-localazy-from-your-perspective">🔗</a></h3>
<p>I love the combination of doing UX based decisions with a design of the app. Being in a small team accelerates the graphic design because it counts out various visual styles that would be too time demanding. As a designer, you are always looking for some restrictions that will guide you. Since I am also an HTML/CSS coder, I find these guidelines in the code itself as well. I feel that I am the right person to make art-related decisions because they are not art-related exclusively.</p>
<h2 id="behind-the-curtain" id="behind-the-curtain">Behind the Curtain <a class="markdownit-header-anchor" href="#behind-the-curtain">🔗</a></h2>
<h3 id="what-is-your-current-professional-background-ie-what-you-have-been-working-in-recent-year" id="what-is-your-current-professional-background-ie-what-you-have-been-working-in-recent-year">What is your current professional background, i.e. what you have been working in recent year? <a class="markdownit-header-anchor" href="#what-is-your-current-professional-background-ie-what-you-have-been-working-in-recent-year">🔗</a></h3>
<p>For the last two years, I have been working as a freelancer, mainly focusing on web development, but also all kinds of graphic design - from print to interactive animations. You can find some of my work with Jan and Daniel at elision.design.</p>
<h3 id="your-colleague-jan-bilek-who-is-a-project-manager-and-frontend-developer-at-localazy-was-your-classmate-at-high-school-nowadays-you-have-a-successful-business-with-him-and-also-with-daniel-charvat-who-was-one-grade-below-how-is-it-possible-that-all-of-you-are-working-together-for-such-a-long-time" id="your-colleague-jan-bilek-who-is-a-project-manager-and-frontend-developer-at-localazy-was-your-classmate-at-high-school-nowadays-you-have-a-successful-business-with-him-and-also-with-daniel-charvat-who-was-one-grade-below-how-is-it-possible-that-all-of-you-are-working-together-for-such-a-long-time">Your colleague JAN BÍLEK, who is a project manager and frontend developer at Localazy, was your classmate at high school. Nowadays, you have a successful business with him and also with DANIEL CHARVÁT, who was one grade below. How is it possible that all of you are working together for such a long time? <a class="markdownit-header-anchor" href="#your-colleague-jan-bilek-who-is-a-project-manager-and-frontend-developer-at-localazy-was-your-classmate-at-high-school-nowadays-you-have-a-successful-business-with-him-and-also-with-daniel-charvat-who-was-one-grade-below-how-is-it-possible-that-all-of-you-are-working-together-for-such-a-long-time">🔗</a></h3>
<p>The full story is even more exciting. I have known Daniel since kindergarten. Our families used to go on vacation together, and we became super close. We have always loved to do stuff together, I remember, we had recorded an audiotape of our songs when we were around 10 or 11. I have met Jan at high school, and we got along. We were interested in the same type of music, same hobbies, but later on, we have also found out that we both dream about creating our digital products. So we started and asked Dan if he wants to come aboard.</p>
<p>For me, it is a dream scenario, we are all close friends, and we can rely on each other. We also know each other faults, so we know how to divide the work. So far, it always was a pleasure to work with guys, and it only strengthened our friendship.</p>
<h3 id="which-tools-do-you-use-to-deliver-high-value" id="which-tools-do-you-use-to-deliver-high-value">Which tools do you use to deliver high value? <a class="markdownit-header-anchor" href="#which-tools-do-you-use-to-deliver-high-value">🔗</a></h3>
<p>The primary tool I use is probably my visual imagination and the need for clear hierarchy and structure in everything I create. I can’t stand when something just doesn’t fit or is not aligned correctly. I love to sketch by hand and can’t do anything without a pencil and a piece of paper. To bring the design into the digital world, I use my 2 in 1 Lenovo with Adobe Creative Suite. To create a coherent and complex UI, I use <a href="https://www.figma.com">Figma</a>.</p>
<h3 id="you-are-an-architect-who-made-his-graduation-from-vut-brno-czech-republic-do-you-believe-it-changed-your-perspective-regards-your-current-daily-routine-although-your-primary-professional-focus-is-not-within-the-architecture-industry-how" id="you-are-an-architect-who-made-his-graduation-from-vut-brno-czech-republic-do-you-believe-it-changed-your-perspective-regards-your-current-daily-routine-although-your-primary-professional-focus-is-not-within-the-architecture-industry-how">You are an architect who made his graduation from VUT Brno, Czech republic. Do you believe it changed your perspective regards your current daily routine, although your primary professional focus is not within the architecture industry? How? <a class="markdownit-header-anchor" href="#you-are-an-architect-who-made-his-graduation-from-vut-brno-czech-republic-do-you-believe-it-changed-your-perspective-regards-your-current-daily-routine-although-your-primary-professional-focus-is-not-within-the-architecture-industry-how">🔗</a></h3>
<p>It changed my overall approach to projects. I was fortunate to have a great mentor at <a href="https://www.fa.vutbr.cz/">VUT Brno</a>, who was always raising questions to any decision we made in our projects. Some of these questions were based on the real physical world, some were focusing on the social aspect of the work and some were almost philosophical. This became a fundamental part of my design work, and now I am asking these questions myself.
The other thing that I have brought from architecture is the relation between large and small scale. In the city there is a look of the entire city, usually based on traditions, history, etc., but then there is the neighbourhood with its unique atmosphere, and at the end, there is a single house. But all of that work together. In the design, it is pretty much the same. You have brand guidelines, you have a website, printed materials, an application, and at the end, you have a single component or a single image.</p>
<h2 id="outside-of-localazy" id="outside-of-localazy">Outside of Localazy <a class="markdownit-header-anchor" href="#outside-of-localazy">🔗</a></h2>
<h3 id="you-are-a-musician-and-a-football-player-how-it-comes-you-can-manage-your-spare-time-with-such-a-time-demanding-free-time-activities" id="you-are-a-musician-and-a-football-player-how-it-comes-you-can-manage-your-spare-time-with-such-a-time-demanding-free-time-activities">You are a musician and a football player. How it comes, you can manage your spare time with such a time demanding free time activities? <a class="markdownit-header-anchor" href="#you-are-a-musician-and-a-football-player-how-it-comes-you-can-manage-your-spare-time-with-such-a-time-demanding-free-time-activities">🔗</a></h3>
<p>It is easy. I love my work, but I also love both music and sport.</p>
<p>If you are really into something, you somehow squeeze it into your schedule. Always. What helps me is to put all the prearranged stuff into my calendar - even if it is the stupidest thing like meeting friends on Friday night. Then I somehow manage the rest.</p>
<iframe width="100%" height="380" src="https://www.youtube.com/embed/ARlHE3Abo2Y" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h3 id="what-is-the-latest-most-beloved-mobile-app-you-would-love-to-use-in-the-czech-language-if-your-only-language-was-czech-and-you-had-a-place-for-a-single-app-on-your-mobile-device" id="what-is-the-latest-most-beloved-mobile-app-you-would-love-to-use-in-the-czech-language-if-your-only-language-was-czech-and-you-had-a-place-for-a-single-app-on-your-mobile-device">What is the latest most beloved mobile app you would love to use in the Czech language if your only language was Czech and you had a place for a single app on your mobile device? <a class="markdownit-header-anchor" href="#what-is-the-latest-most-beloved-mobile-app-you-would-love-to-use-in-the-czech-language-if-your-only-language-was-czech-and-you-had-a-place-for-a-single-app-on-your-mobile-device">🔗</a></h3>
<p>That is a hard question, maybe the Premier League App. It’s an official application of the English football league. I am a huge Chelsea supporter, and I am trying to follow all the news regarding British football. That would be so cool in Czech.</p>
<h3 id="are-you-an-android-or-ios-user" id="are-you-an-android-or-ios-user">Are you an Android or iOS user? <a class="markdownit-header-anchor" href="#are-you-an-android-or-ios-user">🔗</a></h3>
<p>Android, but I am thinking about switching to iOS soon. But I see good &amp; bad things on both platforms. It just depends on what exactly you are looking for as a user.</p>
<p>Thank You, Ondra!</p>
<p>More interviews coming soon.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/a07a748b-671d-463f-968b-6ec191227251" length="0" type="image//assets/a07a748b-671d-463f-968b-6ec191227251"/>
        </item>
        <item>
            <title><![CDATA[Interview with TEO CODING, author of Birthday Reminder App]]></title>
            <link>https://localazy.com/blog/interview-with-teo-coding-author-of-birthday-reminder-app</link>
            <guid isPermaLink="false">interview-with-teo-coding-author-of-birthday-reminder-app</guid>
            <pubDate>Mon, 29 Nov 2021 13:05:40 GMT</pubDate>
            <description><![CDATA[Interview with mobile app developer TEO CODING is here to help you understand why app Birthday Reminder: Calendar Bday Alarm is the one you might want to choose to prevent embarrassing and stressful moments when you realize it is too late to buy a birthday gift.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>In this article, you will find out some behind the curtain information. Feel free to brew your cup of hot drink and read an inspirational story of TEO CODING, an author of Birthday Reminder App.</p>
<iframe width="100%" height="380" src="https://www.youtube.com/embed/3L_6N0fdvxA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h3 id="where-the-idea-comes-from-for-your-birthday-reminder-mobile-app" id="where-the-idea-comes-from-for-your-birthday-reminder-mobile-app">Where the idea comes from for your Birthday Reminder mobile app? <a class="markdownit-header-anchor" href="#where-the-idea-comes-from-for-your-birthday-reminder-mobile-app">🔗</a></h3>
<p>I got the idea after another birthday app made me look bad because it didn’t remind me of a friend’s birthday. At that time, I had started to approach the world of programming. After seeing a couple of online courses, I started working on it with the many difficulties of the case. Including notifications that are a problem on <a href="/android">Android</a> systems modified by manufacturers due to the limitations in the background process, paradoxically on $ 50 phones, works very well. Then slowly, I tried to make it more complete for everything related to birthdays: greeting phrases, birthday cards and gifts.</p>
<blockquote>
<p>Note from Localazy:
Cheap devices usually come with almost clean Android which doesn’t limit background processes. Big vendors (Samsung,
Huawei, etc.) add another level of protection of users
often leading to limiting background processes and other
features.</p>
</blockquote>
<p>Find out more why smartphones are turning back into dumbphones at <a href="https://dontkillmyapp.com/">Don’t kill my app!</a> website.</p>
<h3 id="what-are-your-goals-with-your-app" id="what-are-your-goals-with-your-app">What are your goals with your app? <a class="markdownit-header-anchor" href="#what-are-your-goals-with-your-app">🔗</a></h3>
<p>Improving my skills in programming and publishing apps from a practical point of view and a romantic point of view. Knowing that the public appreciates and uses something created by you is truly exciting, I still remember the emotion of when I published the app on Google Play.</p>
<p><img src="https://directus9.localazy.com/assets/6a1d4d55-31ec-4067-a77e-592bf9c9857a" alt="Birthday"></p>
<h3 id="can-you-share-your-tech-stack-with-us" id="can-you-share-your-tech-stack-with-us">Can you share your tech stack with us? <a class="markdownit-header-anchor" href="#can-you-share-your-tech-stack-with-us">🔗</a></h3>
<h4 id="do-you-use-java-kotlin-or-something-else">Do you use Java, Kotlin or something else?</h4>
<p>I program in <strong>Java</strong> because when I started, it was the language with the most resources available online, but I hope to have time to move to <strong>Kotlin</strong>, I think it will be the future of <strong>mobile app development</strong>.</p>
<h4 id="do-you-use-firebase-or-similar-services">Do you use Firebase or similar services?</h4>
<p>I use <strong><a href="/dictionary/firebase">Firebase</a></strong> only; maybe I will try <strong>Flurry</strong>.</p>
<h4 id="would-you-recommend-some-cool-libraries-to-your-fellow-developers">Would you recommend some cool libraries to your fellow developers?</h4>
<p>I recommend <a href="https://github.com/ArthurHub/Android-Image-Cropper">Android Image Cropper</a>, I think it saved me a lot of work.</p>
<h3 id="how-many-users-do-you-have" id="how-many-users-do-you-have">How many users do you have? <a class="markdownit-header-anchor" href="#how-many-users-do-you-have">🔗</a></h3>
<p>I currently have about 3300 / 3400 active users.</p>
<h4 id="that-is-quite-a-success-for-a-beginning-developer-dont-you-think-i-can-imagine-you-have-helped-out-with-hundreds-of-embarrassing-moments-so-far-and-you-have-already-an-ambitious-plan-to-help-your-users-with-all-about-birthdays-how-about-other-anniversaries-do-you-think-your-app-logics-could-be-used-for-other-events-as-well-with-some-changes">That is quite a success for a beginning developer don’t you think? I can imagine you have helped out with hundreds of embarrassing moments so far, and you have already an ambitious plan to help your users with all about birthdays. How about other anniversaries? Do you think your app logics could be used for other events as well, with some changes?</h4>
<p>Birthday Reminder includes an additional field for anniversaries, and it is designed to save a second important date (for example, in Italy we consider name days important).</p>
<p><img src="https://directus9.localazy.com/assets/97c2753d-4001-4ce4-a027-c8ee98d9a322" alt="Birthday"></p>
<h3 id="why-do-you-want-to-translate-your-app-to-other-languages" id="why-do-you-want-to-translate-your-app-to-other-languages">Why do you want to translate your app to other languages? <a class="markdownit-header-anchor" href="#why-do-you-want-to-translate-your-app-to-other-languages">🔗</a></h3>
<h4 id="do-you-think-it-could-bring-you-more-users-or-you-want-to-improve-the-user-experience-are-your-users-actively-asking-for-translation">Do you think it could bring you more users? Or you want to improve the user experience? Are your users actively asking for translation?</h4>
<p>Both, I tried to make Birthday Reminder as comfortable as possible for users regardless of what their language was, for example, the different types of date format and the variety of birthday cards.</p>
<h4 id="how-did-you-find-localazy-and-why-do-you-think-it-is-the-right-fit-for-your-app-localization">How did you find Localazy, and why do you think it is the right fit for your app localization?</h4>
<p>I found you looking for a cheap way to translate my app on Google. I hope you do for me. I like your enthusiasm.</p>
<h4 id="how-had-you-been-maintaining-multilingual-support-before-youve-opted-for-localazy">How had you been maintaining multilingual support before you’ve opted for Localazy?</h4>
<p>I wrote the app in English, then translated it into Italian by myself, I purchased a <a href="/dictionary/translation">translation</a>, and for the others, I used Google Translate.</p>
<h3 id="where-are-you-from" id="where-are-you-from">Where are you from? <a class="markdownit-header-anchor" href="#where-are-you-from">🔗</a></h3>
<p>I am from Italy.</p>
<h4 id="what-apps-do-you-use-yourself-if-you-do-not-mind-sharing">What apps do you use yourself if you do not mind sharing?</h4>
<p>I use many news and organization apps like calendar and reminders. I try to change many of them to understand the logic and what can be improved. Now and then I like to edit some photos, but I’m a beginner. I also often use YouTube for information and learning purposes.</p>
<h4 id="what-do-you-do-when-you-do-not-work-on-birthday-reminder">What do you do when you do not work on Birthday Reminder?</h4>
<p>I prefer to visit the gym and going out with friends.</p>
<h3 id="do-you-have-any-tips-on-monetization-or-promotion" id="do-you-have-any-tips-on-monetization-or-promotion">Do you have any tips on monetization or promotion? <a class="markdownit-header-anchor" href="#do-you-have-any-tips-on-monetization-or-promotion">🔗</a></h3>
<p>I’m also trying to learn in this field. I have to say that the optimized <strong>ASO description</strong> was a good investment.</p>
<h4 id="is-your-app-birthday-reminder-just-a-hobby-or-is-it-able-to-pay-for-its-costs">Is your app Birthday Reminder just a hobby or is it able to pay for its costs?</h4>
<p>Birthday Reminder does not pay its costs. I hope that programming can become my main job in the future.</p>
<h4 id="that-is-merely-fabulous-how-a-problem-can-turn-into-a-new-career-are-you-looking-for-job-opportunities-in-mobile-app-development-then-do-you-know-what-you-would-love-to-work-on-feel-free-to-describe-your-ambitions">That is merely fabulous how a problem can turn into a new career. Are you looking for job opportunities in mobile app development then? Do you know what you would love to work on? Feel free to describe your ambitions.</h4>
<p>I’m not looking for a job as a developer right now, I see programming as a long-term project where you can improve day after day by studying and practising until the right idea or opportunity arrives.</p>
<h4 id="do-you-have-any-other-projects-you-would-like-to-mention">Do you have any other projects you would like to mention?</h4>
<p>I’m working on a calendar, but I don’t have much time.</p>
<h3 id="what-is-the-single-most-crucial-benefit-which-may-be-the-only-reason-to-choose-your-app" id="what-is-the-single-most-crucial-benefit-which-may-be-the-only-reason-to-choose-your-app">What is the single most crucial benefit which may be the only reason to choose your app? <a class="markdownit-header-anchor" href="#what-is-the-single-most-crucial-benefit-which-may-be-the-only-reason-to-choose-your-app">🔗</a></h3>
<p>Birthday Reminder is simple to use and (almost) complete to celebrate birthdays and beyond. Make your friends feel on their birthday the way you would like to feel.</p>
<iframe width="100%" height="380" src="https://www.youtube.com/embed/x8_dZJ46k74" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h3 id="where-people-can-get-in-touch-with-you" id="where-people-can-get-in-touch-with-you">Where people can get in touch with you? <a class="markdownit-header-anchor" href="#where-people-can-get-in-touch-with-you">🔗</a></h3>
<p>Generally, users contact me via the app’s support email. Also, there are Facebook, Instagram and the Youtube channel of the app. Yesterday I put online the new site of the app. In the coming days, I will add two more sections:
a section already present in the app regarding notifications and operations to be performed in the Android settings menu to receive them correctly; another with gift ideas based on various interests in case you get stuck at the last minute.</p>
<h3 id="get-in-touch-with-teo-coding" id="get-in-touch-with-teo-coding">Get in touch with TEO CODING <a class="markdownit-header-anchor" href="#get-in-touch-with-teo-coding">🔗</a></h3>
<ul>
<li><a href="https://www.facebook.com/birthdayremember/">Facebook</a></li>
<li><a href="https://www.instagram.com/birthdayremember/">Instagram</a></li>
<li><a href="https://bit.ly/3b6rgWL">YouTube</a></li>
<li><a href="https://birthdayreminderapp.com/">birthdayreminderapp.com</a></li>
<li><a href="mailto:hbremember.help@gmail.com">Support Mail</a></li>
</ul>
<p>Would you love to help TEO CODING with the translation of his app Birthday Reminder: Calendar Bday Alarm? You can now become a translator, or you can send Teo a small donation to help make his app better.</p><!--kg-card-end: html--><h2 id="get-featured-on-the-localazy-blog">🏆 Get featured on the Localazy Blog <a class="markdownit-header-anchor" href="#get-featured-on-the-localazy-blog">🔗</a></h2><p>Do you love Localazy? Would you like to share your own success story? Head to the <a href="/community/shake-hands/publish-interview">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/cd7da453-b303-4224-a3d4-17204ab07788" length="0" type="image//assets/cd7da453-b303-4224-a3d4-17204ab07788"/>
        </item>
        <item>
            <title><![CDATA[Open Invitation to Interview for Developers]]></title>
            <link>https://localazy.com/blog/open-invitation-to-interview-for-developers</link>
            <guid isPermaLink="false">open-invitation-to-interview-for-developers</guid>
            <pubDate>Mon, 29 Nov 2021 13:04:49 GMT</pubDate>
            <description><![CDATA[Get an interview about your latest project at Localazy and get recognized.]]></description>
            <content:encoded><![CDATA[<p>Localazy is an experienced team with background both in mobile app development (such as <a href="https://www.floatingapps.net">Floating Apps</a>) or online marketing. We do realize how hard it can be to get some positive traction for a digital product. Now we are offering you, fellow creators, a standing invitation to publish an interview about your app, yourself or your service for other developers. After all, Localazy started as a <strong>translation tool for software </strong>and app developers, so we are on the same board.</p><h2 id="what-do-you-get">What do you get? <a class="markdownit-header-anchor" href="#what-do-you-get">🔗</a></h2><p>Receive media coverage with support from the <a href="/contact/">Localazy team</a> and get more users for your product, app or service. Based on the content provided and capacity of our editorial calendar, we will publish your interview on the <a href="https://www.localazy.com/blog/">Localazy blog</a>, our specialized media outlet for app developers and on our social media. You will be informed about the planned interview release in advance.</p><h2 id="what-is-the-process">What is the process? <a class="markdownit-header-anchor" href="#what-is-the-process">🔗</a></h2><p>After you fill in our interview application form and if chosen for an interview, we will contact you and send an interview draft tailored just for you. We will then need you to answer our follow-up questions. Once you approve the final draft, we will schedule the publication and you will receive your reward.</p><h2 id="who-may-apply">Who may apply? <a class="markdownit-header-anchor" href="#who-may-apply">🔗</a></h2><p>We are pleased to publish an interview with all independent developers and digital teams who deliver tangible value to their users. You need to have a working mobile app, SaaS or a service for developers. We are keen to support indie, academic and nonprofit causes, but also starting and already successful commercial ventures.</p><h2 id="apply-now">Apply now! <a class="markdownit-header-anchor" href="#apply-now">🔗</a></h2><p>We are looking forward to your applications! Head to the <a href="https://localazy.com/my/community">community section</a> and apply for an interview now! We will promote your product on our blog and you'll get rewarded for it! 😉</p><blockquote>Get featured on the blog - <a href="/community/shake-hands/publish-interview">answer our questionnaire</a> in the community section to get the ball rolling!</blockquote>]]></content:encoded>
            <author>Jakub Dubec</author>
            <enclosure url="https://directus9.localazy.com/assets/739cd3a8-8860-43c1-b2a0-3357a15eedb6" length="0" type="image//assets/739cd3a8-8860-43c1-b2a0-3357a15eedb6"/>
        </item>
        <item>
            <title><![CDATA[Introduction to GILT for Developers]]></title>
            <link>https://localazy.com/blog/introduction-into-gilt-for-developers</link>
            <guid isPermaLink="false">introduction-into-gilt-for-developers</guid>
            <pubDate>Tue, 24 Sep 2024 16:17:52 GMT</pubDate>
            <description><![CDATA[Are you a developer thinking about expanding your app into other countries? This article is for you. Below you will find out what are the common workflows in translation management and what particular terms mean.]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Once you are finished with this piece of content, you will have a better understanding of how this discipline can help you achieve better results with your app.</p>
<h2 id="common-terms" id="common-terms">Common terms <a class="markdownit-header-anchor" href="#common-terms">🔗</a></h2>
<h3 id="gilt" id="gilt">GILT <a class="markdownit-header-anchor" href="#gilt">🔗</a></h3>
<p>The <a href="/dictionary/gilt">GILT</a> acronym means globalization, internationalization, localization and translation. All of those activities help app owners engage in when they expand beyond borders. But what are the differences between those four activities? Let’s find out.</p>
<h3 id="globalization-g11n" id="globalization-g11n">Globalization – g11n <a class="markdownit-header-anchor" href="#globalization-g11n">🔗</a></h3>
<p>The term <a href="/dictionary/globalization">globalization</a> is rather business-oriented and refers to making a closer connection with the global community of customers.</p>
<h4 id="how-to-understand-globalization-from-the-perspective-of-a-developer">How to understand globalization from the perspective of a developer:</h4>
<p>Productivity app developers want to increase the number of users. He may want to customize his app to meet local preferences – from language to culture. Globalization is made by internationalization and localization.</p>
<p><img src="https://directus9.localazy.com/assets/36777021-d40d-4055-ac9f-1f8c7b4b4942" alt="Mobile App Translation" title="Translation"></p>
<h3 id="internationalization-i18n" id="internationalization-i18n">Internationalization – i18n <a class="markdownit-header-anchor" href="#internationalization-i18n">🔗</a></h3>
<p><a href="/dictionary/internationalization">Internationalization</a> is a sort of strategy to prepare your app for expansion into other countries. Of course, there are apps where i18n does not make sense. For example, an app which works only for a particular geographically targeted audience. A clear sample could be an app to check out the results of national sports competitions. Internationalization makes sense when you build an app with a potential of growth in other countries, i.e. productivity app, music app, and so on.</p>
<h4 id="how-to-understand-internationalization-from-the-perspective-of-a-developer">How to understand internationalization from the perspective of a developer:</h4>
<ul>
<li>User interface should provide space for different lengths of characters or text orientation (right-to-left, left-to-right)</li>
<li>Data encoding (ASCII or UNICODE?)</li>
<li>Integration with local services</li>
<li>Hardware &amp; SW requirements – compatibility issues, hardware availability…</li>
</ul>
<h3 id="localization-l10n" id="localization-l10n">Localization – l10n <a class="markdownit-header-anchor" href="#localization-l10n">🔗</a></h3>
<p><a href="/dictionary/localization">Localization</a> helps to align your app with the local culture. The most known localization sample is when you set up your new phone, for example. You set up timezone, currency, language, the start of the workweek and many other things. Of course, smart UX is when you do not have to do so, and localization is made for you automatically.</p>
<h4 id="how-to-understand-localization-from-the-perspective-of-a-developer">How to understand localization from the perspective of a developer:</h4>
<ul>
<li>Make your app useful for people from different cultures. Of course, you need to translate the app, but you also need to keep in mind other culture-related settings to make the app a viable option for your users.</li>
<li>For example, if they can not set up proper workweek settings, your calendar app will not be useful at all in many countries. In some cultures, white colour represents innocence while in other culture, it represents death. For that reason, localization experts are here to help you find out all bits and bobs of every culture.</li>
<li>Some legal requirements may apply in particular countries, i.e. GDPR requires a developer actually to think about data protection requirements.</li>
</ul>
<h3 id="translation-t9n" id="translation-t9n">Translation – t9n <a class="markdownit-header-anchor" href="#translation-t9n">🔗</a></h3>
<p>The <a href="/dictionary/translation">translation</a> is a part of localization. It is a process when you convert a phrase in one language into a phrase of the same meaning in the other language. It is that simple as far as you start to realize the differences in languages.</p>
<h4 id="how-to-understand-translation-from-the-perspective-of-a-developer">How to understand translation from the perspective of a developer:</h4>
<ul>
<li>You need to think about language differences or hire a linguist (i.e. how Localazy can solve your headaches with plurals)</li>
<li>Don’t solve deprecated locales by yourself</li>
</ul>
<h3 id="computer-aided-translation-cat" id="computer-aided-translation-cat">Computer-aided Translation (CAT) <a class="markdownit-header-anchor" href="#computer-aided-translation-cat">🔗</a></h3>
<p><a href="/dictionary/cat-tool">Computer-aided Translation</a> is a productivity tool for translations and enables you to increase both the quality and speed of translations.</p>
<h3 id="machine-translation-mt" id="machine-translation-mt">Machine Translation (MT) <a class="markdownit-header-anchor" href="#machine-translation-mt">🔗</a></h3>
<p><a href="/dictionary/machine-translation">Machine Translation</a> (MT) is a feature of many computer-aided translation tools. Mainly you can utilize MT, for example, in Google Translator and many other online translation tools. Machine translation can be both private or shared. You can decide if you will send back your translations to improve MT intelligence or if you would like to keep them only for yourself.</p>
<h3 id="translation-memory-tm" id="translation-memory">Translation Memory (TM) <a class="markdownit-header-anchor" href="#translation-memory-tm">🔗</a></h3>
<p><a href="/dictionary/translation-memory">Translation Memory</a> (TM) is also a feature of many computer-aided translation tools. As described by its name, translation memory helps you to prevent translation duplicities and can save resources because you do not translate already translated phrases. Translation memory can be both private or shared. You can decide if you will send back your translations or if you would like to keep them only for yourself. At Localazy, we give a special meaning to the shared translation memory.</p>
<h3 id="glossary" id="glossary">Glossary <a class="markdownit-header-anchor" href="#glossary">🔗</a></h3>
<p><a href="/dictionary/glossary">Glossary</a> is a dataset of hardwired translations phrase to phrase. Nothing is worse in translation than an inconsistent translation. A glossary makes you sure that even huge translation projects across many contributors keep the vocabulary consistent, which improves overall quality but also will decrease learning curve difficulty for new contributors, saving your money at the end of the day. Glossary is essential when technical terms and more complicated language concepts occur.</p>
<p>For example, in the Czech language, there are two words of the same meaning for a standard – one is “standard” and second is “norma”. They are the same, and “norma” is widely used because of historical reasons. Nowadays, some companies require translators to use “standard” instead, because “norma” does have negative connotations related to communism.</p>
<p>For that reason, you might want to use <a href="/docs/general/how-to-define-your-glossary">Glossary</a> and let your contributors know they want to use specific phrases. I would bet that you can think about similar issues in your language too <img class="emoji" draggable="false" alt="😉" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f609.png"/>.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Ondřej Půček</author>
            <enclosure url="https://directus9.localazy.com/assets/856dc20f-67a4-46d6-b13d-b5e4c3774e26" length="0" type="image//assets/856dc20f-67a4-46d6-b13d-b5e4c3774e26"/>
        </item>
        <item>
            <title><![CDATA[Invest Into Quality of your App, Including Translations]]></title>
            <link>https://localazy.com/blog/invest-into-quality-app-translations</link>
            <guid isPermaLink="false">invest-into-quality-app-translations</guid>
            <pubDate>Fri, 24 Mar 2023 10:07:03 GMT</pubDate>
            <description><![CDATA[When it comes to user experience, app store reviews are sometimes brutally honest. And they are sometimes unnecessary because they could be easily prevented. Quality assurance makes your app more durable against negative feedback. Learn how localization can make a difference!]]></description>
            <content:encoded><![CDATA[<!--kg-card-begin: html--><p>Great app with perfect support will just make every developer happy because users are happy. After all, we know something about it! Check out the rating of Floating Apps for yourself. </p>
<h2 id="how-quality-assurance-makes-your-app-better" id="how-quality-assurance-makes-your-app-better">How quality assurance makes your app better <a class="markdownit-header-anchor" href="#how-quality-assurance-makes-your-app-better">🔗</a></h2>
<ul>
<li>Fewer bug reports and fixes in production - you already know it best!</li>
<li>Seamless user experience drives more app sales and positive reputation</li>
<li>Lower maintenance decreases overall development costs</li>
<li>There is more time to focus on app perfection and improvements</li>
</ul>
<p>As you can see, quality assurance can make the difference between a loser and a winner app. But quality assurance does not mean only code review, but also many other parts, including quality of app <a href="/dictionary/localization">localization</a>.</p>
<h2 id="translation-and-localization-as-a-part-of-ux" id="translation-and-localization-as-a-part-of-ux">Translation and localization as a part of UX <a class="markdownit-header-anchor" href="#translation-and-localization-as-a-part-of-ux">🔗</a></h2>
<p>App language hides in the corner. There are several reasons why localization can be a weak part of the overall user experience.</p>
<ul>
<li>Translation tools are not fully integrated with apps</li>
<li>It is a challenge to review all phrases in many languages for a single developer</li>
<li>Cost of translation make app developers choose only major languages</li>
<li>Having a localization team is not a viable option for independent developers and small digital teams</li>
</ul>
<h2 id="how-localazy-enable-developers-to-focus-on-quality" id="how-localazy-enable-developers-to-focus-on-quality">How Localazy enable developers to focus on quality <a class="markdownit-header-anchor" href="#how-localazy-enable-developers-to-focus-on-quality">🔗</a></h2>
<p>Here at Localazy, we have a strong belief, proofed by the reality of our apps, that quality assurance is of vital importance for every professional developer. Based on our individual needs for efficient translations, we have developed a mobile app localization tool made with developers and end-users in mind. Easiness to use for developers is our highest priority, and we already have some experience from different perspectives. Our founder Václav is an app developer, Jakub is a translation manager, and all of us are app users.</p>
<p>All mobile app users should be able to use apps in their language. Through a set of features, we aid your app <a href="/dictionary/translation">translation</a> process to increase the overall quality of your app.</p>
<h3 id="seamless-review-system" id="seamless-review-system">Seamless review system <a class="markdownit-header-anchor" href="#seamless-review-system">🔗</a></h3>
<p>The last thing you want to do as a mobile app developer is to check on translation updates and new strings for review constantly. Stay organized with Localazy and perform your reviews just when you have spare time to do so. You can have a peaceful mind - it doesn’t matter if you check your translations once per week or month. You always know exactly what happened, who translated what, etc.</p>
<h3 id="phrase-prioritization" id="phrase-prioritization">Phrase prioritization <a class="markdownit-header-anchor" href="#phrase-prioritization">🔗</a></h3>
<p>Our translation engine works for your users. Based on telemetric data, your translation contributors will get most important phrases at the top of the priority ladder. Save your funds as well as your time. Focus on the most important phrases first, without the need to make manual decisions. Seamless and quickly visible results of the translation process can also attract more contributors to improve your app’s translations.</p>
<h3 id="translation-as-a-game" id="translation-as-a-game">Translation as a game <a class="markdownit-header-anchor" href="#translation-as-a-game">🔗</a></h3>
<p>Usually, a game is something that people understand as a tool of relaxation or learning. But a game can also be a productivity tool. We got inspired by games for their ability to drive people into a state of deep flow, which makes them stay focused. This approach works back and forth through the whole Localazy. It is not about rewards and gamification, but about the seamless app translation experience. You can benefit from our carefully tailored translation game to have the essential translations within no time compared to other computer-aided translation tools.</p>
<h3 id="continuous-improvement" id="continuous-improvement">Continuous Improvement <a class="markdownit-header-anchor" href="#continuous-improvement">🔗</a></h3>
<p>It is important to continually and gradually improve the quality of the app, based on user feedback and other important findings. Not an easy task if there is no framework for it. Fortunately, there is!</p>
<h4 id="pdca-plan-do-check-act">PDCA - Plan, Do, Check, Act</h4>
<p>Origins of <a href="/dictionary/pdca">PDCA</a> are in the scientific approach of famous Francis Bacon, lately further promoted by W. Edwards Deming, who is considered by many to be the father of modern quality control. PDCA cycle is an iterative four-step management method used for the control and continuous improvement of processes and products.</p>
<p>With no doubts, PDCA is here to help you to aid quality assurance of your mobile app localization.</p>
<p><img src="https://directus9.localazy.com/assets/f743b432-0ff5-4aa1-8eac-45c3b0586ea1" alt="PDCA Cycle"></p>
<h3 id="cost-effective-translation-means-more-funds-into-development" id="cost-effective-translation-means-more-funds-into-development">Cost-effective translation means more funds into development <a class="markdownit-header-anchor" href="#cost-effective-translation-means-more-funds-into-development">🔗</a></h3>
<p>Translation jobs can be quite pricey. Not only the work itself but also hiring, onboarding, training and management is something that can make a difference between cost-effective translation and headache. Get reinforced by Localazy platform and save the funds you can use for app development and quality assurance. From our pricing model to the principles of our translation engine, get the most out of your app.</p>
<!--kg-card-end: html-->]]></content:encoded>
            <author>Ondřej Půček</author>
            <enclosure url="https://directus9.localazy.com/assets/5e509a47-06cf-4185-b9db-9d07c775bd41" length="0" type="image//assets/5e509a47-06cf-4185-b9db-9d07c775bd41"/>
        </item>
    </channel>
</rss>