Locating need-to-translate constant strings for software internationalization

  • Authors:
  • Xiaoyin Wang;Lu Zhang;Tao Xie;Hong Mei;Jiasu Sun

  • Affiliations:
  • Institute of Software, School of Electronics Engineering and Computer Science, Peking University, Beijing, 100871, China;Institute of Software, School of Electronics Engineering and Computer Science, Peking University, Beijing, 100871, China;Department of Computer Science, North Carolina State University, Raleigh, 27695, USA;Institute of Software, School of Electronics Engineering and Computer Science, Peking University, Beijing, 100871, China;Institute of Software, School of Electronics Engineering and Computer Science, Peking University, Beijing, 100871, China

  • Venue:
  • ICSE '09 Proceedings of the 31st International Conference on Software Engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern software applications require internationalization to be distributed to different regions of the world. In various situations, many software applications are not internationalized at early stages of development. To internationalize such an existing application, developers need to externalize some hard-coded constant strings to resource files, so that translators can easily translate the application into a local language without modifying its source code. Since not all the constant strings require externalization, locating those need-to-translate constant strings is a necessary task that developers must complete for internationalization. In this paper, we present an approach to automatically locating need-to-translate constant strings. Our approach first collects a list of API methods related to the Graphical User Interface (GUI), and then searches for need-to-translate strings from the invocations of these API methods based on string-taint analysis. We evaluated our approach on four real-world open source applications: RText, Risk, ArtOfIllusion, and Megamek. The results show that our approach effectively locates most of the need-to-translate constant strings in all the four applications.