advertisement

Living in a multiligual world: Internationalization for Web 2.0 Applications

67 %
33 %
advertisement
Information about Living in a multiligual world: Internationalization for Web 2.0...

Published on November 8, 2007

Author: lars3loff

Source: slideshare.net

Description

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.
advertisement

i18n for Web 2.0 Why and how to internationalize your Web 2.0 application Lars Trieloff, Day Software

Why internationalize? International audiences want localized user interfaces.

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)

Do it yourself, or someone else will do it

Do it yourself, or someone else will do it

Do it yourself, or someone else will do it

Do it yourself, or someone else will do it

Do it yourself, or someone else will do it

What is different in Web 2.0 internationalization?

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

Challenge The internationalization problem is multiplied due to use of different technologies in Web and rich internet applications as well as desktop applications

Solution Consolidation of internationalization technology: Each technology has its own internationalization framework: We need a common framework for all of them

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

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

Example How we did it in Mindquarry

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

Steps to consolidated i18n 1. Find a common i18n database format 2. Extract internationalizable content automatically 3. Attach applications to i18n database

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

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

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

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

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

How to get translations

How to get translations do it yourself

How to get translations ¥ $ € do it yourself pay someone

How to get translations ¥ $ € do it yourself pay someone ask your users

User-contributed internationalization • The holy grail • Build a community and website at the same time • But hard to achieve • Wikipedia • Open Source projects

User-contributed internationalization • The holy grail • Build a community and website at the same time • But hard to achieve • Wikipedia • Open Source projects

Build your own translation website Allows users to sign-up, contribute localization strings, costly, but allows for automatic post-processing, validation and quality-control.

Build your own translation website Allows users to sign-up, contribute localization strings, costly, but allows for automatic post-processing, validation and quality-control.

Build your own translation website Allows users to sign-up, contribute localization strings, costly, but allows for automatic post-processing, validation and quality-control.

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.

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

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

More challenges in Web 2.0 internationalization • User-generated content • Rich Web design

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?

Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags

Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags

Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags

Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags

Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags

Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags

Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags

Solution • Structured Content • Sometimes easier to translate • ratings • locations • time & date • Sometimes it is still hard • tags

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

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

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

Wrap-Up • Web 2.0 needs internationalization • Consolidate i18n over apps and platforms • Allow for user-contributed translations • Make it automated, repeatable and cheap

Thank you very much lars@trieloff.net For more information, see my weblog at http://weblogs.goshaky.com/weblogs/lars

Add a comment

Related pages

Living in a multiligual world: Internationalization for ...

Living in a multiligual world: Internationalization for Web 2.0 Applications. ... about Living in a multiligual world: Internationalization for Web 2.0 ...
Read more

Internationalization | LinkedIn

Internationalization Articles, experts, jobs, and more: get all the professional insights you need on LinkedIn
Read more

Internationalization and localization - Wikipedia, the ...

... internationalization and localization ... i and the last n in the word “internationalization,” a usage ... Windows and Web Applications, ...
Read more

Adding Multilingual User Interface Support to an Application

This tutorial demonstrates how to take a monolingual application and make it world ... Extends multilingual applications to run ... on internationalization ...
Read more

Localization vs. Internationalization - World Wide Web ...

... where 18 is the number of letters between i and n in the English word. Internationalization typically ... application, or product into another ...
Read more

MultilingualWeb-LT Working Group - World Wide Web ...

MultilingualWeb-LT Working Group ... Work on application scenarios for ITS 2.0 and gathering ... Internet experts in Dublin to talk about multilingual web.
Read more

JSF - Internationalization - Tutorials for Apex, Xerces ...

Let us create a test JSF application to test internationalization ... Launch your web application using ... facesconfig_2_0.xsd" version="2.0 ...
Read more

ASP.NET QuickStart Tutorials

... your application multilingual ... internationalization features in ASP.NET 2.0 ... an application that only supports culture ...
Read more