Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2015
Martina Panzer
Introduction into
Internationalization &
Software Localization
m.panzer@sprachverstand.com
www.sprachverstand.com
Translator (E-F-R)
(University diploma)
Freelance in Translation/Localization
Trainer Software Localization
Teacher for translation studies and localization
Senior lecturer and researcher, PhD program Design and
localization of online help systems and websites
Salesperson (Computer system)
Export Manager (PVC granulates)
<sprachverstand>
Dipl.-bers. Martina Panzer
Software with
adapted interface
What is Software Localization ?
Defintions, Context
Internationalization
as pre-conditions for Software Localization
Tools
(hands-on)
Quality Testing
to explore the criteria for high-quality localization
and usability
03.01.2015
af
Afrikaans
sq
Albanian
ar-sa
Arabic (Saudi
Arabia)
ar-iq
Arabic (Iraq)
ar-eg
Arabic (Egypt)
ar-ly
Arabic (Libya)
ar-dz
Arabic (Algeria)
ar-ma
Arabic
(Morocco)
Arabic (Tunisia)
ar-om
Arabic (Oman)
ar-tn
Language Codes:
http://msdn.microsoft.com/enus/library/ms533052%28v=vs.85%29.aspx
Locale:
A locale is a set of parameters that
defines the user's language, country
and any special variant preferences
that the user wants to see in their
user interface. A locale identifier
consists of at least a language
identifier and a region identifier.
ar-ye
Arabic (Yemen)
ar-sy
Arabic (Syria)
ar-jo
Arabic (Jordan)
ar-lb
Arabic
(Lebanon)
ar-kw
Arabic (Kuwait)
ar-ae
Arabic (U.A.E.)
ar-bh
Arabic (Bahrain)
ar-qa
Arabic (Qatar)
eu
Basque
bg
Bulgarian
be
Belarusian
ca
Catalan
zh-tw
Chinese
(Taiwan)
zh-cn
Chinese (PRC)
zh-hk
Chinese (Hong
Kong SAR)
zh-sg
Chinese
(Singapore)
hr
Croatian
cs
Czech
da
Danish
nl
Dutch
(Standard)
nl-be
Dutch (Belgium)
en
English
en-us
English (United
States)
en-gb
English (United
Kingdom)
en-au
English
(Australia)
en-ca
English
(Canada)
en-nz
English (New
Zealand)
en-ie
English (Ireland)
en-za
English (South
Africa)
en-jm
English
(Jamaica)
Globalization (G11N)
Internationalization (I18N)
Localization (L1ON)
GLOBALIZATION
G 1 2 3 4 5 6 7 8 9 10 11 N
03.01.2015
Internationalization
Globalization
Internationalization (I18N)
Globalization (G11N)
All activities in an organization aiming at the
marketing of a software product beyond the national,
local market. The aim is the successfull marekting in
several, different, regional market having in mind the
regional technical, economical and legal aspects
(Marketing divisions).
International Marketing, Marketing plans etc.
Localization
10
Documentation,
License Agreements,
Packaging, Marketing
Materials
Online
Software
Paper
System software
Application Software
Training Materials
Examples
Localization (L10N)
Localization is the translation and
adaptation of a product to the
languages, customs, and culture of a
foreign market
(Translation/Localization division).
Webpages
Manual
Help
Power Point
Presentations
11
12
03.01.2015
Software
System
software
Application
software
IT products:
Software - Hardware
Software
Computer software, or just software, is a collection of computer programs and related
data that provide the instructions for telling a computer what to do and how to do it. In
other words, software is a conceptual entity which is a set of computer programs,
procedures, and associated documentation concerned with the operation of a data
processing system.
Hardware
14
Internationalization (I18N)
Aspects:
The development of
software products
having in mind the
possibility of a simple
adaptation to other
markets.
Strings
Sorting
Date Formats
Time Formats
Calender
Currencies
Measurement units
Graphics
Colors
Fonts
Product Packaging
15
16
03.01.2015
I18N: Formats
Wochenende
German
12/03/2005
12-03-2005
12 mars 2005
French
03/12/2005
March 12, 2005
12 March 2005
American
2005-03-12
I18N: Symbols
German
Weekend
American
EU
American
German
<sprachverstand> Dipl.-bers. Martina Panzer
17
03.01.2015
I18N: Symbols
18
I18N: Symbols
EN: trash
DE: Papierkorb
EN: clipboard
DE: Zwischenablage
EN: home
DE: Anfang / Startseite
The text has to be written and stored outside the graphic
=> Translation and editing graphics costs time and money
19
03.01.2015
20
03.01.2015
I18N: Sorting
Different
Routines for
Sorting
21
22
ASCII
The American Standard Code for Information Interchange (ASCII) is a
character-encoding scheme originally based on the English alphabet that
encodes 128 specified character - the numbers 0-9, the letters a-z and A-Z,
some basic punctuation symbols, some control codes and a blank space - into
the 7-bit binary integers.
ASCII includes definitions for 128 characters: 33 are non-printing control
characters (many now obsolete).
Different language alphabets/characters are stored in different code pages.
The code page has to indicated in the language version of a
software/webpage.
Disadvantage:
ASCII
12 positions are left free (AFNOR, DIN,)
for national special codes :
US-ASCII # $ @ [ / ] ^ { | } ~
ASCII-FR # $ % / ^ ~
ASCII-DE # $ ^
schne Gre
sch|ne Gr}~e
23
24
03.01.2015
ASCII
25
26
Unicode
Unicode
"This is not a valid %s. " "%1 ist bereits vorhanden. ??? ersetzen? "
"%1 already exists. \nDo you want to replace it? " "Monday to Friday ", "Copying test.doc
to c:\dummy " ... ???
"%s to %s "
"Copying %d file%s. "
"Kopiere %d Datei%s . "
"Kopiere %d Datei(en). "
"Kopiere %d Ordner. "
"Copying %d folder%s. " "Kopiere %d Ordner%s. "
"Keines
"/"Keine
"
???
"None "
In which menu/dialog does this command appear?
Which hotkeys are already used in this menu?
"&Delete "
"Click the Continue button to close this Window. "
To what dialog does this instruction refere? How is there
the exact label of this button?
Problem of
Internationalization !
Quelle: Prof. Uwe Reinke, FH Kln
27
28
03.01.2015
Good Internationalization:
Instead of hard coded text use Placables (Message
Identifier)
GUI texts are stored in separate ressource files (.rc) und
identified by the Message Identifier
...
...
...
...
29
30
Locale
Localization
31
32
03.01.2015
Linguistic aspects
Cultural aspects
Desired look-and-feel
With special technical methods and tools
33
03.01.2015
34
35
36
03.01.2015
Parts of software
SOFTWARE
PRODUCT
Menus
Graphical
elements
Programmcode
Interaction elements
(contains necessary
instructions to control the
program processes and the
functions)
(ensure communication
between user and program;
user interface)
NOT TRANSLATABLE
Messages
(strings)
37
38
Hotkeys
Menu in Windows
software
39
40
10
03.01.2015
END
41
42
Stringtable
43
44
11
03.01.2015
Tools
Text editor => NO
(see example on slides 31- 36)
Excel files
Decompiled
Compiled
45
46
Tools
The translator can have the texts of the software (menus, dialog
boxes, buttons, messages) in two formats:
Excel file:
Resource code file (.rc file)
Translation without
context
Often truncated
lines
TXT
Source text
=> NO
Resource file
<sprachverstand> Dipl.-bers. Martina Panzer
47
48
12
03.01.2015
Localizer/
Translator
Editor
LION-Tool
files)
EXE
Developer
User
Program
0101 1001 0100
1110 1010 0110
0010 1011
TXT
EXE
Source text
Program
Compiler
Binary file
49
Labeled by ID
numbers
Linker
<sprachverstand> Dipl.-bers. Martina
Panzer
Binary file
50
Extracted text of
the binary files
Resource file
WYSIWYG display,
possibiliy to modify
field size and
position
Translated Hotkeys,
and duplicates are
checked, spell
checker
Additional
comments and
status information
for each line
possible
51
52
13
03.01.2015
(Translation storage)
(Win 32-Bit, Microsoft .NET, Borland Delphi, Java, WinCE, Palm, WAP, ...)
53
54
7
Project
Management
3
Text Editor/
Document
Editor
4 Import /
Export
Filter
5
Alignment
Program
Translation
Storage
Terminology
Management
System
Term
Extraktion
55
56
14
03.01.2015
57
58
(empty segment/tags)
59
60
15
03.01.2015
(fuzzy match)
Fuzzy Matching:
In computing, approximate
string matching (often
colloquially referred to as fuzzy
string searching) is the
technique of finding
approximate matches to a
pattern in a string.
The closeness of a match is
measured in terms of the
number of primitive operations
necessary to convert the string
into an exact match.
<sprachverstand> Dipl.-bers. Martina Panzer
61
62
TagEditor
Create log file:
word/segment count (fuzzy matches)
overview over files to translate
63
64
16
03.01.2015
TagEditor
TagEditor
Tag Settings
Open program Link with TM Open suitable tag configuration file
Wizard to detect tags in the
corresponding text
Alternatively: Import of an
existing settings file
65
66
TagEditor
TagEditor
Toolbar Tags
Workbench function in toolbar
Insert
placables
Translate:
Open segment, translate, save
segment
67
68
17
03.01.2015
TagEditor
TagEditor
Display modus
Bilingual Editor
Tag review
upon closing of each
segment
As plug-in after translation
of the file
69
TagEditor
TagEditor
Ansichtsmodi
Display modi
70
71
72
18
03.01.2015
TagEditor
Display modi
Linguistic test
MonolingualeVorsch
Preview
Linguistic aspects
Cosmetic aspects
Internationalization test
Design test
Continuity vs. Adaptation
Functional test
Function under different conditions (OS, locale etc.)
Final test
<sprachverstand> Dipl.-bers. Martina Panzer
73
74
Linguistic quality
of the localized version
Quality testing
Internationalization tests
During development process, devolper
Localization tests
Readability
Linguistic test
Cosmetic tests
Correctness
Spelling,grammar, punctuation
Clearness of text
75
76
19
03.01.2015
Linguistic quality
of the localized version
Linguistic quality
of the localized version
Regulations and guidelines
Linguistic consistency
Syntax, lexic, style as well as formal aspects like layout and
fonts
Conciseness
Information must be short and concise
Completeness
All functions, errors, help texts, instructions etc. must be
completely described
77
Colors have
different meanings
in different
cultures!
78
Design of
the localized
version
Design of
the localized version
79
80
20
03.01.2015
Design of
the localized version
81
82
Wrong
line break
in
German
83
Sync is not a
word in German
the whole
German word
has to be 84
hyperlinked!
21
03.01.2015
Internationalization testing
Internationalization testing
Do GUI and command line messages, objects, and labels display correctly in all
locales?
Do platform-specific standard input methods work with all areas that receive text
input?
Are the product`s email, Web transmissions, and registration information
processed properly?
Do help systems and help database searching work correctly?
Does a canvas implemented as an editor work correctly with all text, including
multibyte characters?
Does a Web browser that is part of the product work with different encodings?
Do compilers that are part of the product work with multibyte data?
Are multibyte file and directory names, file contents, and other multibyte data
parsed, processed, viewed and saved correctly?
Do certain source code tests and reviews yield the desired results?
Do packages and instructions provided to localization centers contain all the
required information?
Do third-party components that are part of the product pass all required I18N
testing?
Sample I18N Quality Criteria/Checklist
85
Localization tests
86
Localization tests
Goal: linguistic and optical consistency of the translation in accordance with the source text
Basic Test scripts, style guides, glossaries
Cosmetic tests
1.
2.
=> The translation of the software will be frozen for usage in translation of other text
types (help, manual)
87
88
22
03.01.2015
89
90
23