Professional Documents
Culture Documents
Introduction
Internationalization(i18n) is the process of designing an application so that it can be adapted to different languages and regions, without requiring engineering changes. Localization(i10n) is the process of adapting software for a specific region or language by adding locale-specific components and translating text.
Input
Enablement of keyboard shortcuts on any keyboard layouts.
What is Architecture.?
Formal Definition: Software architecture is the fundamental
organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.
Characteristics of i18n...
Textual elements such as status messages and the GUI component labels are not hardcoded in the program. Instead, they are stored outside the source code and retrieved dynamically. Support for new languages does not require recompilation. Other culturally-dependent data, such as dates and currencies, appear in formats that conform to the end-user's region and language.
Really why
Carmaggedon
Sample Run
% java I18NSample fr FR Bonjour. Comment allez-vous? Au revoir. % java I18NSample en US Hello. How are you? Goodbye.
Localizability
As confusing as it may sound, localizability is an aspect of internationalization, not localization. It involves enabling the product to be easily localized, without manipulating code or having to edit files that contain code.
Do not restrict font size:Asian characters require a much larger point size for legibility than Latin characters. If a small font size is necessary to fit all the English text into a layout, then the layout needs to be redesigned. See the layout section for more information.
Be aware that the operating system(s) your program is running on may also be localized.:Messages may be translated, even in system commands. If you need to parse the output of an OS command, change the environment locale for that command.
Software Architecture
Software architecture is process of designing the global organization of a software system, including:
Dividing software into subsystems. Deciding how these will interact. Determining their interfaces.
UML diagrams