Reiterer, M. (2011). Design and development of Eclipse-integrated support for internationalization of Java applications [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/160788
Ziel dieser Arbeit ist es, die von Java zur Verfügung gestellten Internationalisierungskonzepte für praktische Software-Entwicklungsprojekte nutzbarer zu gestalten. Internationalisierung bezeichnet ein umfassendes Entwicklungskonzept zur effizienten Gestaltung mehrsprachiger Software-Anwendungen. Dennoch gehen in der Praxis die damit verbundenen Vorteile häufig verloren. Ursachen hierfür sind das fehlende Verständnis bezüglich kultureller, geografischer oder politischer Unterschiede sowie der mangelnde Überblick über die Internationalisierungskonzepte von Java. Des Weiteren sind internationalisierte Programme aufwändig in der Wartung, da die Entwickler mit jeder Änderung auch die damit verbundenen sprach-spezifischen Programmelemente aktuell halten müssen. Der Theorieteil arbeitet die Themengebiete Software Internationalisierung und Lokalisierung auf. Basierend auf der Analyse des aktuellen Standes der Java Internationalisierung und häufig in der Praxis auftretender Probleme wird im praktischen Teil der Arbeit ein Entwicklungswerkzeug zur Internationalisierung von Software-Artefakten als Erweiterung für eine der meist genutzten open source Entwicklungsplattformen im Java Umfeld entwickelt. Die erstellte Referenz-Implementierung trägt den Namen TapiJI (Tooling for agile and process integrated Java Internationalization) und kann nahtlos in existierende Entwicklungsprozesse integriert werden. Mit Hilfe kontextabhängiger sowie generischer Werkzeuge, die Internationalisierungsaufgaben transparent darstellen, reduziert TapiJI sowohl den Aufwand als auch die aufgrund fehlerhafter Handhabung entstehenden Probleme von Internationalisierung. Selbst Entwickler mit nur wenig Erfahrung in der Umsetzung mehrsprachiger Systeme werden dabei unterstützt, qualitativ gleichbleibende und hochwertige Internationalisierungen zu erstellen. Die resultierende Sammlung an Werkzeugen wurde erfolgreich in Fachmagazinen präsentiert und der Open-Source-Community zur freien Verwendung zur Verfügung gestellt und breit angenommen.
This work presents a tool-based approach for making the concept of Java internationalization more convenient for practical development projects. Internationalization denotes a pervasive programming approach for building multilingual applications efficiently. However, dramatically often, the expected advantages get lost. Reasons for this fact are a lack of understanding of cultural, geographical and political differences as well as a missing overview of the concepts provided in the Java programming language. In addition, once a product is fully internationalized, it becomes tedious for developers to keep all the language-specific artifacts up to date and consistent. The theoretical part of this work addresses the topic of software internationalization and localization. Based on analyzing the state-of-the-art of Java internationalization and typical problems occurring in practice, the practical part focuses on the implementation of development tools for supporting the internationalization of software-artifacts. For assisting engineers in the day-to-day development work, the presented tooling is integrated into one of the most widely used open source development platforms for Java. The created reference implementation is named TapiJI (Tooling for agile and process integrated Java Internationalization) and can be seamlessly integrated into existing development processes. With the use of context-sensitive as well as general helps, which represent internationalization tasks transparent, TapiJI reduces both the effort and the problems due to improper handling of internationalization. Even engineers with little experience in writing multilingual applications are permanently advised to ensure high and uniform code quality. The resulting tool suite is successfully presented in special-interest magazines, published for free usage and receives a wide acceptance in the open source community.