Internationalization and localization

Screenshot of TDE software programs mostly localized to Chinese (traditional)

In computing, internationalization and localization (American) or internationalisation and localisation (British), often abbreviated i18n and l10n respectively,[1] are means of adapting computer software to different languages, regional peculiarities and technical requirements of a target locale.[2]

Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region or language by translating text and adding locale-specific components.

Localization (which is potentially performed multiple times, for different locales) uses the infrastructure or flexibility provided by internationalization (which is ideally performed only once before localization, or as an integral part of ongoing development).[3]

Naming

The terms are frequently abbreviated to the numeronyms i18n (where 18 stands for the number of letters between the first i and the last n in the word internationalization, a usage coined at Digital Equipment Corporation in the 1970s or 1980s)[4][5] and l10n for localization, due to the length of the words.[1][6] Some writers have the latter term capitalized (L10n) to help distinguish the two.[7]

Some companies, like IBM and Oracle, use the term globalization, g11n, for the combination of internationalization and localization.[8]

Microsoft defines internationalization as a combination of world-readiness and localization. World-readiness is a developer task, which enables a product to be used with multiple scripts and cultures (globalization) and separates user interface resources in a localizable format (localizability, abbreviated to L12y).[9][10]

Hewlett-Packard and HP-UX created a system called "National Language Support" or "Native Language Support" (NLS) to produce localizable software.[2]

Some vendors, including IBM[11] use the term National Language Version (NLV) for localized versions of software products supporting only one specific locale. The term implies the existence of other alike NLV versions of the software for different markets; this terminology is not used where no internationalization and localization was undertaken and a software product only supports one language and locale in any version.

Scope

The internationalization and localization process
(based on a chart from the LISA website)

According to Software without frontiers, the design aspects to consider when internationalizing a product are "data encoding, data and documentation, software construction, hardware device support, and user interaction"; while the key design areas to consider when making a fully internationalized product from scratch are "user interaction, algorithm design and data formats, software services, and documentation".[2]

Translation is typically the most time-consuming component of language localization.[2] This may involve:

  • For film, video, and audio, translation of spoken words or music lyrics, often using either dubbing or subtitles
  • Text translation for printed materials, and digital media (possibly including error messages and documentation)
  • Potentially altering images and logos containing text to contain translations or generic icons[2]
  • Different translation lengths and differences in character sizes (e.g. between Latin alphabet letters and Chinese characters) can cause layouts that work well in one language to work poorly in others[2]
  • Consideration of differences in dialect, register or variety[2]
  • Writing conventions like:

Standard locale data

Computer software can encounter differences above and beyond straightforward translation of words and phrases, because computer programs can generate content dynamically. These differences may need to be taken into account by the internationalization process in preparation for translation. Many of these differences are so regular that a conversion between languages can be easily automated. The Common Locale Data Repository by Unicode provides a collection of such differences. Its data is used by major operating systems, including Microsoft Windows, macOS and Debian, and by major Internet companies or projects such as Google and the Wikimedia Foundation. Examples of such differences include:

  • Different "scripts" in different writing systems use different characters – a different set of letters, syllograms, logograms, or symbols. Modern systems use the Unicode standard to represent many different languages with a single character encoding.
  • Writing direction is left to right in most European languages, right-to-left in Hebrew and Arabic, or both in boustrophedon scripts, and optionally vertical in some Asian languages.[2]
  • Complex text layout, for languages where characters change shape depending on context
  • Capitalization exists in some scripts and not in others
  • Different languages and writing systems have different text sorting rules
  • Different languages have different numeral systems, which might need to be supported if Western Arabic numerals are not used
  • Different languages have different pluralization rules, which can complicate programs that dynamically display numerical content.[12] Other grammar rules might also vary, e.g. genitive.
  • Different languages use different punctuation (e.g. quoting text using double-quotes (" ") as in English, or guillemets (« ») as in French)
  • Keyboard shortcuts can only make use of buttons on the keyboard layout which is being localized for. If a shortcut corresponds to a word in a particular language (e.g. Ctrl-s stands for "save" in English), it may need to be changed.[13]

National conventions

Different countries have different economic conventions, including variations in:

In particular, the United States and Europe differ in most of these cases. Other areas often follow one of these.

Specific third-party services, such as online maps, weather reports, or payment service providers, might not be available worldwide from the same carriers, or at all.

Time zones vary across the world, and this must be taken into account if a product originally only interacted with people in a single time zone. For internationalization, UTC is often used internally and then converted into a local time zone for display purposes.

Different countries have different legal requirements, meaning for example:

Localization also may take into account differences in culture, such as:

Business process for internationalizing software

To internationalize a product, it is important to look at a variety of markets that the product will foreseeably enter.[2] Details such as field length for street addresses, unique format for the address, ability to make the postal code field optional to address countries that do not have postal codes or the state field for countries that do not have states, plus the introduction of new registration flows that adhere to local laws are just some of the examples that make internationalization a complex project.[7][17] A broader approach takes into account cultural factors regarding for example the adaptation of the business process logic or the inclusion of individual cultural (behavioral) aspects.[2][18]

Already in the 1990s, companies such as Bull used machine translation (Systran) on a large scale, for all their translation activity: human translators handled pre-editing (making the input machine-readable) and post-editing.[2]

Engineering

Both in re-engineering an existing software or designing a new internationalized software, the first step of internationalization is to split each potentially locale-dependent part (whether code, text or data) into a separate module.[2] Each module can then either rely on a standard library/dependency or be independently replaced as needed for each locale.

The current prevailing practice is for applications to place text in resource files which are loaded during program execution as needed.[2] These strings, stored in resource files, are relatively easy to translate. Programs are often built to reference resource libraries depending on the selected locale data.

The storage for translatable and translated strings is sometimes called a message catalog[2] as the strings are called messages. The catalog generally comprises a set of files in a specific localization format and a standard library to handle said format. One software library and format that aids this is gettext.

Thus to get an application to support multiple languages one would design the application to select the relevant language resource file at runtime. The code required to manage data entry verification and many other locale-sensitive data types also must support differing locale requirements. Modern development systems and operating systems include sophisticated libraries for international support of these types, see also Standard locale data above.

Many localization issues (e.g. writing direction, text sorting) require more profound changes in the software than text translation. For example, OpenOffice.org achieves this with compilation switches.

Process

A globalization method includes, after planning, three implementation steps: internationalization, localization and quality assurance.[2]

To some degree (e.g. for quality assurance), development teams include someone who handles the basic/central stages of the process which then enables all the others.[2] Such persons typically understand foreign languages and cultures and have some technical background. Specialized technical writers are required to construct a culturally appropriate syntax for potentially complicated concepts, coupled with engineering resources to deploy and test the localization elements.

Once properly internationalized, software can rely on more decentralized models for localization: free and open source software usually rely on self-localization by end-users and volunteers, sometimes organized in teams.[19] The GNOME project, for example, has volunteer translation teams for over 100 languages.[20] MediaWiki supports over 500 languages, of which 100 are mostly complete as of September 2023.[21]

When translating existing text to other languages, it is difficult to maintain the parallel versions of texts throughout the life of the product.[22] For instance, if a message displayed to the user is modified, all of the translated versions must be changed.

Independent software vendor such as Microsoft may provides reference software localization guidelines for developers.[23] The software localization language may be different from written language.

Commercial considerations

In a commercial setting, the benefit of localization is access to more markets. In the early 1980s, Lotus 1-2-3 took two years to separate program code and text and lost the market lead in Europe over Microsoft Multiplan.[2] MicroPro found that using an Austrian translator for the West German market caused its WordStar documentation to, an executive said, not "have the tone it should have had".[24]

However, there are considerable costs involved, which go far beyond engineering. Further, business operations must adapt to manage the production, storage and distribution of multiple discrete localized products, which are often being sold in completely different currencies, regulatory environments and tax regimes.

Finally, sales, marketing and technical support must also facilitate their operations in the new languages, to support customers for the localized products. Particularly for relatively small language populations, it may never be economically viable to offer a localized product. Even where large language populations could justify localization for a given product, and a product's internal structure already permits localization, a given software developer or publisher may lack the size and sophistication to manage the ancillary functions associated with operating in multiple locales.

See also

References

  1. ^ a b Ishida, Richard; Miller, Susan K. (2005-12-05). "Localization vs. Internationalization". W3C. Archived from the original on 2016-04-03. Retrieved 2023-09-16.
  2. ^ a b c d e f g h i j k l m n o p q Hall, P. A. V.; Hudson, R., eds. (1997). Software without Frontiers: A Multi-Platform, Multi-Cultural, Multi-Nation Approach. Chichester: Wiley. ISBN 0-471-96974-5.
  3. ^ Esselink, Bert (2006). "The Evolution of Localization" (PDF). In Pym, Anthony; Perekrestenko, Alexander; Starink, Bram (eds.). Translation Technology and Its Teaching (With Much Mention of Localization). Tarragona: Intercultural Studies Group – URV. pp. 21–29. ISBN 84-611-1131-1. Archived from the original (PDF) on 7 September 2012. In a nutshell, localization revolves around combining language and technology to produce a product that can cross cultural and language barriers. No more, no less.
  4. ^ "Glossary of W3C Jargon". W3C. Archived from the original on 2 September 2011. Retrieved 16 September 2023.
  5. ^ "Origin of the Abbreviation I18n". I18nGuy. Archived from the original on 27 June 2014. Retrieved 19 February 2022.
  6. ^ "Concepts (GNU gettext utilities)". gnu.org. Archived from the original on 18 September 2019. Retrieved 16 September 2023. Many people, tired of writing these long words over and over again, took the habit of writing i18n and l10n instead, quoting the first and last letter of each word, and replacing the run of intermediate letters by a number merely telling how many such letters there are.
  7. ^ a b alan (29 March 2011). "What is Internationalization (i18n), Localization (L10n) and Globalization (g11n)". ccjk.com. Archived from the original on 2 April 2015. Retrieved 16 September 2023. The capital L in L10n helps to distinguish it from the lowercase i in i18n.
  8. ^ "Globalize Your Business". IBM. Archived from the original on 31 March 2016.
  9. ^ "Globalization Step-by-Step". Go Global Developer Center. Archived from the original on 12 April 2015.
  10. ^ "Globalization Step-by-Step: Understanding Internationalization". Go Global Developer Center. Archived from the original on 26 May 2015.
  11. ^ "National language version". IBM.
  12. ^ "Plural forms (GNU gettext utilities)". gnu.org. Archived from the original on 14 March 2021. Retrieved 16 September 2023.
  13. ^ "Do We Need to Localize Keyboard Shortcuts?". Human Translation Services – Language to Language Translation. 21 August 2014. Archived from the original on 3 April 2015. Retrieved 19 February 2022.
  14. ^ Mateen Haider (17 May 2016). "Pakistan Expresses Concern Over India's Controversial 'Maps Bill'". Dawn. Archived from the original on 10 May 2018. Retrieved 9 May 2018.
  15. ^ Yasser Latif Hamdani (18 May 2016). "Changing Maps Will Not Mean Kashmir Is a Part of You, India". The Express Tribune. Retrieved 19 February 2022.
  16. ^ "An Overview of the Geospatial Information Regulation Bill". Madras Courier. 24 July 2017. Archived from the original on 29 October 2020. Retrieved 19 February 2022.
  17. ^ "Appendix V International Address Formats". Microsoft Docs. 2 June 2008. Archived from the original on 19 May 2021. Retrieved 19 February 2022.
  18. ^ Pawlowski, Jan M. Culture Profiles: Facilitating Global Learning and Knowledge Sharing (PDF) (Draft version). Archived (PDF) from the original on 2011-07-16. Retrieved 2009-10-01.
  19. ^ Reina, Laura Arjona; Robles, Gregorio; González-Barahona, Jesús M. (2013). "A Preliminary Analysis of Localization in Free Software: How Translations Are Performed". In Petrinja, Etiel; Succi, Giancarlo; Ioini, Nabil El; Sillitti, Alberto (eds.). Open Source Software: Quality Verification. IFIP Advances in Information and Communication Technology. Vol. 404. Springer Berlin Heidelberg. pp. 153–167. doi:10.1007/978-3-642-38928-3_11. ISBN 978-3-642-38927-6.
  20. ^ "GNOME Languages". GNOME. Archived from the original on 29 August 2023. Retrieved 16 September 2023.
  21. ^ "Translating:Group Statistics". translatewiki.net. Archived from the original on 2023-08-29. Retrieved 2023-09-16.
  22. ^ "How to Translate a Game Into 20 Languages and Avoid Going to Hell: Exorcising the Four Devils of Confusion". PocketGamer.biz. 4 April 2014. Archived from the original on 7 December 2017. Retrieved 19 February 2022.
  23. ^ jowilco (2023-08-24). "Microsoft Localization Style Guides - Globalization". learn.microsoft.com. Retrieved 2024-09-15.
  24. ^ Schrage, Michael (17 February 1985). "IBM Wins Dominance in European Computer Market". The Washington Post. Archived from the original on 29 August 2018. Retrieved 29 August 2018.

Further reading

  • Smith-Ferrier, Guy (2006). .NET Internationalization: The Developer's Guide to Building Global Windows and Web Applications. Upper Saddle River, New Jersey: Addison Wesley Professional. ISBN 0-321-34138-4.
  • Esselink, Bert (2000). A Practical Guide to Localization. Amsterdam: John Benjamins. ISBN 1-58811-006-0.
  • Ash, Lydia (2003). The Web Testing Companion: The Insider's Guide to Efficient and Effective Tests. Indianapolis, Indiana: Wiley. ISBN 0-471-43021-8.
  • DePalma, Donald A. (2004). Business Without Borders: A Strategic Guide to Global Marketing. Chelmsford, Massachusetts: Globa Vista Press. ISBN 0-9765169-0-X.

Read other articles:

Canadian federal agency in charge of elections and referendums For information on elections in Canada, see Elections in Canada. Elections CanadaÉlections CanadaAgency overviewFormedJuly 1, 1920 (1920-07-01)[1]JurisdictionCanadaHeadquarters30 Victoria Street Gatineau, Quebec K1A 0M6Employees500 (Permanent) up to 235,000 (election period)[2]Annual budget$628,864,260 (2021–22)[3]Agency executiveStéphane Perrault, Chief Electoral Officer of CanadaWebsite...

King of the Picts Naiton son of Der-Ilei (Old Irish: Nechtan mac Derilei; died 732), also called Naiton son of Dargart (Old Irish: Nechtan mac Dargarto),[a] was king of the Picts between 706–724 and between 728–729. He succeeded his brother Bridei in 706. He is associated with significant religious reforms in Pictland. He abdicated in 724 in favour of his nephew and became a monk. In 728 and 729 he fought in a four-sided war for the Pictish throne. Background It has been argued th...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أبريل 2019) سيغفريد فريتاخ (بالفرنسية: Siegfried Freytag)‏  معلومات شخصية اسم الولادة (بالألمانية: Siegfried Elerhard Freytag)‏  الميلاد 10 نوفمبر 1919  الوفاة 1 يونيو 2003 (83 سنة)   أوبا�...

Sergeant Wildeman, het gezicht van het Noordelijk Heilsleger Het Noordelijk Heilsleger is de voortzetting van het Nederlandsch Leger des Heils nadat laatstgenoemde op 30 maart 2003 door vergrijzing moest stoppen. Het Noordelijk Heilsleger is actief in de provincies Groningen, Friesland en Drenthe. Het steunt mensen die in financiële problemen zijn geraakt (voornamelijk in de vorm van crisishulp), organiseert kerkdiensten en, heeft een gospelkoor, een Open Huis, en een maatschappelijke Help-D...

Luca Chirico Nascimento 16 de julho de 1992Varese Cidadania Itália Ocupação ciclista desportivo (en) Informação equipa Equipa atual Androni Giocattoli-Sidermec Amador 2011-201301.2014-06.2014.[n 1]07.2014-12.2014[n 2] Trevigiani Dynamon BottoliMG Kvis-TrevigianiMG Kvis-Wilier Profissional 2015-2016201701.2018-04.20182020- Bardiani CSFTorku ŞekersporAndroni GiocattoliAndroni Giocattoli-Sidermec Estatísticas Luca Chirico no ProCyclingStats [edite no Wikidata] Luca Chirico (...

45th season of FIA Formula One motor racing This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: 1991 Formula One World Championship – news · newspapers · books · scholar · JSTOR (February 2009) (Learn how and when to remove this template message) 1991 FIA Formula OneWorld Championship Drivers' Champion: Ayrton S...

بيني بريتزكر (بالإنجليزية: Penny Pritzker)‏    مناصب وزير تجارة الولايات المتحدة   في المنصب26 يونيو 2013  – 20 يناير 2017    ويلبر روس  معلومات شخصية الميلاد 2 مايو 1959 (العمر 64 سنة)شيكاغو  مواطنة الولايات المتحدة  عضوة في الأكاديمية الأمريكية للفنون والعلوم  عدد ا

Robbie E Vereinigte Staaten Robbie E im Dezember 2013 Personalia Geburtsname Robert Strauss Geburtstag 1. Oktober 1983 Geburtsort Alpine, New Jersey, USA Karriereinformationen Ringname(n) Rob EckosRobbie E Namenszusätze „You're Unbelievable“„The Platinum Poppa“ Körpergröße 178 cm Kampfgewicht 84 kg Angekündigt aus Seaside Heights, New Jersey Promotion TNA Trainiert von Kevin Knight Debüt 1. Oktober 2000 Robert „Rob“ Strauss (* 1. Oktober 1983 in Alpine, New Jersey), besser b...

Elections in Pennsylvania Federal government U.S. President 1789 1792 1796 1800 1804 1808 1812 1816 1820 1824 1828 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 1892 1896 1900 1904 1908 1912 1916 1920 1924 1928 1932 1936 1940 1944 1948 1952 1956 1960 1964 1968 1972 1976 1980 1984 1988 1992 1996 2000 2004 2008 2012 2016 2020 2024 Presidential primaries Democratic 2000 2004 2008 2016 2020 2024 Republican 2008 2016 2020 2024 U.S. Senate 1788 1791 1793 sp 1794 sp 1795...

Annual Halloween-oriented haunt event This article is about events at Six Flags theme parks. For other events called Fright Fest, see FrightFest (disambiguation). Six Flags Fright FestRide statisticsAttraction typeAnnual eventThemeHalloweenOperatorSix FlagsDateSeptember to OctoberWebsiteOfficial website Fright Fest (also known as Festival Del Terror at Six Flags México) is a Halloween-oriented haunt event held annually at Six Flags theme parks in the United States, Canada, and Mexico.[1&...

Perahu gaya pajala Bugis-Makassar berujung ganda dengan tiang tripod dan layar miring persegi (beberapa di antaranya diturunkan dan disimpan di geladak), serta kemudi quarter yang digantung. Gambar ini dibuat tahun 1803 oleh seniman William Westall tentang perahu Bugis di pesisir pantai Arnhem, Australia. Kesempatan itu datang ketika Flinders bertemu dengan armada perahu Bugis yang datang dari Makassar ketika mereka mengumpulkan teripang. Perahu ini memiliki bobot 25 ton dan dipersenjatai den...

English composer and arranger (1932–2021) Barbara MooreBackground informationBorn7 March 1932Bradford, West YorkshireOriginLondonDied26 August 2021 (aged 89)Hotham Park House, Bognor RegisGenresJazzpopOccupation(s)ComposerarrangervocalistYears active1959–2001Musical artist Barbara Moore (7 March 1932 – 26 August 2021) was an English composer, arranger and vocalist for film, television and commercials. She was a member of the musical trios the Ladybirds and the Breakaways and a backing v...

Medardo fixing a Maserati Tipo 61. Medardo Fantuzzi (1906–1986) was an Italian automotive engineer, known for his Carrozzeria Fantuzzi body workshop.[1] Life Fantuzzi was born in Bologna in 1906 and died in Modena in 1986. Automotive engineer He and his brother, Gino Fantuzzi were famous for their affiliation with Maserati, where they got involved in building the Maserati A6GCS (44 built 1953–55),[2][3] Maserati 350S and Maserati 200S.[4] Later, Medardo wor...

Muhammad Maftuh BasyuniMenteri Agama Indonesia ke-20Masa jabatan21 Oktober 2004 – 20 Oktober 2009PresidenSusilo Bambang YudhoyonoWakil PresidenJusuf KallaPendahuluSaid Agil Husin Al MunawarPenggantiSuryadharma AliSekretaris Negara Indonesia ke-12Masa jabatan21 Juni 2001 – 10 Agustus 2001PresidenAbdurrahman WahidMegawati SoekarnoputriWakil PresidenMegawati Soekarnoputri Hamzah HazPendahuluDjohan EffendiPenggantiBambang Kesowo Informasi pribadiLahir(1939-11-04)4 No...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: The Second Three Years – news · newspapers · books · scholar · JSTOR (December 2011) (Learn how and when to remove this template message) 2011 compilation album by Frank TurnerThe Second Three YearsCompilation album by Frank TurnerReleased18 Novemb...

Chinese TV series or program The Bride with White HairTraditional Chinese新白髮魔女傳Simplified Chinese新白发魔女传Hanyu PinyinXīn Báifà Mónǚ Zhuàn GenreWuxiaBased onBaifa Monü Zhuanby Liang YushengScreenplay byLiang ZhimingHan PeizhenChen PeiyinLang NuolinDirected byWong Wai-kitLiang GuoguanMa HuaganPresented byJiang HaoNicky WuStarringNicky WuMa SuLouis FanLiu SitongLi JieGuo ZhenniYe ZuxinTheme music composerYan YidanOpening themeLiuxiang (留香) performed by ...

Cemetery in Hertfordshire, England Entrance to Letchworth Cemetery with the Chapel on the left Letchworth Cemetery (properly the Icknield Way Cemetery) was the first burial ground for Letchworth Garden City in Hertfordshire. Letchworth's first cemetery and bordered by Icknield Way and Wilbury Hills Road, the cemetery is now closed for new burials but can be used if graves are being reopened and for prepurchased plots. Cremated remains are also still being interred at the cemetery.[1] ...

King of Croatia and Dalmatia from 1075 to 1089 For other people with the same name, see Zvonimir (name). Demetrius Zvonimir11th century depiction of a king, suggested to be Peter Krešimir IV or Demetrius Zvonimir[1]King of Croatia and DalmatiaReign1075/1076–1089Coronation8/9 October 1075/1076PredecessorPeter Krešimir IVSuccessorStephen IIDied1089[2]Knin, CroatiaBurialChurch of St. Bartholomew, Knin, CroatiaSpouseHelen of HungaryIssueRadovanClaudiaVinicaHouseTrpimirovićRel...

Medical oncologist and cancer researcher Dr Samra TurajlicAlma materUniversity of OxfordUCL Medical SchoolInstitute of Cancer ResearchScientific careerFieldsCancer evolution, kidney cancer, melanomaInstitutionsRoyal Marsden NHS Foundation Trustthe Francis Crick InstituteThesis (2003)Doctoral advisorRichard MaraisOther academic advisorsCharles Swanton Samra Turajlic is a medical oncologist and cancer researcher. She leads the cancer dynamics lab at the Francis Crick Institute in...

1815 battle during the Neapolitan War This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help to improve this article by introducing more precise citations. (September 2014) (Learn how and when to remove this template message) Battle of PesaroPart of the Neapolitan WarMichele CarrascosaDate28 April 1815; 208 years ago (1815-04-28)LocationPesaro, present-day Italy43°54′41....