Living in a multiligual world: Internationalization for Web 2.0 Applications
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Living in a multiligual world: Internationalization for Web 2.0 Applications

  • 10,416 views
Uploaded on

Lars Trieloff's presentation at Web 2.0 Expo Berlin covers the why and how-to of internationalization for web 2.0, consolidating i18n technology and enabling user-contributed translations.

Lars Trieloff's presentation at Web 2.0 Expo Berlin covers the why and how-to of internationalization for web 2.0, consolidating i18n technology and enabling user-contributed translations.

More in: Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • I took notes on this session: http://climbtothestars.org/archives/2007/11/07/lars-trieloff-i18n-for-web-20-web-20-expo-berlin/<br /><br/>
    Are you sure you want to
    Your message goes here
  • If you attended this session, please make sure to post feedback at: http://feedback.berlin.web2expo.com/feedbacks/5599-living-in-a-multi-lingual-world-internationalization-in-web-and-desktop-applica<br /><br/>
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
10,416
On Slideshare
10,264
From Embeds
152
Number of Embeds
11

Actions

Shares
Downloads
195
Comments
2
Likes
6

Embeds 152

http://weblogs.goshaky.com 51
http://climbtothestars.org 50
http://www.slideshare.net 33
http://www.techiegyan.com 10
https://www.linkedin.com 2
http://72.14.253.104 1
http://feeds.feedburner.com 1
http://translate.googleusercontent.com 1
http://www.agglom.com 1
http://www.google.com 1
http://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. i18n for Web 2.0 Why and how to internationalize your Web 2.0 application Lars Trieloff, Day Software
  • 2. Why internationalize? International audiences want localized user interfaces.
  • 3. Lars Trieloff • Product Manager, Founder, Blogger, Open Source Coder • Languages I understand: • German, English • Languages I do not understand: • Mandarin, Hindi, Spanish, Arabic, Russian, Portuguese, Bengali, Malay, French, Japanese, Farsi, Urdu, Punjabi, Vietnamese, Tamil, Wu, Javanese, Turkish, Telugu, Korean, Marathi, Italian, Thai, cantonese, gujarati, polish, kannada, burmese (and all other)
  • 4. Do it yourself, or someone else will do it
  • 5. Do it yourself, or someone else will do it
  • 6. Do it yourself, or someone else will do it
  • 7. Do it yourself, or someone else will do it
  • 8. Do it yourself, or someone else will do it
  • 9. What is different in Web 2.0 internationalization?
  • 10. Web 2.0 internationalization • Web sites become Web applications • The Web as a platform • This means: • Internationalize your plain old Web site • Internationalize your rich internet applications • Javascript, Flash, Silverlight, and more to come • Internationalize your desktop applications
  • 11. Challenge The internationalization problem is multiplied due to use of different technologies in Web and rich internet applications as well as desktop applications
  • 12. Solution Consolidation of internationalization technology: Each technology has its own internationalization framework: We need a common framework for all of them
  • 13. What to do • Keep all internationalization data in one place • Extract internationalization strings from application parts • repeatedly • automatically • Let the applications pull the i18n strings
  • 14. What do do Web Web application application source code Translator RIA source String Localization RIA code Extractor Database Intermediate Converter desktop Intermediate desktop application Format application source code Translator
  • 15. Example How we did it in Mindquarry
  • 16. Our technology Our problem • Web application framework: Apache Cocoon, with Cocoon i18n Transformer • Rich internet application framework: Dojo Toolkit, with dojo.i18n.* • Desktop client: Java and SWT, with Java Message Bundles
  • 17. Steps to consolidated i18n 1. Find a common i18n database format 2. Extract internationalizable content automatically 3. Attach applications to i18n database
  • 18. 1. i18n database format • QT Linguist .ts files • XML files, easy to process • QT Linguist is a good, easy-to- use and free translation editor • Can be used by non- programmers
  • 19. 2. Automatic string extraction • We have three types of source code: XML, Java and Javascript • XML • Ruby script parses all XML source code, finds internationalizable strings not yet in database and adds them • Java and Javascript, similar with a more complex parser
  • 20. 3.1. Attach Cocoon messages.ts • Apache Cocoon‘s (QT Linguist) internationalization databases are XML files XSLT • Transformation via XSLT messages_de.xml messages_de.xml (Cocoon i18n) (Cocoon i18n) • Multiple output files, one for each language Apache Cocoon
  • 21. 3.2. Attach Dojo messages.ts (QT Linguist) • Dojo uses JSON as XSLT internationalization format messages_de.xml messages_de.xml (Cocoon i18n) (Cocoon i18n) • Transformation via XSLT Apache Cocoon • Handled dynamically via messages_de.js messages_de.js (Dojo i18n) (Dojo i18n) Cocoon Dojo Widget
  • 22. 3.3. Attach Java • Message Bundle Reader messages.ts is overwritten (QT Linguist) • Uses internationalization database directory • i18n Adapter Internationalization database is being Desktop Client distributed with desktop client
  • 23. How to get translations
  • 24. How to get translations do it yourself
  • 25. How to get translations ¥ $ € do it yourself pay someone
  • 26. How to get translations ¥ $ € do it yourself pay someone ask your users
  • 27. User-contributed internationalization • The holy grail • Build a community and website at the same time • But hard to achieve • Wikipedia • Open Source projects
  • 28. User-contributed internationalization • The holy grail • Build a community and website at the same time • But hard to achieve • Wikipedia • Open Source projects
  • 29. Build your own translation website Allows users to sign-up, contribute localization strings, costly, but allows for automatic post-processing, validation and quality-control.
  • 30. Build your own translation website Allows users to sign-up, contribute localization strings, costly, but allows for automatic post-processing, validation and quality-control.
  • 31. Build your own translation website Allows users to sign-up, contribute localization strings, costly, but allows for automatic post-processing, validation and quality-control.
  • 32. Ad-hoc- translations: use a wiki Allows users to contribute localization strings without sign- up, easy to deploy, but requires manual post-processing, validation and quality-control.
  • 33. Pootle: OSS for web-based translations GPL-software, based on Python, works with .po or XLIFF, integration with version control, basic project management, used by 20+ open source projects http://pootle.wordforge.org
  • 34. Pootle: OSS for web-based translations GPL-software, based on Python, works with .po or XLIFF, integration with version control, basic project management, used by 20+ open source projects http://pootle.wordforge.org
  • 35. More challenges in Web 2.0 internationalization • User-generated content • Rich Web design
  • 36. User-generated content • User-generated content is great • But hard to translate • But translating it increases network effects • English speaking users benefit from content generated by German speaking users • Is there a (partial) solution?
  • 37. Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags
  • 38. Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags
  • 39. Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags
  • 40. Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags
  • 41. Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags
  • 42. Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags
  • 43. Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags
  • 44. Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags
  • 45. Graphical text • Looks great • But hard to internationalize • can break calculated box sizes, • re-creation necessary • Do not do it • unless you can do it right • create dynamically on server
  • 46. Graphical text • Looks great • But hard to internationalize • can break calculated box sizes, • re-creation necessary • Do not do it • unless you can do it right • create dynamically on server
  • 47. Graphical text • Looks great • But hard to internationalize • can break calculated box sizes, • re-creation necessary • Do not do it • unless you can do it right • create dynamically on server
  • 48. Wrap-Up • Web 2.0 needs internationalization • Consolidate i18n over apps and platforms • Allow for user-contributed translations • Make it automated, repeatable and cheap
  • 49. Thank you very much lars@trieloff.net For more information, see my weblog at http://weblogs.goshaky.com/weblogs/lars