{"id":15099,"date":"2021-11-25T12:00:02","date_gmt":"2021-11-25T10:00:02","guid":{"rendered":"https:\/\/phraseapp.com\/blog\/?p=1447"},"modified":"2023-09-25T10:12:41","modified_gmt":"2023-09-25T08:12:41","slug":"i18n-a-simple-definition","status":"publish","type":"post","link":"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/","title":{"rendered":"What Is I18n? A Simple Definition of Internationalization"},"content":{"rendered":"\n<div id=\"acf\/text-block_a5c38c631f1c077b136bef33cc099295\" class=\"pxblock pxblock--text spacing--default bg--white\">\n\n\t\n\t<div class=\"container\">\n\t\t<div class=\"wysiwyg animate-in\">\n\t\t\t<p>Akio Morita, the co-founder of Sony, coined a saying that has become the mantra for many businesses aiming for greater relevance in a fiercely competitive global economic landscape:<\/p>\n<p>&#8220;Think globally, act locally.&#8221;<\/p>\n<p>Local cultures are about much more than just language. Different countries have their own ideas about how to do things, their own sets of rules about what\u2019s acceptable and what isn\u2019t.<\/p>\n<p>That&#8217;s why any software product, be it a web or mobile app, must fit in with the cultural, linguistic, legal, and other requirements of its target markets. To do that, the software needs to be ready for changes.<\/p>\n<p>This process is known as internationalization (i18n). Here&#8217;s how it works.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_69_1 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Overview<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#what-is-internationalization-i18n\" title=\"What is internationalization (i18n)?\">What is internationalization (i18n)?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#internationalization-vs-localization-the-difference-explained\" title=\"Internationalization vs localization: The difference explained\">Internationalization vs localization: The difference explained<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#why-is-i18n-important\" title=\"Why is i18n important?\">Why is i18n important?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#the-case-of-baidu-and-google\" title=\"The case of Baidu and Google\">The case of Baidu and Google<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#how-does-i18n-affect-developers\" title=\"How does i18n affect developers?\">How does i18n affect developers?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#internationalization-i18n-gone-wrong\" title=\"Internationalization (i18n) gone wrong\">Internationalization (i18n) gone wrong<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#incorrect-measurement-units\" title=\"Incorrect measurement units\">Incorrect measurement units<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#incorrect-date-and-number-formats\" title=\"Incorrect date and number formats\">Incorrect date and number formats<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#user-interface-controls-that-dont-work-in-all-languages\" title=\"User interface controls that don&#8217;t work in all languages\">User interface controls that don&#8217;t work in all languages<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#incomplete-translations\" title=\"Incomplete translations\">Incomplete translations<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#layout-and-design\" title=\"Layout and design\">Layout and design<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#benefits-of-internationalizing-your-software-app-or-website\" title=\"Benefits of internationalizing your software, app, or website\">Benefits of internationalizing your software, app, or website<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#easier-faster-and-cheaper-localization\" title=\"Easier, faster, and cheaper localization\">Easier, faster, and cheaper localization<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#improved-user-experience\" title=\"Improved user experience\">Improved user experience<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#easier-maintenance\" title=\"Easier maintenance\">Easier maintenance<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#shorter-time-to-market\" title=\"Shorter time to market\">Shorter time to market<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#tips-for-successful-internationalization\" title=\"Tips for successful internationalization\">Tips for successful internationalization<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/phrase.com\/blog\/posts\/i18n-a-simple-definition\/#what-good-internationalization-i18n-means\" title=\"What good internationalization (i18n) means\">What good internationalization (i18n) means<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"what-is-internationalization-i18n\"><\/span>What is internationalization (i18n)?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Internationalization (i18n) is the process of designing and developing a software product so it can be adapted for users of different cultures and languages.<\/p>\n<p>Internationalization doesn\u2019t just involve enabling different languages\u2014it also entails adapting the software to accept different forms of data and settings to match local customs and process them correctly.<\/p>\n<p>The <a href=\"https:\/\/www.w3.org\/International\/questions\/qa-i18n\">W3C Group defines internationalization<\/a> as follows:<\/p>\n<p>Internationalization is the design and development of a product, application, or document content that enables easy localization for target audiences that vary in culture, region, or language.<\/p>\n<p>Internationalization usually includes:<\/p>\n<ul>\n<li><span style=\"color: #505050; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial, sans-serif; font-size: revert;\">Designing and developing in a way that removes barriers to localization or international deployment. This includes such things as enabling the use of Unicode, ensuring the proper handling of legacy character encodings where appropriate, taking care over the concatenation of strings, avoiding dependence in code of user-interface string values, etc.<\/span><\/li>\n<li><span style=\"color: #505050; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial, sans-serif; font-size: revert;\">Providing support for features that may not be used until localization occurs. For example, adding markup in your DTD to support bidirectional text, or for identifying language. Or adding to CSS support for vertical text or other non-Latin typographic features.<\/span><\/li>\n<li>Enabling code to support local, regional, language, or culturally related preferences. Typically, this involves incorporating predefined localization data and features derived from existing libraries or user preferences. Examples include date and time formats, local calendars, number formats, and numeral systems, sorting and presentation of lists, handling of personal names and forms of address, etc.<\/li>\n<li>Separating localizable elements from source code or content, such that localized alternatives can be loaded or selected based on the user\u2019s international preferences as needed.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"internationalization-vs-localization-the-difference-explained\"><\/span>Internationalization vs localization: The difference explained<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Although similar at first sight, <a href=\"https:\/\/phrase.com\/blog\/posts\/internationalization-vs-localization\/\">internationalization and localization aren&#8217;t the same<\/a>. Localization is the act of adapting software\u2014from content, UI layout, colors, and images to measurement units, date formats, and currencies\u2014to suit a specific locale. The term &#8220;locale&#8221; defines a geographical region with a specific language (e.g., fr_CA means French from Canada, fr_FR means French from France, etc.).<\/p>\n<p><span        >Internationalization always comes first, and it\u2019s what makes localization easier. In many ways, internationalization can be thought of as building the structure of a piece of software so that it can be adjusted for different target markets, and localization is the process of actually doing so for a specific market. Both are integral parts of a <a class=\"in-cell-link\" href=\"https:\/\/phrase.com\/blog\/posts\/how-important-is-localization-for-your-business\/\" target=\"_blank\" rel=\"noopener\">localization strategy<\/a>.<\/span><\/p>\n<p>The <a href=\"https:\/\/www.w3.org\/International\/questions\/qa-i18n\">W3C Group refers to localization<\/a> as follows:<\/p>\n<p>\u201cLocalization refers to the adaptation of a product, application, or document content to meet the language, cultural and other requirements of a specific target market (a locale). Localization is sometimes written as l10n, where 10 is the number of letters between l and n. Often thought of only as a synonym for translation of the user interface and documentation, localization is often a substantially more complex issue.<\/p>\n<p>Localization can entail customization related to:<\/p>\n<ul>\n<li>Numeric, date, and time formats<\/li>\n<li>Use of currency<\/li>\n<li>Keyboard usage<\/li>\n<li>Collation and sorting<\/li>\n<li>Symbols, icons, and colors<\/li>\n<li>Text and graphics containing references to objects, actions, or ideas that, in a given culture, may be subject to misinterpretation or viewed as insensitive<\/li>\n<li>Varying legal requirements, and many more things\u2026<\/li>\n<\/ul>\n<p>Localization may even necessitate a comprehensive rethinking of logic, visual design, or presentation if the way of doing business (e.g., accounting) or the accepted paradigm for learning (e.g., focus on individual vs. group) in a given locale differs substantially from the originating culture.\u201d<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<div id=\"acf\/blog-cta-block_08d99bb893d9215f917f0b79e3e41e01\" class=\"pxblock pxblock--blog-cta alignfull bg--green image--orientation-portrait\">\n\t<div class=\"block-container\">\n\t\t\t\t\t<div class=\"image image--align-middle\">\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1700\" height=\"2200\" src=\"https:\/\/phrase.com\/wp-content\/uploads\/2023\/03\/Localization_Best_Practices_Ebook_Cover.png\" class=\"attachment-original size-original\" alt=\"Localization best practice ebook cover | Phrase\" srcset=\"https:\/\/phrase.com\/wp-content\/uploads\/2023\/03\/Localization_Best_Practices_Ebook_Cover.png 1700w, https:\/\/phrase.com\/wp-content\/uploads\/2023\/03\/Localization_Best_Practices_Ebook_Cover-232x300.png 232w, https:\/\/phrase.com\/wp-content\/uploads\/2023\/03\/Localization_Best_Practices_Ebook_Cover-791x1024.png 791w, https:\/\/phrase.com\/wp-content\/uploads\/2023\/03\/Localization_Best_Practices_Ebook_Cover-768x994.png 768w, https:\/\/phrase.com\/wp-content\/uploads\/2023\/03\/Localization_Best_Practices_Ebook_Cover-1187x1536.png 1187w, https:\/\/phrase.com\/wp-content\/uploads\/2023\/03\/Localization_Best_Practices_Ebook_Cover-1583x2048.png 1583w\" sizes=\"(max-width: 1700px) 100vw, 1700px\" \/>\t\t\t<\/div>\n\t\t\t\t<div class=\"content\">\n\t\t\t<p class=\"subhead\">Free download<\/p>\n<p class=\"h6\">Best practices for developing effective localization strategies<\/p>\n<p class=\"small\">Explore how to tackle localization management efficiently and engage customers across the globe in their native languages and local experiences.<\/p>\n<p><a class=\"btn btn--outline\" href=\"https:\/\/phrase.com\/resources\/localization-best-practices\/\">Download ebook<\/a><\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<div id=\"acf\/text-block_24c764b3981a768b5d6fa03f1c82ce42\" class=\"pxblock pxblock--text spacing--default bg--white\">\n\n\t\n\t<div class=\"container\">\n\t\t<div class=\"wysiwyg animate-in\">\n\t\t\t<h2><span class=\"ez-toc-section\" id=\"why-is-i18n-important\"><\/span>Why is i18n important?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Internationalization plays a crucial role in the success of any software product as it greatly impacts the customer experience.<\/p>\n<p>For example, in a number of Asian countries, the family name comes first, followed by the given name. In Spain, people have two family names, one from the father and one from the mother; in Germany, you can even hyphenate your last name. Your software needs to be able to understand these and other vastly different conventions and present information accordingly.<\/p>\n<p>Another example is ZIP and postcode formats, which can differ substantially among countries:<\/p>\n<ul>\n<li>In Canada, for example, a postcode takes the form X0X 0X0, where X is a letter and 0 is a number.<\/li>\n<li>In the United Kingdom, however, a postcode can take the form X00 0XX, XX00 0XX, XX0, 0XX, or X0 0XX.<\/li>\n<li>In Brazil, postcodes take the form 00000-000.<\/li>\n<\/ul>\n<p>When implemented properly, internationalization can create software that is capable of handling multiple inputs. Even better is when the software automatically checks those inputs to ensure that the right format is used for the right country.<\/p>\n<p>All these are important aspects of developing software that consumers can relate to and use appropriately. A business that can\u2019t accept orders through its software because that software can\u2019t properly render postcodes may not last in the international market for very long.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"the-case-of-baidu-and-google\"><\/span>The case of Baidu and Google<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Baidu, the number one search engine in China, has been flourishing because it resonates more effectively with people within China than Google. It\u2019s able to do better than Google because of its specific targeting and understanding of local cultures, restrictions, and, possibly most importantly, government requirements, such as access to user information and, reportedly, censorship.<\/p>\n<p>However good Baidu\u2019s localization strategy is, it isn\u2019t particularly well internationalized, and it hasn\u2019t been able to break into any markets outside China. Although this is unlikely to be a concern in a country with more than one billion potential users, it does limit potential future growth.<\/p>\n<p>Google, on the other hand, has been out to break into most markets thanks to its internationalized software. Because it\u2019s easily adaptable to a wide variety of locales, it can present interesting information that meets the searcher\u2019s requirements, whether that person is in South Africa, the United States, or Russia.<\/p>\n<p>Similarly, its Android operating system, Google Chrome browser, and numerous other products are all effectively internationalized, so they can be easily converted to meet the user\u2019s cultural and personal requirements.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"how-does-i18n-affect-developers\"><\/span>How does i18n affect developers?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Drilling down into code a little more, there are several good practices that go into reliable and trustworthy internationalization.<\/p>\n<p>For illustration purposes, let\u2019s take a brief look at WordPress. Around a third of all WordPress downloads are for localized non-English versions, so developers who build the various WordPress plugins need to do it with localization in mind, ensuring they\u2019re fully internationalized.<\/p>\n<p>This means, for example, that they shouldn\u2019t use PHP variables inside the strings of a translation function, because translation software typically scans all the strings and pulls out the parts that need to be translated, designated by __().<\/p>\n<p>If you have a PHP variable within that, translation software might try to pull it out as translatable content, possibly resulting in an accidental deletion by a translator. This, in turn, can render the entire line of code worthless\u2014an error that can be difficult to track down.<\/p>\n<p>This is just one example of how internationalization can affect a developer, but there are many more situations where the incorrect application of internationalization can cause the software to malfunction or produce unexpected results.<\/p>\n<p>Other practices that have been standardized as part of internationalization include:<\/p>\n<ul>\n<li>Keep software components external to the source code (e.g., user interface controls, user messages, user input methods, etc.)<\/li>\n<li>Using Unicode<\/li>\n<li>Avoiding language-dependent code wherever possible<\/li>\n<li>Moving the code into separate resource files for each locale before it gets deployed<\/li>\n<li>Considering different text lengths between languages<\/li>\n<li>Supporting all language directions (left-to-right, right-to-left, etc.)<\/li>\n<li>Avoiding the hard-coding of culture-sensitive elements (date and time formats, number formats, etc.)<\/li>\n<li>Avoiding string concatenation<\/li>\n<\/ul>\n<p>For example, if you had an Android app, a hard-coded string in your code would look like this:<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"Java\" data-shcb-language-slug=\"java\"><span><code class=\"hljs language-java\">&lt;TextView\n     android:layout_width=<span class=\"hljs-string\">\"match_parent\"<\/span>\n     android:layout_height=<span class=\"hljs-string\">\"wrap_content\"<\/span>\n     android:text=<span class=\"hljs-string\">\"I am a hard coded string\"<\/span>\n     \/&gt;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Java<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">java<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<div id=\"acf\/text-block_1fe0c8486cfacfc485afcea5a6c71d57\" class=\"pxblock pxblock--text spacing--default bg--white\">\n\n\t\n\t<div class=\"container\">\n\t\t<div class=\"wysiwyg animate-in\">\n\t\t\t<p>What you&#8217;d like to do instead is set a reference to a string instead of an actual string so that the value of the string can change dynamically when the user chooses another language. So, in our example, we&#8217;d have:<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"Java\" data-shcb-language-slug=\"java\"><span><code class=\"hljs language-java\">nameTextView.text = getString(R.string.reference)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Java<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">java<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<div id=\"acf\/text-block_dde62e97f32e8ea12305a122e88ec8d4\" class=\"pxblock pxblock--text spacing--default bg--white\">\n\n\t\n\t<div class=\"container\">\n\t\t<div class=\"wysiwyg animate-in\">\n\t\t\t<p>Equally important, make sure that all your strings are located in folders for each language separately. That way adding and modifying strings becomes much easier. In doing so, you won\u2019t need to chase each specific string in every location across the code. It also allows for a translated version to be used without having to recompile your app\u2019s code.<\/p>\n<p>Many of these practices are straightforward enough to be immediately applicable, while others can require a little more time to consider. However, all will help to ensure your software is as effective and as user-friendly as possible.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"internationalization-i18n-gone-wrong\"><\/span>Internationalization (i18n) gone wrong<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Bad internationalization (i18n) typically means bad localization. A classic example is when only prices are localized on an ecommerce site, while the product descriptions, weights, and measurements remain in the original language.<\/p>\n<p>The list of potential pitfalls continues\u2014let&#8217;s take a look at some of the more common ones.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"incorrect-measurement-units\"><\/span>Incorrect measurement units<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>For many, pounds, feet, inches, and ounces are not easily convertible, so this turns the customer off the website because they don\u2019t understand what they\u2019re being offered.<\/p>\n<p>Take clothing retailers: The same number can mean vastly different sizes in different countries. A size 10 in the United Kingdom would be a 38 in Europe. A size 38 in the United States, however, would be vastly different\u2014the European size 38 is actually a size 6.<\/p>\n<p>Good coding would allow automatic conversion of data so that it appears in the target language and cultural context\u2014at least for the website\u2019s prime markets\u2014and good coding has to start at the beginning of the development process.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"incorrect-date-and-number-formats\"><\/span>Incorrect date and number formats<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In addition, different parts of the world use different date formats. In the United States, January 2 would be written 1\/2. In the UK, that would mean February 1. This can make a big difference to delivery dates and could be a big factor as to whether your customer wants to purchase from you.<\/p>\n<p><a href=\"https:\/\/phrase.com\/blog\/posts\/number-localization\/\">Number localization<\/a> is another challenge. Some countries use commas while others use periods for decimal places, and some languages require a space between the thousand and million separators. If you get it wrong, you can produce really odd and confusing results that your clients might attribute to a lack of care for detail.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"user-interface-controls-that-dont-work-in-all-languages\"><\/span>User interface controls that don&#8217;t work in all languages<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>And while we\u2019re at it, let\u2019s consider language-dependent UI controls. What happens when the user&#8217;s keyboard doesn\u2019t include the button they\u2019re using to denote a certain part of their interface? It\u2019s likely that they\u2019ll simply move on and find another website or app\u2014one that does work for them.<\/p>\n<p>Using language-independent controls is far more user-friendly and will yield far better results.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"incomplete-translations\"><\/span>Incomplete translations<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Partial translations are often the result of bad internationalization as well. In some cases, menus may be untranslated, or perhaps essential contact information may only be in English.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"layout-and-design\"><\/span>Layout and design<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Different layouts are also required for different cultures. Typically, a minimalist layout is fine for many countries, but in some, such as Japan, a much denser layout is more common.<\/p>\n<figure id=\"attachment_16728\" aria-describedby=\"caption-attachment-16728\" style=\"width: 2348px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-16728 size-full\" src=\"https:\/\/phrase.com\/wp-content\/uploads\/2021\/11\/starbucks-usa-vs-japan-scaled-1.jpg\" alt=\"A comparison of the Starbucks' website layouts for the US and Japan | Phrase\" width=\"2348\" height=\"2560\" srcset=\"https:\/\/phrase.com\/wp-content\/uploads\/2021\/11\/starbucks-usa-vs-japan-scaled-1.jpg 2348w, https:\/\/phrase.com\/wp-content\/uploads\/2021\/11\/starbucks-usa-vs-japan-scaled-1-275x300.jpg 275w, https:\/\/phrase.com\/wp-content\/uploads\/2021\/11\/starbucks-usa-vs-japan-scaled-1-939x1024.jpg 939w, https:\/\/phrase.com\/wp-content\/uploads\/2021\/11\/starbucks-usa-vs-japan-scaled-1-768x837.jpg 768w, https:\/\/phrase.com\/wp-content\/uploads\/2021\/11\/starbucks-usa-vs-japan-scaled-1-1409x1536.jpg 1409w, https:\/\/phrase.com\/wp-content\/uploads\/2021\/11\/starbucks-usa-vs-japan-scaled-1-1878x2048.jpg 1878w\" sizes=\"(max-width: 2348px) 100vw, 2348px\" \/><figcaption id=\"caption-attachment-16728\" class=\"wp-caption-text\">Compare Starbucks\u2019 website layouts for the US and Japanese markets<\/figcaption><\/figure>\n<p>Good internationalization means that you can present different products, layouts, and even colors for different audiences, whereas bad internationalization means you have to use exactly the same layout for everyone. Bad translation is often <a href=\"https:\/\/phrase.com\/blog\/posts\/5-examples-localization-gone-tragically-awry\/\">an example of bad localization<\/a> rather than internationalization, but it\u2019s still important to know that these two are highly interlinked subjects.<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<div id=\"acf\/blog-cta-block_202e0d4bc5c4083995f26a881d5d2236\" class=\"pxblock pxblock--blog-cta bg--grey image--orientation-square\">\n\t<div class=\"block-container\">\n\t\t\t\t<div class=\"content\">\n\t\t\t<p class=\"subhead\" style=\"text-align: center;\">Dive deeper<\/p>\n<p class=\"h5\" style=\"text-align: center;\">Definition of done (DoD) for software internationalization<\/p>\n<p class=\"small\" style=\"text-align: center;\">Learn how to effortlessly prepare your software to cater to a global user base and define your own &#8220;done&#8221; for software internationalization.<\/p>\n<p style=\"text-align: center;\"><a class=\"btn btn--outline\" href=\"https:\/\/phrase.com\/blog\/posts\/definition-of-done-for-software-internationalization\/\">Explore steps<\/a><\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<div id=\"acf\/text-block_d1200658c9075a79e2de31a5b53be20b\" class=\"pxblock pxblock--text spacing--default bg--white\">\n\n\t\n\t<div class=\"container\">\n\t\t<div class=\"wysiwyg animate-in\">\n\t\t\t<h2><span class=\"ez-toc-section\" id=\"benefits-of-internationalizing-your-software-app-or-website\"><\/span>Benefits of internationalizing your software, app, or website<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Internationalization offers a range of benefits that make users happier, make developers&#8217; work easier, and help translators carry out localization more efficiently and effectively.<br \/>\nLet\u2019s go through the main benefits of internationalization:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"easier-faster-and-cheaper-localization\"><\/span>Easier, faster, and cheaper localization<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Because internationalization ensures that software is developed with localization in mind when the time comes to translate the software, the localization effort is significantly reduced. For example, accounting for text length variations across languages prevents text overflowing from its intended space, something that would require a lot of time, money, and effort to fix.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"improved-user-experience\"><\/span>Improved user experience<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>People around the world will expect your software to be usable in their own language. That\u2019s exactly what internationalization offers: By anticipating and planning for localization requirements, developers can avoid <a href=\"https:\/\/phrase.com\/blog\/posts\/10-common-mistakes-in-software-localization\/\">bad localization issues<\/a> that would result in poor user experiences, such as untranslated text, incorrect date formats, and so on.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"easier-maintenance\"><\/span>Easier maintenance<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>With each iteration of your product, you will inevitably be faced with bug fixes and enhancements.<\/p>\n<p>When internationalization has been carried out correctly, these become significantly easier to implement because the program\u2019s translatable content is clearly separated from its code. This way, translators can do their job in parallel to the software development\u2014a process known as <a href=\"https:\/\/phrase.com\/blog\/posts\/continuous-localization\/\">continuous localization<\/a>\u2014so the software can be updated more quickly after each release.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"shorter-time-to-market\"><\/span>Shorter time to market<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>For every new market you wish to bring your business into, you need a localized version of the software. With the time and effort savings that good internationalization offers, it\u2019s much easier to quickly develop localized versions of your software. <a href=\"https:\/\/phrase.com\/blog\/posts\/localization-management\/\">Streamlined localization management<\/a> is a good way to reduce time to market, increase your revenue and expand globally with ease.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"tips-for-successful-internationalization\"><\/span>Tips for successful internationalization<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Every successful implementation starts with a plan, and internationalization is no exception. Here are some of the things you need to consider when planning internationalization:<\/p>\n<ul>\n<li><strong>Get buy-in from management:<\/strong> By showing how internationalization fits in the bigger picture of your company\u2019s development and expansion strategies, you can gain backing for your efforts and ensure success.<\/li>\n<li><strong>Motivate the development team to create a global product from the get-go: <\/strong><a href=\"https:\/\/phrase.com\/blog\/posts\/localization-motivation-software-developers\/\">Educate your developers on the why of localization<\/a> and seek partnerships with at least one member of each development team to ensure that good internationalization practices become ingrained in the team\u2019s processes.<\/li>\n<li><strong>Document, document, document:<\/strong> Information can be hard to come by at times of crisis or pressure. Make sure that you\u2019ve documented all the decisions made regarding localization and internationalization efforts.<\/li>\n<li><strong>Validate your internationalization effort:<\/strong> While fully testing every single bit of code in your software for all the languages in the world is not possible, you can create pseudo-localized files before localizers get involved\u2014a pseudolanguage is used to substitute all localizable UI elements and check the software\u2019s behavior in various languages.<\/li>\n<li><strong>Keep an eye on internationalization best practices: <\/strong>There\u2019s no need to reinvent the wheel; make sure that the development team is aware of industry-approved best practices for internationalization to <a href=\"https:\/\/phrase.com\/blog\/posts\/10-common-mistakes-in-software-localization\/\">avoid common software localization mistakes<\/a>\u00a0later on.<\/li>\n<li><strong>Accept the fact that perfection is unattainable:<\/strong> It\u2019s practically impossible to guarantee flawless internationalization, but <a href=\"https:\/\/phrase.com\/blog\/posts\/definition-of-done-for-software-internationalization\/\">it\u2019s easy to get close<\/a>. Good internationalization that works for your customers is better than no internationalization at all.<\/li>\n<li><strong>Finally, get localization specialists involved as early as possible:<\/strong> Many internationalization issues will be caught before they even reach translators if people with experience in localization take part in the design and implementation phases.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"what-good-internationalization-i18n-means\"><\/span>What good internationalization (i18n) means<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ultimately, internationalization ensures your software or website works across geographies and cultures. It means that every piece of text should be translatable, and that there shouldn\u2019t be any code that relies on text being input in a specific language or alphabet. When internationalized properly, your software will be able to render prices in the corresponding currency and display dates in a format that makes sense to the user in your target market.<\/p>\n<p>Most importantly, internationalization that\u2019s accomplished with the right software means that you can hand off your software product to your team of translators safe in the knowledge that they can start translating right away and send it back to you without any code changes required.\u00a0This makes software development much easier, bug solving simpler, and updates even faster\u2014if you only need to update the source code and not the translation, it\u2019ll save a significant amount of time and money for your business in the long term.<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Internationalization (i18n) is the process of designing and developing software so it can be adapted for users of different cultures and languages.<\/p>\n","protected":false},"author":6,"featured_media":1238,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_stopmodifiedupdate":false,"_modified_date":"","_searchwp_excluded":"","footnotes":""},"categories":[38],"class_list":["post-15099","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-localization-strategy"],"acf":[],"_links":{"self":[{"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/posts\/15099"}],"collection":[{"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/comments?post=15099"}],"version-history":[{"count":38,"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/posts\/15099\/revisions"}],"predecessor-version":[{"id":65190,"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/posts\/15099\/revisions\/65190"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/media\/1238"}],"wp:attachment":[{"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/media?parent=15099"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/categories?post=15099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}