1
4.10.2003 Software Engineering 2004 Jyrki Nummenmaa 1
GLOBALISATION
- I bet it is quite natural to dream about writing
software that is being sold around the world…
- However, there may be some small obstacles on
the way to selling your software worldwide.
- Today we study potential problems and solutions.
- Terms:
Localisation = adjusting software locally Globalisation, internationalisation = creating a software in such a way that it is eays to localise it to different countries.
4.10.2003 Software Engineering 2004 Jyrki Nummenmaa 2
History
- As a little warm-up, consider the situation about
20 years ago.
- At that time there was an increasing interest into
creating software products, which could be sold to different customers within Finland.
- For customising the software, it was important to
put all user interface constants into a place, where they are easy to change.
- Program code is not such a place -> parameter
files or database are a much better choice.
4.10.2003 Software Engineering 2004 Jyrki Nummenmaa 3
Simple example
- http://java.sun.com/docs/books/tutorial/i18n/inde
x.html deals with internationalisation issues.
- We have a quick look at their example.
- In the example, multilingual texts are managed
using
- a locale, identified by a (country, language) pair
- resource bundles, one per locale,
- property files, where strings are identified by
keys
- Strings are identified by keywords within a locale.
4.10.2003 Software Engineering 2004 Jyrki Nummenmaa 4
What should be globalised?
- Messages
- Labels on GUI components
- Online help
- Sounds
- Colors
- Graphics
- Icons
- Dates
- Times
- Numbers
- Currencies
- Measurements
- Phone numbers
- Honorifics and personal
titles
- Postal addresses
- Page layouts
- Our example in the previous slide only dealt with a simple message!
- Labels can also be managed in a fairly straightforward manner,
if enough space is reserved for them.
- Now let’s have a look at the rest…
4.10.2003 Software Engineering 2004 Jyrki Nummenmaa 5
Locales
- As we saw, globalisation in Java was based on the
use of Locales.
- A local is identified by a language (compulsory),
country (optional) and variant (optional).
- A class, whose behaviour is based on the use of a
locale, is called locale-sensitive.
- You can find locales available to a locale-sensitive
class by using the getAvailableLocales() method.
- There is also a default locale for a Java Virtual
Machine, and it can be accessed by Locale.getDefault()
- Different objects may use different locales.
4.10.2003 Software Engineering 2004 Jyrki Nummenmaa 6
Identify what needs to be managed through locales
- As you think about locales, you will find out that
you have
- data items such as messages and sounds, which
change altogether with the locale, and
- data items, which remain the same, but whose
formatting changes, e.g. dates and numbers
- possibly data items not to be localised (internal
use, interface to another application, …).
- Design the globalisation - identify which is which.
- Arrange your data items into resource bundles
(e.g. items for the same form in the same bundle, so that you will not need to load unnecessary
- bjects).