280 likes | 716 Views
Issues & Challenges in Developing Multilingual Applications for Mobile: Indic Languages Perspective. Photo Courtesy: Gour Mohan , C-DAC Noida. W3C Workshop on the Mobile Web in Developing Countries December 5-6, 2006. Vijay Gugnani, Karunesh Arora , V N Shukla C-DAC Noida.
E N D
Issues & Challenges in Developing Multilingual Applications for Mobile: Indic Languages Perspective Photo Courtesy: Gour Mohan , C-DAC Noida W3C Workshop on the Mobile Web in Developing CountriesDecember 5-6, 2006 Vijay Gugnani, Karunesh Arora , V N Shukla C-DAC Noida
The Developing Markets “The quickest way to get out of poverty right now is to have one mobile telephone.” - Muhammad Yunus http://www.idrc.ca/uploads/user-S/10787612051Harvard_Forum_2003_-_Summary.pdf • Philippines - 86 million residents, over 32 million mobile subscribers • Malaysia - 14.6 million subscribers, population of 25 million, • India - over 1.1 billion people - mobile subscribers - over 129 million* • Indonesia - over 29 million subscribers , population of 233 million Opportunities ? – More revenue generation by Service providers through Value Added Services by adapting content– Culturally & Linguistically Source: http://www.redbusdev.com/bnry_brew/pdf/brew_2005/b602_chhajlani_webdunia.pdf , * Hindustan Times
Mobile Devices and India 22 constitutionally recognized Indian languages World's fastest growing wireless services market with 129.53 million subscribers and increasing >>> Use mobile devices mainly for communication through low-end devices Accessing web through mobile devices has already begun Demand for utility applications & web content
India cellular subscriptions, 2004-2006 Source: http://www.gsm-3gworldseries.com/india/files/GSM_INDIA_lowres.pdf
India cellular subscription forecasts, 2006-2011 Source: http://www.gsm-3gworldseries.com/india/files/GSM_INDIA_lowres.pdf
Basic Communication & Connectivity SMS (Communication, Services Access, Interactive TV/Radio shows, polls……) Camera Games Applications (Address book, Calculator, Alarm, Clock, Stopwatch) Web browsing Mobile Devices :User preferences
Utility Applications Service providers can compete by offering better applications/content instead of lowering prices. Server Use of Mobile Camera, OCR & Machine Translation to provide application for common conversational phrases
Utility Applications: Games • Presentation / Styling issues • Vertical arrangement of characters • If some string is written in vertical mode, then writing each character on a new line may not be suitable http://www.w3.org/International/notes/firstletter.html Educational games :Crossword in local languages
Information people can use Mobile Specific Search using LBS/GPS
Utility Applications TTS enabled SMS and contacts reader Predictive Input for fast text entry, stylus Talking Dictionaries (with pronunciation) Applications like Map use for booking Parking space Conversation Guides for tourists to communicate in local languages
Internationalization & Localization ? Internationalization(i18n), depicts the practice of designing & developing an application, product or document in a way that makes it easily localizable for target audiences that vary in culture, region, or language. i18N aims at separating Core application code from dynamic content containing Culture specific data, such as text strings on the UI. Following i18N in software development ensures that minimal changes are required while modifying for different languages, writing systems, regions. In nutshell internationalization can be seen as an architectural issue. Localization(L10N) is the actual adaptation to meet the language, cultural & other requirements for specific target audience. Together these two concepts makes it possible to develop a localized version of a software product.
Internationalize Information ? • Internet has changed the way we access information • Empowering users to access information anywhere, anytime through any device. • There is a paradigm shift in the way information needs to be processed and translated for access by anyone independent of Country, Culture, Language. • Research shows that users are more likely to make purchases when the communication is in native language and they spend more time on website. • Internet documents are 3-D, rather than reading these are navigated from top to bottom. • Browsing Internet content through mobile devices is different from desktop devices.
Mobile Web I18N Considerations • Character set and encoding • Specifying the language of content, using language tags in Mark up, checking browser language settings etc. • Handling composite messages, string reuse, styling • Writing Systems • Developing websites running on any browser any OS • Using standards such as XHTML, SVG etc. • Using standard validation tools for conformance check • Locale data such as dates, formatting of numbers, currencies • Processing locale information for content display using localized resources • Display issues while using different encodings • Culture Specific sensitive information • Local Memory in devices • Caching, Long URI’s • Access Keys
L10N: Mobile Devices Mobile devices industry is growing at a very fast rate, that means more demand for localization. Localization process involves translating all text to the new language and in some cases changing some of the images or resources Challenges • Number of devices : handheld, wireless, Pocket PCs, palmtops, palm-size devices • Relatively new area • Limited Screen size, resolution of devices • Large no of OS • Different architecture of OS affects the localization process • Shorter Development Cycles • Lack of deployment experience • Device manufacture offer products as part of OEM deal • Customized development process for different implementations • Users need entire document in their language. • Testing on different physical devices instead of relying totally on emulator • Localization of Installation set up files for each targeted language
L10N : Considerations Identify ‘Translatable’ and ‘Non-translatable’ strings Many languages can take at least 30% more space, Design should be compatible, or else the UI may have to be redesigned . Tool - उपकरण (HI) & ग्राहक - customer (EN) Designing GUI as per Size of Screen Involve languages experts for UI design. Switching between Language in UI Bitmap / Vector fonts Grammatical structure in a menu or set of check boxes Same script different collation order Different word order Word wrapping, hyphenation Communication Language Avoiding use of text or numbers in graphics. Avoiding use of metaphors which may not have equivalence in other languages Acronyms, Abbreviations. The same application functions do not necessarily apply to all cultures. Use context while translating Use domain dictionaries
Indic languages : Layout Considerations Ligatures impacting cursor movement Visible length of the string may be less than the storage length Height of glyphs may vary Styling issues such as underlining while using CSS Word length may vary across languages Input method :Devanagari has around 57 basic characters to use. Developer has to fit these in only 10-11 keys. That is a large number of characters onto each key, increasing the number of taps.
Aspects of locale • Names & Titles • -Do not translate necessarily • -Sorting by Last Name/First Name • -Surname not always in last • -Different addressing modes Dear- • Calendars • -Hijri, Vikram Samwat in India • -various religions where year 0 was not 2006 years ago • -No abbreviations in use for month names in Hindi • Numeric • -locale dependent, not the language of application • -Number of digits in a group (In English and ISO it is 3 while for Indic languages its different 1,23,456) • - Group separator (In English ‘,’, but ISO uses space, and some locales use ‘.’ or none, • -Decimal separator ‘.’, ‘.’, ‘,’ • Date and Time formats, • -Date separators (/ , - , .) • Addresses • Order of information cant be fixed i.e City followed by State etc.
Aspects of locale • Currencies, Paper size, Weights & measures • -INR doesn’t automatically translate to £ or $ when the locale changes • -Different languages use different size to express currencies (INR/$/Rs./ £) • -Position of currency differs (in beginning or last) • e.g Different ways of expressing Rs. 1000 • Rs.1000 OR Rs. 1000/- or Rs.1,000/- or Rs. 1000.00 • INR 1000, 1000 Rupees, 1000 रुपये , रु1000.00 (Indian currencies are written with decimal precision (e.g. 2 digits after the decimal point for paisa) • Measurement can be expressed differently (kg/lbs) • Language Selection • -Through flags • - Display language in which language • Oral Pronunciation • Application makes impact when local dialect is represented
Cultural Aspects Icons & Symbols Icons that are a play on words do not translate A image can say thousand words e.g. A dust bin for dumping files or A scissor for cutting in edit operation “B”, “I”, “U” Some concepts have been found extremely hard to represent as an icon E.g. Sorting (‘A->Z’ is not universal) Images of people or body parts such as hands Considered inappropriate in some cultures What skin colour to use? localized People Images for each country • Icons, symbols and images • Colors, myths, beliefs and feelings • Emphasizing has different meaning in different languages • Humour (No humour is internationally acceptable) • Geographical & environmental effects • Customs & traditions • Social Security Numbers
Indic languages : Characteristics Few Languages share same script e.g. Devanagari (Bodo, Dogri, Hindi, Konkani, Maithili, Marathi, Nepali, Sanskrit, Sindhi etc.) More than one script for a language (Kashmiri, Sindhi, Santhali etc.) Devanagari is syllabic and phonetic Languages are shared across borders (Bengali, Tamil, Hindi, Punjabi…) Ligatures are used which have impact on cursor movement, deletion and insertion points in text. Both European and Devanagari digits are used Height of the text area required is more. Even Chinese and Japanese need more height. No concept of Small & Capital letters
Testing : Mobile Devices The testing includes tasks such as: • Review by experts of the targeted language speakers • Simulation on hardware supporting native language operating systems • Testing with add-ons such as external memory, storage card, keyboard or stylus, external keyboard etc. • Remote Testing may not result in desired results as developer is not able to monitor the User expectations from UI • Testing on use of tools developed by third party • Testing error messages for localization
What’s required • Technologies & Tools for making applications and websites for mobile devices • The representation of information in a way that is easy to be localize • Products for automation of localization • Language Pack/Resources for localization on mobile devices • Local Language Fonts for all devices • Few fonts for Indic languages are available but that are handset specific • Tools should be tested for Indic languages such as Fonts and database converters • Localization guidelines with use cases, best practices • Common & Standard encoding scheme for exchange of messages across devices • Testing all the mobile web browsers for the issues related to display and rendering of Indic languages. • Testing for latest technologies Image Source : http://www3.dw-world.de/mobile_emulator/emulator.php?lang=hindi
Html file with horizontal justification alignment (css) Mozilla/5.0 Firefox/1.5.0.8
Sample of webisite on mobile Source http://shop.my-symbian.com/PlatformProductDetail.jsp?siteId=695&jid=BF481XEF71E7DEC618245A7F63A14C24&platformId =4&productType=2&catalog=0&sectionId=0&productId=197730
How can we contribute ? • Develop more Indic fonts covering all mobile devices • Test browsers for native support for Indic languages • Develop Guidelines and best practices for Localization of websites for Indic languages for mobile browsers • Contribute in W3C process of evolving recommendations in the area of I18N and Mobile Web Initiative to represent Indic languages better. • Provide feedback and test cases for existing recommendations for future modifications if any • Deploy & test applications for mobile in local languages • Make websites content browsable through mobile devices • Develop L10N tools for automating the process • Develop localizability testing scripts programs • Establish Protocol standards for next generation mobile devices
References & Acknowledgements • http://www.w3.org/international • Articles on Internationalization by Mr.Richard Ishida • XML Internationalization & Localization : Yves Savourel • Forum Nokia- resources for mobile application developers http://www.forum.nokia.com/ • W3C Mobile Web Initiative http://www.w3.org/Mobile/ • http://www3.dw-world.de/mobile_emulator/emulator.php?lang=hindi • http://www.site.uottawa.ca/ftppub/courses/Winter/csi5122/coursenotes/5122Internationalization.ppt • http://www.worldlingo.com/en/solutions/white_paper.html • Internationalization: What it takes, http://www.w3cindia.in/2006/08/Talks/vns.ppt • Internationalization & Indian Languages, http://www.w3cindia.in/2006/08/Talks/KKA-Intl.ppt • Delivering Complex Script Applications with BREW, Vinay Chhajlani http://www.redbusdev.com/bnry_brew/pdf/brew_2005/b602_chhajlani_webdunia.pdf • http://www.idrc.ca/uploads/user-S/10787612051Harvard_Forum_2003_-_Summary.pdf
Remove all files (सभी फाईलें हटाएँ) Search in all files(सभी फाईलों में खोजें) Reuse Volume : Low / Medium / High धीमा(मंद)/मध्यम/ऊँचा Print Quality : Low / Medium / High कम/मध्यम/उच्च Time (Clock/duration) : Time : समय Long time लंबी अवधि Back