<Article>

Development and Evaluation of Localization Training Software
Ryutaro Nishino and Kayoko Nohara
Tokyo Institute of Technology

While software localization and internationalization are inseparable processes, they are often donein different locations by different professionals: translators and developers. This division of laborcauses problems such as translators not having a chance to check the context when they translate
software user interfaces (UIs) or not having the knowledge of internationalization. This paper
introduces software that is designed to allow translators to translate UIs and check the context andresult instantly. The software can also be used to teach different elements in different locales (e.g.,calendar, date, number formats) and how to use CAT tools. Although the result of a small
questionnaire study shows that the software has a certain level of educational effectiveness, further
research is needed to determine its effectiveness.

1. Introduction
1.1. Background
Software localization and internationalization are a series of processes that cannot be
separated. Globalization and Localization Association (GALA), an industry organization, defines"localization" as follows (Globalization and Localization Association, n.d.):Describes the process of adapting a product to a specific international language or culture sothat it seems natural to that particular region, which includes translation, but goes much
farther.

Localization

includeswork

relatedtotranslation.

GALA

also

defines"internationalization" as follows:

The process of generalizing a product so that it can handle multiple languages and culturalconventions without the need for redesign.

This process is related to software engineering. Engineers or developers internationalizea software product, and translators localize it. In this way, localization and internationalization are
inseparable processes. The software company Apple Inc. (n.d.) also says "Internationalization and37

『翻訳研究への招待』No.9 (2013)

localization are complementary activities." However, in the current internationalization andlocalization process, developers and translators often work in different locations. Although
software products were internationalized and localized in a software company in 1980s (Esselink,
2000, p. 6), the localization process was separated and outsourced to localization companies
thereafter.
There are some problems arising from this division of labor. First, translators are often
forced to translate user interface (UI) strings without seeing the actual UI (Ressin et al., 2011),
resulting in their assumption that the localization quality is low. When translators cannot see thecontext of strings, they have to use their limited knowledge to imagine it. Second, translators often
do not know about internationalization, which is complementary to localization. This may cause
translators to mistakenly delete placeholders in a string, for instance.
What can the localization education do to cope with such problems? With the firstproblem, the experience of translating UI strings and then checking them on the actual software UI
can be effective. After experiencing such training, translators should have a better imagination
about contexts. With the second problem, teaching the knowledge about internationalization totranslators should be effective. With such knowledge, the quality of translation skills along withproject management skills can be improved because translators or project managers know about theentire process of internationalization and localization.
Similar localization education projects have been held before. Such an example is the10th Annual LRC Localisation Summer School. Participants developed mobile applications forAndroid or Windows Phone and localized the strings (Localisation Research Centre, 2012). Thereare educators who adopt the approach of translating and checking strings on actual UIs.

1.2. Purpose
Software that allows translators to translate UI strings and shows them instantly on the
UI should be useful in a localization education, whether in a classroom or in a self-training
occasion. It is also desirable that such an application can be used to teach localization andinternationalization. Thus, the authors developed localization training software for the purpose of
training translator's imagination about contexts and improving the skills and knowledge about
localization and internationalization.
Professional translators usually translate UI strings without displaying their translations
on the UI while translating in an actual work environment. Therefore, not only students who arelearning about software localization but also professional translators will benefit from using thetraining software.
This paper will introduce and describe the software developed for the above-mentioned
purpose. To be more specific, (1) the requirements discussed in the design process, (2) the software
functionality, (3) knowledge and skills translators can learn, (4) how the software is implemented,
38

Development and Evaluation of Localization Training Softwareand (5) the result of small evaluation study. The authors also explain the plan for a further research
regarding the educational effectiveness and the software improvement plan.

2. Requirements for localization training software
Before designing and implementing the localization training software, requirements
were set for the training purpose as follows:a) Translators can check translation results instantly
The software should allow translators to switch the display language easily and check the context
and validity of translated strings.

b) Translators can learn about localization
Computer-aided translation tools (CATs) are indispensable in the modern localization. The training
software is a translation target rather than a CAT tool, and translators can learn about how to use a
CAT tool by translating the software with a CAT tool. For this functionality, the software should
include a file format that can be translated with a CAT tool. It is also desirable that the software use
different document types (such as UI or help) and file formats (such as HTML or JSON).
Regarding the localization curriculum, O'Hagan (2006) says that a general overview of thelocalization industry, tools such as TMs and terminology management systems, basic computing
knowledge (such as different file formats, file management, tags and character sets) should betaught in translator training programs.

c) Translators can learn about internationalization
Because localization and internationalization are a series of processes, the software should helptranslators to learn about internationalization at the same time. Topics related to internationalization
include: character encoding, the separation of source code and language resource, elements thatdiffer in different locales (e.g., calendar, date format, currency, number format, noun plurals,
direction of writing). With regard to software internationalization, Esselink (2000, p. 31) points outthat the most important issues are character encoding, location of translatables (e.g., user interfacetext), user interface design, and regional standards. The last regional standards include elements
such as calendar or number formats.

d) Non-engineers can use easily
The software should be able to be manipulated using basic tools such as web browsers or text
editors that are normally installed in personal computers, without the need of additionally installinga development environment that programmers use such as Eclipse. Setting a special development
environment takes time, resulting in less time for a training session.
39

『翻訳研究への招待』No.9 (2013)

Based on the requirements explained above, we developed localization training
software.

3. Localization training software: Expense Recorder
3.1. Functionality from software users' point of view
In a localization training course, translators often translate static texts extracted fromsoftware. Because the authors think that a localization training course should use such real-life
software that functions properly when a button is pressed or a menu item is selected. As an example
of real-life software, the authors designed an application that allows software users to record
expenses in an office. When someone spends money for something, they can enter informationsuch as date or amount of money, and the software calculates the total amount of expense by
category. Being a web-based application, it runs on a web browser. The entire screen is shown in
Figure 1.

Figure 1: Entire screen of Expense Recorder40

Development and Evaluation of Localization Training Software

Functions including storing data and registering users have not been added because suchfunctions are not directly related to localization.

3.2. Functionality from translators' point of view
The software has the functionality to switch UI languages. This allows translators tocheck if their translated strings are suitable in a context. From the perspective of localization
education, this is the main functionality.
The software loads the language resource file of a default locale, and when a translator
switches the locale, it loads the language resource file of the locale and displays the UI using thefile (Figure 2). After translating the resource files, translators can check translated strings on thescreen by switching the locale.

Figure 2: How switching a locale works

3.3. Knowledge and skills translators can learn
By using Expense Recorder as training materials, translators can learn about thefollowing:a) How to translate UIs
Translators will be able to improve their UI translation skills by translating UI strings such as
button, menus, or messages and then checking the results on the screen.
One of the difficult tasks in UI translation is how to translate placeholders in strings.
Unlike book translation, software generates data dynamically. Generated data is put in a41

『翻訳研究への招待』No.9 (2013)

placeholder, and the order of placeholders is sometimes changed depending on the structure of alanguage. Thus, translators need to understand how placeholders work.

Figure 3: Placeholders in a string

Translators can also learn that there are languages with multiple noun plural forms andhow to deal with them. For example, while Japanese has one (no plural form) type and English has
two (singular and plural) types, some languages have six different types of noun plural form.

Figure 4: Different translations for different plural rulesb) How to translate help documents
Translators can display help documents in HTML files by pressing the help button on the software.
Help and manual translations are a major part of localization work, and translators can learn how totranslate such documents.

c) How to use a CAT tool
In translating the software UI and help documents, translators can practice using a CAT tool. The
HTML files of the help can be translated with a common CAT tool (e.g., Trados). The JavaScript
file of UI strings can also be translated with some tools, such as OmegaT with its JSON filter.

d) Formats in different locations
The software has already been internationalized, and thus calendar, date, currency, and number
formats are displayed in accordance with locales without the need of localization. Figure 5 shows
the amount of money in French locale, where a comma is used for a decimal separator, a space isfor thousand separators, and the euro symbol is for a currency mark. By switching locales,translators can see different formats even if UI strings are not translated yet. The software as ofversion 0.3 has been internationalized in 15 different locales.

42Development and Evaluation of Localization Training Software

Figure 5: Number and currency format in the fr-Fr localee) Scope of internationalization
One of the internationalization tasks is to externalize language resources from source code. Anothertask is to develop a mechanism to display information in different formats (e.g., calendar, currency)
according to locales. Figure 6 shows a screen that is originally developed in English andinternationalized, but not yet localized. When the screen language is switched to Japanese, thecalendar and the currency format are displayed in Japanese because the software has beeninternationalized. However, since localization is not finished yet, other strings are displayed in theoriginal English. Translators need to localize only these strings. When learners see this screen, they
can understand that the part that developers deal with is internationalization and the part thattranslators deal with is localization.

Figure 6: Internationalized screen (but not yet localized)

4. Implementation
This section explains considerations for implementing the software. Those whointerested in technical aspects of the software or those who may develop similar training softwarein the future can refer to the technical information in this section.

a) Using Unicode
The software uses UTF-8 in HTML and JavaScript for the purpose of supporting different
characters.

43

『翻訳研究への招待』No.9 (2013)b) Using a standard locale format to support various locales
The software uses the combination of ISO 639-1 (language code) and ISO 3166-2 (country/regioncode), such as "en-US" or "ja-JP." The software supports 15 locales as of version 0.3 and can add
supported locales.

c) Different strings can be loaded depending on the noun plural form
The software supports six plural types that The Unicode Consortium (n.d.) defines (zero, one, two,few, many, other).

d) Internationalizing components as far as possible
Calendar, date, number, and currency formats have been internationalized in the software. To be
more specific, jQuery (http://jquery.com/), jQuery UI (http://jqueryui.com/) and related plugins areused.

e) Externalizing language resources as separate files
The software uses JavaScript files (.js) rather than XML or JSON formats to store language
resources. This is because some web browsers (e.g., Google Chrome) prohibit reading files from a
local hard disk. To overcome this issue, JavaScript files are used. This implementation method may
not be preferable since translators can directly edit variables. To externalize resources, a librarycalled jQuery-i18n (https://github.com/recurser/jquery-i18n) is used.

f) Folder structure
The structure of folders is shown below. The language resource files are separated from the mainpart of the software (ExpenseRecorder.html) and libraries (libs). The language resource files for UI
are located in the "language_ui" folder and files for help are in the "language_help" folder.

ExpenseRecorder.html

Main web application filelibs

Folder containing source files

language_ui

Folder containing UI language files

en-US_messages.js
ja-JP_messages.js
zh-CN_messages.js...
language_help

Folder containing help language files

en-US_help.html
ja-JP_help.html
zh-CN_help.html
44

Development and Evaluation of Localization Training Software...

5. Evaluation
We conducted a small questionnaire study to determine if the localization training
software has educational effectiveness. This study is also regarded to be a preliminary study to
prepare for a full-scale research in the future. Participants are those who attended and used thesoftware in a seminar held by Tokyo Institute of Technology, and they are 14 persons in total. Theiroccupations are students, engineers, and translators. After one hour of lecture on what localizationand internationalization are and how to use the software, we had a hands-on style translation
training using the software. They used text editors only (No CAT tools). At the end of the seminar,
they responded to the questionnaire (with a consent to our publishing results in a paper). The
questions and results are as follows:

A. What is your occupation?

1. Undergraduate or graduate student

9

64.3%

2. Professional software developer

3

21.4%

3. Professional translator

2

14.3%

4. Other

0

0.0%

14

100.0%

Table 1: Answers to the question A

B. Checking the translated strings on the software user interface helps you to translate better
because you can grasp the context.

1. Strongly agree

12

85.7%

2. Mildly agree

1

7.1%

3. Neither agree nor disagree

1

7.1%

4. Mildly disagree

0

0.0%

5. Strongly disagree

0

0.0%

14

100.0%

Table 2: Answers to the question B

45

『翻訳研究への招待』No.9 (2013)

C. You learned that software translation has unique difficulties such as handling placeholders.

1. Strongly agree

9

64.3%

2. Mildly agree

4

28.6%

3. Neither agree nor disagree

1

7.1%

4. Mildly disagree

0

0.0%

5. Strongly disagree

0

0.0%

14

100.0%

Table 3: Answers to the question C

D. You learned that there are different formats by locale such as calendar, date, currency, andnumber.

1. Strongly agree

12

85.7%

2. Mildly agree

2

14.3%

3. Neither agree nor disagree

0

0.0%

4. Mildly disagree

0

0.0%

5. Strongly disagree

0

0.0%

14

100.0%

Table 4: Answers to the question D

E. You learned what localization is and what kind of work is included in it.

1. Strongly agree

10

71.4%

2. Mildly agree

3

21.4%

3. Neither agree nor disagree

1

7.1%

4. Mildly disagree

0

0.0%

5. Strongly disagree

0

0.0%

14

100.0%

Table 5: Answers to the question E

46

Development and Evaluation of Localization Training Software

F. You learned what internationalization is and what kind of work is included in it.

1. Strongly agree

8

57.1%

2. Mildly agree

5

35.7%

3. Neither agree nor disagree

1

7.1%

4. Mildly disagree

0

0.0%

5. Strongly disagree

0

0.0%

14

100.0%

Table 6: Answers to the question F

The answers are generally positive. The reason may be because many of them learned
about localization and internationalization for the first time.
When we look at the answers to the question B, the ability to check the translated
strings in the UI clearly enhances the subjective quality of translation. Because professionaltranslators do not have much chance to check the software UIs when they translate strings, thisexperience should improve the imagination about contexts.
From the answers to the question C, participants learned about a placeholder by actually
manipulating it while translating the strings.
The questions D through F are about the knowledge of localization andinternationalization. The answers show that the software helped participants to understand it.
However, because we gave a lecture on locales, localization, and internationalization beforehand,
the lecture might have affected the result more than the software itself has. Maybe we should thinkthat the educational effectiveness comes from the combination of lecture and hands-on training, notthe training alone.
We also asked participants to freely give their opinions about the software during thediscussion session after the seminar. A professional translator, who is also an instructor oftranslation courses, admitted the positive educational effect and the potential as teaching material.

6. Future work
We think that further work is required in the following areas:a) Research on the educational effectiveness
Further research on the educational effectiveness of the software is necessary. The small
questionnaire study we did is rather a preliminary research, and we have to elaborate questions andresearch methods for the future study.

47

『翻訳研究への招待』No.9 (2013)b) Addition of unimplemented functions
Support for right-to-left (RTL) language is required for internationalized software. We would liketo add this functionality in the future. Also, because the supported locales are limited, we consider
extending the number of supported locales by seeking volunteers after open-sourcing the software.

7. Conclusion
Although software localization (translation) and internationalization (engineering) are aseries of processes, they are often done in different locations now. For this reason, translators do
not have much chance to check the context while translating UI strings or to understandinternationalization. By helping translators to learn about these points, the quality of translation or
project management should improve. We developed the localization training software with the aimof providing such education easily. With this software, translators can learn about the translation
skills using CAT tools, the scope of internationalization, or different formats in different locales.
Although the result of small questionnaire study and comments from the seminar participants showthat the software has a certain level of educational effectiveness, further research is needed todetermine the effectiveness more precisely.
............................................
About the authors
Ryutaro Nishino: PhD course student at Tokyo Institute of Technology, Graduate School of Decision
Science and Technology. Contact: ryutaro@nishinos.com
Kayoko Nohara: Professor at Tokyo Institute of Technology, Graduate School of Decision Science andTechnology.
............................................

References
Apple Inc. (n.d.). Internationalization and Localization. Retrieved June 13, 2013, from https://dev
eloper.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPInternational/Articles/Inter
natAndLocaliz.html
Esselink, B. (2000). A Practical Guide to Localization. John Benjamins Publishing Company.
Globalization and Localization Association. (n.d.). Localization Definitions.Retrieved June 13, 20
13, from http://www.gala-global.org/view/terminology
Localisation Research Centre. (2012). 10th Annual LRC Summer School. Retrieved June 13, 20
13, from http://www.localisation.ie/resources/courses/summerschools/2012/index.htm
O'Hagan, M. (2006). Training for localization (replies to a questionnaire).In A. Pym, A. Perekre
stenko, & B. Starink (Eds.), Translation
Technology and Its Teaching (pp. 39–43). Tarragona, Spain: Servei de Publicacions.

48

Development and Evaluation of Localization Training Software

Ressin, M., Abdelnour-Nocera, J., & Smith, A. (2011). Of Code andContext: Collaboration Between Developers and Translators.
Proceedings of the 4th International Workshop on Cooperative andHuman Aspects of Software Engineering (pp. 50–52). New York, NY,USA: ACM. doi:10.1
145/1984642.1984653
The Unicode Consortium. (n.d.). Language Plural Rules. Retrieved June 13, 2013, from http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html

49

『翻訳研究への招待』No.9 (2013)50