160 likes | 275 Views
Internationalization aspects in developing web applications for Central and East Europe. Rok Žontar, Jernej Novak, Andrej Krajnc, Marjan Heričko. Agenda. Introduction and motivation Why develop multi language applications? Problems and difficulties Some good practices Conclusion.
E N D
Internationalization aspects in developing web applicationsfor Central and East Europe Rok Žontar, Jernej Novak, Andrej Krajnc, Marjan Heričko
Agenda • Introduction and motivation • Why develop multi language applications? • Problems and difficulties • Some good practices • Conclusion
Some facts Slovenia Russia 10 billion 17.000.000 km2 $ 15.000 14 No Population: Area: GDP per capita: Neighboring countries: Played at the FIFA World Cup: • 2 million • 20.000 km2 • $ 25.000 • 4 • Yes
Motivation and definition • Small country • Area with high cultural diversity • Focus on foreign markets • „Internationalization is a development process of content, applications and specifications in a way that ensures it will work well with, or can be easily adapted for, users from any culture, region or language.“ • [W3C]
Bad practices • Separate applications for each language • Copy backend, change frontend • Only few applications support multi language natively • Drawbacks: • Time consuming • Hard to maintain • Different look and feel
Database • Different patterns for storing data • Attribute per language • Language identification by foreign key • Separate entities (independent, dependent and language) • Different alphabets • Latin • Cyrillic • Solution: Unicode
Middle tier • Native support for multi-language and Unicode in all mayor application servers and runtimes (Java, Microsoft .Net) • Lack of support in application frameworks • Additional development of multi-language functionality • Adoption of services to provide different functionalities according to the user’s location • Difficult data retrieval and manipulation
User interface • Most affected part of internationalization • Compositional changes • Incorporate images instead of plain text
Templating frameworks • HTML generation based on templates using string substitution • Many free and open-source • A solution using XSL transformation
Don‘t trust the browser • Many applications rely on the browsers‘ locale • Most of the time these are incorrect • Users are unaware of these settings • Develop fallback mechanisms to detect users’ languages
What about AJAX? • AJAX = JavaScript + WebServices • Additional data about the language is needed • JavaScript templating frameworks Request Data
Conclusion • An international web presence is crucial for businesses and organizations • Developing multi language web applications is a difficult job • Following some basic guidelines helps to reduce the difficulty • Plan additional time for content translation
Большое спасибо! Questions ?