International Language Environments Guide

Using Locale Categories for Localization

The localization of a product should be done in consultation with native users in that target language or region. Certain information styles and formats might seem perfectly obvious and universal to the developer but to the user, they could look awkward, wrong, or even offensive. The following sections describe the elements in the Solaris operating environment that you can control and specify so that you can successfully localize your product.

Time Formats

The following table shows some of the ways in which different locales write 11:59 P.M.

Table 1–1 International Time Formats

Locale 

Format  

Canadian 

23:59  

Finnish 

23.59  

German 

23.59 Uhr  

Norwegian 

23.59  

Thai 

23:59 

Great Britain 

23:59  

Time is represented by both a 12-hour clock and a 24-hour clock. The hour and minute separator can be either a colon ( : ) or a period ( . ).

Time zone splits occur between and within countries. Although a time zone can be described in terms of how many hours it is ahead of, or behind, Coordinated Universal Time, UTC (or Greenwich Mean Time, GMT), this number is not always an integer. For example, Newfoundland is in a time zone that is half an hour different from the adjacent time zone.

Daylight Savings Time (DST) starts and ends on different dates that can vary from country to country. Many countries do not implement DST at all. Additionally, Daylight Savings Time can vary within a time zone. In the U.S. it is a state decision.

Date Formats

The following table shows some of the date formats used around the world. Notice that even within a country, there can be variations.

Table 1–2 International Date Formats

Locale 

Convention 

Example 

Canadian (English) 

dd/mm/yy 

24/08/01 

Danish 

yyyy-mm-dd 

2001–08–24 

Finnish 

dd.mm.yyyy 

24.08.2001 

French 

dd/mm/yyyy 

24/08/2001 

German 

yyyy-mm-dd 

2001–08–24 

Italian 

dd/mm/yy 

24/08/01 

Norwegian 

dd-mm-yy 

24–08–01 

Spanish 

dd-mm-yy 

24-08-01 

Swedish 

yyyy-mm-dd 

2001-08-24 

Great Britain 

dd/mm/yy 

24/08/01  

United States 

mm-dd-yy 

08-24-01 

Thai 

dd/mm/yyyy 

24/08/2001 

Numbers

Great Britain and the United States are two of the few places in the world that use a period to indicate the decimal place. Many other countries use a comma instead. The decimal separator is also called the radix character. Likewise, while Great Britain and the United States use a comma to separate groups of thousands, many other countries use a period instead, and some countries separate thousands groups with a thin space.

Data files containing locale-specific formats are frequently misinterpreted when transferred to a system in a different locale. For example, a file containing numbers in a French format is not useful to a British-specific program.

The following table shows some commonly used numeric formats.

Table 1–3 International Numeric Conventions

Locale 

Large Number  

Canadian (English) 

4,294,967.00 

Danish 

4.294 967.295,00 

Finnish 

4 294 967 295,00 

French 

4 294 967 295,00 

German 

4,294,967.00 

Italian 

4.294.967,00 

Norwegian 

4.294.967.295,00 

Spanish 

4.294.967.295,00  

Swedish 

4 294 967 295,00 

Great Britain 

4,294,967,295.00 

Uhited States 

4,294,967,295.00 

Thai 

4,294,967,295.00 


Note –

There are no particular locale conventions that specify how to separate numbers in a list.


Currency

Currency units and presentation order vary greatly around the world. Local and international symbols for currency can differ. The following table shows monetary formats in some countries.

Table 1–4 International Monetary Conventions

Locale 

Currency 

Example  

Canadian (English) 

Dollar ($) 

$1,234.56 

Canadian (French  

Dollar ($) 

1 234,56$ 

Danish  

Kroner (kr) 

Kr 1.234,56  

Finnish  

Euro (Graphic)

Graphic1 234,56

French  

Euro (Graphic)

Graphic1,234

Japanese 

Yen (¥) 

¥ 1,234  

Norwegian 

Krone (kr) 

kr 1.234,56  

Swedish  

Krona (Kr) 

1 234,56 Kr 

Great Britain 

Pound (£) 

£1,234.56  

United States 

Dollar ($) 

$1,234.56  

Thai 

Baht 

2539 Baht 

Euro 

Euro (Graphic)

Graphic5,000

The Solaris 9 software supports the euro currency. Local currency symbols are still available for backward compatibility.

Table 1–5 User Locales To Support the Euro Currency

Region 

Locale Name 

ISO Codeset 

Austria 

de_AT.ISO8859-15

8859-15 

Belgium (French) 

fr_BE.ISO8859-15

8859-15 

Belgium (Flemish) 

nl_BE.ISO8859-15

8859-15 

Denmark 

da_DK.ISO8859-15

8859-15 

Finland 

fi_FI.ISO8859-15

8859-15 

France 

fr_FR.ISO8859-15

8859-15 

Germany 

de_DE.ISO8859-15

8859-15 

Ireland 

en_IE.ISO8859-15

8859-15 

Italy 

it_IT.ISO8859-15

8859-15 

Netherlands 

nl_NL.ISO8859-15

8859-15 

Portugal 

pt_PT.ISO8859-15

8859-15 

Catalan Spain 

ca_ES.ISO8859-15

8859–15 

Estonia 

et_EE.ISO8859–15

8859–15 

Spain 

es_ES.ISO8859-15

8859-15 

Sweden 

sv_SE.ISO8859-15

8859-15 

Great Britain 

en_GB.ISO8859-15

8859-15 

U.S.A. 

en_US.ISO8859-15

8859-15 

Euro locales are based on the ISO8859–15 codeset.

Keep in mind that a converted currency amount can take up more or less space than the original amount. To illustrate: $1,000 can become Graphic1.307.000.

The current status of the locale settings for locales within the euro zone is illustrated for the LC_MONETARY operand of the locale utility. The status for Germany, for example, is shown in the following table.

Table 1–6 German Locale and Corresponding LC_MONETARY

Locale 

LC_MONETARY 

de_DE.ISO8859–1

DM 

de_DE.ISO8859–15

Euro 

de_DE.UTF-8

Euro 

de_DE.ISO8859–15@euro

Euro 

de_DE.UTF-8@euro

Euro