blob: 866f25992c4e11dacbbfb4588341e5b121c670d9 [file] [log] [blame]
------------------------------------------------------------------------------
-- --
-- GNAT RUN-TIME COMPONENTS --
-- --
-- A D A . L O C A L E S --
-- --
-- S p e c --
-- --
-- Copyright (C) 2010-2022, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- modified version, any changes that you have made are clearly indicated. --
-- --
------------------------------------------------------------------------------
package Ada.Locales is
pragma Preelaborate (Locales);
pragma Remote_Types (Locales);
-- A locale identifies a geopolitical place or region and its associated
-- language, which can be used to determine other internationalization-
-- related characteristics. The active locale is the locale associated with
-- the partition of the current task.
type Language_Code is new String (1 .. 3)
with Dynamic_Predicate =>
(for all E of Language_Code => E in 'a' .. 'z');
-- Lower-case string representation of an ISO 639-3 alpha-3 code that
-- identifies a language.
type Country_Code is new String (1 .. 2)
with Dynamic_Predicate =>
(for all E of Country_Code => E in 'A' .. 'Z');
-- Upper-case string representation of an ISO 3166-1 alpha-2 code that
-- identifies a country.
Language_Unknown : constant Language_Code := "und";
Country_Unknown : constant Country_Code := "ZZ";
function Language return Language_Code;
-- 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 return Country_Code;
-- 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.
end Ada.Locales;