2. This presentation provides a high level overview of the globalization aspects involved in SW development process Robert.Sayegh@gmail.com (2009) 2 Disclaimer: globalization process of documentations is a whole complicated other process, and therefore not addressed in this presentation.
3. Making software Global, by turning it Local Robert.Sayegh@gmail.com (2009) 3 Globalization is the sum of all processes adapting SW products for potential use virtually everywhere Externalization is the process of extracting the strings that require translation out from the SW Localization is the creation of language locales and enabling switching between them during applications runtime. Externalization (E13N) Translation Localization (L10N) internationalization(I18N) Internalization is the process of adapting SW for Globalization, including separating UI strings from logic, number formatting, threads propagating the culture, and more…
14. Always write the whole-explicit text (even if duplicated!)Int x = 10; // not sensitive to language semantics!string text = “Number is: “ + x;;// Good example for creating a UI text string string text = String.Format(“Number is {0}: “, x); 6 Robert.Sayegh@gmail.com (2009)
27. Internalization (Fonts) The Microsoft .Net Frameworks provides two powerful mechanisms in the Font class, to support different fonts per the endless number of languages: Fonts Fallback and Fonts Strategy surrogating. However, when text will not appear within GUI controls special care should be taken when matching fonts to languages (e.g. generating a PDF report via 3rd part SW) Microsoft Sans Serif (Unicode font) does not embed the CJK glyphs (Chinese, Japanese, Korean). Arial Unicode MS Unicode font has most glyphs used in probably all languages (Western I, II, Hebrew, Arabic, CJK, and more). However this font is distributed free only with Microsoft Office suits. Programmatic solution may be adopted to match relevant font per specific language Robert.Sayegh@gmail.com (2009) 9
43. Truncated Text cont. Symptoms Not enough space on the screen was left for translation. People that wrote the UI requirements were not aware to localization. German text on average is 30% longer than English text, some languages are worse!! The shorter a word is, the more probability for longer translation Solutions Avoid the situation (e.g. text in separate lines) [Good UI design] Adopt abbreviations [Bad – not always possible](e.g., “N.” instead of “Nein” in German) Enlarge the UI element (quick & dirty) [Ugly!] Robert.Sayegh@gmail.com (2009) 18
44. (*) What is the translation of “Presets”? Robert.Sayegh@gmail.com (2009) 19 (*) From: Gadi Wolach (2008)
47. Actual meaning: “add this display to the report”Linguistic verification(*)A sample is worth 1000 words! Robert.Sayegh@gmail.com (2009) 20 (*) From: Gadi Wolach (2008)
48. Linguistic verificationA sample is worth 1000 words! 2. Is the translation actually located correctly? Robert.Sayegh@gmail.com (2009) 21 Screen 1 Screen 2