Solaris Live Transcripts Index November 6, 2000Chat Title: Optimizing Intercompatible Global Applications This is a moderated forum LizA: Hello! And welcome to Solaris Live online chat, "Optimizing Intercompatible Global Applications" with special guests Brian Yuan, Hideki Hiura, Shripad Patki, Ienup Sung, Senthil Shanmugan, and Pamela Millar. Let's start by having each of you introduce yourself. Brian: This is Brian Yuan, I am the Lead Engineer from the Asian Localization Center at Sun. Pamela Millar: I am Pamela Millar and I am the Senior Product Manager for Solaris Globalization Senthil: I am Senthil working as i18n engineer in Sun. I focus on i18n issues in Java iPlanet products and web technology Ienup: Hello, my name is Ienup Sung and I'm a staff engineer at globalization group in Sun. Hideki Hiura: This is Hideki Hiura. Architect/Senior Staff Engineer at Sun. LizA: And for those of you not familiar with Sun jargon, I18N stands for Internationalization. Pamela Millar: To clarify for those engineers not familiar with the distinction between Internationalization and Globalization, I18n is the foundation of Globalization because it provides the framework of locale enabling technologies. Internationalization and Localization together create Globalization. LizA: Thanks, Pamela. Let me start with a question: How many languages can Solaris 8 support? Ienup: Solaris 8 supports 37 different languages (if we count all Chinese writing scripts as one) through 123 different locales... Pamela Millar: Just to add to Ienup's answer about Solaris language support -Please note that even though the number of languages that we are supporting is 37, the actual number of languages that you can accept and process with Solaris is much bigger if we think that the supported codeset in all those locales can be used to express the other unofficially supported languages. EngineRev: Should developers localize messages that come from kernel code? If so, through what interfaces does Solaris provide to allow localization of kernel messages? Hideki Hiura: EngineRev, Kernel messages are slightly different from the other messages. It is optimal that kernel keep the original (usually they are in English) messages and the message log viewers to lookup the translation on the fly. EngineRev: So does a Japanese Solaris machine localize its kernel messages? Or are they in English? Hideki Hiura: EngineRev, We basically keep messages produced in kernel untranslated. Kernel messages are typically statically composed messages, and creating translated messages from the kernel code and keep the translation in the users space. The main reason for this approach is that nobody knows who is going to read the messages generated by kernel (and typically stored in log file) and we need to postpone the translation till actually the message is read by actual user. LizA: I understand that Solaris operating environment has all along been based on a single binary, internationlized framework for several years now. Are there any notable performance differences, creating directly localized applications versus creating a single, internationalized one? Pamela Millar: LizA, No, the performance degradation that will be caused by internationalization is quite small and intangible. Also, considering the benefits of having a single source and binary in terms of maitenance cost and also product structure, it is more worthwhile to do so than keep investing on various source trees and/or products. LizA: Well, didn't Sun just release a bunch of internationalization code to open source? Pamela Millar: LizA, Yes! Sun released the entire framework for Solaris Globalization code to a free and unrestricted license of open source code. On September 15, the Solaris Globalization code was released to X.org in order to encourage high quality open standards for global application development LizA: Okay, how does having Sun's code available as open source help me do my job? Senthil: LizA, Sun's code provides stable and enhanced internationalization framework. When adopted by Opensource community, it will further enhance cross-platform interoperability ... Pamela Millar: LizA, The Solaris I18n framework gives a complete reference framework for open source developers to create a truly globalized approach to software development. By separating a common framework at the platform layer, application developers can be freed up to localize their application up above. EngineRev: Where can I find more information about the Solaris I18n framework? Brian: EngineRev, You can go to our website which has just been created for Global Application Developers at http://www.sun.com/developers/gadc. Senthil: EngineRev, also, there is online documentation, International Language Environments Guide for Solaris 8 at http://docs.sun.com, that you can refer to. Jack: Why should I care about globalization if I can sell an English application all over the world? Pamela Millar: Jack, You should care because without complete internationalization, your application even in English could fail in many language environments, so your customers in other countries may not be able to use it. Hideki Hiura: Jack, Outside of Sun, Li18nux/FreeStandardsGroup at http://www.li18nux.org hosted Sun's I18N code via CVS, with the updates done by the opensource community. LizA: If I'm currently on Solaris 2.6 and considering migrating to Solaris 8, are there any significant changes/enhancements to the Solaris 8 international features? Senthil: LizA, Yes, with Solaris, application developers can write an application that can handle multiple scripts and languages in an application. Use of Unicode locales in Solaris will also make this task much easier to handle. Jack: I understand that Solaris can support multilingual processing. What do you mean by that? Does that mean a user can easily send and receive text in multiple languages in a single application environment? Pamela Millar: Jack, A major feature of Solaris 8 is full Unicode 3.0 support and one single, multilingual product. Unicode 3.0 gives additional characters for universal encoding. Another major enhancement in Solaris 8 is that there is now one single, multilingual product for the world with better and more user intuitive installation. EngineRev: Is there a port of the I18n framework for the Windows platform? Hideki Hiura: EngineRev, Sun has ported a portion of Sun's I18N framework (Multilingual Input Method part of the opensourced I18N framework) to Windows. Senthil: EngineRev, if you're looking for open source version of i18n frame work that will also run on top of Windows platform, you may want to look into ICU from IBM. Ienup: EngineRev, continuing what Senthil said, Windows has POSIX subsystem and also runtime routines of theirs that is quite similar to POSIX APIs is something that you can use to achieve portability among different platforms. Jack: If I need specific language media kits for various versions of Solaris, where can I get the order information? Pamela Millar: Jack, If you are referring to online information access, a good starting point will be http://store.sun.com Also, Solaris 8 is one multilingual product translated into 10 languages. The only difference is multilingual documentation. For translated documents, users can go to http://docs.sun.com EngineRev: Does Solaris support a Unicode to ja_JP.PCK conversion? Or would I have to convert Unicode to UTF-8 then UTF-8 to ja_JP.PCK Ienup: EngineRev, Yes, we do have code conversions between various Unicode formats and PCK/ShiftJIS. Also, depending on the availability of system-provided code conversions, you might have to do multiple step conversions. In addition, in case there is no code conversion available from Solaris, you can always define your own code conversions by using geniconvtbl(1) utility starting from Solaris 8. LizA: Are there any pseudo testing tools available that can help developers test applications developed in a non-English locale? Pamela Millar: LizA, There is a testing locale, known as Sun's Multibyte English locale, which is downloadable for free at www.sun.com/globalization LizA: Does the recent contribution of the Solaris internationalization framework to the open source community have any impact on those who are currently Solaris users or developers? And if so, how would we benefit? Pamela Millar: LizA, The Solaris I18n framework allows for Solaris developers to benefit from the innovations the open source community may provide. This code allows for more cross platform interoperability and it allows Solaris developers to come into closer relationship with the open source movement. Using this framework allows developers to write one binary which will operate in virtually all locale environments and on any flavor of UNIX. Test: I have a subscription to Sun Developer Essentials package that has a Sun Global Application Developer Kit bundled in with it previously. How different is this from the current web version? Ienup: Test, The subscription which you had earlier thru Sun developer essentials gave information for Solaris 2.6 and 7 only. The new web-ready resource gives you Solaris 8 information up to date at no cost. Hideki Hiura: Test, The key feature of Sun Global Application Developpers Kit is the multiple locale packaging installable simultaneously onto single system. This packaging became standard since Solaris 8, so you can get the environment you needed in Solaris 7+GADK in standard Solaris 8. EngineRev: I have a file that contains straight 2 byte Unicode values created on NT. Does Solaris provide functions so that I can read, process, and correctly display the contents of this file from my Solaris program? Or would I have to create my own functions to do so? Ienup: EngineRev, NT's two byte Unicode is so-called UCS-2 with possibly leading BOM character and yes, you can use iconv() function to do code conversions from UCS-2/UTF-16/UTF-16BE/UTF-16LE depending on your input code to various other Unicode formats... Hideki Hiura: EngineRev, You can also use iconv command to convert NT files on shell prompt. Ienup: EngineRev, Also you can count on a fact that all Unicode locales on Solaris uses UCS-4/UTF-32 as our wide character representation and thus by doing proper type coersion/casting, you can directly do mapping and conversion between NT's UCS-2 and Solaris Unicode locales' wide character. The International Language Environments Guide is a source and also you can do "ls -d /usr/lib/locale/*.UTF-8" to see all the supported Unicode locales. Test: If I want to write a globalized application, where should I start? Pamela Millar: Test, Sun has provided a powerful educational website for both an introduction to Internationalization and for powerful tools to help developers to design their applications with a truly globalized approach from the outset. Just go to: http://www. sun.com/developers/gadc LizA: We've run out of time...Thanks to ALL of you for joining us for this chat! Pamela Millar: Thank you Elizabeth | ||||||||
|
| ||||||||||||