Ada 2012 Reference Manual
A.19 The Package Locales
A locale identifies a geopolitical place or region and its associated language, which can be used to determine other internationalization-related characteristics.
Static Semantics
The library package Locales has the following declaration:
package Ada.Locales is
pragma Preelaborate(Locales);
pragma Remote_Types(Locales);
pragma Preelaborate(Locales);
pragma Remote_Types(Locales);
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');
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');
Language_Unknown : constant Language_Code := "und";
Country_Unknown : constant Country_Code := "ZZ";
Country_Unknown : constant Country_Code := "ZZ";
function Language return Language_Code;
function Country return Country_Code;
function Country return Country_Code;
end Ada.Locales;
The active locale is the locale associated with the partition of the current task.
Language_Code is a lower-case string representation of an ISO 639-3 alpha-3 code that identifies a language.
Country_Code is an upper-case string representation of an ISO 3166-1 alpha-2 code that identifies a country.
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.
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.