Transcript Document

Software Localization
Lecture 4
Dr. Gregory M. Shreve
Institute for Applied Linguistics
7/17/2015
1
What’s the User Interface?
7/17/2015
2
Software User Interfaces Have Changed Over Time
A software user interface is simply a way to allow you to use your operating
system or other program (word processing program, adventure game) more
easily. You can access and use the functions of the program more easily.
Software user interfaces have changed over time.
TYPE
METAPHOR
OS
PERIOD
COMMAND LINE
WRITING
DOS
1960 - 1970'S
FUNCTION KEY &
COMMAND LINE
BUTTON PRESSING
DOS
EARLY 1980'S
MENUS
BUTTON PRESSING
DOS
LATE 70'S TILL NOW
WIMP
OBJECT
MANIPULATION
MAC OS
WINDOWS
LATE 70'S (LISA)
MID 1980'S TILL NOW
7/17/2015
3
Copying a File: Four Different Ways
Action: Copy a file called afile.txt to the floppy drive A: from the hard disk C:
Command Line/DOS:
Function Key / DOS:
Menu:
COPY C:afile.txt A:afile.txt
F5
menu or dialog
dialog
WIMP:
7/17/2015
4
Origin and Evolution of the GUI (Graphical User Interface)
The software user interfaces we use today are called GUI’s (Graphical User
Interfaces). Windows, the Macintosh operating system and the Unix operating
system all use GUI’s. The specific type of GUI is called a WIMP interface:
Windows
Icons
Mouse
Pointer
7/17/2015
5
WIMP User Interfaces
The purpose of a GUI - WIMP interface is to:
• provide a mechanism for naturally separating and indicating different
functions or activities (windows)
• provide a more visual way of dealing with the software (icons)
• provide a more natural and tactile way of controlling and indicating functions
and areas of focus on the screen (mouse)
• provide a more intuitive way of selecting and interacting with the functions or
activities (pointers)
WIMP interfaces try to be intuitive. This means they should be easy to learn
just by using. WIMP interfaces try to achieve ease of use by adopting a
metaphor, often from some aspect of everyday life.
7/17/2015
6
Windows : Desktop Metaphor
Windows and most of the other GUI’s use a desktop metaphor. What you see
on the screen is meant to represent a desktop. In the DESKTOP metaphor,
the computer screen is a virtual 'desktop' with electronic 'folders,' 'documents,'
'disk icons' and a 'trash can' which are patterned after the physical objects in
the physical office. The user interacts with this virtual world by using a mouse,
an input device which allows one to move an arrow across the desktop and
pick up an electronic object by clicking and holding a mouse button. To get rid
of a physical document from my desktop, I toss it in the trash can.
Metaphors are most intuitive to users when they are fairly literal, as in deleting
a document by tossing it in the trash can. But metaphors can also be
"magical;" that is, metaphors can be used in ways which do not precisely
mimic the things they represent. On the Macintosh, for instance, ejecting a
diskette from the floppy drive is also accomplished by dragging the disk icon
to the trash can. This is very confusing to most people and counterintuitive.
?
7/17/2015
7
Other Metaphors Are Possible
Well, there is a lot more I could say on interface design. Suffice to say for now
that these interfaces try to be natural and intuitive -- and only succeed to
some degree. There are many actions that are not well represented by
“metaphors,” there is still a very heavy dependence on menus, and there can
be a steep learning curve with respect to the behavior of files and folders.
Still, if we look back over the history of the user interface it is a miraculous
improvement.
Other metaphors are possible. Some of you may remember the old interface
for children, called Microsoft BOB. The children accessed different computer
functions by going into a virtual house and entering different rooms. In the
family room, for instance, they could access reference works, click on a
notebook on a desk to keep a household journal, click on a clock on a table to
see the date and time, or click on a checkbook to keep their budget up to
date.
7/17/2015
8
7/17/2015
9
Inventory of the Basic Object Terminology
and Concepts of a GUI (Windows)
A GUI has an array of different kinds of
objects that may need to be localized . On this
page are a folder, a scroll bar, a menu and a
very large object, the Desktop.
7/17/2015
10
Types of Windows Objects
Pointer: A symbol that appears on the display screen and that you move
to select objects and commands. Usually, the pointer appears as a small
angled arrow. Text -processing applications, however, use an I-beam
pointer shaped like a capital I.
• Icons: Small pictures that represent commands, folders, files, or
windows. By moving the pointer to the icon and pressing a mouse
button, you can execute a command or convert the icon into a window.
You can also move the icons around the display screen as if they were
real objects on your desk. The purpose of an icon object is to represent
other objects. It has few properties of its own. If the icon is a picture of a
disk drive it will act differently if pressed than if the icon represents a file
or a printer.
•Devices: objects (usually represented by icons of drives, CD-ROMs,
printers) standing for physical storage or input output devices attached to
the computer.
•Desktop: area on the display screen where icons are grouped is often
referred to as the desktop because the icons are intended to represent
real objects on a real desktop.
7/17/2015
11
Types of Windows Objects
•Windows: You can divide the screen into different areas. In each
window, you can run a different program or display a different file. You
can move windows around the display screen, and change their shape
and size at will.
•Menus: Most graphical user interfaces let you execute commands by
select-ing a choice from a menu.
•Folders: Folders are objects that contain other folders, files, or both
folders and files.
•Files: file objects are programs or data. They are usually stored in
folders. Depending on the type of file, the icon representing it may be
different. Here is a WordPerfect word processing file object
represented by a unique icon.
7/17/2015
12
Types of Windows Objects
•Taskbars: In many application programs certain often used functions
are represented on taskbar objects instead of on menus. Windows
uses the same idea with the taskbar on the desktop. Above is a
WordPerfect word-processing taskbar.
• Controls: This is a very large class of objects that serve a variety of
purposes. Their primary purpose is user control. Common controls list
boxes and combo boxes for letting the user choose among options),
scroll bars for move up and down in a window, command buttons for
activating certain functions, and many more. Here are some common
controls:
list box
command button
scroll bar
7/17/2015
13
Types of Windows Objects
Dialog Boxes: A secondary window with controls. Dialog boxes use labels,
graphics and various controls to get information or provide information to
users. They are one of the most common objects to localize.
dialog box
7/17/2015
14
Tool Tips
Small popup window providing descriptive text
(a small label) for a control, dialog element or
graphic object. Also occurs in web pages.
Tooltips are localizable material.
7/17/2015
15
Common Controls
Controls are objects that enable user
interaction or input, often to initiate an action,
display information or set values. Controls
contain a number of localizable elements.
Windows and the Mac-OS have standard or
common controls Companies may also
produce proprietary controls. Controls are
used in the system and application program
interface and can be used in web pages as
well.
7/17/2015
16
Controls: Check
Boxes
 French




 German





Check Box
The caption property can be translated. Colors, fonts,
bitmaps can be localized. Purpose is to select options.
Multiple selection is possible.
7/17/2015
17
Controls: Combo
Boxes
Combo Box
Standard control that combines a text box and
interdependent list box. You can enter a value directly or
select one from a drop down list. There is no caption
property, but list items must be translated. Colors, fonts,
can be localized. Border, dropdown button can be
changed.
7/17/2015
18
Controls: List Boxes
List Box
A ListBox is the same as a ComboBox, except the user
cannot type anything into a ListBox. He or she can only
click on one or more of the listed items, thereby selecting
that item or set of items. There is no caption property, but
list items must be translated. Colors, fonts, can be
localized. Border, dropdown button can be changed.
7/17/2015
19
Controls: Command and Toggle
Buttons
Toggle Me
Toggle
Button
Command
Buttons
Submit Your Request
A Command Button provides visually intuitive, direct
access - the user sees the caption and simply clicks the
mouse on it to get something done. The button-down
animation offers good, strong feedback; there's a real
sense that something has happened. Caption is to be
translated. Colors, fonts, bitmaps can be localized. Toggle
buttons are similar, but stay pressed in until clicked again.
7/17/2015
20
Controls: Text Box
Text Box
Please Enter Your Name
Standard Windows control in which a user can enter
and edit text; also called an edit field. The default
value in the field is to be translated. Colors, borders
and fonts can be set.
7/17/2015
21
Controls: Option,
Toggle or Radio Button





Male
Option Button
 Female





Standard Windows control that allows a user to
select from a fixed set of mutually-exclusive choices
(also called a radio button). The caption is to be
translated. Bitmaps, colors, and fonts can be set.
7/17/2015
22
Controls: Spin Buttons
and Scroll Bars
Scroll Bar
Spin Button
8
The primary use of a SpinButton is to adjust
numbers or dates or some other serial data. For
example, you could allow users to specify how many
days they're willing to wait for a backordered item
from your catalog. Only colors can be changed. The
control to the right is a text box. Scrollbars are
similar, but have no localizable content other than
color.
7/17/2015
23
Controls: Label, Picture
I AM A LABEL
The primary purpose of the Label Control is to add text to a
GUI. Often used in combination with other controls to make
complex forms or dialogs. Bitmaps, colors, and fonts can
be set. Picture controls are used to provide finer
control over picture properties when used in forms or
dialogs. Only the assigned bitmap is localizable.
7/17/2015
24
Controls: Tab Control
The tab control provides an alternative way to organize and
present information. Fonts, colors, and bitmaps may be set.
The tab labels and the tool tip text must be translated.
7/17/2015
25
Controls: Status Bars and Progress Bars
Status Bar
Progress Bar
A status bar is an area displaying state information
about the information being displayed in a window;
usually placed at the base of a window. A progress
bar provides a user with information about the state
of a process. The controls are usually associated with
strings that must be localized.
7/17/2015
26
Controls: Other Controls
file list box
drive list box
directory
list box
There are a host of other controls that are rarely
used by themselves, but are grouped together in
dialog boxes.
7/17/2015
27
Dialog Box
A Dialog (or dialog box) is
a secondary window that
gathers information from a
user. The box groups
controls, text and graphics
in a common frame. In
other words it is a
“composite” object. There
may be significant amounts
of localizable material in
such objects. How many
controls are grouped in this
one? This is a “common
dialog box” and is a part of
the API. It performs Save
As…, Print, Open, etc.
functions
7/17/2015
28
Dialog Box
Common Dialog
Input
Open, Save As…, Print, Font, Colour
There are also custom dialog boxes created by specific
software publishers.
7/17/2015
29
hot keys
Menus
control keys
Menus contain localizable STRINGS, as well as hot keys
(also known as accelerator or hit keys). Control keys may
also need to be localized (but not always).
7/17/2015
30
dll or exe file
Translate direct in
program file with a
resource editor or
localization tool that will
work with program files.
internal
resources
Localization
Translate resource file
with a text editor (rc) or
with a localization tool
that works with
resource files.
external
resources
rc, res or dlg file
A rc file is a text file and a res file has been compiled from it
7/17/2015
31
This program
contains a
menu, controls,
a single dialog
box, and
several strings.
The resources
for this file are
shown in the
following slides.
7/17/2015
32
Localizing Controls
and Dialog Boxes
// Dialog Box
//
Language DIALOG 0, 0, 180, 80
STYLE WS_POPUP | WS_BORDER
BEGIN
GROUPBOX "Select a Language Pair",
1073,2,3,175,75,WS_GROUP
CONTROL "German->English", 79,
"Button",BS_RADIOBUTTON, 15, 13, 70, 12
CONTROL "English->German", 80,
"Button",BS_RADIOBUTTON, 15, 33, 70, 12
CONTROL "French->English", 81,
"Button",BS_RADIOBUTTON, 15, 53, 70, 12
CONTROL "English->French", 82,
"Button",BS_RADIOBUTTON, 85, 13, 70, 12
CONTROL "Spanish->English", 83,
"Button",BS_RADIOBUTTON, 85, 33, 70, 12
CONTROL "English->Spanish", 84,
"Button",BS_RADIOBUTTON, 85, 53, 70, 12
END
7/17/2015
Controls do not
often occur alone.
They are usually
localized as part of
Dialogs.
Localization takes
place manually by
workind directly in
the application or,
by editing a
resource file using
a resource editor
or special
localization tool.
33
PortfolioMenu MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "&Add Student",1
MENUITEM SEPARATOR
MENUITEM "&Delete Student", 2
MENUITEM SEPARATOR
MENUITEM "&Update Student", 3
MENUITEM "E&xit", 4
END
POPUP "&Tools"
BEGIN
MENUITEM "Add &Portrait", 5
END
POPUP "&Help"
BEGIN
MENUITEM "About Portfolio", 6
MENUITEM SEPARATOR
MENUITEM "Contents", 7
END
END
7/17/2015
Localizing Menus
If not working directly in an
application, or with a menu
editor in an IDE, the localizer
will usually localize a menu
from its representation in a
resource file. A resource
editor or a specialized
localization tool will be used.
Notice the specification of the
hot keys.
34
Localizing Strings
STRINGTABLE
BEGIN
10
"Welcome to the Institute for Applied Linguistics Student Portfolio!"
11
"Translation Student"
12
"Portfolio!"
13
"Translation Students at the Institute for Applied Linguistics"
14
"Name"
15
"Email"
16
"Job Interests"
17
"Language Direction"
18
"Student Portrait"
19
"Portfolio! Portrait of "
20
"Version"
21
"Property of "
END
Unless working directly in an application, the localizer usually
translates strings from a string table in a resource file.
7/17/2015
35