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. However, to the user these formats could look awkward, wrong, or even offensive. The following sections describe the elements in the Oracle Solaris operating system that you can customize to meet the localization requirements for 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 

British English 

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 ( . ) or a dash ( - ).

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 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. for example, the implementation is a state decision.

Date Formats

The following table shows some of the date formats used around the world. Variations can exist even within a country.

Table 1–2 International Date Formats

Locale 

Convention 

Example 

Canadian (English) 

dd/mm/yy 

16/07/10 

Danish 

dd/mm/yy 

16/07/10 

Finnish 

dd.mm.yyyy 

16.07.2010 

French 

dd/mm/yy 

16/07/10 

German 

dd.mm.yy 

16.07.10 

Italian 

dd/mm/yy 

16/07/10 

Norwegian 

dd.mm.yy 

16.07.10 

Spanish 

dd/mm/yy 

16/07/10 

Swedish 

yyyy-mm-dd 

2010–07–16 

Great Britain 

dd/mm/yyyy 

16/07/2010 

United States 

mm/dd/yy 

07/16/10 

Thai 

mm/dd/yyyy 

07/16/2010 

Number Formats

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 

United States 

4,294,967,295.00 

Thai 

4,294,967,295.00 


Note –

No particular locale conventions exist that specify how to separate numbers in a list.


International Monetary Formats

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 (Euro
currency)

Euro
currency1 234,56

French 

Euro (Euro
currency)

Euro
currency1,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 

The current release supports the Euro currency. Local currency symbols are still available for backward compatibility.

Table 1–5 User Locales That Support the Euro Currency

Region 

Locale Name 

ISO Code Set 

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 

Estonia 

et_EE.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 

Great Britain 

en_GB.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 

Spain 

es_ES.ISO8859-15

8859-15 

Sweden 

sv_SE.ISO8859-15

8859-15 

U.S.A. 

en_US.ISO8859-15

8859-15 

Euro locales are based on the ISO8859–15 code set.

Keep in mind that a converted currency amount can require a different amount of space than the original amount, for example, $1,000 can become 1 000,00 Kr.

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 Operand

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