Ada Reference Manual (Ada 2022) — Legal Information

# A.19 The Package Locales

1/3
A locale identifies a geopolitical place or region and its associated language, which can be used to determine other internationalization-related characteristics.

#### Static Semantics

2/3
The library package Locales has the following declaration:
3/5
package Ada.Locales
with Preelaborate, Remote_Types is
4/4
type Language_Code is new String (1 .. 3)
with Dynamic_Predicate =>
(for all E of Language_Code => E in 'a' .. 'z');
type Country_Code is new String (1 .. 2)
with Dynamic_Predicate =>
(for all E of Country_Code => E in 'A' .. 'Z');
5/3
Language_Unknown : constant Language_Code := "und";
Country_Unknown : constant Country_Code := "ZZ";
6/3
function Language return Language_Code;
function Country return Country_Code;
7/3
end Ada.Locales;
8/3
The active locale is the locale associated with the partition of the current task.
9/5
This paragraph was deleted.
10/5
This paragraph was deleted.
11/5
Function Language returns the code of the language associated with the active locale. If the Language_Code associated with the active locale cannot be determined from the environment, then Language returns Language_Unknown. Otherwise, the result is a lower-case string representation of an ISO 639-3:2007 alpha-3 code that identifies a language.
12/5
Function Country returns the code of the country associated with the active locale. If the Country_Code associated with the active locale cannot be determined from the environment, then Country returns Country_Unknown. Otherwise, the result is an upper-case string representation of an ISO 3166-1:2020 alpha-2 code that identifies a country.

Ada 2005 and 2012 Editions sponsored in part by Ada-Europe